diff --git a/Breakage1.tres b/Breakage1.tres deleted file mode 100644 index 39cce34..0000000 --- a/Breakage1.tres +++ /dev/null @@ -1,14 +0,0 @@ -[gd_resource type="PrismMesh" load_steps=2 format=2] - -[ext_resource path="res://SparkSpatialmaterial.tres" type="Material" id=1] - -[resource] - -material = ExtResource( 1 ) -custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) -left_to_right = 2.98023e-008 -size = Vector3( 0.2, 0.2, 0.2 ) -subdivide_width = 2 -subdivide_height = 0 -subdivide_depth = 0 - diff --git a/Breakage2.tres b/Breakage2.tres deleted file mode 100644 index dbc5498..0000000 --- a/Breakage2.tres +++ /dev/null @@ -1,14 +0,0 @@ -[gd_resource type="PrismMesh" load_steps=2 format=2] - -[ext_resource path="res://SparkSpatialmaterial.tres" type="Material" id=1] - -[resource] - -material = ExtResource( 1 ) -custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) -left_to_right = 0.5 -size = Vector3( 0.2, 0.2, 0.2 ) -subdivide_width = 2 -subdivide_height = 0 -subdivide_depth = 0 - diff --git a/ExplodingLine.tscn b/ExplodingLine.tscn deleted file mode 100644 index 42f8fcc..0000000 --- a/ExplodingLine.tscn +++ /dev/null @@ -1,109 +0,0 @@ -[gd_scene load_steps=10 format=2] - -[ext_resource path="res://Tetrominos/Mino/Breakage1.tres" type="PrismMesh" id=1] -[ext_resource path="res://Tetrominos/Mino/Breakage2.tres" type="PrismMesh" id=2] -[ext_resource path="res://Tetrominos/Mino/BackMaterial.tres" type="Material" id=3] - - -[sub_resource type="Gradient" id=1] - -offsets = PoolRealArray( 0, 1 ) -colors = PoolColorArray( 0, 0, 0, 1, 1, 1, 1, 1 ) - -[sub_resource type="GradientTexture" id=2] - -flags = 4 -gradient = SubResource( 1 ) -width = 2048 - -[sub_resource type="Gradient" id=3] - -offsets = PoolRealArray( 0, 1 ) -colors = PoolColorArray( 0.802765, 1, 0.451172, 1, 1, 1, 1, 0 ) - -[sub_resource type="GradientTexture" id=4] - -flags = 4 -gradient = SubResource( 3 ) -width = 2048 - -[sub_resource type="ParticlesMaterial" id=5] - -render_priority = 0 -trail_divisor = 2 -trail_color_modifier = SubResource( 4 ) -emission_shape = 2 -emission_box_extents = Vector3( 8, 0.5, 0.5 ) -flag_align_y = false -flag_rotate_y = true -flag_disable_z = false -spread = 10.0 -flatness = 0.0 -gravity = Vector3( 0, -20, 0 ) -initial_velocity = 10.0 -initial_velocity_random = 0.8 -angular_velocity = 197.74 -angular_velocity_random = 1.0 -linear_accel = 100.0 -linear_accel_random = 0.84 -radial_accel = 8.48 -radial_accel_random = 0.85 -tangential_accel = 0.0 -tangential_accel_random = 0.0 -damping = 0.0 -damping_random = 0.0 -angle = 402.7 -angle_random = 0.78 -scale = 0.5 -scale_random = 1.0 -color_ramp = SubResource( 2 ) -hue_variation = 0.0 -hue_variation_random = 0.0 -anim_speed = 0.0 -anim_speed_random = 0.0 -anim_offset = 0.0 -anim_offset_random = 0.0 -anim_loop = false -_sections_unfolded = [ "Color", "Emission Shape", "Gravity", "Scale", "Spread" ] - -[sub_resource type="CubeMesh" id=6] - -material = ExtResource( 3 ) -custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) -size = Vector3( 0.2, 0.2, 0.2 ) -subdivide_width = 0 -subdivide_height = 0 -subdivide_depth = 0 - -[node name="ExplodingLine" type="Particles" index="0"] - -layers = 1 -material_override = null -cast_shadow = 1 -extra_cull_margin = 0.0 -use_in_baked_light = false -lod_min_distance = 0.0 -lod_min_hysteresis = 0.0 -lod_max_distance = 0.0 -lod_max_hysteresis = 0.0 -emitting = false -amount = 1000 -lifetime = 2.0 -one_shot = true -preprocess = 0.0 -speed_scale = 2.18 -explosiveness = 0.9 -randomness = 0.69 -fixed_fps = 0 -fract_delta = true -visibility_aabb = AABB( -5, -0.5, -1, 10, 1, 2 ) -local_coords = false -draw_order = 0 -process_material = SubResource( 5 ) -draw_passes = 3 -draw_pass_1 = ExtResource( 1 ) -draw_pass_2 = ExtResource( 2 ) -draw_pass_3 = SubResource( 6 ) -_sections_unfolded = [ "Draw Passes", "Drawing", "Process Material", "Time", "Transform" ] - - diff --git a/ExplodingLine/ExplodingLine.tscn b/ExplodingLine/ExplodingLine.tscn index a21fd27..62f544c 100644 --- a/ExplodingLine/ExplodingLine.tscn +++ b/ExplodingLine/ExplodingLine.tscn @@ -2,7 +2,7 @@ [ext_resource path="res://ExplodingLine/Breakage1.tres" type="PrismMesh" id=1] [ext_resource path="res://ExplodingLine/Breakage2.tres" type="PrismMesh" id=2] -[ext_resource path="res://MinoMaterial.tres" type="Material" id=3] +[ext_resource path="res://Tetrominos/Mino/MinoMaterial.tres" type="Material" id=3] [sub_resource type="Gradient" id=1] diff --git a/ExplodingLine/SparkSpatialmaterial.tres b/ExplodingLine/SparkSpatialmaterial.tres deleted file mode 100644 index 85047a5..0000000 --- a/ExplodingLine/SparkSpatialmaterial.tres +++ /dev/null @@ -1,59 +0,0 @@ -[gd_resource type="SpatialMaterial" format=2] - -[resource] - -render_priority = 0 -flags_transparent = true -flags_unshaded = false -flags_vertex_lighting = false -flags_no_depth_test = false -flags_use_point_size = false -flags_world_triplanar = false -flags_fixed_size = false -flags_albedo_tex_force_srgb = false -vertex_color_use_as_albedo = false -vertex_color_is_srgb = false -params_diffuse_mode = 0 -params_specular_mode = 0 -params_blend_mode = 1 -params_cull_mode = 0 -params_depth_draw_mode = 0 -params_line_width = 1.0 -params_point_size = 1.0 -params_billboard_mode = 0 -params_grow = false -params_use_alpha_scissor = false -albedo_color = Color( 0.67451, 1, 0.988235, 0.108118 ) -metallic = 0.22 -metallic_specular = 1.0 -metallic_texture_channel = 0 -roughness = 0.49 -roughness_texture_channel = 0 -emission_enabled = true -emission = Color( 0.700471, 1, 0.98947, 1 ) -emission_energy = 0.2 -emission_operator = 0 -emission_on_uv2 = false -normal_enabled = false -rim_enabled = false -clearcoat_enabled = false -anisotropy_enabled = false -ao_enabled = false -depth_enabled = false -subsurf_scatter_enabled = false -transmission_enabled = false -refraction_enabled = false -detail_enabled = false -uv1_scale = Vector3( 1, 1, 1 ) -uv1_offset = Vector3( 0, 0, 0 ) -uv1_triplanar = false -uv1_triplanar_sharpness = 1.0 -uv2_scale = Vector3( 1, 1, 1 ) -uv2_offset = Vector3( 0, 0, 0 ) -uv2_triplanar = false -uv2_triplanar_sharpness = 1.0 -proximity_fade_enable = true -proximity_fade_distance = 1.0 -distance_fade_enable = false -_sections_unfolded = [ "Albedo", "Emission", "Metallic", "Parameters" ] - diff --git a/Grid.tscn b/Grid.tscn deleted file mode 100644 index 993ea27..0000000 --- a/Grid.tscn +++ /dev/null @@ -1,356 +0,0 @@ -[gd_scene format=2] - -[node name="Grid" type="Node2D" index="0"] - -[node name="Line2D" type="Line2D" parent="." index="0"] - -position = Vector2( 0, 1 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D2" type="Line2D" parent="." index="1"] - -position = Vector2( 0, 1 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D33" type="Line2D" parent="." index="2"] - -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D3" type="Line2D" parent="." index="3"] - -position = Vector2( 0, 2 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D4" type="Line2D" parent="." index="4"] - -position = Vector2( 0, 3 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D5" type="Line2D" parent="." index="5"] - -position = Vector2( 0, 4 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D6" type="Line2D" parent="." index="6"] - -position = Vector2( 0, 5 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D7" type="Line2D" parent="." index="7"] - -position = Vector2( 0, 6 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D8" type="Line2D" parent="." index="8"] - -position = Vector2( 0, 7 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D9" type="Line2D" parent="." index="9"] - -position = Vector2( 0, 8 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D10" type="Line2D" parent="." index="10"] - -position = Vector2( 0, 9 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D11" type="Line2D" parent="." index="11"] - -position = Vector2( 0, 10 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D12" type="Line2D" parent="." index="12"] - -position = Vector2( 0, 11 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D13" type="Line2D" parent="." index="13"] - -position = Vector2( 0, 12 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D14" type="Line2D" parent="." index="14"] - -position = Vector2( 0, 13 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D15" type="Line2D" parent="." index="15"] - -position = Vector2( 0, 14 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D16" type="Line2D" parent="." index="16"] - -position = Vector2( 0, 15 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D17" type="Line2D" parent="." index="17"] - -position = Vector2( 0, 16 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D18" type="Line2D" parent="." index="18"] - -position = Vector2( 0, 17 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D19" type="Line2D" parent="." index="19"] - -position = Vector2( 0, 18 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D20" type="Line2D" parent="." index="20"] - -position = Vector2( 0, 19 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D34" type="Line2D" parent="." index="21"] - -position = Vector2( 0, 20 ) -points = PoolVector2Array( 0, 0, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D21" type="Line2D" parent="." index="22"] - -position = Vector2( 0.890217, 19.8953 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D22" type="Line2D" parent="." index="23"] - -position = Vector2( 1, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D31" type="Line2D" parent="." index="24"] - -position = Vector2( 0, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D23" type="Line2D" parent="." index="25"] - -position = Vector2( 2, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D24" type="Line2D" parent="." index="26"] - -position = Vector2( 3, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D25" type="Line2D" parent="." index="27"] - -position = Vector2( 4, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D26" type="Line2D" parent="." index="28"] - -position = Vector2( 5, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D27" type="Line2D" parent="." index="29"] - -position = Vector2( 6, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D28" type="Line2D" parent="." index="30"] - -position = Vector2( 7, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D29" type="Line2D" parent="." index="31"] - -position = Vector2( 8, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D30" type="Line2D" parent="." index="32"] - -position = Vector2( 9, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - -[node name="Line2D32" type="Line2D" parent="." index="33"] - -position = Vector2( 10, 20 ) -scale = Vector2( 0.0108696, 1.04688 ) -points = PoolVector2Array( 1, -19, 10, 0 ) -width = 0.1 -default_color = Color( 0.4, 0.5, 1, 1 ) -texture_mode = 1881419456 -sharp_limit = 2.0 -round_precision = 8 - - diff --git a/GridBack.tscn b/GridBack.tscn deleted file mode 100644 index 5d4ef5f..0000000 --- a/GridBack.tscn +++ /dev/null @@ -1,32 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://Tetrominos/Mino/BackMaterial.tres" type="Material" id=1] - - -[sub_resource type="CubeMesh" id=3] - -material = ExtResource( 1 ) -custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) -size = Vector3( 11, 22, 0.1 ) -subdivide_width = 0 -subdivide_height = 0 -subdivide_depth = 0 - -[node name="GridBack" type="MeshInstance"] - -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 9.5, -1 ) -layers = 1 -material_override = null -cast_shadow = 1 -extra_cull_margin = 0.0 -use_in_baked_light = false -lod_min_distance = 0.0 -lod_min_hysteresis = 0.0 -lod_max_distance = 0.0 -lod_max_hysteresis = 0.0 -mesh = SubResource( 3 ) -skeleton = NodePath("..") -material/0 = null -_sections_unfolded = [ "Transform" ] - - diff --git a/GridMap.gd b/GridMap.gd deleted file mode 100644 index 0122f38..0000000 --- a/GridMap.gd +++ /dev/null @@ -1,256 +0,0 @@ -extends GridMap - -const ExplodingLine = preload("res://ExplodingLine.tscn") -const Tetromino = preload("res://Tetrominos/Tetromino.gd") -const TetroI = preload("res://Tetrominos/TetroI.tscn") -const TetroJ = preload("res://Tetrominos/TetroJ.tscn") -const TetroL = preload("res://Tetrominos/TetroL.tscn") -const TetroO = preload("res://Tetrominos/TetroO.tscn") -const TetroS = preload("res://Tetrominos/TetroS.tscn") -const TetroT = preload("res://Tetrominos/TetroT.tscn") -const TetroZ = preload("res://Tetrominos/TetroZ.tscn") - -const EMPTY_CELL = -1 -const NB_MINOES = 4 -const NEXT_POSITION = Vector3(13, 16, 0) -const START_POSITION = Vector3(5, 20, 0) -const HOLD_POSITION = Vector3(-5, 16, 0) -const SCORES = [ - [0, 4, 1], - [1, 8, 2], - [3, 12], - [5, 16], - [8] -] -const LINES_CLEARED_NAMES = ["", "SINGLE", "DOUBLE", "TRIPLE", "TETRIS"] -const T_SPIN_NAMES = ["", "MINI T-SPIN", "T-SPIN"] - -export (int) var NB_LINES -export (int) var NB_COLLUMNS - -var next_piece = random_piece() -var current_piece -var held_piece -var current_piece_held = false -var locked = false -var autoshift_action = "" -var movements = { - "move_right": Vector3(1, 0, 0), - "move_left": Vector3(-1, 0, 0), - "soft_drop": Vector3(0, -1, 0) -} -var exploding_lines = [] -var lines_to_clear = [] -var hard_dropping = false -var random_bag = [] -var playing = true -var level = 0 -var goal = 0 -var score = 0 - -func _ready(): - randomize() - for y in range(NB_LINES): - exploding_lines.append(ExplodingLine.instance()) - add_child(exploding_lines[y]) - exploding_lines[y].translation = Vector3(NB_COLLUMNS/2, y, 1) - new_level() - -func new_level(): - level += 1 - goal += 5 * level - $DropTimer.wait_time = pow(0.8 - ((level - 1) * 0.007), level - 1) - if level > 15: - $LockDelay.wait_time = 0.5 * pow(0.9, level-15) - print("LEVEL ", level, " Goal ", goal) - new_piece() - -func random_piece(): - if not random_bag: - random_bag = [ - TetroI, - TetroJ, - TetroL, - TetroO, - TetroS, - TetroT, - TetroZ - ] - var choice = randi() % random_bag.size() - var piece = random_bag[choice].instance() - random_bag.remove(choice) - add_child(piece) - return piece - -func new_piece(): - current_piece = next_piece - current_piece.translation = START_POSITION - next_piece = random_piece() - next_piece.translation = NEXT_POSITION - if move(movements["soft_drop"]): - $DropTimer.start() - $LockDelay.start() - current_piece_held = false - else: - game_over() - -func _process(delta): - if autoshift_action: - if not Input.is_action_pressed(autoshift_action): - $AutoShiftDelay.stop() - $AutoShiftTimer.stop() - autoshift_action = "" - if Input.is_action_just_pressed("pause"): - pause() - if playing and not hard_dropping: - for action in movements: - if action != autoshift_action: - if Input.is_action_pressed(action): - move(movements[action]) - autoshift_action = action - $AutoShiftTimer.stop() - $AutoShiftDelay.start() - if Input.is_action_just_pressed("hard_drop"): - hard_dropping = true - $HardDropTimer.start() - if Input.is_action_just_pressed("rotate_clockwise"): - rotate(Tetromino.CLOCKWISE) - if Input.is_action_just_pressed("rotate_counterclockwise"): - rotate(Tetromino.COUNTERCLOCKWISE) - if Input.is_action_just_pressed("hold"): - hold() - -func _on_AutoShiftDelay_timeout(): - if playing and autoshift_action: - move(movements[autoshift_action]) - $AutoShiftTimer.start() - -func _on_AutoShiftTimer_timeout(): - if playing and autoshift_action: - move(movements[autoshift_action]) - -func is_free_cell(position): - return ( - 0 <= position.x and position.x < NB_COLLUMNS - and position.y >= 0 - and get_cell_item(position.x, position.y, 0) == GridMap.INVALID_CELL_ITEM - ) - -func possible_positions(initial_positions, movement): - var position - var test_positions = [] - for i in range(4): - position = initial_positions[i] + movement - if is_free_cell(position): - test_positions.append(position) - if test_positions.size() == NB_MINOES: - return test_positions - else: - return [] - -func move(movement): - if current_piece.move(movement): - update_ghost_piece() - $LockDelay.start() - return true - else: - return false - -func rotate(direction): - if current_piece.rotate(direction): - update_ghost_piece() - $LockDelay.start() - return true - else: - return false - -func update_ghost_piece(): - var positions = current_piece.positions() - for i in range(Tetromino.NB_MINOES): - $GhostPiece.minoes[i].translation = $GhostPiece.to_local(positions[i]) - while $GhostPiece.move(movements["soft_drop"]): - pass - -func _on_DropTimer_timeout(): - move(movements["soft_drop"]) - -func _on_HardDropTimer_timeout(): - if not move(movements["soft_drop"]): - $HardDropTimer.stop() - hard_dropping = false - lock_piece() - -func _on_LockDelay_timeout(): - if not move(movements["soft_drop"]): - lock_piece() - -func lock_piece(): - for mino in current_piece.minoes: - set_cell_item(current_piece.to_global(mino.translation).x, current_piece.to_global(mino.translation).y, 0, 0) - remove_child(current_piece) - line_clear() - -func line_clear(): - var NB_MINOES - lines_to_clear = [] - for y in range(NB_LINES-1, -1, -1): - NB_MINOES = 0 - for x in range(NB_COLLUMNS): - if get_cell_item(x, y, 0) == 0: - NB_MINOES += 1 - if NB_MINOES == NB_COLLUMNS: - for x in range(NB_COLLUMNS): - set_cell_item(x, y, 0, EMPTY_CELL) - lines_to_clear.append(y) - exploding_lines[y].restart() - if lines_to_clear: - $ExplosionDelay.start() - update_score() - -func update_score(): - if lines_to_clear or current_piece.t_spin: - var s = SCORES[lines_to_clear.size()][current_piece.t_spin] - score += 100 * s - goal -= s - print(T_SPIN_NAMES[current_piece.t_spin], ' ', LINES_CLEARED_NAMES[lines_to_clear.size()], " Score ", score) - if goal <= 0: - new_level() - else: - new_piece() - -func _on_ExplosionDelay_timeout(): - for cleared_line in lines_to_clear: - for y in range(cleared_line, NB_LINES+2): - for x in range(NB_COLLUMNS): - set_cell_item(x, y, 0, get_cell_item(x, y+1, 0)) - -func hold(): - if not current_piece_held: - if held_piece: - var tmp = held_piece - held_piece = current_piece - current_piece = tmp - current_piece.translation = START_POSITION - else: - held_piece = current_piece - new_piece() - held_piece.translation = HOLD_POSITION - current_piece_held = true - -func pause(): - playing = not playing - if playing: - $DropTimer.start() - $LockDelay.start() - print("RESUME") - else: - $DropTimer.stop() - $LockDelay.stop() - print("PAUSE") - -func game_over(): - playing = false - $DropTimer.stop() - $AutoShiftDelay.stop() - $AutoShiftTimer.stop() - print("GAME OVER") \ No newline at end of file diff --git a/GridMap.tscn b/GridMap.tscn deleted file mode 100644 index b93fdc1..0000000 --- a/GridMap.tscn +++ /dev/null @@ -1,115 +0,0 @@ -[gd_scene load_steps=7 format=2] - -[ext_resource path="res://Tetrominos/Mino/MinoLibrary.tres" type="MeshLibrary" id=1] -[ext_resource path="res://GridMap.gd" type="Script" id=2] -[ext_resource path="res://GridBack.tscn" type="PackedScene" id=3] -[ext_resource path="res://Tetrominos/Mino/BackMaterial.tres" type="Material" id=4] -[ext_resource path="res://Tetrominos/GhostPiece.tscn" type="PackedScene" id=5] - - -[sub_resource type="CubeMesh" id=1] - -material = ExtResource( 4 ) -custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) -size = Vector3( 1, 1, 1 ) -subdivide_width = 0 -subdivide_height = 0 -subdivide_depth = 0 - -[node name="GridMap" type="GridMap" index="0"] - -theme = ExtResource( 1 ) -cell_size = Vector3( 1, 1, 1 ) -cell_octant_size = 8 -cell_center_x = false -cell_center_y = false -cell_center_z = false -cell_scale = 1.0 -collision_layer = 1 -collision_mask = 1 -data = { -"cells": PoolIntArray( 13, 0, 0, 65543, 0, 0 ) -} -script = ExtResource( 2 ) -_sections_unfolded = [ "Cell", "Transform" ] -__meta__ = { -"_editor_clip_": 0, -"_editor_floor_": Vector3( 0, 3, 0 ) -} -NB_LINES = 20 -NB_COLLUMNS = 10 - -[node name="DropTimer" type="Timer" parent="." index="0"] - -process_mode = 1 -wait_time = 1.0 -one_shot = false -autostart = false - -[node name="LockDelay" type="Timer" parent="." index="1"] - -process_mode = 1 -wait_time = 0.5 -one_shot = true -autostart = false - -[node name="AutoShiftDelay" type="Timer" parent="." index="2"] - -process_mode = 1 -wait_time = 0.17 -one_shot = true -autostart = false - -[node name="AutoShiftTimer" type="Timer" parent="." index="3"] - -process_mode = 1 -wait_time = 0.02 -one_shot = false -autostart = true - -[node name="HardDropTimer" type="Timer" parent="." index="4"] - -process_mode = 0 -wait_time = 0.01 -one_shot = false -autostart = false - -[node name="ExplosionDelay" type="Timer" parent="." index="5"] - -process_mode = 1 -wait_time = 0.1 -one_shot = true -autostart = false - -[node name="GridBack" parent="." index="6" instance=ExtResource( 3 )] - -transform = Transform( 10, 0, 0, 0, 20, 0, 0, 0, 0.1, 4.5, 9.5, -1 ) -mesh = SubResource( 1 ) - -[node name="HoldBack" parent="." index="7" instance=ExtResource( 3 )] - -transform = Transform( 7, 0, 0, 0, 7, 0, 0, 0, 0.1, -5, 16, -1 ) -mesh = SubResource( 1 ) - -[node name="NextBack" parent="." index="8" instance=ExtResource( 3 )] - -transform = Transform( 7, 0, 0, 0, 7, 0, 0, 0, 0.1, 14, 16, -1 ) -mesh = SubResource( 1 ) - -[node name="GhostPiece" parent="." index="9" instance=ExtResource( 5 )] - -_sections_unfolded = [ "Transform" ] - -[connection signal="timeout" from="DropTimer" to="." method="_on_DropTimer_timeout"] - -[connection signal="timeout" from="LockDelay" to="." method="_on_LockDelay_timeout"] - -[connection signal="timeout" from="AutoShiftDelay" to="." method="_on_AutoShiftDelay_timeout"] - -[connection signal="timeout" from="AutoShiftTimer" to="." method="_on_AutoShiftTimer_timeout"] - -[connection signal="timeout" from="HardDropTimer" to="." method="_on_HardDropTimer_timeout"] - -[connection signal="timeout" from="ExplosionDelay" to="." method="_on_ExplosionDelay_timeout"] - - diff --git a/Mino.tscn b/Mino.tscn deleted file mode 100644 index 8c8b381..0000000 --- a/Mino.tscn +++ /dev/null @@ -1,143 +0,0 @@ -[gd_scene load_steps=6 format=2] - -[ext_resource path="res://MinoMesh.tscn" type="PackedScene" id=1] -[ext_resource path="res://MinoMesh.tres" type="CubeMesh" id=2] - -[sub_resource type="SpatialMaterial" id=1] - -render_priority = 0 -flags_transparent = true -flags_unshaded = false -flags_vertex_lighting = false -flags_no_depth_test = false -flags_use_point_size = false -flags_world_triplanar = false -flags_fixed_size = false -flags_albedo_tex_force_srgb = false -vertex_color_use_as_albedo = false -vertex_color_is_srgb = false -params_diffuse_mode = 0 -params_specular_mode = 0 -params_blend_mode = 1 -params_cull_mode = 0 -params_depth_draw_mode = 0 -params_line_width = 1.0 -params_point_size = 1.0 -params_billboard_mode = 0 -params_grow = false -params_use_alpha_scissor = false -albedo_color = Color( 0.601563, 0.775878, 1, 0.520275 ) -metallic = 0.68 -metallic_specular = 1.0 -metallic_texture_channel = 0 -roughness = 0.0 -roughness_texture_channel = 0 -emission_enabled = false -normal_enabled = false -rim_enabled = false -clearcoat_enabled = false -anisotropy_enabled = false -ao_enabled = false -depth_enabled = false -subsurf_scatter_enabled = false -transmission_enabled = false -refraction_enabled = false -detail_enabled = false -uv1_scale = Vector3( 1, 1, 1 ) -uv1_offset = Vector3( 0, 0, 0 ) -uv1_triplanar = false -uv1_triplanar_sharpness = 1.0 -uv2_scale = Vector3( 1, 1, 1 ) -uv2_offset = Vector3( 0, 0, 0 ) -uv2_triplanar = false -uv2_triplanar_sharpness = 1.0 -proximity_fade_enable = true -proximity_fade_distance = 1.0 -distance_fade_enable = false -_sections_unfolded = [ "Emission", "Metallic", "NormalMap", "Proximity Fade" ] - -[sub_resource type="GradientTexture" id=2] - -flags = 4 -width = 2048 - -[sub_resource type="ParticlesMaterial" id=3] - -render_priority = 0 -trail_divisor = 1 -emission_shape = 0 -flag_align_y = false -flag_rotate_y = false -flag_disable_z = true -spread = 0.0 -flatness = 0.0 -gravity = Vector3( 0, -30, 0 ) -initial_velocity = 0.0 -initial_velocity_random = 0.0 -angular_velocity = 0.0 -angular_velocity_random = 0.0 -orbit_velocity = 0.0 -orbit_velocity_random = 0.0 -linear_accel = 0.0 -linear_accel_random = 0.0 -radial_accel = 0.0 -radial_accel_random = 0.0 -tangential_accel = 0.0 -tangential_accel_random = 0.0 -damping = 0.0 -damping_random = 0.0 -angle = 0.0 -angle_random = 0.0 -scale = 1.0 -scale_random = 0.0 -color_ramp = SubResource( 2 ) -hue_variation = 0.0 -hue_variation_random = 0.0 -anim_speed = 0.0 -anim_speed_random = 0.0 -anim_offset = 0.0 -anim_offset_random = 0.0 -anim_loop = false -_sections_unfolded = [ "Angular Velocity", "Color", "Gravity", "Initial Velocity" ] - -[node name="Mino" type="Spatial"] - -_sections_unfolded = [ "Pause", "Transform", "Visibility" ] - -[node name="MinoMesh" parent="." index="0" instance=ExtResource( 1 )] - -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.5, 1 ) -_sections_unfolded = [ "Geometry", "Transform", "material" ] - -[node name="Trail" type="Particles" parent="." index="1"] - -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.5, 0.5 ) -visible = false -layers = 1 -material_override = SubResource( 1 ) -cast_shadow = 1 -extra_cull_margin = 0.0 -use_in_baked_light = false -lod_min_distance = 0.0 -lod_min_hysteresis = 0.0 -lod_max_distance = 0.0 -lod_max_hysteresis = 0.0 -emitting = true -amount = 10 -lifetime = 0.1 -one_shot = false -preprocess = 0.0 -speed_scale = 1.0 -explosiveness = 0.0 -randomness = 0.0 -fixed_fps = 0 -fract_delta = true -visibility_aabb = AABB( -4, -4, -4, 8, 8, 8 ) -local_coords = false -draw_order = 0 -process_material = SubResource( 3 ) -draw_passes = 1 -draw_pass_1 = ExtResource( 2 ) -_sections_unfolded = [ "Draw Passes", "Process Material", "Transform" ] - - diff --git a/Mino0.gd b/Mino0.gd deleted file mode 100644 index a1332ba..0000000 --- a/Mino0.gd +++ /dev/null @@ -1,15 +0,0 @@ -extends MeshInstance - -# class member variables go here, for example: -# var a = 2 -# var b = "textvar" - -func _ready(): - # Called when the node is added to the scene for the first time. - # Initialization here - pass - -#func _process(delta): -# # Called every frame. Delta is time since last frame. -# # Update game logic here. -# pass diff --git a/MinoLibrary.meshlib b/MinoLibrary.meshlib deleted file mode 100644 index 8db2699..0000000 Binary files a/MinoLibrary.meshlib and /dev/null differ diff --git a/MinoLibrary.tres b/MinoLibrary.tres deleted file mode 100644 index 594dbf4..0000000 --- a/MinoLibrary.tres +++ /dev/null @@ -1,40 +0,0 @@ -[gd_resource type="MeshLibrary" load_steps=5 format=2] - -[ext_resource path="res://MinoMaterial.tres" type="Material" id=1] - -[sub_resource type="CubeMesh" id=1] - -material = ExtResource( 1 ) -custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) -size = Vector3( 0.9, 0.9, 0.9 ) -subdivide_width = 0 -subdivide_height = 0 -subdivide_depth = 0 - -[sub_resource type="Image" id=2] - -data = { -"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 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, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 0, 0, 0, 0, 0, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 160, 58, 160, 58, 160, 58, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 93, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 93, 55, 93, 55, 0, 64, 233, 57, 233, 57, 233, 57, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), -"format": "RGBAHalf", -"height": 64, -"mipmaps": false, -"width": 64 -} - -[sub_resource type="ImageTexture" id=3] - -flags = 7 -storage = 0 -lossy_quality = 0.7 -flags = 7 -image = SubResource( 2 ) -size = Vector2( 64, 64 ) - -[resource] - -item/0/name = "Mino" -item/0/mesh = SubResource( 1 ) -item/0/shapes = [ ] -item/0/preview = SubResource( 3 ) -_sections_unfolded = [ "item", "item/0" ] - diff --git a/MinoMaterial.tres b/MinoMaterial.tres deleted file mode 100644 index e78f9b2..0000000 --- a/MinoMaterial.tres +++ /dev/null @@ -1,59 +0,0 @@ -[gd_resource type="SpatialMaterial" format=2] - -[resource] - -render_priority = 0 -flags_transparent = true -flags_unshaded = false -flags_vertex_lighting = false -flags_no_depth_test = false -flags_use_point_size = false -flags_world_triplanar = false -flags_fixed_size = false -flags_albedo_tex_force_srgb = false -vertex_color_use_as_albedo = false -vertex_color_is_srgb = false -params_diffuse_mode = 0 -params_specular_mode = 0 -params_blend_mode = 1 -params_cull_mode = 0 -params_depth_draw_mode = 0 -params_line_width = 1.0 -params_point_size = 1.0 -params_billboard_mode = 0 -params_grow = false -params_use_alpha_scissor = false -albedo_color = Color( 0.601563, 0.775878, 1, 1 ) -metallic = 0.68 -metallic_specular = 1.0 -metallic_texture_channel = 0 -roughness = 0.46 -roughness_texture_channel = 0 -emission_enabled = true -emission = Color( 0.71875, 0.897827, 1, 1 ) -emission_energy = 0.3 -emission_operator = 1 -emission_on_uv2 = false -normal_enabled = false -rim_enabled = false -clearcoat_enabled = false -anisotropy_enabled = false -ao_enabled = false -depth_enabled = false -subsurf_scatter_enabled = false -transmission_enabled = false -refraction_enabled = false -detail_enabled = false -uv1_scale = Vector3( 1, 1, 1 ) -uv1_offset = Vector3( 0, 0, 0 ) -uv1_triplanar = false -uv1_triplanar_sharpness = 1.0 -uv2_scale = Vector3( 1, 1, 1 ) -uv2_offset = Vector3( 0, 0, 0 ) -uv2_triplanar = false -uv2_triplanar_sharpness = 1.0 -proximity_fade_enable = true -proximity_fade_distance = 1.0 -distance_fade_enable = false -_sections_unfolded = [ "Emission", "NormalMap", "Proximity Fade", "Roughness" ] - diff --git a/MinoMesh.tres b/MinoMesh.tres deleted file mode 100644 index 3440874..0000000 --- a/MinoMesh.tres +++ /dev/null @@ -1,10 +0,0 @@ -[gd_resource type="CubeMesh" format=2] - -[resource] - -custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) -size = Vector3( 0.9, 0.9, 1.9 ) -subdivide_width = 0 -subdivide_height = 0 -subdivide_depth = 0 - diff --git a/MinoMesh.tscn b/MinoMesh.tscn deleted file mode 100644 index 0a9209c..0000000 --- a/MinoMesh.tscn +++ /dev/null @@ -1,29 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://MinoMaterial.tres" type="Material" id=1] - -[sub_resource type="CubeMesh" id=1] - -custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) -size = Vector3( 0.9, 0.9, 0.9 ) -subdivide_width = 0 -subdivide_height = 0 -subdivide_depth = 0 - -[node name="Mino" type="MeshInstance"] - -layers = 1 -material_override = null -cast_shadow = 1 -extra_cull_margin = 0.0 -use_in_baked_light = false -lod_min_distance = 0.0 -lod_min_hysteresis = 0.0 -lod_max_distance = 0.0 -lod_max_hysteresis = 0.0 -mesh = SubResource( 1 ) -skeleton = NodePath("..") -material/0 = ExtResource( 1 ) -_sections_unfolded = [ "Transform", "material" ] - - diff --git a/Mino_Library.tscn b/Mino_Library.tscn deleted file mode 100644 index e8bcd08..0000000 --- a/Mino_Library.tscn +++ /dev/null @@ -1,11 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[ext_resource path="res://Tetrominos/Mino/MinoMesh.tscn" type="PackedScene" id=1] - - - -[node name="Mino_Library" type="Spatial" index="0"] - -[node name="Mino" parent="." index="0" instance=ExtResource( 1 )] - - diff --git a/MusicMidiPlayer.gd b/MusicMidiPlayer.gd deleted file mode 100644 index b6e7e38..0000000 --- a/MusicMidiPlayer.gd +++ /dev/null @@ -1,3 +0,0 @@ -extends "MidiPlayer.gd" - -export var channel_mute = [false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false] diff --git a/SparkSpatialmaterial.tres b/SparkSpatialmaterial.tres deleted file mode 100644 index b019957..0000000 --- a/SparkSpatialmaterial.tres +++ /dev/null @@ -1,59 +0,0 @@ -[gd_resource type="SpatialMaterial" format=2] - -[resource] - -render_priority = 0 -flags_transparent = true -flags_unshaded = false -flags_vertex_lighting = false -flags_no_depth_test = false -flags_use_point_size = false -flags_world_triplanar = false -flags_fixed_size = false -flags_albedo_tex_force_srgb = false -vertex_color_use_as_albedo = false -vertex_color_is_srgb = false -params_diffuse_mode = 0 -params_specular_mode = 0 -params_blend_mode = 1 -params_cull_mode = 0 -params_depth_draw_mode = 0 -params_line_width = 1.0 -params_point_size = 1.0 -params_billboard_mode = 0 -params_grow = false -params_use_alpha_scissor = false -albedo_color = Color( 0.887543, 1, 0.738281, 0.529294 ) -metallic = 0.78 -metallic_specular = 1.0 -metallic_texture_channel = 0 -roughness = 0.49 -roughness_texture_channel = 0 -emission_enabled = true -emission = Color( 1, 1, 0.700471, 1 ) -emission_energy = 0.2 -emission_operator = 0 -emission_on_uv2 = false -normal_enabled = false -rim_enabled = false -clearcoat_enabled = false -anisotropy_enabled = false -ao_enabled = false -depth_enabled = false -subsurf_scatter_enabled = false -transmission_enabled = false -refraction_enabled = false -detail_enabled = false -uv1_scale = Vector3( 1, 1, 1 ) -uv1_offset = Vector3( 0, 0, 0 ) -uv1_triplanar = false -uv1_triplanar_sharpness = 1.0 -uv2_scale = Vector3( 1, 1, 1 ) -uv2_offset = Vector3( 0, 0, 0 ) -uv2_triplanar = false -uv2_triplanar_sharpness = 1.0 -proximity_fade_enable = true -proximity_fade_distance = 1.0 -distance_fade_enable = false -_sections_unfolded = [ "Emission", "Proximity Fade" ] - diff --git a/TetroI.gd b/TetroI.gd deleted file mode 100644 index b1e206a..0000000 --- a/TetroI.gd +++ /dev/null @@ -1,70 +0,0 @@ -extends "Tetrominos/Tetromino.gd" - -const CLOCKWISE = -1 -const COUNTERCLOCKWISE = 1 -const SUPER_ROTATION_SYSTEM = [ - { - COUNTERCLOCKWISE: [ - Vector3(0, -1, 0), - Vector3(-1, -1, 0), - Vector3(2, -1, 0), - Vector3(-1, 1, 0), - Vector3(2, -2, 0) - ], - CLOCKWISE: [ - Vector3(1, 0, 0), - Vector3(-1, 0, 0), - Vector3(2, 0, 0), - Vector3(-1, -1, 0), - Vector3(2, 2, 0) - ], - }, - { - COUNTERCLOCKWISE: [ - Vector3(-1, 0, 0), - Vector3(1, 0, 0), - Vector3(-2, 0, 0), - Vector3(1, 1, 0), - Vector3(-2, -2, 0) - ], - CLOCKWISE: [ - Vector3(0, -1, 0), - Vector3(-1, -1, 0), - Vector3(2, -1, 0), - Vector3(-1, 1, 0), - Vector3(2, -2, 0) - ], - }, - { - COUNTERCLOCKWISE: [ - Vector3(0, 1, 0), - Vector3(1, 1, 0), - Vector3(-2, 1, 0), - Vector3(1, -1, 0), - Vector3(-2, 2, 0) - ], - CLOCKWISE: [ - Vector3(-1, 0, 0), - Vector3(1, 0, 0), - Vector3(-2, 0, 0), - Vector3(1, 1, 0), - Vector3(-2, -2, 0) - ], - }, - { - COUNTERCLOCKWISE: [ - Vector3(1, 0, 0), - Vector3(-1, 0, 0), - Vector3(2, 0, 0), - Vector3(-1, -1, 0), - Vector3(2, 2, 0) - ], - CLOCKWISE: [ - Vector3(0, 1, 0), - Vector3(1, 1, 0), - Vector3(-2, 1, 0), - Vector3(1, -1, 0), - Vector3(-2, 2, 0) - ], - }, -] \ No newline at end of file diff --git a/TetroT.gd b/TetroT.gd deleted file mode 100644 index 3dfa868..0000000 --- a/TetroT.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends Spatial - -var minos - -func _ready(): - minos = [$Mino, $Mino2, $Mino3, $Mino4] \ No newline at end of file diff --git a/TetroT.tscn b/TetroT.tscn deleted file mode 100644 index d376ff1..0000000 --- a/TetroT.tscn +++ /dev/null @@ -1,25 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://TetroT.gd" type="Script" id=1] -[ext_resource path="res://Mino.tscn" type="PackedScene" id=2] - -[node name="TetroT" type="Spatial"] - -script = ExtResource( 1 ) -_sections_unfolded = [ "Transform" ] - -[node name="Mino" parent="." index="0" instance=ExtResource( 2 )] - -[node name="Mino2" parent="." index="1" instance=ExtResource( 2 )] - -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 ) - -[node name="Mino3" parent="." index="2" instance=ExtResource( 2 )] - -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 ) - -[node name="Mino4" parent="." index="3" instance=ExtResource( 2 )] - -transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0 ) - - diff --git a/TrailMaterial.tres b/TrailMaterial.tres deleted file mode 100644 index 2ad3870..0000000 --- a/TrailMaterial.tres +++ /dev/null @@ -1,55 +0,0 @@ -[gd_resource type="SpatialMaterial" format=2] - -[resource] - -render_priority = 0 -flags_transparent = true -flags_unshaded = false -flags_vertex_lighting = false -flags_no_depth_test = false -flags_use_point_size = false -flags_world_triplanar = false -flags_fixed_size = false -flags_albedo_tex_force_srgb = false -vertex_color_use_as_albedo = false -vertex_color_is_srgb = false -params_diffuse_mode = 0 -params_specular_mode = 0 -params_blend_mode = 1 -params_cull_mode = 0 -params_depth_draw_mode = 0 -params_line_width = 1.0 -params_point_size = 1.0 -params_billboard_mode = 0 -params_grow = false -params_use_alpha_scissor = false -albedo_color = Color( 0.601563, 0.775878, 1, 0.520275 ) -metallic = 0.68 -metallic_specular = 1.0 -metallic_texture_channel = 0 -roughness = 0.0 -roughness_texture_channel = 0 -emission_enabled = false -normal_enabled = false -rim_enabled = false -clearcoat_enabled = false -anisotropy_enabled = false -ao_enabled = false -depth_enabled = false -subsurf_scatter_enabled = false -transmission_enabled = false -refraction_enabled = false -detail_enabled = false -uv1_scale = Vector3( 1, 1, 1 ) -uv1_offset = Vector3( 0, 0, 0 ) -uv1_triplanar = false -uv1_triplanar_sharpness = 1.0 -uv2_scale = Vector3( 1, 1, 1 ) -uv2_offset = Vector3( 0, 0, 0 ) -uv2_triplanar = false -uv2_triplanar_sharpness = 1.0 -proximity_fade_enable = true -proximity_fade_distance = 1.0 -distance_fade_enable = false -_sections_unfolded = [ "Proximity Fade" ] -