diff --git a/Breakage1.tres b/Breakage1.tres new file mode 100644 index 0000000..39cce34 --- /dev/null +++ b/Breakage1.tres @@ -0,0 +1,14 @@ +[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 new file mode 100644 index 0000000..dbc5498 --- /dev/null +++ b/Breakage2.tres @@ -0,0 +1,14 @@ +[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 new file mode 100644 index 0000000..317e646 --- /dev/null +++ b/ExplodingLine.tscn @@ -0,0 +1,108 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://Mino/Breakage1.tres" type="PrismMesh" id=1] +[ext_resource path="res://Mino/Breakage2.tres" type="PrismMesh" id=2] +[ext_resource path="res://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, 1 ) +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"] + +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/Grid.tscn b/Grid.tscn new file mode 100644 index 0000000..993ea27 --- /dev/null +++ b/Grid.tscn @@ -0,0 +1,356 @@ +[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 new file mode 100644 index 0000000..3d7188a --- /dev/null +++ b/GridBack.tscn @@ -0,0 +1,31 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://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 new file mode 100644 index 0000000..9675b4c --- /dev/null +++ b/GridMap.gd @@ -0,0 +1,217 @@ +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) + +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 paused = false + +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_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 not paused 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 not paused and autoshift_action: + move(movements[autoshift_action]) + $AutoShiftTimer.start() + +func _on_AutoShiftTimer_timeout(): + if not paused 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(self, movement): + $LockDelay.start() + return true + else: + return false + +func rotate(direction): + current_piece.rotate(self, direction) + +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(): + if current_piece.t_spin == Tetromino.T_SPIN: + print("T-SPIN") + elif current_piece.t_spin == Tetromino.MINI_T_SPIN: + print("MINI T-SPIN") + 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: + print(lines_to_clear.size(), " LINES CLEARED") + $ExplosionDelay.start() + 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)) + new_piece() + +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(): + paused = not paused + if paused: + print("PAUSE") + $DropTimer.stop() + $LockDelay.stop() + else: + print("RESUME") + $DropTimer.start() + $LockDelay.start() + +func game_over(): + print("GAME OVER") + $DropTimer.stop() + $AutoShiftDelay.stop() + $AutoShiftTimer.stop() \ No newline at end of file diff --git a/GridMap.tscn b/GridMap.tscn new file mode 100644 index 0000000..7d520d4 --- /dev/null +++ b/GridMap.tscn @@ -0,0 +1,110 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://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://Mino/BackMaterial.tres" type="Material" id=4] + +[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"] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.657175, -0.5, -1 ) +theme = ExtResource( 1 ) +cell_size = Vector3( 1, 1, 2 ) +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 = 0.5 +one_shot = false +autostart = false + +[node name="LockDelay" type="Timer" parent="." index="1"] + +process_mode = 1 +wait_time = 1.0 +one_shot = true +autostart = false + +[node name="AutoShiftDelay" type="Timer" parent="." index="2"] + +process_mode = 1 +wait_time = 0.2 +one_shot = true +autostart = false + +[node name="AutoShiftTimer" type="Timer" parent="." index="3"] + +process_mode = 1 +wait_time = 0.03 +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 ) + +[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 new file mode 100644 index 0000000..8c8b381 --- /dev/null +++ b/Mino.tscn @@ -0,0 +1,143 @@ +[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/Mino/BackMaterial.tres b/Mino/BackMaterial.tres new file mode 100644 index 0000000..5c7074a --- /dev/null +++ b/Mino/BackMaterial.tres @@ -0,0 +1,55 @@ +[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.0338039 ) +metallic = 0.18 +metallic_specular = 1.0 +metallic_texture_channel = 0 +roughness = 0.46 +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 = [ "Albedo", "Emission", "Metallic", "NormalMap", "Proximity Fade" ] + diff --git a/Mino/Breakage1.tres b/Mino/Breakage1.tres new file mode 100644 index 0000000..4914763 --- /dev/null +++ b/Mino/Breakage1.tres @@ -0,0 +1,14 @@ +[gd_resource type="PrismMesh" load_steps=2 format=2] + +[ext_resource path="res://Mino/MinoMaterial.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/Mino/Breakage2.tres b/Mino/Breakage2.tres new file mode 100644 index 0000000..e87944a --- /dev/null +++ b/Mino/Breakage2.tres @@ -0,0 +1,14 @@ +[gd_resource type="PrismMesh" load_steps=2 format=2] + +[ext_resource path="res://Mino/MinoMaterial.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/Mino/Mino.tscn b/Mino/Mino.tscn new file mode 100644 index 0000000..6842c89 --- /dev/null +++ b/Mino/Mino.tscn @@ -0,0 +1,152 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://Mino/MinoMesh.tscn" type="PackedScene" id=1] +[ext_resource path="res://Mino/MinoMesh.tres" type="CubeMesh" id=2] +[ext_resource path="res://Mino/TrailMaterial.tres" type="Material" id=3] + +[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.270275 ) +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 = [ "Albedo", "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, 0, 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 = [ "Color", "Gravity" ] + +[sub_resource type="CubeMesh" id=4] + +material = ExtResource( 3 ) +custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) +size = Vector3( 0.9, 0.9, 2 ) +subdivide_width = 0 +subdivide_height = 0 +subdivide_depth = 0 + +[node name="Mino" type="Spatial"] + +_sections_unfolded = [ "Pause", "Transform", "Visibility" ] + +[node name="MinoMesh" parent="." index="0" instance=ExtResource( 1 )] + +mesh = ExtResource( 2 ) +material/0 = null +_sections_unfolded = [ "Geometry", "Transform", "material" ] + +[node name="Trail" type="Particles" parent="." index="1"] + +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 = 20 +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( -0.5, -0.5, -1, 1, 1, 2 ) +local_coords = false +draw_order = 0 +process_material = SubResource( 3 ) +draw_passes = 1 +draw_pass_1 = SubResource( 4 ) +_sections_unfolded = [ "Draw Passes", "Drawing", "Geometry", "LOD", "Process Material", "Time", "Transform" ] + + diff --git a/Mino/MinoLibrary.meshlib b/Mino/MinoLibrary.meshlib new file mode 100644 index 0000000..46aa312 Binary files /dev/null and b/Mino/MinoLibrary.meshlib differ diff --git a/Mino/MinoLibrary.tres b/Mino/MinoLibrary.tres new file mode 100644 index 0000000..8fd0a6a --- /dev/null +++ b/Mino/MinoLibrary.tres @@ -0,0 +1,31 @@ +[gd_resource type="MeshLibrary" load_steps=4 format=2] + +[ext_resource path="res://Mino/MinoMesh.tres" type="CubeMesh" id=1] + +[sub_resource type="Image" id=1] + +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=2] + +flags = 7 +storage = 0 +lossy_quality = 0.7 +flags = 7 +image = SubResource( 1 ) +size = Vector2( 64, 64 ) + +[resource] + +item/0/name = "Mino" +item/0/mesh = ExtResource( 1 ) +item/0/shapes = [ ] +item/0/preview = SubResource( 2 ) +_sections_unfolded = [ "item", "item/0" ] + diff --git a/Mino/MinoMaterial.tres b/Mino/MinoMaterial.tres new file mode 100644 index 0000000..813e569 --- /dev/null +++ b/Mino/MinoMaterial.tres @@ -0,0 +1,59 @@ +[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.25 ) +metallic = 0.4 +metallic_specular = 1.0 +metallic_texture_channel = 0 +roughness = 0.46 +roughness_texture_channel = 0 +emission_enabled = true +emission = Color( 0.755859, 1, 0.914169, 1 ) +emission_energy = 0.7 +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", "NormalMap", "Proximity Fade" ] + diff --git a/Mino/MinoMesh.tres b/Mino/MinoMesh.tres new file mode 100644 index 0000000..9b6333b --- /dev/null +++ b/Mino/MinoMesh.tres @@ -0,0 +1,13 @@ +[gd_resource type="CubeMesh" load_steps=2 format=2] + +[ext_resource path="res://Mino/MinoMaterial.tres" type="Material" id=1] + +[resource] + +material = ExtResource( 1 ) +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/Mino/MinoMesh.tscn b/Mino/MinoMesh.tscn new file mode 100644 index 0000000..2892647 --- /dev/null +++ b/Mino/MinoMesh.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Mino/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" 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 +mesh = SubResource( 1 ) +skeleton = NodePath("..") +material/0 = ExtResource( 1 ) +_sections_unfolded = [ "Transform", "material" ] + + diff --git a/Mino/SparkSpatialmaterial.tres b/Mino/SparkSpatialmaterial.tres new file mode 100644 index 0000000..85047a5 --- /dev/null +++ b/Mino/SparkSpatialmaterial.tres @@ -0,0 +1,59 @@ +[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/Mino/TrailMaterial.tres b/Mino/TrailMaterial.tres new file mode 100644 index 0000000..c32282e --- /dev/null +++ b/Mino/TrailMaterial.tres @@ -0,0 +1,55 @@ +[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.00392157 ) +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 = [ "Albedo", "Emission", "Proximity Fade" ] + diff --git a/MinoLibrary.meshlib b/MinoLibrary.meshlib new file mode 100644 index 0000000..8db2699 Binary files /dev/null and b/MinoLibrary.meshlib differ diff --git a/MinoLibrary.tres b/MinoLibrary.tres new file mode 100644 index 0000000..594dbf4 --- /dev/null +++ b/MinoLibrary.tres @@ -0,0 +1,40 @@ +[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 new file mode 100644 index 0000000..e78f9b2 --- /dev/null +++ b/MinoMaterial.tres @@ -0,0 +1,59 @@ +[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 new file mode 100644 index 0000000..3440874 --- /dev/null +++ b/MinoMesh.tres @@ -0,0 +1,10 @@ +[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 new file mode 100644 index 0000000..0a9209c --- /dev/null +++ b/MinoMesh.tscn @@ -0,0 +1,29 @@ +[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 new file mode 100644 index 0000000..c5c5447 --- /dev/null +++ b/Mino_Library.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://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/SparkSpatialmaterial.tres b/SparkSpatialmaterial.tres new file mode 100644 index 0000000..b019957 --- /dev/null +++ b/SparkSpatialmaterial.tres @@ -0,0 +1,59 @@ +[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 new file mode 100644 index 0000000..b1e206a --- /dev/null +++ b/TetroI.gd @@ -0,0 +1,70 @@ +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 new file mode 100644 index 0000000..3dfa868 --- /dev/null +++ b/TetroT.gd @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..d376ff1 --- /dev/null +++ b/TetroT.tscn @@ -0,0 +1,25 @@ +[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/Tetrominos/TetroI.tscn b/Tetrominos/TetroI.tscn new file mode 100644 index 0000000..89df03d --- /dev/null +++ b/Tetrominos/TetroI.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://TetroI.gd" type="Script" id=1] +[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2] + + +[node name="TetroI" type="Spatial" index="0"] + +script = ExtResource( 1 ) + +[node name="Mino0" parent="." index="0" instance=ExtResource( 2 )] + +[node name="Mino1" parent="." index="1" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 ) + +[node name="Mino2" parent="." index="2" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 ) + +[node name="Mino3" parent="." index="3" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 0 ) + + diff --git a/Tetrominos/TetroJ.gd b/Tetrominos/TetroJ.gd new file mode 100644 index 0000000..fe1809a --- /dev/null +++ b/Tetrominos/TetroJ.gd @@ -0,0 +1,2 @@ +extends "Tetromino.gd" + diff --git a/Tetrominos/TetroJ.tscn b/Tetrominos/TetroJ.tscn new file mode 100644 index 0000000..00492a9 --- /dev/null +++ b/Tetrominos/TetroJ.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Tetrominos/TetroJ.gd" type="Script" id=1] +[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2] + +[node name="TetroJ" type="Spatial"] + +script = ExtResource( 1 ) + +[node name="Mino0" parent="." index="0" instance=ExtResource( 2 )] + +[node name="Mino1" parent="." index="1" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 0 ) + +[node name="Mino2" parent="." index="2" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 ) + +[node name="Mino3" parent="." index="3" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 ) + + diff --git a/Tetrominos/TetroL.gd b/Tetrominos/TetroL.gd new file mode 100644 index 0000000..fe1809a --- /dev/null +++ b/Tetrominos/TetroL.gd @@ -0,0 +1,2 @@ +extends "Tetromino.gd" + diff --git a/Tetrominos/TetroL.tscn b/Tetrominos/TetroL.tscn new file mode 100644 index 0000000..e800c3c --- /dev/null +++ b/Tetrominos/TetroL.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Tetrominos/TetroL.gd" type="Script" id=1] +[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2] + + +[node name="TetroL" type="Spatial" index="0"] + +script = ExtResource( 1 ) + +[node name="Mino0" parent="." index="0" instance=ExtResource( 2 )] + +[node name="Mino1" parent="." index="1" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 ) + +[node name="Mino2" parent="." index="2" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 ) + +[node name="Mino3" parent="." index="3" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0 ) + + diff --git a/Tetrominos/TetroO.gd b/Tetrominos/TetroO.gd new file mode 100644 index 0000000..15391f9 --- /dev/null +++ b/Tetrominos/TetroO.gd @@ -0,0 +1,4 @@ +extends "Tetromino.gd" + +func rotate(grid, direction): + pass \ No newline at end of file diff --git a/Tetrominos/TetroO.tscn b/Tetrominos/TetroO.tscn new file mode 100644 index 0000000..68ecbca --- /dev/null +++ b/Tetrominos/TetroO.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Tetrominos/TetroO.gd" type="Script" id=1] +[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2] + + +[node name="TetroO" type="Spatial" index="0"] + +script = ExtResource( 1 ) + +[node name="Mino0" parent="." index="0" instance=ExtResource( 2 )] + +[node name="Mino1" parent="." index="1" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) + +[node name="Mino2" parent="." index="2" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0 ) + +[node name="Mino3" parent="." index="3" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 ) + + diff --git a/Tetrominos/TetroS.gd b/Tetrominos/TetroS.gd new file mode 100644 index 0000000..fe1809a --- /dev/null +++ b/Tetrominos/TetroS.gd @@ -0,0 +1,2 @@ +extends "Tetromino.gd" + diff --git a/Tetrominos/TetroS.tscn b/Tetrominos/TetroS.tscn new file mode 100644 index 0000000..6f08a39 --- /dev/null +++ b/Tetrominos/TetroS.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Tetrominos/TetroS.gd" type="Script" id=1] +[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2] + + +[node name="TetroS" type="Spatial" index="0"] + +script = ExtResource( 1 ) + +[node name="Mino0" parent="." index="0" instance=ExtResource( 2 )] + +[node name="Mino1" parent="." index="1" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 ) + +[node name="Mino2" parent="." index="2" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) + +[node name="Mino3" parent="." index="3" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0 ) + + diff --git a/Tetrominos/TetroT.gd b/Tetrominos/TetroT.gd new file mode 100644 index 0000000..f5e3bf3 --- /dev/null +++ b/Tetrominos/TetroT.gd @@ -0,0 +1,23 @@ +extends "Tetromino.gd" + +const T_SLOT = [ + Vector3(-1, 1, 0), + Vector3(1, 1, 0), + Vector3(1, -1, 0), + Vector3(-1, -1, 0) +] + +func rotate(grid, direction): + if .rotate(grid, direction): + var center = to_global(minoes[0].translation) + var a = not grid.is_free_cell(center + T_SLOT[orientation]) + var b = not grid.is_free_cell(center + T_SLOT[(1+orientation)%4]) + var c = not grid.is_free_cell(center + T_SLOT[(2+orientation)%4]) + var d = not grid.is_free_cell(center + T_SLOT[(3+orientation)%4]) + if a and b and (c or d): + t_spin = T_SPIN + elif c and d and (a or b): + if t_spin != T_SPIN: + t_spin = MINI_T_SPIN + return true + return false \ No newline at end of file diff --git a/Tetrominos/TetroT.tscn b/Tetrominos/TetroT.tscn new file mode 100644 index 0000000..21ce0c2 --- /dev/null +++ b/Tetrominos/TetroT.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Tetrominos/TetroT.gd" type="Script" id=1] +[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2] + + +[node name="TetroT" type="Spatial" index="0"] + +script = ExtResource( 1 ) + +[node name="Mino0" parent="." index="0" instance=ExtResource( 2 )] + +[node name="Mino1" parent="." index="1" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 ) + +[node name="Mino2" parent="." index="2" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) + +[node name="Mino3" parent="." index="3" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 ) + + diff --git a/Tetrominos/TetroZ.gd b/Tetrominos/TetroZ.gd new file mode 100644 index 0000000..fe1809a --- /dev/null +++ b/Tetrominos/TetroZ.gd @@ -0,0 +1,2 @@ +extends "Tetromino.gd" + diff --git a/Tetrominos/TetroZ.tscn b/Tetrominos/TetroZ.tscn new file mode 100644 index 0000000..db60c4e --- /dev/null +++ b/Tetrominos/TetroZ.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Tetrominos/TetroZ.gd" type="Script" id=1] +[ext_resource path="res://Mino/Mino.tscn" type="PackedScene" id=2] + + +[node name="TetroZ" type="Spatial" index="0"] + +script = ExtResource( 1 ) + +[node name="Mino0" parent="." index="0" instance=ExtResource( 2 )] + +[node name="Mino1" parent="." index="1" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 1, 0 ) + +[node name="Mino2" parent="." index="2" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) + +[node name="Mino3" parent="." index="3" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0 ) + + diff --git a/Tetrominos/Tetromino.gd b/Tetrominos/Tetromino.gd new file mode 100644 index 0000000..93bf871 --- /dev/null +++ b/Tetrominos/Tetromino.gd @@ -0,0 +1,125 @@ +extends Spatial + +const NB_MINOES = 4 +const CLOCKWISE = -1 +const COUNTERCLOCKWISE = 1 +const T_SPIN = 2 +const MINI_T_SPIN = 1 +const SUPER_ROTATION_SYSTEM = [ + { + COUNTERCLOCKWISE: [ + Vector3(0, 0, 0), + Vector3(1, 0, 0), + Vector3(1, 1, 0), + Vector3(0, -2, 0), + Vector3(1, -2, 0) + ], + CLOCKWISE: [ + Vector3(0, 0, 0), + Vector3(-1, 0, 0), + Vector3(-1, 1, 0), + Vector3(0, -2, 0), + Vector3(-1, -2, 0) + ], + }, + { + COUNTERCLOCKWISE: [ + Vector3(0, 0, 0), + Vector3(1, 0, 0), + Vector3(1, -1, 0), + Vector3(0, 2, 0), + Vector3(1, 2, 0) + ], + CLOCKWISE: [ + Vector3(0, 0, 0), + Vector3(1, 0, 0), + Vector3(1, -1, 0), + Vector3(0, 2, 0), + Vector3(1, 2, 0) + ], + }, + { + COUNTERCLOCKWISE: [ + Vector3(0, 0, 0), + Vector3(-1, 0, 0), + Vector3(-1, 1, 0), + Vector3(0, -2, 0), + Vector3(-1, -2, 0) + ], + CLOCKWISE: [ + Vector3(0, 0, 0), + Vector3(1, 0, 0), + Vector3(1, 1, 0), + Vector3(0, -2, 0), + Vector3(1, -2, 0) + ], + }, + { + COUNTERCLOCKWISE: [ + Vector3(0, 0, 0), + Vector3(-1, 0, 0), + Vector3(-1, -1, 0), + Vector3(0, 2, 0), + Vector3(-1, 2, 0) + ], + CLOCKWISE: [ + Vector3(0, 0, 0), + Vector3(-1, 0, 0), + Vector3(-1, -1, 0), + Vector3(0, -2, 0), + Vector3(-1, 2, 0) + ] + } +] + +var minoes +var orientation = 0 +var t_spin = 0 + +func _ready(): + minoes = [$Mino0, $Mino1, $Mino2, $Mino3] + +func positions(): + var p = [] + for mino in minoes: + p.append(to_global(mino.translation)) + return p + +func rotated_positions(direction): + var translations = [to_global(minoes[0].translation) ] + for i in range(1, 4): + var v = to_global(minoes[i].translation) + v -= to_global(minoes[0].translation) + v = Vector3(-1*direction*v.y, direction*v.x, 0) + v += to_global(minoes[0].translation) + translations.append(v) + return translations + +func rotation_movement_liberty(direction): + return SUPER_ROTATION_SYSTEM[orientation][direction] + +func apply_positions(positions): + for i in range(4): + minoes[i].translation = to_local(positions[i]) + +func move(grid, movement): + var new_positions = grid.possible_positions(positions(), movement) + if new_positions: + translate(movement) + return true + else: + return false + +func rotate(grid, direction): + var rotated_positions = rotated_positions(direction) + var movements = rotation_movement_liberty(direction) + var test_position + for movement in movements: + test_position = grid.possible_positions(rotated_positions, movement) + if test_position: + orientation -= direction + orientation %= NB_MINOES + apply_positions(rotated_positions) + translate(movement) + return true + return false \ No newline at end of file diff --git a/TrailMaterial.tres b/TrailMaterial.tres new file mode 100644 index 0000000..2ad3870 --- /dev/null +++ b/TrailMaterial.tres @@ -0,0 +1,55 @@ +[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" ] + diff --git a/WorldEnvironment.tscn b/WorldEnvironment.tscn new file mode 100644 index 0000000..6732581 --- /dev/null +++ b/WorldEnvironment.tscn @@ -0,0 +1,148 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://starmap_g8k.jpg" type="Texture" id=1] +[ext_resource path="res://GridMap.tscn" type="PackedScene" id=2] + +[sub_resource type="PanoramaSky" id=1] + +radiance_size = 4 +panorama = ExtResource( 1 ) + +[sub_resource type="Environment" id=2] + +resource_local_to_scene = true +background_mode = 2 +background_sky = SubResource( 1 ) +background_sky_custom_fov = 0.0 +background_color = Color( 0, 0, 0, 1 ) +background_energy = 2.0 +background_canvas_max_layer = 0 +ambient_light_color = Color( 0.469971, 0.542197, 0.6875, 1 ) +ambient_light_energy = 3.0 +ambient_light_sky_contribution = 1.0 +fog_enabled = false +fog_color = Color( 0.5, 0.6, 0.7, 1 ) +fog_sun_color = Color( 1, 0.9, 0.7, 1 ) +fog_sun_amount = 0.0 +fog_depth_enabled = true +fog_depth_begin = 10.0 +fog_depth_curve = 1.0 +fog_transmit_enabled = false +fog_transmit_curve = 1.0 +fog_height_enabled = false +fog_height_min = 0.0 +fog_height_max = 100.0 +fog_height_curve = 1.0 +tonemap_mode = 0 +tonemap_exposure = 1.0 +tonemap_white = 1.0 +auto_exposure_enabled = false +auto_exposure_scale = 0.4 +auto_exposure_min_luma = 0.05 +auto_exposure_max_luma = 8.0 +auto_exposure_speed = 0.5 +ss_reflections_enabled = false +ss_reflections_max_steps = 64 +ss_reflections_fade_in = 0.15 +ss_reflections_fade_out = 2.0 +ss_reflections_depth_tolerance = 0.2 +ss_reflections_roughness = true +ssao_enabled = false +ssao_radius = 1.0 +ssao_intensity = 1.0 +ssao_radius2 = 0.0 +ssao_intensity2 = 1.0 +ssao_bias = 0.01 +ssao_light_affect = 0.0 +ssao_color = Color( 0, 0, 0, 1 ) +ssao_quality = 0 +ssao_blur = 3 +ssao_edge_sharpness = 4.0 +dof_blur_far_enabled = false +dof_blur_far_distance = 10.0 +dof_blur_far_transition = 5.0 +dof_blur_far_amount = 0.1 +dof_blur_far_quality = 1 +dof_blur_near_enabled = false +dof_blur_near_distance = 2.0 +dof_blur_near_transition = 1.0 +dof_blur_near_amount = 0.1 +dof_blur_near_quality = 1 +glow_enabled = false +glow_levels/1 = false +glow_levels/2 = false +glow_levels/3 = true +glow_levels/4 = false +glow_levels/5 = true +glow_levels/6 = false +glow_levels/7 = false +glow_intensity = 0.8 +glow_strength = 1.0 +glow_bloom = 0.0 +glow_blend_mode = 2 +glow_hdr_threshold = 1.0 +glow_hdr_scale = 2.0 +glow_bicubic_upscale = false +adjustment_enabled = false +adjustment_brightness = 1.0 +adjustment_contrast = 1.0 +adjustment_saturation = 1.0 +_sections_unfolded = [ "Ambient Light", "Background", "Resource" ] + +[node name="WorldEnvironment" type="WorldEnvironment"] + +environment = SubResource( 2 ) + +[node name="Camera" type="Camera" parent="." index="0"] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 10, 20 ) +keep_aspect = 1 +cull_mask = 1048575 +environment = null +h_offset = 0.0 +v_offset = 0.0 +doppler_tracking = 0 +projection = 0 +current = false +fov = 70.0 +size = 1.0 +near = 0.05 +far = -1.22275e+007 +_sections_unfolded = [ "Transform" ] + +[node name="DirectionalLight" type="DirectionalLight" parent="." index="1"] + +transform = Transform( 1, 0, 0, 0, 0.999391, -0.0348995, 0, 0.0348995, 0.999391, 5, 10, 50 ) +layers = 1 +light_color = Color( 1, 1, 1, 1 ) +light_energy = 1.0 +light_indirect_energy = 1.0 +light_negative = false +light_specular = 0.5 +light_bake_mode = 1 +light_cull_mask = -1 +shadow_enabled = false +shadow_color = Color( 0, 0, 0, 1 ) +shadow_bias = 0.1 +shadow_contact = 0.0 +shadow_reverse_cull_face = false +editor_only = false +directional_shadow_mode = 2 +directional_shadow_split_1 = 0.1 +directional_shadow_split_2 = 0.2 +directional_shadow_split_3 = 0.5 +directional_shadow_blend_splits = false +directional_shadow_normal_bias = 0.8 +directional_shadow_bias_split_scale = 0.25 +directional_shadow_depth_range = 0 +directional_shadow_max_distance = 200.0 +_sections_unfolded = [ "Light", "Transform" ] + +[node name="GridMap" parent="." index="2" instance=ExtResource( 2 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) +data = { +"cells": PoolIntArray( ) +} + + diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..0c1c97c --- /dev/null +++ b/project.godot @@ -0,0 +1,57 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=3 + +[application] + +config/name="TETRIS3000" +run/main_scene="res://WorldEnvironment.tscn" +config/icon="res://icon.png" + +[display] + +window/size/width=500 +window/size/height=500 + +[gui] + +theme/use_hidpi=true + +[input] + +hold=[ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":4,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":5,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null) + ] +pause=[ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777217,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777244,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777225,"unicode":0,"echo":false,"script":null) + ] +hard_drop=[ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777238,"unicode":0,"echo":false,"script":null) + ] +move_left=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) + ] +soft_drop=[ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null) + ] +move_right=[ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) + ] +rotate_clockwise=[ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":1,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":88,"unicode":0,"echo":false,"script":null) + ] +rotate_counterclockwise=[ Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":90,"unicode":0,"echo":false,"script":null) + ] diff --git a/starmap_g8k.jpg b/starmap_g8k.jpg new file mode 100644 index 0000000..1067f8e Binary files /dev/null and b/starmap_g8k.jpg differ diff --git a/starmap_g8k.jpg.import b/starmap_g8k.jpg.import new file mode 100644 index 0000000..2cc3487 --- /dev/null +++ b/starmap_g8k.jpg.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/starmap_g8k.jpg-617060714ab9f6908ea55c401bab327a.stex" + +[deps] + +source_file="res://starmap_g8k.jpg" +dest_files=[ "res://.import/starmap_g8k.jpg-617060714ab9f6908ea55c401bab327a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0