diff --git a/assets/data/approach_test_shot.json b/assets/data/approach_test_shot.json
index 222caaa..b061251 100644
--- a/assets/data/approach_test_shot.json
+++ b/assets/data/approach_test_shot.json
@@ -4,13 +4,13 @@
"ShotNumber": 13,
"APIversion": "1",
"BallData" : {
- "Speed": 81.0547040,
- "SpinAxis": 5.7414904 ,
- "TotalSpin": 10489.8457 ,
- "BackSpin": 10454.7803545724255,
- "SideSpin": 699.266167598911,
- "HLA": 1.3455228805541992,
- "VLA": 30.503028869628906,
+ "Speed": 105,
+ "SpinAxis": -1.0,
+ "TotalSpin": 6825,
+ "BackSpin": 6825,
+ "SideSpin": 0,
+ "HLA": 8.0,
+ "VLA": 22.41,
"CarryDistance": 0.0
},
"ClubData": {
diff --git a/assets/images/icons/bullseye.svg b/assets/images/icons/bullseye.svg
new file mode 100644
index 0000000..f54f390
--- /dev/null
+++ b/assets/images/icons/bullseye.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/icons/bullseye.svg.import b/assets/images/icons/bullseye.svg.import
new file mode 100644
index 0000000..e740e5b
--- /dev/null
+++ b/assets/images/icons/bullseye.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://2ffapffda1u3"
+path="res://.godot/imported/bullseye.svg-d7457ee00aeb40249f5f68eb51907bc7.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/images/icons/bullseye.svg"
+dest_files=["res://.godot/imported/bullseye.svg-d7457ee00aeb40249f5f68eb51907bc7.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/assets/images/icons/filter.svg b/assets/images/icons/filter.svg
new file mode 100644
index 0000000..5ece3fb
--- /dev/null
+++ b/assets/images/icons/filter.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/icons/filter.svg.import b/assets/images/icons/filter.svg.import
new file mode 100644
index 0000000..a7eca0e
--- /dev/null
+++ b/assets/images/icons/filter.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ehyrr7tyubtv"
+path="res://.godot/imported/filter.svg-f4660c8a90aaa6fa8c996b02f00ec293.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/images/icons/filter.svg"
+dest_files=["res://.godot/imported/filter.svg-f4660c8a90aaa6fa8c996b02f00ec293.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/assets/images/icons/scatter_plot.svg b/assets/images/icons/scatter_plot.svg
new file mode 100644
index 0000000..a1c1959
--- /dev/null
+++ b/assets/images/icons/scatter_plot.svg
@@ -0,0 +1,11 @@
+
diff --git a/assets/images/icons/scatter_plot.svg.import b/assets/images/icons/scatter_plot.svg.import
new file mode 100644
index 0000000..42f9e34
--- /dev/null
+++ b/assets/images/icons/scatter_plot.svg.import
@@ -0,0 +1,43 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dxri4ff4v8525"
+path="res://.godot/imported/scatter_plot.svg-f3eac9f6940332025bc06b4f830be6eb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/images/icons/scatter_plot.svg"
+dest_files=["res://.godot/imported/scatter_plot.svg-f3eac9f6940332025bc06b4f830be6eb.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/assets/meshes/surface_types.tres b/assets/meshes/surface_types.tres
index 4eeb713..e2b8121 100644
--- a/assets/meshes/surface_types.tres
+++ b/assets/meshes/surface_types.tres
@@ -13,7 +13,7 @@ roughness_texture = ExtResource("2_1yb16")
material = SubResource("StandardMaterial3D_ffko3")
size = Vector3(4, 0.1, 4)
-[sub_resource type="Image" id="Image_1yb16"]
+[sub_resource type="Image" id="Image_dp7fk"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 76, 74, 255, 80, 79, 77, 255, 88, 87, 85, 255, 98, 96, 94, 255, 109, 108, 105, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 74, 72, 255, 77, 76, 74, 255, 78, 77, 75, 255, 78, 77, 75, 255, 79, 78, 75, 255, 81, 80, 78, 255, 84, 83, 81, 255, 95, 94, 92, 255, 106, 105, 103, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 79, 77, 255, 78, 77, 75, 255, 78, 77, 75, 255, 79, 78, 76, 255, 79, 78, 76, 255, 80, 79, 77, 255, 81, 80, 78, 255, 83, 82, 80, 255, 84, 83, 81, 255, 84, 83, 81, 255, 86, 85, 83, 255, 93, 92, 90, 255, 101, 101, 100, 255, 107, 106, 105, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 75, 72, 255, 77, 76, 73, 255, 78, 77, 75, 255, 78, 77, 75, 255, 78, 78, 75, 255, 79, 79, 76, 255, 81, 80, 78, 255, 82, 82, 80, 255, 84, 83, 81, 255, 86, 85, 83, 255, 88, 87, 85, 255, 88, 87, 85, 255, 86, 85, 84, 255, 84, 83, 81, 255, 83, 82, 80, 255, 87, 86, 84, 255, 97, 96, 95, 255, 106, 106, 104, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 75, 73, 255, 77, 76, 74, 255, 77, 76, 74, 255, 76, 75, 72, 255, 76, 75, 73, 255, 78, 78, 75, 255, 81, 80, 78, 255, 82, 81, 79, 255, 82, 81, 79, 255, 82, 81, 79, 255, 83, 82, 80, 255, 84, 83, 81, 255, 84, 83, 81, 255, 86, 85, 83, 255, 86, 85, 83, 255, 84, 83, 81, 255, 83, 82, 80, 255, 84, 83, 80, 255, 86, 85, 82, 255, 89, 88, 86, 255, 94, 94, 92, 255, 102, 102, 99, 255, 108, 107, 104, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 73, 72, 255, 75, 73, 72, 255, 76, 74, 72, 255, 77, 75, 74, 255, 77, 76, 74, 255, 78, 77, 75, 255, 79, 78, 76, 255, 80, 79, 76, 255, 81, 80, 78, 255, 81, 80, 78, 255, 83, 81, 79, 255, 84, 83, 80, 255, 84, 83, 81, 255, 85, 84, 81, 255, 86, 85, 82, 255, 87, 86, 84, 255, 87, 87, 84, 255, 87, 86, 84, 255, 86, 85, 83, 255, 86, 85, 83, 255, 86, 86, 83, 255, 88, 87, 85, 255, 88, 88, 85, 255, 88, 88, 86, 255, 90, 90, 88, 255, 96, 96, 94, 255, 104, 104, 102, 255, 104, 104, 101, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 73, 72, 255, 75, 73, 72, 255, 76, 74, 73, 255, 76, 74, 73, 255, 77, 75, 74, 255, 77, 75, 74, 255, 77, 76, 74, 255, 78, 77, 75, 255, 79, 78, 76, 255, 80, 79, 77, 255, 81, 80, 78, 255, 82, 81, 79, 255, 83, 82, 80, 255, 85, 84, 81, 255, 87, 86, 83, 255, 86, 86, 83, 255, 84, 84, 81, 255, 84, 83, 80, 255, 82, 81, 79, 255, 82, 81, 79, 255, 84, 83, 81, 255, 85, 85, 82, 255, 86, 85, 82, 255, 86, 85, 83, 255, 90, 89, 87, 255, 96, 96, 94, 255, 105, 105, 103, 255, 103, 103, 100, 255, 77, 76, 73, 255, 55, 52, 49, 255, 60, 57, 54, 255, 84, 81, 78, 255, 104, 102, 99, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 77, 76, 255, 79, 77, 76, 255, 80, 78, 77, 255, 81, 79, 78, 255, 80, 79, 78, 255, 79, 78, 76, 255, 79, 78, 76, 255, 80, 79, 77, 255, 80, 79, 77, 255, 79, 78, 76, 255, 79, 78, 76, 255, 79, 78, 76, 255, 80, 79, 77, 255, 81, 80, 78, 255, 84, 83, 80, 255, 87, 86, 83, 255, 87, 86, 83, 255, 86, 86, 83, 255, 85, 84, 81, 255, 83, 82, 79, 255, 82, 81, 79, 255, 83, 82, 79, 255, 84, 83, 80, 255, 84, 84, 81, 255, 88, 88, 84, 255, 97, 97, 94, 255, 106, 106, 104, 255, 101, 101, 99, 255, 72, 71, 67, 255, 51, 48, 45, 255, 44, 40, 37, 255, 44, 40, 37, 255, 45, 41, 37, 255, 46, 42, 38, 255, 52, 49, 45, 255, 71, 68, 63, 255, 98, 96, 92, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 81, 80, 255, 81, 80, 78, 255, 81, 79, 78, 255, 81, 79, 78, 255, 83, 81, 80, 255, 84, 83, 82, 255, 82, 81, 79, 255, 81, 79, 78, 255, 81, 80, 78, 255, 83, 81, 79, 255, 84, 83, 81, 255, 81, 80, 78, 255, 78, 77, 75, 255, 78, 77, 75, 255, 79, 77, 76, 255, 79, 78, 76, 255, 80, 79, 77, 255, 81, 80, 78, 255, 81, 80, 78, 255, 79, 78, 76, 255, 79, 77, 75, 255, 79, 78, 76, 255, 79, 78, 76, 255, 80, 79, 77, 255, 86, 85, 82, 255, 97, 97, 93, 255, 108, 108, 103, 255, 100, 101, 96, 255, 68, 68, 65, 255, 47, 45, 43, 255, 43, 40, 37, 255, 44, 40, 37, 255, 45, 41, 38, 255, 46, 43, 39, 255, 47, 44, 40, 255, 47, 44, 40, 255, 47, 44, 40, 255, 47, 44, 40, 255, 46, 43, 39, 255, 63, 61, 57, 255, 87, 85, 80, 255, 105, 104, 99, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 101, 100, 255, 93, 91, 90, 255, 82, 81, 80, 255, 78, 76, 75, 255, 77, 76, 75, 255, 77, 75, 74, 255, 76, 75, 73, 255, 78, 77, 75, 255, 79, 78, 76, 255, 78, 77, 75, 255, 78, 77, 75, 255, 79, 78, 76, 255, 76, 75, 73, 255, 74, 73, 71, 255, 74, 72, 70, 255, 74, 72, 70, 255, 75, 74, 72, 255, 75, 74, 72, 255, 76, 75, 73, 255, 79, 78, 76, 255, 81, 80, 78, 255, 80, 78, 76, 255, 78, 76, 74, 255, 79, 77, 75, 255, 84, 82, 80, 255, 95, 94, 91, 255, 109, 108, 105, 255, 99, 99, 95, 255, 67, 66, 64, 255, 42, 41, 39, 255, 41, 40, 38, 255, 40, 39, 37, 255, 40, 38, 37, 255, 40, 38, 36, 255, 42, 39, 37, 255, 44, 40, 37, 255, 45, 42, 38, 255, 46, 43, 39, 255, 46, 44, 40, 255, 46, 43, 39, 255, 45, 42, 39, 255, 45, 43, 39, 255, 46, 44, 39, 255, 54, 52, 47, 255, 73, 70, 65, 255, 99, 97, 93, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 40, 37, 255, 60, 58, 55, 255, 84, 82, 80, 255, 107, 105, 103, 255, 108, 106, 104, 255, 94, 93, 91, 255, 83, 82, 80, 255, 79, 78, 76, 255, 77, 76, 74, 255, 79, 77, 75, 255, 81, 80, 78, 255, 84, 83, 81, 255, 86, 85, 83, 255, 87, 86, 84, 255, 87, 85, 83, 255, 83, 82, 80, 255, 77, 76, 74, 255, 74, 72, 71, 255, 73, 71, 70, 255, 74, 72, 70, 255, 76, 75, 73, 255, 79, 77, 75, 255, 78, 77, 75, 255, 80, 78, 76, 255, 87, 86, 84, 255, 98, 98, 94, 255, 109, 108, 104, 255, 95, 95, 91, 255, 65, 64, 62, 255, 42, 41, 39, 255, 41, 40, 38, 255, 40, 39, 37, 255, 39, 38, 36, 255, 39, 37, 36, 255, 38, 36, 35, 255, 39, 37, 36, 255, 39, 38, 36, 255, 40, 39, 37, 255, 42, 41, 38, 255, 44, 42, 39, 255, 46, 44, 39, 255, 45, 43, 38, 255, 44, 42, 38, 255, 44, 41, 38, 255, 44, 41, 38, 255, 43, 41, 38, 255, 44, 41, 39, 255, 44, 41, 39, 255, 62, 60, 58, 255, 88, 86, 83, 255, 106, 105, 102, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 42, 38, 255, 44, 40, 37, 255, 43, 39, 36, 255, 42, 38, 35, 255, 42, 38, 35, 255, 50, 47, 45, 255, 70, 68, 66, 255, 100, 98, 96, 255, 110, 108, 105, 255, 102, 100, 98, 255, 92, 90, 88, 255, 82, 80, 78, 255, 78, 77, 75, 255, 82, 80, 78, 255, 83, 82, 80, 255, 82, 81, 79, 255, 82, 80, 78, 255, 78, 76, 74, 255, 75, 73, 72, 255, 75, 73, 71, 255, 75, 74, 72, 255, 78, 77, 75, 255, 80, 80, 77, 255, 83, 82, 79, 255, 89, 88, 85, 255, 101, 100, 96, 255, 109, 108, 104, 255, 91, 91, 87, 255, 63, 63, 60, 255, 46, 45, 42, 255, 45, 44, 40, 255, 42, 40, 38, 255, 40, 38, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 40, 38, 36, 255, 40, 39, 37, 255, 41, 40, 38, 255, 41, 41, 38, 255, 43, 41, 39, 255, 43, 41, 38, 255, 42, 39, 37, 255, 40, 38, 36, 255, 39, 38, 36, 255, 39, 38, 37, 255, 40, 38, 37, 255, 39, 38, 38, 255, 39, 38, 38, 255, 40, 38, 38, 255, 53, 51, 50, 255, 72, 70, 68, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 39, 39, 255, 43, 40, 38, 255, 44, 41, 38, 255, 45, 42, 37, 255, 45, 41, 37, 255, 44, 40, 37, 255, 42, 40, 37, 255, 40, 39, 37, 255, 39, 40, 37, 255, 39, 40, 37, 255, 40, 40, 38, 255, 61, 60, 58, 255, 87, 85, 83, 255, 107, 105, 103, 255, 107, 105, 102, 255, 95, 93, 91, 255, 84, 82, 80, 255, 80, 79, 77, 255, 78, 75, 74, 255, 77, 74, 73, 255, 77, 74, 73, 255, 77, 74, 73, 255, 77, 74, 73, 255, 77, 75, 74, 255, 82, 80, 78, 255, 91, 90, 87, 255, 103, 102, 99, 255, 108, 107, 103, 255, 85, 84, 81, 255, 59, 59, 55, 255, 45, 45, 41, 255, 45, 44, 40, 255, 44, 43, 39, 255, 43, 40, 37, 255, 41, 37, 35, 255, 41, 36, 34, 255, 40, 37, 35, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 40, 38, 37, 255, 41, 40, 38, 255, 41, 40, 38, 255, 41, 40, 38, 255, 42, 40, 38, 255, 42, 41, 39, 255, 41, 40, 38, 255, 40, 39, 38, 255, 39, 38, 38, 255, 38, 37, 37, 255, 38, 37, 37, 255, 38, 37, 37, 255, 38, 37, 37, 255, 38, 37, 37, 255, 38, 37, 37, 255, 80, 81, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 38, 38, 255, 40, 38, 37, 255, 40, 38, 37, 255, 40, 37, 37, 255, 40, 37, 37, 255, 41, 38, 37, 255, 42, 39, 37, 255, 42, 40, 38, 255, 41, 40, 38, 255, 40, 40, 38, 255, 41, 40, 38, 255, 40, 40, 38, 255, 40, 40, 38, 255, 42, 41, 39, 255, 43, 42, 39, 255, 52, 51, 48, 255, 71, 70, 68, 255, 102, 100, 97, 255, 110, 108, 106, 255, 99, 97, 95, 255, 90, 88, 86, 255, 83, 81, 79, 255, 82, 80, 78, 255, 82, 80, 79, 255, 84, 82, 80, 255, 93, 91, 89, 255, 106, 104, 101, 255, 105, 104, 101, 255, 78, 77, 74, 255, 56, 55, 52, 255, 46, 45, 42, 255, 46, 45, 41, 255, 45, 44, 41, 255, 45, 44, 41, 255, 44, 42, 39, 255, 43, 40, 37, 255, 41, 37, 35, 255, 40, 37, 35, 255, 39, 37, 35, 255, 39, 37, 36, 255, 39, 37, 36, 255, 40, 38, 36, 255, 41, 39, 38, 255, 42, 41, 39, 255, 43, 42, 39, 255, 42, 42, 40, 255, 42, 42, 40, 255, 41, 41, 39, 255, 41, 40, 40, 255, 40, 39, 39, 255, 39, 38, 39, 255, 38, 38, 38, 255, 38, 38, 38, 255, 38, 37, 37, 255, 80, 81, 80, 255, 80, 81, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 38, 37, 255, 40, 37, 37, 255, 40, 37, 37, 255, 40, 37, 37, 255, 39, 37, 37, 255, 39, 37, 37, 255, 38, 37, 37, 255, 38, 37, 37, 255, 37, 37, 37, 255, 37, 38, 37, 255, 38, 38, 37, 255, 38, 39, 37, 255, 38, 39, 37, 255, 39, 40, 37, 255, 40, 40, 38, 255, 41, 40, 38, 255, 41, 40, 38, 255, 39, 39, 38, 255, 39, 39, 39, 255, 40, 40, 40, 255, 63, 62, 61, 255, 89, 88, 85, 255, 107, 106, 103, 255, 106, 105, 102, 255, 97, 96, 93, 255, 97, 96, 93, 255, 107, 106, 102, 255, 103, 102, 98, 255, 72, 71, 69, 255, 51, 50, 48, 255, 46, 44, 43, 255, 45, 44, 42, 255, 45, 43, 42, 255, 44, 43, 41, 255, 44, 43, 40, 255, 44, 42, 38, 255, 43, 40, 37, 255, 41, 39, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 38, 36, 255, 40, 39, 37, 255, 41, 41, 38, 255, 42, 42, 39, 255, 42, 42, 40, 255, 42, 41, 40, 255, 41, 40, 40, 255, 40, 39, 40, 255, 39, 38, 39, 255, 39, 38, 39, 255, 38, 38, 38, 255, 38, 38, 38, 255, 80, 81, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 37, 38, 255, 38, 37, 38, 255, 38, 37, 37, 255, 38, 37, 37, 255, 39, 37, 37, 255, 39, 37, 37, 255, 38, 37, 37, 255, 38, 37, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 37, 38, 37, 255, 38, 38, 37, 255, 38, 39, 37, 255, 38, 38, 37, 255, 38, 38, 38, 255, 38, 38, 38, 255, 38, 38, 38, 255, 38, 38, 38, 255, 39, 39, 39, 255, 39, 39, 39, 255, 40, 41, 40, 255, 53, 53, 52, 255, 79, 78, 77, 255, 102, 102, 98, 255, 102, 102, 98, 255, 80, 78, 76, 255, 55, 55, 52, 255, 45, 45, 43, 255, 45, 44, 42, 255, 45, 44, 42, 255, 44, 43, 41, 255, 44, 43, 41, 255, 44, 42, 41, 255, 43, 41, 40, 255, 42, 40, 38, 255, 40, 39, 37, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 38, 36, 255, 40, 39, 37, 255, 42, 41, 39, 255, 44, 42, 40, 255, 44, 41, 40, 255, 43, 41, 41, 255, 43, 41, 41, 255, 42, 40, 41, 255, 40, 40, 40, 255, 39, 38, 39, 255, 80, 81, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 38, 38, 255, 38, 38, 38, 255, 38, 38, 38, 255, 38, 37, 38, 255, 38, 37, 38, 255, 38, 37, 38, 255, 38, 37, 37, 255, 38, 37, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 37, 38, 37, 255, 37, 38, 37, 255, 37, 38, 37, 255, 38, 38, 38, 255, 38, 38, 38, 255, 37, 38, 37, 255, 37, 38, 37, 255, 37, 38, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 38, 38, 38, 255, 38, 38, 38, 255, 38, 38, 38, 255, 39, 39, 39, 255, 47, 46, 46, 255, 69, 68, 67, 255, 101, 100, 97, 255, 106, 106, 102, 255, 98, 98, 94, 255, 98, 97, 94, 255, 105, 104, 101, 255, 106, 105, 102, 255, 91, 90, 87, 255, 66, 65, 63, 255, 45, 44, 42, 255, 43, 42, 40, 255, 43, 41, 40, 255, 43, 41, 40, 255, 42, 40, 39, 255, 41, 39, 38, 255, 40, 39, 37, 255, 39, 38, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 39, 37, 36, 255, 40, 38, 37, 255, 41, 39, 38, 255, 44, 41, 40, 255, 46, 43, 42, 255, 48, 44, 43, 255, 48, 44, 42, 255, 47, 43, 42, 255, 45, 42, 41, 255, 80, 81, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 255, 40, 39, 40, 255, 39, 38, 39, 255, 38, 38, 38, 255, 38, 37, 38, 255, 37, 37, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 38, 37, 38, 255, 38, 37, 38, 255, 38, 37, 38, 255, 38, 38, 38, 255, 38, 38, 38, 255, 38, 39, 38, 255, 39, 40, 39, 255, 39, 40, 39, 255, 38, 39, 38, 255, 37, 38, 37, 255, 37, 38, 37, 255, 37, 38, 37, 255, 37, 38, 37, 255, 37, 38, 37, 255, 38, 39, 38, 255, 53, 52, 52, 255, 76, 75, 74, 255, 104, 103, 100, 255, 106, 105, 102, 255, 96, 94, 92, 255, 87, 86, 83, 255, 85, 83, 81, 255, 84, 83, 80, 255, 83, 81, 79, 255, 87, 86, 84, 255, 96, 95, 92, 255, 110, 108, 105, 255, 103, 101, 99, 255, 73, 71, 69, 255, 53, 51, 50, 255, 41, 39, 38, 255, 40, 39, 37, 255, 40, 39, 37, 255, 40, 38, 37, 255, 39, 38, 36, 255, 39, 37, 36, 255, 39, 38, 36, 255, 40, 38, 37, 255, 41, 39, 38, 255, 42, 40, 39, 255, 43, 41, 40, 255, 44, 42, 41, 255, 45, 42, 41, 255, 46, 43, 42, 255, 48, 44, 42, 255, 80, 81, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 44, 44, 255, 44, 44, 44, 255, 44, 44, 44, 255, 44, 44, 44, 255, 43, 42, 43, 255, 42, 41, 42, 255, 40, 40, 40, 255, 38, 38, 38, 255, 37, 37, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 37, 37, 37, 255, 38, 37, 38, 255, 38, 38, 38, 255, 38, 37, 38, 255, 38, 38, 38, 255, 39, 39, 38, 255, 39, 40, 39, 255, 40, 40, 40, 255, 40, 40, 40, 255, 39, 40, 39, 255, 38, 39, 38, 255, 37, 39, 37, 255, 37, 39, 37, 255, 38, 39, 38, 255, 56, 56, 55, 255, 86, 85, 83, 255, 109, 108, 105, 255, 105, 103, 100, 255, 93, 91, 89, 255, 86, 85, 83, 255, 85, 83, 81, 255, 83, 81, 79, 255, 80, 78, 76, 255, 78, 76, 74, 255, 77, 75, 74, 255, 77, 75, 74, 255, 78, 77, 75, 255, 81, 80, 78, 255, 94, 92, 90, 255, 107, 105, 103, 255, 108, 106, 104, 255, 89, 87, 86, 255, 62, 60, 59, 255, 41, 39, 38, 255, 40, 39, 37, 255, 40, 39, 37, 255, 41, 39, 37, 255, 41, 40, 37, 255, 42, 40, 38, 255, 42, 41, 39, 255, 42, 42, 39, 255, 43, 42, 40, 255, 44, 42, 40, 255, 45, 42, 41, 255, 80, 81, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 72, 71, 255, 55, 56, 55, 255, 46, 46, 46, 255, 46, 47, 46, 255, 45, 46, 45, 255, 44, 44, 44, 255, 42, 42, 42, 255, 41, 41, 40, 255, 40, 41, 39, 255, 40, 40, 38, 255, 39, 39, 38, 255, 39, 39, 38, 255, 38, 38, 38, 255, 38, 38, 38, 255, 38, 38, 38, 255, 38, 38, 38, 255, 39, 39, 39, 255, 40, 41, 39, 255, 40, 42, 40, 255, 41, 42, 40, 255, 41, 42, 39, 255, 40, 42, 39, 255, 40, 41, 39, 255, 39, 40, 39, 255, 39, 40, 39, 255, 61, 60, 59, 255, 91, 90, 88, 255, 110, 109, 105, 255, 102, 101, 98, 255, 88, 87, 85, 255, 80, 78, 77, 255, 80, 78, 76, 255, 85, 84, 81, 255, 88, 87, 85, 255, 87, 86, 84, 255, 85, 84, 82, 255, 83, 81, 79, 255, 81, 80, 78, 255, 82, 80, 79, 255, 81, 79, 77, 255, 78, 77, 75, 255, 77, 75, 74, 255, 80, 79, 77, 255, 89, 87, 85, 255, 99, 97, 95, 255, 110, 108, 106, 255, 101, 99, 97, 255, 70, 69, 67, 255, 50, 50, 48, 255, 42, 40, 38, 255, 42, 40, 37, 255, 42, 40, 37, 255, 42, 40, 38, 255, 42, 41, 38, 255, 80, 81, 80, 255, 80, 81, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 107, 107, 103, 255, 92, 91, 88, 255, 66, 67, 65, 255, 45, 46, 44, 255, 42, 43, 42, 255, 41, 42, 40, 255, 40, 41, 39, 255, 40, 41, 39, 255, 40, 41, 39, 255, 40, 42, 39, 255, 40, 42, 39, 255, 40, 42, 40, 255, 40, 41, 40, 255, 40, 41, 40, 255, 40, 41, 39, 255, 40, 41, 38, 255, 40, 41, 39, 255, 40, 41, 39, 255, 41, 42, 39, 255, 41, 42, 39, 255, 41, 43, 40, 255, 41, 43, 41, 255, 64, 64, 62, 255, 96, 95, 92, 255, 110, 109, 105, 255, 99, 99, 95, 255, 88, 87, 84, 255, 80, 78, 76, 255, 77, 76, 74, 255, 80, 78, 76, 255, 82, 81, 79, 255, 85, 84, 82, 255, 89, 88, 85, 255, 89, 88, 85, 255, 87, 87, 84, 255, 85, 84, 81, 255, 83, 82, 80, 255, 83, 81, 79, 255, 81, 80, 78, 255, 81, 79, 77, 255, 80, 78, 77, 255, 79, 77, 76, 255, 78, 76, 75, 255, 80, 78, 76, 255, 85, 84, 82, 255, 96, 95, 93, 255, 107, 106, 105, 255, 106, 105, 103, 255, 84, 84, 82, 255, 60, 59, 57, 255, 42, 40, 38, 255, 80, 82, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 102, 102, 100, 255, 71, 72, 69, 255, 52, 53, 50, 255, 41, 43, 40, 255, 41, 43, 40, 255, 41, 43, 41, 255, 41, 44, 41, 255, 41, 44, 41, 255, 41, 43, 41, 255, 41, 43, 41, 255, 41, 42, 40, 255, 40, 42, 40, 255, 40, 41, 39, 255, 40, 41, 39, 255, 41, 41, 39, 255, 41, 42, 39, 255, 41, 42, 40, 255, 66, 66, 64, 255, 99, 99, 95, 255, 109, 109, 105, 255, 97, 97, 93, 255, 86, 86, 83, 255, 82, 81, 79, 255, 79, 78, 76, 255, 79, 78, 76, 255, 79, 78, 76, 255, 77, 75, 73, 255, 76, 74, 72, 255, 79, 77, 75, 255, 83, 81, 79, 255, 85, 84, 81, 255, 85, 84, 81, 255, 84, 83, 81, 255, 83, 82, 79, 255, 82, 81, 79, 255, 81, 80, 78, 255, 82, 81, 79, 255, 83, 82, 80, 255, 82, 80, 79, 255, 79, 78, 76, 255, 78, 77, 75, 255, 81, 80, 78, 255, 84, 83, 81, 255, 87, 86, 84, 255, 94, 94, 92, 255, 103, 103, 101, 255, 80, 82, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 107, 107, 105, 255, 88, 88, 86, 255, 63, 64, 61, 255, 41, 44, 41, 255, 41, 43, 41, 255, 41, 43, 41, 255, 41, 43, 41, 255, 41, 43, 41, 255, 41, 43, 41, 255, 41, 43, 41, 255, 41, 43, 41, 255, 41, 43, 40, 255, 45, 47, 44, 255, 69, 70, 67, 255, 102, 102, 98, 255, 108, 108, 104, 255, 97, 97, 93, 255, 87, 86, 83, 255, 83, 83, 80, 255, 82, 82, 79, 255, 82, 81, 78, 255, 81, 81, 78, 255, 80, 80, 77, 255, 78, 77, 75, 255, 75, 73, 72, 255, 74, 72, 70, 255, 75, 73, 72, 255, 77, 75, 74, 255, 79, 78, 76, 255, 83, 81, 79, 255, 85, 84, 81, 255, 85, 84, 82, 255, 84, 83, 80, 255, 83, 82, 79, 255, 83, 82, 79, 255, 83, 82, 79, 255, 82, 82, 80, 255, 82, 82, 79, 255, 82, 82, 79, 255, 83, 83, 80, 255, 84, 83, 81, 255, 84, 83, 81, 255, 80, 82, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 98, 98, 94, 255, 69, 70, 67, 255, 48, 50, 48, 255, 41, 43, 41, 255, 41, 43, 41, 255, 41, 43, 41, 255, 41, 43, 41, 255, 50, 52, 49, 255, 73, 73, 71, 255, 106, 105, 102, 255, 108, 107, 103, 255, 95, 94, 91, 255, 86, 86, 83, 255, 85, 85, 82, 255, 84, 83, 80, 255, 82, 82, 79, 255, 81, 81, 78, 255, 81, 81, 78, 255, 83, 82, 79, 255, 80, 80, 77, 255, 77, 76, 74, 255, 75, 74, 72, 255, 74, 73, 71, 255, 76, 74, 73, 255, 79, 77, 76, 255, 81, 80, 78, 255, 84, 83, 80, 255, 84, 83, 81, 255, 83, 82, 80, 255, 82, 81, 79, 255, 81, 80, 78, 255, 80, 79, 77, 255, 80, 79, 77, 255, 80, 80, 77, 255, 82, 82, 79, 255, 83, 83, 80, 255, 83, 82, 80, 255, 80, 82, 80, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 105, 105, 101, 255, 85, 85, 82, 255, 61, 62, 59, 255, 54, 55, 53, 255, 80, 81, 78, 255, 108, 107, 104, 255, 106, 105, 102, 255, 92, 91, 88, 255, 84, 83, 80, 255, 83, 81, 79, 255, 83, 81, 79, 255, 82, 81, 79, 255, 82, 81, 79, 255, 81, 81, 78, 255, 81, 81, 78, 255, 80, 80, 77, 255, 79, 78, 76, 255, 78, 77, 75, 255, 76, 75, 73, 255, 74, 73, 71, 255, 75, 74, 72, 255, 77, 76, 74, 255, 79, 78, 76, 255, 81, 80, 78, 255, 83, 83, 80, 255, 84, 83, 80, 255, 82, 82, 79, 255, 81, 80, 78, 255, 81, 81, 78, 255, 80, 79, 77, 255, 79, 78, 75, 255, 80, 79, 77, 255, 83, 82, 80, 255, 81, 82, 81, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 106, 106, 101, 255, 105, 104, 100, 255, 95, 94, 91, 255, 86, 85, 83, 255, 84, 82, 80, 255, 83, 82, 80, 255, 83, 82, 80, 255, 83, 81, 79, 255, 82, 81, 79, 255, 82, 80, 79, 255, 81, 80, 78, 255, 81, 80, 78, 255, 81, 80, 78, 255, 81, 80, 78, 255, 81, 80, 78, 255, 80, 79, 77, 255, 79, 78, 76, 255, 78, 77, 75, 255, 78, 76, 75, 255, 77, 76, 74, 255, 77, 75, 73, 255, 75, 74, 72, 255, 77, 76, 74, 255, 79, 78, 76, 255, 79, 78, 76, 255, 79, 78, 76, 255, 79, 78, 76, 255, 81, 82, 81, 255, 81, 82, 81, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 109, 108, 105, 255, 103, 102, 98, 255, 93, 92, 89, 255, 86, 85, 83, 255, 84, 83, 81, 255, 83, 82, 80, 255, 82, 81, 80, 255, 82, 81, 79, 255, 81, 80, 78, 255, 79, 78, 76, 255, 77, 75, 73, 255, 79, 78, 76, 255, 80, 79, 77, 255, 79, 78, 76, 255, 79, 78, 76, 255, 80, 79, 77, 255, 81, 79, 77, 255, 80, 79, 77, 255, 79, 77, 75, 255, 76, 74, 72, 255, 76, 74, 73, 255, 79, 78, 76, 255, 81, 80, 78, 255, 81, 82, 81, 255, 81, 82, 81, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 108, 107, 104, 255, 97, 97, 95, 255, 88, 88, 86, 255, 84, 83, 82, 255, 82, 81, 80, 255, 82, 82, 80, 255, 82, 81, 80, 255, 81, 81, 79, 255, 81, 80, 78, 255, 81, 80, 78, 255, 80, 79, 78, 255, 81, 79, 77, 255, 82, 80, 78, 255, 82, 80, 78, 255, 81, 80, 78, 255, 79, 77, 76, 255, 77, 75, 74, 255, 77, 76, 74, 255, 81, 82, 81, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 108, 108, 106, 255, 102, 101, 100, 255, 94, 93, 92, 255, 88, 87, 86, 255, 86, 85, 83, 255, 83, 82, 81, 255, 81, 80, 78, 255, 78, 76, 75, 255, 76, 74, 73, 255, 77, 76, 74, 255, 79, 78, 76, 255, 79, 77, 76, 255, 79, 77, 75, 255, 78, 76, 74, 255, 81, 82, 81, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 107, 106, 105, 255, 95, 94, 93, 255, 85, 84, 82, 255, 79, 78, 76, 255, 76, 74, 73, 255, 76, 74, 72, 255, 76, 74, 73, 255, 78, 76, 75, 255, 79, 77, 75, 255, 81, 82, 81, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 111, 109, 106, 255, 101, 99, 97, 255, 91, 89, 87, 255, 85, 83, 81, 255, 83, 81, 80, 255, 81, 82, 81, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 50, 51, 50, 255, 81, 82, 81, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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": "RGBA8",
@@ -23,7 +23,7 @@ data = {
}
[sub_resource type="ImageTexture" id="ImageTexture_pnqeh"]
-image = SubResource("Image_1yb16")
+image = SubResource("Image_dp7fk")
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_v1hcd"]
data = PackedVector3Array(-2, 0.049999997, 2, 2, 0.049999997, 2, -2, -0.049999997, 2, 2, 0.049999997, 2, 2, -0.049999997, 2, -2, -0.049999997, 2, 2, 0.049999997, -2, -2, 0.049999997, -2, 2, -0.049999997, -2, -2, 0.049999997, -2, -2, -0.049999997, -2, 2, -0.049999997, -2, 2, 0.049999997, 2, 2, 0.049999997, -2, 2, -0.049999997, 2, 2, 0.049999997, -2, 2, -0.049999997, -2, 2, -0.049999997, 2, -2, 0.049999997, -2, -2, 0.049999997, 2, -2, -0.049999997, -2, -2, 0.049999997, 2, -2, -0.049999997, 2, -2, -0.049999997, -2, 2, 0.049999997, 2, -2, 0.049999997, 2, 2, 0.049999997, -2, -2, 0.049999997, 2, -2, 0.049999997, -2, 2, 0.049999997, -2, -2, -0.049999997, 2, 2, -0.049999997, 2, -2, -0.049999997, -2, 2, -0.049999997, 2, 2, -0.049999997, -2, -2, -0.049999997, -2)
@@ -37,7 +37,7 @@ roughness_texture = ExtResource("2_1yb16")
material = SubResource("StandardMaterial3D_l4bl1")
size = Vector3(4, 0.1, 4)
-[sub_resource type="Image" id="Image_qvl64"]
+[sub_resource type="Image" id="Image_1yb16"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 93, 0, 255, 16, 92, 0, 255, 15, 89, 0, 255, 14, 84, 0, 255, 10, 71, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 95, 0, 255, 17, 94, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 90, 0, 255, 14, 86, 0, 255, 12, 76, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 93, 0, 255, 16, 93, 0, 255, 17, 94, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 15, 90, 0, 255, 15, 86, 0, 255, 13, 80, 0, 255, 9, 68, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 95, 0, 255, 17, 94, 0, 255, 16, 93, 0, 255, 16, 94, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 15, 89, 0, 255, 15, 89, 0, 255, 15, 89, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 14, 84, 0, 255, 11, 74, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 95, 0, 255, 17, 94, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 15, 90, 0, 255, 15, 90, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 15, 90, 0, 255, 15, 88, 0, 255, 14, 85, 0, 255, 13, 81, 0, 255, 9, 68, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 16, 90, 0, 255, 16, 90, 0, 255, 15, 90, 0, 255, 15, 89, 0, 255, 15, 89, 0, 255, 15, 89, 0, 255, 16, 90, 0, 255, 16, 90, 0, 255, 15, 90, 0, 255, 15, 89, 0, 255, 15, 89, 0, 255, 15, 88, 0, 255, 15, 87, 0, 255, 13, 83, 0, 255, 11, 75, 0, 255, 8, 62, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 94, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 15, 89, 0, 255, 15, 90, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 16, 90, 0, 255, 16, 90, 0, 255, 15, 88, 0, 255, 14, 84, 0, 255, 11, 75, 0, 255, 7, 59, 0, 255, 3, 36, 0, 255, 1, 21, 0, 255, 2, 24, 0, 255, 3, 39, 0, 255, 7, 59, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 15, 90, 0, 255, 15, 89, 0, 255, 15, 90, 0, 255, 16, 90, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 15, 89, 0, 255, 14, 84, 0, 255, 11, 74, 0, 255, 7, 57, 0, 255, 3, 33, 0, 255, 1, 19, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 16, 0, 255, 1, 20, 0, 255, 2, 31, 0, 255, 6, 51, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 91, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 16, 92, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 90, 0, 255, 14, 85, 0, 255, 11, 73, 0, 255, 6, 55, 0, 255, 2, 31, 0, 255, 1, 17, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 16, 0, 255, 1, 17, 0, 255, 1, 17, 0, 255, 1, 17, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 2, 27, 0, 255, 4, 42, 0, 255, 8, 61, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 79, 0, 255, 15, 87, 0, 255, 16, 91, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 94, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 91, 0, 255, 14, 86, 0, 255, 11, 72, 0, 255, 6, 53, 0, 255, 2, 29, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 16, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 17, 0, 255, 1, 21, 0, 255, 2, 32, 0, 255, 6, 53, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 15, 0, 255, 2, 25, 0, 255, 3, 40, 0, 255, 8, 61, 0, 255, 12, 76, 0, 255, 15, 86, 0, 255, 16, 91, 0, 255, 16, 93, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 15, 89, 0, 255, 16, 89, 0, 255, 16, 91, 0, 255, 17, 94, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 16, 90, 0, 255, 14, 84, 0, 255, 10, 69, 0, 255, 5, 49, 0, 255, 2, 28, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 16, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 2, 26, 0, 255, 4, 43, 0, 255, 8, 62, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 18, 0, 255, 2, 31, 0, 255, 6, 52, 0, 255, 10, 69, 0, 255, 13, 82, 0, 255, 15, 88, 0, 255, 16, 92, 0, 255, 17, 93, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 16, 91, 0, 255, 15, 89, 0, 255, 14, 83, 0, 255, 9, 68, 0, 255, 5, 46, 0, 255, 2, 28, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 20, 0, 255, 2, 32, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 2, 25, 0, 255, 4, 42, 0, 255, 8, 63, 0, 255, 12, 77, 0, 255, 15, 86, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 17, 92, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 16, 91, 0, 255, 15, 88, 0, 255, 13, 81, 0, 255, 8, 65, 0, 255, 4, 41, 0, 255, 2, 25, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 4, 47, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 20, 0, 255, 2, 32, 0, 255, 6, 54, 0, 255, 11, 72, 0, 255, 14, 84, 0, 255, 15, 88, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 15, 86, 0, 255, 12, 77, 0, 255, 8, 61, 0, 255, 3, 36, 0, 255, 1, 23, 0, 255, 1, 17, 0, 255, 1, 17, 0, 255, 1, 17, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 4, 48, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 2, 27, 0, 255, 4, 44, 0, 255, 8, 63, 0, 255, 12, 77, 0, 255, 14, 84, 0, 255, 14, 84, 0, 255, 11, 74, 0, 255, 7, 57, 0, 255, 2, 33, 0, 255, 1, 20, 0, 255, 1, 17, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 13, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 22, 0, 255, 3, 37, 0, 255, 7, 58, 0, 255, 7, 59, 0, 255, 3, 38, 0, 255, 1, 23, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 16, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 18, 0, 255, 2, 31, 0, 255, 6, 55, 0, 255, 10, 72, 0, 255, 13, 81, 0, 255, 13, 81, 0, 255, 11, 75, 0, 255, 8, 63, 0, 255, 4, 46, 0, 255, 2, 29, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 16, 0, 255, 1, 17, 0, 255, 1, 17, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 15, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 21, 0, 255, 3, 35, 0, 255, 7, 59, 0, 255, 11, 75, 0, 255, 14, 85, 0, 255, 15, 89, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 90, 0, 255, 15, 86, 0, 255, 11, 73, 0, 255, 6, 56, 0, 255, 2, 32, 0, 255, 1, 20, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 17, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 12, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 23, 0, 255, 4, 41, 0, 255, 8, 65, 0, 255, 13, 81, 0, 255, 15, 87, 0, 255, 16, 89, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 16, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 92, 0, 255, 15, 87, 0, 255, 12, 78, 0, 255, 8, 64, 0, 255, 4, 43, 0, 255, 2, 26, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 16, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 33, 0, 255, 1, 23, 0, 255, 1, 18, 0, 255, 1, 18, 0, 255, 1, 18, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 13, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 2, 25, 0, 255, 4, 45, 0, 255, 9, 67, 0, 255, 14, 83, 0, 255, 16, 90, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 16, 91, 0, 255, 15, 89, 0, 255, 16, 89, 0, 255, 16, 90, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 16, 92, 0, 255, 16, 89, 0, 255, 14, 84, 0, 255, 10, 71, 0, 255, 6, 54, 0, 255, 2, 31, 0, 255, 1, 20, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 4, 48, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 8, 64, 0, 255, 4, 47, 0, 255, 2, 30, 0, 255, 1, 17, 0, 255, 1, 16, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 14, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 2, 28, 0, 255, 5, 49, 0, 255, 10, 69, 0, 255, 14, 84, 0, 255, 16, 90, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 92, 0, 255, 16, 90, 0, 255, 15, 89, 0, 255, 15, 89, 0, 255, 15, 90, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 91, 0, 255, 14, 86, 0, 255, 11, 76, 0, 255, 7, 61, 0, 255, 3, 41, 0, 255, 2, 25, 0, 255, 1, 14, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 6, 56, 0, 255, 2, 32, 0, 255, 1, 21, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 1, 15, 0, 255, 2, 29, 0, 255, 6, 53, 0, 255, 10, 72, 0, 255, 14, 86, 0, 255, 16, 91, 0, 255, 16, 93, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 15, 90, 0, 255, 14, 86, 0, 255, 12, 79, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 8, 63, 0, 255, 4, 44, 0, 255, 2, 27, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 18, 0, 255, 2, 31, 0, 255, 6, 56, 0, 255, 11, 74, 0, 255, 14, 85, 0, 255, 15, 90, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 94, 0, 255, 17, 94, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 6, 52, 0, 255, 2, 31, 0, 255, 1, 20, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 16, 0, 255, 1, 21, 0, 255, 2, 33, 0, 255, 7, 60, 0, 255, 12, 78, 0, 255, 15, 87, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 94, 0, 255, 17, 94, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 94, 0, 255, 16, 92, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 94, 0, 255, 16, 94, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 7, 61, 0, 255, 4, 41, 0, 255, 2, 26, 0, 255, 1, 23, 0, 255, 3, 38, 0, 255, 8, 63, 0, 255, 13, 80, 0, 255, 15, 88, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 94, 0, 255, 16, 94, 0, 255, 16, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 95, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 16, 93, 0, 255, 4, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 8, 63, 0, 255, 12, 77, 0, 255, 14, 86, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 95, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 5, 48, 0, 255, 5, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 9, 68, 0, 255, 13, 82, 0, 255, 15, 87, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 16, 91, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 17, 94, 0, 255, 17, 95, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 16, 93, 0, 255, 5, 48, 0, 255, 5, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 11, 74, 0, 255, 14, 85, 0, 255, 15, 89, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 93, 0, 255, 16, 92, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 5, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 10, 69, 0, 255, 13, 82, 0, 255, 15, 87, 0, 255, 15, 89, 0, 255, 16, 90, 0, 255, 16, 92, 0, 255, 16, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 5, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 12, 77, 0, 255, 15, 86, 0, 255, 16, 91, 0, 255, 17, 93, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 94, 0, 255, 17, 93, 0, 255, 17, 93, 0, 255, 5, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 10, 71, 0, 255, 14, 84, 0, 255, 15, 88, 0, 255, 16, 90, 0, 255, 16, 91, 0, 255, 5, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 2, 28, 0, 255, 5, 48, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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": "RGBA8",
@@ -47,7 +47,7 @@ data = {
}
[sub_resource type="ImageTexture" id="ImageTexture_fsbku"]
-image = SubResource("Image_qvl64")
+image = SubResource("Image_1yb16")
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_lw528"]
data = PackedVector3Array(-2, 0.049999997, 2, 2, 0.049999997, 2, -2, -0.049999997, 2, 2, 0.049999997, 2, 2, -0.049999997, 2, -2, -0.049999997, 2, 2, 0.049999997, -2, -2, 0.049999997, -2, 2, -0.049999997, -2, -2, 0.049999997, -2, -2, -0.049999997, -2, 2, -0.049999997, -2, 2, 0.049999997, 2, 2, 0.049999997, -2, 2, -0.049999997, 2, 2, 0.049999997, -2, 2, -0.049999997, -2, 2, -0.049999997, 2, -2, 0.049999997, -2, -2, 0.049999997, 2, -2, -0.049999997, -2, -2, 0.049999997, 2, -2, -0.049999997, 2, -2, -0.049999997, -2, 2, 0.049999997, 2, -2, 0.049999997, 2, 2, 0.049999997, -2, -2, 0.049999997, 2, -2, 0.049999997, -2, 2, 0.049999997, -2, -2, -0.049999997, 2, 2, -0.049999997, 2, -2, -0.049999997, -2, 2, -0.049999997, 2, 2, -0.049999997, -2, -2, -0.049999997, -2)
@@ -61,7 +61,7 @@ roughness_texture = ExtResource("2_1yb16")
material = SubResource("StandardMaterial3D_lw528")
size = Vector3(4, 0.1, 4)
-[sub_resource type="Image" id="Image_eijhe"]
+[sub_resource type="Image" id="Image_pnqeh"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 50, 0, 255, 145, 49, 0, 255, 141, 47, 0, 255, 133, 44, 0, 255, 113, 36, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 50, 0, 255, 148, 50, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 144, 48, 0, 255, 142, 48, 0, 255, 135, 45, 0, 255, 121, 40, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 49, 0, 255, 147, 50, 0, 255, 147, 50, 0, 255, 147, 50, 0, 255, 146, 50, 0, 255, 146, 49, 0, 255, 145, 49, 0, 255, 144, 48, 0, 255, 143, 48, 0, 255, 143, 48, 0, 255, 141, 47, 0, 255, 136, 46, 0, 255, 127, 42, 0, 255, 108, 34, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 50, 0, 255, 148, 50, 0, 255, 147, 50, 0, 255, 147, 50, 0, 255, 147, 50, 0, 255, 146, 49, 0, 255, 145, 49, 0, 255, 144, 49, 0, 255, 143, 48, 0, 255, 142, 48, 0, 255, 139, 47, 0, 255, 139, 47, 0, 255, 141, 47, 0, 255, 143, 48, 0, 255, 144, 48, 0, 255, 141, 47, 0, 255, 132, 44, 0, 255, 117, 38, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 50, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 149, 50, 0, 255, 148, 50, 0, 255, 147, 50, 0, 255, 145, 49, 0, 255, 144, 48, 0, 255, 144, 48, 0, 255, 144, 48, 0, 255, 144, 48, 0, 255, 143, 48, 0, 255, 143, 48, 0, 255, 141, 47, 0, 255, 141, 47, 0, 255, 143, 48, 0, 255, 144, 48, 0, 255, 143, 48, 0, 255, 141, 48, 0, 255, 138, 46, 0, 255, 134, 45, 0, 255, 127, 42, 0, 255, 108, 35, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 50, 0, 255, 149, 50, 0, 255, 149, 50, 0, 255, 148, 49, 0, 255, 148, 49, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 145, 49, 0, 255, 144, 48, 0, 255, 144, 48, 0, 255, 143, 48, 0, 255, 142, 48, 0, 255, 142, 48, 0, 255, 141, 48, 0, 255, 140, 47, 0, 255, 140, 47, 0, 255, 140, 47, 0, 255, 141, 48, 0, 255, 142, 48, 0, 255, 141, 48, 0, 255, 140, 47, 0, 255, 139, 47, 0, 255, 138, 47, 0, 255, 136, 46, 0, 255, 130, 44, 0, 255, 118, 39, 0, 255, 99, 31, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 50, 0, 255, 149, 50, 0, 255, 149, 50, 0, 255, 149, 49, 0, 255, 148, 49, 0, 255, 148, 49, 0, 255, 148, 49, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 146, 49, 0, 255, 145, 49, 0, 255, 144, 48, 0, 255, 143, 48, 0, 255, 142, 48, 0, 255, 141, 47, 0, 255, 141, 47, 0, 255, 142, 48, 0, 255, 143, 48, 0, 255, 144, 49, 0, 255, 144, 49, 0, 255, 143, 48, 0, 255, 142, 48, 0, 255, 142, 48, 0, 255, 141, 48, 0, 255, 138, 46, 0, 255, 131, 44, 0, 255, 118, 39, 0, 255, 95, 30, 0, 255, 61, 16, 0, 255, 41, 7, 0, 255, 45, 9, 0, 255, 68, 18, 0, 255, 97, 29, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 49, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 145, 49, 0, 255, 146, 49, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 146, 49, 0, 255, 146, 49, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 146, 49, 0, 255, 143, 48, 0, 255, 141, 47, 0, 255, 140, 47, 0, 255, 141, 48, 0, 255, 142, 48, 0, 255, 144, 49, 0, 255, 144, 49, 0, 255, 144, 49, 0, 255, 143, 48, 0, 255, 143, 48, 0, 255, 139, 47, 0, 255, 132, 44, 0, 255, 116, 38, 0, 255, 92, 28, 0, 255, 56, 14, 0, 255, 38, 6, 0, 255, 32, 4, 0, 255, 31, 4, 0, 255, 32, 4, 0, 255, 33, 5, 0, 255, 39, 6, 0, 255, 55, 13, 0, 255, 85, 25, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 48, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 144, 48, 0, 255, 143, 48, 0, 255, 144, 48, 0, 255, 146, 49, 0, 255, 145, 49, 0, 255, 144, 48, 0, 255, 143, 48, 0, 255, 146, 49, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 142, 48, 0, 255, 133, 45, 0, 255, 115, 38, 0, 255, 88, 27, 0, 255, 52, 13, 0, 255, 34, 5, 0, 255, 31, 4, 0, 255, 31, 4, 0, 255, 32, 5, 0, 255, 33, 5, 0, 255, 34, 5, 0, 255, 34, 5, 0, 255, 34, 5, 0, 255, 34, 5, 0, 255, 33, 5, 0, 255, 48, 10, 0, 255, 71, 19, 0, 255, 100, 31, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 41, 0, 255, 137, 46, 0, 255, 144, 48, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 149, 50, 0, 255, 149, 50, 0, 255, 148, 50, 0, 255, 147, 49, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 147, 49, 0, 255, 149, 50, 0, 255, 150, 50, 0, 255, 150, 50, 0, 255, 150, 50, 0, 255, 150, 50, 0, 255, 150, 50, 0, 255, 149, 50, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 147, 49, 0, 255, 148, 50, 0, 255, 147, 49, 0, 255, 144, 48, 0, 255, 136, 45, 0, 255, 115, 37, 0, 255, 86, 26, 0, 255, 51, 12, 0, 255, 30, 5, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 29, 4, 0, 255, 31, 4, 0, 255, 32, 5, 0, 255, 33, 5, 0, 255, 34, 5, 0, 255, 33, 5, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 33, 5, 0, 255, 40, 7, 0, 255, 57, 13, 0, 255, 87, 26, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 4, 0, 255, 45, 9, 0, 255, 68, 18, 0, 255, 100, 31, 0, 255, 122, 40, 0, 255, 137, 46, 0, 255, 144, 48, 0, 255, 147, 49, 0, 255, 148, 50, 0, 255, 147, 49, 0, 255, 145, 49, 0, 255, 144, 48, 0, 255, 142, 47, 0, 255, 141, 47, 0, 255, 141, 47, 0, 255, 144, 48, 0, 255, 148, 50, 0, 255, 150, 51, 0, 255, 151, 51, 0, 255, 150, 51, 0, 255, 149, 50, 0, 255, 147, 50, 0, 255, 148, 50, 0, 255, 147, 49, 0, 255, 142, 48, 0, 255, 132, 44, 0, 255, 110, 35, 0, 255, 81, 24, 0, 255, 49, 11, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 26, 3, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 30, 4, 0, 255, 32, 5, 0, 255, 33, 5, 0, 255, 32, 5, 0, 255, 31, 5, 0, 255, 31, 5, 0, 255, 31, 4, 0, 255, 31, 4, 0, 255, 31, 5, 0, 255, 32, 5, 0, 255, 47, 10, 0, 255, 72, 20, 0, 255, 100, 31, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 5, 0, 255, 32, 4, 0, 255, 30, 4, 0, 255, 30, 4, 0, 255, 30, 4, 0, 255, 36, 6, 0, 255, 54, 12, 0, 255, 86, 25, 0, 255, 111, 35, 0, 255, 130, 43, 0, 255, 139, 46, 0, 255, 145, 49, 0, 255, 148, 50, 0, 255, 145, 48, 0, 255, 144, 48, 0, 255, 144, 48, 0, 255, 145, 48, 0, 255, 148, 49, 0, 255, 150, 50, 0, 255, 150, 50, 0, 255, 149, 50, 0, 255, 148, 50, 0, 255, 146, 49, 0, 255, 144, 48, 0, 255, 140, 47, 0, 255, 132, 44, 0, 255, 108, 34, 0, 255, 76, 22, 0, 255, 48, 11, 0, 255, 33, 5, 0, 255, 32, 5, 0, 255, 30, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 29, 4, 0, 255, 30, 5, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 38, 7, 0, 255, 55, 13, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 4, 0, 255, 30, 4, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 32, 4, 0, 255, 31, 4, 0, 255, 30, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 46, 9, 0, 255, 71, 19, 0, 255, 102, 31, 0, 255, 123, 40, 0, 255, 137, 45, 0, 255, 143, 48, 0, 255, 146, 48, 0, 255, 148, 49, 0, 255, 149, 49, 0, 255, 149, 49, 0, 255, 149, 49, 0, 255, 149, 49, 0, 255, 148, 49, 0, 255, 145, 48, 0, 255, 139, 46, 0, 255, 128, 42, 0, 255, 104, 33, 0, 255, 69, 19, 0, 255, 44, 9, 0, 255, 33, 5, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 29, 4, 0, 255, 29, 4, 0, 255, 29, 4, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 76, 22, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 29, 4, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 29, 4, 0, 255, 30, 5, 0, 255, 38, 7, 0, 255, 55, 13, 0, 255, 89, 26, 0, 255, 116, 37, 0, 255, 134, 44, 0, 255, 140, 46, 0, 255, 144, 48, 0, 255, 145, 48, 0, 255, 145, 48, 0, 255, 143, 48, 0, 255, 137, 46, 0, 255, 123, 40, 0, 255, 98, 30, 0, 255, 62, 16, 0, 255, 41, 8, 0, 255, 33, 5, 0, 255, 33, 5, 0, 255, 33, 5, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 3, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 30, 4, 0, 255, 30, 5, 0, 255, 30, 5, 0, 255, 30, 5, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 76, 22, 0, 255, 76, 22, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 47, 10, 0, 255, 72, 20, 0, 255, 101, 32, 0, 255, 122, 40, 0, 255, 132, 44, 0, 255, 132, 44, 0, 255, 118, 38, 0, 255, 93, 28, 0, 255, 56, 14, 0, 255, 38, 7, 0, 255, 33, 5, 0, 255, 33, 5, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 31, 5, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 29, 4, 0, 255, 30, 5, 0, 255, 30, 5, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 76, 22, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 39, 7, 0, 255, 63, 17, 0, 255, 94, 29, 0, 255, 94, 29, 0, 255, 64, 17, 0, 255, 41, 8, 0, 255, 33, 5, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 31, 5, 0, 255, 31, 5, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 30, 4, 0, 255, 31, 5, 0, 255, 31, 4, 0, 255, 31, 4, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 76, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 27, 4, 0, 255, 33, 5, 0, 255, 53, 12, 0, 255, 90, 27, 0, 255, 114, 37, 0, 255, 127, 42, 0, 255, 128, 42, 0, 255, 120, 39, 0, 255, 102, 32, 0, 255, 76, 21, 0, 255, 51, 11, 0, 255, 32, 5, 0, 255, 31, 5, 0, 255, 30, 4, 0, 255, 30, 4, 0, 255, 29, 4, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 29, 4, 0, 255, 31, 4, 0, 255, 33, 5, 0, 255, 35, 5, 0, 255, 35, 5, 0, 255, 34, 5, 0, 255, 32, 5, 0, 255, 76, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 25, 3, 0, 255, 25, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 25, 4, 0, 255, 26, 4, 0, 255, 38, 7, 0, 255, 59, 15, 0, 255, 96, 29, 0, 255, 120, 39, 0, 255, 134, 44, 0, 255, 141, 47, 0, 255, 143, 48, 0, 255, 144, 48, 0, 255, 145, 48, 0, 255, 143, 48, 0, 255, 137, 45, 0, 255, 116, 37, 0, 255, 91, 27, 0, 255, 56, 13, 0, 255, 38, 7, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 29, 4, 0, 255, 31, 4, 0, 255, 32, 5, 0, 255, 32, 5, 0, 255, 33, 5, 0, 255, 35, 5, 0, 255, 76, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 5, 0, 255, 31, 5, 0, 255, 31, 5, 0, 255, 31, 5, 0, 255, 30, 5, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 26, 4, 0, 255, 25, 4, 0, 255, 25, 3, 0, 255, 25, 3, 0, 255, 25, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 41, 8, 0, 255, 69, 18, 0, 255, 104, 33, 0, 255, 128, 42, 0, 255, 138, 46, 0, 255, 142, 47, 0, 255, 143, 48, 0, 255, 145, 48, 0, 255, 147, 49, 0, 255, 149, 50, 0, 255, 149, 50, 0, 255, 149, 50, 0, 255, 148, 49, 0, 255, 146, 49, 0, 255, 138, 46, 0, 255, 125, 41, 0, 255, 103, 32, 0, 255, 73, 20, 0, 255, 46, 10, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 29, 4, 0, 255, 29, 4, 0, 255, 29, 4, 0, 255, 29, 5, 0, 255, 30, 5, 0, 255, 31, 5, 0, 255, 32, 5, 0, 255, 76, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 14, 0, 255, 41, 8, 0, 255, 33, 6, 0, 255, 33, 6, 0, 255, 33, 6, 0, 255, 31, 5, 0, 255, 30, 5, 0, 255, 29, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 26, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 28, 5, 0, 255, 28, 5, 0, 255, 28, 5, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 27, 4, 0, 255, 27, 4, 0, 255, 45, 9, 0, 255, 74, 21, 0, 255, 107, 34, 0, 255, 131, 43, 0, 255, 142, 48, 0, 255, 147, 49, 0, 255, 148, 49, 0, 255, 143, 48, 0, 255, 140, 47, 0, 255, 141, 47, 0, 255, 143, 48, 0, 255, 145, 48, 0, 255, 146, 49, 0, 255, 145, 48, 0, 255, 146, 49, 0, 255, 148, 49, 0, 255, 149, 50, 0, 255, 147, 49, 0, 255, 142, 47, 0, 255, 134, 44, 0, 255, 114, 36, 0, 255, 88, 26, 0, 255, 54, 13, 0, 255, 36, 6, 0, 255, 29, 4, 0, 255, 29, 4, 0, 255, 29, 4, 0, 255, 29, 4, 0, 255, 29, 4, 0, 255, 77, 23, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 103, 32, 0, 255, 77, 22, 0, 255, 51, 12, 0, 255, 32, 5, 0, 255, 30, 5, 0, 255, 29, 5, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 48, 11, 0, 255, 80, 24, 0, 255, 110, 35, 0, 255, 132, 44, 0, 255, 142, 48, 0, 255, 147, 49, 0, 255, 149, 50, 0, 255, 147, 49, 0, 255, 145, 49, 0, 255, 143, 48, 0, 255, 140, 47, 0, 255, 139, 47, 0, 255, 141, 47, 0, 255, 143, 48, 0, 255, 144, 48, 0, 255, 145, 48, 0, 255, 146, 49, 0, 255, 146, 49, 0, 255, 147, 49, 0, 255, 148, 49, 0, 255, 148, 50, 0, 255, 147, 49, 0, 255, 143, 48, 0, 255, 135, 45, 0, 255, 120, 39, 0, 255, 98, 31, 0, 255, 68, 19, 0, 255, 45, 9, 0, 255, 29, 4, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 90, 27, 0, 255, 55, 14, 0, 255, 37, 7, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 28, 5, 0, 255, 28, 5, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 4, 0, 255, 28, 5, 0, 255, 29, 5, 0, 255, 50, 12, 0, 255, 85, 26, 0, 255, 114, 37, 0, 255, 134, 45, 0, 255, 142, 48, 0, 255, 145, 49, 0, 255, 147, 50, 0, 255, 148, 50, 0, 255, 147, 49, 0, 255, 149, 50, 0, 255, 150, 50, 0, 255, 148, 49, 0, 255, 145, 49, 0, 255, 143, 48, 0, 255, 143, 48, 0, 255, 144, 48, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 146, 49, 0, 255, 145, 48, 0, 255, 144, 48, 0, 255, 146, 49, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 146, 49, 0, 255, 144, 49, 0, 255, 141, 48, 0, 255, 135, 45, 0, 255, 125, 41, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 47, 11, 0, 255, 100, 32, 0, 255, 72, 20, 0, 255, 47, 11, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 32, 6, 0, 255, 53, 13, 0, 255, 90, 28, 0, 255, 117, 38, 0, 255, 133, 45, 0, 255, 141, 48, 0, 255, 144, 49, 0, 255, 145, 49, 0, 255, 146, 50, 0, 255, 146, 50, 0, 255, 147, 50, 0, 255, 149, 50, 0, 255, 150, 50, 0, 255, 151, 51, 0, 255, 151, 50, 0, 255, 149, 50, 0, 255, 148, 50, 0, 255, 145, 49, 0, 255, 143, 48, 0, 255, 143, 48, 0, 255, 144, 48, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 144, 49, 0, 255, 144, 49, 0, 255, 144, 48, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 47, 11, 0, 255, 47, 11, 0, 255, 84, 25, 0, 255, 53, 13, 0, 255, 35, 6, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 29, 5, 0, 255, 36, 7, 0, 255, 56, 14, 0, 255, 97, 30, 0, 255, 123, 40, 0, 255, 137, 46, 0, 255, 142, 48, 0, 255, 143, 48, 0, 255, 144, 49, 0, 255, 145, 49, 0, 255, 146, 50, 0, 255, 146, 50, 0, 255, 145, 49, 0, 255, 147, 50, 0, 255, 149, 50, 0, 255, 150, 50, 0, 255, 151, 51, 0, 255, 150, 50, 0, 255, 148, 50, 0, 255, 146, 49, 0, 255, 144, 48, 0, 255, 144, 48, 0, 255, 144, 49, 0, 255, 145, 49, 0, 255, 146, 49, 0, 255, 147, 50, 0, 255, 147, 50, 0, 255, 147, 50, 0, 255, 145, 49, 0, 255, 144, 49, 0, 255, 145, 49, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 47, 11, 0, 255, 97, 30, 0, 255, 68, 19, 0, 255, 45, 10, 0, 255, 39, 8, 0, 255, 64, 17, 0, 255, 101, 32, 0, 255, 126, 42, 0, 255, 139, 46, 0, 255, 144, 48, 0, 255, 145, 48, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 146, 49, 0, 255, 146, 50, 0, 255, 146, 50, 0, 255, 147, 50, 0, 255, 148, 50, 0, 255, 149, 50, 0, 255, 150, 50, 0, 255, 151, 51, 0, 255, 150, 51, 0, 255, 149, 50, 0, 255, 148, 50, 0, 255, 146, 49, 0, 255, 144, 49, 0, 255, 144, 49, 0, 255, 145, 49, 0, 255, 146, 49, 0, 255, 146, 49, 0, 255, 147, 50, 0, 255, 148, 50, 0, 255, 147, 50, 0, 255, 145, 49, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 47, 11, 0, 255, 48, 11, 0, 255, 100, 31, 0, 255, 121, 40, 0, 255, 135, 45, 0, 255, 142, 48, 0, 255, 144, 48, 0, 255, 144, 48, 0, 255, 144, 48, 0, 255, 145, 48, 0, 255, 145, 49, 0, 255, 146, 49, 0, 255, 146, 49, 0, 255, 146, 49, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 149, 50, 0, 255, 149, 50, 0, 255, 150, 50, 0, 255, 150, 50, 0, 255, 149, 50, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 77, 23, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 47, 11, 0, 255, 109, 35, 0, 255, 129, 43, 0, 255, 138, 46, 0, 255, 142, 48, 0, 255, 144, 48, 0, 255, 144, 48, 0, 255, 145, 49, 0, 255, 146, 49, 0, 255, 147, 49, 0, 255, 148, 50, 0, 255, 150, 50, 0, 255, 148, 50, 0, 255, 147, 50, 0, 255, 148, 50, 0, 255, 148, 50, 0, 255, 147, 50, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 148, 50, 0, 255, 150, 50, 0, 255, 150, 50, 0, 255, 148, 50, 0, 255, 146, 49, 0, 255, 77, 23, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 118, 38, 0, 255, 133, 44, 0, 255, 141, 47, 0, 255, 144, 48, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 145, 49, 0, 255, 146, 49, 0, 255, 146, 50, 0, 255, 147, 50, 0, 255, 147, 49, 0, 255, 147, 49, 0, 255, 146, 49, 0, 255, 146, 49, 0, 255, 147, 49, 0, 255, 148, 50, 0, 255, 149, 50, 0, 255, 149, 50, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 110, 35, 0, 255, 128, 43, 0, 255, 136, 46, 0, 255, 140, 47, 0, 255, 142, 48, 0, 255, 145, 49, 0, 255, 147, 49, 0, 255, 149, 50, 0, 255, 150, 50, 0, 255, 149, 50, 0, 255, 148, 49, 0, 255, 148, 49, 0, 255, 148, 50, 0, 255, 149, 50, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 122, 40, 0, 255, 137, 46, 0, 255, 144, 48, 0, 255, 148, 50, 0, 255, 150, 50, 0, 255, 150, 50, 0, 255, 150, 50, 0, 255, 149, 50, 0, 255, 148, 49, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 114, 36, 0, 255, 133, 44, 0, 255, 141, 47, 0, 255, 144, 48, 0, 255, 145, 48, 0, 255, 77, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 48, 11, 0, 255, 78, 23, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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": "RGBA8",
@@ -71,7 +71,7 @@ data = {
}
[sub_resource type="ImageTexture" id="ImageTexture_nx0dg"]
-image = SubResource("Image_eijhe")
+image = SubResource("Image_pnqeh")
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_8fsu2"]
data = PackedVector3Array(-2, 0.049999997, 2, 2, 0.049999997, 2, -2, -0.049999997, 2, 2, 0.049999997, 2, 2, -0.049999997, 2, -2, -0.049999997, 2, 2, 0.049999997, -2, -2, 0.049999997, -2, 2, -0.049999997, -2, -2, 0.049999997, -2, -2, -0.049999997, -2, 2, -0.049999997, -2, 2, 0.049999997, 2, 2, 0.049999997, -2, 2, -0.049999997, 2, 2, 0.049999997, -2, 2, -0.049999997, -2, 2, -0.049999997, 2, -2, 0.049999997, -2, -2, 0.049999997, 2, -2, -0.049999997, -2, -2, 0.049999997, 2, -2, -0.049999997, 2, -2, -0.049999997, -2, 2, 0.049999997, 2, -2, 0.049999997, 2, 2, 0.049999997, -2, -2, 0.049999997, 2, -2, 0.049999997, -2, 2, 0.049999997, -2, -2, -0.049999997, 2, 2, -0.049999997, 2, -2, -0.049999997, -2, 2, -0.049999997, 2, 2, -0.049999997, -2, -2, -0.049999997, -2)
diff --git a/courses/RangeCourse.cs b/courses/RangeCourse.cs
index 42be4bd..60bb7e3 100644
--- a/courses/RangeCourse.cs
+++ b/courses/RangeCourse.cs
@@ -7,6 +7,7 @@
public partial class RangeCourse : HoleSceneControllerBase
{
private const float YardsToMeters = 1.0f / ShotSetup.YARDS_PER_METER;
+ private Vector3 _teePoint = GolfBall.START_POSITION;
[ExportGroup("Range Surface")]
[Export] public NodePath SurfaceGridPath { get; set; } = new NodePath("SurfaceGrid");
@@ -42,6 +43,31 @@ protected override bool ShouldShowCourseMeta()
return false;
}
+ protected override bool ShouldShowTargetElevation()
+ {
+ return false;
+ }
+
+ protected override bool ShouldShowRangeHudControls()
+ {
+ return true;
+ }
+
+ protected override int GetRangeTargetMinYards()
+ {
+ return 5;
+ }
+
+ protected override int GetRangeTargetMaxYards()
+ {
+ return 350;
+ }
+
+ protected override int GetDefaultRangeTargetYards()
+ {
+ return 100;
+ }
+
protected override bool ShouldShowTracerHistorySetting()
{
return true;
@@ -72,8 +98,29 @@ protected override bool ShouldClearTracersOnBallReset()
return false;
}
+ protected override Vector3? ResolveDistanceReferencePoint()
+ {
+ int selectedYards = GameplayUi != null ? GameplayUi.GetRangeTargetYardage() : GetDefaultRangeTargetYards();
+ selectedYards = Mathf.Clamp(selectedYards, GetRangeTargetMinYards(), GetRangeTargetMaxYards());
+ float meters = selectedYards * YardsToMeters;
+
+ return _teePoint + new Vector3(meters, 0.0f, 0.0f);
+ }
+
+ protected override string ResolveShotRecordingClubTag()
+ {
+ if (GameplayUi == null)
+ return RangeClubCatalog.ToFileTag(AppSettings.DefaultRangeDefaultClub);
+
+ return GameplayUi.GetRangeSelectedClubFileTag();
+ }
+
protected override void OnHoleReadyAfterInit()
{
+ GolfBall ball = GetNodeOrNull(BallNodePath);
+ if (ball != null)
+ _teePoint = ball.GlobalPosition;
+
ExtendFairwaySurface();
}
diff --git a/courses/range.tscn b/courses/range.tscn
index 4c08048..cbc12de 100644
--- a/courses/range.tscn
+++ b/courses/range.tscn
@@ -84,5 +84,5 @@ mesh_library = ExtResource("4_surface_library")
cell_size = Vector3(4, 4, 4)
cell_center_y = false
data = {
-"cells": PackedInt32Array(15, 65532, 655361, 15, 65533, 655361, 15, 65534, 655361, 15, 65535, 655361, 15, 0, 655361, 15, 1, 655361, 14, 1, 655361, 14, 2, 655361, 15, 2, 655361, 15, 3, 655361, 15, 4, 655361, 14, 3, 655361, 14, 4, 655361, 15, 5, 655361, 14, 5, 655361, 14, 6, 655361, 15, 6, 655361, 14, 0, 655361, 14, 65535, 655361, 14, 65534, 655361, 14, 65533, 655361, 14, 65532, 655361, 16, 65532, 655361, 17, 65532, 655361, 18, 65532, 655361, 19, 65532, 655361, 19, 65533, 655361, 18, 65533, 655361, 17, 65533, 655361, 16, 65533, 655361, 16, 65534, 655361, 17, 65534, 655361, 18, 65534, 655361, 19, 65534, 655361, 18, 65535, 655361, 17, 65535, 655361, 16, 65535, 655361, 19, 65535, 655361, 20, 65535, 655361, 16, 0, 655361, 16, 1, 655361, 16, 2, 655361, 17, 2, 655361, 18, 2, 655361, 17, 1, 655361, 17, 0, 655361, 18, 0, 655361, 19, 0, 655361, 20, 0, 655361, 19, 1, 655361, 18, 1, 655361, 19, 2, 655361, 20, 1, 655361, 16, 6, 655361, 16, 5, 655361, 16, 4, 655361, 16, 3, 655361, 17, 3, 655361, 18, 3, 655361, 19, 3, 655361, 19, 4, 655361, 19, 5, 655361, 19, 6, 655361, 18, 6, 655361, 17, 6, 655361, 17, 5, 655361, 17, 4, 655361, 18, 4, 655361, 18, 5, 655361, 20, 2, 655361, 20, 3, 655361, 20, 4, 655361, 20, 5, 655361, 20, 6, 655361, 20, 65534, 655361, 20, 65533, 655361, 20, 65532, 655361, 20, 65531, 655362, 20, 65530, 655362, 20, 65529, 655362, 20, 65528, 655362, 20, 65527, 655362, 20, 65526, 655362, 19, 65526, 655362, 18, 65526, 655362, 17, 65526, 655362, 16, 65526, 655362, 15, 65526, 655362, 15, 65527, 655362, 16, 65527, 655362, 16, 65528, 655362, 16, 65529, 655362, 16, 65530, 655362, 16, 65531, 655362, 19, 65531, 655362, 18, 65531, 655362, 17, 65531, 655362, 17, 65530, 655362, 17, 65529, 655362, 17, 65528, 655362, 17, 65527, 655362, 18, 65527, 655362, 19, 65527, 655362, 19, 65528, 655362, 19, 65529, 655362, 19, 65530, 655362, 18, 65530, 655362, 18, 65529, 655362, 18, 65528, 655362, 15, 65528, 655362, 15, 65529, 655362, 15, 65530, 655362, 15, 65531, 655362, 14, 65531, 655362, 14, 65530, 655362, 14, 65529, 655362, 14, 65528, 655362, 14, 65527, 655362, 14, 65526, 655362, 14, 7, 655362, 15, 7, 655362, 16, 7, 655362, 17, 7, 655362, 18, 7, 655362, 19, 7, 655362, 20, 7, 655362, 19, 8, 655362, 20, 8, 655362, 19, 9, 655362, 20, 9, 655362, 18, 9, 655362, 17, 9, 655362, 16, 9, 655362, 15, 9, 655362, 14, 9, 655362, 14, 8, 655362, 15, 8, 655362, 16, 8, 655362, 17, 8, 655362, 18, 8, 655362, 20, 10, 655362, 19, 10, 655362, 18, 10, 655362, 17, 10, 655362, 16, 10, 655362, 15, 10, 655362, 14, 10, 655362, 13, 65526, 655362, 13, 65527, 655362, 13, 65528, 655362, 13, 65529, 655362, 13, 65530, 655362, 13, 65531, 655362, 12, 65531, 655362, 11, 65531, 655362, 11, 65530, 655362, 11, 65529, 655362, 11, 65528, 655362, 11, 65527, 655362, 11, 65526, 655362, 12, 65526, 655362, 12, 65527, 655362, 12, 65528, 655362, 12, 65529, 655362, 12, 65530, 655362, 11, 65532, 655362, 11, 65533, 655362, 11, 65534, 655362, 11, 65535, 655362, 11, 0, 655362, 11, 1, 655362, 11, 2, 655362, 11, 3, 655362, 11, 4, 655362, 11, 5, 655362, 11, 6, 655362, 11, 7, 655362, 11, 8, 655362, 11, 9, 655362, 11, 10, 655362, 12, 10, 655362, 13, 10, 655362, 12, 9, 655362, 12, 8, 655362, 12, 7, 655362, 12, 6, 655362, 12, 5, 655362, 12, 4, 655362, 12, 3, 655362, 12, 2, 655362, 12, 1, 655362, 12, 0, 655362, 12, 65535, 655362, 12, 65534, 655362, 12, 65533, 655362, 12, 65532, 655362, 13, 9, 655362, 13, 8, 655362, 13, 7, 655362, 13, 6, 655362, 13, 5, 655362, 13, 4, 655362, 13, 3, 655362, 13, 2, 655362, 13, 1, 655362, 13, 0, 655362, 13, 65535, 655362, 13, 65534, 655362, 13, 65533, 655362, 13, 65532, 655362, 65535, 65531, 1048576, 65535, 65532, 1048576, 65535, 65533, 1048576, 65535, 65534, 1048576, 65535, 65535, 1048576, 65535, 0, 1048576, 65535, 1, 1048576, 65535, 2, 1048576, 65535, 3, 1048576, 65535, 4, 1048576, 65535, 5, 1048576, 65535, 6, 1048576, 65535, 9, 1048576, 65535, 8, 1048576, 65535, 7, 1048576, 65535, 65530, 1048576, 65535, 65529, 1048576, 65535, 65528, 1048576, 65535, 65527, 1048576, 65535, 65526, 1048576, 65534, 65526, 1048576, 65534, 65527, 1048576, 65534, 65528, 1048576, 65534, 65529, 1048576, 65534, 65530, 1048576, 65533, 65530, 1048576, 65533, 65531, 1048576, 65534, 65531, 1048576, 65534, 65532, 1048576, 65534, 65533, 1048576, 65534, 65534, 1048576, 65534, 65535, 1048576, 65534, 0, 1048576, 65534, 1, 1048576, 65533, 2, 1048576, 65533, 3, 1048576, 65534, 3, 1048576, 65534, 2, 1048576, 65534, 4, 1048576, 65534, 5, 1048576, 65534, 6, 1048576, 65534, 7, 1048576, 65534, 8, 1048576, 65534, 9, 1048576, 65533, 9, 1048576, 65533, 8, 1048576, 65533, 7, 1048576, 65533, 6, 1048576, 65533, 5, 1048576, 65533, 4, 1048576, 65533, 1, 1048576, 65533, 0, 1048576, 65533, 65535, 1048576, 65533, 65534, 1048576, 65533, 65533, 1048576, 65533, 65532, 1048576, 65533, 65529, 1048576, 65533, 65528, 1048576, 65533, 65527, 1048576, 65533, 65526, 1048576)
+"cells": PackedInt32Array(15, 65532, 655361, 15, 65533, 655361, 15, 65534, 655361, 15, 65535, 655361, 15, 0, 655361, 15, 1, 655361, 14, 1, 655361, 14, 2, 655361, 15, 2, 655361, 15, 3, 655361, 15, 4, 655361, 14, 3, 655361, 14, 4, 655361, 15, 5, 655361, 14, 5, 655361, 14, 6, 655361, 15, 6, 655361, 14, 0, 655361, 14, 65535, 655361, 14, 65534, 655361, 14, 65533, 655361, 14, 65532, 655361, 16, 65532, 655361, 17, 65532, 655361, 18, 65532, 655361, 19, 65532, 655361, 19, 65533, 655361, 18, 65533, 655361, 17, 65533, 655361, 16, 65533, 655361, 16, 65534, 655361, 17, 65534, 655361, 18, 65534, 655361, 19, 65534, 655361, 18, 65535, 655361, 17, 65535, 655361, 16, 65535, 655361, 19, 65535, 655361, 20, 65535, 655361, 16, 0, 655361, 16, 1, 655361, 16, 2, 655361, 17, 2, 655361, 18, 2, 655361, 17, 1, 655361, 17, 0, 655361, 18, 0, 655361, 19, 0, 655361, 20, 0, 655361, 19, 1, 655361, 18, 1, 655361, 19, 2, 655361, 20, 1, 655361, 16, 6, 655361, 16, 5, 655361, 16, 4, 655361, 16, 3, 655361, 17, 3, 655361, 18, 3, 655361, 19, 3, 655361, 19, 4, 655361, 19, 5, 655361, 19, 6, 655361, 18, 6, 655361, 17, 6, 655361, 17, 5, 655361, 17, 4, 655361, 18, 4, 655361, 18, 5, 655361, 20, 2, 655361, 20, 3, 655361, 20, 4, 655361, 20, 5, 655361, 20, 6, 655361, 20, 65534, 655361, 20, 65533, 655361, 20, 65532, 655361, 20, 65531, 655362, 20, 65530, 655362, 20, 65529, 655362, 20, 65528, 655362, 20, 65527, 655362, 20, 65526, 655362, 19, 65526, 655362, 18, 65526, 655362, 17, 65526, 655362, 16, 65526, 655362, 15, 65526, 655362, 15, 65527, 655362, 16, 65527, 655362, 16, 65528, 655362, 16, 65529, 655362, 16, 65530, 655362, 16, 65531, 655362, 19, 65531, 655362, 18, 65531, 655362, 17, 65531, 655362, 17, 65530, 655362, 17, 65529, 655362, 17, 65528, 655362, 17, 65527, 655362, 18, 65527, 655362, 19, 65527, 655362, 19, 65528, 655362, 19, 65529, 655362, 19, 65530, 655362, 18, 65530, 655362, 18, 65529, 655362, 18, 65528, 655362, 15, 65528, 655362, 15, 65529, 655362, 15, 65530, 655362, 15, 65531, 655362, 14, 65531, 655362, 14, 65530, 655362, 14, 65529, 655362, 14, 65528, 655362, 14, 65527, 655362, 14, 65526, 655362, 14, 7, 655362, 15, 7, 655362, 16, 7, 655362, 17, 7, 655362, 18, 7, 655362, 19, 7, 655362, 20, 7, 655362, 19, 8, 655362, 20, 8, 655362, 19, 9, 655362, 20, 9, 655362, 18, 9, 655362, 17, 9, 655362, 16, 9, 655362, 15, 9, 655362, 14, 9, 655362, 14, 8, 655362, 15, 8, 655362, 16, 8, 655362, 17, 8, 655362, 18, 8, 655362, 20, 10, 655362, 19, 10, 655362, 18, 10, 655362, 17, 10, 655362, 16, 10, 655362, 15, 10, 655362, 14, 10, 655362, 13, 65526, 655362, 13, 65527, 655362, 13, 65528, 655362, 13, 65529, 655362, 13, 65530, 655362, 13, 65531, 655362, 12, 65531, 655362, 11, 65531, 655362, 11, 65530, 655362, 11, 65529, 655362, 11, 65528, 655362, 11, 65527, 655362, 11, 65526, 655362, 12, 65526, 655362, 12, 65527, 655362, 12, 65528, 655362, 12, 65529, 655362, 12, 65530, 655362, 11, 65532, 655362, 11, 65533, 655362, 11, 65534, 655362, 11, 65535, 655362, 11, 0, 655362, 11, 1, 655362, 11, 2, 655362, 11, 3, 655362, 11, 4, 655362, 11, 5, 655362, 11, 6, 655362, 11, 7, 655362, 11, 8, 655362, 11, 9, 655362, 11, 10, 655362, 12, 10, 655362, 13, 10, 655362, 12, 9, 655362, 12, 8, 655362, 12, 7, 655362, 12, 6, 655362, 12, 5, 655362, 12, 4, 655362, 12, 3, 655362, 12, 2, 655362, 12, 1, 655362, 12, 0, 655362, 12, 65535, 655362, 12, 65534, 655362, 12, 65533, 655362, 12, 65532, 655362, 13, 9, 655362, 13, 8, 655362, 13, 7, 655362, 13, 6, 655362, 13, 5, 655362, 13, 4, 655362, 13, 3, 655362, 13, 2, 655362, 13, 1, 655362, 13, 0, 655362, 13, 65535, 655362, 13, 65534, 655362, 13, 65533, 655362, 13, 65532, 655362, 65535, 65531, 1048576, 65535, 65532, 1048576, 65535, 65533, 1048576, 65535, 65534, 1048576, 65535, 65535, 1048576, 65535, 0, 1048576, 65535, 1, 1048576, 65535, 2, 1048576, 65535, 3, 1048576, 65535, 4, 1048576, 65535, 5, 1048576, 65535, 6, 1048576, 65535, 9, 1048576, 65535, 8, 1048576, 65535, 7, 1048576, 65535, 65530, 1048576, 65535, 65529, 1048576, 65535, 65528, 1048576, 65535, 65527, 1048576, 65535, 65526, 1048576, 65534, 65526, 1048576, 65534, 65527, 1048576, 65534, 65528, 1048576, 65534, 65529, 1048576, 65534, 65530, 1048576, 65533, 65530, 1048576, 65533, 65531, 1048576, 65534, 65531, 1048576, 65534, 65532, 1048576, 65534, 65533, 1048576, 65534, 65534, 1048576, 65534, 65535, 1048576, 65534, 0, 1048576, 65534, 1, 1048576, 65533, 2, 1048576, 65533, 3, 1048576, 65534, 3, 1048576, 65534, 2, 1048576, 65534, 4, 1048576, 65534, 5, 1048576, 65534, 6, 1048576, 65534, 7, 1048576, 65534, 8, 1048576, 65534, 9, 1048576, 65533, 9, 1048576, 65533, 8, 1048576, 65533, 7, 1048576, 65533, 6, 1048576, 65533, 5, 1048576, 65533, 4, 1048576, 65533, 1, 1048576, 65533, 0, 1048576, 65533, 65535, 1048576, 65533, 65534, 1048576, 65533, 65533, 1048576, 65533, 65532, 1048576, 65533, 65529, 1048576, 65533, 65528, 1048576, 65533, 65527, 1048576, 65533, 65526, 1048576, 0, 0, 2, 1, 0, 2, 2, 0, 2, 3, 0, 2, 4, 0, 2, 5, 0, 2, 6, 0, 2, 7, 0, 2, 8, 0, 2, 9, 0, 2, 10, 0, 2, 0, 65535, 2, 1, 65535, 2, 2, 65535, 2, 3, 65535, 2, 4, 65535, 2, 5, 65535, 2, 6, 65535, 2, 7, 65535, 2, 8, 65535, 2, 9, 65535, 2, 10, 65535, 2, 21, 0, 2, 22, 0, 2, 23, 0, 2, 24, 0, 2, 25, 0, 2, 26, 0, 2, 27, 0, 2, 28, 0, 2, 29, 0, 2, 30, 0, 2, 31, 0, 2, 32, 0, 2, 33, 0, 2, 34, 0, 2, 35, 0, 2, 36, 0, 2, 37, 0, 2, 38, 0, 2, 39, 0, 2, 40, 0, 2, 41, 0, 2, 42, 0, 2, 43, 0, 2, 44, 0, 2, 45, 0, 2, 46, 0, 2, 47, 0, 2, 48, 0, 2, 49, 0, 2, 50, 0, 2, 51, 0, 2, 52, 0, 2, 53, 0, 2, 54, 0, 2, 55, 0, 2, 56, 0, 2, 57, 0, 2, 58, 0, 2, 59, 0, 2, 60, 0, 2, 61, 0, 2, 62, 0, 2, 63, 0, 2, 64, 0, 2, 65, 0, 2, 66, 0, 2, 67, 0, 2, 21, 65535, 2, 22, 65535, 2, 23, 65535, 2, 24, 65535, 2, 25, 65535, 2, 26, 65535, 2, 27, 65535, 2, 28, 65535, 2, 29, 65535, 2, 30, 65535, 2, 31, 65535, 2, 32, 65535, 2, 33, 65535, 2, 34, 65535, 2, 35, 65535, 2, 36, 65535, 2, 37, 65535, 2, 38, 65535, 2, 39, 65535, 2, 40, 65535, 2, 41, 65535, 2, 42, 65535, 2, 43, 65535, 2, 44, 65535, 2, 45, 65535, 2, 46, 65535, 2, 47, 65535, 2, 48, 65535, 2, 49, 65535, 2, 50, 65535, 2, 51, 65535, 2, 52, 65535, 2, 53, 65535, 2, 54, 65535, 2, 55, 65535, 2, 56, 65535, 2, 57, 65535, 2, 58, 65535, 2, 59, 65535, 2, 60, 65535, 2, 61, 65535, 2, 62, 65535, 2, 63, 65535, 2, 64, 65535, 2, 65, 65535, 2, 66, 65535, 2, 67, 65535, 2, 68, 0, 2, 69, 0, 2, 70, 0, 2, 71, 0, 2, 72, 0, 2, 73, 0, 2, 74, 0, 2, 75, 0, 2, 76, 0, 2, 77, 0, 2, 78, 0, 2, 79, 0, 2, 80, 0, 2, 81, 0, 2, 82, 0, 2, 83, 0, 2, 84, 0, 2, 85, 0, 2, 86, 0, 2, 87, 0, 2, 88, 0, 2, 89, 0, 2, 90, 0, 2, 68, 65535, 2, 69, 65535, 2, 70, 65535, 2, 71, 65535, 2, 72, 65535, 2, 73, 65535, 2, 74, 65535, 2, 75, 65535, 2, 76, 65535, 2, 77, 65535, 2, 78, 65535, 2, 79, 65535, 2, 80, 65535, 2, 81, 65535, 2, 82, 65535, 2, 87, 65535, 2, 88, 65535, 2, 86, 65535, 2, 85, 65535, 2, 84, 65535, 2, 83, 65535, 2, 89, 65535, 2, 90, 65535, 2)
}
diff --git a/game/ShotRecordingService.cs b/game/ShotRecordingService.cs
index af865c9..1256a96 100644
--- a/game/ShotRecordingService.cs
+++ b/game/ShotRecordingService.cs
@@ -1,4 +1,5 @@
using System.IO;
+using System.Text;
using System.Text.Json;
using Godot;
using Godot.Collections;
@@ -39,7 +40,7 @@ public override void _ExitTree()
_recordingEnabledSetting.SettingChanged -= OnRecordingEnabledChanged;
}
- public void RecordShot(Dictionary ballData)
+ public void RecordShot(Dictionary ballData, string clubTag = "")
{
if (!_isRecording || ballData == null)
return;
@@ -50,7 +51,11 @@ public void RecordShot(Dictionary ballData)
_shotCounter++;
var shotJson = BuildShotJson(ballData);
- string filePath = Path.Combine(_currentSessionPath, $"shot_{_shotCounter}.json");
+ string safeClubTag = SanitizeClubTag(clubTag);
+ string fileName = string.IsNullOrWhiteSpace(safeClubTag)
+ ? $"shot_{_shotCounter}.json"
+ : $"shot_{safeClubTag}_{_shotCounter}.json";
+ string filePath = Path.Combine(_currentSessionPath, fileName);
try
{
@@ -63,6 +68,22 @@ public void RecordShot(Dictionary ballData)
}
}
+ private static string SanitizeClubTag(string clubTag)
+ {
+ if (string.IsNullOrWhiteSpace(clubTag))
+ return string.Empty;
+
+ string lower = clubTag.Trim().ToLowerInvariant();
+ var builder = new StringBuilder(lower.Length);
+ foreach (char c in lower)
+ {
+ if (char.IsLetterOrDigit(c) || c == '_')
+ builder.Append(c);
+ }
+
+ return builder.ToString();
+ }
+
private void OnRecordingEnabledChanged(Variant value)
{
bool enabled = (bool)value;
diff --git a/game/hole/HoleSceneControllerBase.cs b/game/hole/HoleSceneControllerBase.cs
index f7cc6ff..02b25b6 100644
--- a/game/hole/HoleSceneControllerBase.cs
+++ b/game/hole/HoleSceneControllerBase.cs
@@ -1,4 +1,5 @@
using System;
+using System.Globalization;
using System.Threading;
using Godot;
using Godot.Collections;
@@ -17,6 +18,7 @@ public abstract partial class HoleSceneControllerBase : Node3D
private const float ROUND_END_SCORE_DURATION_SECONDS = 4.0f;
private const double TARGET_HUD_REFRESH_INTERVAL_SECONDS = 0.10;
private const float TARGET_HUD_MIN_MOVE_METERS = 0.15f;
+ private const float METERS_TO_YARDS = ShotSetup.YARDS_PER_METER;
[ExportGroup("Scene Nodes")]
[Export] public NodePath ShotTrackerPath { get; set; } = new NodePath("ShotTracker");
@@ -89,6 +91,7 @@ private enum StartupStage
}
private bool IsGoalCountdownRunning => _goalCompletionFlow != null && _goalCompletionFlow.IsRunning;
+ protected GameplayUI GameplayUi => _gameplayUi;
protected virtual void OnHoleReadyAfterInit()
{
@@ -159,6 +162,36 @@ protected virtual bool ShouldShowCourseMeta()
return true;
}
+ protected virtual bool ShouldShowTargetElevation()
+ {
+ return true;
+ }
+
+ protected virtual bool ShouldShowRangeHudControls()
+ {
+ return false;
+ }
+
+ protected virtual int GetRangeTargetMinYards()
+ {
+ return 5;
+ }
+
+ protected virtual int GetRangeTargetMaxYards()
+ {
+ return 350;
+ }
+
+ protected virtual int GetDefaultRangeTargetYards()
+ {
+ return 100;
+ }
+
+ protected virtual string ResolveShotRecordingClubTag()
+ {
+ return string.Empty;
+ }
+
protected virtual bool ShouldShowTracerHistorySetting()
{
return false;
@@ -293,6 +326,7 @@ private void InitializeCoreStage()
_gameSettings.CameraFollowMode.SettingChanged += OnCameraFollowChanged;
_gameSettings.SurfaceType.SettingChanged += OnSurfaceChanged;
ConfigureTracerBehavior();
+ ConfigureRangeHudBehavior();
_ball.ResolveLieSurface = ResolveLieSurfaceAtContact;
_ball.DescribeLieSurfaceResolution = () => _lieSurfaceResolver.DescribeLastResolution();
_cameraOrbitDistanceSetting = _appSettings?.CameraOrbitDistance;
@@ -477,6 +511,7 @@ private async void OnGolfBallRest()
return;
UpdateBallDisplay();
+ RecordRangeDispersionIfNeeded();
if (IsGoalCountdownRunning)
{
@@ -611,7 +646,7 @@ private void LaunchShot(Dictionary data, bool useTcpTracker, bool logPayload)
UpdateBallDisplay();
PlayDriverHitAudio();
IncrementStrokeCount();
- _shotRecordingService?.RecordShot(data);
+ _shotRecordingService?.RecordShot(data, ResolveShotRecordingClubTag());
if (useTcpTracker)
_shotTracker.OnTcpClientHitBall(data);
@@ -735,6 +770,32 @@ private void ConfigureTracerBehavior()
_gameplayUi?.SetTracerHistorySettingVisible(ShouldShowTracerHistorySetting());
}
+ private void ConfigureRangeHudBehavior()
+ {
+ if (_gameplayUi == null)
+ return;
+
+ bool showRangeHudControls = ShouldShowRangeHudControls();
+ _gameplayUi.SetRangeHudControlsVisible(showRangeHudControls);
+ _gameplayUi.SetRangeDefaultClubSettingVisible(showRangeHudControls);
+ _gameplayUi.SetTargetElevationVisible(ShouldShowTargetElevation());
+ _gameplayUi.SetMarkerElevationVisible(ShouldShowTargetElevation());
+
+ if (!showRangeHudControls)
+ return;
+
+ string defaultClub = _appSettings != null
+ ? _appSettings.RangeDefaultClub.Value.ToString()
+ : AppSettings.DefaultRangeDefaultClub;
+
+ _gameplayUi.ConfigureRangeHudControls(
+ GetRangeTargetMinYards(),
+ GetRangeTargetMaxYards(),
+ GetDefaultRangeTargetYards(),
+ defaultClub
+ );
+ }
+
private float GetCameraOrbitDistanceSetting()
{
if (_appSettings == null)
@@ -1121,6 +1182,62 @@ private void UpdateBallDisplay()
_gameplayUi?.SetData(snapshot.ToDictionary());
}
+ private void RecordRangeDispersionIfNeeded()
+ {
+ if (!ShouldShowRangeHudControls())
+ return;
+
+ if (_gameplayUi == null || _shotTracker == null)
+ return;
+
+ string clubLabel = _gameplayUi.GetRangeSelectedClubLabel();
+ float distanceYards = _shotTracker.GetDistance() * METERS_TO_YARDS;
+ float carryYards = _shotTracker.Carry * METERS_TO_YARDS;
+ float offlineYards = _shotTracker.SideDistance * METERS_TO_YARDS;
+ float? hlaDeg = TryGetOptionalMetric(_shotTracker.ShotData, "HLA");
+ float? totalSpinRpm = ResolveTotalSpinRpm(_shotTracker.ShotData);
+ _gameplayUi.RecordRangeDispersionShot(clubLabel, distanceYards, carryYards, offlineYards, hlaDeg, totalSpinRpm);
+ }
+
+ private static float? ResolveTotalSpinRpm(Dictionary shotData)
+ {
+ float? totalSpin = TryGetOptionalMetric(shotData, "TotalSpin");
+ if (totalSpin.HasValue)
+ return Mathf.Abs(totalSpin.Value);
+
+ float? backSpin = TryGetOptionalMetric(shotData, "BackSpin");
+ float? sideSpin = TryGetOptionalMetric(shotData, "SideSpin");
+ if (!backSpin.HasValue && !sideSpin.HasValue)
+ return null;
+
+ float back = Mathf.Abs(backSpin ?? 0.0f);
+ float side = Mathf.Abs(sideSpin ?? 0.0f);
+ return Mathf.Sqrt(back * back + side * side);
+ }
+
+ private static float? TryGetOptionalMetric(Dictionary dictionary, string key)
+ {
+ if (dictionary == null || string.IsNullOrWhiteSpace(key) || !dictionary.ContainsKey(key))
+ return null;
+
+ Variant value = dictionary[key];
+ float parsed = value.VariantType switch
+ {
+ Variant.Type.Float => (float)value,
+ Variant.Type.Int => (int)value,
+ Variant.Type.String => float.TryParse(
+ (string)value,
+ NumberStyles.Float,
+ CultureInfo.InvariantCulture,
+ out float stringParsed)
+ ? stringParsed
+ : float.NaN,
+ _ => float.NaN
+ };
+
+ return !float.IsNaN(parsed) && !float.IsInfinity(parsed) ? parsed : null;
+ }
+
private void InitializeShotMarkerController()
{
_shotMarkerController.Initialize(new ShotMarkerInit
@@ -1269,7 +1386,8 @@ private void MaybeRefreshTargetHud(double delta, bool force = false)
private void RefreshTargetHud()
{
UpdateTargetYardageDisplay();
- UpdateTargetElevationDisplay();
+ if (ShouldShowTargetElevation())
+ UpdateTargetElevationDisplay();
}
private void UpdateTargetYardageDisplay()
diff --git a/game/save/RangeDispersionStore.cs b/game/save/RangeDispersionStore.cs
new file mode 100644
index 0000000..75f28d2
--- /dev/null
+++ b/game/save/RangeDispersionStore.cs
@@ -0,0 +1,451 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+using Godot;
+using Godot.Collections;
+
+public sealed class RangeDispersionShot
+{
+ public RangeDispersionShot()
+ {
+ }
+
+ public RangeDispersionShot(
+ string clubLabel,
+ float distanceYards,
+ float carryYards,
+ float offlineYards,
+ float? hlaDeg = null,
+ float? totalSpinRpm = null)
+ {
+ ClubLabel = RangeClubCatalog.NormalizeLabel(clubLabel);
+ ClubTag = RangeClubCatalog.ToFileTag(ClubLabel);
+ DistanceYards = distanceYards;
+ CarryYards = carryYards;
+ OfflineYards = offlineYards;
+ HlaDeg = hlaDeg;
+ TotalSpinRpm = totalSpinRpm;
+ RecordedUtc = DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture);
+ }
+
+ public string ClubLabel { get; set; } = RangeClubCatalog.DefaultClubLabel;
+ public string ClubTag { get; set; } = RangeClubCatalog.ToFileTag(RangeClubCatalog.DefaultClubLabel);
+ public float DistanceYards { get; set; }
+ public float CarryYards { get; set; }
+ public float OfflineYards { get; set; }
+ public float? HlaDeg { get; set; }
+ public float? TotalSpinRpm { get; set; }
+ public string RecordedUtc { get; set; } = DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture);
+}
+
+public sealed class RangeDispersionSession
+{
+ public string FileName { get; set; } = string.Empty;
+ public string CreatedUtc { get; set; } = string.Empty;
+ public string UpdatedUtc { get; set; } = string.Empty;
+ public List Shots { get; } = new();
+}
+
+public static class RangeDispersionStore
+{
+ public const string SaveDirectoryPath = "user://range_dispersion";
+
+ private const int SaveVersion = 2;
+ private const int LegacySaveVersion = 1;
+ private const string FilePrefix = "range_dispersion_";
+ private const string FileSuffix = ".json";
+ private const string TimestampFormat = "yyyyMMdd_HHmmssfff";
+
+ public static List LoadAllSessions()
+ {
+ var sessions = new List();
+ EnsureSaveDirectory();
+
+ string absoluteDir = ProjectSettings.GlobalizePath(SaveDirectoryPath);
+ if (!Directory.Exists(absoluteDir))
+ return sessions;
+
+ foreach (string absoluteFilePath in Directory.GetFiles(absoluteDir, $"{FilePrefix}*{FileSuffix}"))
+ {
+ string fileName = Path.GetFileName(absoluteFilePath);
+ if (!IsValidSessionFileName(fileName))
+ continue;
+
+ RangeDispersionSession session = LoadSession(fileName);
+ if (session != null)
+ sessions.Add(session);
+ }
+
+ sessions.Sort((a, b) => string.CompareOrdinal(b.FileName, a.FileName));
+ return sessions;
+ }
+
+ public static RangeDispersionSession CreateNewSession(bool persist = true)
+ {
+ EnsureSaveDirectory();
+
+ string timestamp = DateTime.UtcNow.ToString(TimestampFormat, CultureInfo.InvariantCulture);
+ string fileName = $"{FilePrefix}{timestamp}{FileSuffix}";
+ int suffix = 1;
+ while (File.Exists(ToAbsoluteFilePath(fileName)))
+ {
+ fileName = $"{FilePrefix}{timestamp}_{suffix}{FileSuffix}";
+ suffix++;
+ }
+
+ var session = new RangeDispersionSession
+ {
+ FileName = fileName,
+ CreatedUtc = DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture),
+ UpdatedUtc = DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture)
+ };
+
+ if (persist)
+ SaveSession(session);
+ return session;
+ }
+
+ public static RangeDispersionSession LoadSession(string fileName)
+ {
+ string safeFileName = NormalizeFileName(fileName);
+ if (string.IsNullOrEmpty(safeFileName))
+ return null;
+
+ string absolutePath = ToAbsoluteFilePath(safeFileName);
+ if (!File.Exists(absolutePath))
+ return null;
+
+ try
+ {
+ string text = File.ReadAllText(absolutePath);
+ var json = new Json();
+ if (json.Parse(text) != Error.Ok || json.Data.VariantType != Variant.Type.Dictionary)
+ {
+ PhysicsLogger.Error($"RangeDispersionStore: invalid JSON in {safeFileName}.");
+ return null;
+ }
+
+ var root = (Dictionary)json.Data;
+ if (!root.ContainsKey("version"))
+ return null;
+
+ int version = VariantToInt(root["version"], 0);
+ if (version < LegacySaveVersion || version > SaveVersion)
+ {
+ PhysicsLogger.Info($"RangeDispersionStore: unsupported save version {version} in {safeFileName}.");
+ return null;
+ }
+
+ var session = new RangeDispersionSession
+ {
+ FileName = safeFileName,
+ CreatedUtc = root.ContainsKey("created_utc")
+ ? root["created_utc"].ToString()
+ : GuessCreatedUtcFromFileName(safeFileName),
+ UpdatedUtc = root.ContainsKey("updated_utc")
+ ? root["updated_utc"].ToString()
+ : string.Empty
+ };
+
+ if (root.ContainsKey("shots") && root["shots"].VariantType == Variant.Type.Array)
+ {
+ var shotsArray = (Godot.Collections.Array)root["shots"];
+ foreach (Variant variant in shotsArray)
+ {
+ if (variant.VariantType != Variant.Type.Dictionary)
+ continue;
+
+ var shotDict = (Dictionary)variant;
+ if (!TryParseShot(shotDict, out RangeDispersionShot shot))
+ continue;
+
+ session.Shots.Add(shot);
+ }
+ }
+
+ return session;
+ }
+ catch (Exception ex)
+ {
+ PhysicsLogger.Error($"RangeDispersionStore: failed loading {safeFileName}: {ex.Message}");
+ return null;
+ }
+ }
+
+ public static bool AppendShot(string fileName, RangeDispersionShot shot, out RangeDispersionSession updatedSession)
+ {
+ updatedSession = null;
+ if (shot == null)
+ return false;
+
+ string safeFileName = NormalizeFileName(fileName);
+ if (string.IsNullOrEmpty(safeFileName))
+ return false;
+
+ RangeDispersionSession session = LoadSession(safeFileName);
+ if (session == null)
+ {
+ string nowUtc = DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture);
+ session = new RangeDispersionSession
+ {
+ FileName = safeFileName,
+ CreatedUtc = GuessCreatedUtcFromFileName(safeFileName),
+ UpdatedUtc = nowUtc
+ };
+
+ if (string.IsNullOrWhiteSpace(session.CreatedUtc))
+ session.CreatedUtc = nowUtc;
+ }
+
+ shot.ClubLabel = RangeClubCatalog.NormalizeLabel(shot.ClubLabel);
+ shot.ClubTag = RangeClubCatalog.ToFileTag(shot.ClubLabel);
+ shot.RecordedUtc = string.IsNullOrWhiteSpace(shot.RecordedUtc)
+ ? DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture)
+ : shot.RecordedUtc;
+
+ session.Shots.Add(shot);
+ session.UpdatedUtc = DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture);
+ SaveSession(session);
+
+ updatedSession = session;
+ return true;
+ }
+
+ public static bool DeleteSession(string fileName)
+ {
+ string safeFileName = NormalizeFileName(fileName);
+ if (string.IsNullOrEmpty(safeFileName))
+ return false;
+
+ string absolutePath = ToAbsoluteFilePath(safeFileName);
+ if (!File.Exists(absolutePath))
+ return false;
+
+ try
+ {
+ File.Delete(absolutePath);
+ return true;
+ }
+ catch (Exception ex)
+ {
+ PhysicsLogger.Error($"RangeDispersionStore: failed deleting {safeFileName}: {ex.Message}");
+ return false;
+ }
+ }
+
+ public static string BuildSessionLabel(RangeDispersionSession session)
+ {
+ if (session == null)
+ return "Unknown";
+
+ DateTime timestamp;
+ if (!TryParseUtc(session.CreatedUtc, out timestamp))
+ TryParseUtc(GuessCreatedUtcFromFileName(session.FileName), out timestamp);
+
+ string timeLabel = timestamp != default
+ ? timestamp.ToLocalTime().ToString("yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture)
+ : session.FileName;
+
+ return $"{timeLabel} ({session.Shots.Count} shots)";
+ }
+
+ private static void SaveSession(RangeDispersionSession session)
+ {
+ if (session == null)
+ return;
+
+ string safeFileName = NormalizeFileName(session.FileName);
+ if (string.IsNullOrEmpty(safeFileName))
+ return;
+
+ EnsureSaveDirectory();
+ session.FileName = safeFileName;
+ if (string.IsNullOrWhiteSpace(session.CreatedUtc))
+ session.CreatedUtc = DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture);
+ if (string.IsNullOrWhiteSpace(session.UpdatedUtc))
+ session.UpdatedUtc = DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture);
+
+ var shotsArray = new Godot.Collections.Array();
+ foreach (RangeDispersionShot shot in session.Shots)
+ {
+ var shotDict = new Dictionary
+ {
+ { "club_label", RangeClubCatalog.NormalizeLabel(shot.ClubLabel) },
+ { "club_tag", RangeClubCatalog.ToFileTag(shot.ClubLabel) },
+ { "distance_yards", shot.DistanceYards },
+ { "carry_yards", shot.CarryYards },
+ { "offline_yards", shot.OfflineYards },
+ { "recorded_utc", string.IsNullOrWhiteSpace(shot.RecordedUtc)
+ ? DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture)
+ : shot.RecordedUtc }
+ };
+
+ if (shot.HlaDeg.HasValue && IsFinite(shot.HlaDeg.Value))
+ shotDict["hla_deg"] = shot.HlaDeg.Value;
+ if (shot.TotalSpinRpm.HasValue && IsFinite(shot.TotalSpinRpm.Value))
+ shotDict["total_spin_rpm"] = shot.TotalSpinRpm.Value;
+
+ shotsArray.Add(shotDict);
+ }
+
+ var root = new Dictionary
+ {
+ { "version", SaveVersion },
+ { "created_utc", session.CreatedUtc },
+ { "updated_utc", session.UpdatedUtc },
+ { "shots", shotsArray }
+ };
+
+ string absolutePath = ToAbsoluteFilePath(safeFileName);
+ try
+ {
+ File.WriteAllText(absolutePath, Json.Stringify(root, "\t"));
+ }
+ catch (Exception ex)
+ {
+ PhysicsLogger.Error($"RangeDispersionStore: failed writing {safeFileName}: {ex.Message}");
+ }
+ }
+
+ private static bool TryParseShot(Dictionary shotDict, out RangeDispersionShot shot)
+ {
+ shot = null;
+ if (shotDict == null)
+ return false;
+
+ string clubLabel = shotDict.ContainsKey("club_label")
+ ? RangeClubCatalog.NormalizeLabel(shotDict["club_label"].ToString())
+ : RangeClubCatalog.DefaultClubLabel;
+
+ float distanceYards = shotDict.ContainsKey("distance_yards")
+ ? VariantToFloat(shotDict["distance_yards"], 0.0f)
+ : 0.0f;
+ float carryYards = shotDict.ContainsKey("carry_yards")
+ ? VariantToFloat(shotDict["carry_yards"], 0.0f)
+ : 0.0f;
+ float offlineYards = shotDict.ContainsKey("offline_yards")
+ ? VariantToFloat(shotDict["offline_yards"], 0.0f)
+ : 0.0f;
+ float? hlaDeg = TryVariantToFloat(shotDict, "hla_deg");
+ float? totalSpinRpm = TryVariantToFloat(shotDict, "total_spin_rpm");
+ string recordedUtc = shotDict.ContainsKey("recorded_utc")
+ ? shotDict["recorded_utc"].ToString()
+ : string.Empty;
+
+ shot = new RangeDispersionShot(clubLabel, distanceYards, carryYards, offlineYards, hlaDeg, totalSpinRpm)
+ {
+ RecordedUtc = string.IsNullOrWhiteSpace(recordedUtc)
+ ? DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture)
+ : recordedUtc
+ };
+
+ return true;
+ }
+
+ private static void EnsureSaveDirectory()
+ {
+ string absolutePath = ProjectSettings.GlobalizePath(SaveDirectoryPath);
+ if (!Directory.Exists(absolutePath))
+ Directory.CreateDirectory(absolutePath);
+ }
+
+ private static string ToAbsoluteFilePath(string fileName)
+ {
+ return Path.Combine(ProjectSettings.GlobalizePath(SaveDirectoryPath), fileName);
+ }
+
+ private static string NormalizeFileName(string fileName)
+ {
+ if (!IsValidSessionFileName(fileName))
+ return string.Empty;
+
+ return Path.GetFileName(fileName);
+ }
+
+ private static bool IsValidSessionFileName(string fileName)
+ {
+ if (string.IsNullOrWhiteSpace(fileName))
+ return false;
+
+ string onlyFileName = Path.GetFileName(fileName);
+ return onlyFileName.StartsWith(FilePrefix, StringComparison.Ordinal)
+ && onlyFileName.EndsWith(FileSuffix, StringComparison.OrdinalIgnoreCase);
+ }
+
+ private static string GuessCreatedUtcFromFileName(string fileName)
+ {
+ if (string.IsNullOrWhiteSpace(fileName))
+ return DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture);
+
+ string trimmed = fileName;
+ if (trimmed.StartsWith(FilePrefix, StringComparison.Ordinal))
+ trimmed = trimmed.Substring(FilePrefix.Length);
+ if (trimmed.EndsWith(FileSuffix, StringComparison.OrdinalIgnoreCase))
+ trimmed = trimmed.Substring(0, trimmed.Length - FileSuffix.Length);
+
+ // Supports optional numeric suffixes added for collision handling.
+ string[] parts = trimmed.Split('_');
+ if (parts.Length >= 2)
+ {
+ string timestampToken = $"{parts[0]}_{parts[1]}";
+ if (DateTime.TryParseExact(
+ timestampToken,
+ TimestampFormat,
+ CultureInfo.InvariantCulture,
+ DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal,
+ out DateTime parsed))
+ {
+ return parsed.ToString("O", CultureInfo.InvariantCulture);
+ }
+ }
+
+ return DateTime.UtcNow.ToString("O", CultureInfo.InvariantCulture);
+ }
+
+ private static bool TryParseUtc(string utcText, out DateTime timestamp)
+ {
+ return DateTime.TryParse(
+ utcText,
+ CultureInfo.InvariantCulture,
+ DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal,
+ out timestamp
+ );
+ }
+
+ private static int VariantToInt(Variant value, int fallback)
+ {
+ return value.VariantType switch
+ {
+ Variant.Type.Int => (int)value,
+ Variant.Type.Float => Mathf.RoundToInt((float)value),
+ Variant.Type.String => int.TryParse((string)value, NumberStyles.Integer, CultureInfo.InvariantCulture, out int parsed) ? parsed : fallback,
+ _ => fallback
+ };
+ }
+
+ private static float VariantToFloat(Variant value, float fallback)
+ {
+ return value.VariantType switch
+ {
+ Variant.Type.Float => (float)value,
+ Variant.Type.Int => (int)value,
+ Variant.Type.String => float.TryParse((string)value, NumberStyles.Float, CultureInfo.InvariantCulture, out float parsed) ? parsed : fallback,
+ _ => fallback
+ };
+ }
+
+ private static float? TryVariantToFloat(Dictionary dictionary, string key)
+ {
+ if (dictionary == null || string.IsNullOrWhiteSpace(key) || !dictionary.ContainsKey(key))
+ return null;
+
+ float parsed = VariantToFloat(dictionary[key], float.NaN);
+ return IsFinite(parsed) ? parsed : null;
+ }
+
+ private static bool IsFinite(float value)
+ {
+ return !float.IsNaN(value) && !float.IsInfinity(value);
+ }
+}
diff --git a/game/save/RangeDispersionStore.cs.uid b/game/save/RangeDispersionStore.cs.uid
new file mode 100644
index 0000000..3b10b65
--- /dev/null
+++ b/game/save/RangeDispersionStore.cs.uid
@@ -0,0 +1 @@
+uid://hdkog3n88wyo
diff --git a/ui/CourseHud.cs b/ui/CourseHud.cs
index 5ae5130..01c74ef 100644
--- a/ui/CourseHud.cs
+++ b/ui/CourseHud.cs
@@ -8,12 +8,17 @@ public partial class CourseHud : Control
private static readonly Color ControlsThemeColor = new Color(0.0431373f, 0.180392f, 0.309804f, 0.8f);
private static readonly Color ControlsFontColor = new Color(0.96f, 0.98f, 1.0f, 1.0f);
+ private static readonly Color HoleBoxDefaultColor = new Color(1f, 1f, 1f, 1f);
+ private static readonly Color HoleBoxRangeColor = new Color(1f, 1f, 1f, 1f);
private const string MainMenuScenePath = "res://ui/main_menu.tscn";
private const string DefaultPlayerName = "JohnDoe";
private const string DefaultCourseName = "Airways";
private const int DefaultHoleNumber = 1;
private const int DefaultPar = 3;
private const int DefaultYardage = 203;
+ private const int DefaultRangeTargetYards = 100;
+ private const int DefaultRangeTargetMinYards = 5;
+ private const int DefaultRangeTargetMaxYards = 350;
private string _selectedShotPath = TestShots.DefaultShot;
private GridCanvas _gridCanvas;
@@ -23,16 +28,28 @@ public partial class CourseHud : Control
private OptionButton _shotTypeOption;
private Button _hitShotButton;
private Label _courseNameLabel;
+ private ColorRect _holeBox;
private Label _holeNumberLabel;
+ private Button _dispersionButton;
private Label _parHeaderLabel;
private Label _yardageHeaderLabel;
private Control _courseMetaBar;
private Control _courseMetaSpacer;
+ private Control _playerShotCard;
+ private Control _playerShotBottomBar;
private Label _playerNameLabel;
+ private Control _rangeTopHud;
+ private Button _rangeTargetToggleButton;
+ private Control _rangeBuilderPanel;
+ private Control _rangeControlsBar;
+ private HSlider _rangeTargetSlider;
+ private SpinBox _rangeTargetStepper;
+ private OptionButton _rangeClubOption;
private Label _shotLabel;
private Label _targetYardageLabel;
private Label _targetElevationLabel;
private Label _roundEndScoreOverlay;
+ private RangeDispersionPopup _rangeDispersionPopup;
private Tween _roundEndScoreTween;
private bool _shotControlsVisible;
private bool _isLeavingScene;
@@ -40,6 +57,12 @@ public partial class CourseHud : Control
private Setting _shotInjectorSetting;
private Setting _testShotsEnabledSetting;
private Setting _playerNameSetting;
+ private Setting _rangeDefaultClubSetting;
+ private bool _isRangeHudControlsVisible;
+ private bool _isSyncingRangeControls;
+ private int _rangeTargetMinYards = DefaultRangeTargetMinYards;
+ private int _rangeTargetMaxYards = DefaultRangeTargetMaxYards;
+ private int _rangeTargetYards = DefaultRangeTargetYards;
private DataPanel _panelDistance;
private DataPanel _panelCarry;
@@ -59,15 +82,19 @@ public override void _Ready()
_gridCanvas = GetNode("GridCanvas");
_settingsPanel = GetNodeOrNull("SettingsPanel");
+ _rangeDispersionPopup = GetNodeOrNull("RangeDispersionPopup");
GlobalSettings globalSettings = GetNode("/root/GlobalSettings");
_shotInjectorSetting = globalSettings.GameSettings.ShotInjectorEnabled;
_testShotsEnabledSetting = globalSettings.AppSettings?.TestShotsEnabled;
_playerNameSetting = globalSettings.AppSettings?.PlayerName;
+ _rangeDefaultClubSetting = globalSettings.AppSettings?.RangeDefaultClub;
_shotInjectorSetting.SettingChanged += OnShotInjectorSettingChanged;
if (_testShotsEnabledSetting != null)
_testShotsEnabledSetting.SettingChanged += OnTestShotsEnabledSettingChanged;
if (_playerNameSetting != null)
_playerNameSetting.SettingChanged += OnPlayerNameSettingChanged;
+ if (_rangeDefaultClubSetting != null)
+ _rangeDefaultClubSetting.SettingChanged += OnRangeDefaultClubSettingChanged;
_shotInjector = GetNode("ShotInjector");
_shotInjector.Inject += OnShotInjectorInject;
@@ -78,16 +105,32 @@ public override void _Ready()
_shotTypeOption = GetNode("OverlayLayer/CourseHeaderControlsRow/ShotTypeOption");
_shotTypeOption.ItemSelected += OnShotTypeSelected;
_courseNameLabel = GetNode