diff --git a/addons/gdUnit4/GdUnitRunner.cfg b/addons/gdUnit4/GdUnitRunner.cfg deleted file mode 100644 index b91a3d7..0000000 --- a/addons/gdUnit4/GdUnitRunner.cfg +++ /dev/null @@ -1 +0,0 @@ -{"included":{"res://tests/scenes/game_tests.gd":["test_save_game"]},"server_port":31002,"skipped":{},"version":"1.0"} \ No newline at end of file diff --git a/addons/gdUnit4/bin/GdUnitBuildTool.gd b/addons/gdUnit4/bin/GdUnitBuildTool.gd index c4ef66c..6e5d588 100644 --- a/addons/gdUnit4/bin/GdUnitBuildTool.gd +++ b/addons/gdUnit4/bin/GdUnitBuildTool.gd @@ -68,7 +68,7 @@ func _idle(_delta :float) -> void: exit(RETURN_ERROR, result.error_message()) return _console.prints_color("Added testcase: %s" % result.value(), Color.CORNFLOWER_BLUE) - print_json_result(result.value()) + print_json_result(result.value() as Dictionary) exit(RETURN_SUCCESS) @@ -85,7 +85,7 @@ func exit(code :int, message :String = "") -> void: func print_json_result(result :Dictionary) -> void: # convert back to system path - var path := ProjectSettings.globalize_path(result["path"]); + var path := ProjectSettings.globalize_path(result["path"] as String) var json := 'JSON_RESULT:{"TestCases" : [{"line":%d, "path": "%s"}]}' % [result["line"], path] prints(json) diff --git a/addons/gdUnit4/bin/GdUnitCmdTool.gd b/addons/gdUnit4/bin/GdUnitCmdTool.gd index 0919520..e540a5e 100644 --- a/addons/gdUnit4/bin/GdUnitCmdTool.gd +++ b/addons/gdUnit4/bin/GdUnitCmdTool.gd @@ -33,6 +33,7 @@ class CLIRunner: var _headless_mode_ignore := false var _runner_config := GdUnitRunnerConfig.new() var _runner_config_file := "" + var _debug_cmd_args: = PackedStringArray() var _console := CmdConsole.new() var _cmd_options := CmdOptions.new([ CmdOption.new( @@ -105,9 +106,10 @@ class CLIRunner: func _ready() -> void: _state = INIT _report_dir = GdUnitFileAccess.current_dir() + "reports" - _executor = load("res://addons/gdUnit4/src/core/execution/GdUnitTestSuiteExecutor.gd").new() + _executor = GdUnitTestSuiteExecutor.new() # stop checked first test failure to fail fast - _executor.fail_fast(true) + @warning_ignore("unsafe_cast") + (_executor as GdUnitTestSuiteExecutor).fail_fast(true) if GdUnit4CSharpApiLoader.is_mono_supported(): prints("GdUnit4Net version '%s' loaded." % GdUnit4CSharpApiLoader.version()) _cs_executor = GdUnit4CSharpApiLoader.create_executor(self) @@ -123,6 +125,7 @@ class CLIRunner: prints("Finallize .. done") + @warning_ignore("unsafe_method_access") func _process(_delta :float) -> void: match _state: INIT: @@ -135,7 +138,8 @@ class CLIRunner: else: set_process(false) # process next test suite - var test_suite := _test_suites_to_process.pop_front() as Node + var test_suite: Node = _test_suites_to_process.pop_front() + if _cs_executor != null and _cs_executor.IsExecutable(test_suite): _cs_executor.Execute(test_suite) await _cs_executor.ExecutionCompleted @@ -185,6 +189,7 @@ class CLIRunner: "Disabled fail fast!", Color.DEEP_SKY_BLUE ) + @warning_ignore("unsafe_method_access") _executor.fail_fast(false) @@ -199,13 +204,13 @@ class CLIRunner: func show_version() -> void: _console.prints_color( - "Godot %s" % Engine.get_version_info().get("string"), + "Godot %s" % Engine.get_version_info().get("string") as String, Color.DARK_SALMON ) var config := ConfigFile.new() config.load("addons/gdUnit4/plugin.cfg") _console.prints_color( - "GdUnit4 %s" % config.get_value("plugin", "version"), + "GdUnit4 %s" % config.get_value("plugin", "version") as String, Color.DARK_SALMON ) quit(RETURN_SUCCESS) @@ -274,6 +279,12 @@ class CLIRunner: quit(RETURN_SUCCESS) + func get_cmdline_args() -> PackedStringArray: + if _debug_cmd_args.is_empty(): + return OS.get_cmdline_args() + return _debug_cmd_args + + func init_gd_unit() -> void: _console.prints_color( """ @@ -284,7 +295,7 @@ class CLIRunner: ).new_line() var cmd_parser := CmdArgumentParser.new(_cmd_options, "GdUnitCmdTool.gd") - var result := cmd_parser.parse(OS.get_cmdline_args()) + var result := cmd_parser.parse(get_cmdline_args()) if result.is_error(): show_options() _console.prints_error(result.error_message()) @@ -297,7 +308,8 @@ class CLIRunner: return # build runner config by given commands var commands :Array[CmdCommand] = [] - commands.append_array(result.value()) + @warning_ignore("unsafe_cast") + commands.append_array(result.value() as Array) result = ( CmdCommandHandler.new(_cmd_options) .register_cb("-help", Callable(self, "show_help")) @@ -385,7 +397,7 @@ class CLIRunner: var skipped := config.skipped() if skipped.is_empty(): return - _console.prints_warning("Found excluded test suite's configured at '%s'" % _runner_config_file) + for test_suite in test_suites: # skipp c# testsuites for now if test_suite.get_script() == null: @@ -395,24 +407,26 @@ class CLIRunner: # Dictionary[String, PackedStringArray] func skip_suite(test_suite: Node, skipped: Dictionary) -> void: - var skipped_suites :Array[String] = skipped.keys() + var skipped_suites :Array = skipped.keys() var suite_name := test_suite.get_name() var test_suite_path: String = ( test_suite.get_meta("ResourcePath") if test_suite.get_script() == null else test_suite.get_script().resource_path ) - for suite_to_skip in skipped_suites: + for suite_to_skip: String in skipped_suites: # if suite skipped by path or name if ( suite_to_skip == test_suite_path or (suite_to_skip.is_valid_filename() and suite_to_skip == suite_name) ): - var skipped_tests: Array[String] = skipped.get(suite_to_skip) - var skip_reason := "Excluded by config '%s'" % _runner_config_file + var skipped_tests: PackedStringArray = skipped.get(suite_to_skip) + var skip_reason := "Excluded by configuration" # if no tests skipped test the complete suite is skipped if skipped_tests.is_empty(): - _console.prints_warning("Mark test suite '%s' as skipped!" % suite_to_skip) + _console.prints_warning("Mark the entire test suite '%s' as skipped!" % test_suite_path) + @warning_ignore("unsafe_property_access") test_suite.__is_skipped = true + @warning_ignore("unsafe_property_access") test_suite.__skip_reason = skip_reason else: # skip tests @@ -443,10 +457,8 @@ class CLIRunner: func _on_gdunit_event(event: GdUnitEvent) -> void: match event.type(): GdUnitEvent.INIT: - _report = GdUnitHtmlReport.new(_report_dir) + _report = GdUnitHtmlReport.new(_report_dir, _report_max) GdUnitEvent.STOP: - if _report == null: - _report = GdUnitHtmlReport.new(_report_dir) var report_path := _report.write() _report.delete_history(_report_max) JUnitXmlReport.new(_report._report_path, _report.iteration()).write(_report) @@ -464,45 +476,31 @@ class CLIRunner: Color.CORNFLOWER_BLUE ) GdUnitEvent.TESTSUITE_BEFORE: - _report.add_testsuite_report( - GdUnitTestSuiteReport.new(event.resource_path(), event.suite_name(), event.total_count()) - ) + _report.add_testsuite_report(event.resource_path(), event.suite_name(), event.total_count()) GdUnitEvent.TESTSUITE_AFTER: - _report.update_test_suite_report( + _report.add_testsuite_reports( event.resource_path(), - event.elapsed_time(), - event.is_error(), - event.is_failed(), - event.is_warning(), - event.is_skipped(), - event.skipped_count(), + event.error_count(), event.failed_count(), event.orphan_nodes(), + event.elapsed_time(), event.reports() ) GdUnitEvent.TESTCASE_BEFORE: - _report.add_testcase_report( - event.resource_path(), - GdUnitTestCaseReport.new( - event.resource_path(), - event.suite_name(), - event.test_name() - ) - ) + _report.add_testcase(event.resource_path(), event.suite_name(), event.test_name()) GdUnitEvent.TESTCASE_AFTER: - var test_report := GdUnitTestCaseReport.new( - event.resource_path(), - event.suite_name(), + _report.set_testcase_counters(event.resource_path(), event.test_name(), event.is_error(), - event.is_failed(), event.failed_count(), event.orphan_nodes(), event.is_skipped(), - event.reports(), - event.elapsed_time() - ) - _report.update_testcase_report(event.resource_path(), test_report) + event.is_flaky(), + event.elapsed_time()) + _report.add_testcase_reports(event.resource_path(), event.test_name(), event.reports()) + GdUnitEvent.TESTCASE_STATISTICS: + _report.update_testsuite_counters(event.resource_path(), event.is_error(), event.failed_count(), event.orphan_nodes(),\ + event.is_skipped(), event.is_flaky(), event.elapsed_time()) print_status(event) @@ -556,11 +554,12 @@ class CLIRunner: _print_failure_report(event.reports()) _print_status(event) _console.prints_color( - "Statistics: | %d tests cases | %d error | %d failed | %d skipped | %d orphans |\n" + "Statistics: | %d tests cases | %d error | %d failed | %d flaky | %d skipped | %d orphans |\n" % [ _report.test_count(), _report.error_count(), _report.failure_count(), + _report.flaky_count(), _report.skipped_count(), _report.orphan_count() ], @@ -587,14 +586,22 @@ class CLIRunner: func _print_status(event: GdUnitEvent) -> void: - if event.is_skipped(): + if event.is_flaky() and event.is_success(): + var retries :int = event.statistic(GdUnitEvent.RETRY_COUNT) + _console.print_color("FLAKY (%d retries)" % retries, Color.GREEN_YELLOW, CmdConsole.BOLD | CmdConsole.ITALIC) + elif event.is_success(): + _console.print_color("PASSED", Color.FOREST_GREEN, CmdConsole.BOLD) + elif event.is_skipped(): _console.print_color("SKIPPED", Color.GOLDENROD, CmdConsole.BOLD | CmdConsole.ITALIC) elif event.is_failed() or event.is_error(): - _console.print_color("FAILED", Color.FIREBRICK, CmdConsole.BOLD) - elif event.orphan_nodes() > 0: - _console.print_color("PASSED", Color.GOLDENROD, CmdConsole.BOLD | CmdConsole.UNDERLINE) - else: - _console.print_color("PASSED", Color.FOREST_GREEN, CmdConsole.BOLD) + var retries :int = event.statistic(GdUnitEvent.RETRY_COUNT) + if retries > 1: + _console.print_color("FAILED (retry %d)" % retries, Color.FIREBRICK, CmdConsole.BOLD) + else: + _console.print_color("FAILED", Color.FIREBRICK, CmdConsole.BOLD) + elif event.is_warning(): + _console.print_color("WARNING", Color.GOLDENROD, CmdConsole.BOLD | CmdConsole.UNDERLINE) + _console.prints_color( " %s" % LocalTime.elapsed(event.elapsed_time()), Color.CORNFLOWER_BLUE ) @@ -615,6 +622,7 @@ func _initialize() -> void: # do not use print statements on _finalize it results in random crashes func _finalize() -> void: + queue_delete(_cli_runner) if OS.is_stdout_verbose(): prints("Finallize ..") prints("-Orphan nodes report-----------------------") diff --git a/addons/gdUnit4/bin/GdUnitCopyLog.gd b/addons/gdUnit4/bin/GdUnitCopyLog.gd index 2e037a6..084ac72 100644 --- a/addons/gdUnit4/bin/GdUnitCopyLog.gd +++ b/addons/gdUnit4/bin/GdUnitCopyLog.gd @@ -4,23 +4,30 @@ extends MainLoop const GdUnitTools := preload("res://addons/gdUnit4/src/core/GdUnitTools.gd") # gdlint: disable=max-line-length -const NO_LOG_TEMPLATE = """ +const LOG_FRAME_TEMPLATE = """ - + - - - Logging - + + + Godot Logging + - -
-

No logging available!

-
-

For logging to occur, you must check Enable File Logging in Project Settings.

-

You can enable Logging Project Settings > Logging > File Logging > Enable File Logging in the Project Settings.

+ + +
+${content}
+ +""" + +const NO_LOG_MESSAGE = """ +

No logging available!

+
+

In order for logging to take place, you must activate the Activate file logging option in the project settings.

+

You can enable the logging under: +Project Settings > Debug > File Logging > Enable File Logging in the project settings.

""" #warning-ignore-all:return_value_discarded @@ -34,48 +41,65 @@ var _cmd_options := CmdOptions.new([ ) ]) + var _report_root_path: String +var _current_report_path: String +var _debug_cmd_args := PackedStringArray() func _init() -> void: - _report_root_path = GdUnitFileAccess.current_dir() + "reports" + set_report_directory(GdUnitFileAccess.current_dir() + "reports") + set_current_report_path() -func _process(_delta :float) -> bool: +func _process(_delta: float) -> bool: # check if reports exists if not reports_available(): prints("no reports found") return true - # scan for latest report path - var iteration := GdUnitFileAccess.find_last_path_index( - _report_root_path, GdUnitHtmlReport.REPORT_DIR_PREFIX - ) - var report_path := "%s/%s%d" % [_report_root_path, GdUnitHtmlReport.REPORT_DIR_PREFIX, iteration] + # only process if godot logging is enabled if not GdUnitSettings.is_log_enabled(): - _patch_report(report_path, "") + write_report(NO_LOG_MESSAGE, "") return true + # parse possible custom report path, var cmd_parser := CmdArgumentParser.new(_cmd_options, "GdUnitCmdTool.gd") # ignore erros and exit quitly - if cmd_parser.parse(OS.get_cmdline_args(), true).is_error(): + if cmd_parser.parse(get_cmdline_args(), true).is_error(): return true CmdCommandHandler.new(_cmd_options).register_cb("-rd", set_report_directory) - # scan for latest godot log and copy to report - var godot_log := _scan_latest_godot_log() - var result := _copy_and_pach(godot_log, report_path) + + var godot_log_file := scan_latest_godot_log() + var result := read_log_file_content(godot_log_file) if result.is_error(): - push_error(result.error_message()) + write_report(result.error_message(), godot_log_file) return true - _patch_report(report_path, godot_log) + write_report(result.value_as_string(), godot_log_file) return true +func set_current_report_path() -> void: + # scan for latest report directory + var iteration := GdUnitFileAccess.find_last_path_index( + _report_root_path, GdUnitHtmlReport.REPORT_DIR_PREFIX + ) + _current_report_path = "%s/%s%d" % [_report_root_path, GdUnitHtmlReport.REPORT_DIR_PREFIX, iteration] + + func set_report_directory(path: String) -> void: _report_root_path = path -func _scan_latest_godot_log() -> String: +func get_log_report_html() -> String: + return _current_report_path + "/godot_report_log.html" + + +func reports_available() -> bool: + return DirAccess.dir_exists_absolute(_report_root_path) + + +func scan_latest_godot_log() -> String: var path := GdUnitSettings.get_log_path().get_base_dir() var files_sorted := Array() for file in GdUnitFileAccess.scan_dir(path): @@ -83,59 +107,60 @@ func _scan_latest_godot_log() -> String: files_sorted.append(file_name) # sort by name, the name contains the timestamp so we sort at the end by timestamp files_sorted.sort() - return files_sorted[-1] + return files_sorted.back() -func _patch_report(report_path: String, godot_log: String) -> void: - var index_file := FileAccess.open("%s/index.html" % report_path, FileAccess.READ_WRITE) +func read_log_file_content(log_file: String) -> GdUnitResult: + var file := FileAccess.open(log_file, FileAccess.READ) + if file == null: + return GdUnitResult.error( + "Can't find log file '%s'. Error: %s" + % [log_file, error_string(FileAccess.get_open_error())] + ) + var content := "
" + file.get_as_text()
+	# patch out console format codes
+	for color_index in range(0, 256):
+		var to_replace := "[38;5;%dm" % color_index
+		content = content.replace(to_replace, "")
+	content += "
" + content = content\ + .replace("", "")\ + .replace(CmdConsole.CSI_BOLD, "")\ + .replace(CmdConsole.CSI_ITALIC, "")\ + .replace(CmdConsole.CSI_UNDERLINE, "") + return GdUnitResult.success(content) + + +func write_report(content: String, godot_log_file: String) -> GdUnitResult: + var file := FileAccess.open(get_log_report_html(), FileAccess.WRITE) + if file == null: + return GdUnitResult.error( + "Can't open to write '%s'. Error: %s" + % [get_log_report_html(), error_string(FileAccess.get_open_error())] + ) + var report_html := LOG_FRAME_TEMPLATE.replace("${content}", content) + file.store_string(report_html) + _update_index_html(godot_log_file) + return GdUnitResult.success(file) + + +func _update_index_html(godot_log_file: String) -> void: + var index_file := FileAccess.open("%s/index.html" % _current_report_path, FileAccess.READ_WRITE) if index_file == null: push_error( "Can't add log path to index.html. Error: %s" % error_string(FileAccess.get_open_error()) ) return - # if no log file available than add a information howto enable it - if godot_log.is_empty(): - FileAccess.open( - "%s/logging_not_available.html" % report_path, - FileAccess.WRITE).store_string(NO_LOG_TEMPLATE) - var log_file := "logging_not_available.html" if godot_log.is_empty() else godot_log.get_file() - var content := index_file.get_as_text().replace("${log_file}", log_file) + var content := index_file.get_as_text()\ + .replace("${log_report}", get_log_report_html())\ + .replace("${godot_log_file}", godot_log_file) # overide it index_file.seek(0) index_file.store_string(content) -func _copy_and_pach(from_file: String, to_dir: String) -> GdUnitResult: - var result := GdUnitFileAccess.copy_file(from_file, to_dir) - if result.is_error(): - return result - var file := FileAccess.open(from_file, FileAccess.READ) - if file == null: - return GdUnitResult.error( - "Can't find file '%s'. Error: %s" - % [from_file, error_string(FileAccess.get_open_error())] - ) - var content := file.get_as_text() - # patch out console format codes - for color_index in range(0, 256): - var to_replace := "[38;5;%dm" % color_index - content = content.replace(to_replace, "") - content = content\ - .replace("", "")\ - .replace(CmdConsole.CSI_BOLD, "")\ - .replace(CmdConsole.CSI_ITALIC, "")\ - .replace(CmdConsole.CSI_UNDERLINE, "") - var to_file := to_dir + "/" + from_file.get_file() - file = FileAccess.open(to_file, FileAccess.WRITE) - if file == null: - return GdUnitResult.error( - "Can't open to write '%s'. Error: %s" - % [to_file, error_string(FileAccess.get_open_error())] - ) - file.store_string(content) - return GdUnitResult.empty() - - -func reports_available() -> bool: - return DirAccess.dir_exists_absolute(_report_root_path) +func get_cmdline_args() -> PackedStringArray: + if _debug_cmd_args.is_empty(): + return OS.get_cmdline_args() + return _debug_cmd_args diff --git a/addons/gdUnit4/bin/ProjectScanner.gd b/addons/gdUnit4/bin/ProjectScanner.gd deleted file mode 100644 index 93c40de..0000000 --- a/addons/gdUnit4/bin/ProjectScanner.gd +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env -S godot -s -@tool -extends SceneTree - -const CmdConsole = preload("res://addons/gdUnit4/src/cmd/CmdConsole.gd") - - -func _initialize() -> void: - set_auto_accept_quit(false) - var scanner := SourceScanner.new(self) - root.add_child(scanner) - - -# gdlint: disable=trailing-whitespace -class SourceScanner extends Node: - - enum { - INIT, - STARTUP, - SCAN, - QUIT, - DONE - } - - var _state := INIT - var _console := CmdConsole.new() - var _elapsed_time := 0.0 - var _plugin: EditorPlugin - var _fs: EditorFileSystem - var _scene: SceneTree - - - func _init(scene :SceneTree) -> void: - _scene = scene - _console.prints_color(""" - ======================================================================== - Running project scan:""".dedent(), - Color.CORNFLOWER_BLUE - ) - _state = INIT - - - func _process(delta :float) -> void: - _elapsed_time += delta - set_process(false) - await_inital_scan() - await scan_project() - set_process(true) - - - # !! don't use any await in this phase otherwise the editor will be instable !! - func await_inital_scan() -> void: - if _state == INIT: - _console.prints_color("Wait initial scanning ...", Color.DARK_GREEN) - _plugin = EditorPlugin.new() - _fs = _plugin.get_editor_interface().get_resource_filesystem() - _plugin.get_editor_interface().set_plugin_enabled("gdUnit4", false) - _state = STARTUP - - if _state == STARTUP: - if _fs.is_scanning(): - _console.progressBar(_fs.get_scanning_progress() * 100 as int) - # we wait 10s in addition to be on the save site the scanning is done - if _elapsed_time > 10.0: - _console.progressBar(100) - _console.new_line() - _console.prints_color("initial scanning ... done", Color.DARK_GREEN) - _state = SCAN - - - func scan_project() -> void: - if _state != SCAN: - return - _console.prints_color("Scan project: ", Color.SANDY_BROWN) - await get_tree().process_frame - _fs.scan_sources() - await get_tree().create_timer(5).timeout - _console.prints_color("Scan: ", Color.SANDY_BROWN) - _console.progressBar(0) - await get_tree().process_frame - _fs.scan() - while _fs.is_scanning(): - await get_tree().process_frame - _console.progressBar(_fs.get_scanning_progress() * 100 as int) - await get_tree().create_timer(10).timeout - _console.progressBar(100) - _console.new_line() - _plugin.free() - _console.prints_color(""" - Scan project done. - ========================================================================""".dedent(), - Color.CORNFLOWER_BLUE - ) - await get_tree().process_frame - await get_tree().physics_frame - queue_free() - # force quit editor - _state = DONE - _scene.quit(0) diff --git a/addons/gdUnit4/plugin.cfg b/addons/gdUnit4/plugin.cfg index 11f9d21..2070c97 100644 --- a/addons/gdUnit4/plugin.cfg +++ b/addons/gdUnit4/plugin.cfg @@ -3,5 +3,5 @@ name="gdUnit4" description="Unit Testing Framework for Godot Scripts" author="Mike Schulze" -version="4.3.1" +version="4.4.3" script="plugin.gd" diff --git a/addons/gdUnit4/plugin.gd b/addons/gdUnit4/plugin.gd index c17fdc9..b7887c8 100644 --- a/addons/gdUnit4/plugin.gd +++ b/addons/gdUnit4/plugin.gd @@ -1,17 +1,20 @@ @tool extends EditorPlugin -const GdUnitTools := preload("res://addons/gdUnit4/src/core/GdUnitTools.gd") -const GdUnitTestDiscoverGuard := preload("res://addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverGuard.gd") +const GdUnitTools := preload ("res://addons/gdUnit4/src/core/GdUnitTools.gd") +const GdUnitTestDiscoverGuard := preload ("res://addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverGuard.gd") -var _gd_inspector :Node -var _server_node :Node -var _gd_console :Node +var _gd_inspector: Control +var _gd_console: Control var _guard: GdUnitTestDiscoverGuard func _enter_tree() -> void: + if check_running_in_test_env(): + @warning_ignore("return_value_discarded") + CmdConsole.new().prints_warning("It was recognized that GdUnit4 is running in a test environment, therefore the GdUnit4 plugin will not be executed!") + return if Engine.get_version_info().hex < 0x40200: prints("GdUnit4 plugin requires a minimum of Godot 4.2.x Version!") return @@ -21,34 +24,39 @@ func _enter_tree() -> void: add_control_to_dock(EditorPlugin.DOCK_SLOT_LEFT_UR, _gd_inspector) # install the GdUnit Console _gd_console = load("res://addons/gdUnit4/src/ui/GdUnitConsole.tscn").instantiate() + @warning_ignore("return_value_discarded") add_control_to_bottom_panel(_gd_console, "gdUnitConsole") - _server_node = load("res://addons/gdUnit4/src/network/GdUnitServer.tscn").instantiate() - Engine.get_main_loop().root.add_child.call_deferred(_server_node) prints("Loading GdUnit4 Plugin success") if GdUnitSettings.is_update_notification_enabled(): - var update_tool :Node = load("res://addons/gdUnit4/src/update/GdUnitUpdateNotify.tscn").instantiate() + var update_tool: Node = load("res://addons/gdUnit4/src/update/GdUnitUpdateNotify.tscn").instantiate() Engine.get_main_loop().root.add_child.call_deferred(update_tool) if GdUnit4CSharpApiLoader.is_mono_supported(): prints("GdUnit4Net version '%s' loaded." % GdUnit4CSharpApiLoader.version()) # connect to be notified for script changes to be able to discover new tests _guard = GdUnitTestDiscoverGuard.new() + @warning_ignore("return_value_discarded") resource_saved.connect(_on_resource_saved) func _exit_tree() -> void: + if check_running_in_test_env(): + return if is_instance_valid(_gd_inspector): remove_control_from_docks(_gd_inspector) - GodotVersionFixures.free_fix(_gd_inspector) + _gd_inspector.free() if is_instance_valid(_gd_console): remove_control_from_bottom_panel(_gd_console) _gd_console.free() - if is_instance_valid(_server_node): - Engine.get_main_loop().root.remove_child.call_deferred(_server_node) - _server_node.queue_free() - GdUnitTools.dispose_all.call_deferred() + GdUnitTools.dispose_all(true) prints("Unload GdUnit4 Plugin success") -func _on_resource_saved(resource :Resource) -> void: +func check_running_in_test_env() -> bool: + var args := OS.get_cmdline_args() + args.append_array(OS.get_cmdline_user_args()) + return DisplayServer.get_name() == "headless" or args.has("--selftest") or args.has("--add") or args.has("-a") or args.has("--quit-after") or args.has("--import") + + +func _on_resource_saved(resource: Resource) -> void: if resource is Script: - _guard.discover(resource) + await _guard.discover(resource as Script) diff --git a/addons/gdUnit4/src/GdUnitArrayAssert.gd b/addons/gdUnit4/src/GdUnitArrayAssert.gd index 3fdaaca..cc2226d 100644 --- a/addons/gdUnit4/src/GdUnitArrayAssert.gd +++ b/addons/gdUnit4/src/GdUnitArrayAssert.gd @@ -158,3 +158,14 @@ func extractv( extractor8 :GdUnitValueExtractor = null, extractor9 :GdUnitValueExtractor = null) -> GdUnitArrayAssert: return self + + + +@warning_ignore("unused_parameter") +func override_failure_message(message :String) -> GdUnitArrayAssert: + return self + + +@warning_ignore("unused_parameter") +func append_failure_message(message :String) -> GdUnitArrayAssert: + return self diff --git a/addons/gdUnit4/src/GdUnitAssert.gd b/addons/gdUnit4/src/GdUnitAssert.gd index d2a5fd0..6b35475 100644 --- a/addons/gdUnit4/src/GdUnitAssert.gd +++ b/addons/gdUnit4/src/GdUnitAssert.gd @@ -18,19 +18,19 @@ func is_not_null(): ## Verifies that the current value is equal to expected one. @warning_ignore("unused_parameter") @warning_ignore("untyped_declaration") -func is_equal(expected): +func is_equal(expected: Variant): return self ## Verifies that the current value is not equal to expected one. @warning_ignore("unused_parameter") @warning_ignore("untyped_declaration") -func is_not_equal(expected): +func is_not_equal(expected: Variant): return self @warning_ignore("untyped_declaration") -func test_fail(): +func do_fail(): return self @@ -39,3 +39,11 @@ func test_fail(): @warning_ignore("untyped_declaration") func override_failure_message(message :String): return self + + +## Appends a custom message to the failure message. +## This can be used to add additional infromations to the generated failure message. +@warning_ignore("unused_parameter") +@warning_ignore("untyped_declaration") +func append_failure_message(message :String): + return self diff --git a/addons/gdUnit4/src/GdUnitAwaiter.gd b/addons/gdUnit4/src/GdUnitAwaiter.gd index fc2e487..51385e8 100644 --- a/addons/gdUnit4/src/GdUnitAwaiter.gd +++ b/addons/gdUnit4/src/GdUnitAwaiter.gd @@ -1,8 +1,6 @@ class_name GdUnitAwaiter extends RefCounted -const GdUnitAssertImpl = preload("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd") - # Waits for a specified signal in an interval of 50ms sent from the , and terminates with an error after the specified timeout has elapsed. # source: the object from which the signal is emitted @@ -14,16 +12,19 @@ func await_signal_on(source :Object, signal_name :String, args :Array = [], time var assert_that := GdUnitAssertImpl.new(signal_name) var line_number := GdUnitAssertions.get_line_number() if not is_instance_valid(source): + @warning_ignore("return_value_discarded") assert_that.report_error(GdAssertMessages.error_await_signal_on_invalid_instance(source, signal_name, args), line_number) - return await Engine.get_main_loop().process_frame + return await (Engine.get_main_loop() as SceneTree).process_frame # fail fast if the given source instance invalid if not is_instance_valid(source): + @warning_ignore("return_value_discarded") assert_that.report_error(GdAssertMessages.error_await_signal_on_invalid_instance(source, signal_name, args), line_number) return await await_idle_frame() var awaiter := GdUnitSignalAwaiter.new(timeout_millis) var value :Variant = await awaiter.on_signal(source, signal_name, args) if awaiter.is_interrupted(): var failure := "await_signal_on(%s, %s) timed out after %sms" % [signal_name, args, timeout_millis] + @warning_ignore("return_value_discarded") assert_that.report_error(failure, line_number) return value @@ -37,6 +38,7 @@ func await_signal_idle_frames(source :Object, signal_name :String, args :Array = var line_number := GdUnitAssertions.get_line_number() # fail fast if the given source instance invalid if not is_instance_valid(source): + @warning_ignore("return_value_discarded") GdUnitAssertImpl.new(signal_name)\ .report_error(GdAssertMessages.error_await_signal_on_invalid_instance(source, signal_name, args), line_number) return await await_idle_frame() @@ -44,6 +46,7 @@ func await_signal_idle_frames(source :Object, signal_name :String, args :Array = var value :Variant = await awaiter.on_signal(source, signal_name, args) if awaiter.is_interrupted(): var failure := "await_signal_idle_frames(%s, %s) timed out after %sms" % [signal_name, args, timeout_millis] + @warning_ignore("return_value_discarded") GdUnitAssertImpl.new(signal_name).report_error(failure, line_number) return value @@ -56,7 +59,7 @@ func await_signal_idle_frames(source :Object, signal_name :String, args :Array = func await_millis(milliSec :int) -> void: var timer :Timer = Timer.new() timer.set_name("gdunit_await_millis_timer_%d" % timer.get_instance_id()) - Engine.get_main_loop().root.add_child(timer) + (Engine.get_main_loop() as SceneTree).root.add_child(timer) timer.add_to_group("GdUnitTimers") timer.set_one_shot(true) timer.start(milliSec / 1000.0) @@ -66,4 +69,4 @@ func await_millis(milliSec :int) -> void: # Waits until the next idle frame func await_idle_frame() -> void: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame diff --git a/addons/gdUnit4/src/GdUnitFailureAssert.gd b/addons/gdUnit4/src/GdUnitFailureAssert.gd index 64ff965..1ee987f 100644 --- a/addons/gdUnit4/src/GdUnitFailureAssert.gd +++ b/addons/gdUnit4/src/GdUnitFailureAssert.gd @@ -29,3 +29,9 @@ func has_message(expected: String) -> GdUnitFailureAssert: @warning_ignore("unused_parameter") func starts_with_message(expected: String) -> GdUnitFailureAssert: return self + + +## Verifies that the failure message contains the expected message. +@warning_ignore("unused_parameter") +func contains_message(expected: String) -> GdUnitFailureAssert: + return self diff --git a/addons/gdUnit4/src/GdUnitFloatAssert.gd b/addons/gdUnit4/src/GdUnitFloatAssert.gd index 8f24f56..6ce5f1e 100644 --- a/addons/gdUnit4/src/GdUnitFloatAssert.gd +++ b/addons/gdUnit4/src/GdUnitFloatAssert.gd @@ -3,15 +3,15 @@ class_name GdUnitFloatAssert extends GdUnitAssert -## Verifies that the current value is equal to expected one. +## Verifies that the current String is equal to the given one. @warning_ignore("unused_parameter") -func is_equal(expected :float) -> GdUnitFloatAssert: +func is_equal(expected :Variant) -> GdUnitFloatAssert: return self -## Verifies that the current value is not equal to expected one. +## Verifies that the current String is not equal to the given one. @warning_ignore("unused_parameter") -func is_not_equal(expected :float) -> GdUnitFloatAssert: +func is_not_equal(expected :Variant) -> GdUnitFloatAssert: return self diff --git a/addons/gdUnit4/src/GdUnitFuncAssert.gd b/addons/gdUnit4/src/GdUnitFuncAssert.gd index c5e0e5f..75e8ebd 100644 --- a/addons/gdUnit4/src/GdUnitFuncAssert.gd +++ b/addons/gdUnit4/src/GdUnitFuncAssert.gd @@ -5,39 +5,39 @@ extends GdUnitAssert ## Verifies that the current value is null. func is_null() -> GdUnitFuncAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self ## Verifies that the current value is not null. func is_not_null() -> GdUnitFuncAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self ## Verifies that the current value is equal to the given one. @warning_ignore("unused_parameter") func is_equal(expected :Variant) -> GdUnitFuncAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self ## Verifies that the current value is not equal to the given one. @warning_ignore("unused_parameter") func is_not_equal(expected :Variant) -> GdUnitFuncAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self ## Verifies that the current value is true. func is_true() -> GdUnitFuncAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self ## Verifies that the current value is false. func is_false() -> GdUnitFuncAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self diff --git a/addons/gdUnit4/src/GdUnitGodotErrorAssert.gd b/addons/gdUnit4/src/GdUnitGodotErrorAssert.gd index d689625..c5e9f86 100644 --- a/addons/gdUnit4/src/GdUnitGodotErrorAssert.gd +++ b/addons/gdUnit4/src/GdUnitGodotErrorAssert.gd @@ -9,7 +9,7 @@ extends GdUnitAssert ## await assert_error().is_success() ## [/codeblock] func is_success() -> GdUnitGodotErrorAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self @@ -20,7 +20,7 @@ func is_success() -> GdUnitGodotErrorAssert: ## [/codeblock] @warning_ignore("unused_parameter") func is_runtime_error(expected_error :String) -> GdUnitGodotErrorAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self @@ -31,7 +31,7 @@ func is_runtime_error(expected_error :String) -> GdUnitGodotErrorAssert: ## [/codeblock] @warning_ignore("unused_parameter") func is_push_warning(expected_warning :String) -> GdUnitGodotErrorAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self @@ -42,5 +42,5 @@ func is_push_warning(expected_warning :String) -> GdUnitGodotErrorAssert: ## [/codeblock] @warning_ignore("unused_parameter") func is_push_error(expected_error :String) -> GdUnitGodotErrorAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self diff --git a/addons/gdUnit4/src/GdUnitIntAssert.gd b/addons/gdUnit4/src/GdUnitIntAssert.gd index 584788f..d593edf 100644 --- a/addons/gdUnit4/src/GdUnitIntAssert.gd +++ b/addons/gdUnit4/src/GdUnitIntAssert.gd @@ -2,16 +2,15 @@ class_name GdUnitIntAssert extends GdUnitAssert - -## Verifies that the current value is equal to expected one. +## Verifies that the current String is equal to the given one. @warning_ignore("unused_parameter") -func is_equal(expected :int) -> GdUnitIntAssert: +func is_equal(expected :Variant) -> GdUnitIntAssert: return self -## Verifies that the current value is not equal to expected one. +## Verifies that the current String is not equal to the given one. @warning_ignore("unused_parameter") -func is_not_equal(expected :int) -> GdUnitIntAssert: +func is_not_equal(expected :Variant) -> GdUnitIntAssert: return self diff --git a/addons/gdUnit4/src/GdUnitSceneRunner.gd b/addons/gdUnit4/src/GdUnitSceneRunner.gd index 5707a6a..184be50 100644 --- a/addons/gdUnit4/src/GdUnitSceneRunner.gd +++ b/addons/gdUnit4/src/GdUnitSceneRunner.gd @@ -1,17 +1,81 @@ -## The scene runner for GdUnit to simmulate scene interactions +## The Scene Runner is a tool used for simulating interactions on a scene. +## With this tool, you can simulate input events such as keyboard or mouse input and/or simulate scene processing over a certain number of frames. +## This tool is typically used for integration testing a scene. class_name GdUnitSceneRunner extends RefCounted const NO_ARG = GdUnitConstants.NO_ARG -## Sets the mouse cursor to given position relative to the viewport. +## Simulates that an action has been pressed.[br] +## [member action] : the action e.g. [code]"ui_up"[/code][br] @warning_ignore("unused_parameter") -func set_mouse_pos(pos :Vector2) -> GdUnitSceneRunner: +func simulate_action_pressed(action: String) -> GdUnitSceneRunner: return self -## Gets the current mouse position of the current viewport +## Simulates that an action is pressed.[br] +## [member action] : the action e.g. [code]"ui_up"[/code][br] +@warning_ignore("unused_parameter") +func simulate_action_press(action: String) -> GdUnitSceneRunner: + return self + + +## Simulates that an action has been released.[br] +## [member action] : the action e.g. [code]"ui_up"[/code][br] +@warning_ignore("unused_parameter") +func simulate_action_release(action: String) -> GdUnitSceneRunner: + return self + + +## Simulates that a key has been pressed.[br] +## [member key_code] : the key code e.g. [constant KEY_ENTER][br] +## [member shift_pressed] : false by default set to true if simmulate shift is press[br] +## [member ctrl_pressed] : false by default set to true if simmulate control is press[br] +## [codeblock] +## func test_key_presssed(): +## var runner = scene_runner("res://scenes/simple_scene.tscn") +## await runner.simulate_key_pressed(KEY_SPACE) +## [/codeblock] +@warning_ignore("unused_parameter") +func simulate_key_pressed(key_code: int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: + await (Engine.get_main_loop() as SceneTree).process_frame + return self + + +## Simulates that a key is pressed.[br] +## [member key_code] : the key code e.g. [constant KEY_ENTER][br] +## [member shift_pressed] : false by default set to true if simmulate shift is press[br] +## [member ctrl_pressed] : false by default set to true if simmulate control is press[br] +@warning_ignore("unused_parameter") +func simulate_key_press(key_code: int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: + return self + + +## Simulates that a key has been released.[br] +## [member key_code] : the key code e.g. [constant KEY_ENTER][br] +## [member shift_pressed] : false by default set to true if simmulate shift is press[br] +## [member ctrl_pressed] : false by default set to true if simmulate control is press[br] +@warning_ignore("unused_parameter") +func simulate_key_release(key_code: int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: + return self + + +## Sets the mouse cursor to given position relative to the viewport. +## @deprecated: Use [set_mouse_position] instead. +@warning_ignore("unused_parameter") +func set_mouse_pos(position: Vector2) -> GdUnitSceneRunner: + return self + + +## Sets the mouse position to the specified vector, provided in pixels and relative to an origin at the upper left corner of the currently focused Window Manager game window.[br] +## [member position] : The absolute position in pixels as Vector2 +@warning_ignore("unused_parameter") +func set_mouse_position(position: Vector2) -> GdUnitSceneRunner: + return self + + +## Returns the mouse's position in this Viewport using the coordinate system of this Viewport. func get_mouse_position() -> Vector2: return Vector2.ZERO @@ -21,58 +85,10 @@ func get_global_mouse_position() -> Vector2: return Vector2.ZERO -## Simulates that an action has been pressed.[br] -## [member action] : the action e.g. [code]"ui_up"[/code][br] -@warning_ignore("unused_parameter") -func simulate_action_pressed(action :String) -> GdUnitSceneRunner: - return self - - -## Simulates that an action is pressed.[br] -## [member action] : the action e.g. [code]"ui_up"[/code][br] -@warning_ignore("unused_parameter") -func simulate_action_press(action :String) -> GdUnitSceneRunner: - return self - - -## Simulates that an action has been released.[br] -## [member action] : the action e.g. [code]"ui_up"[/code][br] -@warning_ignore("unused_parameter") -func simulate_action_release(action :String) -> GdUnitSceneRunner: - return self - - -## Simulates that a key has been pressed.[br] -## [member key_code] : the key code e.g. [constant KEY_ENTER][br] -## [member shift_pressed] : false by default set to true if simmulate shift is press[br] -## [member ctrl_pressed] : false by default set to true if simmulate control is press[br] -@warning_ignore("unused_parameter") -func simulate_key_pressed(key_code :int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: - return self - - -## Simulates that a key is pressed.[br] -## [member key_code] : the key code e.g. [constant KEY_ENTER][br] -## [member shift_pressed] : false by default set to true if simmulate shift is press[br] -## [member ctrl_pressed] : false by default set to true if simmulate control is press[br] -@warning_ignore("unused_parameter") -func simulate_key_press(key_code :int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: - return self - - -## Simulates that a key has been released.[br] -## [member key_code] : the key code e.g. [constant KEY_ENTER][br] -## [member shift_pressed] : false by default set to true if simmulate shift is press[br] -## [member ctrl_pressed] : false by default set to true if simmulate control is press[br] -@warning_ignore("unused_parameter") -func simulate_key_release(key_code :int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: - return self - - ## Simulates a mouse moved to final position.[br] -## [member pos] : The final mouse position +## [member position] : The final mouse position @warning_ignore("unused_parameter") -func simulate_mouse_move(pos :Vector2) -> GdUnitSceneRunner: +func simulate_mouse_move(position: Vector2) -> GdUnitSceneRunner: return self @@ -89,7 +105,7 @@ func simulate_mouse_move(pos :Vector2) -> GdUnitSceneRunner: ## [/codeblock] @warning_ignore("unused_parameter") func simulate_mouse_move_relative(relative: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self @@ -106,36 +122,149 @@ func simulate_mouse_move_relative(relative: Vector2, time: float = 1.0, trans_ty ## [/codeblock] @warning_ignore("unused_parameter") func simulate_mouse_move_absolute(position: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self ## Simulates a mouse button pressed.[br] -## [member buttonIndex] : The mouse button identifier, one of the [enum MouseButton] or button wheel constants. +## [member button_index] : The mouse button identifier, one of the [enum MouseButton] or button wheel constants. +## [member double_click] : Set to true to simulate a double-click @warning_ignore("unused_parameter") -func simulate_mouse_button_pressed(buttonIndex :MouseButton, double_click := false) -> GdUnitSceneRunner: +func simulate_mouse_button_pressed(button_index: MouseButton, double_click := false) -> GdUnitSceneRunner: return self ## Simulates a mouse button press (holding)[br] -## [member buttonIndex] : The mouse button identifier, one of the [enum MouseButton] or button wheel constants. +## [member button_index] : The mouse button identifier, one of the [enum MouseButton] or button wheel constants. +## [member double_click] : Set to true to simulate a double-click @warning_ignore("unused_parameter") -func simulate_mouse_button_press(buttonIndex :MouseButton, double_click := false) -> GdUnitSceneRunner: +func simulate_mouse_button_press(button_index: MouseButton, double_click := false) -> GdUnitSceneRunner: return self ## Simulates a mouse button released.[br] -## [member buttonIndex] : The mouse button identifier, one of the [enum MouseButton] or button wheel constants. +## [member button_index] : The mouse button identifier, one of the [enum MouseButton] or button wheel constants. @warning_ignore("unused_parameter") -func simulate_mouse_button_release(buttonIndex :MouseButton) -> GdUnitSceneRunner: +func simulate_mouse_button_release(button_index: MouseButton) -> GdUnitSceneRunner: return self +## Simulates a screen touch is pressed.[br] +## [member index] : The touch index in the case of a multi-touch event.[br] +## [member position] : The position to touch the screen.[br] +## [member double_tap] : If true, the touch's state is a double tab. +@warning_ignore("unused_parameter") +func simulate_screen_touch_pressed(index: int, position: Vector2, double_tap := false) -> GdUnitSceneRunner: + return self + + +## Simulates a screen touch press without releasing it immediately, effectively simulating a "hold" action.[br] +## [member index] : The touch index in the case of a multi-touch event.[br] +## [member position] : The position to touch the screen.[br] +## [member double_tap] : If true, the touch's state is a double tab. +@warning_ignore("unused_parameter") +func simulate_screen_touch_press(index: int, position: Vector2, double_tap := false) -> GdUnitSceneRunner: + return self + + +## Simulates a screen touch is released.[br] +## [member index] : The touch index in the case of a multi-touch event.[br] +## [member double_tap] : If true, the touch's state is a double tab. +@warning_ignore("unused_parameter") +func simulate_screen_touch_release(index: int, double_tap := false) -> GdUnitSceneRunner: + return self + + +## Simulates a touch drag and drop event to a relative position.[br] +## [color=yellow]You must use [b]await[/b] to wait until the simulated drag&drop is complete.[/color][br] +## [br] +## [member index] : The touch index in the case of a multi-touch event.[br] +## [member relative] : The relative position, indicating the drag&drop position offset.[br] +## [member time] : The time to move to the relative position in seconds (default is 1 second).[br] +## [member trans_type] : Sets the type of transition used (default is TRANS_LINEAR).[br] +## [codeblock] +## func test_touch_drag_drop(): +## var runner = scene_runner("res://scenes/simple_scene.tscn") +## # start drag at position 50,50 +## runner.simulate_screen_touch_drag_begin(1, Vector2(50, 50)) +## # and drop it at final at 150,50 relative (50,50 + 100,0) +## await runner.simulate_screen_touch_drag_relative(1, Vector2(100,0)) +## [/codeblock] +@warning_ignore("unused_parameter") +func simulate_screen_touch_drag_relative(index: int, relative: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: + await (Engine.get_main_loop() as SceneTree).process_frame + return self + + +## Simulates a touch screen drop to the absolute coordinates (offset).[br] +## [color=yellow]You must use [b]await[/b] to wait until the simulated drop is complete.[/color][br] +## [br] +## [member index] : The touch index in the case of a multi-touch event.[br] +## [member position] : The final position, indicating the drop position.[br] +## [member time] : The time to move to the final position in seconds (default is 1 second).[br] +## [member trans_type] : Sets the type of transition used (default is TRANS_LINEAR).[br] +## [codeblock] +## func test_touch_drag_drop(): +## var runner = scene_runner("res://scenes/simple_scene.tscn") +## # start drag at position 50,50 +## runner.simulate_screen_touch_drag_begin(1, Vector2(50, 50)) +## # and drop it at 100,50 +## await runner.simulate_screen_touch_drag_absolute(1, Vector2(100,50)) +## [/codeblock] +@warning_ignore("unused_parameter") +func simulate_screen_touch_drag_absolute(index: int, position: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: + await (Engine.get_main_loop() as SceneTree).process_frame + return self + + +## Simulates a complete drag and drop event from one position to another.[br] +## This is ideal for testing complex drag-and-drop scenarios that require a specific start and end position.[br] +## [color=yellow]You must use [b]await[/b] to wait until the simulated drop is complete.[/color][br] +## [br] +## [member index] : The touch index in the case of a multi-touch event.[br] +## [member position] : The drag start position, indicating the drag position.[br] +## [member drop_position] : The drop position, indicating the drop position.[br] +## [member time] : The time to move to the final position in seconds (default is 1 second).[br] +## [member trans_type] : Sets the type of transition used (default is TRANS_LINEAR).[br] +## [codeblock] +## func test_touch_drag_drop(): +## var runner = scene_runner("res://scenes/simple_scene.tscn") +## # start drag at position 50,50 and drop it at 100,50 +## await runner.simulate_screen_touch_drag_drop(1, Vector2(50, 50), Vector2(100,50)) +## [/codeblock] +@warning_ignore("unused_parameter") +func simulate_screen_touch_drag_drop(index: int, position: Vector2, drop_position: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: + await (Engine.get_main_loop() as SceneTree).process_frame + return self + + +## Simulates a touch screen drag event to given position.[br] +## [member index] : The touch index in the case of a multi-touch event.[br] +## [member position] : The drag start position, indicating the drag position.[br] +@warning_ignore("unused_parameter") +func simulate_screen_touch_drag(index: int, position: Vector2) -> GdUnitSceneRunner: + return self + + +## Returns the actual position of the touchscreen drag position by given index. +## [member index] : The touch index in the case of a multi-touch event.[br] +@warning_ignore("unused_parameter") +func get_screen_touch_drag_position(index: int) -> Vector2: + return Vector2.ZERO + + ## Sets how fast or slow the scene simulation is processed (clock ticks versus the real).[br] ## It defaults to 1.0. A value of 2.0 means the game moves twice as fast as real life, ## whilst a value of 0.5 means the game moves at half the regular speed. + + +## Sets the time factor for the scene simulation. +## [member time_factor] : A float representing the simulation speed.[br] +## - Default is 1.0, meaning the simulation runs at normal speed.[br] +## - A value of 2.0 means the simulation runs twice as fast as real time.[br] +## - A value of 0.5 means the simulation runs at half the regular speed.[br] @warning_ignore("unused_parameter") -func set_time_factor(time_factor := 1.0) -> GdUnitSceneRunner: +func set_time_factor(time_factor: float = 1.0) -> GdUnitSceneRunner: return self @@ -143,8 +272,8 @@ func set_time_factor(time_factor := 1.0) -> GdUnitSceneRunner: ## [member frames] : amount of frames to process[br] ## [member delta_milli] : the time delta between a frame in milliseconds @warning_ignore("unused_parameter") -func simulate_frames(frames: int, delta_milli :int = -1) -> GdUnitSceneRunner: - await Engine.get_main_loop().process_frame +func simulate_frames(frames: int, delta_milli: int = -1) -> GdUnitSceneRunner: + await (Engine.get_main_loop() as SceneTree).process_frame return self @@ -153,18 +282,18 @@ func simulate_frames(frames: int, delta_milli :int = -1) -> GdUnitSceneRunner: ## [member args] : optional signal arguments to be matched for stop[br] @warning_ignore("unused_parameter") func simulate_until_signal( - signal_name :String, - arg0 :Variant = NO_ARG, - arg1 :Variant = NO_ARG, - arg2 :Variant = NO_ARG, - arg3 :Variant = NO_ARG, - arg4 :Variant = NO_ARG, - arg5 :Variant = NO_ARG, - arg6 :Variant = NO_ARG, - arg7 :Variant = NO_ARG, - arg8 :Variant = NO_ARG, - arg9 :Variant = NO_ARG) -> GdUnitSceneRunner: - await Engine.get_main_loop().process_frame + signal_name: String, + arg0: Variant = NO_ARG, + arg1: Variant = NO_ARG, + arg2: Variant = NO_ARG, + arg3: Variant = NO_ARG, + arg4: Variant = NO_ARG, + arg5: Variant = NO_ARG, + arg6: Variant = NO_ARG, + arg7: Variant = NO_ARG, + arg8: Variant = NO_ARG, + arg9: Variant = NO_ARG) -> GdUnitSceneRunner: + await (Engine.get_main_loop() as SceneTree).process_frame return self @@ -174,64 +303,103 @@ func simulate_until_signal( ## [member args] : optional signal arguments to be matched for stop @warning_ignore("unused_parameter") func simulate_until_object_signal( - source :Object, - signal_name :String, - arg0 :Variant = NO_ARG, - arg1 :Variant = NO_ARG, - arg2 :Variant = NO_ARG, - arg3 :Variant = NO_ARG, - arg4 :Variant = NO_ARG, - arg5 :Variant = NO_ARG, - arg6 :Variant = NO_ARG, - arg7 :Variant = NO_ARG, - arg8 :Variant = NO_ARG, - arg9 :Variant = NO_ARG) -> GdUnitSceneRunner: - await Engine.get_main_loop().process_frame + source: Object, + signal_name: String, + arg0: Variant = NO_ARG, + arg1: Variant = NO_ARG, + arg2: Variant = NO_ARG, + arg3: Variant = NO_ARG, + arg4: Variant = NO_ARG, + arg5: Variant = NO_ARG, + arg6: Variant = NO_ARG, + arg7: Variant = NO_ARG, + arg8: Variant = NO_ARG, + arg9: Variant = NO_ARG) -> GdUnitSceneRunner: + await (Engine.get_main_loop() as SceneTree).process_frame return self -### Waits for all input events are processed +## Waits for all input events to be processed by flushing any buffered input events +## and then awaiting a full cycle of both the process and physics frames.[br] +## [br] +## This is typically used to ensure that any simulated or queued inputs are fully +## processed before proceeding with the next steps in the scene.[br] +## It's essential for reliable input simulation or when synchronizing logic based +## on inputs.[br] +## +## Usage Example: +## [codeblock] +## await await_input_processed() # Ensure all inputs are processed before continuing +## [/codeblock] func await_input_processed() -> void: - await Engine.get_main_loop().process_frame - await Engine.get_main_loop().physics_frame + if scene() != null and scene().process_mode != Node.PROCESS_MODE_DISABLED: + Input.flush_buffered_events() + await (Engine.get_main_loop() as SceneTree).process_frame + await (Engine.get_main_loop() as SceneTree).physics_frame -## Waits for the function return value until specified timeout or fails.[br] -## [member args] : optional function arguments +## The await_func function pauses execution until a specified function in the scene returns a value.[br] +## It returns a [GdUnitFuncAssert], which provides a suite of assertion methods to verify the returned value.[br] +## [member func_name] : The name of the function to wait for.[br] +## [member args] : Optional function arguments +## [br] +## Usage Example: +## [codeblock] +## # Waits for 'calculate_score' function and verifies the result is equal to 100. +## await_func("calculate_score").is_equal(100) +## [/codeblock] @warning_ignore("unused_parameter") -func await_func(func_name :String, args := []) -> GdUnitFuncAssert: +func await_func(func_name: String, args := []) -> GdUnitFuncAssert: return null -## Waits for the function return value of specified source until specified timeout or fails.[br] -## [member source : the object where implements the function[br] + +## The await_func_on function extends the functionality of await_func by allowing you to specify a source node within the scene.[br] +## It waits for a specified function on that node to return a value and returns a [GdUnitFuncAssert] object for assertions.[br] +## [member source] : The object where implements the function.[br] +## [member func_name] : The name of the function to wait for.[br] ## [member args] : optional function arguments +## [br] +## Usage Example: +## [codeblock] +## # Waits for 'calculate_score' function and verifies the result is equal to 100. +## var my_instance := ScoreCalculator.new() +## await_func(my_instance, "calculate_score").is_equal(100) +## [/codeblock] @warning_ignore("unused_parameter") -func await_func_on(source :Object, func_name :String, args := []) -> GdUnitFuncAssert: +func await_func_on(source: Object, func_name: String, args := []) -> GdUnitFuncAssert: return null -## Waits for given signal is emited by the scene until a specified timeout to fail.[br] -## [member signal_name] : signal name[br] -## [member args] : the expected signal arguments as an array[br] -## [member timeout] : the timeout in ms, default is set to 2000ms +## Waits for the specified signal to be emitted by the scene. If the signal is not emitted within the given timeout, the operation fails.[br] +## [member signal_name] : The name of the signal to wait for[br] +## [member args] : The signal arguments as an array[br] +## [member timeout] : The maximum duration (in milliseconds) to wait for the signal to be emitted before failing @warning_ignore("unused_parameter") -func await_signal(signal_name :String, args := [], timeout := 2000 ) -> void: - await Engine.get_main_loop().process_frame +func await_signal(signal_name: String, args := [], timeout := 2000 ) -> void: + await (Engine.get_main_loop() as SceneTree).process_frame pass -## Waits for given signal is emited by the until a specified timeout to fail.[br] +## Waits for the specified signal to be emitted by a particular source node. If the signal is not emitted within the given timeout, the operation fails.[br] ## [member source] : the object from which the signal is emitted[br] -## [member signal_name] : signal name[br] -## [member args] : the expected signal arguments as an array[br] -## [member timeout] : the timeout in ms, default is set to 2000ms +## [member signal_name] : The name of the signal to wait for[br] +## [member args] : The signal arguments as an array[br] +## [member timeout] : tThe maximum duration (in milliseconds) to wait for the signal to be emitted before failing @warning_ignore("unused_parameter") -func await_signal_on(source :Object, signal_name :String, args := [], timeout := 2000 ) -> void: +func await_signal_on(source: Object, signal_name: String, args := [], timeout := 2000 ) -> void: pass -## maximizes the window to bring the scene visible +## Restores the scene window to a windowed mode and brings it to the foreground.[br] +## This ensures that the scene is visible and active during testing, making it easier to observe and interact with. +func move_window_to_foreground() -> GdUnitSceneRunner: + return self + + +## Restores the scene window to a windowed mode and brings it to the foreground.[br] +## This ensures that the scene is visible and active during testing, making it easier to observe and interact with. +## @deprecated: Use [move_window_to_foreground] instead. func maximize_view() -> GdUnitSceneRunner: return self @@ -240,7 +408,7 @@ func maximize_view() -> GdUnitSceneRunner: ## [member name] : name of property[br] ## [member return] : the value of the property @warning_ignore("unused_parameter") -func get_property(name :String) -> Variant: +func get_property(name: String) -> Variant: return null ## Set the value of the property with the name .[br] @@ -248,7 +416,7 @@ func get_property(name :String) -> Variant: ## [member value] : value of property[br] ## [member return] : true|false depending on valid property name. @warning_ignore("unused_parameter") -func set_property(name :String, value :Variant) -> bool: +func set_property(name: String, value: Variant) -> bool: return false @@ -258,17 +426,17 @@ func set_property(name :String, value :Variant) -> bool: ## [member return] : the function result @warning_ignore("unused_parameter") func invoke( - name :String, - arg0 :Variant = NO_ARG, - arg1 :Variant = NO_ARG, - arg2 :Variant = NO_ARG, - arg3 :Variant = NO_ARG, - arg4 :Variant = NO_ARG, - arg5 :Variant = NO_ARG, - arg6 :Variant = NO_ARG, - arg7 :Variant = NO_ARG, - arg8 :Variant = NO_ARG, - arg9 :Variant = NO_ARG) -> Variant: + name: String, + arg0: Variant = NO_ARG, + arg1: Variant = NO_ARG, + arg2: Variant = NO_ARG, + arg3: Variant = NO_ARG, + arg4: Variant = NO_ARG, + arg5: Variant = NO_ARG, + arg6: Variant = NO_ARG, + arg7: Variant = NO_ARG, + arg8: Variant = NO_ARG, + arg9: Variant = NO_ARG) -> Variant: return null @@ -277,7 +445,7 @@ func invoke( ## [member recursive] : enables/disables seraching recursive[br] ## [member return] : the node if find otherwise null @warning_ignore("unused_parameter") -func find_child(name :String, recursive :bool = true, owned :bool = false) -> Node: +func find_child(name: String, recursive: bool = true, owned: bool = false) -> Node: return null diff --git a/addons/gdUnit4/src/GdUnitSignalAssert.gd b/addons/gdUnit4/src/GdUnitSignalAssert.gd index 8150df2..9dbc76d 100644 --- a/addons/gdUnit4/src/GdUnitSignalAssert.gd +++ b/addons/gdUnit4/src/GdUnitSignalAssert.gd @@ -6,14 +6,14 @@ extends GdUnitAssert ## Verifies that given signal is emitted until waiting time @warning_ignore("unused_parameter") func is_emitted(name :String, args := []) -> GdUnitSignalAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self ## Verifies that given signal is NOT emitted until waiting time @warning_ignore("unused_parameter") func is_not_emitted(name :String, args := []) -> GdUnitSignalAssert: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return self diff --git a/addons/gdUnit4/src/GdUnitTestSuite.gd b/addons/gdUnit4/src/GdUnitTestSuite.gd index 7d689f6..13241f4 100644 --- a/addons/gdUnit4/src/GdUnitTestSuite.gd +++ b/addons/gdUnit4/src/GdUnitTestSuite.gd @@ -10,7 +10,7 @@ ## [/codeblock] ## @tutorial: https://mikeschulze.github.io/gdUnit4/faq/test-suite/ -@icon("res://addons/gdUnit4/src/ui/assets/TestSuite.svg") +@icon("res://addons/gdUnit4/src/ui/settings/logo.png") class_name GdUnitTestSuite extends Node @@ -23,8 +23,6 @@ var __is_skipped := false var __skip_reason :String = "Unknow." var __active_test_case :String var __awaiter := __gdunit_awaiter() -# holds the actual execution context -var __execution_context :RefCounted ### We now load all used asserts and tool scripts into the cache according to the principle of "lazy loading" @@ -100,25 +98,25 @@ func error_as_string(error_number :int) -> String: ## A litle helper to auto freeing your created objects after test execution func auto_free(obj :Variant) -> Variant: - if __execution_context != null: - return __execution_context.register_auto_free(obj) - else: - if is_instance_valid(obj): - obj.queue_free() - return obj + var execution_context := GdUnitThreadManager.get_current_context().get_execution_context() + + assert(execution_context != null, "INTERNAL ERROR: The current execution_context is null! Please report this as bug.") + return execution_context.register_auto_free(obj) @warning_ignore("native_method_override") func add_child(node :Node, force_readable_name := false, internal := Node.INTERNAL_MODE_DISABLED) -> void: super.add_child(node, force_readable_name, internal) - if __execution_context != null: - __execution_context.orphan_monitor_start() + var execution_context := GdUnitThreadManager.get_current_context().get_execution_context() + if execution_context != null: + execution_context.orphan_monitor_start() ## Discard the error message triggered by a timeout (interruption).[br] ## By default, an interrupted test is reported as an error.[br] ## This function allows you to change the message to Success when an interrupted error is reported. func discard_error_interupted_by_timeout() -> void: + @warning_ignore("unsafe_method_access") __gdunit_tools().register_expect_interupted_by_timeout(self, __active_test_case) @@ -126,12 +124,14 @@ func discard_error_interupted_by_timeout() -> void: ## Useful for storing data during test execution. [br] ## The directory is automatically deleted after test suite execution func create_temp_dir(relative_path :String) -> String: + @warning_ignore("unsafe_method_access") return __gdunit_file_access().create_temp_dir(relative_path) ## Deletes the temporary base directory[br] ## Is called automatically after each execution of the test suite func clean_temp_dir() -> void: + @warning_ignore("unsafe_method_access") __gdunit_file_access().clear_tmp() @@ -139,28 +139,26 @@ func clean_temp_dir() -> void: ## with given name and given file (default = File.WRITE)[br] ## If success the returned File is automatically closed after the execution of the test suite func create_temp_file(relative_path :String, file_name :String, mode := FileAccess.WRITE) -> FileAccess: + @warning_ignore("unsafe_method_access") return __gdunit_file_access().create_temp_file(relative_path, file_name, mode) ## Reads a resource by given path into a PackedStringArray. func resource_as_array(resource_path :String) -> PackedStringArray: + @warning_ignore("unsafe_method_access") return __gdunit_file_access().resource_as_array(resource_path) ## Reads a resource by given path and returned the content as String. func resource_as_string(resource_path :String) -> String: + @warning_ignore("unsafe_method_access") return __gdunit_file_access().resource_as_string(resource_path) ## Reads a resource by given path and return Variand translated by str_to_var func resource_as_var(resource_path :String) -> Variant: - return str_to_var(__gdunit_file_access().resource_as_string(resource_path)) - - -## clears the debuger error list[br] -## PROTOTYPE!!!! Don't use it for now -func clear_push_errors() -> void: - __gdunit_tools().clear_push_errors() + @warning_ignore("unsafe_method_access", "unsafe_cast") + return str_to_var(__gdunit_file_access().resource_as_string(resource_path) as String) ## Waits for given signal is emited by the until a specified timeout to fail[br] @@ -169,11 +167,13 @@ func clear_push_errors() -> void: ## args: the expected signal arguments as an array[br] ## timeout: the timeout in ms, default is set to 2000ms func await_signal_on(source :Object, signal_name :String, args :Array = [], timeout :int = 2000) -> Variant: + @warning_ignore("unsafe_method_access") return await __awaiter.await_signal_on(source, signal_name, args, timeout) ## Waits until the next idle frame func await_idle_frame() -> void: + @warning_ignore("unsafe_method_access") await __awaiter.await_idle_frame() @@ -185,6 +185,7 @@ func await_idle_frame() -> void: ## [/codeblock][br] ## use this waiter and not `await get_tree().create_timer().timeout to prevent errors when a test case is timed out func await_millis(timeout :int) -> void: + @warning_ignore("unsafe_method_access") await __awaiter.await_millis(timeout) @@ -216,11 +217,13 @@ const RETURN_DEEP_STUB = GdUnitMock.RETURN_DEEP_STUB ## Creates a mock for given class name func mock(clazz :Variant, mock_mode := RETURN_DEFAULTS) -> Variant: + @warning_ignore("unsafe_method_access") return __lazy_load("res://addons/gdUnit4/src/mocking/GdUnitMockBuilder.gd").build(clazz, mock_mode) ## Creates a spy checked given object instance func spy(instance :Variant) -> Variant: + @warning_ignore("unsafe_method_access") return __lazy_load("res://addons/gdUnit4/src/spy/GdUnitSpyBuilder.gd").build(instance) @@ -236,21 +239,25 @@ func do_return(value :Variant) -> GdUnitMock: ## Verifies certain behavior happened at least once or exact number of times func verify(obj :Variant, times := 1) -> Variant: + @warning_ignore("unsafe_method_access") return __gdunit_object_interactions().verify(obj, times) ## Verifies no interactions is happen checked this mock or spy func verify_no_interactions(obj :Variant) -> GdUnitAssert: + @warning_ignore("unsafe_method_access") return __gdunit_object_interactions().verify_no_interactions(obj) ## Verifies the given mock or spy has any unverified interaction. func verify_no_more_interactions(obj :Variant) -> GdUnitAssert: + @warning_ignore("unsafe_method_access") return __gdunit_object_interactions().verify_no_more_interactions(obj) ## Resets the saved function call counters checked a mock or spy func reset(obj :Variant) -> void: + @warning_ignore("unsafe_method_access") __gdunit_object_interactions().reset(obj) @@ -267,6 +274,7 @@ func reset(obj :Variant) -> void: ## await assert_signal(emitter).is_emitted('my_signal') ## [/codeblock] func monitor_signals(source :Object, _auto_free := true) -> Object: + @warning_ignore("unsafe_method_access") __lazy_load("res://addons/gdUnit4/src/core/thread/GdUnitThreadManager.gd")\ .get_current_context()\ .get_signal_collector()\ @@ -277,36 +285,43 @@ func monitor_signals(source :Object, _auto_free := true) -> Object: # === Argument matchers ======================================================== ## Argument matcher to match any argument func any() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().any() ## Argument matcher to match any boolean value func any_bool() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_BOOL) ## Argument matcher to match any integer value func any_int() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_INT) ## Argument matcher to match any float value func any_float() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_FLOAT) ## Argument matcher to match any string value func any_string() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_STRING) ## Argument matcher to match any Color value func any_color() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_COLOR) ## Argument matcher to match any Vector typed value func any_vector() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_types([ TYPE_VECTOR2, TYPE_VECTOR2I, @@ -319,141 +334,169 @@ func any_vector() -> GdUnitArgumentMatcher: ## Argument matcher to match any Vector2 value func any_vector2() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_VECTOR2) ## Argument matcher to match any Vector2i value func any_vector2i() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_VECTOR2I) ## Argument matcher to match any Vector3 value func any_vector3() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_VECTOR3) ## Argument matcher to match any Vector3i value func any_vector3i() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_VECTOR3I) ## Argument matcher to match any Vector4 value func any_vector4() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_VECTOR4) ## Argument matcher to match any Vector3i value func any_vector4i() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_VECTOR4I) ## Argument matcher to match any Rect2 value func any_rect2() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_RECT2) ## Argument matcher to match any Plane value func any_plane() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PLANE) ## Argument matcher to match any Quaternion value func any_quat() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_QUATERNION) ## Argument matcher to match any AABB value func any_aabb() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_AABB) ## Argument matcher to match any Basis value func any_basis() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_BASIS) ## Argument matcher to match any Transform2D value func any_transform_2d() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_TRANSFORM2D) ## Argument matcher to match any Transform3D value func any_transform_3d() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_TRANSFORM3D) ## Argument matcher to match any NodePath value func any_node_path() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_NODE_PATH) ## Argument matcher to match any RID value func any_rid() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_RID) ## Argument matcher to match any Object value func any_object() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_OBJECT) ## Argument matcher to match any Dictionary value func any_dictionary() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_DICTIONARY) ## Argument matcher to match any Array value func any_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_ARRAY) ## Argument matcher to match any PackedByteArray value func any_packed_byte_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PACKED_BYTE_ARRAY) ## Argument matcher to match any PackedInt32Array value func any_packed_int32_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PACKED_INT32_ARRAY) ## Argument matcher to match any PackedInt64Array value func any_packed_int64_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PACKED_INT64_ARRAY) ## Argument matcher to match any PackedFloat32Array value func any_packed_float32_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PACKED_FLOAT32_ARRAY) ## Argument matcher to match any PackedFloat64Array value func any_packed_float64_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PACKED_FLOAT64_ARRAY) ## Argument matcher to match any PackedStringArray value func any_packed_string_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PACKED_STRING_ARRAY) ## Argument matcher to match any PackedVector2Array value func any_packed_vector2_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PACKED_VECTOR2_ARRAY) ## Argument matcher to match any PackedVector3Array value func any_packed_vector3_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PACKED_VECTOR3_ARRAY) ## Argument matcher to match any PackedColorArray value func any_packed_color_array() -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().by_type(TYPE_PACKED_COLOR_ARRAY) ## Argument matcher to match any instance of given class func any_class(clazz :Object) -> GdUnitArgumentMatcher: + @warning_ignore("unsafe_method_access") return __gdunit_argument_matchers().any_class(clazz) @@ -492,13 +535,13 @@ func assert_that(current :Variant) -> GdUnitAssert: TYPE_STRING: return assert_str(current) TYPE_VECTOR2, TYPE_VECTOR2I, TYPE_VECTOR3, TYPE_VECTOR3I, TYPE_VECTOR4, TYPE_VECTOR4I: - return assert_vector(current) + return assert_vector(current, false) TYPE_DICTIONARY: return assert_dict(current) TYPE_ARRAY, TYPE_PACKED_BYTE_ARRAY, TYPE_PACKED_INT32_ARRAY, TYPE_PACKED_INT64_ARRAY,\ TYPE_PACKED_FLOAT32_ARRAY, TYPE_PACKED_FLOAT64_ARRAY, TYPE_PACKED_STRING_ARRAY,\ TYPE_PACKED_VECTOR2_ARRAY, TYPE_PACKED_VECTOR3_ARRAY, TYPE_PACKED_COLOR_ARRAY: - return assert_array(current) + return assert_array(current, false) TYPE_OBJECT, TYPE_NIL: return assert_object(current) _: @@ -531,13 +574,13 @@ func assert_float(current :Variant) -> GdUnitFloatAssert: ## [codeblock] ## assert_vector(Vector2(1.2, 1.000001)).is_equal(Vector2(1.2, 1.000001)) ## [/codeblock] -func assert_vector(current :Variant) -> GdUnitVectorAssert: - return __lazy_load("res://addons/gdUnit4/src/asserts/GdUnitVectorAssertImpl.gd").new(current) +func assert_vector(current :Variant, type_check := true) -> GdUnitVectorAssert: + return __lazy_load("res://addons/gdUnit4/src/asserts/GdUnitVectorAssertImpl.gd").new(current, type_check) ## An assertion tool to verify arrays. -func assert_array(current :Variant) -> GdUnitArrayAssert: - return __lazy_load("res://addons/gdUnit4/src/asserts/GdUnitArrayAssertImpl.gd").new(current) +func assert_array(current :Variant, type_check := true) -> GdUnitArrayAssert: + return __lazy_load("res://addons/gdUnit4/src/asserts/GdUnitArrayAssertImpl.gd").new(current, type_check) ## An assertion tool to verify dictionaries. @@ -577,6 +620,7 @@ func assert_signal(instance :Object) -> GdUnitSignalAssert: ## .has_message("Expecting:\n 'true'\n not equal to\n 'true'") ## [/codeblock] func assert_failure(assertion :Callable) -> GdUnitFailureAssert: + @warning_ignore("unsafe_method_access") return __lazy_load("res://addons/gdUnit4/src/asserts/GdUnitFailureAssertImpl.gd").new().execute(assertion) @@ -588,6 +632,7 @@ func assert_failure(assertion :Callable) -> GdUnitFailureAssert: ## .has_message("Expecting:\n 'true'\n not equal to\n 'true'") ## [/codeblock] func assert_failure_await(assertion :Callable) -> GdUnitFailureAssert: + @warning_ignore("unsafe_method_access") return await __lazy_load("res://addons/gdUnit4/src/asserts/GdUnitFailureAssertImpl.gd").new().execute_and_await(assertion) @@ -608,10 +653,12 @@ func assert_error(current :Callable) -> GdUnitGodotErrorAssert: func assert_not_yet_implemented() -> void: - __gdunit_assert().new(null).test_fail() + @warning_ignore("unsafe_method_access") + __gdunit_assert().new(null).do_fail() func fail(message :String) -> void: + @warning_ignore("unsafe_method_access") __gdunit_assert().new(null).report_error(message) diff --git a/addons/gdUnit4/src/asserts/GdAssertMessages.gd b/addons/gdUnit4/src/asserts/GdAssertMessages.gd index 01402ff..2be8c11 100644 --- a/addons/gdUnit4/src/asserts/GdAssertMessages.gd +++ b/addons/gdUnit4/src/asserts/GdAssertMessages.gd @@ -8,8 +8,12 @@ const SUB_COLOR := Color(1, 0, 0, .3) const ADD_COLOR := Color(0, 1, 0, .3) -static func format_dict(value :Dictionary) -> String: - if value.is_empty(): +static func format_dict(value :Variant) -> String: + if not value is Dictionary: + return str(value) + + var dict_value: Dictionary = value + if dict_value.is_empty(): return "{ }" var as_rows := var_to_str(value).split("\n") for index in range( 1, as_rows.size()-1): @@ -22,15 +26,22 @@ static func format_dict(value :Dictionary) -> String: static func input_event_as_text(event :InputEvent) -> String: var text := "" if event is InputEventKey: + var key_event := event as InputEventKey text += "InputEventKey : key='%s', pressed=%s, keycode=%d, physical_keycode=%s" % [ - event.as_text(), event.pressed, event.keycode, event.physical_keycode] + event.as_text(), key_event.pressed, key_event.keycode, key_event.physical_keycode] else: text += event.as_text() if event is InputEventMouse: - text += ", global_position %s" % event.global_position + var mouse_event := event as InputEventMouse + text += ", global_position %s" % mouse_event.global_position if event is InputEventWithModifiers: + var mouse_event := event as InputEventWithModifiers text += ", shift=%s, alt=%s, control=%s, meta=%s, command=%s" % [ - event.shift_pressed, event.alt_pressed, event.ctrl_pressed, event.meta_pressed, event.command_or_control_autoremap] + mouse_event.shift_pressed, + mouse_event.alt_pressed, + mouse_event.ctrl_pressed, + mouse_event.meta_pressed, + mouse_event.command_or_control_autoremap] return text @@ -51,9 +62,11 @@ static func colored_array_div(characters :PackedByteArray) -> String: match character: GdDiffTool.DIV_ADD: index += 1 + @warning_ignore("return_value_discarded") additional_chars.append(characters[index]) GdDiffTool.DIV_SUB: index += 1 + @warning_ignore("return_value_discarded") missing_chars.append(characters[index]) _: if not missing_chars.is_empty(): @@ -62,6 +75,7 @@ static func colored_array_div(characters :PackedByteArray) -> String: if not additional_chars.is_empty(): result.append_array(format_chars(additional_chars, ADD_COLOR)) additional_chars = PackedByteArray() + @warning_ignore("return_value_discarded") result.append(character) index += 1 @@ -95,7 +109,7 @@ static func _nerror(number :Variant) -> String: static func _colored_value(value :Variant) -> String: match typeof(value): TYPE_STRING, TYPE_STRING_NAME: - return "'[color=%s]%s[/color]'" % [VALUE_COLOR, _colored_string_div(value)] + return "'[color=%s]%s[/color]'" % [VALUE_COLOR, _colored_string_div(str(value))] TYPE_INT: return "'[color=%s]%d[/color]'" % [VALUE_COLOR, value] TYPE_FLOAT: @@ -106,10 +120,12 @@ static func _colored_value(value :Variant) -> String: if value == null: return "'[color=%s][/color]'" % [VALUE_COLOR] if value is InputEvent: - return "[color=%s]<%s>[/color]" % [VALUE_COLOR, input_event_as_text(value)] - if value.has_method("_to_string"): + var ie: InputEvent = value + return "[color=%s]<%s>[/color]" % [VALUE_COLOR, input_event_as_text(ie)] + var obj_value: Object = value + if obj_value.has_method("_to_string"): return "[color=%s]<%s>[/color]" % [VALUE_COLOR, str(value)] - return "[color=%s]<%s>[/color]" % [VALUE_COLOR, value.get_class()] + return "[color=%s]<%s>[/color]" % [VALUE_COLOR, obj_value.get_class()] TYPE_DICTIONARY: return "'[color=%s]%s[/color]'" % [VALUE_COLOR, format_dict(value)] _: @@ -163,10 +179,10 @@ static func test_timeout(timeout :int) -> String: static func test_suite_skipped(hint :String, skip_count :int) -> String: return """ %s - Tests skipped: %s + Skipped %s tests Reason: %s """.dedent().trim_prefix("\n")\ - % [_error("Entire test-suite is skipped!"), _colored_value(skip_count), _colored_value(hint)] + % [_error("The Entire test-suite is skipped!"), _colored_value(skip_count), _colored_value(hint)] static func test_skipped(hint :String) -> String: @@ -336,6 +352,7 @@ static func error_ends_with(current :Variant, expected :Variant) -> String: static func error_has_length(current :Variant, expected: int, compare_operator :int) -> String: + @warning_ignore("unsafe_method_access") var current_length :Variant = current.length() if current != null else null match compare_operator: Comparator.EQUAL: @@ -361,48 +378,50 @@ static func error_has_length(current :Variant, expected: int, compare_operator : # - ArrayAssert specific messgaes --------------------------------------------------- -static func error_arr_contains(current :Variant, expected :Array, not_expect :Array, not_found :Array, by_reference :bool) -> String: +static func error_arr_contains(current: Variant, expected: Variant, not_expect: Variant, not_found: Variant, by_reference: bool) -> String: var failure_message := "Expecting contains SAME elements:" if by_reference else "Expecting contains elements:" var error := "%s\n %s\n do contains (in any order)\n %s" % [ _error(failure_message), _colored_value(current), _colored_value(expected)] - if not not_expect.is_empty(): + if not is_empty(not_expect): error += "\nbut some elements where not expected:\n %s" % _colored_value(not_expect) - if not not_found.is_empty(): - var prefix := "but" if not_expect.is_empty() else "and" + if not is_empty(not_found): + var prefix := "but" if is_empty(not_expect) else "and" error += "\n%s could not find elements:\n %s" % [prefix, _colored_value(not_found)] return error static func error_arr_contains_exactly( - current :Variant, - expected :Variant, - not_expect :Variant, - not_found :Variant, compare_mode :GdObjects.COMPARE_MODE) -> String: + current: Variant, + expected: Variant, + not_expect: Variant, + not_found: Variant, compare_mode: GdObjects.COMPARE_MODE) -> String: var failure_message := ( "Expecting contains exactly elements:" if compare_mode == GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST else "Expecting contains SAME exactly elements:" ) - if not_expect.is_empty() and not_found.is_empty(): - var diff := _find_first_diff(current, expected) + if is_empty(not_expect) and is_empty(not_found): + var arr_current: Array = current + var arr_expected: Array = expected + var diff := _find_first_diff(arr_current, arr_expected) return "%s\n %s\n do contains (in same order)\n %s\n but has different order %s" % [ _error(failure_message), _colored_value(current), _colored_value(expected), diff] var error := "%s\n %s\n do contains (in same order)\n %s" % [ _error(failure_message), _colored_value(current), _colored_value(expected)] - if not not_expect.is_empty(): + if not is_empty(not_expect): error += "\nbut some elements where not expected:\n %s" % _colored_value(not_expect) - if not not_found.is_empty(): - var prefix := "but" if not_expect.is_empty() else "and" + if not is_empty(not_found): + var prefix := "but" if is_empty(not_expect) else "and" error += "\n%s could not find elements:\n %s" % [prefix, _colored_value(not_found)] return error static func error_arr_contains_exactly_in_any_order( - current :Variant, - expected :Array, - not_expect :Array, - not_found :Array, - compare_mode :GdObjects.COMPARE_MODE) -> String: + current: Variant, + expected: Variant, + not_expect: Variant, + not_found: Variant, + compare_mode: GdObjects.COMPARE_MODE) -> String: var failure_message := ( "Expecting contains exactly elements:" if compare_mode == GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST @@ -410,19 +429,19 @@ static func error_arr_contains_exactly_in_any_order( ) var error := "%s\n %s\n do contains exactly (in any order)\n %s" % [ _error(failure_message), _colored_value(current), _colored_value(expected)] - if not not_expect.is_empty(): + if not is_empty(not_expect): error += "\nbut some elements where not expected:\n %s" % _colored_value(not_expect) - if not not_found.is_empty(): - var prefix := "but" if not_expect.is_empty() else "and" + if not is_empty(not_found): + var prefix := "but" if is_empty(not_expect) else "and" error += "\n%s could not find elements:\n %s" % [prefix, _colored_value(not_found)] return error -static func error_arr_not_contains(current :Array, expected :Array, found :Array, compare_mode :GdObjects.COMPARE_MODE) -> String: +static func error_arr_not_contains(current: Variant, expected: Variant, found: Variant, compare_mode: GdObjects.COMPARE_MODE) -> String: var failure_message := "Expecting:" if compare_mode == GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST else "Expecting SAME:" var error := "%s\n %s\n do not contains\n %s" % [ _error(failure_message), _colored_value(current), _colored_value(expected)] - if not found.is_empty(): + if not is_empty(found): error += "\n but found elements:\n %s" % _colored_value(found) return error @@ -542,20 +561,25 @@ static func result_message(result :GdUnitResult) -> String: # - Spy|Mock specific errors ---------------------------------------------------- static func error_no_more_interactions(summary :Dictionary) -> String: var interactions := PackedStringArray() - for args :Variant in summary.keys(): + for args :Array in summary.keys(): var times :int = summary[args] + @warning_ignore("return_value_discarded") interactions.append(_format_arguments(args, times)) return "%s\n%s\n%s" % [_error("Expecting no more interactions!"), _error("But found interactions on:"), "\n".join(interactions)] -static func error_validate_interactions(current_interactions :Dictionary, expected_interactions :Dictionary) -> String: - var interactions := PackedStringArray() - for args :Variant in current_interactions.keys(): - var times :int = current_interactions[args] - interactions.append(_format_arguments(args, times)) - var expected_interaction := _format_arguments(expected_interactions.keys()[0], expected_interactions.values()[0]) +static func error_validate_interactions(current_interactions: Dictionary, expected_interactions: Dictionary) -> String: + var collected_interactions := PackedStringArray() + for args: Array in current_interactions.keys(): + var times: int = current_interactions[args] + @warning_ignore("return_value_discarded") + collected_interactions.append(_format_arguments(args, times)) + + var arguments: Array = expected_interactions.keys()[0] + var interactions: int = expected_interactions.values()[0] + var expected_interaction := _format_arguments(arguments, interactions) return "%s\n%s\n%s\n%s" % [ - _error("Expecting interaction on:"), expected_interaction, _error("But found interactions on:"), "\n".join(interactions)] + _error("Expecting interaction on:"), expected_interaction, _error("But found interactions on:"), "\n".join(collected_interactions)] static func _format_arguments(args :Array, times :int) -> String: @@ -569,13 +593,15 @@ static func _format_arguments(args :Array, times :int) -> String: static func _to_typed_args(args :Array) -> PackedStringArray: var typed := PackedStringArray() for arg :Variant in args: + @warning_ignore("return_value_discarded") typed.append(_format_arg(arg) + " :" + GdObjects.type_as_string(typeof(arg))) return typed static func _format_arg(arg :Variant) -> String: if arg is InputEvent: - return input_event_as_text(arg) + var ie: InputEvent = arg + return input_event_as_text(ie) return str(arg) @@ -589,6 +615,7 @@ static func _find_first_diff(left :Array, right :Array) -> String: static func error_has_size(current :Variant, expected: int) -> String: + @warning_ignore("unsafe_method_access") var current_size :Variant = null if current == null else current.size() return "%s\n %s\n but was\n %s" % [_error("Expecting size:"), _colored_value(expected), _colored_value(current_size)] @@ -613,3 +640,18 @@ static func format_invalid(value :String) -> String: static func humanized(value :String) -> String: return value.replace("_", " ") + + +static func build_failure_message(failure :String, additional_failure_message: String, custom_failure_message: String) -> String: + var message := failure if custom_failure_message.is_empty() else custom_failure_message + if additional_failure_message.is_empty(): + return message + return """ + %s + [color=LIME_GREEN][b]Additional info:[/b][/color] + %s""".dedent().trim_prefix("\n") % [message, additional_failure_message] + + +static func is_empty(value: Variant) -> bool: + var arry_value: Array = value + return arry_value != null and arry_value.is_empty() diff --git a/addons/gdUnit4/src/asserts/GdAssertReports.gd b/addons/gdUnit4/src/asserts/GdAssertReports.gd index 1ac9e04..06b72ed 100644 --- a/addons/gdUnit4/src/asserts/GdAssertReports.gd +++ b/addons/gdUnit4/src/asserts/GdAssertReports.gd @@ -51,5 +51,4 @@ static func current_failure() -> String: static func send_report(report :GdUnitReport) -> void: - var execution_context_id := GdUnitThreadManager.get_current_context().get_execution_context_id() - GdUnitSignals.instance().gdunit_report.emit(execution_context_id, report) + GdUnitThreadManager.get_current_context().get_execution_context().add_report(report) diff --git a/addons/gdUnit4/src/asserts/GdUnitArrayAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitArrayAssertImpl.gd index 8b71105..748e20e 100644 --- a/addons/gdUnit4/src/asserts/GdUnitArrayAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitArrayAssertImpl.gd @@ -1,21 +1,24 @@ +class_name GdUnitArrayAssertImpl extends GdUnitArrayAssert -var _base :GdUnitAssert -var _current_value_provider :ValueProvider +var _base: GdUnitAssertImpl +var _current_value_provider: ValueProvider +var _type_check: bool -func _init(current :Variant) -> void: +func _init(current: Variant, type_check := true) -> void: + _type_check = type_check _current_value_provider = DefaultValueProvider.new(current) - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if not _validate_value_type(current): + @warning_ignore("return_value_discarded") report_error("GdUnitArrayAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current)) -func _notification(event :int) -> void: +func _notification(event: int) -> void: if event == NOTIFICATION_PREDELETE: if _base != null: _base.notification(event) @@ -27,21 +30,26 @@ func report_success() -> GdUnitArrayAssert: return self -func report_error(error :String) -> GdUnitArrayAssert: +func report_error(error: String) -> GdUnitArrayAssert: _base.report_error(error) return self func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() -func override_failure_message(message :String) -> GdUnitArrayAssert: +func override_failure_message(message: String) -> GdUnitArrayAssert: _base.override_failure_message(message) return self -func _validate_value_type(value :Variant) -> bool: +func append_failure_message(message: String) -> GdUnitArrayAssert: + _base.append_failure_message(message) + return self + + +func _validate_value_type(value: Variant) -> bool: return value == null or GdArrayTools.is_array_type(value) @@ -49,15 +57,23 @@ func get_current_value() -> Variant: return _current_value_provider.get_value() -func max_length(left :Variant, right :Variant) -> int: +func max_length(left: Variant, right: Variant) -> int: var ls := str(left).length() var rs := str(right).length() return rs if ls < rs else ls -func _array_equals_div(current :Array, expected :Array, case_sensitive :bool = false) -> Array: - var current_value := PackedStringArray(current) - var expected_value := PackedStringArray(expected) +# gdlint: disable=function-name +func _toPackedStringArray(value: Variant) -> PackedStringArray: + if GdArrayTools.is_array_type(value): + @warning_ignore("unsafe_cast") + return PackedStringArray(value as Array) + return PackedStringArray([str(value)]) + + +func _array_equals_div(current: Variant, expected: Variant, case_sensitive: bool = false) -> Array[Array]: + var current_value := _toPackedStringArray(current) + var expected_value := _toPackedStringArray(expected) var index_report := Array() for index in current_value.size(): var c := current_value[index] @@ -67,25 +83,25 @@ func _array_equals_div(current :Array, expected :Array, case_sensitive :bool = f var length := max_length(c, e) current_value[index] = GdAssertMessages.format_invalid(c.lpad(length)) expected_value[index] = e.lpad(length) - index_report.push_back({"index" : index, "current" :c, "expected": e}) + index_report.push_back({"index": index, "current": c, "expected": e}) else: current_value[index] = GdAssertMessages.format_invalid(c) - index_report.push_back({"index" : index, "current" :c, "expected": ""}) + index_report.push_back({"index": index, "current": c, "expected": ""}) - for index in range(current.size(), expected_value.size()): + for index in range(current_value.size(), expected_value.size()): var value := expected_value[index] expected_value[index] = GdAssertMessages.format_invalid(value) - index_report.push_back({"index" : index, "current" : "", "expected": value}) + index_report.push_back({"index": index, "current": "", "expected": value}) return [current_value, expected_value, index_report] -func _array_div(compare_mode :GdObjects.COMPARE_MODE, left :Array[Variant], right :Array[Variant], _same_order := false) -> Array[Variant]: +func _array_div(compare_mode: GdObjects.COMPARE_MODE, left: Array[Variant], right: Array[Variant], _same_order := false) -> Array[Variant]: var not_expect := left.duplicate(true) var not_found := right.duplicate(true) for index_c in left.size(): - var c :Variant = left[index_c] + var c: Variant = left[index_c] for index_e in right.size(): - var e :Variant = right[index_e] + var e: Variant = right[index_e] if GdObjects.equals(c, e, false, compare_mode): GdArrayTools.erase_value(not_expect, e) GdArrayTools.erase_value(not_found, c) @@ -93,241 +109,262 @@ func _array_div(compare_mode :GdObjects.COMPARE_MODE, left :Array[Variant], righ return [not_expect, not_found] -func _contains(expected :Variant, compare_mode :GdObjects.COMPARE_MODE) -> GdUnitArrayAssert: +func _contains(expected: Variant, compare_mode: GdObjects.COMPARE_MODE) -> GdUnitArrayAssert: if not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) var by_reference := compare_mode == GdObjects.COMPARE_MODE.OBJECT_REFERENCE - var current_value :Variant = get_current_value() + var current_value: Variant = get_current_value() if current_value == null: return report_error(GdAssertMessages.error_arr_contains(current_value, expected, [], expected, by_reference)) - var diffs := _array_div(compare_mode, current_value, expected) + @warning_ignore("unsafe_cast") + var diffs := _array_div(compare_mode, current_value as Array[Variant], expected as Array[Variant]) #var not_expect := diffs[0] as Array - var not_found := diffs[1] as Array + var not_found: Array = diffs[1] if not not_found.is_empty(): return report_error(GdAssertMessages.error_arr_contains(current_value, expected, [], not_found, by_reference)) return report_success() -func _contains_exactly(expected :Variant, compare_mode :GdObjects.COMPARE_MODE) -> GdUnitArrayAssert: +func _contains_exactly(expected: Variant, compare_mode: GdObjects.COMPARE_MODE) -> GdUnitArrayAssert: if not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) - var current_value :Variant = get_current_value() + var current_value: Variant = get_current_value() if current_value == null: - return report_error(GdAssertMessages.error_arr_contains_exactly(current_value, expected, [], expected, compare_mode)) + return report_error(GdAssertMessages.error_arr_contains_exactly(null, expected, [], expected, compare_mode)) # has same content in same order - if GdObjects.equals(Array(current_value), Array(expected), false, compare_mode): + if _is_equal(current_value, expected, false, compare_mode): return report_success() # check has same elements but in different order - if GdObjects.equals_sorted(Array(current_value), Array(expected), false, compare_mode): + if _is_equals_sorted(current_value, expected, false, compare_mode): return report_error(GdAssertMessages.error_arr_contains_exactly(current_value, expected, [], [], compare_mode)) # find the difference - var diffs := _array_div(compare_mode, current_value, expected, GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST) - var not_expect := diffs[0] as Array[Variant] - var not_found := diffs[1] as Array[Variant] + @warning_ignore("unsafe_cast") + var diffs := _array_div(compare_mode, + current_value as Array[Variant], + expected as Array[Variant], + GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST) + var not_expect: Array[Variant] = diffs[0] + var not_found: Array[Variant] = diffs[1] return report_error(GdAssertMessages.error_arr_contains_exactly(current_value, expected, not_expect, not_found, compare_mode)) -func _contains_exactly_in_any_order(expected :Variant, compare_mode :GdObjects.COMPARE_MODE) -> GdUnitArrayAssert: +func _contains_exactly_in_any_order(expected: Variant, compare_mode: GdObjects.COMPARE_MODE) -> GdUnitArrayAssert: if not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) - var current_value :Variant = get_current_value() + var current_value: Variant = get_current_value() if current_value == null: return report_error(GdAssertMessages.error_arr_contains_exactly_in_any_order(current_value, expected, [], expected, compare_mode)) # find the difference - var diffs := _array_div(compare_mode, current_value, expected, false) - var not_expect := diffs[0] as Array - var not_found := diffs[1] as Array + @warning_ignore("unsafe_cast") + var diffs := _array_div(compare_mode, current_value as Array[Variant], expected as Array[Variant], false) + var not_expect: Array[Variant] = diffs[0] + var not_found: Array[Variant] = diffs[1] if not_expect.is_empty() and not_found.is_empty(): return report_success() return report_error(GdAssertMessages.error_arr_contains_exactly_in_any_order(current_value, expected, not_expect, not_found, compare_mode)) -func _not_contains(expected :Variant, compare_mode :GdObjects.COMPARE_MODE) -> GdUnitArrayAssert: +func _not_contains(expected: Variant, compare_mode: GdObjects.COMPARE_MODE) -> GdUnitArrayAssert: if not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) - var current_value :Variant = get_current_value() + var current_value: Variant = get_current_value() if current_value == null: return report_error(GdAssertMessages.error_arr_contains_exactly_in_any_order(current_value, expected, [], expected, compare_mode)) - var diffs := _array_div(compare_mode, current_value, expected) - var found := diffs[0] as Array - if found.size() == current_value.size(): + @warning_ignore("unsafe_cast") + var diffs := _array_div(compare_mode, current_value as Array[Variant], expected as Array[Variant]) + var found: Array[Variant] = diffs[0] + @warning_ignore("unsafe_cast") + if found.size() == (current_value as Array).size(): return report_success() - var diffs2 := _array_div(compare_mode, expected, diffs[1]) + @warning_ignore("unsafe_cast") + var diffs2 := _array_div(compare_mode, expected as Array[Variant], diffs[1] as Array[Variant]) return report_error(GdAssertMessages.error_arr_not_contains(current_value, expected, diffs2[0], compare_mode)) func is_null() -> GdUnitArrayAssert: + @warning_ignore("return_value_discarded") _base.is_null() return self func is_not_null() -> GdUnitArrayAssert: + @warning_ignore("return_value_discarded") _base.is_not_null() return self # Verifies that the current String is equal to the given one. -func is_equal(expected :Variant) -> GdUnitArrayAssert: - if not _validate_value_type(expected): +func is_equal(expected: Variant) -> GdUnitArrayAssert: + if _type_check and not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) - var current_value :Variant = get_current_value() + var current_value: Variant = get_current_value() if current_value == null and expected != null: return report_error(GdAssertMessages.error_equal(null, expected)) - if not GdObjects.equals(current_value, expected): + if not _is_equal(current_value, expected): var diff := _array_equals_div(current_value, expected) var expected_as_list := GdArrayTools.as_string(diff[0], false) var current_as_list := GdArrayTools.as_string(diff[1], false) - var index_report :Variant = diff[2] + var index_report: Array = diff[2] return report_error(GdAssertMessages.error_equal(expected_as_list, current_as_list, index_report)) return report_success() # Verifies that the current Array is equal to the given one, ignoring case considerations. -func is_equal_ignoring_case(expected :Variant) -> GdUnitArrayAssert: - if not _validate_value_type(expected): +func is_equal_ignoring_case(expected: Variant) -> GdUnitArrayAssert: + if _type_check and not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) - var current_value :Variant = get_current_value() + var current_value: Variant = get_current_value() if current_value == null and expected != null: - return report_error(GdAssertMessages.error_equal(null, GdArrayTools.as_string(expected))) - if not GdObjects.equals(current_value, expected, true): - var diff := _array_equals_div(current_value, expected, true) + @warning_ignore("unsafe_cast") + return report_error(GdAssertMessages.error_equal(null, GdArrayTools.as_string(expected as Array))) + if not _is_equal(current_value, expected, true): + @warning_ignore("unsafe_cast") + var diff := _array_equals_div(current_value as Array[Variant], expected as Array[Variant], true) var expected_as_list := GdArrayTools.as_string(diff[0]) var current_as_list := GdArrayTools.as_string(diff[1]) - var index_report :Variant = diff[2] + var index_report: Array = diff[2] return report_error(GdAssertMessages.error_equal(expected_as_list, current_as_list, index_report)) return report_success() -func is_not_equal(expected :Variant) -> GdUnitArrayAssert: +func is_not_equal(expected: Variant) -> GdUnitArrayAssert: if not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) - var current_value :Variant = get_current_value() - if GdObjects.equals(current_value, expected): + var current_value: Variant = get_current_value() + if _is_equal(current_value, expected): return report_error(GdAssertMessages.error_not_equal(current_value, expected)) return report_success() -func is_not_equal_ignoring_case(expected :Variant) -> GdUnitArrayAssert: +func is_not_equal_ignoring_case(expected: Variant) -> GdUnitArrayAssert: if not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) - var current_value :Variant = get_current_value() - if GdObjects.equals(current_value, expected, true): - var c := GdArrayTools.as_string(current_value) - var e := GdArrayTools.as_string(expected) + var current_value: Variant = get_current_value() + if _is_equal(current_value, expected, true): + @warning_ignore("unsafe_cast") + var c := GdArrayTools.as_string(current_value as Array) + @warning_ignore("unsafe_cast") + var e := GdArrayTools.as_string(expected as Array) return report_error(GdAssertMessages.error_not_equal_case_insensetiv(c, e)) return report_success() func is_empty() -> GdUnitArrayAssert: - var current_value :Variant = get_current_value() - if current_value == null or current_value.size() > 0: + var current_value: Variant = get_current_value() + @warning_ignore("unsafe_cast") + if current_value == null or (current_value as Array).size() > 0: return report_error(GdAssertMessages.error_is_empty(current_value)) return report_success() func is_not_empty() -> GdUnitArrayAssert: - var current_value :Variant = get_current_value() - if current_value != null and current_value.size() == 0: + var current_value: Variant = get_current_value() + @warning_ignore("unsafe_cast") + if current_value != null and (current_value as Array).size() == 0: return report_error(GdAssertMessages.error_is_not_empty()) return report_success() @warning_ignore("unused_parameter", "shadowed_global_identifier") -func is_same(expected :Variant) -> GdUnitArrayAssert: +func is_same(expected: Variant) -> GdUnitArrayAssert: if not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) - var current :Variant = get_current_value() + var current: Variant = get_current_value() if not is_same(current, expected): + @warning_ignore("return_value_discarded") report_error(GdAssertMessages.error_is_same(current, expected)) return self -func is_not_same(expected :Variant) -> GdUnitArrayAssert: +func is_not_same(expected: Variant) -> GdUnitArrayAssert: if not _validate_value_type(expected): return report_error("ERROR: expected value: <%s>\n is not a Array Type!" % GdObjects.typeof_as_string(expected)) - var current :Variant = get_current_value() + var current: Variant = get_current_value() if is_same(current, expected): + @warning_ignore("return_value_discarded") report_error(GdAssertMessages.error_not_same(current, expected)) return self func has_size(expected: int) -> GdUnitArrayAssert: - var current_value :Variant= get_current_value() - if current_value == null or current_value.size() != expected: + var current_value: Variant = get_current_value() + @warning_ignore("unsafe_cast") + if current_value == null or (current_value as Array).size() != expected: return report_error(GdAssertMessages.error_has_size(current_value, expected)) return report_success() -func contains(expected :Variant) -> GdUnitArrayAssert: +func contains(expected: Variant) -> GdUnitArrayAssert: return _contains(expected, GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST) -func contains_exactly(expected :Variant) -> GdUnitArrayAssert: +func contains_exactly(expected: Variant) -> GdUnitArrayAssert: return _contains_exactly(expected, GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST) -func contains_exactly_in_any_order(expected :Variant) -> GdUnitArrayAssert: +func contains_exactly_in_any_order(expected: Variant) -> GdUnitArrayAssert: return _contains_exactly_in_any_order(expected, GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST) -func contains_same(expected :Variant) -> GdUnitArrayAssert: +func contains_same(expected: Variant) -> GdUnitArrayAssert: return _contains(expected, GdObjects.COMPARE_MODE.OBJECT_REFERENCE) -func contains_same_exactly(expected :Variant) -> GdUnitArrayAssert: +func contains_same_exactly(expected: Variant) -> GdUnitArrayAssert: return _contains_exactly(expected, GdObjects.COMPARE_MODE.OBJECT_REFERENCE) -func contains_same_exactly_in_any_order(expected :Variant) -> GdUnitArrayAssert: +func contains_same_exactly_in_any_order(expected: Variant) -> GdUnitArrayAssert: return _contains_exactly_in_any_order(expected, GdObjects.COMPARE_MODE.OBJECT_REFERENCE) -func not_contains(expected :Variant) -> GdUnitArrayAssert: +func not_contains(expected: Variant) -> GdUnitArrayAssert: return _not_contains(expected, GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST) -func not_contains_same(expected :Variant) -> GdUnitArrayAssert: +func not_contains_same(expected: Variant) -> GdUnitArrayAssert: return _not_contains(expected, GdObjects.COMPARE_MODE.OBJECT_REFERENCE) -func is_instanceof(expected :Variant) -> GdUnitAssert: +func is_instanceof(expected: Variant) -> GdUnitAssert: + @warning_ignore("unsafe_method_access") _base.is_instanceof(expected) return self -func extract(func_name :String, args := Array()) -> GdUnitArrayAssert: +func extract(func_name: String, args := Array()) -> GdUnitArrayAssert: var extracted_elements := Array() - var extractor :GdUnitValueExtractor = ResourceLoader.load("res://addons/gdUnit4/src/extractors/GdUnitFuncValueExtractor.gd", - "GDScript", ResourceLoader.CACHE_MODE_REUSE).new(func_name, args) - var current :Variant = get_current_value() + + var extractor := GdUnitFuncValueExtractor.new(func_name, args) + var current: Variant = get_current_value() if current == null: _current_value_provider = DefaultValueProvider.new(null) else: - for element :Variant in current: + for element: Variant in current: extracted_elements.append(extractor.extract_value(element)) _current_value_provider = DefaultValueProvider.new(extracted_elements) return self func extractv( - extr0 :GdUnitValueExtractor, - extr1 :GdUnitValueExtractor = null, - extr2 :GdUnitValueExtractor = null, - extr3 :GdUnitValueExtractor = null, - extr4 :GdUnitValueExtractor = null, - extr5 :GdUnitValueExtractor = null, - extr6 :GdUnitValueExtractor = null, - extr7 :GdUnitValueExtractor = null, - extr8 :GdUnitValueExtractor = null, - extr9 :GdUnitValueExtractor = null) -> GdUnitArrayAssert: - var extractors :Variant = GdArrayTools.filter_value([extr0, extr1, extr2, extr3, extr4, extr5, extr6, extr7, extr8, extr9], null) + extr0: GdUnitValueExtractor, + extr1: GdUnitValueExtractor = null, + extr2: GdUnitValueExtractor = null, + extr3: GdUnitValueExtractor = null, + extr4: GdUnitValueExtractor = null, + extr5: GdUnitValueExtractor = null, + extr6: GdUnitValueExtractor = null, + extr7: GdUnitValueExtractor = null, + extr8: GdUnitValueExtractor = null, + extr9: GdUnitValueExtractor = null) -> GdUnitArrayAssert: + var extractors: Variant = GdArrayTools.filter_value([extr0, extr1, extr2, extr3, extr4, extr5, extr6, extr7, extr8, extr9], null) var extracted_elements := Array() - var current :Variant = get_current_value() + var current: Variant = get_current_value() if current == null: _current_value_provider = DefaultValueProvider.new(null) else: for element: Variant in current: - var ev :Array[Variant] = [ + var ev: Array[Variant] = [ GdUnitTuple.NO_ARG, GdUnitTuple.NO_ARG, GdUnitTuple.NO_ARG, @@ -339,12 +376,44 @@ func extractv( GdUnitTuple.NO_ARG, GdUnitTuple.NO_ARG ] - for index :int in extractors.size(): - var extractor :GdUnitValueExtractor = extractors[index] + @warning_ignore("unsafe_cast") + for index: int in (extractors as Array).size(): + var extractor: GdUnitValueExtractor = extractors[index] ev[index] = extractor.extract_value(element) - if extractors.size() > 1: + @warning_ignore("unsafe_cast") + if (extractors as Array).size() > 1: extracted_elements.append(GdUnitTuple.new(ev[0], ev[1], ev[2], ev[3], ev[4], ev[5], ev[6], ev[7], ev[8], ev[9])) else: extracted_elements.append(ev[0]) _current_value_provider = DefaultValueProvider.new(extracted_elements) return self + + +@warning_ignore("incompatible_ternary") +func _is_equal( + left: Variant, + right: Variant, + case_sensitive := false, + compare_mode := GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST) -> bool: + + @warning_ignore("unsafe_cast") + return GdObjects.equals( + (left as Array) if GdArrayTools.is_array_type(left) else left, + (right as Array) if GdArrayTools.is_array_type(right) else right, + case_sensitive, + compare_mode + ) + + +func _is_equals_sorted( + left: Variant, + right: Variant, + case_sensitive := false, + compare_mode := GdObjects.COMPARE_MODE.PARAMETER_DEEP_TEST) -> bool: + + @warning_ignore("unsafe_cast") + return GdObjects.equals_sorted( + left as Array, + right as Array, + case_sensitive, + compare_mode) diff --git a/addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd index 2755285..c08bc13 100644 --- a/addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd @@ -1,9 +1,11 @@ +class_name GdUnitAssertImpl extends GdUnitAssert var _current :Variant -var _current_error_message :String = "" +var _current_failure_message :String = "" var _custom_failure_message :String = "" +var _additional_failure_message: String = "" func _init(current :Variant) -> void: @@ -13,8 +15,9 @@ func _init(current :Variant) -> void: GdAssertReports.reset_last_error_line_number() + func failure_message() -> String: - return _current_error_message + return _current_failure_message func current_value() -> Variant: @@ -26,16 +29,16 @@ func report_success() -> GdUnitAssert: return self -func report_error(error_message :String, failure_line_number: int = -1) -> GdUnitAssert: +func report_error(failure :String, failure_line_number: int = -1) -> GdUnitAssert: var line_number := failure_line_number if failure_line_number != -1 else GdUnitAssertions.get_line_number() GdAssertReports.set_last_error_line_number(line_number) - _current_error_message = error_message if _custom_failure_message.is_empty() else _custom_failure_message - GdAssertReports.report_error(_current_error_message, line_number) + _current_failure_message = GdAssertMessages.build_failure_message(failure, _additional_failure_message, _custom_failure_message) + GdAssertReports.report_error(_current_failure_message, line_number) Engine.set_meta("GD_TEST_FAILURE", true) return self -func test_fail() -> GdUnitAssert: +func do_fail() -> GdUnitAssert: return report_error(GdAssertMessages.error_not_implemented()) @@ -44,6 +47,11 @@ func override_failure_message(message :String) -> GdUnitAssert: return self +func append_failure_message(message :String) -> GdUnitAssert: + _additional_failure_message = message + return self + + func is_equal(expected :Variant) -> GdUnitAssert: var current :Variant = current_value() if not GdObjects.equals(current, expected): diff --git a/addons/gdUnit4/src/asserts/GdUnitAssertions.gd b/addons/gdUnit4/src/asserts/GdUnitAssertions.gd index a1b12ca..897d63f 100644 --- a/addons/gdUnit4/src/asserts/GdUnitAssertions.gd +++ b/addons/gdUnit4/src/asserts/GdUnitAssertions.gd @@ -3,6 +3,7 @@ class_name GdUnitAssertions extends RefCounted +@warning_ignore("return_value_discarded") func _init() -> void: # preload all gdunit assertions to speedup testsuite loading time # gdlint:disable=private-method-call diff --git a/addons/gdUnit4/src/asserts/GdUnitBoolAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitBoolAssertImpl.gd index d25c6eb..5daebce 100644 --- a/addons/gdUnit4/src/asserts/GdUnitBoolAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitBoolAssertImpl.gd @@ -1,14 +1,14 @@ extends GdUnitBoolAssert -var _base: GdUnitAssert +var _base: GdUnitAssertImpl func _init(current :Variant) -> void: - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if not GdUnitAssertions.validate_value_type(current, TYPE_BOOL): + @warning_ignore("return_value_discarded") report_error("GdUnitBoolAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current)) @@ -34,32 +34,43 @@ func report_error(error :String) -> GdUnitBoolAssert: func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() func override_failure_message(message :String) -> GdUnitBoolAssert: + @warning_ignore("return_value_discarded") _base.override_failure_message(message) return self +func append_failure_message(message :String) -> GdUnitBoolAssert: + @warning_ignore("return_value_discarded") + _base.append_failure_message(message) + return self + + # Verifies that the current value is null. func is_null() -> GdUnitBoolAssert: + @warning_ignore("return_value_discarded") _base.is_null() return self # Verifies that the current value is not null. func is_not_null() -> GdUnitBoolAssert: + @warning_ignore("return_value_discarded") _base.is_not_null() return self -func is_equal(expected :Variant) -> GdUnitBoolAssert: +func is_equal(expected: Variant) -> GdUnitBoolAssert: + @warning_ignore("return_value_discarded") _base.is_equal(expected) return self -func is_not_equal(expected :Variant) -> GdUnitBoolAssert: +func is_not_equal(expected: Variant) -> GdUnitBoolAssert: + @warning_ignore("return_value_discarded") _base.is_not_equal(expected) return self diff --git a/addons/gdUnit4/src/asserts/GdUnitDictionaryAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitDictionaryAssertImpl.gd index 87f77d1..17eba6a 100644 --- a/addons/gdUnit4/src/asserts/GdUnitDictionaryAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitDictionaryAssertImpl.gd @@ -1,14 +1,14 @@ extends GdUnitDictionaryAssert -var _base :GdUnitAssert +var _base: GdUnitAssertImpl func _init(current :Variant) -> void: - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if not GdUnitAssertions.validate_value_type(current, TYPE_DICTIONARY): + @warning_ignore("return_value_discarded") report_error("GdUnitDictionaryAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current)) @@ -30,24 +30,33 @@ func report_error(error :String) -> GdUnitDictionaryAssert: func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() func override_failure_message(message :String) -> GdUnitDictionaryAssert: + @warning_ignore("return_value_discarded") _base.override_failure_message(message) return self +func append_failure_message(message :String) -> GdUnitDictionaryAssert: + @warning_ignore("return_value_discarded") + _base.append_failure_message(message) + return self + + func current_value() -> Variant: return _base.current_value() func is_null() -> GdUnitDictionaryAssert: + @warning_ignore("return_value_discarded") _base.is_null() return self func is_not_null() -> GdUnitDictionaryAssert: + @warning_ignore("return_value_discarded") _base.is_not_null() return self @@ -96,14 +105,16 @@ func is_not_same(expected :Variant) -> GdUnitDictionaryAssert: func is_empty() -> GdUnitDictionaryAssert: var current :Variant = current_value() - if current == null or not current.is_empty(): + @warning_ignore("unsafe_cast") + if current == null or not (current as Dictionary).is_empty(): return report_error(GdAssertMessages.error_is_empty(current)) return report_success() func is_not_empty() -> GdUnitDictionaryAssert: var current :Variant = current_value() - if current == null or current.is_empty(): + @warning_ignore("unsafe_cast") + if current == null or (current as Dictionary).is_empty(): return report_error(GdAssertMessages.error_is_not_empty()) return report_success() @@ -112,7 +123,8 @@ func has_size(expected: int) -> GdUnitDictionaryAssert: var current :Variant = current_value() if current == null: return report_error(GdAssertMessages.error_is_not_null()) - if current.size() != expected: + @warning_ignore("unsafe_cast") + if (current as Dictionary).size() != expected: return report_error(GdAssertMessages.error_has_size(current, expected)) return report_success() @@ -122,9 +134,11 @@ func _contains_keys(expected :Array, compare_mode :GdObjects.COMPARE_MODE) -> Gd if current == null: return report_error(GdAssertMessages.error_is_not_null()) # find expected keys - var keys_not_found :Array = expected.filter(_filter_by_key.bind(current.keys(), compare_mode)) + @warning_ignore("unsafe_cast") + var keys_not_found :Array = expected.filter(_filter_by_key.bind((current as Dictionary).keys(), compare_mode)) if not keys_not_found.is_empty(): - return report_error(GdAssertMessages.error_contains_keys(current.keys(), expected, keys_not_found, compare_mode)) + @warning_ignore("unsafe_cast") + return report_error(GdAssertMessages.error_contains_keys((current as Dictionary).keys() as Array, expected, keys_not_found, compare_mode)) return report_success() @@ -133,11 +147,12 @@ func _contains_key_value(key :Variant, value :Variant, compare_mode :GdObjects.C var expected := [key] if current == null: return report_error(GdAssertMessages.error_is_not_null()) - var keys_not_found :Array = expected.filter(_filter_by_key.bind(current.keys(), compare_mode)) + var dict_current: Dictionary = current + var keys_not_found :Array = expected.filter(_filter_by_key.bind(dict_current.keys(), compare_mode)) if not keys_not_found.is_empty(): - return report_error(GdAssertMessages.error_contains_keys(current.keys(), expected, keys_not_found, compare_mode)) - if not GdObjects.equals(current[key], value, false, compare_mode): - return report_error(GdAssertMessages.error_contains_key_value(key, value, current[key], compare_mode)) + return report_error(GdAssertMessages.error_contains_keys(dict_current.keys() as Array, expected, keys_not_found, compare_mode)) + if not GdObjects.equals(dict_current[key], value, false, compare_mode): + return report_error(GdAssertMessages.error_contains_key_value(key, value, dict_current[key], compare_mode)) return report_success() @@ -145,9 +160,10 @@ func _not_contains_keys(expected :Array, compare_mode :GdObjects.COMPARE_MODE) - var current :Variant = current_value() if current == null: return report_error(GdAssertMessages.error_is_not_null()) - var keys_found :Array = current.keys().filter(_filter_by_key.bind(expected, compare_mode, true)) + var dict_current: Dictionary = current + var keys_found :Array = dict_current.keys().filter(_filter_by_key.bind(expected, compare_mode, true)) if not keys_found.is_empty(): - return report_error(GdAssertMessages.error_not_contains_keys(current.keys(), expected, keys_found, compare_mode)) + return report_error(GdAssertMessages.error_not_contains_keys(dict_current.keys() as Array, expected, keys_found, compare_mode)) return report_success() diff --git a/addons/gdUnit4/src/asserts/GdUnitFailureAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitFailureAssertImpl.gd index 88a3062..845d5fa 100644 --- a/addons/gdUnit4/src/asserts/GdUnitFailureAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitFailureAssertImpl.gd @@ -15,6 +15,7 @@ func execute_and_await(assertion :Callable, do_await := true) -> GdUnitFailureAs _set_do_expect_fail(true) var thread_context := GdUnitThreadManager.get_current_context() thread_context.set_assert(null) + @warning_ignore("return_value_discarded") GdUnitSignals.instance().gdunit_set_test_failed.connect(_on_test_failed) # execute the given assertion as callable if do_await: @@ -28,11 +29,13 @@ func execute_and_await(assertion :Callable, do_await := true) -> GdUnitFailureAs _is_failed = true _failure_message = "Invalid Callable! It must be a callable of 'GdUnitAssert'" return self + @warning_ignore("unsafe_method_access") _failure_message = current_assert.failure_message() return self func execute(assertion :Callable) -> GdUnitFailureAssert: + @warning_ignore("return_value_discarded") execute_and_await(assertion, false) return self @@ -42,12 +45,12 @@ func _on_test_failed(value :bool) -> void: @warning_ignore("unused_parameter") -func is_equal(_expected :GdUnitAssert) -> GdUnitFailureAssert: +func is_equal(_expected: Variant) -> GdUnitFailureAssert: return _report_error("Not implemented") @warning_ignore("unused_parameter") -func is_not_equal(_expected :GdUnitAssert) -> GdUnitFailureAssert: +func is_not_equal(_expected: Variant) -> GdUnitFailureAssert: return _report_error("Not implemented") @@ -79,13 +82,24 @@ func has_line(expected :int) -> GdUnitFailureAssert: func has_message(expected :String) -> GdUnitFailureAssert: + @warning_ignore("return_value_discarded") is_failed() var expected_error := GdUnitTools.normalize_text(GdUnitTools.richtext_normalize(expected)) var current_error := GdUnitTools.normalize_text(GdUnitTools.richtext_normalize(_failure_message)) if current_error != expected_error: var diffs := GdDiffTool.string_diff(current_error, expected_error) var current := GdAssertMessages.colored_array_div(diffs[1]) - _report_error(GdAssertMessages.error_not_same_error(current, expected_error)) + return _report_error(GdAssertMessages.error_not_same_error(current, expected_error)) + return self + + +func contains_message(expected :String) -> GdUnitFailureAssert: + var expected_error := GdUnitTools.normalize_text(expected) + var current_error := GdUnitTools.normalize_text(GdUnitTools.richtext_normalize(_failure_message)) + if not current_error.contains(expected_error): + var diffs := GdDiffTool.string_diff(current_error, expected_error) + var current := GdAssertMessages.colored_array_div(diffs[1]) + return _report_error(GdAssertMessages.error_not_same_error(current, expected_error)) return self @@ -95,7 +109,7 @@ func starts_with_message(expected :String) -> GdUnitFailureAssert: if current_error.find(expected_error) != 0: var diffs := GdDiffTool.string_diff(current_error, expected_error) var current := GdAssertMessages.colored_array_div(diffs[1]) - _report_error(GdAssertMessages.error_not_same_error(current, expected_error)) + return _report_error(GdAssertMessages.error_not_same_error(current, expected_error)) return self diff --git a/addons/gdUnit4/src/asserts/GdUnitFileAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitFileAssertImpl.gd index f511879..f98bc93 100644 --- a/addons/gdUnit4/src/asserts/GdUnitFileAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitFileAssertImpl.gd @@ -2,15 +2,15 @@ extends GdUnitFileAssert const GdUnitTools := preload("res://addons/gdUnit4/src/core/GdUnitTools.gd") -var _base: GdUnitAssert +var _base: GdUnitAssertImpl func _init(current :Variant) -> void: - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if not GdUnitAssertions.validate_value_type(current, TYPE_STRING): + @warning_ignore("return_value_discarded") report_error("GdUnitFileAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current)) @@ -22,7 +22,7 @@ func _notification(event :int) -> void: func current_value() -> String: - return _base.current_value() as String + return _base.current_value() func report_success() -> GdUnitFileAssert: @@ -36,20 +36,29 @@ func report_error(error :String) -> GdUnitFileAssert: func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() func override_failure_message(message :String) -> GdUnitFileAssert: + @warning_ignore("return_value_discarded") _base.override_failure_message(message) return self +func append_failure_message(message :String) -> GdUnitFileAssert: + @warning_ignore("return_value_discarded") + _base.append_failure_message(message) + return self + + func is_equal(expected :Variant) -> GdUnitFileAssert: + @warning_ignore("return_value_discarded") _base.is_equal(expected) return self func is_not_equal(expected :Variant) -> GdUnitFileAssert: + @warning_ignore("return_value_discarded") _base.is_not_equal(expected) return self @@ -79,17 +88,14 @@ func is_script() -> GdUnitFileAssert: return report_success() -func contains_exactly(expected_rows :Array) -> GdUnitFileAssert: +func contains_exactly(expected_rows: Array) -> GdUnitFileAssert: var current := current_value() if FileAccess.open(current, FileAccess.READ) == null: return report_error("Can't acces the file '%s'! Error code %s" % [current, FileAccess.get_open_error()]) - var script := load(current) + var script: GDScript = load(current) if script is GDScript: - var instance :Variant = script.new() - var source_code := GdScriptParser.to_unix_format(instance.get_script().source_code) - GdUnitTools.free_instance(instance) + var source_code := GdScriptParser.to_unix_format(script.source_code) var rows := Array(source_code.split("\n")) - ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitArrayAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(rows).contains_exactly(expected_rows) + GdUnitArrayAssertImpl.new(rows).contains_exactly(expected_rows) return self diff --git a/addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd index 5920d9d..05d05b8 100644 --- a/addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitFloatAssertImpl.gd @@ -1,14 +1,14 @@ extends GdUnitFloatAssert -var _base: GdUnitAssert +var _base: GdUnitAssertImpl func _init(current :Variant) -> void: - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if not GdUnitAssertions.validate_value_type(current, TYPE_FLOAT): + @warning_ignore("return_value_discarded") report_error("GdUnitFloatAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current)) @@ -34,30 +34,41 @@ func report_error(error :String) -> GdUnitFloatAssert: func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() func override_failure_message(message :String) -> GdUnitFloatAssert: + @warning_ignore("return_value_discarded") _base.override_failure_message(message) return self +func append_failure_message(message :String) -> GdUnitFloatAssert: + @warning_ignore("return_value_discarded") + _base.append_failure_message(message) + return self + + func is_null() -> GdUnitFloatAssert: + @warning_ignore("return_value_discarded") _base.is_null() return self func is_not_null() -> GdUnitFloatAssert: + @warning_ignore("return_value_discarded") _base.is_not_null() return self -func is_equal(expected :float) -> GdUnitFloatAssert: +func is_equal(expected :Variant) -> GdUnitFloatAssert: + @warning_ignore("return_value_discarded") _base.is_equal(expected) return self -func is_not_equal(expected :float) -> GdUnitFloatAssert: +func is_not_equal(expected :Variant) -> GdUnitFloatAssert: + @warning_ignore("return_value_discarded") _base.is_not_equal(expected) return self @@ -111,14 +122,16 @@ func is_not_negative() -> GdUnitFloatAssert: func is_zero() -> GdUnitFloatAssert: var current :Variant = current_value() - if current == null or not is_equal_approx(0.00000000, current): + @warning_ignore("unsafe_cast") + if current == null or not is_equal_approx(0.00000000, current as float): return report_error(GdAssertMessages.error_is_zero(current)) return report_success() func is_not_zero() -> GdUnitFloatAssert: var current :Variant = current_value() - if current == null or is_equal_approx(0.00000000, current): + @warning_ignore("unsafe_cast") + if current == null or is_equal_approx(0.00000000, current as float): return report_error(GdAssertMessages.error_is_not_zero()) return report_success() diff --git a/addons/gdUnit4/src/asserts/GdUnitFuncAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitFuncAssertImpl.gd index ccd2a11..270119a 100644 --- a/addons/gdUnit4/src/asserts/GdUnitFuncAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitFuncAssertImpl.gd @@ -6,8 +6,9 @@ const DEFAULT_TIMEOUT := 2000 var _current_value_provider :ValueProvider -var _current_error_message :String = "" +var _current_failure_message :String = "" var _custom_failure_message :String = "" +var _additional_failure_message: String = "" var _line_number := -1 var _timeout := DEFAULT_TIMEOUT var _interrupted := false @@ -21,21 +22,26 @@ func _init(instance :Object, func_name :String, args := Array()) -> void: GdUnitThreadManager.get_current_context().set_assert(self) # verify at first the function name exists if not instance.has_method(func_name): + @warning_ignore("return_value_discarded") report_error("The function '%s' do not exists checked instance '%s'." % [func_name, instance]) _interrupted = true else: _current_value_provider = CallBackValueProvider.new(instance, func_name, args) -func _notification(_what :int) -> void: - if is_instance_valid(_current_value_provider): - _current_value_provider.dispose() - _current_value_provider = null - if is_instance_valid(_sleep_timer): - Engine.get_main_loop().root.remove_child(_sleep_timer) - _sleep_timer.stop() - _sleep_timer.free() - _sleep_timer = null +func _notification(what :int) -> void: + if what == NOTIFICATION_PREDELETE: + _interrupted = true + var main_node :Node = (Engine.get_main_loop() as SceneTree).root + if is_instance_valid(_current_value_provider): + _current_value_provider.dispose() + _current_value_provider = null + if is_instance_valid(_sleep_timer): + _sleep_timer.set_wait_time(0.0001) + _sleep_timer.stop() + main_node.remove_child(_sleep_timer) + _sleep_timer.free() + _sleep_timer = null func report_success() -> GdUnitFuncAssert: @@ -43,18 +49,14 @@ func report_success() -> GdUnitFuncAssert: return self -func report_error(error_message :String) -> GdUnitFuncAssert: - _current_error_message = error_message if _custom_failure_message == "" else _custom_failure_message - GdAssertReports.report_error(_current_error_message, _line_number) +func report_error(failure :String) -> GdUnitFuncAssert: + _current_failure_message = GdAssertMessages.build_failure_message(failure, _additional_failure_message, _custom_failure_message) + GdAssertReports.report_error(_current_failure_message, _line_number) return self func failure_message() -> String: - return _current_error_message - - -func send_report(report :GdUnitReport)-> void: - GdUnitSignals.instance().gdunit_report.emit(report) + return _current_failure_message func override_failure_message(message :String) -> GdUnitFuncAssert: @@ -62,6 +64,11 @@ func override_failure_message(message :String) -> GdUnitFuncAssert: return self +func append_failure_message(message :String) -> GdUnitFuncAssert: + _additional_failure_message = message + return self + + func wait_until(timeout := 2000) -> GdUnitFuncAssert: if timeout <= 0: push_warning("Invalid timeout param, alloed timeouts must be grater than 0. Use default timeout instead") @@ -111,6 +118,10 @@ func cb_is_equal(c :Variant, e :Variant) -> bool: return GdObjects.equals(c,e) func cb_is_not_equal(c :Variant, e :Variant) -> bool: return not GdObjects.equals(c, e) +func do_interrupt() -> void: + _interrupted = true + + func _validate_callback(predicate :Callable, expected :Variant = null) -> void: if _interrupted: return @@ -118,16 +129,16 @@ func _validate_callback(predicate :Callable, expected :Variant = null) -> void: var time_scale := Engine.get_time_scale() var timer := Timer.new() timer.set_name("gdunit_funcassert_interrupt_timer_%d" % timer.get_instance_id()) - Engine.get_main_loop().root.add_child(timer) + var scene_tree := Engine.get_main_loop() as SceneTree + scene_tree.root.add_child(timer) timer.add_to_group("GdUnitTimers") - timer.timeout.connect(func do_interrupt() -> void: - _interrupted = true - , CONNECT_DEFERRED) + @warning_ignore("return_value_discarded") + timer.timeout.connect(do_interrupt, CONNECT_DEFERRED) timer.set_one_shot(true) timer.start((_timeout/1000.0)*time_scale) _sleep_timer = Timer.new() _sleep_timer.set_name("gdunit_funcassert_sleep_timer_%d" % _sleep_timer.get_instance_id() ) - Engine.get_main_loop().root.add_child(_sleep_timer) + scene_tree.root.add_child(_sleep_timer) while true: var current :Variant = await next_current_value() @@ -139,13 +150,20 @@ func _validate_callback(predicate :Callable, expected :Variant = null) -> void: await _sleep_timer.timeout _sleep_timer.stop() - await Engine.get_main_loop().process_frame + await scene_tree.process_frame if _interrupted: # https://github.com/godotengine/godot/issues/73052 #var predicate_name = predicate.get_method() var predicate_name :String = str(predicate).split('::')[1] - report_error(GdAssertMessages.error_interrupted(predicate_name.strip_edges().trim_prefix("cb_"), expected, LocalTime.elapsed(_timeout))) + @warning_ignore("return_value_discarded") + report_error(GdAssertMessages.error_interrupted( + predicate_name.strip_edges().trim_prefix("cb_"), + expected, + LocalTime.elapsed(_timeout) + ) + ) else: + @warning_ignore("return_value_discarded") report_success() _sleep_timer.free() timer.free() diff --git a/addons/gdUnit4/src/asserts/GdUnitGodotErrorAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitGodotErrorAssertImpl.gd index f08da5b..adf2a2e 100644 --- a/addons/gdUnit4/src/asserts/GdUnitGodotErrorAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitGodotErrorAssertImpl.gd @@ -17,6 +17,7 @@ func _init(callable :Callable) -> void: func _execute() -> Array[ErrorLogEntry]: # execute the given code and monitor for runtime errors if _callable == null or not _callable.is_valid(): + @warning_ignore("return_value_discarded") _report_error("Invalid Callable '%s'" % _callable) else: await _callable.call() diff --git a/addons/gdUnit4/src/asserts/GdUnitIntAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitIntAssertImpl.gd index 98fd445..1527cac 100644 --- a/addons/gdUnit4/src/asserts/GdUnitIntAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitIntAssertImpl.gd @@ -1,14 +1,14 @@ extends GdUnitIntAssert -var _base: GdUnitAssert +var _base: GdUnitAssertImpl func _init(current :Variant) -> void: - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if not GdUnitAssertions.validate_value_type(current, TYPE_INT): + @warning_ignore("return_value_discarded") report_error("GdUnitIntAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current)) @@ -34,30 +34,41 @@ func report_error(error :String) -> GdUnitIntAssert: func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() func override_failure_message(message :String) -> GdUnitIntAssert: + @warning_ignore("return_value_discarded") _base.override_failure_message(message) return self +func append_failure_message(message :String) -> GdUnitIntAssert: + @warning_ignore("return_value_discarded") + _base.append_failure_message(message) + return self + + func is_null() -> GdUnitIntAssert: + @warning_ignore("return_value_discarded") _base.is_null() return self func is_not_null() -> GdUnitIntAssert: + @warning_ignore("return_value_discarded") _base.is_not_null() return self -func is_equal(expected :int) -> GdUnitIntAssert: +func is_equal(expected :Variant) -> GdUnitIntAssert: + @warning_ignore("return_value_discarded") _base.is_equal(expected) return self -func is_not_equal(expected :int) -> GdUnitIntAssert: +func is_not_equal(expected :Variant) -> GdUnitIntAssert: + @warning_ignore("return_value_discarded") _base.is_not_equal(expected) return self diff --git a/addons/gdUnit4/src/asserts/GdUnitObjectAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitObjectAssertImpl.gd index b4090af..ce78a18 100644 --- a/addons/gdUnit4/src/asserts/GdUnitObjectAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitObjectAssertImpl.gd @@ -1,11 +1,10 @@ extends GdUnitObjectAssert -var _base :GdUnitAssert +var _base: GdUnitAssertImpl func _init(current :Variant) -> void: - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if (current != null @@ -13,6 +12,7 @@ func _init(current :Variant) -> void: or GdUnitAssertions.validate_value_type(current, TYPE_INT) or GdUnitAssertions.validate_value_type(current, TYPE_FLOAT) or GdUnitAssertions.validate_value_type(current, TYPE_STRING))): + @warning_ignore("return_value_discarded") report_error("GdUnitObjectAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current)) @@ -38,30 +38,41 @@ func report_error(error :String) -> GdUnitObjectAssert: func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() func override_failure_message(message :String) -> GdUnitObjectAssert: + @warning_ignore("return_value_discarded") _base.override_failure_message(message) return self +func append_failure_message(message :String) -> GdUnitObjectAssert: + @warning_ignore("return_value_discarded") + _base.append_failure_message(message) + return self + + func is_equal(expected :Variant) -> GdUnitObjectAssert: + @warning_ignore("return_value_discarded") _base.is_equal(expected) return self func is_not_equal(expected :Variant) -> GdUnitObjectAssert: + @warning_ignore("return_value_discarded") _base.is_not_equal(expected) return self func is_null() -> GdUnitObjectAssert: + @warning_ignore("return_value_discarded") _base.is_null() return self func is_not_null() -> GdUnitObjectAssert: + @warning_ignore("return_value_discarded") _base.is_not_null() return self @@ -70,19 +81,15 @@ func is_not_null() -> GdUnitObjectAssert: func is_same(expected :Variant) -> GdUnitObjectAssert: var current :Variant = current_value() if not is_same(current, expected): - report_error(GdAssertMessages.error_is_same(current, expected)) - return self - report_success() - return self + return report_error(GdAssertMessages.error_is_same(current, expected)) + return report_success() func is_not_same(expected :Variant) -> GdUnitObjectAssert: var current :Variant = current_value() if is_same(current, expected): - report_error(GdAssertMessages.error_not_same(current, expected)) - return self - report_success() - return self + return report_error(GdAssertMessages.error_not_same(current, expected)) + return report_success() func is_instanceof(type :Object) -> GdUnitObjectAssert: @@ -90,10 +97,8 @@ func is_instanceof(type :Object) -> GdUnitObjectAssert: if current == null or not is_instance_of(current, type): var result_expected: = GdObjects.extract_class_name(type) var result_current: = GdObjects.extract_class_name(current) - report_error(GdAssertMessages.error_is_instanceof(result_current, result_expected)) - return self - report_success() - return self + return report_error(GdAssertMessages.error_is_instanceof(result_current, result_expected)) + return report_success() func is_not_instanceof(type :Variant) -> GdUnitObjectAssert: @@ -101,9 +106,8 @@ func is_not_instanceof(type :Variant) -> GdUnitObjectAssert: if is_instance_of(current, type): var result: = GdObjects.extract_class_name(type) if result.is_success(): - report_error("Expected not be a instance of <%s>" % result.value()) - else: - push_error("Internal ERROR: %s" % result.error_message()) + return report_error("Expected not be a instance of <%s>" % str(result.value())) + + push_error("Internal ERROR: %s" % result.error_message()) return self - report_success() - return self + return report_success() diff --git a/addons/gdUnit4/src/asserts/GdUnitResultAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitResultAssertImpl.gd index e246039..8b6c7f2 100644 --- a/addons/gdUnit4/src/asserts/GdUnitResultAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitResultAssertImpl.gd @@ -1,14 +1,14 @@ extends GdUnitResultAssert -var _base :GdUnitAssert +var _base: GdUnitAssertImpl func _init(current :Variant) -> void: - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if not validate_value_type(current): + @warning_ignore("return_value_discarded") report_error("GdUnitResultAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current)) @@ -24,7 +24,7 @@ func validate_value_type(value :Variant) -> bool: func current_value() -> GdUnitResult: - return _base.current_value() as GdUnitResult + return _base.current_value() func report_success() -> GdUnitResultAssert: @@ -38,20 +38,29 @@ func report_error(error :String) -> GdUnitResultAssert: func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() func override_failure_message(message :String) -> GdUnitResultAssert: + @warning_ignore("return_value_discarded") _base.override_failure_message(message) return self +func append_failure_message(message :String) -> GdUnitResultAssert: + @warning_ignore("return_value_discarded") + _base.append_failure_message(message) + return self + + func is_null() -> GdUnitResultAssert: + @warning_ignore("return_value_discarded") _base.is_null() return self func is_not_null() -> GdUnitResultAssert: + @warning_ignore("return_value_discarded") _base.is_not_null() return self @@ -59,63 +68,50 @@ func is_not_null() -> GdUnitResultAssert: func is_empty() -> GdUnitResultAssert: var result := current_value() if result == null or not result.is_empty(): - report_error(GdAssertMessages.error_result_is_empty(result)) - else: - report_success() - return self + return report_error(GdAssertMessages.error_result_is_empty(result)) + return report_success() func is_success() -> GdUnitResultAssert: var result := current_value() if result == null or not result.is_success(): - report_error(GdAssertMessages.error_result_is_success(result)) - else: - report_success() - return self + return report_error(GdAssertMessages.error_result_is_success(result)) + return report_success() func is_warning() -> GdUnitResultAssert: var result := current_value() if result == null or not result.is_warn(): - report_error(GdAssertMessages.error_result_is_warning(result)) - else: - report_success() - return self + return report_error(GdAssertMessages.error_result_is_warning(result)) + return report_success() func is_error() -> GdUnitResultAssert: var result := current_value() if result == null or not result.is_error(): - report_error(GdAssertMessages.error_result_is_error(result)) - else: - report_success() - return self + return report_error(GdAssertMessages.error_result_is_error(result)) + return report_success() func contains_message(expected :String) -> GdUnitResultAssert: var result := current_value() if result == null: - report_error(GdAssertMessages.error_result_has_message("", expected)) - return self + return report_error(GdAssertMessages.error_result_has_message("", expected)) if result.is_success(): - report_error(GdAssertMessages.error_result_has_message_on_success(expected)) - elif result.is_error() and result.error_message() != expected: - report_error(GdAssertMessages.error_result_has_message(result.error_message(), expected)) - elif result.is_warn() and result.warn_message() != expected: - report_error(GdAssertMessages.error_result_has_message(result.warn_message(), expected)) - else: - report_success() - return self + return report_error(GdAssertMessages.error_result_has_message_on_success(expected)) + if result.is_error() and result.error_message() != expected: + return report_error(GdAssertMessages.error_result_has_message(result.error_message(), expected)) + if result.is_warn() and result.warn_message() != expected: + return report_error(GdAssertMessages.error_result_has_message(result.warn_message(), expected)) + return report_success() func is_value(expected :Variant) -> GdUnitResultAssert: var result := current_value() var value :Variant = null if result == null else result.value() if not GdObjects.equals(value, expected): - report_error(GdAssertMessages.error_result_is_value(value, expected)) - else: - report_success() - return self + return report_error(GdAssertMessages.error_result_is_value(value, expected)) + return report_success() func is_equal(expected :Variant) -> GdUnitResultAssert: diff --git a/addons/gdUnit4/src/asserts/GdUnitSignalAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitSignalAssertImpl.gd index 9c0ea62..7d4f57e 100644 --- a/addons/gdUnit4/src/asserts/GdUnitSignalAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitSignalAssertImpl.gd @@ -4,8 +4,9 @@ const DEFAULT_TIMEOUT := 2000 var _signal_collector :GdUnitSignalCollector var _emitter :Object -var _current_error_message :String = "" +var _current_failure_message :String = "" var _custom_failure_message :String = "" +var _additional_failure_message: String = "" var _line_number := -1 var _timeout := DEFAULT_TIMEOUT var _interrupted := false @@ -21,6 +22,14 @@ func _init(emitter :Object) -> void: GdAssertReports.reset_last_error_line_number() +func _notification(what :int) -> void: + if what == NOTIFICATION_PREDELETE: + _interrupted = true + if is_instance_valid(_emitter): + _signal_collector.unregister_emitter(_emitter) + _emitter = null + + func report_success() -> GdUnitAssert: GdAssertReports.report_success() return self @@ -31,18 +40,14 @@ func report_warning(message :String) -> GdUnitAssert: return self -func report_error(error_message :String) -> GdUnitAssert: - _current_error_message = error_message if _custom_failure_message == "" else _custom_failure_message - GdAssertReports.report_error(_current_error_message, _line_number) +func report_error(failure :String) -> GdUnitAssert: + _current_failure_message = GdAssertMessages.build_failure_message(failure, _additional_failure_message, _custom_failure_message) + GdAssertReports.report_error(_current_failure_message, _line_number) return self func failure_message() -> String: - return _current_error_message - - -func send_report(report :GdUnitReport)-> void: - GdUnitSignals.instance().gdunit_report.emit(report) + return _current_failure_message func override_failure_message(message :String) -> GdUnitSignalAssert: @@ -50,8 +55,14 @@ func override_failure_message(message :String) -> GdUnitSignalAssert: return self +func append_failure_message(message :String) -> GdUnitSignalAssert: + _additional_failure_message = message + return self + + func wait_until(timeout := 2000) -> GdUnitSignalAssert: if timeout <= 0: + @warning_ignore("return_value_discarded") report_warning("Invalid timeout parameter, allowed timeouts must be greater than 0, use default timeout instead!") _timeout = DEFAULT_TIMEOUT else: @@ -62,6 +73,7 @@ func wait_until(timeout := 2000) -> GdUnitSignalAssert: # Verifies the signal exists checked the emitter func is_signal_exists(signal_name :String) -> GdUnitSignalAssert: if not _emitter.has_signal(signal_name): + @warning_ignore("return_value_discarded") report_error("The signal '%s' not exists checked object '%s'." % [signal_name, _emitter.get_class()]) return self @@ -80,29 +92,30 @@ func is_not_emitted(name :String, args := []) -> GdUnitSignalAssert: func _wail_until_signal(signal_name :String, expected_args :Array, expect_not_emitted: bool) -> GdUnitSignalAssert: if _emitter == null: - report_error("Can't wait for signal checked a NULL object.") - return self + return report_error("Can't wait for signal checked a NULL object.") # first verify the signal is defined if not _emitter.has_signal(signal_name): - report_error("Can't wait for non-existion signal '%s' checked object '%s'." % [signal_name,_emitter.get_class()]) - return self + return report_error("Can't wait for non-existion signal '%s' checked object '%s'." % [signal_name,_emitter.get_class()]) _signal_collector.register_emitter(_emitter) var time_scale := Engine.get_time_scale() var timer := Timer.new() - Engine.get_main_loop().root.add_child(timer) + (Engine.get_main_loop() as SceneTree).root.add_child(timer) timer.add_to_group("GdUnitTimers") timer.set_one_shot(true) + @warning_ignore("return_value_discarded") timer.timeout.connect(func on_timeout() -> void: _interrupted = true) timer.start((_timeout/1000.0)*time_scale) var is_signal_emitted := false while not _interrupted and not is_signal_emitted: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame if is_instance_valid(_emitter): is_signal_emitted = _signal_collector.match(_emitter, signal_name, expected_args) if is_signal_emitted and expect_not_emitted: + @warning_ignore("return_value_discarded") report_error(GdAssertMessages.error_signal_emitted(signal_name, expected_args, LocalTime.elapsed(int(_timeout-timer.time_left*1000)))) if _interrupted and not expect_not_emitted: + @warning_ignore("return_value_discarded") report_error(GdAssertMessages.error_wait_signal(signal_name, expected_args, LocalTime.elapsed(_timeout))) timer.free() if is_instance_valid(_emitter): diff --git a/addons/gdUnit4/src/asserts/GdUnitStringAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitStringAssertImpl.gd index 6168aaa..0f15956 100644 --- a/addons/gdUnit4/src/asserts/GdUnitStringAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitStringAssertImpl.gd @@ -1,14 +1,14 @@ extends GdUnitStringAssert -var _base :GdUnitAssert +var _base: GdUnitAssertImpl func _init(current :Variant) -> void: - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if current != null and typeof(current) != TYPE_STRING and typeof(current) != TYPE_STRING_NAME: + @warning_ignore("return_value_discarded") report_error("GdUnitStringAssert inital error, unexpected type <%s>" % GdObjects.typeof_as_string(current)) @@ -20,7 +20,7 @@ func _notification(event :int) -> void: func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() func current_value() -> Variant: @@ -38,16 +38,25 @@ func report_error(error :String) -> GdUnitStringAssert: func override_failure_message(message :String) -> GdUnitStringAssert: + @warning_ignore("return_value_discarded") _base.override_failure_message(message) return self +func append_failure_message(message :String) -> GdUnitStringAssert: + @warning_ignore("return_value_discarded") + _base.append_failure_message(message) + return self + + func is_null() -> GdUnitStringAssert: + @warning_ignore("return_value_discarded") _base.is_null() return self func is_not_null() -> GdUnitStringAssert: + @warning_ignore("return_value_discarded") _base.is_not_null() return self @@ -90,49 +99,56 @@ func is_not_equal_ignoring_case(expected :Variant) -> GdUnitStringAssert: func is_empty() -> GdUnitStringAssert: var current :Variant = current_value() - if current == null or not current.is_empty(): + @warning_ignore("unsafe_cast") + if current == null or not (current as String).is_empty(): return report_error(GdAssertMessages.error_is_empty(current)) return report_success() func is_not_empty() -> GdUnitStringAssert: var current :Variant = current_value() - if current == null or current.is_empty(): + @warning_ignore("unsafe_cast") + if current == null or (current as String).is_empty(): return report_error(GdAssertMessages.error_is_not_empty()) return report_success() func contains(expected :String) -> GdUnitStringAssert: var current :Variant = current_value() - if current == null or current.find(expected) == -1: + @warning_ignore("unsafe_cast") + if current == null or (current as String).find(expected) == -1: return report_error(GdAssertMessages.error_contains(current, expected)) return report_success() func not_contains(expected :String) -> GdUnitStringAssert: var current :Variant = current_value() - if current != null and current.find(expected) != -1: + @warning_ignore("unsafe_cast") + if current != null and (current as String).find(expected) != -1: return report_error(GdAssertMessages.error_not_contains(current, expected)) return report_success() func contains_ignoring_case(expected :String) -> GdUnitStringAssert: var current :Variant = current_value() - if current == null or current.findn(expected) == -1: + @warning_ignore("unsafe_cast") + if current == null or (current as String).findn(expected) == -1: return report_error(GdAssertMessages.error_contains_ignoring_case(current, expected)) return report_success() func not_contains_ignoring_case(expected :String) -> GdUnitStringAssert: var current :Variant = current_value() - if current != null and current.findn(expected) != -1: + @warning_ignore("unsafe_cast") + if current != null and (current as String).findn(expected) != -1: return report_error(GdAssertMessages.error_not_contains_ignoring_case(current, expected)) return report_success() func starts_with(expected :String) -> GdUnitStringAssert: var current :Variant = current_value() - if current == null or current.find(expected) != 0: + @warning_ignore("unsafe_cast") + if current == null or (current as String).find(expected) != 0: return report_error(GdAssertMessages.error_starts_with(current, expected)) return report_success() @@ -141,8 +157,10 @@ func ends_with(expected :String) -> GdUnitStringAssert: var current :Variant = current_value() if current == null: return report_error(GdAssertMessages.error_ends_with(current, expected)) - var find :int = current.length() - expected.length() - if current.rfind(expected) != find: + @warning_ignore("unsafe_cast") + var find :int = (current as String).length() - expected.length() + @warning_ignore("unsafe_cast") + if (current as String).rfind(expected) != find: return report_error(GdAssertMessages.error_ends_with(current, expected)) return report_success() @@ -152,22 +170,23 @@ func has_length(expected :int, comparator := Comparator.EQUAL) -> GdUnitStringAs var current :Variant = current_value() if current == null: return report_error(GdAssertMessages.error_has_length(current, expected, comparator)) + var str_current: String = current match comparator: Comparator.EQUAL: - if current.length() != expected: - return report_error(GdAssertMessages.error_has_length(current, expected, comparator)) + if str_current.length() != expected: + return report_error(GdAssertMessages.error_has_length(str_current, expected, comparator)) Comparator.LESS_THAN: - if current.length() >= expected: - return report_error(GdAssertMessages.error_has_length(current, expected, comparator)) + if str_current.length() >= expected: + return report_error(GdAssertMessages.error_has_length(str_current, expected, comparator)) Comparator.LESS_EQUAL: - if current.length() > expected: - return report_error(GdAssertMessages.error_has_length(current, expected, comparator)) + if str_current.length() > expected: + return report_error(GdAssertMessages.error_has_length(str_current, expected, comparator)) Comparator.GREATER_THAN: - if current.length() <= expected: - return report_error(GdAssertMessages.error_has_length(current, expected, comparator)) + if str_current.length() <= expected: + return report_error(GdAssertMessages.error_has_length(str_current, expected, comparator)) Comparator.GREATER_EQUAL: - if current.length() < expected: - return report_error(GdAssertMessages.error_has_length(current, expected, comparator)) + if str_current.length() < expected: + return report_error(GdAssertMessages.error_has_length(str_current, expected, comparator)) _: return report_error("Comparator '%d' not implemented!" % comparator) return report_success() diff --git a/addons/gdUnit4/src/asserts/GdUnitVectorAssertImpl.gd b/addons/gdUnit4/src/asserts/GdUnitVectorAssertImpl.gd index 048cc3f..7b10d6b 100644 --- a/addons/gdUnit4/src/asserts/GdUnitVectorAssertImpl.gd +++ b/addons/gdUnit4/src/asserts/GdUnitVectorAssertImpl.gd @@ -1,15 +1,16 @@ extends GdUnitVectorAssert -var _base: GdUnitAssert -var _current_type :int +var _base: GdUnitAssertImpl +var _current_type: int +var _type_check: bool - -func _init(current :Variant) -> void: - _base = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", - ResourceLoader.CACHE_MODE_REUSE).new(current) +func _init(current: Variant, type_check := true) -> void: + _type_check = type_check + _base = GdUnitAssertImpl.new(current) # save the actual assert instance on the current thread context GdUnitThreadManager.get_current_context().set_assert(self) if not _validate_value_type(current): + @warning_ignore("return_value_discarded") report_error("GdUnitVectorAssert error, the type <%s> is not supported." % GdObjects.typeof_as_string(current)) _current_type = typeof(current) @@ -39,6 +40,7 @@ func _validate_is_vector_type(value :Variant) -> bool: var type := typeof(value) if type == _current_type or _current_type == TYPE_NIL: return true + @warning_ignore("return_value_discarded") report_error(GdAssertMessages.error_is_wrong_type(_current_type, type)) return false @@ -58,34 +60,45 @@ func report_error(error :String) -> GdUnitVectorAssert: func failure_message() -> String: - return _base._current_error_message + return _base.failure_message() func override_failure_message(message :String) -> GdUnitVectorAssert: + @warning_ignore("return_value_discarded") _base.override_failure_message(message) return self +func append_failure_message(message :String) -> GdUnitVectorAssert: + @warning_ignore("return_value_discarded") + _base.append_failure_message(message) + return self + + func is_null() -> GdUnitVectorAssert: + @warning_ignore("return_value_discarded") _base.is_null() return self func is_not_null() -> GdUnitVectorAssert: + @warning_ignore("return_value_discarded") _base.is_not_null() return self -func is_equal(expected :Variant) -> GdUnitVectorAssert: - if not _validate_is_vector_type(expected): +func is_equal(expected: Variant) -> GdUnitVectorAssert: + if _type_check and not _validate_is_vector_type(expected): return self + @warning_ignore("return_value_discarded") _base.is_equal(expected) return self -func is_not_equal(expected :Variant) -> GdUnitVectorAssert: - if not _validate_is_vector_type(expected): +func is_not_equal(expected: Variant) -> GdUnitVectorAssert: + if _type_check and not _validate_is_vector_type(expected): return self + @warning_ignore("return_value_discarded") _base.is_not_equal(expected) return self diff --git a/addons/gdUnit4/src/asserts/ValueProvider.gd b/addons/gdUnit4/src/asserts/ValueProvider.gd index a94aa91..be01f70 100644 --- a/addons/gdUnit4/src/asserts/ValueProvider.gd +++ b/addons/gdUnit4/src/asserts/ValueProvider.gd @@ -4,3 +4,7 @@ extends RefCounted func get_value() -> Variant: return null + + +func dispose() -> void: + pass diff --git a/addons/gdUnit4/src/cmd/CmdArgumentParser.gd b/addons/gdUnit4/src/cmd/CmdArgumentParser.gd index 1abe67f..aa02319 100644 --- a/addons/gdUnit4/src/cmd/CmdArgumentParser.gd +++ b/addons/gdUnit4/src/cmd/CmdArgumentParser.gd @@ -40,22 +40,23 @@ func options() -> CmdOptions: return _options -func _parse_cmd_arguments(option :CmdOption, args :Array) -> int: +func _parse_cmd_arguments(option: CmdOption, args: Array) -> int: var command_name := option.short_command() - var command :CmdCommand = _parsed_commands.get(command_name, CmdCommand.new(command_name)) + var command: CmdCommand = _parsed_commands.get(command_name, CmdCommand.new(command_name)) if option.has_argument(): if not option.is_argument_optional() and args.is_empty(): return -1 if _is_next_value_argument(args): - command.add_argument(args.pop_front()) + var value: String = args.pop_front() + command.add_argument(value) elif not option.is_argument_optional(): return -1 _parsed_commands[command_name] = command return 0 -func _is_next_value_argument(args :Array) -> bool: +func _is_next_value_argument(args: PackedStringArray) -> bool: if args.is_empty(): return false return _options.get_option(args[0]) == null diff --git a/addons/gdUnit4/src/cmd/CmdCommand.gd b/addons/gdUnit4/src/cmd/CmdCommand.gd index 58f0915..92e8c1f 100644 --- a/addons/gdUnit4/src/cmd/CmdCommand.gd +++ b/addons/gdUnit4/src/cmd/CmdCommand.gd @@ -19,6 +19,7 @@ func arguments() -> PackedStringArray: func add_argument(arg :String) -> void: + @warning_ignore("return_value_discarded") _arguments.append(arg) diff --git a/addons/gdUnit4/src/cmd/CmdCommandHandler.gd b/addons/gdUnit4/src/cmd/CmdCommandHandler.gd index 5b3b1cd..a11c7bc 100644 --- a/addons/gdUnit4/src/cmd/CmdCommandHandler.gd +++ b/addons/gdUnit4/src/cmd/CmdCommandHandler.gd @@ -57,14 +57,17 @@ func _validate() -> GdUnitResult: if _command_cbs[cmd_name][CB_SINGLE_ARG] else _command_cbs[cmd_name][CB_MULTI_ARGS]) if cb != NO_CB and not cb.is_valid(): + @warning_ignore("return_value_discarded") errors.append("Invalid function reference for command '%s', Check the function reference!" % cmd_name) if _cmd_options.get_option(cmd_name) == null: + @warning_ignore("return_value_discarded") errors.append("The command '%s' is unknown, verify your CmdOptions!" % cmd_name) # verify for multiple registered command callbacks if _enhanced_fr_test and cb != NO_CB: var cb_method: = cb.get_method() if registered_cbs.has(cb_method): var already_registered_cmd :String = registered_cbs[cb_method] + @warning_ignore("return_value_discarded") errors.append("The function reference '%s' already registerd for command '%s'!" % [cb_method, already_registered_cmd]) else: registered_cbs[cb_method] = cmd_name @@ -95,7 +98,8 @@ func execute(commands :Array[CmdCommand]) -> GdUnitResult: # we need to find the method and determin the arguments to call the right function for m in cb_m.get_object().get_method_list(): if m["name"] == cb_m.get_method(): - if m["args"].size() > 1: + @warning_ignore("unsafe_cast") + if (m["args"] as Array).size() > 1: cb_m.callv(arguments) break else: diff --git a/addons/gdUnit4/src/cmd/CmdConsole.gd b/addons/gdUnit4/src/cmd/CmdConsole.gd index 62a2949..a10c73e 100644 --- a/addons/gdUnit4/src/cmd/CmdConsole.gd +++ b/addons/gdUnit4/src/cmd/CmdConsole.gd @@ -23,14 +23,14 @@ var _color_mode := COLOR_TABLE func color(p_color :Color) -> CmdConsole: # using color table 16 - 231 a 6 x 6 x 6 RGB color cube (16 + R * 36 + G * 6 + B) - if _color_mode == COLOR_TABLE: - @warning_ignore("integer_division") - var c2 := 16 + (int(p_color.r8/42) * 36) + (int(p_color.g8/42) * 6) + int(p_color.b8/42) - if _debug_show_color_codes: - printraw("%6d" % [c2]) - printraw("[38;5;%dm" % c2 ) - else: - printraw("[38;2;%d;%d;%dm" % [p_color.r8, p_color.g8, p_color.b8] ) + #if _color_mode == COLOR_TABLE: + # @warning_ignore("integer_division") + # var c2 := 16 + (int(p_color.r8/42) * 36) + (int(p_color.g8/42) * 6) + int(p_color.b8/42) + # if _debug_show_color_codes: + # printraw("%6d" % [c2]) + # printraw("[38;5;%dm" % c2 ) + #else: + printraw("[38;2;%d;%d;%dm" % [p_color.r8, p_color.g8, p_color.b8] ) return self @@ -59,6 +59,7 @@ func scroll_area(from :int, to :int) -> CmdConsole: return self +@warning_ignore("return_value_discarded") func progress_bar(p_progress :int, p_color :Color = Color.POWDER_BLUE) -> CmdConsole: if p_progress < 0: p_progress = 0 @@ -123,6 +124,7 @@ func print_color(p_message :String, p_color :Color, p_flags := 0) -> CmdConsole: .end_color() +@warning_ignore("return_value_discarded") func print_color_table() -> void: prints_color("Color Table 6x6x6", Color.ANTIQUE_WHITE) _debug_show_color_codes = true diff --git a/addons/gdUnit4/src/core/GdArrayTools.gd b/addons/gdUnit4/src/core/GdArrayTools.gd index 3e3d3a9..d4c7e8f 100644 --- a/addons/gdUnit4/src/core/GdArrayTools.gd +++ b/addons/gdUnit4/src/core/GdArrayTools.gd @@ -28,10 +28,11 @@ static func is_type_array(type :int) -> bool: ## Filters an array by given value[br] ## If the given value not an array it returns null, will remove all occurence of given value. -static func filter_value(array :Variant, value :Variant) -> Variant: +@warning_ignore("unsafe_method_access") +static func filter_value(array: Variant, value: Variant) -> Variant: if not is_array_type(array): return null - var filtered_array :Variant = array.duplicate() + var filtered_array: Variant = array.duplicate() var index :int = filtered_array.find(value) while index != -1: filtered_array.remove_at(index) @@ -72,13 +73,12 @@ static func scan_typed(array :Array) -> int: ## # will result in PackedString(["a", "b"]) ## GdArrayTools.as_string(PackedColorArray(Color.RED, COLOR.GREEN)) ## [/codeblock] -static func as_string(elements :Variant, encode_value := true) -> String: - if not is_array_type(elements): - return "ERROR: Not an Array Type!" +static func as_string(elements: Variant, encode_value := true) -> String: var delemiter := ", " if elements == null: return "" - if elements.is_empty(): + @warning_ignore("unsafe_cast") + if (elements as Array).is_empty(): return "" var prefix := _typeof_as_string(elements) if encode_value else "" var formatted := "" @@ -93,6 +93,14 @@ static func as_string(elements :Variant, encode_value := true) -> String: return prefix + "[" + formatted + "]" +static func has_same_content(current: Array, other: Array) -> bool: + if current.size() != other.size(): return false + for element: Variant in current: + if not other.has(element): return false + if current.count(element) != other.count(element): return false + return true + + static func _typeof_as_string(value :Variant) -> String: var type := typeof(value) # for untyped array we retun empty string diff --git a/addons/gdUnit4/src/core/GdDiffTool.gd b/addons/gdUnit4/src/core/GdDiffTool.gd index a918a99..16e567b 100644 --- a/addons/gdUnit4/src/core/GdDiffTool.gd +++ b/addons/gdUnit4/src/core/GdDiffTool.gd @@ -7,7 +7,7 @@ const DIV_ADD :int = 214 const DIV_SUB :int = 215 -static func _diff(lb: PackedByteArray, rb: PackedByteArray, lookup: Array, ldiff: Array, rdiff: Array) -> void: +static func _diff(lb: PackedByteArray, rb: PackedByteArray, lookup: Array[Array], ldiff: Array, rdiff: Array) -> void: var loffset := lb.size() var roffset := rb.size() @@ -39,17 +39,19 @@ static func _diff(lb: PackedByteArray, rb: PackedByteArray, lookup: Array, ldiff # lookup[i][j] stores the length of LCS of substring X[0..i-1], Y[0..j-1] -static func _createLookUp(lb: PackedByteArray, rb: PackedByteArray) -> Array: - var lookup := Array() +static func _createLookUp(lb: PackedByteArray, rb: PackedByteArray) -> Array[Array]: + var lookup: Array[Array] = [] + @warning_ignore("return_value_discarded") lookup.resize(lb.size() + 1) for i in lookup.size(): var x := [] + @warning_ignore("return_value_discarded") x.resize(rb.size() + 1) lookup[i] = x return lookup -static func _buildLookup(lb: PackedByteArray, rb: PackedByteArray) -> Array: +static func _buildLookup(lb: PackedByteArray, rb: PackedByteArray) -> Array[Array]: var lookup := _createLookUp(lb, rb) # first column of the lookup table will be all 0 for i in lookup.size(): @@ -105,6 +107,7 @@ static func longestCommonSubsequence(text1 :String, text2 :String) -> PackedStri var lcsResultList := PackedStringArray(); while (i < text1WordCount && j < text2WordCount): if text1Words[i] == text2Words[j]: + @warning_ignore("return_value_discarded") lcsResultList.append(text2Words[j]) i += 1 j += 1 diff --git a/addons/gdUnit4/src/core/GdFunctionDoubler.gd b/addons/gdUnit4/src/core/GdFunctionDoubler.gd index aafe866..99a522f 100644 --- a/addons/gdUnit4/src/core/GdFunctionDoubler.gd +++ b/addons/gdUnit4/src/core/GdFunctionDoubler.gd @@ -39,6 +39,8 @@ const DEFAULT_TYPED_RETURN_VALUES := { TYPE_PACKED_STRING_ARRAY: "PackedStringArray()", TYPE_PACKED_VECTOR2_ARRAY: "PackedVector2Array()", TYPE_PACKED_VECTOR3_ARRAY: "PackedVector3Array()", + # since Godot 4.3.beta1 TYPE_PACKED_VECTOR4_ARRAY = 38 + GdObjects.TYPE_PACKED_VECTOR4_ARRAY: "PackedVector4Array()", TYPE_PACKED_COLOR_ARRAY: "PackedColorArray()", GdObjects.TYPE_VARIANT: "null", GdObjects.TYPE_ENUM: "0" @@ -80,7 +82,9 @@ static func get_enum_default(value :String) -> Variant: return %s.values()[0] """.dedent() % value + @warning_ignore("return_value_discarded") script.reload() + @warning_ignore("unsafe_method_access") return script.new().call("get_enum_default") @@ -111,20 +115,19 @@ func _init(push_errors :bool = false) -> void: @warning_ignore("unused_parameter") -func get_template(return_type :Variant, is_vararg :bool) -> String: - push_error("Must be implemented!") +func get_template(return_type: GdFunctionDescriptor, is_callable: bool) -> String: + assert(false, "'get_template' must be implemented!") return "" -func double(func_descriptor :GdFunctionDescriptor) -> PackedStringArray: - var func_signature := func_descriptor.typeless() + +func double(func_descriptor: GdFunctionDescriptor, is_callable: bool = false) -> PackedStringArray: var is_static := func_descriptor.is_static() - var is_vararg := func_descriptor.is_vararg() var is_coroutine := func_descriptor.is_coroutine() var func_name := func_descriptor.name() var args := func_descriptor.args() var varargs := func_descriptor.varargs() var return_value := GdFunctionDoubler.default_return_value(func_descriptor) - var arg_names := extract_arg_names(args) + var arg_names := extract_arg_names(args, true) var vararg_names := extract_arg_names(varargs) # save original constructor arguments @@ -133,17 +136,15 @@ func double(func_descriptor :GdFunctionDescriptor) -> PackedStringArray: var constructor := "func _init(%s) -> void:\n super(%s)\n pass\n" % [constructor_args, ", ".join(arg_names)] return constructor.split("\n") - var double_src := "" - double_src += '@warning_ignore("untyped_declaration")\n' if Engine.get_version_info().hex >= 0x40200 else '\n' + var double_src := "@warning_ignore('shadowed_variable', 'untyped_declaration', 'unsafe_call_argument', 'unsafe_method_access')\n" if func_descriptor.is_engine(): double_src += '@warning_ignore("native_method_override")\n' if func_descriptor.return_type() == GdObjects.TYPE_ENUM: double_src += '@warning_ignore("int_as_enum_without_match")\n' double_src += '@warning_ignore("int_as_enum_without_cast")\n' - double_src += '@warning_ignore("shadowed_variable")\n' - double_src += func_signature + double_src += GdFunctionDoubler.extract_func_signature(func_descriptor) # fix to unix format, this is need when the template is edited under windows than the template is stored with \r\n - var func_template := get_template(func_descriptor.return_type(), is_vararg).replace("\r\n", "\n") + var func_template := get_template(func_descriptor, is_callable).replace("\r\n", "\n") double_src += func_template\ .replace("$(arguments)", ", ".join(arg_names))\ .replace("$(varargs)", ", ".join(vararg_names))\ @@ -159,25 +160,54 @@ func double(func_descriptor :GdFunctionDescriptor) -> PackedStringArray: return double_src.split("\n") -func extract_arg_names(argument_signatures :Array[GdFunctionArgument]) -> PackedStringArray: +func extract_arg_names(argument_signatures: Array[GdFunctionArgument], add_suffix := false) -> PackedStringArray: var arg_names := PackedStringArray() for arg in argument_signatures: - arg_names.append(arg._name) + @warning_ignore("return_value_discarded") + arg_names.append(arg._name + ("_" if add_suffix else "")) return arg_names static func extract_constructor_args(args :Array[GdFunctionArgument]) -> PackedStringArray: var constructor_args := PackedStringArray() for arg in args: - var arg_name := arg._name + var arg_name := arg._name + "_" var default_value := get_default(arg) if default_value == "null": + @warning_ignore("return_value_discarded") constructor_args.append(arg_name + ":Variant=" + default_value) else: + @warning_ignore("return_value_discarded") constructor_args.append(arg_name + ":=" + default_value) return constructor_args +static func extract_func_signature(descriptor: GdFunctionDescriptor) -> String: + var func_signature := "" + if descriptor._return_type == TYPE_NIL: + func_signature = "func %s(%s) -> void:" % [descriptor.name(), typeless_args(descriptor)] + elif descriptor._return_type == GdObjects.TYPE_VARIANT: + func_signature = "func %s(%s):" % [descriptor.name(), typeless_args(descriptor)] + else: + func_signature = "func %s(%s) -> %s:" % [descriptor.name(), typeless_args(descriptor), descriptor.return_type_as_string()] + return "static " + func_signature if descriptor.is_static() else func_signature + + +static func typeless_args(descriptor: GdFunctionDescriptor) -> String: + var collect := PackedStringArray() + for arg in descriptor.args(): + if arg.has_default(): + @warning_ignore("return_value_discarded") + collect.push_back(arg.name() + "_" + "=" + arg.value_as_string()) + else: + @warning_ignore("return_value_discarded") + collect.push_back(arg.name() + "_") + for arg in descriptor.varargs(): + @warning_ignore("return_value_discarded") + collect.push_back(arg.name() + "=" + arg.value_as_string()) + return ", ".join(collect) + + static func get_default(arg :GdFunctionArgument) -> String: if arg.has_default(): return arg.value_as_string() diff --git a/addons/gdUnit4/src/core/GdObjects.gd b/addons/gdUnit4/src/core/GdObjects.gd index eadb79b..2a780ce 100644 --- a/addons/gdUnit4/src/core/GdObjects.gd +++ b/addons/gdUnit4/src/core/GdObjects.gd @@ -4,17 +4,20 @@ extends Resource const GdUnitTools := preload("res://addons/gdUnit4/src/core/GdUnitTools.gd") -const TYPE_VOID = TYPE_MAX + 1000 -const TYPE_VARARG = TYPE_MAX + 1001 -const TYPE_VARIANT = TYPE_MAX + 1002 -const TYPE_FUNC = TYPE_MAX + 1003 -const TYPE_FUZZER = TYPE_MAX + 1004 -const TYPE_NODE = TYPE_MAX + 2001 +# introduced with Godot 4.3.beta1 +const TYPE_PACKED_VECTOR4_ARRAY = 38 #TYPE_PACKED_VECTOR4_ARRAY + +const TYPE_VOID = 1000 +const TYPE_VARARG = 1001 +const TYPE_VARIANT = 1002 +const TYPE_FUNC = 1003 +const TYPE_FUZZER = 1004 # missing Godot types -const TYPE_CONTROL = TYPE_MAX + 2002 -const TYPE_CANVAS = TYPE_MAX + 2003 -const TYPE_ENUM = TYPE_MAX + 2004 +const TYPE_NODE = 2001 +const TYPE_CONTROL = 2002 +const TYPE_CANVAS = 2003 +const TYPE_ENUM = 2004 # used as default value for varargs @@ -59,6 +62,7 @@ const TYPE_AS_STRING_MAPPINGS := { TYPE_PACKED_STRING_ARRAY: "PackedStringArray", TYPE_PACKED_VECTOR2_ARRAY: "PackedVector2Array", TYPE_PACKED_VECTOR3_ARRAY: "PackedVector3Array", + TYPE_PACKED_VECTOR4_ARRAY: "PackedVector4Array", TYPE_PACKED_COLOR_ARRAY: "PackedColorArray", TYPE_VOID: "void", TYPE_VARARG: "VarArg", @@ -141,7 +145,8 @@ enum COMPARE_MODE { # prototype of better object to dictionary -static func obj2dict(obj :Object, hashed_objects := Dictionary()) -> Dictionary: +@warning_ignore("unsafe_cast") +static func obj2dict(obj: Object, hashed_objects := Dictionary()) -> Dictionary: if obj == null: return {} var clazz_name := obj.get_class() @@ -149,13 +154,20 @@ static func obj2dict(obj :Object, hashed_objects := Dictionary()) -> Dictionary: var clazz_path := "" if is_instance_valid(obj) and obj.get_script() != null: - var d := inst_to_dict(obj) - clazz_path = d["@path"] - if d["@subpath"] != NodePath(""): - clazz_name = d["@subpath"] - dict["@inner_class"] = true + var script: Script = obj.get_script() + # handle build-in scripts + if script.resource_path != null and script.resource_path.contains(".tscn"): + var path_elements := script.resource_path.split(".tscn") + clazz_name = path_elements[0].get_file() + clazz_path = script.resource_path else: - clazz_name = clazz_path.get_file().replace(".gd", "") + var d := inst_to_dict(obj) + clazz_path = d["@path"] + if d["@subpath"] != NodePath(""): + clazz_name = d["@subpath"] + dict["@inner_class"] = true + else: + clazz_name = clazz_path.get_file().replace(".gd", "") dict["@path"] = clazz_path for property in obj.get_property_list(): @@ -173,11 +185,14 @@ static func obj2dict(obj :Object, hashed_objects := Dictionary()) -> Dictionary: dict[property_name] = str(property_value) continue hashed_objects[obj] = true - dict[property_name] = obj2dict(property_value, hashed_objects) + dict[property_name] = obj2dict(property_value as Object, hashed_objects) else: dict[property_name] = property_value - if obj.has_method("get_children"): - var childrens :Array = obj.get_children() + if obj is Node: + var childrens :Array = (obj as Node).get_children() + dict["childrens"] = childrens.map(func (child :Object) -> Dictionary: return obj2dict(child, hashed_objects)) + if obj is TreeItem: + var childrens :Array = (obj as TreeItem).get_children() dict["childrens"] = childrens.map(func (child :Object) -> Dictionary: return obj2dict(child, hashed_objects)) return {"%s" % clazz_name : dict} @@ -187,14 +202,15 @@ static func equals(obj_a :Variant, obj_b :Variant, case_sensitive :bool = false, return _equals(obj_a, obj_b, case_sensitive, compare_mode, [], 0) -static func equals_sorted(obj_a :Array, obj_b :Array, case_sensitive :bool = false, compare_mode :COMPARE_MODE = COMPARE_MODE.PARAMETER_DEEP_TEST) -> bool: - var a := obj_a.duplicate() - var b := obj_b.duplicate() +static func equals_sorted(obj_a: Array[Variant], obj_b: Array[Variant], case_sensitive: bool = false, compare_mode: COMPARE_MODE = COMPARE_MODE.PARAMETER_DEEP_TEST) -> bool: + var a: Array[Variant] = obj_a.duplicate() + var b: Array[Variant] = obj_b.duplicate() a.sort() b.sort() return equals(a, b, case_sensitive, compare_mode) +@warning_ignore("unsafe_method_access", "unsafe_cast") static func _equals(obj_a :Variant, obj_b :Variant, case_sensitive :bool, compare_mode :COMPARE_MODE, deep_stack :Array, stack_depth :int ) -> bool: var type_a := typeof(obj_a) var type_b := typeof(obj_b) @@ -234,8 +250,8 @@ static func _equals(obj_a :Variant, obj_b :Variant, case_sensitive :bool, compar return false if obj_a.get_class() != obj_b.get_class(): return false - var a := obj2dict(obj_a) - var b := obj2dict(obj_b) + var a := obj2dict(obj_a as Object) + var b := obj2dict(obj_b as Object) return _equals(a, b, case_sensitive, compare_mode, deep_stack, stack_depth) return obj_a == obj_b @@ -293,6 +309,7 @@ static func to_pascal_case(value :String) -> String: return value.capitalize().replace(" ", "") +@warning_ignore("return_value_discarded") static func to_snake_case(value :String) -> String: var result := PackedStringArray() for ch in value: @@ -313,6 +330,8 @@ static func is_snake_case(value :String) -> bool: static func type_as_string(type :int) -> String: + if type < TYPE_MAX: + return type_string(type) return TYPE_AS_STRING_MAPPINGS.get(type, "Variant") @@ -345,10 +364,13 @@ static func _is_type_equivalent(type_a :int, type_b :int) -> bool: or type_a == type_b) -static func is_engine_type(value :Object) -> bool: +static func is_engine_type(value :Variant) -> bool: if value is GDScript or value is ScriptExtension: return false - return value.is_class("GDScriptNativeClass") + var obj: Object = value + if is_instance_valid(obj) and obj.has_method("is_class"): + return obj.is_class("GDScriptNativeClass") + return false static func is_type(value :Variant) -> bool: @@ -359,7 +381,8 @@ static func is_type(value :Variant) -> bool: if is_engine_type(value): return true # is a custom class type - if value is GDScript and value.can_instantiate(): + @warning_ignore("unsafe_cast") + if value is GDScript and (value as GDScript).can_instantiate(): return true return false @@ -372,7 +395,8 @@ static func _is_same(left :Variant, right :Variant) -> bool: if left_type != right_type: return false if left_type == TYPE_OBJECT and right_type == TYPE_OBJECT: - return left.get_instance_id() == right.get_instance_id() + @warning_ignore("unsafe_cast") + return (left as Object).get_instance_id() == (right as Object).get_instance_id() return equals(left, right) @@ -397,7 +421,8 @@ static func is_scene(value :Variant) -> bool: static func is_scene_resource_path(value :Variant) -> bool: - return value is String and value.ends_with(".tscn") + @warning_ignore("unsafe_cast") + return value is String and (value as String).ends_with(".tscn") static func is_gd_script(script :Script) -> bool: @@ -413,8 +438,8 @@ static func is_gd_testsuite(script :Script) -> bool: if is_gd_script(script): var stack := [script] while not stack.is_empty(): - var current := stack.pop_front() as Script - var base := current.get_base_script() as Script + var current: Script = stack.pop_front() + var base: Script = current.get_base_script() if base != null: if base.resource_path.find("GdUnitTestSuite") != -1: return true @@ -422,11 +447,12 @@ static func is_gd_testsuite(script :Script) -> bool: return false -static func is_singleton(value :Variant) -> bool: +static func is_singleton(value: Variant) -> bool: if not is_instance_valid(value) or is_native_class(value): return false for name in Engine.get_singleton_list(): - if value.is_class(name): + @warning_ignore("unsafe_cast") + if (value as Object).is_class(name): return true return false @@ -434,17 +460,19 @@ static func is_singleton(value :Variant) -> bool: static func is_instance(value :Variant) -> bool: if not is_instance_valid(value) or is_native_class(value): return false - if is_script(value) and value.get_instance_base_type() == "": + @warning_ignore("unsafe_cast") + if is_script(value) and (value as Script).get_instance_base_type() == "": return true if is_scene(value): return true - return not value.has_method('new') and not value.has_method('instance') + @warning_ignore("unsafe_cast") + return not (value as Object).has_method('new') and not (value as Object).has_method('instance') # only object form type Node and attached filename static func is_instance_scene(instance :Variant) -> bool: if instance is Node: - var node := instance as Node + var node: Node = instance return node.get_scene_file_path() != null and not node.get_scene_file_path().is_empty() return false @@ -452,7 +480,8 @@ static func is_instance_scene(instance :Variant) -> bool: static func can_be_instantiate(obj :Variant) -> bool: if not obj or is_engine_type(obj): return false - return obj.has_method("new") + @warning_ignore("unsafe_cast") + return (obj as Object).has_method("new") static func create_instance(clazz :Variant) -> GdUnitResult: @@ -461,48 +490,54 @@ static func create_instance(clazz :Variant) -> GdUnitResult: # test is given clazz already an instance if is_instance(clazz): return GdUnitResult.success(clazz) + @warning_ignore("unsafe_method_access") return GdUnitResult.success(clazz.new()) TYPE_STRING: - if ClassDB.class_exists(clazz): - if Engine.has_singleton(clazz): - return GdUnitResult.error("Not allowed to create a instance for singelton '%s'." % clazz) - if not ClassDB.can_instantiate(clazz): - return GdUnitResult.error("Can't instance Engine class '%s'." % clazz) - return GdUnitResult.success(ClassDB.instantiate(clazz)) + var clazz_name: String = clazz + if ClassDB.class_exists(clazz_name): + if Engine.has_singleton(clazz_name): + return GdUnitResult.error("Not allowed to create a instance for singelton '%s'." % clazz_name) + if not ClassDB.can_instantiate(clazz_name): + return GdUnitResult.error("Can't instance Engine class '%s'." % clazz_name) + return GdUnitResult.success(ClassDB.instantiate(clazz_name)) else: - var clazz_path :String = extract_class_path(clazz)[0] + var clazz_path :String = extract_class_path(clazz_name)[0] if not FileAccess.file_exists(clazz_path): - return GdUnitResult.error("Class '%s' not found." % clazz) - var script := load(clazz_path) + return GdUnitResult.error("Class '%s' not found." % clazz_name) + var script: GDScript = load(clazz_path) if script != null: return GdUnitResult.success(script.new()) else: - return GdUnitResult.error("Can't create instance for '%s'." % clazz) - return GdUnitResult.error("Can't create instance for class '%s'." % clazz) + return GdUnitResult.error("Can't create instance for '%s'." % clazz_name) + return GdUnitResult.error("Can't create instance for class '%s'." % str(clazz)) +@warning_ignore("return_value_discarded") static func extract_class_path(clazz :Variant) -> PackedStringArray: var clazz_path := PackedStringArray() if clazz is String: - clazz_path.append(clazz) + @warning_ignore("unsafe_cast") + clazz_path.append(clazz as String) return clazz_path if is_instance(clazz): # is instance a script instance? - var script := clazz.script as GDScript + var script: GDScript = clazz.script if script != null: return extract_class_path(script) return clazz_path if clazz is GDScript: - if not clazz.resource_path.is_empty(): - clazz_path.append(clazz.resource_path) + var script: GDScript = clazz + if not script.resource_path.is_empty(): + clazz_path.append(script.resource_path) return clazz_path # if not found we go the expensive way and extract the path form the script by creating an instance - var arg_list := build_function_default_arguments(clazz, "_init") - var instance :Variant = clazz.callv("new", arg_list) + var arg_list := build_function_default_arguments(script, "_init") + var instance: Object = script.callv("new", arg_list) var clazz_info := inst_to_dict(instance) GdUnitTools.free_instance(instance) - clazz_path.append(clazz_info["@path"]) + @warning_ignore("unsafe_cast") + clazz_path.append(clazz_info["@path"] as String) if clazz_info.has("@subpath"): var sub_path :String = clazz_info["@subpath"] if not sub_path.is_empty(): @@ -529,33 +564,38 @@ static func extract_class_name(clazz :Variant) -> GdUnitResult: if is_instance(clazz): # is instance a script instance? - var script := clazz.script as GDScript + var script: GDScript = clazz.script if script != null: return extract_class_name(script) - return GdUnitResult.success(clazz.get_class()) + @warning_ignore("unsafe_cast") + return GdUnitResult.success((clazz as Object).get_class()) # extract name form full qualified class path if clazz is String: - if ClassDB.class_exists(clazz): - return GdUnitResult.success(clazz) - var source_sript :Script = load(clazz) - var clazz_name :String = load("res://addons/gdUnit4/src/core/parse/GdScriptParser.gd").new().get_class_name(source_sript) + var clazz_name: String = clazz + if ClassDB.class_exists(clazz_name): + return GdUnitResult.success(clazz_name) + var source_script :GDScript = load(clazz_name) + clazz_name = GdScriptParser.new().get_class_name(source_script) return GdUnitResult.success(to_pascal_case(clazz_name)) if is_primitive_type(clazz): return GdUnitResult.error("Can't extract class name for an primitive '%s'" % type_as_string(typeof(clazz))) if is_script(clazz): - if clazz.resource_path.is_empty(): + @warning_ignore("unsafe_cast") + if (clazz as Script).resource_path.is_empty(): var class_path := extract_class_name_from_class_path(extract_class_path(clazz)) return GdUnitResult.success(class_path); return extract_class_name(clazz.resource_path) # need to create an instance for a class typ the extract the class name + @warning_ignore("unsafe_method_access") var instance :Variant = clazz.new() if instance == null: - return GdUnitResult.error("Can't create a instance for class '%s'" % clazz) + return GdUnitResult.error("Can't create a instance for class '%s'" % str(clazz)) var result := extract_class_name(instance) + @warning_ignore("return_value_discarded") GdUnitTools.free_instance(instance) return result @@ -571,6 +611,7 @@ static func extract_inner_clazz_names(clazz_name :String, script_path :PackedStr var value :Variant = map.get(key) if value is GDScript: var class_path := extract_class_path(value) + @warning_ignore("return_value_discarded") inner_classes.append(class_path[1]) return inner_classes @@ -649,6 +690,7 @@ static func default_value_by_type(type :int) -> Variant: TYPE_NODE_PATH: return NodePath() TYPE_RID: return RID() TYPE_OBJECT: return null + TYPE_CALLABLE: return Callable() TYPE_ARRAY: return [] TYPE_DICTIONARY: return {} TYPE_PACKED_BYTE_ARRAY: return PackedByteArray() diff --git a/addons/gdUnit4/src/core/GdUnit4Version.gd b/addons/gdUnit4/src/core/GdUnit4Version.gd index 5918353..777eb92 100644 --- a/addons/gdUnit4/src/core/GdUnit4Version.gd +++ b/addons/gdUnit4/src/core/GdUnit4Version.gd @@ -16,6 +16,7 @@ func _init(major :int, minor :int, patch :int) -> void: static func parse(value :String) -> GdUnit4Version: var regex := RegEx.new() + @warning_ignore("return_value_discarded") regex.compile("[a-zA-Z:,-]+") var cleaned := regex.sub(value, "", true) var parts := cleaned.split(".") @@ -27,8 +28,10 @@ static func parse(value :String) -> GdUnit4Version: static func current() -> GdUnit4Version: var config := ConfigFile.new() + @warning_ignore("return_value_discarded") config.load('addons/gdUnit4/plugin.cfg') - return parse(config.get_value('plugin', 'version')) + @warning_ignore("unsafe_cast") + return parse(config.get_value('plugin', 'version') as String) func equals(other :GdUnit4Version) -> bool: @@ -45,12 +48,13 @@ func is_greater(other :GdUnit4Version) -> bool: static func init_version_label(label :Control) -> void: var config := ConfigFile.new() + @warning_ignore("return_value_discarded") config.load('addons/gdUnit4/plugin.cfg') var version :String = config.get_value('plugin', 'version') if label is RichTextLabel: - label.text = VERSION_PATTERN.replace('${version}', version) + (label as RichTextLabel).text = VERSION_PATTERN.replace('${version}', version) else: - label.text = "gdUnit4 " + version + (label as Label).text = "gdUnit4 " + version func _to_string() -> String: diff --git a/addons/gdUnit4/src/core/GdUnitClassDoubler.gd b/addons/gdUnit4/src/core/GdUnitClassDoubler.gd index 4f0d2bb..8a96a29 100644 --- a/addons/gdUnit4/src/core/GdUnitClassDoubler.gd +++ b/addons/gdUnit4/src/core/GdUnitClassDoubler.gd @@ -37,12 +37,15 @@ static func check_leaked_instances() -> void: # class_info = { "class_name": <>, "class_path" : <>} static func load_template(template :String, class_info :Dictionary, instance :Object) -> PackedStringArray: # store instance id + var clazz_name: String = class_info.get("class_name") var source_code := template\ .replace("${instance_id}", "%s%d" % [DOUBLER_INSTANCE_ID_PREFIX, abs(instance.get_instance_id())])\ - .replace("${source_class}", class_info.get("class_name")) + .replace("${source_class}", clazz_name) var lines := GdScriptParser.to_unix_format(source_code).split("\n") # replace template class_name with Doubled name and extends form source class - lines.insert(0, "class_name Doubled%s" % class_info.get("class_name").replace(".", "_")) + @warning_ignore("return_value_discarded") + lines.insert(0, "class_name Doubled%s" % clazz_name.replace(".", "_")) + @warning_ignore("return_value_discarded") lines.insert(1, extends_clazz(class_info)) # append Object interactions stuff lines.append_array(GdScriptParser.to_unix_format(DOUBLER_TEMPLATE.source_code).split("\n")) @@ -74,16 +77,14 @@ static func double_functions(instance :Object, clazz_name :String, clazz_path :P push_error(result.error_message()) return PackedStringArray() var class_descriptor :GdClassDescriptor = result.value() - while class_descriptor != null: - for func_descriptor in class_descriptor.functions(): - if instance != null and not instance.has_method(func_descriptor.name()): - #prints("no virtual func implemented",clazz_name, func_descriptor.name() ) - continue - if functions.has(func_descriptor.name()) or exclude_override_functions.has(func_descriptor.name()): - continue - doubled_source += func_doubler.double(func_descriptor) - functions.append(func_descriptor.name()) - class_descriptor = class_descriptor.parent() + for func_descriptor in class_descriptor.functions(): + if instance != null and not instance.has_method(func_descriptor.name()): + #prints("no virtual func implemented",clazz_name, func_descriptor.name() ) + continue + if functions.has(func_descriptor.name()) or exclude_override_functions.has(func_descriptor.name()): + continue + doubled_source += func_doubler.double(func_descriptor, instance is CallableDoubler) + functions.append(func_descriptor.name()) # double regular class functions var clazz_functions := GdObjects.extract_class_functions(clazz_name, clazz_path) @@ -103,7 +104,7 @@ static func double_functions(instance :Object, clazz_name :String, clazz_path :P #prints("no virtual func implemented",clazz_name, func_descriptor.name() ) continue functions.append(func_descriptor.name()) - doubled_source.append_array(func_doubler.double(func_descriptor)) + doubled_source.append_array(func_doubler.double(func_descriptor, instance is CallableDoubler)) return doubled_source diff --git a/addons/gdUnit4/src/core/GdUnitFileAccess.gd b/addons/gdUnit4/src/core/GdUnitFileAccess.gd index 01022dd..cf8663c 100644 --- a/addons/gdUnit4/src/core/GdUnitFileAccess.gd +++ b/addons/gdUnit4/src/core/GdUnitFileAccess.gd @@ -23,6 +23,7 @@ static func create_temp_file(relative_path :String, file_name :String, mode := F static func temp_dir() -> String: if not DirAccess.dir_exists_absolute(GDUNIT_TEMP): + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(GDUNIT_TEMP) return GDUNIT_TEMP @@ -30,6 +31,7 @@ static func temp_dir() -> String: static func create_temp_dir(folder_name :String) -> String: var new_folder := temp_dir() + "/" + folder_name if not DirAccess.dir_exists_absolute(new_folder): + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(new_folder) return new_folder @@ -61,6 +63,7 @@ static func copy_directory(from_dir :String, to_dir :String, recursive :bool = f var source_dir := DirAccess.open(from_dir) var dest_dir := DirAccess.open(to_dir) if source_dir != null: + @warning_ignore("return_value_discarded") source_dir.list_dir_begin() var next := "." @@ -72,6 +75,7 @@ static func copy_directory(from_dir :String, to_dir :String, recursive :bool = f var dest := dest_dir.get_current_dir() + "/" + next if source_dir.current_is_dir(): if recursive: + @warning_ignore("return_value_discarded") copy_directory(source + "/", dest, recursive) continue var err := source_dir.copy(source, dest) @@ -88,6 +92,7 @@ static func copy_directory(from_dir :String, to_dir :String, recursive :bool = f static func delete_directory(path :String, only_content := false) -> void: var dir := DirAccess.open(path) if dir != null: + @warning_ignore("return_value_discarded") dir.list_dir_begin() var file_name := "." while file_name != "": @@ -113,6 +118,7 @@ static func delete_path_index_lower_equals_than(path :String, prefix :String, in if dir == null: return 0 var deleted := 0 + @warning_ignore("return_value_discarded") dir.list_dir_begin() var next := "." while next != "": @@ -134,6 +140,7 @@ static func find_last_path_index(path :String, prefix :String) -> int: if dir == null: return 0 var last_iteration := 0 + @warning_ignore("return_value_discarded") dir.list_dir_begin() var next := "." while next != "": @@ -152,12 +159,14 @@ static func scan_dir(path :String) -> PackedStringArray: if dir == null or not dir.dir_exists(path): return PackedStringArray() var content := PackedStringArray() + @warning_ignore("return_value_discarded") dir.list_dir_begin() var next := "." while next != "": next = dir.get_next() if next.is_empty() or next == "." or next == "..": continue + @warning_ignore("return_value_discarded") content.append(next) return content @@ -169,6 +178,7 @@ static func resource_as_array(resource_path :String) -> PackedStringArray: return PackedStringArray() var file_content := PackedStringArray() while not file.eof_reached(): + @warning_ignore("return_value_discarded") file_content.append(file.get_line()) return file_content @@ -182,11 +192,12 @@ static func resource_as_string(resource_path :String) -> String: static func make_qualified_path(path :String) -> String: - if not path.begins_with("res://"): - if path.begins_with("//"): - return path.replace("//", "res://") - if path.begins_with("/"): - return "res:/" + path + if path.begins_with("res://"): + return path + if path.begins_with("//"): + return path.replace("//", "res://") + if path.begins_with("/"): + return "res:/" + path return path @@ -203,9 +214,11 @@ static func extract_zip(zip_package :String, dest_path :String) -> GdUnitResult: for zip_entry in zip_entries: var new_file_path: String = dest_path + "/" + zip_entry.replace(archive_path, "") if zip_entry.ends_with("/"): + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(new_file_path) continue var file: FileAccess = FileAccess.open(new_file_path, FileAccess.WRITE) file.store_buffer(zip.read_file(zip_entry)) + @warning_ignore("return_value_discarded") zip.close() return GdUnitResult.success(dest_path) diff --git a/addons/gdUnit4/src/core/GdUnitObjectInteractions.gd b/addons/gdUnit4/src/core/GdUnitObjectInteractions.gd index 36930fc..c3ea021 100644 --- a/addons/gdUnit4/src/core/GdUnitObjectInteractions.gd +++ b/addons/gdUnit4/src/core/GdUnitObjectInteractions.gd @@ -5,13 +5,15 @@ extends RefCounted static func verify(interaction_object :Object, interactions_times :int) -> Variant: if not _is_mock_or_spy(interaction_object, "__verify"): return interaction_object + @warning_ignore("unsafe_method_access") return interaction_object.__do_verify_interactions(interactions_times) static func verify_no_interactions(interaction_object :Object) -> GdUnitAssert: - var __gd_assert :GdUnitAssert = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", ResourceLoader.CACHE_MODE_REUSE).new("") + var __gd_assert := GdUnitAssertImpl.new("") if not _is_mock_or_spy(interaction_object, "__verify"): return __gd_assert.report_success() + @warning_ignore("unsafe_method_access") var __summary :Dictionary = interaction_object.__verify_no_interactions() if __summary.is_empty(): return __gd_assert.report_success() @@ -19,9 +21,10 @@ static func verify_no_interactions(interaction_object :Object) -> GdUnitAssert: static func verify_no_more_interactions(interaction_object :Object) -> GdUnitAssert: - var __gd_assert :GdUnitAssert = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd", "GDScript", ResourceLoader.CACHE_MODE_REUSE).new("") + var __gd_assert := GdUnitAssertImpl.new("") if not _is_mock_or_spy(interaction_object, "__verify_no_more_interactions"): return __gd_assert + @warning_ignore("unsafe_method_access") var __summary :Dictionary = interaction_object.__verify_no_more_interactions() if __summary.is_empty(): return __gd_assert @@ -31,12 +34,14 @@ static func verify_no_more_interactions(interaction_object :Object) -> GdUnitAss static func reset(interaction_object :Object) -> Object: if not _is_mock_or_spy(interaction_object, "__reset"): return interaction_object + @warning_ignore("unsafe_method_access") interaction_object.__reset_interactions() return interaction_object static func _is_mock_or_spy(interaction_object :Object, mock_function_signature :String) -> bool: - if interaction_object is GDScript and not interaction_object.get_script().has_script_method(mock_function_signature): + @warning_ignore("unsafe_cast") + if interaction_object is GDScript and not (interaction_object.get_script() as GDScript).has_method(mock_function_signature): push_error("Error: You try to use a non mock or spy!") return false return true diff --git a/addons/gdUnit4/src/core/GdUnitObjectInteractionsTemplate.gd b/addons/gdUnit4/src/core/GdUnitObjectInteractionsTemplate.gd index c06b1d4..94c435f 100644 --- a/addons/gdUnit4/src/core/GdUnitObjectInteractionsTemplate.gd +++ b/addons/gdUnit4/src/core/GdUnitObjectInteractionsTemplate.gd @@ -1,4 +1,3 @@ -const GdUnitAssertImpl := preload("res://addons/gdUnit4/src/asserts/GdUnitAssertImpl.gd") var __expected_interactions :int = -1 var __saved_interactions := Dictionary() @@ -47,8 +46,10 @@ func __verify_interactions(function_args :Array[Variant]) -> void: __error_message = GdAssertMessages.error_validate_interactions(__current_summary, __expected_summary) else: __error_message = GdAssertMessages.error_validate_interactions(__summary, __expected_summary) + @warning_ignore("return_value_discarded") __gd_assert.report_error(__error_message) else: + @warning_ignore("return_value_discarded") __gd_assert.report_success() __expected_interactions = -1 diff --git a/addons/gdUnit4/src/core/GdUnitProperty.gd b/addons/gdUnit4/src/core/GdUnitProperty.gd index 6e338a3..138dd9f 100644 --- a/addons/gdUnit4/src/core/GdUnitProperty.gd +++ b/addons/gdUnit4/src/core/GdUnitProperty.gd @@ -31,6 +31,10 @@ func value() -> Variant: return _value +func value_as_string() -> String: + return _value + + func value_set() -> PackedStringArray: return _value_set @@ -44,11 +48,11 @@ func set_value(p_value :Variant) -> void: TYPE_STRING: _value = str(p_value) TYPE_BOOL: - _value = bool(p_value) + _value = convert(p_value, TYPE_BOOL) TYPE_INT: - _value = int(p_value) + _value = convert(p_value, TYPE_INT) TYPE_FLOAT: - _value = float(p_value) + _value = convert(p_value, TYPE_FLOAT) _: _value = p_value diff --git a/addons/gdUnit4/src/core/GdUnitResult.gd b/addons/gdUnit4/src/core/GdUnitResult.gd index f2d297f..c7187d4 100644 --- a/addons/gdUnit4/src/core/GdUnitResult.gd +++ b/addons/gdUnit4/src/core/GdUnitResult.gd @@ -8,7 +8,7 @@ enum { EMPTY } -var _state :Variant +var _state: int var _warn_message := "" var _error_message := "" var _value :Variant = null @@ -66,6 +66,10 @@ func value() -> Variant: return _value +func value_as_string() -> String: + return _value + + func or_else(p_value :Variant) -> Variant: if not is_success(): return p_value @@ -97,7 +101,8 @@ static func serialize(result :GdUnitResult) -> Dictionary: static func deserialize(config :Dictionary) -> GdUnitResult: var result := GdUnitResult.new() - result._value = str_to_var(config.get("value", "")) + var cfg_value: String = config.get("value", "") + result._value = str_to_var(cfg_value) result._warn_message = config.get("warn_msg", null) result._error_message = config.get("err_msg", null) result._state = config.get("state") diff --git a/addons/gdUnit4/src/core/GdUnitRunner.gd b/addons/gdUnit4/src/core/GdUnitRunner.gd index 1c12f3f..65ae140 100644 --- a/addons/gdUnit4/src/core/GdUnitRunner.gd +++ b/addons/gdUnit4/src/core/GdUnitRunner.gd @@ -1,8 +1,5 @@ extends Node -signal sync_rpc_id_result_received - - @onready var _client :GdUnitTcpClient = $GdUnitTcpClient @onready var _executor :GdUnitTestSuiteExecutor = GdUnitTestSuiteExecutor.new() @@ -39,7 +36,9 @@ func _ready() -> void: push_error(config_result.error_message()) _state = EXIT return + @warning_ignore("return_value_discarded") _client.connect("connection_failed", _on_connection_failed) + @warning_ignore("return_value_discarded") GdUnitSignals.instance().gdunit_event.connect(_on_gdunit_event) var result := _client.start("127.0.0.1", _config.server_port()) if result.is_error(): @@ -78,11 +77,14 @@ func _process(_delta :float) -> void: # process next test suite set_process(false) var test_suite :Node = _test_suites_to_process.pop_front() + @warning_ignore("unsafe_method_access") if _cs_executor != null and _cs_executor.IsExecutable(test_suite): + @warning_ignore("unsafe_method_access") _cs_executor.Execute(test_suite) + @warning_ignore("unsafe_property_access") await _cs_executor.ExecutionCompleted else: - await _executor.execute(test_suite) + await _executor.execute(test_suite as GdUnitTestSuite) set_process(true) STOP: _state = EXIT @@ -136,6 +138,7 @@ func _do_filter_test_case(test_suite :Node, test_case :Node, included_tests :Pac # we have a paremeterized test selection if test_meta.size() > 1: var test_param_index := test_meta[1] + @warning_ignore("unsafe_method_access") test_case.set_test_parameter_index(test_param_index.to_int()) return # the test is filtered out diff --git a/addons/gdUnit4/src/core/GdUnitRunnerConfig.gd b/addons/gdUnit4/src/core/GdUnitRunnerConfig.gd index 173b536..820f248 100644 --- a/addons/gdUnit4/src/core/GdUnitRunnerConfig.gd +++ b/addons/gdUnit4/src/core/GdUnitRunnerConfig.gd @@ -38,6 +38,7 @@ func server_port() -> int: return _config.get(SERVER_PORT, -1) +@warning_ignore("return_value_discarded") func self_test() -> GdUnitRunnerConfig: add_test_suite("res://addons/gdUnit4/test/") add_test_suite("res://addons/gdUnit4/mono/test/") @@ -52,6 +53,7 @@ func add_test_suite(p_resource_path :String) -> GdUnitRunnerConfig: func add_test_suites(resource_paths :PackedStringArray) -> GdUnitRunnerConfig: for resource_path_ in resource_paths: + @warning_ignore("return_value_discarded") add_test_suite(resource_path_) return self @@ -60,8 +62,10 @@ func add_test_case(p_resource_path :String, test_name :StringName, test_param_in var to_execute_ := to_execute() var test_cases :PackedStringArray = to_execute_.get(p_resource_path, PackedStringArray()) if test_param_index != -1: + @warning_ignore("return_value_discarded") test_cases.append("%s:%d" % [test_name, test_param_index]) else: + @warning_ignore("return_value_discarded") test_cases.append(test_name) to_execute_[p_resource_path] = test_cases return self @@ -72,18 +76,22 @@ func add_test_case(p_resource_path :String, test_name :StringName, test_param_in # '/path/path', res://path/path', 'res://path/path/testsuite.gd' or 'testsuite' # 'res://path/path/testsuite.gd:test_case' or 'testsuite:test_case' func skip_test_suite(value :StringName) -> GdUnitRunnerConfig: - var parts :Array = GdUnitFileAccess.make_qualified_path(value).rsplit(":") + var parts: PackedStringArray = GdUnitFileAccess.make_qualified_path(value).rsplit(":") if parts[0] == "res": - parts.pop_front() + parts.remove_at(0) parts[0] = GdUnitFileAccess.make_qualified_path(parts[0]) match parts.size(): - 1: skipped()[parts[0]] = PackedStringArray() - 2: skip_test_case(parts[0], parts[1]) + 1: + skipped()[parts[0]] = PackedStringArray() + 2: + @warning_ignore("return_value_discarded") + skip_test_case(parts[0], parts[1]) return self func skip_test_suites(resource_paths :PackedStringArray) -> GdUnitRunnerConfig: for resource_path_ in resource_paths: + @warning_ignore("return_value_discarded") skip_test_suite(resource_path_) return self @@ -91,6 +99,7 @@ func skip_test_suites(resource_paths :PackedStringArray) -> GdUnitRunnerConfig: func skip_test_case(p_resource_path :String, test_name :StringName) -> GdUnitRunnerConfig: var to_ignore := skipped() var test_cases :PackedStringArray = to_ignore.get(p_resource_path, PackedStringArray()) + @warning_ignore("return_value_discarded") test_cases.append(test_name) to_ignore[p_resource_path] = test_cases return self @@ -129,19 +138,20 @@ func load_config(path :String = CONFIG_FILE) -> GdUnitResult: var error := test_json_conv.parse(content) if error != OK: return GdUnitResult.error("The runner configuration '%s' is invalid! The format is changed please delete it manually and start a new test run." % path) - _config = test_json_conv.get_data() as Dictionary + _config = test_json_conv.get_data() if not _config.has(VERSION): return GdUnitResult.error("The runner configuration '%s' is invalid! The format is changed please delete it manually and start a new test run." % path) fix_value_types() return GdUnitResult.success(path) +@warning_ignore("unsafe_cast") func fix_value_types() -> void: # fix float value to int json stores all numbers as float var server_port_ :int = _config.get(SERVER_PORT, -1) _config[SERVER_PORT] = server_port_ - convert_Array_to_PackedStringArray(_config[INCLUDED]) - convert_Array_to_PackedStringArray(_config[SKIPPED]) + convert_Array_to_PackedStringArray(_config[INCLUDED] as Dictionary) + convert_Array_to_PackedStringArray(_config[SKIPPED] as Dictionary) func convert_Array_to_PackedStringArray(data :Dictionary) -> void: diff --git a/addons/gdUnit4/src/core/GdUnitSceneRunnerImpl.gd b/addons/gdUnit4/src/core/GdUnitSceneRunnerImpl.gd index bd2da3c..c70be02 100644 --- a/addons/gdUnit4/src/core/GdUnitSceneRunnerImpl.gd +++ b/addons/gdUnit4/src/core/GdUnitSceneRunnerImpl.gd @@ -3,7 +3,7 @@ class_name GdUnitSceneRunnerImpl extends GdUnitSceneRunner -var GdUnitFuncAssertImpl := ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitFuncAssertImpl.gd", "GDScript", ResourceLoader.CACHE_MODE_REUSE) +var GdUnitFuncAssertImpl: GDScript = ResourceLoader.load("res://addons/gdUnit4/src/asserts/GdUnitFuncAssertImpl.gd", "GDScript", ResourceLoader.CACHE_MODE_REUSE) # mapping of mouse buttons and his masks @@ -19,29 +19,36 @@ const MAP_MOUSE_BUTTON_MASKS := { } var _is_disposed := false -var _current_scene :Node = null -var _awaiter :GdUnitAwaiter = GdUnitAwaiter.new() -var _verbose :bool -var _simulate_start_time :LocalTime -var _last_input_event :InputEvent = null +var _current_scene: Node = null +var _awaiter: GdUnitAwaiter = GdUnitAwaiter.new() +var _verbose: bool +var _simulate_start_time: LocalTime +var _last_input_event: InputEvent = null var _mouse_button_on_press := [] var _key_on_press := [] var _action_on_press := [] -var _curent_mouse_position :Vector2 +var _curent_mouse_position: Vector2 +# holds the touch position for each touch index +# { index: int = position: Vector2} +var _current_touch_position: Dictionary = {} +# holds the curretn touch drag position +var _current_touch_drag_position: Vector2 = Vector2.ZERO # time factor settings var _time_factor := 1.0 -var _saved_iterations_per_second :float +var _saved_iterations_per_second: float var _scene_auto_free := false -func _init(p_scene :Variant, p_verbose :bool, p_hide_push_errors := false) -> void: +func _init(p_scene: Variant, p_verbose: bool, p_hide_push_errors := false) -> void: _verbose = p_verbose _saved_iterations_per_second = Engine.get_physics_ticks_per_second() + @warning_ignore("return_value_discarded") set_time_factor(1) # handle scene loading by resource path if typeof(p_scene) == TYPE_STRING: - if !ResourceLoader.exists(p_scene): + @warning_ignore("unsafe_cast") + if !ResourceLoader.exists(p_scene as String): if not p_hide_push_errors: push_error("GdUnitSceneRunner: Can't load scene by given resource path: '%s'. The resource does not exists." % p_scene) return @@ -49,7 +56,8 @@ func _init(p_scene :Variant, p_verbose :bool, p_hide_push_errors := false) -> vo if not p_hide_push_errors: push_error("GdUnitSceneRunner: The given resource: '%s'. is not a scene." % p_scene) return - _current_scene = load(p_scene).instantiate() + @warning_ignore("unsafe_cast") + _current_scene = (load(p_scene as String) as PackedScene).instantiate() _scene_auto_free = true else: # verify we have a node instance @@ -62,10 +70,14 @@ func _init(p_scene :Variant, p_verbose :bool, p_hide_push_errors := false) -> vo if not p_hide_push_errors: push_error("GdUnitSceneRunner: Scene must be not null!") return + _scene_tree().root.add_child(_current_scene) # do finally reset all open input events when the scene is removed + @warning_ignore("return_value_discarded") _scene_tree().root.child_exiting_tree.connect(func f(child :Node) -> void: if child == _current_scene: + # we need to disable the processing to avoid input flush buffer errors + _current_scene.process_mode = Node.PROCESS_MODE_DISABLED _reset_input_to_default() ) _simulate_start_time = LocalTime.now() @@ -78,7 +90,7 @@ func _init(p_scene :Variant, p_verbose :bool, p_hide_push_errors := false) -> vo max_iteration_to_wait += 1 -func _notification(what :int) -> void: +func _notification(what: int) -> void: if what == NOTIFICATION_PREDELETE and is_instance_valid(self): # reset time factor to normal __deactivate_time_factor() @@ -89,45 +101,52 @@ func _notification(what :int) -> void: _current_scene.free() _is_disposed = true _current_scene = null - # we hide the scene/main window after runner is finished - DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MINIMIZED) func _scene_tree() -> SceneTree: return Engine.get_main_loop() as SceneTree -func simulate_action_pressed(action :String) -> GdUnitSceneRunner: +@warning_ignore("return_value_discarded") +func simulate_action_pressed(action: String) -> GdUnitSceneRunner: simulate_action_press(action) simulate_action_release(action) return self -func simulate_action_press(action :String) -> GdUnitSceneRunner: +func simulate_action_press(action: String) -> GdUnitSceneRunner: __print_current_focus() var event := InputEventAction.new() event.pressed = true event.action = action + if Engine.get_version_info().hex >= 0x40300: + @warning_ignore("unsafe_property_access") + event.event_index = InputMap.get_actions().find(action) _action_on_press.append(action) return _handle_input_event(event) -func simulate_action_release(action :String) -> GdUnitSceneRunner: +func simulate_action_release(action: String) -> GdUnitSceneRunner: __print_current_focus() var event := InputEventAction.new() event.pressed = false event.action = action + if Engine.get_version_info().hex >= 0x40300: + @warning_ignore("unsafe_property_access") + event.event_index = InputMap.get_actions().find(action) _action_on_press.erase(action) return _handle_input_event(event) -func simulate_key_pressed(key_code :int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: +@warning_ignore("return_value_discarded") +func simulate_key_pressed(key_code: int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: simulate_key_press(key_code, shift_pressed, ctrl_pressed) + await _scene_tree().process_frame simulate_key_release(key_code, shift_pressed, ctrl_pressed) return self -func simulate_key_press(key_code :int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: +func simulate_key_press(key_code: int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: __print_current_focus() var event := InputEventKey.new() event.pressed = true @@ -141,7 +160,7 @@ func simulate_key_press(key_code :int, shift_pressed := false, ctrl_pressed := f return _handle_input_event(event) -func simulate_key_release(key_code :int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: +func simulate_key_release(key_code: int, shift_pressed := false, ctrl_pressed := false) -> GdUnitSceneRunner: __print_current_focus() var event := InputEventKey.new() event.pressed = false @@ -155,7 +174,11 @@ func simulate_key_release(key_code :int, shift_pressed := false, ctrl_pressed := return _handle_input_event(event) -func set_mouse_pos(pos :Vector2) -> GdUnitSceneRunner: +func set_mouse_pos(pos: Vector2) -> GdUnitSceneRunner: + return set_mouse_position(pos) + + +func set_mouse_position(pos: Vector2) -> GdUnitSceneRunner: var event := InputEventMouseMotion.new() event.position = pos event.global_position = get_global_mouse_position() @@ -165,7 +188,7 @@ func set_mouse_pos(pos :Vector2) -> GdUnitSceneRunner: func get_mouse_position() -> Vector2: if _last_input_event is InputEventMouse: - return _last_input_event.position + return (_last_input_event as InputEventMouse).position var current_scene := scene() if current_scene != null: return current_scene.get_viewport().get_mouse_position() @@ -173,19 +196,20 @@ func get_mouse_position() -> Vector2: func get_global_mouse_position() -> Vector2: - return Engine.get_main_loop().root.get_mouse_position() + return (Engine.get_main_loop() as SceneTree).root.get_mouse_position() -func simulate_mouse_move(pos :Vector2) -> GdUnitSceneRunner: +func simulate_mouse_move(position: Vector2) -> GdUnitSceneRunner: var event := InputEventMouseMotion.new() - event.position = pos - event.relative = pos - get_mouse_position() + event.position = position + event.relative = position - get_mouse_position() event.global_position = get_global_mouse_position() _apply_input_mouse_mask(event) _apply_input_modifiers(event) return _handle_input_event(event) +@warning_ignore("return_value_discarded") func simulate_mouse_move_relative(relative: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: var tween := _scene_tree().create_tween() _curent_mouse_position = get_mouse_position() @@ -199,6 +223,7 @@ func simulate_mouse_move_relative(relative: Vector2, time: float = 1.0, trans_ty return self +@warning_ignore("return_value_discarded") func simulate_mouse_move_absolute(position: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: var tween := _scene_tree().create_tween() _curent_mouse_position = get_mouse_position() @@ -211,36 +236,166 @@ func simulate_mouse_move_absolute(position: Vector2, time: float = 1.0, trans_ty return self -func simulate_mouse_button_pressed(buttonIndex :MouseButton, double_click := false) -> GdUnitSceneRunner: - simulate_mouse_button_press(buttonIndex, double_click) - simulate_mouse_button_release(buttonIndex) +@warning_ignore("return_value_discarded") +func simulate_mouse_button_pressed(button_index: MouseButton, double_click := false) -> GdUnitSceneRunner: + simulate_mouse_button_press(button_index, double_click) + simulate_mouse_button_release(button_index) return self -func simulate_mouse_button_press(buttonIndex :MouseButton, double_click := false) -> GdUnitSceneRunner: +func simulate_mouse_button_press(button_index: MouseButton, double_click := false) -> GdUnitSceneRunner: var event := InputEventMouseButton.new() - event.button_index = buttonIndex + event.button_index = button_index event.pressed = true event.double_click = double_click _apply_input_mouse_position(event) _apply_input_mouse_mask(event) _apply_input_modifiers(event) - _mouse_button_on_press.append(buttonIndex) + _mouse_button_on_press.append(button_index) return _handle_input_event(event) -func simulate_mouse_button_release(buttonIndex :MouseButton) -> GdUnitSceneRunner: +func simulate_mouse_button_release(button_index: MouseButton) -> GdUnitSceneRunner: var event := InputEventMouseButton.new() - event.button_index = buttonIndex + event.button_index = button_index event.pressed = false _apply_input_mouse_position(event) _apply_input_mouse_mask(event) _apply_input_modifiers(event) - _mouse_button_on_press.erase(buttonIndex) + _mouse_button_on_press.erase(button_index) return _handle_input_event(event) -func set_time_factor(time_factor := 1.0) -> GdUnitSceneRunner: +@warning_ignore("return_value_discarded") +func simulate_screen_touch_pressed(index: int, position: Vector2, double_tap := false) -> GdUnitSceneRunner: + simulate_screen_touch_press(index, position, double_tap) + simulate_screen_touch_release(index) + return self + + +@warning_ignore("return_value_discarded") +func simulate_screen_touch_press(index: int, position: Vector2, double_tap := false) -> GdUnitSceneRunner: + if is_emulate_mouse_from_touch(): + # we need to simulate in addition to the touch the mouse events + set_mouse_pos(position) + simulate_mouse_button_press(MOUSE_BUTTON_LEFT) + # push touch press event at position + var event := InputEventScreenTouch.new() + event.window_id = scene().get_window().get_window_id() + event.index = index + event.position = position + event.double_tap = double_tap + event.pressed = true + _current_scene.get_viewport().push_input(event) + # save current drag position by index + _current_touch_position[index] = position + return self + + +@warning_ignore("return_value_discarded") +func simulate_screen_touch_release(index: int, double_tap := false) -> GdUnitSceneRunner: + if is_emulate_mouse_from_touch(): + # we need to simulate in addition to the touch the mouse events + simulate_mouse_button_release(MOUSE_BUTTON_LEFT) + # push touch release event at position + var event := InputEventScreenTouch.new() + event.window_id = scene().get_window().get_window_id() + event.index = index + event.position = get_screen_touch_drag_position(index) + event.pressed = false + event.double_tap = (_last_input_event as InputEventScreenTouch).double_tap if _last_input_event is InputEventScreenTouch else double_tap + _current_scene.get_viewport().push_input(event) + return self + + +func simulate_screen_touch_drag_relative(index: int, relative: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: + var current_position: Vector2 = _current_touch_position[index] + return await _do_touch_drag_at(index, current_position + relative, time, trans_type) + + +func simulate_screen_touch_drag_absolute(index: int, position: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: + return await _do_touch_drag_at(index, position, time, trans_type) + + +@warning_ignore("return_value_discarded") +func simulate_screen_touch_drag_drop(index: int, position: Vector2, drop_position: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner: + simulate_screen_touch_press(index, position) + return await _do_touch_drag_at(index, drop_position, time, trans_type) + + +@warning_ignore("return_value_discarded") +func simulate_screen_touch_drag(index: int, position: Vector2) -> GdUnitSceneRunner: + if is_emulate_mouse_from_touch(): + simulate_mouse_move(position) + var event := InputEventScreenDrag.new() + event.window_id = scene().get_window().get_window_id() + event.index = index + event.position = position + event.relative = _get_screen_touch_drag_position_or_default(index, position) - position + event.velocity = event.relative / _scene_tree().root.get_process_delta_time() + event.pressure = 1.0 + _current_touch_position[index] = position + _current_scene.get_viewport().push_input(event) + return self + + +func get_screen_touch_drag_position(index: int) -> Vector2: + if _current_touch_position.has(index): + return _current_touch_position[index] + push_error("No touch drag position for index '%d' is set!" % index) + return Vector2.ZERO + + +func is_emulate_mouse_from_touch() -> bool: + return ProjectSettings.get_setting("input_devices/pointing/emulate_mouse_from_touch", true) + + +func _get_screen_touch_drag_position_or_default(index: int, default_position: Vector2) -> Vector2: + if _current_touch_position.has(index): + return _current_touch_position[index] + return default_position + + +@warning_ignore("return_value_discarded") +func _do_touch_drag_at(index: int, drag_position: Vector2, time: float, trans_type: Tween.TransitionType) -> GdUnitSceneRunner: + # start draging + var event := InputEventScreenDrag.new() + event.window_id = scene().get_window().get_window_id() + event.index = index + event.position = get_screen_touch_drag_position(index) + event.pressure = 1.0 + _current_touch_drag_position = event.position + + var tween := _scene_tree().create_tween() + tween.tween_property(self, "_current_touch_drag_position", drag_position, time).set_trans(trans_type) + tween.play() + + while not _current_touch_drag_position.is_equal_approx(drag_position): + if is_emulate_mouse_from_touch(): + # we need to simulate in addition to the drag the mouse move events + simulate_mouse_move(event.position) + # send touche drag event to new position + event.relative = _current_touch_drag_position - event.position + event.velocity = event.relative / _scene_tree().root.get_process_delta_time() + event.position = _current_touch_drag_position + _current_scene.get_viewport().push_input(event) + await _scene_tree().process_frame + + # finaly drop it + if is_emulate_mouse_from_touch(): + simulate_mouse_move(drag_position) + simulate_mouse_button_release(MOUSE_BUTTON_LEFT) + var touch_drop_event := InputEventScreenTouch.new() + touch_drop_event.window_id = event.window_id + touch_drop_event.index = event.index + touch_drop_event.position = drag_position + touch_drop_event.pressed = false + _current_scene.get_viewport().push_input(touch_drop_event) + await _scene_tree().process_frame + return self + + +func set_time_factor(time_factor: float = 1.0) -> GdUnitSceneRunner: _time_factor = min(9.0, time_factor) __activate_time_factor() __print("set time factor: %f" % _time_factor) @@ -248,7 +403,7 @@ func set_time_factor(time_factor := 1.0) -> GdUnitSceneRunner: return self -func simulate_frames(frames: int, delta_milli :int = -1) -> GdUnitSceneRunner: +func simulate_frames(frames: int, delta_milli: int = -1) -> GdUnitSceneRunner: var time_shift_frames :int = max(1, frames / _time_factor) for frame in time_shift_frames: if delta_milli == -1: @@ -259,74 +414,73 @@ func simulate_frames(frames: int, delta_milli :int = -1) -> GdUnitSceneRunner: func simulate_until_signal( - signal_name :String, - arg0 :Variant = NO_ARG, - arg1 :Variant = NO_ARG, - arg2 :Variant = NO_ARG, - arg3 :Variant = NO_ARG, - arg4 :Variant = NO_ARG, - arg5 :Variant = NO_ARG, - arg6 :Variant = NO_ARG, - arg7 :Variant = NO_ARG, - arg8 :Variant = NO_ARG, - arg9 :Variant = NO_ARG) -> GdUnitSceneRunner: - var args :Array = GdArrayTools.filter_value([arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9], NO_ARG) + signal_name: String, + arg0: Variant = NO_ARG, + arg1: Variant = NO_ARG, + arg2: Variant = NO_ARG, + arg3: Variant = NO_ARG, + arg4: Variant = NO_ARG, + arg5: Variant = NO_ARG, + arg6: Variant = NO_ARG, + arg7: Variant = NO_ARG, + arg8: Variant = NO_ARG, + arg9: Variant = NO_ARG) -> GdUnitSceneRunner: + var args: Array = GdArrayTools.filter_value([arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9], NO_ARG) await _awaiter.await_signal_idle_frames(scene(), signal_name, args, 10000) return self func simulate_until_object_signal( - source :Object, - signal_name :String, - arg0 :Variant = NO_ARG, - arg1 :Variant = NO_ARG, - arg2 :Variant = NO_ARG, - arg3 :Variant = NO_ARG, - arg4 :Variant = NO_ARG, - arg5 :Variant = NO_ARG, - arg6 :Variant = NO_ARG, - arg7 :Variant = NO_ARG, - arg8 :Variant = NO_ARG, - arg9 :Variant = NO_ARG) -> GdUnitSceneRunner: - var args :Array = GdArrayTools.filter_value([arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9], NO_ARG) + source: Object, + signal_name: String, + arg0: Variant = NO_ARG, + arg1: Variant = NO_ARG, + arg2: Variant = NO_ARG, + arg3: Variant = NO_ARG, + arg4: Variant = NO_ARG, + arg5: Variant = NO_ARG, + arg6: Variant = NO_ARG, + arg7: Variant = NO_ARG, + arg8: Variant = NO_ARG, + arg9: Variant = NO_ARG) -> GdUnitSceneRunner: + var args: Array = GdArrayTools.filter_value([arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9], NO_ARG) await _awaiter.await_signal_idle_frames(source, signal_name, args, 10000) return self -func await_func(func_name :String, args := []) -> GdUnitFuncAssert: +func await_func(func_name: String, args := []) -> GdUnitFuncAssert: return GdUnitFuncAssertImpl.new(scene(), func_name, args) -func await_func_on(instance :Object, func_name :String, args := []) -> GdUnitFuncAssert: +func await_func_on(instance: Object, func_name: String, args := []) -> GdUnitFuncAssert: return GdUnitFuncAssertImpl.new(instance, func_name, args) -func await_signal(signal_name :String, args := [], timeout := 2000 ) -> void: +func await_signal(signal_name: String, args := [], timeout := 2000 ) -> void: await _awaiter.await_signal_on(scene(), signal_name, args, timeout) -func await_signal_on(source :Object, signal_name :String, args := [], timeout := 2000 ) -> void: +func await_signal_on(source: Object, signal_name: String, args := [], timeout := 2000 ) -> void: await _awaiter.await_signal_on(source, signal_name, args, timeout) -# maximizes the window to bring the scene visible func maximize_view() -> GdUnitSceneRunner: DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) DisplayServer.window_move_to_foreground() return self -func _property_exists(name :String) -> bool: +func _property_exists(name: String) -> bool: return scene().get_property_list().any(func(properties :Dictionary) -> bool: return properties["name"] == name) -func get_property(name :String) -> Variant: +func get_property(name: String) -> Variant: if not _property_exists(name): return "The property '%s' not exist checked loaded scene." % name return scene().get(name) -func set_property(name :String, value :Variant) -> bool: +func set_property(name: String, value: Variant) -> bool: if not _property_exists(name): push_error("The property named '%s' cannot be set, it does not exist!" % name) return false; @@ -335,24 +489,24 @@ func set_property(name :String, value :Variant) -> bool: func invoke( - name :String, - arg0 :Variant = NO_ARG, - arg1 :Variant = NO_ARG, - arg2 :Variant = NO_ARG, - arg3 :Variant = NO_ARG, - arg4 :Variant = NO_ARG, - arg5 :Variant = NO_ARG, - arg6 :Variant = NO_ARG, - arg7 :Variant = NO_ARG, - arg8 :Variant = NO_ARG, - arg9 :Variant = NO_ARG) -> Variant: - var args :Array = GdArrayTools.filter_value([arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9], NO_ARG) + name: String, + arg0: Variant = NO_ARG, + arg1: Variant = NO_ARG, + arg2: Variant = NO_ARG, + arg3: Variant = NO_ARG, + arg4: Variant = NO_ARG, + arg5: Variant = NO_ARG, + arg6: Variant = NO_ARG, + arg7: Variant = NO_ARG, + arg8: Variant = NO_ARG, + arg9: Variant = NO_ARG) -> Variant: + var args: Array = GdArrayTools.filter_value([arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9], NO_ARG) if scene().has_method(name): return scene().callv(name, args) return "The method '%s' not exist checked loaded scene." % name -func find_child(name :String, recursive :bool = true, owned :bool = false) -> Node: +func find_child(name: String, recursive: bool = true, owned: bool = false) -> Node: return scene().find_child(name, recursive, owned) @@ -377,37 +531,40 @@ func __deactivate_time_factor() -> void: # copy over current active modifiers -func _apply_input_modifiers(event :InputEvent) -> void: +func _apply_input_modifiers(event: InputEvent) -> void: if _last_input_event is InputEventWithModifiers and event is InputEventWithModifiers: - event.meta_pressed = event.meta_pressed or _last_input_event.meta_pressed - event.alt_pressed = event.alt_pressed or _last_input_event.alt_pressed - event.shift_pressed = event.shift_pressed or _last_input_event.shift_pressed - event.ctrl_pressed = event.ctrl_pressed or _last_input_event.ctrl_pressed + var last_input_event := _last_input_event as InputEventWithModifiers + var _event := event as InputEventWithModifiers + _event.meta_pressed = _event.meta_pressed or last_input_event.meta_pressed + _event.alt_pressed = _event.alt_pressed or last_input_event.alt_pressed + _event.shift_pressed = _event.shift_pressed or last_input_event.shift_pressed + _event.ctrl_pressed = _event.ctrl_pressed or last_input_event.ctrl_pressed # this line results into reset the control_pressed state!!! #event.command_or_control_autoremap = event.command_or_control_autoremap or _last_input_event.command_or_control_autoremap # copy over current active mouse mask and combine with curren mask -func _apply_input_mouse_mask(event :InputEvent) -> void: +func _apply_input_mouse_mask(event: InputEvent) -> void: # first apply last mask if _last_input_event is InputEventMouse and event is InputEventMouse: - event.button_mask |= _last_input_event.button_mask + (event as InputEventMouse).button_mask |= (_last_input_event as InputEventMouse).button_mask if event is InputEventMouseButton: - var button_mask :int = MAP_MOUSE_BUTTON_MASKS.get(event.get_button_index(), 0) - if event.is_pressed(): - event.button_mask |= button_mask + var _event := event as InputEventMouseButton + var button_mask :int = MAP_MOUSE_BUTTON_MASKS.get(_event.get_button_index(), 0) + if _event.is_pressed(): + _event.button_mask |= button_mask else: - event.button_mask ^= button_mask + _event.button_mask ^= button_mask # copy over last mouse position if need -func _apply_input_mouse_position(event :InputEvent) -> void: +func _apply_input_mouse_position(event: InputEvent) -> void: if _last_input_event is InputEventMouse and event is InputEventMouseButton: - event.position = _last_input_event.position + (event as InputEventMouseButton).position = (_last_input_event as InputEventMouse).position ## handle input action via Input modifieres -func _handle_actions(event :InputEventAction) -> bool: +func _handle_actions(event: InputEventAction) -> bool: if not InputMap.event_is_action(event, event.action, true): return false __print(" process action %s (%s) <- %s" % [scene(), _scene_name(), event.as_text()]) @@ -419,20 +576,23 @@ func _handle_actions(event :InputEventAction) -> bool: # for handling read https://docs.godotengine.org/en/stable/tutorials/inputs/inputevent.html?highlight=inputevent#how-does-it-work -func _handle_input_event(event :InputEvent) -> GdUnitSceneRunner: +@warning_ignore("return_value_discarded") +func _handle_input_event(event: InputEvent) -> GdUnitSceneRunner: if event is InputEventMouse: - Input.warp_mouse(event.position) + Input.warp_mouse((event as InputEventMouse).position as Vector2) Input.parse_input_event(event) if event is InputEventAction: - _handle_actions(event) + _handle_actions(event as InputEventAction) - Input.flush_buffered_events() var current_scene := scene() if is_instance_valid(current_scene): + # do not flush events if node processing disabled otherwise we run into errors at tree removed + if _current_scene.process_mode != Node.PROCESS_MODE_DISABLED: + Input.flush_buffered_events() __print(" process event %s (%s) <- %s" % [current_scene, _scene_name(), event.as_text()]) if(current_scene.has_method("_gui_input")): - current_scene._gui_input(event) + (current_scene as Control)._gui_input(event) if(current_scene.has_method("_unhandled_input")): current_scene._unhandled_input(event) current_scene.get_viewport().set_input_as_handled() @@ -442,6 +602,7 @@ func _handle_input_event(event :InputEvent) -> GdUnitSceneRunner: return self +@warning_ignore("return_value_discarded") func _reset_input_to_default() -> void: # reset all mouse button to inital state if need for m_button :int in _mouse_button_on_press.duplicate(): @@ -459,11 +620,12 @@ func _reset_input_to_default() -> void: simulate_action_release(action) _action_on_press.clear() - Input.flush_buffered_events() + if is_instance_valid(_current_scene) and _current_scene.process_mode != Node.PROCESS_MODE_DISABLED: + Input.flush_buffered_events() _last_input_event = null -func __print(message :String) -> void: +func __print(message: String) -> void: if _verbose: prints(message) diff --git a/addons/gdUnit4/src/core/GdUnitSettings.gd b/addons/gdUnit4/src/core/GdUnitSettings.gd index cbb6abc..e4bf478 100644 --- a/addons/gdUnit4/src/core/GdUnitSettings.gd +++ b/addons/gdUnit4/src/core/GdUnitSettings.gd @@ -14,8 +14,10 @@ const SERVER_TIMEOUT = GROUP_COMMON + "/server_connection_timeout_minutes" const GROUP_TEST = COMMON_SETTINGS + "/test" const TEST_TIMEOUT = GROUP_TEST + "/test_timeout_seconds" const TEST_LOOKUP_FOLDER = GROUP_TEST + "/test_lookup_folder" -const TEST_SITE_NAMING_CONVENTION = GROUP_TEST + "/test_suite_naming_convention" +const TEST_SUITE_NAMING_CONVENTION = GROUP_TEST + "/test_suite_naming_convention" const TEST_DISCOVER_ENABLED = GROUP_TEST + "/test_discovery" +const TEST_FLAKY_CHECK = GROUP_TEST + "/flaky_check_enable" +const TEST_FLAKY_MAX_RETRIES = GROUP_TEST + "/flaky_max_retries" # Report Setiings @@ -81,7 +83,7 @@ const DEFAULT_TEST_TIMEOUT :int = 60*5 const DEFAULT_TEST_LOOKUP_FOLDER := "test" # help texts -const HELP_TEST_LOOKUP_FOLDER := "Sets the subfolder for the search/creation of test suites. (leave empty to use source folder)" +const HELP_TEST_LOOKUP_FOLDER := "Subfolder where test suites are located (or empty to use source folder directly)" enum NAMING_CONVENTIONS { AUTO_DETECT, @@ -90,29 +92,36 @@ enum NAMING_CONVENTIONS { } +const _VALUE_SET_SEPARATOR = "\f" # ASCII Form-feed character (AKA page break) + + static func setup() -> void: - create_property_if_need(UPDATE_NOTIFICATION_ENABLED, true, "Enables/Disables the update notification checked startup.") - create_property_if_need(SERVER_TIMEOUT, DEFAULT_SERVER_TIMEOUT, "Sets the server connection timeout in minutes.") - create_property_if_need(TEST_TIMEOUT, DEFAULT_TEST_TIMEOUT, "Sets the test case runtime timeout in seconds.") + create_property_if_need(UPDATE_NOTIFICATION_ENABLED, true, "Show notification if new gdUnit4 version is found") + # test settings + create_property_if_need(SERVER_TIMEOUT, DEFAULT_SERVER_TIMEOUT, "Server connection timeout in minutes") + create_property_if_need(TEST_TIMEOUT, DEFAULT_TEST_TIMEOUT, "Test case runtime timeout in seconds") create_property_if_need(TEST_LOOKUP_FOLDER, DEFAULT_TEST_LOOKUP_FOLDER, HELP_TEST_LOOKUP_FOLDER) - create_property_if_need(TEST_SITE_NAMING_CONVENTION, NAMING_CONVENTIONS.AUTO_DETECT, "Sets test-suite genrate script name convention.", NAMING_CONVENTIONS.keys()) - create_property_if_need(TEST_DISCOVER_ENABLED, false, "Enables/Disables the automatic detection of tests by finding tests in test lookup folders at runtime.") - create_property_if_need(REPORT_PUSH_ERRORS, false, "Enables/Disables report of push_error() as failure!") - create_property_if_need(REPORT_SCRIPT_ERRORS, true, "Enables/Disables report of script errors as failure!") - create_property_if_need(REPORT_ORPHANS, true, "Enables/Disables orphan reporting.") - create_property_if_need(REPORT_ASSERT_ERRORS, true, "Enables/Disables error reporting checked asserts.") - create_property_if_need(REPORT_ASSERT_WARNINGS, true, "Enables/Disables warning reporting checked asserts") - create_property_if_need(REPORT_ASSERT_STRICT_NUMBER_TYPE_COMPARE, true, "Enabled/disabled number values will be compared strictly by type. (real vs int)") + create_property_if_need(TEST_SUITE_NAMING_CONVENTION, NAMING_CONVENTIONS.AUTO_DETECT, "Naming convention to use when generating testsuites", NAMING_CONVENTIONS.keys()) + create_property_if_need(TEST_DISCOVER_ENABLED, false, "Automatically detect new tests in test lookup folders at runtime") + create_property_if_need(TEST_FLAKY_CHECK, false, "Rerun tests on failure and mark them as FLAKY") + create_property_if_need(TEST_FLAKY_MAX_RETRIES, 3, "Sets the number of retries for rerunning a flaky test") + # report settings + create_property_if_need(REPORT_PUSH_ERRORS, false, "Report push_error() as failure") + create_property_if_need(REPORT_SCRIPT_ERRORS, true, "Report script errors as failure") + create_property_if_need(REPORT_ORPHANS, true, "Report orphaned nodes after tests finish") + create_property_if_need(REPORT_ASSERT_ERRORS, true, "Report assertion failures as errors") + create_property_if_need(REPORT_ASSERT_WARNINGS, true, "Report assertion failures as warnings") + create_property_if_need(REPORT_ASSERT_STRICT_NUMBER_TYPE_COMPARE, true, "Compare number values strictly by type (real vs int)") # inspector create_property_if_need(INSPECTOR_NODE_COLLAPSE, true, - "Enables/Disables that the testsuite node is closed after a successful test run.") + "Close testsuite node after a successful test run.") create_property_if_need(INSPECTOR_TREE_VIEW_MODE, GdUnitInspectorTreeConstants.TREE_VIEW_MODE.TREE, - "Sets the inspector panel presentation.", GdUnitInspectorTreeConstants.TREE_VIEW_MODE.keys()) + "Inspector panel presentation mode", GdUnitInspectorTreeConstants.TREE_VIEW_MODE.keys()) create_property_if_need(INSPECTOR_TREE_SORT_MODE, GdUnitInspectorTreeConstants.SORT_MODE.UNSORTED, - "Sets the inspector panel presentation.", GdUnitInspectorTreeConstants.SORT_MODE.keys()) + "Inspector panel sorting mode", GdUnitInspectorTreeConstants.SORT_MODE.keys()) create_property_if_need(INSPECTOR_TOOLBAR_BUTTON_RUN_OVERALL, false, - "Shows/Hides the 'Run overall Tests' button in the inspector toolbar.") - create_property_if_need(TEMPLATE_TS_GD, GdUnitTestSuiteTemplate.default_GD_template(), "Defines the test suite template") + "Show 'Run overall Tests' button in the inspector toolbar") + create_property_if_need(TEMPLATE_TS_GD, GdUnitTestSuiteTemplate.default_GD_template(), "Test suite template to use") create_shortcut_properties_if_need() migrate_properties() @@ -129,17 +138,17 @@ static func migrate_properties() -> void: static func create_shortcut_properties_if_need() -> void: # inspector - create_property_if_need(SHORTCUT_INSPECTOR_RERUN_TEST, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RERUN_TESTS), "Rerun of the last tests performed.") - create_property_if_need(SHORTCUT_INSPECTOR_RERUN_TEST_DEBUG, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RERUN_TESTS_DEBUG), "Rerun of the last tests performed (Debug).") - create_property_if_need(SHORTCUT_INSPECTOR_RUN_TEST_OVERALL, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RUN_TESTS_OVERALL), "Runs all tests (Debug).") - create_property_if_need(SHORTCUT_INSPECTOR_RUN_TEST_STOP, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.STOP_TEST_RUN), "Stops the current test execution.") + create_property_if_need(SHORTCUT_INSPECTOR_RERUN_TEST, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RERUN_TESTS), "Rerun the most recently executed tests") + create_property_if_need(SHORTCUT_INSPECTOR_RERUN_TEST_DEBUG, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RERUN_TESTS_DEBUG), "Rerun the most recently executed tests (Debug mode)") + create_property_if_need(SHORTCUT_INSPECTOR_RUN_TEST_OVERALL, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RUN_TESTS_OVERALL), "Runs all tests (Debug mode)") + create_property_if_need(SHORTCUT_INSPECTOR_RUN_TEST_STOP, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.STOP_TEST_RUN), "Stop the current test execution") # script editor - create_property_if_need(SHORTCUT_EDITOR_RUN_TEST, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RUN_TESTCASE), "Runs the currently selected test.") - create_property_if_need(SHORTCUT_EDITOR_RUN_TEST_DEBUG, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RUN_TESTCASE_DEBUG), "Runs the currently selected test (Debug).") - create_property_if_need(SHORTCUT_EDITOR_CREATE_TEST, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.CREATE_TEST), "Creates a new test case for the currently selected function.") + create_property_if_need(SHORTCUT_EDITOR_RUN_TEST, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RUN_TESTCASE), "Run the currently selected test") + create_property_if_need(SHORTCUT_EDITOR_RUN_TEST_DEBUG, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.RUN_TESTCASE_DEBUG), "Run the currently selected test (Debug mode).") + create_property_if_need(SHORTCUT_EDITOR_CREATE_TEST, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.CREATE_TEST), "Create a new test case for the currently selected function") # filesystem - create_property_if_need(SHORTCUT_FILESYSTEM_RUN_TEST, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.NONE), "Runs all test suites on the selected folder or file.") - create_property_if_need(SHORTCUT_FILESYSTEM_RUN_TEST_DEBUG, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.NONE), "Runs all test suites on the selected folder or file (Debug).") + create_property_if_need(SHORTCUT_FILESYSTEM_RUN_TEST, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.NONE), "Run all test suites in the selected folder or file") + create_property_if_need(SHORTCUT_FILESYSTEM_RUN_TEST_DEBUG, GdUnitShortcut.default_keys(GdUnitShortcut.ShortCut.NONE), "Run all test suites in the selected folder or file (Debug)") static func create_property_if_need(name :String, default :Variant, help :="", value_set := PackedStringArray()) -> void: @@ -148,7 +157,7 @@ static func create_property_if_need(name :String, default :Variant, help :="", v ProjectSettings.set_setting(name, default) ProjectSettings.set_initial_value(name, default) - help += "" if value_set.is_empty() else " %s" % value_set + help = help if value_set.is_empty() else "%s%s%s" % [help, _VALUE_SET_SEPARATOR, value_set] set_help(name, default, help) @@ -175,6 +184,7 @@ static func is_update_notification_enabled() -> bool: static func set_update_notification(enable :bool) -> void: ProjectSettings.set_setting(UPDATE_NOTIFICATION_ENABLED, enable) + @warning_ignore("return_value_discarded") ProjectSettings.save() @@ -185,6 +195,7 @@ static func get_log_path() -> String: static func set_log_path(path :String) -> void: ProjectSettings.set_setting(STDOUT_ENABLE_TO_FILE, true) ProjectSettings.set_setting(STDOUT_WITE_TO_FILE, path) + @warning_ignore("return_value_discarded") ProjectSettings.save() @@ -261,6 +272,14 @@ static func is_test_discover_enabled() -> bool: return get_setting(TEST_DISCOVER_ENABLED, false) +static func is_test_flaky_check_enabled() -> bool: + return get_setting(TEST_FLAKY_CHECK, false) + + +static func get_flaky_max_retries() -> int: + return get_setting(TEST_FLAKY_MAX_RETRIES, 3) + + static func set_test_discover_enabled(enable :bool) -> void: var property := get_property(TEST_DISCOVER_ENABLED) property.set_value(enable) @@ -271,29 +290,34 @@ static func is_log_enabled() -> bool: return ProjectSettings.get_setting(STDOUT_ENABLE_TO_FILE) -static func list_settings(category :String) -> Array[GdUnitProperty]: - var settings :Array[GdUnitProperty] = [] +static func list_settings(category: String) -> Array[GdUnitProperty]: + var settings: Array[GdUnitProperty] = [] for property in ProjectSettings.get_property_list(): var property_name :String = property["name"] if property_name.begins_with(category): - var value :Variant = ProjectSettings.get_setting(property_name) - var default :Variant = ProjectSettings.property_get_revert(property_name) - var help :String = property["hint_string"] - var value_set := extract_value_set_from_help(help) - settings.append(GdUnitProperty.new(property_name, property["type"], value, default, help, value_set)) + settings.append(build_property(property_name, property)) return settings static func extract_value_set_from_help(value :String) -> PackedStringArray: + var split_value := value.split(_VALUE_SET_SEPARATOR) + if not split_value.size() > 1: + return PackedStringArray() + var regex := RegEx.new() + @warning_ignore("return_value_discarded") regex.compile("\\[(.+)\\]") - var matches := regex.search_all(value) + var matches := regex.search_all(split_value[1]) if matches.is_empty(): return PackedStringArray() - var values :String = matches[0].get_string(1) + var values: String = matches[0].get_string(1) return values.replacen(" ", "").replacen("\"", "").split(",", false) +static func extract_help_text(value :String) -> String: + return value.split(_VALUE_SET_SEPARATOR)[0] + + static func update_property(property :GdUnitProperty) -> Variant: var current_value :Variant = ProjectSettings.get_setting(property.name()) if current_value != property.value(): @@ -315,7 +339,7 @@ static func reset_property(property :GdUnitProperty) -> void: static func validate_property_value(property :GdUnitProperty) -> Variant: match property.name(): TEST_LOOKUP_FOLDER: - return validate_lookup_folder(property.value()) + return validate_lookup_folder(property.value_as_string()) _: return null @@ -349,14 +373,19 @@ static func get_property(name :String) -> GdUnitProperty: for property in ProjectSettings.get_property_list(): var property_name :String = property["name"] if property_name == name: - var value :Variant = ProjectSettings.get_setting(property_name) - var default :Variant = ProjectSettings.property_get_revert(property_name) - var help :String = property["hint_string"] - var value_set := extract_value_set_from_help(help) - return GdUnitProperty.new(property_name, property["type"], value, default, help, value_set) + return build_property(name, property) return null +static func build_property(property_name: String, property: Dictionary) -> GdUnitProperty: + var value: Variant = ProjectSettings.get_setting(property_name) + var value_type: int = property["type"] + var default: Variant = ProjectSettings.property_get_revert(property_name) + var help: String = property["hint_string"] + var value_set := extract_value_set_from_help(help) + return GdUnitProperty.new(property_name, value_type, value, default, extract_help_text(help), value_set) + + static func migrate_property(old_property :String, new_property :String, default_value :Variant, help :String, converter := Callable()) -> void: var property := get_property(old_property) if property == null: @@ -371,8 +400,10 @@ static func migrate_property(old_property :String, new_property :String, default static func dump_to_tmp() -> void: + @warning_ignore("return_value_discarded") ProjectSettings.save_custom("user://project_settings.godot") static func restore_dump_from_tmp() -> void: + @warning_ignore("return_value_discarded") DirAccess.copy_absolute("user://project_settings.godot", "res://project.godot") diff --git a/addons/gdUnit4/src/core/GdUnitSignalAwaiter.gd b/addons/gdUnit4/src/core/GdUnitSignalAwaiter.gd index b2bb834..ccc013f 100644 --- a/addons/gdUnit4/src/core/GdUnitSignalAwaiter.gd +++ b/addons/gdUnit4/src/core/GdUnitSignalAwaiter.gd @@ -41,12 +41,15 @@ func elapsed_time() -> float: func on_signal(source :Object, signal_name :String, expected_signal_args :Array) -> Variant: # register checked signal to wait for + @warning_ignore("return_value_discarded") source.connect(signal_name, _on_signal_emmited) # install timeout timer + var scene_tree := Engine.get_main_loop() as SceneTree var timer := Timer.new() - Engine.get_main_loop().root.add_child(timer) + scene_tree.root.add_child(timer) timer.add_to_group("GdUnitTimers") timer.set_one_shot(true) + @warning_ignore("return_value_discarded") timer.timeout.connect(_do_interrupt, CONNECT_DEFERRED) timer.start(_timeout_millis * 0.001 * Engine.get_time_scale()) @@ -61,12 +64,13 @@ func on_signal(source :Object, signal_name :String, expected_signal_args :Array) value = [value] if expected_signal_args.size() == 0 or GdObjects.equals(value, expected_signal_args): break - await Engine.get_main_loop().process_frame + await scene_tree.process_frame source.disconnect(signal_name, _on_signal_emmited) _time_left = timer.time_left - await Engine.get_main_loop().process_frame - if value is Array and value.size() == 1: + await scene_tree.process_frame + @warning_ignore("unsafe_cast") + if value is Array and (value as Array).size() == 1: return value[0] return value diff --git a/addons/gdUnit4/src/core/GdUnitSignalCollector.gd b/addons/gdUnit4/src/core/GdUnitSignalCollector.gd index 12e22b0..10bacc4 100644 --- a/addons/gdUnit4/src/core/GdUnitSignalCollector.gd +++ b/addons/gdUnit4/src/core/GdUnitSignalCollector.gd @@ -30,8 +30,8 @@ func register_emitter(emitter :Object) -> void: return _collected_signals[emitter] = Dictionary() # connect to 'tree_exiting' of the emitter to finally release all acquired resources/connections. - if emitter is Node and !emitter.tree_exiting.is_connected(unregister_emitter): - emitter.tree_exiting.connect(unregister_emitter.bind(emitter)) + if emitter is Node and !(emitter as Node).tree_exiting.is_connected(unregister_emitter): + (emitter as Node).tree_exiting.connect(unregister_emitter.bind(emitter)) # connect to all signals of the emitter we want to collect for signal_def in emitter.get_signal_list(): var signal_name :String = signal_def["name"] @@ -54,6 +54,7 @@ func unregister_emitter(emitter :Object) -> void: var signal_name :String = signal_def["name"] if emitter.is_connected(signal_name, _on_signal_emmited): emitter.disconnect(signal_name, _on_signal_emmited.bind(emitter, signal_name)) + @warning_ignore("return_value_discarded") _collected_signals.erase(emitter) @@ -77,7 +78,8 @@ func _on_signal_emmited( var emitter :Object = signal_args.pop_back() #prints("_on_signal_emmited:", emitter, signal_name, signal_args) if is_signal_collecting(emitter, signal_name): - _collected_signals[emitter][signal_name].append(signal_args) + @warning_ignore("unsafe_cast") + (_collected_signals[emitter][signal_name] as Array).append(signal_args) func reset_received_signals(emitter :Object, signal_name: String, signal_args :Array) -> void: @@ -85,12 +87,14 @@ func reset_received_signals(emitter :Object, signal_name: String, signal_args :A if _collected_signals.has(emitter): var signals_by_emitter :Dictionary = _collected_signals[emitter] if signals_by_emitter.has(signal_name): - _collected_signals[emitter][signal_name].erase(signal_args) + @warning_ignore("unsafe_cast") + (_collected_signals[emitter][signal_name] as Array).erase(signal_args) #_debug_signal_list("after claer"); func is_signal_collecting(emitter :Object, signal_name :String) -> bool: - return _collected_signals.has(emitter) and _collected_signals[emitter].has(signal_name) + @warning_ignore("unsafe_cast") + return _collected_signals.has(emitter) and (_collected_signals[emitter] as Dictionary).has(signal_name) func match(emitter :Object, signal_name :String, args :Array) -> bool: diff --git a/addons/gdUnit4/src/core/GdUnitSignals.gd b/addons/gdUnit4/src/core/GdUnitSignals.gd index a21c795..b67d7a1 100644 --- a/addons/gdUnit4/src/core/GdUnitSignals.gd +++ b/addons/gdUnit4/src/core/GdUnitSignals.gd @@ -1,17 +1,24 @@ class_name GdUnitSignals extends RefCounted +@warning_ignore("unused_signal") signal gdunit_client_connected(client_id :int) +@warning_ignore("unused_signal") signal gdunit_client_disconnected(client_id :int) +@warning_ignore("unused_signal") signal gdunit_client_terminated() +@warning_ignore("unused_signal") signal gdunit_event(event :GdUnitEvent) +@warning_ignore("unused_signal") signal gdunit_event_debug(event :GdUnitEvent) +@warning_ignore("unused_signal") signal gdunit_add_test_suite(test_suite :GdUnitTestSuiteDto) +@warning_ignore("unused_signal") signal gdunit_message(message :String) -signal gdunit_report(execution_context_id :int, report :GdUnitReport) +@warning_ignore("unused_signal") signal gdunit_set_test_failed(is_failed :bool) - +@warning_ignore("unused_signal") signal gdunit_settings_changed(property :GdUnitProperty) const META_KEY := "GdUnitSignals" @@ -29,8 +36,10 @@ static func dispose() -> void: var signals := instance() # cleanup connected signals for signal_ in signals.get_signal_list(): - for connection in signals.get_signal_connection_list(signal_["name"]): - connection["signal"].disconnect(connection["callable"]) + @warning_ignore("unsafe_cast") + for connection in signals.get_signal_connection_list(signal_["name"] as StringName): + var _signal: Signal = connection["signal"] + var _callable: Callable = connection["callable"] + _signal.disconnect(_callable) + signals = null Engine.remove_meta(META_KEY) - while signals.get_reference_count() > 0: - signals.unreference() diff --git a/addons/gdUnit4/src/core/GdUnitSingleton.gd b/addons/gdUnit4/src/core/GdUnitSingleton.gd index fc63b48..daa221c 100644 --- a/addons/gdUnit4/src/core/GdUnitSingleton.gd +++ b/addons/gdUnit4/src/core/GdUnitSingleton.gd @@ -17,18 +17,20 @@ static func instance(name :String, clazz :Callable) -> Variant: return Engine.get_meta(name) var singleton :Variant = clazz.call() if is_instance_of(singleton, RefCounted): - push_error("Invalid singleton implementation detected for '%s' is `%s`!" % [name, singleton.get_class()]) + @warning_ignore("unsafe_cast") + push_error("Invalid singleton implementation detected for '%s' is `%s`!" % [name, (singleton as RefCounted).get_class()]) return Engine.set_meta(name, singleton) GdUnitTools.prints_verbose("Register singleton '%s:%s'" % [name, singleton]) var singletons :PackedStringArray = Engine.get_meta(MEATA_KEY, PackedStringArray()) + @warning_ignore("return_value_discarded") singletons.append(name) Engine.set_meta(MEATA_KEY, singletons) return singleton -static func unregister(p_singleton :String) -> void: +static func unregister(p_singleton :String, use_call_deferred :bool = false) -> void: var singletons :PackedStringArray = Engine.get_meta(MEATA_KEY, PackedStringArray()) if singletons.has(p_singleton): GdUnitTools.prints_verbose("\n Unregister singleton '%s'" % p_singleton); @@ -36,18 +38,19 @@ static func unregister(p_singleton :String) -> void: singletons.remove_at(index) var instance_ :Object = Engine.get_meta(p_singleton) GdUnitTools.prints_verbose(" Free singleton instance '%s:%s'" % [p_singleton, instance_]) - GdUnitTools.free_instance(instance_) + @warning_ignore("return_value_discarded") + GdUnitTools.free_instance(instance_, use_call_deferred) Engine.remove_meta(p_singleton) GdUnitTools.prints_verbose(" Successfully freed '%s'" % p_singleton) Engine.set_meta(MEATA_KEY, singletons) -static func dispose() -> void: +static func dispose(use_call_deferred :bool = false) -> void: # use a copy because unregister is modify the singletons array - var singletons := PackedStringArray(Engine.get_meta(MEATA_KEY, PackedStringArray())) + var singletons :PackedStringArray = Engine.get_meta(MEATA_KEY, PackedStringArray()) GdUnitTools.prints_verbose("----------------------------------------------------------------") GdUnitTools.prints_verbose("Cleanup singletons %s" % singletons) - for singleton in singletons: - unregister(singleton) + for singleton in PackedStringArray(singletons): + unregister(singleton, use_call_deferred) Engine.remove_meta(MEATA_KEY) GdUnitTools.prints_verbose("----------------------------------------------------------------") diff --git a/addons/gdUnit4/src/core/GdUnitTestSuiteBuilder.gd b/addons/gdUnit4/src/core/GdUnitTestSuiteBuilder.gd index 6cd2ee4..aabbac7 100644 --- a/addons/gdUnit4/src/core/GdUnitTestSuiteBuilder.gd +++ b/addons/gdUnit4/src/core/GdUnitTestSuiteBuilder.gd @@ -5,7 +5,9 @@ extends RefCounted static func create(source :Script, line_number :int) -> GdUnitResult: var test_suite_path := GdUnitTestSuiteScanner.resolve_test_suite_path(source.resource_path, GdUnitSettings.test_root_folder()) # we need to save and close the testsuite and source if is current opened before modify + @warning_ignore("return_value_discarded") ScriptEditorControls.save_an_open_script(source.resource_path) + @warning_ignore("return_value_discarded") ScriptEditorControls.save_an_open_script(test_suite_path, true) if GdObjects.is_cs_script(source): return GdUnit4CSharpApiLoader.create_test_suite(source.resource_path, line_number+1, test_suite_path) diff --git a/addons/gdUnit4/src/core/GdUnitTestSuiteScanner.gd b/addons/gdUnit4/src/core/GdUnitTestSuiteScanner.gd index 0f88209..395958c 100644 --- a/addons/gdUnit4/src/core/GdUnitTestSuiteScanner.gd +++ b/addons/gdUnit4/src/core/GdUnitTestSuiteScanner.gd @@ -30,8 +30,10 @@ func prescan_testsuite_classes() -> void: var base_class :String = script_meta["base"] var resource_path :String = script_meta["path"] if base_class == "GdUnitTestSuite": + @warning_ignore("return_value_discarded") _included_resources.append(resource_path) elif ClassDB.class_exists(base_class): + @warning_ignore("return_value_discarded") _excluded_resources.append(resource_path) @@ -54,6 +56,7 @@ func _scan_test_suites(dir :DirAccess, collected_suites :Array[Node]) -> Array[N if exclude_scan_directories.has(dir.get_current_dir()): return collected_suites prints("Scanning for test suites in:", dir.get_current_dir()) + @warning_ignore("return_value_discarded") dir.list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547 var file_name := dir.get_next() while file_name != "": @@ -61,6 +64,7 @@ func _scan_test_suites(dir :DirAccess, collected_suites :Array[Node]) -> Array[N if dir.current_is_dir(): var sub_dir := DirAccess.open(resource_path) if sub_dir != null: + @warning_ignore("return_value_discarded") _scan_test_suites(sub_dir, collected_suites) else: var time := LocalTime.now() @@ -91,7 +95,7 @@ func _parse_is_test_suite(resource_path :String) -> Node: return null # Check in the global class cache whether the GdUnitTestSuite class has been extended. if _included_resources.has(resource_path): - return _parse_test_suite(ResourceLoader.load(resource_path)) + return _parse_test_suite(GdUnitTestSuiteScanner.load_with_disabled_warnings(resource_path)) # Otherwise we need to scan manual, we need to exclude classes where direct extends form Godot classes # the resource loader can fail to load e.g. plugin classes with do preload other scripts @@ -100,10 +104,25 @@ func _parse_is_test_suite(resource_path :String) -> Node: if extends_from.is_empty() or ClassDB.class_exists(extends_from): return null # Finally, we need to load the class to determine it is a test suite - var script := ResourceLoader.load(resource_path) + var script := GdUnitTestSuiteScanner.load_with_disabled_warnings(resource_path) if not GdObjects.is_test_suite(script): return null - return _parse_test_suite(ResourceLoader.load(resource_path)) + return _parse_test_suite(script) + + +# We load the test suites with disabled unsafe_method_access to avoid spamming loading errors +# `unsafe_method_access` will happen when using `assert_that` +static func load_with_disabled_warnings(resource_path: String) -> GDScript: + # grap current level + var unsafe_method_access: Variant = ProjectSettings.get_setting("debug/gdscript/warnings/unsafe_method_access") + + # disable and load the script + ProjectSettings.set_setting("debug/gdscript/warnings/unsafe_method_access", 0) + var script: GDScript = ResourceLoader.load(resource_path) + + # restore + ProjectSettings.set_setting("debug/gdscript/warnings/unsafe_method_access", unsafe_method_access) + return script static func _is_script_format_supported(resource_path :String) -> bool: @@ -113,65 +132,58 @@ static func _is_script_format_supported(resource_path :String) -> bool: return GdUnit4CSharpApiLoader.is_csharp_file(resource_path) -func _parse_test_suite(script :GDScript) -> GdUnitTestSuite: +func _parse_test_suite(script: Script) -> GdUnitTestSuite: if not GdObjects.is_test_suite(script): return null - var test_suite :GdUnitTestSuite = script.new() + # If test suite a C# script + if GdUnit4CSharpApiLoader.is_test_suite(script.resource_path): + return GdUnit4CSharpApiLoader.parse_test_suite(script.resource_path) + + # Do pares as GDScript + var test_suite: GdUnitTestSuite = (script as GDScript).new() test_suite.set_name(GdUnitTestSuiteScanner.parse_test_suite_name(script)) # add test cases to test suite and parse test case line nummber - var test_case_names := _extract_test_case_names(script) - _parse_and_add_test_cases(test_suite, script, test_case_names) - # not all test case parsed? - # we have to scan the base class to - if not test_case_names.is_empty(): - var base_script :GDScript = test_suite.get_script().get_base_script() - while base_script is GDScript: - # do not parse testsuite itself - if base_script.resource_path.find("GdUnitTestSuite") == -1: - _parse_and_add_test_cases(test_suite, base_script, test_case_names) - base_script = base_script.get_base_script() + var test_case_names := _extract_test_case_names(script as GDScript) + _parse_and_add_test_cases(test_suite, script as GDScript, test_case_names) return test_suite func _extract_test_case_names(script :GDScript) -> PackedStringArray: - var names := PackedStringArray() - for method in script.get_script_method_list(): - var funcName :String = method["name"] - if funcName.begins_with("test"): - names.append(funcName) - return names + return script.get_script_method_list()\ + .map(func(descriptor: Dictionary) -> String: return descriptor["name"])\ + .filter(func(func_name: String) -> bool: return func_name.begins_with("test")) static func parse_test_suite_name(script :Script) -> String: return script.resource_path.get_file().replace(".gd", "") -func _handle_test_suite_arguments(test_suite :Node, script :GDScript, fd :GdFunctionDescriptor) -> void: +func _handle_test_suite_arguments(test_suite: GdUnitTestSuite, script: GDScript, fd: GdFunctionDescriptor) -> void: for arg in fd.args(): match arg.name(): _TestCase.ARGUMENT_SKIP: - var result :Variant = _expression_runner.execute(script, arg.value_as_string()) + var result: Variant = _expression_runner.execute(script, arg.plain_value()) if result is bool: test_suite.__is_skipped = result else: - push_error("Test expression '%s' cannot be evaluated because it is not of type bool!" % arg.value_as_string()) + push_error("Test expression '%s' cannot be evaluated because it is not of type bool!" % arg.plain_value()) _TestCase.ARGUMENT_SKIP_REASON: - test_suite.__skip_reason = arg.value_as_string() + test_suite.__skip_reason = arg.plain_value() _: push_error("Unsuported argument `%s` found on before() at '%s'!" % [arg.name(), script.resource_path]) -func _handle_test_case_arguments(test_suite :Node, script :GDScript, fd :GdFunctionDescriptor) -> void: +func _handle_test_case_arguments(test_suite: GdUnitTestSuite, script: GDScript, fd: GdFunctionDescriptor) -> void: var timeout := _TestCase.DEFAULT_TIMEOUT var iterations := Fuzzer.ITERATION_DEFAULT_COUNT var seed_value := -1 var is_skipped := false var skip_reason := "Unknown." - var fuzzers :Array[GdFunctionArgument] = [] + var fuzzers: Array[GdFunctionArgument] = [] var test := _TestCase.new() - for arg in fd.args(): + for arg: GdFunctionArgument in fd.args(): # verify argument is allowed # is test using fuzzers? if arg.type() == GdObjects.TYPE_FUZZER: @@ -181,31 +193,33 @@ func _handle_test_case_arguments(test_suite :Node, script :GDScript, fd :GdFunct _TestCase.ARGUMENT_TIMEOUT: timeout = arg.default() _TestCase.ARGUMENT_SKIP: - var result :Variant = _expression_runner.execute(script, arg.value_as_string()) + var result :Variant = _expression_runner.execute(script, arg.plain_value()) if result is bool: is_skipped = result else: - push_error("Test expression '%s' cannot be evaluated because it is not of type bool!" % arg.value_as_string()) + push_error("Test expression '%s' cannot be evaluated because it is not of type bool!" % arg.plain_value()) _TestCase.ARGUMENT_SKIP_REASON: - skip_reason = arg.value_as_string() + skip_reason = arg.plain_value() Fuzzer.ARGUMENT_ITERATIONS: iterations = arg.default() Fuzzer.ARGUMENT_SEED: seed_value = arg.default() # create new test - test.configure(fd.name(), fd.line_number(), script.resource_path, timeout, fuzzers, iterations, seed_value) + @warning_ignore("return_value_discarded") + test.configure(fd.name(), fd.line_number(), fd.source_path(), timeout, fuzzers, iterations, seed_value) test.set_function_descriptor(fd) test.skip(is_skipped, skip_reason) _validate_argument(fd, test) test_suite.add_child(test) -func _parse_and_add_test_cases(test_suite :Node, script :GDScript, test_case_names :PackedStringArray) -> void: +func _parse_and_add_test_cases(test_suite: GdUnitTestSuite, script: GDScript, test_case_names: PackedStringArray) -> void: var test_cases_to_find := Array(test_case_names) var functions_to_scan := test_case_names.duplicate() + @warning_ignore("return_value_discarded") functions_to_scan.append("before") - var source := _script_parser.load_source_code(script, [script.resource_path]) - var function_descriptors := _script_parser.parse_functions(source, "", [script.resource_path], functions_to_scan) + + var function_descriptors := _script_parser.get_function_descriptors(script, functions_to_scan) for fd in function_descriptors: if fd.name() == "before": _handle_test_suite_arguments(test_suite, script, fd) @@ -226,7 +240,7 @@ func _validate_argument(fd :GdFunctionDescriptor, test_case :_TestCase) -> void: # converts given file name by configured naming convention static func _to_naming_convention(file_name :String) -> String: - var nc :int = GdUnitSettings.get_setting(GdUnitSettings.TEST_SITE_NAMING_CONVENTION, 0) + var nc :int = GdUnitSettings.get_setting(GdUnitSettings.TEST_SUITE_NAMING_CONVENTION, 0) match nc: GdUnitSettings.NAMING_CONVENTIONS.AUTO_DETECT: if GdObjects.is_snake_case(file_name): @@ -291,16 +305,15 @@ static func create_test_suite(test_suite_path :String, source_path :String) -> G static func get_test_case_line_number(resource_path :String, func_name :String) -> int: var file := FileAccess.open(resource_path, FileAccess.READ) if file != null: - var script_parser := GdScriptParser.new() var line_number := 0 while not file.eof_reached(): - var row := GdScriptParser.clean_up_row(file.get_line()) + var row := file.get_line() line_number += 1 # ignore comments and empty lines and not test functions - if row.begins_with("#") || row.length() == 0 || row.find("functest") == -1: + if row.begins_with("#") || row.length() == 0 || row.find("func test_") == -1: continue # abort if test case name found - if script_parser.parse_func_name(row) == "test_" + func_name: + if row.find("func") != -1 and row.find("test_" + func_name) != -1: return line_number return -1 @@ -323,7 +336,7 @@ func get_extends_classname(resource_path :String) -> String: static func add_test_case(resource_path :String, func_name :String) -> GdUnitResult: - var script := load(resource_path) as GDScript + var script := load_with_disabled_warnings(resource_path) # count all exiting lines and add two as space to add new test case var line_number := count_lines(script) + 2 var func_body := TEST_FUNC_TEMPLATE.replace("${func_name}", func_name) @@ -350,7 +363,7 @@ static func test_suite_exists(test_suite_path :String) -> bool: static func test_case_exists(test_suite_path :String, func_name :String) -> bool: if not test_suite_exists(test_suite_path): return false - var script := ResourceLoader.load(test_suite_path) as GDScript + var script := load_with_disabled_warnings(test_suite_path) for f in script.get_script_method_list(): if f["name"] == "test_" + func_name: return true diff --git a/addons/gdUnit4/src/core/GdUnitTools.gd b/addons/gdUnit4/src/core/GdUnitTools.gd index a9bba12..2015fb8 100644 --- a/addons/gdUnit4/src/core/GdUnitTools.gd +++ b/addons/gdUnit4/src/core/GdUnitTools.gd @@ -27,11 +27,13 @@ static func prints_verbose(message :String) -> void: prints(message) -static func free_instance(instance :Variant, is_stdout_verbose :=false) -> bool: +@warning_ignore("unsafe_cast") +static func free_instance(instance :Variant, use_call_deferred :bool = false, is_stdout_verbose := false) -> bool: if instance is Array: for element :Variant in instance: + @warning_ignore("return_value_discarded") free_instance(element) - instance.clear() + (instance as Array).clear() return true # do not free an already freed instance if not is_instance_valid(instance): @@ -41,26 +43,39 @@ static func free_instance(instance :Variant, is_stdout_verbose :=false) -> bool: return false if is_stdout_verbose: print_verbose("GdUnit4:gc():free instance ", instance) - release_double(instance) + release_double(instance as Object) if instance is RefCounted: - instance.notification(Object.NOTIFICATION_PREDELETE) + (instance as RefCounted).notification(Object.NOTIFICATION_PREDELETE) + # If scene runner freed we explicit await all inputs are processed + if instance is GdUnitSceneRunnerImpl: + await (instance as GdUnitSceneRunnerImpl).await_input_processed() return true else: - # is instance already freed? - #if not is_instance_valid(instance) or ClassDB.class_get_property(instance, "new"): - # return false - #release_connections(instance) if instance is Timer: - instance.stop() - instance.call_deferred("free") - await Engine.get_main_loop().process_frame + var timer := instance as Timer + timer.stop() + if use_call_deferred: + timer.call_deferred("free") + else: + timer.free() + await (Engine.get_main_loop() as SceneTree).process_frame return true - if instance is Node and instance.get_parent() != null: + + if instance is Node and (instance as Node).get_parent() != null: + var node := instance as Node if is_stdout_verbose: - print_verbose("GdUnit4:gc():remove node from parent ", instance.get_parent(), instance) - instance.get_parent().remove_child(instance) - instance.set_owner(null) - instance.free() + print_verbose("GdUnit4:gc():remove node from parent ", node.get_parent(), node) + if use_call_deferred: + node.get_parent().remove_child.call_deferred(node) + #instance.call_deferred("set_owner", null) + else: + node.get_parent().remove_child(node) + if is_stdout_verbose: + print_verbose("GdUnit4:gc():freeing `free()` the instance ", instance) + if use_call_deferred: + (instance as Object).call_deferred("free") + else: + (instance as Object).free() return !is_instance_valid(instance) @@ -81,21 +96,22 @@ static func _release_connections(instance :Object) -> void: static func release_timers() -> void: # we go the new way to hold all gdunit timers in group 'GdUnitTimers' - if Engine.get_main_loop().root == null: + var scene_tree := Engine.get_main_loop() as SceneTree + if scene_tree.root == null: return - for node :Node in Engine.get_main_loop().root.get_children(): + for node :Node in scene_tree.root.get_children(): if is_instance_valid(node) and node.is_in_group("GdUnitTimers"): if is_instance_valid(node): - Engine.get_main_loop().root.remove_child(node) - node.stop() - node.free() + scene_tree.root.remove_child.call_deferred(node) + (node as Timer).stop() + node.queue_free() # the finally cleaup unfreed resources and singletons -static func dispose_all() -> void: +static func dispose_all(use_call_deferred :bool = false) -> void: release_timers() + GdUnitSingleton.dispose(use_call_deferred) GdUnitSignals.dispose() - GdUnitSingleton.dispose() # if instance an mock or spy we need manually freeing the self reference @@ -104,12 +120,6 @@ static func release_double(instance :Object) -> void: instance.call("__release_double") -static func clear_push_errors() -> void: - var runner :Node = Engine.get_meta("GdUnitRunner") - if runner != null: - runner.clear_push_errors() - - static func register_expect_interupted_by_timeout(test_suite :Node, test_case_name :String) -> void: - var test_case :Node = test_suite.find_child(test_case_name, false, false) + var test_case: _TestCase = test_suite.find_child(test_case_name, false, false) test_case.expect_to_interupt() diff --git a/addons/gdUnit4/src/core/GodotVersionFixures.gd b/addons/gdUnit4/src/core/GodotVersionFixures.gd index a34cd83..9d5b6bb 100644 --- a/addons/gdUnit4/src/core/GodotVersionFixures.gd +++ b/addons/gdUnit4/src/core/GodotVersionFixures.gd @@ -19,11 +19,3 @@ static func set_event_global_position(event: InputEventMouseMotion, global_posit event.global_position = event.position else: event.global_position = global_position - - -# we crash on macOS when using free() inside the plugin _exit_tree -static func free_fix(instance: Object) -> void: - if OS.get_distribution_name().contains("mac"): - instance.queue_free() - else: - instance.free() diff --git a/addons/gdUnit4/src/core/LocalTime.gd b/addons/gdUnit4/src/core/LocalTime.gd index 68900b5..cf6c22c 100644 --- a/addons/gdUnit4/src/core/LocalTime.gd +++ b/addons/gdUnit4/src/core/LocalTime.gd @@ -3,6 +3,7 @@ class_name LocalTime extends Resource enum TimeUnit { + DEFAULT = 0, MILLIS = 1, SECOND = 2, MINUTE = 3, @@ -60,6 +61,7 @@ func plus(time_unit :TimeUnit, value :int) -> LocalTime: addValue = value * MILLIS_PER_MINUTE TimeUnit.HOUR: addValue = value * MILLIS_PER_HOUR + @warning_ignore("return_value_discarded") _init(_time + addValue) return self diff --git a/addons/gdUnit4/src/core/_TestCase.gd b/addons/gdUnit4/src/core/_TestCase.gd index 31be781..b8d9273 100644 --- a/addons/gdUnit4/src/core/_TestCase.gd +++ b/addons/gdUnit4/src/core/_TestCase.gd @@ -22,7 +22,6 @@ var _expect_to_interupt := false var _timer: Timer var _interupted: bool = false var _failed := false -var _report: GdUnitReport = null var _parameter_set_resolver: GdUnitTestParameterSetResolver var _is_disposed := false @@ -80,14 +79,13 @@ func dispose() -> void: stop_timer() _remove_failure_handler() _fuzzers.clear() - _report = null @warning_ignore("shadowed_variable_base_class", "redundant_await") func _execute_test_case(name: String, test_parameter: Array) -> void: # needs at least on await otherwise it breaks the awaiting chain await get_parent().callv(name, test_parameter) - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame completed.emit() @@ -104,22 +102,30 @@ func set_timeout() -> void: _timer = Timer.new() add_child(_timer) _timer.set_name("gdunit_test_case_timer_%d" % _timer.get_instance_id()) - _timer.timeout.connect(func do_interrupt() -> void: - if is_fuzzed(): - _report = GdUnitReport.new().create(GdUnitReport.INTERUPTED, line_number(), GdAssertMessages.fuzzer_interuped(_current_iteration, "timedout")) - else: - _report = GdUnitReport.new().create(GdUnitReport.INTERUPTED, line_number(), GdAssertMessages.test_timeout(timeout)) - _interupted = true - completed.emit() - , CONNECT_DEFERRED) + @warning_ignore("return_value_discarded") + _timer.timeout.connect(do_interrupt, CONNECT_DEFERRED) _timer.set_one_shot(true) _timer.set_wait_time(time) _timer.set_autostart(false) _timer.start() +func do_interrupt() -> void: + _interupted = true + if not is_expect_interupted(): + var execution_context:= GdUnitThreadManager.get_current_context().get_execution_context() + if is_fuzzed(): + execution_context.add_report(GdUnitReport.new()\ + .create(GdUnitReport.INTERUPTED, line_number(), GdAssertMessages.fuzzer_interuped(_current_iteration, "timedout"))) + else: + execution_context.add_report(GdUnitReport.new()\ + .create(GdUnitReport.INTERUPTED, line_number(), GdAssertMessages.test_timeout(timeout))) + completed.emit() + + func _set_failure_handler() -> void: if not GdUnitSignals.instance().gdunit_set_test_failed.is_connected(_failure_received): + @warning_ignore("return_value_discarded") GdUnitSignals.instance().gdunit_set_test_failed.connect(_failure_received) @@ -164,10 +170,6 @@ func is_skipped() -> bool: return _skipped -func report() -> GdUnitReport: - return _report - - func skip_info() -> String: return _skip_reason diff --git a/addons/gdUnit4/src/core/assets/touch-button.png b/addons/gdUnit4/src/core/assets/touch-button.png new file mode 100644 index 0000000..23f46ef Binary files /dev/null and b/addons/gdUnit4/src/core/assets/touch-button.png differ diff --git a/addons/gdUnit4/src/core/assets/touch-button.png.import b/addons/gdUnit4/src/core/assets/touch-button.png.import new file mode 100644 index 0000000..a84ce13 --- /dev/null +++ b/addons/gdUnit4/src/core/assets/touch-button.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btx5kcrsngasl" +path="res://.godot/imported/touch-button.png-2fff40c8520d8e97a57db1b2b043f641.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/gdUnit4/src/core/assets/touch-button.png" +dest_files=["res://.godot/imported/touch-button.png-2fff40c8520d8e97a57db1b2b043f641.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/addons/gdUnit4/src/core/command/GdUnitCommandHandler.gd b/addons/gdUnit4/src/core/command/GdUnitCommandHandler.gd index 4ee99cf..6f4c125 100644 --- a/addons/gdUnit4/src/core/command/GdUnitCommandHandler.gd +++ b/addons/gdUnit4/src/core/command/GdUnitCommandHandler.gd @@ -50,6 +50,7 @@ static func instance() -> GdUnitCommandHandler: return GdUnitSingleton.instance("GdUnitCommandHandler", func() -> GdUnitCommandHandler: return GdUnitCommandHandler.new()) +@warning_ignore("return_value_discarded") func _init() -> void: assert_shortcut_mappings(SETTINGS_SHORTCUT_MAPPING) @@ -58,6 +59,7 @@ func _init() -> void: GdUnitSignals.instance().gdunit_client_disconnected.connect(_on_client_disconnected) GdUnitSignals.instance().gdunit_settings_changed.connect(_on_settings_changed) # preload previous test execution + @warning_ignore("return_value_discarded") _runner_config.load_config() init_shortcuts() @@ -73,13 +75,10 @@ func _init() -> void: register_command(GdUnitCommand.new(CMD_CREATE_TESTCASE, is_not_running, cmd_create_test, GdUnitShortcut.ShortCut.CREATE_TEST)) register_command(GdUnitCommand.new(CMD_STOP_TEST_RUN, is_running, cmd_stop.bind(_client_id), GdUnitShortcut.ShortCut.STOP_TEST_RUN)) - - # do not reschedule inside of test run (called on GdUnitCommandHandlerTest) - if Engine.has_meta("GdUnitRunner"): - return - # schedule discover tests if enabled - if GdUnitSettings.is_test_discover_enabled(): - var timer :SceneTreeTimer = Engine.get_main_loop().create_timer(5) + # schedule discover tests if enabled and running inside the editor + if Engine.is_editor_hint() and GdUnitSettings.is_test_discover_enabled(): + var timer :SceneTreeTimer = (Engine.get_main_loop() as SceneTree).create_timer(5) + @warning_ignore("return_value_discarded") timer.timeout.connect(cmd_discover_tests) @@ -123,7 +122,7 @@ func init_shortcuts() -> void: register_shortcut(shortcut, inputEvent) -func create_shortcut_input_even(key_codes : PackedInt32Array) -> InputEventKey: +func create_shortcut_input_even(key_codes: PackedInt32Array) -> InputEventKey: var inputEvent :InputEventKey = InputEventKey.new() inputEvent.pressed = true for key_code in key_codes: @@ -208,7 +207,8 @@ func cmd_run(debug :bool) -> void: if _is_running: return # save current selected excution config - var result := _runner_config.set_server_port(Engine.get_meta("gdunit_server_port")).save_config() + var server_port: int = Engine.get_meta("gdunit_server_port") + var result := _runner_config.set_server_port(server_port).save_config() if result.is_error(): push_error(result.error_message()) return @@ -232,9 +232,10 @@ func cmd_stop(client_id :int) -> void: if _running_debug_mode: EditorInterface.stop_playing_scene() else: if _current_runner_process_id > 0: - var result := OS.kill(_current_runner_process_id) - if result != OK: - push_error("ERROR checked stopping GdUnit Test Runner. error code: %s" % result) + if OS.is_process_running(_current_runner_process_id): + var result := OS.kill(_current_runner_process_id) + if result != OK: + push_error("ERROR checked stopping GdUnit Test Runner. error code: %s" % result) _current_runner_process_id = -1 @@ -242,6 +243,7 @@ func cmd_editor_run_test(debug :bool) -> void: var cursor_line := active_base_editor().get_caret_line() #run test case? var regex := RegEx.new() + @warning_ignore("return_value_discarded") regex.compile("(^func[ ,\t])(test_[a-zA-Z0-9_]*)") var result := regex.search(active_base_editor().get_line(cursor_line)) if result: @@ -262,8 +264,10 @@ func cmd_create_test() -> void: # show error dialog push_error("Failed to create test case: %s" % result.error_message()) return - var info := result.value() as Dictionary - ScriptEditorControls.edit_script(info.get("path"), info.get("line")) + var info: Dictionary = result.value() + var script_path: String = info.get("path") + var script_line: int = info.get("line") + ScriptEditorControls.edit_script(script_path, script_line) func cmd_discover_tests() -> void: @@ -279,8 +283,10 @@ static func scan_test_directorys(base_directory :String, test_directory: String, if GdUnitTestSuiteScanner.exclude_scan_directories.has(current_directory): continue if match_test_directory(directory, test_directory): + @warning_ignore("return_value_discarded") test_suite_paths.append(current_directory) else: + @warning_ignore("return_value_discarded") scan_test_directorys(current_directory, test_directory, test_suite_paths) return test_suite_paths @@ -342,11 +348,13 @@ func _on_run_overall_pressed(_debug := false) -> void: func _on_settings_changed(property :GdUnitProperty) -> void: if SETTINGS_SHORTCUT_MAPPING.has(property.name()): var shortcut :GdUnitShortcut.ShortCut = SETTINGS_SHORTCUT_MAPPING.get(property.name()) - var input_event := create_shortcut_input_even(property.value()) + var value: PackedInt32Array = property.value() + var input_event := create_shortcut_input_even(value) prints("Shortcut changed: '%s' to '%s'" % [GdUnitShortcut.ShortCut.keys()[shortcut], input_event.as_text()]) register_shortcut(shortcut, input_event) if property.name() == GdUnitSettings.TEST_DISCOVER_ENABLED: - var timer :SceneTreeTimer = Engine.get_main_loop().create_timer(3) + var timer :SceneTreeTimer = (Engine.get_main_loop() as SceneTree).create_timer(3) + @warning_ignore("return_value_discarded") timer.timeout.connect(cmd_discover_tests) diff --git a/addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverGuard.gd b/addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverGuard.gd index fa9a65c..c3e4d2c 100644 --- a/addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverGuard.gd +++ b/addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverGuard.gd @@ -1,60 +1,105 @@ extends RefCounted + +# Caches all test indices for parameterized tests +class TestCaseIndicesCache: + var _cache := {} + + func _key(resource_path: String, test_name: String) -> StringName: + return &"%s_%s" % [resource_path, test_name] + + + func contains_test_case(resource_path: String, test_name: String) -> bool: + return _cache.has(_key(resource_path, test_name)) + + + func validate(resource_path: String, test_name: String, indices: PackedStringArray) -> bool: + var cached_indicies: PackedStringArray = _cache[_key(resource_path, test_name)] + return GdArrayTools.has_same_content(cached_indicies, indices) + + + func sync(resource_path: String, test_name: String, indices: PackedStringArray) -> void: + if indices.is_empty(): + _cache[_key(resource_path, test_name)] = [] + else: + _cache[_key(resource_path, test_name)] = indices + # contains all tracked test suites where discovered since editor start # key : test suite resource_path # value: the list of discovered test case names var _discover_cache := {} +var discovered_test_case_indices_cache := TestCaseIndicesCache.new() + func _init() -> void: # Register for discovery events to sync the cache + @warning_ignore("return_value_discarded") GdUnitSignals.instance().gdunit_add_test_suite.connect(sync_cache) -func sync_cache(dto :GdUnitTestSuiteDto) -> void: - var resource_path := dto.path() - var discovered_test_cases :Array[String] = [] +func sync_cache(dto: GdUnitTestSuiteDto) -> void: + var resource_path := ProjectSettings.localize_path(dto.path()) + var discovered_test_cases: Array[String] = [] for test_case in dto.test_cases(): discovered_test_cases.append(test_case.name()) + discovered_test_case_indices_cache.sync(resource_path, test_case.name(), test_case.test_case_names()) _discover_cache[resource_path] = discovered_test_cases func discover(script: Script) -> void: + # for cs scripts we need to recomplie before discover new tests + if GdObjects.is_cs_script(script): + await rebuild_project(script) + if GdObjects.is_test_suite(script): # a new test suite is discovered - if not _discover_cache.has(script.resource_path): - var scanner := GdUnitTestSuiteScanner.new() - var test_suite := scanner._parse_test_suite(script) + var script_path := ProjectSettings.localize_path(script.resource_path) + var scanner := GdUnitTestSuiteScanner.new() + var test_suite := scanner._parse_test_suite(script) + var suite_name := test_suite.get_name() + + if not _discover_cache.has(script_path): var dto :GdUnitTestSuiteDto = GdUnitTestSuiteDto.of(test_suite) - GdUnitSignals.instance().gdunit_event.emit(GdUnitEventTestDiscoverTestSuiteAdded.new(script.resource_path, test_suite.get_name(), dto)) + GdUnitSignals.instance().gdunit_event.emit(GdUnitEventTestDiscoverTestSuiteAdded.new(script_path, suite_name, dto)) sync_cache(dto) test_suite.queue_free() return - var tests_added :Array[String] = [] - var tests_removed := PackedStringArray() - var script_test_cases := extract_test_functions(script) - var discovered_test_cases :Array[String] = _discover_cache.get(script.resource_path, [] as Array[String]) + var discovered_test_cases :Array[String] = _discover_cache.get(script_path, [] as Array[String]) + var script_test_cases := extract_test_functions(test_suite) # first detect removed/renamed tests + var tests_removed := PackedStringArray() for test_case in discovered_test_cases: if not script_test_cases.has(test_case): + @warning_ignore("return_value_discarded") tests_removed.append(test_case) # second detect new added tests + var tests_added :Array[String] = [] for test_case in script_test_cases: if not discovered_test_cases.has(test_case): tests_added.append(test_case) + # We need to scan for parameterized test because of possible test data changes + # For more details look at https://github.com/MikeSchulze/gdUnit4/issues/592 + for test_case_name in script_test_cases: + if discovered_test_case_indices_cache.contains_test_case(script_path, test_case_name): + var test_case: _TestCase = test_suite.find_child(test_case_name, false, false) + var test_indices := test_case.test_case_names() + if not discovered_test_case_indices_cache.validate(script_path, test_case_name, test_indices): + if !tests_removed.has(test_case_name): + tests_removed.append(test_case_name) + if !tests_added.has(test_case_name): + tests_added.append(test_case_name) + discovered_test_case_indices_cache.sync(script_path, test_case_name, test_indices) + # finally notify changes to the inspector if not tests_removed.is_empty() or not tests_added.is_empty(): - var scanner := GdUnitTestSuiteScanner.new() - var test_suite := scanner._parse_test_suite(script) - var suite_name := test_suite.get_name() - # emit deleted tests for test_name in tests_removed: discovered_test_cases.erase(test_name) - GdUnitSignals.instance().gdunit_event.emit(GdUnitEventTestDiscoverTestRemoved.new(script.resource_path, suite_name, test_name)) + GdUnitSignals.instance().gdunit_event.emit(GdUnitEventTestDiscoverTestRemoved.new(script_path, suite_name, test_name)) # emit new discovered tests for test_name in tests_added: @@ -62,25 +107,46 @@ func discover(script: Script) -> void: var test_case := test_suite.find_child(test_name, false, false) var dto := GdUnitTestCaseDto.new() dto = dto.deserialize(dto.serialize(test_case)) - GdUnitSignals.instance().gdunit_event.emit(GdUnitEventTestDiscoverTestAdded.new(script.resource_path, suite_name, dto)) + GdUnitSignals.instance().gdunit_event.emit(GdUnitEventTestDiscoverTestAdded.new(script_path, suite_name, dto)) + # if the parameterized test fresh added we need to sync the cache + if not discovered_test_case_indices_cache.contains_test_case(script_path, test_name): + discovered_test_case_indices_cache.sync(script_path, test_name, dto.test_case_names()) + # update the cache - _discover_cache[script.resource_path] = discovered_test_cases + _discover_cache[script_path] = discovered_test_cases test_suite.queue_free() -func extract_test_functions(script :Script) -> PackedStringArray: - return script.get_script_method_list()\ - .map(map_func_names)\ - .filter(filter_test_cases) +func extract_test_functions(test_suite :Node) -> PackedStringArray: + return test_suite.get_children()\ + .filter(func(child: Node) -> bool: return is_instance_of(child, _TestCase))\ + .map(func (child: Node) -> String: return child.get_name()) -func map_func_names(method_info :Dictionary) -> String: - return method_info["name"] +func is_paramaterized_test(test_suite :Node, test_case_name: String) -> bool: + return test_suite.get_children()\ + .filter(func(child: Node) -> bool: return child.name == test_case_name)\ + .any(func (test: _TestCase) -> bool: return test.is_parameterized()) -func filter_test_cases(value :String) -> bool: - return value.begins_with("test_") +# do rebuild the entire project, there is actual no way to enforce the Godot engine itself to do this +func rebuild_project(script: Script) -> void: + var class_path := ProjectSettings.globalize_path(script.resource_path) + print_rich("[color=CORNFLOWER_BLUE]GdUnitTestDiscoverGuard: CSharpScript change detected on: '%s' [/color]" % class_path) + var scene_tree := Engine.get_main_loop() as SceneTree + await scene_tree.process_frame + var output := [] + var exit_code := OS.execute("dotnet", ["--version"], output) + if exit_code == -1: + print_rich("[color=CORNFLOWER_BLUE]GdUnitTestDiscoverGuard:[/color] [color=RED]Rebuild the project failed.[/color]") + print_rich("[color=CORNFLOWER_BLUE]GdUnitTestDiscoverGuard:[/color] [color=RED]Can't find installed `dotnet`! Please check your environment is setup correctly.[/color]") + return + print_rich("[color=CORNFLOWER_BLUE]GdUnitTestDiscoverGuard:[/color] [color=DEEP_SKY_BLUE]Found dotnet v%s[/color]" % output[0].strip_edges()) + output.clear() -func filter_by_test_cases(method_info :Dictionary, value :String) -> bool: - return method_info["name"] == value + exit_code = OS.execute("dotnet", ["build"], output) + print_rich("[color=CORNFLOWER_BLUE]GdUnitTestDiscoverGuard:[/color] [color=DEEP_SKY_BLUE]Rebuild the project ... [/color]") + for out:Variant in output: + print_rich("[color=DEEP_SKY_BLUE] %s" % out.strip_edges()) + await scene_tree.process_frame diff --git a/addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverer.gd b/addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverer.gd index 1e92a4d..22b36d1 100644 --- a/addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverer.gd +++ b/addons/gdUnit4/src/core/discovery/GdUnitTestDiscoverer.gd @@ -5,21 +5,34 @@ extends RefCounted static func run() -> void: prints("Running test discovery ..") GdUnitSignals.instance().gdunit_event.emit(GdUnitEventTestDiscoverStart.new()) - await Engine.get_main_loop().create_timer(.5).timeout + await (Engine.get_main_loop() as SceneTree).create_timer(.5).timeout - var test_suite_directories :PackedStringArray = GdUnitCommandHandler.scan_test_directorys("res://" , GdUnitSettings.test_root_folder(), []) - var scanner := GdUnitTestSuiteScanner.new() - var _test_suites_to_process :Array[Node] = [] - for test_suite_dir in test_suite_directories: - _test_suites_to_process.append_array(scanner.scan(test_suite_dir)) + # We run the test discovery in an extra thread so that the main thread is not blocked + var t:= Thread.new() + @warning_ignore("return_value_discarded") + t.start(func () -> void: + var test_suite_directories :PackedStringArray = GdUnitCommandHandler.scan_test_directorys("res://" , GdUnitSettings.test_root_folder(), []) + var scanner := GdUnitTestSuiteScanner.new() + var _test_suites_to_process :Array[Node] = [] - var test_case_count :int = _test_suites_to_process.reduce(func (accum :int, test_suite :Node) -> int: - return accum + test_suite.get_child_count(), 0) + for test_suite_dir in test_suite_directories: + _test_suites_to_process.append_array(scanner.scan(test_suite_dir)) - for test_suite in _test_suites_to_process: - var ts_dto := GdUnitTestSuiteDto.of(test_suite) - GdUnitSignals.instance().gdunit_add_test_suite.emit(ts_dto) + # Do sync the main thread before emit the discovered test suites to the inspector + await (Engine.get_main_loop() as SceneTree).process_frame + var test_case_count :int = 0 + for test_suite in _test_suites_to_process: + test_case_count += test_suite.get_child_count() + var ts_dto := GdUnitTestSuiteDto.of(test_suite) + GdUnitSignals.instance().gdunit_add_test_suite.emit(ts_dto) + test_suite.free() - prints("%d test suites discovered." % _test_suites_to_process.size()) - GdUnitSignals.instance().gdunit_event.emit(GdUnitEventTestDiscoverEnd.new(_test_suites_to_process.size(), test_case_count)) - await Engine.get_main_loop().process_frame + prints("%d test suites discovered." % _test_suites_to_process.size()) + GdUnitSignals.instance().gdunit_event.emit(GdUnitEventTestDiscoverEnd.new(_test_suites_to_process.size(), test_case_count)) + _test_suites_to_process.clear() + ) + # wait unblocked to the tread is finished + while t.is_alive(): + await (Engine.get_main_loop() as SceneTree).process_frame + # needs finally to wait for finish + await t.wait_to_finish() diff --git a/addons/gdUnit4/src/core/event/GdUnitEvent.gd b/addons/gdUnit4/src/core/event/GdUnitEvent.gd index 0f8ad7d..0fd2af2 100644 --- a/addons/gdUnit4/src/core/event/GdUnitEvent.gd +++ b/addons/gdUnit4/src/core/event/GdUnitEvent.gd @@ -3,6 +3,7 @@ extends Resource const WARNINGS = "warnings" const FAILED = "failed" +const FLAKY = "flaky" const ERRORS = "errors" const SKIPPED = "skipped" const ELAPSED_TIME = "elapsed_time" @@ -10,6 +11,7 @@ const ORPHAN_NODES = "orphan_nodes" const ERROR_COUNT = "error_count" const FAILED_COUNT = "failed_count" const SKIPPED_COUNT = "skipped_count" +const RETRY_COUNT = "retry_count" enum { INIT, @@ -18,6 +20,7 @@ enum { TESTSUITE_AFTER, TESTCASE_BEFORE, TESTCASE_AFTER, + TESTCASE_STATISTICS, DISCOVER_START, DISCOVER_END, DISCOVER_SUITE_ADDED, @@ -71,6 +74,15 @@ func test_after(p_resource_path :String, p_suite_name :String, p_test_name :Stri return self +func test_statistics(p_resource_path :String, p_suite_name :String, p_test_name :String, p_statistics :Dictionary = {}) -> GdUnitEvent: + _event_type = TESTCASE_STATISTICS + _resource_path = p_resource_path + _suite_name = p_suite_name + _test_name = p_test_name + _statistics = p_statistics + return self + + func type() -> int: return _event_type @@ -135,6 +147,10 @@ func is_error() -> bool: return _statistics.get(ERRORS, false) +func is_flaky() -> bool: + return _statistics.get(FLAKY, false) + + func is_skipped() -> bool: return _statistics.get(SKIPPED, false) @@ -170,7 +186,8 @@ func deserialize(serialized :Dictionary) -> GdUnitEvent: if serialized.has("reports"): # needs this workaround to copy typed values in the array var reports_to_deserializ :Array[Dictionary] = [] - reports_to_deserializ.append_array(serialized.get("reports")) + @warning_ignore("unsafe_cast") + reports_to_deserializ.append_array(serialized.get("reports") as Array) _reports = _deserialize_reports(reports_to_deserializ) return self diff --git a/addons/gdUnit4/src/core/execution/GdUnitExecutionContext.gd b/addons/gdUnit4/src/core/execution/GdUnitExecutionContext.gd index 25d69b0..0e62682 100644 --- a/addons/gdUnit4/src/core/execution/GdUnitExecutionContext.gd +++ b/addons/gdUnit4/src/core/execution/GdUnitExecutionContext.gd @@ -2,50 +2,65 @@ ## It contains all the necessary information about the executed stage, such as memory observers, reports, orphan monitor class_name GdUnitExecutionContext -var _parent_context :GdUnitExecutionContext -var _sub_context :Array[GdUnitExecutionContext] = [] -var _orphan_monitor :GdUnitOrphanNodesMonitor -var _memory_observer :GdUnitMemoryObserver -var _report_collector :GdUnitTestReportCollector -var _timer :LocalTime +var _parent_context: GdUnitExecutionContext +var _sub_context: Array[GdUnitExecutionContext] = [] +var _orphan_monitor: GdUnitOrphanNodesMonitor +var _memory_observer: GdUnitMemoryObserver +var _report_collector: GdUnitTestReportCollector +var _timer: LocalTime var _test_case_name: StringName -var _name :String +var _test_case_parameter_set: Array +var _name: String +var _test_execution_iteration: int = 0 +var _flaky_test_check := GdUnitSettings.is_test_flaky_check_enabled() +var _flaky_test_retries := GdUnitSettings.get_flaky_max_retries() -var error_monitor : GodotGdErrorMonitor = null: - set (value): - error_monitor = value +# execution states +var _is_calculated := false +var _is_success: bool +var _is_flaky: bool +var _is_skipped: bool +var _has_warnings: bool +var _has_failures: bool +var _has_errors: bool +var _failure_count := 0 +var _orphan_count := 0 +var _error_count := 0 +var _skipped_count := 0 + + +var error_monitor: GodotGdErrorMonitor = null: get: if _parent_context != null: return _parent_context.error_monitor + if error_monitor == null: + error_monitor = GodotGdErrorMonitor.new() return error_monitor -var test_suite : GdUnitTestSuite = null: - set (value): - test_suite = value +var test_suite: GdUnitTestSuite = null: get: if _parent_context != null: return _parent_context.test_suite return test_suite -var test_case : _TestCase = null: +var test_case: _TestCase = null: get: - if _test_case_name.is_empty(): - return null - return test_suite.find_child(_test_case_name, false, false) + if test_case == null and _parent_context != null: + return _parent_context.test_case + return test_case -func _init(name :String, parent_context :GdUnitExecutionContext = null) -> void: +func _init(name: StringName, parent_context: GdUnitExecutionContext = null) -> void: _name = name _parent_context = parent_context _timer = LocalTime.now() _orphan_monitor = GdUnitOrphanNodesMonitor.new(name) _orphan_monitor.start() _memory_observer = GdUnitMemoryObserver.new() - error_monitor = GodotGdErrorMonitor.new() - _report_collector = GdUnitTestReportCollector.new(get_instance_id()) + _report_collector = GdUnitTestReportCollector.new() if parent_context != null: parent_context._sub_context.append(self) @@ -58,40 +73,55 @@ func dispose() -> void: _parent_context = null test_suite = null test_case = null + dispose_sub_contexts() + + +func dispose_sub_contexts() -> void: for context in _sub_context: context.dispose() _sub_context.clear() -func set_active() -> void: - test_suite.__execution_context = self - GdUnitThreadManager.get_current_context().set_execution_context(self) - - -static func of_test_suite(test_suite_ :GdUnitTestSuite) -> GdUnitExecutionContext: - assert(test_suite_, "test_suite is null") - var context := GdUnitExecutionContext.new(test_suite_.get_name()) - context.test_suite = test_suite_ - context.set_active() - return context - - -static func of_test_case(pe :GdUnitExecutionContext, test_case_name :StringName) -> GdUnitExecutionContext: - var context := GdUnitExecutionContext.new(test_case_name, pe) - context._test_case_name = test_case_name - context.set_active() - return context - - -static func of(pe :GdUnitExecutionContext) -> GdUnitExecutionContext: +static func of(pe: GdUnitExecutionContext) -> GdUnitExecutionContext: var context := GdUnitExecutionContext.new(pe._test_case_name, pe) context._test_case_name = pe._test_case_name - context.set_active() + context._test_execution_iteration = pe._test_execution_iteration return context -func test_failed() -> bool: - return has_failures() or has_errors() +static func of_test_suite(p_test_suite: GdUnitTestSuite) -> GdUnitExecutionContext: + assert(p_test_suite, "test_suite is null") + var context := GdUnitExecutionContext.new(p_test_suite.get_name()) + context.test_suite = p_test_suite + return context + + +static func of_test_case(pe: GdUnitExecutionContext, p_test_case: _TestCase) -> GdUnitExecutionContext: + assert(p_test_case, "test_case is null") + var context := GdUnitExecutionContext.new(p_test_case.get_name(), pe) + context.test_case = p_test_case + return context + + +static func of_parameterized_test(pe: GdUnitExecutionContext, test_case_name: String, test_case_parameter_set: Array) -> GdUnitExecutionContext: + var context := GdUnitExecutionContext.new(test_case_name, pe) + context._test_case_name = test_case_name + context._test_case_parameter_set = test_case_parameter_set + return context + + +func get_test_suite_path() -> String: + return test_suite.get_script().resource_path + + +func get_test_suite_name() -> StringName: + return test_suite.get_name() + + +func get_test_case_name() -> StringName: + if _test_case_name.is_empty(): + return test_case.get_name() + return _test_case_name func error_monitor_start() -> void: @@ -102,7 +132,7 @@ func error_monitor_stop() -> void: await error_monitor.scan() for error_report in error_monitor.to_reports(): if error_report.is_error(): - _report_collector._reports.append(error_report) + _report_collector.push_back(error_report) func orphan_monitor_start() -> void: @@ -113,45 +143,164 @@ func orphan_monitor_stop() -> void: _orphan_monitor.stop() +func add_report(report: GdUnitReport) -> void: + _report_collector.push_back(report) + + func reports() -> Array[GdUnitReport]: return _report_collector.reports() -func build_report_statistics(orphans :int, recursive := true) -> Dictionary: +func collect_reports(recursive: bool) -> Array[GdUnitReport]: + if not recursive: + return reports() + var current_reports := reports() + # we combine the reports of test_before(), test_after() and test() to be reported by `fire_test_ended` + for sub_context in _sub_context: + current_reports.append_array(sub_context.reports()) + # needs finally to clean the test reports to avoid counting twice + sub_context.reports().clear() + return current_reports + + +func collect_orphans(p_reports: Array[GdUnitReport]) -> int: + var orphans := 0 + if not _sub_context.is_empty(): + orphans += collect_testcase_orphan_reports(_sub_context[0], p_reports) + orphans += collect_teststage_orphan_reports(p_reports) + return orphans + + +func collect_testcase_orphan_reports(context: GdUnitExecutionContext, p_reports: Array[GdUnitReport]) -> int: + var orphans := context.count_orphans() + if orphans > 0: + p_reports.push_front(GdUnitReport.new()\ + .create(GdUnitReport.WARN, context.test_case.line_number(), GdAssertMessages.orphan_detected_on_test(orphans))) + return orphans + + +func collect_teststage_orphan_reports(p_reports: Array[GdUnitReport]) -> int: + var orphans := count_orphans() + if orphans > 0: + p_reports.push_front(GdUnitReport.new()\ + .create(GdUnitReport.WARN, test_case.line_number(), GdAssertMessages.orphan_detected_on_test_setup(orphans))) + return orphans + + +func build_reports(recursive:= true) -> Array[GdUnitReport]: + var collected_reports: Array[GdUnitReport] = collect_reports(recursive) + if recursive: + _orphan_count = collect_orphans(collected_reports) + else: + _orphan_count = count_orphans() + if _orphan_count > 0: + collected_reports.push_front(GdUnitReport.new() \ + .create(GdUnitReport.WARN, 1, GdAssertMessages.orphan_detected_on_suite_setup(_orphan_count))) + _is_skipped = is_skipped() + _skipped_count = count_skipped(recursive) + _is_success = is_success() + _is_flaky = is_flaky() + _has_warnings = has_warnings() + _has_errors = has_errors() + _error_count = count_errors(recursive) + if !_is_success: + _has_failures = has_failures() + _failure_count = count_failures(recursive) + _is_calculated = true + return collected_reports + + +# Evaluates the actual test case status by validate latest execution state (cold be more based on flaky max retry count) +func evaluate_test_retry_status() -> bool: + # get latest test execution status + var last_test_status :GdUnitExecutionContext = _sub_context.back() + _is_skipped = last_test_status.is_skipped() + _skipped_count = last_test_status.count_skipped(false) + _is_success = last_test_status.is_success() + # if success but it have more than one sub contexts the test was rerurn becouse of failures and will be marked as flaky + _is_flaky = _is_success and _sub_context.size() > 1 + _has_warnings = last_test_status.has_warnings() + _has_errors = last_test_status.has_errors() + _error_count = last_test_status.count_errors(false) + _has_failures = last_test_status.has_failures() + _failure_count = last_test_status.count_failures(false) + _orphan_count = last_test_status.collect_orphans(collect_reports(false)) + _is_calculated = true + # finally cleanup the retry execution contexts + dispose_sub_contexts() + return _is_success + + +func get_execution_statistics() -> Dictionary: return { - GdUnitEvent.ORPHAN_NODES: orphans, + GdUnitEvent.RETRY_COUNT: _test_execution_iteration, + GdUnitEvent.ORPHAN_NODES: _orphan_count, GdUnitEvent.ELAPSED_TIME: _timer.elapsed_since_ms(), - GdUnitEvent.FAILED: has_failures(), - GdUnitEvent.ERRORS: has_errors(), - GdUnitEvent.WARNINGS: has_warnings(), - GdUnitEvent.SKIPPED: has_skipped(), - GdUnitEvent.FAILED_COUNT: count_failures(recursive), - GdUnitEvent.ERROR_COUNT: count_errors(recursive), - GdUnitEvent.SKIPPED_COUNT: count_skipped(recursive) + GdUnitEvent.FAILED: !_is_success, + GdUnitEvent.ERRORS: _has_errors, + GdUnitEvent.WARNINGS: _has_warnings, + GdUnitEvent.FLAKY: _is_flaky, + GdUnitEvent.SKIPPED: _is_skipped, + GdUnitEvent.FAILED_COUNT: _failure_count, + GdUnitEvent.ERROR_COUNT: _error_count, + GdUnitEvent.SKIPPED_COUNT: _skipped_count } func has_failures() -> bool: - return _sub_context.any(func(c :GdUnitExecutionContext) -> bool: - return c.has_failures()) or _report_collector.has_failures() + return ( + _sub_context.any(func(c :GdUnitExecutionContext) -> bool: + return c._has_failures if c._is_calculated else c.has_failures()) + or _report_collector.has_failures() + ) func has_errors() -> bool: - return _sub_context.any(func(c :GdUnitExecutionContext) -> bool: - return c.has_errors()) or _report_collector.has_errors() + return ( + _sub_context.any(func(c :GdUnitExecutionContext) -> bool: + return c._has_errors if c._is_calculated else c.has_errors()) + or _report_collector.has_errors() + ) func has_warnings() -> bool: - return _sub_context.any(func(c :GdUnitExecutionContext) -> bool: - return c.has_warnings()) or _report_collector.has_warnings() + return ( + _sub_context.any(func(c :GdUnitExecutionContext) -> bool: + return c._has_warnings if c._is_calculated else c.has_warnings()) + or _report_collector.has_warnings() + ) -func has_skipped() -> bool: - return _sub_context.any(func(c :GdUnitExecutionContext) -> bool: - return c.has_skipped()) or _report_collector.has_skipped() +func is_flaky() -> bool: + return ( + _sub_context.any(func(c :GdUnitExecutionContext) -> bool: + return c._is_flaky if c._is_calculated else c.is_flaky()) + or _test_execution_iteration > 1 + ) -func count_failures(recursive :bool) -> int: +func is_success() -> bool: + if _sub_context.is_empty(): + return not has_failures() + + var failed_context := _sub_context.filter(func(c :GdUnitExecutionContext) -> bool: + return !(c._is_success if c._is_calculated else c.is_success())) + return failed_context.is_empty() and not has_failures() + + +func is_skipped() -> bool: + return ( + _sub_context.any(func(c :GdUnitExecutionContext) -> bool: + return c._is_skipped if c._is_calculated else c.is_skipped()) + or test_case.is_skipped() if test_case != null else false + ) + + +func is_interupted() -> bool: + return false if test_case == null else test_case.is_interupted() + + +func count_failures(recursive: bool) -> int: if not recursive: return _report_collector.count_failures() return _sub_context\ @@ -159,7 +308,7 @@ func count_failures(recursive :bool) -> int: return c.count_failures(recursive)).reduce(sum, _report_collector.count_failures()) -func count_errors(recursive :bool) -> int: +func count_errors(recursive: bool) -> int: if not recursive: return _report_collector.count_errors() return _sub_context\ @@ -167,7 +316,7 @@ func count_errors(recursive :bool) -> int: return c.count_errors(recursive)).reduce(sum, _report_collector.count_errors()) -func count_skipped(recursive :bool) -> int: +func count_skipped(recursive: bool) -> int: if not recursive: return _report_collector.count_skipped() return _sub_context\ @@ -182,15 +331,24 @@ func count_orphans() -> int: return _orphan_monitor.orphan_nodes() - orphans -func sum(accum :int, number :int) -> int: +func sum(accum: int, number: int) -> int: return accum + number -func register_auto_free(obj :Variant) -> Variant: +func retry_execution() -> bool: + var retry := _test_execution_iteration < 1 if not _flaky_test_check else _test_execution_iteration < _flaky_test_retries + if retry: + _test_execution_iteration += 1 + return retry + + +func register_auto_free(obj: Variant) -> Variant: return _memory_observer.register_auto_free(obj) ## Runs the gdunit garbage collector to free registered object func gc() -> void: + # unreference last used assert form the test to prevent memory leaks + GdUnitThreadManager.get_current_context().clear_assert() await _memory_observer.gc() orphan_monitor_stop() diff --git a/addons/gdUnit4/src/core/execution/GdUnitMemoryObserver.gd b/addons/gdUnit4/src/core/execution/GdUnitMemoryObserver.gd index 69b15f8..274b66f 100644 --- a/addons/gdUnit4/src/core/execution/GdUnitMemoryObserver.gd +++ b/addons/gdUnit4/src/core/execution/GdUnitMemoryObserver.gd @@ -18,6 +18,7 @@ func register_auto_free(obj :Variant) -> Variant: if not is_instance_valid(obj): return obj # do not register on GDScriptNativeClass + @warning_ignore("unsafe_cast") if typeof(obj) == TYPE_OBJECT and (obj as Object).is_class("GDScriptNativeClass") : return obj #if obj is GDScript or obj is ScriptExtension: @@ -41,6 +42,7 @@ static func _is_instance_guard_enabled() -> bool: return false +@warning_ignore("unsafe_method_access") static func debug_observe(name :String, obj :Object, indent :int = 0) -> void: if not _show_debug: return @@ -54,7 +56,7 @@ static func debug_observe(name :String, obj :Object, indent :int = 0) -> void: prints(name, obj, obj.get_class(), obj.get_name()) -static func guard_instance(obj :Object) -> Object: +static func guard_instance(obj :Object) -> void: if not _is_instance_guard_enabled(): return var tag := TAG_OBSERVE_INSTANCE + str(abs(obj.get_instance_id())) @@ -62,7 +64,6 @@ static func guard_instance(obj :Object) -> Object: return debug_observe("Gard on instance", obj) Engine.set_meta(tag, obj) - return obj static func unguard_instance(obj :Object, verbose := true) -> void: @@ -78,7 +79,7 @@ static func unguard_instance(obj :Object, verbose := true) -> void: static func gc_guarded_instance(name :String, instance :Object) -> void: if not _is_instance_guard_enabled(): return - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame unguard_instance(instance, false) if is_instance_valid(instance) and instance is RefCounted: # finally do this very hacky stuff @@ -90,8 +91,8 @@ static func gc_guarded_instance(name :String, instance :Object) -> void: # if base_script: # base_script.unreference() debug_observe(name, instance) - instance.unreference() - await Engine.get_main_loop().process_frame + (instance as RefCounted).unreference() + await (Engine.get_main_loop() as SceneTree).process_frame static func gc_on_guarded_instances() -> void: @@ -106,7 +107,7 @@ static func gc_on_guarded_instances() -> void: # store the object into global store aswell to be verified by 'is_marked_auto_free' func _tag_object(obj :Variant) -> void: - var tagged_object := Engine.get_meta(TAG_AUTO_FREE, []) as Array + var tagged_object: Array = Engine.get_meta(TAG_AUTO_FREE, []) tagged_object.append(obj) Engine.set_meta(TAG_AUTO_FREE, tagged_object) @@ -116,16 +117,18 @@ func gc() -> void: if _store.is_empty(): return # give engine time to free objects to process objects marked by queue_free() - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame if _is_stdout_verbose: print_verbose("GdUnit4:gc():running", " freeing %d objects .." % _store.size()) - var tagged_objects := Engine.get_meta(TAG_AUTO_FREE, []) as Array + var tagged_objects: Array = Engine.get_meta(TAG_AUTO_FREE, []) while not _store.is_empty(): var value :Variant = _store.pop_front() tagged_objects.erase(value) await GdUnitTools.free_instance(value, _is_stdout_verbose) + assert(_store.is_empty(), "The memory observer has still entries in the store!") ## Checks whether the specified object is registered for automatic release -static func is_marked_auto_free(obj :Object) -> bool: - return Engine.get_meta(TAG_AUTO_FREE, []).has(obj) +static func is_marked_auto_free(obj: Variant) -> bool: + var tagged_objects: Array = Engine.get_meta(TAG_AUTO_FREE, []) + return tagged_objects.has(obj) diff --git a/addons/gdUnit4/src/core/execution/GdUnitTestReportCollector.gd b/addons/gdUnit4/src/core/execution/GdUnitTestReportCollector.gd index 8484f0d..62c4b02 100644 --- a/addons/gdUnit4/src/core/execution/GdUnitTestReportCollector.gd +++ b/addons/gdUnit4/src/core/execution/GdUnitTestReportCollector.gd @@ -3,7 +3,6 @@ class_name GdUnitTestReportCollector extends RefCounted -var _execution_context_id :int var _reports :Array[GdUnitReport] = [] @@ -23,11 +22,6 @@ static func __filter_is_skipped(report :GdUnitReport) -> bool: return report.is_skipped() -func _init(execution_context_id :int) -> void: - _execution_context_id = execution_context_id - GdUnitSignals.instance().gdunit_report.connect(on_reports) - - func count_failures() -> int: return _reports.filter(__filter_is_failure).size() @@ -64,7 +58,5 @@ func reports() -> Array[GdUnitReport]: return _reports -# Consumes reports emitted by tests -func on_reports(execution_context_id :int, report :GdUnitReport) -> void: - if execution_context_id == _execution_context_id: - _reports.append(report) +func push_back(report :GdUnitReport) -> void: + _reports.push_back(report) diff --git a/addons/gdUnit4/src/core/execution/GdUnitTestSuiteExecutor.gd b/addons/gdUnit4/src/core/execution/GdUnitTestSuiteExecutor.gd index c919469..0dd0ba0 100644 --- a/addons/gdUnit4/src/core/execution/GdUnitTestSuiteExecutor.gd +++ b/addons/gdUnit4/src/core/execution/GdUnitTestSuiteExecutor.gd @@ -5,7 +5,7 @@ class_name GdUnitTestSuiteExecutor # preload all asserts here @warning_ignore("unused_private_class_variable") var _assertions := GdUnitAssertions.new() -var _executeStage :IGdUnitExecutionStage = GdUnitTestSuiteExecutionStage.new() +var _executeStage := GdUnitTestSuiteExecutionStage.new() func _init(debug_mode :bool = false) -> void: @@ -17,8 +17,8 @@ func execute(test_suite :GdUnitTestSuite) -> void: if not orphan_detection_enabled: prints("!!! Reporting orphan nodes is disabled. Please check GdUnit settings.") - Engine.get_main_loop().root.call_deferred("add_child", test_suite) - await Engine.get_main_loop().process_frame + (Engine.get_main_loop() as SceneTree).root.call_deferred("add_child", test_suite) + await (Engine.get_main_loop() as SceneTree).process_frame await _executeStage.execute(GdUnitExecutionContext.of_test_suite(test_suite)) diff --git a/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseAfterStage.gd b/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseAfterStage.gd index 5069975..461fb13 100644 --- a/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseAfterStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseAfterStage.gd @@ -4,86 +4,38 @@ class_name GdUnitTestCaseAfterStage extends IGdUnitExecutionStage -var _test_name :StringName = "" -var _call_stage :bool +var _call_stage: bool func _init(call_stage := true) -> void: _call_stage = call_stage -func _execute(context :GdUnitExecutionContext) -> void: +func _execute(context: GdUnitExecutionContext) -> void: var test_suite := context.test_suite + if _call_stage: @warning_ignore("redundant_await") await test_suite.after_test() - # unreference last used assert form the test to prevent memory leaks - GdUnitThreadManager.get_current_context().set_assert(null) + await context.gc() await context.error_monitor_stop() - if context.test_case.is_skipped(): + + var reports := context.build_reports() + + if context.is_skipped(): fire_test_skipped(context) else: - fire_test_ended(context) - if is_instance_valid(context.test_case): - context.test_case.dispose() + fire_event(GdUnitEvent.new() \ + .test_after(context.get_test_suite_path(), + context.get_test_suite_name(), + context.get_test_case_name(), + context.get_execution_statistics(), + reports)) -func set_test_name(test_name :StringName) -> void: - _test_name = test_name - - -func fire_test_ended(context :GdUnitExecutionContext) -> void: - var test_suite := context.test_suite - var test_name := context._test_case_name if _test_name.is_empty() else _test_name - var reports := collect_reports(context) - var orphans := collect_orphans(context, reports) - - fire_event(GdUnitEvent.new()\ - .test_after(test_suite.get_script().resource_path, test_suite.get_name(), test_name, context.build_report_statistics(orphans), reports)) - - -func collect_orphans(context :GdUnitExecutionContext, reports :Array[GdUnitReport]) -> int: - var orphans := 0 - if not context._sub_context.is_empty(): - orphans += add_orphan_report_test(context._sub_context[0], reports) - orphans += add_orphan_report_teststage(context, reports) - return orphans - - -func collect_reports(context :GdUnitExecutionContext) -> Array[GdUnitReport]: - var reports := context.reports() +func fire_test_skipped(context: GdUnitExecutionContext) -> void: var test_case := context.test_case - if test_case.is_interupted() and not test_case.is_expect_interupted() and test_case.report() != null: - reports.push_back(test_case.report()) - # we combine the reports of test_before(), test_after() and test() to be reported by `fire_test_ended` - if not context._sub_context.is_empty(): - reports.append_array(context._sub_context[0].reports()) - # needs finally to clean the test reports to avoid counting twice - context._sub_context[0].reports().clear() - return reports - - -func add_orphan_report_test(context :GdUnitExecutionContext, reports :Array[GdUnitReport]) -> int: - var orphans := context.count_orphans() - if orphans > 0: - reports.push_front(GdUnitReport.new()\ - .create(GdUnitReport.WARN, context.test_case.line_number(), GdAssertMessages.orphan_detected_on_test(orphans))) - return orphans - - -func add_orphan_report_teststage(context :GdUnitExecutionContext, reports :Array[GdUnitReport]) -> int: - var orphans := context.count_orphans() - if orphans > 0: - reports.push_front(GdUnitReport.new()\ - .create(GdUnitReport.WARN, context.test_case.line_number(), GdAssertMessages.orphan_detected_on_test_setup(orphans))) - return orphans - - -func fire_test_skipped(context :GdUnitExecutionContext) -> void: - var test_suite := context.test_suite - var test_case := context.test_case - var test_case_name := context._test_case_name if _test_name.is_empty() else _test_name var statistics := { GdUnitEvent.ORPHAN_NODES: 0, GdUnitEvent.ELAPSED_TIME: 0, @@ -95,6 +47,11 @@ func fire_test_skipped(context :GdUnitExecutionContext) -> void: GdUnitEvent.SKIPPED: true, GdUnitEvent.SKIPPED_COUNT: 1, } - var report := GdUnitReport.new().create(GdUnitReport.SKIPPED, test_case.line_number(), GdAssertMessages.test_skipped(test_case.skip_info())) - fire_event(GdUnitEvent.new()\ - .test_after(test_suite.get_script().resource_path, test_suite.get_name(), test_case_name, statistics, [report])) + var report := GdUnitReport.new() \ + .create(GdUnitReport.SKIPPED, test_case.line_number(), GdAssertMessages.test_skipped(test_case.skip_info())) + fire_event(GdUnitEvent.new() \ + .test_after(context.get_test_suite_path(), + context.get_test_suite_name(), + context.get_test_case_name(), + statistics, + [report])) diff --git a/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseBeforeStage.gd b/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseBeforeStage.gd index ebbd6d5..82e90d4 100644 --- a/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseBeforeStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseBeforeStage.gd @@ -3,8 +3,6 @@ class_name GdUnitTestCaseBeforeStage extends IGdUnitExecutionStage - -var _test_name :StringName = "" var _call_stage :bool @@ -14,16 +12,10 @@ func _init(call_stage := true) -> void: func _execute(context :GdUnitExecutionContext) -> void: var test_suite := context.test_suite - var test_case_name := context._test_case_name if _test_name.is_empty() else _test_name fire_event(GdUnitEvent.new()\ - .test_before(test_suite.get_script().resource_path, test_suite.get_name(), test_case_name)) - + .test_before(context.get_test_suite_path(), context.get_test_suite_name(), context.get_test_case_name())) if _call_stage: @warning_ignore("redundant_await") await test_suite.before_test() context.error_monitor_start() - - -func set_test_name(test_name :StringName) -> void: - _test_name = test_name diff --git a/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseExecutionStage.gd b/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseExecutionStage.gd index 148d9af..853070d 100644 --- a/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseExecutionStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/GdUnitTestCaseExecutionStage.gd @@ -16,6 +16,9 @@ var _stage_parameterized_test :IGdUnitExecutionStage= GdUnitTestCaseParameterize @warning_ignore("redundant_await") func _execute(context :GdUnitExecutionContext) -> void: var test_case := context.test_case + + context.error_monitor_start() + if test_case.is_parameterized(): await _stage_parameterized_test.execute(context) elif test_case.is_fuzzed(): @@ -23,6 +26,20 @@ func _execute(context :GdUnitExecutionContext) -> void: else: await _stage_single_test.execute(context) + await context.gc() + await context.error_monitor_stop() + + # finally fire test statistics report + fire_event(GdUnitEvent.new()\ + .test_statistics(context.get_test_suite_path(), + context.get_test_suite_name(), + context.get_test_case_name(), + context.get_execution_statistics())) + + # finally free the test instance + if is_instance_valid(context.test_case): + context.test_case.dispose() + func set_debug_mode(debug_mode :bool = false) -> void: super.set_debug_mode(debug_mode) diff --git a/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteAfterStage.gd b/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteAfterStage.gd index a6de318..a0f8ef1 100644 --- a/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteAfterStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteAfterStage.gd @@ -12,17 +12,16 @@ func _execute(context :GdUnitExecutionContext) -> void: @warning_ignore("redundant_await") await test_suite.after() - # unreference last used assert form the test to prevent memory leaks - GdUnitThreadManager.get_current_context().set_assert(null) await context.gc() - - var reports := context.reports() - var orphans := context.count_orphans() - if orphans > 0: - reports.push_front(GdUnitReport.new() \ - .create(GdUnitReport.WARN, 1, GdAssertMessages.orphan_detected_on_suite_setup(orphans))) - fire_event(GdUnitEvent.new().suite_after(test_suite.get_script().resource_path, test_suite.get_name(), context.build_report_statistics(orphans, false), reports)) + var reports := context.build_reports(false) + fire_event(GdUnitEvent.new()\ + .suite_after(context.get_test_suite_path(),\ + test_suite.get_name(), + context.get_execution_statistics(), + reports)) GdUnitFileAccess.clear_tmp() # Guard that checks if all doubled (spy/mock) objects are released GdUnitClassDoubler.check_leaked_instances() + # we hide the scene/main window after runner is finished + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MINIMIZED) diff --git a/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteBeforeStage.gd b/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteBeforeStage.gd index 2260edb..e9fa718 100644 --- a/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteBeforeStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteBeforeStage.gd @@ -8,7 +8,7 @@ func _execute(context :GdUnitExecutionContext) -> void: var test_suite := context.test_suite fire_event(GdUnitEvent.new()\ - .suite_before(test_suite.get_script().resource_path, test_suite.get_name(), test_suite.get_child_count())) + .suite_before(context.get_test_suite_path(), test_suite.get_name(), test_suite.get_child_count())) @warning_ignore("redundant_await") await test_suite.before() diff --git a/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteExecutionStage.gd b/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteExecutionStage.gd index ba22391..b62d27e 100644 --- a/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteExecutionStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/GdUnitTestSuiteExecutionStage.gd @@ -19,6 +19,7 @@ func _execute(context :GdUnitExecutionContext) -> void: if context.test_suite.__is_skipped: await fire_test_suite_skipped(context) else: + @warning_ignore("return_value_discarded") GdUnitMemoryObserver.guard_instance(context.test_suite.__awaiter) await _stage_before.execute(context) for test_case_index in context.test_suite.get_child_count(): @@ -27,9 +28,9 @@ func _execute(context :GdUnitExecutionContext) -> void: if not is_instance_valid(test_case): continue context.test_suite.set_active_test_case(test_case.get_name()) - await _stage_test.execute(GdUnitExecutionContext.of_test_case(context, test_case.get_name())) + await _stage_test.execute(GdUnitExecutionContext.of_test_case(context, test_case)) # stop on first error or if fail fast is enabled - if _fail_fast and context.test_failed(): + if _fail_fast and not context.is_success(): break if test_case.is_interupted(): # it needs to go this hard way to kill the outstanding awaits of a test case when the test timed out @@ -38,14 +39,14 @@ func _execute(context :GdUnitExecutionContext) -> void: context.test_suite = await clone_test_suite(context.test_suite) await _stage_after.execute(context) GdUnitMemoryObserver.unguard_instance(context.test_suite.__awaiter) - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame context.test_suite.free() context.dispose() # clones a test suite and moves the test cases to new instance func clone_test_suite(test_suite :GdUnitTestSuite) -> GdUnitTestSuite: - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame dispose_timers(test_suite) await GdUnitMemoryObserver.gc_guarded_instance("Manually free on awaiter", test_suite.__awaiter) var parent := test_suite.get_parent() @@ -56,10 +57,11 @@ func clone_test_suite(test_suite :GdUnitTestSuite) -> GdUnitTestSuite: test_suite.remove_child(child) _test_suite.add_child(child) parent.add_child(_test_suite) + @warning_ignore("return_value_discarded") GdUnitMemoryObserver.guard_instance(_test_suite.__awaiter) # finally free current test suite instance test_suite.free() - await Engine.get_main_loop().process_frame + await (Engine.get_main_loop() as SceneTree).process_frame return _test_suite @@ -67,7 +69,7 @@ func dispose_timers(test_suite :GdUnitTestSuite) -> void: GdUnitTools.release_timers() for child in test_suite.get_children(): if child is Timer: - child.stop() + (child as Timer).stop() test_suite.remove_child(child) child.free() @@ -86,7 +88,20 @@ func fire_test_suite_skipped(context :GdUnitExecutionContext) -> void: var test_suite := context.test_suite var skip_count := test_suite.get_child_count() fire_event(GdUnitEvent.new()\ - .suite_before(test_suite.get_script().resource_path, test_suite.get_name(), skip_count)) + .suite_before(context.get_test_suite_path(), test_suite.get_name(), skip_count)) + + + for test_case_index in context.test_suite.get_child_count(): + # iterate only over test cases + var test_case := context.test_suite.get_child(test_case_index) as _TestCase + if not is_instance_valid(test_case): + continue + var test_case_context := GdUnitExecutionContext.of_test_case(context, test_case) + fire_event(GdUnitEvent.new()\ + .test_before(test_case_context.get_test_suite_path(), test_case_context.get_test_suite_name(), test_case_context.get_test_case_name())) + fire_test_skipped(test_case_context) + + var statistics := { GdUnitEvent.ORPHAN_NODES: 0, GdUnitEvent.ELAPSED_TIME: 0, @@ -99,8 +114,37 @@ func fire_test_suite_skipped(context :GdUnitExecutionContext) -> void: GdUnitEvent.SKIPPED: true } var report := GdUnitReport.new().create(GdUnitReport.SKIPPED, -1, GdAssertMessages.test_suite_skipped(test_suite.__skip_reason, skip_count)) - fire_event(GdUnitEvent.new().suite_after(test_suite.get_script().resource_path, test_suite.get_name(), statistics, [report])) - await Engine.get_main_loop().process_frame + fire_event(GdUnitEvent.new().suite_after(context.get_test_suite_path(), test_suite.get_name(), statistics, [report])) + await (Engine.get_main_loop() as SceneTree).process_frame + + +func fire_test_skipped(context: GdUnitExecutionContext) -> void: + var test_case := context.test_case + var statistics := { + GdUnitEvent.ORPHAN_NODES: 0, + GdUnitEvent.ELAPSED_TIME: 0, + GdUnitEvent.WARNINGS: false, + GdUnitEvent.ERRORS: false, + GdUnitEvent.ERROR_COUNT: 0, + GdUnitEvent.FAILED: false, + GdUnitEvent.FAILED_COUNT: 0, + GdUnitEvent.SKIPPED: true, + GdUnitEvent.SKIPPED_COUNT: 1, + } + var report := GdUnitReport.new() \ + .create(GdUnitReport.SKIPPED, test_case.line_number(), GdAssertMessages.test_skipped("Skipped from the entire test suite")) + fire_event(GdUnitEvent.new() \ + .test_after(context.get_test_suite_path(), + context.get_test_suite_name(), + context.get_test_case_name(), + statistics, + [report])) + # finally fire test statistics report + fire_event(GdUnitEvent.new()\ + .test_statistics(context.get_test_suite_path(), + context.get_test_suite_name(), + context.get_test_case_name(), + statistics)) func set_debug_mode(debug_mode :bool = false) -> void: diff --git a/addons/gdUnit4/src/core/execution/stages/IGdUnitExecutionStage.gd b/addons/gdUnit4/src/core/execution/stages/IGdUnitExecutionStage.gd index 0f6ae93..39de380 100644 --- a/addons/gdUnit4/src/core/execution/stages/IGdUnitExecutionStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/IGdUnitExecutionStage.gd @@ -14,7 +14,7 @@ var _debug_mode := false ## await MyExecutionStage.new().execute() ## [/codeblock][br] func execute(context :GdUnitExecutionContext) -> void: - context.set_active() + GdUnitThreadManager.get_current_context().set_execution_context(context) @warning_ignore("redundant_await") await _execute(context) diff --git a/addons/gdUnit4/src/core/execution/stages/fuzzed/GdUnitTestCaseFuzzedExecutionStage.gd b/addons/gdUnit4/src/core/execution/stages/fuzzed/GdUnitTestCaseFuzzedExecutionStage.gd index d438b57..243b889 100644 --- a/addons/gdUnit4/src/core/execution/stages/fuzzed/GdUnitTestCaseFuzzedExecutionStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/fuzzed/GdUnitTestCaseFuzzedExecutionStage.gd @@ -8,10 +8,16 @@ var _stage_test :IGdUnitExecutionStage = GdUnitTestCaseFuzzedTestStage.new() func _execute(context :GdUnitExecutionContext) -> void: - await _stage_before.execute(context) - if not context.test_case.is_skipped(): - await _stage_test.execute(GdUnitExecutionContext.of(context)) - await _stage_after.execute(context) + while context.retry_execution(): + var test_context := GdUnitExecutionContext.of(context) + await _stage_before.execute(test_context) + if not context.test_case.is_skipped(): + await _stage_test.execute(GdUnitExecutionContext.of(test_context)) + await _stage_after.execute(test_context) + if test_context.is_success() or test_context.is_skipped() or test_context.is_interupted(): + break + @warning_ignore("return_value_discarded") + context.evaluate_test_retry_status() func set_debug_mode(debug_mode :bool = false) -> void: diff --git a/addons/gdUnit4/src/core/execution/stages/fuzzed/GdUnitTestCaseFuzzedTestStage.gd b/addons/gdUnit4/src/core/execution/stages/fuzzed/GdUnitTestCaseFuzzedTestStage.gd index e6d9852..d32c28e 100644 --- a/addons/gdUnit4/src/core/execution/stages/fuzzed/GdUnitTestCaseFuzzedTestStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/fuzzed/GdUnitTestCaseFuzzedTestStage.gd @@ -15,6 +15,7 @@ func _execute(context :GdUnitExecutionContext) -> void: # guard on fuzzers for fuzzer in fuzzers: + @warning_ignore("return_value_discarded") GdUnitMemoryObserver.guard_instance(fuzzer) for iteration in test_case.iterations(): @@ -46,7 +47,8 @@ func create_fuzzers(test_suite :GdUnitTestSuite, test_case :_TestCase) -> Array[ test_case.generate_seed() var fuzzers :Array[Fuzzer] = [] for fuzzer_arg in test_case.fuzzer_arguments(): - var fuzzer := _expression_runner.to_fuzzer(test_suite.get_script(), fuzzer_arg.value_as_string()) + @warning_ignore("unsafe_cast") + var fuzzer := _expression_runner.to_fuzzer(test_suite.get_script() as GDScript, fuzzer_arg.plain_value() as String) fuzzer._iteration_index = 0 fuzzer._iteration_limit = test_case.iterations() fuzzers.append(fuzzer) diff --git a/addons/gdUnit4/src/core/execution/stages/parameterized/GdUnitTestCaseParameterSetTestStage.gd b/addons/gdUnit4/src/core/execution/stages/parameterized/GdUnitTestCaseParameterSetTestStage.gd new file mode 100644 index 0000000..5de35c0 --- /dev/null +++ b/addons/gdUnit4/src/core/execution/stages/parameterized/GdUnitTestCaseParameterSetTestStage.gd @@ -0,0 +1,10 @@ +class_name GdUnitTestCaseParameterSetTestStage +extends IGdUnitExecutionStage + + +## Executes a parameterized test case 'test_()' by given parameters.[br] +## It executes synchronized following stages[br] +## -> test_case() [br] +func _execute(context: GdUnitExecutionContext) -> void: + await context.test_case.execute_paramaterized(context._test_case_parameter_set) + await context.gc() diff --git a/addons/gdUnit4/src/core/execution/stages/parameterized/GdUnitTestCaseParameterizedTestStage.gd b/addons/gdUnit4/src/core/execution/stages/parameterized/GdUnitTestCaseParameterizedTestStage.gd index 99d616e..820a9d9 100644 --- a/addons/gdUnit4/src/core/execution/stages/parameterized/GdUnitTestCaseParameterizedTestStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/parameterized/GdUnitTestCaseParameterizedTestStage.gd @@ -4,6 +4,7 @@ extends IGdUnitExecutionStage var _stage_before: IGdUnitExecutionStage = GdUnitTestCaseBeforeStage.new() var _stage_after: IGdUnitExecutionStage = GdUnitTestCaseAfterStage.new() +var _stage_test: IGdUnitExecutionStage = GdUnitTestCaseParameterSetTestStage.new() ## Executes a parameterized test case.[br] @@ -12,9 +13,6 @@ var _stage_after: IGdUnitExecutionStage = GdUnitTestCaseAfterStage.new() func _execute(context: GdUnitExecutionContext) -> void: var test_case := context.test_case var test_parameter_index := test_case.test_parameter_index() - var is_fail := false - var is_error := false - var failing_index := 0 var parameter_set_resolver := test_case.parameter_set_resolver() var test_names := parameter_set_resolver.build_test_case_names(test_case) @@ -28,44 +26,55 @@ func _execute(context: GdUnitExecutionContext) -> void: if test_parameter_index != -1 and test_parameter_index != parameter_set_index: continue var current_test_case_name := test_names[parameter_set_index] - _stage_before.set_test_name(current_test_case_name) - _stage_after.set_test_name(current_test_case_name) + var test_case_parameter_set: Array + if parameter_set_resolver.is_parameter_set_static(parameter_set_index): + test_case_parameter_set = parameter_sets[parameter_set_index] var test_context := GdUnitExecutionContext.of(context) - await _stage_before.execute(test_context) - var current_parameter_set :Array - if parameter_set_resolver.is_parameter_set_static(parameter_set_index): - current_parameter_set = parameter_sets[parameter_set_index] - else: - current_parameter_set = _load_parameter_set(context, parameter_set_index) - if not test_case.is_interupted(): - await test_case.execute_paramaterized(current_parameter_set) - await _stage_after.execute(test_context) - # we need to clean up the reports here so they are not reported twice - is_fail = is_fail or test_context.count_failures(false) > 0 - is_error = is_error or test_context.count_errors(false) > 0 - failing_index = parameter_set_index - 1 - test_context.reports().clear() + test_context._test_case_name = current_test_case_name + var has_errors := false + while test_context.retry_execution(): + var retry_test_context := GdUnitExecutionContext.of(test_context) + + retry_test_context._test_case_name = current_test_case_name + await _stage_before.execute(retry_test_context) + if not test_case.is_interupted(): + # we need to load paramater set at execution level after the before stage to get the actual variables from the current test + if not parameter_set_resolver.is_parameter_set_static(parameter_set_index): + test_case_parameter_set = _load_parameter_set(context, parameter_set_index) + await _stage_test.execute(GdUnitExecutionContext.of_parameterized_test(retry_test_context, current_test_case_name, test_case_parameter_set)) + await _stage_after.execute(retry_test_context) + has_errors = retry_test_context.has_errors() + if retry_test_context.is_success() or retry_test_context.is_skipped() or retry_test_context.is_interupted(): + break + + var is_success := test_context.evaluate_test_retry_status() + report_test_failure(context, !is_success, has_errors, parameter_set_index) + if test_case.is_interupted(): break - # add report to parent execution context if failed or an error is found - if is_fail: - context.reports().append(GdUnitReport.new().create(GdUnitReport.FAILURE, test_case.line_number(), "Test failed at parameterized index %d." % failing_index)) - if is_error: - context.reports().append(GdUnitReport.new().create(GdUnitReport.ABORT, test_case.line_number(), "Test aborted at parameterized index %d." % failing_index)) await context.gc() +func report_test_failure(test_context: GdUnitExecutionContext, is_failed: bool, has_errors: bool, parameter_set_index: int) -> void: + var test_case := test_context.test_case + + if is_failed: + test_context.add_report(GdUnitReport.new().create(GdUnitReport.FAILURE, test_case.line_number(), "Test failed at parameterized index %d." % parameter_set_index)) + if has_errors: + test_context.add_report(GdUnitReport.new().create(GdUnitReport.ABORT, test_case.line_number(), "Test aborted at parameterized index %d." % parameter_set_index)) + + func _load_parameter_set(context: GdUnitExecutionContext, parameter_set_index: int) -> Array: var test_case := context.test_case - var test_suite := context.test_suite # we need to exchange temporary for parameter resolving the execution context # this is necessary because of possible usage of `auto_free` and needs to run in the parent execution context - var save_execution_context: GdUnitExecutionContext = test_suite.__execution_context - context.set_active() + var thread_context := GdUnitThreadManager.get_current_context() + var save_execution_context := thread_context.get_execution_context() + thread_context.set_execution_context(context) var parameters := test_case.load_parameter_sets() # restore the original execution context and restart the orphan monitor to get new instances into account - save_execution_context.set_active() + thread_context.set_execution_context(save_execution_context) save_execution_context.orphan_monitor_start() return parameters[parameter_set_index] @@ -74,3 +83,4 @@ func set_debug_mode(debug_mode: bool=false) -> void: super.set_debug_mode(debug_mode) _stage_before.set_debug_mode(debug_mode) _stage_after.set_debug_mode(debug_mode) + _stage_test.set_debug_mode(debug_mode) diff --git a/addons/gdUnit4/src/core/execution/stages/single/GdUnitTestCaseSingleExecutionStage.gd b/addons/gdUnit4/src/core/execution/stages/single/GdUnitTestCaseSingleExecutionStage.gd index b54d6a5..775b8db 100644 --- a/addons/gdUnit4/src/core/execution/stages/single/GdUnitTestCaseSingleExecutionStage.gd +++ b/addons/gdUnit4/src/core/execution/stages/single/GdUnitTestCaseSingleExecutionStage.gd @@ -9,10 +9,16 @@ var _stage_test :IGdUnitExecutionStage = GdUnitTestCaseSingleTestStage.new() func _execute(context :GdUnitExecutionContext) -> void: - await _stage_before.execute(context) - if not context.test_case.is_skipped(): - await _stage_test.execute(GdUnitExecutionContext.of(context)) - await _stage_after.execute(context) + while context.retry_execution(): + var test_context := GdUnitExecutionContext.of(context) + await _stage_before.execute(test_context) + if not test_context.is_skipped(): + await _stage_test.execute(GdUnitExecutionContext.of(test_context)) + await _stage_after.execute(test_context) + if test_context.is_success() or test_context.is_skipped() or test_context.is_interupted(): + break + @warning_ignore("return_value_discarded") + context.evaluate_test_retry_status() func set_debug_mode(debug_mode :bool = false) -> void: diff --git a/addons/gdUnit4/src/core/parse/GdClassDescriptor.gd b/addons/gdUnit4/src/core/parse/GdClassDescriptor.gd index 87b1aeb..fc83742 100644 --- a/addons/gdUnit4/src/core/parse/GdClassDescriptor.gd +++ b/addons/gdUnit4/src/core/parse/GdClassDescriptor.gd @@ -3,7 +3,6 @@ extends RefCounted var _name :String -var _parent :GdClassDescriptor = null var _is_inner_class :bool var _functions :Array[GdFunctionDescriptor] @@ -14,18 +13,10 @@ func _init(p_name :String, p_is_inner_class :bool, p_functions :Array[GdFunction _functions = p_functions -func set_parent_clazz(p_parent :GdClassDescriptor) -> void: - _parent = p_parent - - func name() -> String: return _name -func parent() -> GdClassDescriptor: - return _parent - - func is_inner_class() -> bool: return _is_inner_class diff --git a/addons/gdUnit4/src/core/parse/GdDefaultValueDecoder.gd b/addons/gdUnit4/src/core/parse/GdDefaultValueDecoder.gd index b504530..33022fd 100644 --- a/addons/gdUnit4/src/core/parse/GdDefaultValueDecoder.gd +++ b/addons/gdUnit4/src/core/parse/GdDefaultValueDecoder.gd @@ -21,6 +21,7 @@ var _decoders := { TYPE_PACKED_COLOR_ARRAY: _on_type_Array.bind(TYPE_PACKED_COLOR_ARRAY), TYPE_PACKED_VECTOR2_ARRAY: _on_type_Array.bind(TYPE_PACKED_VECTOR2_ARRAY), TYPE_PACKED_VECTOR3_ARRAY: _on_type_Array.bind(TYPE_PACKED_VECTOR3_ARRAY), + GdObjects.TYPE_PACKED_VECTOR4_ARRAY: _on_type_Array.bind(GdObjects.TYPE_PACKED_VECTOR4_ARRAY), TYPE_DICTIONARY: _on_type_Dictionary, TYPE_RID: _on_type_RID, TYPE_NODE_PATH: _on_type_NodePath, @@ -63,11 +64,11 @@ func _on_type_StringName(value :StringName) -> String: return 'StringName("%s")' % value -func _on_type_Object(value :Object, type :int) -> String: +func _on_type_Object(value: Variant, _type: int) -> String: return str(value) -func _on_type_Color(color :Color) -> String: +func _on_type_Color(color: Color) -> String: if color == Color.BLACK: return "Color()" return "Color%s" % color @@ -79,11 +80,11 @@ func _on_type_NodePath(path :NodePath) -> String: return 'NodePath("%s")' % path -func _on_type_Callable(cb :Callable) -> String: +func _on_type_Callable(_cb :Callable) -> String: return 'Callable()' -func _on_type_Signal(s :Signal) -> String: +func _on_type_Signal(_s :Signal) -> String: return 'Signal()' @@ -100,7 +101,8 @@ func _on_type_Array(value :Variant, type :int) -> String: TYPE_PACKED_COLOR_ARRAY: var colors := PackedStringArray() - for color in value as PackedColorArray: + for color: Color in value: + @warning_ignore("return_value_discarded") colors.append(_on_type_Color(color)) if colors.is_empty(): return "PackedColorArray()" @@ -108,7 +110,8 @@ func _on_type_Array(value :Variant, type :int) -> String: TYPE_PACKED_VECTOR2_ARRAY: var vectors := PackedStringArray() - for vector in value as PackedVector2Array: + for vector: Vector2 in value: + @warning_ignore("return_value_discarded") vectors.append(_on_type_Vector(vector, TYPE_VECTOR2)) if vectors.is_empty(): return "PackedVector2Array()" @@ -116,15 +119,26 @@ func _on_type_Array(value :Variant, type :int) -> String: TYPE_PACKED_VECTOR3_ARRAY: var vectors := PackedStringArray() - for vector in value as PackedVector3Array: + for vector: Vector3 in value: + @warning_ignore("return_value_discarded") vectors.append(_on_type_Vector(vector, TYPE_VECTOR3)) if vectors.is_empty(): return "PackedVector3Array()" return "PackedVector3Array([%s])" % ", ".join(vectors) + GdObjects.TYPE_PACKED_VECTOR4_ARRAY: + var vectors := PackedStringArray() + for vector: Vector4 in value: + @warning_ignore("return_value_discarded") + vectors.append(_on_type_Vector(vector, TYPE_VECTOR4)) + if vectors.is_empty(): + return "PackedVector4Array()" + return "PackedVector4Array([%s])" % ", ".join(vectors) + TYPE_PACKED_STRING_ARRAY: var values := PackedStringArray() - for v in value as PackedStringArray: + for v: String in value: + @warning_ignore("return_value_discarded") values.append('"%s"' % v) if values.is_empty(): return "PackedStringArray()" @@ -136,7 +150,8 @@ func _on_type_Array(value :Variant, type :int) -> String: TYPE_PACKED_INT32_ARRAY,\ TYPE_PACKED_INT64_ARRAY: var vectors := PackedStringArray() - for vector :Variant in value as Array: + for vector :Variant in value: + @warning_ignore("return_value_discarded") vectors.append(str(vector)) if vectors.is_empty(): return GdObjects.type_as_string(type) + "()" @@ -230,11 +245,16 @@ func _on_type_Basis(basis :Basis) -> String: return "Basis(Vector3%s, Vector3%s, Vector3%s)" % [basis.x, basis.y, basis.z] +@warning_ignore("unsafe_cast") static func decode(value :Variant) -> String: var type := typeof(value) - if GdArrayTools.is_type_array(type) and value.is_empty(): + if GdArrayTools.is_type_array(type) and (value as Array).is_empty(): return "" - var decoder :Callable = instance("GdUnitDefaultValueDecoders", func() -> GdDefaultValueDecoder: return GdDefaultValueDecoder.new()).get_decoder(type) + var decoder :Callable = ( + instance("GdUnitDefaultValueDecoders", + func() -> GdDefaultValueDecoder: return GdDefaultValueDecoder.new() + ) as GdDefaultValueDecoder + ).get_decoder(type) if decoder == null: push_error("No value decoder registered for type '%d'! Please open a Bug issue at 'https://github.com/MikeSchulze/gdUnit4/issues/new/choose'." % type) return "null" @@ -243,10 +263,15 @@ static func decode(value :Variant) -> String: return decoder.call(value) +@warning_ignore("unsafe_cast") static func decode_typed(type :int, value :Variant) -> String: if value == null: return "null" - var decoder :Callable = instance("GdUnitDefaultValueDecoders", func() -> GdDefaultValueDecoder: return GdDefaultValueDecoder.new()).get_decoder(type) + var decoder: Callable = ( + instance("GdUnitDefaultValueDecoders", + func() -> GdDefaultValueDecoder: return GdDefaultValueDecoder.new() + ) as GdDefaultValueDecoder + ).get_decoder(type) if decoder == null: push_error("No value decoder registered for type '%d'! Please open a Bug issue at 'https://github.com/MikeSchulze/gdUnit4/issues/new/choose'." % type) return "null" diff --git a/addons/gdUnit4/src/core/parse/GdFunctionArgument.gd b/addons/gdUnit4/src/core/parse/GdFunctionArgument.gd index 5789186..190d946 100644 --- a/addons/gdUnit4/src/core/parse/GdFunctionArgument.gd +++ b/addons/gdUnit4/src/core/parse/GdFunctionArgument.gd @@ -2,23 +2,39 @@ class_name GdFunctionArgument extends RefCounted -var _cleanup_leading_spaces := RegEx.create_from_string("(?m)^[ \t]+") -var _fix_comma_space := RegEx.create_from_string(""", {0,}\t{0,}(?=(?:[^"]*"[^"]*")*[^"]*$)(?!\\s)""") -var _name: String -var _type: int -var _default_value :Variant -var _parameter_sets :PackedStringArray = [] - -const UNDEFINED :Variant = "<-NO_ARG->" +const GdUnitTools := preload("res://addons/gdUnit4/src/core/GdUnitTools.gd") +const UNDEFINED: String = "<-NO_ARG->" const ARG_PARAMETERIZED_TEST := "test_parameters" +static var _fuzzer_regex: RegEx +static var _cleanup_leading_spaces: RegEx +static var _fix_comma_space: RegEx -func _init(p_name :String, p_type :int = TYPE_MAX, value :Variant = UNDEFINED) -> void: +var _name: String +var _type: int +var _type_hint: int +var _default_value: Variant +var _parameter_sets: PackedStringArray = [] + + +func _init(p_name: String, p_type: int, value: Variant = UNDEFINED, p_type_hint: int = TYPE_NIL) -> void: + _init_static_variables() _name = p_name _type = p_type - if p_name == ARG_PARAMETERIZED_TEST: - _parameter_sets = _parse_parameter_set(value) + _type_hint = p_type_hint + if value != null and p_name == ARG_PARAMETERIZED_TEST: + _parameter_sets = _parse_parameter_set(str(value)) _default_value = value + # is argument a fuzzer? + if _type == TYPE_OBJECT and _fuzzer_regex.search(_name): + _type = GdObjects.TYPE_FUZZER + + +func _init_static_variables() -> void: + if _fuzzer_regex == null: + _fuzzer_regex = GdUnitTools.to_regex("((?!(fuzzer_(seed|iterations)))fuzzer?\\w+)( ?+= ?+| ?+:= ?+| ?+:Fuzzer ?+= ?+|)") + _cleanup_leading_spaces = RegEx.create_from_string("(?m)^[ \t]+") + _fix_comma_space = RegEx.create_from_string(""", {0,}\t{0,}(?=(?:[^"]*"[^"]*")*[^"]*$)(?!\\s)""") func name() -> String: @@ -29,20 +45,58 @@ func default() -> Variant: return GodotVersionFixures.convert(_default_value, _type) +func set_value(value: String) -> void: + # we onle need to apply default values for Objects, all others are provided by the method descriptor + if _type == GdObjects.TYPE_FUZZER: + _default_value = value + return + if _name == ARG_PARAMETERIZED_TEST: + _parameter_sets = _parse_parameter_set(value) + _default_value = value + return + + if _type == TYPE_NIL or _type == GdObjects.TYPE_VARIANT: + _type = _extract_value_type(value) + _default_value = value + if _default_value == null: + _default_value = value + + +func _extract_value_type(value: String) -> int: + if value != UNDEFINED: + if _fuzzer_regex.search(_name): + return GdObjects.TYPE_FUZZER + if value.rfind(")") == value.length()-1: + return GdObjects.TYPE_FUNC + return _type + + func value_as_string() -> String: if has_default(): - return str(_default_value) + return GdDefaultValueDecoder.decode_typed(_type, _default_value) return "" +func plain_value() -> Variant: + return _default_value + + func type() -> int: return _type +func type_hint() -> int: + return _type_hint + + func has_default() -> bool: return not is_same(_default_value, UNDEFINED) +func is_typed_array() -> bool: + return _type == TYPE_ARRAY and _type_hint != TYPE_NIL + + func is_parameter_set() -> bool: return _name == ARG_PARAMETERIZED_TEST @@ -60,10 +114,12 @@ static func get_parameter_set(parameters :Array[GdFunctionArgument]) -> GdFuncti func _to_string() -> String: var s := _name - if _type != TYPE_MAX: + if _type != TYPE_NIL: s += ":" + GdObjects.type_as_string(_type) - if _default_value != UNDEFINED: - s += "=" + str(_default_value) + if _type_hint != TYPE_NIL: + s += "[%s]" % GdObjects.type_as_string(_type_hint) + if typeof(_default_value) != TYPE_STRING: + s += "=" + value_as_string() return s @@ -85,6 +141,7 @@ func _parse_parameter_set(input :String) -> PackedStringArray: for c in buf: current_index += 1 matched = current_index == buf.size() + @warning_ignore("return_value_discarded") collected_characters.push_back(c) match c: @@ -108,6 +165,7 @@ func _parse_parameter_set(input :String) -> PackedStringArray: if matched: var parameters := _fix_comma_space.sub(collected_characters.get_string_from_utf8(), ", ", true) if not parameters.is_empty(): + @warning_ignore("return_value_discarded") output.append(parameters) collected_characters.clear() matched = false diff --git a/addons/gdUnit4/src/core/parse/GdFunctionDescriptor.gd b/addons/gdUnit4/src/core/parse/GdFunctionDescriptor.gd index 2633016..27a21b2 100644 --- a/addons/gdUnit4/src/core/parse/GdFunctionDescriptor.gd +++ b/addons/gdUnit4/src/core/parse/GdFunctionDescriptor.gd @@ -6,6 +6,7 @@ var _is_static :bool var _is_engine :bool var _is_coroutine :bool var _name :String +var _source_path: String var _line_number :int var _return_type :int var _return_class :String @@ -13,6 +14,18 @@ var _args : Array[GdFunctionArgument] var _varargs :Array[GdFunctionArgument] + +static func create(p_name: String, p_source_path: String, p_source_line: int, p_return_type: int, p_args: Array[GdFunctionArgument] = []) -> GdFunctionDescriptor: + var fd := GdFunctionDescriptor.new(p_name, p_source_line, false, false, false, p_return_type, "", p_args) + fd.enrich_file_info(p_source_path, p_source_line) + return fd + +static func create_static(p_name: String, p_source_path: String, p_source_line: int, p_return_type: int, p_args: Array[GdFunctionArgument] = []) -> GdFunctionDescriptor: + var fd := GdFunctionDescriptor.new(p_name, p_source_line, false, true, false, p_return_type, "", p_args) + fd.enrich_file_info(p_source_path, p_source_line) + return fd + + func _init(p_name :String, p_line_number :int, p_is_virtual :bool, @@ -34,10 +47,19 @@ func _init(p_name :String, _varargs = p_varargs +func with_return_class(clazz_name: String) -> GdFunctionDescriptor: + _return_class = clazz_name + return self + + func name() -> String: return _name +func source_path() -> String: + return _source_path + + func line_number() -> int: return _line_number @@ -74,7 +96,7 @@ func is_private() -> bool: return name().begins_with("_") and not is_virtual() -func return_type() -> Variant: +func return_type() -> int: return _return_type @@ -84,6 +106,19 @@ func return_type_as_string() -> String: return GdObjects.type_as_string(return_type()) +@warning_ignore("unsafe_cast") +func set_argument_value(arg_name: String, value: String) -> void: + ( + _args.filter(func(arg: GdFunctionArgument) -> bool: return arg.name() == arg_name)\ + .front() as GdFunctionArgument + ).set_value(value) + + +func enrich_file_info(p_source_path: String, p_line_number: int) -> void: + _source_path = p_source_path + _line_number = p_line_number + + func args() -> Array[GdFunctionArgument]: return _args @@ -92,34 +127,13 @@ func varargs() -> Array[GdFunctionArgument]: return _varargs -func typeless() -> String: - var func_signature := "" - if _return_type == TYPE_NIL: - func_signature = "func %s(%s) -> void:" % [name(), typeless_args()] - elif _return_type == GdObjects.TYPE_VARIANT: - func_signature = "func %s(%s) -> Variant:" % [name(), typeless_args()] - else: - func_signature = "func %s(%s) -> %s:" % [name(), typeless_args(), return_type_as_string()] - return "static " + func_signature if is_static() else func_signature - - -func typeless_args() -> String: - var collect := PackedStringArray() - for arg in args(): - if arg.has_default(): - collect.push_back( arg.name() + "=" + arg.value_as_string()) - else: - collect.push_back(arg.name()) - for arg in varargs(): - collect.push_back(arg.name() + "=" + arg.value_as_string()) - return ", ".join(collect) - - func typed_args() -> String: var collect := PackedStringArray() for arg in args(): + @warning_ignore("return_value_discarded") collect.push_back(arg._to_string()) for arg in varargs(): + @warning_ignore("return_value_discarded") collect.push_back(arg._to_string()) return ", ".join(collect) @@ -135,28 +149,23 @@ func _to_string() -> String: # extract function description given by Object.get_method_list() -static func extract_from(descriptor :Dictionary) -> GdFunctionDescriptor: - var function_flags :int = descriptor["flags"] - var is_virtual_ :bool = function_flags & METHOD_FLAG_VIRTUAL - var is_static_ :bool = function_flags & METHOD_FLAG_STATIC - var is_vararg_ :bool = function_flags & METHOD_FLAG_VARARG - #var is_const :bool = function_flags & METHOD_FLAG_CONST - #var is_core :bool = function_flags & METHOD_FLAG_OBJECT_CORE - #var is_default :bool = function_flags & METHOD_FLAGS_DEFAULT - #prints("is_virtual: ", is_virtual) - #prints("is_static: ", is_static) - #prints("is_const: ", is_const) - #prints("is_core: ", is_core) - #prints("is_default: ", is_default) - #prints("is_vararg: ", is_vararg) +static func extract_from(descriptor :Dictionary, is_engine_ := true) -> GdFunctionDescriptor: + var func_name: String = descriptor["name"] + var function_flags: int = descriptor["flags"] + var return_descriptor: Dictionary = descriptor["return"] + var clazz_name: String = return_descriptor["class_name"] + var is_virtual_: bool = function_flags & METHOD_FLAG_VIRTUAL + var is_static_: bool = function_flags & METHOD_FLAG_STATIC + var is_vararg_: bool = function_flags & METHOD_FLAG_VARARG + return GdFunctionDescriptor.new( - descriptor["name"], + func_name, -1, is_virtual_, is_static_, - true, - _extract_return_type(descriptor["return"]), - descriptor["return"]["class_name"], + is_engine_, + _extract_return_type(return_descriptor), + clazz_name, _extract_args(descriptor), _build_varargs(is_vararg_) ) @@ -185,13 +194,15 @@ const enum_fix := [ "Control.LayoutMode"] -static func _extract_return_type(return_info :Dictionary) -> Variant: +static func _extract_return_type(return_info :Dictionary) -> int: var type :int = return_info["type"] var usage :int = return_info["usage"] if type == TYPE_INT and usage & PROPERTY_USAGE_CLASS_IS_ENUM: return GdObjects.TYPE_ENUM if type == TYPE_NIL and usage & PROPERTY_USAGE_NIL_IS_VARIANT: return GdObjects.TYPE_VARIANT + if type == TYPE_NIL and usage == 6: + return GdObjects.TYPE_VOID return type @@ -204,11 +215,10 @@ static func _extract_args(descriptor :Dictionary) -> Array[GdFunctionArgument]: var arg :Dictionary = arguments.pop_back() var arg_name := _argument_name(arg) var arg_type := _argument_type(arg) - var arg_default :Variant = GdFunctionArgument.UNDEFINED - if not defaults.is_empty(): - var default_value :Variant = defaults.pop_back() - arg_default = GdDefaultValueDecoder.decode_typed(arg_type, default_value) - args_.push_front(GdFunctionArgument.new(arg_name, arg_type, arg_default)) + var arg_type_hint := _argument_hint(arg) + #var arg_class: StringName = arg["class_name"] + var default_value: Variant = GdFunctionArgument.UNDEFINED if defaults.is_empty() else defaults.pop_back() + args_.push_front(GdFunctionArgument.new(arg_name, arg_type, default_value, arg_type_hint)) return args_ @@ -219,23 +229,41 @@ static func _build_varargs(p_is_vararg :bool) -> Array[GdFunctionArgument]: # if function has vararg we need to handle this manually by adding 10 default arguments var type := GdObjects.TYPE_VARARG for index in 10: - varargs_.push_back(GdFunctionArgument.new("vararg%d_" % index, type, "\"%s\"" % GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE)) + varargs_.push_back(GdFunctionArgument.new("vararg%d_" % index, type, '"%s"' % GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE)) return varargs_ static func _argument_name(arg :Dictionary) -> String: - # add suffix to the name to prevent clash with reserved names - return (arg["name"] + "_") as String + return arg["name"] static func _argument_type(arg :Dictionary) -> int: var type :int = arg["type"] + var usage :int = arg["usage"] + if type == TYPE_OBJECT: if arg["class_name"] == "Node": return GdObjects.TYPE_NODE + if arg["class_name"] == "Fuzzer": + return GdObjects.TYPE_FUZZER + + # if the argument untyped we need to scan the assignef value type + if type == TYPE_NIL and usage == PROPERTY_USAGE_NIL_IS_VARIANT: + return GdObjects.TYPE_VARIANT return type +static func _argument_hint(arg :Dictionary) -> int: + var hint :int = arg["hint"] + var hint_string :String = arg["hint_string"] + + match hint: + PROPERTY_HINT_ARRAY_TYPE: + return GdObjects.string_to_type(hint_string) + _: + return 0 + + static func _argument_type_as_string(arg :Dictionary) -> String: var type := _argument_type(arg) match type: diff --git a/addons/gdUnit4/src/core/parse/GdScriptParser.gd b/addons/gdUnit4/src/core/parse/GdScriptParser.gd index 38468f3..d0a6e8e 100644 --- a/addons/gdUnit4/src/core/parse/GdScriptParser.gd +++ b/addons/gdUnit4/src/core/parse/GdScriptParser.gd @@ -14,7 +14,7 @@ var TOKEN_CLASS_NAME := Token.new("class_name") var TOKEN_INNER_CLASS := Token.new("class") var TOKEN_EXTENDS := Token.new("extends") var TOKEN_ENUM := Token.new("enum") -var TOKEN_FUNCTION_STATIC_DECLARATION := Token.new("staticfunc") +var TOKEN_FUNCTION_STATIC_DECLARATION := Token.new("static func") var TOKEN_FUNCTION_DECLARATION := Token.new("func") var TOKEN_FUNCTION := Token.new(".") var TOKEN_FUNCTION_RETURN_TYPE := Token.new("->") @@ -64,17 +64,12 @@ var TOKENS :Array[Token] = [ OPERATOR_REMAINDER, ] -var _regex_clazz_name :RegEx +var _regex_clazz_name := GdUnitTools.to_regex("(class) ([a-zA-Z0-9_]+) (extends[a-zA-Z]+:)|(class) ([a-zA-Z0-9_]+)") var _regex_strip_comments := GdUnitTools.to_regex("^([^#\"']|'[^']*'|\"[^\"]*\")*\\K#.*") -var _base_clazz :String var _scanned_inner_classes := PackedStringArray() var _script_constants := {} -static func clean_up_row(row :String) -> String: - return to_unix_format(row.replace(" ", "").replace("\t", "")) - - static func to_unix_format(input :String) -> String: return input.replace("\r\n", "\n") @@ -263,6 +258,7 @@ class TokenInnerClass extends Token: func parse(source_rows :PackedStringArray, offset :int) -> void: # add class signature + @warning_ignore("return_value_discarded") _content.append(source_rows[offset]) # parse class content for row_index in range(offset+1, source_rows.size()): @@ -275,8 +271,10 @@ class TokenInnerClass extends Token: source_row = source_row.trim_prefix("\t") # refomat invalid empty lines if source_row.dedent().is_empty(): + @warning_ignore("return_value_discarded") _content.append("") else: + @warning_ignore("return_value_discarded") _content.append(source_row) continue break @@ -287,9 +285,6 @@ class TokenInnerClass extends Token: return "TokenInnerClass{%s}" % [_clazz_name] -func _init() -> void: - _regex_clazz_name = GdUnitTools.to_regex("(class)([a-zA-Z0-9]+)(extends[a-zA-Z]+:)|(class)([a-zA-Z0-9]+)(:)") - func get_token(input :String, current_index :int) -> Token: for t in TOKENS: @@ -352,38 +347,7 @@ func tokenize_inner_class(source_code: String, current: int, token: Token) -> To return TokenInnerClass.new(clazz_name) -@warning_ignore("assert_always_false") -func _process_values(left: Token, token_stack: Array, operator: Token) -> Token: - # precheck - if left.is_variable() and operator.is_operator(): - var lvalue :Variant = left.value() - var value :Variant = null - var next_token_ := token_stack.pop_front() as Token - match operator: - OPERATOR_ADD: - value = lvalue + next_token_.value() - OPERATOR_SUB: - value = lvalue - next_token_.value() - OPERATOR_MUL: - value = lvalue * next_token_.value() - OPERATOR_DIV: - value = lvalue / next_token_.value() - OPERATOR_REMAINDER: - value = lvalue & next_token_.value() - _: - assert(false, "Unsupported operator %s" % operator) - return Variable.new( str(value)) - return operator - - -func parse_func_return_type(row: String) -> int: - var token := parse_return_token(row) - if token == TOKEN_NOT_MATCH: - return TYPE_NIL - return token.type() - - -func parse_return_token(input: String) -> Token: +func parse_return_token(input: String) -> Variable: var index := input.rfind(TOKEN_FUNCTION_RETURN_TYPE._token) if index == -1: return TOKEN_NOT_MATCH @@ -397,10 +361,30 @@ func parse_return_token(input: String) -> Token: return token -# Parses the argument into a argument signature -# e.g. func foo(arg1 :int, arg2 = 20) -> [arg1, arg2] -func parse_arguments(input: String) -> Array[GdFunctionArgument]: - var args :Array[GdFunctionArgument] = [] +func get_function_descriptors(script: GDScript, included_functions: PackedStringArray = []) -> Array[GdFunctionDescriptor]: + var fds: Array[GdFunctionDescriptor] = [] + for method_descriptor in script.get_script_method_list(): + var func_name: String = method_descriptor["name"] + if included_functions.is_empty() or func_name in included_functions: + # exclude type set/geters + if is_getter_or_setter(func_name): + continue + if not fds.any(func(fd: GdFunctionDescriptor) -> bool: return fd.name() == func_name): + fds.append(GdFunctionDescriptor.extract_from(method_descriptor, false)) + + # we need to enrich it by default arguments and line number by parsing the script + # the engine core functions has no valid methods to get this info + _prescan_script(script) + _enrich_function_descriptor(script, fds) + return fds + + +func is_getter_or_setter(func_name: String) -> bool: + return func_name.begins_with("@") and (func_name.ends_with("getter") or func_name.ends_with("setter")) + + +func _parse_function_arguments(input: String) -> Dictionary: + var arguments := {} var current_index := 0 var token :Token = null var bracket := 0 @@ -431,7 +415,7 @@ func parse_arguments(input: String) -> Array[GdFunctionArgument]: bracket -= 1 # if function end? if in_function and bracket == 0: - return args + return arguments # is function if token == TOKEN_FUNCTION_DECLARATION: token = next_token(input, current_index) @@ -441,13 +425,13 @@ func parse_arguments(input: String) -> Array[GdFunctionArgument]: if token is FuzzerToken: var arg_value := _parse_end_function(input.substr(current_index), true) current_index += arg_value.length() - args.append(GdFunctionArgument.new(token.name(), token.type(), arg_value)) + var arg_name :String = (token as FuzzerToken).name() + arguments[arg_name] = arg_value.lstrip(" ") continue # is value argument if in_function and token.is_variable(): - var arg_name :String = token.plain_value() - var arg_type :int = TYPE_NIL - var arg_value :Variant = GdFunctionArgument.UNDEFINED + var arg_name: String = (token as Variable).plain_value() + var arg_value: String = GdFunctionArgument.UNDEFINED # parse type and default value while current_index < len(input): token = next_token(input, current_index) @@ -460,10 +444,6 @@ func parse_arguments(input: String) -> Array[GdFunctionArgument]: if token == TOKEN_SPACE: current_index += token._consumed token = next_token(input, current_index) - arg_type = GdObjects.string_as_typeof(token._token) - # handle enum detection as argument - if arg_type == GdObjects.TYPE_VARIANT and is_class_enum_type(token._token): - arg_type = GdObjects.TYPE_ENUM TOKEN_ARGUMENT_TYPE_ASIGNMENT: arg_value = _parse_end_function(input.substr(current_index), true) current_index += arg_value.length() @@ -489,28 +469,8 @@ func parse_arguments(input: String) -> Array[GdFunctionArgument]: TOKEN_ARGUMENT_SEPARATOR: if bracket <= 1: break - arg_value = arg_value.lstrip(" ") - if arg_type == TYPE_NIL and arg_value != GdFunctionArgument.UNDEFINED: - if arg_value.begins_with("Color."): - arg_type = TYPE_COLOR - elif arg_value.begins_with("Vector2."): - arg_type = TYPE_VECTOR2 - elif arg_value.begins_with("Vector3."): - arg_type = TYPE_VECTOR3 - elif arg_value.begins_with("AABB("): - arg_type = TYPE_AABB - elif arg_value.begins_with("["): - arg_type = TYPE_ARRAY - elif arg_value.begins_with("{"): - arg_type = TYPE_DICTIONARY - else: - arg_type = typeof(str_to_var(arg_value)) - if arg_value.rfind(")") == arg_value.length()-1: - arg_type = GdObjects.TYPE_FUNC - elif arg_type == TYPE_NIL: - arg_type = TYPE_STRING - args.append(GdFunctionArgument.new(arg_name, arg_type, arg_value)) - return args + arguments[arg_name] = arg_value.lstrip(" ") + return arguments func _parse_end_function(input: String, remove_trailing_char := false) -> String: @@ -563,9 +523,10 @@ func _parse_end_function(input: String, remove_trailing_char := false) -> String return input.substr(0, current_index) +@warning_ignore("unsafe_method_access") func extract_inner_class(source_rows: PackedStringArray, clazz_name :String) -> PackedStringArray: for row_index in source_rows.size(): - var input := GdScriptParser.clean_up_row(source_rows[row_index]) + var input := source_rows[row_index] var token := next_token(input, 0) if token.is_inner_class(): if token.is_class_name(clazz_name): @@ -574,21 +535,6 @@ func extract_inner_class(source_rows: PackedStringArray, clazz_name :String) -> return PackedStringArray() -func extract_source_code(script_path :PackedStringArray) -> PackedStringArray: - if script_path.is_empty(): - push_error("Invalid script path '%s'" % script_path) - return PackedStringArray() - #load the source code - var resource_path := script_path[0] - var script :GDScript = load(resource_path) - var source_code := load_source_code(script, script_path) - var base_script := script.get_base_script() - if base_script: - _base_clazz = GdObjects.extract_class_name_from_class_path([base_script.resource_path]) - source_code += load_source_code(base_script, script_path) - return source_code - - func extract_func_signature(rows :PackedStringArray, index :int) -> String: var signature := "" @@ -604,25 +550,6 @@ func extract_func_signature(rows :PackedStringArray, index :int) -> String: return "" -func load_source_code(script :GDScript, script_path :PackedStringArray) -> PackedStringArray: - var map := script.get_script_constant_map() - for key :String in map.keys(): - var value :Variant = map.get(key) - if value is GDScript: - var class_path := GdObjects.extract_class_path(value) - if class_path.size() > 1: - _scanned_inner_classes.append(class_path[1]) - - var source_code := GdScriptParser.to_unix_format(script.source_code) - var source_rows := source_code.split("\n") - # extract all inner class names - # want to extract an inner class? - if script_path.size() > 1: - var inner_clazz := script_path[1] - source_rows = extract_inner_class(source_rows, inner_clazz) - return PackedStringArray(source_rows) - - func get_class_name(script :GDScript) -> String: var source_code := GdScriptParser.to_unix_format(script.source_code) var source_rows := source_code.split("\n") @@ -635,13 +562,12 @@ func get_class_name(script :GDScript) -> String: token = next_token(input, current_index) current_index += token._consumed token = tokenize_value(input, current_index, token) - return token.value() + return (token as Variable).value() # if no class_name found extract from file name return GdObjects.to_pascal_case(script.resource_path.get_basename().get_file()) -func parse_func_name(row :String) -> String: - var input := GdScriptParser.clean_up_row(row) +func parse_func_name(input :String) -> String: var current_index := 0 var token := next_token(input, current_index) current_index += token._consumed @@ -653,100 +579,67 @@ func parse_func_name(row :String) -> String: return token._token -func parse_functions(rows :PackedStringArray, clazz_name :String, clazz_path :PackedStringArray, included_functions := PackedStringArray()) -> Array[GdFunctionDescriptor]: - var func_descriptors :Array[GdFunctionDescriptor] = [] - for rowIndex in rows.size(): - var row := rows[rowIndex] - # step over inner class functions - if row.begins_with("\t"): - continue - var input := GdScriptParser.clean_up_row(row) - # skip comments and empty lines - if input.begins_with("#") or input.length() == 0: - continue - var token := next_token(input, 0) - if token == TOKEN_FUNCTION_STATIC_DECLARATION or token == TOKEN_FUNCTION_DECLARATION: - if _is_func_included(input, included_functions): - var func_signature := extract_func_signature(rows, rowIndex) - var fd := parse_func_description(func_signature, clazz_name, clazz_path, rowIndex+1) - fd._is_coroutine = is_func_coroutine(rows, rowIndex) - func_descriptors.append(fd) - return func_descriptors +## Enriches the function descriptor by line number and argument default values +## - enrich all function descriptors form current script up to all inherited scrips +func _enrich_function_descriptor(script: GDScript, fds: Array[GdFunctionDescriptor]) -> void: + var enriched_functions := PackedStringArray() + var script_to_scan := script + while script_to_scan != null: + # do not scan the test suite base class itself + if script_to_scan.resource_path == "res://addons/gdUnit4/src/GdUnitTestSuite.gd": + break + + var rows := script_to_scan.source_code.split("\n") + for rowIndex in rows.size(): + var input := rows[rowIndex] + # step over inner class functions + if input.begins_with("\t"): + continue + # skip comments and empty lines + if input.begins_with("#") or input.length() == 0: + continue + var token := next_token(input, 0) + if token == TOKEN_FUNCTION_STATIC_DECLARATION or token == TOKEN_FUNCTION_DECLARATION: + var function_name := parse_func_name(input) + var fd: GdFunctionDescriptor = fds.filter(func(element: GdFunctionDescriptor) -> bool: + # is same function name and not already enriched + return function_name == element.name() and not enriched_functions.has(element.name()) + ).pop_front() + if fd != null: + # add as enriched function to exclude from next iteration (could be inherited) + @warning_ignore("return_value_discarded") + enriched_functions.append(fd.name()) + var func_signature := extract_func_signature(rows, rowIndex) + var func_arguments := _parse_function_arguments(func_signature) + # enrich missing default values + for arg_name: String in func_arguments.keys(): + var func_argument: String = func_arguments[arg_name] + fd.set_argument_value(arg_name, func_argument) + fd.enrich_file_info(script_to_scan.resource_path, rowIndex + 1) + fd._is_coroutine = is_func_coroutine(rows, rowIndex) + # enrich return class name if not set + if fd.return_type() == TYPE_OBJECT and fd._return_class in ["", "Resource", "RefCounted"]: + var var_token := parse_return_token(func_signature) + if var_token != TOKEN_NOT_MATCH and var_token.type() == TYPE_OBJECT: + fd._return_class = _patch_inner_class_names(var_token.plain_value(), "") + # if the script ihnerits we need to scan this also + script_to_scan = script_to_scan.get_base_script() func is_func_coroutine(rows :PackedStringArray, index :int) -> bool: var is_coroutine := false - for rowIndex in range( index+1, rows.size()): - var row := rows[rowIndex] - is_coroutine = row.contains("await") + for rowIndex in range(index+1, rows.size()): + var input := rows[rowIndex] + is_coroutine = input.contains("await") if is_coroutine: return true - var input := GdScriptParser.clean_up_row(row) var token := next_token(input, 0) + # scan until next function if token == TOKEN_FUNCTION_STATIC_DECLARATION or token == TOKEN_FUNCTION_DECLARATION: break return is_coroutine -func _is_func_included(row :String, included_functions :PackedStringArray) -> bool: - if included_functions.is_empty(): - return true - for name in included_functions: - if row.find(name) != -1: - return true - return false - - -func parse_func_description(func_signature :String, clazz_name :String, clazz_path :PackedStringArray, line_number :int) -> GdFunctionDescriptor: - var name := parse_func_name(func_signature) - var return_type :int - var return_clazz := "" - var token := parse_return_token(func_signature) - if token == TOKEN_NOT_MATCH: - return_type = GdObjects.TYPE_VARIANT - else: - return_type = token.type() - if token.type() == TYPE_OBJECT: - return_clazz = _patch_inner_class_names(token.value(), clazz_name) - # is return type an enum? - if is_class_enum_type(return_clazz): - return_type = GdObjects.TYPE_ENUM - - return GdFunctionDescriptor.new( - name, - line_number, - is_virtual_func(clazz_name, clazz_path, name), - is_static_func(func_signature), - false, - return_type, - return_clazz, - parse_arguments(func_signature) - ) - - -# caches already parsed classes for virtual functions -# key: value: a Array of virtual function names -var _virtual_func_cache := Dictionary() - -func is_virtual_func(clazz_name :String, clazz_path :PackedStringArray, func_name :String) -> bool: - if _virtual_func_cache.has(clazz_name): - return _virtual_func_cache[clazz_name].has(func_name) - var virtual_functions := Array() - var method_list := GdObjects.extract_class_functions(clazz_name, clazz_path) - for method_descriptor :Dictionary in method_list: - var is_virtual_function :bool = method_descriptor["flags"] & METHOD_FLAG_VIRTUAL - if is_virtual_function: - virtual_functions.append(method_descriptor["name"]) - _virtual_func_cache[clazz_name] = virtual_functions - return _virtual_func_cache[clazz_name].has(func_name) - - -func is_static_func(func_signature :String) -> bool: - var input := GdScriptParser.clean_up_row(func_signature) - var token := next_token(input, 0) - return token == TOKEN_FUNCTION_STATIC_DECLARATION - - func is_inner_class(clazz_path :PackedStringArray) -> bool: return clazz_path.size() > 1 @@ -755,39 +648,24 @@ func is_func_end(row :String) -> bool: return row.strip_edges(false, true).ends_with(":") -func is_class_enum_type(value :String) -> bool: - if value == "Variant": - return false - # first check is given value a enum from the current class - if _script_constants.has(value): - return true - # otherwise we need to determie it by reflection - var script := GDScript.new() - script.source_code = """ - extends Resource - - static func is_class_enum_type() -> bool: - return typeof(%s) == TYPE_DICTIONARY - - """.dedent() % value - script.reload() - return script.call("is_class_enum_type") - - -func _patch_inner_class_names(clazz :String, clazz_name :String) -> String: - var base_clazz := clazz_name.split(".")[0] +func _patch_inner_class_names(clazz :String, clazz_name :String = "") -> String: var inner_clazz_name := clazz.split(".")[0] if _scanned_inner_classes.has(inner_clazz_name): - return base_clazz + "." + clazz + return inner_clazz_name + #var base_clazz := clazz_name.split(".")[0] + #return base_clazz + "." + clazz if _script_constants.has(clazz): return clazz_name + "." + clazz return clazz -func extract_functions(script :GDScript, clazz_name :String, clazz_path :PackedStringArray) -> Array[GdFunctionDescriptor]: - var source_code := load_source_code(script, clazz_path) +func _prescan_script(script: GDScript) -> void: _script_constants = script.get_script_constant_map() - return parse_functions(source_code, clazz_name, clazz_path) + for key :String in _script_constants.keys(): + var value :Variant = _script_constants.get(key) + if value is GDScript: + @warning_ignore("return_value_discarded") + _scanned_inner_classes.append(key) func parse(clazz_name :String, clazz_path :PackedStringArray) -> GdUnitResult: @@ -795,13 +673,22 @@ func parse(clazz_name :String, clazz_path :PackedStringArray) -> GdUnitResult: return GdUnitResult.error("Invalid script path '%s'" % clazz_path) var is_inner_class_ := is_inner_class(clazz_path) var script :GDScript = load(clazz_path[0]) - var function_descriptors := extract_functions(script, clazz_name, clazz_path) + _prescan_script(script) + + if is_inner_class_: + var inner_class_name := clazz_path[1] + if _scanned_inner_classes.has(inner_class_name): + # do load only on inner class source code and enrich the stored script instance + var source_code := _load_inner_class(script, inner_class_name) + script = _script_constants.get(inner_class_name) + script.source_code = source_code + var function_descriptors := get_function_descriptors(script) var gd_class := GdClassDescriptor.new(clazz_name, is_inner_class_, function_descriptors) - # iterate over class dependencies - script = script.get_base_script() - while script != null: - clazz_name = GdObjects.extract_class_name_from_class_path([script.resource_path]) - function_descriptors = extract_functions(script, clazz_name, clazz_path) - gd_class.set_parent_clazz(GdClassDescriptor.new(clazz_name, is_inner_class_, function_descriptors)) - script = script.get_base_script() return GdUnitResult.success(gd_class) + + +func _load_inner_class(script: GDScript, inner_clazz: String) -> String: + var source_rows := GdScriptParser.to_unix_format(script.source_code).split("\n") + # extract all inner class names + var inner_class_code := extract_inner_class(source_rows, inner_clazz) + return "\n".join(inner_class_code) diff --git a/addons/gdUnit4/src/core/parse/GdUnitExpressionRunner.gd b/addons/gdUnit4/src/core/parse/GdUnitExpressionRunner.gd index f3130a0..9faf830 100644 --- a/addons/gdUnit4/src/core/parse/GdUnitExpressionRunner.gd +++ b/addons/gdUnit4/src/core/parse/GdUnitExpressionRunner.gd @@ -9,18 +9,66 @@ func __run_expression() -> Variant: """ -func execute(src_script :GDScript, expression :String) -> Variant: +var constructor_args_regex := RegEx.create_from_string("new\\((?.*)\\)") + + +func execute(src_script: GDScript, value: Variant) -> Variant: + if typeof(value) != TYPE_STRING: + return value + + var expression: String = value + var parameter_map := src_script.get_script_constant_map() + for key: String in parameter_map.keys(): + var parameter_value: Variant = parameter_map[key] + # check we need to construct from inner class + # we need to use the original class instance from the script_constant_map otherwise we run into a runtime error + if expression.begins_with(key + ".new") and parameter_value is GDScript: + var object: GDScript = parameter_value + var args := build_constructor_arguments(parameter_map, expression.substr(expression.find("new"))) + if args.is_empty(): + return object.new() + return object.callv("new", args) + var script := GDScript.new() var resource_path := "res://addons/gdUnit4/src/Fuzzers.gd" if src_script.resource_path.is_empty() else src_script.resource_path script.source_code = CLASS_TEMPLATE.dedent()\ .replace("${clazz_path}", resource_path)\ .replace("$expression", expression) - script.reload(false) - var runner :Variant = script.new() + #script.take_over_path(resource_path) + @warning_ignore("return_value_discarded") + script.reload(true) + var runner: Object = script.new() if runner.has_method("queue_free"): - runner.queue_free() + (runner as Node).queue_free() + @warning_ignore("unsafe_method_access") return runner.__run_expression() -func to_fuzzer(src_script :GDScript, expression :String) -> Fuzzer: - return execute(src_script, expression) as Fuzzer +func build_constructor_arguments(parameter_map: Dictionary, expression: String) -> Array[Variant]: + var result := constructor_args_regex.search(expression) + var extracted_arguments := result.get_string("args").strip_edges() + if extracted_arguments.is_empty(): + return [] + var arguments :Array = extracted_arguments.split(",") + return arguments.map(func(argument: String) -> Variant: + var value := argument.strip_edges() + + # is argument an constant value + if parameter_map.has(value): + return parameter_map[value] + # is typed named value like Vector3.ONE + for type:int in GdObjects.TYPE_AS_STRING_MAPPINGS: + var type_as_string:String = GdObjects.TYPE_AS_STRING_MAPPINGS[type] + if value.begins_with(type_as_string): + return type_convert(value, type) + # is value a string + if value.begins_with("'") or value.begins_with('"'): + return value.trim_prefix("'").trim_suffix("'").trim_prefix('"').trim_suffix('"') + # fallback to default value converting + return str_to_var(value) + ) + + +func to_fuzzer(src_script: GDScript, expression: String) -> Fuzzer: + @warning_ignore("unsafe_cast") + return execute(src_script, expression) as Fuzzer diff --git a/addons/gdUnit4/src/core/parse/GdUnitTestParameterSetResolver.gd b/addons/gdUnit4/src/core/parse/GdUnitTestParameterSetResolver.gd index d67ee25..73db59e 100644 --- a/addons/gdUnit4/src/core/parse/GdUnitTestParameterSetResolver.gd +++ b/addons/gdUnit4/src/core/parse/GdUnitTestParameterSetResolver.gd @@ -45,10 +45,11 @@ func validate(input_value_set: Array) -> String: for input_values :Variant in input_value_set: var parameter_set_index := input_value_set.find(input_values) if input_values is Array: - var current_arg_count :int = input_values.size() + var arr_values: Array = input_values + var current_arg_count := arr_values.size() if current_arg_count != expected_arg_count: return "\n The parameter set at index [%d] does not match the expected input parameters!\n The test case requires [%d] input parameters, but the set contains [%d]" % [parameter_set_index, expected_arg_count, current_arg_count] - var error := GdUnitTestParameterSetResolver.validate_parameter_types(input_arguments, input_values, parameter_set_index) + var error := GdUnitTestParameterSetResolver.validate_parameter_types(input_arguments, arr_values, parameter_set_index) if not error.is_empty(): return error else: @@ -97,6 +98,7 @@ func build_test_case_names(test_case: _TestCase) -> PackedStringArray: for parameter_set_index in parameter_sets.size(): var parameter_set := parameter_sets[parameter_set_index] _static_sets_by_index[parameter_set_index] = _is_static_parameter_set(parameter_set, property_names) + @warning_ignore("return_value_discarded") _test_case_names_cache.append(GdUnitTestParameterSetResolver._build_test_case_name(test_case, parameter_set, parameter_set_index)) parameter_set_index += 1 return _test_case_names_cache @@ -121,6 +123,7 @@ func _extract_test_names_by_reflection(test_case: _TestCase) -> PackedStringArra var parameter_sets := load_parameter_sets(test_case) var test_case_names: PackedStringArray = [] for index in parameter_sets.size(): + @warning_ignore("return_value_discarded") test_case_names.append(GdUnitTestParameterSetResolver._build_test_case_name(test_case, str(parameter_sets[index]), index)) return test_case_names @@ -149,10 +152,10 @@ func load_parameter_sets(test_case: _TestCase, do_validate := false) -> Array: if result != OK: push_error("Extracting test parameters failed! Script loading error: %s" % result) return [] - var instance :Variant = script.new() + var instance :Object = script.new() GdUnitTestParameterSetResolver.copy_properties(test_case.get_parent(), instance) - instance.queue_free() - var parameter_sets :Variant = instance.call("__extract_test_parameters") + (instance as Node).queue_free() + var parameter_sets: Array = instance.call("__extract_test_parameters") if not do_validate: return parameter_sets # validate the parameter set @@ -169,14 +172,32 @@ func load_parameter_sets(test_case: _TestCase, do_validate := false) -> Array: """.dedent().trim_prefix("\n") % [ GdAssertMessages._error("Internal Error"), GdAssertMessages._error("Please report this issue as a bug!")] - test_case.get_parent().__execution_context\ - .reports()\ - .append(GdUnitReport.new().create(GdUnitReport.INTERUPTED, test_case.line_number(), error)) + GdUnitThreadManager.get_current_context()\ + .get_execution_context()\ + .add_report(GdUnitReport.new().create(GdUnitReport.INTERUPTED, test_case.line_number(), error)) test_case.skip(true, error) test_case._interupted = true + @warning_ignore("return_value_discarded") + fixure_typed_parameters(parameter_sets, _fd.args()) return parameter_sets +func fixure_typed_parameters(parameter_sets: Array, arg_descriptors: Array[GdFunctionArgument]) -> Array: + for parameter_set_index in parameter_sets.size(): + var parameter_set: Array = parameter_sets[parameter_set_index] + # run over all function arguments + for parameter_index in parameter_set.size(): + var parameter :Variant = parameter_set[parameter_index] + var arg_descriptor: GdFunctionArgument = arg_descriptors[parameter_index] + if parameter is Array: + var as_array: Array = parameter + # we need to convert the untyped array to the expected typed version + if arg_descriptor.is_typed_array(): + parameter_set[parameter_index] = Array(as_array, arg_descriptor.type_hint(), "", null) + return parameter_sets + + + static func copy_properties(source: Object, dest: Object) -> void: for property in source.get_property_list(): var property_name :String = property["name"] diff --git a/addons/gdUnit4/src/core/templates/test_suite/GdUnitTestSuiteTemplate.gd b/addons/gdUnit4/src/core/templates/test_suite/GdUnitTestSuiteTemplate.gd index 3e241f3..6fc282d 100644 --- a/addons/gdUnit4/src/core/templates/test_suite/GdUnitTestSuiteTemplate.gd +++ b/addons/gdUnit4/src/core/templates/test_suite/GdUnitTestSuiteTemplate.gd @@ -86,8 +86,10 @@ static func default_CS_template() -> String: static func build_template(source_path: String) -> String: - var clazz_name :String = GdObjects.to_pascal_case(GdObjects.extract_class_name(source_path).value() as String) - return GdUnitSettings.get_setting(GdUnitSettings.TEMPLATE_TS_GD, default_GD_template())\ + var clazz_name :String = GdObjects.to_pascal_case(GdObjects.extract_class_name(source_path).value_as_string()) + var template: String = GdUnitSettings.get_setting(GdUnitSettings.TEMPLATE_TS_GD, default_GD_template()) + + return template\ .replace(TAG_TEST_SUITE_CLASS, clazz_name+"Test")\ .replace(TAG_SOURCE_RESOURCE_PATH, source_path)\ .replace(TAG_SOURCE_CLASS_NAME, clazz_name)\ diff --git a/addons/gdUnit4/src/core/thread/GdUnitThreadContext.gd b/addons/gdUnit4/src/core/thread/GdUnitThreadContext.gd index fe326a6..f2b2672 100644 --- a/addons/gdUnit4/src/core/thread/GdUnitThreadContext.gd +++ b/addons/gdUnit4/src/core/thread/GdUnitThreadContext.gd @@ -4,9 +4,9 @@ extends RefCounted var _thread :Thread var _thread_name :String var _thread_id :int -var _assert :GdUnitAssert var _signal_collector :GdUnitSignalCollector var _execution_context :GdUnitExecutionContext +var _asserts := [] func _init(thread :Thread = null) -> void: @@ -21,7 +21,7 @@ func _init(thread :Thread = null) -> void: func dispose() -> void: - _assert = null + clear_assert() if is_instance_valid(_signal_collector): _signal_collector.clear() _signal_collector = null @@ -29,13 +29,17 @@ func dispose() -> void: _thread = null -func set_assert(value :GdUnitAssert) -> GdUnitThreadContext: - _assert = value - return self +func clear_assert() -> void: + _asserts.clear() + + +func set_assert(value :GdUnitAssert) -> void: + if value != null: + _asserts.append(value) func get_assert() -> GdUnitAssert: - return _assert + return null if _asserts.is_empty() else _asserts[-1] func set_execution_context(context :GdUnitExecutionContext) -> void: diff --git a/addons/gdUnit4/src/core/thread/GdUnitThreadManager.gd b/addons/gdUnit4/src/core/thread/GdUnitThreadManager.gd index ad124ce..31b1078 100644 --- a/addons/gdUnit4/src/core/thread/GdUnitThreadManager.gd +++ b/addons/gdUnit4/src/core/thread/GdUnitThreadManager.gd @@ -36,6 +36,7 @@ func _run(name :String, cb :Callable) -> Variant: var save_current_thread_id := _current_thread_id var thread := Thread.new() thread.set_meta("name", name) + @warning_ignore("return_value_discarded") thread.start(cb) _current_thread_id = thread.get_id() as int _register_thread(thread, _current_thread_id) @@ -52,8 +53,9 @@ func _register_thread(thread :Thread, thread_id :int) -> void: func _unregister_thread(thread_id :int) -> void: - var context := _thread_context_by_id.get(thread_id) as GdUnitThreadContext + var context: GdUnitThreadContext = _thread_context_by_id.get(thread_id) if context: + @warning_ignore("return_value_discarded") _thread_context_by_id.erase(thread_id) context.dispose() diff --git a/addons/gdUnit4/src/doubler/CallableDoubler.gd b/addons/gdUnit4/src/doubler/CallableDoubler.gd new file mode 100644 index 0000000..14a5947 --- /dev/null +++ b/addons/gdUnit4/src/doubler/CallableDoubler.gd @@ -0,0 +1,210 @@ +## The helper class to allow to double Callable +## Is just a wrapper to the original callable with the same function signature. +## +## Due to interface conflicts between 'Callable' and 'Object', +## it is not possible to stub the 'call' and 'call_deferred' methods. +## +## The Callable interface and the Object class have overlapping method signatures, +## which causes conflicts when attempting to stub these methods. +## As a result, you cannot create stubs for 'call' and 'call_deferred' methods. + +class_name CallableDoubler + + +const doubler_script :Script = preload("res://addons/gdUnit4/src/doubler/CallableDoubler.gd") + +var _cb: Callable + + +func _init(cb: Callable) -> void: + assert(cb!=null, "Invalid argument must not be null") + _cb = cb + +## --- helpers ----------------------------------------------------------------------------------------------------------------------------- +static func map_func_name(method_info: Dictionary) -> String: + return method_info["name"] + + +## We do not want to double all functions based on Object for this class +## Is used on SpyBuilder to excluding functions to be doubled for Callable +static func excluded_functions() -> PackedStringArray: + return ClassDB.class_get_method_list("Object")\ + .map(CallableDoubler.map_func_name)\ + .filter(func (name: String) -> bool: + return !CallableDoubler.callable_functions().has(name)) + + +static func non_callable_functions(name: String) -> bool: + return ![ + # we allow "_init", is need to construct it, + "excluded_functions", + "non_callable_functions", + "callable_functions", + "map_func_name" + ].has(name) + + +## Returns the list of supported Callable functions +static func callable_functions() -> PackedStringArray: + var supported_functions :Array = doubler_script.get_script_method_list()\ + .map(CallableDoubler.map_func_name)\ + .filter(CallableDoubler.non_callable_functions) + # We manually add these functions that we cannot/may not overwrite in this class + supported_functions.append_array(["call_deferred", "callv"]) + return supported_functions + + +## ----------------------------------------------------------------------------------------------------------------------------------------- +## Callable functions stubing +## ----------------------------------------------------------------------------------------------------------------------------------------- + +@warning_ignore("untyped_declaration") +func bind(arg0=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg1=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg2=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg3=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg4=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg5=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg6=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg7=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg8=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg9=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE) -> Callable: + # save + var bind_values: Array = GdArrayTools.filter_value([arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9], GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE) + _cb = _cb.bindv(bind_values) + return _cb + + +func bindv(caller_args: Array) -> Callable: + _cb = _cb.bindv(caller_args) + return _cb + + +@warning_ignore("untyped_declaration", "native_method_override", "unused_parameter") +func call(arg0=null, + arg1=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg2=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg3=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg4=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg5=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg6=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg7=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg8=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg9=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE) -> Variant: + + # This is a placeholder function signanture without any functionallity! + # It is used by the function doubler to double function signature of Callable:call() + # The doubled function calls direct _cb.callv() see GdUnitSpyFunctionDoubler:TEMPLATE_CALLABLE_CALL template + assert(false) + return null + + +# Is not supported, see class description +#func call_deferred(a) -> void: +# pass + + +# Is not supported, see class description +#func callv(a) -> void: +# pass + + + +func get_bound_arguments() -> Array: + return _cb.get_bound_arguments() + + +func get_bound_arguments_count() -> int: + return _cb.get_bound_arguments_count() + + +func get_method() -> StringName: + return _cb.get_method() + + +func get_object() -> Object: + return _cb.get_object() + + +func get_object_id() -> int: + return _cb.get_object_id() + + +func hash() -> int: + return _cb.hash() + + +func is_custom() -> bool: + return _cb.is_custom() + + +func is_null() -> bool: + return _cb.is_null() + + +func is_standard() -> bool: + return _cb.is_standard() + + +func is_valid() -> bool: + return _cb.is_valid() + + +@warning_ignore("untyped_declaration") +func rpc(arg0=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg1=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg2=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg3=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg4=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg5=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg6=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg7=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg8=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg9=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE) -> void: + + var args: Array = GdArrayTools.filter_value([arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9], GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE) + match args.size(): + 0: _cb.rpc(0) + 1: _cb.rpc(args[0]) + 2: _cb.rpc(args[0], args[1]) + 3: _cb.rpc(args[0], args[1], args[2]) + 4: _cb.rpc(args[0], args[1], args[2], args[3]) + 5: _cb.rpc(args[0], args[1], args[2], args[3], args[4]) + 6: _cb.rpc(args[0], args[1], args[2], args[3], args[4], args[5]) + 7: _cb.rpc(args[0], args[1], args[2], args[3], args[4], args[5], args[6]) + 8: _cb.rpc(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]) + 9: _cb.rpc(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]) + 10: _cb.rpc(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]) + + +@warning_ignore("untyped_declaration") +func rpc_id(peer_id: int, + arg0=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg1=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg2=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg3=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg4=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg5=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg6=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg7=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg8=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE, + arg9=GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE) -> void: + + var args: Array = GdArrayTools.filter_value([arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9], GdObjects.TYPE_VARARG_PLACEHOLDER_VALUE) + match args.size(): + 0: _cb.rpc_id(peer_id) + 1: _cb.rpc_id(peer_id, args[0]) + 2: _cb.rpc_id(peer_id, args[0], args[1]) + 3: _cb.rpc_id(peer_id, args[0], args[1], args[2]) + 4: _cb.rpc_id(peer_id, args[0], args[1], args[2], args[3]) + 5: _cb.rpc_id(peer_id, args[0], args[1], args[2], args[3], args[4]) + 6: _cb.rpc_id(peer_id, args[0], args[1], args[2], args[3], args[4], args[5]) + 7: _cb.rpc_id(peer_id, args[0], args[1], args[2], args[3], args[4], args[5], args[6]) + 8: _cb.rpc_id(peer_id, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]) + 9: _cb.rpc_id(peer_id, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]) + 10: _cb.rpc_id(peer_id, args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]) + + +func unbind(argcount: int) -> Callable: + _cb = _cb.unbind(argcount) + return _cb diff --git a/addons/gdUnit4/src/extractors/GdUnitFuncValueExtractor.gd b/addons/gdUnit4/src/extractors/GdUnitFuncValueExtractor.gd index 29cc62b..124d3d4 100644 --- a/addons/gdUnit4/src/extractors/GdUnitFuncValueExtractor.gd +++ b/addons/gdUnit4/src/extractors/GdUnitFuncValueExtractor.gd @@ -1,4 +1,5 @@ # This class defines a value extractor by given function name and args +class_name GdUnitFuncValueExtractor extends GdUnitValueExtractor var _func_names :PackedStringArray @@ -27,13 +28,14 @@ func args() -> Array: # # if the value not a Object or not accesible be `func_name` the value is converted to `"n.a."` # expecing null values -func extract_value(value :Variant) -> Variant: +func extract_value(value: Variant) -> Variant: if value == null: return null for func_name in func_names(): if GdArrayTools.is_array_type(value): var values := Array() - for element :Variant in Array(value): + @warning_ignore("unsafe_cast") + for element: Variant in (value as Array): values.append(_call_func(element, func_name)) value = values else: @@ -50,17 +52,19 @@ func _call_func(value :Variant, func_name :String) -> Variant: # for array types we need to call explicit by function name, using funcref is only supported for Objects # TODO extend to all array functions if GdArrayTools.is_array_type(value) and func_name == "empty": - return value.is_empty() + @warning_ignore("unsafe_cast") + return (value as Array).is_empty() if is_instance_valid(value): # extract from function - if value.has_method(func_name): - var extract := Callable(value, func_name) + var obj_value: Object = value + if obj_value.has_method(func_name): + var extract := Callable(obj_value, func_name) if extract.is_valid(): - return value.call(func_name) if args().is_empty() else value.callv(func_name, args()) + return obj_value.call(func_name) if args().is_empty() else obj_value.callv(func_name, args()) else: # if no function exists than try to extract form parmeters - var parameter :Variant = value.get(func_name) + var parameter: Variant = obj_value.get(func_name) if parameter != null: return parameter # nothing found than return 'n.a.' diff --git a/addons/gdUnit4/src/fuzzers/StringFuzzer.gd b/addons/gdUnit4/src/fuzzers/StringFuzzer.gd index 9b13e8a..ca165d3 100644 --- a/addons/gdUnit4/src/fuzzers/StringFuzzer.gd +++ b/addons/gdUnit4/src/fuzzers/StringFuzzer.gd @@ -60,5 +60,6 @@ func next_value() -> String: var max_char := len(_charset) var length :int = max(_min_length, randi() % _max_length) for i in length: + @warning_ignore("return_value_discarded") value.append(_charset[randi() % max_char]) return value.get_string_from_utf8() diff --git a/addons/gdUnit4/src/matchers/AnyClazzArgumentMatcher.gd b/addons/gdUnit4/src/matchers/AnyClazzArgumentMatcher.gd index 2cf0790..b5e3de3 100644 --- a/addons/gdUnit4/src/matchers/AnyClazzArgumentMatcher.gd +++ b/addons/gdUnit4/src/matchers/AnyClazzArgumentMatcher.gd @@ -12,12 +12,14 @@ func is_match(value :Variant) -> bool: if typeof(value) != TYPE_OBJECT: return false if is_instance_valid(value) and GdObjects.is_script(_clazz): - return value.get_script() == _clazz + @warning_ignore("unsafe_cast") + return (value as Object).get_script() == _clazz return is_instance_of(value, _clazz) func _to_string() -> String: if (_clazz as Object).is_class("GDScriptNativeClass"): + @warning_ignore("unsafe_method_access") var instance :Object = _clazz.new() var clazz_name := instance.get_class() if not instance is RefCounted: diff --git a/addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd b/addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd index ec62ecf..f779bd7 100644 --- a/addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd +++ b/addons/gdUnit4/src/matchers/ChainedArgumentMatcher.gd @@ -9,13 +9,13 @@ func _init(matchers :Array) -> void: func is_match(arguments :Variant) -> bool: - var arg_array := arguments as Array - if arg_array.size() != _matchers.size(): + var arg_array: Array = arguments + if arg_array == null or arg_array.size() != _matchers.size(): return false for index in arg_array.size(): - var arg :Variant = arg_array[index] - var matcher := _matchers[index] as GdUnitArgumentMatcher + var arg: Variant = arg_array[index] + var matcher: GdUnitArgumentMatcher = _matchers[index] if not matcher.is_match(arg): return false diff --git a/addons/gdUnit4/src/mocking/GdUnitMock.gd b/addons/gdUnit4/src/mocking/GdUnitMock.gd index bb50e5e..c520d92 100644 --- a/addons/gdUnit4/src/mocking/GdUnitMock.gd +++ b/addons/gdUnit4/src/mocking/GdUnitMock.gd @@ -9,10 +9,10 @@ const RETURN_DEFAULTS = "RETURN_DEFAULTS" ## builds full deep mocked object const RETURN_DEEP_STUB = "RETURN_DEEP_STUB" -var _value :Variant +var _value: Variant -func _init(value :Variant) -> void: +func _init(value: Variant) -> void: _value = value @@ -21,9 +21,10 @@ func _init(value :Variant) -> void: ## [codeblock] ## do_return(false).on(myMock).is_selected() ## [/codeblock] -func on(obj :Object) -> Object: - if not GdUnitMock._is_mock_or_spy( obj, "__do_return"): +func on(obj: Variant) -> Variant: + if not GdUnitMock._is_mock_or_spy(obj, "__do_return"): return obj + @warning_ignore("unsafe_method_access") return obj.__do_return(_value) @@ -33,8 +34,12 @@ func checked(obj :Object) -> Object: return on(obj) -static func _is_mock_or_spy(obj :Object, func_sig :String) -> bool: - if obj is GDScript and not obj.get_script().has_script_method(func_sig): +static func _is_mock_or_spy(obj: Variant, func_sig: String) -> bool: + if obj is Object and not as_object(obj).has_method(func_sig): push_error("Error: You try to use a non mock or spy!") return false return true + + +static func as_object(value: Variant) -> Object: + return value diff --git a/addons/gdUnit4/src/mocking/GdUnitMockBuilder.gd b/addons/gdUnit4/src/mocking/GdUnitMockBuilder.gd index b3bb41a..bc26d65 100644 --- a/addons/gdUnit4/src/mocking/GdUnitMockBuilder.gd +++ b/addons/gdUnit4/src/mocking/GdUnitMockBuilder.gd @@ -9,6 +9,7 @@ static func is_push_errors() -> bool: return GdUnitSettings.is_report_push_errors() +@warning_ignore("unsafe_method_access", "unsafe_cast") static func build(clazz :Variant, mock_mode :String, debug_write := false) -> Variant: var push_errors := is_push_errors() if not is_mockable(clazz, push_errors): @@ -17,7 +18,7 @@ static func build(clazz :Variant, mock_mode :String, debug_write := false) -> Va if GdObjects.is_scene(clazz): return mock_on_scene(clazz as PackedScene, debug_write) elif typeof(clazz) == TYPE_STRING and clazz.ends_with(".tscn"): - return mock_on_scene(load(clazz), debug_write) + return mock_on_scene(load(clazz as String) as PackedScene, debug_write) # mocking a script var instance := create_instance(clazz) var mock := mock_on_script(instance, clazz, [ "get_script"], debug_write) @@ -25,32 +26,34 @@ static func build(clazz :Variant, mock_mode :String, debug_write := false) -> Va instance.free() if mock == null: return null - var mock_instance :Variant = mock.new() + var mock_instance: Variant = mock.new() mock_instance.__set_script(mock) mock_instance.__set_singleton() mock_instance.__set_mode(mock_mode) return register_auto_free(mock_instance) -static func create_instance(clazz :Variant) -> Object: +@warning_ignore("unsafe_method_access", "unsafe_cast") +static func create_instance(clazz: Variant) -> Object: if typeof(clazz) == TYPE_OBJECT and (clazz as Object).is_class("GDScriptNativeClass"): return clazz.new() elif (clazz is GDScript) || (typeof(clazz) == TYPE_STRING and clazz.ends_with(".gd")): - var script :GDScript = null + var script: GDScript = null if clazz is GDScript: script = clazz else: - script = load(clazz) + script = load(clazz as String) var args := GdObjects.build_function_default_arguments(script, "_init") return script.callv("new", args) - elif typeof(clazz) == TYPE_STRING and ClassDB.can_instantiate(clazz): - return ClassDB.instantiate(clazz) + elif typeof(clazz) == TYPE_STRING and ClassDB.can_instantiate(clazz as String): + return ClassDB.instantiate(clazz as String) push_error("Can't create a mock validation instance from class: `%s`" % clazz) return null -static func mock_on_scene(scene :PackedScene, debug_write :bool) -> Object: +@warning_ignore("unsafe_method_access") +static func mock_on_scene(scene :PackedScene, debug_write :bool) -> Variant: var push_errors := is_push_errors() if not scene.can_instantiate(): if push_errors: @@ -61,6 +64,7 @@ static func mock_on_scene(scene :PackedScene, debug_write :bool) -> Object: if scene_instance.get_script() == null: if push_errors: push_error("Can't create a mockable instance for a scene without script '%s'" % scene.resource_path) + @warning_ignore("return_value_discarded") GdUnitTools.free_instance(scene_instance) return null @@ -95,11 +99,13 @@ static func mock_on_script(instance :Object, clazz :Variant, function_excludes : var mock := GDScript.new() mock.source_code = "\n".join(lines) - mock.resource_name = "Mock%s.gd" % clazz_name - mock.resource_path = GdUnitFileAccess.create_temp_dir("mock") + "/Mock%s_%d.gd" % [clazz_name, Time.get_ticks_msec()] + mock.resource_name = "Mock%s_%d.gd" % [clazz_name, Time.get_ticks_msec()] + mock.resource_path = "%s/%s" % [GdUnitFileAccess.create_temp_dir("mock"), mock.resource_name] if debug_write: + @warning_ignore("return_value_discarded") DirAccess.remove_absolute(mock.resource_path) + @warning_ignore("return_value_discarded") ResourceSaver.save(mock, mock.resource_path) var error := mock.reload(true) if error != OK: @@ -131,7 +137,7 @@ static func is_mockable(clazz :Variant, push_errors :bool=false) -> bool: return false return true # verify by class name checked registered classes - var clazz_name := clazz as String + var clazz_name: String = clazz if ClassDB.class_exists(clazz_name): if Engine.has_singleton(clazz_name): if push_errors: diff --git a/addons/gdUnit4/src/mocking/GdUnitMockFunctionDoubler.gd b/addons/gdUnit4/src/mocking/GdUnitMockFunctionDoubler.gd index 4d8d300..f746421 100644 --- a/addons/gdUnit4/src/mocking/GdUnitMockFunctionDoubler.gd +++ b/addons/gdUnit4/src/mocking/GdUnitMockFunctionDoubler.gd @@ -3,36 +3,36 @@ extends GdFunctionDoubler const TEMPLATE_FUNC_WITH_RETURN_VALUE = """ - var args :Array = ["$(func_name)", $(arguments)] + var args__: Array = ["$(func_name)", $(arguments)] if $(instance)__is_prepare_return_value(): - $(instance)__save_function_return_value(args) + $(instance)__save_function_return_value(args__) return ${default_return_value} if $(instance)__is_verify_interactions(): - $(instance)__verify_interactions(args) + $(instance)__verify_interactions(args__) return ${default_return_value} else: - $(instance)__save_function_interaction(args) + $(instance)__save_function_interaction(args__) - if $(instance)__do_call_real_func("$(func_name)", args): + if $(instance)__do_call_real_func("$(func_name)", args__): return $(await)super($(arguments)) - return $(instance)__get_mocked_return_value_or_default(args, ${default_return_value}) + return $(instance)__get_mocked_return_value_or_default(args__, ${default_return_value}) """ const TEMPLATE_FUNC_WITH_RETURN_VOID = """ - var args :Array = ["$(func_name)", $(arguments)] + var args__: Array = ["$(func_name)", $(arguments)] if $(instance)__is_prepare_return_value(): if $(push_errors): push_error(\"Mocking a void function '$(func_name)() -> void:' is not allowed.\") return if $(instance)__is_verify_interactions(): - $(instance)__verify_interactions(args) + $(instance)__verify_interactions(args__) return else: - $(instance)__save_function_interaction(args) + $(instance)__save_function_interaction(args__) if $(instance)__do_call_real_func("$(func_name)"): $(await)super($(arguments)) @@ -41,34 +41,34 @@ const TEMPLATE_FUNC_WITH_RETURN_VOID = """ const TEMPLATE_FUNC_VARARG_RETURN_VALUE = """ - var varargs :Array = __filter_vargs([$(varargs)]) - var args :Array = ["$(func_name)", $(arguments)] + varargs + var varargs__: Array = __filter_vargs([$(varargs)]) + var args__: Array = ["$(func_name)", $(arguments)] + varargs__ if $(instance)__is_prepare_return_value(): if $(push_errors): push_error(\"Mocking a void function '$(func_name)() -> void:' is not allowed.\") - $(instance)__save_function_return_value(args) + $(instance)__save_function_return_value(args__) return ${default_return_value} if $(instance)__is_verify_interactions(): - $(instance)__verify_interactions(args) + $(instance)__verify_interactions(args__) return ${default_return_value} else: - $(instance)__save_function_interaction(args) + $(instance)__save_function_interaction(args__) - if $(instance)__do_call_real_func("$(func_name)", args): - match varargs.size(): + if $(instance)__do_call_real_func("$(func_name)", args__): + match varargs__.size(): 0: return $(await)super($(arguments)) - 1: return $(await)super($(arguments), varargs[0]) - 2: return $(await)super($(arguments), varargs[0], varargs[1]) - 3: return $(await)super($(arguments), varargs[0], varargs[1], varargs[2]) - 4: return $(await)super($(arguments), varargs[0], varargs[1], varargs[2], varargs[3]) - 5: return $(await)super($(arguments), varargs[0], varargs[1], varargs[2], varargs[3], varargs[4]) - 6: return $(await)super($(arguments), varargs[0], varargs[1], varargs[2], varargs[3], varargs[4], varargs[5]) - 7: return $(await)super($(arguments), varargs[0], varargs[1], varargs[2], varargs[3], varargs[4], varargs[5], varargs[6]) - 8: return $(await)super($(arguments), varargs[0], varargs[1], varargs[2], varargs[3], varargs[4], varargs[5], varargs[6], varargs[7]) - 9: return $(await)super($(arguments), varargs[0], varargs[1], varargs[2], varargs[3], varargs[4], varargs[5], varargs[6], varargs[7], varargs[8]) - 10: return $(await)super($(arguments), varargs[0], varargs[1], varargs[2], varargs[3], varargs[4], varargs[5], varargs[6], varargs[7], varargs[8], varargs[9]) - return __get_mocked_return_value_or_default(args, ${default_return_value}) + 1: return $(await)super($(arguments), varargs__[0]) + 2: return $(await)super($(arguments), varargs__[0], varargs__[1]) + 3: return $(await)super($(arguments), varargs__[0], varargs__[1], varargs__[2]) + 4: return $(await)super($(arguments), varargs__[0], varargs__[1], varargs__[2], varargs__[3]) + 5: return $(await)super($(arguments), varargs__[0], varargs__[1], varargs__[2], varargs__[3], varargs__[4]) + 6: return $(await)super($(arguments), varargs__[0], varargs__[1], varargs__[2], varargs__[3], varargs__[4], varargs__[5]) + 7: return $(await)super($(arguments), varargs__[0], varargs__[1], varargs__[2], varargs__[3], varargs__[4], varargs__[5], varargs__[6]) + 8: return $(await)super($(arguments), varargs__[0], varargs__[1], varargs__[2], varargs__[3], varargs__[4], varargs__[5], varargs__[6], varargs__[7]) + 9: return $(await)super($(arguments), varargs__[0], varargs__[1], varargs__[2], varargs__[3], varargs__[4], varargs__[5], varargs__[6], varargs__[7], varargs__[8]) + 10: return $(await)super($(arguments), varargs__[0], varargs__[1], varargs__[2], varargs__[3], varargs__[4], varargs__[5], varargs__[6], varargs__[7], varargs__[8], varargs__[9]) + return __get_mocked_return_value_or_default(args__, ${default_return_value}) """ @@ -77,9 +77,10 @@ func _init(push_errors :bool = false) -> void: super._init(push_errors) -func get_template(return_type :Variant, is_vararg :bool) -> String: - if is_vararg: +func get_template(fd: GdFunctionDescriptor, _is_callable: bool) -> String: + if fd.is_vararg(): return TEMPLATE_FUNC_VARARG_RETURN_VALUE + var return_type :Variant = fd.return_type() if return_type is StringName: return TEMPLATE_FUNC_WITH_RETURN_VALUE return TEMPLATE_FUNC_WITH_RETURN_VOID if (return_type == TYPE_NIL or return_type == GdObjects.TYPE_VOID) else TEMPLATE_FUNC_WITH_RETURN_VALUE diff --git a/addons/gdUnit4/src/mocking/GdUnitMockImpl.gd b/addons/gdUnit4/src/mocking/GdUnitMockImpl.gd index cbeb782..de43da9 100644 --- a/addons/gdUnit4/src/mocking/GdUnitMockImpl.gd +++ b/addons/gdUnit4/src/mocking/GdUnitMockImpl.gd @@ -77,6 +77,7 @@ func __save_function_return_value(__fuction_args :Array) -> void: __prepare_return_value = false +@warning_ignore("unsafe_method_access") func __is_mocked_args_match(__func_args :Array, __mocked_args :Array) -> bool: var __is_matching := false for __index in __mocked_args.size(): @@ -98,6 +99,7 @@ func __is_mocked_args_match(__func_args :Array, __mocked_args :Array) -> bool: return __is_matching +@warning_ignore("unsafe_method_access") func __get_mocked_return_value_or_default(__fuction_args :Array, __default_return_value :Variant) -> Variant: var __func_name :String = __fuction_args[0] if not __mocked_return_values.has(__func_name): @@ -120,6 +122,7 @@ func __set_mode(mock_working_mode :String) -> Object: return self +@warning_ignore("unsafe_method_access") func __do_call_real_func(__func_name :String, __func_args := []) -> bool: var __is_call_real_func := __mock_working_mode == GdUnitMock.CALL_REAL_FUNC and not __excluded_methods.has(__func_name) # do not call real funcions for mocked functions diff --git a/addons/gdUnit4/src/monitor/ErrorLogEntry.gd b/addons/gdUnit4/src/monitor/ErrorLogEntry.gd index 4f767bb..5ee1487 100644 --- a/addons/gdUnit4/src/monitor/ErrorLogEntry.gd +++ b/addons/gdUnit4/src/monitor/ErrorLogEntry.gd @@ -14,37 +14,48 @@ const GdUnitTools := preload("res://addons/gdUnit4/src/core/GdUnitTools.gd") const PATTERN_SCRIPT_ERROR := "USER SCRIPT ERROR:" const PATTERN_PUSH_ERROR := "USER ERROR:" const PATTERN_PUSH_WARNING := "USER WARNING:" +# With Godot 4.4 the pattern has changed +const PATTERN_4x4_SCRIPT_ERROR := "SCRIPT ERROR:" +const PATTERN_4x4_PUSH_ERROR := "ERROR:" +const PATTERN_4x4_PUSH_WARNING := "WARNING:" static var _regex_parse_error_line_number: RegEx -var _type :TYPE -var _line :int -var _message :String -var _details :String +var _type: TYPE +var _line: int +var _message: String +var _details: String -func _init(type :TYPE, line :int, message :String, details :String) -> void: +func _init(type: TYPE, line: int, message: String, details: String) -> void: _type = type _line = line _message = message _details = details -static func extract_push_warning(records :PackedStringArray, index :int) -> ErrorLogEntry: - return _extract(records, index, TYPE.PUSH_WARNING, PATTERN_PUSH_WARNING) +static func is_godot4x4() -> bool: + return Engine.get_version_info().hex >= 0x40400 -static func extract_push_error(records :PackedStringArray, index :int) -> ErrorLogEntry: - return _extract(records, index, TYPE.PUSH_ERROR, PATTERN_PUSH_ERROR) +static func extract_push_warning(records: PackedStringArray, index: int) -> ErrorLogEntry: + var pattern := PATTERN_4x4_PUSH_WARNING if is_godot4x4() else PATTERN_PUSH_WARNING + return _extract(records, index, TYPE.PUSH_WARNING, pattern) -static func extract_error(records :PackedStringArray, index :int) -> ErrorLogEntry: - return _extract(records, index, TYPE.SCRIPT_ERROR, PATTERN_SCRIPT_ERROR) +static func extract_push_error(records: PackedStringArray, index: int) -> ErrorLogEntry: + var pattern := PATTERN_4x4_PUSH_ERROR if is_godot4x4() else PATTERN_PUSH_ERROR + return _extract(records, index, TYPE.PUSH_ERROR, pattern) -static func _extract(records :PackedStringArray, index :int, type :TYPE, pattern :String) -> ErrorLogEntry: +static func extract_error(records: PackedStringArray, index: int) -> ErrorLogEntry: + var pattern := PATTERN_4x4_SCRIPT_ERROR if is_godot4x4() else PATTERN_SCRIPT_ERROR + return _extract(records, index, TYPE.SCRIPT_ERROR, pattern) + + +static func _extract(records: PackedStringArray, index: int, type: TYPE, pattern: String) -> ErrorLogEntry: var message := records[index] - if message.contains(pattern): + if message.begins_with(pattern): var error := message.replace(pattern, "").strip_edges() var details := records[index+1].strip_edges() var line := _parse_error_line_number(details) @@ -52,7 +63,7 @@ static func _extract(records :PackedStringArray, index :int, type :TYPE, pattern return null -static func _parse_error_line_number(record :String) -> int: +static func _parse_error_line_number(record: String) -> int: if _regex_parse_error_line_number == null: _regex_parse_error_line_number = GdUnitTools.to_regex("at: .*res://.*:(\\d+)") var matches := _regex_parse_error_line_number.search(record) diff --git a/addons/gdUnit4/src/monitor/GodotGdErrorMonitor.gd b/addons/gdUnit4/src/monitor/GodotGdErrorMonitor.gd index 720fe5c..2ea2234 100644 --- a/addons/gdUnit4/src/monitor/GodotGdErrorMonitor.gd +++ b/addons/gdUnit4/src/monitor/GodotGdErrorMonitor.gd @@ -1,8 +1,8 @@ class_name GodotGdErrorMonitor extends GdUnitMonitor -var _godot_log_file :String -var _eof :int +var _godot_log_file: String +var _eof: int var _report_enabled := false var _entries: Array[ErrorLogEntry] = [] @@ -25,14 +25,14 @@ func stop() -> void: func to_reports() -> Array[GdUnitReport]: - var reports_ :Array[GdUnitReport] = [] + var reports_: Array[GdUnitReport] = [] if _report_enabled: reports_.assign(_entries.map(_to_report)) _entries.clear() return reports_ -static func _to_report(errorLog :ErrorLogEntry) -> GdUnitReport: +static func _to_report(errorLog: ErrorLogEntry) -> GdUnitReport: var failure := "%s\n\t%s\n%s %s" % [ GdAssertMessages._error("Godot Runtime Error !"), GdAssertMessages._colored_value(errorLog._details), @@ -42,25 +42,26 @@ static func _to_report(errorLog :ErrorLogEntry) -> GdUnitReport: func scan(force_collect_reports := false) -> Array[ErrorLogEntry]: - await Engine.get_main_loop().process_frame - await Engine.get_main_loop().physics_frame + await (Engine.get_main_loop() as SceneTree).process_frame + await (Engine.get_main_loop() as SceneTree).physics_frame _entries.append_array(_collect_log_entries(force_collect_reports)) return _entries -func erase_log_entry(entry :ErrorLogEntry) -> void: +func erase_log_entry(entry: ErrorLogEntry) -> void: _entries.erase(entry) -func _collect_log_entries(force_collect_reports :bool) -> Array[ErrorLogEntry]: +func _collect_log_entries(force_collect_reports: bool) -> Array[ErrorLogEntry]: var file := FileAccess.open(_godot_log_file, FileAccess.READ) file.seek(_eof) var records := PackedStringArray() while not file.eof_reached(): + @warning_ignore("return_value_discarded") records.append(file.get_line()) file.seek_end(0) _eof = file.get_length() - var log_entries :Array[ErrorLogEntry]= [] + var log_entries: Array[ErrorLogEntry]= [] var is_report_errors := force_collect_reports or _is_report_push_errors() var is_report_script_errors := force_collect_reports or _is_report_script_errors() for index in records.size(): @@ -70,7 +71,7 @@ func _collect_log_entries(force_collect_reports :bool) -> Array[ErrorLogEntry]: log_entries.append(ErrorLogEntry.extract_push_error(records, index)) if is_report_script_errors: log_entries.append(ErrorLogEntry.extract_error(records, index)) - return log_entries.filter(func(value :ErrorLogEntry) -> bool: return value != null ) + return log_entries.filter(func(value: ErrorLogEntry) -> bool: return value != null ) func _is_reporting_enabled() -> bool: diff --git a/addons/gdUnit4/src/mono/GdUnit4CSharpApiLoader.gd b/addons/gdUnit4/src/mono/GdUnit4CSharpApiLoader.gd index e828a9e..d6c815c 100644 --- a/addons/gdUnit4/src/mono/GdUnit4CSharpApiLoader.gd +++ b/addons/gdUnit4/src/mono/GdUnit4CSharpApiLoader.gd @@ -6,6 +6,7 @@ static func instance() -> Object: return GdUnitSingleton.instance("GdUnit4CSharpApi", func() -> Object: if not GdUnit4CSharpApiLoader.is_mono_supported(): return null + @warning_ignore("unsafe_method_access") return load("res://addons/gdUnit4/src/mono/GdUnit4CSharpApi.cs").new() ) @@ -22,15 +23,17 @@ static func is_mono_supported() -> bool: static func version() -> String: if not GdUnit4CSharpApiLoader.is_mono_supported(): return "unknown" + @warning_ignore("unsafe_method_access") return instance().Version() static func create_test_suite(source_path :String, line_number :int, test_suite_path :String) -> GdUnitResult: if not GdUnit4CSharpApiLoader.is_mono_supported(): return GdUnitResult.error("Can't create test suite. No C# support found.") - var result := instance().CreateTestSuite(source_path, line_number, test_suite_path) as Dictionary + @warning_ignore("unsafe_method_access") + var result: Dictionary = instance().CreateTestSuite(source_path, line_number, test_suite_path) if result.has("error"): - return GdUnitResult.error(result.get("error")) + return GdUnitResult.error(str(result.get("error"))) return GdUnitResult.success(result) @@ -42,6 +45,7 @@ static func is_test_suite(resource_path :String) -> bool: if GdUnitSettings.is_report_push_errors(): push_error("Can't create test suite. Missing resource path.") return false + @warning_ignore("unsafe_method_access") return instance().IsTestSuite(resource_path) @@ -50,12 +54,14 @@ static func parse_test_suite(source_path :String) -> Node: if GdUnitSettings.is_report_push_errors(): push_error("Can't create test suite. No c# support found.") return null + @warning_ignore("unsafe_method_access") return instance().ParseTestSuite(source_path) static func create_executor(listener :Node) -> RefCounted: if not GdUnit4CSharpApiLoader.is_mono_supported(): return null + @warning_ignore("unsafe_method_access") return instance().Executor(listener) diff --git a/addons/gdUnit4/src/network/GdUnitServer.gd b/addons/gdUnit4/src/network/GdUnitServer.gd index 9e6cf6b..ea638c5 100644 --- a/addons/gdUnit4/src/network/GdUnitServer.gd +++ b/addons/gdUnit4/src/network/GdUnitServer.gd @@ -4,6 +4,7 @@ extends Node @onready var _server :GdUnitTcpServer = $TcpServer +@warning_ignore("return_value_discarded") func _ready() -> void: var result := _server.start() if result.is_error(): @@ -17,20 +18,20 @@ func _ready() -> void: GdUnitCommandHandler.instance().gdunit_runner_stop.connect(_on_gdunit_runner_stop) -func _on_client_connected(client_id :int) -> void: +func _on_client_connected(client_id: int) -> void: GdUnitSignals.instance().gdunit_client_connected.emit(client_id) -func _on_client_disconnected(client_id :int) -> void: +func _on_client_disconnected(client_id: int) -> void: GdUnitSignals.instance().gdunit_client_disconnected.emit(client_id) -func _on_gdunit_runner_stop(client_id :int) -> void: +func _on_gdunit_runner_stop(client_id: int) -> void: if _server: _server.disconnect_client(client_id) -func _receive_rpc_data(p_rpc :RPC) -> void: +func _receive_rpc_data(p_rpc: Variant) -> void: if p_rpc is RPCMessage: GdUnitSignals.instance().gdunit_message.emit(p_rpc.message()) return diff --git a/addons/gdUnit4/src/network/GdUnitServer.tscn b/addons/gdUnit4/src/network/GdUnitServer.tscn index 4c7645c..4dbe8c4 100644 --- a/addons/gdUnit4/src/network/GdUnitServer.tscn +++ b/addons/gdUnit4/src/network/GdUnitServer.tscn @@ -1,10 +1,10 @@ -[gd_scene load_steps=3 format=2] +[gd_scene load_steps=3 format=3 uid="uid://cn5mp3tmi2gb1"] -[ext_resource path="res://addons/gdUnit4/src/network/GdUnitServer.gd" type="Script" id=1] -[ext_resource path="res://addons/gdUnit4/src/network/GdUnitTcpServer.gd" type="Script" id=2] +[ext_resource type="Script" path="res://addons/gdUnit4/src/network/GdUnitServer.gd" id="1"] +[ext_resource type="Script" path="res://addons/gdUnit4/src/network/GdUnitTcpServer.gd" id="2"] [node name="Control" type="Node"] -script = ExtResource( 1 ) +script = ExtResource("1") [node name="TcpServer" type="Node" parent="."] -script = ExtResource( 2 ) +script = ExtResource("2") diff --git a/addons/gdUnit4/src/network/GdUnitTcpClient.gd b/addons/gdUnit4/src/network/GdUnitTcpClient.gd index 9239d9d..953c9f5 100644 --- a/addons/gdUnit4/src/network/GdUnitTcpClient.gd +++ b/addons/gdUnit4/src/network/GdUnitTcpClient.gd @@ -51,6 +51,7 @@ func _process(_delta :float) -> void: set_process(false) # wait until client is connected to server for retry in 10: + @warning_ignore("return_value_discarded") _stream.poll() console("wait to connect ..") if _stream.get_status() == StreamPeerTCP.STATUS_CONNECTING: @@ -71,7 +72,7 @@ func _process(_delta :float) -> void: await get_tree().create_timer(0.500).timeout rpc_ = rpc_receive() set_process(true) - _client_id = rpc_.client_id() + _client_id = (rpc_ as RPCClientConnect).client_id() console("Connected to Server: %d" % _client_id) connection_succeeded.emit("Connect to TCP Server %s:%d success." % [_host, _port]) _connected = true @@ -98,6 +99,7 @@ func process_rpc() -> void: func rpc_send(p_rpc :RPC) -> void: if _stream != null: var data := GdUnitServerConstants.JSON_RESPONSE_DELIMITER + p_rpc.serialize() + GdUnitServerConstants.JSON_RESPONSE_DELIMITER + @warning_ignore("return_value_discarded") _stream.put_data(data.to_utf8_buffer()) @@ -106,7 +108,7 @@ func rpc_receive() -> RPC: while _stream.get_available_bytes() > 0: var available_bytes := _stream.get_available_bytes() var data := _stream.get_data(available_bytes) - var received_data := data[1] as PackedByteArray + var received_data: PackedByteArray = data[1] # data send by Godot has this magic header of 12 bytes var header := Array(received_data.slice(0, 4)) if header == [0, 0, 0, 124]: @@ -119,8 +121,8 @@ func rpc_receive() -> RPC: return null -func console(message :String) -> void: - prints("TCP Client:", message) +func console(_message :String) -> void: + #prints("TCP Client:", _message) pass diff --git a/addons/gdUnit4/src/network/GdUnitTcpServer.gd b/addons/gdUnit4/src/network/GdUnitTcpServer.gd index 5ab3f83..05ccf3d 100644 --- a/addons/gdUnit4/src/network/GdUnitTcpServer.gd +++ b/addons/gdUnit4/src/network/GdUnitTcpServer.gd @@ -4,7 +4,8 @@ extends Node signal client_connected(client_id :int) signal client_disconnected(client_id :int) -signal rpc_data(rpc_data :RPC) +@warning_ignore("unused_signal") +signal rpc_data(rpc_data: RPC) var _server :TCPServer @@ -17,6 +18,7 @@ class TcpConnection extends Node: var _readBuffer :String = "" + @warning_ignore("unsafe_method_access") func _init(p_server :Variant) -> void: assert(p_server is TCPServer) _stream = p_server.take_connection() @@ -30,10 +32,12 @@ class TcpConnection extends Node: func close() -> void: - rpc_send(RPCClientDisconnect.new().with_id(_id)) - server().client_disconnected.emit(_id) - _stream.disconnect_from_host() - _readBuffer = "" + if _stream != null: + @warning_ignore("unsafe_method_access") + _stream.disconnect_from_host() + _readBuffer = "" + _stream = null + queue_free() func id() -> int: @@ -44,16 +48,19 @@ class TcpConnection extends Node: return get_parent() - func rpc_send(p_rpc :RPC) -> void: + func rpc_send(p_rpc: RPC) -> void: + @warning_ignore("unsafe_method_access") _stream.put_var(p_rpc.serialize(), true) - func _process(_delta :float) -> void: - if _stream.get_status() != StreamPeerTCP.STATUS_CONNECTED: + func _process(_delta: float) -> void: + @warning_ignore("unsafe_method_access") + if _stream == null or _stream.get_status() != StreamPeerTCP.STATUS_CONNECTED: return receive_packages() + @warning_ignore("unsafe_method_access") func receive_packages() -> void: var available_bytes :int = _stream.get_available_bytes() if available_bytes > 0: @@ -63,7 +70,7 @@ class TcpConnection extends Node: push_error("Error getting data from stream: %s " % partial_data[0]) return else: - var received_data := partial_data[1] as PackedByteArray + var received_data: PackedByteArray = partial_data[1] for package in _read_next_data_packages(received_data): var rpc_ := RPC.deserialize(package) if rpc_ is RPCClientDisconnect: @@ -71,7 +78,7 @@ class TcpConnection extends Node: server().rpc_data.emit(rpc_) - func _read_next_data_packages(data_package :PackedByteArray) -> PackedStringArray: + func _read_next_data_packages(data_package: PackedByteArray) -> PackedStringArray: _readBuffer += data_package.get_string_from_utf8() var json_array := _readBuffer.split(GdUnitServerConstants.JSON_RESPONSE_DELIMITER) # We need to check if the current data is terminated by the delemiter (data packets can be split unspecifically). @@ -94,13 +101,14 @@ class TcpConnection extends Node: pass +@warning_ignore("return_value_discarded") func _ready() -> void: _server = TCPServer.new() client_connected.connect(_on_client_connected) client_disconnected.connect(_on_client_disconnected) -func _notification(what :int) -> void: +func _notification(what: int) -> void: if what == NOTIFICATION_PREDELETE: stop() @@ -129,36 +137,36 @@ func stop() -> void: _server.stop() for connection in get_children(): if connection is TcpConnection: + @warning_ignore("unsafe_method_access") connection.close() remove_child(connection) + _server = null -func disconnect_client(client_id :int) -> void: - for connection in get_children(): - if connection is TcpConnection and connection.id() == client_id: - connection.close() +func disconnect_client(client_id: int) -> void: + client_disconnected.emit(client_id) -func _process(_delta :float) -> void: - if not _server.is_listening(): +func _process(_delta: float) -> void: + if _server != null and not _server.is_listening(): return # check if connection is ready to be used if _server.is_connection_available(): add_child(TcpConnection.new(_server)) -func _on_client_connected(client_id :int) -> void: +func _on_client_connected(client_id: int) -> void: console("Client connected %d" % client_id) -func _on_client_disconnected(client_id :int) -> void: - console("Client disconnected %d" % client_id) +@warning_ignore("unsafe_method_access") +func _on_client_disconnected(client_id: int) -> void: for connection in get_children(): if connection is TcpConnection and connection.id() == client_id: + connection.close() remove_child(connection) - -func console(_message :String) -> void: +func console(_message: String) -> void: #print_debug("TCP Server:", _message) pass diff --git a/addons/gdUnit4/src/network/rpc/RPC.gd b/addons/gdUnit4/src/network/rpc/RPC.gd index 190b05a..c3ddaaf 100644 --- a/addons/gdUnit4/src/network/rpc/RPC.gd +++ b/addons/gdUnit4/src/network/rpc/RPC.gd @@ -13,7 +13,7 @@ static func deserialize(json_value :String) -> Object: if err != OK: push_error("Can't deserialize JSON, error at line %d: %s \n json: '%s'" % [json.get_error_line(), json.get_error_message(), json_value]) return null - var result := json.get_data() as Dictionary + var result :Dictionary = json.get_data() if not typeof(result) == TYPE_DICTIONARY: push_error("Can't deserialize JSON, error at line %d: %s \n json: '%s'" % [result.error_line, result.error_string, json_value]) return null diff --git a/addons/gdUnit4/src/network/rpc/dtos/GdUnitResourceDto.gd b/addons/gdUnit4/src/network/rpc/dtos/GdUnitResourceDto.gd index 9152c8d..9cfd1fe 100644 --- a/addons/gdUnit4/src/network/rpc/dtos/GdUnitResourceDto.gd +++ b/addons/gdUnit4/src/network/rpc/dtos/GdUnitResourceDto.gd @@ -8,6 +8,7 @@ var _path :String func serialize(resource :Node) -> Dictionary: var serialized := Dictionary() serialized["name"] = resource.get_name() + @warning_ignore("unsafe_method_access") serialized["resource_path"] = resource.ResourcePath() return serialized diff --git a/addons/gdUnit4/src/network/rpc/dtos/GdUnitTestCaseDto.gd b/addons/gdUnit4/src/network/rpc/dtos/GdUnitTestCaseDto.gd index 26f5dda..cfb093e 100644 --- a/addons/gdUnit4/src/network/rpc/dtos/GdUnitTestCaseDto.gd +++ b/addons/gdUnit4/src/network/rpc/dtos/GdUnitTestCaseDto.gd @@ -2,15 +2,23 @@ class_name GdUnitTestCaseDto extends GdUnitResourceDto var _line_number :int = -1 +var _script_path: String var _test_case_names :PackedStringArray = [] +@warning_ignore("unsafe_method_access") func serialize(test_case :Node) -> Dictionary: var serialized := super.serialize(test_case) if test_case.has_method("line_number"): serialized["line_number"] = test_case.line_number() else: serialized["line_number"] = test_case.get("LineNumber") + if test_case.has_method("script_path"): + serialized["script_path"] = test_case.script_path() + else: + # TODO 'script_path' needs to be implement in c# the the + # serialized["script_path"] = test_case.get("ScriptPath") + serialized["script_path"] = serialized["resource_path"] if test_case.has_method("test_case_names"): serialized["test_case_names"] = test_case.test_case_names() elif test_case.has_method("TestCaseNames"): @@ -18,9 +26,11 @@ func serialize(test_case :Node) -> Dictionary: return serialized -func deserialize(data :Dictionary) -> GdUnitResourceDto: +func deserialize(data :Dictionary) -> GdUnitTestCaseDto: + @warning_ignore("return_value_discarded") super.deserialize(data) _line_number = data.get("line_number", -1) + _script_path = data.get("script_path", data.get("resource_path", "")) _test_case_names = data.get("test_case_names", []) return self @@ -29,5 +39,9 @@ func line_number() -> int: return _line_number +func script_path() -> String: + return _script_path + + func test_case_names() -> PackedStringArray: return _test_case_names diff --git a/addons/gdUnit4/src/network/rpc/dtos/GdUnitTestSuiteDto.gd b/addons/gdUnit4/src/network/rpc/dtos/GdUnitTestSuiteDto.gd index edbae38..c5d4501 100644 --- a/addons/gdUnit4/src/network/rpc/dtos/GdUnitTestSuiteDto.gd +++ b/addons/gdUnit4/src/network/rpc/dtos/GdUnitTestSuiteDto.gd @@ -21,6 +21,7 @@ func serialize(test_suite :Node) -> Dictionary: func deserialize(data :Dictionary) -> GdUnitResourceDto: + @warning_ignore("return_value_discarded") super.deserialize(data) var test_cases_ :Array = data.get("test_cases", []) for test_case :Dictionary in test_cases_: diff --git a/addons/gdUnit4/src/report/GdUnitByPathReport.gd b/addons/gdUnit4/src/report/GdUnitByPathReport.gd index d08600e..d857ad6 100644 --- a/addons/gdUnit4/src/report/GdUnitByPathReport.gd +++ b/addons/gdUnit4/src/report/GdUnitByPathReport.gd @@ -2,8 +2,8 @@ class_name GdUnitByPathReport extends GdUnitReportSummary -func _init(path :String, report_summaries :Array[GdUnitReportSummary]) -> void: - _resource_path = path +func _init(p_path :String, report_summaries :Array[GdUnitReportSummary]) -> void: + _resource_path = p_path _reports = report_summaries @@ -11,7 +11,7 @@ func _init(path :String, report_summaries :Array[GdUnitReportSummary]) -> void: static func sort_reports_by_path(report_summaries :Array[GdUnitReportSummary]) -> Dictionary: var by_path := Dictionary() for report in report_summaries: - var suite_path :String = report.path() + var suite_path :String = ProjectSettings.localize_path(report.path()) var suite_report :Array[GdUnitReportSummary] = by_path.get(suite_path, [] as Array[GdUnitReportSummary]) suite_report.append(report) by_path[suite_path] = suite_report @@ -27,6 +27,7 @@ func create_record(report_link :String) -> String: func write(report_dir :String) -> String: + calculate_summary() var template := GdUnitHtmlPatterns.load_template("res://addons/gdUnit4/src/report/template/folder_report.html") var path_report := GdUnitHtmlPatterns.build(template, self, "") path_report = apply_testsuite_reports(report_dir, path_report, _reports) @@ -34,6 +35,7 @@ func write(report_dir :String) -> String: var output_path := "%s/path/%s.html" % [report_dir, path().replace("/", ".")] var dir := output_path.get_base_dir() if not DirAccess.dir_exists_absolute(dir): + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(dir) FileAccess.open(output_path, FileAccess.WRITE).store_string(path_report) return output_path @@ -41,9 +43,18 @@ func write(report_dir :String) -> String: func apply_testsuite_reports(report_dir :String, template :String, test_suite_reports :Array[GdUnitReportSummary]) -> String: var table_records := PackedStringArray() - for report in test_suite_reports: - if report is GdUnitTestSuiteReport: - var test_suite_report := report as GdUnitTestSuiteReport - var report_link := test_suite_report.output_path(report_dir).replace(report_dir, "..") - table_records.append(test_suite_report.create_record(report_link)) + for report:GdUnitTestSuiteReport in test_suite_reports: + var report_link := report.output_path(report_dir).replace(report_dir, "..") + @warning_ignore("return_value_discarded") + table_records.append(report.create_record(report_link)) return template.replace(GdUnitHtmlPatterns.TABLE_BY_TESTSUITES, "\n".join(table_records)) + + +func calculate_summary() -> void: + for report:GdUnitTestSuiteReport in get_reports(): + _error_count += report.error_count() + _failure_count += report.failure_count() + _orphan_count += report.orphan_count() + _skipped_count += report.skipped_count() + _flaky_count += report.flaky_count() + _duration += report.duration() diff --git a/addons/gdUnit4/src/report/GdUnitHtmlPatterns.gd b/addons/gdUnit4/src/report/GdUnitHtmlPatterns.gd index 1d9cf86..a9da106 100644 --- a/addons/gdUnit4/src/report/GdUnitHtmlPatterns.gd +++ b/addons/gdUnit4/src/report/GdUnitHtmlPatterns.gd @@ -2,48 +2,79 @@ class_name GdUnitHtmlPatterns extends RefCounted const TABLE_RECORD_TESTSUITE = """ - - ${testsuite_name} + + ${testsuite_name} + ${report_state_label} ${test_count} ${skipped_count} + ${flaky_count} ${failure_count} ${orphan_count} ${duration} - ${success_percent} + +
+
+
+
+
+
+
+
+ """ const TABLE_RECORD_PATH = """ - + ${path} + ${report_state_label} ${test_count} ${skipped_count} + ${flaky_count} ${failure_count} ${orphan_count} ${duration} - ${success_percent} + +
+
+
+
+
+
+
+
+ """ const TABLE_REPORT_TESTSUITE = """ - - TestSuite hooks + + TestSuite hooks n/a ${orphan_count} ${duration} - ${failure-report} + +
+${failure-report}
+										
+ """ const TABLE_RECORD_TESTCASE = """ - - ${testcase_name} + + ${testcase_name} + ${report_state_label} ${skipped_count} ${orphan_count} ${duration} - ${failure-report} + +
+${failure-report}
+										
+ """ @@ -53,16 +84,27 @@ const TABLE_BY_TESTCASES = "${report_table_tests}" # the report state success, error, warning const REPORT_STATE = "${report_state}" +const REPORT_STATE_LABEL = "${report_state_label}" const PATH = "${path}" +const RESOURCE_PATH = "${resource_path}" const TESTSUITE_COUNT = "${suite_count}" const TESTCASE_COUNT = "${test_count}" const FAILURE_COUNT = "${failure_count}" +const FLAKY_COUNT = "${flaky_count}" const SKIPPED_COUNT = "${skipped_count}" const ORPHAN_COUNT = "${orphan_count}" const DURATION = "${duration}" const FAILURE_REPORT = "${failure-report}" const SUCCESS_PERCENT = "${success_percent}" + +const QUICK_STATE_SKIPPED = "${skipped-percent}" +const QUICK_STATE_PASSED = "${passed-percent}" +const QUICK_STATE_FLAKY = "${flaky-percent}" +const QUICK_STATE_ERROR = "${error-percent}" +const QUICK_STATE_FAILED = "${failed-percent}" +const QUICK_STATE_WARNING = "${warning-percent}" + const TESTSUITE_NAME = "${testsuite_name}" const TESTCASE_NAME = "${testcase_name}" const REPORT_LINK = "${report_link}" @@ -74,21 +116,48 @@ static func current_date() -> String: return Time.get_datetime_string_from_system(true, true) -static func build(template :String, report :GdUnitReportSummary, report_link :String) -> String: +static func build(template: String, report: GdUnitReportSummary, report_link: String) -> String: return template\ - .replace(PATH, report.path())\ - .replace(TESTSUITE_NAME, report.name())\ + .replace(PATH, get_report_path(report))\ + .replace(BREADCRUMP_PATH_LINK, get_path_as_link(report))\ + .replace(RESOURCE_PATH, report.resource_path())\ + .replace(TESTSUITE_NAME, report.name_html_encoded())\ .replace(TESTSUITE_COUNT, str(report.suite_count()))\ .replace(TESTCASE_COUNT, str(report.test_count()))\ .replace(FAILURE_COUNT, str(report.error_count() + report.failure_count()))\ + .replace(FLAKY_COUNT, str(report.flaky_count()))\ .replace(SKIPPED_COUNT, str(report.skipped_count()))\ .replace(ORPHAN_COUNT, str(report.orphan_count()))\ .replace(DURATION, LocalTime.elapsed(report.duration()))\ .replace(SUCCESS_PERCENT, report.calculate_succes_rate(report.test_count(), report.error_count(), report.failure_count()))\ - .replace(REPORT_STATE, report.report_state())\ + .replace(REPORT_STATE, report.report_state().to_lower())\ + .replace(REPORT_STATE_LABEL, report.report_state())\ + .replace(QUICK_STATE_SKIPPED, calculate_percentage(report.test_count(), report.skipped_count()))\ + .replace(QUICK_STATE_PASSED, calculate_percentage(report.test_count(), report.success_count()))\ + .replace(QUICK_STATE_FLAKY, calculate_percentage(report.test_count(), report.flaky_count()))\ + .replace(QUICK_STATE_ERROR, calculate_percentage(report.test_count(), report.error_count()))\ + .replace(QUICK_STATE_FAILED, calculate_percentage(report.test_count(), report.failure_count()))\ + .replace(QUICK_STATE_WARNING, calculate_percentage(report.test_count(), 0))\ .replace(REPORT_LINK, report_link)\ .replace(BUILD_DATE, current_date()) static func load_template(template_name :String) -> String: return FileAccess.open(template_name, FileAccess.READ).get_as_text() + + +static func get_path_as_link(report: GdUnitReportSummary) -> String: + return "../path/%s.html" % report.path().replace("/", ".") + + +static func get_report_path(report: GdUnitReportSummary) -> String: + var path := report.path() + if path.is_empty(): + return "/" + return path + + +static func calculate_percentage(p_test_count: int, count: int) -> String: + if count <= 0: + return "0%" + return "%d" % (( 0 if count < 0 else count) * 100.0 / p_test_count) + "%" diff --git a/addons/gdUnit4/src/report/GdUnitHtmlReport.gd b/addons/gdUnit4/src/report/GdUnitHtmlReport.gd index fda9833..94bee48 100644 --- a/addons/gdUnit4/src/report/GdUnitHtmlReport.gd +++ b/addons/gdUnit4/src/report/GdUnitHtmlReport.gd @@ -7,50 +7,97 @@ var _report_path :String var _iteration :int -func _init(report_path :String) -> void: - _iteration = GdUnitFileAccess.find_last_path_index(report_path, REPORT_DIR_PREFIX) + 1 +func _init(report_path :String, max_reports: int) -> void: + if max_reports > 1: + _iteration = GdUnitFileAccess.find_last_path_index(report_path, REPORT_DIR_PREFIX) + 1 + else: + _iteration = 1 _report_path = "%s/%s%d" % [report_path, REPORT_DIR_PREFIX, _iteration] + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(_report_path) -func add_testsuite_report(suite_report :GdUnitTestSuiteReport) -> void: - _reports.append(suite_report) +func add_testsuite_report(p_resource_path: String, p_suite_name: String, p_test_count: int) -> void: + _reports.append(GdUnitTestSuiteReport.new(p_resource_path, p_suite_name, p_test_count)) @warning_ignore("shadowed_variable") -func add_testcase_report(resource_path :String, suite_report :GdUnitTestCaseReport) -> void: - for report in _reports: +func add_testcase(resource_path :String, suite_name :String, test_name: String) -> void: + for report:GdUnitTestSuiteReport in _reports: if report.resource_path() == resource_path: - report.add_report(suite_report) + var test_report := GdUnitTestCaseReport.new(resource_path, suite_name, test_name) + report.add_or_create_test_report(test_report) -@warning_ignore("shadowed_variable") -func update_test_suite_report( - resource_path :String, - duration :int, - _is_error :bool, - is_failed: bool, - _is_warning :bool, - _is_skipped :bool, - skipped_count :int, - failed_count :int, - orphan_count :int, - reports :Array = []) -> void: +func add_testsuite_reports( + p_resource_path :String, + p_error_count :int, + p_failure_count :int, + p_orphan_count :int, + p_duration :int, + p_reports :Array = []) -> void: - for report in _reports: - if report.resource_path() == resource_path: - report.set_duration(duration) - report.set_failed(is_failed, failed_count) - report.set_skipped(skipped_count) - report.set_orphans(orphan_count) - report.set_reports(reports) + for report:GdUnitTestSuiteReport in _reports: + if report.resource_path() == p_resource_path: + report.set_reports(p_reports) + update_summary_counters(p_error_count, p_failure_count, p_orphan_count, 0, 0, p_duration) -@warning_ignore("shadowed_variable") -func update_testcase_report(resource_path :String, test_report :GdUnitTestCaseReport) -> void: - for report in _reports: - if report.resource_path() == resource_path: - report.update(test_report) +func add_testcase_reports( + p_resource_path: String, + p_test_name: String, + p_reports: Array[GdUnitReport]) -> void: + + for report:GdUnitTestSuiteReport in _reports: + if report.resource_path() == p_resource_path: + report.add_testcase_reports(p_test_name, p_reports) + + +func update_testsuite_counters( + p_resource_path :String, + p_error_count: int, + p_failure_count: int, + p_orphan_count: int, + p_is_skipped: bool, + p_is_flaky: bool, + p_duration: int) -> void: + + for report:GdUnitTestSuiteReport in _reports: + if report.resource_path() == p_resource_path: + report.update_testsuite_counters(p_error_count, p_failure_count, p_orphan_count, p_is_skipped, p_is_flaky, p_duration) + update_summary_counters(p_error_count, p_failure_count, p_orphan_count, p_is_skipped, p_is_flaky, 0) + + +func set_testcase_counters( + p_resource_path: String, + p_test_name: String, + p_error_count: int, + p_failure_count: int, + p_orphan_count: int, + p_is_skipped: bool, + p_is_flaky: bool, + p_duration: int) -> void: + + for report:GdUnitTestSuiteReport in _reports: + if report.resource_path() == p_resource_path: + report.set_testcase_counters(p_test_name, p_error_count, p_failure_count, p_orphan_count, + p_is_skipped, p_is_flaky, p_duration) + + +func update_summary_counters( + p_error_count: int, + p_failure_count: int, + p_orphan_count: int, + p_is_skipped: bool, + p_is_flaky: bool, + p_duration: int) -> void: + + _error_count += p_error_count + _failure_count += p_failure_count + _orphan_count += p_orphan_count + _skipped_count += p_is_skipped as int + _flaky_count += p_is_flaky as int + _duration += p_duration func write() -> String: @@ -61,6 +108,7 @@ func write() -> String: # write report var index_file := "%s/index.html" % _report_path FileAccess.open(index_file, FileAccess.WRITE).store_string(to_write) + @warning_ignore("return_value_discarded") GdUnitFileAccess.copy_directory("res://addons/gdUnit4/src/report/template/css/", _report_path + "/css") return index_file @@ -77,17 +125,20 @@ func apply_path_reports(report_dir :String, template :String, report_summaries : paths.append_array(path_report_mapping.keys()) paths.sort() for report_path in paths: - var report := GdUnitByPathReport.new(report_path, path_report_mapping.get(report_path)) + var reports: Array[GdUnitReportSummary] = path_report_mapping.get(report_path) + var report := GdUnitByPathReport.new(report_path, reports) var report_link :String = report.write(report_dir).replace(report_dir, ".") + @warning_ignore("return_value_discarded") table_records.append(report.create_record(report_link)) return template.replace(GdUnitHtmlPatterns.TABLE_BY_PATHS, "\n".join(table_records)) -func apply_testsuite_reports(report_dir :String, template :String, test_suite_reports :Array[GdUnitReportSummary]) -> String: +func apply_testsuite_reports(report_dir: String, template: String, test_suite_reports: Array[GdUnitReportSummary]) -> String: var table_records := PackedStringArray() - for report in test_suite_reports: + for report: GdUnitTestSuiteReport in test_suite_reports: var report_link :String = report.write(report_dir).replace(report_dir, ".") - table_records.append(report.create_record(report_link)) + @warning_ignore("return_value_discarded") + table_records.append(report.create_record(report_link) as String) return template.replace(GdUnitHtmlPatterns.TABLE_BY_TESTSUITES, "\n".join(table_records)) diff --git a/addons/gdUnit4/src/report/GdUnitReportSummary.gd b/addons/gdUnit4/src/report/GdUnitReportSummary.gd index 41d423e..20a24e7 100644 --- a/addons/gdUnit4/src/report/GdUnitReportSummary.gd +++ b/addons/gdUnit4/src/report/GdUnitReportSummary.gd @@ -15,11 +15,15 @@ var _failure_count := 0 var _error_count := 0 var _orphan_count := 0 var _skipped_count := 0 +var _flaky_count := 0 var _duration := 0 var _reports :Array[GdUnitReportSummary] = [] - func name() -> String: + return _name + + +func name_html_encoded() -> String: return html_encode(_name) @@ -54,42 +58,35 @@ func test_executed_count() -> int: return test_count() - skipped_count() +func success_count() -> int: + return test_count() - error_count() - failure_count() - flaky_count() - skipped_count() + + func error_count() -> int: - var count := _error_count - for report in _reports: - count += report.error_count() - return count + return _error_count func failure_count() -> int: - var count := _failure_count - for report in _reports: - count += report.failure_count() - return count + return _failure_count func skipped_count() -> int: - var count := _skipped_count - for report in _reports: - count += report.skipped_count() - return count + return _skipped_count + + +func flaky_count() -> int: + return _flaky_count func orphan_count() -> int: - var count := _orphan_count - for report in _reports: - count += report.orphan_count() - return count + return _orphan_count func duration() -> int: - var count := _duration - for report in _reports: - count += report.duration() - return count + return _duration -func reports() -> Array: +func get_reports() -> Array: return _reports @@ -98,21 +95,25 @@ func add_report(report :GdUnitReportSummary) -> void: func report_state() -> String: - return calculate_state(error_count(), failure_count(), orphan_count()) + return calculate_state(error_count(), failure_count(), orphan_count(), flaky_count(), skipped_count()) func succes_rate() -> String: return calculate_succes_rate(test_count(), error_count(), failure_count()) -func calculate_state(p_error_count :int, p_failure_count :int, p_orphan_count :int) -> String: +func calculate_state(p_error_count :int, p_failure_count :int, p_orphan_count :int, p_flaky_count: int, p_skipped_count: int) -> String: + if p_skipped_count > 0: + return "SKIPPED" if p_error_count > 0: - return "error" + return "ERROR" if p_failure_count > 0: - return "failure" + return "FAILED" + if p_flaky_count > 0: + return "FLAKY" if p_orphan_count > 0: - return "warning" - return "success" + return "WARNING" + return "PASSED" func calculate_succes_rate(p_test_count :int, p_error_count :int, p_failure_count :int) -> String: @@ -128,16 +129,12 @@ func create_summary(_report_dir :String) -> String: return "" -func html_encode(value :String) -> String: - for key in CHARACTERS_TO_ENCODE.keys() as Array[String]: - value =value.replace(key, CHARACTERS_TO_ENCODE[key]) +func html_encode(value: String) -> String: + for key: String in CHARACTERS_TO_ENCODE.keys(): + @warning_ignore("unsafe_cast") + value = value.replace(key, CHARACTERS_TO_ENCODE[key] as String) return value func convert_rtf_to_html(bbcode :String) -> String: - var as_text: = GdUnitTools.richtext_normalize(bbcode) - var converted := PackedStringArray() - var lines := as_text.split("\n") - for line in lines: - converted.append("

%s

" % line) - return "\n".join(converted) + return GdUnitTools.richtext_normalize(bbcode) diff --git a/addons/gdUnit4/src/report/GdUnitTestCaseReport.gd b/addons/gdUnit4/src/report/GdUnitTestCaseReport.gd index deaf790..5eec799 100644 --- a/addons/gdUnit4/src/report/GdUnitTestCaseReport.gd +++ b/addons/gdUnit4/src/report/GdUnitTestCaseReport.gd @@ -6,26 +6,10 @@ var _failure_reports :Array[GdUnitReport] @warning_ignore("shadowed_variable") -func _init( - p_resource_path :String, - p_suite_name :String, - test_name :String, - is_error := false, - _is_failed := false, - failed_count :int = 0, - orphan_count :int = 0, - is_skipped := false, - failure_reports :Array[GdUnitReport] = [], - p_duration :int = 0) -> void: +func _init(p_resource_path: String, p_suite_name: String, p_test_name: String) -> void: _resource_path = p_resource_path _suite_name = p_suite_name - _name = test_name - _error_count = is_error - _failure_count = failed_count - _orphan_count = orphan_count - _skipped_count = is_skipped - _failure_reports = failure_reports - _duration = p_duration + _name = p_test_name func suite_name() -> String: @@ -34,14 +18,15 @@ func suite_name() -> String: func failure_report() -> String: var html_report := "" - for report in _failure_reports: + for report in get_test_reports(): html_report += convert_rtf_to_html(str(report)) return html_report func create_record(_report_dir :String) -> String: return GdUnitHtmlPatterns.TABLE_RECORD_TESTCASE\ - .replace(GdUnitHtmlPatterns.REPORT_STATE, report_state())\ + .replace(GdUnitHtmlPatterns.REPORT_STATE, report_state().to_lower())\ + .replace(GdUnitHtmlPatterns.REPORT_STATE_LABEL, report_state())\ .replace(GdUnitHtmlPatterns.TESTCASE_NAME, name())\ .replace(GdUnitHtmlPatterns.SKIPPED_COUNT, str(skipped_count()))\ .replace(GdUnitHtmlPatterns.ORPHAN_COUNT, str(orphan_count()))\ @@ -49,10 +34,19 @@ func create_record(_report_dir :String) -> String: .replace(GdUnitHtmlPatterns.FAILURE_REPORT, failure_report()) -func update(report :GdUnitTestCaseReport) -> void: - _error_count += report.error_count() - _failure_count += report.failure_count() - _orphan_count += report.orphan_count() - _skipped_count += report.skipped_count() - _failure_reports += report._failure_reports - _duration += report.duration() +func add_testcase_reports(reports: Array[GdUnitReport]) -> void: + _failure_reports.append_array(reports) + + +func set_testcase_counters(p_error_count: int, p_failure_count: int, p_orphan_count: int, + p_is_skipped: bool, p_is_flaky: bool, p_duration: int) -> void: + _error_count = p_error_count + _failure_count = p_failure_count + _orphan_count = p_orphan_count + _skipped_count = p_is_skipped + _flaky_count = p_is_flaky as int + _duration = p_duration + + +func get_test_reports() -> Array[GdUnitReport]: + return _failure_reports diff --git a/addons/gdUnit4/src/report/GdUnitTestSuiteReport.gd b/addons/gdUnit4/src/report/GdUnitTestSuiteReport.gd index fa07c8d..4a62087 100644 --- a/addons/gdUnit4/src/report/GdUnitTestSuiteReport.gd +++ b/addons/gdUnit4/src/report/GdUnitTestSuiteReport.gd @@ -1,16 +1,15 @@ class_name GdUnitTestSuiteReport extends GdUnitReportSummary -var _time_stamp :int -var _failure_reports :Array[GdUnitReport] = [] +var _time_stamp: int +var _failure_reports: Array[GdUnitReport] = [] -@warning_ignore("shadowed_variable") -func _init(resource_path :String, name :String, test_count :int) -> void: - _resource_path = resource_path - _name = name +func _init(p_resource_path: String, p_name: String, p_test_count: int) -> void: + _resource_path = p_resource_path + _name = p_name + _test_count = p_test_count _time_stamp = Time.get_unix_time_from_system() as int - _test_count = test_count func create_record(report_link :String) -> String: @@ -21,10 +20,6 @@ func output_path(report_dir :String) -> String: return "%s/test_suites/%s.%s.html" % [report_dir, path().replace("/", "."), name()] -func path_as_link() -> String: - return "../path/%s.html" % path().replace("/", ".") - - func failure_report() -> String: var html_report := "" for report in _failure_reports: @@ -34,7 +29,8 @@ func failure_report() -> String: func test_suite_failure_report() -> String: return GdUnitHtmlPatterns.TABLE_REPORT_TESTSUITE\ - .replace(GdUnitHtmlPatterns.REPORT_STATE, report_state())\ + .replace(GdUnitHtmlPatterns.REPORT_STATE, report_state().to_lower())\ + .replace(GdUnitHtmlPatterns.REPORT_STATE_LABEL, report_state())\ .replace(GdUnitHtmlPatterns.ORPHAN_COUNT, str(orphan_count()))\ .replace(GdUnitHtmlPatterns.DURATION, LocalTime.elapsed(_duration))\ .replace(GdUnitHtmlPatterns.FAILURE_REPORT, failure_report()) @@ -42,20 +38,22 @@ func test_suite_failure_report() -> String: func write(report_dir :String) -> String: var template := GdUnitHtmlPatterns.load_template("res://addons/gdUnit4/src/report/template/suite_report.html") - template = GdUnitHtmlPatterns.build(template, self, "")\ - .replace(GdUnitHtmlPatterns.BREADCRUMP_PATH_LINK, path_as_link()) + template = GdUnitHtmlPatterns.build(template, self, "") var report_output_path := output_path(report_dir) var test_report_table := PackedStringArray() if not _failure_reports.is_empty(): + @warning_ignore("return_value_discarded") test_report_table.append(test_suite_failure_report()) - for test_report in _reports: + for test_report: GdUnitTestCaseReport in _reports: + @warning_ignore("return_value_discarded") test_report_table.append(test_report.create_record(report_output_path)) template = template.replace(GdUnitHtmlPatterns.TABLE_BY_TESTCASES, "\n".join(test_report_table)) var dir := report_output_path.get_base_dir() if not DirAccess.dir_exists_absolute(dir): + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(dir) FileAccess.open(report_output_path, FileAccess.WRITE).store_string(template) return report_output_path @@ -74,23 +72,53 @@ func duration() -> int: func set_skipped(skipped :int) -> void: - _skipped_count = skipped + _skipped_count += skipped func set_orphans(orphans :int) -> void: _orphan_count = orphans -func set_failed(failed :bool, count :int) -> void: - if failed: - _failure_count += count +func set_failed(count :int) -> void: + _failure_count += count func set_reports(failure_reports :Array[GdUnitReport]) -> void: _failure_reports = failure_reports -func update(test_report :GdUnitTestCaseReport) -> void: - for report in _reports: - if report.name() == test_report.name(): - report.update(test_report) +func add_or_create_test_report(test_report: GdUnitTestCaseReport) -> void: + _reports.append(test_report) + + +func update_testsuite_counters(p_error_count: int, p_failure_count: int, p_orphan_count: int, + p_is_skipped: bool, p_is_flaky: bool, p_duration: int) -> void: + _error_count += p_error_count + _failure_count += p_failure_count + _orphan_count += p_orphan_count + _skipped_count += p_is_skipped as int + _flaky_count += p_is_flaky as int + _duration += p_duration + + +func set_testcase_counters(test_name: String, p_error_count: int, p_failure_count: int, p_orphan_count: int, + p_is_skipped: bool, p_is_flaky: bool, p_duration: int) -> void: + if _reports.is_empty(): + return + var test_report:GdUnitTestCaseReport = _reports.filter(func (report: GdUnitTestCaseReport) -> bool: + return report.name() == test_name + ).back() + if test_report: + test_report.set_testcase_counters(p_error_count, p_failure_count, p_orphan_count, p_is_skipped, p_is_flaky, p_duration) + + +func add_testcase_reports(test_name: String, reports: Array[GdUnitReport] ) -> void: + if reports.is_empty(): + return + # we lookup to latest matching report because of flaky tests could be retry the tests + # and resultis in multipe report entries with the same name + var test_report:GdUnitTestCaseReport = _reports.filter(func (report: GdUnitTestCaseReport) -> bool: + return report.name() == test_name + ).back() + if test_report: + test_report.add_testcase_reports(reports) diff --git a/addons/gdUnit4/src/report/JUnitXmlReport.gd b/addons/gdUnit4/src/report/JUnitXmlReport.gd index a4c040d..8921564 100644 --- a/addons/gdUnit4/src/report/JUnitXmlReport.gd +++ b/addons/gdUnit4/src/report/JUnitXmlReport.gd @@ -14,6 +14,7 @@ const ATTR_MESSAGE := "message" const ATTR_NAME := "name" const ATTR_PACKAGE := "package" const ATTR_SKIPPED := "skipped" +const ATTR_FLAKY := "flaky" const ATTR_TESTS := "tests" const ATTR_TIME := "time" const ATTR_TIMESTAMP := "timestamp" @@ -46,6 +47,8 @@ func build_junit_report(report :GdUnitReportSummary) -> String: .attribute(ATTR_NAME, "report_%s" % _iteration)\ .attribute(ATTR_TESTS, report.test_count())\ .attribute(ATTR_FAILURES, report.failure_count())\ + .attribute(ATTR_SKIPPED, report.skipped_count())\ + .attribute(ATTR_FLAKY, report.flaky_count())\ .attribute(ATTR_TIME, JUnitXmlReport.to_time(report.duration()))\ .add_childs(build_test_suites(report)) var as_string := test_suites.to_xml() @@ -55,8 +58,8 @@ func build_junit_report(report :GdUnitReportSummary) -> String: func build_test_suites(summary :GdUnitReportSummary) -> Array: var test_suites :Array[XmlElement] = [] - for index in summary.reports().size(): - var suite_report :GdUnitTestSuiteReport = summary.reports()[index] + for index in summary.get_reports().size(): + var suite_report :GdUnitTestSuiteReport = summary.get_reports()[index] var iso8601_datetime := Time.get_datetime_string_from_unix_time(suite_report.time_stamp()) test_suites.append(XmlElement.new("testsuite")\ .attribute(ATTR_ID, index)\ @@ -68,6 +71,7 @@ func build_test_suites(summary :GdUnitReportSummary) -> Array: .attribute(ATTR_FAILURES, suite_report.failure_count())\ .attribute(ATTR_ERRORS, suite_report.error_count())\ .attribute(ATTR_SKIPPED, suite_report.skipped_count())\ + .attribute(ATTR_FLAKY, suite_report.flaky_count())\ .attribute(ATTR_TIME, JUnitXmlReport.to_time(suite_report.duration()))\ .add_childs(build_test_cases(suite_report))) return test_suites @@ -75,8 +79,8 @@ func build_test_suites(summary :GdUnitReportSummary) -> Array: func build_test_cases(suite_report :GdUnitTestSuiteReport) -> Array: var test_cases :Array[XmlElement] = [] - for index in suite_report.reports().size(): - var report :GdUnitTestCaseReport = suite_report.reports()[index] + for index in suite_report.get_reports().size(): + var report :GdUnitTestCaseReport = suite_report.get_reports()[index] test_cases.append( XmlElement.new("testcase")\ .attribute(ATTR_NAME, JUnitXmlReport.encode_xml(report.name()))\ .attribute(ATTR_CLASSNAME, report.suite_name())\ @@ -85,26 +89,24 @@ func build_test_cases(suite_report :GdUnitTestSuiteReport) -> Array: return test_cases -func build_reports(test_report :GdUnitTestCaseReport) -> Array: +func build_reports(test_report: GdUnitTestCaseReport) -> Array: var failure_reports :Array[XmlElement] = [] - if test_report.failure_count() or test_report.error_count(): - for failure in test_report._failure_reports: - var report := failure as GdUnitReport - if report.is_failure(): - failure_reports.append( XmlElement.new("failure")\ - .attribute(ATTR_MESSAGE, "FAILED: %s:%d" % [test_report._resource_path, report.line_number()])\ - .attribute(ATTR_TYPE, JUnitXmlReport.to_type(report.type()))\ - .text(convert_rtf_to_text(report.message()))) - elif report.is_error(): - failure_reports.append( XmlElement.new("error")\ - .attribute(ATTR_MESSAGE, "ERROR: %s:%d" % [test_report._resource_path, report.line_number()])\ - .attribute(ATTR_TYPE, JUnitXmlReport.to_type(report.type()))\ - .text(convert_rtf_to_text(report.message()))) - if test_report.skipped_count(): - for failure in test_report._failure_reports: - var report := failure as GdUnitReport - failure_reports.append( XmlElement.new("skipped")\ - .attribute(ATTR_MESSAGE, "SKIPPED: %s:%d" % [test_report._resource_path, report.line_number()])) + + for report: GdUnitReport in test_report.get_test_reports(): + if report.is_failure(): + failure_reports.append(XmlElement.new("failure")\ + .attribute(ATTR_MESSAGE, "FAILED: %s:%d" % [test_report._resource_path, report.line_number()])\ + .attribute(ATTR_TYPE, JUnitXmlReport.to_type(report.type()))\ + .text(convert_rtf_to_text(report.message()))) + elif report.is_error(): + failure_reports.append(XmlElement.new("error")\ + .attribute(ATTR_MESSAGE, "ERROR: %s:%d" % [test_report._resource_path, report.line_number()])\ + .attribute(ATTR_TYPE, JUnitXmlReport.to_type(report.type()))\ + .text(convert_rtf_to_text(report.message()))) + elif report.is_skipped(): + failure_reports.append(XmlElement.new("skipped")\ + .attribute(ATTR_MESSAGE, "SKIPPED: %s:%d" % [test_report._resource_path, report.line_number()])\ + .text(convert_rtf_to_text(report.message()))) return failure_reports diff --git a/addons/gdUnit4/src/report/XmlElement.gd b/addons/gdUnit4/src/report/XmlElement.gd index b5d2ed3..86c7421 100644 --- a/addons/gdUnit4/src/report/XmlElement.gd +++ b/addons/gdUnit4/src/report/XmlElement.gd @@ -39,6 +39,7 @@ func add_child(child :XmlElement) -> XmlElement: func add_childs(childs :Array[XmlElement]) -> XmlElement: for child in childs: + @warning_ignore("return_value_discarded") add_child(child) return self diff --git a/addons/gdUnit4/src/report/template/css/breadcrumb.css b/addons/gdUnit4/src/report/template/css/breadcrumb.css index 2dd65fe..17215ff 100644 --- a/addons/gdUnit4/src/report/template/css/breadcrumb.css +++ b/addons/gdUnit4/src/report/template/css/breadcrumb.css @@ -1,15 +1,12 @@ - .breadcrumb { display: flex; border-radius: 6px; overflow: hidden; height: 45px; z-index: 1; - background-color: #055d9c; - font-weight: bold; - font-size: 16px; + background-color: #9d73eb; margin-top: 0px; - margin-bottom: 20px; + margin-bottom: 10px; box-shadow: 0 0 3px black; } @@ -25,11 +22,11 @@ } .breadcrumb a:first-child { - padding-left: 5.2px; + padding-left: 5.2px; } .breadcrumb a:last-child { - padding-right: 5.2px; + padding-right: 5.2px; } .breadcrumb a:after { @@ -40,28 +37,30 @@ height: 45px; top: 0; right: -20px; - background-color: #055d9c; + background-color: #9d73eb; border-top-right-radius: 5px; transform: scale(0.707) rotate(45deg); - box-shadow: 2px -2px rgba(0,0,0,0.25); + box-shadow: 2px -2px rgba(0, 0, 0, 0.25); z-index: 1; } .breadcrumb a:last-child:after { - content: none; + content: none; } -.breadcrumb a.active, .breadcrumb a:hover { - background: #347bad; +.breadcrumb a.active, +.breadcrumb a:hover { + background: #b899f2; color: white; text-decoration: underline; } -.breadcrumb a.active:after, .breadcrumb a:hover:after { - background: #347bad; +.breadcrumb a.active:after, +.breadcrumb a:hover:after { + background: #b899f2; } .breadcrumb span { - margin:inherit; + margin: inherit; z-index: 2; } diff --git a/addons/gdUnit4/src/report/template/css/icon.png b/addons/gdUnit4/src/report/template/css/icon.png deleted file mode 100644 index eeac292..0000000 Binary files a/addons/gdUnit4/src/report/template/css/icon.png and /dev/null differ diff --git a/addons/gdUnit4/src/report/template/css/logo.png b/addons/gdUnit4/src/report/template/css/logo.png new file mode 100644 index 0000000..12de79f Binary files /dev/null and b/addons/gdUnit4/src/report/template/css/logo.png differ diff --git a/addons/gdUnit4/src/report/template/css/icon.png.import b/addons/gdUnit4/src/report/template/css/logo.png.import similarity index 68% rename from addons/gdUnit4/src/report/template/css/icon.png.import rename to addons/gdUnit4/src/report/template/css/logo.png.import index c1a2062..0bf55c3 100644 --- a/addons/gdUnit4/src/report/template/css/icon.png.import +++ b/addons/gdUnit4/src/report/template/css/logo.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c8duoevjrvx65" -path="res://.godot/imported/icon.png-62697e17645466394a12e1821970bc28.ctex" +uid="uid://2n0cbwv2t23g" +path="res://.godot/imported/logo.png-37f10c549c1299049c5a6012ef6f9868.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://addons/gdUnit4/src/report/template/css/icon.png" -dest_files=["res://.godot/imported/icon.png-62697e17645466394a12e1821970bc28.ctex"] +source_file="res://addons/gdUnit4/src/report/template/css/logo.png" +dest_files=["res://.godot/imported/logo.png-37f10c549c1299049c5a6012ef6f9868.ctex"] [params] diff --git a/addons/gdUnit4/src/report/template/css/style.css b/addons/gdUnit4/src/report/template/css/style.css deleted file mode 100644 index 747d57c..0000000 --- a/addons/gdUnit4/src/report/template/css/style.css +++ /dev/null @@ -1,312 +0,0 @@ - -body { - margin: 0; - padding: 0; - font-family: sans-serif; - font-size: 12pt; - background: #dbf1ff; -} - -footer { - position: fixed; - left: 0; - bottom: 0; - width: 100%; - height: 30px; - font-size: 14px; - white-space: nowrap; - background-image: linear-gradient(to bottom right, #347bad, #055d9c); -} - -footer a { - padding-left: 5px; -} - -footer p { - padding-left: 10px; -} - -.header { - padding-top: 5px; - padding-bottom: 5px; - width: 100%; - height: 100px; - text-align: left; - background-image: linear-gradient(to bottom right, #347bad, #055d9c); -} - -.header h1 { - font-size: 200%; - display: flex; - line-height: 64px; - text-align: center; - text-shadow: 2px 2px 5px black; -} - -.header h1 .color1 { - color: #9887c4; -} - -.header h1 .color2 { - color: #7a57d6; -} - -.header h1 .color3 { - color: #2fa5f5; - padding-left: 10px; -} - -.header img { - padding-left: 50px; - width: 64px; - height: 64px; - padding-right: 10px; -} - -.content { - padding-left: 50px; - padding-right: 50px; - padding-top: 30px; - padding-bottom: 30px; -} - -.content h1 { - font-size: 130%; - text-align: left; - margin-bottom: 10px; - margin: 0; - padding: 0; -} - -.grid-container { - display: grid; - grid-template-columns: 420px 400px auto; - margin-bottom: 20px; -} - -.grid-item { - border-radius: 15px; - border: 2px solid #9887c4; - padding: 10px; - margin: 5px; - box-shadow: 0 0 10px #9887c4; -} - -.summary table { - border-collapse: collapse; - border-collapse: inherit; - border-spacing: 10px 10px; -} - -.summary cell { - width: 110px; - font-size: 110%; - text-align: left; -} - -.summary .counter, .percent { - width: 300px; - font-size: 120%; - font-weight: bold; - text-align: right; - box-shadow: 0 0 3px black; -} - -.report { - margin-top: 10px; - margin-bottom: 10px; -} - -/* Style tab links */ -input, section { - clear: both; - padding-top: 0px; - padding-bottom: 0px; - display: none; - background-color: transparent; - box-shadow: 0 0 5px black; -} - -label { - width: auto !important; - min-width: 200px; - height: 20px; - - font-weight: bold; - font-size: 16px; - color: white; - - margin: auto; - display: flex; - float: left; - justify-content: space-between; - - padding-top: 18px; - padding-left: 10px; - padding-right: 10px; - padding-bottom: 9px; - - border-top: 1px solid #DDD; - border-right: 1px solid #DDD; - border-left: 1px solid #DDD; - - -moz-border-radius: 7px; - border-radius: 8px 4px 0px 0px; - text-decoration: none; - background-color: #055d9c -} - -label:hover { - cursor: pointer; - text-decoration: underline; -} - -#tab1:checked ~ #content1, #tab2:checked ~ #content2, #tab3:checked ~ #content3 { - display: block; -} - -input:checked + label { - height: 14px; - border-top: 8px solid #9887c4; - border-right: 1px solid #9887c4; - border-left: 1px solid #9887c4; - border-bottom-color: transparent; - background-color: #347bad; - box-shadow: -2px -2px 2px #9887c4; -} - -div.selected { - display: block; -} - -div.deselected { - display: none; -} - -.tab-report-grid { - display: grid; - grid-template-columns: 60% 40%; - height: 400px; - margin-bottom: 20px; -} - -.grid-item { - overflow: auto; -} - -div.tab table { - border-collapse: collapse; -} - -div.tab th, div.tab table { - border-bottom: solid 1px #055d9c; -} - -div.tab th { - text-align: left; - white-space: nowrap; - padding-left: 6em; - padding-right: 10px; -} - -div.tab th:first-child { - padding-left: 5px; -} - -div.tab td { - white-space: nowrap; - padding-left: 6em; - padding-right: 10px; - padding-top: 5px; - padding-bottom: 5px; -} - -div.tab td:first-child { - padding-left: 5px; - text-align: left; -} - -div.tab td.numeric, div.tab { - text-align: right; -} - -div.tab td.report-column, th.report-column { - display:none; -} - -div.tab td.success, div.tab a.success { - color: #03a606; -} - -div.tab td.error, div.tab a.error { - color: #bf3600; -} - -div.tab td.failure, div.tab a.failure { - color: #bf3600; -} - -div.tab td.warning, div.tab a.warning { - color: #cca704; -} - -div.tab tr:hover { - background-color: #d9e7fa; - box-shadow: 0 0 5px black; -} - -div.tab tr.selected { - background-color: #347bad; -} - -div.tab th { - width: 100%; - height: 40px; - background-color: #347bad; - color: white; - font-weight: bold; -} - -.success_percent { - font-size: 750%; -} - -.border_success { - border: solid 3px #03a606; - background-image: repeating-linear-gradient(45deg, white, white 20%, #03a606); -} - -.border_error { - border: solid 3px #bf3600; - background-image: repeating-linear-gradient(45deg, #e86363, white 0%, #bf3600); -} - -.border_failure { - border: solid 3px #bf3600; - background-image: repeating-linear-gradient(45deg, #e86363, white 0%, #bf3600); -} - -div.logging { - padding: 10px; - height: 400px; - margin: 0px; - background-image: linear-gradient(to bottom right, #347bad, #055d9c); - color: white; -} - -div.logging p { - padding: 10px; - font: arial; - background-color: #dbf1ff; - height: 85%; -} - -div.report-column { - margin-top: 10px; - width: 100%; - height: 300px; - font: arial; - font-size: 16; - text-align: left; - background-color: #dbf1ff; -} diff --git a/addons/gdUnit4/src/report/template/css/styles.css b/addons/gdUnit4/src/report/template/css/styles.css new file mode 100644 index 0000000..e92d59b --- /dev/null +++ b/addons/gdUnit4/src/report/template/css/styles.css @@ -0,0 +1,475 @@ +html, +body { + display: flex; + flex-direction: column; + margin: 0; + padding: 0; + font-family: sans-serif; + background-color: white; + height: 100%; +} + +main { + flex-grow: 1; + overflow: auto; + margin: 0 10em; +} + + +header { + color: white; + padding: 1px; + position: relative; + background-image: linear-gradient(to bottom right, #8058e3, #9d73eb); +} + +.logo { + position: fixed; + top: 20px; + left: 20px; + display: flex; + align-items: center; + z-index: 1000; + filter: grayscale(1); + mix-blend-mode: plus-lighter; +} + +.logo img { + width: 64px; + height: 64px; +} + +.logo span { + font-size: 1.2em; + color: lightslategray; +} + +.report-container { + margin: 0 15em; + text-align: center; + margin-top: 60px; + flex-grow: 0; +} + +h1 { + margin: 0 0 20px 0; + font-size: 2.5em; + font-weight: normal; +} + +.summary { + display: inline-flex; + justify-content: center; + flex-wrap: nowrap; + margin-bottom: 20px; + align-items: baseline; + max-width: 960px; +} + +.summary-item { + flex: 1; + min-width: 80px; +} + +.label { + font-size: 1em; + flex-wrap: nowrap; +} + +.value { + font-size: 0.9em; + display: block; + padding-top: 10px; + color: lightgray; +} + +.success-rate { + padding-left: 40px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +.check-icon { + background-color: #34c538; + color: white; + width: 48px; + height: 48px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 1.4em; +} + +.rate-text { + text-align: center; + flex-wrap: nowrap; +} + +.percentage { + font-size: 1.2em; + font-weight: bold; +} + + +nav { + padding: 20px 0px; + font-family: monospace; +} + +nav ul { + list-style-type: none; + padding: 0; + margin: 0; + display: flex; + justify-content: flex-start; + border-bottom: 1px solid lightgray; +} + +nav li { + cursor: pointer; + padding: 5px 20px; + font-size: 1.1em; + color: lightslategray; +} + +nav li.active { + color: darkslategray; + border-bottom: 1px solid darkslategray; + font-weight: bold; +} + +div#content { + height: calc(100vh - 400px); +} + + +table { + width: 100%; + height: 100%; + border-collapse: collapse; + overflow: hidden; +} + +thead th { + position: sticky; + top: 0; + background-color: white; + z-index: 1; + border-bottom: 2px solid #ddd; +} + +tbody { + display: block; + /* Limit the height of the table body */ + max-height: calc(100vh - 400px); + /* Enable scrolling on the table body */ + overflow-y: auto; +} + +thead, +tbody tr { + display: table; + width: 100%; + table-layout: fixed; +} + +tbody td { + overflow: hidden; +} + +/* Ensure scrollbar visibility */ +tbody::-webkit-scrollbar { + height: 4px; + width: 14px; +} + +tbody::-webkit-scrollbar-thumb { + background-color: #aaa6a6; + border-radius: 4px; +} + +tbody::-webkit-scrollbar-track { + background-color: #f1f1f1; +} + +th, +td { + font-size: .9em; + padding: 5px 0px; + border-bottom: 1px solid #eee; + color: lightslategrey; + text-align: left; + text-wrap: nowrap; + /* Default max and min width for all columns */ + max-width: 150px; + min-width: 80px; + width: 80px; +} + +th { + font-size: 1em; + font-weight: normal; + padding-top: 20px; + color: gray; + text-wrap: nowrap; +} + +.tab-report { + display: grid; + grid-template-columns: 100%; + margin-bottom: 20px; +} + +.tab-report-grid { + display: grid; + grid-template-columns: 70% 30%; + margin-bottom: 20px; +} + + +/* Specific styling for the first column (Testcase) */ +th:first-child, +td:first-child { + padding-left: 5px; + text-align: left; + /* Max width for the first column */ + min-width: 249px; + width: 250px; + /* Enable scrollbar if content exceeds max-width */ + white-space: nowrap; + overflow: auto; +} + +/* Scrollbar styles for first column */ +td:first-child { + overflow-x: auto; + text-overflow: initial; +} + +/* Scrollbar appearance */ +td:first-child::-webkit-scrollbar { + height: 6px; +} + +td:first-child::-webkit-scrollbar-thumb { + background-color: #888; + border-radius: 10px; +} + +td:first-child::-webkit-scrollbar-track { + background-color: #f1f1f1; +} + +/* Max width for Result column */ +th:nth-child(2), +td:nth-child(2) { + max-width: 140px; + min-width: 140px; + width: 140px; +} + +/* Max width for Quick Results column */ +th:nth-child(9), +td:nth-child(9) { + max-width: 140px; + min-width: 140px; + width: 140px; + padding-right: 10px; +} + +/* Background color for alternating groups */ +.group-bg-1 { + background-color: #f1f1f1; +} + +.group-bg-2 { + background-color: #e0e0e0; +} + +.grid-item { + overflow: auto; + padding-left: 20px; + color: lightslategrey; + max-height: calc(100vh - 350px); +} + +div.tab td.report-column, +th.report-column { + display: none; +} + +/* Result status styles */ +.status { + padding: 2px 40px; + border-radius: 6px; + color: black; + width: 40px; + display: flex; + align-content: center; + align-items: center; +} + +.status-bar { + display: flex; + border-radius: 8px; + overflow: hidden; + height: 20px; + flex-wrap: nowrap; + justify-content: space-evenly; +} + +.status-bar-column { + margin: -2px; + color: black; + display: flex; + align-content: center; + align-items: center; + transition: width 0.3s ease; +} + +.status-skipped { + background-color: #888888; +} + +.status-passed { + background-color: #63bb38; +} + +.status-error { + background-color: #fd1100; +} + +.status-failed { + background-color: #ed594f; +} + +.status-flaky { + background-color: #1d9a1f; +} + +.status-warning { + background-color: #fdda3f; +} + +div.tab tr:hover { + background-color: #d9e7fa; + box-shadow: 0 0 5px black; +} + +div.tab tr.selected { + background-color: #d9e7fa; +} + +div.report-column { + margin-top: 10px; + width: 100%; + text-align: left; +} + +.logging-container { + width: 100%; + height: 100%; +} + +div.godot-report-frame { + margin: 10px; + font-family: monospace; + height: 100%; + background-color: #eee; +} + +div.include-footer { + position: fixed; + bottom: 0; + width: 100%; + display: flex; +} + +footer { + position: static; + left: 0; + bottom: 0; + width: 100%; + white-space: nowrap; + color: lightgray; + font-size: 12px; + background-image: linear-gradient(to bottom right, #8058e3, #9d73eb); + display: flex; + justify-content: space-between; + align-items: center; +} + +footer p { + padding-left: 10em; +} + +footer .status-legend { + display: flex; + gap: 15px; + width: 500px; +} + +footer a { + color: lightgray; +} + +footer a:hover { + color: whitesmoke; +} + +footer a:visited { + color: whitesmoke; +} + +.status-legend-item { + display: flex; + align-items: center; + gap: 5px; +} + +.status-box { + width: 15px; + height: 15px; + border-radius: 3px; + display: inline-block; +} + +/* Normal link */ +a { + color: lightslategrey; +} + +/* Link when hovered */ +a:hover { + color: #9d73eb; +} + +/* Visited link */ +a:visited { + color: #8058e3; +} + +/* Active link (while being clicked) */ +a:active { + color: #8058e3; + /* Custom color when link is clicked */ +} + + +@media (max-width: 1024px) { + .summary { + flex-direction: column; + } + + nav ul { + flex-wrap: wrap; + } + + nav li { + margin-right: 10px; + margin-bottom: 5px; + } +} diff --git a/addons/gdUnit4/src/report/template/folder_report.html b/addons/gdUnit4/src/report/template/folder_report.html index 6f21772..2cdca67 100644 --- a/addons/gdUnit4/src/report/template/folder_report.html +++ b/addons/gdUnit4/src/report/template/folder_report.html @@ -1,99 +1,122 @@ + - - - Testsuite Results - - + + + + + GdUnit4 Testsuite + + - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
TestSuites${suite_count}
Tests${test_count}
Skipped${skipped_count}
Failures${failure_count}
Orphans${orphan_count}
Duration${duration}
+
+ +
+

Report by Paths

+
+ ${resource_path}
-
-

Success Rate

- - - - -
${success_percent}
-
-
-

History

-

Coming Next

+
+
+ TestSuites + ${suite_count} +
+
+ Tests + ${test_count} +
+
+ Skipped + ${skipped_count} +
+
+ Flaky + ${flaky_count} +
+
+ Failures + ${failure_count} +
+
+ Orphans + ${orphan_count} +
+
+ Duration + ${duration} +
+
+
✓
+
+ Success Rate + ${success_percent} +
+
- +
+
-
- - - -
-
- - - - - - - - - - - - - - ${report_table_testsuites} - -
TestsSkippedFailuresOrphansDurationSuccess rate
-
-
+
+
+ + + + + + + + + + + + + + + + ${report_table_testsuites} + +
TestSuitesResultTestsSkippedFlakyFailuresOrphansDurationSuccess rate
+
-
+
-

Generated byGdUnit4 at ${buid_date}

+

Generated by GdUnit4 at ${buid_date}

+
+ + Skipped + + + Passed + + + Flaky + + + Warning + + + Failed + + + Error + +
- + diff --git a/addons/gdUnit4/src/report/template/index.html b/addons/gdUnit4/src/report/template/index.html index 2f6571e..342c8f2 100644 --- a/addons/gdUnit4/src/report/template/index.html +++ b/addons/gdUnit4/src/report/template/index.html @@ -1,123 +1,164 @@ - + + - - - Report Summary - + + + GdUnit4 Report + -
-

GdUnit4 Report

-
- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
TestSuites${suite_count}
Tests${test_count}
Skipped${skipped_count}
Failures${failure_count}
Orphans${orphan_count}
Duration${duration}
-
-
-

Success Rate

- - - - -
${success_percent}
-
-
-

History

-

Coming Next

+
+ +
+

Summary Report

+
+
+ Test Suites + ${suite_count} +
+
+ Tests + ${test_count} +
+
+ Skipped + ${skipped_count} +
+
+ Flaky + ${flaky_count} +
+
+ Failures + ${failure_count} +
+
+ Orphans + ${orphan_count} +
+
+ Duration + ${duration} +
+
+
✓
+
+ Success Rate + ${success_percent} +
+
+
+
+ +
+ +
+
-
-

Reports

-
- - - - - - +
+

Generated by GdUnit4 at ${buid_date}

+
+ + Skipped + + + Passed + + + Flaky + + + Warning + + + Failed + + + Error + +
+
-
-
+ + diff --git a/addons/gdUnit4/src/report/template/suite_report.html b/addons/gdUnit4/src/report/template/suite_report.html index 94fa47d..4746841 100644 --- a/addons/gdUnit4/src/report/template/suite_report.html +++ b/addons/gdUnit4/src/report/template/suite_report.html @@ -2,10 +2,12 @@ + - Testsuite results - + + GdUnit4 Testsuite + @@ -24,86 +26,152 @@ - - -
-
-
- - - - - - - - - - - - - - - - - - - - - -
Tests${test_count}
Skipped${skipped_count}
Failures${failure_count}
Orphans${orphan_count}
Duration${duration}
+
+ +
+

Testsuite Report

+
+ ${resource_path}
-
-

Success Rate

- - - - -
${success_percent}
-
-
-

History

-

Coming Next

+
+
+ Tests + ${test_count} +
+
+ Skipped + ${skipped_count} +
+
+ Flaky + ${flaky_count} +
+
+ Failures + ${failure_count} +
+
+ Orphans + ${orphan_count} +
+
+ Duration + ${duration} +
+
+
✓
+
+ Success Rate + ${success_percent} +
+
- +
-
-
-
- - - - - - - - - - - - ${report_table_tests} - -
TestcaseSkippedOrphansDurationReport
-
-
-

Failure Report

-
-
+
+
+
+ + + + + + + + + + + + + ${report_table_tests} + +
TestcaseResultSkippedOrphansDurationReport
+
+
+

Failure Report

+
-
+
-

Generated byGdUnit4 at ${buid_date}

+

Generated by GdUnit4 at ${buid_date}

+
+ + Skipped + + + Passed + + + Flaky + + + Warning + + + Failed + + + Error + +
- \ No newline at end of file + + + diff --git a/addons/gdUnit4/src/spy/GdUnitSpyBuilder.gd b/addons/gdUnit4/src/spy/GdUnitSpyBuilder.gd index 03a184e..3bd4b2e 100644 --- a/addons/gdUnit4/src/spy/GdUnitSpyBuilder.gd +++ b/addons/gdUnit4/src/spy/GdUnitSpyBuilder.gd @@ -3,33 +3,50 @@ extends GdUnitClassDoubler const GdUnitTools := preload("res://addons/gdUnit4/src/core/GdUnitTools.gd") const SPY_TEMPLATE :GDScript = preload("res://addons/gdUnit4/src/spy/GdUnitSpyImpl.gd") +const EXCLUDE_PROPERTIES_TO_COPY = ["script", "type"] -static func build(to_spy :Variant, debug_write := false) -> Variant: +static func build(to_spy: Variant, debug_write := false) -> Variant: if GdObjects.is_singleton(to_spy): - push_error("Spy on a Singleton is not allowed! '%s'" % to_spy.get_class()) + @warning_ignore("unsafe_cast") + push_error("Spy on a Singleton is not allowed! '%s'" % (to_spy as Object).get_class()) return null + # if resource path load it before if GdObjects.is_scene_resource_path(to_spy): - if not FileAccess.file_exists(to_spy): - push_error("Can't build spy on scene '%s'! The given resource not exists!" % to_spy) + var scene_resource_path :String = to_spy + if not FileAccess.file_exists(scene_resource_path): + push_error("Can't build spy on scene '%s'! The given resource not exists!" % scene_resource_path) return null - to_spy = load(to_spy) + var scene_to_spy: PackedScene = load(scene_resource_path) + return spy_on_scene(scene_to_spy.instantiate() as Node, debug_write) # spy checked PackedScene if GdObjects.is_scene(to_spy): - return spy_on_scene(to_spy.instantiate(), debug_write) + var scene_to_spy: PackedScene = to_spy + return spy_on_scene(scene_to_spy.instantiate() as Node, debug_write) # spy checked a scene instance if GdObjects.is_instance_scene(to_spy): - return spy_on_scene(to_spy, debug_write) + @warning_ignore("unsafe_cast") + return spy_on_scene(to_spy as Node, debug_write) - var spy := spy_on_script(to_spy, [], debug_write) + var excluded_functions := [] + if to_spy is Callable: + @warning_ignore("unsafe_cast") + to_spy = CallableDoubler.new(to_spy as Callable) + excluded_functions = CallableDoubler.excluded_functions() + + var spy := spy_on_script(to_spy, excluded_functions, debug_write) if spy == null: return null - var spy_instance :Variant = spy.new() - copy_properties(to_spy, spy_instance) + var spy_instance :Object = spy.new() + @warning_ignore("unsafe_cast") + copy_properties(to_spy as Object, spy_instance) + @warning_ignore("return_value_discarded") GdUnitObjectInteractions.reset(spy_instance) + @warning_ignore("unsafe_method_access") spy_instance.__set_singleton(to_spy) # we do not call the original implementation for _ready and all input function, this is actualy done by the engine + @warning_ignore("unsafe_method_access") spy_instance.__exclude_method_call([ "_input", "_gui_input", "_input_event", "_unhandled_input"]) return register_auto_free(spy_instance) @@ -46,7 +63,7 @@ static func get_class_info(clazz :Variant) -> Dictionary: static func spy_on_script(instance :Variant, function_excludes :PackedStringArray, debug_write :bool) -> GDScript: if GdArrayTools.is_array_type(instance): if GdUnitSettings.is_verbose_assert_errors(): - push_error("Can't build spy checked type '%s'! Spy checked Container Built-In Type not supported!" % instance.get_class()) + push_error("Can't build spy checked type '%s'! Spy checked Container Built-In Type not supported!" % type_string(typeof(instance))) return null var class_info := get_class_info(instance) var clazz_name :String = class_info.get("class_name") @@ -55,8 +72,10 @@ static func spy_on_script(instance :Variant, function_excludes :PackedStringArra if GdUnitSettings.is_verbose_assert_errors(): push_error("Can't build spy for class type '%s'! Using an instance instead e.g. 'spy()'" % [clazz_name]) return null - var lines := load_template(SPY_TEMPLATE.source_code, class_info, instance) - lines += double_functions(instance, clazz_name, clazz_path, GdUnitSpyFunctionDoubler.new(), function_excludes) + @warning_ignore("unsafe_cast") + var lines := load_template(SPY_TEMPLATE.source_code, class_info, instance as Object) + @warning_ignore("unsafe_cast") + lines += double_functions(instance as Object, clazz_name, clazz_path, GdUnitSpyFunctionDoubler.new(), function_excludes) var spy := GDScript.new() spy.source_code = "\n".join(lines) @@ -64,7 +83,9 @@ static func spy_on_script(instance :Variant, function_excludes :PackedStringArra spy.resource_path = GdUnitFileAccess.create_temp_dir("spy") + "/Spy%s_%d.gd" % [clazz_name, Time.get_ticks_msec()] if debug_write: + @warning_ignore("return_value_discarded") DirAccess.remove_absolute(spy.resource_path) + @warning_ignore("return_value_discarded") ResourceSaver.save(spy, spy.resource_path) var error := spy.reload(true) if error != OK: @@ -79,7 +100,8 @@ static func spy_on_scene(scene :Node, debug_write :bool) -> Object: push_error("Can't create a spy checked a scene without script '%s'" % scene.get_scene_file_path()) return null # buils spy checked original script - var scene_script :Object = scene.get_script().new() + @warning_ignore("unsafe_cast") + var scene_script :Object = (scene.get_script() as GDScript).new() var spy := spy_on_script(scene_script, GdUnitClassDoubler.EXLCUDE_SCENE_FUNCTIONS, debug_write) scene_script.free() if spy == null: @@ -89,9 +111,6 @@ static func spy_on_scene(scene :Node, debug_write :bool) -> Object: return register_auto_free(scene) -const EXCLUDE_PROPERTIES_TO_COPY = ["script", "type"] - - static func copy_properties(source :Object, dest :Object) -> void: for property in source.get_property_list(): var property_name :String = property["name"] diff --git a/addons/gdUnit4/src/spy/GdUnitSpyFunctionDoubler.gd b/addons/gdUnit4/src/spy/GdUnitSpyFunctionDoubler.gd index 20b8e89..c20061b 100644 --- a/addons/gdUnit4/src/spy/GdUnitSpyFunctionDoubler.gd +++ b/addons/gdUnit4/src/spy/GdUnitSpyFunctionDoubler.gd @@ -3,13 +3,13 @@ extends GdFunctionDoubler const TEMPLATE_RETURN_VARIANT = """ - var args :Array = ["$(func_name)", $(arguments)] + var args__: Array = ["$(func_name)", $(arguments)] if $(instance)__is_verify_interactions(): - $(instance)__verify_interactions(args) + $(instance)__verify_interactions(args__) return ${default_return_value} else: - $(instance)__save_function_interaction(args) + $(instance)__save_function_interaction(args__) if $(instance)__do_call_real_func("$(func_name)"): return $(await)super($(arguments)) @@ -19,13 +19,13 @@ const TEMPLATE_RETURN_VARIANT = """ const TEMPLATE_RETURN_VOID = """ - var args :Array = ["$(func_name)", $(arguments)] + var args__: Array = ["$(func_name)", $(arguments)] if $(instance)__is_verify_interactions(): - $(instance)__verify_interactions(args) + $(instance)__verify_interactions(args__) return else: - $(instance)__save_function_interaction(args) + $(instance)__save_function_interaction(args__) if $(instance)__do_call_real_func("$(func_name)"): $(await)super($(arguments)) @@ -34,31 +34,50 @@ const TEMPLATE_RETURN_VOID = """ const TEMPLATE_RETURN_VOID_VARARG = """ - var varargs :Array = __filter_vargs([$(varargs)]) - var args :Array = ["$(func_name)", $(arguments)] + varargs + var varargs__: Array = __filter_vargs([$(varargs)]) + var args__: Array = ["$(func_name)", $(arguments)] + varargs__ if $(instance)__is_verify_interactions(): - $(instance)__verify_interactions(args) + $(instance)__verify_interactions(args__) return else: - $(instance)__save_function_interaction(args) + $(instance)__save_function_interaction(args__) - $(await)$(instance)__call_func("$(func_name)", [$(arguments)] + varargs) + $(await)$(instance)__call_func("$(func_name)", [$(arguments)] + varargs__) """ const TEMPLATE_RETURN_VARIANT_VARARG = """ - var varargs :Array = __filter_vargs([$(varargs)]) - var args :Array = ["$(func_name)", $(arguments)] + varargs + var varargs__: Array = __filter_vargs([$(varargs)]) + var args__: Array = ["$(func_name)", $(arguments)] + varargs__ if $(instance)__is_verify_interactions(): - $(instance)__verify_interactions(args) + $(instance)__verify_interactions(args__) return ${default_return_value} else: - $(instance)__save_function_interaction(args) + $(instance)__save_function_interaction(args__) - return $(await)$(instance)__call_func("$(func_name)", [$(arguments)] + varargs) + return $(await)$(instance)__call_func("$(func_name)", [$(arguments)] + varargs__) + +""" + + +const TEMPLATE_CALLABLE_CALL = """ + var used_arguments__ := __filter_vargs([$(arguments)]) + + if __is_verify_interactions(): + __verify_interactions(["call", used_arguments__]) + return ${default_return_value} + else: + # append possible binded values to complete the original argument list + var args__ := used_arguments__.duplicate() + args__.append_array(super.get_bound_arguments()) + __save_function_interaction(["call", args__]) + + if __do_call_real_func("call"): + return _cb.callv(used_arguments__) + return ${default_return_value} """ @@ -67,9 +86,12 @@ func _init(push_errors :bool = false) -> void: super._init(push_errors) -func get_template(return_type :Variant, is_vararg :bool) -> String: - if is_vararg: - return TEMPLATE_RETURN_VOID_VARARG if return_type == TYPE_NIL else TEMPLATE_RETURN_VARIANT_VARARG +func get_template(fd: GdFunctionDescriptor, is_callable: bool) -> String: + if is_callable and fd.name() == "call": + return TEMPLATE_CALLABLE_CALL + if fd.is_vararg(): + return TEMPLATE_RETURN_VOID_VARARG if fd.return_type() == TYPE_NIL else TEMPLATE_RETURN_VARIANT_VARARG + var return_type :Variant = fd.return_type() if return_type is StringName: return TEMPLATE_RETURN_VARIANT return TEMPLATE_RETURN_VOID if (return_type == TYPE_NIL or return_type == GdObjects.TYPE_VOID) else TEMPLATE_RETURN_VARIANT diff --git a/addons/gdUnit4/src/ui/EditorFileSystemControls.gd b/addons/gdUnit4/src/ui/EditorFileSystemControls.gd deleted file mode 100644 index ebfd076..0000000 --- a/addons/gdUnit4/src/ui/EditorFileSystemControls.gd +++ /dev/null @@ -1,25 +0,0 @@ -# A tool to provide extended filesystem editor functionallity -class_name EditorFileSystemControls -extends RefCounted - - -# Register the given context menu to the filesystem dock -# Is called when the plugin is activated -# The filesystem popup is connected to the EditorFileSystemContextMenuHandler -static func register_context_menu(menu: Array[GdUnitContextMenuItem]) -> void: - Engine.get_main_loop().root.add_child.call_deferred(EditorFileSystemContextMenuHandler.new(menu)) - - -# Unregisteres all registerend context menus and gives the EditorFileSystemContextMenuHandler> free -# Is called when the plugin is deactivated -static func unregister_context_menu() -> void: - EditorFileSystemContextMenuHandler.dispose() - - -static func _print_menu(popup: PopupMenu) -> void: - for itemIndex in popup.item_count: - prints("get_item_id", popup.get_item_id(itemIndex)) - prints("get_item_accelerator", popup.get_item_accelerator(itemIndex)) - prints("get_item_shortcut", popup.get_item_shortcut(itemIndex)) - prints("get_item_text", popup.get_item_text(itemIndex)) - prints() diff --git a/addons/gdUnit4/src/ui/GdUnitConsole.gd b/addons/gdUnit4/src/ui/GdUnitConsole.gd index 283aa1e..ae4295b 100644 --- a/addons/gdUnit4/src/ui/GdUnitConsole.gd +++ b/addons/gdUnit4/src/ui/GdUnitConsole.gd @@ -16,10 +16,12 @@ var _summary := { "error_count": 0, "failed_count": 0, "skipped_count": 0, + "flaky_count": 0, "orphan_nodes": 0 } +@warning_ignore("return_value_discarded") func _ready() -> void: init_colors() GdUnitFonts.init_fonts(output) @@ -58,6 +60,7 @@ func init_statistics(event: GdUnitEvent) -> void: _statistics["error_count"] = 0 _statistics["failed_count"] = 0 _statistics["skipped_count"] = 0 + _statistics["flaky_count"] = 0 _statistics["orphan_nodes"] = 0 _summary["total_count"] += event.total_count() @@ -72,11 +75,13 @@ func reset_statistics() -> void: func update_statistics(event: GdUnitEvent) -> void: _statistics["error_count"] += event.error_count() _statistics["failed_count"] += event.failed_count() - _statistics["skipped_count"] += event.skipped_count() + _statistics["skipped_count"] += event.is_skipped() as int + _statistics["flaky_count"] += event.is_flaky() as int _statistics["orphan_nodes"] += event.orphan_nodes() _summary["error_count"] += event.error_count() _summary["failed_count"] += event.failed_count() - _summary["skipped_count"] += event.skipped_count() + _summary["skipped_count"] += event.is_skipped() as int + _summary["flaky_count"] += event.is_flaky() as int _summary["orphan_nodes"] += event.orphan_nodes() @@ -106,7 +111,14 @@ func _on_gdunit_event(event: GdUnitEvent) -> void: GdUnitEvent.STOP: print_message("Summary:", Color.DODGER_BLUE) - println_message("| %d total | %d error | %d failed | %d skipped | %d orphans |" % [_summary["total_count"], _summary["error_count"], _summary["failed_count"], _summary["skipped_count"], _summary["orphan_nodes"]], _text_color, 1) + println_message("| %d total | %d error | %d failed | %d flaky | %d skipped | %d orphans |" %\ + [_summary["total_count"], + _summary["error_count"], + _summary["failed_count"], + _summary["flaky_count"], + _summary["skipped_count"], + _summary["orphan_nodes"]], + _text_color, 1) print_message("[wave][/wave]") GdUnitEvent.TESTSUITE_BEFORE: @@ -115,19 +127,27 @@ func _on_gdunit_event(event: GdUnitEvent) -> void: println_message(event._suite_name, _engine_type_color) GdUnitEvent.TESTSUITE_AFTER: - update_statistics(event) if not event.reports().is_empty(): println_message("\t" + event._suite_name, _engine_type_color) for report: GdUnitReport in event.reports(): println_message("line %s: %s" % [line_number(report), report._message], _text_color, 2) - if event.is_success(): + if event.is_success() and event.is_flaky(): + print_message("[wave]FLAKY[/wave]", Color.GREEN_YELLOW) + elif event.is_success(): print_message("[wave]PASSED[/wave]", Color.LIGHT_GREEN) else: print_message("[shake rate=5 level=10][b]FAILED[/b][/shake]", Color.FIREBRICK) - print_message(" | %d total | %d error | %d failed | %d skipped | %d orphans |" % [_statistics["total_count"], _statistics["error_count"], _statistics["failed_count"], _statistics["skipped_count"], _statistics["orphan_nodes"]]) + print_message(" | %d total | %d error | %d failed | %d flaky | %d skipped | %d orphans |" %\ + [_statistics["total_count"], + _statistics["error_count"], + _statistics["failed_count"], + _statistics["flaky_count"], + _statistics["skipped_count"], + _statistics["orphan_nodes"]]) println_message("%+12s" % LocalTime.elapsed(event.elapsed_time())) println_message(" ") + GdUnitEvent.TESTCASE_BEFORE: var spaces := "-%d" % (80 - event._suite_name.length()) print_message(event._suite_name, _engine_type_color, 1) @@ -136,13 +156,19 @@ func _on_gdunit_event(event: GdUnitEvent) -> void: GdUnitEvent.TESTCASE_AFTER: var reports := event.reports() - update_statistics(event) - if event.is_success(): + if event.is_flaky() and event.is_success(): + var retries :int = event.statistic(GdUnitEvent.RETRY_COUNT) + print_message("[wave]FLAKY[/wave] (%d retries)" % retries, Color.GREEN_YELLOW) + elif event.is_success(): print_message("PASSED", Color.LIGHT_GREEN) elif event.is_skipped(): print_message("SKIPPED", Color.GOLDENROD) elif event.is_error() or event.is_failed(): - print_message("[wave]FAILED[/wave]", Color.FIREBRICK) + var retries :int = event.statistic(GdUnitEvent.RETRY_COUNT) + if retries > 1: + print_message("[wave]FAILED[/wave] (retry %d)" % retries, Color.FIREBRICK) + else: + print_message("[wave]FAILED[/wave]", Color.FIREBRICK) elif event.is_warning(): print_message("WARNING", Color.YELLOW) println_message(" %+12s" % LocalTime.elapsed(event.elapsed_time())) @@ -150,6 +176,9 @@ func _on_gdunit_event(event: GdUnitEvent) -> void: for report: GdUnitReport in event.reports(): println_message("line %s: %s" % [line_number(report), report._message], _text_color, 2) + GdUnitEvent.TESTCASE_STATISTICS: + update_statistics(event) + func _on_gdunit_client_connected(client_id: int) -> void: output.clear() diff --git a/addons/gdUnit4/src/ui/GdUnitFonts.gd b/addons/gdUnit4/src/ui/GdUnitFonts.gd index ad5c687..2448345 100644 --- a/addons/gdUnit4/src/ui/GdUnitFonts.gd +++ b/addons/gdUnit4/src/ui/GdUnitFonts.gd @@ -33,11 +33,11 @@ static func init_fonts(item: CanvasItem) -> float: return 16.0 -static func load_and_resize_font(font_resource: String, size: float) -> Font: +static func load_and_resize_font(font_resource: String, size: float) -> FontFile: var font: FontFile = ResourceLoader.load(font_resource, "FontFile") if font == null: push_error("Can't load font '%s'" % font_resource) return null - var resized_font := font.duplicate() + var resized_font: FontFile = font.duplicate() resized_font.fixed_size = int(size) return resized_font diff --git a/addons/gdUnit4/src/ui/GdUnitInspector.gd b/addons/gdUnit4/src/ui/GdUnitInspector.gd index daadc86..55bcba3 100644 --- a/addons/gdUnit4/src/ui/GdUnitInspector.gd +++ b/addons/gdUnit4/src/ui/GdUnitInspector.gd @@ -2,6 +2,8 @@ class_name GdUnitInspecor extends Panel +const ScriptEditorContextMenuHandler = preload("res://addons/gdUnit4/src/ui/menu/ScriptEditorContextMenuHandler.gd") +const EditorFileSystemContextMenuHandler = preload("res://addons/gdUnit4/src/ui/menu/EditorFileSystemContextMenuHandler.gd") var _command_handler := GdUnitCommandHandler.instance() @@ -9,23 +11,21 @@ var _command_handler := GdUnitCommandHandler.instance() func _ready() -> void: if Engine.is_editor_hint(): _getEditorThemes() + @warning_ignore("return_value_discarded") GdUnitCommandHandler.instance().gdunit_runner_start.connect(func() -> void: - var tab_container :TabContainer = get_parent_control() - for tab_index in tab_container.get_tab_count(): - if tab_container.get_tab_title(tab_index) == "GdUnit": - tab_container.set_current_tab(tab_index) + var control :Control = get_parent_control() + # if the tab is floating we dont need to set as current + if control is TabContainer: + var tab_container :TabContainer = control + for tab_index in tab_container.get_tab_count(): + if tab_container.get_tab_title(tab_index) == "GdUnit": + tab_container.set_current_tab(tab_index) ) if Engine.is_editor_hint(): add_script_editor_context_menu() add_file_system_dock_context_menu() -func _notification(what: int) -> void: - if what == NOTIFICATION_PREDELETE: - ScriptEditorControls.unregister_context_menu() - EditorFileSystemControls.unregister_context_menu() - - func _process(_delta: float) -> void: _command_handler._do_process() @@ -52,13 +52,13 @@ func _getEditorThemes() -> void: func add_file_system_dock_context_menu() -> void: var is_test_suite := func is_visible(script: Script, is_ts: bool) -> bool: if script == null: - return true + return false return GdObjects.is_test_suite(script) == is_ts var menu :Array[GdUnitContextMenuItem] = [ GdUnitContextMenuItem.new(GdUnitContextMenuItem.MENU_ID.TEST_RUN, "Run Testsuites", "Play", is_test_suite.bind(true), _command_handler.command(GdUnitCommandHandler.CMD_RUN_TESTSUITE)), GdUnitContextMenuItem.new(GdUnitContextMenuItem.MENU_ID.TEST_DEBUG, "Debug Testsuites", "PlayStart", is_test_suite.bind(true), _command_handler.command(GdUnitCommandHandler.CMD_RUN_TESTSUITE_DEBUG)), ] - EditorFileSystemControls.register_context_menu(menu) + add_child(EditorFileSystemContextMenuHandler.new(menu)) func add_script_editor_context_menu() -> void: @@ -69,7 +69,7 @@ func add_script_editor_context_menu() -> void: GdUnitContextMenuItem.new(GdUnitContextMenuItem.MENU_ID.TEST_DEBUG, "Debug Tests", "PlayStart", is_test_suite.bind(true),_command_handler.command(GdUnitCommandHandler.CMD_RUN_TESTCASE_DEBUG)), GdUnitContextMenuItem.new(GdUnitContextMenuItem.MENU_ID.CREATE_TEST, "Create Test", "New", is_test_suite.bind(false), _command_handler.command(GdUnitCommandHandler.CMD_CREATE_TESTCASE)) ] - ScriptEditorControls.register_context_menu(menu) + add_child(ScriptEditorContextMenuHandler.new(menu)) func _on_MainPanel_run_testsuite(test_suite_paths: Array, debug: bool) -> void: diff --git a/addons/gdUnit4/src/ui/GdUnitInspector.tscn b/addons/gdUnit4/src/ui/GdUnitInspector.tscn index 88f51f6..569eefc 100644 --- a/addons/gdUnit4/src/ui/GdUnitInspector.tscn +++ b/addons/gdUnit4/src/ui/GdUnitInspector.tscn @@ -1,11 +1,12 @@ -[gd_scene load_steps=7 format=3 uid="uid://mpo5o6d4uybu"] +[gd_scene load_steps=8 format=3 uid="uid://mpo5o6d4uybu"] [ext_resource type="PackedScene" uid="uid://dx7xy4dgi3wwb" path="res://addons/gdUnit4/src/ui/parts/InspectorToolBar.tscn" id="1"] [ext_resource type="PackedScene" uid="uid://dva3tonxsxrlk" path="res://addons/gdUnit4/src/ui/parts/InspectorProgressBar.tscn" id="2"] -[ext_resource type="PackedScene" uid="uid://bf53e4y5peguj" path="res://addons/gdUnit4/src/ui/parts/InspectorStatusBar.tscn" id="3"] +[ext_resource type="PackedScene" uid="uid://c22l4odk7qesc" path="res://addons/gdUnit4/src/ui/parts/InspectorStatusBar.tscn" id="3"] [ext_resource type="PackedScene" uid="uid://djp8ait0bxpsc" path="res://addons/gdUnit4/src/ui/parts/InspectorMonitor.tscn" id="4"] [ext_resource type="Script" path="res://addons/gdUnit4/src/ui/GdUnitInspector.gd" id="5"] [ext_resource type="PackedScene" uid="uid://bqfpidewtpeg0" path="res://addons/gdUnit4/src/ui/parts/InspectorTreePanel.tscn" id="7"] +[ext_resource type="PackedScene" uid="uid://cn5mp3tmi2gb1" path="res://addons/gdUnit4/src/network/GdUnitServer.tscn" id="7_721no"] [node name="GdUnit" type="Panel"] use_parent_material = true @@ -51,9 +52,15 @@ layout_mode = 2 [node name="Monitor" parent="VBoxContainer" instance=ExtResource("4")] layout_mode = 2 -[connection signal="failure_next" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="select_next_failure"] -[connection signal="failure_prevous" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="select_previous_failure"] +[node name="event_server" parent="." instance=ExtResource("7_721no")] + [connection signal="request_discover_tests" from="VBoxContainer/Header/StatusBar" to="." method="_on_status_bar_request_discover_tests"] +[connection signal="select_error_next" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="_on_select_next_item_by_state" binds= [6]] +[connection signal="select_error_prevous" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="_on_select_previous_item_by_state" binds= [6]] +[connection signal="select_failure_next" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="_on_select_next_item_by_state" binds= [5]] +[connection signal="select_failure_prevous" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="_on_select_previous_item_by_state" binds= [5]] +[connection signal="select_flaky_next" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="_on_select_next_item_by_state" binds= [4]] +[connection signal="select_flaky_prevous" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="_on_select_previous_item_by_state" binds= [4]] [connection signal="tree_view_mode_changed" from="VBoxContainer/Header/StatusBar" to="VBoxContainer/MainPanel" method="_on_status_bar_tree_view_mode_changed"] [connection signal="run_testcase" from="VBoxContainer/MainPanel" to="." method="_on_MainPanel_run_testcase"] [connection signal="run_testsuite" from="VBoxContainer/MainPanel" to="." method="_on_MainPanel_run_testsuite"] diff --git a/addons/gdUnit4/src/ui/GdUnitUiTools.gd b/addons/gdUnit4/src/ui/GdUnitUiTools.gd index 25d03dd..dd8f9f1 100644 --- a/addons/gdUnit4/src/ui/GdUnitUiTools.gd +++ b/addons/gdUnit4/src/ui/GdUnitUiTools.gd @@ -106,13 +106,9 @@ static func _modulate_image(image: Image, color: Color) -> Image: static func _merge_images(image1: Image, offset1: Vector2i, image2: Image, offset2: Vector2i) -> Image: - if image1.get_height() != image2.get_height(): - push_error("invalid height:", image1.get_height(), " vs ", image2.get_height()) - return null - if image1.get_width() != image2.get_width(): - push_error("invalid width:", image1.get_width(), " vs ", image2.get_width()) - return null - + ## we need to fix the image to have the same size to avoid merge conflicts + if image1.get_height() < image2.get_height(): + image1.resize(image2.get_width(), image2.get_height()) # Create a new Image for the merged result var merged_image := Image.create(image1.get_width(), image1.get_height(), false, Image.FORMAT_RGBA8) merged_image.blit_rect_mask(image1, image2, Rect2(Vector2.ZERO, image1.get_size()), offset1) @@ -122,16 +118,9 @@ static func _merge_images(image1: Image, offset1: Vector2i, image2: Image, offse @warning_ignore("narrowing_conversion") static func _merge_images_scaled(image1: Image, offset1: Vector2i, image2: Image, offset2: Vector2i) -> Image: - ## we disable the check for now because the image size of icons are different on macos and produces an error - ## see issue https://github.com/MikeSchulze/gdUnit4/issues/486 - if not OS.get_distribution_name().contains("mac"): - if image1.get_height() != image2.get_height(): - push_error("invalid height:", image1.get_height(), " vs ", image2.get_height()) - return null - if image1.get_width() != image2.get_width(): - push_error("invalid width:", image1.get_width(), " vs ", image2.get_width()) - return null - + ## we need to fix the image to have the same size to avoid merge conflicts + if image1.get_height() < image2.get_height(): + image1.resize(image2.get_width(), image2.get_height()) # Create a new Image for the merged result var merged_image := Image.create(image1.get_width(), image1.get_height(), false, image1.get_format()) merged_image.blend_rect(image1, Rect2(Vector2.ZERO, image1.get_size()), offset1) diff --git a/addons/gdUnit4/src/ui/ScriptEditorControls.gd b/addons/gdUnit4/src/ui/ScriptEditorControls.gd index 0ddf068..5e07fe1 100644 --- a/addons/gdUnit4/src/ui/ScriptEditorControls.gd +++ b/addons/gdUnit4/src/ui/ScriptEditorControls.gd @@ -76,30 +76,18 @@ static func close_open_editor_scripts() -> void: # The script is openend in the current editor and selected in the file system dock. # The line and column on which to open the script can also be specified. # The script will be open with the user-configured editor for the script's language which may be an external editor. -static func edit_script(script_path: String, line_number:=-1) -> void: +static func edit_script(script_path: String, line_number := -1) -> void: var file_system := EditorInterface.get_resource_filesystem() file_system.update_file(script_path) var file_system_dock := EditorInterface.get_file_system_dock() file_system_dock.navigate_to_path(script_path) EditorInterface.select_file(script_path) - var script := load(script_path) + var script: GDScript = load(script_path) EditorInterface.edit_script(script, line_number) -# Register the given context menu to the current script editor -# Is called when the plugin is activated -# The active script is connected to the ScriptEditorContextMenuHandler -static func register_context_menu(menu: Array[GdUnitContextMenuItem]) -> void: - Engine.get_main_loop().root.call_deferred("add_child", ScriptEditorContextMenuHandler.new(menu)) - - -# Unregisteres all registerend context menus and gives the ScriptEditorContextMenuHandler> free -# Is called when the plugin is deactivated -static func unregister_context_menu() -> void: - ScriptEditorContextMenuHandler.dispose() - - static func _menu_popup() -> PopupMenu: + @warning_ignore("unsafe_method_access") return EditorInterface.get_script_editor().get_child(0).get_child(0).get_child(0).get_popup() diff --git a/addons/gdUnit4/src/ui/menu/EditorFileSystemContextMenuHandler.gd b/addons/gdUnit4/src/ui/menu/EditorFileSystemContextMenuHandler.gd index 4b2b297..9c58a20 100644 --- a/addons/gdUnit4/src/ui/menu/EditorFileSystemContextMenuHandler.gd +++ b/addons/gdUnit4/src/ui/menu/EditorFileSystemContextMenuHandler.gd @@ -1,4 +1,4 @@ -class_name EditorFileSystemContextMenuHandler +@tool extends Control var _context_menus := Dictionary() @@ -8,29 +8,18 @@ func _init(context_menus: Array[GdUnitContextMenuItem]) -> void: set_name("EditorFileSystemContextMenuHandler") for menu in context_menus: _context_menus[menu.id] = menu - var popup := EditorFileSystemContextMenuHandler._menu_popup() - var file_tree := EditorFileSystemContextMenuHandler._file_tree() + var popup := _menu_popup() + var file_tree := _file_tree() + @warning_ignore("return_value_discarded") popup.about_to_popup.connect(on_context_menu_show.bind(popup, file_tree)) + @warning_ignore("return_value_discarded") popup.id_pressed.connect(on_context_menu_pressed.bind(file_tree)) -static func dispose() -> void: - if Engine.get_main_loop().root == null: - return - var handler: EditorFileSystemContextMenuHandler = Engine.get_main_loop().root.find_child("EditorFileSystemContextMenuHandler*", false, false) - if handler: - var popup := _menu_popup() - if popup.about_to_popup.is_connected(Callable(handler, "on_context_menu_show")): - popup.about_to_popup.disconnect(Callable(handler, "on_context_menu_show")) - if popup.id_pressed.is_connected(Callable(handler, "on_context_menu_pressed")): - popup.id_pressed.disconnect(Callable(handler, "on_context_menu_pressed")) - GodotVersionFixures.free_fix(handler) - - func on_context_menu_show(context_menu: PopupMenu, file_tree: Tree) -> void: context_menu.add_separator() var current_index := context_menu.get_item_count() - var selected_test_suites := collect_testsuites(_context_menus.values()[0], file_tree) + var selected_test_suites := collect_testsuites(_context_menus.values()[0] as GdUnitContextMenuItem, file_tree) for menu_id: int in _context_menus.keys(): var menu_item: GdUnitContextMenuItem = _context_menus[menu_id] @@ -55,30 +44,28 @@ func collect_testsuites(_menu_item: GdUnitContextMenuItem, file_tree: Tree) -> P var file_system := EditorInterface.get_resource_filesystem() var selected_item := file_tree.get_selected() var selected_test_suites := PackedStringArray() + while selected_item: var resource_path: String = selected_item.get_metadata(0) var file_type := file_system.get_file_type(resource_path) var is_dir := DirAccess.dir_exists_absolute(resource_path) if is_dir: + @warning_ignore("return_value_discarded") selected_test_suites.append(resource_path) elif is_dir or file_type == "GDScript" or file_type == "CSharpScript": # find a performant way to check if the selected item a testsuite #var resource := ResourceLoader.load(resource_path, "GDScript", ResourceLoader.CACHE_MODE_REUSE) #prints("loaded", resource) #if resource is GDScript and menu_item.is_visible(resource): + @warning_ignore("return_value_discarded") selected_test_suites.append(resource_path) selected_item = file_tree.get_next_selected(selected_item) return selected_test_suites -# Returns the FileSystemDock instance -static func filesystem_dock() -> FileSystemDock: - return EditorInterface.get_file_system_dock() +func _file_tree() -> Tree: + return GdObjects.find_nodes_by_class(EditorInterface.get_file_system_dock(), "Tree", true)[-1] -static func _file_tree() -> Tree: - return GdObjects.find_nodes_by_class(filesystem_dock(), "Tree", true)[-1] - - -static func _menu_popup() -> PopupMenu: - return GdObjects.find_nodes_by_class(filesystem_dock(), "PopupMenu")[-1] +func _menu_popup() -> PopupMenu: + return GdObjects.find_nodes_by_class(EditorInterface.get_file_system_dock(), "PopupMenu")[-1] diff --git a/addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd b/addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd index a591c11..2f89c61 100644 --- a/addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd +++ b/addons/gdUnit4/src/ui/menu/GdUnitContextMenuItem.gd @@ -1,13 +1,14 @@ class_name GdUnitContextMenuItem enum MENU_ID { + UNDEFINED = 0, TEST_RUN = 1000, TEST_DEBUG = 1001, TEST_RERUN = 1002, CREATE_TEST = 1010, } -var id: MENU_ID: +var id: MENU_ID = MENU_ID.UNDEFINED: set(value): id = value get: diff --git a/addons/gdUnit4/src/ui/menu/ScriptEditorContextMenuHandler.gd b/addons/gdUnit4/src/ui/menu/ScriptEditorContextMenuHandler.gd index 0bad13e..c32568c 100644 --- a/addons/gdUnit4/src/ui/menu/ScriptEditorContextMenuHandler.gd +++ b/addons/gdUnit4/src/ui/menu/ScriptEditorContextMenuHandler.gd @@ -1,4 +1,4 @@ -class_name ScriptEditorContextMenuHandler +@tool extends Control var _context_menus := Dictionary() @@ -10,21 +10,11 @@ func _init(context_menus: Array[GdUnitContextMenuItem]) -> void: for menu in context_menus: _context_menus[menu.id] = menu _editor = EditorInterface.get_script_editor() + @warning_ignore("return_value_discarded") _editor.editor_script_changed.connect(on_script_changed) on_script_changed(active_script()) -static func dispose() -> void: - if Engine.get_main_loop().root == null: - return - var handler: ScriptEditorContextMenuHandler = Engine.get_main_loop().root.find_child("ScriptEditorContextMenuHandler*", false, false) - if handler: - var editor := EditorInterface.get_script_editor() - if editor.editor_script_changed.is_connected(handler.on_script_changed): - editor.editor_script_changed.disconnect(handler.on_script_changed) - GodotVersionFixures.free_fix(handler) - - func _input(event: InputEvent) -> void: if event is InputEventKey and event.is_pressed(): for action: GdUnitContextMenuItem in _context_menus.values(): @@ -37,13 +27,13 @@ func _input(event: InputEvent) -> void: func has_editor_focus() -> bool: - return Engine.get_main_loop().root.gui_get_focus_owner() == active_base_editor() + return (Engine.get_main_loop() as SceneTree).root.gui_get_focus_owner() == active_base_editor() func on_script_changed(script: Script) -> void: if script is Script: var popups: Array[Node] = GdObjects.find_nodes_by_class(active_editor(), "PopupMenu", true) - for popup in popups: + for popup: PopupMenu in popups: if not popup.about_to_popup.is_connected(on_context_menu_show): popup.about_to_popup.connect(on_context_menu_show.bind(script, popup)) if not popup.id_pressed.is_connected(on_context_menu_pressed): diff --git a/addons/gdUnit4/src/ui/parts/InspectorMonitor.gd b/addons/gdUnit4/src/ui/parts/InspectorMonitor.gd index e6939f4..c36b3ec 100644 --- a/addons/gdUnit4/src/ui/parts/InspectorMonitor.gd +++ b/addons/gdUnit4/src/ui/parts/InspectorMonitor.gd @@ -6,16 +6,17 @@ signal jump_to_orphan_nodes() @onready var ICON_GREEN := GdUnitUiTools.get_icon("Unlinked", Color.WEB_GREEN) @onready var ICON_RED := GdUnitUiTools.get_color_animated_icon("Unlinked", Color.YELLOW, Color.ORANGE_RED) -@onready var _button_time := %btn_time -@onready var _time := %time_value -@onready var _orphans := %orphan_value -@onready var _orphan_button := %btn_orphan +@onready var _button_time: Button = %btn_time +@onready var _time: Label = %time_value +@onready var _orphans: Label = %orphan_value +@onready var _orphan_button: Button = %btn_orphan var total_elapsed_time := 0 var total_orphans := 0 func _ready() -> void: + @warning_ignore("return_value_discarded") GdUnitSignals.instance().gdunit_event.connect(_on_gdunit_event) _time.text = "" _orphans.text = "0" diff --git a/addons/gdUnit4/src/ui/parts/InspectorProgressBar.gd b/addons/gdUnit4/src/ui/parts/InspectorProgressBar.gd index 44c8d6b..4c18f11 100644 --- a/addons/gdUnit4/src/ui/parts/InspectorProgressBar.gd +++ b/addons/gdUnit4/src/ui/parts/InspectorProgressBar.gd @@ -1,35 +1,35 @@ @tool extends ProgressBar -@onready var bar := $"." -@onready var status := $Label -@onready var style: StyleBoxFlat = bar.get("theme_override_styles/fill") +@onready var status: Label = $Label +@onready var style: StyleBoxFlat = get("theme_override_styles/fill") func _ready() -> void: + @warning_ignore("return_value_discarded") GdUnitSignals.instance().gdunit_event.connect(_on_gdunit_event) style.bg_color = Color.DARK_GREEN - bar.value = 0 - bar.max_value = 0 + value = 0 + max_value = 0 update_text() func progress_init(p_max_value: int) -> void: - bar.value = 0 - bar.max_value = p_max_value + value = 0 + max_value = p_max_value style.bg_color = Color.DARK_GREEN update_text() func progress_update(p_value: int, is_failed: bool) -> void: - bar.value += p_value + value += p_value update_text() if is_failed: style.bg_color = Color.DARK_RED func update_text() -> void: - status.text = "%d:%d" % [bar.value, bar.max_value] + status.text = "%d:%d" % [value, max_value] func _on_gdunit_event(event: GdUnitEvent) -> void: @@ -40,11 +40,8 @@ func _on_gdunit_event(event: GdUnitEvent) -> void: GdUnitEvent.DISCOVER_END: progress_init(event.total_count()) - GdUnitEvent.TESTCASE_AFTER: - # we only count when the test is finished (excluding parameterized test iterrations) - # test_name: indicates a parameterized test run - if event.test_name().find(":") == -1: - progress_update(1, event.is_failed() or event.is_error()) + GdUnitEvent.TESTCASE_STATISTICS: + progress_update(1, event.is_failed() or event.is_error()) GdUnitEvent.TESTSUITE_AFTER: progress_update(0, event.is_failed() or event.is_error()) diff --git a/addons/gdUnit4/src/ui/parts/InspectorStatusBar.gd b/addons/gdUnit4/src/ui/parts/InspectorStatusBar.gd index 0075085..d3f36d8 100644 --- a/addons/gdUnit4/src/ui/parts/InspectorStatusBar.gd +++ b/addons/gdUnit4/src/ui/parts/InspectorStatusBar.gd @@ -1,25 +1,33 @@ @tool extends PanelContainer -signal failure_next() -signal failure_prevous() +signal select_failure_next() +signal select_failure_prevous() +signal select_error_next() +signal select_error_prevous() +signal select_flaky_next() +signal select_flaky_prevous() signal request_discover_tests() +@warning_ignore("unused_signal") signal tree_view_mode_changed(flat :bool) -@onready var _errors := %error_value -@onready var _failures := %failure_value -@onready var _button_errors := %btn_errors -@onready var _button_failures := %btn_failures -@onready var _button_failure_up := %btn_failure_up -@onready var _button_failure_down := %btn_failure_down -@onready var _button_sync := %btn_tree_sync -@onready var _button_view_mode := %btn_tree_mode -@onready var _button_sort_mode := %btn_tree_sort +@onready var _errors: Label = %error_value +@onready var _failures: Label = %failure_value +@onready var _flaky_value: Label = %flaky_value +@onready var _button_failure_up: Button = %btn_failure_up +@onready var _button_failure_down: Button = %btn_failure_down +@onready var _button_sync: Button = %btn_tree_sync +@onready var _button_view_mode: Button = %btn_tree_mode +@onready var _button_sort_mode: Button = %btn_tree_sort +@onready var _icon_errors: TextureRect = %icon_errors +@onready var _icon_failures: TextureRect = %icon_failures +@onready var _icon_flaky: TextureRect = %icon_flaky var total_failed := 0 var total_errors := 0 +var total_flaky := 0 var icon_mappings := { @@ -34,11 +42,14 @@ var icon_mappings := { } +@warning_ignore("return_value_discarded") func _ready() -> void: _failures.text = "0" _errors.text = "0" - _button_errors.icon = GdUnitUiTools.get_icon("StatusError") - _button_failures.icon = GdUnitUiTools.get_icon("StatusError", Color.SKY_BLUE) + _icon_failures.texture = GdUnitUiTools.get_icon("StatusError", Color.SKY_BLUE) + _icon_errors.texture = GdUnitUiTools.get_icon("StatusError", Color.DARK_RED) + _icon_flaky.texture = GdUnitUiTools.get_icon("CheckBox", Color.GREEN_YELLOW) + _button_failure_up.icon = GdUnitUiTools.get_icon("ArrowUp") _button_failure_down.icon = GdUnitUiTools.get_icon("ArrowDown") _button_sync.icon = GdUnitUiTools.get_icon("Loop") @@ -59,6 +70,7 @@ func _set_sort_mode_menu_options() -> void: context_menu.clear() if not context_menu.index_pressed.is_connected(_on_sort_mode_changed): + @warning_ignore("return_value_discarded") context_menu.index_pressed.connect(_on_sort_mode_changed) var configured_sort_mode := GdUnitSettings.get_inspector_tree_sort_mode() @@ -76,6 +88,7 @@ func _set_view_mode_menu_options() -> void: context_menu.clear() if not context_menu.index_pressed.is_connected(_on_tree_view_mode_changed): + @warning_ignore("return_value_discarded") context_menu.index_pressed.connect(_on_tree_view_mode_changed) var configured_tree_view_mode := GdUnitSettings.get_inspector_tree_view_mode() @@ -92,11 +105,13 @@ func normalise(value: String) -> String: return " ".join(parts) -func status_changed(errors: int, failed: int) -> void: +func status_changed(errors: int, failed: int, flaky: int) -> void: total_failed += failed total_errors += errors + total_flaky += flaky _failures.text = str(total_failed) _errors.text = str(total_errors) + _flaky_value.text = str(total_flaky) func disable_buttons(value :bool) -> void: @@ -116,29 +131,46 @@ func _on_gdunit_event(event: GdUnitEvent) -> void: GdUnitEvent.INIT: total_failed = 0 total_errors = 0 - status_changed(0, 0) + total_flaky = 0 + status_changed(0, 0, 0) GdUnitEvent.TESTCASE_BEFORE: pass - GdUnitEvent.TESTCASE_AFTER: + GdUnitEvent.TESTCASE_STATISTICS: if event.is_error(): - status_changed(event.error_count(), 0) + status_changed(event.error_count(), 0, event.is_flaky()) else: - status_changed(0, event.failed_count()) + status_changed(0, event.failed_count(), event.is_flaky()) GdUnitEvent.TESTSUITE_BEFORE: pass GdUnitEvent.TESTSUITE_AFTER: if event.is_error(): - status_changed(event.error_count(), 0) + status_changed(event.error_count(), 0, 0) else: - status_changed(0, event.failed_count()) + status_changed(0, event.failed_count(), 0) + + +func _on_btn_error_up_pressed() -> void: + select_error_prevous.emit() + + +func _on_btn_error_down_pressed() -> void: + select_error_next.emit() func _on_failure_up_pressed() -> void: - failure_prevous.emit() + select_failure_prevous.emit() func _on_failure_down_pressed() -> void: - failure_next.emit() + select_failure_next.emit() + + +func _on_btn_flaky_up_pressed() -> void: + select_flaky_prevous.emit() + + +func _on_btn_flaky_down_pressed() -> void: + select_flaky_next.emit() func _on_tree_sync_pressed() -> void: diff --git a/addons/gdUnit4/src/ui/parts/InspectorStatusBar.tscn b/addons/gdUnit4/src/ui/parts/InspectorStatusBar.tscn index 3ef31f8..2c869e4 100644 --- a/addons/gdUnit4/src/ui/parts/InspectorStatusBar.tscn +++ b/addons/gdUnit4/src/ui/parts/InspectorStatusBar.tscn @@ -1,80 +1,32 @@ -[gd_scene load_steps=22 format=3 uid="uid://bf53e4y5peguj"] +[gd_scene load_steps=32 format=3 uid="uid://c22l4odk7qesc"] [ext_resource type="Script" path="res://addons/gdUnit4/src/ui/parts/InspectorStatusBar.gd" id="3"] -[sub_resource type="Image" id="Image_xlwc6"] +[sub_resource type="Image" id="Image_knei0"] data = { -"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 100, 100, 23, 255, 95, 95, 126, 255, 95, 95, 206, 255, 96, 96, 240, 255, 96, 96, 240, 255, 95, 95, 206, 255, 97, 97, 124, 255, 104, 104, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 80, 255, 96, 96, 240, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 239, 255, 96, 96, 77, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 95, 95, 78, 255, 95, 95, 254, 255, 95, 95, 255, 255, 96, 96, 240, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 96, 96, 240, 255, 95, 95, 255, 255, 95, 95, 254, 255, 95, 95, 75, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 104, 104, 22, 255, 95, 95, 239, 255, 95, 95, 255, 255, 95, 95, 107, 255, 97, 97, 42, 255, 95, 95, 233, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 231, 255, 96, 96, 40, 255, 96, 96, 112, 255, 95, 95, 255, 255, 95, 95, 238, 255, 102, 102, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 124, 255, 95, 95, 255, 255, 96, 96, 240, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 95, 95, 233, 255, 96, 96, 232, 255, 99, 99, 41, 255, 255, 255, 0, 255, 96, 96, 45, 255, 95, 95, 242, 255, 95, 95, 255, 255, 96, 96, 119, 255, 255, 255, 0, 255, 255, 255, 0, 255, 95, 95, 207, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 96, 96, 45, 255, 95, 95, 235, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 202, 255, 255, 255, 0, 255, 255, 255, 0, 255, 95, 95, 242, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 233, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 95, 95, 235, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 95, 95, 242, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 96, 96, 232, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 98, 98, 44, 255, 95, 95, 234, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 95, 95, 207, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 231, 255, 99, 99, 41, 255, 255, 255, 0, 255, 96, 96, 45, 255, 98, 98, 44, 255, 255, 255, 0, 255, 95, 95, 43, 255, 95, 95, 233, 255, 95, 95, 255, 255, 95, 95, 255, 255, 96, 96, 200, 255, 255, 255, 0, 255, 255, 255, 0, 255, 95, 95, 123, 255, 95, 95, 255, 255, 96, 96, 240, 255, 96, 96, 40, 255, 255, 255, 0, 255, 96, 96, 45, 255, 95, 95, 235, 255, 95, 95, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 95, 95, 43, 255, 95, 95, 242, 255, 95, 95, 255, 255, 97, 97, 116, 255, 255, 255, 0, 255, 255, 255, 0, 255, 104, 104, 22, 255, 95, 95, 238, 255, 95, 95, 255, 255, 96, 96, 112, 255, 96, 96, 45, 255, 95, 95, 235, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 233, 255, 95, 95, 43, 255, 96, 96, 117, 255, 95, 95, 255, 255, 95, 95, 235, 255, 99, 99, 18, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 76, 255, 95, 95, 254, 255, 95, 95, 255, 255, 95, 95, 242, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 242, 255, 95, 95, 255, 255, 95, 95, 253, 255, 95, 95, 70, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 77, 255, 95, 95, 239, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 255, 255, 95, 95, 236, 255, 97, 97, 71, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 21, 255, 96, 96, 122, 255, 95, 95, 203, 255, 95, 95, 238, 255, 95, 95, 238, 255, 95, 95, 202, 255, 96, 96, 119, 255, 102, 102, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 160, 230, 230, 230, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 213, 225, 225, 225, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 75, 224, 224, 224, 188, 224, 224, 224, 238, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 245, 224, 224, 224, 96, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 133, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 245, 226, 226, 226, 95, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 77, 224, 224, 224, 255, 224, 224, 224, 253, 225, 225, 225, 117, 224, 224, 224, 32, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 212, 225, 225, 225, 42, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 129, 226, 226, 226, 70, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 189, 224, 224, 224, 255, 224, 224, 224, 113, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 159, 230, 230, 230, 10, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 73, 224, 224, 224, 255, 224, 224, 224, 185, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 242, 224, 224, 224, 255, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 25, 224, 224, 224, 255, 224, 224, 224, 238, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 243, 224, 224, 224, 254, 233, 233, 233, 23, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 229, 229, 229, 29, 224, 224, 224, 255, 224, 224, 224, 236, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 189, 224, 224, 224, 255, 225, 225, 225, 68, 255, 255, 255, 0, 255, 255, 255, 0, 230, 230, 230, 10, 224, 224, 224, 160, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 121, 224, 224, 224, 255, 224, 224, 224, 181, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 72, 224, 224, 224, 121, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 43, 224, 224, 224, 213, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 227, 227, 227, 36, 225, 225, 225, 124, 224, 224, 224, 254, 224, 224, 224, 255, 226, 226, 226, 70, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 96, 224, 224, 224, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 125, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 95, 224, 224, 224, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 237, 224, 224, 224, 185, 226, 226, 226, 70, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 42, 224, 224, 224, 213, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 230, 230, 230, 10, 225, 225, 225, 159, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", "height": 16, "mipmaps": false, "width": 16 } -[sub_resource type="ImageTexture" id="ImageTexture_6b21o"] -image = SubResource("Image_xlwc6") +[sub_resource type="ImageTexture" id="ImageTexture_jvn24"] +image = SubResource("Image_knei0") -[sub_resource type="Image" id="Image_d3qlj"] +[sub_resource type="Image" id="Image_cetp0"] data = { -"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 222, 232, 147, 195, 221, 242, 147, 195, 221, 250, 147, 195, 221, 254, 147, 195, 221, 254, 147, 195, 221, 250, 147, 195, 221, 242, 147, 196, 222, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 238, 147, 195, 221, 254, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 147, 195, 221, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 237, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 254, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 254, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 196, 222, 232, 147, 195, 221, 253, 147, 195, 221, 255, 147, 195, 221, 240, 147, 195, 221, 234, 147, 195, 221, 253, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 147, 195, 221, 234, 147, 195, 221, 241, 147, 195, 221, 255, 147, 195, 221, 253, 147, 196, 222, 232, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 242, 147, 195, 221, 255, 147, 195, 221, 254, 147, 195, 221, 234, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 253, 147, 195, 221, 253, 147, 195, 221, 234, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 254, 147, 195, 221, 255, 147, 195, 221, 241, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 250, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 147, 195, 221, 234, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 234, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 253, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 250, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 254, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 147, 195, 221, 234, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 253, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 254, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 147, 195, 221, 234, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 253, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 250, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 147, 195, 221, 234, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 234, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 253, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 250, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 242, 147, 195, 221, 255, 147, 195, 221, 254, 147, 195, 221, 234, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 253, 147, 195, 221, 253, 147, 195, 221, 234, 255, 255, 255, 0, 147, 195, 221, 234, 147, 195, 221, 254, 147, 195, 221, 255, 147, 195, 221, 241, 255, 255, 255, 0, 255, 255, 255, 0, 147, 196, 222, 232, 147, 195, 221, 253, 147, 195, 221, 255, 147, 195, 221, 241, 147, 195, 221, 234, 147, 195, 221, 253, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 147, 195, 221, 234, 147, 195, 221, 241, 147, 195, 221, 255, 147, 195, 221, 253, 147, 195, 221, 231, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 237, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 254, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 254, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 237, 147, 195, 221, 253, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 255, 147, 195, 221, 253, 147, 195, 221, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 195, 221, 232, 147, 195, 221, 242, 147, 195, 221, 250, 147, 195, 221, 253, 147, 195, 221, 253, 147, 195, 221, 250, 147, 195, 221, 241, 147, 196, 222, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 233, 233, 233, 23, 224, 224, 224, 198, 224, 224, 224, 201, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 233, 233, 233, 23, 224, 224, 224, 213, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 215, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 196, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 199, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 171, 224, 224, 224, 195, 224, 224, 224, 253, 224, 224, 224, 255, 224, 224, 224, 195, 225, 225, 225, 175, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 176, 224, 224, 224, 200, 224, 224, 224, 253, 224, 224, 224, 255, 225, 225, 225, 199, 224, 224, 224, 179, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 194, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 197, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 212, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 194, 224, 224, 224, 196, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", "height": 16, "mipmaps": false, "width": 16 } -[sub_resource type="ImageTexture" id="ImageTexture_y22c0"] -image = SubResource("Image_d3qlj") +[sub_resource type="ImageTexture" id="ImageTexture_k82x4"] +image = SubResource("Image_cetp0") -[sub_resource type="Image" id="Image_dqkot"] -data = { -"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 255, 224, 224, 224, 255, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 195, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 224, 224, 224, 255, 224, 224, 224, 255, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 194, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 178, 224, 224, 224, 194, 230, 230, 230, 20, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 194, 224, 224, 224, 179, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 180, 224, 224, 224, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), -"format": "RGBA8", -"height": 16, -"mipmaps": false, -"width": 16 -} - -[sub_resource type="ImageTexture" id="ImageTexture_lxhvf"] -image = SubResource("Image_dqkot") - -[sub_resource type="Image" id="Image_tuw0u"] -data = { -"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 181, 224, 224, 224, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 180, 224, 224, 224, 195, 231, 231, 231, 21, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 195, 224, 224, 224, 178, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 195, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 224, 224, 224, 255, 224, 224, 224, 255, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 194, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 255, 224, 224, 224, 255, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), -"format": "RGBA8", -"height": 16, -"mipmaps": false, -"width": 16 -} - -[sub_resource type="ImageTexture" id="ImageTexture_odc2f"] -image = SubResource("Image_tuw0u") - -[sub_resource type="Image" id="Image_epiia"] -data = { -"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 160, 230, 230, 230, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 213, 225, 225, 225, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 76, 224, 224, 224, 189, 224, 224, 224, 238, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 245, 224, 224, 224, 96, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 135, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 245, 226, 226, 226, 95, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 77, 224, 224, 224, 255, 224, 224, 224, 253, 225, 225, 225, 117, 224, 224, 224, 32, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 212, 225, 225, 225, 42, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 129, 225, 225, 225, 68, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 189, 224, 224, 224, 255, 224, 224, 224, 113, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 159, 230, 230, 230, 10, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 73, 224, 224, 224, 255, 225, 225, 225, 183, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 242, 224, 224, 224, 255, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 25, 224, 224, 224, 255, 224, 224, 224, 237, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 243, 224, 224, 224, 254, 233, 233, 233, 23, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 229, 229, 229, 29, 224, 224, 224, 255, 224, 224, 224, 236, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 188, 224, 224, 224, 255, 225, 225, 225, 68, 255, 255, 255, 0, 255, 255, 255, 0, 230, 230, 230, 10, 224, 224, 224, 160, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 120, 224, 224, 224, 255, 224, 224, 224, 181, 255, 255, 255, 0, 255, 255, 255, 0, 227, 227, 227, 71, 225, 225, 225, 126, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 43, 224, 224, 224, 213, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 34, 225, 225, 225, 124, 224, 224, 224, 254, 224, 224, 224, 255, 226, 226, 226, 70, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 96, 224, 224, 224, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 125, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 95, 224, 224, 224, 245, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 237, 224, 224, 224, 185, 227, 227, 227, 71, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 42, 224, 224, 224, 213, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 230, 230, 230, 10, 225, 225, 225, 159, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), -"format": "RGBA8", -"height": 16, -"mipmaps": false, -"width": 16 -} - -[sub_resource type="ImageTexture" id="ImageTexture_ulpsv"] -image = SubResource("Image_epiia") - -[sub_resource type="Image" id="Image_ft60s"] -data = { -"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 233, 233, 233, 23, 224, 224, 224, 198, 224, 224, 224, 200, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 233, 233, 233, 23, 224, 224, 224, 213, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 215, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 196, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 199, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 171, 224, 224, 224, 195, 224, 224, 224, 253, 224, 224, 224, 255, 224, 224, 224, 195, 225, 225, 225, 175, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 176, 224, 224, 224, 200, 224, 224, 224, 253, 224, 224, 224, 255, 225, 225, 225, 199, 224, 224, 224, 179, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 194, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 197, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 212, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 194, 224, 224, 224, 196, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), -"format": "RGBA8", -"height": 16, -"mipmaps": false, -"width": 16 -} - -[sub_resource type="ImageTexture" id="ImageTexture_vn5m0"] -image = SubResource("Image_ft60s") - -[sub_resource type="Image" id="Image_pj4yi"] +[sub_resource type="Image" id="Image_f2x20"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -83,22 +35,22 @@ data = { "width": 16 } -[sub_resource type="ImageTexture" id="ImageTexture_0bjic"] -image = SubResource("Image_pj4yi") +[sub_resource type="ImageTexture" id="ImageTexture_bs7qq"] +image = SubResource("Image_f2x20") -[sub_resource type="Image" id="Image_ykisp"] +[sub_resource type="Image" id="Image_k73x4"] data = { -"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 194, 224, 224, 224, 196, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 212, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 194, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 197, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 176, 224, 224, 224, 200, 224, 224, 224, 253, 224, 224, 224, 255, 225, 225, 225, 199, 224, 224, 224, 179, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 171, 224, 224, 224, 195, 224, 224, 224, 253, 224, 224, 224, 255, 224, 224, 224, 195, 225, 225, 225, 175, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 196, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 199, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 233, 233, 233, 23, 224, 224, 224, 213, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 215, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 233, 233, 233, 23, 224, 224, 224, 198, 224, 224, 224, 200, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 194, 224, 224, 224, 196, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 212, 232, 232, 232, 22, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 194, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 197, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 176, 224, 224, 224, 200, 224, 224, 224, 253, 224, 224, 224, 255, 225, 225, 225, 199, 224, 224, 224, 179, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 252, 224, 224, 224, 255, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 171, 224, 224, 224, 195, 224, 224, 224, 253, 224, 224, 224, 255, 224, 224, 224, 195, 225, 225, 225, 175, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 196, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 199, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 233, 233, 233, 23, 224, 224, 224, 213, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 215, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 233, 233, 233, 23, 224, 224, 224, 198, 224, 224, 224, 201, 224, 224, 224, 24, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", "height": 16, "mipmaps": false, "width": 16 } -[sub_resource type="ImageTexture" id="ImageTexture_uvtgc"] -image = SubResource("Image_ykisp") +[sub_resource type="ImageTexture" id="ImageTexture_0ck6a"] +image = SubResource("Image_k73x4") -[sub_resource type="Image" id="Image_57ty0"] +[sub_resource type="Image" id="Image_ujiln"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 3, 224, 224, 224, 105, 224, 224, 224, 192, 224, 224, 224, 244, 224, 224, 224, 238, 224, 224, 224, 197, 224, 224, 224, 105, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 233, 233, 233, 23, 225, 225, 225, 207, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 198, 226, 226, 226, 26, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 6, 224, 224, 224, 205, 224, 224, 224, 255, 224, 224, 224, 218, 225, 225, 225, 83, 237, 237, 237, 14, 237, 237, 237, 14, 224, 224, 224, 82, 224, 224, 224, 220, 224, 224, 224, 255, 224, 224, 224, 197, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 102, 224, 224, 224, 255, 224, 224, 224, 218, 227, 227, 227, 18, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 224, 224, 224, 16, 224, 224, 224, 221, 224, 224, 224, 255, 225, 225, 225, 101, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 198, 224, 224, 224, 255, 225, 225, 225, 84, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 226, 226, 226, 86, 224, 224, 224, 255, 224, 224, 224, 194, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 4, 224, 224, 224, 238, 224, 224, 224, 255, 227, 227, 227, 18, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 229, 229, 229, 19, 224, 224, 224, 255, 224, 224, 224, 233, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 160, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 225, 225, 225, 159, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 230, 230, 230, 20, 224, 224, 224, 255, 224, 224, 224, 237, 255, 255, 255, 0, 255, 255, 255, 0, 230, 230, 230, 10, 224, 224, 224, 213, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 212, 230, 230, 230, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 90, 224, 224, 224, 255, 224, 224, 224, 185, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 225, 225, 225, 42, 224, 224, 224, 245, 224, 224, 224, 245, 225, 225, 225, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 232, 232, 232, 22, 224, 224, 224, 224, 224, 224, 224, 255, 224, 224, 224, 98, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 96, 226, 226, 226, 95, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 230, 230, 230, 20, 224, 224, 224, 88, 224, 224, 224, 221, 224, 224, 224, 255, 225, 225, 225, 199, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 200, 227, 227, 227, 18, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 236, 224, 224, 224, 195, 224, 224, 224, 96, 255, 255, 255, 5, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -107,10 +59,10 @@ data = { "width": 16 } -[sub_resource type="ImageTexture" id="ImageTexture_2tlxj"] -image = SubResource("Image_57ty0") +[sub_resource type="ImageTexture" id="ImageTexture_t7ac1"] +image = SubResource("Image_ujiln") -[sub_resource type="Image" id="Image_ot6ar"] +[sub_resource type="Image" id="Image_6qet5"] data = { "data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 248, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 248, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), "format": "RGBA8", @@ -119,8 +71,116 @@ data = { "width": 16 } -[sub_resource type="ImageTexture" id="ImageTexture_143fp"] -image = SubResource("Image_ot6ar") +[sub_resource type="ImageTexture" id="ImageTexture_03vfp"] +image = SubResource("Image_6qet5") + +[sub_resource type="Image" id="Image_atf74"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 248, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 237, 247, 245, 248, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 237, 247, 245, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_fv3i4"] +image = SubResource("Image_atf74") + +[sub_resource type="Image" id="Image_dd3uy"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 249, 249, 255, 230, 246, 246, 252, 230, 249, 249, 255, 230, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 246, 246, 252, 237, 246, 246, 252, 255, 246, 246, 252, 248, 255, 255, 255, 0, 246, 246, 252, 254, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 246, 246, 252, 236, 246, 246, 252, 254, 246, 246, 252, 247, 255, 255, 255, 0, 246, 246, 252, 254, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 246, 246, 253, 231, 246, 246, 253, 232, 246, 246, 252, 230, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 246, 246, 252, 243, 246, 246, 252, 255, 246, 246, 252, 242, 246, 246, 252, 230, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 246, 246, 252, 242, 246, 246, 252, 253, 246, 246, 252, 241, 246, 246, 252, 230, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 246, 246, 252, 244, 246, 246, 252, 255, 246, 246, 252, 241, 246, 246, 252, 230, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 246, 246, 252, 244, 246, 246, 252, 255, 246, 246, 252, 241, 246, 246, 252, 230, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 246, 246, 252, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_ab51p"] +image = SubResource("Image_dd3uy") + +[sub_resource type="Image" id="Image_gu8ck"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 122, 111, 23, 255, 121, 107, 126, 255, 120, 108, 206, 255, 120, 107, 240, 255, 120, 107, 240, 255, 120, 108, 206, 255, 121, 107, 124, 255, 128, 116, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 121, 108, 80, 255, 120, 107, 240, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 121, 107, 239, 255, 123, 109, 77, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 121, 108, 78, 255, 120, 107, 254, 255, 120, 107, 255, 255, 120, 107, 240, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 240, 255, 120, 107, 255, 255, 120, 107, 254, 255, 122, 109, 75, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 128, 116, 22, 255, 121, 107, 239, 255, 120, 107, 255, 255, 122, 107, 107, 255, 121, 109, 42, 255, 120, 107, 233, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 231, 255, 121, 108, 40, 255, 121, 107, 112, 255, 120, 107, 255, 255, 120, 107, 238, 255, 128, 115, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 121, 107, 124, 255, 120, 107, 255, 255, 120, 107, 240, 255, 121, 109, 42, 255, 255, 255, 0, 255, 121, 109, 42, 255, 120, 107, 233, 255, 120, 107, 232, 255, 124, 112, 41, 255, 255, 255, 0, 255, 125, 108, 45, 255, 120, 107, 242, 255, 120, 107, 255, 255, 120, 107, 119, 255, 255, 255, 0, 255, 255, 255, 0, 255, 121, 107, 207, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 233, 255, 121, 109, 42, 255, 255, 255, 0, 255, 121, 109, 42, 255, 121, 109, 42, 255, 255, 255, 0, 255, 125, 108, 45, 255, 120, 107, 235, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 202, 255, 255, 255, 0, 255, 255, 255, 0, 255, 120, 107, 242, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 233, 255, 121, 109, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 125, 108, 45, 255, 120, 107, 235, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 108, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 120, 107, 242, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 232, 255, 121, 109, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 122, 110, 44, 255, 120, 107, 234, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 108, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 121, 107, 207, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 231, 255, 124, 112, 41, 255, 255, 255, 0, 255, 125, 108, 45, 255, 122, 110, 44, 255, 255, 255, 0, 255, 125, 107, 43, 255, 120, 107, 233, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 200, 255, 255, 255, 0, 255, 255, 255, 0, 255, 120, 108, 123, 255, 120, 107, 255, 255, 120, 107, 240, 255, 121, 108, 40, 255, 255, 255, 0, 255, 125, 108, 45, 255, 120, 107, 235, 255, 120, 107, 234, 255, 125, 107, 43, 255, 255, 255, 0, 255, 125, 107, 43, 255, 120, 107, 242, 255, 120, 107, 255, 255, 121, 108, 116, 255, 255, 255, 0, 255, 255, 255, 0, 255, 128, 116, 22, 255, 120, 107, 238, 255, 120, 107, 255, 255, 121, 107, 112, 255, 125, 108, 45, 255, 120, 107, 235, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 233, 255, 125, 107, 43, 255, 120, 107, 117, 255, 120, 107, 255, 255, 120, 107, 235, 255, 128, 113, 18, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 121, 107, 76, 255, 120, 107, 254, 255, 120, 107, 255, 255, 120, 107, 242, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 242, 255, 120, 107, 255, 255, 120, 107, 253, 255, 120, 109, 70, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 123, 109, 77, 255, 121, 107, 239, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 255, 255, 120, 107, 236, 255, 122, 108, 71, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 121, 109, 21, 255, 121, 107, 122, 255, 121, 107, 203, 255, 120, 107, 238, 255, 120, 107, 238, 255, 120, 107, 202, 255, 120, 107, 119, 255, 128, 115, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_2rpr0"] +image = SubResource("Image_gu8ck") + +[sub_resource type="Image" id="Image_1rlh2"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 255, 224, 224, 224, 255, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 195, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 224, 224, 224, 255, 224, 224, 224, 255, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 194, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 178, 224, 224, 224, 194, 230, 230, 230, 20, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 194, 224, 224, 224, 179, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 180, 224, 224, 224, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_1oriu"] +image = SubResource("Image_1rlh2") + +[sub_resource type="Image" id="Image_7053f"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 181, 224, 224, 224, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 180, 224, 224, 224, 195, 231, 231, 231, 21, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 195, 224, 224, 224, 178, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 195, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 224, 224, 224, 255, 224, 224, 224, 255, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 194, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 255, 224, 224, 224, 255, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_ikyhk"] +image = SubResource("Image_7053f") + +[sub_resource type="Image" id="Image_we0dj"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 223, 232, 147, 198, 222, 242, 147, 197, 222, 250, 147, 197, 222, 254, 147, 197, 222, 254, 147, 197, 222, 250, 147, 198, 222, 242, 147, 198, 223, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 222, 238, 147, 197, 222, 254, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 198, 222, 253, 147, 198, 222, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 222, 237, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 254, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 254, 147, 197, 222, 255, 147, 197, 222, 255, 147, 198, 222, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 223, 232, 147, 198, 222, 253, 147, 197, 222, 255, 147, 198, 222, 240, 147, 198, 222, 234, 147, 197, 222, 253, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 253, 147, 198, 222, 234, 147, 198, 222, 241, 147, 197, 222, 255, 147, 197, 222, 253, 147, 198, 223, 232, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 222, 242, 147, 197, 222, 255, 147, 197, 222, 254, 147, 198, 222, 234, 255, 255, 255, 0, 147, 198, 222, 234, 147, 197, 222, 253, 147, 197, 222, 253, 147, 198, 223, 234, 255, 255, 255, 0, 147, 198, 222, 234, 147, 197, 222, 254, 147, 197, 222, 255, 147, 197, 222, 241, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 222, 250, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 253, 147, 198, 222, 234, 255, 255, 255, 0, 147, 198, 222, 234, 147, 198, 222, 234, 255, 255, 255, 0, 147, 198, 222, 234, 147, 197, 222, 253, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 250, 255, 255, 255, 0, 255, 255, 255, 0, 147, 197, 222, 254, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 253, 147, 198, 222, 234, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 222, 234, 147, 197, 222, 253, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 253, 255, 255, 255, 0, 255, 255, 255, 0, 147, 197, 222, 254, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 253, 147, 198, 222, 234, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 223, 234, 147, 197, 222, 253, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 253, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 222, 250, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 253, 147, 198, 223, 234, 255, 255, 255, 0, 147, 198, 222, 234, 147, 198, 223, 234, 255, 255, 255, 0, 147, 198, 222, 234, 147, 197, 222, 253, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 250, 255, 255, 255, 0, 255, 255, 255, 0, 147, 197, 222, 242, 147, 197, 222, 255, 147, 197, 222, 254, 147, 198, 222, 234, 255, 255, 255, 0, 147, 198, 222, 234, 147, 197, 222, 253, 147, 197, 222, 253, 147, 198, 222, 234, 255, 255, 255, 0, 147, 198, 222, 234, 147, 197, 222, 254, 147, 197, 222, 255, 147, 198, 222, 241, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 223, 232, 147, 197, 222, 253, 147, 197, 222, 255, 147, 198, 222, 241, 147, 198, 222, 234, 147, 197, 222, 253, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 253, 147, 198, 222, 234, 147, 197, 222, 241, 147, 197, 222, 255, 147, 197, 222, 253, 147, 198, 223, 231, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 222, 237, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 254, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 254, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 222, 237, 147, 198, 222, 253, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 255, 147, 197, 222, 253, 147, 198, 222, 237, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 147, 198, 222, 232, 147, 198, 222, 242, 147, 198, 222, 250, 147, 197, 222, 253, 147, 197, 222, 253, 147, 197, 222, 250, 147, 197, 222, 241, 147, 198, 223, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_i2d73"] +image = SubResource("Image_we0dj") + +[sub_resource type="Image" id="Image_u8t6h"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 255, 224, 224, 224, 255, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 195, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 224, 224, 224, 255, 224, 224, 224, 255, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 194, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 178, 224, 224, 224, 194, 230, 230, 230, 20, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 194, 224, 224, 224, 179, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 180, 224, 224, 224, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_mph2m"] +image = SubResource("Image_u8t6h") + +[sub_resource type="Image" id="Image_x3jpw"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 181, 224, 224, 224, 180, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 180, 224, 224, 224, 195, 231, 231, 231, 21, 255, 255, 255, 0, 224, 224, 224, 255, 224, 224, 224, 255, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 195, 224, 224, 224, 178, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 224, 224, 224, 195, 224, 224, 224, 255, 224, 224, 224, 210, 231, 231, 231, 21, 224, 224, 224, 255, 224, 224, 224, 255, 231, 231, 231, 21, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 194, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 211, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 210, 224, 224, 224, 255, 224, 224, 224, 255, 224, 224, 224, 210, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 231, 231, 231, 21, 224, 224, 224, 255, 224, 224, 224, 255, 230, 230, 230, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_k6fqi"] +image = SubResource("Image_x3jpw") + +[sub_resource type="Image" id="Image_oprg2"] +data = { +"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 144, 239, 151, 76, 142, 239, 151, 228, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 240, 152, 128, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 143, 239, 152, 229, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 240, 152, 128, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 244, 153, 45, 143, 239, 152, 175, 149, 255, 170, 12, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 244, 153, 45, 142, 239, 151, 235, 142, 239, 151, 255, 143, 240, 151, 130, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 244, 153, 45, 142, 239, 151, 235, 142, 239, 151, 255, 143, 240, 151, 177, 153, 255, 153, 5, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 144, 244, 155, 23, 151, 244, 151, 22, 255, 255, 255, 0, 142, 244, 153, 45, 142, 239, 151, 235, 142, 239, 151, 255, 143, 240, 151, 177, 153, 255, 153, 5, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 144, 244, 155, 23, 143, 239, 151, 213, 142, 239, 152, 212, 145, 240, 152, 67, 142, 239, 151, 235, 142, 239, 151, 255, 143, 240, 151, 177, 153, 255, 153, 5, 255, 255, 255, 0, 142, 240, 152, 128, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 151, 244, 151, 22, 142, 239, 152, 212, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 143, 240, 151, 177, 153, 255, 153, 5, 255, 255, 255, 0, 142, 240, 152, 128, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 146, 243, 158, 21, 143, 239, 151, 211, 142, 239, 151, 255, 143, 240, 151, 177, 153, 255, 153, 5, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 146, 243, 158, 21, 143, 239, 152, 141, 153, 255, 153, 5, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 255, 142, 239, 151, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 142, 239, 151, 228, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 240, 151, 225, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 143, 241, 154, 73, 142, 239, 151, 226, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 239, 151, 255, 142, 240, 151, 225, 142, 241, 153, 70, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"format": "RGBA8", +"height": 16, +"mipmaps": false, +"width": 16 +} + +[sub_resource type="ImageTexture" id="ImageTexture_04e57"] +image = SubResource("Image_oprg2") [node name="StatusBar" type="PanelContainer"] clip_contents = true @@ -133,125 +193,237 @@ size_flags_horizontal = 3 size_flags_vertical = 0 script = ExtResource("3") -[node name="bar" type="HBoxContainer" parent="."] +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 2 + +[node name="tree_tools" type="HBoxContainer" parent="VBoxContainer"] layout_mode = 2 size_flags_vertical = 0 -[node name="errors" type="HBoxContainer" parent="bar"] +[node name="Label" type="Label" parent="VBoxContainer/tree_tools"] layout_mode = 2 -size_flags_vertical = 4 +size_flags_horizontal = 0 +text = "Statisitics" -[node name="btn_errors" type="Button" parent="bar/errors"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 3 -auto_translate = false -localize_numeral_system = false -text = "Errors" -icon = SubResource("ImageTexture_6b21o") - -[node name="error_value" type="Label" parent="bar/errors"] -unique_name_in_owner = true -use_parent_material = true -layout_mode = 2 -size_flags_horizontal = 3 -text = "0" -vertical_alignment = 1 -justification_flags = 160 -max_lines_visible = 1 - -[node name="failures" type="HBoxContainer" parent="bar"] -layout_mode = 2 -size_flags_vertical = 4 - -[node name="btn_failures" type="Button" parent="bar/failures"] -unique_name_in_owner = true -clip_contents = true -layout_mode = 2 -size_flags_horizontal = 9 -size_flags_vertical = 3 -auto_translate = false -localize_numeral_system = false -tooltip_text = "Shows the total test failures." -text = "Failures" -icon = SubResource("ImageTexture_y22c0") - -[node name="failure_value" type="Label" parent="bar/failures"] -unique_name_in_owner = true -use_parent_material = true -layout_mode = 2 -size_flags_horizontal = 3 -text = "0" -vertical_alignment = 1 -justification_flags = 160 -max_lines_visible = 1 - -[node name="navigation" type="HBoxContainer" parent="bar"] -layout_mode = 2 -size_flags_vertical = 4 -auto_translate = false -localize_numeral_system = false - -[node name="btn_failure_up" type="Button" parent="bar/navigation"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -tooltip_text = "Shows the total test errors." -icon = SubResource("ImageTexture_lxhvf") - -[node name="btn_failure_down" type="Button" parent="bar/navigation"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -tooltip_text = "Shows the total test errors." -icon = SubResource("ImageTexture_odc2f") - -[node name="tree_buttons" type="HBoxContainer" parent="bar"] +[node name="tree_buttons" type="HBoxContainer" parent="VBoxContainer/tree_tools"] layout_mode = 2 size_flags_horizontal = 10 size_flags_vertical = 4 alignment = 2 -[node name="VSeparator" type="VSeparator" parent="bar/tree_buttons"] +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/tree_tools/tree_buttons"] layout_mode = 2 -[node name="btn_tree_sync" type="Button" parent="bar/tree_buttons"] +[node name="btn_tree_sync" type="Button" parent="VBoxContainer/tree_tools/tree_buttons"] unique_name_in_owner = true layout_mode = 2 tooltip_text = "Run discover tests." -icon = SubResource("ImageTexture_ulpsv") +disabled = true +icon = SubResource("ImageTexture_jvn24") -[node name="btn_tree_sort" type="MenuButton" parent="bar/tree_buttons"] +[node name="btn_tree_sort" type="MenuButton" parent="VBoxContainer/tree_tools/tree_buttons"] unique_name_in_owner = true layout_mode = 2 tooltip_text = "Sets tree sorting mode." -icon = SubResource("ImageTexture_vn5m0") +disabled = true +icon = SubResource("ImageTexture_k82x4") +flat = false item_count = 4 popup/item_0/text = "Unsorted" -popup/item_0/icon = SubResource("ImageTexture_0bjic") +popup/item_0/icon = SubResource("ImageTexture_bs7qq") popup/item_0/checkable = 1 -popup/item_0/id = 8192 popup/item_1/text = "Name ascending" -popup/item_1/icon = SubResource("ImageTexture_vn5m0") +popup/item_1/icon = SubResource("ImageTexture_k82x4") popup/item_1/checkable = 1 -popup/item_1/id = 8193 +popup/item_1/checked = true +popup/item_1/id = 1 popup/item_2/text = "Name descending" -popup/item_2/icon = SubResource("ImageTexture_uvtgc") +popup/item_2/icon = SubResource("ImageTexture_0ck6a") popup/item_2/checkable = 1 -popup/item_2/id = 8194 +popup/item_2/id = 2 popup/item_3/text = "Execution time" -popup/item_3/icon = SubResource("ImageTexture_2tlxj") +popup/item_3/icon = SubResource("ImageTexture_t7ac1") popup/item_3/checkable = 1 -popup/item_3/id = 8195 +popup/item_3/id = 3 -[node name="btn_tree_mode" type="MenuButton" parent="bar/tree_buttons"] +[node name="btn_tree_mode" type="MenuButton" parent="VBoxContainer/tree_tools/tree_buttons"] unique_name_in_owner = true layout_mode = 2 tooltip_text = "Sets tree presentaion mode." -icon = SubResource("ImageTexture_143fp") +disabled = true +icon = SubResource("ImageTexture_03vfp") +flat = false +item_count = 2 +popup/item_0/text = "Tree" +popup/item_0/icon = SubResource("ImageTexture_fv3i4") +popup/item_0/checkable = 1 +popup/item_0/checked = true +popup/item_1/text = "Flat" +popup/item_1/icon = SubResource("ImageTexture_ab51p") +popup/item_1/checkable = 1 +popup/item_1/id = 1 -[connection signal="pressed" from="bar/navigation/btn_failure_up" to="." method="_on_failure_up_pressed"] -[connection signal="pressed" from="bar/navigation/btn_failure_down" to="." method="_on_failure_down_pressed"] -[connection signal="pressed" from="bar/tree_buttons/btn_tree_sync" to="." method="_on_tree_sync_pressed"] +[node name="HSeparator" type="HSeparator" parent="VBoxContainer"] +layout_mode = 2 + +[node name="status_bar" type="HFlowContainer" parent="VBoxContainer"] +layout_mode = 2 +last_wrap_alignment = 1 + +[node name="errors" type="HBoxContainer" parent="VBoxContainer/status_bar"] +layout_mode = 2 +size_flags_vertical = 4 + +[node name="error_value" type="Label" parent="VBoxContainer/status_bar/errors"] +unique_name_in_owner = true +use_parent_material = true +custom_minimum_size = Vector2(24, 0) +layout_mode = 2 +size_flags_horizontal = 2 +text = "0" +horizontal_alignment = 2 +justification_flags = 0 + +[node name="icon_errors" type="TextureRect" parent="VBoxContainer/status_bar/errors"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 4 +texture = SubResource("ImageTexture_2rpr0") +stretch_mode = 2 + +[node name="Label" type="Label" parent="VBoxContainer/status_bar/errors"] +layout_mode = 2 +text = "Errors" +justification_flags = 0 + +[node name="navigation" type="HBoxContainer" parent="VBoxContainer/status_bar/errors"] +auto_translate_mode = 2 +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +localize_numeral_system = false + +[node name="btn_error_up" type="Button" parent="VBoxContainer/status_bar/errors/navigation"] +layout_mode = 2 +size_flags_vertical = 3 +tooltip_text = "Shows the total test errors." +icon = SubResource("ImageTexture_1oriu") + +[node name="btn_error_down" type="Button" parent="VBoxContainer/status_bar/errors/navigation"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 3 +tooltip_text = "Shows the total test errors." +icon = SubResource("ImageTexture_ikyhk") + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/status_bar"] +layout_mode = 2 + +[node name="failures" type="HBoxContainer" parent="VBoxContainer/status_bar"] +layout_mode = 2 +size_flags_vertical = 4 + +[node name="failure_value" type="Label" parent="VBoxContainer/status_bar/failures"] +unique_name_in_owner = true +use_parent_material = true +custom_minimum_size = Vector2(24, 0) +layout_mode = 2 +size_flags_horizontal = 0 +text = "0" +horizontal_alignment = 2 +vertical_alignment = 1 +justification_flags = 160 +max_lines_visible = 1 + +[node name="icon_failures" type="TextureRect" parent="VBoxContainer/status_bar/failures"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 4 +texture = SubResource("ImageTexture_i2d73") +stretch_mode = 2 + +[node name="Label" type="Label" parent="VBoxContainer/status_bar/failures"] +layout_mode = 2 +text = "Failures" +justification_flags = 0 + +[node name="navigation" type="HBoxContainer" parent="VBoxContainer/status_bar/failures"] +auto_translate_mode = 2 +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +localize_numeral_system = false + +[node name="btn_failure_up" type="Button" parent="VBoxContainer/status_bar/failures/navigation"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 3 +tooltip_text = "Shows the total test errors." +icon = SubResource("ImageTexture_mph2m") + +[node name="btn_failure_down" type="Button" parent="VBoxContainer/status_bar/failures/navigation"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 3 +tooltip_text = "Shows the total test errors." +icon = SubResource("ImageTexture_k6fqi") + +[node name="VSeparator2" type="VSeparator" parent="VBoxContainer/status_bar"] +layout_mode = 2 + +[node name="flaky" type="HBoxContainer" parent="VBoxContainer/status_bar"] +layout_mode = 2 +size_flags_vertical = 4 + +[node name="flaky_value" type="Label" parent="VBoxContainer/status_bar/flaky"] +unique_name_in_owner = true +use_parent_material = true +custom_minimum_size = Vector2(24, 0) +layout_mode = 2 +size_flags_horizontal = 0 +text = "0" +horizontal_alignment = 2 +vertical_alignment = 1 +justification_flags = 160 +max_lines_visible = 1 + +[node name="icon_flaky" type="TextureRect" parent="VBoxContainer/status_bar/flaky"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_vertical = 4 +texture = SubResource("ImageTexture_04e57") +stretch_mode = 2 + +[node name="Label" type="Label" parent="VBoxContainer/status_bar/flaky"] +layout_mode = 2 +text = "Flaky" +justification_flags = 0 + +[node name="navigation" type="HBoxContainer" parent="VBoxContainer/status_bar/flaky"] +auto_translate_mode = 2 +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 4 +localize_numeral_system = false + +[node name="btn_flaky_up" type="Button" parent="VBoxContainer/status_bar/flaky/navigation"] +layout_mode = 2 +size_flags_vertical = 3 +tooltip_text = "Shows the total test errors." +icon = SubResource("ImageTexture_1oriu") + +[node name="btn_flaky_down" type="Button" parent="VBoxContainer/status_bar/flaky/navigation"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 3 +tooltip_text = "Shows the total test errors." +icon = SubResource("ImageTexture_ikyhk") + +[connection signal="pressed" from="VBoxContainer/tree_tools/tree_buttons/btn_tree_sync" to="." method="_on_tree_sync_pressed"] +[connection signal="pressed" from="VBoxContainer/status_bar/errors/navigation/btn_error_up" to="." method="_on_btn_error_up_pressed"] +[connection signal="pressed" from="VBoxContainer/status_bar/errors/navigation/btn_error_down" to="." method="_on_btn_error_down_pressed"] +[connection signal="pressed" from="VBoxContainer/status_bar/failures/navigation/btn_failure_up" to="." method="_on_failure_up_pressed"] +[connection signal="pressed" from="VBoxContainer/status_bar/failures/navigation/btn_failure_down" to="." method="_on_failure_down_pressed"] +[connection signal="pressed" from="VBoxContainer/status_bar/flaky/navigation/btn_flaky_up" to="." method="_on_btn_flaky_up_pressed"] +[connection signal="pressed" from="VBoxContainer/status_bar/flaky/navigation/btn_flaky_down" to="." method="_on_btn_flaky_down_pressed"] diff --git a/addons/gdUnit4/src/ui/parts/InspectorToolBar.gd b/addons/gdUnit4/src/ui/parts/InspectorToolBar.gd index c3afbec..d5872ee 100644 --- a/addons/gdUnit4/src/ui/parts/InspectorToolBar.gd +++ b/addons/gdUnit4/src/ui/parts/InspectorToolBar.gd @@ -5,13 +5,13 @@ signal run_overall_pressed(debug: bool) signal run_pressed(debug: bool) signal stop_pressed() -@onready var _version_label := %version -@onready var _button_wiki := %help -@onready var _tool_button := %tool -@onready var _button_run_overall := %run_overall -@onready var _button_run := %run -@onready var _button_run_debug := %debug -@onready var _button_stop := %stop +@onready var _version_label: Control = %version +@onready var _button_wiki: Button = %help +@onready var _tool_button: Button = %tool +@onready var _button_run_overall: Button = %run_overall +@onready var _button_run: Button = %run +@onready var _button_run_debug: Button = %debug +@onready var _button_stop: Button = %stop @onready var settings_dlg := preload("res://addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.tscn").instantiate() @@ -23,6 +23,7 @@ const SETTINGS_SHORTCUT_MAPPING := { } +@warning_ignore("return_value_discarded") func _ready() -> void: GdUnit4Version.init_version_label(_version_label) var command_handler := GdUnitCommandHandler.instance() @@ -53,6 +54,7 @@ func init_shortcuts(command_handler: GdUnitCommandHandler) -> void: _button_run_debug.shortcut = command_handler.get_shortcut(GdUnitShortcut.ShortCut.RERUN_TESTS_DEBUG) _button_stop.shortcut = command_handler.get_shortcut(GdUnitShortcut.ShortCut.STOP_TEST_RUN) # register for shortcut changes + @warning_ignore("return_value_discarded") GdUnitSignals.instance().gdunit_settings_changed.connect(_on_settings_changed.bind(command_handler)) @@ -87,6 +89,7 @@ func _on_gdunit_settings_changed(_property: GdUnitProperty) -> void: func _on_wiki_pressed() -> void: + @warning_ignore("return_value_discarded") OS.shell_open("https://mikeschulze.github.io/gdUnit4/") diff --git a/addons/gdUnit4/src/ui/parts/InspectorTreeMainPanel.gd b/addons/gdUnit4/src/ui/parts/InspectorTreeMainPanel.gd index 3cc35cc..cb94fe8 100644 --- a/addons/gdUnit4/src/ui/parts/InspectorTreeMainPanel.gd +++ b/addons/gdUnit4/src/ui/parts/InspectorTreeMainPanel.gd @@ -14,8 +14,8 @@ const CONTEXT_MENU_EXPAND_ALL = 4 @onready var _report_list: Node = $report/ScrollContainer/list @onready var _report_template: RichTextLabel = $report/report_template @onready var _context_menu: PopupMenu = $contextMenu -@onready var _discover_hint := %discover_hint -@onready var _spinner := %spinner +@onready var _discover_hint: Control = %discover_hint +@onready var _spinner: Button = %spinner # loading tree icons @onready var ICON_SPINNER := GdUnitUiTools.get_spinner() @@ -23,6 +23,7 @@ const CONTEXT_MENU_EXPAND_ALL = 4 # gdscript icons @onready var ICON_GDSCRIPT_TEST_DEFAULT := GdUnitUiTools.get_icon("GDScript", Color.LIGHT_GRAY) @onready var ICON_GDSCRIPT_TEST_SUCCESS := GdUnitUiTools.get_GDScript_icon("StatusSuccess", Color.DARK_GREEN) +@onready var ICON_GDSCRIPT_TEST_FLAKY := GdUnitUiTools.get_GDScript_icon("CheckBox", Color.GREEN_YELLOW) @onready var ICON_GDSCRIPT_TEST_FAILED := GdUnitUiTools.get_GDScript_icon("StatusError", Color.SKY_BLUE) @onready var ICON_GDSCRIPT_TEST_ERROR := GdUnitUiTools.get_GDScript_icon("StatusError", Color.DARK_RED) @onready var ICON_GDSCRIPT_TEST_SUCCESS_ORPHAN := GdUnitUiTools.get_GDScript_icon("Unlinked", Color.DARK_GREEN) @@ -51,6 +52,7 @@ enum STATE { RUNNING, SUCCESS, WARNING, + FLAKY, FAILED, ERROR, ABORDED, @@ -68,6 +70,7 @@ const META_GDUNIT_ORPHAN := "gdUnit_orphan" const META_GDUNIT_EXECUTION_TIME := "gdUnit_execution_time" const META_RESOURCE_PATH := "resource_path" const META_LINE_NUMBER := "line_number" +const META_SCRIPT_PATH := "script_path" const META_TEST_PARAM_INDEX := "test_param_index" var _tree_root: TreeItem @@ -110,50 +113,54 @@ func _find_by_resource_path(current: TreeItem, resource_path: String) -> TreeIte return null -func _find_first_failure(parent := _tree_root, reverse := false) -> TreeItem: +func _find_first_item_by_state(parent: TreeItem, item_state: STATE, reverse := false) -> TreeItem: var itmes := parent.get_children() if reverse: itmes.reverse() for item in itmes: - if is_test_case(item) and (is_state_error(item) or is_state_failed(item)): + if is_test_case(item) and (is_item_state(item, item_state)): return item - var failure_item := _find_first_failure(item, reverse) + var failure_item := _find_first_item_by_state(item, item_state, reverse) if failure_item != null: return failure_item return null -func _find_last_failure(parent := _tree_root) -> TreeItem: - return _find_first_failure(parent, true) +func _find_last_item_by_state(parent: TreeItem, item_state: STATE) -> TreeItem: + return _find_first_item_by_state(parent, item_state, true) -func _find_failure(current :TreeItem, prev := false) -> TreeItem: +func _find_item_by_state(current: TreeItem, item_state: STATE, prev := false) -> TreeItem: var next := current.get_prev_in_tree() if prev else current.get_next_in_tree() if next == null or next == _tree_root: return null - if is_test_case(next) and (is_state_error(next) or is_state_failed(next)): + if is_test_case(next) and is_item_state(next, item_state): return next - return _find_failure(next, prev) + return _find_item_by_state(next, item_state, prev) + + +func is_item_state(item: TreeItem, item_state: STATE) -> bool: + return item.has_meta(META_GDUNIT_STATE) and item.get_meta(META_GDUNIT_STATE) == item_state func is_state_running(item: TreeItem) -> bool: - return item.has_meta(META_GDUNIT_STATE) and item.get_meta(META_GDUNIT_STATE) == STATE.RUNNING + return is_item_state(item, STATE.RUNNING) func is_state_success(item: TreeItem) -> bool: - return item.has_meta(META_GDUNIT_STATE) and item.get_meta(META_GDUNIT_STATE) == STATE.SUCCESS + return is_item_state(item, STATE.SUCCESS) func is_state_warning(item: TreeItem) -> bool: - return item.has_meta(META_GDUNIT_STATE) and item.get_meta(META_GDUNIT_STATE) == STATE.WARNING + return is_item_state(item, STATE.WARNING) func is_state_failed(item: TreeItem) -> bool: - return item.has_meta(META_GDUNIT_STATE) and item.get_meta(META_GDUNIT_STATE) == STATE.FAILED + return is_item_state(item, STATE.FAILED) func is_state_error(item: TreeItem) -> bool: - return item.has_meta(META_GDUNIT_STATE) and (item.get_meta(META_GDUNIT_STATE) == STATE.ERROR or item.get_meta(META_GDUNIT_STATE) == STATE.ABORDED) + return is_item_state(item, STATE.ERROR) or is_item_state(item, STATE.ABORDED) func is_item_state_orphan(item: TreeItem) -> bool: @@ -172,6 +179,7 @@ func is_folder(item: TreeItem) -> bool: return item.has_meta(META_GDUNIT_TYPE) and item.get_meta(META_GDUNIT_TYPE) == GdUnitType.FOLDER +@warning_ignore("return_value_discarded") func _ready() -> void: _context_menu.set_item_icon(CONTEXT_MENU_RUN_ID, GdUnitUiTools.get_icon("Play")) _context_menu.set_item_icon(CONTEXT_MENU_DEBUG_ID, GdUnitUiTools.get_icon("PlayStart")) @@ -355,6 +363,7 @@ func set_state_running(item: TreeItem) -> void: if parent != _tree_root: set_state_running(parent) # force scrolling to current test case + @warning_ignore("return_value_discarded") select_item(item) @@ -366,6 +375,22 @@ func set_state_succeded(item: TreeItem) -> void: set_item_icon_by_state(item) +func set_state_flaky(item: TreeItem, event: GdUnitEvent) -> void: + # Do not overwrite higher states + if is_state_error(item): + return + var retry_count := event.statistic(GdUnitEvent.RETRY_COUNT) + item.set_meta(META_GDUNIT_STATE, STATE.FLAKY) + if retry_count > 1: + item.set_text(0, "%s (%s retries)" % [ + item.get_meta(META_GDUNIT_NAME), + retry_count]) + item.set_custom_color(0, Color.GREEN_YELLOW) + item.set_custom_color(1, Color.GREEN_YELLOW) + item.collapsed = false + set_item_icon_by_state(item) + + func set_state_skipped(item: TreeItem) -> void: item.set_meta(META_GDUNIT_STATE, STATE.SKIPPED) item.set_text(1, "(skipped)") @@ -387,10 +412,15 @@ func set_state_warnings(item: TreeItem) -> void: set_item_icon_by_state(item) -func set_state_failed(item: TreeItem) -> void: +func set_state_failed(item: TreeItem, event: GdUnitEvent) -> void: # Do not overwrite higher states if is_state_error(item): return + var retry_count := event.statistic(GdUnitEvent.RETRY_COUNT) + if retry_count > 1: + item.set_text(0, "%s (%s retries)" % [ + item.get_meta(META_GDUNIT_NAME), + retry_count]) item.set_meta(META_GDUNIT_STATE, STATE.FAILED) item.set_custom_color(0, Color.LIGHT_BLUE) item.set_custom_color(1, Color.LIGHT_BLUE) @@ -424,8 +454,9 @@ func set_state_orphan(item: TreeItem, event: GdUnitEvent) -> void: if item.has_meta(META_GDUNIT_ORPHAN): orphan_count += item.get_meta(META_GDUNIT_ORPHAN) item.set_meta(META_GDUNIT_ORPHAN, orphan_count) - item.set_custom_color(0, Color.YELLOW) - item.set_custom_color(1, Color.YELLOW) + if item.get_meta(META_GDUNIT_STATE) != STATE.FAILED: + item.set_custom_color(0, Color.YELLOW) + item.set_custom_color(1, Color.YELLOW) item.set_tooltip_text(0, "Total <%d> orphan nodes detected." % orphan_count) set_item_icon_by_state(item) @@ -434,20 +465,22 @@ func update_state(item: TreeItem, event: GdUnitEvent, add_reports := true) -> vo # we do not show the root if item == _tree_root: return - if is_state_running(item) and event.is_success(): + + if event.is_success() and event.is_flaky(): + set_state_flaky(item, event) + elif event.is_success(): set_state_succeded(item) - else: - if event.is_skipped(): - set_state_skipped(item) - elif event.is_error(): - set_state_error(item) - elif event.is_failed(): - set_state_failed(item) - elif event.is_warning(): - set_state_warnings(item) - if add_reports: - for report in event.reports(): - add_report(item, report) + elif event.is_skipped(): + set_state_skipped(item) + elif event.is_error(): + set_state_error(item) + elif event.is_failed(): + set_state_failed(item, event) + elif event.is_warning(): + set_state_warnings(item) + if add_reports: + for report in event.reports(): + add_report(item, report) set_state_orphan(item, event) if is_folder(item): update_state(item.get_parent(), event, false) @@ -469,26 +502,26 @@ func abort_running(items:=_tree_root.get_children()) -> void: func select_first_failure() -> TreeItem: - return select_item(_find_first_failure()) + return select_item(_find_first_item_by_state(_tree_root, STATE.FAILED)) -func select_next_failure() -> TreeItem: +func _on_select_next_item_by_state(item_state: int) -> TreeItem: var current_selected := _tree.get_selected() # If nothing is selected, the first error is selected or the next one in the vicinity of the current selection is found - current_selected = _find_first_failure() if current_selected == null else _find_failure(current_selected) + current_selected = _find_first_item_by_state(_tree_root, item_state) if current_selected == null else _find_item_by_state(current_selected, item_state) # If no next failure found, then we try to select first if current_selected == null: - current_selected = _find_first_failure() + current_selected = _find_first_item_by_state(_tree_root, item_state) return select_item(current_selected) -func select_previous_failure() -> TreeItem: +func _on_select_previous_item_by_state(item_state: int) -> TreeItem: var current_selected := _tree.get_selected() # If nothing is selected, the first error is selected or the next one in the vicinity of the current selection is found - current_selected = _find_last_failure() if current_selected == null else _find_failure(current_selected, true) + current_selected = _find_last_item_by_state(_tree_root, item_state) if current_selected == null else _find_item_by_state(current_selected, item_state, true) # If no next failure found, then we try to select first last if current_selected == null: - current_selected = _find_last_failure() + current_selected = _find_last_item_by_state(_tree_root, item_state) return select_item(current_selected) @@ -498,6 +531,7 @@ func select_first_orphan() -> void: for item in parent.get_children(): if is_item_state_orphan(item): parent.set_collapsed(false) + @warning_ignore("return_value_discarded") select_item(item) return @@ -521,7 +555,7 @@ func show_failed_report(selected_item: TreeItem) -> void: func update_test_suite(event: GdUnitEvent) -> void: - var item := get_tree_item(event.resource_path(), event.suite_name()) + var item := get_tree_item(extract_resource_path(event), event.suite_name()) if not item: push_error("Internal Error: Can't find test suite %s" % event.suite_name()) return @@ -537,7 +571,7 @@ func update_test_suite(event: GdUnitEvent) -> void: func update_test_case(event: GdUnitEvent) -> void: - var item := get_tree_item(event.resource_path(), event.test_name()) + var item := get_tree_item(extract_resource_path(event), event.test_name()) if not item: push_error("Internal Error: Can't find test case %s:%s" % [event.suite_name(), event.test_name()]) return @@ -552,26 +586,32 @@ func update_test_case(event: GdUnitEvent) -> void: func create_tree_item(test_suite: GdUnitTestSuiteDto) -> TreeItem: - var root_folder := GdUnitSettings.test_root_folder() - var path_spliced := ProjectSettings.localize_path(test_suite.path()).split(root_folder) - var resource_path := path_spliced[0] + "/" + root_folder var parent := _tree_root + var test_root_folder := GdUnitSettings.test_root_folder() + var resource_path := ProjectSettings.localize_path(test_suite.path()) + var test_base_path := "res://" + var test_relative_path := resource_path + if resource_path.contains(test_root_folder): + var path_elements := resource_path.split(test_root_folder) + test_base_path = path_elements[0] + "/" + test_root_folder + test_relative_path = path_elements[1] + test_relative_path = test_relative_path.replace("res://", "") if _tree_view_mode_flat: - var element := path_spliced[1].get_base_dir().trim_prefix("/") + var element := test_relative_path.get_base_dir().trim_prefix("/") if element.is_empty(): return _tree.create_item(parent) - resource_path += "/" + element - parent = create_or_find_item(parent, resource_path, element) + test_base_path += "/" + element + parent = create_or_find_item(parent, test_base_path, element) return _tree.create_item(parent) - var path_elements := path_spliced[1] - var elements := path_elements.split("/") - elements.remove_at(0) + var elements := test_relative_path.split("/") + if elements[0] == "res://" or elements[0] == "": + elements.remove_at(0) elements.remove_at(elements.size() - 1) for element in elements: - resource_path += "/" + element - parent = create_or_find_item(parent, resource_path, element) + test_base_path += "/" + element + parent = create_or_find_item(parent, test_base_path, element) return _tree.create_item(parent) @@ -699,6 +739,8 @@ func get_icon_by_file_type(path: String, state: STATE, orphans: bool) -> Texture return ICON_GDSCRIPT_TEST_FAILED_ORPHAN if orphans else ICON_GDSCRIPT_TEST_FAILED STATE.WARNING: return ICON_GDSCRIPT_TEST_SUCCESS_ORPHAN if orphans else ICON_GDSCRIPT_TEST_DEFAULT + STATE.FLAKY: + return ICON_GDSCRIPT_TEST_SUCCESS_ORPHAN if orphans else ICON_GDSCRIPT_TEST_FLAKY _: return ICON_GDSCRIPT_TEST_DEFAULT if path.get_extension() == "cs": @@ -728,26 +770,27 @@ func get_icon_by_file_type(path: String, state: STATE, orphans: bool) -> Texture func discover_test_suite_added(event: GdUnitEventTestDiscoverTestSuiteAdded) -> void: # Check first if the test suite already exists - var item := get_tree_item(event.resource_path(), event.suite_name()) + var item := get_tree_item(extract_resource_path(event), event.suite_name()) if item != null: return # Otherwise create it - prints("Discovered test suite added: '%s' on %s" % [event.suite_name(), event.resource_path()]) + prints("Discovered test suite added: '%s' on %s" % [event.suite_name(), extract_resource_path(event)]) do_add_test_suite(event.suite_dto()) func discover_test_added(event: GdUnitEventTestDiscoverTestAdded) -> void: # check if the test already exists var test_name := event.test_case_dto().name() - var item := get_tree_item(event.resource_path(), test_name) + var resource_path := extract_resource_path(event) + var item := get_tree_item(resource_path, test_name) if item != null: return - item = get_tree_item(event.resource_path(), event.suite_name()) + item = get_tree_item(resource_path, event.suite_name()) if not item: - push_error("Internal Error: Can't find test suite %s:%s" % [event.suite_name(), event.resource_path()]) + push_error("Internal Error: Can't find test suite %s:%s" % [event.suite_name(), resource_path]) return - prints("Discovered test added: '%s' on %s" % [event.test_name(), event.resource_path()]) + prints("Discovered test added: '%s' on %s" % [event.test_name(), resource_path]) # update test case count var test_count :int = item.get_meta(META_GDUNIT_TOTAL_TESTS) item.set_meta(META_GDUNIT_TOTAL_TESTS, test_count + 1) @@ -757,10 +800,11 @@ func discover_test_added(event: GdUnitEventTestDiscoverTestAdded) -> void: func discover_test_removed(event: GdUnitEventTestDiscoverTestRemoved) -> void: - prints("Discovered test removed: '%s' on %s" % [event.test_name(), event.resource_path()]) - var item := get_tree_item(event.resource_path(), event.test_name()) + var resource_path := extract_resource_path(event) + prints("Discovered test removed: '%s' on %s" % [event.test_name(), resource_path]) + var item := get_tree_item(resource_path, event.test_name()) if not item: - push_error("Internal Error: Can't find test suite %s:%s" % [event.suite_name(), event.resource_path()]) + push_error("Internal Error: Can't find test suite %s:%s" % [event.suite_name(), resource_path]) return # update test case count on test suite var parent := item.get_parent() @@ -768,13 +812,14 @@ func discover_test_removed(event: GdUnitEventTestDiscoverTestRemoved) -> void: parent.set_meta(META_GDUNIT_TOTAL_TESTS, test_count - 1) init_item_counter(parent) # finally remove the test - remove_tree_item(event.resource_path(), event.test_name()) + @warning_ignore("return_value_discarded") + remove_tree_item(resource_path, event.test_name()) func do_add_test_suite(test_suite: GdUnitTestSuiteDto) -> void: var item := create_tree_item(test_suite) var suite_name := test_suite.name() - + var resource_path := ProjectSettings.localize_path(test_suite.path()) item.set_text(0, suite_name) item.set_meta(META_GDUNIT_ORIGINAL_INDEX, item.get_index()) item.set_meta(META_GDUNIT_STATE, STATE.INITIAL) @@ -783,12 +828,12 @@ func do_add_test_suite(test_suite: GdUnitTestSuiteDto) -> void: item.set_meta(META_GDUNIT_TOTAL_TESTS, test_suite.test_case_count()) item.set_meta(META_GDUNIT_SUCCESS_TESTS, 0) item.set_meta(META_GDUNIT_EXECUTION_TIME, 0) - item.set_meta(META_RESOURCE_PATH, test_suite.path()) + item.set_meta(META_RESOURCE_PATH, resource_path) item.set_meta(META_LINE_NUMBER, 1) item.collapsed = true set_item_icon_by_state(item) init_item_counter(item) - add_tree_item_to_cache(test_suite.path(), suite_name, item) + add_tree_item_to_cache(resource_path, suite_name, item) for test_case in test_suite.test_cases(): add_test(item, test_case) @@ -808,6 +853,7 @@ func add_test(parent: TreeItem, test_case: GdUnitTestCaseDto) -> void: item.set_meta(META_GDUNIT_SUCCESS_TESTS, 0) item.set_meta(META_GDUNIT_EXECUTION_TIME, 0) item.set_meta(META_GDUNIT_TOTAL_TESTS, test_case_names.size()) + item.set_meta(META_SCRIPT_PATH, test_case.script_path()) item.set_meta(META_LINE_NUMBER, test_case.line_number()) item.set_meta(META_TEST_PARAM_INDEX, -1) set_item_icon_by_state(item) @@ -830,6 +876,7 @@ func add_test_cases(parent: TreeItem, test_case_names: PackedStringArray) -> voi item.set_meta(META_GDUNIT_TYPE, GdUnitType.TEST_CASE_PARAMETERIZED) item.set_meta(META_GDUNIT_EXECUTION_TIME, 0) item.set_meta(META_RESOURCE_PATH, resource_path) + item.set_meta(META_SCRIPT_PATH, parent.get_meta(META_SCRIPT_PATH)) item.set_meta(META_LINE_NUMBER, parent.get_meta(META_LINE_NUMBER)) item.set_meta(META_TEST_PARAM_INDEX, index) set_item_icon_by_state(item) @@ -853,6 +900,10 @@ func _to_json(parent :TreeItem) -> Dictionary: return item_as_dict +func extract_resource_path(event: GdUnitEvent) -> String: + return ProjectSettings.localize_path(event.resource_path()) + + ################################################################################ # Tree signal receiver ################################################################################ @@ -864,7 +915,10 @@ func _on_tree_item_mouse_selected(mouse_position: Vector2, mouse_button_index: i func _on_run_pressed(run_debug: bool) -> void: _context_menu.hide() - var item := _tree.get_selected() + var item: = _tree.get_selected() + if item == null: + print_rich("[color=GOLDENROD]Abort Testrun, no test suite selected![/color]") + return if item.get_meta(META_GDUNIT_TYPE) == GdUnitType.TEST_SUITE or item.get_meta(META_GDUNIT_TYPE) == GdUnitType.FOLDER: var resource_path: String = item.get_meta(META_RESOURCE_PATH) run_testsuite.emit([resource_path], run_debug) @@ -890,21 +944,27 @@ func _on_Tree_item_selected() -> void: # Opens the test suite func _on_Tree_item_activated() -> void: var selected_item := _tree.get_selected() - var resource_path: String = selected_item.get_meta(META_RESOURCE_PATH) - var line_number: int = selected_item.get_meta(META_LINE_NUMBER) - var resource := load(resource_path) + if selected_item != null and selected_item.has_meta(META_LINE_NUMBER): + var script_path: String = ( + selected_item.get_meta(META_RESOURCE_PATH) if is_test_suite(selected_item) + else selected_item.get_meta(META_SCRIPT_PATH) + ) + var line_number: int = selected_item.get_meta(META_LINE_NUMBER) + var resource: Script = load(script_path) - if selected_item.has_meta(META_GDUNIT_REPORT): - var reports := get_item_reports(selected_item) - var report_line_number := reports[0].line_number() - # if number -1 we use original stored line number of the test case - # in non debug mode the line number is not available - if report_line_number != -1: - line_number = report_line_number + if selected_item.has_meta(META_GDUNIT_REPORT): + var reports := get_item_reports(selected_item) + var report_line_number := reports[0].line_number() + # if number -1 we use original stored line number of the test case + # in non debug mode the line number is not available + if report_line_number != -1: + line_number = report_line_number - EditorInterface.get_file_system_dock().navigate_to_path(resource_path) - EditorInterface.edit_resource(resource) - EditorInterface.get_script_editor().goto_line(line_number - 1) + EditorInterface.get_file_system_dock().navigate_to_path(script_path) + EditorInterface.edit_script(resource, line_number) + elif selected_item.get_meta(META_GDUNIT_TYPE) == GdUnitType.FOLDER: + # Toggle collapse if dir + selected_item.collapsed = not selected_item.collapsed ################################################################################ @@ -922,6 +982,9 @@ func _on_gdunit_runner_stop(_client_id: int) -> void: _context_menu.set_item_disabled(CONTEXT_MENU_DEBUG_ID, false) abort_running() sort_tree_items(_tree_root) + # wait until the tree redraw + await get_tree().process_frame + @warning_ignore("return_value_discarded") select_first_failure() @@ -939,13 +1002,13 @@ func _on_gdunit_event(event: GdUnitEvent) -> void: #_dump_tree_as_json("tree_example_discovered") GdUnitEvent.DISCOVER_SUITE_ADDED: - discover_test_suite_added(event) + discover_test_suite_added(event as GdUnitEventTestDiscoverTestSuiteAdded) GdUnitEvent.DISCOVER_TEST_ADDED: - discover_test_added(event) + discover_test_added(event as GdUnitEventTestDiscoverTestAdded) GdUnitEvent.DISCOVER_TEST_REMOVED: - discover_test_removed(event) + discover_test_removed(event as GdUnitEventTestDiscoverTestRemoved) GdUnitEvent.INIT: if not GdUnitSettings.is_test_discover_enabled(): diff --git a/addons/gdUnit4/src/ui/settings/GdUnitInputCapture.gd b/addons/gdUnit4/src/ui/settings/GdUnitInputCapture.gd index 473de98..b5cc837 100644 --- a/addons/gdUnit4/src/ui/settings/GdUnitInputCapture.gd +++ b/addons/gdUnit4/src/ui/settings/GdUnitInputCapture.gd @@ -11,9 +11,12 @@ var _input_event: InputEventKey func _ready() -> void: reset() + self_modulate = Color.WHITE _tween = create_tween() - _tween.set_loops(-1) - _tween.tween_property(self, "modulate", Color(0, 0, 0, .1), 1.0).from_current().set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_IN) + @warning_ignore("return_value_discarded") + _tween.set_loops() + @warning_ignore("return_value_discarded") + _tween.tween_property(%Label, "self_modulate", Color(1, 1, 1, .8), 1.0).from_current().set_trans(Tween.TRANS_BACK).set_ease(Tween.EASE_IN_OUT) func reset() -> void: @@ -24,7 +27,8 @@ func _input(event: InputEvent) -> void: if not is_visible_in_tree(): return if event is InputEventKey and event.is_pressed() and not event.is_echo(): - match event.keycode: + var _event := event as InputEventKey + match _event.keycode: KEY_CTRL: _input_event.ctrl_pressed = true KEY_SHIFT: @@ -34,8 +38,8 @@ func _input(event: InputEvent) -> void: KEY_META: _input_event.meta_pressed = true _: - _input_event.keycode = event.keycode - _apply_input_modifiers(event) + _input_event.keycode = _event.keycode + _apply_input_modifiers(_event) accept_event() if event is InputEventKey and not event.is_pressed(): @@ -45,7 +49,8 @@ func _input(event: InputEvent) -> void: func _apply_input_modifiers(event: InputEvent) -> void: if event is InputEventWithModifiers: - _input_event.meta_pressed = event.meta_pressed or _input_event.meta_pressed - _input_event.alt_pressed = event.alt_pressed or _input_event.alt_pressed - _input_event.shift_pressed = event.shift_pressed or _input_event.shift_pressed - _input_event.ctrl_pressed = event.ctrl_pressed or _input_event.ctrl_pressed + var _event := event as InputEventWithModifiers + _input_event.meta_pressed = _event.meta_pressed or _input_event.meta_pressed + _input_event.alt_pressed = _event.alt_pressed or _input_event.alt_pressed + _input_event.shift_pressed = _event.shift_pressed or _input_event.shift_pressed + _input_event.ctrl_pressed = _event.ctrl_pressed or _input_event.ctrl_pressed diff --git a/addons/gdUnit4/src/ui/settings/GdUnitInputCapture.tscn b/addons/gdUnit4/src/ui/settings/GdUnitInputCapture.tscn index 8081a66..7e62c43 100644 --- a/addons/gdUnit4/src/ui/settings/GdUnitInputCapture.tscn +++ b/addons/gdUnit4/src/ui/settings/GdUnitInputCapture.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=2 format=3] +[gd_scene load_steps=2 format=3 uid="uid://pmnkxrhglak5"] [ext_resource type="Script" path="res://addons/gdUnit4/src/ui/settings/GdUnitInputCapture.gd" id="1_gki1u"] [node name="GdUnitInputMapper" type="Control"] +modulate = Color(0.929099, 0.929099, 0.929099, 0.936189) top_level = true layout_mode = 3 anchors_preset = 15 @@ -16,6 +17,8 @@ script = ExtResource("1_gki1u") [node name="Label" type="Label" parent="."] unique_name_in_owner = true +self_modulate = Color(0.401913, 0.401913, 0.401913, 0.461723) +top_level = true layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 diff --git a/addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.gd b/addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.gd index 57219f2..d05f821 100644 --- a/addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.gd +++ b/addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.gd @@ -27,6 +27,7 @@ func _ready() -> void: GdUnitSettings.setup() GdUnit4Version.init_version_label(_version_label) _font_size = GdUnitFonts.init_fonts(_version_label) + @warning_ignore("return_value_discarded") about_to_popup.connect(_do_setup_properties) @@ -54,25 +55,30 @@ func setup_properties(properties_parent: Node, property_category: String) -> voi theme_.set_constant("h_separation", "GridContainer", 12) var last_category := "!" var min_size_overall := 0.0 + var labels := [] + var inputs := [] + var info_labels := [] + var grid: GridContainer = null for p in category_properties: var min_size_ := 0.0 - var grid := GridContainer.new() - grid.columns = 4 - grid.theme = theme_ var property: GdUnitProperty = p var current_category := property.category() - if current_category != last_category: + if not grid or current_category != last_category: + grid = GridContainer.new() + grid.columns = 4 + grid.theme = theme_ + var sub_category: Node = _properties_template.get_child(3).duplicate() sub_category.get_child(0).text = current_category.capitalize() sub_category.custom_minimum_size.y = _font_size + 16 properties_parent.add_child(sub_category) + properties_parent.add_child(grid) last_category = current_category # property name var label: Label = _properties_template.get_child(0).duplicate() label.text = _to_human_readable(property.name()) - label.custom_minimum_size = Vector2(_font_size * 20, 0) + labels.append(label) grid.add_child(label) - min_size_ += label.size.x # property reset btn var reset_btn: Button = _properties_template.get_child(1).duplicate() @@ -83,21 +89,26 @@ func setup_properties(properties_parent: Node, property_category: String) -> voi # property type specific input element var input: Node = _create_input_element(property, reset_btn) - input.custom_minimum_size = Vector2(_font_size * 15, 0) + inputs.append(input) grid.add_child(input) - min_size_ += input.size.x + @warning_ignore("return_value_discarded") reset_btn.pressed.connect(_on_btn_property_reset_pressed.bind(property, input, reset_btn)) # property help text var info: Node = _properties_template.get_child(2).duplicate() info.text = property.help() + info_labels.append(info) grid.add_child(info) - min_size_ += info.text.length() * _font_size if min_size_overall < min_size_: min_size_overall = min_size_ - properties_parent.add_child(grid) + for controls: Array in [labels, inputs, info_labels]: + var _size: float = controls.map(func(c: Control) -> float: return c.size.x).max() + min_size_overall += _size + for control: Control in controls: + control.custom_minimum_size.x = _size properties_parent.custom_minimum_size.x = min_size_overall +@warning_ignore("return_value_discarded") func _create_input_element(property: GdUnitProperty, reset_btn: Button) -> Node: if property.is_selectable_value(): var options := OptionButton.new() @@ -141,6 +152,7 @@ func to_shortcut(keys: PackedInt32Array) -> String: return input_event.as_text() +@warning_ignore("return_value_discarded") func to_keys(input_event: InputEventKey) -> PackedInt32Array: var keys := PackedInt32Array() if input_event.ctrl_pressed: @@ -206,10 +218,12 @@ func rescan(update_scripts:=false) -> void: func _on_btn_report_bug_pressed() -> void: + @warning_ignore("return_value_discarded") OS.shell_open("https://github.com/MikeSchulze/gdUnit4/issues/new?assignees=MikeSchulze&labels=bug&projects=projects%2F5&template=bug_report.yml&title=GD-XXX%3A+Describe+the+issue+briefly") func _on_btn_request_feature_pressed() -> void: + @warning_ignore("return_value_discarded") OS.shell_open("https://github.com/MikeSchulze/gdUnit4/issues/new?assignees=MikeSchulze&labels=enhancement&projects=&template=feature_request.md&title=") @@ -261,11 +275,13 @@ func _on_shortcut_change(input_button: Button, property: GdUnitProperty, reset_b _input_capture.set_custom_minimum_size(_properties_shortcuts.get_size()) _input_capture.visible = true _input_capture.show() + _properties_shortcuts.visible = false set_process_input(false) _input_capture.reset() var input_event: InputEventKey = await _input_capture.input_completed input_button.text = input_event.as_text() _on_property_text_changed(to_keys(input_event), property, reset_btn) + _properties_shortcuts.visible = true set_process_input(true) diff --git a/addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.tscn b/addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.tscn index f682231..74a6cd6 100644 --- a/addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.tscn +++ b/addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://dwgat6j2u77g4"] +[gd_scene load_steps=11 format=3 uid="uid://dwgat6j2u77g4"] [ext_resource type="Script" path="res://addons/gdUnit4/src/ui/settings/GdUnitSettingsDialog.gd" id="2"] [ext_resource type="Texture2D" uid="uid://bkh022wwqq7s3" path="res://addons/gdUnit4/src/ui/settings/logo.png" id="3_isfyl"] @@ -6,25 +6,7 @@ [ext_resource type="PackedScene" path="res://addons/gdUnit4/src/ui/settings/GdUnitInputCapture.tscn" id="5_xu3j8"] [ext_resource type="Script" path="res://addons/gdUnit4/src/update/GdUnitUpdateClient.gd" id="8_2ggr0"] -[sub_resource type="Image" id="Image_pi2b6"] -data = { -"data": PackedByteArray(255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 146, 255, 245, 255, 239, 255, 139, 255, 253, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 200, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 106, 255, 173, 255, 247, 255, 227, 255, 85, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 42, 255, 242, 255, 39, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 86, 255, 255, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 5, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 34, 255, 184, 255, 249, 255, 234, 255, 137, 255, 3, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 127, 255, 235, 255, 249, 255, 189, 255, 33, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 72, 255, 236, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 155, 255, 133, 255, 239, 255, 240, 255, 135, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 100, 255, 223, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 210, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 32, 255, 246, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 4, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 1, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 122, 255, 228, 255, 48, 255, 13, 255, 145, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 201, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 232, 255, 92, 255, 42, 255, 146, 255, 245, 255, 14, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 15, 255, 126, 255, 13, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 13, 255, 226, 255, 254, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 112, 255, 252, 255, 61, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 216, 255, 169, 255, 39, 255, 66, 255, 233, 255, 108, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 102, 255, 230, 255, 65, 255, 36, 255, 165, 255, 209, 255, 2, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 72, 255, 236, 255, 0, 255, 0, 255, 0, 255, 9, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 245, 255, 130, 255, 42, 255, 97, 255, 254, 255, 67, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 44, 255, 110, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 112, 255, 253, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 176, 255, 253, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 176, 255, 236, 255, 13, 255, 0, 255, 0, 255, 0, 255, 0, 255, 9, 255, 231, 255, 185, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 222, 255, 109, 255, 0, 255, 0, 255, 17, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 204, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 127, 255, 0, 255, 0, 255, 11, 255, 255, 255, 61, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 139, 255, 169, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 107, 255, 245, 255, 58, 255, 0, 255, 0, 255, 0, 255, 0, 255, 55, 255, 255, 255, 21, 255, 0, 255, 0, 255, 137, 255, 187, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 204, 255, 117, 255, 0, 255, 0, 255, 14, 255, 250, 255, 57, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 72, 255, 236, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 191, 255, 0, 255, 0, 255, 0, 255, 203, 255, 125, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 25, 255, 238, 255, 161, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 75, 255, 224, 255, 189, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 169, 255, 228, 255, 13, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 225, 255, 177, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 255, 255, 63, 255, 0, 255, 0, 255, 16, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 144, 255, 245, 255, 235, 255, 135, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 10, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 204, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 156, 255, 255, 255, 255, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 35, 255, 255, 255, 58, 255, 12, 255, 12, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 44, 255, 238, 255, 29, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 12, 255, 0, 255, 0, 255, 0, 255, 133, 255, 193, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 248, 255, 74, 255, 0, 255, 0, 255, 55, 255, 246, 255, 100, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 53, 255, 212, 255, 251, 255, 195, 255, 179, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 74, 255, 236, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 220, 255, 255, 255, 255, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 167, 255, 144, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 9, 255, 222, 255, 80, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 255, 255, 65, 255, 0, 255, 0, 255, 16, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 119, 255, 240, 255, 83, 255, 48, 255, 171, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 204, 255, 116, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 27, 255, 44, 255, 64, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 194, 255, 118, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 44, 255, 229, 255, 100, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 255, 255, 68, 255, 0, 255, 92, 255, 237, 255, 241, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 13, 255, 234, 255, 167, 255, 48, 255, 85, 255, 242, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 76, 255, 240, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 38, 255, 44, 255, 117, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 67, 255, 231, 255, 15, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 131, 255, 182, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 218, 255, 121, 255, 0, 255, 0, 255, 22, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 219, 255, 119, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 206, 255, 116, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 94, 255, 214, 255, 5, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 80, 255, 245, 255, 255, 255, 179, 255, 1, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 255, 255, 70, 255, 135, 255, 224, 255, 49, 255, 212, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 91, 255, 239, 255, 8, 255, 0, 255, 0, 255, 152, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 76, 255, 240, 255, 0, 255, 0, 255, 0, 255, 14, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 88, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 216, 255, 91, 255, 0, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 37, 255, 241, 255, 35, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 117, 255, 240, 255, 82, 255, 48, 255, 174, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 255, 255, 64, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 16, 255, 232, 255, 65, 255, 0, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 37, 255, 77, 255, 226, 255, 131, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 255, 255, 219, 255, 196, 255, 23, 255, 0, 255, 212, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 133, 255, 192, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 76, 255, 240, 255, 0, 255, 0, 255, 0, 255, 16, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 88, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 121, 255, 191, 255, 1, 255, 0, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 185, 255, 128, 255, 0, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 144, 255, 245, 255, 238, 255, 135, 255, 255, 255, 51, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 255, 255, 64, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 212, 255, 111, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 54, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 115, 255, 255, 255, 244, 255, 244, 255, 244, 255, 255, 255, 248, 255, 172, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 101, 255, 231, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 249, 255, 166, 255, 6, 255, 0, 255, 0, 255, 218, 255, 101, 255, 0, 255, 0, 255, 0, 255, 0, 255, 133, 255, 192, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 72, 255, 244, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 47, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 88, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 243, 255, 249, 255, 244, 255, 244, 255, 249, 255, 254, 255, 244, 255, 50, 255, 0, 255, 0, 255, 0, 255, 0, 255, 51, 255, 255, 255, 246, 255, 244, 255, 244, 255, 252, 255, 251, 255, 233, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 3, 255, 0, 255, 0, 255, 45, 255, 255, 255, 29, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 218, 255, 118, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 222, 255, 108, 255, 0, 255, 0, 255, 16, 255, 248, 255, 69, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 229, 255, 161, 255, 41, 255, 64, 255, 14, 255, 0, 255, 0, 255, 0, 255, 0, 255, 17, 255, 36, 255, 36, 255, 36, 255, 36, 255, 246, 255, 105, 255, 25, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 69, 255, 210, 255, 3, 255, 0, 255, 0, 255, 98, 255, 229, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 206, 255, 117, 255, 0, 255, 0, 255, 12, 255, 249, 255, 58, 255, 0, 255, 0, 255, 0, 255, 0, 255, 90, 255, 238, 255, 8, 255, 0, 255, 0, 255, 152, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 31, 255, 255, 255, 44, 255, 0, 255, 0, 255, 72, 255, 249, 255, 12, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 88, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 35, 255, 36, 255, 36, 255, 36, 255, 136, 255, 215, 255, 36, 255, 7, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 36, 255, 36, 255, 36, 255, 36, 255, 191, 255, 160, 255, 34, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 118, 255, 168, 255, 42, 255, 45, 255, 192, 255, 194, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 117, 255, 238, 255, 81, 255, 48, 255, 172, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 109, 255, 236, 255, 82, 255, 50, 255, 180, 255, 205, 255, 2, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 40, 255, 60, 255, 255, 255, 77, 255, 40, 255, 23, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 70, 255, 224, 255, 252, 255, 219, 255, 40, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 18, 255, 239, 255, 146, 255, 34, 255, 55, 255, 215, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 104, 255, 230, 255, 62, 255, 32, 255, 161, 255, 212, 255, 2, 255, 0, 255, 0, 255, 0, 255, 0, 255, 13, 255, 232, 255, 165, 255, 46, 255, 85, 255, 243, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 173, 255, 205, 255, 59, 255, 65, 255, 219, 255, 143, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 34, 255, 40, 255, 114, 255, 239, 255, 40, 255, 40, 255, 13, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 17, 255, 156, 255, 239, 255, 245, 255, 175, 255, 25, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 142, 255, 245, 255, 235, 255, 120, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 120, 255, 233, 255, 248, 255, 177, 255, 25, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 53, 255, 196, 255, 249, 255, 235, 255, 146, 255, 7, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 125, 255, 234, 255, 251, 255, 190, 255, 35, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 52, 255, 211, 255, 251, 255, 195, 255, 163, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 14, 255, 159, 255, 245, 255, 239, 255, 142, 255, 5, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 84, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0), -"format": "LumAlpha8", -"height": 256, -"mipmaps": false, -"width": 256 -} - -[sub_resource type="Image" id="Image_xbauv"] -data = { -"data": PackedByteArray(255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 146, 255, 245, 255, 239, 255, 139, 255, 253, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 200, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 106, 255, 173, 255, 247, 255, 227, 255, 85, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 42, 255, 242, 255, 39, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 86, 255, 255, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 5, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 34, 255, 184, 255, 249, 255, 234, 255, 137, 255, 3, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 127, 255, 235, 255, 249, 255, 189, 255, 33, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 72, 255, 236, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 155, 255, 133, 255, 239, 255, 240, 255, 135, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 100, 255, 223, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 210, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 32, 255, 246, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 4, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 1, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 122, 255, 228, 255, 48, 255, 13, 255, 145, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 201, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 232, 255, 92, 255, 42, 255, 146, 255, 245, 255, 14, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 15, 255, 126, 255, 13, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 13, 255, 226, 255, 254, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 112, 255, 252, 255, 61, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 216, 255, 169, 255, 39, 255, 66, 255, 233, 255, 108, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 102, 255, 230, 255, 65, 255, 36, 255, 165, 255, 209, 255, 2, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 72, 255, 236, 255, 0, 255, 0, 255, 0, 255, 9, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 245, 255, 130, 255, 42, 255, 97, 255, 254, 255, 67, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 44, 255, 110, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 112, 255, 253, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 176, 255, 253, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 176, 255, 236, 255, 13, 255, 0, 255, 0, 255, 0, 255, 0, 255, 9, 255, 231, 255, 185, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 222, 255, 109, 255, 0, 255, 0, 255, 17, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 204, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 127, 255, 0, 255, 0, 255, 11, 255, 255, 255, 61, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 139, 255, 169, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 107, 255, 245, 255, 58, 255, 0, 255, 0, 255, 0, 255, 0, 255, 55, 255, 255, 255, 21, 255, 0, 255, 0, 255, 137, 255, 187, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 204, 255, 117, 255, 0, 255, 0, 255, 14, 255, 250, 255, 57, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 72, 255, 236, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 191, 255, 0, 255, 0, 255, 0, 255, 203, 255, 125, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 25, 255, 238, 255, 161, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 75, 255, 224, 255, 189, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 169, 255, 228, 255, 13, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 225, 255, 177, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 255, 255, 63, 255, 0, 255, 0, 255, 16, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 144, 255, 245, 255, 235, 255, 135, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 10, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 204, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 156, 255, 255, 255, 255, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 35, 255, 255, 255, 58, 255, 12, 255, 12, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 44, 255, 238, 255, 29, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 12, 255, 0, 255, 0, 255, 0, 255, 133, 255, 193, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 248, 255, 74, 255, 0, 255, 0, 255, 55, 255, 246, 255, 100, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 53, 255, 212, 255, 251, 255, 195, 255, 179, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 74, 255, 236, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 220, 255, 255, 255, 255, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 167, 255, 144, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 9, 255, 222, 255, 80, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 255, 255, 65, 255, 0, 255, 0, 255, 16, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 119, 255, 240, 255, 83, 255, 48, 255, 171, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 204, 255, 116, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 27, 255, 44, 255, 64, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 194, 255, 118, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 44, 255, 229, 255, 100, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 255, 255, 68, 255, 0, 255, 92, 255, 237, 255, 241, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 13, 255, 234, 255, 167, 255, 48, 255, 85, 255, 242, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 76, 255, 240, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 38, 255, 44, 255, 117, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 67, 255, 231, 255, 15, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 131, 255, 182, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 218, 255, 121, 255, 0, 255, 0, 255, 22, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 219, 255, 119, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 206, 255, 116, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 94, 255, 214, 255, 5, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 80, 255, 245, 255, 255, 255, 179, 255, 1, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 255, 255, 70, 255, 135, 255, 224, 255, 49, 255, 212, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 91, 255, 239, 255, 8, 255, 0, 255, 0, 255, 152, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 76, 255, 240, 255, 0, 255, 0, 255, 0, 255, 14, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 88, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 216, 255, 91, 255, 0, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 37, 255, 241, 255, 35, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 117, 255, 240, 255, 82, 255, 48, 255, 174, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 255, 255, 64, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 16, 255, 232, 255, 65, 255, 0, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 12, 255, 37, 255, 77, 255, 226, 255, 131, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 255, 255, 219, 255, 196, 255, 23, 255, 0, 255, 212, 255, 112, 255, 0, 255, 0, 255, 0, 255, 0, 255, 133, 255, 192, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 76, 255, 240, 255, 0, 255, 0, 255, 0, 255, 16, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 88, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 121, 255, 191, 255, 1, 255, 0, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 185, 255, 128, 255, 0, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 144, 255, 245, 255, 238, 255, 135, 255, 255, 255, 51, 255, 0, 255, 0, 255, 0, 255, 0, 255, 6, 255, 255, 255, 64, 255, 0, 255, 0, 255, 20, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 255, 255, 52, 255, 0, 255, 0, 255, 0, 255, 212, 255, 111, 255, 0, 255, 0, 255, 0, 255, 0, 255, 208, 255, 116, 255, 0, 255, 0, 255, 0, 255, 252, 255, 72, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 54, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 115, 255, 255, 255, 244, 255, 244, 255, 244, 255, 255, 255, 248, 255, 172, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 101, 255, 231, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 249, 255, 166, 255, 6, 255, 0, 255, 0, 255, 218, 255, 101, 255, 0, 255, 0, 255, 0, 255, 0, 255, 133, 255, 192, 255, 0, 255, 0, 255, 0, 255, 148, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 72, 255, 244, 255, 0, 255, 0, 255, 0, 255, 20, 255, 255, 255, 47, 255, 0, 255, 0, 255, 0, 255, 0, 255, 144, 255, 180, 255, 0, 255, 0, 255, 0, 255, 188, 255, 136, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 88, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 243, 255, 249, 255, 244, 255, 244, 255, 249, 255, 254, 255, 244, 255, 50, 255, 0, 255, 0, 255, 0, 255, 0, 255, 51, 255, 255, 255, 246, 255, 244, 255, 244, 255, 252, 255, 251, 255, 233, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 4, 255, 3, 255, 0, 255, 0, 255, 45, 255, 255, 255, 29, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 218, 255, 118, 255, 0, 255, 0, 255, 24, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 222, 255, 108, 255, 0, 255, 0, 255, 16, 255, 248, 255, 69, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 255, 255, 44, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 229, 255, 161, 255, 41, 255, 64, 255, 14, 255, 0, 255, 0, 255, 0, 255, 0, 255, 17, 255, 36, 255, 36, 255, 36, 255, 36, 255, 246, 255, 105, 255, 25, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 69, 255, 210, 255, 3, 255, 0, 255, 0, 255, 98, 255, 229, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 206, 255, 117, 255, 0, 255, 0, 255, 12, 255, 249, 255, 58, 255, 0, 255, 0, 255, 0, 255, 0, 255, 90, 255, 238, 255, 8, 255, 0, 255, 0, 255, 152, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 31, 255, 255, 255, 44, 255, 0, 255, 0, 255, 72, 255, 249, 255, 12, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 88, 255, 236, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 35, 255, 36, 255, 36, 255, 36, 255, 136, 255, 215, 255, 36, 255, 7, 255, 0, 255, 0, 255, 0, 255, 0, 255, 8, 255, 36, 255, 36, 255, 36, 255, 36, 255, 191, 255, 160, 255, 34, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 118, 255, 168, 255, 42, 255, 45, 255, 192, 255, 194, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 117, 255, 238, 255, 81, 255, 48, 255, 172, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 109, 255, 236, 255, 82, 255, 50, 255, 180, 255, 205, 255, 2, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 24, 255, 40, 255, 60, 255, 255, 255, 77, 255, 40, 255, 23, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 70, 255, 224, 255, 252, 255, 219, 255, 40, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 18, 255, 239, 255, 146, 255, 34, 255, 55, 255, 215, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 104, 255, 230, 255, 62, 255, 32, 255, 161, 255, 212, 255, 2, 255, 0, 255, 0, 255, 0, 255, 0, 255, 13, 255, 232, 255, 165, 255, 46, 255, 85, 255, 243, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 173, 255, 205, 255, 59, 255, 65, 255, 219, 255, 143, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 34, 255, 40, 255, 114, 255, 239, 255, 40, 255, 40, 255, 13, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 17, 255, 156, 255, 239, 255, 245, 255, 175, 255, 25, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 3, 255, 142, 255, 245, 255, 235, 255, 120, 255, 255, 255, 48, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 120, 255, 233, 255, 248, 255, 177, 255, 25, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 244, 255, 80, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 53, 255, 196, 255, 249, 255, 235, 255, 146, 255, 7, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 1, 255, 125, 255, 234, 255, 251, 255, 190, 255, 35, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 52, 255, 211, 255, 251, 255, 195, 255, 163, 255, 176, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 14, 255, 159, 255, 245, 255, 239, 255, 142, 255, 5, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 84, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 116, 255, 208, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 180, 255, 144, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0), -"format": "LumAlpha8", -"height": 256, -"mipmaps": false, -"width": 256 -} - -[sub_resource type="FontFile" id="FontFile_ulks6"] +[sub_resource type="FontFile" id="FontFile_r1ald"] data = PackedByteArray(0, 1, 0, 0, 0, 14, 0, 128, 0, 3, 0, 96, 71, 83, 85, 66, 54, 189, 53, 203, 0, 1, 80, 140, 0, 0, 2, 168, 79, 83, 47, 50, 151, 183, 193, 116, 0, 1, 35, 84, 0, 0, 0, 96, 83, 84, 65, 84, 231, 112, 204, 46, 0, 1, 83, 52, 0, 0, 0, 72, 99, 109, 97, 112, 171, 156, 209, 185, 0, 1, 35, 180, 0, 0, 7, 96, 103, 97, 115, 112, 0, 0, 0, 16, 0, 1, 80, 132, 0, 0, 0, 8, 103, 108, 121, 102, 169, 206, 21, 232, 0, 0, 0, 236, 0, 1, 18, 76, 104, 101, 97, 100, 1, 53, 156, 14, 0, 1, 27, 40, 0, 0, 0, 54, 104, 104, 101, 97, 10, 177, 1, 42, 0, 1, 35, 48, 0, 0, 0, 36, 104, 109, 116, 120, 7, 23, 19, 209, 0, 1, 27, 96, 0, 0, 7, 208, 108, 111, 99, 97, 62, 238, 130, 139, 0, 1, 19, 88, 0, 0, 7, 208, 109, 97, 120, 112, 4, 6, 1, 58, 0, 1, 19, 56, 0, 0, 0, 32, 110, 97, 109, 101, 96, 57, 138, 199, 0, 1, 43, 28, 0, 0, 3, 172, 112, 111, 115, 116, 151, 185, 175, 6, 0, 1, 46, 200, 0, 0, 33, 188, 112, 114, 101, 112, 104, 6, 140, 133, 0, 1, 43, 20, 0, 0, 0, 7, 0, 2, 0, 81, 0, 0, 4, 144, 5, 176, 0, 7, 0, 10, 0, 0, 65, 19, 51, 1, 35, 1, 51, 19, 55, 19, 19, 3, 101, 115, 184, 254, 50, 155, 254, 42, 185, 117, 50, 195, 192, 1, 121, 254, 135, 5, 176, 250, 80, 1, 121, 161, 2, 120, 253, 136, 0, 3, 0, 172, 0, 0, 4, 96, 5, 176, 0, 27, 0, 42, 0, 57, 0, 0, 115, 33, 54, 54, 55, 54, 54, 39, 52, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 33, 19, 33, 22, 22, 23, 22, 22, 7, 20, 6, 7, 6, 6, 7, 33, 17, 17, 51, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 172, 1, 210, 93, 175, 67, 67, 80, 1, 39, 35, 33, 102, 55, 53, 75, 31, 30, 35, 1, 1, 80, 67, 67, 172, 90, 254, 79, 186, 1, 39, 59, 102, 38, 38, 43, 1, 47, 40, 40, 104, 58, 254, 227, 253, 54, 103, 40, 39, 47, 48, 39, 39, 100, 52, 1, 56, 53, 52, 156, 102, 65, 112, 45, 41, 68, 13, 3, 23, 52, 38, 37, 94, 57, 102, 146, 47, 47, 45, 1, 252, 249, 2, 36, 33, 34, 96, 62, 61, 96, 33, 33, 37, 1, 2, 166, 1, 207, 1, 26, 27, 28, 86, 61, 57, 86, 29, 30, 31, 1, 0, 1, 0, 107, 255, 236, 4, 93, 5, 196, 0, 63, 0, 0, 65, 35, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 93, 185, 9, 44, 37, 37, 107, 73, 67, 100, 37, 37, 48, 15, 15, 13, 13, 15, 15, 49, 37, 36, 101, 66, 73, 107, 37, 37, 44, 9, 185, 12, 75, 62, 62, 172, 109, 91, 146, 57, 58, 83, 27, 28, 27, 1, 1, 27, 28, 27, 83, 58, 57, 147, 90, 105, 171, 63, 62, 78, 1, 182, 66, 113, 41, 42, 46, 43, 38, 37, 98, 56, 55, 115, 54, 205, 54, 115, 55, 55, 98, 37, 37, 43, 49, 43, 43, 114, 66, 104, 172, 62, 61, 67, 51, 45, 45, 123, 72, 72, 158, 81, 203, 81, 158, 72, 72, 122, 45, 45, 51, 67, 61, 60, 169, 0, 2, 0, 155, 0, 0, 4, 112, 5, 176, 0, 21, 0, 43, 0, 0, 115, 33, 54, 54, 55, 54, 54, 55, 54, 54, 53, 53, 38, 38, 39, 38, 38, 39, 38, 38, 39, 33, 23, 51, 22, 22, 23, 22, 22, 23, 22, 22, 23, 21, 6, 6, 7, 6, 6, 7, 6, 6, 7, 35, 155, 1, 81, 105, 181, 72, 68, 110, 36, 35, 37, 1, 39, 37, 41, 137, 89, 64, 151, 85, 254, 175, 188, 149, 69, 116, 47, 66, 91, 27, 21, 21, 1, 1, 20, 20, 23, 79, 54, 51, 131, 80, 149, 1, 48, 45, 43, 122, 75, 72, 172, 96, 107, 100, 176, 74, 87, 133, 41, 30, 33, 1, 152, 1, 29, 26, 35, 113, 70, 54, 125, 68, 109, 67, 123, 53, 65, 105, 36, 35, 38, 1, 0, 1, 0, 182, 0, 0, 4, 52, 5, 176, 0, 11, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 33, 53, 33, 17, 3, 207, 253, 160, 2, 188, 252, 139, 3, 126, 253, 59, 2, 161, 157, 1, 212, 158, 250, 80, 157, 2, 4, 0, 0, 1, 0, 191, 0, 0, 4, 61, 5, 176, 0, 9, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 51, 17, 3, 216, 253, 162, 2, 195, 252, 130, 187, 2, 131, 157, 1, 242, 158, 250, 80, 2, 131, 0, 0, 1, 0, 100, 255, 235, 4, 92, 5, 196, 0, 67, 0, 0, 101, 3, 33, 21, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 4, 92, 3, 254, 40, 1, 40, 2, 23, 68, 39, 39, 83, 38, 66, 104, 39, 40, 56, 18, 18, 17, 1, 14, 16, 16, 50, 38, 38, 102, 66, 69, 104, 38, 37, 46, 11, 183, 9, 78, 64, 64, 172, 102, 92, 148, 58, 59, 84, 28, 28, 27, 1, 1, 31, 31, 30, 90, 60, 60, 151, 90, 89, 162, 70, 41, 76, 191, 2, 22, 156, 254, 185, 33, 41, 12, 12, 8, 1, 1, 45, 38, 38, 100, 56, 56, 117, 55, 171, 54, 116, 56, 56, 101, 38, 38, 45, 43, 38, 38, 107, 63, 102, 165, 59, 58, 63, 54, 46, 47, 127, 74, 74, 161, 81, 169, 82, 161, 73, 74, 126, 46, 47, 53, 1, 1, 41, 42, 24, 65, 0, 1, 0, 141, 0, 0, 4, 63, 5, 176, 0, 11, 0, 0, 97, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 4, 63, 175, 253, 171, 174, 174, 2, 85, 5, 176, 253, 142, 2, 114, 250, 80, 2, 161, 253, 95, 0, 0, 1, 0, 174, 0, 0, 4, 30, 5, 176, 0, 11, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 33, 53, 174, 1, 85, 254, 171, 3, 112, 254, 163, 1, 93, 5, 176, 161, 251, 145, 160, 160, 4, 111, 161, 0, 0, 1, 0, 98, 255, 236, 4, 22, 5, 176, 0, 27, 0, 0, 65, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 35, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 17, 3, 89, 2, 39, 36, 37, 104, 66, 64, 103, 37, 37, 43, 3, 188, 9, 74, 62, 61, 167, 102, 101, 171, 63, 63, 73, 2, 5, 176, 252, 11, 62, 111, 42, 42, 49, 42, 39, 38, 104, 61, 101, 163, 57, 58, 62, 69, 62, 61, 170, 101, 3, 245, 0, 0, 1, 0, 172, 0, 0, 4, 164, 5, 176, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 2, 11, 1, 184, 225, 253, 225, 1, 253, 225, 254, 85, 141, 189, 189, 2, 164, 253, 92, 3, 51, 2, 125, 253, 233, 176, 2, 199, 250, 80, 1, 236, 0, 0, 1, 0, 198, 0, 0, 4, 71, 5, 176, 0, 5, 0, 0, 101, 17, 35, 17, 33, 53, 1, 127, 185, 3, 129, 157, 5, 19, 250, 80, 157, 0, 0, 1, 0, 148, 0, 0, 4, 76, 5, 176, 0, 14, 0, 0, 65, 35, 17, 51, 17, 3, 19, 51, 1, 3, 17, 51, 17, 35, 1, 1, 121, 229, 180, 15, 247, 106, 1, 13, 15, 180, 230, 255, 0, 5, 176, 250, 80, 2, 69, 2, 75, 253, 5, 3, 16, 253, 160, 253, 187, 5, 176, 253, 40, 0, 0, 1, 0, 143, 0, 0, 4, 62, 5, 176, 0, 9, 0, 0, 97, 17, 35, 3, 1, 35, 17, 51, 19, 1, 4, 62, 187, 3, 253, 203, 188, 187, 3, 2, 53, 5, 176, 251, 194, 4, 62, 250, 80, 4, 64, 251, 192, 0, 0, 2, 0, 106, 255, 236, 4, 97, 5, 196, 0, 37, 0, 75, 0, 0, 65, 53, 38, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 39, 21, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 4, 97, 1, 25, 26, 27, 81, 56, 56, 146, 90, 90, 145, 56, 56, 81, 26, 27, 25, 1, 1, 26, 27, 26, 82, 56, 56, 145, 90, 90, 145, 56, 56, 81, 26, 26, 25, 182, 1, 11, 14, 15, 47, 35, 36, 99, 65, 65, 98, 36, 36, 48, 15, 15, 13, 1, 1, 13, 15, 14, 48, 36, 36, 98, 64, 65, 98, 36, 36, 48, 15, 14, 12, 2, 132, 166, 78, 160, 74, 74, 129, 48, 48, 55, 55, 48, 49, 129, 74, 74, 159, 78, 166, 78, 158, 74, 74, 129, 48, 48, 55, 55, 48, 48, 128, 74, 74, 159, 246, 168, 52, 114, 55, 56, 101, 38, 39, 46, 46, 39, 38, 102, 56, 55, 114, 51, 168, 51, 113, 56, 55, 101, 39, 38, 46, 45, 38, 39, 101, 55, 56, 113, 0, 2, 0, 191, 0, 0, 4, 121, 5, 176, 0, 16, 0, 31, 0, 0, 65, 33, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 33, 17, 51, 17, 17, 33, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 1, 120, 1, 31, 98, 175, 66, 66, 77, 77, 66, 66, 175, 98, 254, 40, 185, 1, 31, 64, 109, 40, 39, 45, 45, 40, 40, 108, 64, 2, 72, 1, 58, 55, 55, 161, 105, 105, 162, 55, 55, 58, 2, 250, 80, 2, 224, 2, 56, 1, 40, 37, 37, 106, 66, 66, 103, 36, 36, 39, 1, 0, 0, 2, 0, 94, 255, 10, 4, 140, 5, 196, 0, 40, 0, 78, 0, 0, 65, 53, 38, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 5, 55, 39, 54, 54, 55, 54, 54, 39, 21, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 4, 110, 1, 26, 26, 27, 83, 57, 58, 149, 93, 93, 149, 57, 58, 82, 27, 27, 26, 1, 1, 26, 27, 27, 84, 58, 57, 148, 93, 36, 67, 31, 1, 32, 127, 251, 58, 83, 27, 26, 26, 183, 1, 11, 14, 15, 48, 37, 37, 103, 69, 68, 103, 37, 37, 49, 15, 15, 13, 13, 15, 15, 49, 37, 37, 102, 68, 69, 103, 37, 37, 49, 15, 14, 11, 2, 151, 128, 80, 165, 76, 76, 133, 49, 49, 57, 57, 49, 50, 133, 76, 76, 164, 80, 128, 80, 163, 76, 76, 133, 49, 49, 57, 9, 9, 244, 121, 209, 49, 133, 76, 76, 164, 211, 130, 55, 119, 58, 58, 104, 39, 40, 47, 47, 40, 40, 104, 58, 58, 119, 54, 130, 54, 119, 58, 57, 104, 40, 39, 47, 46, 39, 40, 104, 57, 58, 119, 0, 2, 0, 181, 0, 0, 4, 114, 5, 176, 0, 20, 0, 35, 0, 0, 65, 1, 51, 55, 1, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 33, 17, 51, 17, 53, 17, 51, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 2, 144, 1, 30, 195, 1, 254, 203, 60, 100, 36, 36, 41, 77, 67, 68, 180, 102, 254, 85, 184, 243, 67, 113, 41, 41, 46, 48, 41, 42, 110, 62, 2, 82, 253, 174, 12, 2, 110, 26, 74, 48, 48, 118, 71, 110, 163, 54, 54, 54, 2, 250, 80, 2, 82, 152, 2, 46, 1, 36, 35, 36, 105, 70, 66, 101, 35, 35, 37, 1, 0, 1, 0, 118, 255, 236, 4, 105, 5, 196, 0, 73, 0, 0, 65, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 35, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 168, 52, 41, 41, 105, 54, 68, 115, 44, 44, 56, 9, 189, 3, 77, 66, 74, 201, 104, 87, 174, 69, 69, 87, 81, 66, 67, 162, 81, 49, 111, 47, 48, 62, 1, 47, 40, 39, 101, 53, 66, 105, 38, 38, 46, 8, 190, 2, 82, 68, 68, 176, 95, 86, 170, 67, 67, 83, 83, 66, 65, 159, 77, 53, 115, 48, 48, 61, 1, 112, 60, 87, 28, 29, 27, 37, 37, 36, 105, 68, 94, 153, 57, 66, 70, 49, 49, 48, 146, 98, 97, 148, 51, 55, 71, 25, 15, 40, 30, 30, 87, 63, 58, 88, 30, 30, 30, 41, 37, 37, 103, 63, 100, 162, 57, 57, 63, 53, 51, 51, 148, 94, 94, 139, 51, 50, 71, 25, 17, 42, 31, 32, 92, 0, 1, 0, 76, 0, 0, 4, 132, 5, 176, 0, 7, 0, 0, 65, 53, 33, 21, 33, 17, 51, 17, 4, 132, 251, 200, 1, 194, 180, 5, 18, 158, 158, 250, 238, 5, 18, 0, 0, 1, 0, 139, 255, 236, 4, 66, 5, 176, 0, 29, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 3, 35, 3, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 4, 64, 179, 3, 2, 38, 36, 37, 108, 71, 71, 109, 36, 37, 39, 1, 4, 176, 2, 1, 70, 62, 62, 174, 106, 104, 174, 63, 63, 72, 5, 176, 252, 38, 65, 120, 46, 47, 55, 56, 46, 46, 120, 65, 3, 218, 252, 38, 102, 179, 66, 67, 76, 77, 67, 66, 178, 102, 0, 1, 0, 71, 0, 0, 4, 127, 5, 176, 0, 8, 0, 0, 97, 51, 1, 35, 1, 7, 39, 1, 35, 2, 19, 161, 1, 203, 197, 254, 190, 22, 21, 254, 192, 198, 5, 176, 251, 195, 73, 71, 4, 63, 0, 1, 0, 73, 0, 0, 4, 158, 5, 176, 0, 18, 0, 0, 115, 51, 19, 55, 23, 19, 51, 19, 35, 3, 7, 39, 3, 35, 3, 7, 39, 3, 35, 250, 190, 178, 11, 10, 177, 189, 177, 175, 105, 6, 11, 177, 161, 176, 11, 6, 105, 176, 4, 11, 62, 61, 251, 244, 5, 176, 252, 22, 60, 59, 3, 235, 252, 22, 60, 58, 3, 236, 0, 1, 0, 87, 0, 0, 4, 143, 5, 176, 0, 11, 0, 0, 65, 1, 35, 1, 1, 51, 1, 1, 51, 1, 1, 35, 2, 113, 254, 202, 217, 1, 167, 254, 78, 219, 1, 67, 1, 66, 216, 254, 79, 1, 167, 218, 3, 117, 2, 59, 253, 46, 253, 34, 2, 70, 253, 186, 2, 222, 2, 210, 0, 1, 0, 61, 0, 0, 4, 121, 5, 176, 0, 8, 0, 0, 65, 1, 35, 1, 19, 51, 19, 1, 35, 2, 91, 254, 181, 211, 1, 197, 3, 172, 3, 1, 197, 210, 2, 213, 2, 219, 252, 111, 253, 225, 2, 31, 3, 145, 0, 1, 0, 114, 0, 0, 4, 55, 5, 176, 0, 9, 0, 0, 101, 1, 39, 33, 21, 33, 1, 23, 33, 53, 1, 69, 2, 215, 2, 252, 101, 2, 200, 253, 43, 2, 3, 195, 157, 4, 134, 141, 158, 251, 126, 144, 157, 0, 0, 2, 0, 156, 255, 236, 4, 54, 4, 78, 0, 53, 0, 73, 0, 0, 97, 51, 53, 38, 38, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 37, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 21, 6, 6, 7, 6, 6, 3, 117, 193, 18, 20, 66, 57, 58, 158, 92, 101, 159, 55, 56, 59, 1, 186, 33, 30, 30, 87, 55, 59, 95, 33, 33, 36, 202, 113, 183, 65, 65, 71, 53, 49, 48, 139, 86, 53, 94, 42, 41, 69, 28, 3, 13, 254, 196, 54, 82, 27, 27, 27, 31, 30, 42, 143, 96, 172, 16, 56, 38, 39, 94, 16, 45, 121, 54, 1, 247, 91, 136, 46, 45, 45, 56, 45, 46, 114, 59, 34, 63, 23, 23, 28, 30, 27, 28, 78, 49, 85, 44, 44, 45, 134, 89, 68, 117, 42, 43, 50, 22, 19, 19, 50, 28, 34, 63, 120, 28, 25, 24, 68, 40, 42, 66, 24, 34, 33, 219, 32, 59, 23, 23, 28, 0, 0, 2, 0, 175, 255, 236, 4, 67, 6, 0, 0, 35, 0, 67, 0, 0, 65, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 17, 35, 17, 51, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 39, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 4, 67, 28, 27, 26, 68, 43, 48, 118, 70, 56, 96, 40, 32, 56, 23, 185, 170, 9, 18, 40, 22, 46, 115, 70, 61, 105, 44, 61, 87, 27, 20, 21, 185, 12, 13, 16, 54, 40, 30, 76, 46, 48, 80, 32, 32, 49, 18, 17, 49, 32, 31, 80, 48, 44, 72, 29, 42, 58, 18, 13, 13, 2, 17, 21, 85, 153, 63, 56, 91, 32, 34, 38, 22, 21, 17, 47, 29, 2, 58, 250, 0, 123, 23, 38, 16, 32, 34, 30, 27, 39, 119, 75, 57, 131, 92, 21, 48, 92, 40, 53, 86, 28, 22, 23, 25, 23, 23, 61, 36, 1, 217, 36, 61, 23, 22, 25, 20, 18, 25, 88, 53, 43, 97, 0, 1, 0, 143, 255, 236, 4, 51, 4, 78, 0, 51, 0, 0, 101, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 35, 6, 6, 7, 6, 6, 2, 123, 87, 117, 35, 36, 31, 31, 36, 36, 117, 86, 56, 97, 35, 35, 41, 1, 175, 66, 58, 59, 161, 96, 123, 184, 61, 62, 62, 62, 62, 61, 184, 123, 86, 158, 61, 61, 73, 1, 175, 1, 45, 37, 37, 95, 130, 69, 56, 55, 139, 71, 42, 70, 138, 56, 55, 69, 38, 33, 33, 87, 49, 82, 144, 53, 52, 61, 88, 74, 75, 196, 107, 42, 108, 195, 74, 75, 88, 59, 50, 49, 131, 72, 45, 77, 28, 29, 32, 0, 0, 2, 0, 139, 255, 236, 4, 28, 6, 0, 0, 23, 0, 43, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 23, 51, 17, 35, 17, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 17, 6, 6, 35, 34, 38, 39, 38, 38, 139, 62, 56, 56, 159, 98, 100, 150, 54, 8, 170, 185, 53, 145, 97, 99, 160, 56, 57, 61, 185, 34, 36, 35, 111, 78, 91, 122, 36, 36, 122, 93, 77, 110, 35, 36, 34, 2, 38, 21, 116, 201, 74, 74, 84, 68, 66, 114, 6, 0, 253, 207, 62, 65, 82, 73, 73, 203, 142, 21, 79, 143, 55, 54, 64, 85, 66, 254, 10, 71, 84, 63, 54, 54, 142, 0, 0, 2, 0, 135, 255, 236, 4, 69, 4, 78, 0, 34, 0, 48, 0, 0, 69, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 39, 53, 33, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 19, 50, 22, 23, 22, 22, 21, 21, 33, 54, 54, 55, 54, 54, 2, 140, 158, 215, 54, 113, 51, 154, 99, 75, 124, 44, 43, 49, 7, 3, 5, 57, 58, 58, 175, 117, 93, 177, 69, 70, 84, 76, 68, 68, 191, 90, 71, 103, 34, 34, 38, 253, 186, 11, 55, 40, 40, 100, 20, 127, 82, 88, 66, 80, 56, 49, 46, 120, 79, 7, 83, 113, 194, 72, 71, 81, 76, 71, 72, 207, 131, 42, 113, 192, 70, 70, 78, 3, 202, 52, 42, 42, 115, 50, 9, 75, 115, 40, 39, 41, 0, 0, 1, 0, 152, 0, 0, 4, 107, 6, 43, 0, 32, 0, 0, 97, 51, 17, 33, 53, 33, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 33, 21, 33, 1, 194, 186, 1, 161, 254, 95, 35, 34, 32, 97, 63, 62, 109, 41, 22, 26, 50, 25, 38, 78, 40, 96, 156, 55, 56, 61, 254, 214, 1, 42, 3, 171, 143, 76, 68, 102, 32, 31, 31, 21, 14, 153, 7, 11, 5, 7, 9, 54, 53, 53, 157, 104, 76, 143, 0, 2, 0, 140, 254, 86, 4, 29, 4, 78, 0, 53, 0, 79, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 35, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 140, 60, 56, 55, 160, 99, 59, 102, 42, 27, 47, 21, 40, 37, 38, 106, 66, 37, 74, 37, 37, 72, 34, 96, 37, 103, 56, 55, 108, 42, 102, 168, 61, 60, 67, 168, 9, 19, 43, 24, 44, 109, 65, 101, 160, 56, 56, 59, 185, 33, 36, 35, 111, 78, 46, 76, 31, 31, 48, 18, 18, 48, 30, 31, 77, 48, 77, 110, 35, 36, 33, 2, 38, 21, 116, 201, 74, 74, 84, 25, 23, 15, 40, 24, 93, 70, 108, 36, 37, 38, 15, 17, 17, 57, 41, 111, 53, 72, 21, 22, 19, 60, 58, 58, 166, 107, 4, 35, 118, 24, 40, 15, 29, 30, 82, 73, 73, 203, 142, 21, 79, 143, 55, 54, 64, 23, 20, 21, 56, 34, 254, 16, 35, 58, 21, 21, 23, 63, 54, 54, 142, 0, 0, 1, 0, 174, 0, 0, 4, 44, 6, 0, 0, 31, 0, 0, 65, 17, 35, 17, 51, 17, 54, 54, 55, 54, 54, 51, 54, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 6, 6, 7, 6, 6, 1, 103, 185, 185, 20, 51, 30, 38, 90, 50, 61, 94, 31, 29, 30, 185, 53, 49, 49, 139, 85, 65, 115, 48, 30, 54, 3, 153, 2, 103, 250, 0, 3, 18, 32, 53, 20, 26, 28, 1, 35, 35, 32, 97, 64, 253, 85, 2, 169, 109, 159, 52, 52, 49, 1, 36, 35, 21, 55, 0, 0, 2, 0, 203, 0, 0, 4, 85, 5, 195, 0, 9, 0, 27, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 3, 20, 22, 51, 50, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 203, 1, 112, 254, 144, 3, 138, 254, 159, 209, 55, 56, 55, 56, 16, 16, 13, 40, 26, 26, 41, 13, 16, 15, 4, 58, 161, 253, 7, 160, 160, 3, 154, 1, 28, 45, 60, 60, 45, 25, 42, 14, 13, 15, 15, 13, 15, 42, 0, 2, 0, 211, 254, 75, 3, 88, 5, 195, 0, 29, 0, 41, 0, 0, 65, 21, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 43, 1, 105, 39, 34, 34, 92, 52, 14, 49, 26, 27, 52, 17, 13, 25, 46, 23, 28, 58, 31, 100, 157, 55, 54, 57, 211, 54, 56, 56, 56, 56, 56, 56, 54, 4, 58, 161, 252, 96, 77, 105, 32, 32, 27, 1, 2, 1, 5, 3, 152, 4, 7, 2, 2, 2, 57, 55, 54, 160, 104, 4, 65, 1, 29, 45, 61, 61, 45, 45, 63, 63, 0, 0, 1, 0, 176, 0, 0, 4, 106, 6, 0, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 1, 242, 1, 141, 235, 254, 7, 1, 182, 225, 254, 157, 121, 186, 186, 1, 249, 254, 7, 2, 119, 1, 195, 254, 156, 130, 3, 172, 250, 0, 1, 118, 0, 0, 1, 0, 203, 0, 0, 4, 85, 6, 0, 0, 9, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 203, 1, 112, 254, 144, 3, 138, 254, 159, 6, 0, 161, 251, 65, 160, 160, 5, 96, 0, 1, 0, 93, 0, 0, 4, 114, 4, 78, 0, 58, 0, 0, 65, 35, 17, 51, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 52, 53, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 6, 6, 7, 1, 3, 166, 176, 6, 19, 13, 17, 49, 33, 30, 45, 15, 16, 15, 176, 3, 18, 16, 16, 48, 33, 31, 47, 16, 15, 16, 176, 36, 34, 31, 90, 56, 41, 69, 28, 22, 38, 14, 11, 31, 19, 26, 69, 43, 76, 107, 33, 4, 58, 251, 198, 3, 93, 16, 28, 11, 14, 15, 15, 16, 17, 52, 34, 252, 213, 3, 42, 6, 9, 5, 25, 41, 16, 15, 18, 16, 16, 17, 52, 34, 252, 214, 3, 40, 78, 115, 36, 32, 33, 1, 20, 17, 15, 40, 23, 25, 40, 14, 18, 19, 1, 64, 57, 0, 0, 1, 0, 174, 0, 0, 4, 41, 4, 78, 0, 31, 0, 0, 115, 51, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 6, 6, 7, 6, 6, 7, 39, 35, 174, 185, 19, 51, 30, 37, 88, 51, 59, 91, 32, 31, 32, 185, 53, 49, 49, 139, 85, 63, 113, 48, 32, 57, 24, 13, 166, 3, 8, 35, 58, 22, 25, 29, 28, 31, 31, 100, 72, 253, 85, 2, 175, 108, 157, 51, 51, 48, 1, 35, 32, 21, 57, 34, 160, 0, 0, 2, 0, 122, 255, 236, 4, 82, 4, 78, 0, 25, 0, 51, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 122, 68, 64, 63, 183, 115, 114, 182, 64, 63, 68, 68, 63, 64, 183, 115, 114, 182, 63, 64, 68, 185, 38, 39, 38, 114, 77, 77, 115, 39, 38, 39, 38, 38, 39, 115, 76, 77, 116, 38, 39, 38, 2, 39, 22, 117, 200, 74, 74, 84, 84, 74, 74, 200, 117, 22, 117, 201, 74, 74, 85, 85, 74, 74, 201, 139, 22, 79, 145, 55, 55, 65, 65, 55, 55, 145, 79, 22, 80, 145, 55, 55, 64, 64, 55, 55, 145, 0, 0, 2, 0, 173, 254, 96, 4, 63, 4, 78, 0, 29, 0, 55, 0, 0, 83, 51, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 39, 35, 1, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 173, 185, 20, 46, 26, 43, 107, 62, 102, 159, 54, 54, 56, 56, 54, 54, 160, 104, 59, 103, 42, 30, 52, 22, 9, 169, 2, 217, 35, 36, 36, 112, 77, 48, 79, 32, 28, 44, 17, 19, 50, 32, 29, 73, 43, 78, 112, 37, 36, 35, 254, 96, 2, 8, 22, 37, 15, 24, 26, 84, 74, 74, 201, 116, 21, 121, 203, 73, 73, 82, 25, 24, 16, 45, 28, 118, 253, 236, 21, 79, 144, 55, 55, 65, 24, 21, 18, 52, 30, 2, 9, 34, 56, 19, 19, 20, 64, 54, 55, 143, 0, 2, 0, 140, 254, 96, 4, 28, 4, 78, 0, 29, 0, 55, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 17, 51, 17, 35, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 140, 59, 56, 56, 161, 103, 53, 92, 39, 31, 53, 24, 185, 170, 8, 21, 48, 27, 42, 101, 58, 104, 163, 56, 56, 58, 185, 35, 37, 36, 112, 77, 43, 73, 31, 30, 49, 19, 20, 50, 32, 30, 72, 43, 77, 111, 36, 36, 35, 2, 38, 21, 116, 201, 74, 74, 84, 20, 19, 14, 40, 25, 253, 254, 5, 218, 107, 24, 40, 15, 24, 24, 82, 73, 73, 203, 142, 21, 79, 144, 56, 55, 66, 21, 19, 19, 51, 31, 253, 234, 33, 55, 19, 17, 20, 65, 55, 55, 144, 0, 0, 1, 1, 73, 0, 0, 4, 49, 4, 78, 0, 21, 0, 0, 65, 34, 6, 7, 39, 39, 35, 17, 51, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 3, 115, 118, 185, 66, 1, 8, 176, 186, 18, 55, 37, 41, 110, 68, 53, 97, 54, 25, 28, 111, 4, 78, 103, 89, 27, 145, 251, 198, 2, 182, 50, 81, 28, 32, 33, 11, 12, 181, 12, 14, 0, 0, 1, 0, 175, 255, 236, 4, 54, 4, 78, 0, 73, 0, 0, 65, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 125, 20, 19, 31, 110, 74, 47, 96, 39, 40, 53, 4, 185, 63, 60, 59, 172, 110, 96, 162, 58, 58, 65, 57, 54, 54, 158, 100, 76, 99, 29, 30, 24, 30, 30, 29, 89, 59, 57, 91, 32, 32, 36, 185, 61, 56, 56, 160, 100, 93, 155, 56, 56, 62, 60, 55, 54, 153, 93, 76, 102, 31, 31, 26, 1, 31, 26, 46, 19, 31, 35, 20, 24, 24, 78, 57, 69, 128, 48, 49, 59, 46, 42, 42, 118, 72, 67, 102, 39, 38, 55, 21, 15, 32, 20, 20, 50, 32, 31, 58, 22, 22, 26, 32, 26, 26, 67, 35, 71, 123, 46, 46, 52, 50, 43, 43, 115, 66, 67, 101, 37, 38, 54, 19, 15, 37, 22, 22, 53, 0, 1, 0, 142, 255, 236, 4, 41, 5, 64, 0, 35, 0, 0, 65, 35, 17, 33, 21, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 53, 33, 2, 100, 186, 254, 228, 1, 28, 53, 46, 46, 125, 72, 43, 87, 39, 39, 66, 23, 26, 17, 53, 30, 31, 64, 30, 41, 73, 28, 28, 32, 1, 156, 254, 100, 5, 64, 254, 250, 143, 253, 180, 100, 141, 44, 45, 41, 8, 8, 7, 21, 14, 131, 4, 11, 5, 5, 7, 20, 25, 24, 82, 63, 2, 76, 143, 0, 0, 1, 0, 180, 255, 236, 4, 31, 4, 58, 0, 28, 0, 0, 97, 51, 17, 35, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 3, 119, 168, 186, 15, 45, 30, 36, 98, 62, 53, 81, 28, 28, 28, 185, 53, 49, 49, 138, 85, 106, 162, 54, 4, 58, 252, 248, 35, 59, 21, 26, 29, 28, 35, 34, 116, 88, 2, 133, 253, 125, 121, 173, 56, 56, 53, 89, 80, 0, 1, 0, 98, 0, 0, 4, 101, 4, 58, 0, 8, 0, 0, 97, 51, 1, 35, 1, 7, 39, 1, 35, 2, 31, 141, 1, 185, 189, 254, 209, 18, 17, 254, 202, 190, 4, 58, 252, 208, 67, 67, 3, 48, 0, 1, 0, 48, 0, 0, 4, 167, 4, 58, 0, 18, 0, 0, 97, 51, 19, 55, 23, 19, 51, 19, 35, 3, 7, 39, 3, 35, 3, 7, 39, 3, 35, 1, 22, 146, 167, 27, 28, 169, 146, 230, 164, 120, 27, 29, 172, 119, 173, 27, 22, 126, 164, 2, 151, 168, 168, 253, 105, 4, 58, 253, 78, 170, 170, 2, 178, 253, 78, 155, 155, 2, 178, 0, 0, 1, 0, 110, 0, 0, 4, 114, 4, 58, 0, 11, 0, 0, 65, 1, 35, 1, 1, 51, 1, 1, 51, 1, 1, 35, 2, 109, 254, 226, 214, 1, 147, 254, 98, 216, 1, 43, 1, 43, 214, 254, 98, 1, 147, 217, 2, 169, 1, 145, 253, 233, 253, 221, 1, 156, 254, 100, 2, 35, 2, 23, 0, 1, 0, 68, 254, 75, 4, 133, 4, 58, 0, 27, 0, 0, 65, 50, 54, 55, 54, 54, 55, 1, 35, 1, 7, 39, 1, 35, 1, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 1, 5, 73, 112, 42, 42, 59, 19, 2, 37, 207, 254, 233, 51, 48, 254, 215, 207, 1, 210, 74, 10, 35, 24, 25, 63, 38, 14, 49, 25, 30, 18, 70, 254, 75, 54, 40, 40, 94, 42, 4, 225, 253, 66, 127, 131, 2, 186, 251, 249, 144, 20, 62, 29, 29, 42, 3, 2, 151, 4, 12, 0, 0, 1, 0, 160, 0, 0, 4, 61, 4, 58, 0, 9, 0, 0, 101, 1, 53, 33, 21, 33, 1, 21, 33, 53, 1, 140, 2, 141, 252, 144, 2, 125, 253, 122, 3, 157, 151, 3, 32, 131, 153, 252, 231, 136, 151, 0, 0, 3, 0, 145, 255, 236, 4, 64, 5, 197, 0, 25, 0, 42, 0, 59, 0, 0, 65, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 37, 52, 52, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 19, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 1, 20, 20, 21, 4, 64, 64, 60, 61, 175, 112, 111, 175, 60, 61, 64, 64, 61, 61, 176, 111, 112, 174, 60, 60, 64, 253, 11, 41, 42, 35, 101, 66, 65, 99, 34, 35, 41, 8, 4, 43, 46, 34, 98, 63, 60, 96, 34, 37, 46, 9, 2, 54, 2, 45, 1, 85, 139, 215, 74, 74, 77, 77, 74, 74, 215, 139, 254, 171, 139, 215, 73, 75, 75, 76, 74, 73, 215, 176, 26, 50, 25, 244, 102, 155, 49, 39, 41, 38, 38, 37, 111, 72, 254, 1, 107, 158, 49, 36, 38, 35, 34, 36, 111, 73, 1, 177, 28, 85, 15, 0, 1, 0, 208, 0, 0, 3, 6, 5, 176, 0, 6, 0, 0, 97, 17, 35, 5, 21, 37, 17, 3, 6, 15, 253, 217, 1, 125, 5, 176, 212, 169, 145, 251, 60, 0, 0, 1, 0, 85, 0, 0, 4, 43, 5, 196, 0, 42, 0, 0, 97, 53, 33, 1, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 1, 21, 4, 43, 253, 37, 1, 135, 55, 99, 38, 37, 44, 61, 57, 57, 165, 103, 112, 175, 60, 61, 64, 186, 35, 36, 35, 107, 73, 60, 95, 34, 33, 35, 22, 26, 26, 86, 64, 254, 35, 151, 1, 168, 60, 121, 62, 62, 127, 65, 87, 148, 54, 54, 61, 72, 61, 61, 163, 92, 68, 110, 39, 38, 42, 41, 35, 35, 95, 54, 44, 83, 46, 47, 110, 71, 253, 238, 133, 0, 1, 0, 94, 255, 236, 3, 249, 5, 196, 0, 76, 0, 0, 65, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 1, 134, 132, 69, 115, 41, 40, 45, 39, 36, 36, 102, 63, 63, 103, 36, 36, 39, 185, 73, 62, 62, 169, 96, 98, 169, 62, 62, 70, 23, 28, 29, 95, 71, 59, 85, 27, 27, 26, 64, 58, 58, 162, 98, 101, 165, 59, 59, 65, 186, 38, 35, 34, 97, 59, 61, 95, 32, 33, 34, 38, 36, 37, 107, 70, 3, 49, 150, 32, 33, 33, 99, 68, 69, 101, 34, 34, 33, 36, 33, 33, 94, 57, 96, 150, 52, 52, 54, 57, 55, 54, 158, 102, 50, 102, 46, 46, 74, 23, 25, 75, 43, 42, 90, 42, 101, 154, 52, 52, 53, 63, 54, 55, 147, 83, 57, 92, 33, 33, 35, 31, 31, 32, 97, 65, 55, 92, 33, 33, 38, 0, 0, 2, 0, 75, 0, 0, 4, 103, 5, 176, 0, 10, 0, 14, 0, 0, 65, 17, 35, 1, 21, 33, 17, 51, 17, 51, 53, 33, 1, 55, 17, 3, 156, 197, 253, 116, 2, 152, 185, 203, 252, 177, 1, 173, 30, 1, 233, 3, 199, 252, 15, 109, 254, 174, 1, 82, 151, 2, 153, 56, 253, 47, 0, 1, 0, 187, 255, 236, 4, 79, 5, 176, 0, 48, 0, 0, 83, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 35, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 19, 33, 53, 33, 240, 148, 25, 47, 27, 27, 67, 46, 70, 108, 37, 37, 39, 35, 34, 35, 102, 66, 117, 149, 17, 176, 10, 79, 62, 61, 158, 89, 116, 172, 57, 56, 56, 60, 56, 56, 160, 101, 79, 120, 43, 41, 2, 79, 253, 21, 2, 218, 38, 22, 34, 12, 12, 13, 50, 43, 44, 118, 68, 75, 122, 43, 44, 47, 128, 124, 101, 152, 50, 50, 50, 73, 65, 64, 178, 104, 110, 180, 64, 63, 70, 38, 25, 1, 132, 180, 0, 0, 2, 0, 141, 255, 236, 4, 37, 5, 177, 0, 39, 0, 64, 0, 0, 65, 35, 34, 6, 7, 6, 2, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 54, 54, 55, 54, 54, 51, 51, 3, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 54, 54, 55, 54, 54, 3, 88, 16, 156, 246, 86, 125, 86, 64, 65, 58, 170, 112, 111, 169, 57, 57, 57, 48, 51, 51, 158, 109, 50, 91, 39, 40, 68, 26, 6, 65, 63, 60, 184, 132, 16, 242, 67, 100, 33, 33, 32, 35, 34, 35, 100, 65, 56, 102, 39, 39, 46, 17, 58, 38, 38, 88, 5, 177, 87, 86, 125, 254, 160, 182, 87, 106, 211, 79, 72, 90, 78, 68, 67, 180, 102, 89, 172, 68, 68, 83, 23, 19, 20, 53, 31, 96, 182, 66, 63, 75, 254, 22, 56, 47, 47, 121, 64, 72, 123, 44, 44, 50, 53, 51, 51, 149, 96, 62, 46, 76, 27, 27, 30, 0, 0, 1, 0, 112, 0, 0, 4, 72, 5, 176, 0, 6, 0, 0, 65, 53, 33, 21, 33, 1, 51, 4, 72, 252, 40, 3, 20, 253, 167, 194, 5, 72, 104, 162, 250, 242, 0, 3, 0, 177, 255, 236, 4, 79, 5, 196, 0, 47, 0, 71, 0, 95, 0, 0, 65, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 46, 66, 58, 58, 158, 92, 93, 157, 56, 57, 64, 30, 27, 27, 78, 48, 56, 90, 32, 32, 34, 72, 63, 62, 169, 98, 96, 168, 63, 62, 73, 35, 32, 33, 91, 56, 32, 56, 23, 48, 54, 151, 41, 36, 37, 102, 61, 64, 103, 36, 36, 39, 39, 36, 36, 102, 63, 61, 103, 37, 37, 41, 34, 36, 32, 33, 90, 53, 54, 89, 32, 33, 35, 35, 32, 32, 88, 54, 54, 90, 33, 32, 37, 4, 52, 95, 149, 51, 51, 54, 54, 51, 51, 149, 95, 54, 98, 41, 42, 67, 24, 24, 72, 45, 46, 109, 61, 100, 154, 52, 53, 54, 55, 53, 52, 154, 99, 61, 108, 46, 46, 71, 24, 16, 40, 23, 48, 127, 253, 162, 63, 99, 34, 34, 36, 36, 34, 34, 99, 63, 61, 102, 37, 36, 40, 40, 36, 37, 102, 2, 103, 56, 92, 32, 33, 35, 35, 33, 32, 91, 57, 57, 93, 33, 33, 35, 37, 33, 34, 92, 0, 0, 2, 0, 149, 255, 255, 4, 41, 5, 196, 0, 40, 0, 65, 0, 0, 101, 35, 21, 51, 50, 54, 55, 54, 18, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 21, 6, 6, 7, 6, 6, 19, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 6, 6, 7, 6, 6, 1, 117, 19, 19, 180, 251, 71, 118, 72, 66, 66, 56, 165, 112, 112, 169, 56, 57, 57, 48, 51, 51, 157, 108, 56, 95, 39, 39, 62, 24, 5, 48, 69, 57, 187, 81, 67, 99, 32, 33, 32, 36, 35, 34, 100, 65, 57, 101, 39, 38, 45, 17, 59, 37, 38, 89, 164, 165, 99, 80, 132, 1, 85, 169, 67, 119, 239, 80, 68, 83, 81, 68, 69, 183, 103, 88, 174, 69, 69, 85, 23, 20, 20, 53, 30, 2, 92, 172, 75, 61, 67, 1, 220, 59, 48, 48, 123, 64, 72, 125, 46, 45, 52, 56, 52, 53, 152, 97, 60, 47, 77, 28, 29, 31, 0, 1, 1, 130, 2, 153, 2, 246, 5, 174, 0, 6, 0, 0, 65, 17, 35, 5, 21, 55, 17, 2, 246, 18, 254, 158, 215, 2, 153, 3, 21, 117, 128, 57, 253, 167, 0, 1, 1, 60, 2, 155, 3, 166, 5, 187, 0, 42, 0, 0, 65, 53, 33, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 1, 21, 3, 166, 254, 113, 175, 43, 71, 26, 25, 27, 40, 37, 37, 106, 66, 69, 111, 39, 39, 42, 158, 18, 18, 18, 55, 37, 29, 47, 16, 16, 16, 19, 21, 14, 41, 26, 254, 224, 2, 155, 128, 145, 39, 71, 35, 34, 71, 40, 55, 87, 31, 31, 33, 41, 35, 36, 96, 54, 29, 49, 17, 18, 20, 16, 15, 15, 40, 24, 21, 47, 28, 19, 43, 24, 254, 241, 108, 0, 1, 1, 67, 2, 143, 3, 159, 5, 186, 0, 76, 0, 0, 65, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 2, 14, 84, 45, 69, 20, 12, 13, 16, 16, 18, 57, 36, 35, 57, 19, 16, 18, 158, 51, 42, 41, 107, 57, 64, 112, 42, 41, 47, 20, 21, 18, 55, 36, 27, 44, 16, 24, 25, 43, 39, 39, 108, 64, 60, 104, 38, 39, 45, 157, 13, 11, 17, 56, 35, 32, 49, 17, 17, 18, 23, 23, 18, 51, 31, 4, 101, 116, 20, 22, 13, 36, 24, 24, 39, 14, 16, 18, 18, 16, 14, 36, 21, 61, 88, 28, 29, 27, 31, 29, 29, 86, 56, 37, 61, 23, 21, 32, 10, 10, 28, 17, 24, 59, 33, 55, 84, 29, 28, 29, 31, 28, 29, 82, 51, 17, 29, 10, 18, 18, 14, 13, 14, 39, 23, 28, 44, 14, 11, 12, 0, 0, 2, 1, 28, 2, 179, 3, 177, 5, 196, 0, 52, 0, 72, 0, 0, 65, 51, 38, 38, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 21, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 54, 54, 55, 54, 54, 55, 22, 22, 39, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 21, 6, 6, 7, 6, 6, 3, 12, 165, 14, 12, 42, 37, 38, 107, 65, 69, 114, 40, 41, 45, 1, 161, 18, 16, 19, 59, 37, 31, 46, 16, 16, 16, 1, 141, 77, 123, 42, 43, 46, 32, 31, 32, 94, 60, 48, 78, 30, 22, 35, 13, 3, 11, 201, 35, 51, 16, 12, 12, 18, 18, 21, 69, 44, 140, 8, 39, 25, 26, 59, 2, 193, 45, 88, 48, 1, 58, 68, 104, 35, 34, 35, 34, 31, 31, 86, 51, 12, 23, 37, 13, 16, 16, 17, 16, 17, 52, 33, 52, 29, 28, 29, 88, 57, 52, 83, 29, 30, 33, 1, 24, 19, 14, 35, 18, 26, 49, 101, 16, 15, 11, 32, 20, 22, 38, 15, 18, 22, 109, 18, 36, 14, 15, 17, 0, 0, 2, 1, 16, 2, 178, 3, 188, 5, 196, 0, 25, 0, 51, 0, 0, 65, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 16, 48, 45, 44, 127, 80, 79, 126, 44, 44, 47, 47, 44, 45, 127, 79, 79, 126, 44, 45, 48, 163, 22, 23, 22, 67, 45, 45, 67, 23, 22, 23, 23, 22, 22, 67, 44, 46, 68, 22, 23, 22, 4, 117, 117, 72, 123, 44, 45, 50, 50, 45, 44, 123, 72, 117, 73, 123, 45, 44, 50, 50, 44, 45, 123, 190, 117, 41, 71, 27, 26, 30, 30, 26, 27, 71, 41, 117, 42, 71, 26, 26, 30, 30, 26, 26, 71, 0, 3, 0, 36, 0, 0, 4, 150, 5, 177, 0, 6, 0, 49, 0, 53, 0, 0, 65, 17, 35, 5, 21, 55, 17, 1, 53, 33, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 5, 21, 37, 1, 39, 1, 1, 115, 16, 254, 193, 194, 3, 176, 254, 153, 157, 39, 64, 23, 23, 24, 36, 33, 34, 95, 59, 62, 100, 35, 36, 37, 142, 1, 16, 17, 16, 49, 32, 26, 41, 14, 15, 16, 14, 15, 13, 40, 27, 254, 253, 254, 219, 2, 2, 114, 253, 255, 2, 235, 2, 198, 105, 115, 51, 253, 227, 253, 21, 115, 131, 35, 64, 31, 31, 64, 36, 49, 79, 27, 28, 30, 37, 31, 33, 86, 49, 27, 44, 17, 15, 17, 14, 12, 14, 37, 22, 17, 37, 22, 19, 44, 25, 244, 97, 221, 3, 186, 66, 252, 70, 0, 0, 4, 0, 48, 0, 0, 4, 140, 5, 181, 0, 6, 0, 17, 0, 21, 0, 25, 0, 0, 65, 17, 35, 5, 21, 55, 17, 1, 17, 35, 1, 23, 33, 21, 51, 53, 51, 53, 33, 55, 55, 17, 5, 1, 39, 1, 1, 127, 16, 254, 193, 194, 3, 58, 145, 254, 173, 5, 1, 82, 141, 96, 254, 74, 186, 15, 253, 243, 2, 2, 114, 253, 255, 2, 239, 2, 198, 105, 115, 51, 253, 227, 254, 30, 1, 185, 254, 46, 92, 152, 152, 117, 235, 25, 254, 252, 48, 3, 186, 66, 252, 70, 0, 4, 0, 38, 0, 0, 4, 173, 5, 184, 0, 10, 0, 14, 0, 91, 0, 95, 0, 0, 65, 17, 35, 1, 23, 33, 21, 51, 53, 51, 53, 33, 55, 55, 17, 1, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 19, 1, 39, 1, 4, 77, 145, 254, 173, 5, 1, 82, 141, 96, 254, 74, 186, 15, 253, 29, 75, 34, 55, 19, 17, 18, 15, 14, 18, 49, 32, 34, 52, 17, 14, 14, 142, 46, 38, 36, 97, 51, 58, 100, 38, 37, 42, 21, 22, 16, 46, 30, 25, 39, 16, 20, 23, 39, 35, 35, 97, 58, 54, 93, 35, 35, 40, 141, 14, 12, 16, 48, 29, 31, 47, 15, 13, 14, 19, 18, 17, 47, 31, 173, 2, 2, 114, 253, 255, 1, 13, 1, 185, 254, 46, 92, 152, 152, 117, 235, 25, 254, 252, 3, 120, 104, 13, 13, 12, 39, 27, 21, 36, 13, 14, 16, 18, 16, 11, 32, 18, 55, 79, 25, 27, 24, 28, 26, 26, 78, 50, 36, 59, 21, 16, 26, 8, 9, 25, 15, 22, 53, 30, 49, 76, 26, 25, 26, 28, 25, 26, 74, 46, 17, 28, 11, 13, 14, 15, 14, 12, 33, 19, 23, 38, 13, 11, 13, 252, 87, 3, 186, 66, 252, 70, 0, 0, 2, 0, 32, 0, 0, 4, 171, 5, 176, 0, 15, 0, 18, 0, 0, 97, 53, 33, 3, 33, 53, 33, 3, 33, 53, 33, 1, 51, 19, 33, 19, 3, 19, 19, 4, 171, 254, 155, 1, 1, 46, 254, 210, 2, 1, 81, 253, 188, 253, 208, 198, 123, 1, 54, 1, 250, 247, 2, 151, 2, 19, 151, 1, 215, 152, 250, 80, 1, 97, 254, 159, 2, 15, 2, 194, 253, 62, 0, 3, 0, 43, 255, 236, 4, 169, 4, 78, 0, 87, 0, 112, 0, 130, 0, 0, 69, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 6, 38, 39, 38, 38, 39, 38, 38, 53, 53, 33, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 37, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 20, 22, 21, 20, 20, 21, 6, 6, 7, 6, 6, 1, 33, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 3, 128, 59, 93, 35, 34, 46, 13, 46, 16, 38, 23, 24, 59, 38, 60, 87, 28, 21, 26, 6, 7, 9, 1, 249, 43, 42, 42, 123, 81, 47, 82, 34, 20, 37, 16, 16, 39, 22, 35, 85, 50, 72, 118, 41, 42, 45, 179, 19, 18, 19, 53, 32, 31, 46, 16, 19, 18, 63, 101, 154, 51, 49, 50, 39, 37, 37, 108, 71, 48, 80, 33, 33, 51, 19, 17, 43, 25, 42, 106, 254, 51, 36, 55, 18, 19, 19, 31, 29, 29, 84, 53, 61, 1, 13, 30, 16, 20, 42, 2, 114, 254, 183, 9, 8, 10, 29, 23, 17, 49, 29, 37, 58, 20, 20, 20, 20, 19, 13, 13, 29, 10, 136, 11, 24, 10, 11, 14, 1, 33, 27, 20, 48, 26, 28, 64, 36, 86, 234, 84, 137, 49, 48, 53, 22, 22, 12, 32, 19, 21, 35, 12, 20, 19, 43, 39, 40, 111, 69, 8, 37, 58, 20, 21, 22, 19, 18, 22, 66, 42, 148, 49, 46, 45, 129, 81, 69, 113, 39, 40, 44, 24, 20, 20, 53, 29, 27, 44, 18, 28, 29, 150, 24, 21, 20, 55, 31, 43, 77, 30, 29, 35, 65, 66, 63, 43, 39, 17, 13, 24, 10, 11, 14, 1, 254, 69, 30, 58, 26, 30, 45, 21, 15, 16, 31, 25, 26, 65, 35, 0, 2, 0, 79, 255, 236, 4, 166, 5, 196, 0, 29, 0, 49, 0, 0, 97, 53, 33, 17, 33, 53, 33, 17, 33, 53, 33, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 37, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 17, 6, 6, 4, 166, 254, 105, 1, 88, 254, 168, 1, 141, 254, 94, 62, 134, 69, 97, 155, 54, 54, 58, 59, 55, 54, 155, 97, 69, 132, 62, 254, 249, 57, 88, 30, 30, 30, 30, 29, 29, 88, 57, 26, 50, 25, 25, 49, 151, 2, 13, 152, 1, 220, 152, 8, 12, 68, 66, 66, 195, 128, 254, 61, 128, 195, 66, 66, 67, 13, 7, 131, 37, 43, 43, 143, 105, 1, 197, 105, 141, 43, 43, 37, 2, 2, 251, 94, 1, 2, 0, 0, 3, 0, 46, 255, 236, 4, 176, 4, 78, 0, 67, 0, 99, 0, 117, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 33, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 19, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 50, 22, 23, 22, 22, 21, 21, 33, 53, 52, 54, 55, 54, 54, 55, 54, 54, 46, 45, 44, 44, 128, 83, 52, 89, 37, 21, 39, 16, 15, 36, 20, 38, 97, 57, 48, 76, 30, 30, 45, 17, 55, 16, 36, 23, 23, 58, 35, 29, 46, 18, 19, 30, 10, 8, 5, 1, 202, 38, 39, 40, 121, 83, 43, 80, 34, 22, 39, 17, 15, 36, 21, 37, 92, 55, 82, 128, 43, 44, 45, 186, 18, 19, 18, 59, 42, 42, 61, 19, 9, 14, 5, 4, 5, 9, 6, 5, 29, 24, 14, 44, 26, 43, 60, 19, 19, 17, 2, 135, 37, 51, 17, 16, 15, 254, 239, 6, 4, 7, 31, 21, 15, 34, 2, 127, 198, 105, 170, 60, 60, 66, 26, 25, 15, 38, 23, 21, 36, 14, 28, 28, 16, 13, 13, 34, 18, 126, 14, 24, 10, 10, 12, 19, 19, 20, 62, 41, 31, 71, 39, 64, 181, 91, 156, 57, 57, 64, 25, 25, 15, 40, 24, 22, 37, 14, 27, 29, 66, 61, 61, 170, 254, 209, 198, 67, 115, 41, 41, 47, 46, 41, 20, 49, 27, 28, 65, 35, 198, 44, 80, 34, 29, 63, 26, 16, 19, 46, 41, 41, 115, 2, 65, 37, 30, 31, 78, 42, 85, 4, 34, 63, 27, 45, 78, 22, 15, 15, 0, 2, 0, 73, 255, 236, 4, 42, 5, 241, 0, 43, 0, 71, 0, 0, 65, 55, 39, 7, 38, 38, 39, 7, 22, 22, 23, 7, 23, 37, 22, 22, 23, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 53, 52, 2, 1, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 20, 22, 21, 21, 20, 6, 7, 6, 6, 7, 6, 6, 3, 77, 211, 73, 230, 63, 143, 80, 57, 46, 87, 41, 239, 73, 1, 10, 62, 90, 23, 57, 153, 88, 105, 179, 65, 66, 73, 72, 66, 65, 181, 108, 71, 128, 55, 63, 98, 34, 25, 27, 117, 254, 132, 74, 115, 39, 40, 42, 42, 40, 39, 112, 69, 125, 160, 34, 1, 18, 16, 21, 61, 39, 33, 79, 5, 6, 121, 100, 132, 51, 73, 22, 159, 16, 41, 27, 137, 99, 152, 63, 168, 110, 56, 68, 73, 67, 67, 188, 115, 102, 178, 66, 66, 75, 35, 33, 39, 120, 76, 61, 145, 82, 62, 206, 1, 73, 251, 242, 59, 48, 47, 121, 62, 73, 130, 49, 49, 57, 86, 54, 13, 24, 13, 64, 62, 112, 47, 58, 86, 27, 24, 25, 0, 2, 0, 168, 0, 0, 4, 94, 5, 176, 0, 18, 0, 33, 0, 0, 65, 35, 17, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 21, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 1, 97, 185, 185, 1, 21, 117, 181, 63, 62, 65, 65, 62, 63, 181, 117, 254, 235, 1, 21, 78, 115, 37, 37, 36, 36, 37, 38, 114, 78, 254, 235, 5, 176, 250, 80, 1, 57, 63, 57, 56, 156, 93, 93, 156, 57, 56, 63, 152, 45, 38, 39, 99, 54, 53, 98, 37, 38, 45, 0, 0, 2, 0, 173, 254, 96, 4, 63, 6, 22, 0, 29, 0, 55, 0, 0, 65, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 17, 35, 17, 51, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 39, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 63, 54, 53, 53, 158, 104, 58, 101, 42, 30, 53, 23, 185, 185, 23, 53, 30, 43, 102, 59, 102, 156, 54, 53, 54, 185, 34, 35, 35, 110, 76, 50, 82, 32, 28, 44, 18, 18, 47, 30, 31, 79, 47, 77, 110, 36, 35, 34, 2, 17, 21, 121, 203, 73, 73, 82, 23, 23, 16, 43, 27, 2, 76, 248, 74, 2, 11, 26, 41, 15, 22, 23, 84, 74, 74, 201, 137, 21, 79, 144, 55, 55, 65, 25, 22, 19, 51, 30, 2, 6, 32, 54, 19, 21, 23, 64, 54, 55, 143, 0, 1, 0, 186, 0, 0, 4, 114, 4, 58, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 2, 9, 1, 127, 234, 254, 20, 1, 200, 223, 254, 114, 110, 185, 185, 1, 221, 254, 35, 2, 91, 1, 223, 254, 101, 120, 2, 19, 251, 198, 1, 88, 0, 0, 1, 0, 169, 255, 235, 4, 76, 6, 22, 0, 81, 0, 0, 97, 17, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 1, 97, 1, 119, 99, 32, 63, 25, 24, 30, 20, 15, 16, 36, 15, 16, 20, 46, 34, 34, 80, 34, 34, 45, 21, 22, 22, 68, 47, 34, 69, 31, 32, 53, 18, 42, 20, 68, 41, 40, 88, 41, 76, 127, 46, 46, 51, 45, 34, 34, 80, 34, 34, 45, 39, 24, 24, 40, 56, 49, 49, 130, 75, 85, 144, 52, 53, 59, 4, 63, 155, 164, 26, 25, 26, 75, 50, 38, 63, 29, 30, 55, 29, 30, 66, 39, 68, 103, 41, 42, 71, 34, 35, 77, 47, 38, 64, 24, 24, 27, 15, 12, 11, 27, 11, 155, 16, 26, 9, 10, 11, 42, 42, 42, 126, 85, 65, 100, 41, 41, 70, 35, 35, 74, 46, 50, 77, 42, 42, 107, 79, 86, 127, 42, 42, 41, 63, 60, 60, 176, 112, 251, 193, 0, 0, 2, 0, 177, 255, 236, 4, 95, 4, 79, 0, 42, 0, 56, 0, 0, 65, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 20, 22, 21, 33, 21, 20, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 3, 34, 38, 39, 38, 38, 53, 53, 33, 6, 6, 7, 6, 6, 2, 97, 75, 125, 49, 50, 75, 27, 73, 25, 61, 36, 42, 103, 61, 78, 118, 41, 37, 44, 5, 1, 253, 12, 56, 57, 57, 173, 117, 96, 175, 67, 66, 78, 71, 66, 66, 189, 90, 71, 104, 33, 34, 33, 2, 53, 11, 50, 37, 38, 97, 4, 79, 23, 19, 19, 48, 25, 125, 21, 37, 14, 17, 19, 58, 50, 47, 123, 70, 5, 10, 5, 121, 105, 177, 64, 64, 72, 1, 80, 72, 71, 198, 117, 44, 117, 198, 73, 72, 81, 252, 53, 45, 38, 38, 100, 54, 26, 64, 110, 40, 41, 46, 0, 1, 0, 162, 255, 48, 4, 69, 6, 156, 0, 79, 0, 0, 65, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 23, 21, 51, 53, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 38, 38, 39, 38, 38, 39, 53, 35, 21, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 139, 39, 36, 36, 104, 65, 51, 100, 39, 40, 50, 185, 66, 55, 55, 143, 78, 149, 87, 143, 50, 50, 55, 55, 52, 52, 150, 94, 77, 109, 34, 35, 32, 29, 28, 30, 95, 64, 59, 92, 32, 31, 33, 184, 1, 60, 57, 44, 120, 73, 149, 81, 133, 46, 47, 51, 58, 54, 53, 150, 93, 74, 108, 34, 34, 31, 1, 119, 55, 87, 30, 31, 32, 28, 33, 33, 111, 84, 113, 162, 53, 54, 56, 8, 191, 192, 9, 60, 50, 49, 138, 87, 89, 134, 51, 51, 76, 31, 26, 55, 32, 32, 78, 50, 51, 83, 30, 33, 36, 46, 40, 41, 113, 67, 115, 177, 60, 45, 57, 10, 220, 220, 10, 62, 50, 51, 136, 84, 89, 136, 52, 53, 76, 29, 24, 57, 33, 33, 77, 0, 1, 0, 147, 255, 11, 4, 55, 5, 38, 0, 57, 0, 0, 101, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 52, 38, 39, 38, 38, 39, 53, 35, 21, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 21, 51, 53, 54, 54, 55, 54, 54, 55, 35, 6, 6, 7, 6, 6, 2, 127, 87, 117, 35, 36, 31, 31, 36, 36, 117, 86, 56, 97, 35, 35, 41, 1, 175, 53, 48, 48, 132, 80, 185, 96, 145, 48, 48, 49, 49, 48, 48, 145, 96, 185, 73, 131, 49, 49, 58, 1, 175, 1, 45, 37, 37, 95, 130, 69, 56, 55, 139, 71, 42, 70, 138, 56, 55, 69, 38, 33, 33, 87, 49, 73, 130, 51, 51, 69, 12, 222, 226, 18, 99, 71, 72, 175, 95, 42, 95, 176, 71, 71, 99, 18, 235, 232, 12, 66, 48, 47, 117, 64, 45, 77, 28, 29, 32, 0, 0, 1, 0, 113, 0, 0, 4, 124, 5, 196, 0, 51, 0, 0, 65, 33, 53, 33, 3, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 19, 35, 21, 51, 23, 20, 6, 7, 6, 6, 7, 35, 21, 33, 55, 33, 54, 54, 55, 54, 54, 53, 1, 207, 1, 59, 254, 192, 8, 37, 32, 32, 89, 51, 48, 87, 34, 33, 39, 186, 56, 52, 53, 152, 96, 96, 164, 59, 59, 67, 9, 160, 165, 8, 8, 11, 11, 37, 27, 75, 4, 6, 1, 253, 30, 13, 19, 7, 11, 11, 2, 114, 152, 1, 5, 67, 107, 37, 36, 39, 27, 28, 29, 89, 63, 87, 142, 51, 51, 56, 60, 56, 57, 162, 102, 254, 251, 152, 226, 32, 81, 36, 37, 56, 7, 151, 151, 19, 44, 24, 37, 83, 42, 0, 0, 1, 0, 33, 0, 0, 4, 171, 5, 176, 0, 25, 0, 0, 97, 51, 17, 33, 53, 33, 53, 33, 53, 33, 1, 35, 1, 7, 35, 39, 1, 35, 1, 33, 21, 33, 21, 33, 21, 33, 2, 6, 185, 1, 133, 254, 123, 1, 133, 254, 194, 1, 165, 212, 254, 190, 46, 2, 46, 254, 190, 212, 1, 165, 254, 196, 1, 124, 254, 132, 1, 124, 1, 70, 120, 169, 121, 2, 208, 253, 177, 85, 86, 2, 78, 253, 48, 121, 169, 120, 0, 1, 0, 160, 254, 75, 4, 74, 6, 43, 0, 47, 0, 0, 65, 53, 35, 39, 52, 54, 55, 54, 54, 55, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 35, 21, 51, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 3, 127, 212, 1, 30, 32, 31, 98, 65, 40, 71, 26, 23, 47, 89, 47, 96, 154, 54, 55, 58, 177, 177, 1, 33, 32, 21, 57, 34, 22, 95, 29, 14, 39, 80, 41, 85, 135, 47, 46, 50, 3, 171, 143, 99, 58, 90, 30, 31, 31, 1, 16, 13, 147, 17, 22, 52, 50, 51, 149, 96, 99, 143, 252, 33, 65, 98, 30, 19, 21, 16, 16, 148, 20, 16, 51, 49, 48, 144, 93, 3, 223, 255, 255, 0, 17, 0, 0, 4, 61, 5, 176, 6, 38, 0, 7, 0, 0, 0, 7, 2, 106, 254, 220, 254, 127, 0, 1, 0, 105, 0, 0, 4, 118, 5, 196, 0, 59, 0, 0, 65, 53, 33, 39, 33, 53, 33, 39, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 35, 21, 51, 23, 35, 21, 51, 23, 20, 6, 7, 6, 6, 7, 35, 21, 33, 55, 33, 54, 54, 55, 54, 54, 53, 39, 3, 34, 254, 167, 4, 1, 93, 254, 159, 6, 37, 32, 32, 89, 51, 48, 87, 34, 33, 40, 185, 56, 52, 53, 152, 96, 96, 163, 59, 60, 66, 6, 159, 163, 5, 168, 172, 3, 9, 11, 11, 36, 27, 75, 4, 6, 1, 253, 30, 14, 22, 7, 9, 8, 3, 1, 215, 122, 138, 123, 185, 67, 107, 37, 36, 39, 27, 28, 29, 89, 63, 87, 142, 51, 51, 56, 60, 56, 57, 162, 102, 185, 123, 138, 122, 71, 32, 81, 36, 37, 56, 7, 151, 151, 22, 52, 29, 34, 75, 37, 71, 0, 0, 2, 0, 127, 255, 236, 4, 179, 5, 176, 0, 45, 0, 60, 0, 0, 65, 53, 35, 17, 35, 17, 35, 38, 38, 39, 38, 38, 35, 35, 17, 51, 17, 51, 50, 54, 55, 54, 54, 55, 51, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 5, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 4, 158, 176, 185, 89, 8, 54, 44, 44, 123, 78, 254, 185, 69, 78, 123, 45, 44, 53, 8, 89, 35, 32, 31, 86, 52, 42, 81, 23, 25, 12, 43, 20, 21, 36, 12, 13, 15, 253, 74, 69, 45, 65, 20, 20, 19, 19, 20, 21, 64, 45, 3, 171, 143, 1, 6, 254, 250, 82, 137, 50, 49, 56, 250, 80, 2, 53, 55, 50, 49, 138, 82, 253, 125, 83, 120, 38, 39, 36, 22, 17, 132, 4, 10, 17, 19, 18, 60, 44, 2, 132, 223, 2, 76, 50, 41, 42, 107, 56, 56, 104, 41, 41, 50, 0, 0, 2, 0, 103, 255, 229, 4, 146, 4, 56, 0, 35, 0, 59, 0, 0, 101, 23, 55, 39, 54, 54, 53, 52, 38, 39, 55, 39, 7, 38, 38, 35, 34, 6, 7, 39, 7, 23, 6, 6, 21, 20, 22, 23, 7, 23, 55, 22, 22, 51, 50, 54, 1, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 3, 163, 107, 132, 116, 36, 40, 44, 40, 124, 132, 120, 60, 144, 80, 80, 143, 60, 117, 131, 120, 42, 44, 40, 38, 112, 131, 104, 62, 149, 85, 85, 150, 253, 208, 50, 44, 43, 119, 69, 69, 118, 44, 43, 49, 49, 43, 44, 118, 69, 69, 119, 43, 44, 50, 84, 111, 136, 119, 62, 145, 80, 85, 152, 64, 128, 136, 125, 45, 49, 48, 44, 122, 135, 124, 65, 154, 86, 81, 147, 63, 115, 135, 108, 48, 54, 54, 1, 225, 74, 132, 50, 49, 58, 58, 49, 50, 132, 74, 74, 132, 49, 50, 59, 59, 50, 49, 132, 0, 2, 1, 230, 255, 245, 2, 204, 5, 176, 0, 3, 0, 15, 0, 0, 65, 17, 35, 17, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 2, 178, 186, 18, 57, 57, 57, 59, 59, 57, 57, 57, 1, 215, 3, 217, 252, 39, 254, 138, 46, 62, 62, 46, 48, 64, 64, 0, 0, 2, 1, 242, 254, 140, 2, 216, 4, 79, 0, 3, 0, 15, 0, 0, 65, 17, 51, 17, 19, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 2, 10, 185, 21, 59, 56, 57, 58, 58, 57, 56, 59, 2, 99, 252, 41, 3, 215, 1, 123, 48, 65, 65, 48, 46, 63, 63, 0, 0, 2, 0, 191, 255, 245, 4, 27, 5, 196, 0, 49, 0, 61, 0, 0, 65, 51, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 255, 185, 4, 8, 8, 33, 30, 47, 97, 39, 39, 50, 58, 55, 55, 159, 101, 91, 157, 57, 58, 68, 1, 185, 42, 35, 34, 89, 47, 61, 94, 31, 28, 29, 38, 29, 30, 71, 34, 50, 60, 16, 16, 10, 22, 57, 57, 57, 59, 59, 57, 57, 57, 1, 154, 39, 61, 27, 27, 52, 29, 42, 98, 57, 56, 127, 72, 90, 140, 49, 49, 51, 49, 46, 47, 134, 84, 52, 75, 25, 24, 23, 32, 31, 28, 81, 52, 50, 90, 40, 41, 74, 35, 46, 67, 36, 37, 93, 254, 127, 46, 62, 62, 46, 48, 64, 64, 0, 2, 0, 204, 254, 120, 4, 0, 4, 77, 0, 49, 0, 61, 0, 0, 65, 35, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 2, 212, 185, 3, 7, 8, 32, 29, 45, 91, 36, 37, 47, 55, 53, 52, 153, 97, 87, 149, 55, 55, 63, 1, 185, 38, 31, 32, 81, 43, 56, 87, 28, 27, 27, 35, 28, 27, 66, 31, 49, 59, 15, 15, 9, 214, 58, 57, 57, 58, 58, 57, 57, 58, 2, 161, 39, 60, 26, 27, 50, 29, 43, 99, 56, 57, 128, 72, 90, 140, 49, 49, 51, 49, 47, 46, 134, 84, 52, 75, 24, 25, 23, 31, 30, 28, 82, 53, 51, 90, 41, 41, 75, 35, 45, 67, 36, 36, 92, 1, 130, 46, 63, 63, 46, 48, 65, 65, 0, 1, 1, 98, 254, 176, 2, 131, 0, 219, 0, 9, 0, 0, 101, 53, 35, 21, 20, 6, 7, 23, 54, 54, 2, 131, 201, 40, 48, 115, 80, 94, 43, 176, 179, 85, 158, 70, 63, 71, 208, 0, 0, 1, 1, 240, 255, 237, 3, 20, 1, 7, 0, 11, 0, 0, 101, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 240, 73, 72, 71, 76, 75, 72, 73, 72, 120, 58, 81, 80, 59, 60, 83, 84, 255, 255, 2, 34, 255, 237, 3, 70, 4, 115, 4, 38, 0, 96, 50, 0, 0, 7, 0, 96, 0, 50, 3, 108, 255, 255, 1, 230, 254, 176, 3, 61, 4, 115, 4, 39, 0, 96, 0, 41, 3, 108, 0, 7, 0, 95, 0, 132, 0, 0, 255, 255, 1, 9, 255, 237, 5, 38, 1, 7, 4, 39, 0, 96, 255, 25, 0, 0, 0, 39, 0, 96, 0, 156, 0, 0, 0, 7, 0, 96, 2, 18, 0, 0, 0, 1, 1, 248, 2, 107, 2, 222, 3, 73, 0, 11, 0, 0, 65, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 248, 58, 57, 56, 59, 59, 56, 57, 58, 2, 217, 47, 63, 63, 47, 48, 64, 64, 0, 0, 1, 1, 154, 2, 23, 3, 49, 3, 220, 0, 25, 0, 0, 65, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 154, 29, 27, 26, 75, 47, 47, 75, 27, 26, 28, 28, 26, 27, 76, 47, 47, 75, 26, 26, 29, 3, 22, 58, 43, 72, 26, 27, 29, 29, 27, 26, 72, 43, 58, 43, 73, 26, 26, 30, 30, 26, 26, 73, 0, 0, 1, 0, 155, 255, 105, 4, 48, 0, 0, 0, 3, 0, 0, 69, 53, 33, 21, 4, 48, 252, 107, 151, 151, 151, 0, 0, 1, 0, 218, 2, 49, 3, 215, 2, 201, 0, 3, 0, 0, 65, 53, 33, 21, 3, 215, 253, 3, 2, 49, 152, 152, 0, 1, 0, 74, 2, 139, 4, 135, 3, 34, 0, 3, 0, 0, 65, 53, 33, 21, 4, 135, 251, 195, 2, 139, 151, 151, 0, 1, 0, 79, 2, 139, 4, 140, 3, 34, 0, 3, 0, 0, 65, 53, 33, 21, 4, 140, 251, 195, 2, 139, 151, 151, 0, 1, 1, 238, 4, 33, 2, 141, 6, 0, 0, 5, 0, 0, 65, 53, 35, 21, 3, 51, 2, 141, 158, 1, 138, 5, 145, 111, 127, 254, 160, 0, 0, 2, 1, 98, 4, 33, 3, 95, 6, 0, 0, 5, 0, 11, 0, 0, 65, 53, 35, 21, 3, 51, 1, 55, 35, 21, 3, 51, 1, 249, 150, 1, 130, 1, 122, 1, 150, 1, 129, 5, 147, 109, 125, 254, 158, 1, 114, 109, 125, 254, 158, 0, 0, 1, 1, 236, 4, 15, 2, 255, 6, 29, 0, 12, 0, 0, 65, 21, 51, 53, 52, 54, 55, 39, 6, 6, 7, 6, 6, 1, 236, 181, 47, 47, 101, 42, 64, 22, 23, 23, 4, 161, 146, 149, 86, 148, 71, 72, 36, 92, 50, 51, 104, 0, 0, 1, 1, 205, 4, 7, 2, 224, 6, 22, 0, 12, 0, 0, 65, 53, 35, 21, 20, 6, 7, 23, 54, 54, 55, 54, 54, 2, 224, 181, 47, 47, 101, 42, 64, 23, 22, 23, 5, 131, 147, 150, 86, 148, 71, 72, 36, 92, 51, 50, 104, 0, 0, 1, 1, 188, 254, 209, 2, 211, 0, 225, 0, 12, 0, 0, 101, 53, 35, 21, 20, 6, 7, 23, 54, 54, 55, 54, 54, 2, 211, 185, 47, 47, 105, 42, 64, 23, 22, 23, 76, 149, 151, 86, 148, 70, 73, 36, 93, 50, 50, 103, 255, 255, 1, 73, 4, 15, 3, 161, 6, 29, 4, 39, 0, 108, 255, 93, 0, 0, 0, 7, 0, 108, 0, 162, 0, 0, 255, 255, 1, 45, 4, 7, 3, 140, 6, 22, 4, 39, 0, 109, 255, 96, 0, 0, 0, 7, 0, 109, 0, 172, 0, 0, 0, 2, 1, 47, 254, 207, 3, 104, 0, 223, 0, 12, 0, 25, 0, 0, 101, 53, 35, 21, 20, 6, 7, 23, 54, 54, 55, 54, 54, 37, 53, 35, 21, 20, 6, 7, 23, 54, 54, 55, 54, 54, 2, 70, 185, 47, 47, 105, 42, 64, 23, 22, 23, 1, 34, 185, 47, 47, 105, 42, 64, 23, 22, 23, 75, 148, 151, 86, 148, 70, 73, 36, 93, 50, 50, 104, 47, 148, 151, 86, 148, 70, 73, 36, 93, 50, 50, 104, 255, 255, 1, 238, 4, 33, 2, 141, 6, 0, 6, 6, 0, 106, 0, 0, 255, 255, 1, 98, 4, 33, 3, 95, 6, 0, 6, 6, 0, 107, 0, 0, 0, 1, 1, 101, 254, 42, 3, 117, 6, 107, 0, 39, 0, 0, 65, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 7, 6, 6, 1, 101, 45, 38, 37, 99, 55, 54, 111, 50, 39, 41, 81, 38, 37, 68, 26, 24, 28, 30, 27, 28, 84, 46, 31, 65, 32, 39, 50, 110, 54, 55, 99, 38, 38, 45, 2, 79, 10, 143, 252, 107, 108, 177, 69, 70, 97, 28, 113, 33, 93, 60, 63, 159, 93, 92, 218, 125, 14, 130, 226, 94, 104, 175, 65, 42, 68, 24, 122, 28, 98, 69, 69, 178, 107, 108, 252, 0, 0, 1, 1, 64, 254, 42, 3, 81, 6, 107, 0, 39, 0, 0, 65, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 54, 3, 81, 47, 36, 37, 98, 56, 54, 112, 50, 39, 33, 70, 33, 43, 82, 29, 20, 33, 25, 23, 22, 69, 37, 39, 86, 42, 39, 50, 111, 55, 54, 99, 38, 38, 45, 2, 69, 10, 153, 245, 105, 109, 174, 71, 69, 98, 28, 113, 27, 77, 51, 65, 175, 110, 77, 220, 135, 14, 119, 209, 90, 97, 163, 65, 64, 98, 31, 113, 28, 97, 70, 69, 177, 108, 107, 252, 0, 0, 1, 1, 170, 254, 200, 3, 54, 6, 128, 0, 7, 0, 0, 65, 53, 33, 17, 33, 53, 35, 17, 3, 54, 254, 116, 1, 140, 221, 5, 232, 152, 248, 72, 152, 6, 136, 0, 0, 1, 1, 149, 254, 200, 3, 34, 6, 128, 0, 7, 0, 0, 65, 21, 51, 17, 35, 21, 33, 17, 1, 149, 222, 222, 1, 141, 6, 128, 152, 249, 120, 152, 7, 184, 0, 1, 1, 67, 254, 146, 3, 231, 6, 61, 0, 42, 0, 0, 65, 55, 38, 38, 39, 38, 38, 53, 53, 38, 38, 39, 54, 54, 53, 53, 52, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 21, 21, 20, 6, 35, 21, 22, 22, 21, 21, 20, 22, 23, 22, 22, 3, 210, 21, 62, 81, 24, 25, 20, 1, 110, 116, 116, 111, 12, 22, 21, 85, 72, 21, 101, 142, 44, 47, 43, 137, 141, 141, 137, 46, 45, 47, 142, 254, 146, 115, 2, 64, 50, 49, 123, 62, 169, 119, 181, 46, 47, 181, 120, 170, 61, 124, 50, 49, 64, 2, 115, 3, 81, 64, 67, 169, 81, 170, 145, 129, 145, 1, 130, 144, 169, 80, 163, 66, 69, 84, 0, 1, 1, 67, 254, 146, 3, 231, 6, 61, 0, 54, 0, 0, 69, 23, 54, 54, 55, 54, 54, 53, 53, 52, 54, 55, 54, 54, 55, 53, 34, 38, 39, 38, 38, 53, 53, 52, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 21, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 21, 20, 6, 7, 6, 6, 1, 67, 21, 98, 142, 47, 46, 44, 32, 33, 34, 107, 72, 82, 117, 33, 23, 23, 45, 51, 45, 139, 97, 20, 72, 84, 22, 21, 13, 46, 48, 25, 67, 40, 39, 65, 26, 49, 47, 21, 24, 25, 82, 251, 115, 2, 86, 67, 67, 163, 80, 169, 70, 102, 34, 35, 33, 1, 145, 43, 47, 33, 91, 60, 170, 84, 172, 69, 61, 76, 3, 115, 2, 64, 49, 50, 124, 61, 170, 78, 133, 50, 27, 44, 16, 16, 42, 26, 49, 134, 79, 169, 62, 123, 49, 50, 64, 0, 1, 1, 140, 0, 153, 3, 64, 3, 181, 0, 6, 0, 0, 65, 1, 35, 1, 21, 1, 51, 2, 62, 1, 2, 141, 254, 217, 1, 39, 141, 2, 38, 1, 143, 254, 123, 19, 254, 124, 0, 1, 1, 140, 0, 152, 3, 64, 3, 181, 0, 6, 0, 0, 65, 35, 1, 1, 51, 1, 53, 2, 26, 142, 1, 2, 254, 254, 142, 1, 38, 3, 181, 254, 113, 254, 114, 1, 133, 19, 0, 1, 0, 119, 0, 146, 4, 93, 4, 182, 0, 11, 0, 0, 65, 17, 35, 17, 33, 21, 33, 17, 51, 17, 33, 53, 2, 198, 185, 254, 106, 1, 150, 185, 1, 151, 3, 13, 1, 169, 254, 87, 184, 254, 61, 1, 195, 184, 0, 1, 0, 169, 2, 139, 3, 236, 3, 34, 0, 3, 0, 0, 65, 53, 33, 21, 3, 236, 252, 189, 2, 139, 151, 151, 0, 2, 0, 156, 0, 1, 4, 48, 4, 243, 0, 11, 0, 15, 0, 0, 65, 17, 35, 17, 33, 21, 33, 17, 51, 17, 33, 53, 3, 53, 33, 21, 2, 197, 168, 254, 127, 1, 129, 168, 1, 107, 42, 252, 189, 3, 87, 1, 156, 254, 100, 152, 254, 98, 1, 158, 152, 252, 170, 151, 151, 0, 0, 1, 0, 181, 0, 206, 4, 58, 4, 99, 0, 11, 0, 0, 83, 23, 1, 1, 55, 1, 1, 39, 1, 1, 7, 1, 181, 119, 1, 75, 1, 76, 119, 254, 181, 1, 72, 119, 254, 183, 254, 184, 119, 1, 71, 1, 73, 123, 1, 81, 254, 175, 123, 1, 81, 1, 78, 123, 254, 177, 1, 79, 123, 254, 178, 0, 0, 3, 0, 115, 0, 177, 4, 89, 4, 180, 0, 3, 0, 15, 0, 27, 0, 0, 65, 53, 33, 21, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 4, 89, 252, 26, 1, 136, 55, 54, 54, 56, 56, 54, 54, 55, 2, 55, 54, 54, 56, 56, 54, 54, 55, 2, 88, 184, 184, 1, 241, 45, 60, 60, 45, 45, 62, 62, 252, 164, 44, 61, 61, 44, 45, 62, 62, 0, 0, 2, 0, 173, 1, 109, 4, 42, 3, 173, 0, 3, 0, 7, 0, 0, 65, 53, 33, 21, 1, 53, 33, 21, 4, 42, 252, 131, 3, 125, 252, 131, 3, 12, 161, 161, 254, 97, 160, 160, 0, 1, 0, 169, 0, 181, 4, 38, 4, 65, 0, 19, 0, 0, 65, 53, 33, 55, 33, 53, 35, 55, 39, 7, 33, 21, 33, 7, 33, 21, 33, 7, 23, 55, 4, 38, 254, 76, 128, 1, 52, 228, 49, 77, 74, 253, 205, 1, 226, 128, 254, 158, 1, 17, 66, 78, 92, 1, 109, 160, 255, 161, 97, 51, 148, 161, 255, 160, 133, 51, 184, 0, 0, 2, 0, 141, 1, 20, 4, 62, 3, 255, 0, 25, 0, 51, 0, 0, 83, 23, 54, 54, 51, 50, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 35, 34, 6, 3, 23, 54, 54, 51, 50, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 35, 34, 6, 151, 10, 47, 122, 67, 56, 79, 67, 69, 126, 56, 66, 122, 48, 10, 47, 122, 67, 44, 100, 56, 68, 121, 63, 67, 122, 58, 10, 47, 122, 67, 57, 73, 81, 81, 106, 55, 66, 122, 48, 10, 47, 122, 67, 53, 109, 65, 73, 95, 57, 67, 122, 3, 105, 171, 68, 79, 24, 36, 37, 46, 79, 67, 171, 68, 78, 29, 32, 39, 42, 78, 254, 18, 171, 68, 78, 23, 40, 40, 39, 78, 68, 171, 68, 79, 39, 37, 42, 25, 79, 0, 1, 0, 170, 0, 196, 3, 250, 4, 75, 0, 8, 0, 0, 101, 53, 37, 39, 55, 37, 53, 1, 21, 3, 250, 253, 156, 53, 53, 2, 100, 252, 176, 196, 196, 236, 18, 17, 240, 196, 254, 134, 146, 0, 0, 1, 0, 178, 0, 197, 4, 37, 4, 76, 0, 8, 0, 0, 119, 1, 53, 1, 21, 5, 23, 7, 5, 178, 3, 115, 252, 141, 2, 135, 60, 60, 253, 121, 197, 1, 123, 146, 1, 122, 191, 240, 19, 17, 244, 0, 0, 2, 0, 187, 0, 9, 4, 13, 4, 153, 0, 8, 0, 12, 0, 0, 65, 53, 37, 39, 55, 37, 53, 1, 21, 1, 53, 33, 21, 4, 13, 253, 156, 53, 53, 2, 100, 252, 176, 3, 65, 252, 189, 1, 108, 177, 212, 16, 16, 216, 176, 254, 172, 131, 253, 71, 151, 151, 0, 2, 0, 194, 0, 7, 4, 53, 4, 173, 0, 8, 0, 12, 0, 0, 83, 1, 53, 1, 21, 5, 23, 7, 5, 1, 53, 33, 21, 194, 3, 115, 252, 141, 2, 135, 60, 60, 253, 121, 3, 68, 252, 189, 1, 128, 1, 85, 132, 1, 84, 172, 216, 17, 15, 220, 253, 218, 151, 151, 0, 1, 0, 189, 1, 119, 3, 251, 3, 32, 0, 5, 0, 0, 65, 17, 33, 21, 33, 17, 3, 251, 252, 194, 2, 133, 1, 119, 1, 169, 161, 254, 248, 0, 0, 1, 0, 252, 255, 131, 4, 1, 5, 176, 0, 3, 0, 0, 69, 1, 35, 1, 1, 162, 2, 95, 165, 253, 160, 125, 6, 45, 249, 211, 0, 1, 0, 231, 255, 131, 3, 238, 5, 176, 0, 3, 0, 0, 83, 1, 51, 1, 231, 2, 96, 167, 253, 160, 5, 176, 249, 211, 6, 45, 0, 1, 1, 43, 0, 213, 3, 158, 4, 209, 0, 3, 0, 0, 101, 1, 39, 1, 1, 156, 2, 2, 114, 253, 255, 213, 3, 186, 66, 252, 70, 0, 0, 5, 0, 44, 255, 235, 4, 158, 5, 197, 0, 25, 0, 51, 0, 77, 0, 103, 0, 107, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 5, 1, 39, 1, 44, 35, 34, 34, 101, 65, 65, 100, 34, 33, 35, 35, 33, 34, 101, 66, 65, 100, 33, 34, 35, 138, 14, 16, 15, 49, 35, 36, 49, 16, 15, 15, 15, 15, 15, 49, 35, 36, 49, 16, 16, 14, 1, 207, 35, 34, 34, 101, 66, 65, 99, 34, 34, 35, 35, 34, 34, 100, 66, 65, 100, 34, 34, 35, 138, 14, 16, 15, 49, 36, 35, 50, 16, 15, 14, 14, 15, 15, 49, 35, 36, 50, 15, 16, 15, 254, 127, 2, 55, 111, 253, 201, 4, 170, 77, 57, 102, 38, 39, 45, 45, 39, 38, 102, 57, 77, 57, 103, 39, 39, 45, 45, 39, 39, 103, 134, 77, 31, 59, 23, 22, 27, 27, 22, 23, 59, 31, 77, 31, 57, 22, 23, 27, 27, 23, 22, 57, 253, 20, 78, 57, 102, 38, 39, 45, 45, 39, 38, 102, 57, 78, 57, 102, 39, 39, 45, 45, 39, 39, 102, 135, 78, 31, 58, 23, 22, 27, 27, 22, 23, 58, 31, 78, 31, 58, 22, 23, 27, 27, 23, 22, 58, 41, 4, 13, 62, 251, 243, 0, 6, 0, 54, 255, 235, 4, 160, 5, 197, 0, 49, 0, 75, 0, 101, 0, 127, 0, 153, 0, 157, 0, 0, 65, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 37, 1, 39, 1, 1, 86, 31, 31, 31, 92, 61, 36, 62, 25, 15, 26, 11, 10, 23, 13, 27, 66, 39, 60, 91, 31, 30, 31, 31, 31, 31, 91, 61, 35, 60, 25, 16, 28, 12, 13, 32, 18, 24, 57, 33, 60, 91, 31, 31, 31, 254, 224, 32, 31, 31, 92, 60, 60, 90, 31, 30, 32, 31, 31, 31, 91, 61, 60, 91, 31, 31, 31, 1, 171, 11, 13, 12, 40, 29, 30, 40, 13, 12, 11, 11, 12, 12, 40, 29, 30, 41, 12, 13, 11, 254, 224, 11, 13, 12, 40, 29, 30, 40, 13, 12, 11, 11, 12, 13, 40, 28, 30, 40, 13, 13, 11, 2, 128, 11, 13, 12, 40, 30, 29, 41, 13, 12, 11, 11, 12, 12, 40, 29, 30, 41, 13, 13, 11, 253, 110, 3, 16, 68, 252, 240, 1, 47, 44, 56, 102, 38, 39, 45, 17, 15, 9, 22, 13, 11, 21, 8, 17, 19, 45, 39, 38, 102, 56, 44, 56, 101, 39, 38, 46, 16, 14, 10, 23, 14, 15, 25, 10, 13, 14, 46, 38, 39, 101, 3, 69, 44, 56, 101, 38, 38, 46, 46, 38, 38, 101, 56, 44, 56, 102, 39, 38, 46, 46, 38, 39, 102, 252, 31, 44, 30, 57, 23, 22, 28, 28, 22, 23, 57, 30, 44, 30, 58, 22, 23, 27, 27, 23, 22, 58, 3, 155, 44, 30, 57, 23, 22, 28, 28, 22, 23, 57, 30, 44, 30, 57, 22, 23, 27, 27, 23, 22, 57, 252, 161, 44, 30, 57, 23, 22, 28, 28, 22, 23, 57, 30, 44, 30, 58, 22, 23, 27, 27, 23, 22, 58, 218, 2, 129, 84, 253, 127, 0, 1, 2, 28, 254, 114, 2, 177, 5, 176, 0, 3, 0, 0, 65, 17, 35, 17, 2, 177, 149, 254, 114, 7, 62, 248, 194, 0, 0, 2, 1, 255, 254, 242, 2, 184, 5, 176, 0, 3, 0, 7, 0, 0, 65, 51, 17, 35, 55, 17, 35, 17, 1, 255, 185, 185, 185, 185, 254, 242, 3, 23, 177, 2, 246, 253, 10, 0, 0, 1, 0, 119, 0, 0, 4, 85, 5, 176, 0, 11, 0, 0, 65, 53, 33, 17, 35, 17, 33, 21, 33, 17, 51, 17, 4, 85, 254, 107, 185, 254, 112, 1, 144, 185, 3, 161, 153, 1, 118, 254, 138, 153, 252, 95, 3, 161, 0, 1, 0, 121, 254, 96, 4, 86, 5, 176, 0, 19, 0, 0, 97, 53, 33, 17, 33, 53, 33, 17, 35, 17, 33, 21, 33, 17, 33, 21, 33, 17, 51, 17, 4, 86, 254, 105, 1, 151, 254, 105, 185, 254, 115, 1, 141, 254, 115, 1, 141, 185, 151, 3, 10, 153, 1, 118, 254, 138, 153, 252, 246, 151, 254, 96, 1, 160, 0, 3, 0, 90, 255, 235, 4, 131, 4, 78, 0, 51, 0, 75, 0, 99, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 37, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 3, 94, 110, 16, 16, 16, 54, 37, 38, 57, 19, 19, 18, 18, 19, 19, 57, 38, 37, 54, 17, 16, 16, 110, 30, 28, 32, 97, 63, 62, 96, 33, 33, 36, 36, 33, 33, 96, 62, 62, 96, 32, 29, 30, 253, 83, 68, 60, 60, 163, 95, 94, 163, 60, 60, 68, 68, 60, 60, 163, 94, 95, 163, 60, 60, 68, 87, 82, 72, 71, 195, 113, 113, 194, 72, 71, 82, 82, 71, 72, 194, 113, 107, 194, 72, 73, 86, 1, 187, 35, 51, 17, 18, 17, 30, 26, 26, 70, 41, 88, 40, 71, 26, 25, 30, 17, 18, 17, 51, 34, 54, 84, 30, 33, 34, 44, 39, 39, 107, 62, 87, 63, 106, 38, 39, 44, 33, 32, 29, 86, 154, 97, 171, 64, 64, 73, 73, 64, 64, 171, 97, 98, 172, 64, 65, 75, 74, 65, 64, 173, 98, 117, 205, 76, 77, 88, 88, 77, 76, 205, 117, 117, 204, 76, 75, 88, 83, 74, 74, 207, 0, 4, 0, 87, 255, 235, 4, 128, 4, 77, 0, 23, 0, 47, 0, 61, 0, 73, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 37, 51, 23, 51, 3, 54, 54, 53, 52, 38, 35, 35, 17, 51, 17, 53, 51, 50, 22, 21, 20, 6, 7, 6, 6, 7, 87, 82, 72, 71, 195, 113, 113, 194, 72, 71, 82, 82, 71, 72, 194, 113, 113, 195, 71, 72, 82, 87, 68, 60, 60, 163, 95, 94, 163, 60, 60, 68, 68, 60, 60, 163, 94, 95, 163, 60, 60, 68, 1, 78, 125, 120, 110, 147, 66, 70, 131, 109, 211, 107, 104, 73, 60, 19, 15, 16, 44, 24, 2, 28, 117, 205, 75, 76, 88, 88, 76, 75, 205, 117, 117, 205, 76, 76, 87, 87, 76, 76, 205, 117, 98, 172, 64, 63, 73, 73, 63, 64, 172, 98, 98, 171, 64, 64, 74, 74, 64, 64, 171, 43, 253, 1, 31, 22, 78, 56, 97, 95, 253, 133, 1, 94, 188, 44, 55, 21, 32, 12, 11, 12, 1, 0, 0, 2, 0, 103, 3, 151, 4, 55, 5, 176, 0, 12, 0, 20, 0, 0, 65, 17, 51, 17, 35, 3, 3, 35, 17, 51, 17, 19, 51, 1, 53, 33, 21, 51, 17, 51, 17, 3, 221, 90, 112, 144, 143, 112, 90, 139, 52, 254, 152, 254, 126, 147, 91, 5, 33, 254, 118, 2, 25, 254, 113, 1, 143, 253, 231, 1, 137, 254, 119, 1, 200, 81, 81, 254, 56, 1, 200, 0, 0, 2, 1, 105, 3, 192, 3, 98, 5, 196, 0, 23, 0, 47, 0, 0, 65, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 105, 41, 35, 34, 93, 52, 51, 91, 34, 34, 40, 40, 34, 34, 91, 51, 52, 93, 34, 35, 41, 124, 21, 18, 17, 48, 27, 27, 46, 18, 17, 19, 19, 17, 18, 46, 27, 27, 48, 17, 18, 21, 4, 192, 54, 93, 34, 35, 40, 40, 35, 34, 94, 53, 53, 95, 36, 35, 41, 41, 35, 36, 95, 53, 28, 49, 18, 18, 20, 20, 18, 18, 49, 28, 27, 47, 17, 18, 19, 19, 18, 17, 47, 0, 1, 0, 160, 1, 217, 4, 96, 5, 176, 0, 14, 0, 0, 65, 1, 23, 19, 19, 55, 1, 37, 39, 5, 19, 35, 19, 37, 7, 2, 25, 254, 251, 146, 212, 214, 146, 255, 0, 1, 126, 54, 254, 149, 29, 178, 25, 254, 147, 54, 3, 147, 254, 185, 106, 1, 98, 254, 149, 110, 1, 68, 94, 178, 150, 1, 171, 254, 91, 151, 175, 0, 0, 2, 0, 61, 0, 0, 4, 153, 5, 176, 0, 27, 0, 31, 0, 0, 65, 3, 51, 19, 51, 53, 35, 19, 51, 53, 35, 19, 35, 3, 33, 19, 35, 3, 33, 21, 33, 3, 33, 21, 51, 3, 51, 19, 55, 19, 33, 3, 2, 195, 80, 143, 80, 252, 226, 69, 232, 205, 82, 143, 82, 254, 248, 82, 143, 82, 254, 227, 1, 2, 69, 254, 247, 239, 80, 143, 80, 26, 69, 1, 8, 69, 1, 154, 254, 102, 1, 154, 137, 1, 98, 139, 1, 160, 254, 96, 1, 160, 254, 96, 139, 254, 158, 137, 254, 102, 1, 154, 137, 1, 98, 254, 158, 0, 0, 3, 0, 107, 255, 236, 4, 169, 5, 197, 0, 54, 0, 74, 0, 99, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 23, 51, 39, 54, 54, 53, 35, 6, 6, 7, 1, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 1, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 55, 1, 6, 6, 7, 6, 6, 3, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 7, 38, 38, 39, 38, 38, 107, 61, 56, 56, 160, 99, 61, 115, 53, 32, 61, 28, 83, 221, 181, 70, 73, 167, 1, 40, 35, 254, 205, 94, 44, 76, 28, 27, 31, 44, 40, 41, 116, 71, 82, 132, 47, 47, 51, 17, 15, 19, 58, 37, 36, 49, 81, 31, 36, 40, 1, 176, 61, 92, 31, 31, 32, 11, 17, 16, 62, 50, 28, 1, 67, 24, 51, 27, 37, 80, 160, 22, 22, 21, 65, 43, 33, 52, 19, 18, 19, 9, 11, 11, 40, 31, 117, 25, 38, 12, 10, 10, 1, 117, 86, 145, 52, 52, 58, 26, 25, 15, 40, 24, 110, 237, 88, 219, 128, 88, 152, 64, 1, 147, 80, 33, 68, 38, 38, 87, 53, 62, 112, 43, 42, 50, 46, 44, 45, 131, 85, 40, 76, 37, 45, 93, 50, 26, 37, 76, 42, 50, 114, 254, 202, 38, 33, 33, 88, 51, 19, 57, 35, 34, 78, 41, 24, 254, 81, 20, 33, 12, 17, 18, 3, 230, 40, 71, 27, 27, 32, 27, 21, 22, 57, 30, 23, 48, 23, 24, 46, 21, 93, 36, 68, 33, 25, 51, 0, 2, 0, 64, 255, 248, 4, 139, 5, 178, 0, 94, 0, 117, 0, 0, 65, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 2, 7, 6, 18, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 19, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 5, 54, 54, 55, 54, 54, 51, 50, 22, 23, 3, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 4, 135, 4, 64, 64, 65, 190, 122, 125, 207, 76, 80, 95, 6, 5, 59, 67, 66, 211, 147, 32, 72, 35, 35, 64, 25, 32, 22, 54, 30, 30, 62, 30, 112, 165, 53, 53, 48, 5, 4, 74, 67, 63, 159, 97, 96, 150, 52, 51, 50, 4, 1, 20, 19, 19, 57, 37, 16, 28, 9, 10, 10, 3, 44, 26, 88, 67, 71, 118, 44, 45, 56, 9, 6, 17, 23, 22, 72, 49, 34, 62, 27, 22, 39, 16, 7, 22, 15, 21, 58, 36, 74, 102, 33, 32, 32, 253, 82, 8, 33, 27, 27, 79, 53, 15, 29, 14, 38, 1, 11, 26, 14, 23, 55, 30, 24, 35, 11, 11, 8, 3, 21, 151, 247, 88, 88, 95, 114, 100, 105, 254, 224, 160, 153, 254, 255, 93, 93, 103, 9, 10, 9, 28, 19, 117, 15, 24, 8, 9, 9, 77, 74, 73, 212, 136, 145, 243, 86, 80, 87, 74, 70, 70, 202, 127, 73, 130, 48, 49, 57, 10, 15, 14, 51, 41, 1, 248, 36, 53, 67, 62, 63, 179, 111, 78, 130, 47, 47, 52, 20, 18, 16, 42, 25, 24, 39, 15, 21, 22, 86, 68, 68, 167, 35, 82, 133, 47, 46, 51, 6, 7, 254, 77, 10, 24, 37, 14, 22, 20, 29, 28, 27, 81, 0, 0, 2, 0, 87, 254, 17, 4, 116, 5, 196, 0, 106, 0, 139, 0, 0, 65, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 7, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 1, 22, 22, 23, 22, 22, 23, 22, 22, 21, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 22, 22, 4, 116, 65, 61, 31, 74, 43, 43, 97, 54, 47, 79, 33, 36, 58, 21, 41, 34, 38, 39, 38, 113, 75, 73, 115, 39, 39, 41, 185, 69, 63, 64, 182, 114, 109, 180, 64, 64, 71, 30, 29, 16, 39, 23, 30, 53, 20, 38, 41, 66, 61, 33, 83, 47, 59, 140, 60, 63, 94, 32, 42, 38, 42, 39, 40, 112, 70, 60, 120, 48, 48, 60, 185, 90, 73, 73, 187, 98, 109, 179, 65, 64, 71, 25, 24, 17, 47, 29, 29, 51, 21, 41, 44, 253, 226, 52, 87, 36, 30, 50, 20, 43, 40, 1, 28, 26, 20, 55, 33, 37, 80, 44, 62, 100, 38, 85, 69, 26, 26, 19, 53, 33, 37, 81, 1, 175, 94, 133, 48, 24, 41, 18, 18, 32, 15, 13, 24, 12, 14, 28, 15, 28, 72, 52, 45, 78, 29, 28, 33, 44, 37, 38, 103, 58, 104, 161, 55, 54, 57, 51, 48, 48, 135, 84, 65, 102, 41, 21, 39, 17, 15, 36, 21, 40, 101, 61, 95, 134, 49, 27, 44, 19, 24, 39, 20, 21, 40, 22, 29, 70, 48, 47, 78, 28, 28, 32, 29, 34, 33, 107, 78, 2, 120, 165, 50, 51, 45, 49, 47, 47, 136, 88, 58, 94, 37, 28, 47, 20, 13, 34, 19, 40, 104, 1, 69, 16, 29, 15, 12, 26, 14, 30, 73, 48, 40, 67, 25, 20, 29, 9, 14, 24, 13, 17, 32, 17, 37, 88, 73, 41, 68, 26, 19, 27, 8, 14, 25, 0, 0, 1, 0, 211, 0, 0, 3, 208, 5, 176, 0, 16, 0, 0, 97, 51, 17, 33, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 51, 3, 22, 186, 254, 239, 118, 183, 63, 63, 65, 65, 63, 63, 183, 118, 87, 5, 176, 71, 62, 63, 171, 101, 102, 172, 62, 62, 70, 0, 0, 1, 0, 231, 2, 165, 3, 229, 5, 176, 0, 8, 0, 0, 83, 51, 19, 55, 23, 19, 51, 1, 35, 231, 172, 195, 15, 15, 198, 171, 254, 193, 127, 2, 165, 1, 230, 68, 68, 254, 26, 3, 11, 0, 0, 1, 0, 48, 1, 146, 4, 156, 3, 34, 0, 49, 0, 0, 65, 39, 20, 6, 7, 6, 6, 35, 6, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 156, 134, 26, 22, 23, 61, 35, 30, 56, 27, 23, 48, 26, 39, 75, 39, 39, 83, 46, 67, 110, 39, 40, 44, 134, 26, 22, 22, 61, 35, 23, 43, 21, 30, 61, 33, 40, 75, 39, 38, 81, 47, 67, 110, 40, 40, 44, 2, 228, 18, 38, 70, 26, 27, 32, 1, 15, 15, 12, 35, 22, 32, 52, 18, 18, 19, 53, 45, 45, 120, 66, 17, 38, 67, 25, 24, 29, 8, 9, 12, 41, 27, 34, 52, 18, 18, 18, 56, 47, 47, 122, 255, 255, 0, 81, 0, 0, 4, 144, 7, 32, 6, 38, 0, 2, 0, 0, 0, 7, 1, 91, 0, 133, 1, 87, 255, 255, 0, 81, 0, 0, 4, 144, 7, 74, 6, 38, 0, 2, 0, 0, 0, 7, 1, 95, 0, 15, 1, 152, 255, 255, 0, 81, 0, 0, 4, 144, 7, 72, 6, 38, 0, 2, 0, 0, 0, 7, 1, 92, 0, 135, 1, 91, 255, 255, 0, 81, 0, 0, 4, 144, 7, 32, 6, 38, 0, 2, 0, 0, 0, 7, 1, 97, 0, 15, 1, 91, 255, 255, 0, 81, 0, 0, 4, 144, 7, 35, 6, 38, 0, 2, 0, 0, 0, 7, 1, 90, 255, 153, 1, 90, 255, 255, 0, 81, 0, 0, 4, 144, 6, 250, 6, 38, 0, 2, 0, 0, 0, 7, 1, 94, 0, 19, 1, 74, 0, 2, 0, 81, 254, 79, 4, 144, 5, 176, 0, 35, 0, 38, 0, 0, 65, 35, 1, 51, 19, 33, 19, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 1, 19, 19, 2, 194, 155, 254, 42, 185, 117, 1, 230, 107, 30, 52, 20, 39, 48, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 29, 27, 22, 59, 35, 48, 253, 33, 195, 192, 5, 176, 250, 80, 1, 121, 254, 160, 18, 39, 24, 46, 94, 47, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 36, 67, 29, 24, 44, 19, 2, 26, 2, 120, 253, 136, 0, 255, 255, 0, 81, 0, 0, 4, 144, 7, 139, 6, 38, 0, 2, 0, 0, 0, 7, 1, 98, 0, 14, 1, 164, 255, 255, 0, 81, 0, 0, 4, 144, 8, 24, 6, 38, 0, 2, 0, 0, 0, 7, 2, 107, 255, 252, 1, 166, 255, 255, 0, 81, 0, 0, 4, 144, 7, 82, 6, 38, 0, 2, 0, 0, 0, 7, 1, 93, 0, 147, 1, 97, 255, 255, 0, 32, 0, 0, 4, 171, 7, 32, 6, 38, 0, 72, 0, 0, 0, 7, 1, 91, 0, 215, 1, 87, 255, 255, 0, 107, 255, 236, 4, 93, 7, 53, 6, 38, 0, 4, 0, 0, 0, 7, 1, 91, 0, 170, 1, 108, 255, 255, 0, 107, 255, 236, 4, 93, 7, 94, 6, 38, 0, 4, 0, 0, 0, 7, 1, 100, 0, 53, 1, 113, 255, 255, 0, 107, 254, 77, 4, 93, 5, 196, 6, 38, 0, 4, 0, 0, 0, 6, 1, 102, 54, 0, 255, 255, 0, 107, 255, 236, 4, 93, 7, 93, 6, 38, 0, 4, 0, 0, 0, 7, 1, 92, 0, 172, 1, 112, 255, 255, 0, 155, 0, 0, 4, 112, 7, 73, 6, 38, 0, 5, 0, 0, 0, 7, 1, 100, 255, 218, 1, 92, 0, 2, 255, 197, 0, 0, 4, 127, 5, 176, 0, 19, 0, 39, 0, 0, 115, 33, 54, 54, 55, 54, 54, 55, 53, 38, 38, 39, 38, 38, 39, 33, 17, 35, 21, 51, 33, 53, 35, 17, 51, 22, 22, 23, 22, 22, 23, 21, 6, 6, 7, 6, 6, 7, 35, 17, 170, 1, 81, 152, 239, 83, 82, 87, 1, 1, 87, 82, 83, 239, 152, 254, 175, 229, 229, 1, 152, 220, 149, 118, 172, 56, 56, 56, 1, 1, 55, 56, 57, 172, 118, 149, 1, 99, 89, 88, 247, 150, 107, 150, 247, 89, 88, 99, 2, 253, 129, 151, 151, 1, 231, 2, 80, 69, 70, 189, 111, 109, 111, 190, 70, 70, 81, 1, 2, 3, 255, 255, 0, 182, 0, 0, 4, 52, 7, 32, 6, 38, 0, 6, 0, 0, 0, 7, 1, 91, 0, 123, 1, 87, 255, 255, 0, 182, 0, 0, 4, 52, 7, 74, 6, 38, 0, 6, 0, 0, 0, 7, 1, 95, 0, 5, 1, 152, 255, 255, 0, 182, 0, 0, 4, 52, 7, 73, 6, 38, 0, 6, 0, 0, 0, 7, 1, 100, 0, 6, 1, 92, 255, 255, 0, 182, 0, 0, 4, 52, 7, 72, 6, 38, 0, 6, 0, 0, 0, 7, 1, 92, 0, 125, 1, 91, 255, 255, 0, 182, 0, 0, 4, 52, 7, 32, 6, 38, 0, 6, 0, 0, 0, 7, 1, 97, 0, 5, 1, 91, 255, 255, 0, 182, 0, 0, 4, 52, 7, 25, 6, 38, 0, 6, 0, 0, 0, 7, 1, 96, 0, 5, 1, 91, 255, 255, 0, 182, 0, 0, 4, 52, 7, 35, 6, 38, 0, 6, 0, 0, 0, 7, 1, 90, 255, 143, 1, 90, 255, 255, 0, 182, 0, 0, 4, 52, 6, 250, 6, 38, 0, 6, 0, 0, 0, 7, 1, 94, 0, 9, 1, 74, 0, 1, 0, 175, 254, 75, 4, 29, 5, 176, 0, 29, 0, 0, 65, 35, 17, 1, 39, 35, 17, 51, 17, 1, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 4, 28, 185, 254, 8, 3, 185, 185, 1, 251, 25, 24, 16, 41, 26, 18, 58, 20, 14, 29, 51, 30, 76, 118, 41, 40, 43, 5, 176, 251, 213, 4, 37, 6, 250, 80, 4, 45, 251, 213, 91, 53, 83, 26, 16, 18, 7, 6, 147, 10, 8, 47, 45, 45, 129, 82, 0, 1, 0, 182, 254, 79, 4, 52, 5, 176, 0, 40, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 53, 33, 17, 3, 207, 253, 160, 2, 188, 252, 139, 2, 117, 27, 47, 17, 30, 31, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 30, 27, 22, 58, 35, 84, 253, 59, 2, 161, 157, 1, 212, 158, 250, 80, 20, 44, 23, 37, 80, 39, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 36, 68, 29, 24, 43, 19, 157, 2, 4, 0, 2, 255, 197, 0, 0, 4, 127, 5, 176, 0, 19, 0, 39, 0, 0, 115, 33, 54, 54, 55, 54, 54, 55, 53, 38, 38, 39, 38, 38, 39, 33, 17, 35, 21, 51, 33, 53, 35, 17, 51, 22, 22, 23, 22, 22, 23, 21, 6, 6, 7, 6, 6, 7, 35, 17, 170, 1, 81, 152, 239, 83, 82, 87, 1, 1, 87, 82, 83, 239, 152, 254, 175, 229, 229, 1, 152, 220, 149, 118, 172, 56, 56, 56, 1, 1, 55, 56, 57, 172, 118, 149, 1, 99, 89, 88, 247, 150, 107, 150, 247, 89, 88, 99, 2, 253, 129, 151, 151, 1, 231, 2, 80, 69, 70, 189, 111, 109, 111, 190, 70, 70, 81, 1, 2, 3, 255, 255, 0, 100, 255, 235, 4, 92, 7, 95, 6, 38, 0, 8, 0, 0, 0, 7, 1, 95, 0, 25, 1, 173, 255, 255, 0, 100, 255, 235, 4, 92, 7, 93, 6, 38, 0, 8, 0, 0, 0, 7, 1, 92, 0, 145, 1, 112, 255, 255, 0, 100, 254, 37, 4, 92, 5, 196, 6, 38, 0, 8, 0, 0, 0, 7, 1, 104, 0, 177, 254, 207, 0, 2, 0, 24, 0, 0, 4, 188, 5, 176, 0, 19, 0, 23, 0, 0, 65, 17, 35, 17, 33, 17, 35, 17, 35, 21, 51, 17, 51, 17, 33, 17, 51, 17, 51, 53, 1, 53, 33, 21, 4, 60, 175, 253, 171, 174, 114, 114, 174, 2, 85, 175, 128, 252, 124, 2, 85, 4, 143, 1, 33, 254, 223, 1, 33, 254, 223, 143, 252, 0, 2, 161, 253, 95, 4, 0, 143, 254, 175, 194, 194, 0, 255, 255, 0, 141, 0, 0, 4, 63, 7, 72, 6, 38, 0, 9, 0, 0, 0, 7, 1, 92, 0, 113, 1, 91, 255, 255, 0, 174, 0, 0, 4, 30, 7, 32, 6, 38, 0, 10, 0, 0, 0, 7, 1, 91, 0, 71, 1, 87, 255, 255, 0, 174, 0, 0, 4, 30, 7, 74, 6, 38, 0, 10, 0, 0, 0, 7, 1, 95, 255, 210, 1, 152, 255, 255, 0, 174, 0, 0, 4, 30, 7, 72, 6, 38, 0, 10, 0, 0, 0, 7, 1, 92, 0, 73, 1, 91, 255, 255, 0, 174, 0, 0, 4, 30, 7, 32, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 255, 210, 1, 91, 255, 255, 0, 174, 0, 0, 4, 30, 7, 25, 6, 38, 0, 10, 0, 0, 0, 7, 1, 96, 255, 210, 1, 91, 255, 255, 0, 174, 0, 0, 4, 30, 7, 35, 6, 38, 0, 10, 0, 0, 0, 7, 1, 90, 255, 91, 1, 90, 255, 255, 0, 174, 0, 0, 4, 30, 6, 250, 6, 38, 0, 10, 0, 0, 0, 7, 1, 94, 255, 214, 1, 74, 0, 1, 0, 174, 254, 79, 4, 30, 5, 176, 0, 40, 0, 0, 83, 21, 33, 17, 33, 21, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 33, 53, 33, 17, 33, 53, 174, 1, 85, 254, 171, 1, 151, 25, 42, 17, 33, 35, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 31, 29, 21, 57, 34, 1, 36, 254, 163, 1, 93, 5, 176, 161, 251, 145, 160, 18, 39, 21, 39, 85, 41, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 37, 69, 30, 23, 42, 18, 160, 4, 111, 161, 0, 255, 255, 0, 174, 0, 0, 4, 30, 7, 82, 6, 38, 0, 10, 0, 0, 0, 7, 1, 93, 0, 85, 1, 97, 255, 255, 0, 98, 255, 236, 4, 223, 7, 59, 6, 38, 0, 11, 0, 0, 0, 7, 1, 92, 1, 193, 1, 78, 255, 255, 0, 172, 254, 62, 4, 164, 5, 176, 6, 38, 0, 12, 0, 0, 0, 7, 1, 104, 0, 182, 254, 232, 255, 255, 0, 198, 0, 0, 4, 71, 7, 0, 6, 38, 0, 13, 0, 0, 0, 7, 1, 91, 255, 54, 1, 55, 255, 255, 0, 198, 0, 0, 4, 71, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 0, 109, 0, 242, 255, 154, 255, 255, 0, 198, 254, 56, 4, 71, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 1, 104, 0, 183, 254, 226, 255, 255, 0, 198, 0, 0, 4, 71, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 1, 96, 0, 116, 253, 197, 0, 1, 0, 58, 0, 0, 4, 75, 5, 176, 0, 13, 0, 0, 65, 17, 35, 17, 7, 21, 55, 17, 33, 53, 33, 17, 37, 53, 1, 131, 185, 144, 144, 3, 129, 253, 56, 1, 6, 3, 77, 2, 99, 253, 98, 45, 162, 45, 253, 144, 157, 2, 14, 83, 162, 0, 255, 255, 0, 143, 0, 0, 4, 62, 7, 32, 6, 38, 0, 15, 0, 0, 0, 7, 1, 91, 0, 94, 1, 87, 255, 255, 0, 143, 0, 0, 4, 62, 7, 73, 6, 38, 0, 15, 0, 0, 0, 7, 1, 100, 255, 234, 1, 92, 255, 255, 0, 143, 254, 56, 4, 62, 5, 176, 6, 38, 0, 15, 0, 0, 0, 7, 1, 104, 0, 132, 254, 226, 255, 255, 0, 143, 0, 0, 4, 62, 7, 82, 6, 38, 0, 15, 0, 0, 0, 7, 1, 93, 0, 108, 1, 97, 255, 255, 0, 106, 255, 236, 4, 97, 7, 53, 6, 38, 0, 16, 0, 0, 0, 7, 1, 91, 0, 137, 1, 108, 255, 255, 0, 106, 255, 236, 4, 97, 7, 95, 6, 38, 0, 16, 0, 0, 0, 7, 1, 95, 0, 19, 1, 173, 255, 255, 0, 106, 255, 236, 4, 97, 7, 93, 6, 38, 0, 16, 0, 0, 0, 7, 1, 92, 0, 139, 1, 112, 255, 255, 0, 106, 255, 236, 4, 97, 7, 53, 6, 38, 0, 16, 0, 0, 0, 7, 1, 97, 0, 19, 1, 112, 255, 255, 0, 106, 255, 236, 4, 97, 7, 56, 6, 38, 0, 16, 0, 0, 0, 7, 1, 90, 255, 157, 1, 111, 0, 2, 0, 99, 255, 236, 4, 198, 5, 250, 0, 41, 0, 67, 0, 0, 65, 53, 38, 38, 39, 54, 54, 55, 54, 54, 39, 35, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 2, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 21, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 90, 2, 40, 44, 40, 66, 24, 31, 33, 1, 167, 1, 14, 14, 13, 38, 25, 29, 67, 39, 44, 104, 60, 113, 170, 62, 80, 82, 62, 59, 60, 193, 135, 133, 187, 64, 62, 58, 181, 2, 33, 39, 37, 124, 88, 88, 120, 35, 45, 39, 44, 57, 36, 111, 77, 79, 118, 38, 48, 42, 2, 132, 166, 100, 202, 88, 15, 49, 32, 44, 118, 72, 44, 73, 27, 24, 33, 8, 33, 55, 20, 23, 24, 85, 73, 94, 254, 237, 139, 166, 117, 235, 95, 97, 120, 115, 95, 91, 245, 1, 30, 168, 84, 191, 72, 69, 85, 82, 62, 78, 194, 85, 168, 91, 212, 79, 53, 64, 73, 58, 73, 197, 0, 255, 255, 0, 106, 255, 236, 4, 111, 7, 95, 6, 38, 0, 16, 0, 0, 0, 7, 1, 99, 0, 153, 1, 112, 255, 255, 0, 106, 255, 236, 4, 97, 7, 15, 6, 38, 0, 16, 0, 0, 0, 7, 1, 94, 0, 23, 1, 95, 0, 3, 0, 71, 255, 163, 4, 140, 5, 236, 0, 37, 0, 57, 0, 71, 0, 0, 65, 55, 54, 38, 39, 19, 35, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 21, 20, 22, 23, 22, 22, 23, 3, 51, 55, 22, 22, 51, 50, 54, 55, 54, 54, 37, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 1, 38, 38, 39, 38, 38, 37, 21, 6, 6, 7, 6, 6, 35, 34, 38, 39, 1, 22, 22, 4, 88, 1, 1, 55, 56, 161, 142, 99, 24, 55, 31, 44, 104, 60, 130, 188, 59, 67, 61, 2, 16, 17, 16, 50, 34, 160, 142, 104, 57, 142, 91, 124, 184, 61, 70, 66, 252, 192, 35, 41, 37, 121, 91, 42, 70, 29, 26, 42, 17, 254, 14, 11, 17, 6, 10, 9, 2, 138, 2, 37, 60, 38, 109, 77, 66, 100, 37, 1, 235, 19, 15, 2, 132, 166, 111, 228, 95, 1, 16, 168, 24, 41, 16, 22, 25, 113, 88, 94, 249, 122, 166, 61, 125, 60, 60, 112, 49, 254, 242, 176, 48, 55, 106, 85, 96, 253, 124, 168, 80, 187, 77, 64, 91, 19, 18, 15, 41, 25, 252, 181, 26, 57, 28, 46, 94, 211, 168, 95, 207, 83, 52, 64, 47, 41, 3, 62, 62, 129, 0, 255, 255, 0, 71, 255, 163, 4, 140, 7, 94, 6, 38, 0, 219, 0, 0, 0, 7, 1, 91, 0, 123, 1, 149, 255, 255, 0, 106, 255, 236, 4, 97, 7, 103, 6, 38, 0, 16, 0, 0, 0, 7, 1, 93, 0, 151, 1, 118, 255, 255, 0, 181, 0, 0, 4, 114, 7, 20, 6, 38, 0, 19, 0, 0, 0, 7, 1, 91, 0, 120, 1, 75, 255, 255, 0, 181, 0, 0, 4, 114, 7, 61, 6, 38, 0, 19, 0, 0, 0, 7, 1, 100, 0, 3, 1, 80, 255, 255, 0, 181, 254, 56, 4, 114, 5, 176, 6, 38, 0, 19, 0, 0, 0, 7, 1, 104, 0, 156, 254, 226, 255, 255, 0, 118, 255, 236, 4, 105, 7, 53, 6, 38, 0, 20, 0, 0, 0, 7, 1, 91, 0, 130, 1, 108, 255, 255, 0, 118, 255, 236, 4, 105, 7, 94, 6, 38, 0, 20, 0, 0, 0, 7, 1, 100, 0, 13, 1, 113, 255, 255, 0, 118, 254, 68, 4, 105, 5, 196, 6, 38, 0, 20, 0, 0, 0, 6, 1, 102, 81, 247, 255, 255, 0, 118, 255, 236, 4, 105, 7, 93, 6, 38, 0, 20, 0, 0, 0, 7, 1, 92, 0, 132, 1, 112, 0, 1, 0, 76, 0, 0, 4, 132, 5, 176, 0, 15, 0, 0, 65, 53, 35, 17, 33, 53, 33, 21, 33, 17, 35, 21, 51, 17, 51, 17, 3, 173, 235, 1, 194, 251, 200, 1, 194, 222, 222, 180, 3, 55, 151, 1, 68, 158, 158, 254, 188, 151, 252, 201, 3, 55, 255, 255, 0, 76, 0, 0, 4, 132, 7, 61, 6, 38, 0, 21, 0, 0, 0, 7, 1, 100, 0, 13, 1, 80, 255, 255, 0, 139, 255, 236, 4, 66, 7, 20, 6, 38, 0, 22, 0, 0, 0, 7, 1, 91, 0, 163, 1, 75, 255, 255, 0, 139, 255, 236, 4, 66, 7, 62, 6, 38, 0, 22, 0, 0, 0, 7, 1, 95, 0, 45, 1, 140, 255, 255, 0, 139, 255, 236, 4, 66, 7, 60, 6, 38, 0, 22, 0, 0, 0, 7, 1, 92, 0, 165, 1, 79, 255, 255, 0, 139, 255, 236, 4, 66, 7, 20, 6, 38, 0, 22, 0, 0, 0, 7, 1, 97, 0, 45, 1, 79, 255, 255, 0, 139, 255, 236, 4, 66, 7, 23, 6, 38, 0, 22, 0, 0, 0, 7, 1, 90, 255, 183, 1, 78, 0, 1, 0, 139, 255, 236, 5, 131, 5, 232, 0, 43, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 3, 35, 3, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 3, 54, 54, 55, 54, 54, 53, 35, 20, 6, 7, 6, 6, 7, 4, 64, 179, 3, 2, 38, 36, 37, 108, 71, 71, 109, 36, 37, 39, 1, 4, 176, 2, 1, 70, 62, 62, 174, 106, 104, 174, 63, 63, 72, 1, 80, 120, 39, 42, 41, 167, 15, 18, 18, 60, 45, 5, 176, 252, 38, 65, 120, 46, 47, 55, 56, 46, 46, 120, 65, 3, 218, 252, 38, 102, 179, 66, 67, 76, 77, 67, 66, 178, 102, 2, 154, 5, 49, 43, 47, 139, 93, 56, 85, 29, 30, 34, 6, 255, 255, 0, 139, 255, 236, 4, 137, 7, 62, 6, 38, 0, 22, 0, 0, 0, 7, 1, 99, 0, 179, 1, 79, 255, 255, 0, 139, 255, 236, 4, 66, 6, 238, 6, 38, 0, 22, 0, 0, 0, 7, 1, 94, 0, 49, 1, 62, 0, 1, 0, 139, 254, 126, 4, 66, 5, 176, 0, 60, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 3, 35, 3, 22, 22, 23, 22, 22, 23, 50, 50, 51, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 4, 64, 179, 3, 2, 38, 36, 37, 108, 71, 71, 109, 36, 37, 39, 1, 4, 176, 2, 1, 68, 61, 59, 166, 103, 1, 3, 1, 14, 24, 9, 15, 16, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 14, 13, 18, 54, 35, 61, 100, 35, 35, 40, 5, 176, 252, 38, 65, 120, 46, 47, 55, 56, 46, 46, 120, 65, 3, 218, 252, 38, 101, 176, 66, 65, 78, 3, 16, 32, 17, 27, 57, 28, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 25, 48, 22, 28, 51, 23, 29, 90, 58, 58, 136, 74, 0, 255, 255, 0, 139, 255, 236, 4, 66, 7, 127, 6, 38, 0, 22, 0, 0, 0, 7, 1, 98, 0, 44, 1, 152, 255, 255, 0, 139, 255, 236, 4, 66, 7, 70, 6, 38, 0, 22, 0, 0, 0, 7, 1, 93, 0, 177, 1, 85, 255, 255, 0, 73, 0, 0, 4, 158, 7, 32, 6, 38, 0, 24, 0, 0, 0, 7, 1, 91, 0, 125, 1, 87, 255, 255, 0, 73, 0, 0, 4, 158, 7, 72, 6, 38, 0, 24, 0, 0, 0, 7, 1, 92, 0, 127, 1, 91, 255, 255, 0, 73, 0, 0, 4, 158, 7, 32, 6, 38, 0, 24, 0, 0, 0, 7, 1, 97, 0, 7, 1, 91, 255, 255, 0, 73, 0, 0, 4, 158, 7, 35, 6, 38, 0, 24, 0, 0, 0, 7, 1, 90, 255, 145, 1, 90, 255, 255, 0, 61, 0, 0, 4, 121, 7, 31, 6, 38, 0, 26, 0, 0, 0, 7, 1, 91, 0, 113, 1, 86, 255, 255, 0, 61, 0, 0, 4, 121, 7, 71, 6, 38, 0, 26, 0, 0, 0, 7, 1, 92, 0, 115, 1, 90, 255, 255, 0, 61, 0, 0, 4, 121, 7, 31, 6, 38, 0, 26, 0, 0, 0, 7, 1, 97, 255, 252, 1, 90, 255, 255, 0, 61, 0, 0, 4, 121, 7, 34, 6, 38, 0, 26, 0, 0, 0, 7, 1, 90, 255, 133, 1, 89, 255, 255, 0, 114, 0, 0, 4, 55, 7, 20, 6, 38, 0, 27, 0, 0, 0, 7, 1, 91, 0, 157, 1, 75, 255, 255, 0, 114, 0, 0, 4, 55, 7, 61, 6, 38, 0, 27, 0, 0, 0, 7, 1, 100, 0, 40, 1, 80, 255, 255, 0, 114, 0, 0, 4, 55, 7, 13, 6, 38, 0, 27, 0, 0, 0, 7, 1, 96, 0, 39, 1, 79, 255, 255, 0, 156, 255, 236, 4, 54, 5, 222, 6, 38, 0, 28, 0, 0, 0, 7, 1, 91, 0, 129, 0, 21, 255, 255, 0, 156, 255, 236, 4, 54, 6, 8, 6, 38, 0, 28, 0, 0, 0, 6, 1, 95, 11, 86, 255, 255, 0, 156, 255, 236, 4, 54, 6, 6, 6, 38, 0, 28, 0, 0, 0, 7, 1, 92, 0, 131, 0, 25, 255, 255, 0, 156, 255, 236, 4, 54, 5, 222, 6, 38, 0, 28, 0, 0, 0, 6, 1, 97, 11, 25, 255, 255, 0, 156, 255, 236, 4, 54, 5, 225, 6, 38, 0, 28, 0, 0, 0, 6, 1, 90, 149, 24, 255, 255, 0, 156, 255, 236, 4, 54, 5, 184, 6, 38, 0, 28, 0, 0, 0, 6, 1, 94, 15, 8, 0, 2, 0, 156, 254, 79, 4, 54, 4, 78, 0, 81, 0, 101, 0, 0, 101, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 53, 38, 38, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 37, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 21, 6, 6, 7, 6, 6, 3, 111, 33, 55, 21, 30, 33, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 20, 19, 22, 68, 43, 38, 18, 20, 66, 57, 58, 158, 92, 101, 159, 55, 56, 59, 1, 186, 33, 30, 30, 87, 55, 59, 95, 33, 33, 36, 202, 113, 183, 65, 65, 71, 53, 49, 48, 139, 86, 53, 94, 42, 41, 69, 28, 3, 10, 254, 199, 54, 82, 27, 27, 27, 30, 29, 42, 144, 97, 172, 16, 56, 38, 39, 94, 14, 22, 49, 27, 37, 82, 40, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 30, 56, 25, 31, 54, 23, 16, 45, 121, 54, 1, 247, 91, 136, 46, 45, 45, 56, 45, 46, 114, 59, 34, 63, 23, 23, 28, 30, 27, 28, 78, 49, 85, 44, 44, 45, 134, 89, 68, 117, 42, 43, 50, 22, 19, 19, 50, 28, 29, 54, 106, 28, 25, 24, 68, 40, 42, 65, 23, 35, 34, 219, 32, 59, 23, 23, 28, 0, 255, 255, 0, 156, 255, 236, 4, 54, 6, 73, 6, 38, 0, 28, 0, 0, 0, 6, 1, 98, 10, 98, 255, 255, 0, 156, 255, 236, 4, 54, 6, 214, 6, 38, 0, 28, 0, 0, 0, 6, 2, 107, 248, 100, 255, 255, 0, 156, 255, 236, 4, 54, 6, 16, 6, 38, 0, 28, 0, 0, 0, 7, 1, 93, 0, 143, 0, 31, 255, 255, 0, 43, 255, 236, 4, 169, 5, 223, 6, 38, 0, 73, 0, 0, 0, 7, 1, 91, 0, 152, 0, 22, 255, 255, 0, 143, 255, 236, 4, 51, 5, 222, 6, 38, 0, 30, 0, 0, 0, 7, 1, 91, 0, 147, 0, 21, 255, 255, 0, 143, 255, 236, 4, 51, 6, 7, 6, 38, 0, 30, 0, 0, 0, 6, 1, 100, 30, 26, 255, 255, 0, 143, 254, 77, 4, 51, 4, 78, 6, 38, 0, 30, 0, 0, 0, 6, 1, 102, 75, 0, 255, 255, 0, 143, 255, 236, 4, 51, 6, 6, 6, 38, 0, 30, 0, 0, 0, 7, 1, 92, 0, 149, 0, 25, 255, 255, 0, 100, 255, 236, 5, 191, 6, 22, 4, 38, 0, 31, 217, 0, 0, 7, 0, 109, 2, 223, 0, 0, 0, 2, 0, 124, 255, 236, 4, 210, 6, 0, 0, 37, 0, 63, 0, 0, 65, 53, 35, 53, 35, 21, 35, 21, 51, 17, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 23, 51, 17, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 4, 210, 197, 185, 255, 255, 20, 45, 26, 42, 102, 60, 99, 160, 56, 57, 61, 62, 56, 56, 159, 98, 55, 95, 40, 33, 57, 24, 8, 170, 253, 40, 34, 36, 35, 111, 78, 41, 71, 29, 34, 54, 20, 18, 48, 31, 31, 76, 47, 77, 110, 35, 36, 34, 4, 210, 151, 151, 151, 151, 254, 253, 23, 39, 15, 25, 25, 82, 73, 73, 203, 121, 21, 116, 201, 74, 74, 84, 21, 20, 17, 46, 30, 114, 4, 210, 253, 63, 21, 79, 143, 55, 54, 64, 19, 16, 20, 60, 36, 254, 10, 35, 57, 20, 21, 22, 63, 54, 54, 142, 255, 255, 0, 135, 255, 236, 4, 69, 5, 223, 6, 38, 0, 32, 0, 0, 0, 6, 1, 91, 124, 22, 255, 255, 0, 135, 255, 236, 4, 69, 6, 9, 6, 38, 0, 32, 0, 0, 0, 6, 1, 95, 6, 87, 255, 255, 0, 135, 255, 236, 4, 69, 6, 8, 6, 38, 0, 32, 0, 0, 0, 6, 1, 100, 7, 27, 255, 255, 0, 135, 255, 236, 4, 69, 6, 7, 6, 38, 0, 32, 0, 0, 0, 6, 1, 92, 126, 26, 255, 255, 0, 135, 255, 236, 4, 69, 5, 223, 6, 38, 0, 32, 0, 0, 0, 6, 1, 97, 6, 26, 255, 255, 0, 135, 255, 236, 4, 69, 5, 216, 6, 38, 0, 32, 0, 0, 0, 6, 1, 96, 6, 26, 255, 255, 0, 135, 255, 236, 4, 69, 5, 226, 6, 38, 0, 32, 0, 0, 0, 6, 1, 90, 144, 25, 255, 255, 0, 135, 255, 236, 4, 69, 5, 185, 6, 38, 0, 32, 0, 0, 0, 6, 1, 94, 10, 9, 0, 1, 0, 184, 254, 75, 4, 23, 4, 78, 0, 50, 0, 0, 115, 51, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 39, 39, 35, 184, 185, 16, 41, 25, 33, 88, 54, 62, 91, 29, 27, 27, 25, 25, 16, 45, 27, 19, 60, 21, 14, 30, 54, 30, 73, 116, 40, 46, 48, 50, 47, 47, 136, 86, 68, 114, 46, 26, 45, 20, 1, 11, 166, 3, 42, 26, 45, 17, 23, 24, 32, 35, 32, 100, 68, 253, 1, 53, 78, 23, 16, 16, 7, 6, 157, 10, 8, 42, 39, 44, 135, 88, 3, 3, 108, 159, 52, 51, 50, 39, 35, 20, 51, 29, 10, 144, 0, 2, 0, 135, 254, 97, 4, 69, 4, 78, 0, 62, 0, 76, 0, 0, 83, 20, 22, 23, 22, 22, 23, 50, 50, 51, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 33, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 1, 50, 22, 23, 22, 22, 21, 21, 33, 54, 54, 55, 54, 54, 135, 73, 67, 65, 182, 110, 1, 3, 1, 51, 55, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 32, 28, 22, 57, 33, 69, 112, 34, 113, 51, 154, 99, 75, 125, 43, 49, 50, 3, 5, 57, 58, 58, 175, 117, 93, 177, 69, 70, 84, 1, 237, 71, 102, 35, 31, 41, 253, 186, 11, 55, 40, 40, 100, 1, 247, 111, 189, 69, 69, 80, 4, 48, 105, 53, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 38, 69, 30, 23, 41, 18, 25, 95, 51, 88, 66, 80, 57, 47, 53, 139, 60, 1, 83, 113, 194, 72, 71, 81, 76, 71, 72, 207, 131, 1, 149, 52, 42, 38, 116, 55, 7, 75, 115, 40, 39, 41, 0, 255, 255, 0, 140, 254, 86, 4, 29, 6, 8, 6, 38, 0, 34, 0, 0, 0, 6, 1, 95, 246, 86, 255, 255, 0, 140, 254, 86, 4, 29, 6, 6, 6, 38, 0, 34, 0, 0, 0, 6, 1, 92, 109, 25, 255, 255, 0, 140, 254, 86, 4, 29, 6, 147, 6, 38, 0, 34, 0, 0, 0, 6, 2, 78, 7, 88, 0, 1, 0, 11, 0, 0, 4, 59, 6, 0, 0, 39, 0, 0, 65, 53, 33, 53, 35, 21, 35, 21, 51, 17, 51, 17, 54, 54, 55, 54, 54, 51, 54, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 6, 6, 7, 6, 6, 7, 17, 2, 136, 254, 238, 185, 178, 178, 185, 20, 50, 30, 38, 91, 50, 59, 93, 31, 30, 32, 185, 53, 49, 49, 139, 85, 56, 101, 44, 39, 67, 27, 4, 210, 151, 151, 151, 151, 251, 46, 3, 18, 32, 53, 20, 26, 28, 1, 33, 33, 32, 99, 66, 253, 85, 2, 169, 109, 159, 52, 52, 49, 1, 27, 26, 23, 64, 40, 1, 57, 0, 255, 255, 255, 231, 0, 0, 4, 44, 7, 111, 6, 38, 0, 35, 0, 0, 0, 7, 1, 92, 255, 38, 1, 130, 255, 255, 0, 203, 0, 0, 4, 85, 5, 201, 6, 38, 1, 109, 0, 0, 0, 7, 1, 91, 0, 170, 0, 0, 255, 255, 0, 203, 0, 0, 4, 85, 5, 243, 6, 38, 1, 109, 0, 0, 0, 6, 1, 95, 52, 65, 255, 255, 0, 203, 0, 0, 4, 85, 5, 241, 6, 38, 1, 109, 0, 0, 0, 7, 1, 92, 0, 172, 0, 4, 255, 255, 0, 203, 0, 0, 4, 85, 5, 201, 6, 38, 1, 109, 0, 0, 0, 6, 1, 97, 52, 4, 255, 255, 0, 203, 0, 0, 4, 85, 5, 204, 6, 38, 1, 109, 0, 0, 0, 6, 1, 90, 190, 3, 255, 255, 0, 203, 0, 0, 4, 85, 5, 164, 6, 38, 1, 109, 0, 0, 0, 6, 1, 94, 56, 244, 0, 2, 0, 203, 254, 79, 4, 85, 5, 195, 0, 38, 0, 50, 0, 0, 83, 21, 33, 17, 33, 21, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 33, 53, 33, 17, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 203, 1, 112, 254, 144, 1, 116, 23, 41, 16, 35, 37, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 28, 25, 22, 60, 37, 1, 97, 254, 159, 209, 55, 56, 55, 56, 56, 55, 56, 55, 4, 58, 161, 253, 7, 160, 17, 37, 20, 40, 86, 43, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 35, 65, 28, 26, 45, 20, 160, 3, 154, 1, 28, 45, 60, 60, 45, 46, 63, 63, 255, 255, 0, 203, 0, 0, 4, 85, 5, 251, 6, 38, 1, 109, 0, 0, 0, 7, 1, 93, 0, 184, 0, 10, 255, 255, 0, 176, 254, 75, 3, 245, 5, 232, 6, 38, 1, 113, 0, 0, 0, 7, 1, 92, 0, 215, 255, 251, 255, 255, 0, 176, 254, 64, 4, 106, 6, 0, 6, 38, 0, 38, 0, 0, 0, 7, 1, 104, 0, 98, 254, 234, 255, 255, 0, 203, 0, 0, 4, 85, 7, 102, 6, 38, 0, 39, 0, 0, 0, 7, 1, 91, 0, 162, 1, 157, 255, 255, 0, 153, 0, 0, 4, 175, 6, 4, 4, 38, 0, 39, 206, 0, 0, 7, 0, 109, 1, 207, 255, 238, 255, 255, 0, 203, 254, 57, 4, 85, 6, 0, 6, 38, 0, 39, 0, 0, 0, 7, 1, 104, 0, 210, 254, 227, 255, 255, 0, 133, 0, 1, 4, 18, 6, 1, 4, 38, 0, 39, 186, 1, 0, 7, 1, 96, 1, 58, 253, 231, 0, 1, 0, 203, 0, 0, 4, 85, 6, 0, 0, 17, 0, 0, 65, 17, 33, 21, 33, 17, 5, 21, 37, 17, 33, 21, 33, 53, 33, 17, 37, 55, 2, 244, 253, 215, 1, 112, 254, 173, 1, 83, 254, 144, 3, 138, 254, 159, 1, 33, 1, 3, 205, 2, 51, 161, 254, 25, 154, 162, 154, 253, 202, 160, 160, 2, 139, 132, 162, 0, 255, 255, 0, 174, 0, 0, 4, 41, 5, 222, 6, 38, 0, 41, 0, 0, 0, 6, 1, 91, 109, 21, 255, 255, 0, 174, 0, 0, 4, 41, 6, 7, 6, 38, 0, 41, 0, 0, 0, 6, 1, 100, 249, 26, 255, 255, 0, 174, 254, 56, 4, 41, 4, 78, 6, 38, 0, 41, 0, 0, 0, 7, 1, 104, 0, 147, 254, 226, 255, 255, 0, 174, 0, 0, 4, 41, 6, 16, 6, 38, 0, 41, 0, 0, 0, 6, 1, 93, 123, 31, 255, 255, 0, 122, 255, 236, 4, 82, 5, 222, 6, 38, 0, 42, 0, 0, 0, 6, 1, 91, 118, 21, 255, 255, 0, 122, 255, 236, 4, 82, 6, 8, 6, 38, 0, 42, 0, 0, 0, 6, 1, 95, 0, 86, 255, 255, 0, 122, 255, 236, 4, 82, 6, 6, 6, 38, 0, 42, 0, 0, 0, 6, 1, 92, 120, 25, 255, 255, 0, 122, 255, 236, 4, 82, 5, 222, 6, 38, 0, 42, 0, 0, 0, 6, 1, 97, 0, 25, 255, 255, 0, 122, 255, 236, 4, 82, 5, 225, 6, 38, 0, 42, 0, 0, 0, 6, 1, 90, 138, 24, 0, 2, 0, 119, 255, 236, 4, 174, 4, 170, 0, 38, 0, 64, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 54, 54, 55, 54, 54, 55, 35, 20, 6, 7, 6, 6, 7, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 119, 68, 64, 63, 183, 115, 114, 182, 64, 63, 68, 42, 41, 40, 62, 23, 25, 27, 1, 168, 13, 14, 13, 39, 26, 61, 158, 96, 114, 182, 63, 64, 68, 185, 38, 39, 38, 114, 77, 77, 115, 39, 38, 39, 38, 38, 39, 115, 76, 77, 116, 38, 39, 38, 2, 39, 22, 117, 200, 74, 74, 84, 84, 74, 74, 200, 117, 22, 92, 164, 68, 17, 52, 36, 41, 108, 65, 43, 69, 26, 24, 34, 8, 53, 59, 85, 74, 74, 201, 139, 22, 79, 145, 55, 55, 65, 65, 55, 55, 145, 79, 22, 80, 145, 55, 55, 64, 64, 55, 55, 145, 255, 255, 0, 122, 255, 236, 4, 92, 6, 8, 6, 38, 0, 42, 0, 0, 0, 7, 1, 99, 0, 134, 0, 25, 255, 255, 0, 122, 255, 236, 4, 82, 5, 184, 6, 38, 0, 42, 0, 0, 0, 6, 1, 94, 4, 8, 0, 3, 0, 122, 255, 121, 4, 82, 4, 185, 0, 34, 0, 48, 0, 65, 0, 0, 83, 21, 20, 22, 23, 7, 51, 55, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 55, 35, 7, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 1, 38, 38, 37, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 1, 22, 22, 23, 22, 22, 122, 106, 99, 101, 123, 74, 43, 95, 54, 114, 182, 64, 63, 68, 29, 27, 24, 71, 44, 101, 123, 73, 45, 101, 57, 114, 182, 63, 64, 68, 185, 38, 39, 38, 114, 77, 38, 65, 29, 254, 170, 48, 48, 2, 102, 38, 38, 39, 115, 76, 34, 61, 28, 1, 84, 18, 28, 11, 16, 16, 2, 39, 22, 148, 238, 73, 205, 151, 17, 19, 84, 74, 74, 200, 117, 22, 76, 139, 59, 53, 91, 35, 205, 148, 20, 21, 85, 74, 74, 201, 139, 22, 79, 145, 55, 55, 65, 17, 15, 253, 74, 57, 157, 113, 22, 80, 145, 55, 55, 64, 13, 13, 2, 177, 22, 52, 28, 43, 97, 0, 255, 255, 0, 122, 255, 121, 4, 82, 5, 221, 6, 38, 1, 56, 0, 0, 0, 6, 1, 91, 80, 20, 255, 255, 0, 122, 255, 236, 4, 82, 6, 16, 6, 38, 0, 42, 0, 0, 0, 7, 1, 93, 0, 132, 0, 31, 255, 255, 1, 73, 0, 0, 4, 49, 5, 222, 6, 38, 0, 45, 0, 0, 0, 6, 1, 91, 88, 21, 255, 255, 1, 20, 0, 0, 4, 49, 6, 7, 6, 38, 0, 45, 0, 0, 0, 6, 1, 100, 228, 26, 255, 255, 1, 16, 254, 56, 4, 49, 4, 78, 6, 38, 0, 45, 0, 0, 0, 7, 1, 104, 255, 226, 254, 226, 255, 255, 0, 175, 255, 236, 4, 54, 5, 222, 6, 38, 0, 46, 0, 0, 0, 7, 1, 91, 0, 132, 0, 21, 255, 255, 0, 175, 255, 236, 4, 54, 6, 7, 6, 38, 0, 46, 0, 0, 0, 6, 1, 100, 15, 26, 255, 255, 0, 175, 254, 69, 4, 54, 4, 78, 6, 38, 0, 46, 0, 0, 0, 6, 1, 102, 68, 248, 255, 255, 0, 175, 255, 236, 4, 54, 6, 6, 6, 38, 0, 46, 0, 0, 0, 7, 1, 92, 0, 134, 0, 25, 0, 1, 0, 142, 255, 236, 4, 41, 5, 64, 0, 43, 0, 0, 65, 35, 17, 33, 21, 33, 21, 35, 21, 51, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 51, 53, 35, 53, 33, 53, 33, 2, 100, 186, 254, 228, 1, 28, 217, 217, 53, 46, 46, 125, 72, 43, 87, 39, 39, 66, 23, 26, 17, 53, 30, 31, 64, 30, 41, 73, 28, 28, 32, 234, 234, 1, 156, 254, 100, 5, 64, 254, 250, 143, 186, 151, 251, 100, 141, 44, 45, 41, 8, 8, 7, 21, 14, 131, 4, 11, 5, 5, 7, 20, 25, 24, 82, 63, 251, 151, 186, 143, 0, 255, 255, 0, 127, 255, 236, 4, 129, 6, 179, 4, 38, 0, 47, 241, 0, 0, 7, 0, 109, 1, 161, 0, 157, 255, 255, 0, 180, 255, 236, 4, 31, 5, 202, 6, 38, 0, 48, 0, 0, 0, 6, 1, 91, 117, 1, 255, 255, 0, 180, 255, 236, 4, 31, 5, 244, 6, 38, 0, 48, 0, 0, 0, 6, 1, 95, 0, 66, 255, 255, 0, 180, 255, 236, 4, 31, 5, 242, 6, 38, 0, 48, 0, 0, 0, 6, 1, 92, 119, 5, 255, 255, 0, 180, 255, 236, 4, 31, 5, 202, 6, 38, 0, 48, 0, 0, 0, 6, 1, 97, 0, 5, 255, 255, 0, 180, 255, 236, 4, 31, 5, 205, 6, 38, 0, 48, 0, 0, 0, 6, 1, 90, 137, 4, 0, 1, 0, 180, 255, 236, 5, 63, 4, 147, 0, 39, 0, 0, 65, 35, 20, 6, 7, 6, 6, 7, 53, 35, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 23, 51, 17, 54, 54, 5, 63, 168, 13, 16, 14, 45, 32, 186, 12, 31, 20, 38, 111, 74, 53, 81, 28, 28, 28, 185, 53, 49, 49, 138, 85, 106, 162, 54, 11, 168, 147, 140, 4, 147, 53, 82, 28, 25, 34, 8, 141, 252, 248, 27, 47, 19, 36, 41, 28, 35, 34, 116, 88, 2, 133, 253, 125, 121, 173, 56, 56, 53, 89, 80, 149, 3, 34, 19, 180, 255, 255, 0, 180, 255, 236, 4, 91, 5, 244, 6, 38, 0, 48, 0, 0, 0, 7, 1, 99, 0, 133, 0, 5, 255, 255, 0, 180, 255, 236, 4, 31, 5, 165, 6, 38, 0, 48, 0, 0, 0, 6, 1, 94, 3, 245, 0, 1, 0, 180, 254, 79, 4, 68, 4, 58, 0, 56, 0, 0, 97, 51, 17, 35, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 4, 30, 1, 186, 15, 44, 29, 37, 98, 63, 53, 81, 28, 28, 28, 185, 53, 49, 49, 138, 85, 106, 162, 54, 10, 25, 43, 18, 38, 41, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 23, 21, 22, 66, 4, 58, 252, 248, 35, 58, 21, 27, 29, 28, 35, 34, 116, 88, 2, 133, 253, 125, 121, 173, 56, 56, 53, 89, 80, 140, 17, 37, 20, 42, 91, 45, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 32, 59, 27, 28, 51, 0, 255, 255, 0, 180, 255, 236, 4, 31, 6, 53, 6, 38, 0, 48, 0, 0, 0, 6, 1, 98, 255, 78, 255, 255, 0, 180, 255, 236, 4, 31, 5, 252, 6, 38, 0, 48, 0, 0, 0, 7, 1, 93, 0, 131, 0, 11, 255, 255, 0, 48, 0, 0, 4, 167, 5, 202, 6, 38, 0, 50, 0, 0, 0, 6, 1, 91, 124, 1, 255, 255, 0, 48, 0, 0, 4, 167, 5, 242, 6, 38, 0, 50, 0, 0, 0, 6, 1, 92, 126, 5, 255, 255, 0, 48, 0, 0, 4, 167, 5, 202, 6, 38, 0, 50, 0, 0, 0, 6, 1, 97, 6, 5, 255, 255, 0, 48, 0, 0, 4, 167, 5, 205, 6, 38, 0, 50, 0, 0, 0, 6, 1, 90, 144, 4, 255, 255, 0, 68, 254, 75, 4, 133, 5, 202, 6, 38, 0, 52, 0, 0, 0, 7, 1, 91, 0, 137, 0, 1, 255, 255, 0, 68, 254, 75, 4, 133, 5, 242, 6, 38, 0, 52, 0, 0, 0, 7, 1, 92, 0, 139, 0, 5, 255, 255, 0, 68, 254, 75, 4, 133, 5, 202, 6, 38, 0, 52, 0, 0, 0, 6, 1, 97, 19, 5, 255, 255, 0, 68, 254, 75, 4, 133, 5, 205, 6, 38, 0, 52, 0, 0, 0, 6, 1, 90, 157, 4, 255, 255, 0, 160, 0, 0, 4, 61, 5, 202, 6, 38, 0, 53, 0, 0, 0, 7, 1, 91, 0, 154, 0, 1, 255, 255, 0, 160, 0, 0, 4, 61, 5, 243, 6, 38, 0, 53, 0, 0, 0, 6, 1, 100, 37, 6, 255, 255, 0, 160, 0, 0, 4, 61, 5, 195, 6, 38, 0, 53, 0, 0, 0, 6, 1, 96, 36, 5, 0, 1, 1, 159, 4, 191, 3, 45, 5, 201, 0, 3, 0, 0, 65, 3, 35, 19, 3, 45, 175, 223, 248, 4, 191, 1, 10, 254, 246, 0, 0, 1, 1, 154, 4, 191, 3, 50, 5, 201, 0, 3, 0, 0, 65, 3, 51, 1, 2, 82, 184, 140, 1, 12, 5, 201, 254, 246, 1, 10, 0, 1, 0, 193, 4, 228, 3, 30, 5, 237, 0, 8, 0, 0, 65, 39, 35, 7, 21, 51, 55, 23, 51, 3, 30, 248, 112, 245, 152, 149, 150, 154, 4, 253, 240, 239, 26, 151, 151, 0, 0, 1, 0, 138, 4, 227, 3, 58, 5, 241, 0, 37, 0, 0, 65, 39, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 58, 103, 17, 13, 14, 38, 21, 39, 65, 31, 32, 67, 42, 46, 75, 27, 27, 31, 104, 1, 57, 44, 27, 44, 20, 19, 38, 22, 21, 52, 33, 45, 76, 27, 27, 31, 5, 211, 30, 23, 41, 15, 15, 18, 30, 18, 17, 30, 38, 31, 32, 83, 45, 24, 46, 65, 14, 10, 11, 25, 10, 11, 14, 36, 31, 30, 82, 0, 1, 1, 1, 5, 33, 3, 203, 5, 176, 0, 3, 0, 0, 65, 53, 33, 21, 3, 203, 253, 54, 5, 33, 143, 143, 0, 1, 1, 59, 4, 167, 3, 145, 5, 178, 0, 25, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 145, 150, 18, 18, 18, 55, 39, 40, 56, 18, 18, 18, 150, 43, 39, 39, 110, 69, 68, 110, 39, 39, 42, 5, 178, 30, 55, 20, 20, 24, 24, 20, 20, 55, 30, 59, 99, 35, 35, 39, 39, 35, 35, 99, 0, 0, 1, 1, 242, 4, 225, 2, 216, 5, 190, 0, 11, 0, 0, 65, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 242, 58, 57, 57, 58, 58, 57, 57, 58, 5, 78, 46, 63, 63, 46, 48, 64, 64, 0, 0, 2, 1, 31, 4, 240, 3, 168, 5, 197, 0, 11, 0, 23, 0, 0, 65, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 31, 55, 54, 54, 56, 56, 54, 54, 55, 1, 174, 55, 54, 54, 56, 56, 54, 54, 55, 5, 91, 45, 60, 60, 45, 45, 61, 61, 47, 44, 61, 61, 44, 45, 62, 62, 0, 0, 2, 1, 154, 4, 94, 3, 49, 5, 231, 0, 23, 0, 47, 0, 0, 65, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 154, 33, 28, 27, 75, 42, 42, 73, 28, 27, 32, 32, 27, 28, 73, 42, 42, 75, 27, 28, 33, 99, 18, 15, 14, 38, 21, 22, 37, 14, 14, 16, 16, 14, 14, 37, 22, 22, 38, 14, 15, 17, 5, 32, 43, 72, 25, 26, 28, 28, 26, 25, 72, 43, 43, 73, 27, 26, 30, 30, 26, 27, 73, 43, 25, 41, 15, 13, 15, 15, 14, 15, 41, 24, 23, 38, 14, 14, 16, 16, 15, 14, 38, 0, 2, 0, 246, 4, 226, 3, 214, 5, 239, 0, 3, 0, 7, 0, 0, 65, 3, 51, 1, 33, 3, 51, 19, 2, 245, 249, 169, 1, 49, 253, 220, 188, 150, 245, 5, 239, 254, 243, 1, 13, 254, 243, 1, 13, 0, 0, 1, 1, 48, 4, 227, 3, 155, 5, 237, 0, 8, 0, 0, 65, 39, 35, 21, 23, 51, 55, 53, 35, 2, 100, 151, 157, 251, 114, 254, 160, 5, 85, 152, 21, 245, 248, 18, 0, 1, 253, 39, 254, 168, 254, 13, 255, 133, 0, 11, 0, 0, 69, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 253, 39, 58, 57, 57, 58, 58, 57, 57, 58, 235, 46, 63, 63, 46, 48, 64, 64, 0, 1, 1, 205, 254, 77, 3, 3, 0, 0, 0, 27, 0, 0, 97, 35, 7, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 23, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 2, 118, 133, 31, 40, 60, 21, 20, 20, 27, 22, 23, 60, 34, 7, 61, 101, 37, 50, 54, 26, 21, 22, 55, 29, 134, 3, 12, 10, 11, 34, 25, 27, 37, 12, 12, 11, 107, 22, 19, 27, 86, 56, 43, 61, 20, 20, 24, 5, 0, 0, 1, 1, 142, 254, 79, 3, 1, 0, 56, 0, 28, 0, 0, 97, 39, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 2, 219, 87, 56, 91, 32, 32, 35, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 32, 29, 21, 57, 56, 27, 70, 39, 39, 83, 41, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 38, 69, 31, 22, 41, 0, 1, 1, 46, 255, 86, 2, 40, 0, 239, 0, 9, 0, 0, 101, 53, 35, 21, 20, 6, 7, 23, 54, 54, 2, 40, 176, 37, 37, 105, 71, 74, 169, 70, 73, 75, 127, 62, 72, 62, 183, 0, 255, 255, 0, 212, 0, 118, 3, 215, 3, 146, 4, 39, 0, 122, 255, 72, 255, 221, 0, 7, 0, 122, 0, 151, 255, 221, 0, 1, 0, 188, 254, 96, 4, 16, 4, 58, 0, 30, 0, 0, 65, 35, 17, 51, 17, 22, 22, 51, 50, 54, 55, 54, 54, 55, 23, 51, 17, 35, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 1, 117, 185, 185, 41, 114, 73, 52, 87, 36, 25, 44, 19, 9, 167, 186, 11, 32, 22, 33, 98, 65, 48, 81, 29, 30, 32, 4, 58, 250, 38, 1, 213, 36, 37, 24, 23, 17, 45, 27, 116, 4, 58, 252, 225, 28, 46, 19, 29, 31, 28, 37, 37, 128, 100, 255, 255, 0, 241, 0, 152, 3, 254, 3, 181, 4, 39, 0, 123, 255, 101, 0, 0, 0, 7, 0, 123, 0, 190, 0, 0, 0, 1, 0, 203, 0, 0, 4, 85, 4, 58, 0, 9, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 203, 1, 112, 254, 144, 3, 138, 254, 159, 4, 58, 161, 253, 7, 160, 160, 3, 154, 0, 2, 0, 128, 255, 237, 4, 76, 5, 176, 0, 3, 0, 28, 0, 0, 97, 17, 35, 17, 1, 17, 20, 6, 7, 6, 6, 35, 34, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 1, 57, 185, 3, 19, 15, 18, 18, 60, 46, 68, 80, 186, 50, 44, 44, 123, 73, 87, 129, 43, 42, 41, 5, 176, 250, 80, 5, 176, 251, 147, 44, 71, 24, 25, 27, 90, 99, 87, 128, 42, 42, 41, 46, 44, 44, 127, 81, 4, 109, 0, 0, 4, 0, 80, 254, 78, 4, 79, 5, 191, 0, 29, 0, 39, 0, 51, 0, 63, 0, 0, 65, 21, 51, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 33, 21, 51, 17, 35, 21, 33, 53, 35, 17, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 2, 174, 222, 39, 34, 34, 92, 52, 14, 48, 27, 27, 52, 17, 13, 23, 44, 21, 30, 60, 33, 100, 157, 55, 54, 57, 252, 16, 234, 239, 2, 136, 223, 202, 55, 56, 55, 56, 56, 55, 56, 55, 2, 66, 54, 56, 56, 56, 56, 56, 56, 54, 4, 58, 161, 252, 98, 77, 103, 30, 31, 25, 1, 2, 1, 5, 3, 158, 4, 6, 2, 3, 2, 56, 55, 55, 159, 104, 4, 63, 161, 253, 7, 160, 160, 3, 154, 1, 24, 45, 61, 61, 45, 45, 63, 63, 44, 45, 61, 61, 45, 45, 63, 63, 0, 1, 1, 200, 0, 0, 4, 11, 6, 43, 0, 21, 0, 0, 97, 51, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 1, 200, 186, 36, 35, 35, 103, 68, 29, 46, 18, 23, 37, 71, 37, 100, 160, 56, 57, 61, 4, 102, 69, 112, 39, 39, 42, 6, 5, 142, 9, 12, 60, 57, 58, 169, 109, 0, 0, 1, 0, 176, 254, 75, 3, 42, 4, 58, 0, 29, 0, 0, 65, 21, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 1, 4, 1, 108, 39, 34, 34, 91, 52, 14, 49, 27, 27, 51, 17, 13, 24, 44, 22, 29, 59, 33, 100, 157, 55, 54, 57, 4, 58, 161, 252, 96, 77, 105, 32, 32, 27, 1, 2, 1, 5, 3, 152, 4, 6, 2, 3, 2, 57, 55, 54, 160, 104, 4, 65, 0, 0, 2, 1, 173, 254, 134, 2, 221, 255, 171, 0, 23, 0, 35, 0, 0, 69, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 54, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 1, 173, 24, 21, 21, 56, 32, 31, 54, 21, 20, 24, 24, 20, 21, 54, 31, 32, 56, 21, 21, 24, 86, 1, 39, 28, 26, 38, 38, 26, 28, 39, 233, 32, 54, 19, 19, 21, 21, 19, 19, 54, 32, 32, 55, 20, 19, 22, 22, 19, 20, 55, 32, 29, 39, 39, 29, 28, 37, 38, 0, 1, 252, 202, 4, 188, 253, 251, 6, 22, 0, 3, 0, 0, 65, 3, 35, 19, 253, 251, 127, 178, 179, 4, 188, 1, 90, 254, 166, 0, 0, 1, 253, 104, 4, 188, 254, 150, 6, 23, 0, 3, 0, 0, 65, 3, 51, 19, 253, 234, 130, 116, 186, 6, 23, 254, 165, 1, 91, 0, 255, 255, 252, 136, 4, 227, 255, 56, 5, 241, 4, 7, 1, 93, 251, 254, 0, 0, 0, 1, 253, 89, 4, 217, 254, 143, 6, 116, 0, 27, 0, 0, 65, 51, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 7, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 253, 111, 132, 1, 28, 56, 22, 22, 27, 49, 46, 38, 105, 65, 7, 33, 60, 23, 23, 27, 21, 21, 18, 52, 33, 4, 217, 71, 4, 20, 18, 18, 54, 38, 48, 75, 24, 20, 21, 106, 8, 9, 9, 30, 22, 22, 27, 8, 7, 8, 2, 0, 0, 2, 252, 5, 4, 228, 254, 229, 5, 238, 0, 3, 0, 7, 0, 0, 65, 3, 35, 1, 33, 3, 35, 19, 253, 224, 250, 225, 1, 50, 1, 174, 189, 207, 246, 4, 228, 1, 10, 254, 246, 1, 10, 254, 246, 0, 0, 1, 2, 41, 4, 247, 3, 45, 6, 122, 0, 3, 0, 0, 65, 3, 51, 19, 2, 106, 65, 90, 170, 6, 122, 254, 125, 1, 131, 0, 0, 3, 1, 19, 4, 226, 3, 243, 6, 191, 0, 3, 0, 15, 0, 27, 0, 0, 65, 3, 51, 19, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 2, 116, 48, 135, 118, 253, 210, 57, 57, 57, 58, 58, 57, 57, 57, 1, 251, 57, 57, 57, 58, 58, 57, 57, 57, 6, 191, 254, 248, 1, 8, 254, 145, 46, 64, 64, 46, 48, 64, 64, 48, 46, 64, 64, 46, 48, 64, 64, 255, 255, 2, 48, 2, 107, 3, 22, 3, 73, 4, 6, 0, 100, 56, 0, 0, 1, 0, 181, 0, 0, 4, 48, 5, 176, 0, 5, 0, 0, 65, 53, 33, 17, 51, 17, 4, 48, 252, 133, 186, 5, 24, 152, 250, 80, 5, 24, 0, 2, 0, 46, 0, 0, 4, 180, 5, 176, 0, 3, 0, 8, 0, 0, 65, 1, 33, 9, 2, 55, 23, 1, 2, 52, 253, 250, 4, 134, 254, 32, 254, 74, 1, 69, 30, 27, 1, 43, 5, 176, 250, 80, 5, 176, 250, 231, 3, 195, 89, 90, 252, 62, 0, 3, 0, 106, 255, 236, 4, 97, 5, 196, 0, 3, 0, 29, 0, 55, 0, 0, 65, 53, 33, 21, 5, 53, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 21, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 77, 254, 48, 2, 228, 2, 57, 63, 63, 190, 133, 121, 180, 65, 73, 66, 2, 2, 64, 66, 63, 185, 129, 132, 192, 59, 64, 59, 183, 2, 33, 43, 38, 119, 88, 87, 119, 36, 45, 40, 37, 46, 38, 117, 87, 85, 119, 35, 48, 36, 2, 148, 151, 151, 16, 166, 118, 240, 96, 96, 116, 97, 90, 101, 249, 129, 166, 122, 246, 97, 89, 110, 117, 91, 95, 242, 1, 31, 168, 86, 194, 73, 68, 80, 82, 60, 77, 197, 85, 168, 84, 193, 79, 61, 82, 78, 58, 80, 196, 0, 1, 0, 54, 0, 0, 4, 160, 5, 176, 0, 6, 0, 0, 65, 1, 51, 1, 35, 1, 51, 2, 106, 1, 121, 189, 254, 27, 161, 254, 28, 189, 4, 156, 251, 100, 5, 176, 250, 80, 0, 3, 0, 145, 0, 0, 4, 55, 5, 176, 0, 3, 0, 7, 0, 11, 0, 0, 119, 21, 33, 53, 1, 21, 33, 53, 1, 21, 33, 53, 145, 3, 166, 252, 175, 2, 242, 252, 187, 3, 150, 151, 151, 151, 2, 167, 152, 152, 2, 114, 152, 152, 0, 1, 0, 162, 0, 0, 4, 42, 5, 176, 0, 7, 0, 0, 97, 17, 33, 17, 51, 17, 33, 17, 4, 42, 252, 120, 185, 2, 22, 5, 176, 250, 80, 5, 24, 250, 232, 0, 0, 1, 0, 112, 0, 0, 4, 111, 5, 176, 0, 12, 0, 0, 65, 53, 1, 33, 53, 33, 21, 1, 1, 21, 33, 53, 33, 3, 25, 254, 61, 2, 231, 252, 51, 1, 229, 254, 27, 3, 255, 252, 230, 2, 205, 25, 2, 50, 152, 144, 253, 185, 253, 183, 144, 152, 0, 3, 0, 69, 0, 0, 4, 135, 5, 176, 0, 29, 0, 42, 0, 55, 0, 0, 65, 53, 35, 21, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 21, 51, 53, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 1, 52, 54, 55, 54, 54, 55, 17, 38, 38, 39, 38, 38, 37, 20, 6, 7, 6, 6, 7, 17, 22, 22, 23, 22, 22, 2, 195, 185, 98, 165, 61, 61, 68, 68, 61, 61, 165, 98, 185, 97, 165, 61, 60, 69, 69, 60, 61, 165, 253, 216, 36, 35, 34, 100, 65, 65, 100, 34, 35, 36, 2, 211, 36, 34, 35, 99, 64, 64, 99, 35, 34, 36, 4, 226, 206, 206, 7, 83, 69, 69, 188, 111, 112, 188, 69, 69, 82, 7, 196, 196, 7, 84, 70, 69, 187, 112, 111, 186, 69, 69, 82, 253, 249, 79, 132, 49, 49, 59, 7, 253, 18, 6, 59, 49, 48, 133, 82, 80, 133, 49, 49, 59, 7, 2, 238, 7, 59, 48, 49, 131, 0, 0, 1, 0, 101, 0, 0, 4, 114, 5, 176, 0, 35, 0, 0, 65, 17, 35, 17, 38, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 23, 17, 51, 17, 54, 54, 55, 54, 54, 53, 17, 35, 17, 20, 6, 7, 6, 6, 2, 199, 185, 54, 89, 31, 32, 34, 185, 62, 56, 56, 156, 95, 185, 94, 158, 56, 56, 63, 185, 35, 31, 32, 89, 1, 223, 3, 209, 252, 48, 12, 56, 45, 45, 124, 80, 2, 102, 253, 154, 118, 183, 65, 65, 76, 11, 254, 188, 1, 68, 11, 76, 65, 65, 183, 118, 2, 102, 253, 154, 80, 125, 45, 45, 56, 0, 1, 0, 97, 0, 0, 4, 108, 5, 196, 0, 59, 0, 0, 101, 21, 33, 53, 33, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 33, 21, 33, 53, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 2, 168, 1, 196, 254, 246, 62, 98, 34, 33, 36, 74, 67, 68, 191, 117, 117, 190, 67, 68, 73, 36, 35, 34, 99, 62, 254, 250, 1, 196, 78, 115, 33, 22, 23, 46, 43, 42, 122, 77, 78, 124, 43, 42, 45, 22, 21, 33, 111, 193, 193, 151, 47, 135, 80, 80, 177, 89, 79, 139, 235, 85, 84, 95, 95, 84, 85, 235, 139, 79, 89, 176, 80, 81, 135, 47, 151, 193, 18, 119, 99, 65, 166, 99, 81, 117, 181, 62, 61, 64, 64, 61, 62, 181, 117, 81, 99, 167, 66, 98, 119, 0, 0, 2, 0, 129, 255, 235, 4, 138, 4, 78, 0, 47, 0, 76, 0, 0, 65, 35, 7, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 37, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 17, 20, 20, 21, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 3, 239, 112, 46, 3, 20, 48, 27, 45, 108, 65, 99, 151, 51, 51, 52, 52, 51, 51, 150, 98, 64, 108, 44, 27, 48, 20, 9, 25, 16, 27, 74, 47, 32, 59, 31, 23, 10, 27, 15, 18, 29, 10, 11, 12, 253, 75, 28, 32, 31, 101, 72, 43, 73, 31, 30, 48, 19, 14, 33, 20, 34, 89, 56, 71, 100, 31, 32, 28, 4, 58, 119, 8, 27, 45, 17, 28, 30, 88, 77, 78, 213, 125, 21, 112, 191, 69, 70, 79, 28, 27, 17, 43, 26, 28, 44, 16, 27, 26, 13, 21, 138, 2, 4, 13, 15, 15, 51, 38, 223, 21, 85, 155, 60, 59, 70, 21, 19, 19, 52, 31, 254, 32, 19, 19, 13, 24, 42, 17, 30, 34, 60, 51, 50, 134, 0, 2, 0, 174, 254, 128, 4, 91, 5, 196, 0, 38, 0, 78, 0, 0, 65, 34, 6, 7, 6, 6, 21, 17, 51, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 3, 35, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 2, 107, 92, 161, 60, 61, 71, 186, 31, 72, 38, 39, 81, 40, 98, 166, 61, 61, 68, 56, 53, 29, 73, 43, 32, 55, 22, 37, 40, 61, 56, 56, 158, 101, 84, 143, 61, 95, 33, 33, 34, 40, 37, 37, 107, 67, 50, 88, 36, 33, 54, 21, 40, 35, 34, 95, 55, 58, 91, 31, 31, 32, 29, 30, 30, 94, 5, 196, 64, 55, 55, 147, 82, 250, 79, 1, 203, 25, 37, 11, 12, 11, 59, 57, 57, 165, 107, 85, 142, 52, 29, 45, 16, 17, 43, 25, 42, 105, 58, 87, 144, 53, 52, 57, 253, 150, 152, 50, 40, 41, 102, 53, 63, 107, 38, 39, 43, 19, 16, 15, 41, 25, 3, 59, 53, 92, 34, 34, 39, 40, 33, 33, 86, 46, 51, 84, 30, 30, 34, 0, 1, 0, 71, 254, 96, 4, 150, 4, 58, 0, 11, 0, 0, 65, 1, 7, 35, 39, 1, 35, 1, 17, 51, 17, 1, 3, 216, 254, 179, 25, 1, 24, 254, 172, 190, 1, 203, 186, 1, 202, 4, 58, 252, 240, 98, 98, 3, 16, 251, 252, 254, 42, 1, 207, 4, 11, 0, 0, 2, 0, 120, 255, 236, 4, 102, 6, 28, 0, 57, 0, 83, 0, 0, 65, 20, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 2, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 19, 53, 52, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 7, 30, 27, 27, 76, 47, 4, 72, 127, 46, 47, 54, 68, 65, 65, 187, 120, 118, 186, 65, 64, 68, 223, 220, 67, 89, 27, 27, 23, 28, 25, 25, 69, 42, 40, 78, 36, 36, 63, 23, 41, 75, 159, 80, 86, 140, 49, 50, 54, 43, 40, 40, 40, 120, 81, 71, 115, 41, 41, 45, 38, 39, 39, 118, 81, 82, 120, 39, 40, 38, 4, 245, 47, 81, 34, 35, 54, 19, 11, 17, 82, 60, 60, 152, 87, 21, 113, 193, 71, 71, 81, 81, 71, 71, 193, 113, 21, 207, 1, 20, 73, 23, 48, 24, 24, 47, 22, 31, 51, 18, 18, 20, 13, 9, 10, 22, 9, 130, 38, 47, 40, 38, 38, 110, 252, 195, 21, 76, 139, 53, 52, 61, 1, 12, 75, 52, 53, 125, 63, 21, 77, 138, 51, 52, 61, 61, 52, 51, 138, 0, 1, 0, 139, 255, 236, 4, 96, 4, 77, 0, 82, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 51, 53, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 139, 72, 66, 65, 180, 108, 97, 174, 70, 62, 86, 1, 185, 46, 40, 41, 112, 66, 74, 114, 38, 39, 40, 28, 28, 21, 57, 35, 27, 62, 35, 243, 243, 38, 64, 26, 25, 42, 16, 33, 30, 33, 35, 35, 108, 75, 58, 104, 39, 39, 47, 185, 1, 76, 64, 65, 171, 95, 108, 175, 61, 62, 66, 34, 32, 25, 68, 41, 42, 70, 26, 40, 41, 1, 48, 78, 120, 41, 42, 43, 44, 42, 37, 130, 87, 39, 69, 26, 27, 30, 27, 24, 23, 64, 37, 40, 61, 21, 15, 22, 6, 5, 4, 148, 6, 5, 6, 16, 10, 21, 59, 37, 34, 60, 23, 22, 26, 26, 22, 23, 63, 37, 75, 119, 42, 41, 44, 40, 39, 40, 117, 78, 42, 77, 31, 25, 41, 15, 12, 35, 23, 33, 92, 0, 1, 0, 117, 254, 129, 4, 47, 5, 176, 0, 56, 0, 0, 65, 33, 21, 33, 1, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 52, 38, 39, 38, 38, 39, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 1, 4, 47, 252, 70, 2, 212, 254, 206, 92, 134, 43, 44, 42, 38, 41, 40, 127, 89, 181, 41, 60, 19, 18, 17, 16, 16, 12, 34, 21, 98, 28, 63, 26, 26, 35, 1, 41, 35, 35, 96, 54, 221, 44, 68, 23, 23, 24, 41, 39, 38, 110, 69, 1, 153, 5, 176, 152, 254, 196, 87, 164, 76, 76, 135, 57, 81, 122, 44, 45, 59, 16, 35, 8, 24, 14, 13, 31, 17, 25, 48, 25, 19, 42, 24, 84, 22, 69, 40, 39, 86, 39, 62, 75, 23, 23, 26, 12, 50, 9, 31, 25, 26, 74, 50, 78, 130, 60, 60, 117, 66, 1, 171, 0, 0, 1, 0, 164, 254, 97, 4, 43, 4, 78, 0, 32, 0, 0, 115, 51, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 6, 6, 7, 6, 6, 7, 39, 39, 35, 164, 186, 19, 52, 32, 35, 86, 52, 63, 95, 31, 33, 33, 186, 54, 50, 50, 142, 90, 65, 113, 47, 33, 56, 23, 1, 12, 167, 3, 40, 32, 51, 19, 19, 21, 29, 31, 32, 104, 73, 251, 184, 4, 76, 115, 159, 50, 49, 44, 1, 33, 31, 22, 58, 35, 14, 146, 0, 3, 0, 185, 255, 236, 4, 24, 5, 197, 0, 25, 0, 40, 0, 55, 0, 0, 69, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 55, 34, 38, 39, 38, 38, 53, 53, 33, 21, 20, 6, 7, 6, 6, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 2, 106, 103, 160, 55, 55, 57, 58, 55, 55, 161, 103, 102, 161, 55, 55, 58, 59, 56, 55, 161, 102, 64, 94, 31, 30, 29, 1, 237, 31, 33, 30, 90, 254, 203, 35, 36, 30, 88, 57, 57, 87, 30, 37, 36, 20, 77, 74, 73, 215, 138, 1, 85, 138, 215, 75, 74, 77, 77, 74, 75, 215, 138, 254, 171, 138, 215, 73, 74, 77, 150, 52, 50, 49, 145, 92, 141, 141, 97, 149, 49, 46, 47, 2, 168, 129, 102, 154, 49, 40, 41, 41, 39, 48, 155, 103, 129, 0, 0, 1, 0, 184, 255, 236, 4, 58, 4, 58, 0, 26, 0, 0, 83, 21, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 3, 184, 1, 96, 42, 40, 39, 113, 72, 37, 72, 35, 23, 48, 25, 41, 29, 78, 45, 33, 60, 23, 24, 27, 1, 4, 58, 161, 253, 179, 101, 135, 41, 41, 34, 8, 12, 8, 24, 18, 130, 17, 28, 10, 19, 18, 75, 65, 2, 248, 0, 1, 0, 57, 255, 239, 4, 92, 5, 238, 0, 45, 0, 0, 97, 19, 55, 23, 19, 22, 22, 23, 22, 22, 51, 50, 54, 55, 55, 6, 6, 35, 34, 38, 39, 38, 38, 39, 1, 38, 38, 39, 38, 38, 35, 34, 6, 7, 23, 54, 54, 51, 50, 22, 23, 22, 22, 23, 23, 1, 1, 7, 246, 29, 45, 167, 24, 57, 37, 36, 92, 59, 12, 36, 11, 2, 12, 17, 17, 24, 42, 17, 17, 28, 11, 254, 150, 15, 49, 37, 38, 106, 72, 25, 60, 18, 1, 13, 40, 13, 34, 55, 22, 22, 34, 14, 55, 254, 117, 2, 174, 119, 118, 254, 75, 66, 100, 33, 34, 34, 9, 6, 151, 3, 2, 24, 21, 20, 54, 35, 3, 182, 40, 95, 41, 40, 54, 10, 5, 142, 1, 4, 33, 27, 27, 69, 35, 143, 251, 248, 0, 1, 0, 175, 254, 119, 4, 46, 5, 196, 0, 90, 0, 0, 65, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 52, 38, 39, 38, 38, 39, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 51, 53, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 3, 247, 26, 48, 140, 71, 126, 200, 70, 71, 75, 38, 36, 35, 102, 65, 79, 126, 44, 45, 47, 72, 66, 66, 186, 114, 58, 43, 63, 19, 15, 16, 13, 12, 13, 36, 24, 97, 27, 62, 27, 26, 35, 1, 41, 35, 36, 95, 54, 111, 67, 123, 46, 47, 55, 31, 30, 22, 63, 40, 51, 132, 79, 142, 142, 84, 128, 45, 33, 48, 14, 16, 14, 41, 44, 43, 135, 95, 61, 113, 5, 8, 149, 17, 22, 45, 44, 44, 128, 83, 49, 87, 37, 37, 59, 21, 22, 72, 49, 49, 126, 76, 112, 154, 51, 52, 65, 22, 13, 10, 20, 15, 11, 29, 19, 29, 45, 20, 21, 42, 27, 84, 22, 68, 40, 39, 84, 39, 61, 74, 23, 22, 25, 13, 25, 12, 46, 37, 37, 102, 68, 60, 98, 37, 28, 43, 16, 20, 19, 152, 20, 20, 13, 37, 23, 22, 54, 30, 39, 68, 26, 25, 30, 21, 0, 0, 1, 0, 89, 255, 237, 4, 169, 4, 58, 0, 29, 0, 0, 65, 53, 33, 21, 51, 17, 51, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 4, 76, 252, 13, 132, 185, 1, 110, 32, 31, 30, 90, 57, 47, 87, 47, 41, 17, 49, 26, 22, 37, 14, 14, 16, 3, 161, 153, 153, 252, 95, 3, 161, 253, 117, 84, 114, 34, 35, 30, 19, 32, 130, 9, 16, 8, 14, 14, 51, 44, 2, 149, 0, 2, 0, 165, 254, 96, 4, 70, 4, 78, 0, 27, 0, 53, 0, 0, 65, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 51, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 39, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 70, 57, 57, 58, 175, 117, 89, 156, 64, 68, 88, 185, 22, 49, 27, 48, 115, 67, 102, 155, 53, 52, 54, 185, 32, 34, 35, 109, 76, 51, 84, 33, 34, 52, 19, 55, 52, 34, 87, 52, 77, 106, 33, 33, 30, 1, 244, 21, 126, 212, 78, 77, 88, 57, 59, 62, 197, 149, 252, 30, 2, 16, 23, 40, 15, 26, 28, 78, 70, 69, 191, 133, 21, 75, 134, 51, 51, 59, 23, 21, 20, 57, 33, 1, 37, 90, 160, 52, 33, 38, 70, 59, 59, 156, 0, 0, 1, 0, 120, 254, 89, 4, 48, 4, 78, 0, 63, 0, 0, 65, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 2, 102, 119, 183, 63, 63, 66, 67, 66, 65, 196, 130, 54, 82, 28, 27, 29, 1, 32, 23, 24, 54, 22, 77, 45, 90, 37, 36, 46, 1, 52, 49, 49, 138, 86, 92, 136, 44, 45, 43, 35, 38, 37, 117, 81, 71, 106, 35, 35, 36, 175, 69, 60, 61, 168, 4, 78, 88, 74, 75, 195, 108, 42, 105, 175, 66, 67, 88, 19, 7, 18, 13, 13, 37, 26, 40, 60, 22, 23, 31, 10, 123, 20, 60, 40, 40, 99, 59, 66, 87, 28, 28, 33, 12, 13, 69, 49, 49, 123, 68, 42, 70, 138, 56, 55, 69, 38, 32, 33, 88, 50, 93, 146, 51, 50, 53, 0, 2, 0, 109, 255, 236, 4, 134, 4, 58, 0, 28, 0, 54, 0, 0, 65, 53, 33, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 4, 134, 253, 201, 114, 179, 62, 62, 65, 65, 62, 62, 180, 115, 114, 180, 62, 61, 65, 35, 34, 25, 66, 40, 253, 187, 36, 37, 36, 112, 76, 77, 113, 37, 36, 36, 35, 37, 37, 112, 76, 77, 113, 36, 37, 36, 3, 161, 153, 82, 71, 71, 195, 112, 22, 117, 200, 74, 74, 84, 86, 71, 71, 184, 99, 23, 77, 137, 57, 42, 72, 30, 254, 112, 22, 76, 137, 52, 52, 61, 61, 52, 52, 137, 76, 22, 80, 145, 55, 55, 64, 64, 55, 55, 145, 0, 1, 0, 173, 255, 235, 4, 50, 4, 58, 0, 28, 0, 0, 65, 53, 33, 21, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 19, 4, 50, 252, 123, 1, 104, 40, 39, 38, 111, 72, 30, 59, 29, 29, 59, 30, 41, 27, 77, 44, 33, 58, 22, 22, 27, 1, 3, 156, 158, 158, 253, 178, 101, 135, 41, 42, 36, 6, 8, 7, 27, 22, 131, 17, 27, 11, 19, 19, 75, 64, 2, 88, 0, 1, 0, 158, 255, 236, 4, 63, 4, 58, 0, 36, 0, 0, 65, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 35, 22, 18, 23, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 1, 87, 185, 62, 59, 59, 171, 110, 126, 178, 56, 56, 52, 18, 16, 16, 41, 23, 195, 52, 69, 3, 34, 35, 36, 110, 77, 60, 99, 35, 35, 38, 4, 58, 253, 151, 125, 183, 59, 60, 58, 96, 81, 80, 211, 114, 82, 147, 65, 65, 113, 48, 125, 254, 251, 134, 78, 154, 61, 62, 77, 37, 41, 40, 126, 89, 0, 0, 2, 0, 110, 254, 34, 4, 119, 4, 58, 0, 46, 0, 65, 0, 0, 69, 17, 51, 17, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 38, 38, 39, 38, 38, 53, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 37, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 20, 6, 7, 6, 6, 2, 13, 185, 117, 164, 52, 52, 48, 57, 50, 50, 134, 78, 64, 94, 30, 31, 30, 63, 88, 27, 27, 25, 2, 19, 20, 19, 62, 45, 101, 55, 87, 30, 40, 39, 45, 50, 50, 157, 1, 42, 10, 11, 7, 22, 14, 46, 68, 23, 22, 23, 2, 27, 30, 30, 94, 14, 254, 48, 1, 207, 15, 103, 76, 76, 188, 101, 112, 197, 73, 72, 84, 41, 34, 35, 89, 48, 253, 76, 18, 83, 55, 54, 128, 64, 52, 108, 53, 52, 98, 41, 133, 39, 98, 56, 73, 174, 96, 102, 189, 75, 76, 103, 140, 2, 189, 23, 35, 12, 8, 9, 68, 54, 55, 138, 70, 63, 129, 55, 56, 82, 0, 0, 1, 0, 97, 254, 40, 4, 128, 4, 58, 0, 39, 0, 0, 65, 35, 17, 38, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 23, 17, 51, 17, 54, 54, 55, 54, 54, 53, 52, 2, 39, 35, 22, 18, 23, 20, 6, 7, 6, 6, 7, 2, 188, 185, 53, 86, 30, 31, 33, 185, 56, 54, 54, 155, 99, 185, 125, 172, 54, 53, 48, 47, 32, 195, 38, 49, 2, 29, 31, 32, 102, 73, 4, 58, 252, 84, 15, 67, 56, 55, 156, 103, 1, 232, 254, 26, 140, 215, 76, 76, 88, 14, 254, 53, 1, 201, 14, 105, 79, 79, 198, 107, 164, 1, 0, 95, 125, 255, 0, 134, 68, 138, 58, 59, 86, 18, 0, 0, 1, 0, 79, 255, 236, 4, 137, 4, 58, 0, 82, 0, 0, 65, 35, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 35, 22, 18, 23, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 35, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 54, 18, 1, 113, 194, 23, 38, 13, 11, 11, 30, 35, 35, 114, 83, 57, 92, 33, 19, 31, 12, 12, 30, 19, 34, 91, 58, 56, 89, 33, 40, 50, 12, 9, 8, 14, 12, 13, 36, 21, 194, 45, 58, 2, 4, 5, 6, 23, 16, 13, 34, 21, 27, 45, 17, 16, 23, 6, 4, 3, 186, 4, 3, 6, 24, 17, 17, 45, 26, 34, 46, 14, 15, 12, 2, 58, 4, 58, 55, 130, 76, 58, 131, 72, 111, 209, 81, 81, 98, 45, 43, 24, 62, 37, 37, 62, 24, 43, 45, 46, 41, 49, 137, 81, 53, 115, 58, 79, 142, 62, 68, 120, 51, 126, 254, 251, 135, 53, 102, 45, 54, 91, 32, 25, 28, 27, 27, 26, 78, 52, 29, 65, 37, 1, 43, 254, 213, 38, 68, 29, 52, 77, 25, 26, 26, 71, 60, 60, 155, 84, 135, 1, 5, 0, 2, 0, 152, 255, 236, 4, 153, 5, 198, 0, 55, 0, 75, 0, 0, 65, 39, 6, 6, 7, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 21, 20, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 53, 17, 7, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 54, 54, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 38, 38, 39, 38, 38, 4, 153, 9, 32, 68, 35, 46, 43, 43, 126, 79, 74, 122, 44, 44, 50, 70, 64, 63, 179, 110, 31, 30, 31, 94, 60, 62, 98, 34, 34, 36, 186, 65, 59, 58, 166, 102, 98, 159, 56, 56, 62, 39, 72, 253, 172, 21, 19, 19, 55, 34, 39, 57, 18, 19, 19, 71, 112, 38, 39, 40, 2, 115, 149, 8, 13, 3, 1, 97, 88, 138, 48, 48, 51, 47, 45, 45, 129, 81, 15, 100, 174, 67, 68, 90, 16, 166, 73, 112, 37, 38, 39, 1, 41, 39, 38, 111, 69, 1, 80, 2, 254, 178, 103, 168, 59, 60, 65, 60, 58, 58, 170, 109, 160, 4, 16, 1, 243, 17, 50, 71, 23, 23, 22, 26, 25, 27, 82, 55, 254, 170, 16, 66, 46, 46, 114, 0, 1, 0, 54, 0, 0, 4, 164, 5, 187, 0, 46, 0, 0, 65, 3, 7, 39, 3, 38, 38, 39, 38, 38, 35, 34, 6, 7, 23, 54, 54, 51, 50, 22, 23, 22, 22, 23, 1, 17, 51, 17, 1, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 3, 57, 180, 24, 24, 179, 26, 57, 31, 32, 70, 39, 29, 53, 27, 23, 7, 22, 14, 19, 35, 15, 13, 22, 8, 1, 42, 184, 1, 40, 6, 16, 9, 17, 41, 23, 15, 22, 7, 22, 27, 53, 28, 40, 70, 31, 32, 56, 4, 215, 254, 105, 88, 88, 1, 151, 63, 88, 27, 27, 23, 7, 17, 149, 5, 4, 11, 11, 10, 28, 18, 253, 119, 253, 192, 2, 68, 2, 133, 14, 23, 9, 16, 16, 4, 5, 149, 17, 7, 23, 27, 27, 88, 0, 2, 0, 46, 255, 236, 4, 150, 4, 58, 0, 43, 0, 89, 0, 0, 65, 53, 33, 21, 51, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 3, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 35, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 54, 54, 55, 33, 22, 22, 4, 150, 251, 152, 105, 33, 41, 3, 4, 9, 53, 44, 31, 83, 52, 57, 90, 34, 19, 31, 12, 12, 34, 21, 33, 89, 55, 78, 107, 33, 16, 24, 7, 7, 7, 10, 10, 10, 28, 16, 112, 3, 3, 3, 8, 5, 12, 39, 29, 26, 44, 17, 16, 23, 6, 5, 4, 186, 5, 4, 6, 19, 13, 17, 48, 29, 16, 27, 10, 19, 21, 6, 2, 2, 2, 47, 38, 1, 243, 38, 47, 3, 161, 153, 153, 106, 251, 140, 31, 61, 30, 82, 138, 44, 31, 35, 44, 43, 24, 63, 38, 40, 66, 25, 40, 41, 75, 63, 32, 75, 41, 39, 84, 43, 68, 130, 60, 64, 120, 55, 254, 14, 34, 66, 29, 23, 41, 18, 41, 49, 24, 25, 24, 73, 48, 31, 74, 42, 251, 251, 43, 75, 32, 41, 65, 23, 31, 31, 16, 14, 24, 88, 54, 24, 54, 27, 124, 253, 121, 121, 253, 0, 0, 1, 0, 42, 255, 245, 4, 124, 5, 176, 0, 39, 0, 0, 65, 53, 33, 21, 33, 17, 51, 17, 54, 54, 51, 50, 22, 23, 22, 22, 23, 20, 6, 7, 6, 6, 35, 23, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 17, 4, 61, 251, 237, 1, 91, 184, 30, 60, 32, 63, 95, 32, 39, 37, 1, 22, 24, 25, 81, 58, 2, 91, 143, 49, 55, 56, 60, 58, 58, 169, 108, 31, 61, 30, 5, 24, 152, 152, 250, 232, 2, 175, 2, 4, 34, 32, 38, 118, 75, 60, 97, 34, 34, 37, 145, 48, 46, 51, 158, 104, 106, 171, 59, 59, 64, 4, 2, 1, 199, 0, 1, 0, 129, 255, 236, 4, 107, 5, 197, 0, 55, 0, 0, 65, 35, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 33, 53, 33, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 107, 185, 10, 43, 37, 38, 109, 75, 79, 119, 40, 41, 41, 2, 59, 253, 197, 41, 41, 40, 119, 79, 75, 109, 37, 37, 44, 10, 185, 10, 72, 62, 63, 176, 114, 117, 187, 65, 66, 70, 70, 66, 65, 187, 117, 114, 176, 63, 62, 72, 1, 183, 77, 115, 38, 39, 39, 67, 59, 59, 161, 95, 88, 152, 75, 94, 161, 59, 58, 67, 42, 40, 40, 118, 75, 110, 173, 60, 60, 63, 87, 78, 78, 218, 131, 254, 199, 131, 217, 78, 79, 87, 67, 61, 61, 169, 0, 0, 2, 0, 30, 0, 0, 4, 157, 5, 176, 0, 46, 0, 61, 0, 0, 65, 33, 3, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 35, 21, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 19, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 2, 235, 253, 204, 3, 3, 3, 3, 10, 7, 7, 17, 11, 13, 34, 20, 22, 32, 56, 89, 34, 26, 40, 14, 13, 17, 5, 4, 4, 1, 197, 1, 20, 84, 129, 43, 43, 44, 44, 43, 43, 129, 84, 91, 91, 43, 61, 19, 19, 17, 17, 18, 19, 61, 44, 91, 5, 176, 253, 84, 69, 124, 54, 61, 104, 41, 38, 59, 20, 25, 26, 151, 46, 44, 34, 98, 60, 52, 121, 69, 56, 125, 67, 2, 20, 250, 232, 68, 60, 59, 162, 94, 94, 162, 60, 59, 69, 152, 50, 41, 41, 104, 54, 55, 105, 41, 42, 51, 0, 2, 0, 131, 0, 0, 4, 139, 5, 176, 0, 24, 0, 39, 0, 0, 115, 51, 17, 51, 17, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 35, 17, 35, 17, 35, 1, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 131, 184, 250, 233, 91, 137, 46, 45, 46, 46, 45, 46, 137, 91, 49, 184, 250, 184, 2, 106, 49, 51, 69, 21, 21, 19, 18, 21, 22, 69, 51, 49, 2, 161, 253, 95, 65, 57, 57, 155, 90, 90, 152, 56, 55, 62, 2, 105, 253, 137, 2, 119, 252, 255, 44, 36, 36, 94, 51, 51, 95, 37, 37, 45, 0, 1, 0, 67, 0, 0, 4, 104, 5, 176, 0, 29, 0, 0, 65, 53, 33, 21, 33, 17, 51, 17, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 38, 6, 7, 17, 4, 64, 252, 3, 1, 90, 185, 26, 54, 28, 61, 89, 30, 29, 28, 185, 58, 54, 54, 157, 99, 26, 54, 28, 5, 24, 152, 152, 250, 232, 2, 189, 3, 3, 27, 30, 30, 95, 68, 254, 55, 1, 201, 106, 152, 49, 49, 46, 1, 4, 4, 1, 196, 0, 0, 1, 0, 162, 254, 153, 4, 42, 5, 176, 0, 11, 0, 0, 83, 17, 33, 17, 51, 17, 33, 17, 35, 17, 33, 17, 162, 1, 108, 185, 1, 99, 185, 253, 234, 5, 176, 250, 80, 254, 153, 1, 103, 5, 176, 250, 231, 5, 25, 0, 0, 2, 0, 162, 0, 0, 4, 76, 5, 176, 0, 18, 0, 33, 0, 0, 65, 53, 33, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 17, 17, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 4, 29, 252, 133, 1, 196, 116, 181, 62, 62, 65, 65, 62, 62, 181, 116, 254, 246, 1, 10, 78, 113, 37, 37, 35, 35, 37, 37, 113, 78, 254, 246, 5, 24, 152, 250, 80, 63, 57, 57, 160, 96, 97, 156, 56, 55, 60, 1, 191, 253, 170, 43, 36, 37, 99, 56, 57, 103, 39, 39, 46, 0, 0, 2, 0, 70, 254, 153, 4, 120, 5, 176, 0, 20, 0, 33, 0, 0, 65, 19, 35, 17, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 35, 19, 51, 17, 33, 17, 1, 19, 33, 17, 33, 54, 54, 55, 54, 54, 55, 54, 54, 4, 102, 18, 127, 253, 119, 32, 2, 9, 7, 8, 21, 13, 25, 70, 46, 65, 27, 157, 2, 193, 254, 76, 22, 1, 31, 254, 64, 26, 42, 16, 15, 21, 7, 4, 6, 254, 155, 1, 252, 5, 25, 253, 183, 75, 132, 57, 66, 113, 46, 88, 113, 30, 254, 2, 1, 103, 254, 155, 4, 204, 1, 177, 251, 127, 47, 118, 70, 62, 145, 80, 46, 100, 0, 0, 1, 0, 29, 0, 0, 4, 174, 5, 176, 0, 21, 0, 0, 65, 19, 51, 1, 19, 35, 3, 35, 17, 35, 17, 35, 3, 35, 19, 1, 51, 19, 51, 17, 51, 17, 2, 251, 206, 229, 254, 242, 232, 216, 173, 62, 183, 69, 174, 215, 230, 254, 243, 230, 205, 62, 183, 2, 139, 253, 117, 2, 217, 2, 215, 253, 115, 2, 141, 253, 115, 2, 141, 253, 39, 253, 41, 2, 139, 253, 117, 2, 139, 0, 0, 1, 0, 89, 255, 235, 4, 112, 5, 196, 0, 82, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 35, 21, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 89, 90, 72, 72, 183, 95, 115, 196, 72, 71, 81, 48, 46, 32, 83, 51, 39, 67, 27, 50, 54, 1, 74, 67, 68, 189, 115, 99, 178, 67, 68, 79, 185, 49, 41, 41, 112, 63, 82, 122, 41, 41, 41, 33, 33, 18, 47, 28, 32, 77, 45, 183, 183, 51, 89, 36, 38, 58, 21, 21, 21, 48, 45, 46, 129, 81, 72, 120, 43, 43, 48, 1, 148, 111, 161, 52, 52, 49, 56, 55, 54, 159, 103, 77, 122, 46, 31, 48, 17, 17, 43, 25, 46, 117, 67, 102, 156, 52, 52, 52, 56, 51, 52, 149, 93, 54, 92, 34, 33, 37, 40, 35, 35, 94, 55, 52, 87, 31, 18, 27, 10, 11, 11, 1, 152, 13, 13, 13, 41, 30, 29, 77, 48, 60, 100, 36, 36, 40, 43, 37, 37, 100, 57, 0, 1, 0, 162, 0, 0, 4, 42, 5, 176, 0, 9, 0, 0, 65, 1, 19, 35, 17, 51, 1, 3, 51, 17, 3, 113, 253, 233, 1, 185, 185, 2, 23, 1, 185, 5, 176, 251, 208, 4, 48, 250, 80, 4, 49, 251, 207, 5, 176, 0, 0, 1, 0, 47, 0, 0, 4, 43, 5, 176, 0, 30, 0, 0, 65, 33, 3, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 21, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 19, 33, 17, 51, 4, 43, 252, 235, 4, 3, 3, 5, 22, 17, 22, 68, 47, 40, 51, 57, 94, 38, 44, 65, 21, 15, 18, 5, 2, 2, 2, 1, 165, 185, 5, 176, 252, 248, 49, 89, 40, 75, 120, 43, 56, 57, 151, 30, 29, 36, 111, 76, 55, 131, 74, 33, 69, 36, 2, 112, 250, 232, 0, 0, 1, 0, 43, 255, 235, 4, 181, 5, 176, 0, 27, 0, 0, 119, 22, 22, 51, 50, 54, 55, 54, 54, 55, 1, 35, 1, 7, 39, 1, 35, 1, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 103, 26, 105, 68, 83, 119, 42, 42, 59, 23, 2, 23, 215, 254, 224, 72, 71, 254, 204, 208, 1, 242, 42, 13, 36, 26, 26, 70, 46, 39, 90, 26, 14, 11, 24, 42, 36, 36, 95, 52, 4, 192, 253, 59, 179, 191, 2, 185, 251, 194, 85, 28, 56, 22, 22, 27, 18, 7, 0, 1, 0, 166, 254, 161, 4, 180, 5, 176, 0, 11, 0, 0, 83, 17, 33, 17, 51, 19, 35, 17, 35, 17, 33, 17, 166, 3, 86, 166, 18, 147, 185, 253, 247, 5, 176, 250, 80, 254, 161, 1, 251, 5, 20, 250, 231, 5, 25, 0, 0, 1, 0, 171, 0, 0, 4, 39, 5, 176, 0, 25, 0, 0, 65, 35, 17, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 17, 51, 4, 39, 185, 72, 144, 83, 57, 84, 27, 28, 27, 185, 55, 52, 52, 152, 97, 95, 137, 67, 185, 5, 176, 253, 69, 24, 29, 29, 35, 34, 113, 85, 1, 200, 254, 56, 121, 170, 54, 54, 49, 27, 24, 253, 165, 0, 0, 1, 0, 125, 0, 0, 4, 80, 5, 176, 0, 11, 0, 0, 65, 35, 17, 33, 17, 35, 17, 35, 17, 35, 17, 35, 1, 54, 185, 3, 211, 184, 213, 184, 213, 5, 176, 250, 80, 5, 176, 250, 231, 5, 25, 250, 231, 0, 0, 1, 0, 125, 254, 161, 4, 170, 5, 176, 0, 15, 0, 0, 65, 35, 17, 33, 17, 51, 19, 35, 17, 35, 17, 35, 17, 35, 17, 35, 1, 54, 185, 3, 118, 165, 18, 90, 184, 213, 184, 213, 5, 176, 250, 80, 254, 161, 1, 247, 5, 24, 250, 231, 5, 25, 250, 231, 0, 2, 0, 50, 0, 0, 4, 121, 5, 176, 0, 18, 0, 33, 0, 0, 83, 21, 33, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 50, 1, 49, 1, 73, 111, 172, 59, 58, 61, 61, 58, 59, 172, 111, 144, 144, 73, 104, 34, 33, 31, 31, 33, 34, 104, 73, 144, 5, 176, 152, 250, 232, 64, 58, 57, 159, 95, 96, 156, 56, 55, 61, 2, 87, 253, 18, 43, 37, 37, 99, 55, 56, 103, 39, 39, 47, 0, 0, 3, 0, 144, 0, 0, 4, 75, 5, 176, 0, 16, 0, 20, 0, 35, 0, 0, 65, 17, 35, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 1, 17, 35, 17, 1, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 73, 185, 1, 21, 95, 145, 50, 49, 50, 50, 49, 50, 145, 95, 2, 166, 185, 253, 183, 92, 55, 77, 25, 24, 22, 22, 24, 24, 78, 55, 92, 3, 89, 2, 87, 250, 80, 64, 58, 57, 159, 95, 95, 157, 56, 55, 61, 252, 167, 5, 176, 250, 80, 2, 194, 44, 37, 37, 98, 55, 56, 102, 39, 40, 47, 0, 2, 0, 168, 0, 0, 4, 81, 5, 176, 0, 16, 0, 31, 0, 0, 65, 17, 35, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 5, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 1, 97, 185, 1, 195, 116, 181, 62, 62, 65, 65, 62, 62, 181, 116, 254, 246, 1, 10, 78, 113, 37, 37, 35, 35, 37, 37, 113, 78, 254, 246, 3, 89, 2, 87, 250, 80, 63, 57, 57, 160, 96, 97, 156, 56, 55, 60, 151, 43, 36, 37, 99, 56, 57, 103, 39, 39, 46, 0, 1, 0, 114, 255, 236, 4, 83, 5, 197, 0, 55, 0, 0, 65, 35, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 51, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 33, 21, 33, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 43, 185, 1, 67, 63, 62, 176, 110, 117, 190, 67, 67, 73, 73, 67, 67, 190, 117, 110, 176, 62, 63, 67, 1, 185, 1, 39, 37, 37, 109, 71, 79, 122, 42, 42, 44, 254, 28, 1, 228, 45, 42, 42, 122, 78, 71, 109, 37, 37, 39, 1, 209, 110, 179, 63, 64, 69, 84, 77, 76, 214, 131, 1, 76, 131, 215, 77, 76, 84, 76, 66, 66, 178, 101, 76, 125, 44, 43, 48, 64, 57, 57, 159, 94, 93, 151, 90, 94, 158, 57, 57, 64, 48, 44, 43, 123, 0, 0, 2, 0, 119, 255, 236, 4, 106, 5, 196, 0, 33, 0, 59, 0, 0, 65, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 35, 17, 35, 17, 51, 17, 51, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 106, 46, 46, 46, 137, 91, 86, 130, 43, 44, 43, 114, 185, 185, 114, 44, 44, 43, 130, 86, 90, 137, 46, 46, 46, 185, 19, 21, 21, 69, 50, 46, 62, 19, 19, 16, 16, 19, 19, 62, 45, 43, 64, 21, 28, 25, 2, 3, 1, 169, 127, 199, 69, 69, 72, 72, 69, 69, 199, 127, 152, 2, 156, 250, 80, 2, 125, 122, 127, 199, 68, 69, 72, 72, 69, 68, 199, 2, 42, 254, 85, 95, 142, 47, 47, 47, 47, 47, 47, 142, 95, 1, 171, 94, 141, 47, 47, 47, 35, 34, 46, 154, 0, 0, 2, 0, 65, 0, 0, 4, 38, 5, 176, 0, 19, 0, 34, 0, 0, 97, 51, 17, 33, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 1, 51, 1, 33, 1, 52, 54, 55, 54, 54, 51, 51, 17, 35, 34, 38, 39, 38, 38, 3, 109, 185, 254, 78, 117, 189, 66, 67, 71, 51, 50, 35, 94, 58, 254, 171, 197, 1, 49, 1, 54, 253, 194, 42, 41, 41, 121, 80, 249, 255, 78, 120, 40, 40, 41, 5, 176, 56, 53, 54, 157, 100, 82, 132, 51, 35, 57, 21, 253, 110, 2, 95, 1, 175, 61, 99, 35, 34, 37, 253, 224, 42, 38, 37, 102, 0, 0, 2, 0, 129, 255, 236, 4, 71, 6, 17, 0, 53, 0, 79, 0, 0, 65, 34, 6, 7, 6, 6, 7, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 35, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 7, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 2, 134, 56, 102, 45, 45, 78, 32, 15, 66, 48, 48, 122, 70, 99, 109, 45, 51, 57, 152, 38, 33, 34, 91, 53, 111, 181, 63, 31, 48, 17, 18, 19, 66, 62, 62, 180, 114, 114, 179, 62, 62, 65, 61, 58, 58, 166, 141, 76, 113, 37, 37, 36, 36, 37, 37, 111, 76, 77, 113, 36, 37, 36, 36, 37, 36, 112, 3, 252, 25, 22, 23, 63, 37, 92, 131, 45, 45, 53, 15, 21, 30, 30, 34, 114, 93, 41, 53, 17, 18, 23, 10, 21, 115, 96, 47, 112, 65, 70, 165, 94, 99, 113, 192, 71, 71, 80, 80, 71, 71, 192, 113, 23, 105, 179, 66, 65, 75, 152, 55, 46, 47, 122, 68, 23, 76, 137, 51, 52, 61, 61, 52, 51, 137, 76, 23, 68, 122, 47, 46, 55, 0, 0, 3, 0, 164, 0, 0, 4, 48, 4, 58, 0, 27, 0, 42, 0, 57, 0, 0, 115, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 19, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 17, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 164, 1, 238, 95, 153, 54, 54, 58, 28, 27, 27, 75, 50, 8, 31, 52, 20, 36, 37, 63, 58, 59, 164, 100, 254, 87, 186, 1, 52, 56, 86, 29, 28, 29, 26, 25, 29, 89, 59, 254, 204, 239, 61, 97, 32, 34, 35, 22, 20, 32, 108, 75, 38, 39, 38, 115, 77, 44, 80, 33, 32, 47, 13, 2, 12, 30, 19, 32, 85, 49, 77, 112, 36, 36, 36, 253, 161, 22, 21, 20, 60, 39, 38, 59, 20, 23, 24, 1, 218, 1, 53, 18, 19, 19, 60, 41, 31, 49, 18, 28, 26, 0, 0, 1, 0, 183, 0, 0, 4, 42, 4, 58, 0, 5, 0, 0, 65, 53, 33, 17, 51, 17, 4, 42, 252, 141, 186, 3, 161, 153, 251, 198, 3, 161, 0, 2, 0, 54, 254, 194, 4, 154, 4, 58, 0, 17, 0, 27, 0, 0, 119, 35, 19, 51, 17, 33, 17, 51, 19, 35, 17, 33, 3, 6, 6, 7, 6, 6, 1, 55, 33, 17, 33, 54, 54, 55, 54, 54, 156, 102, 18, 166, 2, 243, 167, 18, 139, 253, 71, 16, 7, 23, 19, 19, 59, 1, 56, 9, 1, 78, 254, 70, 24, 33, 11, 11, 15, 151, 254, 43, 1, 62, 254, 194, 1, 213, 3, 163, 254, 106, 116, 188, 68, 68, 79, 2, 7, 235, 253, 8, 44, 112, 67, 66, 152, 0, 0, 1, 0, 17, 0, 0, 4, 172, 4, 58, 0, 21, 0, 0, 65, 19, 51, 1, 1, 35, 3, 35, 17, 35, 17, 35, 3, 35, 1, 1, 51, 19, 51, 17, 51, 17, 2, 245, 215, 224, 254, 214, 1, 8, 214, 190, 59, 185, 59, 189, 214, 1, 6, 254, 215, 223, 215, 59, 185, 1, 214, 254, 42, 2, 51, 2, 7, 254, 64, 1, 192, 254, 64, 1, 192, 253, 249, 253, 205, 1, 214, 254, 42, 1, 214, 0, 0, 1, 0, 135, 255, 237, 4, 74, 4, 77, 0, 82, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 21, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 135, 75, 59, 70, 188, 98, 100, 172, 64, 64, 73, 35, 33, 28, 75, 47, 33, 58, 22, 40, 44, 66, 60, 60, 166, 100, 95, 171, 64, 65, 77, 1, 185, 47, 40, 39, 104, 58, 65, 100, 34, 33, 35, 26, 25, 18, 47, 29, 23, 56, 32, 241, 241, 31, 58, 25, 25, 44, 18, 36, 38, 41, 37, 38, 106, 64, 65, 112, 41, 41, 46, 1, 64, 81, 123, 40, 49, 46, 42, 42, 41, 120, 78, 52, 85, 33, 27, 41, 14, 13, 33, 19, 34, 84, 48, 78, 117, 40, 39, 40, 44, 41, 42, 119, 75, 37, 63, 23, 22, 26, 26, 22, 23, 60, 34, 34, 54, 19, 13, 20, 6, 5, 5, 156, 4, 5, 5, 14, 10, 21, 65, 46, 37, 64, 24, 24, 27, 31, 27, 26, 69, 39, 0, 0, 1, 0, 165, 0, 0, 4, 39, 4, 58, 0, 9, 0, 0, 65, 1, 17, 35, 17, 51, 1, 17, 51, 17, 3, 110, 253, 239, 184, 184, 2, 17, 185, 4, 58, 252, 225, 3, 31, 251, 198, 3, 30, 252, 226, 4, 58, 0, 0, 1, 0, 164, 0, 0, 4, 149, 4, 58, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 35, 17, 35, 17, 51, 17, 2, 13, 1, 157, 235, 254, 12, 1, 208, 225, 254, 109, 160, 185, 185, 1, 205, 254, 51, 2, 49, 2, 9, 254, 54, 1, 202, 251, 198, 1, 205, 0, 1, 0, 55, 0, 0, 4, 38, 4, 58, 0, 27, 0, 0, 65, 33, 3, 20, 6, 7, 6, 6, 7, 6, 6, 35, 7, 7, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 19, 33, 17, 51, 4, 38, 252, 255, 2, 3, 3, 5, 16, 11, 22, 75, 57, 41, 3, 54, 106, 142, 42, 26, 34, 8, 5, 5, 1, 1, 142, 186, 4, 58, 254, 49, 50, 89, 39, 49, 81, 31, 57, 57, 1, 165, 83, 79, 49, 128, 76, 46, 103, 55, 1, 54, 252, 95, 0, 1, 0, 137, 0, 0, 4, 41, 4, 58, 0, 12, 0, 0, 101, 3, 35, 17, 51, 17, 19, 51, 19, 17, 51, 17, 35, 2, 92, 228, 239, 185, 218, 128, 212, 185, 231, 245, 3, 69, 251, 198, 2, 179, 253, 77, 2, 155, 253, 101, 4, 58, 0, 1, 0, 165, 0, 0, 4, 39, 4, 58, 0, 11, 0, 0, 97, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 4, 39, 185, 253, 240, 185, 185, 2, 16, 4, 58, 254, 43, 1, 213, 251, 198, 1, 206, 254, 50, 0, 0, 1, 0, 165, 0, 0, 4, 39, 4, 58, 0, 7, 0, 0, 97, 17, 33, 17, 51, 17, 33, 17, 4, 39, 252, 126, 185, 2, 16, 4, 58, 251, 198, 3, 161, 252, 95, 0, 0, 1, 0, 104, 0, 0, 4, 123, 4, 58, 0, 7, 0, 0, 65, 53, 33, 21, 33, 17, 51, 17, 4, 123, 251, 237, 1, 169, 186, 3, 164, 150, 150, 252, 92, 3, 164, 0, 0, 3, 0, 122, 254, 96, 4, 82, 6, 0, 0, 31, 0, 45, 0, 59, 0, 0, 83, 21, 20, 22, 23, 22, 22, 23, 17, 51, 17, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 17, 35, 17, 6, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 55, 17, 38, 38, 39, 38, 38, 37, 21, 20, 6, 7, 6, 6, 7, 17, 22, 22, 23, 22, 22, 122, 54, 52, 51, 148, 93, 185, 94, 149, 52, 51, 55, 54, 52, 52, 149, 94, 185, 93, 148, 51, 52, 54, 185, 27, 27, 26, 80, 53, 54, 80, 26, 27, 26, 2, 102, 27, 27, 27, 81, 54, 54, 81, 27, 27, 27, 2, 39, 22, 104, 183, 71, 71, 95, 16, 254, 107, 1, 148, 15, 95, 72, 71, 183, 105, 22, 104, 184, 72, 71, 96, 16, 1, 186, 254, 70, 17, 95, 71, 72, 184, 126, 22, 66, 123, 51, 51, 75, 18, 252, 234, 18, 74, 51, 51, 123, 89, 22, 68, 124, 51, 51, 74, 18, 3, 24, 18, 74, 51, 51, 124, 0, 0, 1, 0, 170, 254, 191, 4, 144, 4, 58, 0, 11, 0, 0, 83, 17, 33, 17, 51, 19, 35, 17, 35, 17, 33, 17, 170, 3, 46, 166, 18, 129, 186, 254, 14, 4, 58, 251, 198, 254, 191, 1, 216, 3, 163, 252, 93, 3, 163, 0, 0, 1, 0, 141, 0, 0, 4, 39, 4, 58, 0, 28, 0, 0, 97, 17, 35, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 17, 4, 39, 185, 30, 61, 31, 42, 88, 46, 65, 100, 32, 27, 30, 185, 62, 58, 57, 162, 100, 85, 145, 68, 4, 58, 253, 233, 7, 12, 4, 6, 6, 34, 36, 31, 92, 62, 1, 59, 254, 197, 103, 153, 50, 51, 50, 18, 17, 254, 117, 0, 0, 1, 0, 129, 0, 0, 4, 76, 4, 58, 0, 11, 0, 0, 65, 35, 17, 33, 17, 35, 17, 35, 17, 35, 17, 35, 1, 58, 185, 3, 203, 185, 208, 185, 208, 4, 58, 251, 198, 4, 58, 252, 93, 3, 163, 252, 93, 0, 0, 1, 0, 118, 254, 191, 4, 152, 4, 58, 0, 15, 0, 0, 65, 35, 17, 33, 17, 51, 19, 35, 17, 35, 17, 7, 17, 35, 17, 35, 1, 47, 185, 3, 107, 165, 18, 87, 185, 208, 185, 208, 4, 58, 251, 198, 254, 191, 1, 217, 3, 162, 252, 94, 1, 3, 163, 252, 93, 0, 0, 2, 0, 57, 0, 0, 4, 119, 4, 58, 0, 18, 0, 33, 0, 0, 97, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 33, 21, 33, 19, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 101, 1, 129, 96, 150, 51, 51, 53, 53, 51, 51, 150, 96, 200, 254, 27, 1, 44, 185, 200, 57, 82, 26, 26, 24, 24, 26, 26, 81, 58, 200, 53, 46, 45, 124, 72, 72, 122, 44, 44, 50, 1, 154, 152, 254, 103, 34, 26, 27, 67, 34, 35, 66, 25, 26, 30, 0, 0, 3, 0, 144, 0, 0, 4, 63, 4, 58, 0, 16, 0, 20, 0, 35, 0, 0, 65, 17, 35, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 1, 17, 35, 17, 1, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 73, 185, 1, 28, 88, 134, 46, 45, 47, 47, 45, 46, 135, 87, 2, 147, 185, 253, 195, 99, 47, 66, 21, 20, 19, 19, 20, 21, 66, 47, 99, 2, 160, 1, 154, 251, 198, 53, 46, 46, 124, 71, 71, 122, 45, 44, 50, 253, 96, 4, 58, 251, 198, 2, 9, 34, 27, 27, 67, 33, 35, 65, 25, 26, 31, 0, 2, 0, 165, 0, 0, 4, 64, 4, 58, 0, 16, 0, 31, 0, 0, 65, 17, 35, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 5, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 1, 94, 185, 2, 4, 97, 152, 52, 52, 54, 55, 52, 52, 151, 97, 254, 181, 1, 75, 58, 83, 27, 27, 26, 25, 27, 27, 84, 58, 254, 181, 2, 160, 1, 154, 251, 198, 52, 46, 45, 125, 72, 73, 122, 44, 44, 49, 151, 33, 26, 27, 67, 35, 36, 66, 25, 25, 30, 0, 1, 0, 129, 255, 236, 4, 58, 4, 78, 0, 53, 0, 0, 65, 50, 22, 23, 22, 22, 23, 33, 21, 33, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 2, 60, 81, 116, 38, 38, 42, 6, 254, 85, 1, 173, 5, 39, 38, 39, 118, 84, 56, 97, 36, 36, 42, 176, 67, 59, 59, 162, 96, 127, 191, 64, 64, 64, 64, 63, 64, 192, 127, 86, 160, 61, 62, 74, 176, 46, 38, 37, 96, 3, 182, 54, 45, 45, 116, 63, 152, 65, 124, 48, 49, 59, 38, 33, 32, 88, 50, 83, 143, 52, 53, 60, 87, 75, 74, 196, 108, 42, 108, 196, 74, 74, 88, 59, 50, 50, 132, 73, 46, 77, 29, 28, 32, 0, 0, 2, 0, 113, 255, 236, 4, 129, 4, 78, 0, 31, 0, 57, 0, 0, 65, 17, 35, 17, 51, 17, 51, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 42, 185, 185, 129, 6, 49, 45, 45, 131, 87, 93, 137, 45, 44, 44, 44, 45, 45, 138, 93, 85, 128, 45, 45, 50, 7, 184, 16, 20, 20, 68, 52, 53, 69, 21, 20, 17, 17, 20, 20, 69, 52, 53, 68, 20, 21, 16, 2, 111, 1, 203, 251, 198, 1, 215, 104, 180, 66, 66, 75, 86, 74, 74, 201, 114, 22, 114, 201, 75, 75, 86, 73, 64, 65, 175, 102, 94, 22, 78, 144, 56, 55, 66, 66, 55, 56, 144, 78, 22, 78, 145, 55, 55, 66, 66, 55, 55, 145, 0, 0, 2, 0, 79, 0, 0, 4, 33, 4, 58, 0, 16, 0, 31, 0, 0, 65, 33, 34, 6, 7, 6, 6, 21, 20, 22, 23, 1, 51, 1, 33, 17, 51, 1, 52, 54, 55, 54, 54, 51, 33, 17, 33, 34, 38, 39, 38, 38, 4, 33, 254, 4, 96, 154, 53, 53, 57, 112, 104, 254, 239, 200, 1, 1, 1, 80, 185, 253, 33, 28, 28, 28, 86, 57, 1, 67, 254, 166, 53, 76, 25, 26, 24, 4, 58, 50, 43, 44, 121, 72, 106, 159, 38, 254, 63, 1, 165, 254, 91, 2, 238, 35, 65, 26, 25, 31, 254, 153, 30, 25, 24, 64, 0, 1, 255, 233, 254, 75, 4, 37, 6, 0, 0, 57, 0, 0, 65, 53, 33, 53, 35, 21, 35, 21, 51, 17, 51, 17, 54, 54, 55, 54, 54, 51, 54, 22, 23, 22, 22, 21, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 3, 52, 38, 39, 38, 38, 35, 6, 6, 7, 6, 6, 7, 17, 2, 102, 254, 249, 185, 189, 189, 185, 23, 62, 36, 35, 80, 43, 61, 93, 31, 30, 30, 22, 21, 17, 48, 29, 16, 66, 19, 15, 30, 54, 32, 76, 120, 41, 42, 44, 1, 53, 49, 49, 139, 85, 59, 105, 44, 37, 63, 26, 4, 185, 151, 176, 176, 151, 251, 71, 3, 18, 37, 60, 21, 19, 22, 1, 34, 35, 32, 97, 65, 252, 252, 51, 78, 26, 20, 21, 7, 6, 148, 10, 7, 44, 43, 44, 132, 85, 3, 2, 109, 159, 52, 52, 49, 1, 30, 27, 23, 62, 38, 1, 32, 0, 0, 1, 0, 143, 255, 236, 4, 51, 4, 78, 0, 53, 0, 0, 101, 34, 38, 39, 38, 38, 39, 33, 53, 33, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 35, 6, 6, 7, 6, 6, 2, 123, 78, 111, 36, 36, 38, 5, 1, 154, 254, 102, 5, 38, 37, 36, 110, 78, 56, 97, 35, 35, 41, 1, 175, 66, 58, 59, 161, 96, 123, 184, 61, 62, 62, 62, 62, 61, 184, 123, 86, 158, 61, 61, 73, 1, 175, 1, 45, 37, 37, 95, 130, 56, 47, 46, 121, 64, 152, 63, 121, 47, 46, 57, 38, 33, 33, 87, 49, 82, 144, 53, 52, 61, 88, 74, 75, 196, 107, 42, 108, 195, 74, 75, 88, 59, 50, 49, 131, 72, 45, 77, 28, 29, 32, 0, 0, 2, 0, 38, 0, 0, 4, 176, 4, 58, 0, 40, 0, 55, 0, 0, 65, 33, 17, 20, 6, 21, 6, 6, 7, 6, 6, 35, 7, 7, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 17, 51, 17, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 19, 20, 6, 7, 6, 6, 35, 35, 17, 51, 50, 22, 23, 22, 22, 3, 8, 253, 204, 1, 2, 14, 12, 16, 54, 41, 30, 4, 45, 90, 120, 37, 29, 32, 4, 1, 1, 194, 251, 87, 134, 45, 45, 47, 47, 45, 45, 134, 87, 66, 237, 18, 20, 21, 65, 47, 66, 66, 47, 65, 21, 20, 18, 4, 58, 254, 49, 25, 48, 22, 78, 124, 46, 59, 61, 1, 155, 84, 80, 65, 177, 110, 24, 52, 27, 1, 54, 252, 95, 53, 46, 45, 123, 71, 72, 121, 45, 44, 50, 254, 182, 34, 68, 27, 27, 35, 1, 113, 31, 25, 25, 64, 0, 0, 2, 0, 130, 0, 0, 4, 146, 4, 58, 0, 24, 0, 39, 0, 0, 65, 17, 35, 17, 51, 17, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 35, 17, 23, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 59, 185, 185, 249, 1, 12, 82, 127, 43, 42, 44, 44, 42, 43, 127, 82, 83, 185, 185, 83, 42, 58, 18, 18, 16, 16, 18, 18, 58, 42, 83, 2, 161, 1, 153, 251, 198, 2, 10, 253, 246, 53, 46, 45, 123, 71, 71, 121, 45, 44, 50, 1, 157, 254, 103, 155, 31, 25, 25, 64, 33, 34, 68, 27, 27, 35, 0, 0, 1, 0, 28, 0, 0, 4, 43, 6, 0, 0, 39, 0, 0, 65, 53, 33, 53, 35, 21, 35, 21, 51, 17, 51, 17, 54, 54, 55, 54, 54, 51, 54, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 6, 6, 7, 6, 6, 7, 17, 2, 153, 254, 205, 185, 145, 145, 185, 24, 66, 39, 33, 76, 41, 59, 92, 31, 31, 32, 185, 53, 49, 49, 139, 85, 60, 108, 46, 35, 60, 25, 4, 190, 151, 171, 171, 151, 251, 66, 3, 18, 39, 62, 21, 18, 19, 1, 32, 33, 32, 100, 66, 253, 85, 2, 169, 109, 159, 52, 52, 49, 1, 31, 30, 22, 60, 37, 1, 37, 0, 0, 1, 0, 165, 254, 156, 4, 39, 4, 58, 0, 11, 0, 0, 65, 35, 17, 33, 17, 51, 17, 33, 17, 35, 17, 33, 1, 94, 185, 1, 103, 185, 1, 98, 185, 253, 240, 4, 58, 251, 198, 254, 156, 1, 100, 4, 58, 252, 93, 0, 0, 1, 0, 107, 255, 236, 4, 127, 5, 176, 0, 56, 0, 0, 65, 35, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 3, 35, 3, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 4, 126, 184, 1, 16, 16, 14, 39, 25, 25, 42, 16, 23, 24, 191, 1, 25, 23, 15, 42, 24, 23, 39, 13, 18, 18, 1, 184, 1, 43, 39, 39, 109, 67, 42, 75, 30, 24, 40, 14, 12, 32, 20, 32, 82, 48, 66, 109, 39, 39, 43, 5, 176, 251, 142, 46, 73, 24, 22, 23, 18, 16, 24, 78, 52, 4, 114, 251, 142, 52, 79, 24, 16, 17, 21, 19, 24, 75, 49, 4, 114, 251, 142, 82, 126, 43, 43, 44, 23, 22, 19, 51, 32, 28, 45, 18, 28, 28, 44, 43, 43, 126, 82, 0, 1, 0, 95, 255, 235, 4, 122, 4, 59, 0, 56, 0, 0, 65, 35, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 3, 35, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 3, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 4, 122, 185, 15, 14, 15, 42, 27, 26, 42, 16, 23, 24, 1, 191, 22, 19, 17, 46, 27, 25, 40, 14, 17, 17, 185, 1, 44, 39, 39, 110, 67, 41, 71, 29, 26, 44, 15, 13, 36, 21, 31, 80, 47, 66, 110, 40, 39, 43, 4, 59, 253, 1, 43, 69, 23, 25, 26, 18, 17, 23, 77, 51, 2, 255, 253, 1, 48, 73, 24, 20, 21, 22, 21, 24, 72, 47, 2, 255, 253, 1, 82, 126, 42, 43, 44, 20, 20, 19, 53, 35, 29, 48, 17, 27, 26, 44, 43, 42, 126, 82, 0, 2, 0, 28, 0, 0, 4, 60, 6, 24, 0, 24, 0, 39, 0, 0, 65, 53, 33, 17, 35, 17, 35, 21, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 17, 17, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 2, 215, 254, 190, 185, 192, 192, 1, 204, 97, 150, 52, 51, 54, 54, 51, 52, 150, 97, 254, 237, 1, 19, 58, 82, 27, 26, 25, 25, 26, 27, 82, 58, 254, 237, 4, 52, 152, 1, 76, 254, 180, 152, 251, 204, 52, 46, 46, 124, 72, 72, 122, 45, 44, 49, 1, 148, 253, 213, 33, 26, 27, 68, 34, 36, 65, 25, 26, 30, 0, 0, 1, 0, 125, 255, 237, 4, 148, 5, 197, 0, 84, 0, 0, 65, 17, 35, 17, 51, 17, 51, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 35, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 33, 53, 33, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 1, 53, 184, 184, 150, 14, 13, 15, 48, 32, 46, 125, 76, 53, 90, 36, 46, 66, 22, 12, 15, 4, 167, 3, 9, 6, 10, 34, 21, 18, 47, 29, 35, 57, 20, 20, 29, 8, 8, 7, 1, 26, 254, 230, 7, 7, 10, 32, 24, 20, 52, 32, 35, 54, 19, 16, 25, 9, 7, 9, 3, 167, 7, 49, 42, 43, 122, 81, 61, 105, 42, 46, 71, 19, 12, 13, 3, 64, 2, 112, 250, 80, 2, 169, 155, 67, 120, 51, 60, 98, 37, 53, 59, 27, 26, 31, 101, 63, 37, 83, 44, 31, 56, 25, 40, 60, 19, 15, 16, 32, 27, 28, 75, 47, 39, 94, 53, 155, 151, 101, 52, 91, 39, 53, 81, 29, 23, 25, 24, 23, 20, 50, 32, 26, 60, 34, 96, 156, 55, 54, 59, 37, 36, 38, 124, 81, 50, 116, 64, 99, 0, 0, 1, 0, 155, 255, 236, 4, 137, 4, 78, 0, 73, 0, 0, 65, 53, 33, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 35, 17, 35, 17, 51, 17, 51, 21, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 35, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 53, 3, 199, 254, 213, 1, 7, 7, 10, 35, 25, 19, 47, 28, 33, 51, 18, 18, 19, 175, 45, 41, 41, 116, 71, 60, 101, 40, 49, 68, 20, 12, 13, 1, 143, 185, 185, 143, 1, 13, 11, 22, 82, 58, 36, 89, 52, 64, 115, 43, 42, 50, 175, 1, 21, 18, 19, 50, 30, 27, 45, 18, 26, 36, 12, 6, 8, 1, 1, 208, 151, 37, 73, 34, 47, 79, 25, 19, 21, 33, 28, 28, 74, 40, 74, 129, 48, 48, 56, 36, 32, 41, 116, 72, 43, 96, 51, 1, 211, 251, 198, 1, 208, 2, 49, 92, 42, 80, 130, 38, 25, 26, 53, 45, 45, 117, 64, 36, 63, 24, 24, 27, 18, 17, 26, 82, 50, 32, 71, 36, 2, 0, 2, 0, 39, 0, 0, 4, 178, 5, 176, 0, 11, 0, 16, 0, 0, 65, 19, 51, 1, 35, 1, 51, 19, 51, 17, 51, 17, 37, 19, 55, 23, 19, 3, 101, 144, 189, 254, 15, 160, 254, 6, 189, 147, 148, 185, 254, 232, 185, 11, 10, 182, 1, 184, 254, 72, 5, 176, 250, 80, 1, 184, 254, 72, 1, 184, 161, 2, 44, 31, 32, 253, 213, 0, 0, 2, 0, 87, 0, 0, 4, 129, 4, 58, 0, 11, 0, 16, 0, 0, 65, 19, 51, 1, 35, 1, 51, 19, 51, 17, 51, 17, 37, 19, 55, 23, 19, 3, 74, 121, 190, 254, 57, 159, 254, 60, 189, 118, 135, 185, 254, 253, 137, 25, 24, 139, 1, 41, 254, 215, 4, 58, 251, 198, 1, 41, 254, 215, 1, 41, 152, 1, 87, 82, 82, 254, 169, 0, 0, 2, 0, 113, 0, 0, 4, 188, 5, 176, 0, 19, 0, 24, 0, 0, 65, 19, 51, 1, 35, 3, 35, 17, 35, 17, 51, 17, 51, 3, 51, 19, 51, 17, 51, 17, 39, 19, 55, 23, 19, 3, 161, 95, 188, 254, 174, 159, 208, 209, 185, 185, 168, 117, 189, 104, 69, 148, 182, 107, 8, 7, 97, 1, 212, 254, 44, 5, 176, 252, 197, 3, 59, 250, 80, 1, 212, 254, 44, 1, 212, 254, 44, 1, 212, 161, 1, 224, 36, 36, 254, 32, 0, 2, 0, 112, 0, 0, 4, 189, 4, 58, 0, 19, 0, 24, 0, 0, 65, 19, 51, 1, 35, 3, 35, 17, 35, 17, 51, 17, 51, 3, 51, 19, 51, 17, 51, 17, 39, 19, 55, 23, 19, 3, 171, 85, 189, 254, 173, 159, 213, 205, 185, 185, 151, 99, 189, 93, 79, 157, 185, 102, 8, 8, 93, 1, 37, 254, 219, 4, 58, 253, 140, 2, 116, 251, 198, 1, 37, 254, 219, 1, 37, 254, 219, 1, 37, 161, 1, 65, 27, 27, 254, 191, 0, 2, 0, 85, 0, 0, 4, 133, 5, 176, 0, 39, 0, 44, 0, 0, 115, 51, 17, 52, 54, 55, 54, 54, 51, 51, 17, 51, 17, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 39, 35, 1, 33, 1, 35, 34, 6, 7, 6, 6, 21, 1, 3, 7, 39, 3, 86, 185, 21, 22, 21, 67, 46, 83, 185, 77, 46, 67, 22, 22, 22, 185, 48, 46, 47, 134, 86, 1, 1, 54, 252, 33, 1, 81, 3, 86, 135, 46, 47, 49, 2, 231, 202, 2, 2, 224, 1, 171, 61, 82, 25, 25, 22, 253, 126, 2, 130, 22, 25, 25, 82, 61, 254, 85, 1, 171, 98, 138, 45, 44, 41, 1, 2, 150, 253, 106, 41, 44, 45, 139, 98, 3, 109, 254, 41, 3, 3, 1, 215, 0, 2, 0, 105, 0, 0, 4, 89, 4, 58, 0, 41, 0, 47, 0, 0, 115, 51, 53, 52, 54, 55, 54, 54, 51, 51, 23, 17, 51, 17, 55, 51, 50, 22, 23, 22, 22, 21, 23, 51, 53, 52, 38, 39, 38, 38, 39, 35, 1, 33, 1, 35, 6, 6, 7, 6, 6, 21, 1, 3, 7, 35, 39, 3, 105, 185, 20, 20, 20, 61, 42, 61, 5, 186, 8, 51, 42, 61, 20, 20, 20, 1, 185, 42, 40, 40, 114, 71, 3, 1, 28, 252, 80, 1, 27, 3, 73, 119, 41, 42, 43, 2, 178, 174, 4, 5, 4, 175, 219, 67, 89, 27, 27, 23, 9, 254, 69, 1, 187, 9, 23, 27, 27, 89, 67, 219, 219, 97, 140, 47, 46, 48, 5, 1, 224, 254, 33, 3, 47, 46, 46, 143, 99, 2, 199, 254, 193, 7, 7, 1, 63, 0, 0, 2, 0, 80, 0, 0, 4, 135, 5, 176, 0, 45, 0, 50, 0, 0, 97, 51, 17, 52, 54, 55, 54, 54, 55, 51, 17, 51, 17, 51, 50, 22, 23, 22, 22, 21, 19, 51, 17, 52, 38, 39, 38, 38, 35, 35, 19, 33, 19, 33, 17, 35, 17, 51, 17, 51, 6, 6, 7, 6, 6, 21, 1, 3, 7, 39, 3, 1, 131, 153, 11, 11, 13, 41, 30, 52, 153, 42, 28, 41, 14, 15, 14, 1, 153, 33, 34, 38, 97, 45, 1, 235, 253, 23, 235, 254, 127, 171, 171, 155, 5, 7, 2, 3, 3, 2, 5, 127, 2, 2, 127, 1, 244, 35, 51, 16, 19, 18, 1, 253, 128, 2, 128, 13, 15, 16, 56, 40, 254, 12, 1, 244, 77, 109, 34, 38, 34, 2, 152, 253, 104, 2, 152, 250, 80, 2, 128, 14, 29, 16, 18, 41, 22, 3, 36, 254, 108, 7, 7, 1, 148, 0, 0, 2, 0, 81, 0, 0, 4, 134, 4, 58, 0, 47, 0, 52, 0, 0, 115, 51, 17, 51, 6, 6, 7, 6, 6, 21, 19, 51, 17, 52, 54, 55, 54, 54, 51, 51, 23, 17, 51, 17, 55, 51, 50, 22, 23, 22, 22, 21, 19, 51, 17, 52, 38, 39, 38, 38, 39, 35, 19, 33, 19, 33, 17, 35, 5, 3, 7, 39, 3, 81, 171, 156, 4, 8, 2, 4, 3, 1, 153, 12, 12, 14, 43, 30, 38, 8, 154, 7, 29, 32, 44, 14, 13, 13, 1, 153, 34, 33, 27, 78, 48, 3, 211, 253, 34, 210, 254, 142, 171, 3, 54, 123, 1, 1, 123, 1, 187, 13, 29, 15, 19, 41, 23, 254, 209, 1, 47, 35, 51, 17, 19, 18, 5, 254, 74, 1, 183, 4, 15, 17, 16, 54, 38, 254, 209, 1, 47, 76, 110, 35, 30, 33, 5, 1, 234, 254, 25, 1, 231, 143, 254, 195, 2, 2, 1, 61, 0, 2, 0, 202, 254, 70, 4, 36, 7, 116, 0, 92, 0, 101, 0, 0, 65, 35, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 34, 6, 7, 6, 6, 21, 22, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 33, 21, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 3, 39, 35, 21, 23, 51, 55, 53, 35, 2, 28, 141, 141, 79, 124, 43, 43, 45, 15, 15, 14, 39, 24, 37, 95, 55, 46, 75, 122, 43, 44, 48, 1, 47, 38, 37, 93, 47, 74, 23, 55, 25, 25, 33, 15, 16, 18, 59, 41, 53, 87, 152, 60, 33, 56, 22, 34, 36, 48, 45, 33, 90, 54, 57, 92, 32, 32, 35, 33, 31, 30, 85, 53, 53, 125, 68, 254, 206, 1, 50, 72, 109, 37, 37, 37, 14, 14, 17, 65, 44, 32, 79, 15, 151, 157, 251, 114, 254, 160, 3, 55, 151, 33, 33, 33, 102, 69, 35, 64, 28, 26, 44, 18, 26, 29, 30, 31, 31, 96, 67, 60, 100, 40, 40, 59, 20, 124, 10, 31, 22, 22, 61, 40, 24, 40, 15, 16, 18, 40, 38, 21, 54, 31, 49, 121, 71, 76, 122, 45, 34, 50, 17, 22, 64, 40, 40, 94, 53, 62, 107, 44, 42, 69, 22, 23, 24, 152, 36, 32, 32, 87, 50, 35, 60, 26, 33, 50, 16, 11, 12, 3, 164, 152, 21, 245, 248, 18, 0, 2, 0, 222, 254, 70, 4, 9, 6, 30, 0, 98, 0, 107, 0, 0, 65, 35, 21, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 34, 6, 7, 6, 6, 21, 22, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 33, 21, 33, 50, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 3, 39, 35, 21, 23, 51, 55, 53, 35, 2, 44, 141, 141, 41, 73, 30, 37, 55, 18, 19, 19, 12, 12, 19, 62, 40, 24, 54, 29, 41, 75, 123, 43, 44, 48, 1, 48, 38, 37, 93, 46, 75, 23, 55, 25, 25, 33, 14, 16, 18, 59, 42, 48, 48, 91, 40, 69, 110, 32, 23, 24, 35, 33, 27, 76, 46, 39, 64, 24, 33, 35, 27, 27, 34, 110, 72, 38, 84, 43, 254, 212, 1, 44, 35, 63, 26, 41, 56, 14, 7, 7, 31, 33, 15, 39, 23, 27, 64, 13, 151, 157, 251, 114, 254, 160, 2, 105, 151, 8, 7, 9, 26, 20, 18, 49, 29, 21, 39, 17, 27, 40, 11, 6, 7, 30, 31, 31, 96, 67, 60, 100, 40, 40, 59, 20, 124, 10, 31, 22, 22, 61, 40, 24, 39, 15, 17, 18, 12, 12, 19, 72, 49, 33, 80, 46, 49, 81, 31, 26, 40, 14, 15, 39, 23, 31, 77, 43, 47, 81, 33, 44, 68, 17, 9, 10, 153, 8, 8, 13, 40, 27, 12, 29, 15, 37, 60, 20, 10, 15, 5, 7, 6, 3, 29, 152, 21, 245, 248, 18, 0, 3, 0, 99, 255, 236, 4, 90, 5, 196, 0, 37, 0, 58, 0, 79, 0, 0, 65, 53, 38, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 37, 53, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 23, 29, 2, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 53, 4, 90, 1, 25, 26, 27, 81, 56, 56, 146, 90, 90, 145, 56, 56, 81, 26, 27, 25, 1, 1, 26, 27, 26, 82, 56, 56, 145, 90, 90, 145, 56, 56, 81, 26, 26, 25, 252, 192, 1, 13, 15, 14, 48, 36, 36, 98, 64, 65, 98, 36, 36, 48, 15, 14, 12, 1, 1, 11, 14, 15, 47, 35, 36, 99, 65, 65, 98, 36, 36, 48, 15, 15, 13, 1, 2, 132, 166, 78, 160, 74, 74, 129, 48, 48, 55, 55, 48, 49, 129, 74, 74, 159, 78, 166, 78, 158, 74, 74, 129, 48, 48, 55, 55, 48, 48, 128, 74, 74, 159, 235, 11, 51, 113, 56, 55, 101, 39, 38, 46, 45, 38, 39, 101, 55, 56, 113, 52, 11, 152, 5, 52, 114, 55, 56, 101, 38, 39, 46, 46, 39, 38, 102, 56, 55, 114, 51, 5, 0, 0, 3, 0, 93, 255, 236, 4, 53, 4, 78, 0, 25, 0, 38, 0, 51, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 50, 22, 23, 22, 22, 23, 33, 54, 54, 55, 54, 54, 19, 34, 38, 39, 38, 38, 39, 33, 6, 6, 7, 6, 6, 93, 68, 64, 63, 183, 115, 114, 182, 64, 63, 68, 68, 63, 64, 183, 115, 114, 182, 63, 64, 68, 1, 235, 68, 107, 38, 38, 45, 8, 253, 161, 7, 46, 38, 38, 106, 70, 70, 107, 38, 39, 44, 7, 2, 96, 7, 44, 38, 38, 107, 2, 39, 22, 117, 200, 74, 74, 84, 84, 74, 74, 200, 117, 22, 117, 201, 74, 74, 85, 85, 74, 74, 201, 1, 26, 52, 45, 45, 121, 68, 68, 121, 45, 45, 52, 252, 204, 53, 46, 46, 123, 70, 70, 123, 46, 46, 53, 0, 0, 1, 0, 26, 0, 0, 4, 225, 5, 195, 0, 22, 0, 0, 65, 1, 35, 1, 51, 1, 54, 54, 55, 54, 54, 51, 51, 55, 39, 34, 6, 7, 6, 6, 7, 1, 7, 2, 71, 254, 164, 209, 1, 250, 170, 1, 131, 14, 28, 18, 17, 42, 27, 13, 1, 46, 56, 88, 35, 35, 56, 24, 254, 254, 34, 1, 118, 4, 58, 250, 80, 4, 135, 38, 55, 18, 17, 16, 171, 1, 34, 36, 36, 110, 77, 252, 215, 129, 0, 1, 0, 81, 0, 0, 4, 96, 4, 77, 0, 26, 0, 0, 97, 51, 1, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 7, 3, 7, 39, 1, 35, 1, 235, 141, 1, 61, 8, 25, 16, 14, 29, 15, 14, 23, 6, 21, 26, 52, 28, 32, 61, 27, 39, 66, 25, 176, 25, 24, 254, 244, 190, 3, 76, 22, 37, 13, 10, 11, 5, 3, 148, 17, 7, 18, 19, 28, 101, 76, 253, 225, 101, 101, 2, 254, 0, 3, 0, 69, 254, 81, 4, 186, 5, 196, 0, 25, 0, 51, 0, 79, 0, 0, 65, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 35, 3, 7, 39, 3, 35, 19, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 2, 138, 39, 38, 39, 112, 73, 69, 105, 35, 36, 35, 35, 36, 35, 105, 69, 73, 113, 38, 38, 39, 185, 12, 13, 14, 44, 33, 32, 43, 13, 13, 12, 12, 13, 13, 43, 32, 32, 45, 14, 13, 12, 177, 16, 56, 20, 57, 80, 28, 27, 34, 9, 241, 164, 98, 7, 4, 73, 164, 159, 24, 5, 17, 13, 14, 41, 29, 12, 46, 12, 1, 231, 1, 225, 115, 188, 67, 66, 72, 72, 66, 67, 188, 115, 254, 31, 115, 187, 66, 67, 72, 72, 67, 66, 187, 2, 123, 253, 211, 72, 116, 40, 41, 44, 44, 41, 40, 116, 72, 2, 45, 72, 115, 41, 40, 43, 43, 40, 41, 115, 250, 42, 5, 11, 53, 40, 39, 92, 39, 4, 226, 253, 197, 47, 47, 2, 59, 251, 197, 94, 21, 62, 29, 29, 41, 4, 2, 0, 3, 0, 55, 254, 81, 4, 187, 4, 78, 0, 25, 0, 51, 0, 79, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 35, 3, 7, 39, 3, 35, 19, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 55, 36, 38, 38, 121, 86, 85, 121, 39, 38, 36, 36, 38, 39, 122, 86, 85, 120, 38, 39, 35, 185, 8, 14, 13, 53, 44, 45, 54, 14, 14, 8, 8, 13, 14, 53, 45, 45, 53, 14, 14, 8, 1, 147, 14, 58, 20, 57, 80, 28, 27, 35, 8, 241, 164, 78, 30, 13, 61, 164, 159, 24, 5, 17, 13, 14, 41, 29, 12, 46, 12, 2, 40, 23, 117, 201, 73, 74, 84, 84, 74, 73, 201, 117, 23, 117, 201, 74, 74, 84, 84, 74, 74, 201, 140, 23, 78, 144, 55, 55, 66, 66, 55, 55, 144, 78, 23, 80, 144, 55, 55, 65, 65, 55, 55, 144, 252, 160, 4, 12, 53, 40, 39, 92, 39, 4, 226, 254, 55, 177, 179, 1, 199, 251, 197, 94, 21, 62, 29, 29, 41, 4, 2, 0, 0, 4, 0, 106, 255, 115, 4, 97, 6, 53, 0, 3, 0, 7, 0, 45, 0, 83, 0, 0, 65, 17, 35, 17, 19, 17, 35, 17, 1, 53, 38, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 39, 21, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 2, 194, 185, 185, 185, 2, 88, 1, 25, 26, 27, 81, 56, 56, 146, 90, 90, 145, 56, 56, 81, 26, 27, 25, 1, 1, 26, 27, 26, 82, 56, 56, 145, 90, 90, 145, 56, 56, 81, 26, 26, 25, 182, 1, 11, 14, 15, 47, 35, 36, 99, 65, 65, 98, 36, 36, 48, 15, 15, 13, 1, 1, 13, 15, 14, 48, 36, 36, 98, 64, 65, 98, 36, 36, 48, 15, 14, 12, 4, 179, 1, 130, 254, 126, 250, 192, 1, 139, 254, 117, 3, 17, 166, 78, 160, 74, 74, 129, 48, 48, 55, 55, 48, 49, 129, 74, 74, 159, 78, 166, 78, 158, 74, 74, 129, 48, 48, 55, 55, 48, 48, 128, 74, 74, 159, 246, 168, 52, 114, 55, 56, 101, 38, 39, 46, 46, 39, 38, 102, 56, 55, 114, 51, 168, 51, 113, 56, 55, 101, 39, 38, 46, 45, 38, 39, 101, 55, 56, 113, 0, 0, 4, 0, 122, 255, 97, 4, 82, 4, 203, 0, 3, 0, 7, 0, 33, 0, 59, 0, 0, 65, 17, 35, 17, 19, 17, 35, 17, 1, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 2, 196, 186, 186, 186, 254, 112, 68, 64, 63, 183, 115, 114, 182, 64, 63, 68, 68, 63, 64, 183, 115, 114, 182, 63, 64, 68, 185, 38, 39, 38, 114, 77, 77, 115, 39, 38, 39, 38, 38, 39, 115, 76, 77, 116, 38, 39, 38, 3, 70, 1, 133, 254, 123, 252, 27, 1, 151, 254, 105, 2, 198, 22, 117, 200, 74, 74, 84, 84, 74, 74, 200, 117, 22, 117, 201, 74, 74, 85, 85, 74, 74, 201, 139, 22, 79, 145, 55, 55, 65, 65, 55, 55, 145, 79, 22, 80, 145, 55, 55, 64, 64, 55, 55, 145, 0, 0, 3, 0, 77, 255, 235, 4, 131, 7, 81, 0, 98, 0, 134, 0, 147, 0, 0, 65, 21, 50, 22, 23, 22, 22, 23, 22, 22, 23, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 35, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 55, 54, 54, 55, 53, 34, 6, 7, 6, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 39, 38, 38, 19, 35, 34, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 51, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 51, 5, 23, 54, 54, 55, 54, 54, 53, 53, 35, 21, 20, 6, 3, 34, 31, 51, 21, 14, 24, 8, 9, 9, 1, 1, 23, 21, 17, 43, 26, 27, 45, 17, 12, 18, 5, 3, 3, 186, 3, 4, 6, 21, 15, 16, 41, 24, 29, 46, 17, 18, 20, 5, 6, 7, 26, 18, 20, 54, 31, 79, 130, 46, 21, 33, 12, 16, 16, 46, 42, 41, 116, 71, 47, 82, 32, 18, 32, 12, 11, 30, 18, 32, 83, 49, 70, 117, 42, 41, 46, 15, 14, 12, 35, 22, 47, 130, 109, 40, 45, 77, 34, 34, 62, 30, 31, 63, 34, 57, 90, 30, 26, 28, 127, 1, 1, 11, 9, 13, 43, 30, 20, 40, 21, 20, 43, 23, 48, 116, 73, 42, 254, 32, 76, 25, 47, 18, 18, 22, 139, 34, 5, 175, 151, 21, 20, 14, 39, 24, 26, 63, 36, 253, 43, 55, 84, 26, 20, 21, 21, 20, 15, 42, 26, 15, 32, 17, 1, 252, 254, 4, 19, 35, 15, 28, 44, 15, 15, 17, 25, 24, 26, 80, 51, 2, 213, 28, 50, 22, 32, 51, 18, 20, 21, 1, 151, 51, 50, 22, 54, 31, 39, 93, 54, 253, 43, 87, 133, 45, 45, 47, 29, 28, 17, 42, 26, 25, 42, 16, 29, 30, 47, 45, 45, 133, 87, 2, 213, 51, 89, 37, 34, 58, 24, 50, 51, 1, 36, 19, 14, 14, 33, 14, 13, 19, 30, 30, 27, 79, 52, 36, 18, 24, 37, 13, 19, 16, 11, 9, 9, 22, 11, 24, 40, 241, 56, 13, 45, 27, 26, 59, 29, 102, 96, 38, 71, 0, 0, 3, 0, 103, 255, 235, 4, 124, 5, 222, 0, 86, 0, 122, 0, 135, 0, 0, 65, 21, 50, 22, 23, 22, 22, 21, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 35, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 51, 53, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 37, 51, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 51, 53, 35, 34, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 19, 23, 54, 54, 55, 54, 54, 53, 53, 35, 21, 20, 6, 3, 45, 27, 47, 18, 28, 30, 18, 16, 15, 40, 25, 24, 41, 16, 15, 21, 6, 3, 4, 186, 4, 3, 6, 25, 18, 15, 38, 22, 24, 39, 14, 17, 19, 29, 27, 19, 46, 28, 75, 123, 44, 44, 49, 43, 40, 39, 110, 67, 42, 74, 31, 23, 39, 15, 11, 26, 15, 33, 86, 52, 67, 110, 40, 39, 43, 49, 44, 45, 123, 253, 202, 127, 1, 1, 14, 12, 14, 40, 27, 39, 81, 49, 21, 45, 25, 32, 73, 42, 43, 40, 39, 69, 31, 22, 42, 20, 48, 91, 52, 58, 91, 30, 26, 27, 201, 76, 25, 47, 18, 18, 22, 139, 34, 4, 77, 151, 20, 19, 29, 101, 71, 254, 134, 52, 79, 26, 22, 23, 16, 16, 14, 40, 26, 16, 36, 20, 1, 13, 254, 243, 18, 33, 15, 31, 46, 15, 13, 13, 21, 20, 26, 81, 54, 1, 122, 71, 100, 29, 20, 20, 151, 50, 49, 50, 146, 96, 254, 134, 87, 132, 44, 45, 45, 22, 21, 18, 48, 31, 22, 38, 16, 32, 32, 45, 45, 44, 132, 87, 1, 122, 96, 146, 50, 49, 50, 147, 18, 26, 39, 13, 16, 15, 39, 23, 10, 21, 8, 11, 14, 127, 14, 12, 8, 20, 10, 23, 39, 30, 31, 27, 78, 51, 254, 234, 56, 13, 45, 27, 26, 59, 29, 102, 96, 38, 71, 0, 2, 0, 113, 255, 236, 4, 133, 7, 4, 0, 7, 0, 70, 0, 0, 65, 21, 33, 21, 51, 53, 33, 39, 19, 35, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 35, 3, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 3, 35, 3, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 1, 27, 1, 12, 168, 1, 29, 1, 153, 184, 1, 17, 16, 14, 39, 24, 29, 46, 17, 11, 17, 4, 3, 3, 191, 1, 3, 4, 5, 20, 14, 16, 42, 25, 28, 43, 15, 12, 13, 1, 184, 1, 43, 39, 39, 109, 67, 46, 80, 31, 21, 34, 13, 12, 30, 19, 32, 83, 50, 66, 109, 39, 39, 43, 7, 4, 108, 125, 125, 108, 254, 172, 251, 142, 47, 74, 24, 21, 22, 23, 22, 15, 40, 24, 15, 32, 17, 4, 114, 251, 142, 19, 35, 15, 27, 42, 15, 17, 18, 29, 28, 24, 66, 41, 4, 114, 251, 142, 82, 126, 43, 43, 44, 27, 27, 17, 47, 29, 27, 44, 17, 29, 30, 44, 43, 43, 126, 82, 0, 0, 2, 0, 95, 255, 235, 4, 122, 5, 176, 0, 7, 0, 64, 0, 0, 65, 21, 33, 21, 51, 53, 33, 39, 19, 35, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 3, 35, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 3, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 1, 4, 1, 15, 168, 1, 32, 1, 160, 185, 23, 22, 13, 35, 20, 47, 64, 12, 4, 4, 1, 191, 4, 4, 13, 64, 46, 26, 42, 14, 15, 16, 185, 1, 44, 39, 39, 110, 67, 54, 90, 33, 15, 24, 10, 11, 28, 16, 33, 88, 52, 66, 110, 40, 39, 43, 5, 176, 108, 127, 127, 108, 254, 139, 253, 1, 54, 79, 23, 15, 15, 59, 54, 16, 37, 20, 2, 255, 253, 1, 21, 37, 17, 53, 58, 24, 24, 23, 70, 45, 2, 255, 253, 1, 82, 126, 42, 43, 44, 36, 36, 15, 38, 22, 24, 41, 16, 33, 33, 44, 43, 42, 126, 82, 0, 0, 1, 0, 151, 254, 130, 4, 101, 5, 197, 0, 42, 0, 0, 65, 17, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 17, 3, 42, 109, 88, 136, 46, 47, 48, 41, 40, 40, 117, 75, 71, 108, 37, 36, 38, 1, 185, 67, 61, 62, 176, 110, 114, 184, 65, 65, 70, 66, 62, 61, 175, 110, 254, 130, 2, 0, 77, 66, 65, 172, 95, 249, 94, 171, 65, 64, 77, 48, 43, 44, 124, 75, 110, 179, 64, 64, 69, 97, 84, 85, 228, 131, 247, 121, 213, 82, 83, 107, 14, 254, 145, 0, 0, 1, 0, 191, 254, 130, 4, 59, 4, 78, 0, 45, 0, 0, 65, 17, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 17, 2, 253, 102, 77, 108, 35, 35, 32, 33, 35, 35, 108, 76, 52, 90, 33, 32, 38, 175, 63, 56, 56, 154, 91, 70, 122, 50, 54, 83, 28, 32, 33, 51, 49, 49, 145, 95, 254, 130, 2, 0, 69, 56, 55, 139, 71, 42, 69, 139, 56, 55, 69, 38, 33, 33, 88, 49, 83, 143, 53, 53, 61, 35, 31, 33, 95, 57, 63, 148, 78, 42, 98, 179, 72, 72, 97, 16, 254, 144, 0, 0, 1, 0, 118, 0, 0, 4, 146, 5, 62, 0, 19, 0, 0, 65, 19, 5, 55, 37, 19, 35, 3, 37, 7, 5, 3, 37, 7, 5, 3, 51, 19, 5, 55, 2, 90, 208, 1, 32, 72, 254, 219, 231, 165, 188, 254, 221, 70, 1, 34, 205, 254, 219, 68, 1, 33, 225, 168, 182, 1, 35, 68, 1, 190, 1, 109, 170, 122, 171, 1, 152, 254, 181, 171, 125, 171, 254, 147, 171, 123, 171, 254, 114, 1, 65, 170, 123, 0, 0, 1, 0, 209, 4, 166, 3, 145, 5, 252, 0, 7, 0, 0, 65, 33, 53, 39, 23, 33, 7, 23, 1, 119, 2, 26, 165, 1, 253, 229, 1, 166, 5, 35, 216, 1, 108, 233, 1, 0, 0, 1, 0, 252, 5, 23, 3, 240, 6, 21, 0, 35, 0, 0, 65, 35, 21, 51, 50, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 51, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 1, 38, 42, 44, 61, 104, 45, 36, 67, 30, 34, 62, 31, 27, 45, 15, 13, 14, 128, 28, 27, 31, 93, 59, 40, 72, 35, 36, 72, 39, 40, 90, 5, 150, 126, 21, 16, 13, 29, 13, 14, 19, 15, 15, 13, 39, 26, 18, 36, 51, 78, 27, 31, 31, 19, 14, 14, 33, 14, 14, 19, 0, 0, 1, 1, 195, 5, 22, 2, 178, 6, 87, 0, 5, 0, 0, 65, 23, 55, 39, 55, 35, 1, 195, 161, 78, 60, 1, 180, 5, 220, 198, 65, 116, 140, 0, 0, 1, 2, 60, 5, 22, 3, 42, 6, 87, 0, 5, 0, 0, 65, 55, 53, 35, 21, 7, 2, 136, 162, 180, 58, 5, 22, 198, 123, 140, 116, 0, 0, 8, 254, 171, 254, 196, 6, 71, 5, 175, 0, 19, 0, 39, 0, 59, 0, 79, 0, 99, 0, 119, 0, 139, 0, 159, 0, 0, 65, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 19, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 3, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 3, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 19, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 152, 113, 42, 55, 54, 45, 112, 30, 27, 28, 78, 48, 48, 78, 27, 28, 29, 2, 79, 114, 43, 53, 54, 45, 113, 30, 28, 28, 78, 48, 48, 78, 27, 27, 30, 187, 113, 44, 53, 54, 45, 112, 30, 27, 28, 78, 48, 48, 78, 27, 27, 30, 197, 113, 44, 53, 54, 45, 112, 30, 27, 28, 78, 48, 48, 78, 27, 27, 30, 253, 192, 113, 44, 53, 54, 45, 112, 30, 27, 28, 78, 48, 48, 78, 27, 28, 29, 253, 190, 114, 42, 55, 54, 45, 112, 30, 27, 28, 78, 48, 48, 78, 27, 28, 30, 176, 113, 45, 52, 54, 45, 112, 30, 27, 28, 78, 48, 48, 77, 27, 28, 30, 166, 114, 44, 52, 54, 45, 113, 30, 28, 28, 78, 48, 48, 77, 27, 28, 30, 4, 243, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 254, 194, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 253, 224, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 253, 208, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 254, 187, 39, 62, 61, 40, 42, 69, 25, 24, 28, 28, 24, 25, 69, 4, 240, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 253, 224, 40, 61, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 253, 208, 40, 61, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 0, 8, 254, 180, 254, 99, 5, 244, 5, 198, 0, 4, 0, 9, 0, 14, 0, 19, 0, 24, 0, 29, 0, 34, 0, 39, 0, 0, 69, 35, 3, 51, 19, 3, 51, 19, 35, 3, 1, 21, 5, 53, 37, 5, 53, 37, 21, 5, 1, 23, 37, 39, 5, 1, 39, 5, 23, 37, 3, 55, 3, 7, 19, 1, 7, 19, 55, 3, 2, 183, 137, 70, 96, 122, 206, 136, 70, 96, 122, 2, 178, 1, 90, 254, 179, 251, 103, 254, 166, 1, 77, 3, 169, 97, 1, 38, 68, 254, 191, 253, 82, 97, 254, 218, 69, 1, 64, 138, 98, 198, 65, 148, 3, 211, 97, 197, 66, 149, 60, 254, 159, 1, 83, 4, 176, 1, 96, 254, 174, 254, 3, 139, 71, 98, 124, 210, 139, 71, 98, 124, 2, 69, 99, 200, 68, 153, 252, 27, 99, 200, 69, 153, 3, 88, 98, 1, 43, 69, 254, 186, 253, 67, 99, 254, 213, 71, 1, 69, 0, 3, 0, 191, 0, 0, 4, 121, 5, 176, 0, 3, 0, 20, 0, 35, 0, 0, 65, 1, 7, 1, 37, 33, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 33, 17, 51, 17, 17, 33, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 4, 49, 254, 148, 131, 1, 107, 253, 203, 1, 31, 98, 175, 66, 66, 77, 77, 66, 66, 175, 98, 254, 40, 185, 1, 31, 64, 109, 40, 39, 45, 45, 40, 40, 108, 64, 1, 211, 1, 236, 70, 254, 20, 187, 1, 58, 55, 55, 161, 105, 105, 162, 55, 55, 58, 2, 250, 80, 2, 224, 2, 56, 1, 40, 37, 37, 106, 66, 66, 103, 36, 36, 39, 1, 0, 3, 0, 173, 254, 96, 4, 63, 4, 78, 0, 3, 0, 33, 0, 59, 0, 0, 101, 1, 7, 1, 19, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 39, 35, 17, 51, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 39, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 54, 254, 150, 113, 1, 107, 121, 56, 54, 54, 160, 104, 60, 104, 42, 29, 51, 22, 9, 169, 185, 20, 47, 26, 44, 105, 62, 102, 159, 54, 54, 56, 185, 29, 30, 37, 116, 84, 44, 72, 30, 32, 51, 19, 19, 50, 31, 30, 73, 43, 78, 112, 37, 36, 35, 2, 1, 118, 94, 254, 139, 2, 108, 21, 121, 203, 73, 73, 82, 25, 25, 17, 44, 27, 118, 250, 38, 2, 8, 23, 37, 15, 24, 25, 84, 74, 74, 201, 137, 21, 72, 134, 52, 63, 77, 19, 17, 19, 56, 34, 2, 9, 34, 56, 19, 18, 21, 64, 54, 55, 143, 0, 1, 0, 182, 0, 0, 4, 71, 6, 255, 0, 7, 0, 0, 65, 17, 35, 17, 33, 17, 51, 17, 4, 71, 185, 253, 40, 186, 5, 24, 1, 231, 254, 177, 250, 80, 5, 24, 0, 1, 0, 182, 0, 0, 4, 49, 5, 119, 0, 7, 0, 0, 65, 17, 35, 17, 33, 17, 51, 17, 4, 49, 186, 253, 63, 186, 3, 161, 1, 214, 254, 195, 251, 198, 3, 161, 0, 1, 0, 185, 254, 224, 4, 127, 5, 176, 0, 33, 0, 0, 65, 53, 33, 17, 51, 17, 51, 50, 22, 23, 22, 22, 23, 20, 6, 7, 6, 6, 35, 23, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 4, 52, 252, 133, 186, 184, 96, 147, 50, 58, 59, 1, 30, 34, 34, 111, 81, 2, 115, 177, 60, 60, 61, 80, 76, 77, 221, 142, 184, 5, 24, 152, 250, 80, 2, 160, 48, 45, 53, 163, 106, 90, 147, 52, 52, 57, 147, 73, 69, 69, 203, 131, 134, 214, 75, 74, 80, 1, 214, 0, 0, 1, 0, 184, 254, 228, 4, 82, 4, 58, 0, 33, 0, 0, 65, 53, 33, 17, 51, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 4, 43, 252, 141, 186, 218, 71, 121, 45, 45, 51, 28, 30, 30, 96, 68, 48, 103, 148, 47, 47, 44, 79, 69, 70, 189, 111, 218, 3, 161, 153, 251, 198, 1, 228, 41, 39, 40, 118, 76, 56, 96, 39, 40, 59, 18, 146, 19, 103, 66, 66, 142, 58, 113, 177, 61, 60, 65, 1, 27, 0, 1, 0, 174, 0, 0, 4, 196, 5, 176, 0, 20, 0, 0, 65, 35, 1, 35, 17, 35, 17, 35, 17, 35, 17, 51, 17, 51, 21, 51, 53, 51, 1, 51, 1, 4, 152, 216, 254, 215, 54, 149, 101, 185, 185, 101, 149, 54, 1, 70, 231, 254, 133, 5, 176, 253, 123, 1, 1, 254, 255, 2, 133, 250, 80, 2, 148, 245, 245, 253, 108, 3, 1, 0, 0, 1, 0, 163, 0, 0, 4, 126, 4, 58, 0, 20, 0, 0, 65, 35, 1, 35, 53, 35, 21, 35, 17, 35, 17, 51, 17, 51, 21, 51, 53, 51, 1, 51, 1, 4, 89, 223, 254, 253, 44, 148, 90, 186, 186, 90, 148, 51, 1, 22, 234, 254, 137, 4, 58, 254, 54, 213, 213, 1, 202, 251, 198, 1, 205, 194, 194, 254, 51, 2, 56, 0, 0, 1, 0, 45, 0, 0, 4, 166, 5, 176, 0, 14, 0, 0, 65, 1, 51, 1, 1, 35, 1, 35, 17, 33, 21, 33, 17, 51, 17, 2, 149, 1, 47, 226, 254, 147, 1, 69, 211, 254, 226, 98, 254, 2, 1, 70, 184, 2, 147, 253, 109, 2, 239, 2, 193, 253, 122, 2, 134, 152, 250, 232, 2, 147, 0, 1, 0, 56, 0, 0, 4, 177, 4, 58, 0, 14, 0, 0, 65, 1, 51, 1, 1, 35, 3, 35, 17, 33, 21, 33, 17, 51, 17, 2, 188, 1, 11, 234, 254, 148, 1, 73, 224, 249, 127, 254, 2, 1, 69, 185, 1, 205, 254, 51, 2, 56, 2, 2, 254, 54, 1, 202, 153, 252, 95, 1, 205, 0, 0, 1, 0, 114, 0, 0, 4, 154, 5, 176, 0, 13, 0, 0, 65, 17, 35, 17, 51, 17, 33, 17, 51, 17, 33, 53, 33, 17, 1, 43, 185, 185, 1, 115, 184, 1, 68, 254, 4, 3, 31, 2, 145, 250, 80, 2, 135, 253, 121, 5, 24, 152, 253, 111, 0, 1, 0, 110, 0, 0, 4, 156, 4, 58, 0, 13, 0, 0, 65, 17, 35, 17, 51, 17, 33, 17, 51, 17, 33, 53, 33, 17, 1, 39, 185, 185, 1, 124, 185, 1, 64, 254, 7, 2, 101, 1, 213, 251, 198, 1, 206, 254, 50, 3, 161, 153, 254, 43, 0, 1, 0, 109, 254, 223, 4, 154, 5, 176, 0, 47, 0, 0, 65, 17, 33, 17, 51, 17, 33, 17, 51, 17, 51, 22, 22, 23, 22, 22, 23, 22, 22, 23, 20, 6, 7, 6, 6, 7, 6, 6, 35, 23, 50, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 2, 225, 253, 140, 184, 1, 3, 185, 3, 38, 70, 27, 33, 48, 14, 11, 11, 1, 8, 9, 12, 38, 30, 20, 53, 32, 2, 54, 94, 39, 61, 84, 22, 16, 15, 24, 24, 25, 74, 50, 49, 124, 69, 3, 65, 2, 111, 250, 80, 5, 24, 250, 232, 2, 158, 1, 24, 22, 26, 85, 55, 43, 101, 57, 57, 105, 43, 54, 79, 24, 18, 18, 147, 23, 24, 37, 121, 84, 54, 129, 73, 84, 149, 62, 65, 104, 36, 37, 39, 1, 0, 1, 0, 116, 254, 229, 4, 124, 4, 58, 0, 35, 0, 0, 115, 51, 17, 51, 17, 51, 17, 51, 50, 22, 23, 22, 22, 23, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 52, 38, 39, 38, 38, 35, 35, 17, 33, 116, 185, 231, 185, 8, 54, 87, 31, 31, 34, 1, 20, 23, 24, 77, 57, 48, 85, 123, 42, 45, 41, 2, 62, 56, 56, 156, 93, 8, 253, 167, 3, 161, 252, 95, 1, 227, 43, 40, 40, 117, 73, 54, 96, 39, 40, 60, 18, 146, 18, 94, 60, 69, 151, 61, 109, 176, 62, 62, 66, 1, 181, 0, 2, 0, 104, 255, 226, 4, 80, 5, 197, 0, 77, 0, 103, 0, 0, 69, 53, 34, 38, 39, 54, 54, 55, 54, 54, 55, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 23, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 55, 54, 54, 51, 39, 34, 6, 7, 6, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 22, 22, 1, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 20, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 4, 80, 44, 78, 35, 26, 44, 17, 28, 30, 1, 43, 40, 40, 115, 72, 72, 115, 40, 40, 43, 27, 26, 24, 68, 43, 16, 32, 17, 46, 79, 33, 38, 59, 19, 16, 17, 7, 8, 11, 33, 23, 15, 35, 20, 1, 50, 86, 36, 46, 68, 20, 15, 15, 24, 23, 30, 98, 65, 53, 127, 72, 60, 109, 48, 63, 146, 254, 148, 15, 16, 16, 46, 32, 31, 47, 16, 15, 15, 19, 19, 13, 35, 21, 31, 50, 18, 21, 22, 30, 157, 13, 12, 33, 76, 41, 70, 161, 88, 1, 104, 104, 180, 67, 66, 76, 78, 67, 67, 180, 101, 254, 173, 81, 148, 64, 59, 103, 43, 4, 4, 30, 28, 33, 97, 60, 52, 120, 65, 1, 25, 55, 101, 44, 58, 93, 29, 17, 20, 158, 38, 34, 42, 132, 80, 56, 127, 68, 254, 233, 78, 146, 65, 84, 141, 47, 38, 43, 29, 27, 31, 33, 2, 157, 1, 88, 67, 120, 46, 45, 54, 51, 45, 45, 122, 69, 254, 149, 69, 128, 55, 36, 65, 27, 31, 76, 44, 53, 125, 0, 0, 2, 0, 92, 255, 235, 4, 139, 4, 79, 0, 77, 0, 109, 0, 0, 69, 53, 34, 38, 39, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 53, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 22, 22, 1, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 21, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 4, 139, 48, 88, 40, 22, 37, 15, 26, 28, 17, 17, 19, 55, 38, 35, 87, 50, 50, 93, 29, 37, 49, 18, 20, 21, 38, 36, 23, 61, 37, 22, 45, 24, 72, 114, 39, 39, 42, 22, 21, 21, 62, 40, 63, 109, 42, 31, 50, 17, 20, 20, 33, 30, 29, 85, 51, 55, 133, 76, 74, 131, 57, 69, 158, 254, 105, 8, 8, 8, 27, 20, 12, 30, 18, 20, 33, 13, 19, 28, 8, 6, 6, 1, 18, 17, 13, 35, 22, 38, 59, 19, 21, 21, 12, 157, 11, 10, 27, 59, 32, 59, 134, 73, 105, 58, 109, 48, 54, 88, 29, 30, 32, 31, 26, 33, 67, 43, 48, 116, 63, 104, 78, 142, 61, 40, 72, 31, 6, 6, 67, 59, 58, 158, 91, 60, 66, 115, 43, 42, 49, 158, 47, 42, 31, 80, 45, 51, 116, 63, 58, 84, 154, 65, 63, 104, 37, 40, 43, 35, 32, 28, 29, 2, 69, 108, 40, 73, 31, 33, 53, 16, 11, 11, 16, 15, 19, 67, 39, 30, 67, 35, 108, 54, 99, 43, 32, 57, 24, 28, 69, 41, 41, 97, 0, 1, 0, 57, 254, 161, 4, 182, 5, 176, 0, 15, 0, 0, 65, 17, 33, 17, 51, 19, 35, 17, 35, 17, 33, 17, 51, 53, 33, 21, 1, 70, 2, 185, 165, 18, 145, 185, 254, 147, 238, 253, 76, 5, 24, 250, 232, 254, 161, 1, 251, 5, 20, 250, 231, 4, 129, 151, 151, 0, 0, 1, 0, 52, 254, 191, 4, 139, 4, 58, 0, 15, 0, 0, 65, 17, 33, 17, 51, 19, 35, 17, 35, 17, 33, 17, 51, 53, 33, 21, 1, 28, 2, 183, 166, 18, 128, 185, 254, 131, 228, 253, 123, 3, 163, 252, 93, 254, 191, 1, 216, 3, 163, 252, 93, 3, 12, 151, 151, 0, 0, 2, 0, 171, 0, 0, 4, 39, 5, 176, 0, 3, 0, 35, 0, 0, 65, 17, 35, 17, 1, 35, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 17, 51, 2, 166, 149, 2, 22, 185, 32, 65, 33, 39, 84, 46, 57, 84, 27, 28, 27, 185, 55, 52, 52, 152, 97, 48, 81, 36, 35, 66, 33, 185, 1, 53, 2, 188, 253, 68, 4, 123, 253, 69, 11, 18, 7, 8, 9, 29, 35, 34, 113, 85, 1, 200, 254, 56, 121, 170, 54, 54, 49, 7, 7, 7, 18, 12, 253, 165, 0, 2, 0, 146, 0, 0, 4, 44, 4, 58, 0, 3, 0, 32, 0, 0, 101, 17, 35, 17, 5, 17, 35, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 17, 2, 175, 150, 2, 19, 185, 26, 53, 27, 45, 96, 51, 64, 97, 32, 30, 31, 185, 62, 58, 57, 162, 100, 85, 145, 68, 211, 2, 54, 253, 202, 211, 4, 58, 253, 233, 6, 11, 4, 7, 7, 32, 34, 31, 94, 64, 1, 59, 254, 197, 103, 153, 50, 51, 50, 18, 17, 254, 117, 0, 1, 0, 227, 0, 0, 4, 95, 5, 176, 0, 25, 0, 0, 115, 51, 17, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 19, 52, 38, 39, 38, 38, 35, 34, 6, 7, 17, 35, 227, 185, 71, 144, 83, 57, 84, 28, 27, 27, 185, 1, 55, 52, 53, 152, 97, 97, 136, 65, 185, 2, 186, 24, 29, 29, 34, 35, 113, 85, 254, 57, 1, 199, 121, 170, 54, 54, 49, 28, 24, 2, 93, 0, 0, 2, 0, 38, 255, 234, 4, 137, 5, 195, 0, 57, 0, 78, 0, 0, 83, 20, 22, 23, 22, 22, 23, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 33, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 38, 38, 39, 38, 38, 39, 5, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 21, 38, 33, 33, 32, 97, 65, 67, 65, 65, 191, 124, 111, 164, 36, 47, 22, 53, 32, 33, 77, 47, 88, 124, 39, 40, 36, 2, 166, 16, 16, 21, 69, 49, 46, 121, 73, 63, 116, 49, 50, 80, 29, 31, 34, 23, 37, 13, 19, 18, 1, 1, 40, 23, 21, 16, 43, 27, 29, 68, 40, 41, 64, 24, 30, 39, 12, 8, 8, 4, 57, 75, 126, 47, 48, 63, 12, 144, 128, 215, 78, 79, 88, 66, 34, 136, 14, 30, 13, 13, 16, 70, 60, 59, 159, 90, 136, 188, 83, 144, 60, 75, 114, 38, 35, 36, 39, 36, 36, 105, 65, 69, 169, 99, 5, 10, 32, 21, 31, 85, 50, 247, 16, 91, 151, 57, 41, 64, 22, 23, 24, 23, 21, 26, 80, 50, 39, 90, 48, 112, 0, 2, 0, 38, 255, 236, 4, 133, 4, 78, 0, 44, 0, 58, 0, 0, 69, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 39, 53, 33, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 38, 38, 39, 35, 20, 22, 23, 22, 22, 23, 21, 20, 22, 23, 22, 22, 19, 50, 22, 23, 22, 22, 21, 21, 33, 54, 54, 55, 54, 54, 2, 254, 137, 176, 48, 74, 48, 139, 100, 69, 105, 36, 36, 38, 3, 2, 166, 51, 52, 52, 159, 107, 80, 145, 58, 58, 80, 15, 59, 54, 1, 148, 27, 27, 32, 100, 69, 66, 61, 61, 175, 80, 61, 89, 29, 29, 28, 254, 25, 9, 44, 32, 32, 84, 20, 85, 50, 124, 46, 63, 58, 50, 50, 134, 73, 2, 120, 105, 178, 65, 64, 73, 64, 58, 59, 163, 97, 21, 107, 77, 66, 110, 43, 49, 64, 12, 1, 117, 198, 72, 73, 81, 3, 202, 46, 38, 39, 100, 54, 24, 64, 110, 41, 40, 46, 0, 1, 0, 200, 254, 218, 4, 140, 5, 176, 0, 38, 0, 0, 65, 1, 35, 1, 35, 17, 35, 17, 51, 17, 51, 50, 22, 23, 22, 22, 23, 20, 6, 7, 6, 6, 7, 6, 6, 35, 23, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 2, 201, 1, 184, 215, 254, 101, 142, 185, 185, 224, 93, 139, 46, 45, 46, 1, 12, 13, 14, 49, 35, 31, 81, 51, 2, 115, 175, 59, 59, 61, 60, 57, 57, 168, 106, 3, 53, 2, 123, 253, 140, 2, 116, 250, 80, 2, 154, 56, 53, 53, 154, 99, 58, 103, 43, 49, 74, 26, 22, 24, 146, 73, 70, 69, 202, 131, 119, 197, 73, 73, 93, 15, 0, 1, 0, 180, 254, 254, 4, 60, 4, 58, 0, 34, 0, 0, 65, 1, 35, 1, 35, 17, 35, 17, 51, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 2, 175, 1, 141, 224, 254, 136, 119, 185, 185, 199, 71, 119, 44, 43, 50, 25, 28, 28, 87, 63, 49, 97, 139, 44, 44, 42, 57, 51, 51, 143, 2, 100, 1, 214, 254, 54, 1, 202, 251, 198, 1, 205, 32, 34, 35, 109, 76, 51, 91, 36, 37, 56, 16, 146, 18, 98, 63, 62, 136, 56, 96, 150, 55, 54, 68, 0, 0, 1, 0, 182, 254, 75, 4, 25, 5, 176, 0, 29, 0, 0, 65, 35, 17, 51, 17, 33, 17, 20, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 35, 17, 33, 1, 111, 185, 185, 1, 241, 67, 65, 6, 26, 14, 15, 27, 8, 14, 29, 52, 29, 76, 118, 41, 40, 42, 185, 254, 15, 5, 176, 250, 80, 2, 133, 253, 34, 87, 109, 2, 2, 1, 5, 3, 147, 10, 8, 47, 45, 45, 129, 82, 6, 9, 253, 108, 0, 0, 1, 0, 179, 254, 75, 4, 22, 4, 58, 0, 29, 0, 0, 65, 35, 17, 51, 17, 33, 17, 20, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 35, 17, 33, 1, 108, 185, 185, 1, 241, 71, 66, 7, 26, 14, 15, 28, 8, 14, 29, 53, 30, 76, 120, 41, 41, 44, 185, 254, 15, 4, 58, 251, 198, 1, 206, 253, 217, 90, 106, 2, 2, 1, 5, 3, 147, 10, 8, 47, 45, 44, 129, 83, 4, 147, 254, 43, 0, 0, 2, 0, 90, 255, 235, 4, 87, 5, 196, 0, 52, 0, 72, 0, 0, 65, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 21, 33, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 38, 38, 3, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 33, 6, 6, 7, 6, 6, 7, 6, 6, 2, 62, 72, 114, 43, 44, 59, 17, 47, 25, 61, 37, 37, 89, 53, 54, 91, 36, 45, 64, 20, 22, 20, 252, 188, 17, 18, 26, 98, 67, 55, 139, 83, 70, 129, 55, 70, 109, 35, 24, 26, 30, 30, 33, 98, 64, 58, 142, 63, 60, 94, 36, 40, 58, 13, 9, 8, 2, 139, 1, 18, 18, 21, 66, 45, 34, 82, 5, 196, 22, 16, 16, 35, 12, 136, 14, 31, 13, 12, 16, 26, 24, 28, 90, 51, 56, 133, 71, 93, 166, 73, 131, 57, 89, 140, 43, 36, 38, 1, 40, 37, 46, 145, 91, 64, 147, 79, 218, 90, 162, 69, 75, 118, 41, 36, 39, 250, 190, 29, 27, 33, 96, 58, 36, 80, 42, 90, 63, 121, 52, 64, 103, 34, 26, 28, 0, 1, 0, 148, 255, 235, 4, 82, 5, 176, 0, 45, 0, 0, 65, 1, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 1, 39, 33, 21, 3, 74, 254, 122, 143, 83, 126, 41, 37, 39, 42, 39, 39, 113, 71, 63, 105, 37, 37, 42, 185, 81, 66, 66, 169, 87, 106, 179, 66, 65, 73, 59, 61, 78, 192, 66, 1, 1, 155, 1, 252, 155, 5, 24, 254, 59, 151, 38, 39, 36, 110, 75, 59, 100, 36, 36, 41, 43, 38, 37, 99, 57, 111, 160, 52, 52, 50, 57, 55, 55, 158, 102, 100, 161, 54, 69, 56, 1, 236, 118, 152, 0, 0, 1, 0, 137, 254, 117, 4, 72, 4, 58, 0, 45, 0, 0, 65, 1, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 1, 39, 33, 21, 3, 44, 254, 140, 141, 86, 130, 41, 36, 37, 42, 39, 39, 113, 72, 63, 104, 37, 38, 41, 186, 82, 66, 66, 168, 87, 106, 180, 66, 65, 73, 59, 58, 67, 195, 64, 1, 1, 142, 1, 252, 155, 3, 161, 254, 59, 151, 40, 42, 36, 108, 72, 59, 99, 36, 36, 40, 43, 37, 37, 99, 56, 110, 160, 52, 52, 50, 57, 55, 55, 158, 101, 98, 155, 57, 65, 63, 1, 239, 118, 153, 0, 255, 255, 0, 66, 254, 75, 4, 123, 5, 176, 4, 38, 1, 123, 75, 0, 0, 39, 2, 106, 255, 13, 0, 63, 0, 7, 2, 111, 255, 79, 0, 0, 255, 255, 0, 116, 254, 75, 4, 124, 4, 58, 4, 38, 1, 181, 82, 0, 0, 39, 2, 106, 255, 63, 255, 100, 0, 7, 2, 111, 255, 68, 0, 0, 0, 2, 0, 97, 0, 0, 4, 48, 5, 176, 0, 16, 0, 31, 0, 0, 65, 33, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 33, 17, 35, 17, 33, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 33, 3, 119, 254, 209, 117, 181, 62, 62, 65, 65, 62, 62, 181, 117, 1, 232, 185, 254, 209, 78, 114, 37, 37, 35, 35, 37, 37, 114, 78, 1, 47, 3, 109, 63, 57, 57, 160, 97, 96, 163, 59, 59, 66, 5, 176, 250, 231, 49, 41, 41, 106, 57, 56, 102, 39, 38, 46, 0, 0, 2, 0, 77, 0, 0, 4, 141, 5, 176, 0, 36, 0, 51, 0, 0, 97, 33, 50, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 17, 35, 17, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 55, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 1, 207, 1, 92, 71, 127, 48, 47, 57, 2, 2, 40, 27, 179, 29, 32, 2, 1, 22, 21, 21, 61, 41, 49, 185, 114, 94, 144, 49, 49, 50, 50, 49, 49, 144, 208, 114, 54, 77, 24, 24, 22, 22, 24, 24, 77, 54, 114, 60, 60, 60, 178, 118, 96, 192, 91, 91, 197, 91, 72, 119, 43, 43, 47, 1, 1, 5, 26, 253, 189, 64, 57, 58, 160, 95, 95, 162, 59, 60, 67, 151, 50, 41, 41, 106, 56, 55, 102, 39, 39, 46, 0, 0, 2, 0, 101, 255, 234, 4, 147, 6, 24, 0, 79, 0, 114, 0, 0, 83, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 55, 17, 35, 17, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 37, 17, 22, 22, 23, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 101, 10, 9, 17, 63, 42, 32, 80, 47, 47, 77, 32, 16, 28, 13, 13, 33, 20, 32, 85, 52, 52, 91, 40, 40, 47, 18, 15, 17, 1, 1, 15, 14, 8, 19, 11, 178, 11, 19, 7, 11, 11, 1, 1, 7, 7, 9, 24, 17, 14, 35, 21, 14, 24, 10, 13, 19, 6, 3, 4, 1, 185, 11, 25, 14, 25, 60, 34, 56, 93, 35, 31, 45, 15, 13, 14, 1, 215, 1, 4, 3, 9, 21, 13, 18, 44, 28, 26, 42, 16, 27, 33, 8, 5, 4, 6, 7, 7, 27, 17, 19, 49, 31, 28, 45, 18, 9, 16, 2, 64, 131, 50, 93, 42, 71, 118, 35, 27, 30, 30, 28, 15, 37, 21, 25, 42, 15, 25, 25, 1, 41, 43, 44, 97, 64, 55, 131, 75, 64, 127, 61, 38, 76, 37, 1, 39, 79, 40, 60, 123, 61, 57, 102, 44, 48, 77, 26, 21, 23, 1, 11, 10, 13, 41, 25, 18, 39, 21, 4, 228, 253, 237, 12, 21, 8, 15, 17, 46, 42, 37, 100, 58, 54, 123, 230, 253, 204, 23, 42, 20, 16, 28, 10, 16, 18, 1, 17, 15, 23, 83, 49, 28, 62, 32, 131, 46, 88, 39, 42, 73, 26, 26, 29, 19, 16, 8, 19, 0, 1, 0, 55, 255, 234, 4, 138, 5, 176, 0, 83, 0, 0, 65, 21, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 22, 23, 22, 22, 21, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 53, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 21, 51, 50, 22, 23, 22, 22, 1, 247, 3, 31, 29, 37, 117, 78, 74, 131, 49, 27, 42, 14, 11, 13, 1, 2, 42, 26, 179, 16, 25, 7, 6, 6, 1, 7, 6, 6, 16, 11, 22, 65, 43, 27, 41, 14, 14, 14, 19, 22, 22, 69, 49, 29, 51, 21, 43, 47, 57, 54, 54, 155, 98, 225, 225, 59, 87, 29, 29, 29, 30, 31, 30, 93, 64, 82, 133, 42, 69, 25, 24, 27, 1, 114, 103, 65, 100, 35, 46, 43, 1, 71, 70, 38, 98, 59, 46, 108, 60, 103, 202, 98, 56, 113, 56, 44, 90, 44, 45, 83, 37, 34, 61, 26, 53, 59, 1, 22, 19, 18, 50, 28, 105, 59, 106, 44, 44, 67, 21, 15, 39, 23, 49, 129, 77, 100, 154, 52, 51, 54, 152, 36, 33, 34, 95, 59, 64, 99, 33, 31, 33, 152, 39, 35, 35, 98, 0, 1, 0, 80, 255, 228, 4, 124, 4, 58, 0, 80, 0, 0, 65, 52, 38, 39, 38, 38, 35, 35, 23, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 23, 51, 22, 22, 23, 22, 22, 21, 21, 20, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 35, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 2, 221, 57, 54, 55, 158, 100, 229, 6, 223, 66, 94, 29, 25, 24, 19, 19, 27, 98, 71, 149, 2, 173, 55, 82, 26, 21, 23, 30, 29, 34, 110, 73, 50, 92, 39, 26, 49, 18, 22, 28, 1, 1, 9, 8, 10, 27, 14, 180, 30, 33, 2, 1, 18, 17, 18, 51, 34, 24, 34, 10, 11, 12, 29, 32, 22, 62, 41, 39, 63, 23, 31, 32, 2, 248, 76, 120, 41, 41, 44, 150, 30, 27, 23, 62, 36, 31, 52, 20, 28, 31, 150, 1, 24, 24, 18, 53, 33, 67, 59, 89, 31, 36, 35, 2, 33, 32, 22, 64, 40, 50, 127, 77, 37, 74, 37, 43, 86, 42, 78, 163, 78, 66, 108, 38, 39, 43, 10, 10, 11, 35, 22, 77, 51, 87, 33, 22, 35, 11, 15, 38, 23, 30, 77, 0, 0, 1, 0, 179, 254, 165, 4, 82, 5, 176, 0, 69, 0, 0, 65, 51, 50, 22, 23, 22, 22, 21, 21, 20, 22, 23, 22, 22, 23, 51, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 53, 35, 38, 52, 53, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 21, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 16, 219, 60, 97, 35, 34, 38, 3, 6, 6, 25, 23, 86, 10, 11, 10, 34, 22, 115, 42, 64, 23, 22, 23, 165, 1, 25, 27, 27, 86, 62, 40, 68, 27, 47, 49, 66, 62, 63, 182, 116, 254, 236, 1, 20, 78, 115, 38, 37, 36, 32, 33, 39, 129, 91, 163, 2, 121, 37, 34, 35, 98, 60, 132, 19, 63, 34, 35, 65, 21, 1, 34, 72, 36, 36, 72, 33, 63, 36, 92, 51, 50, 103, 47, 176, 7, 13, 7, 136, 61, 108, 44, 44, 66, 20, 18, 44, 26, 46, 120, 74, 102, 155, 52, 52, 53, 152, 36, 33, 34, 97, 60, 60, 92, 32, 37, 38, 0, 1, 0, 208, 254, 146, 4, 48, 4, 58, 0, 73, 0, 0, 65, 51, 22, 22, 23, 22, 22, 21, 21, 20, 22, 23, 22, 22, 23, 51, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 53, 34, 34, 35, 52, 52, 53, 52, 52, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 7, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 25, 241, 52, 80, 27, 25, 27, 2, 5, 5, 22, 20, 84, 11, 12, 11, 32, 22, 115, 42, 64, 23, 22, 23, 51, 76, 26, 21, 23, 23, 73, 52, 40, 64, 24, 31, 33, 58, 55, 55, 158, 100, 254, 228, 1, 1, 29, 65, 95, 29, 26, 25, 27, 29, 29, 92, 63, 212, 1, 185, 1, 24, 23, 22, 63, 40, 95, 13, 47, 25, 26, 48, 14, 2, 39, 84, 41, 36, 69, 32, 63, 36, 92, 51, 50, 103, 47, 176, 21, 19, 17, 4, 12, 7, 46, 81, 33, 33, 50, 15, 15, 38, 23, 31, 79, 48, 77, 119, 41, 41, 43, 150, 28, 26, 23, 62, 38, 38, 61, 21, 21, 23, 0, 0, 1, 0, 20, 255, 234, 4, 164, 5, 176, 0, 78, 0, 0, 65, 3, 22, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 22, 22, 7, 20, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 53, 3, 33, 3, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 35, 21, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 3, 2, 99, 1, 2, 18, 17, 16, 46, 29, 27, 65, 38, 66, 115, 43, 28, 41, 11, 7, 7, 1, 1, 6, 6, 6, 19, 11, 179, 20, 21, 1, 4, 3, 4, 13, 9, 17, 49, 34, 12, 19, 8, 9, 12, 5, 4, 3, 1, 253, 199, 1, 2, 1, 4, 17, 15, 11, 30, 20, 17, 41, 24, 23, 34, 58, 94, 37, 27, 46, 18, 29, 34, 7, 3, 3, 1, 5, 24, 251, 247, 53, 87, 33, 32, 46, 15, 14, 13, 1, 72, 70, 45, 117, 71, 40, 87, 48, 48, 95, 46, 54, 107, 53, 1, 100, 202, 100, 37, 70, 32, 42, 74, 30, 53, 60, 1, 9, 8, 11, 28, 16, 16, 35, 18, 4, 161, 253, 80, 46, 86, 39, 91, 145, 54, 42, 61, 19, 17, 17, 151, 33, 33, 25, 67, 42, 69, 184, 112, 47, 102, 54, 2, 24, 0, 1, 0, 47, 255, 234, 4, 133, 4, 58, 0, 75, 0, 0, 65, 33, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 7, 7, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 17, 51, 17, 20, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 53, 2, 250, 253, 201, 3, 4, 3, 8, 6, 14, 48, 36, 23, 3, 38, 50, 81, 31, 33, 48, 17, 11, 15, 4, 2, 3, 197, 18, 14, 15, 45, 29, 28, 69, 40, 48, 87, 37, 37, 60, 19, 14, 17, 1, 2, 40, 27, 179, 14, 23, 7, 8, 8, 1, 1, 6, 7, 8, 27, 18, 14, 34, 20, 11, 18, 7, 11, 15, 4, 4, 3, 4, 58, 254, 52, 64, 112, 46, 34, 59, 24, 58, 59, 1, 165, 30, 29, 31, 93, 64, 44, 104, 59, 39, 84, 45, 1, 51, 253, 128, 52, 86, 34, 36, 54, 17, 16, 16, 1, 35, 33, 34, 101, 65, 50, 119, 68, 97, 191, 93, 46, 93, 47, 48, 98, 49, 47, 86, 37, 47, 77, 21, 19, 19, 1, 9, 8, 11, 34, 24, 16, 37, 20, 0, 0, 1, 0, 111, 255, 234, 4, 148, 5, 176, 0, 56, 0, 0, 65, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 22, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 22, 22, 7, 20, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 53, 3, 12, 185, 254, 213, 185, 185, 1, 43, 1, 16, 13, 18, 39, 28, 28, 72, 42, 67, 115, 43, 24, 38, 12, 9, 10, 1, 1, 9, 9, 9, 26, 14, 178, 28, 32, 2, 4, 4, 4, 13, 9, 16, 49, 34, 10, 16, 7, 12, 15, 5, 4, 3, 5, 176, 253, 108, 2, 148, 250, 80, 2, 133, 254, 175, 54, 95, 30, 43, 51, 19, 19, 19, 1, 72, 70, 40, 102, 61, 46, 102, 57, 48, 96, 47, 53, 107, 52, 1, 100, 202, 100, 38, 73, 32, 41, 71, 29, 54, 60, 1, 8, 7, 12, 38, 25, 20, 44, 24, 0, 1, 0, 117, 255, 234, 4, 126, 4, 58, 0, 53, 0, 0, 65, 21, 22, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 22, 7, 20, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 35, 17, 33, 17, 35, 17, 51, 17, 2, 59, 2, 14, 13, 18, 61, 42, 27, 62, 36, 63, 109, 41, 22, 34, 12, 9, 11, 1, 2, 30, 20, 178, 20, 22, 1, 4, 4, 4, 11, 7, 14, 44, 29, 14, 24, 9, 11, 16, 5, 6, 5, 185, 254, 243, 185, 185, 1, 205, 172, 47, 80, 32, 48, 65, 17, 11, 11, 1, 65, 64, 35, 88, 53, 44, 100, 56, 97, 191, 93, 94, 192, 95, 37, 69, 31, 33, 59, 25, 47, 52, 1, 10, 9, 10, 26, 16, 18, 44, 26, 3, 25, 254, 42, 1, 214, 251, 198, 1, 205, 0, 0, 1, 0, 142, 255, 235, 4, 118, 5, 197, 0, 60, 0, 0, 69, 50, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 22, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 23, 22, 22, 2, 148, 96, 173, 66, 65, 78, 2, 2, 38, 20, 179, 23, 29, 2, 1, 38, 36, 37, 111, 72, 79, 124, 42, 43, 45, 17, 17, 20, 67, 44, 35, 84, 49, 86, 143, 65, 59, 67, 174, 112, 68, 123, 52, 75, 111, 35, 26, 28, 32, 29, 31, 94, 59, 57, 138, 21, 55, 56, 55, 168, 112, 89, 183, 89, 90, 181, 90, 66, 107, 38, 40, 43, 1, 74, 64, 64, 170, 95, 1, 8, 58, 110, 49, 60, 100, 32, 26, 29, 35, 33, 132, 44, 44, 33, 31, 43, 137, 83, 64, 147, 80, 254, 250, 85, 156, 67, 71, 117, 39, 40, 43, 0, 0, 1, 0, 160, 255, 235, 4, 80, 4, 78, 0, 54, 0, 0, 101, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 52, 38, 39, 35, 22, 22, 21, 6, 6, 7, 6, 6, 2, 180, 91, 131, 42, 42, 40, 37, 40, 40, 122, 86, 81, 140, 54, 44, 28, 72, 42, 38, 89, 50, 123, 190, 65, 65, 68, 71, 68, 67, 198, 128, 87, 149, 55, 55, 64, 2, 16, 11, 178, 14, 6, 1, 24, 25, 27, 88, 130, 69, 56, 55, 139, 71, 42, 70, 138, 56, 55, 69, 30, 28, 144, 17, 26, 8, 7, 8, 89, 74, 74, 195, 108, 42, 108, 196, 74, 74, 89, 41, 42, 42, 128, 87, 54, 110, 54, 54, 111, 53, 44, 68, 24, 26, 26, 0, 1, 0, 76, 255, 234, 4, 149, 5, 176, 0, 49, 0, 0, 65, 17, 22, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 7, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 33, 53, 33, 21, 1, 181, 2, 14, 11, 20, 63, 44, 37, 90, 53, 82, 144, 54, 29, 45, 15, 14, 15, 1, 3, 42, 27, 179, 29, 33, 2, 1, 9, 8, 7, 18, 12, 27, 79, 53, 22, 37, 16, 21, 32, 10, 5, 6, 1, 134, 252, 88, 5, 24, 252, 65, 48, 82, 35, 55, 83, 23, 21, 20, 1, 71, 70, 37, 92, 55, 49, 113, 63, 103, 202, 98, 1, 100, 202, 100, 48, 87, 38, 32, 57, 24, 53, 59, 1, 12, 12, 15, 52, 33, 21, 46, 24, 3, 191, 152, 152, 0, 0, 1, 0, 73, 255, 234, 4, 106, 4, 58, 0, 40, 0, 0, 65, 17, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 35, 22, 22, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 53, 17, 33, 53, 33, 21, 1, 154, 4, 47, 42, 42, 124, 78, 78, 137, 52, 52, 61, 2, 1, 11, 9, 10, 25, 13, 178, 29, 33, 2, 2, 25, 25, 25, 72, 48, 37, 56, 19, 20, 19, 1, 122, 252, 123, 3, 164, 253, 181, 94, 139, 45, 46, 43, 1, 57, 57, 56, 167, 110, 41, 82, 41, 41, 81, 39, 78, 168, 79, 66, 108, 39, 39, 43, 1, 33, 29, 29, 78, 46, 2, 75, 150, 150, 0, 0, 1, 0, 108, 255, 236, 4, 111, 5, 197, 0, 76, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 35, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 53, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 109, 81, 72, 71, 195, 115, 91, 176, 70, 69, 86, 185, 1, 45, 40, 41, 112, 68, 81, 129, 45, 45, 49, 45, 43, 43, 125, 79, 182, 182, 80, 118, 38, 39, 38, 41, 41, 40, 123, 82, 60, 104, 39, 38, 45, 1, 185, 76, 64, 65, 172, 95, 115, 189, 67, 68, 74, 33, 31, 30, 88, 55, 52, 85, 31, 44, 47, 1, 150, 103, 159, 54, 54, 56, 49, 52, 52, 160, 111, 57, 100, 37, 37, 43, 40, 36, 36, 100, 60, 69, 99, 33, 32, 31, 152, 36, 33, 32, 91, 56, 55, 94, 35, 35, 40, 38, 33, 33, 92, 54, 93, 149, 52, 52, 56, 53, 52, 53, 155, 102, 51, 94, 40, 41, 66, 23, 17, 51, 32, 45, 121, 255, 255, 0, 166, 254, 106, 4, 59, 0, 0, 4, 39, 0, 102, 0, 11, 255, 1, 0, 6, 0, 102, 11, 0, 0, 1, 1, 207, 4, 7, 2, 226, 6, 22, 0, 12, 0, 0, 65, 53, 51, 21, 20, 22, 23, 7, 38, 38, 39, 38, 38, 1, 207, 181, 47, 47, 101, 42, 64, 22, 23, 23, 5, 131, 147, 150, 86, 148, 71, 72, 36, 92, 51, 50, 104, 0, 255, 255, 1, 92, 255, 237, 4, 58, 1, 7, 4, 39, 0, 96, 255, 108, 0, 0, 0, 7, 0, 96, 1, 38, 0, 0, 0, 2, 1, 15, 2, 56, 4, 24, 5, 195, 0, 10, 0, 14, 0, 0, 65, 17, 35, 1, 23, 33, 21, 51, 53, 51, 53, 33, 1, 55, 17, 3, 129, 169, 254, 55, 3, 1, 204, 163, 151, 253, 172, 1, 4, 22, 3, 111, 2, 84, 253, 140, 94, 185, 185, 126, 1, 92, 44, 254, 120, 0, 0, 1, 1, 75, 2, 139, 3, 201, 5, 186, 0, 31, 0, 0, 65, 35, 17, 51, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 6, 6, 7, 6, 6, 7, 1, 204, 129, 170, 9, 26, 17, 20, 51, 31, 33, 52, 19, 19, 21, 170, 36, 34, 34, 95, 60, 42, 73, 30, 23, 38, 15, 5, 171, 252, 224, 2, 50, 23, 38, 14, 16, 18, 20, 22, 23, 76, 54, 254, 36, 1, 252, 80, 116, 38, 37, 36, 1, 25, 22, 17, 46, 27, 0, 1, 0, 127, 255, 235, 4, 57, 5, 196, 0, 55, 0, 0, 65, 53, 33, 53, 33, 53, 33, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 35, 21, 51, 21, 35, 21, 51, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 3, 110, 254, 126, 1, 130, 254, 126, 54, 45, 45, 126, 78, 60, 111, 52, 18, 61, 117, 63, 116, 192, 70, 69, 87, 179, 179, 179, 179, 86, 68, 70, 195, 117, 63, 120, 56, 18, 52, 110, 59, 79, 128, 45, 43, 55, 2, 31, 122, 138, 123, 1, 86, 164, 49, 49, 50, 19, 16, 155, 14, 17, 70, 69, 68, 222, 119, 2, 123, 138, 122, 5, 128, 220, 68, 71, 72, 16, 15, 154, 17, 17, 52, 52, 49, 162, 93, 5, 0, 4, 0, 73, 255, 235, 4, 148, 5, 197, 0, 51, 0, 77, 0, 103, 0, 107, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 19, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 5, 1, 39, 1, 2, 76, 138, 15, 14, 15, 43, 30, 31, 45, 15, 15, 15, 15, 15, 14, 45, 30, 30, 44, 15, 15, 15, 138, 36, 33, 33, 95, 60, 61, 96, 33, 33, 35, 35, 34, 33, 97, 61, 59, 95, 33, 33, 35, 66, 35, 34, 33, 97, 61, 61, 96, 33, 33, 35, 35, 33, 34, 96, 61, 61, 96, 33, 34, 35, 139, 14, 15, 15, 45, 31, 31, 45, 15, 15, 14, 14, 15, 15, 45, 30, 31, 46, 15, 15, 14, 254, 156, 2, 2, 114, 253, 255, 4, 30, 24, 48, 19, 19, 24, 31, 25, 25, 64, 34, 77, 34, 66, 25, 25, 31, 22, 19, 19, 50, 27, 53, 93, 35, 35, 41, 48, 41, 42, 109, 61, 77, 60, 109, 41, 41, 48, 40, 35, 34, 93, 253, 123, 78, 61, 109, 41, 41, 48, 48, 41, 41, 109, 61, 78, 61, 109, 41, 41, 48, 48, 41, 41, 109, 139, 78, 34, 65, 26, 25, 30, 30, 25, 26, 65, 34, 78, 35, 64, 25, 26, 30, 30, 26, 25, 64, 31, 3, 186, 66, 252, 70, 0, 0, 2, 0, 221, 255, 235, 3, 243, 5, 201, 0, 44, 0, 64, 0, 0, 69, 53, 34, 38, 39, 38, 38, 53, 53, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 17, 6, 6, 35, 21, 50, 54, 55, 21, 20, 22, 23, 22, 22, 3, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 3, 84, 68, 90, 28, 28, 23, 96, 147, 51, 50, 52, 39, 36, 36, 100, 60, 63, 103, 38, 26, 39, 14, 13, 14, 47, 104, 58, 56, 104, 49, 51, 53, 52, 158, 129, 20, 21, 15, 42, 27, 21, 34, 10, 10, 11, 26, 26, 26, 79, 21, 157, 41, 39, 38, 109, 68, 87, 52, 145, 82, 81, 169, 77, 41, 72, 116, 42, 41, 45, 39, 36, 25, 64, 38, 38, 89, 50, 254, 33, 13, 14, 176, 13, 12, 14, 101, 166, 59, 60, 66, 2, 220, 1, 135, 62, 92, 28, 19, 20, 22, 21, 20, 58, 37, 43, 56, 113, 53, 54, 96, 0, 4, 0, 121, 0, 0, 4, 118, 5, 192, 0, 9, 0, 35, 0, 61, 0, 65, 0, 0, 97, 17, 35, 19, 1, 35, 17, 51, 3, 1, 1, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 19, 53, 33, 21, 2, 227, 176, 1, 254, 244, 175, 176, 1, 1, 11, 1, 3, 21, 21, 20, 59, 39, 39, 60, 20, 20, 21, 21, 20, 20, 61, 39, 38, 60, 20, 20, 21, 101, 5, 6, 6, 23, 18, 19, 23, 7, 6, 5, 4, 6, 7, 23, 19, 19, 23, 6, 7, 4, 217, 254, 205, 5, 176, 252, 113, 3, 143, 250, 80, 3, 147, 252, 109, 4, 251, 206, 40, 71, 26, 27, 31, 31, 27, 26, 71, 40, 206, 40, 72, 27, 27, 31, 31, 27, 27, 72, 237, 188, 22, 40, 15, 14, 17, 17, 14, 15, 40, 22, 188, 23, 39, 14, 15, 17, 17, 15, 14, 39, 254, 168, 95, 95, 0, 2, 0, 153, 255, 236, 4, 148, 4, 78, 0, 33, 0, 42, 0, 0, 101, 39, 6, 6, 39, 34, 38, 39, 17, 33, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 1, 50, 22, 23, 17, 33, 17, 54, 54, 4, 23, 2, 89, 185, 94, 78, 140, 55, 3, 0, 78, 66, 67, 181, 103, 66, 129, 58, 59, 99, 36, 36, 41, 82, 71, 70, 191, 110, 99, 186, 254, 227, 77, 136, 54, 253, 228, 57, 140, 94, 104, 63, 60, 1, 59, 51, 1, 72, 47, 115, 198, 73, 73, 82, 41, 37, 37, 103, 62, 62, 143, 76, 115, 204, 76, 77, 89, 61, 3, 199, 62, 51, 254, 226, 1, 21, 56, 66, 0, 5, 0, 80, 255, 246, 4, 185, 5, 174, 0, 6, 0, 54, 0, 78, 0, 102, 0, 106, 0, 0, 65, 17, 35, 5, 21, 55, 17, 5, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 1, 159, 16, 254, 193, 194, 3, 150, 38, 33, 33, 92, 53, 54, 91, 34, 33, 37, 21, 20, 12, 35, 19, 23, 41, 15, 21, 25, 42, 36, 36, 98, 56, 55, 98, 36, 35, 41, 29, 26, 14, 36, 20, 19, 32, 13, 21, 22, 122, 19, 17, 17, 45, 27, 31, 50, 17, 13, 15, 18, 16, 16, 47, 28, 27, 46, 17, 16, 20, 19, 15, 13, 15, 39, 24, 27, 41, 14, 13, 13, 14, 13, 14, 40, 26, 23, 39, 13, 16, 16, 253, 122, 2, 2, 114, 253, 255, 2, 232, 2, 198, 105, 115, 51, 253, 227, 223, 49, 74, 25, 25, 26, 26, 25, 25, 74, 49, 31, 54, 22, 14, 25, 10, 9, 27, 16, 23, 60, 36, 51, 76, 26, 26, 25, 25, 26, 26, 76, 51, 39, 65, 24, 13, 22, 8, 9, 23, 13, 22, 56, 254, 229, 24, 37, 13, 12, 14, 16, 15, 13, 35, 21, 24, 37, 12, 13, 13, 13, 13, 12, 37, 1, 28, 21, 34, 12, 11, 14, 15, 13, 12, 32, 20, 21, 33, 12, 12, 13, 12, 11, 11, 35, 254, 190, 3, 186, 66, 252, 70, 0, 5, 0, 51, 255, 246, 4, 193, 5, 186, 0, 76, 0, 124, 0, 148, 0, 172, 0, 176, 0, 0, 83, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 1, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 234, 75, 34, 55, 19, 17, 18, 15, 14, 18, 49, 32, 34, 52, 17, 14, 14, 142, 46, 38, 36, 97, 51, 58, 100, 38, 37, 42, 21, 22, 16, 46, 30, 25, 39, 16, 20, 23, 39, 35, 35, 97, 58, 54, 93, 35, 35, 40, 141, 14, 12, 16, 48, 29, 31, 47, 15, 13, 14, 19, 18, 17, 47, 31, 3, 123, 38, 33, 33, 92, 53, 54, 91, 34, 33, 37, 21, 20, 12, 35, 19, 23, 41, 15, 21, 25, 42, 36, 36, 98, 56, 55, 98, 36, 35, 41, 29, 26, 14, 36, 20, 19, 32, 13, 21, 22, 122, 19, 17, 17, 45, 27, 31, 50, 17, 13, 15, 18, 16, 16, 47, 28, 27, 46, 17, 16, 20, 19, 15, 13, 15, 39, 24, 27, 41, 14, 13, 13, 14, 13, 14, 40, 26, 23, 39, 13, 16, 16, 253, 153, 2, 2, 114, 253, 255, 4, 135, 104, 13, 13, 12, 39, 27, 21, 36, 13, 14, 16, 18, 16, 11, 32, 18, 55, 79, 25, 27, 24, 28, 26, 26, 78, 50, 36, 59, 21, 16, 26, 8, 9, 25, 15, 22, 53, 30, 49, 76, 26, 25, 26, 28, 25, 26, 74, 46, 17, 28, 11, 13, 14, 15, 14, 12, 33, 19, 23, 38, 13, 11, 13, 253, 130, 49, 74, 25, 25, 26, 26, 25, 25, 74, 49, 31, 54, 22, 14, 25, 10, 9, 27, 16, 23, 60, 36, 51, 76, 26, 26, 25, 25, 26, 26, 76, 51, 39, 65, 24, 13, 22, 8, 9, 23, 13, 22, 56, 254, 229, 24, 37, 13, 12, 14, 16, 15, 13, 35, 21, 24, 37, 12, 13, 13, 13, 13, 12, 37, 1, 28, 21, 34, 12, 11, 14, 15, 13, 12, 32, 20, 21, 33, 12, 12, 13, 12, 11, 11, 35, 254, 181, 3, 186, 66, 252, 70, 0, 0, 5, 0, 36, 255, 250, 4, 173, 5, 177, 0, 45, 0, 93, 0, 117, 0, 141, 0, 145, 0, 0, 83, 23, 54, 54, 55, 54, 54, 51, 50, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 35, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 55, 33, 53, 33, 1, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 55, 112, 11, 22, 14, 14, 36, 23, 65, 72, 14, 16, 15, 46, 32, 53, 67, 5, 140, 3, 45, 36, 37, 93, 51, 66, 100, 33, 33, 32, 33, 32, 31, 91, 57, 40, 67, 18, 20, 1, 58, 254, 82, 4, 56, 38, 33, 33, 92, 53, 54, 91, 34, 33, 37, 21, 20, 12, 35, 19, 23, 41, 15, 21, 25, 42, 36, 36, 98, 56, 55, 98, 36, 35, 41, 29, 26, 14, 36, 20, 19, 32, 13, 21, 22, 122, 19, 17, 17, 45, 27, 31, 50, 17, 13, 15, 18, 16, 16, 47, 28, 27, 46, 17, 16, 20, 19, 15, 13, 15, 39, 24, 27, 41, 14, 13, 13, 14, 13, 14, 40, 26, 23, 39, 13, 16, 16, 253, 150, 2, 2, 114, 253, 255, 4, 71, 28, 8, 13, 6, 5, 7, 68, 57, 28, 47, 17, 18, 19, 44, 45, 48, 76, 26, 27, 27, 39, 33, 33, 89, 48, 54, 87, 30, 30, 31, 18, 8, 153, 119, 252, 92, 49, 74, 25, 25, 26, 26, 25, 25, 74, 49, 31, 54, 22, 14, 25, 10, 9, 27, 16, 23, 60, 36, 51, 76, 26, 26, 25, 25, 26, 26, 76, 51, 39, 65, 24, 13, 22, 8, 9, 23, 13, 22, 56, 254, 229, 24, 37, 13, 12, 14, 16, 15, 13, 35, 21, 24, 37, 12, 13, 13, 13, 13, 12, 37, 1, 28, 21, 34, 12, 11, 14, 15, 13, 12, 32, 20, 21, 33, 12, 12, 13, 12, 11, 11, 35, 254, 186, 3, 186, 66, 252, 70, 0, 5, 0, 65, 255, 246, 4, 167, 5, 177, 0, 6, 0, 54, 0, 78, 0, 102, 0, 106, 0, 0, 65, 53, 33, 21, 33, 1, 51, 5, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 2, 110, 253, 211, 1, 151, 254, 197, 150, 3, 99, 38, 33, 33, 92, 53, 54, 91, 34, 33, 37, 21, 20, 12, 35, 19, 23, 41, 15, 21, 25, 42, 36, 36, 98, 56, 55, 98, 36, 35, 41, 29, 26, 14, 36, 20, 19, 32, 13, 21, 22, 122, 19, 17, 17, 45, 27, 31, 50, 17, 13, 15, 18, 16, 16, 47, 28, 27, 46, 17, 16, 20, 19, 15, 13, 15, 39, 24, 27, 41, 14, 13, 13, 14, 13, 14, 40, 26, 23, 39, 13, 16, 16, 253, 103, 2, 2, 114, 253, 255, 5, 96, 81, 117, 253, 175, 226, 49, 74, 25, 25, 26, 26, 25, 25, 74, 49, 31, 54, 22, 14, 25, 10, 9, 27, 16, 23, 60, 36, 51, 76, 26, 26, 25, 25, 26, 26, 76, 51, 39, 65, 24, 13, 22, 8, 9, 23, 13, 22, 56, 254, 229, 24, 37, 13, 12, 14, 16, 15, 13, 35, 21, 24, 37, 12, 13, 13, 13, 13, 12, 37, 1, 28, 21, 34, 12, 11, 14, 15, 13, 12, 32, 20, 21, 33, 12, 12, 13, 12, 11, 11, 35, 254, 190, 3, 186, 66, 252, 70, 0, 2, 0, 126, 255, 235, 4, 70, 5, 236, 0, 44, 0, 73, 0, 0, 65, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 53, 52, 2, 39, 38, 38, 35, 34, 6, 7, 23, 54, 54, 51, 50, 22, 23, 22, 22, 23, 38, 38, 7, 50, 22, 23, 22, 22, 23, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 2, 80, 110, 173, 60, 60, 63, 65, 62, 62, 179, 114, 77, 131, 54, 63, 96, 26, 19, 20, 65, 67, 68, 207, 143, 117, 142, 57, 16, 71, 135, 78, 74, 130, 50, 50, 66, 11, 60, 166, 73, 74, 107, 36, 36, 40, 6, 12, 12, 18, 59, 41, 32, 79, 48, 76, 112, 36, 37, 36, 36, 37, 37, 112, 3, 254, 75, 66, 66, 180, 105, 23, 113, 193, 70, 71, 81, 45, 41, 49, 148, 91, 62, 141, 74, 59, 180, 1, 47, 110, 110, 124, 44, 25, 151, 27, 32, 71, 63, 63, 176, 105, 69, 76, 152, 45, 32, 33, 73, 28, 66, 57, 105, 47, 65, 104, 32, 25, 28, 61, 52, 51, 137, 76, 23, 68, 123, 47, 47, 55, 0, 1, 0, 167, 255, 43, 4, 37, 5, 176, 0, 7, 0, 0, 69, 17, 33, 17, 51, 17, 33, 17, 4, 37, 252, 130, 185, 2, 12, 213, 6, 133, 249, 123, 5, 237, 250, 19, 0, 1, 0, 51, 254, 243, 4, 152, 5, 176, 0, 12, 0, 0, 65, 53, 1, 33, 53, 33, 21, 1, 1, 21, 33, 53, 33, 3, 88, 253, 187, 3, 57, 251, 231, 2, 96, 253, 160, 4, 101, 252, 124, 2, 65, 25, 2, 190, 152, 144, 253, 46, 253, 52, 143, 152, 0, 1, 0, 57, 0, 0, 4, 146, 5, 176, 0, 10, 0, 0, 65, 3, 33, 21, 51, 19, 51, 1, 35, 1, 7, 2, 24, 164, 254, 197, 185, 245, 141, 2, 30, 189, 254, 114, 25, 1, 81, 1, 189, 154, 253, 140, 5, 176, 251, 161, 105, 0, 0, 3, 0, 53, 0, 224, 4, 154, 3, 221, 0, 64, 0, 102, 0, 140, 0, 0, 65, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 39, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 5, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 23, 21, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 4, 154, 17, 17, 13, 35, 20, 34, 91, 56, 34, 59, 26, 34, 56, 21, 15, 25, 10, 19, 52, 34, 35, 87, 52, 49, 81, 32, 38, 53, 14, 8, 8, 12, 12, 16, 53, 34, 31, 79, 47, 52, 86, 35, 34, 52, 19, 19, 53, 35, 34, 86, 52, 48, 76, 35, 41, 51, 15, 9, 9, 124, 5, 5, 7, 28, 22, 17, 46, 30, 30, 53, 23, 23, 36, 14, 14, 17, 3, 3, 17, 14, 14, 37, 23, 22, 54, 30, 31, 49, 18, 17, 22, 6, 9, 7, 252, 147, 5, 6, 7, 26, 19, 18, 47, 31, 30, 54, 23, 22, 37, 14, 13, 17, 3, 3, 17, 13, 14, 37, 22, 23, 53, 30, 30, 46, 18, 19, 27, 8, 6, 6, 2, 74, 42, 48, 94, 41, 30, 55, 20, 34, 39, 19, 16, 21, 61, 34, 22, 46, 23, 42, 86, 35, 35, 44, 29, 26, 32, 91, 54, 30, 66, 33, 42, 41, 80, 36, 47, 80, 27, 24, 27, 44, 35, 35, 86, 42, 42, 86, 35, 35, 44, 27, 26, 31, 88, 52, 32, 70, 78, 42, 27, 52, 24, 33, 57, 18, 15, 17, 29, 23, 22, 56, 28, 27, 49, 15, 29, 15, 49, 28, 27, 56, 23, 23, 28, 20, 18, 15, 43, 23, 27, 63, 75, 42, 28, 53, 24, 30, 52, 19, 17, 19, 28, 23, 23, 56, 27, 28, 49, 15, 29, 16, 48, 27, 28, 56, 22, 23, 29, 17, 15, 17, 52, 32, 25, 56, 0, 0, 1, 0, 248, 254, 75, 3, 211, 6, 43, 0, 40, 0, 0, 69, 49, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 2, 170, 26, 25, 22, 66, 43, 29, 45, 17, 24, 37, 70, 37, 79, 126, 43, 44, 46, 26, 25, 16, 44, 26, 14, 68, 16, 14, 29, 53, 30, 73, 116, 41, 45, 47, 89, 5, 27, 51, 80, 27, 25, 26, 6, 5, 142, 9, 12, 49, 46, 46, 134, 86, 250, 229, 54, 83, 25, 16, 18, 7, 6, 147, 10, 8, 41, 40, 44, 135, 0, 0, 2, 0, 142, 0, 0, 4, 63, 5, 176, 0, 5, 0, 13, 0, 0, 65, 1, 1, 51, 1, 1, 7, 23, 1, 1, 7, 39, 1, 1, 2, 30, 254, 112, 1, 147, 141, 1, 145, 254, 108, 72, 17, 1, 12, 254, 250, 18, 16, 254, 244, 1, 6, 5, 176, 253, 39, 253, 41, 2, 215, 2, 217, 156, 51, 253, 246, 253, 247, 51, 51, 2, 9, 2, 10, 0, 0, 22, 0, 92, 0, 10, 4, 135, 4, 6, 0, 13, 0, 28, 0, 42, 0, 58, 0, 64, 0, 70, 0, 76, 0, 82, 0, 91, 0, 95, 0, 99, 0, 103, 0, 107, 0, 111, 0, 115, 0, 124, 0, 128, 0, 132, 0, 136, 0, 140, 0, 144, 0, 148, 0, 0, 65, 21, 20, 6, 35, 34, 38, 53, 53, 52, 54, 51, 50, 22, 23, 35, 17, 51, 50, 22, 21, 20, 6, 7, 22, 22, 21, 20, 6, 37, 53, 52, 38, 35, 34, 6, 21, 21, 20, 22, 51, 50, 54, 37, 53, 51, 21, 20, 6, 35, 34, 38, 53, 51, 20, 22, 51, 50, 54, 1, 51, 53, 35, 53, 35, 5, 51, 53, 35, 21, 35, 1, 51, 53, 51, 53, 35, 5, 51, 21, 51, 53, 35, 1, 35, 21, 51, 50, 54, 53, 52, 38, 3, 51, 53, 35, 23, 51, 53, 35, 5, 51, 53, 35, 19, 51, 53, 35, 23, 51, 53, 35, 5, 51, 53, 35, 19, 21, 51, 50, 54, 53, 52, 38, 35, 5, 53, 35, 21, 23, 53, 35, 21, 19, 53, 35, 21, 5, 53, 35, 21, 23, 53, 35, 21, 19, 53, 35, 21, 1, 240, 69, 57, 57, 71, 70, 57, 57, 70, 159, 122, 103, 55, 62, 23, 23, 28, 28, 57, 254, 251, 41, 35, 35, 41, 41, 36, 35, 40, 2, 14, 50, 58, 45, 48, 60, 51, 31, 26, 23, 30, 252, 145, 170, 108, 62, 3, 129, 170, 61, 109, 252, 127, 62, 108, 170, 3, 129, 109, 61, 170, 254, 178, 70, 70, 29, 27, 27, 135, 153, 153, 220, 153, 153, 254, 73, 152, 152, 219, 153, 153, 220, 153, 153, 254, 73, 152, 152, 255, 51, 33, 32, 32, 33, 254, 30, 62, 62, 62, 62, 62, 4, 43, 61, 61, 61, 61, 61, 2, 37, 62, 54, 66, 66, 54, 62, 54, 66, 66, 235, 1, 47, 40, 43, 21, 34, 9, 8, 39, 23, 43, 43, 119, 62, 38, 43, 43, 38, 62, 38, 43, 43, 15, 208, 208, 45, 50, 45, 46, 26, 24, 30, 254, 82, 63, 111, 174, 174, 111, 3, 32, 93, 64, 64, 93, 157, 253, 241, 93, 24, 21, 22, 26, 1, 207, 64, 64, 64, 64, 64, 252, 4, 63, 63, 63, 63, 63, 2, 39, 83, 22, 22, 23, 16, 165, 138, 138, 207, 137, 137, 1, 159, 137, 137, 208, 138, 138, 207, 137, 137, 1, 159, 137, 137, 0, 5, 0, 15, 253, 213, 4, 175, 8, 98, 0, 3, 0, 47, 0, 51, 0, 55, 0, 59, 0, 0, 65, 9, 2, 5, 35, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 35, 34, 6, 7, 35, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 21, 21, 35, 53, 19, 21, 51, 53, 3, 21, 51, 53, 2, 98, 253, 173, 2, 83, 2, 77, 254, 26, 202, 8, 11, 10, 35, 29, 10, 27, 12, 12, 17, 32, 37, 24, 41, 2, 203, 1, 43, 37, 36, 97, 56, 64, 102, 35, 34, 37, 23, 18, 18, 45, 22, 11, 17, 6, 6, 6, 202, 94, 4, 6, 4, 6, 82, 252, 49, 252, 49, 3, 207, 251, 48, 50, 19, 19, 40, 36, 13, 39, 24, 23, 51, 26, 52, 64, 48, 55, 70, 101, 33, 32, 30, 39, 36, 37, 103, 64, 41, 64, 28, 29, 55, 31, 16, 29, 15, 16, 39, 116, 170, 170, 252, 172, 4, 4, 10, 137, 4, 4, 0, 0, 2, 1, 17, 4, 228, 3, 239, 6, 249, 0, 6, 0, 44, 0, 0, 65, 1, 35, 1, 51, 55, 23, 19, 39, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 239, 254, 219, 149, 254, 220, 170, 196, 197, 64, 77, 14, 11, 12, 30, 16, 29, 48, 23, 23, 50, 31, 34, 58, 21, 22, 25, 77, 15, 12, 11, 29, 16, 30, 44, 22, 21, 50, 37, 34, 58, 22, 21, 25, 4, 228, 1, 6, 254, 250, 176, 176, 1, 254, 23, 17, 33, 13, 13, 16, 22, 13, 13, 22, 31, 25, 25, 65, 33, 19, 17, 33, 14, 13, 17, 23, 13, 14, 22, 30, 25, 24, 63, 0, 0, 2, 0, 252, 4, 228, 4, 186, 6, 207, 0, 6, 0, 34, 0, 0, 65, 1, 35, 1, 51, 55, 23, 55, 51, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 7, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 3, 221, 254, 237, 188, 254, 238, 170, 198, 198, 142, 114, 1, 25, 49, 19, 19, 23, 48, 44, 33, 86, 52, 6, 28, 52, 20, 19, 24, 19, 18, 15, 45, 28, 4, 228, 1, 6, 254, 250, 186, 186, 138, 60, 3, 18, 16, 15, 47, 33, 43, 67, 20, 15, 16, 92, 7, 8, 8, 25, 19, 19, 23, 7, 5, 7, 2, 0, 2, 0, 16, 4, 228, 3, 249, 6, 149, 0, 6, 0, 10, 0, 0, 65, 1, 35, 1, 51, 55, 23, 37, 3, 35, 19, 3, 249, 254, 221, 152, 254, 222, 196, 170, 170, 254, 49, 141, 200, 201, 4, 228, 1, 6, 254, 250, 158, 158, 174, 1, 3, 254, 253, 0, 0, 2, 1, 11, 4, 228, 4, 244, 6, 149, 0, 6, 0, 10, 0, 0, 65, 1, 51, 55, 23, 51, 1, 37, 3, 51, 19, 2, 47, 254, 220, 198, 170, 169, 197, 254, 221, 1, 103, 142, 141, 200, 5, 234, 254, 250, 158, 158, 1, 6, 171, 254, 253, 1, 3, 0, 0, 2, 1, 62, 4, 223, 3, 156, 6, 138, 0, 3, 0, 29, 0, 0, 65, 39, 35, 23, 5, 35, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 2, 166, 113, 153, 164, 1, 92, 153, 1, 19, 20, 18, 54, 37, 40, 57, 18, 19, 18, 152, 44, 40, 39, 112, 69, 68, 111, 40, 39, 44, 5, 196, 198, 198, 20, 25, 44, 16, 14, 17, 18, 16, 15, 43, 24, 47, 77, 27, 28, 30, 30, 28, 27, 77, 0, 1, 1, 249, 4, 142, 2, 240, 6, 59, 0, 9, 0, 0, 65, 21, 51, 53, 52, 54, 55, 39, 6, 6, 1, 249, 185, 27, 35, 107, 48, 92, 5, 15, 129, 120, 61, 106, 59, 83, 42, 171, 0, 2, 0, 54, 0, 0, 4, 142, 4, 141, 0, 7, 0, 12, 0, 0, 65, 19, 51, 1, 35, 1, 51, 19, 55, 19, 55, 23, 19, 3, 102, 109, 187, 254, 42, 165, 254, 35, 188, 110, 60, 170, 30, 31, 168, 1, 23, 254, 233, 4, 141, 251, 115, 1, 23, 151, 1, 174, 77, 79, 254, 84, 0, 3, 0, 208, 0, 0, 4, 70, 4, 141, 0, 26, 0, 41, 0, 56, 0, 0, 115, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 19, 33, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 33, 17, 17, 51, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 208, 1, 199, 87, 169, 61, 53, 61, 36, 30, 31, 84, 49, 40, 71, 27, 26, 32, 81, 65, 60, 158, 75, 254, 99, 187, 1, 21, 47, 86, 33, 32, 38, 43, 35, 35, 88, 44, 254, 244, 227, 43, 90, 37, 37, 46, 43, 33, 33, 82, 40, 45, 46, 42, 117, 83, 55, 91, 35, 34, 46, 12, 14, 43, 30, 29, 77, 48, 93, 121, 38, 35, 31, 253, 133, 1, 23, 23, 24, 73, 52, 51, 69, 21, 22, 19, 1, 2, 8, 1, 85, 1, 15, 19, 19, 67, 52, 47, 64, 19, 20, 17, 1, 0, 1, 0, 110, 255, 240, 4, 54, 4, 157, 0, 51, 0, 0, 65, 35, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 54, 185, 10, 39, 30, 36, 106, 71, 84, 117, 36, 36, 32, 1, 1, 35, 38, 38, 120, 85, 64, 97, 35, 33, 42, 10, 185, 12, 78, 60, 61, 161, 94, 119, 185, 64, 65, 68, 1, 1, 66, 63, 62, 182, 117, 94, 163, 63, 63, 82, 1, 121, 55, 85, 30, 36, 37, 1, 69, 56, 56, 142, 73, 102, 75, 143, 56, 55, 67, 34, 33, 31, 90, 58, 94, 148, 51, 51, 54, 87, 75, 75, 199, 113, 101, 111, 198, 75, 75, 88, 51, 50, 50, 146, 0, 0, 2, 0, 183, 0, 0, 4, 83, 4, 141, 0, 15, 0, 31, 0, 0, 115, 33, 54, 54, 55, 54, 54, 55, 53, 38, 38, 39, 38, 38, 39, 33, 23, 51, 22, 22, 23, 22, 22, 23, 21, 6, 6, 7, 6, 6, 7, 35, 183, 1, 95, 123, 208, 77, 76, 88, 1, 1, 85, 74, 75, 205, 121, 254, 149, 186, 177, 91, 140, 48, 47, 49, 1, 1, 53, 49, 50, 143, 92, 165, 1, 78, 72, 71, 202, 126, 63, 123, 202, 73, 72, 80, 2, 153, 1, 58, 52, 53, 145, 88, 65, 90, 147, 52, 52, 57, 1, 0, 0, 1, 0, 200, 0, 0, 4, 35, 4, 141, 0, 11, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 33, 53, 33, 17, 3, 197, 253, 192, 2, 152, 252, 171, 3, 91, 253, 98, 2, 14, 152, 1, 78, 153, 251, 115, 151, 1, 119, 0, 0, 1, 0, 231, 0, 0, 4, 61, 4, 141, 0, 9, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 51, 17, 3, 228, 253, 195, 2, 150, 252, 170, 192, 1, 243, 153, 1, 104, 153, 251, 115, 1, 243, 0, 0, 1, 0, 124, 255, 240, 4, 65, 4, 157, 0, 55, 0, 0, 101, 17, 33, 21, 33, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 65, 254, 52, 1, 21, 1, 25, 62, 33, 34, 70, 33, 87, 126, 41, 42, 40, 1, 1, 33, 38, 37, 121, 87, 62, 98, 36, 30, 41, 11, 183, 14, 81, 61, 61, 157, 89, 122, 187, 63, 63, 66, 1, 1, 73, 67, 67, 192, 121, 60, 124, 58, 58, 103, 150, 1, 185, 144, 238, 24, 29, 8, 8, 5, 69, 56, 56, 146, 78, 86, 76, 145, 57, 57, 68, 33, 33, 27, 76, 48, 91, 139, 46, 46, 47, 87, 75, 76, 203, 116, 84, 116, 202, 75, 76, 87, 15, 19, 19, 64, 0, 0, 1, 0, 155, 0, 0, 3, 249, 4, 141, 0, 11, 0, 0, 97, 17, 35, 17, 33, 17, 35, 17, 51, 17, 33, 17, 3, 249, 178, 254, 6, 178, 178, 1, 250, 4, 141, 253, 253, 2, 3, 251, 115, 1, 242, 254, 14, 0, 0, 1, 0, 217, 0, 0, 4, 16, 4, 140, 0, 11, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 33, 53, 217, 1, 59, 254, 197, 3, 55, 254, 189, 1, 67, 4, 140, 161, 252, 181, 160, 160, 3, 75, 161, 0, 0, 1, 0, 150, 255, 240, 3, 230, 4, 141, 0, 27, 0, 0, 65, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 3, 40, 1, 2, 35, 30, 30, 80, 47, 49, 88, 34, 34, 40, 190, 8, 73, 58, 57, 152, 87, 80, 148, 57, 56, 68, 2, 2, 4, 141, 252, 234, 57, 89, 30, 31, 33, 25, 28, 28, 89, 62, 101, 145, 46, 47, 44, 51, 50, 49, 146, 95, 3, 22, 0, 1, 0, 180, 0, 0, 4, 128, 4, 141, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 7, 17, 35, 17, 51, 17, 2, 0, 1, 159, 225, 254, 0, 1, 222, 227, 254, 116, 130, 185, 185, 2, 7, 253, 249, 2, 134, 2, 7, 254, 101, 143, 2, 42, 251, 115, 1, 121, 0, 0, 1, 0, 209, 0, 0, 4, 82, 4, 141, 0, 5, 0, 0, 101, 17, 35, 17, 33, 53, 1, 149, 196, 3, 129, 151, 3, 246, 251, 115, 151, 0, 0, 1, 0, 155, 0, 0, 4, 58, 4, 141, 0, 12, 0, 0, 65, 3, 35, 17, 51, 17, 19, 51, 19, 17, 51, 17, 35, 2, 109, 218, 248, 176, 226, 131, 218, 176, 241, 2, 88, 2, 53, 251, 115, 3, 177, 253, 141, 2, 129, 252, 65, 4, 141, 0, 0, 1, 0, 194, 0, 0, 4, 15, 4, 141, 0, 9, 0, 0, 97, 17, 35, 19, 1, 35, 17, 51, 3, 1, 4, 15, 176, 6, 254, 11, 174, 177, 5, 1, 245, 4, 141, 252, 147, 3, 109, 251, 115, 3, 108, 252, 148, 0, 0, 2, 0, 130, 255, 240, 4, 74, 4, 157, 0, 25, 0, 51, 0, 0, 65, 53, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 39, 21, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 74, 1, 61, 60, 61, 181, 120, 119, 180, 61, 61, 62, 1, 1, 63, 61, 61, 180, 119, 120, 180, 61, 60, 61, 182, 1, 30, 34, 35, 115, 85, 84, 114, 35, 36, 32, 1, 1, 31, 36, 35, 114, 84, 84, 115, 35, 35, 31, 2, 36, 67, 110, 205, 79, 78, 94, 95, 79, 79, 204, 109, 67, 109, 204, 78, 79, 94, 94, 78, 78, 204, 179, 69, 71, 146, 59, 59, 75, 75, 60, 59, 145, 71, 69, 70, 145, 59, 59, 75, 74, 58, 59, 146, 0, 2, 0, 94, 255, 54, 4, 103, 4, 157, 0, 31, 0, 57, 0, 0, 65, 53, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 21, 22, 22, 23, 22, 22, 51, 50, 54, 55, 5, 55, 39, 54, 54, 55, 54, 54, 39, 21, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 101, 1, 70, 66, 66, 191, 122, 122, 190, 66, 66, 70, 1, 1, 71, 66, 66, 191, 122, 32, 63, 30, 1, 10, 125, 223, 53, 82, 28, 28, 29, 183, 1, 37, 40, 40, 124, 88, 87, 125, 40, 41, 39, 1, 1, 39, 40, 40, 124, 87, 88, 125, 40, 40, 38, 2, 36, 67, 116, 206, 77, 77, 90, 91, 77, 78, 205, 115, 67, 115, 205, 77, 77, 90, 7, 7, 200, 111, 163, 38, 102, 62, 61, 139, 143, 69, 78, 148, 57, 57, 70, 70, 58, 58, 147, 77, 69, 76, 147, 58, 57, 70, 69, 57, 57, 147, 0, 0, 2, 0, 144, 0, 0, 4, 44, 4, 141, 0, 20, 0, 35, 0, 0, 65, 1, 51, 53, 1, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 33, 17, 51, 17, 53, 17, 51, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 2, 97, 1, 4, 199, 254, 222, 50, 87, 32, 32, 36, 75, 62, 63, 161, 84, 254, 86, 185, 241, 50, 94, 36, 36, 43, 45, 35, 36, 91, 47, 1, 193, 254, 63, 10, 1, 230, 22, 57, 38, 37, 96, 63, 95, 134, 43, 43, 40, 1, 251, 115, 1, 193, 151, 1, 156, 1, 24, 25, 25, 79, 56, 53, 75, 24, 25, 24, 1, 0, 0, 1, 0, 138, 255, 240, 4, 57, 4, 157, 0, 76, 0, 0, 65, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 35, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 127, 1, 53, 39, 40, 93, 40, 54, 106, 43, 43, 55, 2, 188, 3, 31, 25, 21, 54, 31, 69, 171, 86, 76, 165, 70, 59, 82, 76, 60, 60, 146, 70, 48, 138, 49, 30, 39, 50, 38, 38, 90, 40, 50, 96, 38, 38, 47, 2, 187, 6, 81, 63, 63, 159, 84, 69, 151, 60, 72, 91, 83, 65, 64, 153, 69, 49, 131, 40, 33, 29, 1, 42, 50, 64, 18, 19, 14, 21, 26, 25, 83, 61, 52, 89, 37, 30, 50, 20, 45, 42, 37, 39, 36, 119, 85, 85, 121, 43, 42, 55, 18, 11, 41, 30, 18, 57, 40, 49, 65, 20, 19, 16, 22, 25, 25, 78, 55, 90, 134, 45, 44, 43, 34, 33, 39, 126, 89, 86, 120, 41, 41, 51, 17, 13, 38, 32, 27, 55, 0, 0, 1, 0, 93, 0, 0, 4, 105, 4, 141, 0, 7, 0, 0, 65, 53, 33, 21, 33, 17, 51, 17, 4, 105, 251, 244, 1, 167, 188, 3, 244, 153, 153, 252, 12, 3, 244, 0, 0, 1, 0, 181, 255, 240, 4, 43, 4, 141, 0, 29, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 3, 35, 3, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 4, 42, 183, 1, 1, 37, 33, 34, 95, 59, 59, 95, 33, 34, 37, 1, 1, 181, 1, 1, 70, 60, 59, 160, 92, 91, 160, 60, 60, 71, 2, 4, 141, 252, 244, 59, 93, 32, 32, 34, 34, 32, 32, 93, 59, 3, 12, 252, 244, 96, 149, 51, 51, 54, 54, 52, 52, 148, 95, 0, 0, 1, 0, 86, 0, 0, 4, 131, 4, 141, 0, 8, 0, 0, 65, 1, 35, 1, 51, 1, 35, 1, 7, 2, 80, 254, 206, 200, 1, 191, 174, 1, 192, 201, 254, 207, 29, 1, 54, 3, 87, 251, 115, 4, 141, 252, 168, 106, 0, 1, 0, 47, 0, 0, 4, 187, 4, 141, 0, 18, 0, 0, 97, 51, 19, 55, 23, 19, 51, 19, 35, 3, 7, 39, 3, 35, 3, 7, 39, 3, 35, 1, 23, 159, 179, 14, 13, 175, 159, 233, 172, 140, 11, 13, 167, 154, 171, 13, 11, 141, 171, 3, 3, 59, 59, 252, 253, 4, 141, 253, 3, 61, 61, 2, 253, 253, 2, 60, 61, 2, 253, 0, 0, 1, 0, 96, 0, 0, 4, 102, 4, 141, 0, 11, 0, 0, 65, 1, 35, 1, 1, 51, 1, 1, 51, 1, 1, 35, 2, 95, 254, 229, 219, 1, 139, 254, 108, 220, 1, 38, 1, 40, 220, 254, 105, 1, 136, 219, 2, 218, 1, 179, 253, 190, 253, 181, 1, 187, 254, 69, 2, 75, 2, 66, 0, 1, 0, 77, 0, 0, 4, 129, 4, 141, 0, 10, 0, 0, 97, 51, 17, 1, 35, 1, 7, 39, 1, 35, 1, 2, 6, 187, 1, 192, 212, 254, 190, 5, 5, 254, 192, 212, 1, 185, 1, 149, 2, 248, 253, 192, 9, 9, 2, 64, 253, 20, 0, 1, 0, 185, 0, 0, 4, 66, 4, 141, 0, 9, 0, 0, 101, 1, 39, 33, 21, 33, 1, 21, 33, 53, 1, 159, 2, 139, 1, 252, 153, 2, 130, 253, 117, 3, 137, 151, 3, 125, 121, 153, 252, 136, 124, 151, 0, 2, 1, 82, 4, 224, 3, 154, 7, 3, 0, 25, 0, 53, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 37, 51, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 7, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 3, 154, 146, 17, 16, 18, 56, 38, 38, 55, 18, 18, 18, 1, 145, 42, 39, 38, 108, 66, 66, 108, 38, 37, 42, 254, 156, 127, 3, 27, 54, 21, 21, 26, 49, 47, 37, 99, 61, 7, 32, 58, 22, 22, 27, 18, 18, 18, 52, 34, 5, 176, 23, 41, 15, 17, 19, 18, 15, 15, 43, 24, 47, 76, 27, 28, 30, 30, 28, 27, 76, 64, 62, 3, 16, 14, 13, 41, 29, 38, 59, 18, 14, 15, 82, 6, 6, 7, 23, 17, 16, 20, 6, 6, 7, 2, 0, 2, 1, 66, 4, 223, 3, 160, 6, 138, 0, 25, 0, 29, 0, 0, 65, 35, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 7, 51, 55, 3, 160, 153, 1, 19, 20, 18, 54, 37, 40, 57, 18, 19, 18, 152, 44, 40, 39, 112, 69, 68, 111, 40, 39, 44, 248, 113, 102, 164, 5, 176, 25, 44, 16, 14, 17, 18, 16, 15, 43, 24, 47, 77, 27, 28, 30, 30, 28, 27, 77, 1, 9, 198, 198, 0, 1, 1, 53, 2, 139, 3, 178, 3, 34, 0, 3, 0, 0, 65, 53, 33, 21, 3, 178, 253, 131, 2, 139, 151, 151, 0, 3, 1, 209, 4, 64, 3, 168, 6, 114, 0, 3, 0, 27, 0, 39, 0, 0, 65, 7, 51, 55, 1, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 54, 54, 51, 50, 22, 21, 6, 6, 35, 34, 38, 2, 226, 146, 124, 220, 254, 41, 28, 24, 23, 62, 35, 34, 62, 23, 22, 27, 27, 22, 23, 62, 34, 35, 62, 23, 24, 28, 85, 1, 50, 36, 35, 49, 1, 48, 35, 36, 50, 6, 114, 184, 184, 254, 113, 36, 60, 21, 22, 24, 24, 22, 21, 60, 36, 36, 62, 22, 22, 25, 25, 22, 22, 62, 36, 38, 50, 50, 38, 35, 50, 50, 0, 0, 2, 1, 245, 4, 130, 3, 183, 5, 196, 0, 5, 0, 21, 0, 0, 65, 21, 51, 19, 53, 35, 5, 21, 51, 53, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 2, 175, 80, 184, 168, 254, 230, 123, 1, 7, 6, 6, 21, 13, 72, 24, 37, 13, 11, 16, 4, 158, 26, 1, 43, 21, 182, 140, 134, 24, 45, 22, 25, 47, 22, 3, 16, 42, 25, 22, 50, 0, 0, 2, 1, 116, 4, 217, 3, 194, 6, 208, 0, 25, 0, 51, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 39, 20, 6, 35, 34, 38, 39, 38, 38, 35, 34, 6, 21, 23, 54, 54, 51, 50, 22, 23, 22, 22, 51, 50, 54, 3, 194, 149, 17, 18, 18, 55, 38, 39, 55, 18, 17, 17, 149, 42, 39, 38, 109, 67, 67, 109, 39, 38, 42, 9, 83, 48, 34, 32, 52, 25, 26, 53, 33, 72, 94, 84, 1, 46, 35, 33, 47, 24, 23, 54, 40, 71, 94, 5, 174, 24, 43, 16, 16, 19, 19, 16, 16, 43, 24, 47, 79, 28, 28, 31, 31, 28, 28, 79, 1, 57, 24, 38, 51, 23, 15, 14, 23, 111, 71, 21, 38, 51, 23, 14, 15, 23, 106, 0, 1, 2, 6, 254, 153, 2, 191, 0, 154, 0, 3, 0, 0, 65, 17, 35, 17, 2, 191, 185, 254, 153, 2, 1, 253, 255, 0, 0, 1, 1, 96, 254, 75, 3, 18, 0, 151, 0, 21, 0, 0, 101, 35, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 3, 18, 185, 17, 16, 18, 52, 34, 14, 66, 18, 14, 29, 53, 30, 85, 129, 40, 33, 35, 151, 240, 44, 68, 24, 24, 26, 7, 6, 157, 10, 8, 56, 53, 43, 121, 75, 0, 0, 2, 0, 204, 0, 0, 4, 75, 4, 141, 0, 16, 0, 31, 0, 0, 65, 33, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 33, 17, 51, 17, 17, 33, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 1, 132, 1, 18, 84, 158, 61, 60, 74, 74, 61, 61, 157, 84, 254, 54, 184, 1, 18, 49, 92, 35, 34, 42, 42, 34, 35, 92, 49, 1, 182, 1, 42, 44, 43, 135, 95, 92, 137, 46, 45, 46, 1, 251, 115, 2, 78, 1, 166, 1, 28, 26, 27, 80, 54, 55, 77, 25, 25, 23, 1, 0, 0, 1, 0, 169, 0, 0, 4, 182, 5, 176, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 35, 17, 35, 17, 51, 17, 2, 13, 1, 198, 227, 253, 232, 1, 239, 212, 254, 69, 156, 185, 185, 2, 147, 253, 109, 2, 239, 2, 193, 253, 122, 2, 134, 250, 80, 2, 147, 0, 1, 0, 210, 255, 236, 4, 65, 4, 157, 0, 62, 0, 0, 101, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 35, 1, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 51, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 3, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 2, 11, 53, 55, 111, 57, 87, 145, 53, 52, 59, 49, 45, 46, 129, 81, 1, 1, 18, 39, 87, 49, 50, 112, 65, 99, 149, 49, 52, 51, 184, 21, 25, 24, 83, 63, 36, 57, 23, 18, 29, 13, 237, 84, 76, 109, 34, 26, 26, 29, 27, 27, 78, 50, 54, 84, 181, 152, 26, 23, 50, 48, 48, 140, 90, 70, 109, 40, 39, 47, 7, 1, 74, 38, 67, 25, 24, 29, 51, 50, 53, 164, 110, 253, 15, 2, 241, 56, 101, 38, 37, 44, 14, 10, 8, 20, 10, 254, 217, 137, 26, 28, 21, 65, 43, 49, 81, 29, 30, 33, 31, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 1, 0, 0, 255, 255, 0, 218, 2, 49, 3, 215, 2, 201, 6, 6, 0, 103, 0, 0, 255, 255, 0, 107, 255, 236, 4, 93, 7, 46, 6, 38, 0, 4, 0, 0, 0, 7, 1, 96, 0, 52, 1, 112, 255, 255, 0, 143, 255, 236, 4, 51, 5, 215, 6, 38, 0, 30, 0, 0, 0, 6, 1, 96, 29, 25, 255, 255, 0, 100, 255, 235, 4, 92, 7, 46, 6, 38, 0, 8, 0, 0, 0, 7, 1, 96, 0, 25, 1, 112, 255, 255, 0, 140, 254, 86, 4, 29, 5, 215, 6, 38, 0, 34, 0, 0, 0, 6, 1, 96, 246, 25, 255, 255, 255, 186, 0, 0, 4, 41, 6, 22, 6, 38, 0, 41, 0, 0, 0, 7, 0, 109, 253, 237, 0, 0, 255, 255, 0, 118, 254, 36, 4, 105, 5, 196, 6, 38, 0, 20, 0, 0, 0, 7, 1, 104, 0, 181, 254, 206, 255, 255, 0, 175, 254, 37, 4, 54, 4, 78, 6, 38, 0, 46, 0, 0, 0, 7, 1, 104, 0, 168, 254, 207, 255, 255, 0, 76, 254, 46, 4, 132, 5, 176, 6, 38, 0, 21, 0, 0, 0, 7, 1, 104, 0, 163, 254, 216, 255, 255, 0, 142, 254, 46, 4, 41, 5, 64, 6, 38, 0, 47, 0, 0, 0, 7, 1, 104, 1, 5, 254, 216, 255, 255, 0, 76, 254, 77, 4, 132, 5, 176, 6, 38, 0, 21, 0, 0, 0, 6, 1, 102, 63, 0, 255, 255, 0, 93, 254, 79, 4, 105, 4, 141, 6, 38, 2, 97, 0, 0, 0, 6, 1, 102, 48, 2, 255, 255, 0, 142, 254, 77, 4, 41, 5, 64, 6, 38, 0, 47, 0, 0, 0, 7, 1, 102, 0, 161, 0, 0, 255, 255, 255, 231, 0, 0, 4, 83, 4, 141, 6, 38, 2, 82, 0, 0, 0, 7, 2, 106, 254, 178, 255, 120, 255, 255, 255, 231, 0, 0, 4, 83, 4, 141, 6, 38, 2, 82, 0, 0, 0, 7, 2, 106, 254, 178, 255, 120, 255, 255, 0, 93, 0, 0, 4, 105, 4, 141, 6, 38, 2, 97, 0, 0, 0, 6, 2, 106, 243, 224, 255, 255, 0, 54, 0, 0, 4, 142, 5, 255, 6, 38, 2, 79, 0, 0, 0, 6, 1, 90, 139, 54, 255, 255, 0, 54, 0, 0, 4, 142, 5, 252, 6, 38, 2, 79, 0, 0, 0, 6, 1, 91, 119, 51, 255, 255, 0, 54, 0, 0, 4, 142, 6, 36, 6, 38, 2, 79, 0, 0, 0, 6, 1, 92, 121, 55, 255, 255, 0, 54, 0, 0, 4, 142, 6, 46, 6, 38, 2, 79, 0, 0, 0, 7, 1, 93, 0, 133, 0, 61, 255, 255, 0, 54, 0, 0, 4, 142, 5, 252, 6, 38, 2, 79, 0, 0, 0, 6, 1, 97, 1, 55, 255, 255, 0, 54, 0, 0, 4, 142, 6, 103, 6, 38, 2, 79, 0, 0, 0, 7, 1, 98, 0, 0, 0, 128, 255, 255, 0, 54, 0, 0, 4, 142, 6, 244, 6, 38, 2, 79, 0, 0, 0, 7, 2, 107, 255, 238, 0, 130, 255, 255, 0, 110, 254, 74, 4, 54, 4, 157, 6, 38, 2, 81, 0, 0, 0, 6, 1, 102, 42, 253, 255, 255, 0, 200, 0, 0, 4, 35, 5, 255, 6, 38, 2, 83, 0, 0, 0, 7, 1, 90, 255, 109, 0, 54, 255, 255, 0, 200, 0, 0, 4, 35, 5, 252, 6, 38, 2, 83, 0, 0, 0, 6, 1, 91, 89, 51, 255, 255, 0, 200, 0, 0, 4, 35, 6, 36, 6, 38, 2, 83, 0, 0, 0, 6, 1, 92, 91, 55, 255, 255, 0, 200, 0, 0, 4, 35, 5, 252, 6, 38, 2, 83, 0, 0, 0, 6, 1, 97, 228, 55, 255, 255, 0, 217, 0, 0, 4, 16, 5, 227, 6, 38, 2, 87, 0, 0, 0, 6, 1, 90, 166, 26, 255, 255, 0, 217, 0, 0, 4, 16, 5, 224, 6, 38, 2, 87, 0, 0, 0, 7, 1, 91, 0, 146, 0, 23, 255, 255, 0, 217, 0, 0, 4, 16, 6, 8, 6, 38, 2, 87, 0, 0, 0, 7, 1, 92, 0, 148, 0, 27, 255, 255, 0, 217, 0, 0, 4, 16, 5, 224, 6, 38, 2, 87, 0, 0, 0, 6, 1, 97, 28, 27, 255, 255, 0, 194, 0, 0, 4, 22, 6, 46, 6, 38, 2, 92, 0, 0, 0, 7, 1, 93, 0, 220, 0, 61, 255, 255, 0, 130, 255, 240, 4, 74, 5, 255, 6, 38, 2, 93, 0, 0, 0, 6, 1, 90, 173, 54, 255, 255, 0, 130, 255, 240, 4, 74, 5, 252, 6, 38, 2, 93, 0, 0, 0, 7, 1, 91, 0, 153, 0, 51, 255, 255, 0, 130, 255, 240, 4, 74, 6, 36, 6, 38, 2, 93, 0, 0, 0, 7, 1, 92, 0, 155, 0, 55, 255, 255, 0, 130, 255, 240, 4, 74, 6, 46, 6, 38, 2, 93, 0, 0, 0, 7, 1, 93, 0, 167, 0, 61, 255, 255, 0, 130, 255, 240, 4, 74, 5, 252, 6, 38, 2, 93, 0, 0, 0, 6, 1, 97, 35, 55, 255, 255, 0, 181, 255, 240, 4, 43, 5, 255, 6, 38, 2, 98, 0, 0, 0, 6, 1, 90, 169, 54, 255, 255, 0, 181, 255, 240, 4, 43, 5, 252, 6, 38, 2, 98, 0, 0, 0, 7, 1, 91, 0, 149, 0, 51, 255, 255, 0, 181, 255, 240, 4, 43, 6, 36, 6, 38, 2, 98, 0, 0, 0, 7, 1, 92, 0, 151, 0, 55, 255, 255, 0, 181, 255, 240, 4, 43, 5, 252, 6, 38, 2, 98, 0, 0, 0, 6, 1, 97, 31, 55, 255, 255, 0, 77, 0, 0, 4, 129, 5, 252, 6, 38, 2, 102, 0, 0, 0, 6, 1, 91, 98, 51, 255, 255, 0, 54, 0, 0, 4, 142, 5, 214, 6, 38, 2, 79, 0, 0, 0, 6, 1, 94, 5, 38, 255, 255, 0, 54, 0, 0, 4, 142, 6, 38, 6, 38, 2, 79, 0, 0, 0, 6, 1, 95, 1, 116, 0, 2, 0, 54, 254, 79, 4, 145, 4, 141, 0, 35, 0, 40, 0, 0, 65, 35, 1, 51, 19, 33, 19, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 1, 19, 55, 23, 19, 2, 184, 165, 254, 35, 188, 110, 2, 6, 103, 30, 51, 21, 35, 38, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 28, 26, 22, 60, 36, 35, 253, 14, 176, 24, 24, 175, 4, 141, 251, 115, 1, 23, 254, 248, 20, 44, 23, 40, 87, 44, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 36, 65, 29, 25, 45, 19, 1, 174, 1, 191, 60, 61, 254, 66, 0, 255, 255, 0, 110, 255, 240, 4, 54, 5, 252, 6, 38, 2, 81, 0, 0, 0, 6, 1, 91, 104, 51, 255, 255, 0, 110, 255, 240, 4, 54, 6, 36, 6, 38, 2, 81, 0, 0, 0, 6, 1, 92, 106, 55, 255, 255, 0, 110, 255, 240, 4, 54, 6, 37, 6, 38, 2, 81, 0, 0, 0, 6, 1, 100, 244, 56, 255, 255, 0, 183, 0, 0, 4, 83, 6, 37, 6, 38, 2, 82, 0, 0, 0, 6, 1, 100, 187, 56, 255, 255, 0, 200, 0, 0, 4, 35, 5, 214, 6, 38, 2, 83, 0, 0, 0, 6, 1, 94, 232, 38, 255, 255, 0, 200, 0, 0, 4, 35, 6, 38, 6, 38, 2, 83, 0, 0, 0, 6, 1, 95, 228, 116, 255, 255, 0, 200, 0, 0, 4, 35, 5, 245, 6, 38, 2, 83, 0, 0, 0, 6, 1, 96, 228, 55, 0, 1, 0, 200, 254, 79, 4, 35, 4, 141, 0, 40, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 53, 33, 17, 3, 197, 253, 192, 2, 152, 252, 171, 2, 31, 24, 40, 17, 34, 37, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 29, 26, 22, 59, 36, 135, 253, 98, 2, 14, 152, 1, 78, 153, 251, 115, 17, 38, 19, 40, 87, 42, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 36, 66, 29, 25, 44, 19, 151, 1, 119, 255, 255, 0, 200, 0, 0, 4, 35, 6, 37, 6, 38, 2, 83, 0, 0, 0, 6, 1, 100, 229, 56, 255, 255, 0, 124, 255, 240, 4, 65, 6, 36, 6, 38, 2, 85, 0, 0, 0, 6, 1, 92, 116, 55, 255, 255, 0, 124, 255, 240, 4, 65, 6, 38, 6, 38, 2, 85, 0, 0, 0, 6, 1, 95, 253, 116, 255, 255, 0, 124, 254, 43, 4, 65, 4, 157, 6, 38, 2, 85, 0, 0, 0, 7, 1, 104, 0, 157, 254, 213, 255, 255, 0, 155, 0, 0, 3, 249, 6, 36, 6, 38, 2, 86, 0, 0, 0, 7, 1, 92, 0, 158, 0, 55, 255, 255, 0, 217, 0, 0, 4, 16, 6, 18, 6, 38, 2, 87, 0, 0, 0, 7, 1, 93, 0, 160, 0, 33, 255, 255, 0, 217, 0, 0, 4, 16, 5, 186, 6, 38, 2, 87, 0, 0, 0, 6, 1, 94, 32, 10, 255, 255, 0, 217, 0, 0, 4, 16, 6, 10, 6, 38, 2, 87, 0, 0, 0, 6, 1, 95, 28, 88, 0, 1, 0, 217, 254, 79, 4, 16, 4, 140, 0, 40, 0, 0, 83, 21, 33, 17, 33, 21, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 33, 53, 33, 17, 33, 53, 217, 1, 59, 254, 197, 1, 108, 29, 48, 19, 27, 29, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 31, 28, 21, 58, 34, 1, 22, 254, 189, 1, 67, 4, 140, 161, 252, 181, 160, 21, 47, 25, 36, 76, 38, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 37, 68, 30, 23, 43, 18, 160, 3, 75, 161, 0, 255, 255, 0, 217, 0, 0, 4, 16, 5, 217, 6, 38, 2, 87, 0, 0, 0, 6, 1, 96, 28, 27, 255, 255, 0, 150, 255, 240, 4, 119, 6, 36, 6, 38, 2, 88, 0, 0, 0, 7, 1, 92, 1, 89, 0, 55, 255, 255, 0, 180, 254, 52, 4, 128, 4, 141, 6, 38, 2, 89, 0, 0, 0, 7, 1, 104, 0, 107, 254, 222, 255, 255, 0, 182, 0, 0, 4, 82, 5, 252, 6, 38, 2, 90, 0, 0, 0, 7, 1, 91, 255, 28, 0, 51, 255, 255, 0, 209, 254, 54, 4, 82, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 1, 104, 0, 104, 254, 224, 255, 255, 0, 209, 0, 0, 4, 82, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 0, 109, 0, 148, 254, 119, 255, 255, 0, 209, 0, 0, 4, 82, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 1, 96, 0, 25, 253, 55, 255, 255, 0, 194, 0, 0, 4, 15, 5, 252, 6, 38, 2, 92, 0, 0, 0, 7, 1, 91, 0, 206, 0, 51, 255, 255, 0, 194, 254, 50, 4, 15, 4, 141, 6, 38, 2, 92, 0, 0, 0, 7, 1, 104, 0, 239, 254, 220, 255, 255, 0, 194, 0, 0, 4, 15, 6, 37, 6, 38, 2, 92, 0, 0, 0, 6, 1, 100, 89, 56, 255, 255, 0, 130, 255, 240, 4, 74, 5, 214, 6, 38, 2, 93, 0, 0, 0, 6, 1, 94, 39, 38, 255, 255, 0, 130, 255, 240, 4, 74, 6, 38, 6, 38, 2, 93, 0, 0, 0, 6, 1, 95, 35, 116, 255, 255, 0, 130, 255, 240, 4, 127, 6, 38, 6, 38, 2, 93, 0, 0, 0, 7, 1, 99, 0, 169, 0, 55, 255, 255, 0, 144, 0, 0, 4, 44, 5, 252, 6, 38, 2, 95, 0, 0, 0, 6, 1, 91, 30, 51, 255, 255, 0, 144, 254, 54, 4, 44, 4, 141, 6, 38, 2, 95, 0, 0, 0, 7, 1, 104, 0, 69, 254, 224, 255, 255, 0, 144, 0, 0, 4, 44, 6, 37, 6, 38, 2, 95, 0, 0, 0, 6, 1, 100, 170, 56, 255, 255, 0, 138, 255, 240, 4, 57, 5, 252, 6, 38, 2, 96, 0, 0, 0, 6, 1, 91, 113, 51, 255, 255, 0, 138, 255, 240, 4, 57, 6, 36, 6, 38, 2, 96, 0, 0, 0, 6, 1, 92, 115, 55, 255, 255, 0, 138, 254, 77, 4, 57, 4, 157, 6, 38, 2, 96, 0, 0, 0, 6, 1, 102, 61, 0, 255, 255, 0, 138, 255, 240, 4, 57, 6, 37, 6, 38, 2, 96, 0, 0, 0, 6, 1, 100, 253, 56, 255, 255, 0, 93, 0, 0, 4, 105, 6, 37, 6, 38, 2, 97, 0, 0, 0, 6, 1, 100, 249, 56, 255, 255, 0, 181, 255, 240, 4, 43, 6, 46, 6, 38, 2, 98, 0, 0, 0, 7, 1, 93, 0, 163, 0, 61, 255, 255, 0, 181, 255, 240, 4, 43, 5, 214, 6, 38, 2, 98, 0, 0, 0, 6, 1, 94, 35, 38, 255, 255, 0, 181, 255, 240, 4, 43, 6, 38, 6, 38, 2, 98, 0, 0, 0, 6, 1, 95, 31, 116, 255, 255, 0, 181, 255, 240, 4, 43, 6, 103, 6, 38, 2, 98, 0, 0, 0, 7, 1, 98, 0, 30, 0, 128, 255, 255, 0, 181, 255, 240, 4, 123, 6, 38, 6, 38, 2, 98, 0, 0, 0, 7, 1, 99, 0, 165, 0, 55, 0, 1, 0, 181, 254, 140, 4, 43, 4, 141, 0, 57, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 3, 35, 3, 22, 22, 23, 22, 22, 51, 50, 50, 51, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 39, 34, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 53, 4, 42, 183, 1, 1, 37, 33, 34, 95, 59, 59, 95, 33, 34, 37, 1, 1, 181, 1, 1, 70, 60, 59, 160, 92, 1, 2, 1, 11, 19, 8, 15, 16, 30, 26, 26, 70, 41, 65, 85, 28, 31, 16, 53, 32, 42, 36, 12, 12, 15, 48, 32, 102, 127, 4, 141, 252, 244, 59, 93, 32, 32, 34, 34, 32, 32, 93, 59, 3, 12, 252, 244, 96, 149, 51, 51, 54, 14, 27, 14, 27, 56, 28, 47, 71, 24, 24, 24, 28, 16, 121, 8, 19, 1, 41, 34, 24, 44, 21, 27, 49, 21, 43, 193, 121, 0, 255, 255, 0, 47, 0, 0, 4, 187, 6, 36, 6, 38, 2, 100, 0, 0, 0, 7, 1, 92, 0, 138, 0, 55, 255, 255, 0, 77, 0, 0, 4, 129, 6, 36, 6, 38, 2, 102, 0, 0, 0, 6, 1, 92, 100, 55, 255, 255, 0, 77, 0, 0, 4, 129, 5, 252, 6, 38, 2, 102, 0, 0, 0, 6, 1, 97, 237, 55, 255, 255, 0, 185, 0, 0, 4, 66, 5, 252, 6, 38, 2, 103, 0, 0, 0, 7, 1, 91, 0, 160, 0, 51, 255, 255, 0, 185, 0, 0, 4, 66, 5, 245, 6, 38, 2, 103, 0, 0, 0, 6, 1, 96, 42, 55, 255, 255, 0, 185, 0, 0, 4, 66, 6, 37, 6, 38, 2, 103, 0, 0, 0, 6, 1, 100, 43, 56, 255, 255, 0, 81, 0, 0, 4, 144, 6, 122, 6, 38, 0, 2, 0, 0, 0, 7, 1, 120, 254, 192, 0, 0, 255, 255, 255, 221, 0, 0, 4, 102, 6, 122, 4, 38, 0, 6, 50, 0, 0, 7, 1, 120, 253, 180, 0, 0, 255, 255, 255, 203, 0, 0, 4, 113, 6, 124, 4, 38, 0, 9, 50, 0, 0, 7, 1, 120, 253, 162, 0, 2, 255, 255, 255, 186, 0, 0, 4, 80, 6, 123, 4, 38, 0, 10, 50, 0, 0, 7, 1, 120, 253, 145, 0, 1, 255, 255, 255, 255, 255, 236, 4, 107, 6, 122, 4, 38, 0, 16, 10, 0, 0, 7, 1, 120, 253, 214, 0, 0, 255, 255, 255, 128, 0, 0, 4, 171, 6, 122, 4, 38, 0, 26, 50, 0, 0, 7, 1, 120, 253, 87, 0, 0, 255, 255, 255, 251, 0, 0, 4, 118, 6, 122, 4, 38, 1, 132, 10, 0, 0, 7, 1, 120, 253, 210, 0, 0, 255, 255, 0, 184, 255, 236, 4, 58, 6, 122, 6, 38, 1, 141, 0, 0, 0, 6, 1, 121, 228, 187, 255, 255, 0, 81, 0, 0, 4, 144, 5, 176, 6, 6, 0, 2, 0, 0, 255, 255, 0, 172, 0, 0, 4, 96, 5, 176, 6, 6, 0, 3, 0, 0, 255, 255, 0, 182, 0, 0, 4, 52, 5, 176, 6, 6, 0, 6, 0, 0, 255, 255, 0, 114, 0, 0, 4, 55, 5, 176, 6, 6, 0, 27, 0, 0, 255, 255, 0, 141, 0, 0, 4, 63, 5, 176, 6, 6, 0, 9, 0, 0, 255, 255, 0, 174, 0, 0, 4, 30, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 172, 0, 0, 4, 164, 5, 176, 6, 6, 0, 12, 0, 0, 255, 255, 0, 148, 0, 0, 4, 76, 5, 176, 6, 6, 0, 14, 0, 0, 255, 255, 0, 143, 0, 0, 4, 62, 5, 176, 6, 6, 0, 15, 0, 0, 255, 255, 0, 106, 255, 236, 4, 97, 5, 196, 6, 6, 0, 16, 0, 0, 255, 255, 0, 191, 0, 0, 4, 121, 5, 176, 6, 6, 0, 17, 0, 0, 255, 255, 0, 76, 0, 0, 4, 132, 5, 176, 6, 6, 0, 21, 0, 0, 255, 255, 0, 61, 0, 0, 4, 121, 5, 176, 6, 6, 0, 26, 0, 0, 255, 255, 0, 87, 0, 0, 4, 143, 5, 176, 6, 6, 0, 25, 0, 0, 255, 255, 0, 174, 0, 0, 4, 30, 7, 32, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 255, 210, 1, 91, 255, 255, 0, 61, 0, 0, 4, 121, 7, 31, 6, 38, 0, 26, 0, 0, 0, 7, 1, 97, 255, 252, 1, 90, 255, 255, 0, 129, 255, 235, 4, 138, 6, 126, 6, 38, 1, 133, 0, 0, 0, 6, 1, 120, 15, 4, 255, 255, 0, 139, 255, 236, 4, 96, 6, 125, 6, 38, 1, 137, 0, 0, 0, 6, 1, 120, 20, 3, 255, 255, 0, 164, 254, 97, 4, 43, 6, 126, 6, 38, 1, 139, 0, 0, 0, 6, 1, 120, 28, 4, 255, 255, 0, 184, 255, 236, 4, 58, 6, 106, 6, 38, 1, 141, 0, 0, 0, 6, 1, 120, 14, 240, 255, 255, 0, 158, 255, 236, 4, 63, 6, 122, 6, 38, 1, 149, 0, 0, 0, 6, 1, 121, 192, 187, 255, 255, 0, 186, 0, 0, 4, 114, 4, 58, 6, 6, 0, 79, 0, 0, 255, 255, 0, 122, 255, 236, 4, 82, 4, 78, 6, 6, 0, 42, 0, 0, 255, 255, 0, 188, 254, 96, 4, 16, 4, 58, 6, 6, 1, 107, 0, 0, 255, 255, 0, 98, 0, 0, 4, 101, 4, 58, 6, 6, 0, 49, 0, 0, 255, 255, 0, 110, 0, 0, 4, 114, 4, 58, 6, 6, 0, 51, 0, 0, 255, 255, 0, 184, 255, 236, 4, 58, 5, 201, 6, 38, 1, 141, 0, 0, 0, 6, 1, 97, 5, 4, 255, 255, 0, 158, 255, 236, 4, 63, 5, 201, 6, 38, 1, 149, 0, 0, 0, 6, 1, 97, 226, 4, 255, 255, 0, 122, 255, 236, 4, 82, 6, 126, 6, 38, 0, 42, 0, 0, 0, 6, 1, 120, 9, 4, 255, 255, 0, 158, 255, 236, 4, 63, 6, 106, 6, 38, 1, 149, 0, 0, 0, 6, 1, 120, 235, 240, 255, 255, 0, 79, 255, 236, 4, 137, 6, 106, 6, 38, 1, 152, 0, 0, 0, 6, 1, 120, 21, 240, 255, 255, 0, 182, 0, 0, 4, 52, 7, 32, 6, 38, 0, 6, 0, 0, 0, 7, 1, 97, 0, 5, 1, 91, 255, 255, 0, 181, 0, 0, 4, 48, 7, 32, 6, 38, 1, 123, 0, 0, 0, 7, 1, 91, 0, 128, 1, 87, 0, 1, 0, 118, 255, 236, 4, 105, 5, 196, 0, 79, 0, 0, 65, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 35, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 168, 52, 41, 41, 105, 54, 68, 115, 44, 44, 56, 9, 189, 3, 92, 74, 73, 186, 97, 87, 174, 69, 69, 87, 37, 33, 33, 88, 51, 51, 110, 54, 49, 111, 47, 48, 62, 1, 47, 40, 39, 101, 53, 66, 105, 38, 38, 46, 8, 190, 2, 82, 68, 68, 176, 95, 86, 170, 67, 67, 83, 83, 66, 65, 159, 77, 53, 115, 48, 28, 46, 14, 10, 11, 1, 112, 60, 87, 28, 29, 27, 37, 37, 36, 105, 68, 104, 163, 56, 57, 60, 49, 49, 48, 146, 98, 65, 107, 45, 44, 70, 28, 28, 43, 17, 15, 40, 30, 30, 87, 63, 58, 88, 30, 30, 30, 41, 37, 37, 103, 63, 100, 162, 57, 57, 63, 53, 51, 51, 148, 94, 94, 139, 51, 51, 70, 25, 17, 42, 31, 19, 47, 30, 20, 48, 255, 255, 0, 174, 0, 0, 4, 30, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 174, 0, 0, 4, 30, 7, 32, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 255, 210, 1, 91, 255, 255, 0, 98, 255, 236, 4, 22, 5, 176, 6, 6, 0, 11, 0, 0, 255, 255, 0, 169, 0, 0, 4, 182, 5, 176, 6, 6, 2, 113, 0, 0, 255, 255, 0, 172, 0, 0, 4, 164, 7, 14, 6, 38, 0, 12, 0, 0, 0, 7, 1, 91, 0, 126, 1, 69, 255, 255, 0, 43, 255, 235, 4, 181, 7, 74, 6, 38, 1, 168, 0, 0, 0, 7, 1, 95, 0, 33, 1, 152, 255, 255, 0, 81, 0, 0, 4, 144, 5, 176, 6, 6, 0, 2, 0, 0, 255, 255, 0, 172, 0, 0, 4, 96, 5, 176, 6, 6, 0, 3, 0, 0, 255, 255, 0, 181, 0, 0, 4, 48, 5, 176, 6, 6, 1, 123, 0, 0, 255, 255, 0, 182, 0, 0, 4, 52, 5, 176, 6, 6, 0, 6, 0, 0, 255, 255, 0, 162, 0, 0, 4, 42, 7, 62, 6, 38, 1, 166, 0, 0, 0, 7, 1, 95, 255, 249, 1, 140, 255, 255, 0, 148, 0, 0, 4, 76, 5, 176, 6, 6, 0, 14, 0, 0, 255, 255, 0, 141, 0, 0, 4, 63, 5, 176, 6, 6, 0, 9, 0, 0, 255, 255, 0, 106, 255, 236, 4, 97, 5, 196, 6, 6, 0, 16, 0, 0, 255, 255, 0, 162, 0, 0, 4, 42, 5, 176, 6, 6, 1, 128, 0, 0, 255, 255, 0, 191, 0, 0, 4, 121, 5, 176, 6, 6, 0, 17, 0, 0, 255, 255, 0, 107, 255, 236, 4, 93, 5, 196, 6, 6, 0, 4, 0, 0, 255, 255, 0, 76, 0, 0, 4, 132, 5, 176, 6, 6, 0, 21, 0, 0, 255, 255, 0, 69, 0, 0, 4, 135, 5, 176, 6, 6, 1, 130, 0, 0, 255, 255, 0, 87, 0, 0, 4, 143, 5, 176, 6, 6, 0, 25, 0, 0, 255, 255, 0, 156, 255, 236, 4, 54, 4, 78, 6, 6, 0, 28, 0, 0, 255, 255, 0, 135, 255, 236, 4, 69, 4, 78, 6, 6, 0, 32, 0, 0, 255, 255, 0, 165, 0, 0, 4, 39, 5, 243, 6, 38, 1, 185, 0, 0, 0, 6, 1, 95, 244, 65, 255, 255, 0, 122, 255, 236, 4, 82, 4, 78, 6, 6, 0, 42, 0, 0, 255, 255, 0, 173, 254, 96, 4, 63, 4, 78, 6, 6, 0, 43, 0, 0, 0, 1, 0, 143, 255, 236, 4, 51, 4, 78, 0, 51, 0, 0, 101, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 35, 6, 6, 7, 6, 6, 2, 123, 87, 117, 35, 36, 31, 31, 36, 36, 117, 86, 56, 97, 35, 35, 41, 1, 175, 66, 58, 59, 161, 96, 123, 184, 61, 62, 62, 62, 62, 61, 184, 123, 86, 158, 61, 61, 73, 1, 175, 1, 45, 37, 37, 95, 130, 69, 56, 55, 139, 71, 42, 70, 138, 56, 55, 69, 38, 33, 33, 87, 49, 82, 144, 53, 52, 61, 88, 74, 75, 196, 107, 42, 108, 195, 74, 75, 88, 59, 50, 49, 131, 72, 45, 77, 28, 29, 32, 0, 255, 255, 0, 68, 254, 75, 4, 133, 4, 58, 6, 6, 0, 52, 0, 0, 255, 255, 0, 110, 0, 0, 4, 114, 4, 58, 6, 6, 0, 51, 0, 0, 255, 255, 0, 135, 255, 236, 4, 69, 5, 223, 6, 38, 0, 32, 0, 0, 0, 6, 1, 97, 6, 26, 255, 255, 0, 183, 0, 0, 4, 42, 5, 201, 6, 38, 1, 181, 0, 0, 0, 6, 1, 91, 115, 0, 255, 255, 0, 175, 255, 236, 4, 54, 4, 78, 6, 6, 0, 46, 0, 0, 255, 255, 0, 203, 0, 0, 4, 85, 5, 195, 6, 6, 0, 36, 0, 0, 255, 255, 0, 203, 0, 0, 4, 85, 5, 201, 6, 38, 1, 109, 0, 0, 0, 6, 1, 97, 52, 4, 255, 255, 0, 211, 254, 75, 3, 88, 5, 195, 6, 6, 0, 37, 0, 0, 255, 255, 0, 164, 0, 0, 4, 149, 5, 201, 6, 38, 1, 186, 0, 0, 0, 6, 1, 91, 39, 0, 255, 255, 0, 68, 254, 75, 4, 133, 5, 244, 6, 38, 0, 52, 0, 0, 0, 6, 1, 95, 19, 66, 255, 255, 0, 104, 255, 245, 4, 102, 5, 176, 4, 39, 0, 91, 254, 130, 0, 0, 0, 7, 0, 91, 1, 154, 0, 0, 255, 255, 0, 176, 254, 75, 3, 251, 5, 233, 6, 38, 1, 113, 0, 0, 0, 6, 1, 100, 96, 252, 255, 255, 1, 205, 4, 7, 2, 224, 6, 22, 6, 6, 0, 109, 0, 0, 255, 255, 0, 148, 0, 0, 4, 76, 7, 32, 6, 38, 0, 14, 0, 0, 0, 7, 1, 91, 0, 117, 1, 87, 255, 255, 0, 93, 0, 0, 4, 114, 5, 222, 6, 38, 0, 40, 0, 0, 0, 7, 1, 91, 0, 156, 0, 21, 255, 255, 0, 81, 254, 134, 4, 144, 5, 176, 6, 38, 0, 2, 0, 0, 0, 6, 1, 114, 37, 0, 255, 255, 0, 156, 254, 134, 4, 54, 4, 78, 6, 38, 0, 28, 0, 0, 0, 6, 1, 114, 237, 0, 255, 255, 255, 137, 255, 236, 4, 97, 6, 86, 6, 38, 0, 16, 0, 0, 0, 7, 2, 108, 253, 148, 0, 146, 255, 255, 0, 182, 0, 0, 4, 52, 7, 35, 6, 38, 0, 6, 0, 0, 0, 7, 1, 90, 255, 143, 1, 90, 255, 255, 0, 162, 0, 0, 4, 42, 7, 23, 6, 38, 1, 166, 0, 0, 0, 7, 1, 90, 255, 130, 1, 78, 255, 255, 0, 135, 255, 236, 4, 69, 5, 226, 6, 38, 0, 32, 0, 0, 0, 6, 1, 90, 144, 25, 255, 255, 0, 165, 0, 0, 4, 39, 5, 204, 6, 38, 1, 185, 0, 0, 0, 7, 1, 90, 255, 125, 0, 3, 255, 255, 0, 101, 0, 0, 4, 114, 5, 176, 6, 6, 1, 131, 0, 0, 255, 255, 0, 97, 254, 40, 4, 128, 4, 58, 6, 6, 1, 151, 0, 0, 255, 255, 0, 26, 0, 0, 4, 225, 7, 66, 6, 38, 1, 226, 0, 0, 0, 7, 1, 119, 4, 89, 1, 84, 255, 255, 0, 64, 0, 0, 4, 96, 6, 25, 6, 38, 1, 227, 0, 0, 0, 7, 1, 119, 4, 59, 0, 43, 255, 255, 0, 89, 254, 47, 4, 112, 5, 196, 6, 38, 1, 165, 0, 0, 0, 6, 2, 110, 241, 150, 255, 255, 0, 135, 254, 57, 4, 74, 4, 77, 6, 38, 1, 184, 0, 0, 0, 6, 2, 110, 8, 160, 255, 255, 0, 107, 254, 57, 4, 93, 5, 196, 6, 38, 0, 4, 0, 0, 0, 6, 2, 110, 255, 160, 255, 255, 0, 143, 254, 57, 4, 51, 4, 78, 6, 38, 0, 30, 0, 0, 0, 6, 2, 110, 19, 160, 255, 255, 0, 61, 0, 0, 4, 121, 5, 176, 6, 6, 0, 26, 0, 0, 255, 255, 0, 71, 254, 96, 4, 150, 4, 58, 6, 6, 1, 135, 0, 0, 255, 255, 0, 174, 0, 0, 4, 30, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 29, 0, 0, 4, 174, 7, 74, 6, 38, 1, 164, 0, 0, 0, 7, 1, 95, 0, 13, 1, 152, 255, 255, 0, 17, 0, 0, 4, 172, 5, 243, 6, 38, 1, 183, 0, 0, 0, 6, 1, 95, 244, 65, 255, 255, 0, 174, 0, 0, 4, 30, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 81, 0, 0, 4, 144, 7, 74, 6, 38, 0, 2, 0, 0, 0, 7, 1, 95, 0, 15, 1, 152, 255, 255, 0, 156, 255, 236, 4, 54, 6, 8, 6, 38, 0, 28, 0, 0, 0, 6, 1, 95, 11, 86, 255, 255, 0, 81, 0, 0, 4, 144, 7, 32, 6, 38, 0, 2, 0, 0, 0, 7, 1, 97, 0, 15, 1, 91, 255, 255, 0, 156, 255, 236, 4, 54, 5, 222, 6, 38, 0, 28, 0, 0, 0, 6, 1, 97, 11, 25, 255, 255, 0, 32, 0, 0, 4, 171, 5, 176, 6, 6, 0, 72, 0, 0, 255, 255, 0, 43, 255, 236, 4, 169, 4, 78, 6, 6, 0, 73, 0, 0, 255, 255, 0, 182, 0, 0, 4, 52, 7, 74, 6, 38, 0, 6, 0, 0, 0, 7, 1, 95, 0, 5, 1, 152, 255, 255, 0, 135, 255, 236, 4, 69, 6, 9, 6, 38, 0, 32, 0, 0, 0, 6, 1, 95, 6, 87, 255, 255, 0, 90, 255, 235, 4, 87, 6, 242, 6, 38, 2, 16, 0, 0, 0, 7, 1, 97, 255, 251, 1, 45, 255, 255, 0, 177, 255, 236, 4, 95, 4, 79, 6, 6, 0, 81, 0, 0, 255, 255, 0, 177, 255, 236, 4, 95, 5, 223, 6, 38, 0, 81, 0, 0, 0, 6, 1, 97, 40, 26, 255, 255, 0, 29, 0, 0, 4, 174, 7, 32, 6, 38, 1, 164, 0, 0, 0, 7, 1, 97, 0, 13, 1, 91, 255, 255, 0, 17, 0, 0, 4, 172, 5, 201, 6, 38, 1, 183, 0, 0, 0, 6, 1, 97, 244, 4, 255, 255, 0, 89, 255, 235, 4, 112, 7, 53, 6, 38, 1, 165, 0, 0, 0, 7, 1, 97, 255, 252, 1, 112, 255, 255, 0, 135, 255, 237, 4, 74, 5, 221, 6, 38, 1, 184, 0, 0, 0, 6, 1, 97, 10, 24, 255, 255, 0, 162, 0, 0, 4, 42, 6, 238, 6, 38, 1, 166, 0, 0, 0, 7, 1, 94, 255, 253, 1, 62, 255, 255, 0, 165, 0, 0, 4, 39, 5, 164, 6, 38, 1, 185, 0, 0, 0, 6, 1, 94, 248, 244, 255, 255, 0, 162, 0, 0, 4, 42, 7, 20, 6, 38, 1, 166, 0, 0, 0, 7, 1, 97, 255, 249, 1, 79, 255, 255, 0, 165, 0, 0, 4, 39, 5, 201, 6, 38, 1, 185, 0, 0, 0, 6, 1, 97, 244, 4, 255, 255, 0, 106, 255, 236, 4, 97, 7, 53, 6, 38, 0, 16, 0, 0, 0, 7, 1, 97, 0, 19, 1, 112, 255, 255, 0, 122, 255, 236, 4, 82, 5, 222, 6, 38, 0, 42, 0, 0, 0, 6, 1, 97, 0, 25, 255, 255, 0, 99, 255, 236, 4, 90, 5, 196, 6, 6, 1, 224, 0, 0, 255, 255, 0, 93, 255, 236, 4, 53, 4, 78, 6, 6, 1, 225, 0, 0, 255, 255, 0, 99, 255, 236, 4, 90, 7, 27, 6, 38, 1, 224, 0, 0, 0, 7, 1, 97, 0, 20, 1, 86, 255, 255, 0, 93, 255, 236, 4, 53, 5, 250, 6, 38, 1, 225, 0, 0, 0, 6, 1, 97, 208, 53, 255, 255, 0, 114, 255, 236, 4, 83, 7, 54, 6, 38, 1, 176, 0, 0, 0, 7, 1, 97, 255, 241, 1, 113, 255, 255, 0, 129, 255, 236, 4, 58, 5, 222, 6, 38, 1, 200, 0, 0, 0, 6, 1, 97, 237, 25, 255, 255, 0, 43, 255, 235, 4, 181, 6, 250, 6, 38, 1, 168, 0, 0, 0, 7, 1, 94, 0, 37, 1, 74, 255, 255, 0, 68, 254, 75, 4, 133, 5, 165, 6, 38, 0, 52, 0, 0, 0, 6, 1, 94, 23, 245, 255, 255, 0, 43, 255, 235, 4, 181, 7, 32, 6, 38, 1, 168, 0, 0, 0, 7, 1, 97, 0, 33, 1, 91, 255, 255, 0, 68, 254, 75, 4, 133, 5, 202, 6, 38, 0, 52, 0, 0, 0, 6, 1, 97, 19, 5, 255, 255, 0, 43, 255, 235, 4, 181, 7, 74, 6, 38, 1, 168, 0, 0, 0, 7, 1, 99, 0, 167, 1, 91, 255, 255, 0, 68, 254, 75, 4, 133, 5, 244, 6, 38, 0, 52, 0, 0, 0, 7, 1, 99, 0, 153, 0, 5, 255, 255, 0, 171, 0, 0, 4, 39, 7, 32, 6, 38, 1, 170, 0, 0, 0, 7, 1, 97, 255, 179, 1, 91, 255, 255, 0, 141, 0, 0, 4, 39, 5, 201, 6, 38, 1, 194, 0, 0, 0, 6, 1, 97, 27, 4, 255, 255, 0, 144, 0, 0, 4, 75, 7, 32, 6, 38, 1, 174, 0, 0, 0, 7, 1, 97, 255, 225, 1, 91, 255, 255, 0, 144, 0, 0, 4, 63, 5, 201, 6, 38, 1, 198, 0, 0, 0, 6, 1, 97, 67, 4, 255, 255, 0, 87, 254, 75, 5, 22, 5, 176, 6, 38, 0, 25, 0, 0, 0, 7, 2, 111, 2, 4, 0, 0, 255, 255, 0, 110, 254, 75, 4, 165, 4, 58, 6, 38, 0, 51, 0, 0, 0, 7, 2, 111, 1, 147, 0, 0, 255, 255, 0, 139, 255, 236, 4, 28, 6, 0, 6, 6, 0, 31, 0, 0, 255, 255, 0, 47, 254, 75, 4, 227, 5, 176, 6, 38, 1, 167, 0, 0, 0, 7, 2, 111, 1, 209, 0, 0, 255, 255, 0, 55, 254, 75, 4, 222, 4, 58, 6, 38, 1, 187, 0, 0, 0, 7, 2, 111, 1, 204, 0, 0, 255, 255, 0, 81, 254, 168, 4, 144, 5, 176, 6, 38, 0, 2, 0, 0, 0, 7, 1, 101, 4, 223, 0, 0, 255, 255, 0, 156, 254, 168, 4, 54, 4, 78, 6, 38, 0, 28, 0, 0, 0, 7, 1, 101, 4, 163, 0, 0, 255, 255, 0, 81, 0, 0, 4, 144, 7, 198, 6, 38, 0, 2, 0, 0, 0, 7, 1, 118, 4, 200, 1, 82, 255, 255, 0, 156, 255, 236, 4, 54, 6, 132, 6, 38, 0, 28, 0, 0, 0, 7, 1, 118, 4, 196, 0, 16, 255, 255, 0, 81, 0, 0, 4, 233, 7, 238, 6, 38, 0, 2, 0, 0, 0, 7, 2, 76, 255, 245, 1, 89, 255, 255, 0, 156, 255, 236, 4, 229, 6, 172, 6, 38, 0, 28, 0, 0, 0, 6, 2, 76, 241, 23, 255, 255, 255, 252, 0, 0, 4, 144, 7, 221, 6, 38, 0, 2, 0, 0, 0, 7, 2, 75, 255, 236, 1, 72, 255, 255, 255, 248, 255, 236, 4, 54, 6, 155, 6, 38, 0, 28, 0, 0, 0, 6, 2, 75, 232, 6, 255, 255, 0, 81, 0, 0, 4, 187, 8, 4, 6, 38, 0, 2, 0, 0, 0, 7, 2, 74, 0, 1, 1, 53, 255, 255, 0, 156, 255, 236, 4, 184, 6, 195, 6, 38, 0, 28, 0, 0, 0, 6, 2, 74, 254, 244, 255, 255, 0, 81, 0, 0, 4, 144, 8, 47, 6, 38, 0, 2, 0, 0, 0, 7, 2, 73, 255, 243, 1, 54, 255, 255, 0, 156, 255, 236, 4, 54, 6, 238, 6, 38, 0, 28, 0, 0, 0, 6, 2, 73, 239, 245, 255, 255, 0, 81, 254, 168, 4, 144, 7, 72, 6, 38, 0, 2, 0, 0, 0, 39, 1, 92, 0, 135, 1, 91, 0, 7, 1, 101, 4, 223, 0, 0, 255, 255, 0, 156, 254, 168, 4, 54, 6, 6, 6, 38, 0, 28, 0, 0, 0, 39, 1, 92, 0, 131, 0, 25, 0, 7, 1, 101, 4, 163, 0, 0, 255, 255, 0, 81, 0, 0, 4, 144, 7, 222, 6, 38, 0, 2, 0, 0, 0, 7, 2, 105, 0, 0, 1, 84, 255, 255, 0, 156, 255, 236, 4, 54, 6, 156, 6, 38, 0, 28, 0, 0, 0, 6, 2, 105, 252, 18, 255, 255, 0, 81, 0, 0, 4, 144, 8, 4, 6, 38, 0, 2, 0, 0, 0, 7, 2, 77, 0, 3, 1, 122, 255, 255, 0, 156, 255, 236, 4, 54, 6, 194, 6, 38, 0, 28, 0, 0, 0, 6, 2, 77, 0, 56, 255, 255, 0, 81, 0, 0, 4, 144, 8, 76, 6, 38, 0, 2, 0, 0, 0, 7, 2, 104, 255, 244, 1, 73, 255, 255, 0, 156, 255, 236, 4, 54, 7, 10, 6, 38, 0, 28, 0, 0, 0, 6, 2, 104, 240, 7, 255, 255, 0, 81, 0, 0, 4, 144, 8, 33, 6, 38, 0, 2, 0, 0, 0, 7, 2, 109, 255, 212, 1, 81, 255, 255, 0, 156, 255, 236, 4, 54, 6, 223, 6, 38, 0, 28, 0, 0, 0, 6, 2, 109, 208, 15, 255, 255, 0, 81, 254, 168, 4, 144, 7, 74, 6, 38, 0, 2, 0, 0, 0, 39, 1, 95, 0, 15, 1, 152, 0, 7, 1, 101, 4, 223, 0, 0, 255, 255, 0, 156, 254, 168, 4, 54, 6, 8, 6, 38, 0, 28, 0, 0, 0, 38, 1, 95, 11, 86, 0, 7, 1, 101, 4, 163, 0, 0, 255, 255, 0, 182, 254, 178, 4, 52, 5, 176, 6, 38, 0, 6, 0, 0, 0, 7, 1, 101, 4, 210, 0, 10, 255, 255, 0, 135, 254, 168, 4, 69, 4, 78, 6, 38, 0, 32, 0, 0, 0, 7, 1, 101, 4, 227, 0, 0, 255, 255, 0, 182, 0, 0, 4, 52, 7, 198, 6, 38, 0, 6, 0, 0, 0, 7, 1, 118, 4, 190, 1, 82, 255, 255, 0, 135, 255, 236, 4, 69, 6, 133, 6, 38, 0, 32, 0, 0, 0, 7, 1, 118, 4, 191, 0, 17, 255, 255, 0, 182, 0, 0, 4, 52, 7, 82, 6, 38, 0, 6, 0, 0, 0, 7, 1, 93, 0, 137, 1, 97, 255, 255, 0, 135, 255, 236, 4, 69, 6, 17, 6, 38, 0, 32, 0, 0, 0, 7, 1, 93, 0, 138, 0, 32, 255, 255, 0, 182, 0, 0, 4, 223, 7, 238, 6, 38, 0, 6, 0, 0, 0, 7, 2, 76, 255, 235, 1, 89, 255, 255, 0, 135, 255, 236, 4, 224, 6, 173, 6, 38, 0, 32, 0, 0, 0, 6, 2, 76, 236, 24, 255, 255, 255, 242, 0, 0, 4, 52, 7, 221, 6, 38, 0, 6, 0, 0, 0, 7, 2, 75, 255, 226, 1, 72, 255, 255, 255, 243, 255, 236, 4, 69, 6, 156, 6, 38, 0, 32, 0, 0, 0, 6, 2, 75, 227, 7, 255, 255, 0, 182, 0, 0, 4, 178, 8, 4, 6, 38, 0, 6, 0, 0, 0, 7, 2, 74, 255, 248, 1, 53, 255, 255, 0, 135, 255, 236, 4, 179, 6, 196, 6, 38, 0, 32, 0, 0, 0, 6, 2, 74, 249, 245, 255, 255, 0, 182, 0, 0, 4, 52, 8, 47, 6, 38, 0, 6, 0, 0, 0, 7, 2, 73, 255, 233, 1, 54, 255, 255, 0, 135, 255, 236, 4, 69, 6, 239, 6, 38, 0, 32, 0, 0, 0, 6, 2, 73, 234, 246, 255, 255, 0, 182, 254, 178, 4, 52, 7, 72, 6, 38, 0, 6, 0, 0, 0, 39, 1, 92, 0, 125, 1, 91, 0, 7, 1, 101, 4, 210, 0, 10, 255, 255, 0, 135, 254, 168, 4, 69, 6, 7, 6, 38, 0, 32, 0, 0, 0, 38, 1, 92, 126, 26, 0, 7, 1, 101, 4, 227, 0, 0, 255, 255, 0, 174, 0, 0, 4, 30, 7, 198, 6, 38, 0, 10, 0, 0, 0, 7, 1, 118, 4, 138, 1, 82, 255, 255, 0, 203, 0, 0, 4, 85, 6, 112, 6, 38, 1, 109, 0, 0, 0, 7, 1, 118, 4, 237, 255, 252, 255, 255, 0, 174, 254, 178, 4, 30, 5, 176, 6, 38, 0, 10, 0, 0, 0, 7, 1, 101, 4, 158, 0, 10, 255, 255, 0, 203, 254, 178, 4, 85, 5, 195, 6, 38, 0, 36, 0, 0, 0, 7, 1, 101, 5, 6, 0, 10, 255, 255, 0, 106, 254, 160, 4, 97, 5, 196, 6, 38, 0, 16, 0, 0, 0, 7, 1, 101, 4, 223, 255, 248, 255, 255, 0, 122, 254, 159, 4, 82, 4, 78, 6, 38, 0, 42, 0, 0, 0, 7, 1, 101, 4, 205, 255, 247, 255, 255, 0, 106, 255, 236, 4, 97, 7, 219, 6, 38, 0, 16, 0, 0, 0, 7, 1, 118, 4, 204, 1, 103, 255, 255, 0, 122, 255, 236, 4, 82, 6, 132, 6, 38, 0, 42, 0, 0, 0, 7, 1, 118, 4, 185, 0, 16, 255, 255, 0, 106, 255, 236, 4, 237, 8, 3, 6, 38, 0, 16, 0, 0, 0, 7, 2, 76, 255, 249, 1, 110, 255, 255, 0, 122, 255, 236, 4, 218, 6, 172, 6, 38, 0, 42, 0, 0, 0, 6, 2, 76, 230, 23, 255, 255, 0, 0, 255, 236, 4, 97, 7, 242, 6, 38, 0, 16, 0, 0, 0, 7, 2, 75, 255, 240, 1, 93, 255, 255, 255, 237, 255, 236, 4, 82, 6, 155, 6, 38, 0, 42, 0, 0, 0, 6, 2, 75, 221, 6, 255, 255, 0, 106, 255, 236, 4, 191, 8, 25, 6, 38, 0, 16, 0, 0, 0, 7, 2, 74, 0, 5, 1, 74, 255, 255, 0, 122, 255, 236, 4, 173, 6, 195, 6, 38, 0, 42, 0, 0, 0, 6, 2, 74, 243, 244, 255, 255, 0, 106, 255, 236, 4, 97, 8, 68, 6, 38, 0, 16, 0, 0, 0, 7, 2, 73, 255, 247, 1, 75, 255, 255, 0, 122, 255, 236, 4, 82, 6, 238, 6, 38, 0, 42, 0, 0, 0, 6, 2, 73, 228, 245, 255, 255, 0, 106, 254, 160, 4, 97, 7, 93, 6, 38, 0, 16, 0, 0, 0, 39, 1, 92, 0, 139, 1, 112, 0, 7, 1, 101, 4, 223, 255, 248, 255, 255, 0, 122, 254, 159, 4, 82, 6, 6, 6, 38, 0, 42, 0, 0, 0, 38, 1, 92, 120, 25, 0, 7, 1, 101, 4, 205, 255, 247, 255, 255, 0, 99, 255, 236, 4, 198, 7, 32, 6, 38, 0, 216, 0, 0, 0, 7, 1, 91, 0, 132, 1, 87, 255, 255, 0, 119, 255, 236, 4, 174, 5, 222, 6, 38, 1, 53, 0, 0, 0, 6, 1, 91, 124, 21, 255, 255, 0, 99, 255, 236, 4, 198, 7, 35, 6, 38, 0, 216, 0, 0, 0, 7, 1, 90, 255, 152, 1, 90, 255, 255, 0, 119, 255, 236, 4, 174, 5, 225, 6, 38, 1, 53, 0, 0, 0, 6, 1, 90, 144, 24, 255, 255, 0, 99, 255, 236, 4, 198, 7, 198, 6, 38, 0, 216, 0, 0, 0, 7, 1, 118, 4, 199, 1, 82, 255, 255, 0, 119, 255, 236, 4, 174, 6, 132, 6, 38, 1, 53, 0, 0, 0, 7, 1, 118, 4, 191, 0, 16, 255, 255, 0, 99, 255, 236, 4, 198, 7, 82, 6, 38, 0, 216, 0, 0, 0, 7, 1, 93, 0, 146, 1, 97, 255, 255, 0, 119, 255, 236, 4, 174, 6, 16, 6, 38, 1, 53, 0, 0, 0, 7, 1, 93, 0, 138, 0, 31, 255, 255, 0, 99, 254, 168, 4, 198, 5, 250, 6, 38, 0, 216, 0, 0, 0, 7, 1, 101, 4, 211, 0, 0, 255, 255, 0, 119, 254, 159, 4, 174, 4, 170, 6, 38, 1, 53, 0, 0, 0, 7, 1, 101, 4, 203, 255, 247, 255, 255, 0, 139, 254, 168, 4, 66, 5, 176, 6, 38, 0, 22, 0, 0, 0, 7, 1, 101, 4, 200, 0, 0, 255, 255, 0, 180, 254, 168, 4, 31, 4, 58, 6, 38, 0, 48, 0, 0, 0, 7, 1, 101, 4, 158, 0, 0, 255, 255, 0, 139, 255, 236, 4, 66, 7, 186, 6, 38, 0, 22, 0, 0, 0, 7, 1, 118, 4, 230, 1, 70, 255, 255, 0, 180, 255, 236, 4, 31, 6, 113, 6, 38, 0, 48, 0, 0, 0, 7, 1, 118, 4, 184, 255, 253, 255, 255, 0, 139, 255, 236, 5, 131, 7, 32, 6, 38, 0, 236, 0, 0, 0, 7, 1, 91, 0, 116, 1, 87, 255, 255, 0, 180, 255, 236, 5, 63, 5, 201, 6, 38, 1, 73, 0, 0, 0, 6, 1, 91, 118, 0, 255, 255, 0, 139, 255, 236, 5, 131, 7, 35, 6, 38, 0, 236, 0, 0, 0, 7, 1, 90, 255, 136, 1, 90, 255, 255, 0, 180, 255, 236, 5, 63, 5, 204, 6, 38, 1, 73, 0, 0, 0, 6, 1, 90, 138, 3, 255, 255, 0, 139, 255, 236, 5, 131, 7, 198, 6, 38, 0, 236, 0, 0, 0, 7, 1, 118, 4, 183, 1, 82, 255, 255, 0, 180, 255, 236, 5, 63, 6, 112, 6, 38, 1, 73, 0, 0, 0, 7, 1, 118, 4, 185, 255, 252, 255, 255, 0, 139, 255, 236, 5, 131, 7, 82, 6, 38, 0, 236, 0, 0, 0, 7, 1, 93, 0, 130, 1, 97, 255, 255, 0, 180, 255, 236, 5, 63, 5, 251, 6, 38, 1, 73, 0, 0, 0, 7, 1, 93, 0, 132, 0, 10, 255, 255, 0, 139, 254, 160, 5, 131, 5, 232, 6, 38, 0, 236, 0, 0, 0, 7, 1, 101, 4, 205, 255, 248, 255, 255, 0, 180, 254, 168, 5, 63, 4, 147, 6, 38, 1, 73, 0, 0, 0, 7, 1, 101, 4, 144, 0, 0, 255, 255, 0, 61, 254, 178, 4, 121, 5, 176, 6, 38, 0, 26, 0, 0, 0, 7, 1, 101, 4, 195, 0, 10, 255, 255, 0, 68, 254, 11, 4, 133, 4, 58, 6, 38, 0, 52, 0, 0, 0, 7, 1, 101, 5, 167, 255, 99, 255, 255, 0, 61, 0, 0, 4, 121, 7, 197, 6, 38, 0, 26, 0, 0, 0, 7, 1, 118, 4, 180, 1, 81, 255, 255, 0, 68, 254, 75, 4, 133, 6, 113, 6, 38, 0, 52, 0, 0, 0, 7, 1, 118, 4, 204, 255, 253, 255, 255, 0, 61, 0, 0, 4, 121, 7, 81, 6, 38, 0, 26, 0, 0, 0, 7, 1, 93, 0, 127, 1, 96, 255, 255, 0, 68, 254, 75, 4, 133, 5, 252, 6, 38, 0, 52, 0, 0, 0, 7, 1, 93, 0, 151, 0, 11, 255, 255, 0, 124, 254, 237, 4, 225, 6, 0, 4, 38, 0, 31, 241, 0, 0, 39, 2, 106, 1, 47, 2, 71, 0, 6, 0, 102, 33, 132, 255, 255, 0, 169, 254, 160, 4, 223, 5, 176, 6, 38, 2, 113, 0, 0, 0, 7, 2, 110, 2, 32, 0, 7, 255, 255, 0, 164, 254, 153, 4, 186, 4, 58, 6, 38, 1, 186, 0, 0, 0, 7, 2, 110, 1, 251, 0, 0, 255, 255, 0, 141, 254, 153, 4, 168, 5, 176, 6, 38, 0, 9, 0, 0, 0, 7, 2, 110, 1, 233, 0, 0, 255, 255, 0, 165, 254, 153, 4, 176, 4, 58, 6, 38, 1, 189, 0, 0, 0, 7, 2, 110, 1, 241, 0, 0, 255, 255, 0, 76, 254, 153, 4, 132, 5, 176, 6, 38, 0, 21, 0, 0, 0, 7, 2, 110, 0, 140, 0, 0, 255, 255, 0, 104, 254, 153, 4, 123, 4, 58, 6, 38, 1, 191, 0, 0, 0, 7, 2, 110, 0, 149, 0, 0, 255, 255, 0, 87, 254, 153, 4, 231, 5, 176, 6, 38, 0, 25, 0, 0, 0, 7, 2, 110, 2, 40, 0, 0, 255, 255, 0, 110, 254, 153, 4, 118, 4, 58, 6, 38, 0, 51, 0, 0, 0, 7, 2, 110, 1, 183, 0, 0, 255, 255, 0, 171, 254, 153, 4, 176, 5, 176, 6, 38, 1, 170, 0, 0, 0, 7, 2, 110, 1, 241, 0, 0, 255, 255, 0, 141, 254, 153, 4, 176, 4, 58, 6, 38, 1, 194, 0, 0, 0, 7, 2, 110, 1, 241, 0, 0, 255, 255, 0, 171, 254, 153, 4, 39, 5, 176, 6, 38, 1, 170, 0, 0, 0, 7, 2, 110, 0, 222, 0, 0, 255, 255, 0, 141, 254, 153, 4, 39, 4, 58, 6, 38, 1, 194, 0, 0, 0, 7, 2, 110, 0, 221, 0, 0, 255, 255, 0, 181, 254, 153, 4, 48, 5, 176, 6, 38, 1, 123, 0, 0, 0, 7, 2, 110, 255, 58, 0, 0, 255, 255, 0, 183, 254, 153, 4, 42, 4, 58, 6, 38, 1, 181, 0, 0, 0, 7, 2, 110, 255, 11, 0, 0, 255, 255, 0, 29, 254, 153, 4, 251, 5, 176, 6, 38, 1, 164, 0, 0, 0, 7, 2, 110, 2, 60, 0, 0, 255, 255, 0, 17, 254, 153, 4, 239, 4, 58, 6, 38, 1, 183, 0, 0, 0, 7, 2, 110, 2, 48, 0, 0, 255, 255, 0, 38, 254, 59, 4, 137, 5, 195, 6, 38, 2, 10, 0, 0, 0, 7, 2, 110, 0, 191, 255, 162, 255, 255, 0, 38, 254, 59, 4, 133, 4, 78, 6, 38, 2, 11, 0, 0, 0, 7, 2, 110, 0, 155, 255, 162, 255, 255, 0, 174, 0, 0, 4, 44, 6, 0, 6, 6, 0, 35, 0, 0, 0, 2, 0, 18, 0, 0, 4, 64, 4, 58, 0, 24, 0, 39, 0, 0, 65, 53, 33, 53, 35, 21, 35, 21, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 53, 17, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 2, 143, 254, 207, 185, 147, 147, 2, 4, 97, 152, 52, 52, 54, 55, 52, 52, 151, 97, 254, 181, 1, 75, 58, 83, 27, 27, 26, 25, 27, 27, 84, 58, 254, 181, 3, 35, 151, 128, 128, 151, 252, 221, 52, 46, 45, 125, 72, 73, 122, 44, 44, 49, 131, 254, 230, 33, 26, 27, 67, 35, 36, 66, 25, 25, 30, 0, 2, 255, 212, 0, 0, 4, 81, 5, 176, 0, 24, 0, 39, 0, 0, 65, 53, 35, 53, 35, 21, 35, 21, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 53, 17, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 2, 81, 240, 185, 212, 212, 1, 195, 116, 181, 62, 62, 65, 65, 62, 62, 181, 116, 254, 246, 1, 10, 78, 113, 37, 37, 35, 35, 37, 37, 113, 78, 254, 246, 4, 80, 151, 201, 201, 151, 251, 176, 63, 57, 57, 160, 96, 97, 156, 56, 55, 60, 247, 254, 114, 43, 36, 37, 99, 56, 57, 103, 39, 39, 46, 0, 0, 2, 255, 212, 0, 0, 4, 81, 5, 176, 0, 24, 0, 39, 0, 0, 65, 53, 35, 53, 35, 21, 35, 21, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 53, 17, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 2, 81, 240, 185, 212, 212, 1, 195, 116, 181, 62, 62, 65, 65, 62, 62, 181, 116, 254, 246, 1, 10, 78, 113, 37, 37, 35, 35, 37, 37, 113, 78, 254, 246, 4, 80, 151, 201, 201, 151, 251, 176, 63, 57, 57, 160, 96, 97, 156, 56, 55, 60, 247, 254, 114, 43, 36, 37, 99, 56, 57, 103, 39, 39, 46, 0, 0, 1, 255, 253, 0, 0, 4, 48, 5, 176, 0, 13, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 35, 21, 51, 17, 51, 17, 2, 122, 254, 245, 2, 193, 252, 133, 184, 184, 186, 2, 172, 151, 1, 213, 152, 253, 147, 151, 253, 84, 2, 172, 0, 1, 255, 251, 0, 0, 4, 42, 4, 58, 0, 13, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 35, 21, 51, 17, 51, 17, 2, 120, 254, 249, 2, 185, 252, 141, 188, 188, 186, 1, 223, 151, 1, 43, 153, 254, 60, 151, 254, 33, 1, 223, 0, 1, 255, 255, 0, 0, 4, 192, 5, 176, 0, 20, 0, 0, 65, 1, 51, 1, 1, 35, 1, 35, 17, 33, 53, 33, 53, 35, 21, 35, 21, 51, 17, 51, 17, 2, 23, 1, 198, 227, 253, 232, 1, 239, 212, 254, 69, 156, 1, 16, 254, 240, 185, 180, 180, 185, 2, 147, 253, 109, 2, 239, 2, 193, 253, 122, 1, 63, 151, 176, 176, 151, 251, 151, 2, 147, 0, 1, 255, 233, 0, 0, 4, 116, 6, 0, 0, 20, 0, 0, 115, 51, 17, 55, 1, 51, 1, 1, 35, 1, 7, 17, 51, 53, 35, 53, 35, 21, 35, 21, 51, 186, 186, 136, 1, 141, 235, 254, 7, 1, 182, 225, 254, 157, 121, 242, 242, 186, 209, 209, 1, 118, 131, 254, 7, 2, 119, 1, 195, 254, 156, 130, 2, 109, 151, 168, 168, 151, 255, 255, 0, 162, 254, 138, 4, 227, 7, 62, 6, 38, 1, 166, 0, 0, 0, 39, 1, 95, 255, 249, 1, 140, 0, 7, 0, 95, 2, 96, 255, 218, 255, 255, 0, 165, 254, 138, 4, 224, 5, 243, 6, 38, 1, 185, 0, 0, 0, 38, 1, 95, 244, 65, 0, 7, 0, 95, 2, 93, 255, 218, 255, 255, 0, 141, 254, 138, 4, 216, 5, 176, 6, 38, 0, 9, 0, 0, 0, 7, 0, 95, 2, 85, 255, 218, 255, 255, 0, 165, 254, 138, 4, 224, 4, 58, 6, 38, 1, 189, 0, 0, 0, 7, 0, 95, 2, 93, 255, 218, 255, 255, 0, 148, 254, 138, 5, 2, 5, 176, 6, 38, 0, 14, 0, 0, 0, 7, 0, 95, 2, 127, 255, 218, 255, 255, 0, 137, 254, 138, 4, 228, 4, 58, 6, 38, 1, 188, 0, 0, 0, 7, 0, 95, 2, 97, 255, 218, 255, 255, 0, 47, 254, 138, 4, 228, 5, 176, 6, 38, 1, 167, 0, 0, 0, 7, 0, 95, 2, 97, 255, 218, 255, 255, 0, 55, 254, 138, 4, 223, 4, 58, 6, 38, 1, 187, 0, 0, 0, 7, 0, 95, 2, 92, 255, 218, 0, 1, 0, 61, 0, 0, 4, 121, 5, 176, 0, 17, 0, 0, 65, 53, 35, 1, 35, 1, 35, 1, 35, 1, 35, 21, 51, 23, 19, 51, 19, 55, 3, 155, 163, 1, 129, 210, 254, 181, 2, 254, 182, 211, 1, 128, 159, 226, 2, 3, 172, 3, 2, 2, 18, 151, 3, 7, 253, 37, 2, 219, 252, 249, 151, 3, 253, 241, 2, 16, 2, 0, 0, 1, 0, 71, 254, 96, 4, 150, 4, 58, 0, 17, 0, 0, 69, 53, 35, 1, 35, 1, 7, 35, 39, 1, 35, 1, 35, 21, 51, 17, 51, 17, 3, 177, 188, 1, 161, 190, 254, 179, 26, 1, 23, 254, 172, 190, 1, 164, 183, 222, 186, 11, 151, 3, 174, 252, 240, 98, 98, 3, 16, 252, 82, 151, 254, 107, 1, 149, 0, 1, 0, 87, 0, 0, 4, 143, 5, 176, 0, 17, 0, 0, 65, 53, 35, 1, 35, 1, 1, 35, 1, 35, 21, 51, 1, 51, 1, 1, 51, 1, 3, 174, 157, 1, 116, 218, 254, 198, 254, 202, 217, 1, 116, 165, 178, 254, 116, 219, 1, 67, 1, 66, 216, 254, 117, 2, 158, 151, 2, 123, 253, 197, 2, 59, 253, 133, 151, 253, 98, 2, 70, 253, 186, 2, 158, 0, 0, 1, 0, 110, 0, 0, 4, 114, 4, 58, 0, 17, 0, 0, 65, 53, 35, 1, 35, 1, 1, 35, 1, 35, 21, 51, 1, 51, 1, 1, 51, 1, 3, 162, 142, 1, 83, 217, 254, 223, 254, 226, 214, 1, 83, 167, 181, 254, 148, 216, 1, 43, 1, 43, 214, 254, 148, 1, 225, 151, 1, 194, 254, 111, 1, 145, 254, 62, 151, 254, 31, 1, 156, 254, 100, 1, 225, 0, 255, 255, 0, 139, 255, 236, 4, 96, 4, 77, 6, 6, 1, 137, 0, 0, 0, 1, 0, 79, 2, 139, 4, 140, 3, 34, 0, 3, 0, 0, 65, 53, 33, 21, 4, 140, 251, 195, 2, 139, 151, 151, 0, 1, 0, 0, 3, 231, 0, 177, 0, 22, 0, 135, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 28, 0, 121, 0, 218, 1, 33, 1, 58, 1, 80, 1, 186, 1, 210, 1, 234, 2, 26, 2, 56, 2, 72, 2, 104, 2, 128, 2, 245, 3, 44, 3, 165, 3, 226, 4, 81, 4, 100, 4, 151, 4, 173, 4, 209, 4, 240, 5, 8, 5, 32, 5, 140, 5, 244, 6, 66, 6, 134, 6, 210, 7, 5, 7, 124, 7, 177, 7, 223, 8, 33, 8, 63, 8, 84, 8, 173, 8, 224, 9, 46, 9, 132, 9, 218, 10, 1, 10, 110, 10, 168, 10, 214, 10, 236, 11, 17, 11, 48, 11, 100, 11, 123, 11, 215, 11, 233, 12, 44, 12, 155, 12, 186, 13, 5, 13, 103, 13, 121, 14, 8, 14, 106, 14, 124, 14, 191, 15, 46, 15, 155, 15, 233, 16, 66, 16, 117, 17, 5, 17, 44, 17, 233, 18, 54, 18, 227, 19, 81, 19, 136, 19, 222, 19, 252, 20, 116, 20, 204, 21, 65, 21, 151, 21, 230, 22, 19, 22, 91, 22, 103, 22, 191, 23, 26, 23, 118, 23, 148, 23, 178, 24, 15, 24, 108, 24, 129, 24, 151, 24, 163, 24, 176, 24, 193, 24, 216, 25, 3, 25, 16, 25, 29, 25, 42, 25, 55, 25, 71, 25, 97, 25, 123, 25, 149, 25, 174, 25, 187, 25, 200, 25, 244, 25, 252, 26, 4, 26, 70, 26, 136, 26, 155, 26, 173, 26, 239, 27, 66, 27, 86, 27, 106, 27, 130, 27, 143, 27, 174, 27, 207, 27, 253, 28, 17, 28, 53, 28, 132, 28, 154, 28, 177, 28, 206, 28, 236, 28, 253, 29, 12, 29, 27, 29, 43, 29, 202, 30, 178, 30, 192, 30, 212, 30, 236, 31, 14, 31, 158, 32, 12, 32, 51, 32, 125, 32, 161, 32, 218, 33, 115, 34, 38, 34, 245, 35, 19, 35, 41, 35, 119, 35, 131, 35, 143, 35, 155, 35, 167, 35, 179, 35, 191, 36, 2, 36, 14, 36, 26, 36, 38, 36, 50, 36, 62, 36, 74, 36, 85, 36, 97, 36, 109, 36, 172, 36, 184, 36, 196, 36, 208, 36, 220, 36, 232, 36, 244, 37, 0, 37, 12, 37, 62, 37, 126, 37, 189, 37, 201, 37, 213, 37, 225, 38, 10, 38, 22, 38, 34, 38, 46, 38, 58, 38, 70, 38, 82, 38, 94, 38, 106, 38, 170, 38, 182, 38, 194, 38, 206, 38, 218, 38, 230, 38, 242, 38, 254, 39, 26, 39, 38, 39, 50, 39, 62, 39, 74, 39, 86, 39, 98, 39, 110, 39, 122, 39, 134, 39, 238, 39, 250, 40, 6, 40, 121, 40, 133, 40, 145, 40, 157, 40, 169, 40, 181, 40, 193, 40, 205, 40, 216, 40, 228, 41, 0, 41, 12, 41, 24, 41, 36, 41, 48, 41, 60, 41, 72, 41, 143, 41, 155, 41, 167, 42, 5, 42, 17, 42, 29, 42, 41, 42, 53, 42, 65, 42, 77, 42, 89, 42, 101, 42, 113, 42, 125, 42, 137, 42, 149, 42, 161, 42, 173, 42, 184, 42, 196, 42, 207, 42, 218, 42, 229, 43, 120, 43, 131, 43, 142, 43, 154, 43, 166, 43, 178, 43, 189, 43, 200, 43, 212, 43, 224, 44, 63, 44, 74, 44, 85, 44, 96, 44, 107, 44, 118, 44, 129, 44, 140, 44, 151, 44, 227, 45, 85, 45, 96, 45, 107, 45, 118, 45, 180, 45, 192, 45, 204, 45, 215, 45, 227, 45, 238, 45, 249, 46, 4, 46, 81, 46, 93, 46, 105, 46, 117, 46, 129, 46, 141, 46, 153, 46, 165, 46, 200, 46, 211, 46, 222, 46, 234, 46, 245, 47, 0, 47, 11, 47, 22, 47, 33, 47, 44, 47, 140, 47, 152, 47, 163, 48, 9, 48, 20, 48, 32, 48, 43, 48, 54, 48, 66, 48, 78, 48, 89, 48, 100, 48, 112, 48, 177, 48, 189, 48, 200, 48, 211, 48, 222, 48, 233, 48, 244, 49, 50, 49, 62, 49, 73, 49, 158, 49, 169, 49, 181, 49, 192, 49, 203, 49, 214, 49, 225, 49, 237, 49, 249, 50, 4, 50, 15, 50, 27, 50, 38, 50, 49, 50, 64, 50, 79, 50, 99, 50, 159, 50, 172, 50, 215, 50, 238, 51, 21, 51, 95, 51, 118, 51, 137, 51, 159, 51, 205, 51, 252, 52, 17, 52, 17, 52, 30, 52, 80, 52, 93, 52, 114, 52, 162, 53, 0, 53, 37, 53, 87, 53, 143, 53, 158, 53, 173, 53, 182, 53, 229, 53, 252, 54, 11, 54, 58, 54, 66, 54, 82, 54, 109, 54, 196, 54, 216, 54, 242, 55, 5, 55, 33, 55, 123, 55, 181, 56, 13, 56, 127, 56, 244, 57, 17, 57, 142, 58, 6, 58, 98, 58, 150, 58, 236, 59, 25, 59, 100, 59, 235, 60, 27, 60, 110, 60, 207, 61, 34, 61, 82, 61, 141, 61, 243, 62, 52, 62, 176, 63, 34, 63, 111, 63, 245, 64, 51, 64, 135, 64, 228, 65, 32, 65, 81, 65, 106, 65, 162, 65, 224, 66, 10, 66, 130, 66, 155, 66, 207, 67, 1, 67, 26, 67, 69, 67, 93, 67, 122, 67, 176, 67, 236, 68, 33, 68, 117, 68, 207, 69, 10, 69, 129, 69, 218, 69, 234, 70, 29, 70, 72, 70, 192, 70, 216, 70, 245, 71, 37, 71, 63, 71, 87, 71, 106, 71, 125, 71, 220, 71, 245, 72, 36, 72, 60, 72, 90, 72, 144, 72, 204, 73, 1, 73, 82, 73, 169, 73, 225, 74, 56, 74, 138, 74, 223, 75, 29, 75, 91, 75, 116, 75, 203, 76, 33, 76, 96, 76, 221, 77, 74, 77, 111, 77, 148, 77, 194, 77, 240, 78, 56, 78, 132, 78, 213, 79, 40, 79, 188, 80, 89, 80, 212, 81, 40, 81, 84, 81, 131, 81, 254, 82, 119, 82, 251, 83, 88, 84, 47, 84, 242, 85, 94, 85, 192, 86, 2, 86, 72, 86, 116, 86, 136, 86, 192, 86, 209, 86, 225, 87, 193, 88, 21, 88, 85, 88, 180, 88, 199, 88, 218, 89, 16, 89, 70, 89, 107, 89, 143, 89, 175, 89, 207, 89, 234, 90, 5, 90, 81, 90, 137, 91, 36, 91, 196, 91, 226, 92, 0, 92, 59, 92, 113, 92, 155, 93, 16, 93, 106, 93, 169, 93, 227, 94, 20, 94, 69, 94, 181, 94, 252, 95, 67, 95, 83, 95, 99, 95, 152, 95, 232, 96, 150, 97, 17, 97, 137, 97, 238, 98, 88, 98, 211, 99, 72, 99, 162, 99, 247, 100, 85, 100, 167, 100, 248, 101, 59, 101, 170, 101, 170, 101, 170, 101, 170, 101, 170, 101, 170, 101, 170, 101, 170, 101, 170, 101, 170, 101, 170, 101, 170, 101, 170, 101, 182, 101, 208, 101, 221, 101, 252, 102, 48, 102, 127, 103, 29, 103, 125, 103, 227, 104, 40, 104, 204, 105, 205, 106, 165, 107, 73, 107, 183, 107, 202, 107, 230, 108, 0, 108, 209, 109, 16, 109, 54, 109, 54, 110, 8, 110, 104, 110, 177, 110, 236, 111, 8, 111, 36, 111, 86, 111, 107, 111, 138, 111, 227, 112, 52, 112, 106, 112, 131, 112, 153, 112, 239, 113, 7, 113, 31, 113, 79, 113, 109, 113, 125, 113, 152, 113, 176, 114, 1, 114, 92, 114, 153, 115, 13, 115, 32, 115, 84, 115, 108, 115, 145, 115, 176, 115, 202, 115, 225, 116, 52, 116, 102, 116, 115, 116, 180, 116, 220, 117, 42, 117, 56, 117, 93, 117, 148, 117, 177, 118, 15, 118, 23, 118, 31, 118, 43, 118, 54, 118, 66, 118, 77, 118, 89, 118, 101, 118, 113, 118, 125, 118, 137, 118, 148, 118, 159, 118, 171, 118, 183, 118, 195, 118, 206, 118, 217, 118, 228, 118, 239, 118, 251, 119, 6, 119, 18, 119, 30, 119, 41, 119, 53, 119, 64, 119, 75, 119, 86, 119, 97, 119, 109, 119, 121, 119, 132, 119, 144, 119, 155, 119, 167, 119, 179, 119, 191, 119, 202, 119, 213, 119, 225, 119, 237, 119, 248, 120, 3, 120, 14, 120, 25, 120, 95, 120, 106, 120, 117, 120, 128, 120, 139, 120, 150, 120, 161, 120, 172, 120, 236, 120, 247, 121, 2, 121, 13, 121, 25, 121, 37, 121, 49, 121, 60, 121, 71, 121, 135, 121, 146, 121, 158, 121, 170, 121, 182, 121, 194, 121, 206, 121, 218, 121, 230, 121, 242, 121, 253, 122, 8, 122, 19, 122, 31, 122, 42, 122, 54, 122, 65, 122, 76, 122, 87, 122, 98, 122, 109, 122, 120, 122, 132, 122, 143, 122, 154, 122, 166, 122, 178, 123, 11, 123, 23, 123, 34, 123, 45, 123, 57, 123, 68, 123, 79, 123, 91, 123, 103, 123, 115, 123, 127, 123, 139, 123, 151, 123, 163, 123, 174, 123, 182, 123, 190, 123, 198, 123, 206, 123, 214, 123, 222, 123, 230, 123, 238, 123, 246, 123, 254, 124, 6, 124, 14, 124, 22, 124, 30, 124, 42, 124, 54, 124, 65, 124, 76, 124, 87, 124, 98, 124, 109, 124, 117, 124, 125, 124, 133, 124, 141, 124, 149, 124, 160, 124, 171, 124, 182, 124, 193, 124, 204, 124, 216, 124, 228, 125, 92, 125, 100, 125, 112, 125, 120, 125, 128, 125, 140, 125, 152, 125, 160, 125, 168, 125, 176, 125, 184, 125, 196, 125, 204, 125, 212, 125, 220, 125, 228, 125, 236, 125, 244, 125, 252, 126, 4, 126, 12, 126, 20, 126, 28, 126, 39, 126, 47, 126, 55, 126, 133, 126, 141, 126, 149, 126, 160, 126, 171, 126, 179, 126, 187, 126, 198, 126, 206, 126, 217, 126, 228, 126, 241, 126, 252, 127, 4, 127, 16, 127, 28, 127, 39, 127, 50, 127, 62, 127, 74, 127, 86, 127, 97, 127, 109, 127, 117, 127, 125, 127, 137, 127, 149, 127, 160, 127, 171, 127, 182, 127, 193, 127, 201, 127, 209, 127, 217, 127, 229, 127, 240, 127, 248, 128, 4, 128, 15, 128, 27, 128, 38, 128, 46, 128, 54, 128, 66, 128, 77, 128, 89, 128, 97, 128, 108, 128, 120, 128, 131, 128, 143, 128, 154, 128, 166, 128, 177, 128, 189, 128, 200, 128, 212, 128, 223, 128, 231, 128, 239, 128, 251, 129, 6, 129, 18, 129, 29, 129, 41, 129, 52, 129, 64, 129, 75, 129, 87, 129, 99, 129, 111, 129, 122, 129, 134, 129, 145, 129, 157, 129, 169, 129, 177, 129, 189, 129, 201, 129, 213, 129, 225, 129, 237, 129, 249, 130, 5, 130, 16, 130, 28, 130, 39, 130, 51, 130, 62, 130, 74, 130, 85, 130, 101, 130, 117, 130, 129, 130, 140, 130, 152, 130, 163, 130, 175, 130, 186, 130, 198, 130, 209, 130, 225, 130, 240, 130, 252, 131, 8, 131, 20, 131, 32, 131, 44, 131, 56, 131, 68, 131, 79, 131, 91, 131, 102, 131, 114, 131, 125, 131, 137, 131, 148, 131, 164, 131, 179, 131, 191, 131, 203, 131, 215, 131, 227, 131, 239, 131, 251, 132, 7, 132, 19, 132, 31, 132, 42, 132, 54, 132, 65, 132, 77, 132, 88, 132, 100, 132, 111, 132, 127, 132, 142, 132, 154, 132, 165, 132, 177, 132, 188, 132, 200, 132, 212, 132, 224, 132, 236, 132, 248, 133, 4, 133, 16, 133, 28, 133, 40, 133, 52, 133, 64, 133, 75, 133, 87, 133, 98, 133, 110, 133, 122, 133, 134, 133, 146, 133, 158, 133, 170, 133, 182, 133, 194, 133, 206, 133, 218, 133, 230, 133, 242, 134, 1, 134, 13, 134, 25, 134, 37, 134, 49, 134, 61, 134, 73, 134, 85, 134, 97, 134, 109, 134, 121, 134, 133, 134, 145, 134, 157, 134, 169, 134, 181, 134, 193, 134, 205, 134, 217, 134, 225, 135, 30, 135, 91, 135, 152, 135, 178, 135, 204, 135, 242, 136, 22, 136, 38, 136, 53, 136, 65, 136, 77, 136, 89, 136, 101, 136, 113, 136, 125, 136, 161, 136, 195, 136, 234, 137, 17, 137, 25, 137, 38, 0, 1, 0, 0, 0, 3, 0, 0, 176, 143, 92, 244, 95, 15, 60, 245, 0, 11, 8, 0, 0, 0, 0, 0, 196, 240, 17, 46, 0, 0, 0, 0, 218, 216, 63, 171, 252, 5, 253, 213, 6, 71, 8, 98, 0, 0, 0, 9, 0, 2, 0, 0, 0, 0, 0, 0, 4, 205, 0, 0, 0, 0, 0, 81, 0, 172, 0, 107, 0, 155, 0, 182, 0, 191, 0, 100, 0, 141, 0, 174, 0, 98, 0, 172, 0, 198, 0, 148, 0, 143, 0, 106, 0, 191, 0, 94, 0, 181, 0, 118, 0, 76, 0, 139, 0, 71, 0, 73, 0, 87, 0, 61, 0, 114, 0, 156, 0, 175, 0, 143, 0, 139, 0, 135, 0, 152, 0, 140, 0, 174, 0, 203, 0, 211, 0, 176, 0, 203, 0, 93, 0, 174, 0, 122, 0, 173, 0, 140, 1, 73, 0, 175, 0, 142, 0, 180, 0, 98, 0, 48, 0, 110, 0, 68, 0, 160, 0, 145, 0, 208, 0, 85, 0, 94, 0, 75, 0, 187, 0, 141, 0, 112, 0, 177, 0, 149, 1, 130, 1, 60, 1, 67, 1, 28, 1, 16, 0, 36, 0, 48, 0, 38, 0, 32, 0, 43, 0, 79, 0, 46, 0, 73, 0, 168, 0, 173, 0, 186, 0, 169, 0, 177, 0, 162, 0, 147, 0, 113, 0, 33, 0, 160, 0, 17, 0, 105, 0, 127, 0, 103, 1, 230, 1, 242, 0, 191, 0, 204, 1, 98, 1, 240, 2, 34, 1, 230, 1, 9, 1, 248, 1, 154, 0, 155, 0, 218, 0, 74, 0, 79, 1, 238, 1, 98, 1, 236, 1, 205, 1, 188, 1, 73, 1, 45, 1, 47, 1, 238, 1, 98, 1, 101, 1, 64, 1, 170, 1, 149, 1, 67, 1, 67, 1, 140, 1, 140, 0, 119, 0, 169, 0, 156, 0, 181, 0, 115, 0, 173, 0, 169, 0, 141, 0, 170, 0, 178, 0, 187, 0, 194, 0, 189, 0, 252, 0, 231, 1, 43, 0, 44, 0, 54, 2, 28, 1, 255, 0, 119, 0, 121, 0, 90, 0, 87, 0, 103, 1, 105, 0, 160, 0, 61, 0, 107, 0, 64, 0, 87, 0, 211, 0, 231, 0, 48, 0, 81, 0, 81, 0, 81, 0, 81, 0, 81, 0, 81, 0, 81, 0, 81, 0, 81, 0, 81, 0, 32, 0, 107, 0, 107, 0, 107, 0, 107, 0, 155, 255, 197, 0, 182, 0, 182, 0, 182, 0, 182, 0, 182, 0, 182, 0, 182, 0, 182, 0, 175, 0, 182, 255, 197, 0, 100, 0, 100, 0, 100, 0, 24, 0, 141, 0, 174, 0, 174, 0, 174, 0, 174, 0, 174, 0, 174, 0, 174, 0, 174, 0, 174, 0, 98, 0, 172, 0, 198, 0, 198, 0, 198, 0, 198, 0, 58, 0, 143, 0, 143, 0, 143, 0, 143, 0, 106, 0, 106, 0, 106, 0, 106, 0, 106, 0, 99, 0, 106, 0, 106, 0, 71, 0, 71, 0, 106, 0, 181, 0, 181, 0, 181, 0, 118, 0, 118, 0, 118, 0, 118, 0, 76, 0, 76, 0, 139, 0, 139, 0, 139, 0, 139, 0, 139, 0, 139, 0, 139, 0, 139, 0, 139, 0, 139, 0, 139, 0, 73, 0, 73, 0, 73, 0, 73, 0, 61, 0, 61, 0, 61, 0, 61, 0, 114, 0, 114, 0, 114, 0, 156, 0, 156, 0, 156, 0, 156, 0, 156, 0, 156, 0, 156, 0, 156, 0, 156, 0, 156, 0, 43, 0, 143, 0, 143, 0, 143, 0, 143, 0, 100, 0, 124, 0, 135, 0, 135, 0, 135, 0, 135, 0, 135, 0, 135, 0, 135, 0, 135, 0, 184, 0, 135, 0, 140, 0, 140, 0, 140, 0, 11, 255, 231, 0, 203, 0, 203, 0, 203, 0, 203, 0, 203, 0, 203, 0, 203, 0, 203, 0, 176, 0, 176, 0, 203, 0, 153, 0, 203, 0, 133, 0, 203, 0, 174, 0, 174, 0, 174, 0, 174, 0, 122, 0, 122, 0, 122, 0, 122, 0, 122, 0, 119, 0, 122, 0, 122, 0, 122, 0, 122, 0, 122, 1, 73, 1, 20, 1, 16, 0, 175, 0, 175, 0, 175, 0, 175, 0, 142, 0, 127, 0, 180, 0, 180, 0, 180, 0, 180, 0, 180, 0, 180, 0, 180, 0, 180, 0, 180, 0, 180, 0, 180, 0, 48, 0, 48, 0, 48, 0, 48, 0, 68, 0, 68, 0, 68, 0, 68, 0, 160, 0, 160, 0, 160, 1, 159, 1, 154, 0, 193, 0, 138, 1, 1, 1, 59, 1, 242, 1, 31, 1, 154, 0, 246, 1, 48, 253, 39, 1, 205, 1, 142, 1, 46, 0, 0, 0, 212, 0, 188, 0, 241, 0, 203, 0, 128, 0, 80, 1, 200, 0, 176, 1, 173, 252, 202, 253, 104, 252, 136, 253, 89, 252, 5, 2, 41, 1, 19, 2, 48, 0, 181, 0, 46, 0, 106, 0, 54, 0, 145, 0, 162, 0, 112, 0, 69, 0, 101, 0, 97, 0, 129, 0, 174, 0, 71, 0, 120, 0, 139, 0, 117, 0, 164, 0, 185, 0, 184, 0, 57, 0, 175, 0, 89, 0, 165, 0, 120, 0, 109, 0, 173, 0, 158, 0, 110, 0, 97, 0, 79, 0, 152, 0, 54, 0, 46, 0, 42, 0, 129, 0, 30, 0, 131, 0, 67, 0, 162, 0, 162, 0, 70, 0, 29, 0, 89, 0, 162, 0, 47, 0, 43, 0, 166, 0, 171, 0, 125, 0, 125, 0, 50, 0, 144, 0, 168, 0, 114, 0, 119, 0, 65, 0, 129, 0, 164, 0, 183, 0, 54, 0, 17, 0, 135, 0, 165, 0, 164, 0, 55, 0, 137, 0, 165, 0, 165, 0, 104, 0, 122, 0, 170, 0, 141, 0, 129, 0, 118, 0, 57, 0, 144, 0, 165, 0, 129, 0, 113, 0, 79, 255, 233, 0, 143, 0, 38, 0, 130, 0, 28, 0, 165, 0, 107, 0, 95, 0, 28, 0, 125, 0, 155, 0, 39, 0, 87, 0, 113, 0, 112, 0, 85, 0, 105, 0, 80, 0, 81, 0, 202, 0, 222, 0, 99, 0, 93, 0, 26, 0, 81, 0, 69, 0, 55, 0, 106, 0, 122, 0, 77, 0, 103, 0, 113, 0, 95, 0, 151, 0, 191, 0, 118, 0, 209, 0, 252, 1, 195, 2, 60, 254, 171, 254, 180, 0, 191, 0, 173, 0, 182, 0, 182, 0, 185, 0, 184, 0, 174, 0, 163, 0, 45, 0, 56, 0, 114, 0, 110, 0, 109, 0, 116, 0, 104, 0, 92, 0, 57, 0, 52, 0, 171, 0, 146, 0, 227, 0, 38, 0, 38, 0, 200, 0, 180, 0, 182, 0, 179, 0, 90, 0, 148, 0, 137, 0, 66, 0, 116, 0, 97, 0, 77, 0, 101, 0, 55, 0, 80, 0, 179, 0, 208, 0, 20, 0, 47, 0, 111, 0, 117, 0, 142, 0, 160, 0, 76, 0, 73, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 166, 1, 207, 1, 92, 1, 15, 1, 75, 0, 127, 0, 73, 0, 221, 0, 121, 0, 153, 0, 80, 0, 51, 0, 36, 0, 65, 0, 126, 0, 167, 0, 51, 0, 57, 0, 53, 0, 248, 0, 142, 0, 0, 0, 92, 0, 15, 1, 17, 0, 252, 0, 16, 1, 11, 1, 62, 1, 249, 0, 54, 0, 208, 0, 110, 0, 183, 0, 200, 0, 231, 0, 124, 0, 155, 0, 217, 0, 150, 0, 180, 0, 209, 0, 155, 0, 194, 0, 130, 0, 94, 0, 144, 0, 138, 0, 93, 0, 181, 0, 86, 0, 47, 0, 96, 0, 77, 0, 185, 1, 82, 1, 66, 1, 53, 1, 209, 1, 245, 1, 116, 2, 6, 1, 96, 0, 204, 0, 169, 0, 210, 0, 0, 0, 218, 0, 107, 0, 143, 0, 100, 0, 140, 255, 186, 0, 118, 0, 175, 0, 76, 0, 142, 0, 76, 0, 93, 0, 142, 255, 231, 255, 231, 0, 93, 0, 54, 0, 54, 0, 54, 0, 54, 0, 54, 0, 54, 0, 54, 0, 110, 0, 200, 0, 200, 0, 200, 0, 200, 0, 217, 0, 217, 0, 217, 0, 217, 0, 194, 0, 130, 0, 130, 0, 130, 0, 130, 0, 130, 0, 181, 0, 181, 0, 181, 0, 181, 0, 77, 0, 54, 0, 54, 0, 54, 0, 110, 0, 110, 0, 110, 0, 183, 0, 200, 0, 200, 0, 200, 0, 200, 0, 200, 0, 124, 0, 124, 0, 124, 0, 155, 0, 217, 0, 217, 0, 217, 0, 217, 0, 217, 0, 150, 0, 180, 0, 182, 0, 209, 0, 209, 0, 209, 0, 194, 0, 194, 0, 194, 0, 130, 0, 130, 0, 130, 0, 144, 0, 144, 0, 144, 0, 138, 0, 138, 0, 138, 0, 138, 0, 93, 0, 181, 0, 181, 0, 181, 0, 181, 0, 181, 0, 181, 0, 47, 0, 77, 0, 77, 0, 185, 0, 185, 0, 185, 0, 81, 255, 221, 255, 203, 255, 186, 255, 255, 255, 128, 255, 251, 0, 184, 0, 81, 0, 172, 0, 182, 0, 114, 0, 141, 0, 174, 0, 172, 0, 148, 0, 143, 0, 106, 0, 191, 0, 76, 0, 61, 0, 87, 0, 174, 0, 61, 0, 129, 0, 139, 0, 164, 0, 184, 0, 158, 0, 186, 0, 122, 0, 188, 0, 98, 0, 110, 0, 184, 0, 158, 0, 122, 0, 158, 0, 79, 0, 182, 0, 181, 0, 118, 0, 174, 0, 174, 0, 98, 0, 169, 0, 172, 0, 43, 0, 81, 0, 172, 0, 181, 0, 182, 0, 162, 0, 148, 0, 141, 0, 106, 0, 162, 0, 191, 0, 107, 0, 76, 0, 69, 0, 87, 0, 156, 0, 135, 0, 165, 0, 122, 0, 173, 0, 143, 0, 68, 0, 110, 0, 135, 0, 183, 0, 175, 0, 203, 0, 203, 0, 211, 0, 164, 0, 68, 0, 104, 0, 176, 1, 205, 0, 148, 0, 93, 0, 81, 0, 156, 255, 137, 0, 182, 0, 162, 0, 135, 0, 165, 0, 101, 0, 97, 0, 26, 0, 64, 0, 89, 0, 135, 0, 107, 0, 143, 0, 61, 0, 71, 0, 174, 0, 29, 0, 17, 0, 174, 0, 81, 0, 156, 0, 81, 0, 156, 0, 32, 0, 43, 0, 182, 0, 135, 0, 90, 0, 177, 0, 177, 0, 29, 0, 17, 0, 89, 0, 135, 0, 162, 0, 165, 0, 162, 0, 165, 0, 106, 0, 122, 0, 99, 0, 93, 0, 99, 0, 93, 0, 114, 0, 129, 0, 43, 0, 68, 0, 43, 0, 68, 0, 43, 0, 68, 0, 171, 0, 141, 0, 144, 0, 144, 0, 87, 0, 110, 0, 139, 0, 47, 0, 55, 0, 81, 0, 156, 0, 81, 0, 156, 0, 81, 0, 156, 255, 252, 255, 248, 0, 81, 0, 156, 0, 81, 0, 156, 0, 81, 0, 156, 0, 81, 0, 156, 0, 81, 0, 156, 0, 81, 0, 156, 0, 81, 0, 156, 0, 81, 0, 156, 0, 182, 0, 135, 0, 182, 0, 135, 0, 182, 0, 135, 0, 182, 0, 135, 255, 242, 255, 243, 0, 182, 0, 135, 0, 182, 0, 135, 0, 182, 0, 135, 0, 174, 0, 203, 0, 174, 0, 203, 0, 106, 0, 122, 0, 106, 0, 122, 0, 106, 0, 122, 0, 0, 255, 237, 0, 106, 0, 122, 0, 106, 0, 122, 0, 106, 0, 122, 0, 99, 0, 119, 0, 99, 0, 119, 0, 99, 0, 119, 0, 99, 0, 119, 0, 99, 0, 119, 0, 139, 0, 180, 0, 139, 0, 180, 0, 139, 0, 180, 0, 139, 0, 180, 0, 139, 0, 180, 0, 139, 0, 180, 0, 139, 0, 180, 0, 61, 0, 68, 0, 61, 0, 68, 0, 61, 0, 68, 0, 124, 0, 169, 0, 164, 0, 141, 0, 165, 0, 76, 0, 104, 0, 87, 0, 110, 0, 171, 0, 141, 0, 171, 0, 141, 0, 181, 0, 183, 0, 29, 0, 17, 0, 38, 0, 38, 0, 174, 0, 18, 255, 212, 255, 212, 255, 253, 255, 251, 255, 255, 255, 233, 0, 162, 0, 165, 0, 141, 0, 165, 0, 148, 0, 137, 0, 47, 0, 55, 0, 61, 0, 71, 0, 87, 0, 110, 0, 139, 0, 79, 0, 1, 0, 0, 8, 98, 253, 213, 0, 0, 4, 205, 252, 5, 254, 134, 6, 71, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 4, 205, 1, 144, 0, 5, 0, 0, 5, 154, 5, 51, 0, 0, 1, 31, 5, 154, 5, 51, 0, 0, 3, 209, 0, 102, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 224, 0, 2, 255, 16, 0, 32, 91, 0, 0, 0, 32, 0, 0, 0, 0, 71, 79, 79, 71, 0, 64, 0, 13, 255, 253, 8, 98, 253, 213, 0, 0, 8, 98, 2, 43, 32, 0, 1, 159, 79, 1, 0, 0, 4, 58, 5, 176, 0, 0, 0, 32, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 20, 0, 3, 0, 1, 0, 0, 0, 20, 0, 4, 7, 76, 0, 0, 0, 194, 0, 128, 0, 6, 0, 66, 0, 13, 0, 47, 0, 57, 0, 64, 0, 90, 0, 96, 0, 122, 0, 126, 1, 127, 1, 146, 1, 161, 1, 176, 1, 240, 1, 255, 2, 27, 2, 55, 2, 89, 2, 188, 2, 199, 2, 201, 2, 221, 2, 243, 3, 1, 3, 3, 3, 9, 3, 15, 3, 35, 3, 138, 3, 140, 3, 146, 3, 161, 3, 176, 3, 185, 3, 201, 3, 206, 3, 210, 3, 214, 4, 37, 4, 47, 4, 69, 4, 79, 4, 98, 4, 111, 4, 119, 4, 134, 4, 206, 4, 215, 4, 225, 4, 245, 5, 1, 5, 16, 5, 19, 30, 1, 30, 63, 30, 133, 30, 241, 30, 243, 30, 249, 31, 77, 32, 11, 32, 21, 32, 30, 32, 34, 32, 38, 32, 48, 32, 51, 32, 58, 32, 60, 32, 68, 32, 116, 32, 127, 32, 164, 32, 167, 32, 172, 33, 5, 33, 19, 33, 22, 33, 34, 33, 38, 33, 46, 33, 94, 34, 2, 34, 6, 34, 15, 34, 18, 34, 21, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34, 101, 37, 202, 246, 195, 254, 255, 255, 253, 255, 255, 0, 0, 0, 13, 0, 32, 0, 48, 0, 58, 0, 65, 0, 91, 0, 97, 0, 123, 0, 160, 1, 146, 1, 160, 1, 175, 1, 240, 1, 250, 2, 24, 2, 55, 2, 89, 2, 188, 2, 198, 2, 201, 2, 216, 2, 243, 3, 0, 3, 3, 3, 9, 3, 15, 3, 35, 3, 132, 3, 140, 3, 142, 3, 147, 3, 163, 3, 177, 3, 186, 3, 202, 3, 209, 3, 214, 4, 0, 4, 38, 4, 48, 4, 70, 4, 80, 4, 99, 4, 112, 4, 120, 4, 136, 4, 207, 4, 216, 4, 226, 4, 246, 5, 2, 5, 17, 30, 0, 30, 62, 30, 128, 30, 160, 30, 242, 30, 244, 31, 77, 32, 0, 32, 19, 32, 23, 32, 32, 32, 37, 32, 48, 32, 50, 32, 57, 32, 60, 32, 68, 32, 116, 32, 127, 32, 163, 32, 167, 32, 171, 33, 5, 33, 19, 33, 22, 33, 34, 33, 38, 33, 46, 33, 91, 34, 2, 34, 6, 34, 15, 34, 17, 34, 21, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34, 100, 37, 202, 246, 195, 254, 255, 255, 252, 255, 255, 1, 92, 0, 0, 0, 6, 0, 0, 255, 193, 0, 0, 255, 187, 0, 0, 0, 0, 254, 196, 0, 0, 0, 0, 1, 51, 0, 0, 0, 98, 255, 58, 253, 248, 0, 104, 0, 0, 254, 149, 0, 0, 254, 127, 254, 115, 254, 114, 254, 109, 254, 104, 254, 66, 0, 0, 255, 76, 255, 75, 0, 0, 0, 0, 253, 212, 0, 0, 255, 44, 253, 200, 253, 197, 0, 0, 253, 131, 0, 0, 253, 123, 0, 0, 253, 112, 0, 0, 253, 108, 0, 0, 254, 108, 0, 0, 254, 105, 0, 0, 253, 20, 0, 0, 229, 39, 228, 231, 0, 0, 228, 198, 0, 0, 228, 196, 227, 220, 226, 37, 0, 0, 0, 0, 0, 0, 0, 0, 224, 93, 224, 64, 224, 65, 226, 230, 224, 71, 225, 192, 225, 182, 223, 180, 223, 178, 0, 0, 225, 50, 225, 37, 225, 35, 223, 114, 224, 94, 225, 12, 224, 224, 224, 61, 223, 118, 224, 49, 0, 0, 222, 116, 224, 40, 224, 37, 224, 25, 222, 59, 222, 34, 222, 34, 220, 123, 10, 165, 3, 71, 2, 75, 0, 1, 0, 0, 0, 192, 0, 0, 0, 220, 0, 0, 0, 230, 0, 0, 0, 238, 0, 244, 0, 0, 2, 176, 2, 178, 0, 0, 2, 178, 0, 0, 0, 0, 0, 0, 0, 0, 2, 180, 0, 0, 2, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 178, 0, 0, 0, 0, 2, 186, 2, 214, 0, 0, 2, 238, 0, 0, 0, 0, 0, 0, 3, 6, 0, 0, 3, 78, 0, 0, 3, 118, 0, 0, 3, 152, 0, 0, 3, 164, 0, 0, 4, 46, 0, 0, 4, 62, 0, 0, 4, 82, 0, 0, 0, 0, 4, 82, 0, 0, 4, 90, 0, 0, 0, 0, 0, 0, 4, 86, 4, 90, 4, 104, 4, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 91, 0, 107, 0, 151, 0, 82, 0, 140, 0, 152, 0, 106, 0, 116, 0, 117, 0, 150, 0, 124, 0, 95, 0, 103, 0, 96, 0, 137, 0, 97, 0, 98, 0, 132, 0, 129, 0, 133, 0, 93, 0, 153, 0, 118, 0, 138, 0, 119, 0, 156, 0, 102, 1, 90, 0, 120, 0, 142, 0, 121, 0, 157, 2, 115, 0, 92, 0, 83, 0, 84, 0, 90, 0, 85, 0, 143, 0, 154, 1, 97, 0, 146, 0, 67, 1, 106, 0, 136, 2, 116, 0, 147, 1, 94, 0, 149, 0, 126, 0, 65, 0, 66, 1, 91, 1, 107, 0, 155, 0, 100, 1, 102, 0, 64, 0, 68, 1, 108, 0, 70, 0, 69, 0, 71, 0, 94, 0, 162, 0, 158, 0, 160, 0, 167, 0, 161, 0, 165, 0, 72, 0, 171, 0, 181, 0, 175, 0, 178, 0, 179, 0, 196, 0, 191, 0, 193, 0, 194, 0, 185, 0, 210, 0, 215, 0, 211, 0, 213, 0, 221, 0, 214, 0, 127, 0, 219, 0, 235, 0, 231, 0, 233, 0, 234, 0, 246, 0, 77, 0, 80, 1, 1, 0, 253, 0, 255, 1, 6, 1, 0, 1, 4, 0, 73, 1, 10, 1, 20, 1, 14, 1, 17, 1, 18, 1, 33, 1, 29, 1, 31, 1, 32, 0, 76, 1, 47, 1, 52, 1, 48, 1, 50, 1, 58, 1, 51, 0, 128, 1, 56, 1, 72, 1, 68, 1, 70, 1, 71, 1, 83, 0, 78, 1, 85, 0, 163, 1, 2, 0, 159, 0, 254, 0, 164, 1, 3, 0, 169, 1, 8, 0, 172, 1, 11, 2, 117, 2, 118, 0, 170, 1, 9, 0, 173, 1, 12, 0, 174, 1, 13, 0, 182, 1, 21, 0, 176, 1, 15, 0, 180, 1, 19, 0, 184, 1, 23, 0, 177, 1, 16, 0, 187, 1, 25, 0, 186, 1, 24, 2, 119, 2, 120, 0, 188, 1, 26, 0, 190, 1, 28, 0, 189, 1, 27, 0, 199, 1, 36, 0, 197, 1, 34, 0, 192, 1, 30, 0, 198, 1, 35, 0, 195, 1, 109, 1, 110, 1, 111, 0, 200, 1, 37, 0, 201, 1, 38, 0, 79, 0, 202, 1, 39, 0, 204, 1, 41, 0, 203, 1, 40, 0, 205, 1, 42, 0, 206, 1, 43, 0, 207, 1, 44, 0, 209, 1, 46, 0, 208, 1, 45, 2, 121, 0, 183, 1, 22, 0, 218, 1, 55, 0, 212, 1, 49, 0, 217, 1, 54, 0, 74, 0, 75, 0, 222, 1, 59, 0, 224, 1, 61, 0, 223, 1, 60, 0, 225, 1, 62, 0, 228, 1, 65, 0, 227, 1, 64, 0, 226, 1, 63, 2, 126, 2, 128, 0, 230, 1, 67, 0, 229, 1, 66, 0, 241, 1, 78, 0, 238, 1, 75, 0, 232, 1, 69, 0, 240, 1, 77, 0, 237, 1, 74, 0, 239, 1, 76, 0, 243, 1, 80, 0, 247, 1, 84, 0, 248, 0, 250, 1, 87, 0, 252, 1, 89, 0, 251, 1, 88, 1, 112, 0, 216, 1, 53, 0, 236, 1, 73, 0, 166, 1, 5, 0, 168, 1, 7, 0, 220, 1, 57, 1, 92, 1, 100, 1, 95, 1, 96, 1, 98, 1, 103, 1, 93, 1, 99, 1, 120, 1, 121, 2, 212, 1, 122, 2, 213, 2, 214, 2, 215, 1, 123, 1, 124, 2, 222, 2, 223, 2, 224, 1, 125, 2, 225, 2, 226, 1, 126, 2, 227, 2, 228, 1, 127, 2, 229, 1, 128, 2, 230, 1, 129, 2, 231, 2, 232, 1, 130, 2, 233, 1, 131, 1, 132, 2, 234, 2, 235, 2, 236, 2, 237, 2, 238, 2, 239, 2, 240, 2, 241, 1, 142, 2, 243, 2, 244, 1, 143, 2, 242, 1, 144, 1, 145, 1, 146, 1, 147, 1, 148, 1, 149, 1, 150, 2, 245, 1, 151, 1, 152, 3, 42, 2, 251, 1, 156, 2, 252, 1, 157, 2, 253, 2, 254, 2, 255, 3, 0, 1, 158, 1, 159, 1, 160, 3, 2, 3, 43, 3, 3, 1, 161, 3, 4, 1, 162, 3, 5, 3, 6, 1, 163, 3, 7, 1, 164, 1, 165, 1, 166, 3, 8, 3, 1, 1, 167, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 1, 168, 3, 16, 3, 17, 3, 18, 1, 179, 1, 180, 1, 181, 1, 182, 3, 19, 1, 183, 1, 184, 1, 185, 3, 20, 1, 186, 1, 187, 1, 188, 1, 189, 3, 21, 1, 190, 3, 22, 3, 23, 1, 191, 3, 24, 1, 192, 3, 25, 3, 44, 3, 26, 1, 203, 3, 27, 1, 204, 3, 28, 3, 29, 3, 30, 3, 31, 1, 205, 1, 206, 1, 207, 3, 32, 3, 45, 3, 33, 1, 208, 1, 209, 1, 210, 3, 212, 3, 46, 3, 47, 1, 224, 1, 225, 1, 226, 1, 227, 3, 48, 3, 49, 1, 243, 1, 244, 3, 217, 3, 218, 3, 211, 3, 210, 1, 245, 1, 246, 1, 247, 1, 248, 3, 213, 3, 214, 1, 249, 1, 250, 3, 205, 3, 206, 3, 50, 3, 51, 3, 191, 3, 192, 1, 251, 1, 252, 3, 215, 3, 216, 1, 253, 1, 254, 3, 193, 3, 194, 1, 255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 3, 52, 3, 53, 3, 195, 3, 196, 3, 54, 3, 55, 3, 225, 3, 226, 3, 197, 3, 198, 2, 5, 2, 6, 3, 199, 3, 200, 2, 7, 2, 8, 2, 9, 3, 209, 2, 10, 2, 11, 3, 207, 3, 208, 3, 56, 3, 57, 3, 58, 2, 12, 2, 13, 3, 223, 3, 224, 2, 14, 2, 15, 3, 219, 3, 220, 3, 201, 3, 202, 3, 221, 3, 222, 2, 16, 3, 69, 3, 68, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 2, 17, 2, 18, 3, 203, 3, 204, 3, 95, 3, 96, 2, 19, 2, 20, 3, 97, 3, 98, 3, 227, 3, 228, 2, 21, 3, 99, 3, 229, 3, 100, 3, 101, 0, 245, 1, 82, 0, 242, 1, 79, 0, 244, 1, 81, 0, 249, 1, 86, 0, 104, 0, 105, 3, 230, 2, 49, 0, 108, 0, 109, 0, 110, 2, 50, 0, 111, 0, 112, 0, 113, 0, 144, 0, 145, 0, 101, 2, 51, 0, 99, 3, 190, 2, 54, 2, 65, 0, 125, 184, 1, 255, 133, 176, 4, 141, 0, 0, 0, 0, 17, 0, 210, 0, 3, 0, 1, 4, 9, 0, 0, 0, 180, 0, 0, 0, 3, 0, 1, 4, 9, 0, 1, 0, 22, 0, 180, 0, 3, 0, 1, 4, 9, 0, 2, 0, 14, 0, 202, 0, 3, 0, 1, 4, 9, 0, 3, 0, 58, 0, 216, 0, 3, 0, 1, 4, 9, 0, 4, 0, 38, 1, 18, 0, 3, 0, 1, 4, 9, 0, 5, 0, 26, 1, 56, 0, 3, 0, 1, 4, 9, 0, 6, 0, 36, 1, 82, 0, 3, 0, 1, 4, 9, 0, 7, 0, 74, 1, 118, 0, 3, 0, 1, 4, 9, 0, 9, 0, 12, 1, 192, 0, 3, 0, 1, 4, 9, 0, 11, 0, 20, 1, 204, 0, 3, 0, 1, 4, 9, 0, 12, 0, 38, 1, 224, 0, 3, 0, 1, 4, 9, 0, 13, 0, 92, 2, 6, 0, 3, 0, 1, 4, 9, 0, 14, 0, 84, 2, 98, 0, 3, 0, 1, 4, 9, 1, 0, 0, 12, 2, 182, 0, 3, 0, 1, 4, 9, 1, 11, 0, 12, 2, 194, 0, 3, 0, 1, 4, 9, 1, 14, 0, 14, 0, 202, 0, 3, 0, 1, 4, 9, 1, 17, 0, 12, 2, 206, 0, 67, 0, 111, 0, 112, 0, 121, 0, 114, 0, 105, 0, 103, 0, 104, 0, 116, 0, 32, 0, 50, 0, 48, 0, 49, 0, 53, 0, 32, 0, 84, 0, 104, 0, 101, 0, 32, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 80, 0, 114, 0, 111, 0, 106, 0, 101, 0, 99, 0, 116, 0, 32, 0, 65, 0, 117, 0, 116, 0, 104, 0, 111, 0, 114, 0, 115, 0, 32, 0, 40, 0, 104, 0, 116, 0, 116, 0, 112, 0, 115, 0, 58, 0, 47, 0, 47, 0, 103, 0, 105, 0, 116, 0, 104, 0, 117, 0, 98, 0, 46, 0, 99, 0, 111, 0, 109, 0, 47, 0, 103, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 102, 0, 111, 0, 110, 0, 116, 0, 115, 0, 47, 0, 114, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 109, 0, 111, 0, 110, 0, 111, 0, 41, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 82, 0, 101, 0, 103, 0, 117, 0, 108, 0, 97, 0, 114, 0, 51, 0, 46, 0, 48, 0, 48, 0, 48, 0, 59, 0, 71, 0, 79, 0, 79, 0, 71, 0, 59, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 77, 0, 111, 0, 110, 0, 111, 0, 45, 0, 82, 0, 101, 0, 103, 0, 117, 0, 108, 0, 97, 0, 114, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 82, 0, 101, 0, 103, 0, 117, 0, 108, 0, 97, 0, 114, 0, 86, 0, 101, 0, 114, 0, 115, 0, 105, 0, 111, 0, 110, 0, 32, 0, 51, 0, 46, 0, 48, 0, 48, 0, 48, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 77, 0, 111, 0, 110, 0, 111, 0, 45, 0, 82, 0, 101, 0, 103, 0, 117, 0, 108, 0, 97, 0, 114, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 105, 0, 115, 0, 32, 0, 97, 0, 32, 0, 116, 0, 114, 0, 97, 0, 100, 0, 101, 0, 109, 0, 97, 0, 114, 0, 107, 0, 32, 0, 111, 0, 102, 0, 32, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 46, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 46, 0, 99, 0, 111, 0, 109, 0, 67, 0, 104, 0, 114, 0, 105, 0, 115, 0, 116, 0, 105, 0, 97, 0, 110, 0, 32, 0, 82, 0, 111, 0, 98, 0, 101, 0, 114, 0, 116, 0, 115, 0, 111, 0, 110, 0, 76, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 100, 0, 32, 0, 117, 0, 110, 0, 100, 0, 101, 0, 114, 0, 32, 0, 116, 0, 104, 0, 101, 0, 32, 0, 65, 0, 112, 0, 97, 0, 99, 0, 104, 0, 101, 0, 32, 0, 76, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 44, 0, 32, 0, 86, 0, 101, 0, 114, 0, 115, 0, 105, 0, 111, 0, 110, 0, 32, 0, 50, 0, 46, 0, 48, 0, 104, 0, 116, 0, 116, 0, 112, 0, 58, 0, 47, 0, 47, 0, 119, 0, 119, 0, 119, 0, 46, 0, 97, 0, 112, 0, 97, 0, 99, 0, 104, 0, 101, 0, 46, 0, 111, 0, 114, 0, 103, 0, 47, 0, 108, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 115, 0, 47, 0, 76, 0, 73, 0, 67, 0, 69, 0, 78, 0, 83, 0, 69, 0, 45, 0, 50, 0, 46, 0, 48, 0, 87, 0, 101, 0, 105, 0, 103, 0, 104, 0, 116, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 78, 0, 111, 0, 114, 0, 109, 0, 97, 0, 108, 0, 2, 0, 0, 0, 0, 0, 0, 255, 106, 0, 100, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 231, 0, 0, 0, 3, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, 68, 0, 69, 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91, 0, 92, 0, 93, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 241, 0, 242, 0, 243, 0, 157, 0, 158, 0, 244, 0, 245, 0, 246, 0, 144, 0, 160, 0, 176, 0, 177, 0, 234, 0, 237, 0, 238, 1, 2, 0, 137, 1, 3, 0, 7, 0, 132, 0, 133, 0, 150, 0, 166, 0, 247, 1, 4, 1, 5, 0, 189, 0, 4, 0, 163, 0, 34, 0, 162, 0, 15, 0, 17, 0, 29, 0, 30, 0, 171, 0, 195, 0, 135, 0, 66, 0, 16, 0, 178, 0, 179, 0, 10, 0, 5, 0, 182, 0, 183, 0, 196, 0, 180, 0, 181, 0, 197, 1, 6, 1, 7, 0, 11, 0, 12, 0, 62, 0, 64, 0, 94, 0, 96, 0, 190, 0, 191, 0, 14, 0, 239, 0, 147, 0, 240, 0, 184, 0, 32, 0, 143, 0, 167, 0, 31, 0, 33, 0, 148, 0, 149, 0, 164, 0, 18, 0, 63, 0, 188, 0, 8, 0, 198, 0, 95, 0, 232, 0, 130, 0, 194, 0, 139, 0, 138, 0, 140, 0, 131, 0, 13, 0, 6, 0, 9, 0, 35, 0, 134, 0, 136, 0, 65, 0, 97, 0, 201, 1, 8, 0, 199, 0, 98, 0, 173, 1, 9, 1, 10, 0, 99, 1, 11, 0, 174, 1, 12, 0, 253, 0, 255, 0, 100, 1, 13, 1, 14, 1, 15, 0, 101, 1, 16, 1, 17, 0, 200, 0, 202, 1, 18, 0, 203, 1, 19, 1, 20, 1, 21, 0, 233, 0, 248, 1, 22, 1, 23, 1, 24, 1, 25, 0, 204, 1, 26, 0, 205, 0, 206, 0, 250, 0, 207, 1, 27, 1, 28, 1, 29, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, 1, 35, 0, 226, 1, 36, 1, 37, 1, 38, 0, 102, 0, 208, 1, 39, 0, 209, 0, 103, 0, 211, 1, 40, 1, 41, 1, 42, 0, 145, 1, 43, 0, 175, 1, 44, 1, 45, 1, 46, 1, 47, 0, 228, 0, 251, 1, 48, 1, 49, 1, 50, 0, 212, 1, 51, 0, 213, 0, 104, 0, 214, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 59, 1, 60, 1, 61, 0, 235, 1, 62, 0, 187, 1, 63, 1, 64, 0, 230, 1, 65, 0, 105, 1, 66, 0, 107, 0, 108, 0, 106, 1, 67, 1, 68, 0, 110, 1, 69, 0, 109, 1, 70, 0, 254, 1, 0, 0, 111, 1, 71, 1, 72, 1, 1, 0, 112, 1, 73, 1, 74, 0, 114, 0, 115, 1, 75, 0, 113, 1, 76, 1, 77, 1, 78, 0, 249, 1, 79, 1, 80, 1, 81, 1, 82, 0, 116, 1, 83, 0, 118, 0, 119, 0, 117, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, 1, 89, 1, 90, 1, 91, 1, 92, 0, 227, 1, 93, 1, 94, 1, 95, 0, 120, 0, 121, 1, 96, 0, 123, 0, 124, 0, 122, 1, 97, 1, 98, 1, 99, 0, 161, 1, 100, 0, 125, 1, 101, 1, 102, 1, 103, 1, 104, 0, 229, 0, 252, 1, 105, 1, 106, 1, 107, 0, 126, 1, 108, 0, 128, 0, 129, 0, 127, 1, 109, 1, 110, 1, 111, 1, 112, 1, 113, 1, 114, 1, 115, 1, 116, 1, 117, 1, 118, 0, 236, 1, 119, 0, 186, 1, 120, 1, 121, 0, 231, 1, 122, 0, 67, 0, 141, 0, 216, 0, 217, 0, 218, 0, 219, 0, 220, 0, 142, 0, 221, 0, 223, 0, 225, 1, 123, 0, 222, 0, 224, 1, 124, 0, 2, 0, 169, 0, 151, 0, 170, 0, 215, 1, 125, 1, 126, 1, 127, 1, 128, 1, 129, 1, 130, 1, 131, 1, 132, 1, 133, 1, 134, 1, 135, 1, 136, 1, 137, 1, 138, 0, 168, 1, 139, 1, 140, 1, 141, 1, 142, 1, 143, 1, 144, 1, 145, 0, 159, 1, 146, 1, 147, 1, 148, 1, 149, 1, 150, 1, 151, 1, 152, 1, 153, 1, 154, 1, 155, 1, 156, 0, 155, 1, 157, 1, 158, 1, 159, 1, 160, 1, 161, 1, 162, 1, 163, 1, 164, 1, 165, 1, 166, 1, 167, 1, 168, 1, 169, 1, 170, 1, 171, 1, 172, 1, 173, 1, 174, 1, 175, 1, 176, 1, 177, 1, 178, 1, 179, 1, 180, 1, 181, 1, 182, 1, 183, 1, 184, 1, 185, 1, 186, 1, 187, 1, 188, 1, 189, 1, 190, 1, 191, 1, 192, 1, 193, 1, 194, 1, 195, 1, 196, 1, 197, 1, 198, 1, 199, 1, 200, 1, 201, 1, 202, 1, 203, 1, 204, 1, 205, 1, 206, 1, 207, 1, 208, 1, 209, 1, 210, 1, 211, 1, 212, 1, 213, 1, 214, 1, 215, 1, 216, 1, 217, 1, 218, 1, 219, 1, 220, 1, 221, 1, 222, 1, 223, 1, 224, 1, 225, 1, 226, 1, 227, 1, 228, 1, 229, 1, 230, 1, 231, 1, 232, 1, 233, 1, 234, 1, 235, 1, 236, 1, 237, 1, 238, 1, 239, 1, 240, 1, 241, 1, 242, 1, 243, 1, 244, 1, 245, 1, 246, 1, 247, 1, 248, 1, 249, 1, 250, 1, 251, 1, 252, 1, 253, 1, 254, 1, 255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 2, 42, 2, 43, 2, 44, 2, 45, 2, 46, 2, 47, 2, 48, 2, 49, 2, 50, 2, 51, 2, 52, 2, 53, 2, 54, 2, 55, 2, 56, 2, 57, 2, 58, 2, 59, 2, 60, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 0, 152, 0, 154, 0, 153, 0, 165, 0, 146, 0, 156, 0, 185, 2, 75, 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 104, 2, 105, 2, 106, 2, 107, 2, 108, 2, 109, 2, 110, 2, 111, 2, 112, 2, 113, 2, 114, 2, 115, 2, 116, 2, 117, 2, 118, 2, 119, 0, 172, 2, 120, 2, 121, 2, 122, 2, 123, 2, 124, 2, 125, 2, 126, 2, 127, 2, 128, 2, 129, 2, 130, 2, 131, 2, 132, 2, 133, 2, 134, 2, 135, 2, 136, 2, 137, 2, 138, 2, 139, 2, 140, 2, 141, 2, 142, 2, 143, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, 2, 149, 2, 150, 2, 151, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, 2, 165, 2, 166, 2, 167, 2, 168, 2, 169, 2, 170, 2, 171, 2, 172, 2, 173, 2, 174, 2, 175, 2, 176, 2, 177, 2, 178, 2, 179, 2, 180, 2, 181, 2, 182, 2, 183, 2, 184, 2, 185, 2, 186, 2, 187, 2, 188, 2, 189, 2, 190, 2, 191, 2, 192, 2, 193, 2, 194, 2, 195, 2, 196, 2, 197, 2, 198, 2, 199, 2, 200, 2, 201, 2, 202, 2, 203, 2, 204, 2, 205, 2, 206, 2, 207, 2, 208, 2, 209, 2, 210, 2, 211, 2, 212, 2, 213, 2, 214, 2, 215, 2, 216, 2, 217, 2, 218, 2, 219, 2, 220, 2, 221, 2, 222, 2, 223, 2, 224, 2, 225, 2, 226, 2, 227, 2, 228, 2, 229, 2, 230, 2, 231, 2, 232, 2, 233, 2, 234, 2, 235, 2, 236, 2, 237, 2, 238, 2, 239, 2, 240, 2, 241, 2, 242, 2, 243, 2, 244, 2, 245, 2, 246, 2, 247, 2, 248, 2, 249, 2, 250, 2, 251, 2, 252, 2, 253, 2, 254, 2, 255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, 3, 27, 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3, 100, 3, 101, 3, 102, 3, 103, 3, 104, 3, 105, 3, 106, 3, 107, 3, 108, 3, 109, 3, 110, 3, 111, 3, 112, 3, 113, 3, 114, 3, 115, 3, 116, 3, 117, 3, 118, 3, 119, 3, 120, 3, 121, 3, 122, 3, 123, 3, 124, 3, 125, 3, 126, 3, 127, 3, 128, 3, 129, 3, 130, 3, 131, 3, 132, 3, 133, 3, 134, 3, 135, 3, 136, 3, 137, 3, 138, 3, 139, 3, 140, 3, 141, 3, 142, 3, 143, 3, 144, 3, 145, 3, 146, 3, 147, 3, 148, 3, 149, 3, 150, 3, 151, 3, 152, 3, 153, 3, 154, 3, 155, 3, 156, 3, 157, 3, 158, 3, 159, 3, 160, 3, 161, 3, 162, 3, 163, 3, 164, 3, 165, 3, 166, 3, 167, 3, 168, 3, 169, 3, 170, 3, 171, 3, 172, 3, 173, 3, 174, 3, 175, 3, 176, 3, 177, 3, 178, 3, 179, 3, 180, 3, 181, 3, 182, 3, 183, 3, 184, 3, 185, 3, 186, 3, 187, 3, 188, 3, 189, 3, 190, 3, 191, 3, 192, 3, 193, 3, 194, 3, 195, 3, 196, 3, 197, 3, 198, 3, 199, 3, 200, 3, 201, 3, 202, 3, 203, 3, 204, 3, 205, 3, 206, 3, 207, 3, 208, 3, 209, 3, 210, 3, 211, 3, 212, 3, 213, 3, 214, 3, 215, 3, 216, 3, 217, 3, 218, 3, 219, 3, 220, 3, 221, 3, 222, 3, 223, 3, 224, 3, 225, 3, 226, 3, 227, 3, 228, 3, 229, 3, 230, 3, 231, 3, 232, 3, 233, 3, 234, 12, 107, 103, 114, 101, 101, 110, 108, 97, 110, 100, 105, 99, 5, 115, 99, 104, 119, 97, 4, 108, 105, 114, 97, 6, 112, 101, 115, 101, 116, 97, 6, 109, 105, 110, 117, 116, 101, 6, 115, 101, 99, 111, 110, 100, 6, 65, 98, 114, 101, 118, 101, 7, 65, 109, 97, 99, 114, 111, 110, 7, 65, 111, 103, 111, 110, 101, 107, 10, 65, 114, 105, 110, 103, 97, 99, 117, 116, 101, 7, 65, 69, 97, 99, 117, 116, 101, 11, 67, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 68, 99, 97, 114, 111, 110, 6, 68, 99, 114, 111, 97, 116, 6, 69, 98, 114, 101, 118, 101, 6, 69, 99, 97, 114, 111, 110, 10, 69, 100, 111, 116, 97, 99, 99, 101, 110, 116, 7, 69, 109, 97, 99, 114, 111, 110, 3, 69, 110, 103, 7, 69, 111, 103, 111, 110, 101, 107, 11, 71, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 71, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 72, 98, 97, 114, 11, 72, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 73, 98, 114, 101, 118, 101, 7, 73, 109, 97, 99, 114, 111, 110, 7, 73, 111, 103, 111, 110, 101, 107, 6, 73, 116, 105, 108, 100, 101, 11, 74, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 75, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 76, 97, 99, 117, 116, 101, 6, 76, 99, 97, 114, 111, 110, 12, 76, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 76, 100, 111, 116, 6, 78, 97, 99, 117, 116, 101, 6, 78, 99, 97, 114, 111, 110, 12, 78, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 79, 98, 114, 101, 118, 101, 5, 79, 104, 111, 114, 110, 13, 79, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 79, 109, 97, 99, 114, 111, 110, 11, 79, 115, 108, 97, 115, 104, 97, 99, 117, 116, 101, 6, 82, 97, 99, 117, 116, 101, 6, 82, 99, 97, 114, 111, 110, 12, 82, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 83, 97, 99, 117, 116, 101, 11, 83, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 4, 84, 98, 97, 114, 6, 84, 99, 97, 114, 111, 110, 6, 85, 98, 114, 101, 118, 101, 5, 85, 104, 111, 114, 110, 13, 85, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 85, 109, 97, 99, 114, 111, 110, 7, 85, 111, 103, 111, 110, 101, 107, 5, 85, 114, 105, 110, 103, 6, 85, 116, 105, 108, 100, 101, 6, 87, 97, 99, 117, 116, 101, 11, 87, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 9, 87, 100, 105, 101, 114, 101, 115, 105, 115, 6, 87, 103, 114, 97, 118, 101, 11, 89, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 89, 103, 114, 97, 118, 101, 6, 90, 97, 99, 117, 116, 101, 10, 90, 100, 111, 116, 97, 99, 99, 101, 110, 116, 6, 97, 98, 114, 101, 118, 101, 7, 97, 109, 97, 99, 114, 111, 110, 7, 97, 111, 103, 111, 110, 101, 107, 10, 97, 114, 105, 110, 103, 97, 99, 117, 116, 101, 7, 97, 101, 97, 99, 117, 116, 101, 11, 99, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 100, 99, 97, 114, 111, 110, 6, 101, 98, 114, 101, 118, 101, 6, 101, 99, 97, 114, 111, 110, 10, 101, 100, 111, 116, 97, 99, 99, 101, 110, 116, 7, 101, 109, 97, 99, 114, 111, 110, 3, 101, 110, 103, 7, 101, 111, 103, 111, 110, 101, 107, 11, 103, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 103, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 104, 98, 97, 114, 11, 104, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 105, 98, 114, 101, 118, 101, 7, 105, 109, 97, 99, 114, 111, 110, 7, 105, 111, 103, 111, 110, 101, 107, 6, 105, 116, 105, 108, 100, 101, 11, 106, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 107, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 108, 97, 99, 117, 116, 101, 6, 108, 99, 97, 114, 111, 110, 12, 108, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 108, 100, 111, 116, 6, 110, 97, 99, 117, 116, 101, 6, 110, 99, 97, 114, 111, 110, 12, 110, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 111, 98, 114, 101, 118, 101, 5, 111, 104, 111, 114, 110, 13, 111, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 111, 109, 97, 99, 114, 111, 110, 11, 111, 115, 108, 97, 115, 104, 97, 99, 117, 116, 101, 6, 114, 97, 99, 117, 116, 101, 6, 114, 99, 97, 114, 111, 110, 12, 114, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 115, 97, 99, 117, 116, 101, 11, 115, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 4, 116, 98, 97, 114, 6, 116, 99, 97, 114, 111, 110, 6, 117, 98, 114, 101, 118, 101, 5, 117, 104, 111, 114, 110, 13, 117, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 117, 109, 97, 99, 114, 111, 110, 7, 117, 111, 103, 111, 110, 101, 107, 5, 117, 114, 105, 110, 103, 6, 117, 116, 105, 108, 100, 101, 6, 119, 97, 99, 117, 116, 101, 11, 119, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 9, 119, 100, 105, 101, 114, 101, 115, 105, 115, 6, 119, 103, 114, 97, 118, 101, 11, 121, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 121, 103, 114, 97, 118, 101, 6, 122, 97, 99, 117, 116, 101, 10, 122, 100, 111, 116, 97, 99, 99, 101, 110, 116, 8, 100, 111, 116, 98, 101, 108, 111, 119, 11, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 2, 73, 74, 2, 105, 106, 5, 108, 111, 110, 103, 115, 7, 117, 110, 105, 48, 50, 51, 55, 7, 117, 110, 105, 48, 50, 70, 51, 9, 103, 114, 97, 118, 101, 99, 111, 109, 98, 9, 97, 99, 117, 116, 101, 99, 111, 109, 98, 9, 116, 105, 108, 100, 101, 99, 111, 109, 98, 4, 104, 111, 111, 107, 7, 117, 110, 105, 48, 51, 48, 70, 5, 116, 111, 110, 111, 115, 13, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 9, 97, 110, 111, 116, 101, 108, 101, 105, 97, 5, 71, 97, 109, 109, 97, 5, 84, 104, 101, 116, 97, 6, 76, 97, 109, 98, 100, 97, 2, 88, 105, 2, 80, 105, 5, 83, 105, 103, 109, 97, 3, 80, 104, 105, 3, 80, 115, 105, 5, 97, 108, 112, 104, 97, 4, 98, 101, 116, 97, 5, 103, 97, 109, 109, 97, 5, 100, 101, 108, 116, 97, 7, 101, 112, 115, 105, 108, 111, 110, 4, 122, 101, 116, 97, 3, 101, 116, 97, 5, 116, 104, 101, 116, 97, 4, 105, 111, 116, 97, 6, 108, 97, 109, 98, 100, 97, 2, 120, 105, 3, 114, 104, 111, 6, 115, 105, 103, 109, 97, 49, 5, 115, 105, 103, 109, 97, 3, 116, 97, 117, 7, 117, 112, 115, 105, 108, 111, 110, 3, 112, 104, 105, 3, 112, 115, 105, 5, 111, 109, 101, 103, 97, 7, 117, 110, 105, 48, 51, 68, 49, 7, 117, 110, 105, 48, 51, 68, 50, 7, 117, 110, 105, 48, 51, 68, 54, 7, 117, 110, 105, 48, 52, 48, 50, 7, 117, 110, 105, 48, 52, 48, 52, 7, 117, 110, 105, 48, 52, 48, 57, 7, 117, 110, 105, 48, 52, 48, 65, 7, 117, 110, 105, 48, 52, 48, 66, 7, 117, 110, 105, 48, 52, 48, 70, 7, 117, 110, 105, 48, 52, 49, 49, 7, 117, 110, 105, 48, 52, 49, 52, 7, 117, 110, 105, 48, 52, 49, 54, 7, 117, 110, 105, 48, 52, 49, 55, 7, 117, 110, 105, 48, 52, 49, 56, 7, 117, 110, 105, 48, 52, 49, 66, 7, 117, 110, 105, 48, 52, 50, 51, 7, 117, 110, 105, 48, 52, 50, 54, 7, 117, 110, 105, 48, 52, 50, 55, 7, 117, 110, 105, 48, 52, 50, 56, 7, 117, 110, 105, 48, 52, 50, 57, 7, 117, 110, 105, 48, 52, 50, 65, 7, 117, 110, 105, 48, 52, 50, 66, 7, 117, 110, 105, 48, 52, 50, 67, 7, 117, 110, 105, 48, 52, 50, 68, 7, 117, 110, 105, 48, 52, 50, 69, 7, 117, 110, 105, 48, 52, 50, 70, 7, 117, 110, 105, 48, 52, 51, 49, 7, 117, 110, 105, 48, 52, 51, 50, 7, 117, 110, 105, 48, 52, 51, 51, 7, 117, 110, 105, 48, 52, 51, 52, 7, 117, 110, 105, 48, 52, 51, 54, 7, 117, 110, 105, 48, 52, 51, 55, 7, 117, 110, 105, 48, 52, 51, 56, 7, 117, 110, 105, 48, 52, 51, 65, 7, 117, 110, 105, 48, 52, 51, 66, 7, 117, 110, 105, 48, 52, 51, 67, 7, 117, 110, 105, 48, 52, 51, 68, 7, 117, 110, 105, 48, 52, 51, 70, 7, 117, 110, 105, 48, 52, 52, 50, 7, 117, 110, 105, 48, 52, 52, 52, 7, 117, 110, 105, 48, 52, 52, 54, 7, 117, 110, 105, 48, 52, 52, 55, 7, 117, 110, 105, 48, 52, 52, 56, 7, 117, 110, 105, 48, 52, 52, 57, 7, 117, 110, 105, 48, 52, 52, 65, 7, 117, 110, 105, 48, 52, 52, 66, 7, 117, 110, 105, 48, 52, 52, 67, 7, 117, 110, 105, 48, 52, 52, 68, 7, 117, 110, 105, 48, 52, 52, 69, 7, 117, 110, 105, 48, 52, 52, 70, 7, 117, 110, 105, 48, 52, 53, 50, 7, 117, 110, 105, 48, 52, 53, 52, 7, 117, 110, 105, 48, 52, 53, 57, 7, 117, 110, 105, 48, 52, 53, 65, 7, 117, 110, 105, 48, 52, 53, 66, 7, 117, 110, 105, 48, 52, 53, 70, 7, 117, 110, 105, 48, 52, 54, 48, 7, 117, 110, 105, 48, 52, 54, 49, 7, 117, 110, 105, 48, 52, 54, 51, 7, 117, 110, 105, 48, 52, 54, 52, 7, 117, 110, 105, 48, 52, 54, 53, 7, 117, 110, 105, 48, 52, 54, 54, 7, 117, 110, 105, 48, 52, 54, 55, 7, 117, 110, 105, 48, 52, 54, 56, 7, 117, 110, 105, 48, 52, 54, 57, 7, 117, 110, 105, 48, 52, 54, 65, 7, 117, 110, 105, 48, 52, 54, 66, 7, 117, 110, 105, 48, 52, 54, 67, 7, 117, 110, 105, 48, 52, 54, 68, 7, 117, 110, 105, 48, 52, 54, 69, 7, 117, 110, 105, 48, 52, 54, 70, 7, 117, 110, 105, 48, 52, 55, 50, 7, 117, 110, 105, 48, 52, 55, 51, 7, 117, 110, 105, 48, 52, 55, 52, 7, 117, 110, 105, 48, 52, 55, 53, 7, 117, 110, 105, 48, 52, 55, 56, 7, 117, 110, 105, 48, 52, 55, 57, 7, 117, 110, 105, 48, 52, 55, 65, 7, 117, 110, 105, 48, 52, 55, 66, 7, 117, 110, 105, 48, 52, 55, 67, 7, 117, 110, 105, 48, 52, 55, 68, 7, 117, 110, 105, 48, 52, 55, 69, 7, 117, 110, 105, 48, 52, 55, 70, 7, 117, 110, 105, 48, 52, 56, 48, 7, 117, 110, 105, 48, 52, 56, 49, 7, 117, 110, 105, 48, 52, 56, 50, 7, 117, 110, 105, 48, 52, 56, 51, 7, 117, 110, 105, 48, 52, 56, 52, 7, 117, 110, 105, 48, 52, 56, 53, 7, 117, 110, 105, 48, 52, 56, 54, 7, 117, 110, 105, 48, 52, 56, 56, 7, 117, 110, 105, 48, 52, 56, 57, 7, 117, 110, 105, 48, 52, 56, 69, 7, 117, 110, 105, 48, 52, 56, 70, 7, 117, 110, 105, 48, 52, 57, 48, 7, 117, 110, 105, 48, 52, 57, 49, 7, 117, 110, 105, 48, 52, 57, 52, 7, 117, 110, 105, 48, 52, 57, 53, 7, 117, 110, 105, 48, 52, 57, 67, 7, 117, 110, 105, 48, 52, 57, 68, 7, 117, 110, 105, 48, 52, 65, 48, 7, 117, 110, 105, 48, 52, 65, 49, 7, 117, 110, 105, 48, 52, 65, 52, 7, 117, 110, 105, 48, 52, 65, 53, 7, 117, 110, 105, 48, 52, 65, 54, 7, 117, 110, 105, 48, 52, 65, 55, 7, 117, 110, 105, 48, 52, 65, 56, 7, 117, 110, 105, 48, 52, 65, 57, 7, 117, 110, 105, 48, 52, 66, 52, 7, 117, 110, 105, 48, 52, 66, 53, 7, 117, 110, 105, 48, 52, 66, 56, 7, 117, 110, 105, 48, 52, 66, 57, 7, 117, 110, 105, 48, 52, 66, 65, 7, 117, 110, 105, 48, 52, 66, 67, 7, 117, 110, 105, 48, 52, 66, 68, 7, 117, 110, 105, 48, 52, 67, 51, 7, 117, 110, 105, 48, 52, 67, 52, 7, 117, 110, 105, 48, 52, 67, 55, 7, 117, 110, 105, 48, 52, 67, 56, 7, 117, 110, 105, 48, 52, 68, 56, 7, 117, 110, 105, 48, 52, 69, 48, 7, 117, 110, 105, 48, 52, 69, 49, 7, 117, 110, 105, 48, 52, 70, 65, 7, 117, 110, 105, 48, 52, 70, 66, 7, 117, 110, 105, 48, 53, 48, 48, 7, 117, 110, 105, 48, 53, 48, 50, 7, 117, 110, 105, 48, 53, 48, 51, 7, 117, 110, 105, 48, 53, 48, 52, 7, 117, 110, 105, 48, 53, 48, 53, 7, 117, 110, 105, 48, 53, 48, 54, 7, 117, 110, 105, 48, 53, 48, 55, 7, 117, 110, 105, 48, 53, 48, 56, 7, 117, 110, 105, 48, 53, 48, 57, 7, 117, 110, 105, 48, 53, 48, 65, 7, 117, 110, 105, 48, 53, 48, 66, 7, 117, 110, 105, 48, 53, 48, 67, 7, 117, 110, 105, 48, 53, 48, 68, 7, 117, 110, 105, 48, 53, 48, 69, 7, 117, 110, 105, 48, 53, 48, 70, 7, 117, 110, 105, 48, 53, 49, 48, 7, 117, 110, 105, 50, 48, 48, 48, 7, 117, 110, 105, 50, 48, 48, 49, 7, 117, 110, 105, 50, 48, 48, 50, 7, 117, 110, 105, 50, 48, 48, 51, 7, 117, 110, 105, 50, 48, 48, 52, 7, 117, 110, 105, 50, 48, 48, 53, 7, 117, 110, 105, 50, 48, 48, 54, 7, 117, 110, 105, 50, 48, 48, 55, 7, 117, 110, 105, 50, 48, 48, 56, 7, 117, 110, 105, 50, 48, 48, 57, 7, 117, 110, 105, 50, 48, 48, 65, 7, 117, 110, 105, 50, 48, 48, 66, 13, 117, 110, 100, 101, 114, 115, 99, 111, 114, 101, 100, 98, 108, 13, 113, 117, 111, 116, 101, 114, 101, 118, 101, 114, 115, 101, 100, 7, 117, 110, 105, 50, 48, 50, 53, 7, 117, 110, 105, 50, 48, 55, 52, 9, 110, 115, 117, 112, 101, 114, 105, 111, 114, 4, 69, 117, 114, 111, 7, 117, 110, 105, 50, 49, 48, 53, 7, 117, 110, 105, 50, 49, 49, 51, 7, 117, 110, 105, 50, 49, 49, 54, 9, 101, 115, 116, 105, 109, 97, 116, 101, 100, 9, 111, 110, 101, 101, 105, 103, 104, 116, 104, 12, 116, 104, 114, 101, 101, 101, 105, 103, 104, 116, 104, 115, 11, 102, 105, 118, 101, 101, 105, 103, 104, 116, 104, 115, 12, 115, 101, 118, 101, 110, 101, 105, 103, 104, 116, 104, 115, 7, 117, 110, 105, 70, 69, 70, 70, 7, 117, 110, 105, 70, 70, 70, 67, 7, 117, 110, 105, 70, 70, 70, 68, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 116, 105, 108, 100, 101, 99, 111, 109, 98, 18, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 104, 111, 111, 107, 99, 111, 109, 98, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 103, 114, 97, 118, 101, 99, 111, 109, 98, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 97, 99, 117, 116, 101, 99, 111, 109, 98, 14, 98, 114, 101, 118, 101, 103, 114, 97, 118, 101, 99, 111, 109, 98, 17, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 114, 111, 116, 97, 116, 101, 6, 65, 46, 115, 109, 99, 112, 6, 66, 46, 115, 109, 99, 112, 6, 67, 46, 115, 109, 99, 112, 6, 68, 46, 115, 109, 99, 112, 6, 69, 46, 115, 109, 99, 112, 6, 70, 46, 115, 109, 99, 112, 6, 71, 46, 115, 109, 99, 112, 6, 72, 46, 115, 109, 99, 112, 6, 73, 46, 115, 109, 99, 112, 6, 74, 46, 115, 109, 99, 112, 6, 75, 46, 115, 109, 99, 112, 6, 76, 46, 115, 109, 99, 112, 6, 77, 46, 115, 109, 99, 112, 6, 78, 46, 115, 109, 99, 112, 6, 79, 46, 115, 109, 99, 112, 6, 81, 46, 115, 109, 99, 112, 6, 82, 46, 115, 109, 99, 112, 6, 83, 46, 115, 109, 99, 112, 6, 84, 46, 115, 109, 99, 112, 6, 85, 46, 115, 109, 99, 112, 6, 86, 46, 115, 109, 99, 112, 6, 87, 46, 115, 109, 99, 112, 6, 88, 46, 115, 109, 99, 112, 6, 89, 46, 115, 109, 99, 112, 6, 90, 46, 115, 109, 99, 112, 13, 98, 114, 101, 118, 101, 104, 111, 111, 107, 99, 111, 109, 98, 14, 98, 114, 101, 118, 101, 97, 99, 117, 116, 101, 99, 111, 109, 98, 8, 99, 114, 111, 115, 115, 98, 97, 114, 9, 114, 105, 110, 103, 97, 99, 117, 116, 101, 9, 100, 97, 115, 105, 97, 111, 120, 105, 97, 14, 98, 114, 101, 118, 101, 116, 105, 108, 100, 101, 99, 111, 109, 98, 11, 99, 121, 114, 105, 108, 108, 105, 99, 116, 105, 99, 12, 99, 121, 114, 105, 108, 108, 105, 99, 104, 111, 111, 107, 6, 80, 46, 115, 109, 99, 112, 5, 75, 46, 97, 108, 116, 15, 71, 101, 114, 109, 97, 110, 100, 98, 108, 115, 46, 115, 109, 99, 112, 7, 117, 110, 105, 48, 48, 65, 68, 7, 117, 110, 105, 48, 49, 48, 65, 7, 117, 110, 105, 48, 49, 48, 66, 7, 117, 110, 105, 48, 49, 50, 48, 7, 117, 110, 105, 48, 49, 50, 49, 11, 110, 97, 112, 111, 115, 116, 114, 111, 112, 104, 101, 7, 117, 110, 105, 48, 50, 49, 56, 7, 117, 110, 105, 48, 50, 49, 57, 7, 117, 110, 105, 48, 50, 49, 65, 7, 117, 110, 105, 48, 50, 49, 66, 7, 117, 110, 105, 48, 49, 54, 50, 12, 117, 110, 105, 48, 49, 54, 50, 46, 115, 109, 99, 112, 7, 117, 110, 105, 48, 49, 54, 51, 11, 68, 99, 114, 111, 97, 116, 46, 115, 109, 99, 112, 8, 69, 116, 104, 46, 115, 109, 99, 112, 9, 84, 98, 97, 114, 46, 115, 109, 99, 112, 11, 65, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 65, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 65, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 65, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 14, 65, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 10, 65, 114, 105, 110, 103, 46, 115, 109, 99, 112, 15, 65, 114, 105, 110, 103, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 13, 67, 99, 101, 100, 105, 108, 108, 97, 46, 115, 109, 99, 112, 11, 69, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 69, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 69, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 69, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 73, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 73, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 73, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 73, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 78, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 11, 79, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 79, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 79, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 79, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 14, 79, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 85, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 85, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 85, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 85, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 89, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 12, 65, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 65, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 12, 65, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 11, 67, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 67, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 67, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 68, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 12, 69, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 69, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 15, 69, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 12, 69, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 11, 69, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 16, 71, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 71, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 17, 71, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 16, 72, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 73, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 12, 73, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 73, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 12, 73, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 15, 73, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 16, 74, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 17, 75, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 76, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 76, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 76, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 9, 76, 100, 111, 116, 46, 115, 109, 99, 112, 11, 78, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 78, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 78, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 12, 79, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 79, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 18, 79, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 46, 115, 109, 99, 112, 11, 82, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 82, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 82, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 83, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 83, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 13, 83, 99, 101, 100, 105, 108, 108, 97, 46, 115, 109, 99, 112, 11, 83, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 84, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 85, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 12, 85, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 85, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 10, 85, 114, 105, 110, 103, 46, 115, 109, 99, 112, 18, 85, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 46, 115, 109, 99, 112, 12, 85, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 16, 87, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 16, 89, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 89, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 90, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 15, 90, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 90, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 10, 65, 108, 112, 104, 97, 116, 111, 110, 111, 115, 12, 69, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 8, 69, 116, 97, 116, 111, 110, 111, 115, 9, 73, 111, 116, 97, 116, 111, 110, 111, 115, 12, 79, 109, 105, 99, 114, 111, 110, 116, 111, 110, 111, 115, 12, 85, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 10, 79, 109, 101, 103, 97, 116, 111, 110, 111, 115, 17, 105, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 5, 65, 108, 112, 104, 97, 4, 66, 101, 116, 97, 7, 69, 112, 115, 105, 108, 111, 110, 4, 90, 101, 116, 97, 3, 69, 116, 97, 4, 73, 111, 116, 97, 5, 75, 97, 112, 112, 97, 2, 77, 117, 2, 78, 117, 7, 79, 109, 105, 99, 114, 111, 110, 3, 82, 104, 111, 3, 84, 97, 117, 7, 85, 112, 115, 105, 108, 111, 110, 3, 67, 104, 105, 12, 73, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 15, 85, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 10, 97, 108, 112, 104, 97, 116, 111, 110, 111, 115, 12, 101, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 8, 101, 116, 97, 116, 111, 110, 111, 115, 9, 105, 111, 116, 97, 116, 111, 110, 111, 115, 20, 117, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 5, 107, 97, 112, 112, 97, 7, 111, 109, 105, 99, 114, 111, 110, 7, 117, 110, 105, 48, 51, 66, 67, 2, 110, 117, 3, 99, 104, 105, 12, 105, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 15, 117, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 12, 111, 109, 105, 99, 114, 111, 110, 116, 111, 110, 111, 115, 12, 117, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 10, 111, 109, 101, 103, 97, 116, 111, 110, 111, 115, 7, 117, 110, 105, 48, 52, 48, 49, 7, 117, 110, 105, 48, 52, 48, 51, 7, 117, 110, 105, 48, 52, 48, 53, 7, 117, 110, 105, 48, 52, 48, 54, 7, 117, 110, 105, 48, 52, 48, 55, 7, 117, 110, 105, 48, 52, 48, 56, 7, 117, 110, 105, 48, 52, 49, 65, 7, 117, 110, 105, 48, 52, 48, 67, 7, 117, 110, 105, 48, 52, 48, 69, 7, 117, 110, 105, 48, 52, 49, 48, 7, 117, 110, 105, 48, 52, 49, 50, 7, 117, 110, 105, 48, 52, 49, 51, 7, 117, 110, 105, 48, 52, 49, 53, 7, 117, 110, 105, 48, 52, 49, 57, 7, 117, 110, 105, 48, 52, 49, 67, 7, 117, 110, 105, 48, 52, 49, 68, 7, 117, 110, 105, 48, 52, 49, 69, 7, 117, 110, 105, 48, 52, 49, 70, 7, 117, 110, 105, 48, 52, 50, 48, 7, 117, 110, 105, 48, 52, 50, 49, 7, 117, 110, 105, 48, 52, 50, 50, 7, 117, 110, 105, 48, 52, 50, 52, 7, 117, 110, 105, 48, 52, 50, 53, 7, 117, 110, 105, 48, 52, 51, 48, 7, 117, 110, 105, 48, 52, 51, 53, 7, 117, 110, 105, 48, 52, 51, 57, 7, 117, 110, 105, 48, 52, 51, 69, 7, 117, 110, 105, 48, 52, 52, 48, 7, 117, 110, 105, 48, 52, 52, 49, 7, 117, 110, 105, 48, 52, 52, 51, 7, 117, 110, 105, 48, 52, 52, 53, 7, 117, 110, 105, 48, 52, 53, 49, 7, 117, 110, 105, 48, 52, 53, 51, 7, 117, 110, 105, 48, 52, 53, 53, 7, 117, 110, 105, 48, 52, 53, 54, 7, 117, 110, 105, 48, 52, 53, 55, 7, 117, 110, 105, 48, 52, 53, 56, 7, 117, 110, 105, 48, 52, 53, 67, 7, 117, 110, 105, 48, 52, 53, 69, 9, 101, 120, 99, 108, 97, 109, 100, 98, 108, 7, 117, 110, 105, 48, 49, 70, 48, 7, 117, 110, 105, 48, 50, 66, 67, 7, 117, 110, 105, 49, 69, 51, 69, 7, 117, 110, 105, 49, 69, 51, 70, 7, 117, 110, 105, 49, 69, 48, 48, 7, 117, 110, 105, 49, 69, 48, 49, 7, 117, 110, 105, 49, 70, 52, 68, 7, 117, 110, 105, 48, 52, 48, 48, 7, 117, 110, 105, 48, 52, 48, 68, 7, 117, 110, 105, 48, 52, 53, 48, 7, 117, 110, 105, 48, 52, 53, 68, 7, 117, 110, 105, 48, 52, 55, 48, 7, 117, 110, 105, 48, 52, 55, 49, 7, 117, 110, 105, 48, 52, 55, 54, 7, 117, 110, 105, 48, 52, 55, 55, 7, 117, 110, 105, 48, 52, 57, 56, 7, 117, 110, 105, 48, 52, 57, 57, 7, 117, 110, 105, 48, 52, 65, 65, 7, 117, 110, 105, 48, 52, 65, 66, 7, 117, 110, 105, 48, 52, 65, 69, 7, 117, 110, 105, 48, 52, 65, 70, 7, 117, 110, 105, 48, 52, 67, 48, 7, 117, 110, 105, 48, 52, 67, 49, 7, 117, 110, 105, 48, 52, 67, 50, 7, 117, 110, 105, 48, 52, 67, 70, 7, 117, 110, 105, 48, 52, 68, 48, 7, 117, 110, 105, 48, 52, 68, 49, 7, 117, 110, 105, 48, 52, 68, 50, 7, 117, 110, 105, 48, 52, 68, 51, 7, 117, 110, 105, 48, 52, 68, 52, 7, 117, 110, 105, 48, 52, 68, 53, 7, 117, 110, 105, 48, 52, 68, 54, 7, 117, 110, 105, 48, 52, 68, 55, 7, 117, 110, 105, 48, 52, 68, 65, 7, 117, 110, 105, 48, 52, 68, 57, 7, 117, 110, 105, 48, 52, 68, 66, 7, 117, 110, 105, 48, 52, 68, 67, 7, 117, 110, 105, 48, 52, 68, 68, 7, 117, 110, 105, 48, 52, 68, 69, 7, 117, 110, 105, 48, 52, 68, 70, 7, 117, 110, 105, 48, 52, 69, 50, 7, 117, 110, 105, 48, 52, 69, 51, 7, 117, 110, 105, 48, 52, 69, 52, 7, 117, 110, 105, 48, 52, 69, 53, 7, 117, 110, 105, 48, 52, 69, 54, 7, 117, 110, 105, 48, 52, 69, 55, 7, 117, 110, 105, 48, 52, 69, 56, 7, 117, 110, 105, 48, 52, 69, 57, 7, 117, 110, 105, 48, 52, 69, 65, 7, 117, 110, 105, 48, 52, 69, 66, 7, 117, 110, 105, 48, 52, 69, 67, 7, 117, 110, 105, 48, 52, 69, 68, 7, 117, 110, 105, 48, 52, 69, 69, 7, 117, 110, 105, 48, 52, 69, 70, 7, 117, 110, 105, 48, 52, 70, 48, 7, 117, 110, 105, 48, 52, 70, 49, 7, 117, 110, 105, 48, 52, 70, 50, 7, 117, 110, 105, 48, 52, 70, 51, 7, 117, 110, 105, 48, 52, 70, 52, 7, 117, 110, 105, 48, 52, 70, 53, 7, 117, 110, 105, 48, 52, 70, 56, 7, 117, 110, 105, 48, 52, 70, 57, 7, 117, 110, 105, 48, 52, 70, 67, 7, 117, 110, 105, 48, 52, 70, 68, 7, 117, 110, 105, 48, 53, 48, 49, 7, 117, 110, 105, 48, 53, 49, 50, 7, 117, 110, 105, 48, 53, 49, 51, 7, 117, 110, 105, 49, 69, 65, 48, 7, 117, 110, 105, 49, 69, 65, 49, 7, 117, 110, 105, 49, 69, 65, 50, 7, 117, 110, 105, 49, 69, 65, 51, 7, 117, 110, 105, 49, 69, 65, 52, 7, 117, 110, 105, 49, 69, 65, 53, 7, 117, 110, 105, 49, 69, 65, 54, 7, 117, 110, 105, 49, 69, 65, 55, 7, 117, 110, 105, 49, 69, 65, 56, 7, 117, 110, 105, 49, 69, 65, 57, 7, 117, 110, 105, 49, 69, 65, 65, 7, 117, 110, 105, 49, 69, 65, 66, 7, 117, 110, 105, 49, 69, 65, 67, 7, 117, 110, 105, 49, 69, 65, 68, 7, 117, 110, 105, 49, 69, 65, 69, 7, 117, 110, 105, 49, 69, 65, 70, 7, 117, 110, 105, 49, 69, 66, 48, 7, 117, 110, 105, 49, 69, 66, 49, 7, 117, 110, 105, 49, 69, 66, 50, 7, 117, 110, 105, 49, 69, 66, 51, 7, 117, 110, 105, 49, 69, 66, 52, 7, 117, 110, 105, 49, 69, 66, 53, 7, 117, 110, 105, 49, 69, 66, 54, 7, 117, 110, 105, 49, 69, 66, 55, 7, 117, 110, 105, 49, 69, 66, 56, 7, 117, 110, 105, 49, 69, 66, 57, 7, 117, 110, 105, 49, 69, 66, 65, 7, 117, 110, 105, 49, 69, 66, 66, 7, 117, 110, 105, 49, 69, 66, 67, 7, 117, 110, 105, 49, 69, 66, 68, 7, 117, 110, 105, 49, 69, 66, 69, 7, 117, 110, 105, 49, 69, 66, 70, 7, 117, 110, 105, 49, 69, 67, 48, 7, 117, 110, 105, 49, 69, 67, 49, 7, 117, 110, 105, 49, 69, 67, 50, 7, 117, 110, 105, 49, 69, 67, 51, 7, 117, 110, 105, 49, 69, 67, 52, 7, 117, 110, 105, 49, 69, 67, 53, 7, 117, 110, 105, 49, 69, 67, 54, 7, 117, 110, 105, 49, 69, 67, 55, 7, 117, 110, 105, 49, 69, 67, 56, 7, 117, 110, 105, 49, 69, 67, 57, 7, 117, 110, 105, 49, 69, 67, 65, 7, 117, 110, 105, 49, 69, 67, 66, 7, 117, 110, 105, 49, 69, 67, 67, 7, 117, 110, 105, 49, 69, 67, 68, 7, 117, 110, 105, 49, 69, 67, 69, 7, 117, 110, 105, 49, 69, 67, 70, 7, 117, 110, 105, 49, 69, 68, 48, 7, 117, 110, 105, 49, 69, 68, 49, 7, 117, 110, 105, 49, 69, 68, 50, 7, 117, 110, 105, 49, 69, 68, 51, 7, 117, 110, 105, 49, 69, 68, 52, 7, 117, 110, 105, 49, 69, 68, 53, 7, 117, 110, 105, 49, 69, 68, 54, 7, 117, 110, 105, 49, 69, 68, 55, 7, 117, 110, 105, 49, 69, 68, 56, 7, 117, 110, 105, 49, 69, 68, 57, 7, 117, 110, 105, 49, 69, 68, 65, 7, 117, 110, 105, 49, 69, 68, 66, 7, 117, 110, 105, 49, 69, 68, 67, 7, 117, 110, 105, 49, 69, 68, 68, 7, 117, 110, 105, 49, 69, 68, 69, 7, 117, 110, 105, 49, 69, 68, 70, 7, 117, 110, 105, 49, 69, 69, 48, 7, 117, 110, 105, 49, 69, 69, 49, 7, 117, 110, 105, 49, 69, 69, 50, 7, 117, 110, 105, 49, 69, 69, 51, 7, 117, 110, 105, 49, 69, 69, 52, 7, 117, 110, 105, 49, 69, 69, 53, 7, 117, 110, 105, 49, 69, 69, 54, 7, 117, 110, 105, 49, 69, 69, 55, 7, 117, 110, 105, 49, 69, 69, 56, 7, 117, 110, 105, 49, 69, 69, 57, 7, 117, 110, 105, 49, 69, 69, 65, 7, 117, 110, 105, 49, 69, 69, 66, 7, 117, 110, 105, 49, 69, 69, 67, 7, 117, 110, 105, 49, 69, 69, 68, 7, 117, 110, 105, 49, 69, 69, 69, 7, 117, 110, 105, 49, 69, 69, 70, 7, 117, 110, 105, 49, 69, 70, 48, 7, 117, 110, 105, 49, 69, 70, 49, 7, 117, 110, 105, 49, 69, 70, 52, 7, 117, 110, 105, 49, 69, 70, 53, 7, 117, 110, 105, 49, 69, 70, 54, 7, 117, 110, 105, 49, 69, 70, 55, 7, 117, 110, 105, 49, 69, 70, 56, 7, 117, 110, 105, 49, 69, 70, 57, 7, 117, 110, 105, 50, 48, 65, 66, 7, 117, 110, 105, 48, 52, 57, 65, 7, 117, 110, 105, 48, 52, 57, 66, 7, 117, 110, 105, 48, 52, 65, 50, 7, 117, 110, 105, 48, 52, 65, 51, 7, 117, 110, 105, 48, 52, 65, 67, 7, 117, 110, 105, 48, 52, 65, 68, 7, 117, 110, 105, 48, 52, 66, 50, 7, 117, 110, 105, 48, 52, 66, 51, 7, 117, 110, 105, 48, 52, 66, 54, 7, 117, 110, 105, 48, 52, 66, 55, 7, 117, 110, 105, 48, 52, 67, 66, 7, 117, 110, 105, 48, 52, 67, 67, 7, 117, 110, 105, 48, 52, 70, 54, 7, 117, 110, 105, 48, 52, 70, 55, 7, 117, 110, 105, 48, 52, 57, 54, 7, 117, 110, 105, 48, 52, 57, 55, 7, 117, 110, 105, 48, 52, 66, 69, 7, 117, 110, 105, 48, 52, 66, 70, 7, 117, 110, 105, 48, 52, 66, 66, 7, 117, 110, 105, 48, 52, 56, 68, 7, 117, 110, 105, 48, 52, 56, 67, 7, 117, 110, 105, 48, 52, 54, 50, 7, 117, 110, 105, 48, 52, 57, 50, 7, 117, 110, 105, 48, 52, 57, 51, 7, 117, 110, 105, 48, 52, 57, 69, 7, 117, 110, 105, 48, 52, 57, 70, 7, 117, 110, 105, 48, 52, 56, 65, 7, 117, 110, 105, 48, 52, 56, 66, 7, 117, 110, 105, 48, 52, 67, 57, 7, 117, 110, 105, 48, 52, 67, 65, 7, 117, 110, 105, 48, 52, 67, 68, 7, 117, 110, 105, 48, 52, 67, 69, 7, 117, 110, 105, 48, 52, 67, 53, 7, 117, 110, 105, 48, 52, 67, 54, 7, 117, 110, 105, 48, 52, 66, 48, 7, 117, 110, 105, 48, 52, 66, 49, 7, 117, 110, 105, 48, 52, 70, 69, 7, 117, 110, 105, 48, 52, 70, 70, 7, 117, 110, 105, 48, 53, 49, 49, 7, 117, 110, 105, 50, 48, 49, 53, 0, 1, 0, 1, 255, 255, 0, 15, 0, 1, 0, 0, 0, 10, 0, 48, 0, 62, 0, 4, 68, 70, 76, 84, 0, 26, 99, 121, 114, 108, 0, 26, 103, 114, 101, 107, 0, 26, 108, 97, 116, 110, 0, 26, 0, 4, 0, 0, 0, 0, 255, 255, 0, 1, 0, 0, 0, 1, 115, 109, 99, 112, 0, 8, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0, 1, 0, 0, 0, 1, 0, 8, 0, 2, 1, 190, 0, 220, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 112, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 112, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 130, 2, 114, 2, 133, 2, 160, 2, 134, 2, 136, 2, 132, 2, 159, 2, 161, 2, 137, 2, 138, 2, 135, 2, 162, 2, 164, 2, 139, 2, 163, 2, 165, 2, 129, 2, 141, 2, 167, 2, 170, 2, 142, 2, 143, 2, 168, 2, 140, 2, 166, 2, 169, 2, 130, 2, 172, 2, 171, 2, 173, 2, 174, 2, 145, 2, 177, 2, 146, 2, 147, 2, 179, 2, 144, 2, 176, 2, 178, 2, 175, 2, 180, 2, 181, 2, 182, 2, 184, 2, 183, 2, 185, 2, 186, 2, 188, 2, 187, 2, 148, 2, 150, 2, 190, 2, 151, 2, 153, 2, 149, 2, 191, 2, 189, 2, 152, 2, 192, 2, 194, 2, 193, 2, 195, 2, 198, 2, 197, 2, 196, 2, 131, 2, 199, 2, 155, 2, 202, 2, 156, 2, 157, 2, 154, 2, 204, 2, 201, 2, 205, 2, 203, 2, 200, 2, 206, 2, 158, 2, 207, 2, 208, 2, 209, 2, 211, 2, 210, 2, 133, 2, 160, 2, 134, 2, 136, 2, 132, 2, 159, 2, 161, 2, 137, 2, 138, 2, 135, 2, 162, 2, 164, 2, 139, 2, 163, 2, 165, 2, 129, 2, 141, 2, 167, 2, 170, 2, 142, 2, 143, 2, 168, 2, 140, 2, 166, 2, 169, 2, 172, 2, 171, 2, 173, 2, 174, 2, 145, 2, 177, 2, 146, 2, 147, 2, 144, 2, 176, 2, 178, 2, 175, 2, 180, 2, 181, 2, 182, 2, 184, 2, 183, 2, 185, 2, 186, 2, 188, 2, 187, 2, 148, 2, 150, 2, 190, 2, 151, 2, 153, 2, 149, 2, 191, 2, 189, 2, 152, 2, 192, 2, 194, 2, 193, 2, 195, 2, 198, 2, 197, 2, 196, 2, 131, 2, 199, 2, 155, 2, 202, 2, 156, 2, 157, 2, 154, 2, 204, 2, 201, 2, 205, 2, 203, 2, 200, 2, 206, 2, 158, 2, 207, 2, 208, 2, 209, 2, 211, 2, 210, 2, 127, 2, 127, 0, 2, 0, 26, 0, 2, 0, 53, 0, 0, 0, 76, 0, 76, 0, 52, 0, 80, 0, 80, 0, 53, 0, 158, 0, 167, 0, 54, 0, 169, 0, 182, 0, 64, 0, 184, 0, 188, 0, 78, 0, 190, 0, 205, 0, 83, 0, 207, 0, 215, 0, 99, 0, 217, 0, 218, 0, 108, 0, 221, 0, 235, 0, 110, 0, 237, 0, 241, 0, 125, 0, 243, 0, 243, 0, 130, 0, 246, 0, 248, 0, 131, 0, 250, 1, 6, 0, 134, 1, 8, 1, 21, 0, 147, 1, 23, 1, 26, 0, 161, 1, 28, 1, 42, 0, 165, 1, 44, 1, 52, 0, 180, 1, 54, 1, 55, 0, 189, 1, 58, 1, 72, 0, 191, 1, 74, 1, 78, 0, 206, 1, 80, 1, 80, 0, 211, 1, 83, 1, 85, 0, 212, 1, 87, 1, 89, 0, 215, 2, 126, 2, 126, 0, 218, 2, 128, 2, 128, 0, 219, 0, 1, 0, 1, 0, 8, 0, 2, 0, 0, 0, 20, 0, 2, 0, 0, 0, 36, 0, 2, 119, 103, 104, 116, 1, 0, 0, 0, 105, 116, 97, 108, 1, 11, 0, 1, 0, 4, 0, 20, 0, 3, 0, 0, 0, 2, 1, 14, 1, 144, 0, 0, 2, 188, 0, 0, 0, 3, 0, 1, 0, 2, 1, 17, 0, 0, 0, 0, 0, 1, 0, 0) font_name = "Roboto Mono" style_name = "Regular" @@ -36,108 +18,6 @@ cache/0/16/0/descent = 4.0 cache/0/16/0/underline_position = 1.375 cache/0/16/0/underline_thickness = 0.6875 cache/0/16/0/scale = 1.0 -cache/0/16/0/textures/0/offsets = PackedInt32Array(8, 0, 248, 4, 195, 4, 61, 15) -cache/0/16/0/textures/0/image = SubResource("Image_xbauv") -cache/0/16/0/glyphs/1/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/1/offset = Vector2(-1, -1) -cache/0/16/0/glyphs/1/size = Vector2(2, 2) -cache/0/16/0/glyphs/1/uv_rect = Rect2(1, 1, 2, 2) -cache/0/16/0/glyphs/1/texture_idx = 0 -cache/0/16/0/glyphs/34/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/34/offset = Vector2(-1, -9) -cache/0/16/0/glyphs/34/size = Vector2(10, 13) -cache/0/16/0/glyphs/34/uv_rect = Rect2(1, 5, 10, 13) -cache/0/16/0/glyphs/34/texture_idx = 0 -cache/0/16/0/glyphs/31/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/31/offset = Vector2(-1, -12) -cache/0/16/0/glyphs/31/size = Vector2(10, 13) -cache/0/16/0/glyphs/31/uv_rect = Rect2(13, 5, 10, 13) -cache/0/16/0/glyphs/31/texture_idx = 0 -cache/0/16/0/glyphs/22/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/22/offset = Vector2(-1, -12) -cache/0/16/0/glyphs/22/size = Vector2(10, 13) -cache/0/16/0/glyphs/22/uv_rect = Rect2(25, 5, 10, 13) -cache/0/16/0/glyphs/22/texture_idx = 0 -cache/0/16/0/glyphs/41/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/41/offset = Vector2(0, -9) -cache/0/16/0/glyphs/41/size = Vector2(9, 10) -cache/0/16/0/glyphs/41/uv_rect = Rect2(37, 5, 9, 10) -cache/0/16/0/glyphs/41/texture_idx = 0 -cache/0/16/0/glyphs/36/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/36/offset = Vector2(0, -12) -cache/0/16/0/glyphs/36/size = Vector2(9, 13) -cache/0/16/0/glyphs/36/uv_rect = Rect2(48, 5, 9, 13) -cache/0/16/0/glyphs/36/texture_idx = 0 -cache/0/16/0/glyphs/47/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/47/offset = Vector2(-1, -11) -cache/0/16/0/glyphs/47/size = Vector2(10, 12) -cache/0/16/0/glyphs/47/uv_rect = Rect2(59, 5, 10, 12) -cache/0/16/0/glyphs/47/texture_idx = 0 -cache/0/16/0/glyphs/58/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/58/offset = Vector2(-1, -12) -cache/0/16/0/glyphs/58/size = Vector2(10, 13) -cache/0/16/0/glyphs/58/uv_rect = Rect2(71, 5, 10, 13) -cache/0/16/0/glyphs/58/texture_idx = 0 -cache/0/16/0/glyphs/96/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/96/offset = Vector2(2, -4) -cache/0/16/0/glyphs/96/size = Vector2(5, 5) -cache/0/16/0/glyphs/96/uv_rect = Rect2(83, 5, 5, 5) -cache/0/16/0/glyphs/96/texture_idx = 0 -cache/0/16/0/glyphs/57/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/57/offset = Vector2(-1, -12) -cache/0/16/0/glyphs/57/size = Vector2(9, 13) -cache/0/16/0/glyphs/57/uv_rect = Rect2(90, 5, 9, 13) -cache/0/16/0/glyphs/57/texture_idx = 0 -cache/0/16/0/glyphs/54/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/54/offset = Vector2(-1, -12) -cache/0/16/0/glyphs/54/size = Vector2(10, 13) -cache/0/16/0/glyphs/54/uv_rect = Rect2(101, 5, 10, 13) -cache/0/16/0/glyphs/54/texture_idx = 0 -cache/0/16/0/glyphs/268435487/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/268435487/offset = Vector2(0, -12) -cache/0/16/0/glyphs/268435487/size = Vector2(9, 13) -cache/0/16/0/glyphs/268435487/uv_rect = Rect2(113, 5, 9, 13) -cache/0/16/0/glyphs/268435487/texture_idx = 0 -cache/0/16/0/glyphs/402653206/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/402653206/offset = Vector2(0, -12) -cache/0/16/0/glyphs/402653206/size = Vector2(10, 13) -cache/0/16/0/glyphs/402653206/uv_rect = Rect2(124, 5, 10, 13) -cache/0/16/0/glyphs/402653206/texture_idx = 0 -cache/0/16/0/glyphs/134217769/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/134217769/offset = Vector2(0, -9) -cache/0/16/0/glyphs/134217769/size = Vector2(9, 10) -cache/0/16/0/glyphs/134217769/uv_rect = Rect2(136, 5, 9, 10) -cache/0/16/0/glyphs/134217769/texture_idx = 0 -cache/0/16/0/glyphs/402653220/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/402653220/offset = Vector2(1, -12) -cache/0/16/0/glyphs/402653220/size = Vector2(9, 13) -cache/0/16/0/glyphs/402653220/uv_rect = Rect2(147, 5, 9, 13) -cache/0/16/0/glyphs/402653220/texture_idx = 0 -cache/0/16/0/glyphs/268435514/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/268435514/offset = Vector2(0, -12) -cache/0/16/0/glyphs/268435514/size = Vector2(10, 13) -cache/0/16/0/glyphs/268435514/uv_rect = Rect2(158, 5, 10, 13) -cache/0/16/0/glyphs/268435514/texture_idx = 0 -cache/0/16/0/glyphs/402653185/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/402653185/offset = Vector2(-1, -1) -cache/0/16/0/glyphs/402653185/size = Vector2(2, 2) -cache/0/16/0/glyphs/402653185/uv_rect = Rect2(5, 1, 2, 2) -cache/0/16/0/glyphs/402653185/texture_idx = 0 -cache/0/16/0/glyphs/134217786/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/134217786/offset = Vector2(-1, -12) -cache/0/16/0/glyphs/134217786/size = Vector2(10, 13) -cache/0/16/0/glyphs/134217786/uv_rect = Rect2(170, 5, 10, 13) -cache/0/16/0/glyphs/134217786/texture_idx = 0 -cache/0/16/0/glyphs/402653280/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/402653280/offset = Vector2(3, -4) -cache/0/16/0/glyphs/402653280/size = Vector2(5, 5) -cache/0/16/0/glyphs/402653280/uv_rect = Rect2(182, 5, 5, 5) -cache/0/16/0/glyphs/402653280/texture_idx = 0 -cache/0/16/0/glyphs/268435552/advance = Vector2(8.40625, 18.4688) -cache/0/16/0/glyphs/268435552/offset = Vector2(2, -4) -cache/0/16/0/glyphs/268435552/size = Vector2(5, 5) -cache/0/16/0/glyphs/268435552/uv_rect = Rect2(189, 5, 5, 5) -cache/0/16/0/glyphs/268435552/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) cache/0/16/0/kerning_overrides/14/0 = Vector2(0, 0) cache/0/14/0/ascent = 15.0 @@ -145,112 +25,10 @@ cache/0/14/0/descent = 4.0 cache/0/14/0/underline_position = 1.375 cache/0/14/0/underline_thickness = 0.6875 cache/0/14/0/scale = 1.0 -cache/0/14/0/textures/0/offsets = PackedInt32Array(8, 0, 248, 4, 195, 4, 61, 15) -cache/0/14/0/textures/0/image = SubResource("Image_pi2b6") -cache/0/14/0/glyphs/1/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/1/offset = Vector2(-1, -1) -cache/0/14/0/glyphs/1/size = Vector2(2, 2) -cache/0/14/0/glyphs/1/uv_rect = Rect2(1, 1, 2, 2) -cache/0/14/0/glyphs/1/texture_idx = 0 -cache/0/14/0/glyphs/34/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/34/offset = Vector2(-1, -9) -cache/0/14/0/glyphs/34/size = Vector2(10, 13) -cache/0/14/0/glyphs/34/uv_rect = Rect2(1, 5, 10, 13) -cache/0/14/0/glyphs/34/texture_idx = 0 -cache/0/14/0/glyphs/31/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/31/offset = Vector2(-1, -12) -cache/0/14/0/glyphs/31/size = Vector2(10, 13) -cache/0/14/0/glyphs/31/uv_rect = Rect2(13, 5, 10, 13) -cache/0/14/0/glyphs/31/texture_idx = 0 -cache/0/14/0/glyphs/22/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/22/offset = Vector2(-1, -12) -cache/0/14/0/glyphs/22/size = Vector2(10, 13) -cache/0/14/0/glyphs/22/uv_rect = Rect2(25, 5, 10, 13) -cache/0/14/0/glyphs/22/texture_idx = 0 -cache/0/14/0/glyphs/41/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/41/offset = Vector2(0, -9) -cache/0/14/0/glyphs/41/size = Vector2(9, 10) -cache/0/14/0/glyphs/41/uv_rect = Rect2(37, 5, 9, 10) -cache/0/14/0/glyphs/41/texture_idx = 0 -cache/0/14/0/glyphs/36/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/36/offset = Vector2(0, -12) -cache/0/14/0/glyphs/36/size = Vector2(9, 13) -cache/0/14/0/glyphs/36/uv_rect = Rect2(48, 5, 9, 13) -cache/0/14/0/glyphs/36/texture_idx = 0 -cache/0/14/0/glyphs/47/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/47/offset = Vector2(-1, -11) -cache/0/14/0/glyphs/47/size = Vector2(10, 12) -cache/0/14/0/glyphs/47/uv_rect = Rect2(59, 5, 10, 12) -cache/0/14/0/glyphs/47/texture_idx = 0 -cache/0/14/0/glyphs/58/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/58/offset = Vector2(-1, -12) -cache/0/14/0/glyphs/58/size = Vector2(10, 13) -cache/0/14/0/glyphs/58/uv_rect = Rect2(71, 5, 10, 13) -cache/0/14/0/glyphs/58/texture_idx = 0 -cache/0/14/0/glyphs/96/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/96/offset = Vector2(2, -4) -cache/0/14/0/glyphs/96/size = Vector2(5, 5) -cache/0/14/0/glyphs/96/uv_rect = Rect2(83, 5, 5, 5) -cache/0/14/0/glyphs/96/texture_idx = 0 -cache/0/14/0/glyphs/57/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/57/offset = Vector2(-1, -12) -cache/0/14/0/glyphs/57/size = Vector2(9, 13) -cache/0/14/0/glyphs/57/uv_rect = Rect2(90, 5, 9, 13) -cache/0/14/0/glyphs/57/texture_idx = 0 -cache/0/14/0/glyphs/54/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/54/offset = Vector2(-1, -12) -cache/0/14/0/glyphs/54/size = Vector2(10, 13) -cache/0/14/0/glyphs/54/uv_rect = Rect2(101, 5, 10, 13) -cache/0/14/0/glyphs/54/texture_idx = 0 -cache/0/14/0/glyphs/268435487/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/268435487/offset = Vector2(0, -12) -cache/0/14/0/glyphs/268435487/size = Vector2(9, 13) -cache/0/14/0/glyphs/268435487/uv_rect = Rect2(113, 5, 9, 13) -cache/0/14/0/glyphs/268435487/texture_idx = 0 -cache/0/14/0/glyphs/402653206/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/402653206/offset = Vector2(0, -12) -cache/0/14/0/glyphs/402653206/size = Vector2(10, 13) -cache/0/14/0/glyphs/402653206/uv_rect = Rect2(124, 5, 10, 13) -cache/0/14/0/glyphs/402653206/texture_idx = 0 -cache/0/14/0/glyphs/134217769/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/134217769/offset = Vector2(0, -9) -cache/0/14/0/glyphs/134217769/size = Vector2(9, 10) -cache/0/14/0/glyphs/134217769/uv_rect = Rect2(136, 5, 9, 10) -cache/0/14/0/glyphs/134217769/texture_idx = 0 -cache/0/14/0/glyphs/402653220/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/402653220/offset = Vector2(1, -12) -cache/0/14/0/glyphs/402653220/size = Vector2(9, 13) -cache/0/14/0/glyphs/402653220/uv_rect = Rect2(147, 5, 9, 13) -cache/0/14/0/glyphs/402653220/texture_idx = 0 -cache/0/14/0/glyphs/268435514/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/268435514/offset = Vector2(0, -12) -cache/0/14/0/glyphs/268435514/size = Vector2(10, 13) -cache/0/14/0/glyphs/268435514/uv_rect = Rect2(158, 5, 10, 13) -cache/0/14/0/glyphs/268435514/texture_idx = 0 -cache/0/14/0/glyphs/402653185/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/402653185/offset = Vector2(-1, -1) -cache/0/14/0/glyphs/402653185/size = Vector2(2, 2) -cache/0/14/0/glyphs/402653185/uv_rect = Rect2(5, 1, 2, 2) -cache/0/14/0/glyphs/402653185/texture_idx = 0 -cache/0/14/0/glyphs/134217786/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/134217786/offset = Vector2(-1, -12) -cache/0/14/0/glyphs/134217786/size = Vector2(10, 13) -cache/0/14/0/glyphs/134217786/uv_rect = Rect2(170, 5, 10, 13) -cache/0/14/0/glyphs/134217786/texture_idx = 0 -cache/0/14/0/glyphs/402653280/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/402653280/offset = Vector2(3, -4) -cache/0/14/0/glyphs/402653280/size = Vector2(5, 5) -cache/0/14/0/glyphs/402653280/uv_rect = Rect2(182, 5, 5, 5) -cache/0/14/0/glyphs/402653280/texture_idx = 0 -cache/0/14/0/glyphs/268435552/advance = Vector2(8.40625, 18.4688) -cache/0/14/0/glyphs/268435552/offset = Vector2(2, -4) -cache/0/14/0/glyphs/268435552/size = Vector2(5, 5) -cache/0/14/0/glyphs/268435552/uv_rect = Rect2(189, 5, 5, 5) -cache/0/14/0/glyphs/268435552/texture_idx = 0 cache/0/14/0/kerning_overrides/16/0 = Vector2(0, 0) cache/0/14/0/kerning_overrides/14/0 = Vector2(0, 0) -[sub_resource type="FontFile" id="FontFile_ia6yb"] +[sub_resource type="FontFile" id="FontFile_f2k5o"] data = PackedByteArray(0, 1, 0, 0, 0, 14, 0, 128, 0, 3, 0, 96, 71, 83, 85, 66, 54, 189, 53, 203, 0, 1, 80, 244, 0, 0, 2, 168, 79, 83, 47, 50, 152, 227, 193, 84, 0, 1, 35, 212, 0, 0, 0, 96, 83, 84, 65, 84, 229, 220, 204, 44, 0, 1, 83, 156, 0, 0, 0, 68, 99, 109, 97, 112, 171, 156, 209, 185, 0, 1, 36, 52, 0, 0, 7, 96, 103, 97, 115, 112, 0, 0, 0, 16, 0, 1, 80, 236, 0, 0, 0, 8, 103, 108, 121, 102, 206, 236, 63, 58, 0, 0, 0, 236, 0, 1, 18, 204, 104, 101, 97, 100, 1, 54, 156, 14, 0, 1, 27, 168, 0, 0, 0, 54, 104, 104, 101, 97, 10, 177, 1, 42, 0, 1, 35, 176, 0, 0, 0, 36, 104, 109, 116, 120, 206, 14, 221, 24, 0, 1, 27, 224, 0, 0, 7, 208, 108, 111, 99, 97, 131, 49, 198, 248, 0, 1, 19, 216, 0, 0, 7, 208, 109, 97, 120, 112, 4, 6, 1, 58, 0, 1, 19, 184, 0, 0, 0, 32, 110, 97, 109, 101, 93, 25, 135, 121, 0, 1, 43, 156, 0, 0, 3, 148, 112, 111, 115, 116, 151, 185, 175, 6, 0, 1, 47, 48, 0, 0, 33, 188, 112, 114, 101, 112, 104, 6, 140, 133, 0, 1, 43, 148, 0, 0, 0, 7, 0, 2, 0, 28, 0, 0, 4, 204, 5, 176, 0, 7, 0, 10, 0, 0, 65, 19, 33, 1, 35, 1, 33, 19, 55, 19, 19, 3, 79, 85, 1, 40, 254, 44, 255, 254, 35, 1, 40, 86, 69, 153, 149, 1, 48, 254, 208, 5, 176, 250, 80, 1, 48, 239, 2, 24, 253, 232, 0, 3, 0, 129, 0, 0, 4, 154, 5, 176, 0, 27, 0, 42, 0, 57, 0, 0, 115, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 55, 52, 38, 39, 38, 38, 35, 33, 1, 33, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 17, 17, 51, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 129, 2, 19, 120, 192, 67, 67, 72, 29, 30, 29, 85, 72, 37, 61, 24, 44, 45, 1, 75, 69, 69, 195, 119, 254, 23, 1, 26, 1, 6, 59, 86, 27, 27, 25, 33, 32, 29, 87, 55, 250, 208, 68, 101, 30, 23, 23, 27, 25, 30, 98, 64, 54, 54, 54, 160, 105, 55, 103, 44, 41, 62, 20, 1, 14, 40, 24, 44, 117, 66, 102, 150, 49, 49, 48, 252, 210, 1, 30, 28, 27, 78, 49, 47, 76, 27, 24, 28, 2, 106, 1, 126, 1, 28, 31, 22, 66, 44, 42, 66, 23, 29, 29, 1, 0, 1, 0, 79, 255, 235, 4, 119, 5, 197, 0, 63, 0, 0, 65, 33, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 33, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 118, 254, 231, 4, 36, 31, 31, 88, 55, 41, 67, 27, 25, 39, 14, 20, 19, 12, 13, 17, 57, 41, 24, 57, 33, 62, 89, 30, 29, 31, 4, 1, 24, 10, 76, 66, 66, 187, 120, 81, 141, 59, 66, 104, 32, 28, 28, 31, 29, 30, 87, 56, 61, 153, 90, 114, 188, 68, 68, 81, 1, 200, 66, 94, 30, 30, 28, 19, 20, 18, 54, 35, 51, 137, 87, 198, 64, 111, 46, 59, 89, 24, 14, 14, 33, 32, 33, 98, 65, 114, 182, 63, 63, 68, 41, 38, 45, 130, 83, 68, 159, 88, 196, 94, 168, 70, 70, 116, 41, 44, 47, 67, 62, 62, 176, 0, 2, 0, 125, 0, 0, 4, 116, 5, 176, 0, 21, 0, 43, 0, 0, 115, 33, 50, 54, 55, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 33, 5, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 125, 1, 135, 97, 171, 71, 61, 102, 38, 40, 44, 47, 43, 37, 99, 63, 72, 176, 101, 254, 135, 1, 27, 94, 51, 87, 36, 47, 71, 22, 18, 19, 19, 18, 22, 61, 38, 37, 90, 52, 108, 48, 45, 38, 113, 67, 75, 180, 101, 120, 105, 186, 77, 63, 107, 37, 45, 49, 228, 23, 21, 28, 88, 56, 47, 113, 63, 122, 67, 115, 47, 54, 81, 26, 25, 26, 0, 1, 0, 147, 0, 0, 4, 104, 5, 176, 0, 11, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 33, 53, 33, 17, 4, 3, 253, 170, 2, 184, 252, 46, 3, 213, 253, 69, 2, 126, 222, 1, 111, 229, 250, 80, 227, 1, 155, 0, 0, 1, 0, 149, 0, 0, 4, 109, 5, 176, 0, 9, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 33, 17, 4, 31, 253, 144, 2, 190, 252, 40, 1, 26, 2, 91, 228, 1, 140, 229, 250, 80, 2, 91, 0, 1, 0, 87, 255, 236, 4, 108, 5, 196, 0, 67, 0, 0, 101, 3, 33, 21, 51, 3, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 33, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 108, 1, 253, 247, 241, 1, 11, 43, 28, 28, 64, 33, 54, 85, 32, 19, 31, 12, 19, 21, 15, 14, 18, 55, 34, 26, 60, 32, 59, 85, 28, 25, 29, 7, 1, 18, 11, 71, 63, 63, 183, 123, 80, 144, 61, 52, 87, 33, 35, 38, 39, 38, 33, 95, 58, 59, 141, 80, 92, 160, 65, 64, 94, 170, 2, 62, 210, 254, 248, 13, 23, 9, 9, 10, 1, 33, 32, 19, 49, 29, 50, 130, 79, 200, 63, 108, 44, 57, 84, 26, 19, 20, 31, 31, 28, 82, 53, 105, 168, 59, 58, 62, 44, 43, 38, 104, 65, 73, 179, 104, 198, 109, 186, 74, 67, 104, 36, 35, 37, 34, 28, 27, 68, 0, 1, 0, 123, 0, 0, 4, 68, 5, 176, 0, 11, 0, 0, 97, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 4, 68, 254, 234, 254, 100, 254, 233, 1, 23, 1, 156, 5, 176, 253, 171, 2, 85, 250, 80, 2, 119, 253, 137, 0, 1, 0, 193, 0, 0, 4, 11, 5, 176, 0, 11, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 33, 53, 193, 1, 21, 254, 235, 3, 74, 254, 228, 1, 28, 5, 176, 227, 252, 21, 226, 226, 3, 235, 227, 0, 0, 1, 0, 111, 255, 236, 4, 76, 5, 176, 0, 27, 0, 0, 65, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 33, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 3, 3, 50, 31, 28, 28, 80, 48, 60, 84, 26, 20, 20, 254, 230, 1, 72, 65, 64, 180, 110, 104, 181, 67, 67, 77, 1, 1, 5, 176, 252, 15, 51, 89, 32, 32, 37, 32, 33, 27, 78, 52, 113, 168, 55, 56, 56, 68, 62, 62, 171, 104, 3, 241, 0, 0, 1, 0, 129, 0, 0, 4, 235, 5, 176, 0, 12, 0, 0, 65, 1, 33, 1, 1, 33, 1, 7, 17, 33, 17, 33, 17, 2, 53, 1, 104, 1, 78, 254, 4, 1, 234, 254, 168, 254, 158, 132, 254, 230, 1, 26, 2, 86, 253, 170, 3, 44, 2, 132, 254, 23, 178, 2, 155, 250, 80, 1, 173, 0, 0, 1, 0, 150, 0, 0, 4, 90, 5, 176, 0, 5, 0, 0, 101, 17, 33, 17, 33, 53, 1, 176, 254, 230, 3, 196, 227, 4, 205, 250, 80, 227, 0, 1, 0, 127, 0, 0, 4, 96, 5, 176, 0, 14, 0, 0, 65, 33, 17, 33, 17, 3, 19, 51, 19, 3, 17, 33, 17, 33, 3, 1, 220, 254, 163, 1, 2, 12, 171, 139, 191, 12, 1, 2, 254, 163, 157, 5, 176, 250, 80, 1, 175, 2, 142, 253, 163, 2, 120, 253, 87, 254, 81, 5, 176, 253, 221, 0, 0, 1, 0, 123, 0, 0, 4, 67, 5, 176, 0, 9, 0, 0, 97, 17, 33, 3, 1, 33, 17, 33, 17, 1, 4, 67, 254, 230, 1, 254, 110, 254, 229, 1, 27, 1, 149, 5, 176, 252, 89, 3, 167, 250, 80, 3, 171, 252, 85, 0, 0, 2, 0, 80, 255, 236, 4, 123, 5, 196, 0, 37, 0, 75, 0, 0, 65, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 1, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 4, 123, 37, 35, 32, 89, 59, 59, 147, 84, 83, 142, 57, 58, 89, 31, 32, 33, 29, 28, 31, 92, 58, 59, 144, 85, 80, 139, 58, 64, 100, 34, 32, 34, 254, 227, 11, 11, 14, 47, 34, 27, 70, 42, 44, 69, 27, 29, 43, 11, 10, 8, 9, 10, 13, 47, 34, 25, 63, 39, 41, 67, 27, 34, 50, 15, 12, 11, 2, 109, 212, 99, 176, 74, 65, 108, 38, 40, 43, 42, 39, 40, 112, 69, 73, 172, 96, 212, 90, 162, 69, 75, 119, 42, 40, 44, 39, 35, 40, 120, 72, 72, 169, 1, 52, 214, 54, 100, 42, 54, 85, 28, 23, 24, 26, 24, 27, 87, 53, 42, 98, 53, 214, 56, 102, 43, 56, 84, 28, 19, 20, 22, 20, 27, 85, 54, 43, 101, 0, 2, 0, 149, 0, 0, 4, 142, 5, 176, 0, 16, 0, 31, 0, 0, 65, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 17, 33, 17, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 1, 174, 217, 119, 192, 68, 67, 73, 73, 67, 68, 192, 119, 254, 14, 1, 25, 217, 60, 88, 30, 29, 29, 29, 29, 30, 88, 60, 2, 22, 68, 61, 60, 166, 98, 105, 172, 62, 61, 69, 250, 80, 2, 250, 1, 210, 38, 33, 33, 88, 51, 44, 81, 31, 31, 36, 0, 2, 0, 85, 254, 255, 4, 193, 5, 196, 0, 40, 0, 78, 0, 0, 65, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 1, 55, 39, 54, 54, 55, 54, 54, 1, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 4, 132, 22, 22, 30, 104, 69, 61, 150, 86, 86, 146, 59, 65, 94, 28, 24, 25, 26, 25, 28, 91, 61, 60, 148, 88, 39, 73, 35, 1, 21, 181, 241, 39, 61, 22, 28, 29, 254, 228, 10, 10, 14, 49, 35, 28, 70, 43, 42, 67, 25, 35, 46, 12, 8, 7, 6, 6, 10, 45, 38, 26, 68, 43, 45, 73, 28, 29, 46, 12, 14, 12, 2, 65, 252, 77, 141, 62, 88, 142, 49, 42, 46, 46, 42, 46, 131, 81, 65, 153, 83, 252, 72, 137, 61, 70, 122, 44, 43, 48, 10, 9, 255, 0, 161, 218, 37, 89, 49, 63, 142, 1, 73, 254, 40, 79, 37, 49, 86, 29, 21, 25, 24, 22, 29, 88, 54, 35, 76, 38, 254, 45, 83, 37, 64, 103, 33, 23, 24, 26, 23, 27, 77, 47, 45, 108, 0, 0, 2, 0, 131, 0, 0, 4, 176, 5, 176, 0, 20, 0, 35, 0, 0, 65, 1, 33, 53, 1, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 17, 33, 17, 53, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 2, 113, 1, 18, 1, 45, 254, 199, 60, 97, 35, 34, 37, 75, 69, 70, 196, 121, 254, 24, 1, 25, 207, 58, 90, 31, 35, 35, 27, 26, 31, 99, 65, 2, 32, 253, 224, 13, 2, 89, 27, 74, 50, 49, 125, 78, 108, 164, 55, 55, 57, 250, 80, 2, 32, 228, 1, 200, 28, 26, 29, 89, 58, 48, 78, 28, 35, 37, 0, 1, 0, 89, 255, 237, 4, 140, 5, 196, 0, 73, 0, 0, 65, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 33, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 119, 32, 30, 30, 87, 56, 63, 105, 37, 38, 42, 2, 254, 236, 87, 75, 79, 213, 109, 111, 188, 68, 68, 77, 102, 86, 57, 136, 75, 70, 111, 39, 39, 41, 31, 30, 30, 87, 56, 61, 91, 31, 30, 31, 2, 1, 18, 76, 68, 68, 189, 114, 110, 188, 69, 69, 78, 59, 58, 58, 183, 121, 78, 105, 33, 32, 27, 1, 124, 39, 65, 23, 23, 26, 28, 30, 30, 94, 66, 113, 168, 62, 63, 65, 53, 52, 51, 149, 96, 111, 170, 64, 39, 60, 21, 19, 44, 27, 26, 66, 41, 39, 67, 25, 24, 27, 33, 29, 30, 82, 49, 98, 164, 60, 59, 66, 57, 53, 53, 150, 92, 80, 136, 56, 56, 94, 33, 21, 49, 29, 30, 68, 0, 0, 1, 0, 27, 0, 0, 4, 177, 5, 176, 0, 7, 0, 0, 65, 53, 33, 21, 33, 17, 33, 17, 4, 177, 251, 106, 1, 187, 1, 26, 4, 203, 229, 229, 251, 53, 4, 203, 0, 1, 0, 126, 255, 236, 4, 78, 5, 176, 0, 29, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 3, 33, 3, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 4, 77, 254, 233, 1, 1, 28, 28, 26, 79, 51, 47, 72, 25, 27, 27, 1, 1, 254, 231, 1, 69, 63, 63, 177, 110, 117, 183, 64, 63, 67, 5, 176, 252, 59, 71, 108, 36, 35, 35, 33, 33, 36, 110, 73, 3, 197, 252, 59, 122, 191, 65, 65, 68, 68, 66, 65, 190, 122, 0, 0, 1, 0, 31, 0, 0, 4, 174, 5, 176, 0, 8, 0, 0, 97, 33, 1, 33, 3, 7, 39, 3, 33, 1, 215, 1, 30, 1, 185, 254, 202, 248, 27, 25, 247, 254, 202, 5, 176, 252, 74, 99, 98, 3, 183, 0, 0, 1, 0, 26, 0, 0, 4, 183, 5, 176, 0, 18, 0, 0, 115, 51, 19, 55, 23, 19, 51, 19, 33, 3, 7, 39, 3, 35, 3, 7, 39, 3, 33, 226, 254, 122, 11, 11, 127, 254, 202, 254, 254, 99, 7, 9, 122, 201, 115, 9, 7, 97, 254, 255, 3, 18, 74, 74, 252, 238, 5, 176, 252, 208, 61, 60, 3, 49, 252, 213, 60, 57, 3, 46, 0, 1, 0, 30, 0, 0, 4, 199, 5, 176, 0, 11, 0, 0, 65, 3, 33, 1, 1, 33, 1, 1, 33, 1, 1, 33, 2, 112, 255, 254, 184, 1, 153, 254, 92, 1, 76, 1, 10, 1, 11, 1, 72, 254, 92, 1, 154, 254, 182, 3, 166, 2, 10, 253, 46, 253, 34, 2, 18, 253, 238, 2, 222, 2, 210, 0, 0, 1, 0, 33, 0, 0, 4, 200, 5, 176, 0, 8, 0, 0, 65, 1, 33, 1, 19, 33, 19, 1, 33, 2, 116, 254, 225, 254, 204, 1, 195, 1, 1, 24, 1, 1, 202, 254, 203, 3, 17, 2, 159, 252, 84, 253, 252, 1, 248, 3, 184, 0, 0, 1, 0, 89, 0, 0, 4, 129, 5, 176, 0, 9, 0, 0, 101, 1, 39, 33, 21, 33, 1, 21, 33, 53, 1, 175, 2, 193, 1, 251, 236, 2, 192, 253, 62, 4, 40, 227, 4, 38, 167, 229, 251, 225, 172, 227, 0, 2, 0, 115, 255, 236, 4, 75, 4, 78, 0, 53, 0, 73, 0, 0, 97, 33, 53, 38, 38, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 33, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 39, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 21, 6, 6, 7, 6, 6, 3, 49, 1, 26, 21, 22, 70, 62, 62, 169, 98, 109, 169, 58, 59, 61, 1, 22, 17, 18, 20, 64, 44, 50, 75, 25, 24, 24, 155, 120, 185, 63, 70, 70, 56, 50, 50, 139, 83, 51, 88, 37, 36, 60, 23, 5, 14, 255, 39, 59, 20, 20, 21, 28, 29, 29, 92, 65, 142, 12, 42, 29, 29, 72, 17, 41, 114, 87, 1, 208, 94, 143, 47, 47, 48, 55, 47, 47, 124, 69, 29, 48, 17, 19, 21, 25, 23, 22, 61, 38, 64, 43, 41, 45, 139, 90, 70, 119, 43, 43, 48, 19, 17, 16, 44, 25, 29, 52, 175, 19, 16, 17, 49, 29, 37, 63, 23, 22, 25, 186, 21, 41, 16, 16, 20, 0, 0, 2, 0, 147, 255, 236, 4, 92, 6, 0, 0, 35, 0, 67, 0, 0, 65, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 17, 33, 17, 51, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 37, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 4, 92, 35, 36, 23, 60, 37, 46, 117, 70, 51, 87, 37, 26, 46, 20, 254, 234, 250, 13, 17, 38, 22, 41, 103, 63, 69, 115, 46, 51, 75, 23, 21, 22, 254, 234, 7, 8, 10, 39, 31, 22, 60, 37, 43, 67, 25, 21, 31, 12, 9, 22, 13, 27, 76, 50, 37, 58, 23, 35, 35, 11, 9, 8, 2, 18, 21, 98, 172, 69, 43, 73, 26, 34, 36, 21, 21, 14, 39, 23, 2, 40, 250, 0, 115, 22, 37, 15, 30, 31, 35, 33, 35, 106, 65, 59, 139, 99, 21, 42, 78, 33, 45, 71, 22, 16, 18, 20, 19, 15, 41, 25, 1, 175, 19, 33, 13, 27, 28, 17, 17, 27, 65, 41, 35, 80, 0, 1, 0, 117, 255, 235, 4, 60, 4, 78, 0, 51, 0, 0, 101, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 33, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 39, 33, 22, 6, 7, 6, 6, 2, 108, 67, 87, 25, 26, 20, 21, 26, 25, 86, 66, 45, 76, 27, 27, 28, 2, 1, 6, 2, 68, 61, 62, 170, 100, 125, 189, 64, 64, 64, 65, 64, 63, 190, 126, 93, 167, 63, 63, 73, 2, 254, 250, 2, 31, 28, 28, 74, 202, 54, 45, 44, 117, 63, 30, 62, 116, 45, 45, 54, 31, 26, 26, 72, 40, 96, 155, 55, 54, 60, 86, 74, 74, 199, 114, 30, 114, 199, 74, 74, 85, 59, 52, 52, 144, 84, 38, 62, 22, 22, 24, 0, 2, 0, 112, 255, 236, 4, 56, 6, 0, 0, 23, 0, 43, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 23, 51, 17, 33, 17, 38, 38, 35, 34, 6, 7, 6, 6, 5, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 17, 6, 6, 35, 34, 38, 39, 38, 38, 112, 58, 55, 54, 157, 99, 91, 138, 51, 14, 251, 254, 233, 50, 129, 85, 101, 157, 55, 55, 57, 1, 22, 24, 26, 26, 83, 59, 71, 94, 28, 28, 95, 72, 59, 82, 26, 26, 23, 2, 37, 21, 118, 201, 73, 73, 83, 70, 63, 113, 6, 0, 253, 217, 56, 61, 80, 73, 73, 204, 144, 21, 68, 119, 45, 44, 51, 61, 55, 254, 74, 54, 62, 50, 44, 43, 117, 0, 0, 2, 0, 112, 255, 236, 4, 104, 4, 78, 0, 34, 0, 48, 0, 0, 69, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 39, 53, 33, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 19, 50, 22, 23, 22, 22, 21, 21, 33, 54, 54, 55, 54, 54, 2, 154, 157, 230, 53, 139, 48, 154, 82, 58, 98, 38, 37, 44, 14, 2, 222, 66, 63, 64, 183, 117, 113, 192, 70, 70, 78, 79, 73, 73, 204, 92, 53, 81, 28, 28, 32, 254, 56, 10, 40, 30, 29, 78, 20, 122, 75, 150, 62, 62, 36, 33, 32, 79, 65, 3, 118, 119, 197, 70, 70, 77, 82, 74, 74, 205, 124, 40, 109, 191, 70, 71, 82, 3, 129, 33, 28, 29, 78, 44, 22, 53, 86, 31, 31, 33, 0, 0, 1, 0, 126, 0, 0, 4, 130, 6, 45, 0, 32, 0, 0, 97, 33, 17, 33, 53, 33, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 33, 21, 33, 1, 154, 1, 23, 1, 134, 254, 122, 25, 26, 29, 98, 70, 65, 96, 38, 18, 34, 63, 31, 31, 65, 35, 111, 180, 63, 63, 68, 254, 228, 1, 28, 3, 109, 205, 59, 48, 76, 26, 31, 32, 12, 8, 218, 6, 10, 4, 4, 5, 57, 56, 56, 164, 107, 59, 205, 0, 0, 2, 0, 113, 254, 86, 4, 71, 4, 78, 0, 53, 0, 79, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 35, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 5, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 113, 61, 57, 57, 161, 101, 51, 89, 37, 25, 44, 20, 31, 29, 32, 95, 61, 38, 71, 33, 34, 62, 27, 125, 35, 98, 55, 55, 112, 49, 114, 189, 68, 67, 75, 253, 11, 20, 48, 28, 37, 91, 55, 102, 162, 57, 57, 61, 1, 23, 28, 29, 28, 86, 59, 32, 55, 23, 27, 42, 15, 14, 38, 25, 24, 59, 36, 59, 86, 28, 28, 27, 2, 37, 21, 118, 201, 73, 73, 83, 22, 20, 14, 36, 22, 62, 55, 88, 30, 33, 34, 15, 15, 15, 47, 31, 169, 45, 65, 21, 21, 20, 61, 59, 59, 172, 110, 4, 23, 103, 25, 41, 15, 21, 21, 80, 73, 73, 204, 144, 21, 68, 119, 45, 44, 51, 12, 11, 13, 42, 28, 254, 54, 25, 40, 14, 13, 14, 50, 44, 43, 117, 0, 1, 0, 141, 0, 0, 4, 86, 6, 0, 0, 31, 0, 0, 65, 17, 33, 17, 33, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 33, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 163, 254, 234, 1, 22, 16, 39, 24, 26, 64, 37, 48, 76, 27, 27, 29, 1, 22, 57, 51, 51, 142, 85, 58, 104, 43, 28, 51, 3, 165, 2, 91, 250, 0, 3, 13, 21, 34, 12, 14, 14, 25, 26, 26, 84, 58, 253, 111, 2, 143, 119, 169, 54, 54, 51, 34, 31, 20, 53, 0, 2, 0, 215, 0, 0, 4, 73, 5, 227, 0, 9, 0, 27, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 1, 20, 22, 23, 22, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 7, 6, 6, 215, 1, 52, 254, 204, 3, 114, 254, 219, 254, 211, 23, 21, 21, 59, 36, 74, 87, 87, 74, 36, 59, 21, 21, 23, 4, 58, 227, 253, 139, 226, 226, 3, 88, 1, 21, 32, 55, 19, 20, 22, 83, 65, 65, 83, 22, 19, 20, 55, 0, 0, 2, 0, 223, 254, 75, 3, 113, 5, 227, 0, 29, 0, 41, 0, 0, 65, 21, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 51, 1, 17, 30, 25, 26, 71, 40, 10, 41, 22, 23, 43, 12, 14, 18, 37, 19, 26, 53, 26, 109, 170, 59, 59, 62, 254, 212, 87, 72, 74, 87, 87, 74, 74, 85, 4, 58, 227, 252, 144, 52, 69, 21, 21, 18, 1, 2, 1, 5, 3, 226, 4, 6, 2, 3, 2, 48, 51, 50, 155, 108, 4, 83, 1, 21, 64, 84, 83, 65, 65, 83, 86, 0, 1, 0, 144, 0, 0, 4, 172, 6, 0, 0, 12, 0, 0, 65, 1, 33, 1, 1, 33, 1, 7, 17, 33, 17, 33, 17, 2, 36, 1, 51, 1, 85, 254, 47, 1, 152, 254, 178, 254, 213, 84, 254, 234, 1, 22, 1, 191, 254, 65, 2, 119, 1, 195, 254, 184, 96, 3, 110, 250, 0, 1, 74, 0, 0, 1, 0, 199, 0, 0, 4, 90, 6, 0, 0, 9, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 199, 1, 68, 254, 188, 3, 147, 254, 202, 6, 0, 227, 251, 197, 226, 226, 5, 30, 0, 1, 0, 75, 0, 0, 4, 120, 4, 78, 0, 58, 0, 0, 65, 35, 17, 51, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 52, 53, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 1, 58, 239, 253, 5, 12, 8, 11, 28, 18, 16, 28, 11, 10, 12, 245, 5, 14, 9, 11, 25, 16, 15, 29, 11, 11, 13, 253, 35, 31, 32, 85, 49, 39, 66, 26, 21, 35, 14, 9, 25, 17, 22, 60, 38, 78, 109, 31, 4, 58, 251, 198, 3, 42, 13, 22, 8, 11, 12, 9, 11, 11, 40, 31, 252, 250, 3, 30, 12, 14, 2, 11, 17, 7, 7, 8, 9, 11, 12, 40, 31, 252, 251, 3, 4, 90, 125, 40, 39, 36, 20, 18, 14, 39, 24, 25, 39, 14, 19, 18, 81, 70, 0, 0, 1, 0, 141, 0, 0, 4, 83, 4, 78, 0, 31, 0, 0, 115, 33, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 33, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 39, 35, 141, 1, 23, 14, 34, 21, 26, 67, 40, 48, 76, 27, 27, 29, 1, 22, 55, 49, 50, 136, 82, 64, 114, 48, 28, 50, 21, 17, 252, 3, 1, 22, 36, 13, 18, 18, 19, 24, 24, 83, 64, 253, 106, 2, 154, 118, 165, 53, 52, 48, 36, 34, 20, 50, 30, 150, 0, 2, 0, 103, 255, 235, 4, 100, 4, 78, 0, 25, 0, 51, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 5, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 103, 68, 66, 65, 191, 122, 121, 190, 65, 65, 68, 68, 65, 66, 190, 122, 122, 189, 65, 66, 68, 1, 22, 26, 28, 28, 88, 62, 63, 88, 28, 27, 26, 26, 27, 28, 88, 61, 63, 89, 28, 28, 26, 2, 39, 21, 119, 201, 74, 74, 83, 83, 74, 74, 201, 119, 21, 118, 201, 74, 74, 84, 84, 74, 74, 201, 139, 21, 66, 118, 45, 45, 52, 52, 45, 45, 118, 66, 21, 68, 119, 44, 45, 52, 52, 45, 44, 119, 0, 2, 0, 145, 254, 96, 4, 89, 4, 78, 0, 29, 0, 55, 0, 0, 83, 33, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 39, 33, 1, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 145, 1, 22, 19, 42, 23, 39, 91, 54, 102, 158, 54, 53, 55, 55, 54, 54, 158, 103, 50, 87, 36, 30, 52, 22, 10, 254, 255, 2, 178, 24, 26, 26, 83, 59, 37, 60, 23, 24, 37, 13, 14, 39, 26, 23, 56, 34, 59, 83, 27, 26, 25, 254, 96, 1, 254, 21, 34, 14, 22, 23, 84, 74, 73, 202, 118, 21, 123, 203, 73, 72, 79, 21, 19, 16, 43, 27, 106, 253, 238, 21, 67, 119, 45, 45, 52, 15, 14, 15, 42, 26, 1, 196, 28, 42, 14, 12, 13, 50, 43, 44, 119, 0, 2, 0, 113, 254, 96, 4, 57, 4, 78, 0, 29, 0, 55, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 17, 33, 17, 35, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 5, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 113, 57, 54, 54, 158, 102, 48, 83, 35, 27, 50, 21, 1, 23, 245, 17, 21, 48, 27, 38, 91, 54, 103, 159, 54, 55, 56, 1, 22, 25, 27, 26, 83, 59, 35, 59, 23, 24, 36, 14, 14, 36, 24, 24, 59, 36, 59, 83, 26, 26, 24, 2, 38, 21, 118, 201, 73, 74, 83, 19, 17, 14, 38, 24, 254, 4, 5, 218, 110, 26, 42, 16, 22, 24, 80, 72, 73, 204, 144, 21, 69, 119, 44, 44, 51, 14, 13, 14, 39, 25, 254, 52, 26, 41, 14, 13, 15, 52, 45, 44, 118, 0, 0, 1, 1, 31, 0, 0, 4, 97, 4, 78, 0, 21, 0, 0, 65, 34, 6, 7, 39, 39, 33, 17, 33, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 19, 38, 38, 3, 150, 109, 184, 66, 2, 11, 254, 253, 1, 22, 19, 58, 41, 34, 87, 54, 52, 115, 55, 41, 33, 107, 4, 78, 105, 92, 24, 153, 251, 198, 2, 138, 46, 68, 22, 19, 19, 13, 13, 1, 21, 10, 17, 0, 1, 0, 122, 255, 235, 4, 85, 4, 78, 0, 73, 0, 0, 65, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 33, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 71, 25, 25, 26, 81, 54, 45, 85, 33, 33, 42, 3, 254, 247, 65, 63, 63, 187, 122, 111, 180, 64, 63, 69, 69, 61, 61, 168, 98, 68, 88, 25, 26, 20, 23, 22, 24, 76, 51, 60, 85, 25, 18, 18, 1, 22, 66, 62, 63, 180, 113, 108, 172, 60, 60, 64, 63, 56, 56, 157, 95, 75, 98, 30, 29, 23, 1, 41, 25, 42, 16, 16, 19, 18, 20, 19, 63, 44, 66, 131, 51, 52, 64, 49, 44, 44, 121, 72, 78, 113, 40, 39, 50, 16, 10, 27, 17, 16, 41, 24, 24, 43, 16, 18, 20, 30, 25, 19, 47, 27, 75, 128, 47, 46, 53, 54, 46, 46, 122, 67, 69, 106, 40, 41, 57, 19, 14, 28, 16, 17, 38, 0, 1, 0, 126, 255, 235, 4, 78, 5, 67, 0, 35, 0, 0, 65, 33, 17, 35, 21, 51, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 53, 33, 2, 139, 254, 234, 247, 247, 56, 52, 51, 145, 89, 46, 95, 44, 44, 78, 29, 27, 19, 53, 30, 31, 67, 32, 44, 71, 25, 25, 27, 1, 148, 254, 108, 5, 67, 254, 247, 205, 254, 20, 107, 153, 49, 50, 47, 9, 8, 8, 25, 17, 191, 5, 10, 4, 5, 6, 20, 24, 23, 79, 59, 1, 209, 205, 0, 1, 0, 150, 255, 235, 4, 75, 4, 58, 0, 28, 0, 0, 97, 51, 17, 33, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 3, 79, 252, 254, 233, 13, 36, 23, 27, 71, 44, 49, 68, 21, 21, 19, 254, 234, 55, 50, 50, 140, 84, 92, 155, 55, 4, 58, 253, 9, 26, 42, 15, 17, 18, 24, 28, 27, 90, 66, 2, 130, 253, 128, 123, 175, 56, 57, 52, 92, 81, 0, 1, 0, 72, 0, 0, 4, 133, 4, 58, 0, 8, 0, 0, 97, 33, 1, 33, 3, 7, 39, 3, 33, 1, 229, 1, 5, 1, 155, 254, 222, 237, 15, 15, 238, 254, 222, 4, 58, 253, 5, 76, 76, 2, 251, 0, 0, 1, 0, 27, 0, 0, 4, 158, 4, 58, 0, 18, 0, 0, 115, 51, 19, 55, 23, 19, 51, 19, 35, 3, 7, 39, 3, 35, 3, 7, 39, 3, 35, 221, 244, 115, 22, 23, 119, 244, 194, 255, 80, 14, 19, 117, 186, 117, 19, 13, 81, 254, 2, 66, 110, 110, 253, 190, 4, 58, 253, 130, 105, 103, 2, 128, 253, 125, 103, 103, 2, 131, 0, 1, 0, 89, 0, 0, 4, 162, 4, 58, 0, 11, 0, 0, 65, 3, 33, 1, 1, 33, 19, 19, 33, 1, 1, 33, 2, 124, 234, 254, 213, 1, 106, 254, 136, 1, 45, 247, 249, 1, 44, 254, 136, 1, 107, 254, 213, 2, 232, 1, 82, 253, 237, 253, 217, 1, 98, 254, 158, 2, 39, 2, 19, 0, 0, 1, 0, 52, 254, 75, 4, 205, 4, 58, 0, 27, 0, 0, 65, 50, 54, 55, 54, 54, 55, 1, 33, 3, 7, 39, 3, 33, 1, 7, 6, 6, 7, 6, 6, 35, 34, 38, 35, 7, 22, 22, 1, 56, 84, 123, 43, 43, 57, 18, 2, 37, 254, 205, 247, 41, 30, 248, 254, 208, 1, 202, 64, 12, 17, 18, 18, 51, 33, 16, 53, 17, 34, 36, 59, 254, 75, 56, 41, 41, 96, 41, 4, 220, 253, 132, 108, 110, 2, 122, 251, 244, 119, 22, 24, 24, 24, 41, 3, 212, 10, 10, 0, 1, 0, 118, 0, 0, 4, 111, 4, 58, 0, 9, 0, 0, 101, 1, 53, 33, 21, 33, 1, 21, 33, 53, 1, 242, 2, 100, 252, 46, 2, 80, 253, 162, 3, 249, 223, 2, 180, 167, 226, 253, 84, 172, 223, 0, 0, 3, 0, 141, 255, 235, 4, 65, 5, 197, 0, 25, 0, 42, 0, 59, 0, 0, 65, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 1, 52, 52, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 1, 20, 20, 21, 4, 65, 66, 61, 62, 176, 110, 109, 175, 61, 62, 66, 67, 62, 61, 176, 109, 110, 176, 61, 61, 65, 253, 100, 25, 26, 24, 71, 47, 42, 67, 23, 30, 31, 2, 25, 25, 24, 72, 47, 51, 74, 24, 21, 23, 2, 1, 132, 2, 42, 1, 92, 141, 215, 73, 72, 74, 74, 72, 73, 215, 141, 254, 164, 141, 215, 72, 73, 74, 74, 73, 72, 215, 1, 5, 31, 32, 48, 161, 81, 118, 37, 35, 35, 27, 28, 35, 117, 82, 254, 61, 81, 119, 38, 36, 35, 40, 41, 34, 102, 66, 1, 32, 29, 31, 33, 0, 1, 0, 173, 0, 0, 3, 54, 5, 176, 0, 6, 0, 0, 97, 17, 35, 5, 21, 37, 17, 3, 54, 15, 253, 134, 1, 112, 5, 176, 229, 242, 132, 251, 163, 0, 0, 1, 0, 70, 0, 0, 4, 69, 5, 196, 0, 42, 0, 0, 97, 53, 33, 1, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 33, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 1, 21, 4, 69, 253, 129, 1, 18, 71, 116, 42, 41, 45, 60, 57, 58, 171, 111, 116, 191, 67, 68, 74, 1, 23, 30, 29, 28, 85, 56, 43, 71, 26, 25, 28, 21, 23, 24, 76, 55, 254, 41, 223, 1, 34, 73, 133, 64, 64, 131, 72, 95, 157, 56, 56, 62, 75, 65, 65, 173, 97, 59, 92, 31, 30, 31, 28, 26, 27, 76, 49, 33, 70, 40, 41, 98, 60, 254, 6, 190, 0, 0, 1, 0, 96, 255, 236, 4, 72, 5, 196, 0, 76, 0, 0, 65, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 33, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 33, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 1, 165, 151, 57, 91, 33, 32, 34, 29, 28, 29, 86, 54, 48, 80, 29, 30, 32, 254, 234, 83, 69, 69, 177, 93, 108, 187, 68, 68, 78, 28, 29, 29, 89, 61, 52, 80, 27, 27, 28, 71, 64, 64, 180, 108, 100, 173, 64, 64, 73, 1, 22, 32, 28, 27, 73, 42, 51, 77, 25, 25, 25, 25, 25, 27, 87, 60, 3, 82, 216, 26, 27, 27, 84, 59, 47, 76, 26, 29, 30, 29, 26, 25, 71, 42, 106, 156, 51, 52, 51, 57, 55, 54, 160, 102, 58, 104, 44, 43, 68, 22, 25, 69, 41, 41, 91, 47, 102, 155, 53, 52, 53, 58, 52, 53, 146, 89, 40, 64, 23, 22, 24, 28, 25, 26, 71, 43, 44, 75, 26, 30, 33, 0, 0, 2, 0, 59, 0, 0, 4, 98, 5, 176, 0, 10, 0, 14, 0, 0, 65, 17, 33, 1, 23, 33, 17, 33, 17, 51, 53, 33, 1, 55, 17, 3, 185, 254, 230, 253, 156, 11, 2, 93, 1, 22, 169, 252, 234, 1, 60, 27, 2, 29, 3, 147, 252, 58, 174, 254, 196, 1, 60, 225, 1, 237, 48, 253, 227, 0, 0, 1, 0, 117, 255, 236, 4, 70, 5, 176, 0, 48, 0, 0, 83, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 33, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 19, 33, 53, 33, 155, 222, 16, 36, 23, 23, 60, 41, 61, 90, 30, 30, 29, 23, 24, 25, 79, 56, 91, 117, 10, 254, 238, 3, 85, 68, 68, 175, 94, 124, 182, 60, 60, 58, 60, 56, 57, 165, 105, 74, 114, 31, 35, 2, 67, 252, 216, 2, 205, 55, 16, 29, 11, 11, 14, 38, 35, 35, 97, 58, 59, 102, 37, 37, 42, 104, 95, 101, 157, 54, 54, 56, 78, 67, 67, 176, 98, 115, 182, 63, 63, 67, 38, 18, 1, 64, 236, 0, 2, 0, 105, 255, 236, 4, 74, 5, 188, 0, 39, 0, 64, 0, 0, 65, 35, 34, 4, 7, 6, 2, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 54, 54, 55, 54, 54, 51, 51, 1, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 54, 54, 55, 54, 54, 3, 111, 37, 181, 254, 236, 93, 93, 94, 71, 66, 65, 188, 117, 112, 180, 63, 63, 68, 51, 52, 52, 155, 104, 51, 88, 37, 38, 60, 23, 9, 69, 60, 59, 169, 110, 16, 254, 236, 52, 81, 28, 28, 30, 30, 28, 28, 80, 49, 48, 82, 30, 30, 33, 14, 41, 25, 29, 70, 5, 188, 121, 107, 108, 254, 217, 173, 107, 125, 211, 77, 77, 87, 77, 67, 67, 182, 106, 99, 179, 68, 67, 79, 24, 19, 20, 49, 25, 91, 148, 53, 53, 58, 254, 23, 41, 36, 37, 100, 59, 59, 99, 36, 36, 41, 40, 40, 39, 120, 80, 82, 30, 50, 19, 21, 23, 0, 0, 1, 0, 69, 0, 0, 4, 68, 5, 176, 0, 6, 0, 0, 65, 53, 33, 21, 33, 1, 33, 4, 68, 252, 1, 2, 219, 253, 200, 1, 37, 5, 21, 155, 227, 251, 51, 0, 0, 3, 0, 109, 255, 236, 4, 62, 5, 196, 0, 47, 0, 71, 0, 95, 0, 0, 65, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 31, 69, 61, 62, 168, 99, 99, 167, 60, 61, 68, 29, 27, 25, 73, 45, 53, 85, 30, 30, 33, 75, 66, 66, 179, 104, 103, 178, 66, 65, 75, 54, 48, 26, 66, 37, 41, 67, 25, 32, 35, 248, 31, 27, 28, 76, 46, 47, 76, 27, 29, 32, 30, 27, 27, 77, 48, 48, 77, 28, 27, 30, 29, 25, 23, 23, 66, 42, 42, 67, 23, 24, 24, 23, 23, 22, 66, 43, 42, 67, 24, 23, 26, 4, 45, 99, 151, 52, 52, 53, 53, 52, 52, 151, 99, 54, 98, 41, 39, 64, 23, 25, 71, 44, 45, 107, 60, 103, 156, 52, 53, 54, 54, 53, 52, 156, 103, 78, 132, 50, 28, 45, 18, 21, 57, 33, 44, 105, 253, 176, 50, 79, 28, 28, 29, 27, 26, 27, 82, 52, 50, 80, 29, 28, 30, 30, 28, 29, 80, 2, 77, 44, 73, 26, 26, 29, 29, 26, 26, 73, 45, 44, 73, 25, 25, 27, 28, 25, 26, 72, 0, 0, 2, 0, 97, 255, 244, 4, 47, 5, 196, 0, 40, 0, 65, 0, 0, 101, 35, 21, 51, 50, 36, 55, 54, 18, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 21, 6, 6, 7, 6, 6, 19, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 6, 6, 7, 6, 6, 1, 76, 19, 21, 193, 1, 22, 90, 90, 86, 67, 63, 64, 182, 114, 112, 179, 63, 63, 67, 55, 54, 53, 158, 104, 49, 82, 33, 31, 52, 21, 10, 61, 54, 56, 164, 143, 54, 80, 26, 27, 26, 28, 26, 26, 77, 49, 45, 78, 29, 29, 33, 12, 39, 26, 27, 65, 221, 233, 119, 107, 106, 1, 36, 174, 96, 130, 218, 79, 79, 88, 81, 70, 70, 187, 106, 103, 179, 66, 66, 76, 17, 15, 13, 36, 21, 6, 80, 129, 44, 46, 48, 1, 210, 45, 38, 38, 102, 56, 56, 103, 40, 39, 47, 40, 40, 40, 120, 80, 99, 31, 53, 19, 20, 22, 0, 0, 1, 1, 138, 2, 147, 3, 16, 5, 165, 0, 6, 0, 0, 65, 17, 35, 5, 21, 55, 17, 3, 16, 19, 254, 141, 191, 2, 147, 3, 18, 120, 156, 43, 253, 215, 0, 1, 1, 42, 2, 155, 3, 166, 5, 187, 0, 42, 0, 0, 65, 53, 33, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 1, 21, 3, 166, 254, 157, 117, 54, 80, 27, 27, 27, 32, 31, 39, 124, 82, 71, 112, 40, 40, 42, 201, 13, 14, 14, 43, 29, 24, 37, 12, 12, 12, 15, 17, 13, 36, 25, 254, 225, 2, 155, 159, 93, 43, 72, 35, 35, 72, 44, 52, 85, 30, 39, 41, 43, 37, 38, 99, 56, 22, 40, 15, 16, 19, 13, 11, 11, 33, 19, 14, 40, 24, 18, 41, 22, 254, 253, 134, 0, 1, 1, 37, 2, 143, 3, 166, 5, 186, 0, 76, 0, 0, 65, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 2, 3, 88, 30, 49, 16, 17, 17, 12, 12, 14, 45, 32, 30, 47, 16, 14, 15, 202, 56, 45, 44, 111, 56, 70, 120, 45, 44, 50, 23, 21, 19, 54, 33, 27, 44, 17, 23, 24, 46, 41, 41, 116, 70, 60, 108, 41, 41, 49, 201, 17, 15, 14, 37, 21, 30, 41, 13, 12, 12, 16, 18, 14, 41, 27, 4, 111, 135, 10, 11, 11, 36, 27, 17, 32, 12, 13, 16, 15, 13, 11, 30, 16, 67, 93, 29, 30, 26, 31, 30, 29, 86, 56, 41, 63, 22, 20, 28, 9, 10, 27, 17, 22, 59, 35, 55, 85, 29, 28, 29, 29, 28, 29, 84, 55, 16, 24, 8, 8, 8, 14, 11, 12, 28, 15, 22, 36, 12, 10, 10, 0, 0, 2, 1, 17, 2, 179, 3, 174, 5, 196, 0, 52, 0, 72, 0, 0, 65, 51, 38, 38, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 39, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 21, 6, 6, 7, 6, 6, 2, 253, 177, 14, 12, 42, 38, 39, 107, 65, 71, 114, 41, 41, 44, 173, 13, 13, 17, 57, 38, 30, 44, 14, 14, 14, 137, 79, 122, 42, 43, 45, 33, 32, 31, 93, 60, 42, 70, 28, 27, 41, 14, 3, 11, 193, 32, 46, 14, 13, 12, 20, 20, 20, 58, 39, 136, 8, 37, 24, 25, 56, 2, 193, 44, 88, 49, 1, 58, 69, 103, 35, 34, 35, 35, 31, 31, 85, 51, 14, 20, 33, 12, 17, 17, 17, 16, 16, 47, 31, 51, 29, 27, 29, 89, 57, 52, 84, 30, 30, 32, 18, 15, 15, 39, 21, 25, 47, 108, 13, 13, 11, 31, 20, 22, 40, 15, 15, 18, 103, 17, 34, 13, 14, 17, 0, 2, 1, 10, 2, 178, 3, 191, 5, 196, 0, 25, 0, 51, 0, 0, 65, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 10, 49, 45, 45, 129, 80, 80, 128, 45, 44, 48, 48, 45, 45, 128, 80, 81, 128, 45, 45, 48, 175, 21, 22, 21, 64, 43, 43, 65, 22, 21, 21, 21, 21, 21, 64, 43, 44, 65, 21, 22, 21, 4, 117, 117, 73, 123, 44, 44, 50, 50, 44, 44, 123, 73, 117, 73, 123, 45, 44, 50, 50, 44, 45, 123, 190, 117, 40, 68, 25, 25, 29, 29, 25, 25, 68, 40, 117, 41, 68, 25, 26, 28, 28, 26, 25, 68, 0, 3, 0, 24, 0, 0, 4, 183, 5, 179, 0, 6, 0, 49, 0, 53, 0, 0, 65, 17, 35, 5, 21, 55, 17, 1, 53, 33, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 5, 21, 37, 1, 39, 1, 1, 119, 17, 254, 178, 172, 3, 243, 254, 192, 106, 48, 72, 24, 25, 24, 33, 32, 35, 108, 69, 64, 101, 36, 36, 38, 181, 10, 11, 13, 40, 28, 24, 35, 11, 8, 9, 13, 15, 11, 34, 22, 254, 254, 254, 217, 1, 255, 131, 254, 1, 2, 240, 2, 195, 108, 140, 39, 254, 14, 253, 16, 143, 84, 39, 64, 32, 31, 65, 40, 50, 80, 28, 32, 32, 39, 33, 34, 89, 51, 18, 35, 13, 16, 19, 13, 13, 10, 27, 15, 13, 35, 21, 18, 36, 20, 233, 121, 235, 3, 170, 67, 252, 86, 0, 4, 0, 65, 0, 0, 4, 146, 5, 178, 0, 6, 0, 17, 0, 21, 0, 25, 0, 0, 65, 17, 35, 5, 21, 55, 17, 1, 17, 35, 1, 23, 33, 21, 51, 53, 51, 53, 33, 55, 55, 21, 5, 1, 39, 1, 1, 160, 17, 254, 178, 172, 3, 83, 181, 254, 190, 10, 1, 55, 182, 82, 254, 100, 137, 11, 254, 31, 1, 255, 131, 254, 1, 2, 239, 2, 195, 108, 140, 39, 254, 14, 254, 52, 1, 163, 254, 64, 118, 144, 144, 147, 176, 17, 193, 56, 3, 170, 67, 252, 86, 0, 0, 4, 0, 33, 0, 0, 4, 194, 5, 184, 0, 10, 0, 14, 0, 91, 0, 95, 0, 0, 65, 17, 35, 1, 23, 33, 21, 51, 53, 51, 53, 33, 55, 55, 21, 1, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 19, 1, 39, 1, 4, 112, 181, 254, 190, 10, 1, 55, 182, 82, 254, 100, 137, 11, 253, 47, 79, 34, 51, 14, 8, 9, 10, 12, 13, 39, 29, 27, 42, 14, 13, 14, 182, 51, 40, 40, 100, 50, 63, 108, 41, 39, 45, 24, 23, 17, 44, 27, 23, 37, 16, 21, 25, 42, 37, 37, 104, 63, 54, 97, 37, 37, 44, 181, 12, 12, 13, 36, 20, 27, 37, 12, 11, 11, 13, 13, 13, 40, 26, 197, 1, 255, 131, 254, 1, 1, 35, 1, 163, 254, 64, 118, 144, 144, 147, 176, 17, 193, 3, 107, 121, 15, 16, 10, 27, 18, 15, 29, 11, 11, 15, 14, 10, 11, 27, 15, 61, 83, 26, 27, 24, 28, 27, 26, 78, 50, 40, 60, 21, 15, 21, 8, 8, 22, 14, 21, 54, 34, 49, 77, 26, 25, 26, 26, 25, 26, 76, 49, 12, 21, 7, 8, 9, 12, 10, 11, 25, 14, 19, 30, 11, 10, 11, 252, 93, 3, 170, 67, 252, 86, 0, 2, 0, 48, 0, 0, 4, 153, 5, 176, 0, 15, 0, 18, 0, 0, 97, 53, 33, 17, 51, 53, 35, 17, 51, 53, 33, 1, 33, 19, 51, 17, 3, 19, 17, 4, 153, 254, 243, 217, 217, 248, 253, 139, 254, 33, 1, 26, 94, 217, 150, 150, 226, 1, 153, 227, 1, 110, 228, 250, 80, 1, 78, 254, 178, 2, 62, 2, 20, 253, 236, 0, 0, 3, 0, 46, 255, 236, 4, 170, 4, 79, 0, 87, 0, 112, 0, 130, 0, 0, 69, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 33, 53, 52, 38, 39, 38, 38, 35, 38, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 5, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 37, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 20, 20, 21, 20, 20, 21, 6, 6, 7, 6, 6, 1, 35, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 3, 100, 50, 90, 39, 38, 61, 20, 55, 21, 40, 22, 23, 54, 34, 32, 51, 19, 21, 28, 9, 7, 7, 1, 195, 47, 42, 43, 121, 74, 42, 74, 31, 23, 40, 17, 17, 37, 21, 33, 79, 45, 79, 125, 44, 44, 47, 1, 5, 8, 9, 11, 38, 26, 17, 25, 10, 13, 13, 3, 126, 184, 56, 42, 43, 42, 41, 40, 118, 77, 41, 69, 30, 29, 47, 18, 18, 44, 25, 38, 91, 254, 132, 29, 43, 13, 13, 13, 23, 23, 22, 65, 43, 1, 4, 12, 7, 10, 23, 1, 238, 195, 2, 3, 4, 18, 16, 11, 30, 20, 24, 34, 11, 11, 11, 20, 13, 11, 11, 29, 16, 192, 9, 18, 6, 7, 9, 10, 10, 11, 31, 19, 17, 40, 22, 91, 245, 93, 150, 52, 52, 56, 1, 14, 13, 9, 25, 15, 15, 23, 9, 14, 14, 45, 41, 41, 118, 72, 9, 24, 35, 12, 16, 14, 9, 10, 13, 46, 32, 119, 59, 57, 43, 119, 73, 72, 118, 41, 41, 45, 19, 16, 16, 44, 24, 23, 38, 14, 22, 22, 205, 16, 15, 14, 39, 24, 34, 62, 24, 23, 28, 35, 50, 27, 36, 54, 48, 5, 10, 3, 5, 6, 1, 202, 61, 21, 39, 17, 26, 41, 12, 8, 9, 16, 15, 16, 46, 29, 0, 0, 2, 0, 71, 255, 235, 4, 166, 5, 197, 0, 29, 0, 49, 0, 0, 97, 53, 33, 17, 33, 53, 33, 17, 33, 53, 33, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 37, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 17, 6, 6, 4, 166, 254, 154, 1, 40, 254, 216, 1, 91, 254, 102, 63, 136, 71, 93, 157, 57, 57, 64, 64, 58, 57, 158, 93, 71, 134, 63, 254, 244, 44, 70, 24, 25, 26, 26, 24, 24, 69, 44, 23, 47, 23, 22, 46, 232, 1, 160, 217, 1, 118, 217, 8, 13, 62, 64, 64, 195, 132, 254, 48, 132, 195, 64, 64, 62, 13, 8, 211, 26, 32, 32, 111, 84, 1, 210, 88, 115, 34, 34, 27, 2, 2, 251, 238, 1, 2, 0, 0, 3, 0, 38, 255, 236, 4, 161, 4, 79, 0, 67, 0, 99, 0, 117, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 33, 53, 52, 38, 39, 38, 38, 35, 38, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 50, 22, 23, 22, 22, 21, 21, 35, 53, 52, 54, 55, 54, 54, 55, 54, 54, 38, 49, 47, 46, 136, 88, 47, 81, 34, 21, 37, 17, 17, 39, 21, 40, 94, 54, 43, 75, 31, 26, 43, 17, 60, 17, 31, 17, 17, 40, 26, 39, 60, 20, 13, 19, 6, 6, 5, 1, 164, 45, 43, 44, 126, 80, 41, 73, 31, 20, 35, 16, 15, 32, 18, 35, 82, 47, 87, 136, 46, 47, 48, 1, 5, 10, 12, 12, 39, 30, 31, 41, 12, 5, 7, 3, 4, 3, 3, 4, 3, 11, 7, 12, 38, 26, 27, 37, 12, 16, 13, 2, 36, 20, 30, 10, 11, 10, 163, 2, 3, 4, 11, 9, 8, 27, 2, 128, 200, 109, 171, 59, 59, 62, 19, 18, 11, 29, 18, 16, 27, 11, 20, 21, 15, 13, 11, 29, 16, 180, 9, 15, 5, 6, 6, 23, 22, 14, 38, 23, 21, 48, 28, 34, 218, 97, 159, 56, 56, 62, 1, 17, 17, 10, 27, 17, 14, 24, 10, 19, 20, 64, 59, 60, 171, 254, 204, 201, 56, 88, 30, 30, 32, 32, 30, 12, 30, 17, 24, 58, 33, 201, 34, 58, 24, 24, 38, 14, 22, 23, 23, 22, 29, 97, 1, 247, 17, 16, 19, 57, 36, 85, 26, 31, 53, 22, 29, 32, 12, 12, 13, 0, 0, 2, 0, 38, 255, 235, 4, 77, 5, 235, 0, 43, 0, 71, 0, 0, 65, 55, 39, 7, 38, 38, 39, 7, 22, 22, 23, 7, 23, 55, 22, 22, 23, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 53, 52, 2, 1, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 20, 20, 21, 21, 20, 6, 7, 6, 6, 7, 6, 6, 3, 131, 177, 78, 199, 65, 148, 84, 88, 35, 70, 33, 211, 78, 242, 44, 68, 21, 54, 135, 75, 114, 182, 63, 64, 69, 75, 69, 68, 192, 116, 73, 135, 58, 72, 114, 36, 26, 29, 107, 254, 80, 59, 91, 31, 32, 33, 31, 30, 29, 84, 54, 107, 139, 32, 13, 13, 15, 52, 33, 28, 68, 4, 240, 98, 113, 110, 54, 75, 21, 217, 13, 34, 22, 117, 112, 133, 49, 126, 79, 42, 46, 72, 65, 66, 184, 112, 102, 178, 66, 67, 76, 35, 34, 40, 128, 83, 60, 142, 78, 68, 192, 1, 54, 252, 77, 43, 37, 36, 96, 54, 56, 104, 40, 39, 48, 56, 38, 20, 15, 7, 65, 47, 85, 36, 46, 71, 25, 20, 22, 0, 2, 0, 136, 0, 0, 4, 150, 5, 176, 0, 18, 0, 33, 0, 0, 65, 33, 17, 33, 17, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 159, 254, 233, 1, 23, 227, 129, 198, 68, 67, 70, 70, 67, 68, 198, 129, 227, 227, 68, 96, 31, 30, 28, 28, 30, 31, 96, 68, 227, 5, 176, 250, 80, 1, 33, 67, 60, 59, 165, 98, 97, 165, 59, 59, 67, 224, 38, 31, 31, 82, 43, 43, 81, 31, 31, 37, 0, 0, 2, 0, 145, 254, 96, 4, 89, 6, 7, 0, 29, 0, 55, 0, 0, 65, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 17, 33, 17, 33, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 37, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 89, 55, 53, 54, 158, 103, 48, 82, 35, 29, 51, 22, 254, 234, 1, 22, 17, 37, 20, 40, 97, 58, 102, 157, 54, 53, 55, 254, 234, 23, 26, 26, 83, 59, 37, 61, 24, 24, 36, 13, 15, 43, 29, 21, 54, 31, 58, 84, 26, 26, 25, 2, 19, 21, 123, 203, 73, 72, 79, 18, 18, 14, 40, 25, 2, 44, 248, 89, 1, 255, 19, 32, 13, 25, 26, 84, 74, 73, 202, 139, 21, 67, 119, 45, 45, 52, 16, 14, 15, 42, 26, 1, 194, 30, 45, 14, 10, 11, 50, 43, 44, 119, 0, 0, 1, 0, 159, 0, 0, 4, 183, 4, 58, 0, 12, 0, 0, 65, 19, 33, 1, 1, 33, 1, 7, 17, 33, 17, 33, 17, 2, 92, 247, 1, 100, 254, 107, 1, 130, 254, 163, 254, 217, 107, 254, 234, 1, 22, 1, 171, 254, 85, 2, 122, 1, 192, 254, 165, 127, 1, 218, 251, 198, 1, 30, 0, 1, 0, 162, 255, 235, 4, 157, 6, 26, 0, 81, 0, 0, 97, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 1, 183, 27, 23, 23, 63, 35, 25, 50, 20, 20, 25, 28, 19, 25, 42, 40, 30, 29, 69, 30, 29, 40, 19, 18, 17, 46, 29, 35, 66, 28, 29, 46, 16, 54, 21, 64, 38, 38, 82, 39, 95, 149, 51, 51, 53, 40, 29, 30, 69, 29, 30, 40, 33, 21, 19, 37, 65, 54, 55, 144, 79, 102, 171, 61, 62, 69, 4, 48, 70, 101, 33, 32, 31, 22, 20, 21, 59, 37, 51, 73, 31, 40, 95, 69, 65, 98, 39, 39, 65, 31, 32, 67, 41, 34, 55, 18, 17, 18, 11, 8, 8, 20, 9, 221, 14, 21, 7, 8, 8, 49, 47, 47, 139, 89, 63, 101, 42, 41, 71, 33, 32, 64, 35, 57, 73, 33, 33, 90, 78, 92, 137, 46, 46, 45, 63, 61, 62, 182, 118, 251, 204, 0, 2, 0, 156, 255, 236, 4, 115, 4, 79, 0, 42, 0, 56, 0, 0, 65, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 20, 20, 21, 33, 21, 20, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 3, 34, 38, 39, 38, 38, 53, 53, 33, 6, 6, 7, 6, 6, 2, 96, 75, 130, 54, 54, 84, 30, 79, 31, 66, 38, 38, 91, 57, 63, 97, 35, 32, 40, 9, 253, 67, 62, 61, 60, 179, 117, 114, 186, 66, 66, 72, 74, 68, 69, 197, 96, 54, 78, 25, 25, 24, 1, 168, 9, 35, 27, 27, 74, 4, 79, 22, 17, 18, 45, 24, 180, 17, 30, 11, 11, 13, 39, 34, 33, 89, 51, 3, 2, 1, 158, 111, 180, 63, 64, 70, 1, 83, 74, 73, 202, 119, 40, 113, 194, 72, 71, 82, 252, 125, 31, 27, 27, 75, 45, 25, 50, 84, 30, 31, 35, 0, 0, 1, 0, 127, 255, 43, 4, 116, 6, 152, 0, 79, 0, 0, 65, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 33, 20, 22, 23, 22, 22, 23, 21, 51, 53, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 39, 53, 35, 21, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 95, 25, 24, 27, 84, 57, 45, 86, 33, 34, 42, 254, 233, 74, 62, 61, 160, 85, 159, 94, 152, 54, 54, 58, 63, 58, 59, 164, 101, 67, 90, 27, 28, 23, 23, 24, 24, 75, 51, 44, 73, 26, 29, 32, 1, 22, 55, 50, 51, 144, 90, 160, 92, 150, 53, 53, 58, 64, 59, 58, 166, 101, 63, 89, 28, 27, 25, 1, 126, 37, 64, 23, 26, 29, 24, 29, 28, 97, 72, 120, 171, 56, 56, 59, 8, 196, 196, 9, 61, 51, 51, 141, 88, 96, 141, 54, 53, 81, 38, 24, 47, 26, 26, 61, 39, 39, 66, 25, 24, 27, 28, 27, 31, 96, 64, 100, 161, 60, 59, 74, 12, 217, 215, 9, 64, 52, 52, 141, 85, 97, 141, 53, 53, 80, 36, 22, 45, 27, 27, 65, 0, 0, 1, 0, 142, 255, 11, 4, 85, 5, 38, 0, 57, 0, 0, 101, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 33, 54, 38, 39, 38, 38, 39, 53, 35, 21, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 21, 51, 53, 54, 54, 55, 54, 54, 39, 33, 22, 6, 7, 6, 6, 2, 133, 67, 87, 25, 26, 20, 21, 26, 25, 86, 66, 45, 76, 27, 27, 28, 2, 1, 6, 2, 53, 48, 49, 136, 81, 200, 99, 150, 50, 50, 51, 51, 50, 50, 150, 99, 200, 77, 135, 50, 49, 56, 2, 254, 250, 2, 31, 28, 28, 74, 202, 54, 45, 44, 117, 63, 30, 62, 116, 45, 45, 54, 31, 26, 26, 72, 40, 84, 140, 54, 53, 69, 13, 223, 225, 18, 97, 71, 71, 180, 101, 30, 101, 180, 71, 71, 96, 18, 233, 232, 13, 67, 51, 50, 128, 74, 38, 62, 22, 22, 24, 0, 1, 0, 115, 0, 0, 4, 149, 5, 196, 0, 51, 0, 0, 65, 33, 53, 33, 39, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 35, 21, 51, 23, 20, 6, 7, 6, 6, 7, 35, 21, 33, 53, 33, 54, 54, 55, 54, 54, 53, 2, 48, 1, 46, 254, 202, 9, 26, 23, 22, 62, 36, 36, 65, 25, 25, 29, 1, 13, 59, 56, 57, 166, 107, 100, 167, 60, 60, 66, 7, 155, 162, 5, 5, 8, 9, 29, 24, 89, 4, 31, 253, 98, 14, 21, 7, 11, 10, 2, 73, 221, 234, 51, 79, 26, 26, 27, 19, 22, 22, 71, 51, 93, 152, 54, 54, 59, 59, 55, 56, 163, 103, 234, 221, 167, 30, 63, 27, 27, 39, 6, 226, 226, 17, 36, 20, 29, 66, 37, 0, 0, 1, 0, 21, 0, 0, 4, 200, 5, 176, 0, 25, 0, 0, 97, 33, 17, 33, 53, 33, 53, 33, 53, 35, 1, 33, 1, 7, 35, 39, 1, 33, 1, 33, 21, 33, 21, 33, 21, 33, 1, 223, 1, 25, 1, 75, 254, 181, 1, 75, 250, 1, 127, 254, 203, 254, 246, 25, 2, 25, 254, 246, 254, 202, 1, 128, 254, 243, 1, 87, 254, 169, 1, 87, 1, 31, 165, 124, 166, 2, 202, 253, 206, 57, 56, 2, 51, 253, 54, 166, 124, 165, 0, 1, 0, 148, 254, 75, 4, 106, 6, 45, 0, 47, 0, 0, 65, 53, 35, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 35, 21, 51, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 3, 177, 206, 25, 26, 28, 89, 60, 44, 67, 28, 24, 51, 95, 51, 111, 175, 61, 61, 65, 161, 161, 24, 26, 18, 52, 34, 24, 99, 20, 15, 48, 94, 48, 94, 149, 52, 51, 55, 3, 109, 205, 79, 45, 70, 24, 27, 27, 16, 14, 216, 17, 24, 55, 53, 53, 157, 102, 79, 205, 252, 134, 56, 84, 24, 17, 18, 17, 16, 221, 21, 16, 55, 54, 54, 158, 103, 3, 122, 0, 255, 255, 0, 0, 0, 0, 4, 109, 5, 176, 6, 38, 0, 7, 0, 0, 0, 7, 2, 106, 254, 211, 254, 86, 0, 1, 0, 111, 0, 0, 4, 143, 5, 196, 0, 59, 0, 0, 65, 53, 33, 39, 33, 53, 33, 39, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 35, 21, 51, 23, 35, 21, 51, 23, 20, 6, 7, 6, 6, 7, 35, 21, 33, 53, 33, 54, 54, 55, 54, 54, 39, 39, 3, 76, 254, 221, 5, 1, 40, 254, 210, 5, 25, 23, 22, 62, 36, 36, 66, 25, 25, 29, 1, 13, 59, 56, 57, 166, 107, 100, 167, 60, 60, 66, 4, 150, 155, 3, 158, 163, 2, 5, 8, 9, 29, 24, 89, 4, 31, 253, 98, 15, 23, 7, 11, 9, 2, 2, 1, 213, 153, 114, 153, 151, 51, 79, 26, 26, 27, 19, 22, 22, 71, 51, 93, 152, 54, 54, 59, 59, 55, 56, 163, 103, 151, 153, 114, 153, 51, 30, 63, 27, 27, 39, 6, 226, 226, 18, 39, 21, 28, 64, 35, 38, 0, 2, 0, 123, 255, 235, 4, 180, 5, 176, 0, 45, 0, 60, 0, 0, 65, 53, 35, 17, 35, 17, 35, 38, 38, 39, 38, 38, 35, 35, 17, 51, 17, 51, 50, 54, 55, 54, 54, 55, 51, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 5, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 4, 160, 174, 200, 84, 8, 53, 44, 44, 122, 77, 255, 200, 55, 76, 121, 45, 44, 53, 9, 84, 37, 33, 33, 89, 51, 43, 86, 22, 27, 11, 42, 20, 19, 34, 13, 13, 15, 253, 81, 55, 41, 58, 18, 18, 17, 17, 18, 18, 58, 41, 3, 164, 150, 1, 4, 254, 252, 82, 138, 50, 49, 55, 250, 80, 2, 50, 54, 49, 49, 136, 82, 253, 136, 87, 122, 38, 39, 35, 23, 20, 139, 4, 10, 14, 17, 17, 59, 45, 2, 121, 210, 2, 62, 49, 40, 41, 104, 55, 54, 103, 39, 40, 49, 0, 0, 2, 0, 83, 255, 229, 4, 125, 4, 41, 0, 35, 0, 59, 0, 0, 101, 23, 55, 39, 54, 54, 53, 52, 38, 39, 55, 39, 7, 38, 38, 35, 34, 6, 7, 39, 7, 23, 6, 6, 21, 20, 22, 23, 7, 23, 55, 22, 22, 51, 50, 54, 1, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 3, 136, 103, 142, 112, 34, 37, 41, 38, 120, 142, 116, 60, 140, 77, 77, 139, 60, 114, 141, 116, 38, 43, 38, 35, 108, 141, 100, 62, 147, 81, 81, 148, 253, 229, 48, 42, 42, 113, 65, 64, 113, 42, 42, 48, 48, 42, 42, 113, 64, 65, 113, 42, 42, 48, 78, 105, 145, 113, 60, 139, 78, 81, 146, 62, 123, 145, 119, 42, 46, 45, 42, 117, 144, 119, 62, 148, 83, 78, 142, 60, 110, 144, 102, 46, 50, 50, 1, 222, 72, 123, 45, 45, 52, 52, 45, 45, 123, 72, 72, 124, 45, 46, 53, 53, 46, 45, 124, 0, 2, 1, 196, 255, 241, 3, 8, 5, 176, 0, 3, 0, 15, 0, 0, 65, 19, 33, 19, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 2, 229, 16, 254, 227, 16, 36, 86, 76, 74, 88, 88, 74, 76, 86, 1, 253, 3, 179, 252, 77, 254, 139, 64, 87, 87, 64, 66, 88, 88, 0, 2, 1, 226, 254, 132, 3, 39, 4, 79, 0, 3, 0, 15, 0, 0, 65, 3, 33, 3, 19, 52, 38, 35, 34, 6, 21, 20, 22, 51, 50, 54, 2, 2, 17, 1, 30, 16, 40, 90, 73, 76, 86, 86, 76, 73, 90, 2, 53, 252, 79, 3, 177, 1, 126, 67, 89, 90, 66, 64, 87, 86, 0, 2, 0, 160, 255, 244, 4, 78, 5, 197, 0, 49, 0, 61, 0, 0, 65, 51, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 33, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 243, 250, 4, 8, 7, 34, 30, 49, 97, 38, 38, 48, 64, 60, 61, 176, 111, 99, 170, 63, 63, 74, 1, 1, 23, 1, 33, 27, 26, 68, 36, 46, 71, 25, 24, 26, 34, 27, 28, 68, 34, 47, 52, 13, 13, 7, 41, 86, 76, 74, 89, 89, 74, 76, 86, 1, 186, 40, 57, 24, 24, 46, 30, 43, 91, 51, 50, 117, 71, 96, 146, 50, 49, 50, 49, 50, 50, 151, 102, 46, 66, 21, 21, 19, 20, 20, 22, 67, 46, 38, 76, 36, 37, 69, 31, 37, 65, 38, 39, 96, 254, 140, 64, 87, 87, 64, 66, 89, 89, 0, 2, 0, 202, 254, 119, 4, 73, 4, 52, 0, 49, 0, 61, 0, 0, 65, 35, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 33, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3, 23, 249, 1, 1, 7, 7, 31, 31, 47, 94, 37, 38, 46, 61, 57, 57, 165, 105, 94, 164, 60, 60, 70, 2, 254, 233, 1, 29, 24, 24, 63, 35, 38, 62, 20, 20, 21, 33, 26, 26, 65, 32, 48, 51, 12, 12, 5, 253, 56, 76, 75, 60, 60, 75, 76, 56, 2, 127, 40, 55, 23, 23, 44, 29, 44, 92, 51, 52, 118, 70, 95, 146, 49, 50, 51, 48, 49, 49, 149, 101, 45, 64, 20, 20, 19, 21, 21, 21, 61, 40, 42, 79, 38, 37, 71, 33, 36, 64, 38, 37, 97, 1, 115, 52, 73, 72, 53, 57, 77, 78, 0, 0, 1, 1, 104, 254, 106, 2, 199, 0, 243, 0, 9, 0, 0, 101, 55, 33, 21, 20, 6, 7, 23, 54, 54, 2, 198, 1, 254, 251, 52, 38, 147, 90, 113, 22, 221, 234, 110, 157, 72, 76, 80, 234, 0, 0, 1, 1, 166, 255, 236, 3, 40, 1, 89, 0, 11, 0, 0, 101, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 166, 104, 89, 88, 105, 103, 90, 91, 102, 161, 77, 104, 103, 78, 78, 106, 107, 255, 255, 1, 180, 255, 236, 3, 54, 4, 147, 4, 38, 0, 96, 14, 0, 0, 7, 0, 96, 0, 14, 3, 58, 255, 255, 1, 180, 254, 106, 3, 93, 4, 147, 4, 39, 0, 96, 0, 53, 3, 58, 0, 6, 0, 95, 76, 0, 255, 255, 0, 101, 255, 235, 5, 1, 1, 88, 4, 39, 0, 96, 254, 191, 255, 255, 0, 38, 0, 96, 76, 255, 0, 7, 0, 96, 1, 217, 255, 255, 0, 1, 1, 238, 2, 40, 3, 42, 3, 83, 0, 11, 0, 0, 65, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 238, 85, 73, 71, 87, 87, 71, 73, 85, 2, 189, 63, 86, 84, 65, 65, 85, 87, 0, 0, 1, 1, 148, 1, 248, 3, 104, 3, 245, 0, 25, 0, 0, 65, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 148, 33, 30, 30, 87, 54, 54, 87, 31, 30, 32, 32, 30, 31, 87, 54, 55, 86, 30, 30, 33, 3, 18, 58, 49, 82, 30, 30, 33, 33, 30, 30, 82, 49, 58, 49, 84, 30, 30, 34, 34, 30, 30, 84, 0, 0, 1, 0, 148, 255, 39, 4, 36, 0, 0, 0, 3, 0, 0, 69, 53, 33, 21, 4, 36, 252, 112, 217, 217, 217, 0, 0, 1, 1, 26, 2, 18, 4, 91, 2, 243, 0, 3, 0, 0, 65, 53, 33, 21, 4, 91, 252, 191, 2, 18, 225, 225, 0, 1, 0, 61, 2, 89, 4, 155, 3, 60, 0, 3, 0, 0, 65, 53, 33, 21, 4, 155, 251, 162, 2, 89, 227, 227, 0, 1, 0, 57, 2, 89, 4, 151, 3, 60, 0, 3, 0, 0, 65, 53, 33, 21, 4, 151, 251, 162, 2, 89, 227, 227, 0, 1, 1, 201, 3, 225, 2, 159, 6, 0, 0, 5, 0, 0, 65, 53, 35, 21, 17, 51, 2, 159, 214, 186, 5, 114, 142, 141, 254, 110, 0, 2, 1, 25, 3, 240, 3, 130, 6, 0, 0, 5, 0, 11, 0, 0, 65, 53, 35, 21, 17, 51, 1, 53, 35, 21, 17, 51, 1, 231, 206, 177, 1, 184, 205, 177, 5, 148, 108, 113, 254, 97, 1, 164, 108, 110, 254, 94, 0, 1, 1, 235, 3, 244, 3, 34, 6, 43, 0, 12, 0, 0, 65, 21, 51, 53, 52, 54, 55, 39, 6, 6, 7, 6, 6, 1, 235, 223, 50, 38, 128, 39, 66, 25, 25, 28, 4, 164, 176, 177, 97, 149, 65, 79, 35, 92, 52, 52, 109, 0, 0, 1, 1, 210, 3, 228, 3, 8, 6, 24, 0, 12, 0, 0, 65, 53, 35, 21, 20, 6, 7, 23, 54, 54, 55, 54, 54, 3, 8, 223, 49, 38, 127, 39, 66, 25, 25, 28, 5, 107, 173, 173, 97, 150, 65, 79, 35, 93, 52, 51, 109, 0, 0, 1, 1, 208, 254, 187, 3, 12, 1, 13, 0, 12, 0, 0, 101, 53, 35, 21, 20, 6, 7, 23, 54, 54, 55, 54, 54, 3, 12, 233, 45, 38, 133, 38, 67, 25, 24, 29, 65, 204, 205, 97, 147, 66, 79, 35, 92, 52, 52, 108, 255, 255, 1, 70, 3, 244, 3, 210, 6, 43, 4, 39, 0, 108, 255, 91, 0, 0, 0, 7, 0, 108, 0, 176, 0, 0, 255, 255, 1, 44, 3, 228, 3, 201, 6, 24, 4, 39, 0, 109, 255, 90, 0, 0, 0, 7, 0, 109, 0, 193, 0, 0, 0, 2, 1, 65, 254, 185, 3, 197, 0, 235, 0, 12, 0, 25, 0, 0, 101, 53, 35, 21, 20, 6, 7, 23, 54, 54, 55, 54, 54, 37, 55, 35, 21, 20, 6, 7, 23, 54, 54, 55, 54, 54, 2, 124, 232, 45, 38, 139, 39, 64, 24, 23, 26, 1, 72, 1, 233, 51, 38, 139, 39, 66, 25, 24, 28, 63, 172, 173, 97, 148, 65, 79, 34, 93, 52, 52, 108, 51, 172, 173, 97, 148, 65, 79, 34, 93, 52, 52, 108, 0, 255, 255, 1, 201, 3, 225, 2, 159, 6, 0, 6, 6, 0, 106, 0, 0, 255, 255, 1, 25, 3, 240, 3, 130, 6, 0, 6, 6, 0, 107, 0, 0, 0, 1, 1, 89, 254, 55, 3, 129, 6, 83, 0, 39, 0, 0, 65, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 7, 6, 6, 1, 89, 43, 37, 37, 99, 55, 55, 117, 55, 54, 39, 80, 36, 34, 59, 22, 16, 27, 28, 23, 26, 69, 40, 31, 64, 32, 54, 55, 117, 55, 55, 99, 37, 37, 43, 2, 80, 22, 142, 248, 105, 106, 174, 66, 67, 94, 25, 150, 30, 90, 61, 56, 150, 88, 63, 212, 125, 26, 127, 216, 89, 92, 156, 57, 44, 68, 24, 152, 25, 93, 67, 67, 174, 105, 106, 249, 0, 0, 1, 1, 60, 254, 55, 3, 113, 6, 83, 0, 39, 0, 0, 65, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 54, 3, 113, 44, 38, 38, 101, 57, 57, 120, 57, 53, 30, 61, 29, 43, 77, 27, 21, 25, 25, 21, 25, 65, 39, 33, 70, 35, 53, 57, 120, 57, 57, 101, 38, 38, 44, 2, 58, 22, 137, 245, 106, 106, 175, 69, 68, 96, 25, 149, 23, 65, 41, 62, 170, 107, 86, 204, 118, 26, 121, 208, 86, 94, 152, 60, 51, 77, 26, 150, 25, 96, 69, 68, 175, 106, 106, 245, 0, 0, 1, 1, 144, 254, 177, 3, 79, 6, 154, 0, 7, 0, 0, 65, 53, 33, 17, 33, 53, 35, 17, 3, 79, 254, 65, 1, 191, 170, 5, 195, 215, 248, 23, 215, 6, 59, 0, 0, 1, 1, 144, 254, 177, 3, 80, 6, 154, 0, 7, 0, 0, 65, 21, 51, 17, 35, 21, 33, 17, 1, 144, 171, 171, 1, 192, 6, 154, 215, 249, 197, 215, 7, 233, 0, 1, 1, 53, 254, 152, 3, 206, 6, 61, 0, 42, 0, 0, 65, 55, 6, 38, 39, 38, 38, 53, 53, 52, 38, 39, 54, 54, 53, 53, 52, 54, 55, 54, 54, 23, 39, 34, 6, 7, 6, 6, 21, 21, 20, 6, 35, 21, 50, 22, 21, 21, 20, 22, 23, 22, 22, 3, 172, 34, 50, 63, 18, 18, 13, 116, 124, 123, 117, 5, 15, 15, 66, 61, 34, 97, 140, 43, 52, 48, 124, 127, 127, 124, 43, 48, 45, 145, 254, 152, 158, 2, 55, 45, 45, 111, 54, 163, 119, 182, 48, 48, 184, 119, 163, 54, 111, 45, 45, 55, 2, 157, 74, 58, 67, 181, 85, 163, 135, 116, 200, 116, 133, 163, 79, 165, 69, 66, 87, 0, 0, 1, 1, 76, 254, 152, 3, 229, 6, 61, 0, 54, 0, 0, 69, 23, 50, 54, 55, 54, 54, 53, 53, 52, 54, 55, 54, 54, 51, 53, 34, 38, 39, 38, 38, 53, 53, 52, 38, 39, 38, 38, 35, 7, 54, 22, 23, 22, 22, 21, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 21, 20, 6, 7, 6, 6, 1, 76, 34, 99, 145, 45, 45, 46, 15, 15, 28, 110, 83, 74, 105, 29, 22, 21, 37, 44, 46, 146, 107, 34, 61, 66, 15, 15, 5, 38, 40, 27, 74, 48, 59, 85, 28, 28, 27, 14, 18, 18, 63, 202, 158, 85, 69, 66, 168, 78, 163, 47, 75, 28, 52, 47, 200, 38, 41, 30, 86, 56, 163, 76, 163, 66, 73, 87, 157, 2, 55, 45, 45, 111, 54, 163, 69, 123, 50, 34, 56, 20, 25, 71, 45, 45, 104, 58, 163, 54, 111, 45, 45, 55, 0, 0, 1, 1, 136, 0, 128, 3, 87, 3, 159, 0, 6, 0, 0, 65, 19, 35, 1, 21, 1, 51, 2, 101, 242, 181, 254, 230, 1, 26, 181, 2, 15, 1, 144, 254, 122, 19, 254, 122, 0, 0, 1, 1, 129, 0, 127, 3, 81, 3, 158, 0, 6, 0, 0, 65, 35, 19, 3, 51, 1, 53, 2, 54, 181, 241, 241, 181, 1, 27, 3, 158, 254, 112, 254, 113, 1, 134, 19, 0, 1, 0, 99, 0, 146, 4, 73, 4, 182, 0, 11, 0, 0, 65, 17, 33, 17, 33, 21, 33, 17, 33, 17, 33, 53, 2, 219, 254, 247, 254, 145, 1, 111, 1, 9, 1, 110, 3, 44, 1, 138, 254, 118, 254, 254, 100, 1, 156, 254, 0, 1, 0, 149, 2, 89, 3, 241, 3, 60, 0, 3, 0, 0, 65, 53, 33, 21, 3, 241, 252, 164, 2, 89, 227, 227, 0, 2, 0, 147, 0, 0, 4, 39, 5, 4, 0, 11, 0, 15, 0, 0, 65, 17, 35, 17, 33, 21, 33, 17, 51, 17, 33, 53, 3, 53, 33, 21, 2, 220, 245, 254, 172, 1, 84, 245, 1, 75, 32, 252, 164, 3, 165, 1, 95, 254, 161, 232, 254, 142, 1, 114, 232, 252, 91, 227, 227, 0, 0, 1, 0, 157, 0, 207, 4, 77, 4, 141, 0, 11, 0, 0, 83, 23, 1, 1, 55, 1, 1, 39, 1, 1, 7, 1, 157, 165, 1, 51, 1, 51, 165, 254, 203, 1, 53, 165, 254, 205, 254, 205, 165, 1, 53, 1, 115, 164, 1, 57, 254, 199, 164, 1, 59, 1, 59, 164, 254, 199, 1, 57, 164, 254, 197, 0, 0, 3, 0, 108, 0, 137, 4, 108, 4, 206, 0, 3, 0, 15, 0, 27, 0, 0, 65, 53, 33, 21, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 4, 108, 252, 0, 1, 101, 82, 70, 71, 82, 82, 71, 70, 82, 2, 82, 70, 71, 82, 82, 71, 70, 82, 2, 61, 227, 227, 2, 4, 61, 80, 80, 61, 61, 80, 80, 252, 152, 61, 80, 80, 61, 61, 81, 82, 0, 0, 2, 0, 158, 1, 30, 4, 80, 3, 177, 0, 3, 0, 7, 0, 0, 65, 53, 33, 21, 1, 53, 33, 21, 4, 80, 252, 78, 3, 178, 252, 78, 2, 205, 228, 228, 254, 81, 227, 227, 0, 1, 0, 152, 0, 129, 4, 74, 4, 81, 0, 19, 0, 0, 65, 53, 33, 55, 33, 53, 35, 55, 39, 7, 33, 21, 33, 7, 33, 21, 51, 7, 23, 55, 4, 74, 254, 71, 109, 1, 76, 210, 52, 122, 86, 253, 188, 1, 202, 109, 254, 163, 228, 50, 123, 83, 1, 30, 227, 204, 228, 97, 63, 160, 228, 204, 227, 94, 63, 157, 0, 2, 0, 142, 0, 241, 4, 80, 4, 8, 0, 25, 0, 51, 0, 0, 83, 23, 54, 54, 51, 54, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 7, 34, 6, 3, 23, 54, 54, 51, 54, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 7, 34, 6, 152, 10, 48, 127, 66, 79, 103, 65, 60, 97, 74, 67, 109, 47, 10, 47, 116, 67, 75, 96, 59, 65, 102, 79, 67, 122, 57, 10, 48, 121, 67, 79, 102, 65, 59, 96, 75, 66, 117, 47, 10, 49, 121, 66, 74, 97, 60, 65, 102, 79, 66, 114, 3, 114, 211, 70, 76, 2, 42, 33, 30, 39, 76, 70, 211, 69, 77, 39, 30, 33, 42, 2, 79, 254, 15, 211, 67, 79, 2, 42, 33, 30, 39, 78, 68, 211, 68, 78, 39, 30, 33, 42, 2, 78, 0, 1, 0, 156, 0, 144, 4, 17, 4, 79, 0, 8, 0, 0, 101, 17, 37, 39, 55, 37, 17, 1, 21, 4, 17, 253, 220, 68, 68, 2, 36, 252, 139, 144, 1, 15, 183, 24, 25, 186, 1, 14, 254, 145, 225, 0, 0, 1, 0, 161, 0, 143, 4, 37, 4, 79, 0, 8, 0, 0, 119, 1, 53, 1, 17, 5, 23, 7, 5, 161, 3, 132, 252, 124, 2, 62, 60, 61, 253, 195, 143, 1, 111, 227, 1, 110, 254, 243, 189, 20, 20, 192, 0, 2, 0, 170, 0, 35, 4, 31, 4, 231, 0, 8, 0, 12, 0, 0, 65, 53, 37, 39, 55, 37, 53, 1, 21, 1, 53, 33, 21, 4, 31, 253, 220, 68, 68, 2, 36, 252, 139, 3, 103, 252, 164, 1, 136, 244, 164, 22, 22, 168, 243, 254, 181, 202, 253, 81, 227, 227, 0, 2, 0, 171, 0, 34, 4, 47, 4, 239, 0, 8, 0, 12, 0, 0, 83, 1, 53, 1, 21, 5, 23, 7, 5, 1, 53, 33, 21, 171, 3, 132, 252, 124, 2, 62, 60, 61, 253, 195, 3, 96, 252, 164, 1, 143, 1, 74, 204, 1, 74, 242, 170, 18, 18, 173, 253, 160, 227, 227, 0, 1, 0, 185, 1, 118, 3, 252, 3, 37, 0, 5, 0, 0, 65, 17, 33, 21, 33, 17, 3, 252, 252, 189, 2, 123, 1, 118, 1, 175, 171, 254, 252, 0, 0, 1, 0, 220, 255, 131, 4, 0, 5, 176, 0, 3, 0, 0, 69, 1, 33, 1, 1, 223, 2, 33, 254, 253, 253, 223, 125, 6, 45, 249, 211, 0, 0, 1, 0, 240, 255, 131, 4, 21, 5, 176, 0, 3, 0, 0, 83, 1, 33, 1, 240, 2, 33, 1, 4, 253, 223, 5, 176, 249, 211, 6, 45, 0, 0, 1, 1, 24, 0, 227, 3, 154, 4, 208, 0, 3, 0, 0, 101, 1, 39, 1, 1, 155, 1, 255, 131, 254, 1, 227, 3, 170, 67, 252, 86, 0, 0, 5, 0, 35, 255, 236, 4, 169, 5, 197, 0, 25, 0, 51, 0, 77, 0, 103, 0, 107, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 5, 1, 39, 1, 35, 36, 36, 35, 107, 72, 72, 106, 35, 35, 35, 35, 35, 35, 107, 73, 71, 107, 35, 36, 35, 188, 10, 12, 11, 36, 27, 28, 37, 12, 11, 10, 10, 11, 11, 37, 27, 27, 38, 11, 12, 10, 1, 144, 36, 36, 35, 108, 72, 72, 106, 36, 35, 34, 35, 35, 35, 107, 73, 71, 107, 35, 36, 36, 188, 10, 11, 11, 38, 27, 27, 37, 12, 11, 10, 6, 10, 10, 38, 31, 25, 37, 12, 13, 12, 254, 116, 2, 49, 136, 253, 207, 4, 172, 77, 57, 101, 38, 39, 44, 44, 39, 38, 101, 57, 77, 58, 102, 38, 38, 45, 45, 38, 38, 102, 135, 77, 23, 43, 17, 16, 19, 19, 16, 17, 43, 23, 77, 23, 43, 16, 17, 19, 19, 17, 16, 43, 253, 9, 78, 57, 102, 38, 38, 44, 44, 38, 38, 102, 57, 78, 57, 102, 39, 38, 44, 44, 38, 39, 102, 135, 78, 23, 42, 17, 16, 19, 19, 16, 17, 42, 23, 78, 24, 42, 16, 17, 19, 19, 17, 16, 43, 38, 4, 4, 65, 251, 252, 0, 6, 0, 75, 255, 236, 4, 181, 5, 196, 0, 49, 0, 75, 0, 101, 0, 127, 0, 153, 0, 157, 0, 0, 65, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 3, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 37, 1, 39, 1, 1, 63, 35, 34, 33, 99, 65, 33, 59, 24, 18, 31, 13, 12, 29, 17, 25, 62, 35, 64, 98, 33, 33, 34, 34, 33, 34, 99, 64, 37, 64, 27, 14, 26, 11, 13, 32, 18, 24, 58, 34, 64, 98, 33, 34, 35, 244, 33, 33, 32, 94, 61, 63, 98, 34, 33, 35, 34, 34, 34, 99, 64, 61, 93, 32, 32, 33, 1, 175, 7, 9, 9, 30, 22, 21, 30, 9, 9, 8, 4, 8, 8, 30, 25, 20, 30, 9, 10, 10, 254, 255, 7, 9, 9, 30, 22, 21, 30, 10, 9, 8, 8, 9, 9, 29, 21, 22, 30, 9, 10, 8, 2, 103, 7, 9, 9, 30, 22, 21, 30, 9, 9, 8, 4, 7, 8, 30, 26, 20, 30, 9, 10, 10, 253, 105, 3, 53, 97, 252, 203, 1, 41, 38, 57, 102, 38, 38, 44, 12, 12, 8, 22, 13, 12, 21, 8, 13, 13, 44, 38, 38, 102, 57, 38, 57, 102, 39, 38, 44, 15, 15, 7, 20, 11, 13, 23, 8, 12, 12, 44, 38, 39, 102, 3, 73, 36, 57, 101, 38, 39, 44, 44, 39, 38, 101, 57, 36, 58, 102, 38, 38, 45, 45, 38, 38, 102, 252, 30, 38, 23, 42, 17, 16, 19, 19, 16, 17, 42, 23, 38, 24, 42, 16, 17, 19, 19, 17, 16, 43, 3, 155, 36, 23, 43, 17, 16, 20, 20, 16, 17, 43, 23, 36, 23, 43, 16, 17, 19, 19, 17, 16, 43, 252, 147, 38, 23, 42, 17, 16, 19, 19, 16, 17, 42, 23, 38, 24, 42, 16, 17, 19, 19, 17, 16, 43, 239, 2, 86, 94, 253, 170, 0, 0, 1, 2, 21, 254, 102, 2, 195, 5, 176, 0, 3, 0, 0, 65, 17, 35, 17, 2, 195, 174, 254, 102, 7, 74, 248, 182, 0, 0, 2, 1, 232, 254, 242, 2, 229, 5, 176, 0, 3, 0, 7, 0, 0, 65, 51, 17, 35, 55, 17, 35, 17, 1, 232, 253, 253, 253, 253, 254, 242, 3, 27, 173, 2, 246, 253, 10, 0, 0, 1, 0, 106, 0, 0, 4, 72, 5, 176, 0, 11, 0, 0, 65, 53, 33, 17, 33, 17, 33, 21, 33, 17, 33, 17, 4, 72, 254, 154, 254, 233, 254, 159, 1, 97, 1, 23, 3, 82, 232, 1, 118, 254, 138, 232, 252, 174, 3, 82, 0, 1, 0, 128, 254, 96, 4, 93, 5, 176, 0, 19, 0, 0, 97, 53, 33, 17, 33, 53, 33, 17, 33, 17, 33, 21, 33, 17, 33, 21, 33, 17, 33, 17, 4, 93, 254, 154, 1, 102, 254, 154, 254, 233, 254, 160, 1, 96, 254, 160, 1, 96, 1, 23, 223, 2, 121, 226, 1, 118, 254, 138, 226, 253, 135, 223, 254, 96, 1, 160, 0, 3, 0, 89, 255, 236, 4, 130, 4, 78, 0, 51, 0, 75, 0, 99, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 37, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 3, 94, 117, 14, 13, 17, 53, 37, 36, 54, 18, 19, 18, 18, 19, 18, 54, 36, 34, 52, 17, 16, 16, 117, 30, 28, 33, 98, 63, 60, 97, 34, 34, 36, 36, 34, 34, 97, 60, 63, 98, 33, 27, 30, 253, 86, 69, 60, 60, 161, 92, 91, 160, 60, 60, 69, 69, 60, 60, 160, 91, 92, 161, 60, 60, 69, 91, 84, 73, 72, 194, 110, 110, 194, 72, 72, 84, 84, 72, 72, 194, 110, 110, 194, 72, 73, 84, 1, 186, 33, 49, 16, 19, 17, 28, 25, 24, 69, 42, 91, 41, 69, 25, 25, 28, 16, 17, 16, 51, 35, 55, 85, 29, 34, 34, 43, 38, 39, 107, 64, 90, 65, 106, 38, 38, 42, 33, 34, 29, 84, 155, 99, 170, 63, 63, 71, 71, 63, 63, 170, 99, 99, 172, 63, 64, 72, 72, 64, 63, 172, 99, 119, 205, 76, 76, 86, 86, 76, 76, 205, 119, 118, 205, 76, 75, 86, 86, 75, 76, 205, 0, 4, 0, 88, 255, 235, 4, 128, 4, 78, 0, 23, 0, 47, 0, 61, 0, 73, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 37, 51, 23, 51, 3, 54, 54, 53, 52, 38, 35, 35, 17, 51, 17, 53, 51, 50, 22, 21, 20, 6, 7, 6, 6, 35, 88, 84, 72, 72, 194, 110, 110, 194, 72, 72, 84, 84, 72, 72, 194, 110, 110, 194, 72, 72, 84, 91, 69, 60, 60, 161, 91, 91, 161, 60, 60, 69, 69, 60, 60, 161, 91, 91, 161, 60, 60, 69, 1, 77, 119, 117, 116, 146, 66, 70, 133, 111, 211, 113, 98, 73, 58, 19, 16, 16, 42, 22, 2, 29, 119, 205, 76, 76, 86, 86, 76, 76, 205, 119, 119, 205, 76, 75, 86, 86, 75, 76, 205, 119, 99, 171, 63, 63, 71, 71, 63, 63, 171, 99, 99, 171, 63, 63, 72, 72, 63, 63, 171, 42, 252, 1, 31, 23, 78, 56, 97, 96, 253, 131, 1, 97, 184, 42, 55, 21, 32, 11, 11, 12, 0, 2, 0, 115, 3, 146, 4, 112, 5, 176, 0, 12, 0, 20, 0, 0, 65, 17, 51, 17, 35, 3, 3, 35, 17, 51, 17, 19, 51, 1, 53, 33, 21, 51, 17, 51, 17, 3, 244, 124, 145, 128, 120, 153, 124, 114, 70, 254, 133, 254, 108, 136, 136, 4, 247, 254, 155, 2, 30, 254, 140, 1, 116, 253, 226, 1, 102, 254, 154, 1, 181, 105, 105, 254, 78, 1, 178, 0, 0, 2, 1, 101, 3, 163, 3, 125, 5, 196, 0, 23, 0, 47, 0, 0, 65, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 101, 43, 37, 37, 98, 56, 54, 97, 36, 36, 42, 42, 36, 36, 97, 54, 56, 98, 37, 37, 43, 145, 20, 18, 17, 45, 26, 25, 45, 16, 16, 19, 19, 16, 16, 45, 25, 26, 45, 17, 18, 20, 4, 178, 57, 98, 37, 37, 42, 42, 37, 37, 98, 57, 56, 99, 38, 37, 44, 44, 37, 38, 99, 56, 27, 47, 18, 17, 19, 19, 17, 18, 47, 27, 27, 46, 16, 17, 18, 19, 17, 16, 45, 0, 1, 0, 154, 1, 173, 4, 153, 5, 176, 0, 14, 0, 0, 65, 1, 23, 19, 19, 55, 1, 37, 39, 5, 19, 35, 19, 37, 7, 2, 34, 254, 234, 179, 211, 211, 178, 254, 244, 1, 142, 66, 254, 140, 39, 219, 36, 254, 137, 66, 3, 122, 254, 185, 123, 1, 105, 254, 140, 129, 1, 67, 91, 209, 163, 1, 182, 254, 81, 166, 205, 0, 0, 2, 0, 41, 0, 0, 4, 133, 5, 176, 0, 27, 0, 31, 0, 0, 65, 3, 51, 19, 51, 53, 35, 19, 51, 53, 35, 19, 35, 3, 35, 19, 35, 3, 33, 21, 51, 3, 33, 21, 51, 3, 51, 19, 55, 19, 51, 3, 2, 137, 73, 179, 73, 253, 223, 52, 247, 217, 75, 180, 74, 201, 74, 178, 75, 254, 247, 235, 52, 254, 254, 228, 73, 179, 73, 30, 51, 201, 51, 1, 154, 254, 102, 1, 154, 169, 1, 34, 171, 1, 160, 254, 96, 1, 160, 254, 96, 171, 254, 222, 169, 254, 102, 1, 154, 169, 1, 34, 254, 222, 0, 3, 0, 75, 255, 235, 4, 212, 5, 197, 0, 54, 0, 74, 0, 99, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 23, 33, 39, 54, 54, 53, 35, 20, 6, 7, 3, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 5, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 55, 1, 6, 6, 7, 6, 6, 3, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 20, 7, 6, 6, 7, 7, 38, 38, 39, 38, 38, 75, 60, 57, 56, 162, 101, 63, 108, 49, 31, 61, 30, 65, 1, 62, 188, 78, 73, 238, 35, 32, 247, 80, 43, 75, 28, 28, 32, 48, 43, 44, 123, 75, 89, 144, 51, 51, 55, 24, 23, 15, 39, 23, 18, 53, 86, 31, 34, 37, 1, 192, 38, 63, 22, 22, 24, 7, 11, 10, 42, 28, 6, 1, 7, 19, 39, 20, 29, 60, 92, 17, 17, 17, 52, 35, 23, 37, 13, 13, 14, 6, 7, 32, 31, 93, 13, 23, 8, 12, 13, 1, 115, 86, 144, 52, 52, 58, 20, 19, 12, 33, 20, 83, 240, 94, 237, 137, 78, 136, 57, 1, 61, 65, 31, 70, 40, 39, 90, 51, 68, 122, 47, 46, 54, 53, 49, 49, 140, 86, 52, 98, 49, 32, 67, 35, 13, 38, 78, 43, 48, 110, 235, 28, 25, 24, 68, 40, 21, 47, 26, 26, 63, 23, 5, 254, 170, 11, 17, 7, 9, 10, 3, 130, 31, 55, 21, 21, 24, 22, 18, 18, 46, 24, 9, 31, 19, 20, 43, 20, 69, 21, 41, 20, 27, 52, 0, 0, 2, 0, 37, 255, 248, 4, 150, 5, 162, 0, 94, 0, 117, 0, 0, 65, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 2, 7, 6, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 19, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 5, 54, 54, 55, 54, 54, 51, 50, 22, 23, 3, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 4, 146, 4, 66, 65, 66, 190, 118, 136, 226, 82, 83, 95, 5, 5, 63, 69, 69, 212, 146, 34, 74, 37, 37, 67, 26, 32, 23, 57, 31, 32, 66, 31, 98, 151, 49, 50, 47, 5, 4, 66, 58, 57, 163, 102, 90, 138, 46, 46, 43, 4, 17, 16, 16, 43, 26, 10, 20, 7, 8, 7, 2, 43, 31, 100, 77, 76, 122, 45, 45, 57, 11, 8, 21, 28, 28, 90, 60, 30, 54, 24, 16, 30, 13, 11, 28, 17, 21, 52, 29, 77, 110, 36, 35, 36, 253, 103, 7, 31, 24, 24, 67, 44, 12, 14, 5, 38, 1, 9, 18, 9, 15, 31, 15, 25, 38, 12, 11, 9, 3, 55, 139, 228, 82, 81, 89, 119, 103, 104, 254, 234, 158, 159, 255, 89, 89, 96, 9, 10, 9, 28, 19, 135, 12, 20, 7, 8, 8, 66, 67, 66, 200, 134, 133, 223, 81, 81, 91, 56, 58, 58, 179, 122, 79, 133, 48, 48, 54, 4, 8, 8, 32, 29, 2, 15, 31, 45, 63, 58, 59, 164, 102, 87, 142, 50, 51, 54, 19, 17, 12, 31, 18, 21, 34, 12, 16, 16, 91, 74, 73, 185, 37, 71, 109, 37, 38, 38, 2, 1, 254, 65, 13, 14, 20, 7, 11, 9, 30, 31, 28, 86, 0, 0, 2, 0, 86, 254, 55, 4, 145, 5, 196, 0, 106, 0, 139, 0, 0, 65, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 5, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 37, 22, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 22, 22, 4, 145, 63, 61, 37, 96, 58, 36, 82, 44, 53, 82, 32, 22, 35, 14, 33, 25, 27, 29, 29, 90, 62, 59, 89, 30, 30, 30, 1, 23, 72, 66, 67, 192, 120, 117, 191, 67, 68, 73, 30, 29, 15, 38, 23, 27, 46, 19, 34, 37, 65, 62, 39, 102, 61, 58, 143, 53, 43, 64, 23, 34, 28, 19, 18, 28, 101, 70, 48, 95, 37, 38, 46, 254, 234, 93, 77, 76, 195, 101, 117, 189, 67, 67, 73, 26, 26, 16, 41, 25, 24, 41, 17, 39, 41, 253, 193, 43, 72, 29, 29, 47, 18, 35, 29, 17, 15, 11, 29, 17, 34, 72, 39, 90, 115, 33, 33, 25, 12, 12, 11, 29, 20, 33, 72, 1, 219, 91, 132, 49, 30, 49, 21, 14, 24, 12, 14, 25, 12, 9, 17, 10, 22, 54, 38, 31, 56, 21, 21, 25, 32, 27, 28, 74, 43, 103, 160, 55, 54, 56, 54, 49, 50, 141, 86, 66, 103, 42, 21, 39, 17, 15, 37, 21, 40, 100, 60, 91, 132, 49, 32, 51, 22, 21, 38, 19, 15, 28, 14, 23, 52, 33, 26, 45, 18, 27, 31, 17, 22, 22, 75, 59, 1, 120, 161, 48, 49, 41, 49, 48, 47, 139, 90, 62, 99, 40, 24, 43, 19, 13, 31, 18, 40, 105, 253, 13, 24, 11, 12, 24, 13, 25, 56, 36, 29, 50, 21, 14, 24, 9, 12, 21, 11, 27, 43, 24, 24, 57, 40, 27, 48, 20, 16, 27, 9, 12, 22, 0, 0, 1, 0, 216, 0, 0, 3, 239, 5, 176, 0, 16, 0, 0, 97, 51, 17, 33, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 51, 3, 23, 216, 254, 213, 119, 184, 62, 63, 64, 64, 63, 62, 184, 119, 83, 5, 176, 71, 62, 63, 172, 100, 101, 172, 62, 63, 70, 0, 0, 1, 0, 213, 2, 175, 4, 27, 5, 176, 0, 8, 0, 0, 83, 51, 19, 55, 23, 19, 51, 1, 35, 213, 224, 173, 21, 21, 176, 223, 254, 194, 201, 2, 175, 1, 198, 84, 84, 254, 58, 3, 1, 0, 0, 1, 0, 26, 1, 122, 4, 120, 3, 56, 0, 49, 0, 0, 65, 39, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 120, 188, 22, 18, 18, 48, 27, 22, 44, 22, 23, 47, 25, 36, 71, 37, 38, 81, 45, 68, 113, 40, 41, 44, 180, 23, 20, 19, 50, 27, 25, 47, 24, 22, 45, 23, 38, 72, 37, 37, 77, 44, 68, 114, 41, 40, 45, 2, 240, 19, 31, 59, 23, 23, 28, 10, 10, 11, 32, 21, 32, 49, 16, 18, 18, 54, 48, 49, 135, 81, 22, 31, 58, 23, 22, 27, 12, 12, 10, 31, 19, 35, 50, 16, 17, 16, 56, 50, 49, 138, 0, 255, 255, 0, 28, 0, 0, 4, 204, 7, 31, 6, 38, 0, 2, 0, 0, 0, 7, 1, 91, 0, 134, 1, 89, 255, 255, 0, 28, 0, 0, 4, 204, 7, 65, 6, 38, 0, 2, 0, 0, 0, 7, 1, 95, 0, 0, 1, 159, 255, 255, 0, 28, 0, 0, 4, 204, 7, 73, 6, 38, 0, 2, 0, 0, 0, 7, 1, 92, 0, 134, 1, 93, 255, 255, 0, 28, 0, 0, 4, 204, 7, 47, 6, 38, 0, 2, 0, 0, 0, 7, 1, 97, 255, 243, 1, 93, 255, 255, 0, 28, 0, 0, 4, 204, 7, 34, 6, 38, 0, 2, 0, 0, 0, 7, 1, 90, 255, 108, 1, 92, 255, 255, 0, 28, 0, 0, 4, 204, 6, 242, 6, 38, 0, 2, 0, 0, 0, 7, 1, 94, 255, 254, 1, 66, 0, 2, 0, 28, 254, 88, 4, 204, 5, 176, 0, 35, 0, 38, 0, 0, 65, 35, 1, 33, 19, 33, 19, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 1, 19, 19, 2, 248, 255, 254, 35, 1, 40, 86, 1, 181, 81, 31, 49, 16, 20, 20, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 45, 69, 253, 19, 153, 149, 5, 176, 250, 80, 1, 48, 254, 222, 22, 51, 27, 31, 67, 33, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 18, 2, 31, 2, 24, 253, 232, 0, 255, 255, 0, 28, 0, 0, 4, 204, 7, 136, 6, 38, 0, 2, 0, 0, 0, 7, 1, 98, 0, 18, 1, 245, 255, 255, 0, 28, 0, 0, 4, 204, 8, 86, 6, 38, 0, 2, 0, 0, 0, 7, 2, 107, 255, 242, 1, 160, 255, 255, 0, 28, 0, 0, 4, 204, 7, 100, 6, 38, 0, 2, 0, 0, 0, 7, 1, 93, 0, 141, 1, 94, 255, 255, 0, 48, 0, 0, 4, 153, 7, 31, 6, 38, 0, 72, 0, 0, 0, 7, 1, 91, 0, 230, 1, 89, 255, 255, 0, 79, 255, 235, 4, 119, 7, 30, 6, 38, 0, 4, 0, 0, 0, 7, 1, 91, 0, 184, 1, 88, 255, 255, 0, 79, 255, 235, 4, 119, 7, 73, 6, 38, 0, 4, 0, 0, 0, 7, 1, 100, 0, 50, 1, 92, 255, 255, 0, 79, 254, 59, 4, 119, 5, 197, 6, 38, 0, 4, 0, 0, 0, 6, 1, 102, 51, 5, 255, 255, 0, 79, 255, 235, 4, 119, 7, 72, 6, 38, 0, 4, 0, 0, 0, 7, 1, 92, 0, 184, 1, 92, 255, 255, 0, 125, 0, 0, 4, 116, 7, 65, 6, 38, 0, 5, 0, 0, 0, 7, 1, 100, 255, 162, 1, 84, 0, 2, 255, 214, 0, 0, 4, 131, 5, 176, 0, 19, 0, 39, 0, 0, 115, 33, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 33, 17, 35, 21, 51, 33, 53, 35, 17, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 35, 17, 140, 1, 135, 139, 230, 82, 82, 91, 91, 83, 84, 235, 145, 254, 135, 182, 182, 1, 254, 227, 94, 86, 131, 45, 44, 45, 46, 43, 44, 125, 79, 108, 98, 89, 88, 245, 147, 120, 147, 246, 89, 88, 99, 253, 135, 180, 180, 1, 149, 64, 58, 58, 161, 98, 122, 104, 163, 57, 57, 60, 1, 161, 255, 255, 0, 147, 0, 0, 4, 104, 7, 22, 6, 38, 0, 6, 0, 0, 0, 7, 1, 91, 0, 143, 1, 80, 255, 255, 0, 147, 0, 0, 4, 104, 7, 56, 6, 38, 0, 6, 0, 0, 0, 7, 1, 95, 0, 9, 1, 150, 255, 255, 0, 147, 0, 0, 4, 104, 7, 65, 6, 38, 0, 6, 0, 0, 0, 7, 1, 100, 0, 9, 1, 84, 255, 255, 0, 147, 0, 0, 4, 104, 7, 64, 6, 38, 0, 6, 0, 0, 0, 7, 1, 92, 0, 143, 1, 84, 255, 255, 0, 147, 0, 0, 4, 104, 7, 38, 6, 38, 0, 6, 0, 0, 0, 7, 1, 97, 255, 252, 1, 84, 255, 255, 0, 147, 0, 0, 4, 104, 7, 67, 6, 38, 0, 6, 0, 0, 0, 7, 1, 96, 0, 18, 1, 100, 255, 255, 0, 147, 0, 0, 4, 104, 7, 25, 6, 38, 0, 6, 0, 0, 0, 7, 1, 90, 255, 117, 1, 83, 255, 255, 0, 147, 0, 0, 4, 104, 6, 233, 6, 38, 0, 6, 0, 0, 0, 7, 1, 94, 0, 6, 1, 57, 0, 1, 0, 148, 254, 75, 4, 71, 5, 176, 0, 29, 0, 0, 65, 33, 17, 1, 39, 33, 17, 33, 17, 1, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 4, 71, 254, 231, 254, 128, 1, 254, 231, 1, 25, 1, 129, 21, 21, 15, 40, 25, 26, 51, 22, 14, 38, 64, 38, 88, 139, 49, 48, 52, 5, 176, 252, 142, 3, 111, 3, 250, 80, 3, 113, 252, 143, 39, 48, 69, 21, 16, 16, 5, 6, 222, 10, 7, 52, 51, 50, 149, 96, 0, 0, 1, 0, 147, 254, 88, 4, 104, 5, 176, 0, 40, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 53, 33, 17, 4, 3, 253, 170, 2, 184, 252, 46, 2, 94, 24, 39, 15, 19, 20, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 45, 125, 253, 69, 2, 126, 222, 1, 111, 229, 250, 80, 20, 44, 23, 31, 66, 33, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 18, 227, 1, 155, 0, 0, 2, 255, 214, 0, 0, 4, 131, 5, 176, 0, 19, 0, 39, 0, 0, 115, 33, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 33, 17, 35, 21, 51, 33, 53, 35, 17, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 35, 17, 140, 1, 135, 139, 230, 82, 82, 91, 91, 83, 84, 235, 145, 254, 135, 182, 182, 1, 254, 227, 94, 86, 131, 45, 44, 45, 46, 43, 44, 125, 79, 108, 98, 89, 88, 245, 147, 120, 147, 246, 89, 88, 99, 253, 135, 180, 180, 1, 149, 64, 58, 58, 161, 98, 122, 104, 163, 57, 57, 60, 1, 161, 255, 255, 0, 87, 255, 236, 4, 108, 7, 64, 6, 38, 0, 8, 0, 0, 0, 7, 1, 95, 0, 21, 1, 158, 255, 255, 0, 87, 255, 236, 4, 108, 7, 72, 6, 38, 0, 8, 0, 0, 0, 7, 1, 92, 0, 155, 1, 92, 255, 255, 0, 87, 254, 22, 4, 108, 5, 196, 6, 38, 0, 8, 0, 0, 0, 7, 1, 104, 0, 224, 254, 190, 0, 2, 0, 23, 0, 0, 4, 216, 5, 176, 0, 19, 0, 23, 0, 0, 65, 53, 33, 21, 33, 53, 33, 21, 35, 21, 51, 17, 33, 17, 33, 17, 33, 17, 51, 53, 1, 53, 33, 21, 4, 17, 254, 234, 254, 100, 254, 233, 49, 49, 1, 23, 1, 156, 1, 22, 199, 252, 135, 1, 156, 4, 194, 238, 238, 238, 238, 171, 251, 233, 2, 119, 253, 137, 4, 23, 171, 254, 153, 188, 188, 0, 255, 255, 0, 123, 0, 0, 4, 68, 7, 64, 6, 38, 0, 9, 0, 0, 0, 7, 1, 92, 0, 107, 1, 84, 255, 255, 0, 193, 0, 0, 4, 11, 7, 31, 6, 38, 0, 10, 0, 0, 0, 7, 1, 91, 0, 101, 1, 89, 255, 255, 0, 193, 0, 0, 4, 11, 7, 65, 6, 38, 0, 10, 0, 0, 0, 7, 1, 95, 255, 224, 1, 159, 255, 255, 0, 193, 0, 0, 4, 11, 7, 73, 6, 38, 0, 10, 0, 0, 0, 7, 1, 92, 0, 101, 1, 93, 255, 255, 0, 193, 0, 0, 4, 11, 7, 47, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 255, 210, 1, 93, 255, 255, 0, 193, 0, 0, 4, 11, 7, 76, 6, 38, 0, 10, 0, 0, 0, 7, 1, 96, 255, 233, 1, 109, 255, 255, 0, 193, 0, 0, 4, 11, 7, 34, 6, 38, 0, 10, 0, 0, 0, 7, 1, 90, 255, 75, 1, 92, 255, 255, 0, 193, 0, 0, 4, 11, 6, 242, 6, 38, 0, 10, 0, 0, 0, 7, 1, 94, 255, 221, 1, 66, 0, 1, 0, 193, 254, 88, 4, 11, 5, 176, 0, 40, 0, 0, 83, 21, 33, 17, 33, 21, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 33, 53, 33, 17, 33, 53, 193, 1, 21, 254, 235, 1, 78, 24, 38, 15, 20, 20, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 45, 1, 2, 254, 228, 1, 28, 5, 176, 227, 252, 21, 226, 20, 43, 22, 32, 67, 33, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 18, 226, 3, 235, 227, 255, 255, 0, 193, 0, 0, 4, 11, 7, 100, 6, 38, 0, 10, 0, 0, 0, 7, 1, 93, 0, 108, 1, 94, 255, 255, 0, 111, 255, 236, 5, 64, 7, 61, 6, 38, 0, 11, 0, 0, 0, 7, 1, 92, 1, 214, 1, 81, 255, 255, 0, 129, 254, 12, 4, 235, 5, 176, 6, 38, 0, 12, 0, 0, 0, 7, 1, 104, 0, 172, 254, 180, 255, 255, 0, 150, 0, 0, 4, 90, 7, 2, 6, 38, 0, 13, 0, 0, 0, 7, 1, 91, 255, 53, 1, 60, 255, 255, 0, 150, 0, 0, 4, 90, 5, 177, 6, 38, 0, 13, 0, 0, 0, 7, 0, 109, 0, 254, 255, 153, 255, 255, 0, 150, 254, 35, 4, 90, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 1, 104, 0, 177, 254, 203, 255, 255, 0, 150, 0, 0, 4, 90, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 1, 96, 0, 142, 253, 221, 0, 1, 0, 51, 0, 0, 4, 119, 5, 176, 0, 13, 0, 0, 65, 17, 33, 17, 7, 21, 55, 17, 33, 53, 33, 17, 55, 53, 1, 205, 254, 230, 128, 128, 3, 196, 253, 86, 232, 3, 118, 2, 58, 253, 116, 37, 195, 37, 253, 159, 227, 1, 208, 68, 195, 0, 255, 255, 0, 123, 0, 0, 4, 67, 7, 31, 6, 38, 0, 15, 0, 0, 0, 7, 1, 91, 0, 114, 1, 89, 255, 255, 0, 123, 0, 0, 4, 67, 7, 74, 6, 38, 0, 15, 0, 0, 0, 7, 1, 100, 255, 237, 1, 93, 255, 255, 0, 123, 254, 28, 4, 67, 5, 176, 6, 38, 0, 15, 0, 0, 0, 7, 1, 104, 0, 177, 254, 196, 255, 255, 0, 123, 0, 0, 4, 67, 7, 100, 6, 38, 0, 15, 0, 0, 0, 7, 1, 93, 0, 121, 1, 94, 255, 255, 0, 80, 255, 236, 4, 123, 7, 52, 6, 38, 0, 16, 0, 0, 0, 7, 1, 91, 0, 116, 1, 110, 255, 255, 0, 80, 255, 236, 4, 123, 7, 86, 6, 38, 0, 16, 0, 0, 0, 7, 1, 95, 255, 239, 1, 180, 255, 255, 0, 80, 255, 236, 4, 123, 7, 94, 6, 38, 0, 16, 0, 0, 0, 7, 1, 92, 0, 116, 1, 114, 255, 255, 0, 80, 255, 236, 4, 123, 7, 68, 6, 38, 0, 16, 0, 0, 0, 7, 1, 97, 255, 225, 1, 114, 255, 255, 0, 80, 255, 236, 4, 123, 7, 55, 6, 38, 0, 16, 0, 0, 0, 7, 1, 90, 255, 90, 1, 113, 0, 2, 0, 93, 255, 236, 4, 224, 5, 223, 0, 41, 0, 67, 0, 0, 65, 53, 52, 38, 39, 54, 54, 55, 54, 54, 53, 35, 20, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 1, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 136, 32, 33, 39, 58, 19, 18, 19, 194, 6, 6, 6, 19, 13, 31, 73, 41, 52, 121, 68, 126, 195, 67, 67, 70, 70, 67, 67, 196, 126, 126, 201, 70, 70, 74, 254, 227, 30, 30, 31, 97, 68, 69, 92, 28, 28, 24, 24, 28, 28, 92, 68, 69, 97, 31, 31, 29, 2, 109, 212, 94, 165, 72, 22, 67, 44, 42, 103, 61, 35, 60, 25, 24, 38, 13, 35, 58, 21, 26, 28, 96, 85, 86, 236, 140, 212, 140, 235, 85, 86, 95, 95, 85, 85, 236, 1, 98, 214, 89, 150, 54, 55, 62, 62, 55, 55, 150, 88, 214, 89, 150, 54, 54, 61, 61, 54, 54, 150, 0, 255, 255, 0, 80, 255, 236, 4, 153, 7, 96, 6, 38, 0, 16, 0, 0, 0, 7, 1, 99, 0, 124, 1, 114, 255, 255, 0, 80, 255, 236, 4, 123, 7, 7, 6, 38, 0, 16, 0, 0, 0, 7, 1, 94, 255, 236, 1, 87, 0, 3, 0, 48, 255, 161, 4, 128, 5, 238, 0, 37, 0, 57, 0, 71, 0, 0, 65, 53, 52, 38, 39, 55, 35, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 3, 51, 55, 22, 22, 51, 50, 54, 55, 54, 54, 37, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 1, 38, 38, 39, 38, 38, 37, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 1, 22, 22, 4, 128, 71, 68, 130, 184, 68, 26, 58, 30, 38, 84, 45, 126, 195, 67, 67, 70, 15, 15, 15, 45, 30, 157, 183, 91, 59, 144, 86, 126, 201, 70, 70, 74, 252, 242, 24, 28, 28, 92, 68, 25, 46, 20, 19, 33, 15, 254, 122, 2, 2, 1, 2, 1, 1, 241, 30, 30, 31, 97, 68, 55, 80, 29, 1, 148, 8, 8, 2, 109, 212, 138, 231, 86, 230, 120, 17, 27, 10, 12, 12, 96, 85, 86, 236, 140, 212, 66, 123, 55, 54, 98, 42, 254, 234, 160, 42, 43, 95, 85, 85, 236, 140, 214, 89, 150, 54, 54, 61, 9, 8, 8, 23, 15, 253, 77, 13, 26, 13, 19, 40, 235, 214, 89, 150, 54, 55, 62, 40, 36, 2, 203, 38, 84, 255, 255, 0, 48, 255, 161, 4, 128, 7, 93, 6, 38, 0, 219, 0, 0, 0, 7, 1, 91, 0, 116, 1, 151, 255, 255, 0, 80, 255, 236, 4, 123, 7, 121, 6, 38, 0, 16, 0, 0, 0, 7, 1, 93, 0, 123, 1, 115, 255, 255, 0, 131, 0, 0, 4, 176, 7, 19, 6, 38, 0, 19, 0, 0, 0, 7, 1, 91, 0, 95, 1, 77, 255, 255, 0, 131, 0, 0, 4, 176, 7, 62, 6, 38, 0, 19, 0, 0, 0, 7, 1, 100, 255, 218, 1, 81, 255, 255, 0, 131, 254, 35, 4, 176, 5, 176, 6, 38, 0, 19, 0, 0, 0, 7, 1, 104, 0, 166, 254, 203, 255, 255, 0, 89, 255, 237, 4, 140, 7, 52, 6, 38, 0, 20, 0, 0, 0, 7, 1, 91, 0, 147, 1, 110, 255, 255, 0, 89, 255, 237, 4, 140, 7, 95, 6, 38, 0, 20, 0, 0, 0, 7, 1, 100, 0, 13, 1, 114, 255, 255, 0, 89, 254, 45, 4, 140, 5, 196, 6, 38, 0, 20, 0, 0, 0, 6, 1, 102, 86, 247, 255, 255, 0, 89, 255, 237, 4, 140, 7, 94, 6, 38, 0, 20, 0, 0, 0, 7, 1, 92, 0, 147, 1, 114, 0, 1, 0, 27, 0, 0, 4, 177, 5, 176, 0, 15, 0, 0, 65, 53, 35, 17, 33, 53, 33, 21, 33, 17, 35, 21, 51, 17, 33, 17, 3, 214, 230, 1, 193, 251, 106, 1, 187, 229, 229, 1, 26, 2, 245, 180, 1, 34, 229, 229, 254, 222, 180, 253, 11, 2, 245, 0, 255, 255, 0, 27, 0, 0, 4, 177, 7, 71, 6, 38, 0, 21, 0, 0, 0, 7, 1, 100, 255, 238, 1, 90, 255, 255, 0, 126, 255, 236, 4, 78, 7, 28, 6, 38, 0, 22, 0, 0, 0, 7, 1, 91, 0, 124, 1, 86, 255, 255, 0, 126, 255, 236, 4, 78, 7, 62, 6, 38, 0, 22, 0, 0, 0, 7, 1, 95, 255, 247, 1, 156, 255, 255, 0, 126, 255, 236, 4, 78, 7, 70, 6, 38, 0, 22, 0, 0, 0, 7, 1, 92, 0, 124, 1, 90, 255, 255, 0, 126, 255, 236, 4, 78, 7, 44, 6, 38, 0, 22, 0, 0, 0, 7, 1, 97, 255, 233, 1, 90, 255, 255, 0, 126, 255, 236, 4, 78, 7, 31, 6, 38, 0, 22, 0, 0, 0, 7, 1, 90, 255, 98, 1, 89, 0, 1, 0, 133, 255, 236, 5, 183, 5, 229, 0, 43, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 3, 33, 3, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 54, 54, 55, 54, 54, 53, 35, 20, 6, 7, 6, 6, 7, 4, 84, 254, 233, 1, 1, 29, 29, 27, 77, 50, 52, 78, 25, 21, 23, 1, 254, 231, 1, 69, 63, 63, 177, 110, 117, 183, 64, 63, 66, 96, 135, 43, 42, 39, 200, 9, 16, 16, 62, 52, 5, 176, 252, 59, 73, 110, 35, 33, 34, 42, 41, 35, 102, 65, 3, 197, 252, 59, 122, 191, 65, 65, 68, 68, 66, 65, 190, 122, 2, 100, 3, 54, 51, 50, 149, 99, 60, 91, 30, 31, 34, 3, 0, 255, 255, 0, 126, 255, 236, 4, 161, 7, 72, 6, 38, 0, 22, 0, 0, 0, 7, 1, 99, 0, 132, 1, 90, 255, 255, 0, 126, 255, 236, 4, 78, 6, 239, 6, 38, 0, 22, 0, 0, 0, 7, 1, 94, 255, 244, 1, 63, 0, 1, 0, 126, 254, 153, 4, 78, 5, 176, 0, 60, 0, 0, 65, 33, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 3, 33, 3, 20, 22, 23, 22, 22, 23, 50, 50, 51, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 4, 77, 254, 233, 1, 28, 26, 27, 80, 52, 49, 75, 25, 24, 26, 1, 254, 231, 1, 66, 60, 58, 165, 101, 2, 6, 3, 9, 14, 5, 6, 7, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 8, 8, 8, 26, 18, 61, 98, 34, 41, 43, 5, 176, 252, 59, 70, 106, 36, 36, 37, 37, 37, 35, 107, 69, 3, 197, 252, 59, 119, 187, 65, 63, 71, 5, 14, 30, 14, 19, 37, 19, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 20, 36, 17, 15, 29, 13, 24, 77, 52, 61, 162, 98, 0, 255, 255, 0, 126, 255, 236, 4, 78, 7, 133, 6, 38, 0, 22, 0, 0, 0, 7, 1, 98, 0, 8, 1, 242, 255, 255, 0, 126, 255, 236, 4, 78, 7, 97, 6, 38, 0, 22, 0, 0, 0, 7, 1, 93, 0, 131, 1, 91, 255, 255, 0, 26, 0, 0, 4, 183, 7, 31, 6, 38, 0, 24, 0, 0, 0, 7, 1, 91, 0, 109, 1, 89, 255, 255, 0, 26, 0, 0, 4, 183, 7, 73, 6, 38, 0, 24, 0, 0, 0, 7, 1, 92, 0, 109, 1, 93, 255, 255, 0, 26, 0, 0, 4, 183, 7, 47, 6, 38, 0, 24, 0, 0, 0, 7, 1, 97, 255, 218, 1, 93, 255, 255, 0, 26, 0, 0, 4, 183, 7, 34, 6, 38, 0, 24, 0, 0, 0, 7, 1, 90, 255, 83, 1, 92, 255, 255, 0, 33, 0, 0, 4, 200, 7, 31, 6, 38, 0, 26, 0, 0, 0, 7, 1, 91, 0, 128, 1, 89, 255, 255, 0, 33, 0, 0, 4, 200, 7, 73, 6, 38, 0, 26, 0, 0, 0, 7, 1, 92, 0, 128, 1, 93, 255, 255, 0, 33, 0, 0, 4, 200, 7, 47, 6, 38, 0, 26, 0, 0, 0, 7, 1, 97, 255, 237, 1, 93, 255, 255, 0, 33, 0, 0, 4, 200, 7, 34, 6, 38, 0, 26, 0, 0, 0, 7, 1, 90, 255, 102, 1, 92, 255, 255, 0, 89, 0, 0, 4, 129, 7, 28, 6, 38, 0, 27, 0, 0, 0, 7, 1, 91, 0, 130, 1, 86, 255, 255, 0, 89, 0, 0, 4, 129, 7, 71, 6, 38, 0, 27, 0, 0, 0, 7, 1, 100, 255, 253, 1, 90, 255, 255, 0, 89, 0, 0, 4, 129, 7, 73, 6, 38, 0, 27, 0, 0, 0, 7, 1, 96, 0, 5, 1, 106, 255, 255, 0, 115, 255, 236, 4, 75, 5, 221, 6, 38, 0, 28, 0, 0, 0, 6, 1, 91, 97, 23, 255, 255, 0, 115, 255, 236, 4, 75, 5, 255, 6, 38, 0, 28, 0, 0, 0, 6, 1, 95, 220, 93, 255, 255, 0, 115, 255, 236, 4, 75, 6, 7, 6, 38, 0, 28, 0, 0, 0, 6, 1, 92, 97, 27, 255, 255, 0, 115, 255, 236, 4, 75, 5, 237, 6, 38, 0, 28, 0, 0, 0, 6, 1, 97, 206, 27, 255, 255, 0, 115, 255, 236, 4, 75, 5, 224, 6, 38, 0, 28, 0, 0, 0, 7, 1, 90, 255, 71, 0, 26, 255, 255, 0, 115, 255, 236, 4, 75, 5, 176, 6, 38, 0, 28, 0, 0, 0, 6, 1, 94, 217, 0, 0, 2, 0, 115, 254, 88, 4, 75, 4, 78, 0, 81, 0, 101, 0, 0, 101, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 53, 38, 38, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 33, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 39, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 21, 6, 6, 7, 6, 6, 3, 44, 29, 45, 16, 20, 21, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 45, 51, 21, 22, 70, 62, 62, 169, 98, 109, 169, 58, 59, 61, 1, 22, 23, 23, 20, 58, 39, 53, 79, 25, 20, 21, 155, 113, 178, 63, 76, 78, 56, 50, 50, 139, 83, 51, 88, 37, 36, 60, 23, 5, 11, 252, 44, 63, 20, 16, 16, 28, 29, 29, 92, 65, 142, 12, 42, 29, 29, 72, 10, 21, 48, 25, 32, 67, 34, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 18, 17, 41, 114, 87, 1, 208, 94, 143, 47, 47, 48, 55, 47, 47, 124, 69, 33, 53, 18, 14, 16, 29, 26, 21, 58, 35, 64, 38, 37, 45, 144, 94, 70, 119, 43, 43, 48, 19, 17, 16, 44, 25, 26, 46, 166, 23, 20, 17, 45, 25, 37, 63, 23, 22, 25, 186, 21, 41, 16, 16, 20, 0, 255, 255, 0, 115, 255, 236, 4, 75, 6, 70, 6, 38, 0, 28, 0, 0, 0, 7, 1, 98, 255, 238, 0, 179, 255, 255, 0, 115, 255, 236, 4, 75, 7, 20, 6, 38, 0, 28, 0, 0, 0, 6, 2, 107, 205, 94, 255, 255, 0, 115, 255, 236, 4, 75, 6, 34, 6, 38, 0, 28, 0, 0, 0, 6, 1, 93, 104, 28, 255, 255, 0, 46, 255, 236, 4, 170, 5, 222, 6, 38, 0, 73, 0, 0, 0, 7, 1, 91, 0, 157, 0, 24, 255, 255, 0, 117, 255, 235, 4, 60, 5, 221, 6, 38, 0, 30, 0, 0, 0, 7, 1, 91, 0, 129, 0, 23, 255, 255, 0, 117, 255, 235, 4, 60, 6, 8, 6, 38, 0, 30, 0, 0, 0, 6, 1, 100, 252, 27, 255, 255, 0, 117, 254, 59, 4, 60, 4, 78, 6, 38, 0, 30, 0, 0, 0, 6, 1, 102, 51, 5, 255, 255, 0, 117, 255, 235, 4, 60, 6, 7, 6, 38, 0, 30, 0, 0, 0, 7, 1, 92, 0, 129, 0, 27, 255, 255, 0, 40, 255, 236, 5, 122, 6, 24, 4, 38, 0, 31, 184, 0, 0, 7, 0, 109, 2, 114, 0, 0, 0, 2, 0, 97, 255, 236, 4, 210, 6, 0, 0, 37, 0, 63, 0, 0, 65, 53, 35, 53, 33, 21, 35, 21, 51, 21, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 23, 51, 17, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 4, 210, 169, 254, 233, 244, 244, 17, 37, 19, 40, 95, 56, 101, 157, 55, 55, 57, 58, 55, 54, 157, 99, 55, 93, 39, 26, 47, 20, 14, 251, 253, 78, 24, 26, 26, 83, 59, 33, 56, 22, 27, 40, 15, 14, 36, 23, 24, 61, 37, 59, 82, 26, 26, 23, 4, 196, 180, 136, 136, 180, 235, 19, 32, 13, 26, 27, 80, 73, 73, 204, 123, 21, 118, 201, 73, 73, 83, 26, 24, 16, 42, 25, 113, 4, 196, 253, 76, 21, 68, 119, 45, 44, 51, 14, 12, 15, 46, 29, 254, 74, 26, 43, 15, 15, 17, 50, 44, 43, 117, 255, 255, 0, 112, 255, 236, 4, 104, 5, 222, 6, 38, 0, 32, 0, 0, 0, 6, 1, 91, 102, 24, 255, 255, 0, 112, 255, 236, 4, 104, 6, 0, 6, 38, 0, 32, 0, 0, 0, 6, 1, 95, 225, 94, 255, 255, 0, 112, 255, 236, 4, 104, 6, 9, 6, 38, 0, 32, 0, 0, 0, 6, 1, 100, 225, 28, 255, 255, 0, 112, 255, 236, 4, 104, 6, 8, 6, 38, 0, 32, 0, 0, 0, 6, 1, 92, 102, 28, 255, 255, 0, 112, 255, 236, 4, 104, 5, 238, 6, 38, 0, 32, 0, 0, 0, 6, 1, 97, 211, 28, 255, 255, 0, 112, 255, 236, 4, 104, 6, 11, 6, 38, 0, 32, 0, 0, 0, 6, 1, 96, 234, 44, 255, 255, 0, 112, 255, 236, 4, 104, 5, 225, 6, 38, 0, 32, 0, 0, 0, 7, 1, 90, 255, 76, 0, 27, 255, 255, 0, 112, 255, 236, 4, 104, 5, 177, 6, 38, 0, 32, 0, 0, 0, 6, 1, 94, 222, 1, 0, 1, 0, 149, 254, 75, 4, 56, 4, 78, 0, 50, 0, 0, 115, 33, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 39, 39, 33, 149, 1, 22, 13, 34, 20, 27, 67, 40, 42, 64, 22, 21, 23, 19, 17, 16, 42, 26, 26, 52, 22, 14, 37, 65, 37, 87, 139, 49, 48, 52, 51, 46, 46, 129, 79, 57, 101, 42, 31, 55, 23, 1, 12, 254, 254, 3, 16, 18, 30, 12, 15, 17, 22, 25, 25, 82, 60, 253, 66, 45, 67, 21, 17, 18, 6, 6, 224, 10, 7, 52, 50, 50, 149, 96, 2, 191, 119, 167, 53, 52, 48, 30, 29, 21, 57, 35, 12, 140, 0, 2, 0, 112, 254, 111, 4, 104, 4, 78, 0, 62, 0, 76, 0, 0, 83, 20, 22, 23, 22, 22, 23, 22, 22, 51, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 39, 39, 33, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 1, 50, 22, 23, 22, 22, 23, 21, 33, 54, 54, 55, 54, 54, 112, 70, 65, 64, 183, 106, 5, 4, 3, 43, 38, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 57, 45, 73, 107, 31, 139, 48, 154, 82, 58, 98, 38, 38, 49, 8, 1, 2, 223, 66, 63, 64, 183, 117, 113, 192, 70, 70, 78, 2, 9, 53, 81, 28, 28, 30, 2, 254, 56, 10, 40, 30, 29, 78, 1, 247, 102, 181, 69, 70, 88, 10, 1, 1, 38, 94, 43, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 41, 16, 27, 84, 44, 150, 62, 62, 36, 33, 33, 90, 51, 5, 118, 119, 197, 70, 70, 77, 82, 74, 74, 205, 124, 1, 78, 33, 28, 29, 78, 44, 22, 53, 86, 31, 31, 33, 0, 255, 255, 0, 113, 254, 86, 4, 71, 5, 255, 6, 38, 0, 34, 0, 0, 0, 6, 1, 95, 223, 93, 255, 255, 0, 113, 254, 86, 4, 71, 6, 7, 6, 38, 0, 34, 0, 0, 0, 6, 1, 92, 100, 27, 255, 255, 0, 113, 254, 86, 4, 71, 6, 179, 6, 38, 0, 34, 0, 0, 0, 7, 2, 78, 0, 11, 0, 153, 0, 1, 255, 252, 0, 0, 4, 101, 6, 0, 0, 39, 0, 0, 65, 53, 35, 53, 33, 21, 35, 21, 51, 17, 33, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 33, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 17, 2, 176, 254, 254, 234, 160, 160, 1, 22, 19, 49, 30, 23, 54, 31, 48, 76, 27, 27, 29, 1, 22, 57, 51, 51, 142, 85, 56, 100, 43, 30, 54, 22, 4, 192, 180, 140, 140, 180, 251, 64, 3, 13, 25, 39, 12, 9, 10, 25, 26, 26, 84, 58, 253, 111, 2, 143, 119, 169, 54, 54, 51, 32, 29, 20, 55, 33, 1, 27, 0, 255, 255, 255, 163, 0, 0, 4, 86, 7, 168, 6, 38, 0, 35, 0, 0, 0, 7, 1, 92, 255, 34, 1, 188, 255, 255, 0, 199, 0, 0, 4, 90, 5, 196, 6, 38, 1, 109, 0, 0, 0, 7, 1, 91, 0, 168, 255, 254, 255, 255, 0, 199, 0, 0, 4, 90, 5, 229, 6, 38, 1, 109, 0, 0, 0, 6, 1, 95, 34, 67, 255, 255, 0, 199, 0, 0, 4, 90, 5, 237, 6, 38, 1, 109, 0, 0, 0, 7, 1, 92, 0, 168, 0, 1, 255, 255, 0, 199, 0, 0, 4, 90, 5, 211, 6, 38, 1, 109, 0, 0, 0, 6, 1, 97, 20, 1, 255, 255, 0, 199, 0, 0, 4, 90, 5, 198, 6, 38, 1, 109, 0, 0, 0, 6, 1, 90, 142, 0, 255, 255, 0, 199, 0, 0, 4, 90, 5, 151, 6, 38, 1, 109, 0, 0, 0, 6, 1, 94, 31, 231, 0, 2, 0, 215, 254, 88, 4, 73, 5, 227, 0, 38, 0, 50, 0, 0, 83, 21, 33, 17, 33, 21, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 33, 53, 33, 17, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 215, 1, 52, 254, 204, 1, 43, 23, 37, 14, 22, 21, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 45, 1, 77, 254, 219, 254, 211, 89, 71, 74, 87, 87, 74, 73, 87, 4, 58, 227, 253, 139, 226, 19, 41, 22, 32, 69, 34, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 18, 226, 3, 88, 1, 21, 65, 83, 83, 65, 65, 83, 85, 255, 255, 0, 199, 0, 0, 4, 90, 6, 8, 6, 38, 1, 109, 0, 0, 0, 7, 1, 93, 0, 175, 0, 2, 255, 255, 0, 226, 254, 75, 4, 85, 5, 223, 6, 38, 1, 113, 0, 0, 0, 7, 1, 92, 0, 235, 255, 243, 255, 255, 0, 144, 254, 13, 4, 172, 6, 0, 6, 38, 0, 38, 0, 0, 0, 7, 1, 104, 0, 150, 254, 181, 255, 255, 0, 199, 0, 0, 4, 90, 7, 101, 6, 38, 0, 39, 0, 0, 0, 7, 1, 91, 0, 164, 1, 159, 255, 255, 0, 129, 0, 0, 4, 181, 6, 5, 4, 38, 0, 39, 186, 0, 0, 7, 0, 109, 1, 173, 255, 237, 255, 255, 0, 199, 254, 36, 4, 90, 6, 0, 6, 38, 0, 39, 0, 0, 0, 7, 1, 104, 0, 229, 254, 204, 255, 255, 0, 129, 0, 0, 4, 102, 6, 0, 4, 38, 0, 39, 186, 0, 0, 7, 1, 96, 1, 98, 253, 217, 0, 1, 0, 213, 0, 0, 4, 104, 6, 0, 0, 17, 0, 0, 65, 17, 33, 21, 33, 17, 5, 21, 37, 17, 33, 21, 33, 53, 33, 17, 37, 53, 3, 50, 253, 163, 1, 68, 254, 200, 1, 56, 254, 188, 3, 147, 254, 202, 1, 25, 3, 251, 2, 5, 227, 254, 98, 138, 195, 138, 254, 38, 226, 226, 2, 86, 125, 195, 255, 255, 0, 141, 0, 0, 4, 83, 5, 221, 6, 38, 0, 41, 0, 0, 0, 6, 1, 91, 108, 23, 255, 255, 0, 141, 0, 0, 4, 83, 6, 8, 6, 38, 0, 41, 0, 0, 0, 6, 1, 100, 231, 27, 255, 255, 0, 141, 254, 35, 4, 83, 4, 78, 6, 38, 0, 41, 0, 0, 0, 7, 1, 104, 0, 174, 254, 203, 255, 255, 0, 141, 0, 0, 4, 83, 6, 34, 6, 38, 0, 41, 0, 0, 0, 6, 1, 93, 115, 28, 255, 255, 0, 103, 255, 235, 4, 100, 5, 221, 6, 38, 0, 42, 0, 0, 0, 6, 1, 91, 121, 23, 255, 255, 0, 103, 255, 235, 4, 100, 5, 255, 6, 38, 0, 42, 0, 0, 0, 6, 1, 95, 244, 93, 255, 255, 0, 103, 255, 235, 4, 100, 6, 7, 6, 38, 0, 42, 0, 0, 0, 6, 1, 92, 121, 27, 255, 255, 0, 103, 255, 235, 4, 100, 5, 237, 6, 38, 0, 42, 0, 0, 0, 6, 1, 97, 230, 27, 255, 255, 0, 103, 255, 235, 4, 100, 5, 224, 6, 38, 0, 42, 0, 0, 0, 7, 1, 90, 255, 95, 0, 26, 0, 2, 0, 95, 255, 235, 4, 166, 4, 155, 0, 38, 0, 64, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 54, 54, 55, 54, 54, 53, 35, 20, 6, 7, 6, 6, 7, 38, 38, 35, 34, 6, 7, 6, 6, 5, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 95, 68, 66, 65, 191, 122, 121, 190, 65, 65, 68, 38, 37, 35, 56, 19, 19, 20, 193, 9, 9, 8, 21, 13, 63, 166, 103, 122, 189, 65, 66, 68, 1, 22, 26, 28, 28, 88, 62, 63, 88, 28, 27, 26, 26, 27, 28, 88, 61, 63, 89, 28, 28, 26, 2, 39, 21, 119, 201, 74, 74, 83, 83, 74, 74, 201, 119, 21, 88, 156, 66, 22, 63, 39, 40, 97, 57, 37, 62, 25, 20, 33, 13, 54, 59, 84, 74, 74, 201, 139, 21, 66, 118, 45, 45, 52, 52, 45, 45, 118, 66, 21, 68, 119, 44, 45, 52, 52, 45, 44, 119, 255, 255, 0, 103, 255, 235, 4, 158, 6, 9, 6, 38, 0, 42, 0, 0, 0, 7, 1, 99, 0, 129, 0, 27, 255, 255, 0, 103, 255, 235, 4, 100, 5, 176, 6, 38, 0, 42, 0, 0, 0, 6, 1, 94, 241, 0, 0, 3, 0, 103, 255, 115, 4, 100, 4, 191, 0, 34, 0, 48, 0, 65, 0, 0, 83, 21, 20, 22, 23, 7, 51, 55, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 55, 35, 7, 38, 38, 35, 34, 6, 7, 6, 6, 5, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 1, 38, 38, 37, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 1, 22, 22, 23, 22, 22, 103, 108, 103, 102, 157, 71, 41, 87, 47, 121, 190, 65, 65, 68, 32, 32, 24, 66, 42, 104, 157, 71, 43, 96, 52, 122, 189, 65, 66, 68, 1, 22, 26, 28, 28, 88, 62, 25, 44, 19, 254, 241, 26, 23, 1, 208, 26, 27, 28, 88, 61, 19, 36, 18, 1, 8, 9, 14, 5, 6, 5, 2, 39, 21, 150, 241, 72, 208, 146, 13, 13, 83, 74, 74, 201, 119, 21, 82, 147, 62, 47, 81, 32, 213, 145, 16, 16, 84, 74, 74, 201, 139, 21, 66, 118, 45, 45, 52, 8, 9, 253, 213, 44, 115, 87, 21, 68, 119, 44, 45, 52, 6, 5, 2, 28, 19, 44, 23, 27, 58, 255, 255, 0, 103, 255, 115, 4, 100, 5, 217, 6, 38, 1, 56, 0, 0, 0, 6, 1, 91, 79, 19, 255, 255, 0, 103, 255, 235, 4, 100, 6, 34, 6, 38, 0, 42, 0, 0, 0, 7, 1, 93, 0, 128, 0, 28, 255, 255, 1, 31, 0, 0, 4, 97, 5, 221, 6, 38, 0, 45, 0, 0, 0, 6, 1, 91, 81, 23, 255, 255, 0, 197, 0, 0, 4, 97, 6, 8, 6, 38, 0, 45, 0, 0, 0, 6, 1, 100, 204, 27, 255, 255, 1, 11, 254, 35, 4, 97, 4, 78, 6, 38, 0, 45, 0, 0, 0, 7, 1, 104, 255, 247, 254, 203, 255, 255, 0, 122, 255, 235, 4, 85, 5, 221, 6, 38, 0, 46, 0, 0, 0, 6, 1, 91, 92, 23, 255, 255, 0, 122, 255, 235, 4, 85, 6, 8, 6, 38, 0, 46, 0, 0, 0, 6, 1, 100, 215, 27, 255, 255, 0, 122, 254, 45, 4, 85, 4, 78, 6, 38, 0, 46, 0, 0, 0, 6, 1, 102, 22, 247, 255, 255, 0, 122, 255, 235, 4, 85, 6, 7, 6, 38, 0, 46, 0, 0, 0, 6, 1, 92, 92, 27, 0, 1, 0, 126, 255, 235, 4, 78, 5, 67, 0, 43, 0, 0, 65, 33, 17, 35, 21, 51, 21, 35, 21, 51, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 51, 53, 35, 53, 33, 53, 33, 2, 139, 254, 234, 247, 247, 195, 195, 56, 52, 51, 145, 89, 46, 95, 44, 44, 78, 29, 27, 19, 53, 30, 31, 67, 32, 44, 71, 25, 25, 27, 219, 219, 1, 148, 254, 108, 5, 67, 254, 247, 205, 158, 180, 154, 107, 153, 49, 50, 47, 9, 8, 8, 25, 17, 191, 5, 10, 4, 5, 6, 20, 24, 23, 79, 59, 127, 180, 158, 205, 255, 255, 0, 103, 255, 232, 4, 183, 6, 184, 4, 38, 0, 47, 233, 253, 0, 7, 0, 109, 1, 175, 0, 160, 255, 255, 0, 150, 255, 235, 4, 75, 5, 200, 6, 38, 0, 48, 0, 0, 0, 6, 1, 91, 123, 2, 255, 255, 0, 150, 255, 235, 4, 75, 5, 234, 6, 38, 0, 48, 0, 0, 0, 6, 1, 95, 246, 72, 255, 255, 0, 150, 255, 235, 4, 75, 5, 242, 6, 38, 0, 48, 0, 0, 0, 6, 1, 92, 123, 6, 255, 255, 0, 150, 255, 235, 4, 75, 5, 216, 6, 38, 0, 48, 0, 0, 0, 6, 1, 97, 232, 6, 255, 255, 0, 150, 255, 235, 4, 75, 5, 203, 6, 38, 0, 48, 0, 0, 0, 7, 1, 90, 255, 97, 0, 5, 0, 1, 0, 118, 255, 235, 5, 95, 4, 154, 0, 39, 0, 0, 65, 35, 20, 6, 7, 6, 6, 7, 53, 33, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 23, 51, 17, 54, 54, 5, 95, 198, 17, 19, 13, 37, 24, 254, 233, 12, 33, 22, 27, 74, 46, 49, 68, 21, 21, 19, 254, 234, 55, 50, 50, 140, 84, 92, 155, 55, 16, 252, 156, 152, 4, 154, 58, 88, 32, 21, 31, 11, 145, 253, 9, 24, 40, 15, 19, 20, 24, 28, 27, 90, 66, 2, 130, 253, 128, 123, 175, 56, 57, 52, 92, 81, 152, 3, 0, 26, 200, 255, 255, 0, 150, 255, 235, 4, 160, 5, 244, 6, 38, 0, 48, 0, 0, 0, 7, 1, 99, 0, 131, 0, 6, 255, 255, 0, 150, 255, 235, 4, 75, 5, 156, 6, 38, 0, 48, 0, 0, 0, 6, 1, 94, 243, 236, 0, 1, 0, 150, 254, 88, 4, 97, 4, 58, 0, 56, 0, 0, 97, 51, 17, 33, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 4, 56, 19, 254, 233, 12, 32, 21, 28, 74, 47, 49, 68, 21, 21, 19, 254, 234, 55, 50, 50, 140, 84, 92, 155, 55, 15, 27, 43, 16, 23, 24, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 4, 58, 253, 9, 24, 39, 15, 19, 21, 24, 28, 27, 90, 66, 2, 130, 253, 128, 123, 175, 56, 57, 52, 92, 81, 140, 19, 44, 23, 34, 73, 36, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 255, 255, 0, 150, 255, 235, 4, 75, 6, 49, 6, 38, 0, 48, 0, 0, 0, 7, 1, 98, 0, 7, 0, 158, 255, 255, 0, 150, 255, 235, 4, 75, 6, 13, 6, 38, 0, 48, 0, 0, 0, 7, 1, 93, 0, 130, 0, 7, 255, 255, 0, 27, 0, 0, 4, 158, 5, 200, 6, 38, 0, 50, 0, 0, 0, 6, 1, 91, 104, 2, 255, 255, 0, 27, 0, 0, 4, 158, 5, 242, 6, 38, 0, 50, 0, 0, 0, 6, 1, 92, 104, 6, 255, 255, 0, 27, 0, 0, 4, 158, 5, 216, 6, 38, 0, 50, 0, 0, 0, 6, 1, 97, 213, 6, 255, 255, 0, 27, 0, 0, 4, 158, 5, 203, 6, 38, 0, 50, 0, 0, 0, 7, 1, 90, 255, 78, 0, 5, 255, 255, 0, 52, 254, 75, 4, 205, 5, 200, 6, 38, 0, 52, 0, 0, 0, 7, 1, 91, 0, 147, 0, 2, 255, 255, 0, 52, 254, 75, 4, 205, 5, 242, 6, 38, 0, 52, 0, 0, 0, 7, 1, 92, 0, 147, 0, 6, 255, 255, 0, 52, 254, 75, 4, 205, 5, 216, 6, 38, 0, 52, 0, 0, 0, 6, 1, 97, 0, 6, 255, 255, 0, 52, 254, 75, 4, 205, 5, 203, 6, 38, 0, 52, 0, 0, 0, 7, 1, 90, 255, 121, 0, 5, 255, 255, 0, 118, 0, 0, 4, 111, 5, 200, 6, 38, 0, 53, 0, 0, 0, 7, 1, 91, 0, 158, 0, 2, 255, 255, 0, 118, 0, 0, 4, 111, 5, 243, 6, 38, 0, 53, 0, 0, 0, 6, 1, 100, 24, 6, 255, 255, 0, 118, 0, 0, 4, 111, 5, 245, 6, 38, 0, 53, 0, 0, 0, 6, 1, 96, 33, 22, 0, 1, 1, 155, 4, 175, 3, 126, 5, 198, 0, 3, 0, 0, 65, 3, 33, 1, 3, 126, 177, 254, 206, 1, 8, 4, 175, 1, 23, 254, 233, 0, 0, 1, 1, 126, 4, 175, 3, 107, 5, 198, 0, 3, 0, 0, 65, 3, 51, 1, 2, 57, 187, 216, 1, 21, 5, 198, 254, 233, 1, 23, 0, 1, 0, 129, 4, 221, 3, 106, 5, 236, 0, 8, 0, 0, 65, 37, 35, 5, 21, 51, 55, 23, 51, 3, 106, 254, 218, 161, 254, 222, 217, 153, 154, 221, 4, 249, 243, 241, 30, 127, 127, 0, 0, 1, 0, 128, 4, 232, 3, 88, 6, 6, 0, 37, 0, 0, 65, 39, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 88, 140, 13, 11, 12, 35, 19, 38, 68, 33, 34, 70, 40, 49, 79, 28, 28, 31, 140, 14, 13, 12, 32, 18, 39, 62, 32, 31, 71, 48, 49, 79, 29, 28, 31, 5, 231, 31, 21, 35, 12, 14, 15, 27, 17, 16, 27, 44, 35, 35, 88, 44, 30, 23, 37, 12, 13, 13, 27, 16, 17, 27, 42, 35, 34, 88, 0, 0, 1, 1, 17, 5, 12, 3, 235, 5, 176, 0, 3, 0, 0, 65, 53, 33, 21, 3, 235, 253, 38, 5, 12, 164, 164, 0, 1, 1, 37, 4, 125, 3, 206, 5, 162, 0, 25, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 206, 201, 15, 16, 17, 53, 38, 39, 53, 17, 17, 15, 200, 47, 45, 44, 126, 79, 78, 126, 45, 44, 47, 5, 162, 26, 49, 18, 19, 22, 22, 19, 18, 49, 26, 65, 108, 38, 39, 43, 43, 39, 38, 108, 0, 0, 1, 1, 216, 4, 200, 3, 4, 5, 223, 0, 11, 0, 0, 65, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 216, 80, 70, 70, 80, 80, 70, 70, 80, 5, 83, 60, 79, 79, 60, 61, 79, 79, 0, 0, 2, 1, 9, 4, 215, 3, 249, 5, 210, 0, 11, 0, 23, 0, 0, 65, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 9, 77, 59, 59, 77, 76, 60, 60, 76, 1, 224, 76, 60, 60, 76, 75, 61, 61, 75, 5, 85, 53, 71, 71, 53, 52, 73, 73, 52, 54, 72, 72, 54, 51, 73, 73, 0, 0, 2, 1, 147, 4, 15, 3, 56, 5, 147, 0, 23, 0, 47, 0, 0, 65, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 147, 33, 29, 29, 78, 44, 44, 76, 28, 28, 32, 32, 28, 28, 76, 44, 44, 78, 29, 29, 33, 114, 15, 12, 13, 38, 21, 21, 35, 13, 12, 14, 15, 14, 12, 34, 20, 21, 36, 13, 13, 16, 4, 207, 42, 71, 25, 26, 28, 28, 26, 25, 71, 42, 42, 72, 26, 26, 30, 30, 26, 26, 72, 42, 22, 36, 13, 14, 15, 14, 13, 13, 38, 22, 23, 37, 13, 12, 13, 14, 12, 13, 37, 0, 2, 0, 210, 4, 229, 4, 29, 5, 238, 0, 3, 0, 7, 0, 0, 65, 3, 51, 1, 33, 3, 51, 1, 3, 12, 245, 212, 1, 50, 253, 128, 203, 206, 1, 2, 5, 238, 254, 247, 1, 9, 254, 247, 1, 9, 0, 1, 0, 249, 4, 221, 3, 248, 5, 237, 0, 8, 0, 0, 65, 39, 35, 21, 5, 51, 37, 53, 35, 2, 120, 146, 237, 1, 40, 175, 1, 40, 237, 5, 111, 126, 20, 252, 253, 19, 0, 1, 253, 13, 254, 148, 254, 81, 255, 173, 0, 11, 0, 0, 69, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 253, 13, 86, 76, 74, 88, 87, 75, 77, 85, 224, 60, 80, 80, 60, 59, 82, 82, 0, 1, 1, 182, 254, 54, 3, 47, 0, 5, 0, 27, 0, 0, 101, 35, 7, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 23, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 2, 164, 207, 31, 39, 56, 17, 17, 16, 19, 16, 16, 43, 25, 7, 85, 128, 44, 43, 44, 26, 21, 21, 54, 28, 5, 141, 3, 9, 10, 9, 28, 20, 23, 32, 10, 9, 9, 160, 34, 31, 30, 86, 53, 43, 61, 21, 20, 23, 5, 0, 1, 1, 125, 254, 88, 3, 21, 0, 60, 0, 28, 0, 0, 97, 39, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 2, 236, 153, 43, 69, 26, 38, 38, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 60, 20, 50, 28, 41, 92, 46, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 0, 0, 1, 1, 20, 255, 88, 2, 29, 0, 250, 0, 9, 0, 0, 101, 53, 35, 21, 20, 6, 7, 23, 54, 54, 2, 29, 190, 37, 38, 113, 78, 74, 181, 69, 72, 76, 131, 63, 76, 68, 194, 0, 255, 255, 0, 187, 0, 93, 4, 5, 3, 124, 4, 39, 0, 122, 255, 51, 255, 221, 0, 7, 0, 122, 0, 174, 255, 221, 0, 1, 0, 172, 254, 96, 4, 99, 4, 58, 0, 30, 0, 0, 65, 33, 17, 33, 17, 22, 22, 51, 50, 54, 55, 54, 54, 55, 23, 33, 17, 33, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 1, 194, 254, 234, 1, 22, 37, 90, 53, 46, 80, 34, 19, 34, 15, 6, 1, 3, 254, 233, 11, 28, 19, 27, 75, 49, 41, 68, 24, 25, 27, 4, 58, 250, 38, 1, 187, 24, 24, 20, 19, 11, 27, 16, 72, 4, 58, 252, 255, 20, 34, 13, 20, 21, 20, 29, 28, 100, 80, 255, 255, 0, 227, 0, 127, 4, 44, 3, 158, 4, 39, 0, 123, 255, 98, 0, 0, 0, 7, 0, 123, 0, 219, 0, 0, 0, 1, 0, 199, 0, 0, 4, 90, 4, 58, 0, 9, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 199, 1, 68, 254, 188, 3, 147, 254, 202, 4, 58, 227, 253, 139, 226, 226, 3, 88, 0, 2, 0, 126, 255, 237, 4, 78, 5, 176, 0, 3, 0, 28, 0, 0, 97, 17, 35, 17, 1, 17, 20, 6, 7, 6, 6, 35, 34, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 1, 70, 200, 3, 8, 13, 16, 17, 55, 41, 60, 72, 200, 49, 45, 44, 122, 72, 87, 129, 43, 42, 41, 5, 176, 250, 80, 5, 176, 251, 146, 42, 67, 23, 24, 25, 86, 94, 87, 128, 42, 42, 41, 46, 44, 44, 127, 80, 4, 110, 0, 0, 4, 0, 75, 254, 78, 4, 87, 5, 192, 0, 29, 0, 39, 0, 51, 0, 63, 0, 0, 65, 21, 51, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 33, 21, 51, 17, 35, 21, 33, 53, 35, 17, 3, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 2, 176, 216, 37, 32, 33, 88, 50, 14, 48, 27, 27, 51, 17, 14, 24, 45, 22, 29, 60, 32, 101, 158, 55, 55, 57, 252, 1, 229, 235, 2, 148, 225, 213, 58, 57, 57, 59, 59, 57, 57, 58, 2, 71, 58, 57, 57, 59, 59, 57, 57, 58, 4, 58, 170, 252, 106, 75, 98, 29, 30, 24, 1, 2, 1, 5, 3, 167, 4, 6, 2, 3, 2, 56, 54, 54, 160, 104, 4, 64, 170, 253, 26, 170, 170, 3, 144, 1, 23, 47, 63, 63, 46, 47, 64, 64, 45, 47, 63, 63, 46, 47, 64, 64, 0, 1, 1, 156, 0, 0, 4, 37, 6, 45, 0, 21, 0, 0, 97, 33, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 1, 156, 1, 21, 34, 33, 32, 93, 60, 32, 43, 21, 24, 40, 77, 41, 114, 182, 63, 64, 68, 4, 77, 61, 96, 33, 31, 34, 6, 5, 215, 9, 12, 63, 60, 61, 179, 117, 0, 1, 0, 226, 254, 75, 3, 96, 4, 58, 0, 29, 0, 0, 65, 21, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 1, 54, 1, 18, 30, 26, 26, 70, 40, 11, 40, 23, 23, 43, 12, 14, 20, 40, 21, 25, 50, 24, 109, 170, 59, 58, 62, 4, 58, 227, 252, 144, 52, 69, 21, 21, 18, 1, 2, 1, 5, 3, 226, 5, 6, 2, 2, 2, 48, 51, 50, 155, 108, 4, 83, 0, 0, 2, 1, 185, 254, 142, 3, 3, 255, 187, 0, 23, 0, 35, 0, 0, 69, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 1, 185, 26, 23, 22, 61, 35, 34, 60, 22, 22, 25, 25, 22, 22, 60, 34, 35, 61, 22, 23, 26, 110, 32, 25, 23, 30, 30, 23, 25, 32, 222, 32, 55, 19, 20, 22, 22, 20, 19, 54, 33, 33, 56, 21, 20, 23, 23, 20, 21, 56, 33, 26, 33, 33, 26, 24, 31, 31, 0, 0, 1, 252, 152, 4, 186, 254, 29, 6, 24, 0, 3, 0, 0, 65, 3, 35, 19, 254, 29, 164, 225, 219, 4, 186, 1, 94, 254, 162, 0, 0, 1, 253, 112, 4, 185, 254, 226, 6, 25, 0, 3, 0, 0, 65, 3, 51, 19, 254, 2, 146, 166, 204, 6, 25, 254, 160, 1, 96, 0, 255, 255, 252, 111, 4, 232, 255, 71, 6, 6, 4, 7, 1, 93, 251, 239, 0, 0, 0, 1, 253, 38, 4, 239, 254, 159, 6, 133, 0, 27, 0, 0, 65, 51, 53, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 7, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 253, 58, 207, 28, 54, 21, 21, 26, 56, 55, 46, 130, 83, 7, 31, 54, 19, 19, 22, 13, 14, 17, 55, 39, 4, 239, 66, 4, 20, 18, 17, 51, 35, 49, 78, 25, 21, 22, 133, 7, 8, 8, 27, 20, 15, 21, 8, 9, 10, 3, 0, 2, 251, 247, 4, 228, 255, 78, 5, 238, 0, 3, 0, 7, 0, 0, 65, 3, 33, 1, 33, 3, 33, 19, 254, 4, 245, 254, 232, 1, 37, 2, 50, 196, 254, 239, 245, 4, 228, 1, 10, 254, 246, 1, 10, 254, 246, 0, 0, 1, 2, 69, 4, 242, 3, 170, 6, 129, 0, 3, 0, 0, 65, 3, 51, 19, 2, 149, 80, 140, 217, 6, 129, 254, 113, 1, 143, 0, 0, 3, 1, 3, 4, 200, 4, 67, 7, 9, 0, 3, 0, 15, 0, 27, 0, 0, 65, 3, 51, 19, 1, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 5, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 2, 134, 43, 147, 168, 253, 109, 77, 65, 61, 80, 79, 62, 66, 76, 2, 37, 78, 64, 60, 81, 79, 62, 66, 76, 7, 9, 254, 188, 1, 68, 254, 64, 53, 76, 74, 55, 56, 75, 77, 52, 56, 75, 73, 58, 56, 74, 76, 255, 255, 2, 45, 2, 40, 3, 105, 3, 83, 4, 6, 0, 100, 63, 0, 0, 1, 0, 141, 0, 0, 4, 59, 5, 176, 0, 5, 0, 0, 65, 53, 33, 17, 33, 17, 4, 59, 252, 82, 1, 25, 4, 204, 228, 250, 80, 4, 204, 0, 0, 2, 0, 35, 0, 0, 5, 0, 5, 176, 0, 3, 0, 8, 0, 0, 65, 1, 33, 1, 1, 19, 55, 23, 19, 2, 11, 254, 24, 4, 221, 254, 39, 254, 104, 250, 13, 12, 244, 5, 176, 250, 80, 5, 176, 251, 50, 3, 44, 41, 41, 252, 212, 0, 0, 3, 0, 91, 255, 236, 4, 134, 5, 196, 0, 3, 0, 29, 0, 55, 0, 0, 65, 53, 33, 21, 37, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 1, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 50, 254, 124, 2, 216, 74, 70, 70, 201, 127, 126, 195, 67, 67, 70, 70, 67, 67, 196, 126, 126, 201, 70, 70, 74, 254, 227, 30, 30, 31, 97, 68, 69, 92, 28, 28, 24, 24, 28, 28, 92, 68, 69, 97, 31, 31, 29, 2, 102, 223, 223, 7, 212, 140, 236, 86, 85, 96, 96, 85, 86, 236, 140, 212, 140, 235, 85, 86, 95, 95, 85, 85, 236, 1, 98, 214, 89, 150, 54, 55, 62, 62, 55, 55, 150, 88, 214, 89, 150, 54, 54, 61, 61, 54, 54, 150, 0, 0, 1, 0, 23, 0, 0, 4, 180, 5, 176, 0, 6, 0, 0, 65, 1, 33, 1, 33, 1, 33, 2, 100, 1, 42, 1, 38, 254, 63, 254, 228, 254, 64, 1, 37, 4, 55, 251, 201, 5, 176, 250, 80, 0, 0, 3, 0, 121, 0, 0, 4, 72, 5, 176, 0, 3, 0, 7, 0, 11, 0, 0, 119, 21, 33, 53, 1, 21, 33, 53, 1, 21, 33, 53, 121, 3, 207, 252, 157, 2, 244, 252, 179, 3, 152, 226, 226, 226, 2, 111, 219, 219, 2, 95, 228, 228, 0, 1, 0, 121, 0, 0, 4, 71, 5, 176, 0, 7, 0, 0, 97, 17, 33, 17, 33, 17, 33, 17, 4, 71, 252, 50, 1, 25, 1, 156, 5, 176, 250, 80, 4, 204, 251, 52, 0, 1, 0, 111, 0, 1, 4, 120, 5, 176, 0, 12, 0, 0, 65, 53, 1, 33, 53, 33, 21, 1, 1, 21, 33, 53, 33, 3, 88, 254, 149, 2, 110, 252, 20, 1, 192, 254, 64, 4, 9, 253, 112, 2, 212, 17, 1, 231, 228, 152, 253, 197, 253, 187, 151, 224, 0, 3, 0, 65, 0, 0, 4, 238, 5, 176, 0, 29, 0, 42, 0, 55, 0, 0, 65, 53, 33, 21, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 21, 33, 53, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 1, 52, 54, 55, 54, 54, 55, 17, 38, 38, 39, 38, 38, 37, 20, 6, 7, 6, 6, 7, 17, 22, 22, 23, 22, 22, 3, 36, 254, 232, 102, 169, 60, 61, 67, 67, 61, 60, 169, 102, 1, 24, 102, 168, 61, 60, 67, 67, 60, 61, 168, 253, 203, 29, 27, 23, 65, 39, 40, 66, 24, 25, 28, 2, 131, 30, 28, 23, 62, 37, 32, 55, 21, 34, 38, 4, 236, 196, 196, 11, 86, 70, 71, 190, 114, 112, 185, 68, 69, 84, 11, 189, 189, 11, 85, 69, 69, 185, 112, 114, 189, 70, 70, 86, 253, 237, 68, 106, 38, 33, 42, 10, 253, 187, 10, 42, 33, 35, 101, 65, 67, 105, 36, 29, 39, 9, 2, 68, 8, 32, 23, 38, 117, 0, 0, 1, 0, 69, 0, 0, 4, 219, 5, 176, 0, 35, 0, 0, 65, 17, 33, 17, 38, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 23, 17, 33, 17, 54, 54, 55, 54, 54, 53, 17, 33, 17, 20, 6, 7, 6, 6, 3, 39, 254, 232, 40, 64, 22, 25, 26, 254, 231, 65, 60, 60, 169, 104, 1, 24, 99, 161, 57, 57, 62, 254, 230, 22, 21, 19, 56, 2, 63, 3, 113, 252, 143, 10, 44, 35, 39, 112, 75, 2, 54, 253, 202, 128, 195, 68, 68, 77, 10, 254, 168, 1, 89, 12, 80, 68, 67, 192, 126, 2, 54, 253, 202, 76, 113, 38, 34, 44, 0, 1, 0, 86, 0, 0, 4, 130, 5, 196, 0, 59, 0, 0, 65, 17, 33, 53, 33, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 33, 21, 33, 17, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 2, 165, 1, 214, 254, 239, 59, 103, 38, 37, 43, 78, 70, 71, 197, 119, 119, 196, 70, 70, 78, 43, 38, 38, 103, 60, 254, 244, 1, 213, 40, 64, 23, 23, 25, 30, 27, 29, 86, 53, 45, 74, 27, 39, 41, 24, 22, 23, 62, 1, 16, 254, 240, 228, 43, 122, 74, 74, 172, 92, 51, 136, 228, 83, 82, 91, 91, 82, 83, 228, 136, 51, 92, 171, 74, 75, 122, 43, 228, 1, 16, 16, 77, 65, 65, 186, 124, 53, 94, 143, 49, 51, 51, 34, 34, 47, 161, 112, 53, 123, 186, 65, 65, 78, 0, 2, 0, 106, 255, 235, 4, 143, 4, 78, 0, 47, 0, 76, 0, 0, 65, 35, 7, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 37, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 17, 20, 20, 23, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 4, 4, 191, 53, 3, 18, 41, 23, 39, 95, 56, 98, 150, 51, 51, 53, 53, 51, 51, 149, 97, 56, 94, 38, 27, 46, 20, 15, 39, 25, 34, 88, 52, 35, 59, 32, 24, 9, 21, 13, 15, 25, 9, 11, 12, 253, 124, 21, 23, 23, 75, 53, 31, 52, 22, 20, 33, 13, 1, 12, 31, 20, 22, 56, 33, 54, 73, 23, 23, 20, 4, 58, 110, 7, 24, 41, 16, 27, 29, 84, 76, 76, 209, 125, 21, 117, 195, 70, 71, 78, 27, 24, 17, 45, 27, 30, 47, 17, 24, 23, 10, 16, 209, 2, 3, 9, 11, 13, 46, 35, 188, 21, 71, 125, 47, 47, 55, 10, 10, 10, 26, 17, 254, 31, 12, 23, 11, 16, 26, 10, 11, 11, 47, 41, 41, 113, 0, 0, 2, 0, 158, 254, 110, 4, 141, 5, 197, 0, 38, 0, 78, 0, 0, 65, 34, 6, 7, 6, 6, 21, 17, 33, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 3, 35, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 2, 126, 99, 174, 65, 66, 76, 1, 21, 25, 53, 27, 43, 91, 44, 102, 166, 58, 58, 63, 48, 46, 30, 80, 49, 30, 52, 21, 42, 45, 66, 60, 61, 172, 109, 67, 102, 53, 82, 28, 27, 28, 31, 29, 29, 86, 54, 36, 65, 29, 27, 47, 19, 31, 27, 27, 74, 44, 46, 70, 24, 23, 23, 24, 27, 23, 69, 5, 197, 64, 57, 58, 162, 98, 250, 96, 1, 204, 16, 25, 10, 14, 14, 58, 56, 55, 163, 104, 79, 131, 48, 33, 50, 17, 16, 41, 23, 46, 117, 66, 93, 147, 51, 50, 54, 253, 150, 206, 34, 30, 31, 87, 53, 46, 79, 29, 29, 33, 9, 9, 8, 23, 15, 3, 4, 49, 79, 28, 28, 30, 32, 26, 26, 68, 37, 51, 80, 26, 23, 24, 0, 0, 1, 0, 40, 254, 95, 4, 182, 4, 58, 0, 11, 0, 0, 65, 1, 7, 35, 39, 1, 33, 1, 17, 33, 17, 1, 3, 148, 254, 239, 16, 2, 13, 254, 231, 254, 221, 1, 187, 1, 22, 1, 189, 4, 58, 252, 251, 65, 65, 3, 5, 251, 221, 254, 72, 1, 180, 4, 39, 0, 0, 2, 0, 93, 255, 236, 4, 128, 6, 34, 0, 57, 0, 83, 0, 0, 83, 20, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 19, 53, 52, 54, 55, 54, 54, 51, 22, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 237, 26, 24, 24, 71, 44, 2, 68, 120, 45, 45, 53, 71, 68, 68, 198, 127, 125, 196, 68, 67, 71, 71, 71, 59, 172, 110, 53, 66, 18, 18, 12, 24, 22, 20, 59, 37, 71, 124, 47, 44, 80, 147, 79, 96, 151, 52, 53, 55, 133, 30, 32, 31, 96, 66, 57, 93, 33, 32, 35, 29, 31, 31, 94, 65, 66, 97, 31, 31, 30, 4, 227, 46, 79, 33, 33, 56, 21, 13, 16, 78, 57, 58, 147, 84, 20, 113, 194, 71, 71, 81, 83, 73, 72, 198, 116, 20, 113, 188, 73, 63, 100, 37, 19, 38, 18, 18, 34, 15, 24, 39, 14, 13, 14, 38, 15, 184, 33, 44, 43, 41, 42, 118, 252, 232, 20, 64, 117, 45, 44, 53, 11, 64, 45, 45, 106, 52, 20, 68, 121, 45, 45, 53, 53, 45, 45, 121, 0, 0, 1, 0, 132, 255, 236, 4, 156, 4, 77, 0, 82, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 33, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 51, 53, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 132, 78, 71, 71, 198, 119, 94, 183, 73, 72, 89, 254, 235, 33, 31, 32, 93, 59, 65, 93, 29, 30, 28, 21, 22, 16, 45, 29, 24, 56, 32, 230, 230, 28, 48, 20, 25, 40, 14, 27, 23, 21, 26, 26, 87, 66, 49, 83, 31, 31, 35, 1, 22, 78, 67, 68, 180, 101, 120, 191, 67, 68, 72, 36, 34, 24, 65, 39, 45, 72, 27, 36, 37, 1, 50, 77, 121, 42, 42, 44, 40, 42, 41, 128, 89, 26, 47, 18, 18, 21, 23, 19, 18, 48, 26, 31, 47, 16, 12, 16, 4, 4, 4, 188, 3, 4, 4, 13, 9, 16, 43, 27, 23, 45, 18, 17, 22, 16, 15, 16, 44, 28, 77, 123, 43, 42, 45, 41, 39, 40, 118, 77, 42, 78, 32, 23, 39, 15, 13, 39, 24, 33, 89, 0, 1, 0, 80, 254, 124, 4, 44, 5, 176, 0, 56, 0, 0, 65, 33, 21, 33, 7, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 1, 4, 44, 252, 36, 2, 100, 231, 88, 133, 44, 44, 45, 40, 44, 43, 136, 96, 177, 34, 45, 14, 14, 10, 13, 15, 11, 32, 21, 142, 39, 79, 33, 32, 42, 41, 38, 38, 106, 64, 187, 45, 67, 21, 22, 22, 35, 34, 34, 100, 65, 1, 160, 5, 176, 224, 247, 80, 144, 71, 71, 145, 80, 75, 122, 47, 47, 65, 18, 31, 6, 19, 13, 13, 30, 18, 19, 43, 25, 18, 41, 22, 110, 27, 80, 45, 45, 94, 43, 61, 84, 29, 29, 37, 15, 37, 9, 29, 23, 23, 65, 47, 68, 109, 50, 49, 99, 59, 1, 172, 0, 1, 0, 129, 254, 97, 4, 76, 4, 78, 0, 32, 0, 0, 115, 33, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 33, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 39, 39, 33, 129, 1, 22, 17, 41, 25, 28, 70, 40, 49, 74, 24, 22, 23, 1, 24, 54, 48, 49, 137, 83, 67, 116, 48, 28, 49, 21, 1, 12, 254, 254, 3, 23, 18, 31, 10, 13, 14, 25, 26, 24, 72, 48, 251, 183, 4, 73, 114, 159, 51, 50, 46, 38, 35, 21, 52, 31, 9, 148, 0, 3, 0, 176, 255, 235, 4, 71, 5, 197, 0, 25, 0, 40, 0, 55, 0, 0, 69, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 55, 34, 38, 39, 38, 38, 53, 53, 33, 21, 20, 6, 7, 6, 6, 3, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 2, 125, 105, 169, 60, 59, 65, 65, 60, 60, 170, 105, 105, 169, 60, 60, 65, 66, 60, 60, 170, 105, 45, 69, 22, 23, 23, 1, 107, 23, 23, 23, 68, 226, 22, 23, 22, 68, 45, 45, 69, 23, 23, 23, 21, 70, 69, 68, 202, 133, 1, 149, 133, 206, 70, 70, 72, 72, 70, 70, 206, 133, 254, 107, 133, 202, 68, 69, 70, 223, 26, 32, 31, 104, 79, 159, 159, 79, 104, 31, 32, 26, 2, 134, 128, 78, 105, 33, 32, 28, 28, 32, 33, 105, 78, 128, 0, 1, 0, 179, 255, 235, 4, 63, 4, 58, 0, 26, 0, 0, 83, 21, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 179, 1, 27, 49, 48, 47, 140, 92, 32, 62, 31, 30, 62, 32, 45, 27, 79, 45, 30, 54, 20, 20, 24, 4, 58, 227, 254, 12, 103, 143, 45, 45, 40, 6, 8, 8, 30, 24, 201, 17, 30, 7, 15, 15, 60, 54, 2, 210, 0, 0, 1, 0, 32, 255, 238, 4, 126, 6, 6, 0, 45, 0, 0, 97, 19, 55, 23, 19, 22, 22, 23, 22, 22, 51, 50, 54, 55, 55, 6, 6, 35, 34, 38, 39, 38, 38, 39, 1, 38, 38, 39, 38, 38, 35, 34, 6, 7, 23, 54, 54, 51, 50, 22, 23, 22, 22, 23, 23, 1, 1, 77, 181, 29, 49, 109, 20, 61, 43, 43, 116, 75, 20, 45, 20, 6, 18, 10, 16, 26, 45, 18, 19, 26, 12, 254, 165, 17, 55, 41, 42, 113, 73, 41, 90, 31, 6, 20, 40, 17, 36, 59, 25, 24, 37, 13, 30, 254, 127, 2, 62, 139, 138, 254, 209, 56, 105, 40, 41, 48, 5, 6, 218, 2, 1, 31, 25, 25, 64, 30, 3, 116, 40, 97, 41, 41, 56, 15, 8, 208, 2, 4, 33, 27, 27, 67, 33, 74, 251, 224, 0, 1, 0, 176, 254, 119, 4, 122, 5, 196, 0, 90, 0, 0, 65, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 51, 53, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 4, 26, 43, 66, 135, 94, 128, 201, 69, 69, 73, 47, 45, 29, 76, 46, 71, 114, 40, 49, 51, 67, 66, 65, 192, 125, 62, 33, 48, 14, 12, 11, 10, 11, 10, 32, 23, 135, 39, 80, 33, 32, 42, 44, 39, 39, 105, 61, 99, 65, 112, 41, 41, 46, 20, 20, 18, 56, 37, 45, 118, 74, 143, 149, 46, 75, 30, 27, 42, 16, 35, 29, 29, 34, 34, 111, 81, 58, 93, 4, 186, 217, 24, 25, 52, 49, 49, 141, 89, 59, 96, 37, 23, 39, 15, 21, 62, 40, 49, 129, 78, 112, 145, 48, 48, 64, 31, 16, 8, 23, 15, 12, 25, 15, 20, 41, 22, 20, 43, 24, 109, 27, 79, 45, 45, 95, 43, 67, 85, 28, 27, 33, 14, 22, 15, 33, 29, 28, 80, 54, 42, 71, 29, 26, 41, 14, 17, 18, 230, 7, 6, 6, 16, 10, 21, 57, 34, 31, 54, 20, 19, 22, 19, 0, 1, 0, 100, 255, 237, 4, 249, 4, 58, 0, 29, 0, 0, 65, 53, 33, 21, 51, 17, 33, 17, 51, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 4, 174, 251, 182, 134, 1, 22, 254, 36, 36, 36, 110, 74, 50, 103, 62, 45, 20, 40, 31, 24, 35, 11, 12, 11, 3, 100, 214, 214, 252, 156, 3, 100, 253, 206, 91, 124, 38, 39, 33, 20, 39, 190, 10, 13, 7, 12, 11, 46, 39, 2, 34, 0, 2, 0, 133, 254, 96, 4, 95, 4, 78, 0, 27, 0, 53, 0, 0, 65, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 33, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 37, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 95, 61, 60, 60, 179, 118, 116, 187, 66, 67, 72, 1, 22, 19, 43, 25, 41, 102, 60, 102, 156, 53, 53, 54, 254, 234, 23, 25, 26, 82, 59, 46, 73, 28, 21, 34, 13, 25, 27, 26, 82, 58, 58, 81, 26, 25, 22, 1, 255, 21, 125, 209, 76, 76, 84, 77, 69, 69, 194, 117, 252, 32, 2, 12, 23, 39, 15, 25, 27, 79, 71, 70, 195, 138, 21, 66, 113, 41, 42, 47, 19, 17, 13, 36, 22, 245, 64, 117, 45, 44, 53, 55, 47, 47, 125, 0, 1, 0, 86, 254, 85, 4, 60, 4, 78, 0, 63, 0, 0, 65, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 21, 22, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 2, 91, 126, 194, 65, 65, 67, 65, 67, 59, 175, 116, 33, 96, 34, 18, 18, 1, 33, 24, 24, 56, 22, 122, 59, 111, 44, 43, 53, 2, 51, 50, 51, 152, 103, 63, 94, 32, 41, 37, 24, 28, 28, 91, 67, 56, 83, 27, 27, 26, 1, 6, 70, 64, 64, 177, 4, 78, 86, 74, 74, 199, 114, 30, 114, 180, 65, 59, 79, 22, 7, 14, 22, 12, 32, 20, 30, 56, 23, 23, 34, 7, 153, 25, 71, 46, 45, 111, 66, 67, 93, 32, 31, 41, 16, 7, 39, 31, 39, 117, 75, 30, 62, 116, 45, 45, 54, 31, 26, 26, 72, 40, 99, 156, 54, 54, 57, 0, 0, 2, 0, 79, 255, 235, 4, 134, 4, 58, 0, 28, 0, 54, 0, 0, 65, 53, 33, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 4, 134, 253, 195, 121, 189, 64, 65, 67, 67, 65, 65, 189, 122, 118, 184, 63, 63, 65, 26, 23, 24, 65, 38, 253, 222, 25, 27, 27, 87, 62, 60, 82, 26, 25, 23, 23, 26, 26, 82, 58, 63, 88, 27, 27, 24, 3, 88, 226, 81, 71, 71, 194, 114, 21, 119, 201, 74, 74, 83, 80, 69, 69, 186, 106, 21, 52, 98, 44, 44, 77, 31, 254, 186, 21, 62, 111, 42, 41, 49, 49, 41, 42, 111, 62, 21, 68, 119, 44, 45, 52, 52, 45, 44, 119, 0, 1, 0, 65, 255, 235, 4, 10, 4, 58, 0, 28, 0, 0, 65, 53, 33, 21, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 4, 10, 252, 55, 1, 94, 50, 48, 48, 138, 88, 34, 61, 30, 30, 60, 32, 32, 35, 71, 51, 33, 55, 20, 21, 23, 3, 83, 231, 231, 254, 44, 111, 154, 48, 48, 43, 5, 6, 6, 21, 17, 209, 15, 23, 10, 18, 17, 70, 60, 1, 215, 0, 0, 1, 0, 126, 255, 235, 4, 84, 4, 58, 0, 36, 0, 0, 65, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 33, 22, 18, 23, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 1, 148, 254, 234, 68, 64, 64, 183, 114, 135, 187, 58, 57, 52, 18, 16, 16, 41, 23, 254, 243, 45, 58, 2, 24, 26, 27, 84, 60, 45, 75, 27, 27, 31, 4, 58, 253, 145, 125, 182, 58, 59, 56, 92, 80, 79, 214, 122, 82, 148, 65, 64, 111, 46, 125, 254, 255, 134, 66, 131, 51, 52, 64, 26, 30, 30, 97, 72, 0, 0, 2, 0, 77, 254, 34, 4, 205, 4, 70, 0, 46, 0, 65, 0, 0, 69, 17, 33, 17, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 38, 38, 39, 38, 38, 53, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 37, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 20, 6, 7, 6, 6, 1, 254, 1, 23, 122, 168, 52, 52, 46, 49, 51, 52, 158, 109, 63, 110, 40, 41, 46, 44, 59, 18, 18, 16, 1, 18, 17, 17, 50, 35, 188, 51, 84, 30, 30, 33, 45, 51, 51, 166, 1, 143, 7, 8, 6, 18, 12, 26, 40, 14, 14, 15, 1, 16, 19, 19, 62, 9, 254, 43, 1, 211, 20, 108, 77, 76, 187, 99, 99, 193, 76, 76, 94, 43, 38, 39, 107, 65, 253, 197, 21, 68, 44, 44, 105, 58, 47, 99, 48, 48, 90, 39, 152, 41, 111, 67, 67, 153, 84, 102, 191, 78, 78, 110, 215, 2, 67, 15, 25, 9, 7, 8, 48, 42, 42, 115, 67, 54, 101, 43, 44, 67, 0, 1, 0, 69, 254, 34, 4, 220, 4, 58, 0, 39, 0, 0, 65, 33, 17, 38, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 23, 17, 33, 17, 54, 54, 55, 54, 54, 53, 52, 38, 39, 33, 22, 22, 23, 20, 6, 7, 6, 6, 7, 3, 16, 254, 234, 35, 58, 20, 21, 23, 254, 232, 61, 57, 56, 162, 101, 1, 22, 128, 176, 54, 54, 48, 53, 35, 254, 251, 29, 41, 1, 19, 21, 22, 70, 50, 4, 58, 252, 172, 17, 58, 44, 43, 118, 77, 1, 239, 254, 20, 138, 208, 73, 74, 88, 18, 254, 43, 1, 211, 19, 112, 82, 81, 200, 108, 158, 244, 89, 118, 246, 127, 63, 114, 47, 48, 71, 21, 0, 0, 1, 0, 46, 255, 236, 4, 171, 4, 58, 0, 82, 0, 0, 65, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 33, 22, 18, 23, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 33, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 54, 18, 1, 166, 254, 243, 21, 39, 14, 15, 18, 33, 39, 39, 127, 94, 48, 83, 34, 23, 38, 16, 16, 39, 22, 34, 84, 49, 93, 127, 39, 19, 26, 9, 9, 9, 17, 14, 15, 39, 22, 254, 244, 43, 53, 2, 2, 2, 2, 4, 3, 8, 25, 19, 10, 18, 8, 13, 19, 9, 4, 5, 254, 220, 14, 12, 6, 13, 7, 8, 17, 10, 18, 25, 7, 7, 6, 2, 51, 4, 58, 46, 111, 64, 65, 148, 82, 122, 214, 79, 80, 91, 34, 33, 22, 60, 36, 36, 59, 22, 34, 34, 91, 80, 38, 88, 49, 55, 121, 64, 82, 148, 65, 64, 111, 46, 125, 254, 255, 134, 41, 80, 36, 26, 48, 21, 50, 61, 8, 9, 15, 57, 45, 30, 76, 46, 1, 89, 254, 167, 79, 109, 34, 16, 23, 8, 9, 8, 61, 51, 50, 131, 70, 134, 1, 1, 0, 0, 2, 0, 148, 255, 236, 4, 207, 5, 196, 0, 55, 0, 75, 0, 0, 65, 39, 6, 6, 7, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 5, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 54, 54, 1, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 38, 38, 39, 38, 38, 4, 207, 9, 24, 54, 29, 51, 47, 48, 135, 85, 83, 139, 50, 51, 56, 67, 61, 60, 167, 100, 32, 31, 23, 60, 37, 54, 84, 29, 30, 31, 254, 246, 69, 63, 63, 178, 108, 109, 180, 64, 63, 70, 32, 58, 253, 197, 13, 12, 13, 40, 24, 19, 30, 10, 15, 15, 38, 62, 23, 33, 35, 2, 70, 233, 6, 10, 5, 1, 12, 98, 154, 53, 53, 56, 54, 51, 51, 146, 92, 22, 97, 168, 66, 66, 91, 20, 97, 66, 100, 31, 22, 24, 36, 33, 32, 89, 53, 1, 1, 1, 255, 0, 103, 174, 63, 64, 71, 67, 62, 62, 175, 109, 98, 6, 15, 1, 241, 24, 33, 49, 16, 18, 18, 11, 12, 16, 59, 43, 254, 230, 13, 40, 25, 37, 96, 0, 1, 0, 66, 0, 0, 5, 1, 5, 200, 0, 46, 0, 0, 65, 3, 7, 39, 3, 38, 38, 39, 38, 38, 35, 34, 6, 7, 23, 54, 54, 51, 50, 22, 23, 22, 22, 23, 1, 17, 33, 17, 1, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 3, 68, 150, 14, 13, 152, 28, 67, 39, 40, 90, 51, 35, 65, 26, 23, 3, 31, 12, 17, 32, 13, 14, 23, 8, 1, 33, 1, 23, 1, 38, 6, 17, 10, 15, 37, 21, 13, 31, 4, 23, 27, 66, 34, 56, 98, 42, 35, 62, 4, 174, 254, 109, 63, 64, 1, 152, 76, 105, 33, 33, 29, 11, 12, 220, 2, 3, 9, 9, 8, 26, 17, 253, 94, 254, 13, 1, 231, 2, 174, 14, 22, 8, 12, 13, 3, 2, 219, 12, 12, 38, 40, 34, 102, 0, 0, 2, 255, 255, 255, 236, 4, 255, 4, 58, 0, 43, 0, 89, 0, 0, 65, 53, 33, 21, 51, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 3, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 33, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 54, 54, 55, 33, 22, 22, 4, 255, 251, 0, 108, 29, 37, 6, 7, 8, 30, 22, 39, 129, 95, 53, 91, 37, 21, 38, 15, 13, 33, 19, 38, 97, 57, 94, 129, 39, 19, 28, 8, 10, 8, 11, 9, 9, 24, 14, 210, 2, 2, 1, 5, 4, 8, 27, 20, 20, 36, 13, 7, 12, 3, 4, 4, 254, 220, 3, 3, 4, 12, 7, 14, 36, 21, 20, 27, 8, 4, 5, 1, 2, 2, 2, 37, 32, 1, 231, 31, 37, 3, 113, 201, 201, 98, 229, 128, 43, 80, 37, 46, 82, 33, 59, 66, 39, 38, 22, 59, 35, 31, 53, 21, 44, 44, 66, 59, 29, 69, 40, 41, 92, 50, 67, 129, 59, 53, 101, 46, 254, 57, 24, 48, 21, 17, 32, 13, 31, 37, 30, 34, 18, 45, 29, 26, 66, 38, 206, 206, 34, 58, 25, 33, 53, 19, 34, 30, 37, 31, 14, 31, 18, 21, 47, 24, 112, 231, 112, 112, 231, 0, 1, 0, 31, 255, 240, 4, 154, 5, 176, 0, 39, 0, 0, 65, 53, 33, 21, 33, 17, 33, 17, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 23, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 17, 4, 72, 251, 215, 1, 47, 1, 25, 12, 26, 20, 53, 82, 27, 31, 31, 8, 18, 18, 72, 64, 1, 130, 176, 54, 54, 46, 71, 64, 65, 181, 111, 23, 34, 14, 4, 204, 228, 228, 251, 52, 2, 108, 2, 2, 28, 26, 29, 88, 58, 31, 70, 29, 30, 39, 212, 73, 60, 60, 152, 80, 113, 168, 55, 55, 54, 3, 2, 1, 123, 0, 1, 0, 95, 255, 236, 4, 132, 5, 198, 0, 55, 0, 0, 65, 33, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 33, 53, 33, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 33, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 131, 254, 231, 4, 35, 29, 31, 90, 57, 61, 94, 32, 33, 33, 1, 216, 254, 40, 47, 44, 28, 75, 45, 66, 95, 32, 31, 33, 5, 1, 24, 10, 77, 68, 68, 193, 126, 116, 192, 68, 68, 75, 73, 69, 69, 197, 125, 116, 188, 68, 68, 80, 1, 200, 66, 95, 30, 31, 30, 43, 47, 46, 145, 101, 31, 227, 27, 115, 160, 45, 29, 30, 32, 32, 33, 99, 66, 115, 182, 63, 63, 67, 86, 79, 79, 226, 139, 254, 229, 140, 224, 78, 79, 85, 67, 62, 62, 176, 0, 0, 2, 0, 38, 0, 0, 4, 153, 5, 176, 0, 46, 0, 61, 0, 0, 65, 33, 17, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 35, 21, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 17, 51, 17, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 3, 11, 253, 164, 3, 4, 3, 12, 8, 9, 21, 13, 10, 22, 12, 20, 25, 54, 91, 37, 31, 52, 20, 23, 30, 8, 4, 4, 136, 241, 88, 142, 50, 50, 53, 53, 50, 50, 142, 88, 15, 15, 37, 57, 19, 19, 19, 17, 17, 17, 55, 37, 23, 5, 176, 252, 146, 45, 79, 33, 36, 59, 22, 23, 32, 10, 6, 7, 226, 24, 24, 21, 61, 40, 46, 121, 74, 38, 84, 45, 2, 138, 251, 52, 71, 63, 63, 174, 104, 102, 174, 63, 63, 71, 226, 41, 34, 35, 88, 47, 49, 91, 34, 35, 42, 0, 0, 2, 0, 91, 0, 0, 4, 133, 5, 176, 0, 24, 0, 39, 0, 0, 115, 33, 17, 51, 17, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 35, 17, 35, 17, 33, 1, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 91, 1, 1, 173, 248, 90, 143, 51, 50, 54, 54, 50, 51, 143, 90, 7, 241, 173, 254, 255, 2, 159, 7, 39, 58, 20, 19, 19, 17, 18, 18, 55, 39, 15, 2, 102, 253, 154, 70, 63, 62, 173, 102, 102, 171, 63, 62, 70, 2, 6, 253, 152, 2, 104, 253, 24, 40, 33, 34, 87, 46, 48, 88, 34, 34, 40, 0, 1, 0, 39, 0, 0, 4, 76, 5, 176, 0, 29, 0, 0, 65, 53, 33, 21, 33, 17, 33, 17, 50, 22, 51, 22, 22, 23, 22, 22, 21, 17, 33, 17, 52, 38, 39, 38, 38, 39, 38, 34, 35, 17, 4, 41, 251, 254, 1, 41, 1, 25, 6, 13, 6, 45, 67, 22, 21, 22, 1, 25, 70, 63, 60, 163, 98, 7, 15, 7, 4, 204, 228, 228, 251, 52, 2, 140, 1, 3, 25, 24, 23, 73, 51, 254, 60, 1, 196, 108, 159, 53, 48, 53, 4, 1, 1, 94, 0, 1, 0, 109, 254, 152, 4, 59, 5, 176, 0, 11, 0, 0, 83, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 109, 1, 99, 1, 27, 1, 80, 254, 230, 254, 100, 5, 176, 250, 80, 254, 152, 1, 104, 5, 176, 251, 50, 4, 206, 0, 0, 2, 0, 131, 0, 0, 4, 93, 5, 176, 0, 18, 0, 33, 0, 0, 65, 53, 33, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 4, 50, 252, 81, 1, 190, 126, 201, 70, 69, 74, 74, 69, 70, 201, 126, 164, 164, 66, 97, 33, 32, 31, 31, 32, 33, 97, 66, 164, 4, 204, 228, 250, 80, 68, 61, 61, 171, 104, 102, 168, 59, 59, 65, 1, 54, 253, 232, 35, 30, 31, 82, 47, 49, 88, 33, 33, 38, 0, 2, 0, 45, 254, 154, 4, 135, 5, 176, 0, 20, 0, 33, 0, 0, 65, 19, 35, 17, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 35, 19, 51, 17, 33, 17, 1, 19, 51, 17, 33, 54, 54, 55, 54, 54, 55, 54, 54, 4, 95, 40, 107, 253, 49, 40, 2, 5, 4, 8, 22, 16, 23, 68, 46, 54, 44, 237, 2, 39, 254, 210, 24, 173, 254, 197, 24, 40, 15, 8, 14, 5, 4, 6, 254, 154, 2, 72, 4, 206, 253, 172, 51, 92, 41, 85, 132, 49, 74, 86, 24, 253, 184, 1, 102, 254, 154, 4, 194, 1, 112, 252, 22, 49, 123, 78, 43, 98, 54, 43, 94, 0, 1, 255, 248, 0, 0, 4, 195, 5, 176, 0, 21, 0, 0, 65, 19, 33, 3, 19, 33, 3, 35, 17, 35, 17, 35, 3, 33, 19, 3, 33, 19, 51, 17, 51, 17, 3, 17, 136, 1, 42, 242, 219, 254, 218, 127, 42, 246, 45, 134, 254, 218, 224, 246, 1, 40, 143, 56, 246, 2, 75, 253, 181, 3, 6, 2, 170, 253, 153, 2, 103, 253, 153, 2, 103, 253, 86, 252, 250, 2, 75, 253, 181, 2, 75, 0, 0, 1, 0, 78, 255, 236, 4, 148, 5, 196, 0, 82, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 33, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 21, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 78, 95, 77, 76, 192, 98, 121, 205, 74, 73, 83, 48, 46, 29, 78, 47, 53, 84, 29, 29, 31, 76, 69, 70, 198, 121, 105, 187, 71, 71, 83, 1, 25, 37, 32, 31, 86, 50, 65, 95, 31, 31, 30, 14, 14, 17, 69, 48, 16, 38, 20, 196, 196, 19, 36, 16, 47, 71, 24, 22, 23, 36, 35, 35, 102, 66, 57, 94, 34, 34, 37, 1, 148, 112, 160, 51, 52, 49, 57, 55, 54, 160, 102, 78, 124, 46, 30, 46, 16, 24, 66, 41, 40, 92, 50, 102, 155, 53, 52, 53, 57, 53, 53, 152, 96, 42, 68, 24, 24, 26, 31, 26, 26, 71, 39, 33, 57, 24, 30, 45, 9, 3, 3, 220, 2, 2, 7, 33, 27, 27, 75, 48, 44, 75, 28, 28, 31, 31, 27, 27, 72, 42, 0, 0, 1, 0, 111, 0, 0, 4, 63, 5, 176, 0, 9, 0, 0, 65, 1, 17, 33, 17, 33, 1, 17, 33, 17, 3, 37, 254, 99, 254, 231, 1, 25, 1, 157, 1, 26, 5, 176, 252, 94, 3, 162, 250, 80, 3, 161, 252, 95, 5, 176, 0, 1, 0, 39, 0, 0, 4, 79, 5, 176, 0, 30, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 35, 35, 21, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 19, 33, 17, 33, 4, 79, 252, 161, 6, 1, 2, 2, 3, 12, 10, 17, 66, 49, 33, 70, 100, 150, 50, 24, 37, 13, 8, 12, 4, 3, 4, 1, 5, 1, 45, 1, 26, 5, 176, 253, 6, 47, 83, 36, 64, 96, 34, 54, 54, 226, 74, 83, 39, 100, 61, 37, 82, 46, 39, 86, 47, 2, 22, 251, 52, 0, 1, 0, 2, 255, 235, 4, 213, 5, 176, 0, 27, 0, 0, 119, 22, 22, 51, 50, 54, 55, 54, 54, 55, 1, 33, 1, 7, 39, 3, 33, 1, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 95, 34, 109, 71, 88, 130, 49, 48, 69, 26, 2, 6, 254, 206, 254, 238, 30, 91, 230, 254, 208, 1, 252, 28, 11, 35, 26, 26, 72, 48, 38, 87, 26, 11, 9, 23, 48, 41, 41, 108, 59, 4, 156, 253, 76, 77, 254, 2, 3, 251, 230, 62, 32, 51, 18, 18, 20, 18, 8, 0, 0, 1, 0, 109, 254, 161, 4, 233, 5, 176, 0, 11, 0, 0, 83, 17, 33, 17, 33, 19, 35, 17, 33, 17, 33, 17, 109, 3, 100, 1, 4, 20, 189, 254, 230, 254, 115, 5, 176, 250, 80, 254, 161, 2, 64, 4, 207, 251, 50, 4, 206, 0, 0, 1, 0, 157, 0, 0, 4, 95, 5, 176, 0, 25, 0, 0, 65, 33, 17, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 17, 33, 4, 95, 254, 230, 53, 115, 39, 49, 72, 24, 24, 23, 254, 231, 67, 62, 61, 175, 108, 37, 117, 53, 1, 26, 5, 176, 253, 93, 14, 13, 23, 29, 28, 96, 73, 1, 197, 254, 59, 125, 181, 58, 58, 55, 15, 14, 253, 213, 0, 1, 0, 81, 0, 0, 4, 147, 5, 176, 0, 11, 0, 0, 65, 33, 17, 33, 17, 33, 17, 35, 17, 33, 17, 35, 1, 99, 254, 238, 4, 66, 254, 239, 138, 254, 247, 140, 5, 176, 250, 80, 5, 176, 251, 50, 4, 206, 251, 50, 0, 1, 0, 81, 254, 162, 5, 20, 5, 176, 0, 15, 0, 0, 65, 33, 17, 33, 17, 33, 19, 35, 17, 33, 17, 35, 17, 33, 17, 35, 1, 99, 254, 238, 3, 174, 1, 1, 20, 129, 254, 239, 138, 254, 247, 140, 5, 176, 250, 80, 254, 162, 2, 61, 4, 209, 251, 50, 4, 206, 251, 50, 0, 2, 0, 51, 0, 0, 4, 136, 5, 176, 0, 18, 0, 33, 0, 0, 83, 21, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 51, 251, 1, 114, 118, 182, 62, 62, 64, 64, 62, 62, 182, 118, 89, 89, 56, 79, 25, 24, 23, 23, 24, 25, 79, 56, 89, 5, 176, 217, 251, 41, 64, 58, 58, 161, 96, 97, 160, 58, 57, 63, 2, 72, 252, 215, 32, 28, 28, 76, 44, 46, 78, 29, 29, 33, 0, 3, 0, 74, 0, 0, 4, 128, 5, 176, 0, 16, 0, 20, 0, 35, 0, 0, 65, 17, 33, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 1, 17, 33, 17, 1, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 99, 254, 231, 1, 55, 99, 152, 52, 52, 53, 49, 47, 48, 140, 91, 2, 222, 254, 231, 253, 252, 46, 31, 42, 14, 13, 12, 12, 13, 14, 43, 30, 46, 3, 96, 2, 80, 250, 80, 64, 58, 58, 161, 96, 97, 157, 56, 56, 61, 252, 160, 5, 176, 250, 80, 2, 135, 32, 28, 28, 76, 44, 46, 81, 30, 31, 35, 0, 2, 0, 131, 0, 0, 4, 93, 5, 176, 0, 16, 0, 31, 0, 0, 65, 17, 33, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 7, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 157, 254, 230, 1, 190, 126, 201, 70, 69, 74, 74, 69, 70, 201, 126, 164, 164, 66, 97, 33, 32, 31, 31, 32, 33, 97, 66, 164, 3, 150, 2, 26, 250, 80, 68, 61, 61, 171, 104, 102, 168, 59, 59, 65, 226, 35, 30, 31, 82, 47, 49, 88, 33, 33, 38, 0, 1, 0, 32, 255, 236, 4, 62, 5, 198, 0, 55, 0, 0, 65, 33, 6, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 33, 38, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 33, 21, 33, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 60, 254, 231, 3, 74, 69, 68, 189, 111, 125, 201, 71, 70, 76, 78, 70, 70, 195, 117, 120, 193, 68, 68, 73, 1, 25, 5, 28, 31, 31, 95, 61, 57, 93, 33, 32, 35, 254, 129, 1, 127, 37, 34, 34, 98, 60, 51, 87, 31, 32, 32, 1, 228, 119, 187, 65, 65, 68, 82, 77, 76, 221, 140, 1, 47, 139, 223, 77, 77, 83, 81, 70, 70, 186, 105, 67, 106, 37, 36, 38, 44, 45, 46, 140, 96, 39, 227, 39, 101, 140, 44, 45, 40, 38, 36, 36, 104, 0, 2, 0, 84, 255, 235, 4, 109, 5, 197, 0, 33, 0, 59, 0, 0, 65, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 35, 17, 35, 17, 51, 17, 51, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 1, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 109, 69, 66, 44, 116, 71, 73, 116, 43, 55, 58, 89, 249, 249, 89, 44, 44, 43, 130, 84, 82, 130, 46, 53, 55, 254, 255, 10, 12, 13, 42, 32, 27, 37, 11, 12, 10, 10, 12, 11, 37, 27, 32, 42, 13, 12, 10, 1, 251, 1, 186, 158, 223, 63, 42, 42, 49, 49, 65, 216, 149, 128, 2, 123, 250, 80, 2, 92, 97, 131, 199, 65, 66, 67, 57, 56, 65, 209, 2, 105, 254, 3, 76, 104, 32, 32, 28, 28, 32, 32, 104, 76, 1, 253, 75, 103, 32, 32, 28, 28, 32, 32, 103, 0, 2, 255, 217, 0, 0, 4, 19, 5, 176, 0, 19, 0, 34, 0, 0, 97, 33, 17, 33, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 1, 33, 1, 51, 1, 52, 54, 55, 54, 54, 51, 51, 17, 35, 34, 38, 39, 38, 38, 2, 249, 1, 26, 254, 42, 123, 198, 69, 70, 74, 53, 51, 27, 67, 39, 254, 197, 1, 45, 1, 18, 225, 254, 71, 28, 29, 31, 98, 67, 188, 188, 66, 97, 32, 29, 29, 5, 176, 55, 54, 54, 160, 105, 86, 138, 53, 27, 47, 19, 253, 110, 2, 61, 1, 182, 50, 79, 28, 29, 31, 254, 72, 29, 29, 28, 82, 0, 2, 0, 115, 255, 235, 4, 105, 6, 21, 0, 53, 0, 79, 0, 0, 65, 34, 6, 7, 6, 6, 7, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 35, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 7, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 2, 163, 52, 95, 42, 38, 70, 32, 14, 54, 39, 39, 101, 61, 102, 144, 47, 46, 43, 225, 24, 25, 26, 78, 54, 111, 180, 63, 34, 51, 17, 16, 17, 67, 65, 65, 189, 122, 121, 189, 65, 64, 67, 60, 58, 58, 169, 163, 63, 88, 27, 27, 25, 25, 27, 27, 87, 62, 63, 88, 27, 27, 24, 24, 27, 27, 87, 3, 254, 20, 19, 17, 49, 32, 74, 108, 38, 38, 47, 13, 20, 54, 41, 40, 116, 83, 30, 42, 15, 15, 22, 11, 24, 118, 100, 52, 130, 77, 70, 163, 93, 61, 120, 203, 74, 74, 84, 78, 69, 69, 190, 112, 21, 108, 184, 68, 67, 77, 225, 45, 38, 39, 101, 56, 21, 61, 108, 40, 40, 46, 46, 40, 40, 108, 61, 21, 56, 101, 39, 38, 45, 0, 0, 3, 0, 138, 0, 0, 4, 72, 4, 58, 0, 27, 0, 42, 0, 57, 0, 0, 115, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 1, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 17, 53, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 138, 2, 7, 105, 163, 56, 56, 59, 30, 30, 30, 86, 57, 12, 41, 65, 23, 31, 32, 63, 59, 60, 169, 105, 254, 63, 1, 22, 241, 45, 63, 19, 18, 16, 18, 20, 19, 62, 42, 241, 171, 49, 71, 21, 19, 18, 19, 20, 20, 62, 42, 39, 39, 38, 116, 77, 43, 78, 32, 30, 47, 13, 2, 14, 39, 23, 31, 76, 43, 76, 114, 38, 37, 37, 253, 137, 18, 17, 15, 41, 25, 28, 42, 15, 14, 15, 1, 163, 219, 16, 16, 14, 41, 28, 25, 38, 13, 13, 14, 1, 0, 1, 0, 143, 0, 0, 4, 50, 4, 58, 0, 5, 0, 0, 65, 53, 33, 17, 33, 17, 4, 50, 252, 93, 1, 21, 3, 88, 226, 251, 198, 3, 88, 0, 0, 2, 0, 33, 254, 188, 4, 224, 4, 58, 0, 17, 0, 27, 0, 0, 119, 35, 19, 33, 17, 33, 17, 33, 19, 35, 17, 33, 3, 6, 6, 7, 6, 6, 1, 55, 51, 17, 33, 54, 54, 55, 54, 54, 145, 112, 21, 1, 7, 2, 141, 1, 2, 20, 154, 252, 238, 6, 2, 7, 15, 15, 61, 1, 122, 2, 234, 254, 195, 15, 22, 9, 14, 16, 224, 253, 220, 1, 68, 254, 188, 2, 35, 3, 91, 254, 146, 92, 166, 66, 66, 89, 1, 223, 133, 253, 142, 36, 80, 44, 72, 167, 0, 1, 0, 34, 0, 0, 4, 164, 4, 58, 0, 21, 0, 0, 65, 19, 33, 3, 19, 33, 3, 35, 17, 35, 17, 35, 3, 33, 19, 3, 33, 19, 51, 17, 51, 17, 3, 13, 126, 1, 25, 227, 215, 254, 231, 124, 43, 241, 41, 124, 254, 232, 217, 225, 1, 20, 125, 52, 241, 1, 153, 254, 103, 2, 69, 1, 245, 254, 103, 1, 153, 254, 103, 1, 153, 254, 5, 253, 193, 1, 153, 254, 103, 1, 153, 0, 0, 1, 0, 114, 255, 236, 4, 94, 4, 77, 0, 82, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 33, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 21, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 114, 86, 70, 69, 177, 91, 111, 187, 68, 68, 77, 39, 37, 26, 67, 41, 34, 58, 22, 37, 40, 71, 64, 65, 182, 110, 98, 174, 64, 65, 75, 1, 21, 32, 29, 28, 77, 45, 54, 77, 25, 24, 22, 18, 19, 14, 40, 26, 18, 42, 24, 204, 204, 26, 47, 20, 33, 49, 16, 14, 15, 27, 27, 28, 83, 55, 54, 86, 29, 29, 31, 1, 64, 89, 128, 41, 42, 40, 44, 42, 42, 121, 77, 55, 90, 34, 23, 36, 13, 14, 35, 20, 33, 82, 45, 77, 118, 40, 39, 41, 45, 42, 43, 123, 77, 28, 44, 16, 15, 16, 22, 17, 18, 45, 23, 23, 40, 16, 11, 17, 6, 3, 4, 185, 4, 3, 6, 23, 17, 15, 42, 26, 26, 48, 19, 19, 23, 22, 18, 18, 47, 26, 0, 0, 1, 0, 121, 0, 0, 4, 60, 4, 58, 0, 9, 0, 0, 65, 1, 17, 33, 17, 33, 1, 17, 33, 17, 3, 38, 254, 105, 254, 234, 1, 22, 1, 151, 1, 22, 4, 58, 253, 78, 2, 178, 251, 198, 2, 178, 253, 78, 4, 58, 0, 1, 0, 133, 0, 0, 4, 204, 4, 58, 0, 12, 0, 0, 65, 1, 33, 1, 1, 33, 1, 35, 17, 33, 17, 33, 17, 2, 62, 1, 30, 1, 112, 254, 83, 1, 141, 254, 162, 254, 221, 144, 254, 234, 1, 22, 1, 149, 254, 107, 2, 49, 2, 9, 254, 98, 1, 158, 251, 198, 1, 149, 0, 1, 0, 34, 0, 0, 4, 59, 4, 58, 0, 27, 0, 0, 65, 33, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 23, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 53, 33, 17, 33, 4, 59, 252, 172, 1, 3, 3, 12, 9, 18, 65, 53, 33, 2, 49, 120, 163, 50, 31, 40, 10, 6, 5, 1, 38, 1, 23, 4, 58, 254, 51, 48, 83, 35, 43, 68, 26, 47, 42, 229, 78, 78, 50, 130, 79, 46, 104, 56, 235, 252, 168, 0, 0, 1, 0, 113, 0, 0, 4, 85, 4, 58, 0, 12, 0, 0, 65, 3, 33, 17, 51, 17, 19, 51, 19, 17, 51, 17, 33, 2, 97, 150, 254, 166, 246, 156, 187, 161, 246, 254, 164, 1, 75, 2, 239, 251, 198, 2, 76, 253, 180, 2, 91, 253, 165, 4, 58, 0, 0, 1, 0, 121, 0, 0, 4, 59, 4, 58, 0, 11, 0, 0, 97, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 4, 59, 254, 233, 254, 108, 254, 233, 1, 23, 1, 148, 4, 58, 254, 74, 1, 182, 251, 198, 1, 164, 254, 92, 0, 1, 0, 121, 0, 0, 4, 60, 4, 58, 0, 7, 0, 0, 97, 17, 33, 17, 33, 17, 33, 17, 4, 60, 252, 61, 1, 23, 1, 149, 4, 58, 251, 198, 3, 88, 252, 168, 0, 1, 0, 93, 0, 0, 4, 178, 4, 58, 0, 7, 0, 0, 65, 53, 33, 21, 33, 17, 33, 17, 4, 178, 251, 171, 1, 157, 1, 23, 3, 91, 223, 223, 252, 165, 3, 91, 0, 3, 0, 55, 254, 96, 4, 149, 6, 0, 0, 31, 0, 45, 0, 59, 0, 0, 83, 21, 20, 22, 23, 22, 22, 23, 17, 33, 17, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 17, 33, 17, 6, 6, 7, 6, 6, 5, 53, 52, 54, 55, 54, 54, 55, 17, 38, 38, 39, 38, 38, 37, 21, 20, 6, 7, 6, 6, 7, 17, 22, 22, 23, 22, 22, 55, 55, 54, 53, 155, 100, 1, 25, 100, 157, 54, 53, 56, 56, 53, 54, 156, 101, 254, 231, 100, 155, 53, 54, 55, 1, 9, 18, 19, 18, 57, 40, 40, 58, 18, 19, 17, 2, 76, 18, 19, 20, 59, 40, 40, 59, 20, 19, 18, 2, 39, 21, 101, 177, 70, 70, 97, 21, 254, 102, 1, 153, 20, 97, 71, 70, 178, 101, 21, 101, 178, 71, 70, 97, 20, 1, 192, 254, 64, 21, 97, 70, 71, 178, 121, 21, 48, 89, 39, 38, 61, 20, 253, 155, 20, 61, 39, 39, 90, 69, 21, 49, 91, 39, 39, 62, 19, 2, 104, 20, 61, 39, 39, 89, 0, 1, 0, 121, 254, 191, 4, 188, 4, 58, 0, 11, 0, 0, 83, 17, 33, 17, 33, 19, 35, 17, 33, 17, 33, 17, 121, 3, 46, 1, 1, 20, 158, 254, 233, 254, 137, 4, 58, 251, 198, 254, 191, 2, 31, 3, 92, 252, 165, 3, 91, 0, 0, 1, 0, 124, 0, 0, 4, 97, 4, 58, 0, 28, 0, 0, 97, 17, 33, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 17, 4, 97, 254, 233, 20, 39, 20, 32, 66, 35, 59, 86, 28, 28, 27, 254, 234, 70, 66, 65, 188, 117, 51, 109, 52, 4, 58, 254, 4, 4, 7, 3, 4, 4, 19, 22, 22, 73, 54, 1, 84, 254, 172, 108, 156, 50, 51, 49, 11, 10, 254, 163, 0, 0, 1, 0, 83, 0, 0, 4, 127, 4, 58, 0, 11, 0, 0, 65, 33, 17, 33, 17, 33, 17, 35, 17, 33, 17, 35, 1, 97, 254, 242, 4, 44, 254, 242, 133, 254, 250, 133, 4, 58, 251, 198, 4, 58, 252, 165, 3, 91, 252, 165, 0, 1, 0, 79, 254, 191, 4, 235, 4, 58, 0, 15, 0, 0, 65, 33, 17, 33, 17, 51, 19, 35, 17, 33, 17, 35, 17, 33, 17, 35, 1, 93, 254, 242, 3, 167, 225, 20, 112, 254, 242, 133, 254, 250, 133, 4, 58, 251, 198, 254, 191, 2, 31, 3, 92, 252, 165, 3, 91, 252, 165, 0, 0, 2, 0, 56, 0, 0, 4, 153, 4, 58, 0, 18, 0, 33, 0, 0, 97, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 33, 21, 33, 1, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 63, 1, 164, 106, 164, 56, 55, 57, 57, 55, 56, 164, 106, 139, 253, 224, 1, 7, 1, 25, 139, 43, 60, 19, 18, 16, 16, 18, 19, 60, 43, 139, 56, 48, 48, 130, 75, 72, 121, 45, 44, 50, 1, 137, 217, 254, 119, 23, 18, 18, 43, 21, 24, 47, 19, 19, 24, 0, 3, 0, 99, 0, 0, 4, 124, 4, 58, 0, 16, 0, 20, 0, 35, 0, 0, 65, 17, 33, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 1, 17, 33, 17, 1, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 108, 254, 247, 1, 50, 98, 144, 48, 47, 46, 46, 47, 48, 144, 98, 2, 231, 254, 231, 254, 9, 41, 46, 53, 14, 13, 7, 7, 13, 14, 53, 46, 41, 2, 185, 1, 129, 251, 198, 56, 48, 48, 130, 75, 72, 124, 46, 45, 53, 253, 71, 4, 58, 251, 198, 1, 248, 29, 22, 23, 55, 26, 24, 47, 19, 19, 24, 0, 2, 0, 138, 0, 0, 4, 125, 4, 58, 0, 16, 0, 31, 0, 0, 65, 17, 33, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 5, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 1, 160, 254, 234, 2, 39, 109, 172, 59, 58, 62, 62, 58, 59, 172, 109, 254, 239, 1, 17, 49, 69, 22, 22, 20, 20, 22, 22, 69, 49, 254, 239, 2, 206, 1, 108, 251, 198, 54, 48, 47, 131, 77, 80, 133, 48, 47, 53, 223, 22, 19, 19, 51, 28, 27, 48, 18, 19, 22, 0, 0, 1, 0, 111, 255, 236, 4, 84, 4, 78, 0, 53, 0, 0, 65, 50, 22, 23, 22, 22, 23, 33, 21, 33, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 33, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 33, 52, 54, 55, 54, 54, 2, 75, 63, 86, 28, 28, 28, 5, 254, 191, 1, 66, 5, 28, 27, 28, 87, 63, 50, 80, 28, 28, 30, 254, 251, 70, 63, 63, 175, 106, 132, 195, 65, 64, 64, 64, 64, 65, 196, 132, 98, 174, 64, 65, 75, 1, 5, 33, 29, 28, 79, 3, 109, 39, 33, 33, 89, 51, 174, 52, 92, 35, 35, 41, 31, 26, 26, 71, 41, 96, 154, 54, 55, 59, 85, 74, 73, 199, 114, 30, 114, 199, 74, 74, 86, 59, 52, 53, 143, 84, 37, 62, 22, 21, 24, 0, 0, 2, 0, 54, 255, 235, 4, 163, 4, 78, 0, 31, 0, 57, 0, 0, 65, 17, 33, 17, 33, 17, 51, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 5, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 87, 254, 223, 1, 33, 83, 1, 49, 48, 47, 141, 95, 96, 142, 48, 47, 47, 47, 48, 48, 143, 96, 92, 139, 47, 47, 51, 3, 1, 8, 10, 13, 13, 45, 34, 34, 46, 13, 13, 11, 10, 13, 13, 45, 34, 35, 45, 13, 13, 11, 2, 117, 1, 197, 251, 198, 1, 172, 95, 164, 60, 61, 69, 76, 68, 67, 184, 107, 118, 107, 184, 68, 67, 77, 72, 63, 63, 173, 102, 148, 118, 55, 103, 40, 40, 48, 48, 40, 40, 103, 55, 118, 56, 103, 40, 40, 47, 47, 40, 40, 103, 0, 2, 0, 77, 0, 0, 4, 81, 4, 58, 0, 16, 0, 31, 0, 0, 65, 33, 34, 6, 7, 6, 6, 21, 20, 22, 23, 3, 33, 19, 51, 17, 33, 1, 52, 54, 55, 54, 54, 51, 33, 17, 33, 34, 38, 39, 38, 38, 4, 81, 253, 234, 107, 169, 59, 59, 63, 108, 95, 240, 1, 28, 214, 252, 1, 22, 253, 55, 22, 22, 22, 67, 46, 1, 0, 254, 248, 44, 64, 21, 21, 21, 4, 58, 54, 48, 48, 131, 78, 99, 156, 42, 254, 86, 1, 123, 254, 133, 2, 203, 26, 51, 21, 20, 26, 254, 228, 25, 20, 20, 50, 0, 0, 1, 255, 206, 254, 75, 4, 77, 6, 0, 0, 57, 0, 0, 65, 53, 35, 53, 33, 21, 35, 21, 51, 17, 33, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 3, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 17, 2, 130, 233, 254, 234, 181, 181, 1, 22, 18, 47, 29, 24, 56, 32, 48, 76, 27, 27, 29, 1, 2, 22, 19, 15, 39, 24, 26, 52, 22, 14, 37, 65, 38, 87, 139, 48, 48, 51, 1, 57, 51, 51, 142, 85, 54, 97, 42, 32, 56, 24, 4, 166, 180, 166, 166, 180, 251, 90, 3, 13, 24, 38, 12, 10, 11, 25, 26, 26, 84, 58, 253, 69, 48, 71, 21, 15, 16, 6, 6, 219, 10, 7, 52, 50, 50, 147, 96, 2, 185, 119, 169, 54, 54, 51, 29, 27, 21, 57, 35, 1, 1, 0, 1, 0, 107, 255, 235, 4, 50, 4, 78, 0, 53, 0, 0, 101, 34, 38, 39, 38, 38, 39, 33, 53, 33, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 33, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 39, 33, 22, 6, 7, 6, 6, 2, 98, 56, 78, 26, 27, 28, 6, 1, 61, 254, 193, 4, 28, 26, 26, 81, 57, 45, 76, 27, 27, 28, 2, 1, 6, 2, 68, 61, 62, 170, 100, 125, 189, 64, 64, 64, 65, 64, 63, 190, 126, 93, 167, 63, 63, 73, 2, 254, 250, 2, 31, 28, 28, 74, 202, 38, 33, 32, 87, 50, 176, 52, 94, 36, 35, 42, 31, 26, 26, 72, 40, 96, 155, 55, 54, 60, 86, 74, 74, 199, 114, 30, 114, 199, 74, 74, 85, 59, 52, 52, 144, 84, 38, 62, 22, 22, 24, 0, 2, 0, 21, 0, 0, 4, 214, 4, 58, 0, 40, 0, 55, 0, 0, 65, 33, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 23, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 53, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 19, 20, 6, 7, 6, 6, 7, 35, 17, 51, 22, 22, 23, 22, 22, 3, 58, 253, 122, 4, 5, 7, 24, 18, 15, 40, 23, 23, 2, 39, 103, 145, 46, 29, 38, 10, 5, 6, 111, 1, 8, 99, 156, 54, 54, 56, 56, 52, 52, 156, 91, 5, 134, 15, 16, 17, 50, 35, 1, 4, 35, 48, 16, 16, 15, 4, 58, 254, 51, 49, 87, 36, 56, 81, 26, 23, 22, 241, 78, 78, 49, 128, 78, 47, 105, 58, 235, 252, 168, 54, 49, 49, 135, 80, 79, 133, 48, 47, 57, 254, 150, 28, 53, 20, 20, 26, 1, 1, 31, 2, 24, 18, 19, 49, 0, 0, 2, 0, 91, 0, 0, 4, 159, 4, 58, 0, 24, 0, 39, 0, 0, 65, 17, 33, 17, 33, 17, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 33, 17, 5, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 1, 114, 254, 233, 1, 23, 123, 1, 35, 95, 148, 51, 51, 54, 54, 51, 51, 148, 95, 12, 254, 233, 1, 23, 12, 33, 46, 15, 14, 13, 13, 14, 15, 46, 33, 12, 2, 153, 1, 161, 251, 198, 1, 186, 254, 70, 54, 49, 49, 135, 80, 80, 134, 48, 48, 54, 1, 95, 254, 95, 157, 23, 19, 19, 50, 28, 29, 53, 20, 21, 25, 0, 0, 1, 255, 249, 0, 0, 4, 86, 6, 0, 0, 39, 0, 0, 65, 53, 33, 53, 33, 21, 35, 21, 51, 17, 33, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 33, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 17, 2, 173, 254, 246, 254, 234, 148, 148, 1, 22, 17, 44, 27, 25, 59, 34, 48, 76, 27, 27, 29, 1, 22, 57, 51, 51, 142, 85, 51, 93, 39, 35, 62, 25, 4, 177, 180, 155, 155, 180, 251, 79, 3, 13, 23, 37, 12, 11, 12, 25, 26, 26, 84, 58, 253, 111, 2, 143, 119, 169, 54, 54, 51, 26, 25, 21, 60, 37, 1, 12, 0, 1, 0, 121, 254, 154, 4, 60, 4, 58, 0, 11, 0, 0, 65, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 1, 144, 254, 233, 1, 87, 1, 22, 1, 86, 254, 233, 254, 107, 4, 58, 251, 198, 254, 154, 1, 102, 4, 58, 252, 165, 0, 1, 0, 71, 255, 235, 4, 167, 5, 176, 0, 56, 0, 0, 65, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 4, 167, 254, 252, 12, 11, 10, 25, 16, 17, 29, 11, 19, 20, 254, 252, 17, 15, 10, 25, 15, 16, 26, 10, 18, 19, 254, 253, 52, 47, 46, 128, 75, 48, 84, 33, 13, 24, 11, 10, 23, 13, 35, 91, 53, 72, 122, 45, 45, 50, 5, 176, 251, 193, 48, 66, 19, 16, 15, 10, 11, 18, 71, 54, 4, 63, 251, 193, 53, 70, 18, 12, 11, 10, 11, 17, 71, 55, 4, 63, 251, 193, 96, 146, 49, 49, 50, 32, 32, 13, 31, 18, 17, 29, 12, 34, 34, 50, 49, 49, 146, 96, 0, 0, 1, 0, 69, 255, 235, 4, 141, 4, 58, 0, 56, 0, 0, 65, 35, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 4, 141, 253, 9, 8, 9, 26, 17, 22, 33, 12, 14, 13, 254, 253, 12, 12, 10, 32, 21, 19, 30, 10, 11, 11, 253, 50, 44, 44, 123, 73, 48, 83, 33, 15, 26, 11, 14, 32, 19, 33, 80, 46, 71, 118, 43, 43, 47, 4, 58, 253, 79, 51, 73, 23, 22, 22, 18, 19, 23, 77, 54, 2, 177, 253, 79, 53, 75, 23, 21, 19, 21, 21, 23, 74, 52, 2, 177, 253, 79, 102, 155, 52, 52, 53, 32, 33, 14, 36, 21, 25, 41, 16, 27, 27, 53, 52, 52, 155, 102, 0, 0, 2, 0, 35, 0, 0, 4, 123, 6, 26, 0, 24, 0, 39, 0, 0, 65, 53, 33, 17, 33, 17, 35, 21, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 2, 229, 254, 247, 254, 233, 162, 162, 1, 236, 109, 171, 59, 58, 61, 61, 58, 59, 171, 109, 213, 213, 49, 69, 22, 21, 20, 20, 21, 22, 69, 49, 213, 4, 52, 180, 1, 50, 254, 206, 180, 251, 204, 52, 47, 47, 130, 78, 77, 129, 47, 46, 52, 1, 115, 253, 174, 21, 17, 18, 47, 26, 27, 48, 17, 18, 21, 0, 0, 1, 0, 56, 255, 237, 4, 173, 5, 196, 0, 84, 0, 0, 65, 17, 33, 17, 33, 17, 51, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 35, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 52, 53, 53, 51, 53, 35, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 51, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 21, 1, 61, 254, 251, 1, 5, 102, 16, 19, 18, 59, 44, 43, 119, 78, 73, 137, 52, 38, 55, 11, 4, 3, 250, 2, 5, 4, 2, 8, 5, 12, 46, 39, 35, 46, 14, 14, 14, 2, 3, 213, 213, 2, 2, 3, 15, 14, 14, 43, 33, 26, 39, 14, 18, 20, 4, 3, 3, 249, 8, 59, 53, 54, 142, 76, 76, 116, 43, 44, 60, 18, 18, 17, 2, 3, 93, 2, 83, 250, 80, 2, 108, 14, 77, 152, 69, 70, 120, 43, 44, 50, 51, 58, 43, 133, 80, 29, 63, 34, 26, 51, 23, 18, 34, 14, 34, 40, 37, 31, 31, 79, 42, 41, 81, 32, 14, 241, 40, 26, 56, 28, 40, 77, 30, 29, 37, 16, 14, 18, 58, 34, 24, 56, 30, 141, 192, 59, 59, 51, 49, 43, 44, 118, 68, 65, 138, 70, 20, 0, 0, 1, 0, 77, 255, 236, 4, 160, 4, 81, 0, 73, 0, 0, 65, 53, 35, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 35, 17, 33, 17, 33, 17, 51, 23, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 35, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 53, 3, 131, 182, 3, 2, 4, 24, 24, 11, 26, 17, 28, 38, 12, 11, 12, 2, 253, 1, 54, 47, 48, 127, 75, 58, 98, 40, 65, 86, 23, 11, 13, 2, 92, 254, 245, 1, 11, 92, 1, 2, 11, 10, 18, 74, 52, 44, 115, 70, 67, 124, 48, 48, 61, 3, 253, 2, 11, 9, 12, 40, 28, 21, 33, 12, 14, 19, 5, 4, 3, 1, 1, 197, 185, 17, 37, 19, 40, 74, 20, 9, 10, 21, 19, 20, 57, 38, 109, 151, 47, 47, 42, 27, 24, 40, 131, 79, 39, 84, 43, 1, 189, 251, 197, 1, 197, 15, 38, 74, 35, 72, 125, 41, 35, 38, 45, 46, 45, 138, 93, 26, 41, 16, 22, 22, 16, 14, 17, 50, 31, 20, 41, 20, 24, 0, 2, 0, 13, 0, 0, 5, 4, 5, 176, 0, 11, 0, 16, 0, 0, 65, 19, 33, 1, 33, 1, 33, 19, 51, 17, 51, 17, 37, 19, 55, 23, 19, 3, 89, 134, 1, 37, 254, 20, 254, 227, 254, 18, 1, 37, 134, 83, 240, 254, 252, 117, 29, 29, 116, 1, 166, 254, 90, 5, 176, 250, 80, 1, 166, 254, 90, 1, 166, 201, 1, 111, 92, 92, 254, 145, 0, 2, 0, 77, 0, 0, 4, 181, 4, 58, 0, 11, 0, 16, 0, 0, 65, 19, 33, 1, 33, 1, 33, 19, 51, 17, 51, 17, 39, 55, 55, 23, 23, 3, 56, 97, 1, 28, 254, 88, 254, 231, 254, 89, 1, 28, 95, 85, 192, 212, 90, 29, 28, 90, 1, 15, 254, 241, 4, 58, 251, 198, 1, 15, 254, 241, 1, 15, 184, 253, 111, 111, 253, 0, 0, 2, 0, 82, 0, 0, 4, 190, 5, 176, 0, 19, 0, 24, 0, 0, 65, 19, 51, 1, 35, 3, 35, 17, 35, 17, 51, 17, 51, 3, 51, 19, 51, 17, 51, 17, 39, 19, 55, 23, 19, 3, 138, 79, 229, 254, 202, 220, 191, 186, 225, 225, 140, 102, 228, 88, 44, 159, 164, 82, 9, 8, 73, 1, 184, 254, 72, 5, 176, 252, 203, 3, 53, 250, 80, 1, 184, 254, 72, 1, 184, 254, 72, 1, 184, 195, 1, 156, 45, 44, 254, 99, 0, 2, 0, 82, 0, 0, 4, 190, 4, 58, 0, 19, 0, 24, 0, 0, 65, 19, 51, 1, 35, 3, 35, 17, 35, 17, 51, 17, 51, 3, 51, 19, 51, 17, 51, 17, 39, 55, 55, 23, 23, 3, 151, 66, 229, 254, 202, 220, 197, 180, 225, 225, 119, 81, 228, 74, 56, 169, 169, 67, 21, 18, 60, 1, 4, 254, 252, 4, 58, 253, 141, 2, 115, 251, 198, 1, 4, 254, 252, 1, 4, 254, 252, 1, 4, 195, 234, 72, 71, 235, 0, 2, 0, 46, 0, 0, 4, 189, 5, 176, 0, 39, 0, 44, 0, 0, 115, 33, 17, 52, 54, 55, 54, 54, 51, 51, 17, 33, 17, 51, 50, 22, 23, 22, 22, 21, 17, 33, 17, 52, 38, 39, 38, 38, 39, 35, 1, 33, 1, 35, 6, 6, 7, 6, 6, 21, 1, 3, 7, 39, 3, 46, 1, 25, 16, 16, 15, 49, 33, 45, 1, 24, 21, 33, 49, 16, 16, 16, 1, 25, 47, 44, 44, 125, 85, 3, 1, 41, 251, 206, 1, 70, 6, 85, 134, 46, 47, 50, 2, 209, 124, 3, 4, 141, 1, 146, 44, 59, 18, 17, 15, 253, 213, 2, 43, 15, 17, 18, 59, 44, 254, 110, 1, 146, 95, 138, 46, 44, 50, 6, 2, 163, 253, 95, 5, 47, 44, 46, 141, 98, 3, 56, 254, 178, 9, 9, 1, 78, 0, 2, 0, 65, 0, 0, 4, 114, 4, 58, 0, 41, 0, 47, 0, 0, 115, 33, 53, 52, 54, 55, 54, 54, 51, 51, 21, 17, 33, 17, 53, 51, 50, 22, 23, 22, 22, 21, 21, 33, 53, 52, 38, 39, 38, 38, 39, 39, 1, 33, 1, 7, 6, 6, 7, 6, 6, 21, 1, 3, 7, 35, 39, 3, 65, 1, 22, 12, 12, 12, 36, 24, 28, 1, 22, 18, 25, 36, 12, 12, 11, 1, 23, 38, 36, 36, 105, 54, 12, 1, 21, 251, 230, 1, 19, 8, 67, 105, 36, 38, 40, 2, 163, 125, 4, 3, 5, 125, 238, 46, 62, 19, 18, 15, 2, 254, 116, 1, 139, 3, 15, 18, 19, 62, 46, 238, 238, 87, 129, 45, 44, 52, 8, 2, 1, 221, 254, 37, 1, 9, 50, 43, 45, 132, 89, 2, 144, 255, 0, 13, 13, 1, 0, 0, 0, 2, 0, 54, 0, 0, 4, 204, 5, 176, 0, 45, 0, 50, 0, 0, 97, 51, 19, 52, 54, 55, 54, 54, 51, 51, 17, 51, 17, 51, 50, 22, 23, 22, 22, 21, 19, 51, 19, 52, 38, 39, 38, 38, 39, 39, 19, 33, 19, 33, 17, 35, 17, 51, 17, 51, 6, 6, 7, 6, 6, 21, 1, 3, 7, 39, 3, 1, 109, 210, 3, 7, 10, 10, 35, 27, 25, 211, 14, 28, 33, 9, 9, 5, 8, 215, 4, 33, 32, 31, 97, 64, 5, 227, 252, 234, 226, 254, 160, 223, 223, 104, 4, 7, 2, 5, 4, 2, 14, 84, 2, 2, 86, 1, 179, 30, 55, 22, 21, 26, 253, 179, 2, 77, 26, 21, 22, 55, 30, 254, 77, 1, 179, 76, 125, 46, 45, 56, 8, 1, 2, 152, 253, 108, 2, 148, 250, 80, 2, 83, 12, 27, 13, 25, 54, 29, 3, 46, 254, 240, 7, 7, 1, 16, 0, 2, 0, 60, 0, 0, 4, 198, 4, 58, 0, 47, 0, 52, 0, 0, 115, 51, 17, 51, 6, 6, 7, 6, 6, 21, 19, 51, 19, 52, 54, 55, 54, 54, 51, 51, 21, 17, 51, 17, 55, 51, 50, 22, 23, 22, 22, 21, 19, 51, 19, 52, 38, 39, 38, 38, 39, 35, 19, 33, 19, 33, 17, 35, 5, 7, 7, 39, 39, 60, 224, 118, 5, 8, 3, 3, 3, 6, 213, 6, 7, 9, 9, 32, 26, 10, 212, 3, 1, 26, 33, 9, 9, 6, 7, 212, 6, 43, 42, 28, 72, 46, 1, 200, 253, 1, 198, 254, 175, 224, 3, 61, 78, 4, 3, 78, 1, 159, 16, 34, 18, 20, 43, 23, 254, 251, 1, 5, 29, 53, 21, 21, 25, 1, 254, 103, 1, 147, 7, 25, 21, 21, 53, 29, 254, 251, 1, 5, 87, 133, 43, 28, 36, 9, 1, 229, 254, 34, 1, 222, 171, 216, 9, 9, 216, 0, 0, 2, 0, 145, 254, 64, 4, 50, 7, 116, 0, 92, 0, 101, 0, 0, 65, 35, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 34, 6, 7, 6, 6, 21, 22, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 33, 21, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 3, 39, 35, 21, 5, 51, 37, 53, 35, 2, 10, 150, 143, 75, 112, 35, 29, 30, 9, 8, 14, 49, 34, 25, 62, 35, 60, 81, 132, 46, 46, 50, 1, 44, 42, 40, 117, 75, 82, 20, 51, 22, 23, 30, 12, 12, 14, 47, 33, 56, 62, 112, 48, 72, 113, 36, 28, 29, 46, 45, 34, 91, 56, 58, 90, 30, 26, 27, 25, 23, 31, 96, 60, 59, 141, 80, 254, 246, 1, 10, 68, 95, 28, 23, 22, 11, 11, 13, 45, 31, 24, 61, 26, 146, 237, 1, 40, 175, 1, 40, 237, 3, 94, 232, 34, 34, 28, 79, 51, 22, 40, 18, 31, 47, 13, 11, 12, 35, 36, 36, 110, 74, 71, 121, 47, 45, 65, 18, 171, 9, 26, 19, 19, 52, 35, 20, 34, 13, 13, 16, 17, 17, 25, 88, 59, 46, 112, 65, 73, 118, 45, 34, 51, 18, 23, 69, 45, 39, 96, 56, 56, 95, 39, 50, 73, 24, 22, 22, 230, 31, 28, 22, 59, 35, 27, 48, 21, 24, 37, 13, 9, 10, 3, 152, 126, 20, 252, 253, 19, 0, 2, 0, 181, 254, 78, 4, 39, 5, 246, 0, 98, 0, 107, 0, 0, 65, 35, 21, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 35, 34, 6, 7, 6, 6, 21, 22, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 33, 21, 33, 50, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 19, 39, 35, 21, 5, 51, 37, 53, 35, 2, 40, 163, 157, 25, 45, 19, 42, 61, 18, 15, 15, 7, 7, 12, 48, 34, 24, 57, 33, 53, 75, 122, 43, 43, 47, 1, 47, 40, 40, 106, 60, 82, 18, 47, 20, 21, 28, 11, 12, 15, 54, 40, 49, 44, 82, 37, 90, 138, 35, 16, 17, 32, 31, 28, 79, 51, 34, 57, 21, 33, 35, 27, 25, 28, 86, 55, 56, 134, 76, 254, 246, 1, 10, 27, 46, 20, 28, 43, 14, 16, 15, 21, 23, 14, 37, 23, 16, 37, 12, 146, 237, 1, 40, 175, 1, 40, 237, 2, 114, 177, 3, 3, 7, 26, 19, 16, 39, 23, 14, 25, 11, 22, 33, 10, 7, 8, 32, 32, 33, 100, 67, 65, 112, 45, 45, 66, 20, 157, 9, 26, 19, 19, 52, 35, 18, 32, 12, 16, 18, 7, 9, 21, 86, 63, 30, 70, 39, 45, 77, 30, 27, 43, 15, 14, 36, 22, 33, 85, 52, 47, 78, 32, 35, 54, 18, 18, 17, 204, 4, 4, 6, 20, 13, 14, 36, 21, 29, 49, 18, 11, 16, 5, 3, 3, 3, 6, 126, 20, 252, 253, 19, 0, 3, 0, 78, 255, 236, 4, 121, 5, 196, 0, 37, 0, 58, 0, 79, 0, 0, 65, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 1, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 29, 3, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 4, 121, 15, 15, 32, 134, 97, 53, 126, 70, 80, 138, 57, 75, 107, 30, 19, 19, 18, 17, 30, 103, 70, 58, 145, 85, 81, 142, 59, 71, 108, 33, 23, 24, 252, 242, 8, 10, 13, 46, 34, 25, 64, 40, 41, 67, 27, 42, 56, 12, 6, 6, 10, 9, 15, 48, 36, 27, 69, 42, 43, 67, 26, 36, 45, 11, 7, 6, 2, 109, 212, 63, 117, 53, 119, 181, 52, 28, 30, 40, 37, 47, 156, 96, 60, 134, 73, 212, 71, 130, 58, 97, 152, 48, 41, 44, 40, 37, 47, 140, 89, 63, 146, 1, 29, 8, 54, 98, 42, 59, 87, 27, 20, 21, 22, 20, 32, 112, 70, 35, 76, 41, 8, 180, 26, 51, 93, 40, 59, 92, 29, 22, 24, 24, 23, 31, 99, 64, 38, 85, 46, 26, 0, 3, 0, 97, 255, 235, 4, 94, 4, 78, 0, 25, 0, 38, 0, 51, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 37, 50, 22, 23, 22, 22, 23, 33, 54, 54, 55, 54, 54, 19, 34, 38, 39, 38, 38, 39, 33, 6, 6, 7, 6, 6, 97, 68, 66, 65, 191, 122, 121, 190, 65, 65, 68, 68, 65, 66, 190, 122, 122, 189, 65, 66, 68, 1, 254, 53, 80, 28, 27, 33, 6, 254, 57, 6, 33, 28, 28, 80, 55, 53, 80, 28, 28, 33, 7, 1, 198, 7, 33, 27, 28, 78, 2, 39, 21, 119, 201, 74, 74, 83, 83, 74, 74, 201, 119, 21, 118, 201, 74, 74, 84, 84, 74, 74, 201, 208, 39, 33, 34, 92, 53, 53, 92, 34, 33, 39, 253, 93, 37, 33, 32, 89, 53, 53, 89, 32, 33, 37, 0, 1, 0, 12, 0, 0, 5, 3, 5, 194, 0, 22, 0, 0, 65, 1, 33, 1, 33, 1, 54, 54, 55, 54, 54, 51, 51, 55, 39, 34, 6, 7, 6, 6, 7, 3, 7, 2, 115, 254, 203, 254, 206, 1, 233, 1, 39, 1, 81, 9, 24, 16, 14, 37, 21, 27, 2, 41, 72, 111, 43, 44, 66, 26, 212, 20, 1, 139, 4, 37, 250, 80, 4, 87, 28, 45, 15, 14, 16, 244, 1, 45, 44, 44, 129, 84, 253, 30, 91, 0, 0, 1, 0, 54, 0, 0, 4, 117, 4, 78, 0, 26, 0, 0, 97, 33, 1, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 7, 3, 7, 39, 3, 33, 1, 181, 1, 4, 1, 6, 7, 19, 13, 15, 36, 20, 12, 32, 4, 24, 23, 52, 29, 63, 103, 41, 40, 62, 23, 120, 20, 20, 200, 254, 221, 2, 253, 20, 35, 14, 15, 17, 2, 2, 220, 13, 7, 43, 43, 40, 120, 78, 254, 135, 106, 106, 2, 169, 0, 0, 3, 0, 69, 254, 81, 4, 191, 5, 197, 0, 25, 0, 51, 0, 79, 0, 0, 65, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 35, 3, 7, 39, 3, 35, 19, 7, 6, 6, 7, 6, 6, 35, 34, 38, 35, 2, 149, 41, 40, 40, 115, 73, 69, 106, 35, 36, 37, 36, 36, 36, 106, 69, 74, 115, 40, 39, 41, 200, 11, 11, 13, 43, 31, 31, 41, 11, 11, 9, 10, 12, 12, 40, 29, 28, 40, 13, 15, 13, 188, 14, 60, 21, 58, 82, 28, 28, 32, 9, 234, 176, 67, 28, 17, 45, 176, 152, 21, 5, 14, 13, 13, 39, 29, 10, 50, 11, 1, 221, 1, 246, 113, 184, 65, 65, 71, 71, 65, 65, 184, 113, 254, 10, 113, 184, 65, 65, 71, 71, 65, 65, 184, 2, 145, 253, 184, 66, 105, 36, 41, 43, 43, 42, 36, 105, 65, 2, 72, 69, 107, 37, 37, 39, 35, 32, 37, 112, 250, 27, 4, 12, 54, 40, 40, 91, 38, 4, 226, 254, 103, 171, 171, 1, 153, 251, 191, 82, 18, 61, 29, 29, 42, 5, 0, 0, 3, 0, 52, 254, 81, 4, 191, 4, 78, 0, 25, 0, 51, 0, 79, 0, 0, 83, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 35, 3, 7, 39, 3, 35, 19, 7, 6, 6, 7, 6, 6, 35, 34, 38, 35, 52, 39, 41, 40, 126, 87, 87, 125, 41, 40, 39, 39, 40, 41, 126, 88, 87, 125, 40, 41, 38, 200, 9, 14, 14, 51, 43, 43, 53, 15, 14, 9, 9, 14, 14, 52, 43, 44, 52, 14, 14, 9, 1, 141, 17, 57, 21, 58, 82, 28, 28, 32, 9, 234, 176, 67, 28, 17, 45, 176, 152, 21, 5, 14, 13, 13, 39, 29, 10, 50, 11, 2, 39, 21, 117, 202, 74, 74, 84, 84, 74, 74, 202, 117, 21, 117, 202, 74, 74, 84, 84, 74, 74, 202, 138, 21, 78, 142, 54, 54, 63, 63, 54, 54, 142, 78, 21, 79, 142, 53, 54, 63, 63, 54, 53, 142, 252, 158, 5, 11, 54, 40, 40, 91, 38, 4, 226, 254, 104, 175, 175, 1, 152, 251, 191, 82, 18, 61, 29, 29, 42, 5, 0, 4, 0, 80, 255, 120, 4, 123, 6, 41, 0, 3, 0, 7, 0, 45, 0, 83, 0, 0, 65, 17, 35, 17, 19, 17, 35, 17, 1, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 1, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 2, 198, 196, 198, 196, 2, 119, 14, 14, 32, 138, 97, 53, 124, 70, 80, 137, 58, 70, 108, 32, 19, 21, 23, 23, 32, 104, 73, 56, 136, 79, 82, 142, 59, 71, 106, 34, 23, 24, 254, 227, 12, 11, 14, 43, 33, 27, 72, 44, 47, 71, 27, 31, 40, 10, 8, 7, 24, 28, 11, 25, 16, 26, 67, 43, 48, 75, 29, 37, 46, 11, 6, 5, 4, 100, 1, 197, 254, 59, 251, 20, 1, 208, 254, 48, 2, 245, 212, 61, 116, 52, 121, 184, 52, 27, 30, 40, 37, 44, 152, 94, 61, 139, 76, 212, 80, 148, 63, 90, 142, 45, 35, 38, 41, 37, 47, 136, 92, 63, 146, 1, 37, 214, 55, 101, 43, 51, 82, 27, 25, 26, 29, 26, 31, 90, 55, 40, 90, 49, 214, 90, 151, 52, 20, 35, 13, 23, 24, 30, 27, 34, 106, 67, 33, 73, 0, 0, 4, 0, 104, 255, 109, 4, 101, 4, 199, 0, 3, 0, 7, 0, 33, 0, 59, 0, 0, 65, 17, 35, 17, 19, 17, 35, 17, 1, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 5, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 2, 186, 170, 166, 171, 254, 93, 68, 66, 65, 191, 122, 121, 190, 65, 65, 68, 68, 65, 66, 190, 122, 122, 189, 65, 66, 68, 1, 22, 26, 28, 28, 88, 62, 63, 88, 28, 27, 26, 26, 27, 28, 88, 61, 63, 89, 28, 28, 26, 2, 252, 1, 203, 254, 53, 252, 113, 1, 221, 254, 35, 2, 186, 21, 119, 201, 74, 74, 83, 83, 74, 74, 201, 119, 21, 118, 201, 74, 74, 84, 84, 74, 74, 201, 139, 21, 66, 118, 45, 45, 52, 52, 45, 45, 118, 66, 21, 68, 119, 44, 45, 52, 52, 45, 44, 119, 0, 3, 0, 47, 255, 235, 5, 3, 7, 42, 0, 98, 0, 134, 0, 147, 0, 0, 65, 21, 50, 22, 23, 22, 22, 23, 22, 22, 21, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 33, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 55, 54, 54, 51, 53, 34, 6, 7, 6, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 39, 38, 38, 19, 35, 34, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 51, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 51, 5, 23, 54, 54, 55, 54, 54, 53, 53, 35, 21, 20, 6, 3, 78, 19, 34, 15, 24, 36, 13, 7, 8, 19, 17, 15, 41, 24, 16, 26, 10, 11, 15, 4, 2, 3, 254, 244, 2, 2, 4, 14, 9, 11, 28, 17, 25, 42, 15, 17, 18, 5, 4, 11, 40, 29, 15, 34, 19, 65, 117, 49, 51, 83, 26, 22, 24, 59, 53, 53, 146, 86, 41, 74, 31, 21, 37, 16, 18, 42, 23, 30, 70, 39, 86, 145, 53, 53, 60, 25, 23, 32, 100, 65, 43, 97, 152, 22, 42, 74, 34, 36, 70, 33, 35, 69, 36, 58, 90, 30, 27, 28, 133, 14, 13, 14, 38, 24, 21, 46, 26, 33, 82, 44, 38, 87, 48, 23, 254, 5, 82, 25, 49, 19, 19, 23, 149, 35, 5, 176, 228, 7, 6, 11, 41, 32, 20, 51, 30, 253, 101, 44, 63, 18, 17, 16, 10, 11, 11, 36, 25, 15, 36, 20, 1, 191, 254, 65, 19, 33, 14, 25, 36, 12, 13, 12, 16, 17, 19, 62, 44, 2, 155, 24, 41, 18, 40, 51, 11, 7, 6, 228, 26, 25, 28, 81, 53, 44, 107, 62, 253, 101, 95, 144, 48, 48, 49, 20, 21, 13, 36, 22, 25, 38, 14, 17, 18, 49, 48, 48, 144, 95, 2, 155, 64, 110, 45, 59, 89, 25, 17, 17, 1, 2, 15, 11, 14, 31, 14, 14, 21, 29, 29, 27, 79, 53, 37, 18, 26, 39, 12, 13, 12, 14, 10, 15, 36, 15, 13, 17, 239, 57, 13, 45, 27, 27, 60, 29, 102, 95, 38, 71, 0, 0, 3, 0, 74, 255, 235, 4, 154, 5, 222, 0, 86, 0, 122, 0, 135, 0, 0, 65, 21, 50, 22, 23, 22, 22, 21, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 35, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 51, 53, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 37, 51, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 51, 53, 35, 34, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 19, 23, 54, 54, 55, 54, 54, 53, 53, 35, 21, 20, 6, 3, 38, 30, 43, 15, 14, 13, 9, 11, 9, 27, 19, 26, 38, 13, 8, 11, 3, 2, 2, 234, 2, 2, 3, 9, 6, 11, 37, 25, 18, 27, 10, 14, 14, 13, 15, 14, 44, 30, 74, 134, 52, 52, 61, 55, 47, 46, 120, 65, 48, 82, 33, 16, 29, 11, 12, 31, 17, 32, 82, 46, 64, 120, 47, 46, 55, 61, 51, 52, 135, 253, 198, 136, 11, 10, 13, 44, 27, 21, 43, 23, 35, 79, 48, 36, 82, 47, 45, 43, 46, 79, 35, 36, 64, 31, 32, 63, 34, 58, 92, 31, 27, 29, 210, 82, 25, 49, 19, 19, 23, 149, 35, 4, 78, 193, 18, 22, 22, 77, 58, 254, 153, 45, 64, 19, 15, 15, 11, 15, 9, 28, 19, 11, 29, 16, 244, 244, 18, 31, 12, 17, 25, 9, 15, 11, 12, 13, 18, 67, 48, 1, 103, 58, 77, 22, 22, 18, 193, 48, 48, 49, 147, 98, 254, 129, 89, 131, 43, 44, 43, 35, 33, 16, 42, 25, 26, 44, 17, 31, 33, 43, 44, 43, 131, 89, 1, 127, 98, 147, 49, 48, 48, 146, 18, 23, 34, 13, 16, 16, 13, 10, 15, 37, 18, 11, 16, 134, 18, 13, 13, 32, 13, 13, 18, 29, 29, 27, 79, 53, 254, 229, 57, 13, 45, 27, 27, 60, 29, 102, 95, 38, 71, 0, 2, 0, 77, 255, 235, 4, 173, 7, 7, 0, 7, 0, 70, 0, 0, 65, 21, 33, 21, 51, 53, 33, 53, 19, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 33, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 1, 7, 1, 17, 181, 1, 34, 190, 254, 252, 16, 16, 8, 22, 12, 18, 31, 12, 10, 15, 4, 3, 3, 254, 252, 3, 2, 4, 13, 9, 10, 26, 15, 16, 27, 10, 18, 18, 254, 253, 52, 47, 46, 128, 75, 48, 84, 33, 13, 25, 10, 9, 20, 11, 36, 94, 55, 72, 122, 45, 45, 50, 7, 7, 112, 127, 127, 112, 254, 169, 251, 193, 56, 71, 18, 10, 9, 12, 13, 11, 34, 23, 15, 36, 20, 4, 63, 251, 193, 21, 37, 15, 22, 34, 11, 12, 12, 11, 11, 18, 70, 54, 4, 63, 251, 193, 96, 146, 49, 49, 50, 32, 33, 12, 31, 18, 15, 26, 11, 37, 37, 50, 49, 49, 146, 96, 0, 0, 2, 0, 69, 255, 235, 4, 141, 5, 177, 0, 7, 0, 64, 0, 0, 65, 21, 33, 21, 51, 53, 33, 53, 19, 35, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 35, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 1, 3, 1, 17, 181, 1, 34, 162, 253, 10, 9, 9, 25, 16, 25, 37, 12, 10, 10, 254, 253, 7, 8, 10, 36, 26, 19, 29, 10, 11, 12, 253, 50, 44, 44, 123, 73, 42, 76, 31, 19, 34, 14, 15, 38, 23, 31, 74, 43, 71, 118, 43, 43, 47, 5, 177, 112, 127, 127, 112, 254, 137, 253, 79, 53, 76, 23, 20, 19, 25, 26, 23, 70, 47, 2, 177, 253, 79, 42, 65, 23, 31, 30, 20, 21, 23, 74, 53, 2, 177, 253, 79, 102, 155, 52, 52, 53, 26, 25, 16, 43, 26, 28, 45, 17, 23, 23, 53, 52, 52, 155, 102, 0, 0, 1, 0, 125, 254, 147, 4, 85, 5, 197, 0, 42, 0, 0, 65, 17, 35, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 23, 17, 3, 98, 180, 69, 105, 35, 36, 36, 28, 28, 27, 83, 55, 53, 76, 24, 25, 24, 1, 25, 65, 62, 62, 179, 115, 114, 185, 65, 66, 71, 64, 60, 60, 170, 106, 254, 147, 2, 58, 57, 51, 50, 138, 81, 1, 36, 81, 137, 51, 50, 56, 32, 32, 34, 106, 72, 122, 188, 64, 64, 66, 90, 80, 80, 223, 132, 254, 222, 119, 203, 78, 78, 101, 16, 254, 160, 0, 0, 1, 0, 177, 254, 145, 4, 90, 4, 78, 0, 45, 0, 0, 65, 17, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 17, 3, 83, 176, 63, 85, 25, 26, 21, 22, 26, 25, 83, 62, 42, 67, 23, 23, 24, 1, 6, 65, 58, 58, 163, 97, 71, 123, 50, 66, 98, 29, 29, 30, 51, 50, 49, 148, 98, 254, 145, 2, 57, 54, 45, 44, 117, 63, 30, 62, 116, 45, 45, 54, 31, 26, 26, 72, 40, 96, 155, 55, 54, 60, 30, 28, 34, 108, 66, 61, 143, 77, 30, 102, 180, 71, 71, 96, 17, 254, 157, 0, 1, 0, 107, 0, 0, 4, 145, 5, 62, 0, 19, 0, 0, 65, 19, 5, 55, 37, 19, 35, 3, 37, 7, 5, 3, 37, 7, 5, 3, 51, 19, 5, 55, 2, 89, 204, 1, 32, 76, 254, 219, 228, 172, 185, 254, 221, 73, 1, 34, 202, 254, 219, 71, 1, 33, 225, 175, 181, 1, 35, 72, 1, 193, 1, 104, 170, 127, 171, 1, 149, 254, 186, 171, 130, 171, 254, 152, 171, 128, 171, 254, 114, 1, 63, 170, 128, 0, 0, 1, 253, 39, 4, 162, 255, 250, 5, 253, 0, 7, 0, 0, 65, 33, 53, 39, 23, 33, 7, 23, 253, 217, 2, 33, 177, 1, 253, 222, 1, 178, 5, 32, 220, 1, 108, 238, 1, 0, 0, 1, 252, 251, 5, 23, 255, 249, 6, 21, 0, 35, 0, 0, 65, 35, 23, 51, 50, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 51, 55, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 253, 42, 47, 2, 47, 52, 93, 42, 47, 85, 39, 31, 57, 27, 24, 40, 14, 13, 15, 136, 1, 1, 31, 32, 30, 89, 58, 40, 74, 37, 37, 76, 40, 40, 87, 5, 157, 134, 17, 12, 14, 34, 16, 11, 16, 12, 13, 12, 39, 26, 18, 37, 58, 84, 26, 25, 24, 18, 13, 13, 32, 13, 13, 18, 0, 1, 253, 246, 5, 19, 254, 237, 6, 91, 0, 5, 0, 0, 65, 23, 55, 39, 55, 39, 253, 247, 164, 82, 58, 1, 190, 5, 225, 206, 86, 115, 122, 5, 0, 1, 253, 212, 5, 19, 254, 204, 6, 91, 0, 5, 0, 0, 65, 55, 39, 7, 23, 7, 254, 37, 167, 1, 189, 1, 59, 5, 19, 206, 122, 5, 122, 115, 0, 8, 254, 158, 254, 196, 6, 57, 5, 175, 0, 19, 0, 39, 0, 59, 0, 79, 0, 99, 0, 119, 0, 139, 0, 159, 0, 0, 65, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 19, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 3, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 3, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 19, 51, 52, 54, 51, 50, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 139, 113, 42, 55, 53, 46, 112, 29, 27, 28, 78, 49, 49, 78, 27, 27, 29, 2, 79, 113, 43, 53, 54, 45, 113, 29, 27, 28, 79, 49, 48, 78, 27, 27, 29, 186, 113, 44, 53, 54, 45, 112, 29, 27, 28, 78, 49, 48, 78, 27, 28, 29, 196, 112, 44, 53, 54, 45, 112, 29, 27, 28, 78, 49, 48, 78, 27, 27, 29, 253, 192, 113, 44, 53, 53, 46, 112, 29, 27, 28, 78, 49, 49, 78, 27, 27, 29, 253, 190, 114, 42, 55, 53, 46, 112, 29, 27, 28, 78, 49, 49, 78, 27, 28, 29, 176, 113, 44, 53, 54, 45, 112, 29, 27, 28, 78, 49, 48, 78, 27, 28, 29, 166, 114, 43, 53, 54, 45, 113, 29, 27, 28, 79, 49, 48, 78, 27, 28, 29, 4, 243, 39, 62, 60, 41, 41, 69, 25, 25, 28, 28, 25, 25, 69, 254, 194, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 253, 224, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 253, 208, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 254, 187, 39, 62, 60, 41, 41, 69, 25, 25, 28, 28, 25, 25, 69, 4, 241, 39, 62, 60, 41, 41, 69, 25, 25, 28, 28, 25, 25, 69, 253, 224, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 253, 208, 39, 62, 61, 40, 41, 69, 25, 25, 28, 28, 25, 25, 69, 0, 8, 254, 209, 254, 99, 6, 16, 5, 198, 0, 4, 0, 9, 0, 14, 0, 19, 0, 24, 0, 29, 0, 34, 0, 39, 0, 0, 69, 35, 3, 51, 19, 3, 51, 19, 35, 3, 1, 21, 5, 53, 37, 5, 53, 37, 21, 5, 1, 23, 37, 39, 5, 1, 39, 5, 23, 37, 3, 55, 3, 7, 19, 1, 7, 19, 55, 3, 2, 212, 137, 70, 96, 122, 206, 136, 70, 96, 122, 2, 178, 1, 89, 254, 180, 251, 103, 254, 166, 1, 77, 3, 169, 97, 1, 37, 68, 254, 192, 253, 82, 97, 254, 218, 69, 1, 64, 138, 98, 198, 65, 148, 3, 211, 97, 197, 66, 149, 60, 254, 159, 1, 83, 4, 176, 1, 96, 254, 174, 254, 3, 139, 71, 98, 124, 210, 139, 71, 98, 124, 2, 69, 99, 200, 68, 153, 252, 27, 99, 200, 69, 153, 3, 88, 98, 1, 43, 69, 254, 186, 253, 67, 99, 254, 213, 71, 1, 69, 0, 3, 0, 149, 0, 0, 4, 142, 5, 176, 0, 3, 0, 20, 0, 35, 0, 0, 65, 1, 7, 1, 37, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 17, 33, 17, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 4, 93, 254, 83, 128, 1, 172, 253, 210, 217, 119, 192, 68, 67, 73, 73, 67, 68, 192, 119, 254, 14, 1, 25, 217, 60, 88, 30, 29, 29, 29, 29, 30, 88, 60, 1, 147, 2, 64, 59, 253, 194, 188, 68, 61, 60, 166, 98, 105, 172, 62, 61, 69, 250, 80, 2, 250, 1, 210, 38, 33, 33, 88, 51, 44, 81, 31, 31, 36, 0, 0, 3, 0, 145, 254, 96, 4, 89, 4, 78, 0, 3, 0, 33, 0, 59, 0, 0, 69, 1, 7, 1, 19, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 39, 33, 17, 33, 17, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 37, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 66, 254, 97, 108, 1, 157, 133, 55, 54, 54, 158, 103, 52, 89, 37, 28, 50, 21, 10, 254, 255, 1, 22, 22, 50, 29, 35, 84, 48, 102, 158, 54, 53, 55, 254, 234, 24, 26, 26, 83, 59, 37, 59, 24, 24, 37, 13, 14, 39, 25, 23, 57, 34, 59, 83, 27, 26, 25, 8, 1, 195, 81, 254, 61, 2, 108, 21, 123, 203, 73, 72, 79, 22, 21, 15, 42, 26, 106, 250, 38, 1, 254, 24, 39, 14, 18, 19, 84, 74, 73, 202, 139, 21, 67, 119, 45, 45, 52, 15, 14, 15, 42, 26, 1, 196, 28, 42, 14, 12, 13, 50, 43, 44, 119, 0, 0, 1, 0, 152, 0, 0, 4, 103, 7, 31, 0, 7, 0, 0, 65, 17, 33, 17, 33, 17, 33, 17, 4, 103, 254, 233, 253, 72, 1, 25, 4, 204, 2, 83, 254, 145, 250, 80, 4, 204, 0, 1, 0, 149, 0, 0, 4, 95, 5, 117, 0, 7, 0, 0, 65, 17, 33, 17, 33, 17, 33, 17, 4, 95, 254, 235, 253, 75, 1, 21, 3, 88, 2, 29, 254, 197, 251, 198, 3, 88, 0, 1, 0, 141, 254, 178, 4, 174, 5, 176, 0, 33, 0, 0, 65, 53, 33, 17, 33, 17, 51, 50, 22, 7, 20, 6, 7, 6, 6, 7, 6, 6, 35, 21, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 17, 4, 59, 252, 82, 1, 25, 172, 159, 167, 1, 7, 10, 10, 36, 28, 29, 81, 56, 147, 204, 64, 64, 57, 86, 79, 79, 223, 137, 172, 4, 204, 228, 250, 80, 2, 96, 185, 187, 38, 83, 39, 40, 72, 26, 27, 32, 213, 99, 82, 82, 209, 111, 146, 220, 74, 73, 74, 1, 136, 0, 0, 1, 0, 149, 254, 226, 4, 131, 4, 58, 0, 33, 0, 0, 65, 53, 33, 17, 33, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 39, 52, 38, 39, 38, 38, 35, 35, 53, 4, 56, 252, 93, 1, 21, 171, 64, 103, 37, 36, 39, 31, 31, 25, 73, 47, 112, 99, 142, 46, 45, 42, 1, 83, 74, 74, 204, 122, 171, 3, 88, 226, 251, 198, 1, 180, 33, 32, 32, 98, 64, 55, 89, 35, 29, 47, 19, 189, 31, 109, 64, 64, 136, 59, 121, 183, 61, 60, 61, 193, 0, 0, 1, 0, 134, 0, 0, 5, 23, 5, 176, 0, 20, 0, 0, 65, 33, 3, 35, 17, 35, 17, 35, 17, 33, 17, 33, 17, 51, 21, 51, 53, 51, 19, 33, 1, 4, 239, 254, 167, 237, 17, 167, 81, 254, 230, 1, 26, 81, 167, 29, 253, 1, 101, 254, 159, 5, 176, 253, 169, 1, 1, 254, 255, 2, 87, 250, 80, 2, 91, 229, 229, 253, 165, 3, 33, 0, 0, 1, 0, 132, 0, 0, 4, 191, 4, 58, 0, 20, 0, 0, 65, 33, 3, 35, 53, 35, 21, 35, 17, 33, 17, 33, 17, 51, 21, 51, 53, 51, 19, 33, 1, 4, 171, 254, 163, 169, 45, 153, 69, 254, 234, 1, 22, 69, 153, 50, 177, 1, 100, 254, 194, 4, 58, 254, 98, 192, 192, 1, 158, 251, 198, 1, 149, 172, 172, 254, 107, 2, 55, 0, 0, 1, 0, 15, 0, 0, 4, 207, 5, 176, 0, 14, 0, 0, 65, 19, 33, 1, 1, 33, 3, 35, 17, 33, 21, 33, 17, 33, 17, 2, 152, 244, 1, 67, 254, 175, 1, 45, 254, 187, 211, 53, 253, 177, 1, 55, 1, 24, 2, 79, 253, 177, 2, 246, 2, 186, 253, 189, 2, 67, 241, 251, 65, 2, 79, 0, 0, 1, 0, 27, 0, 0, 4, 201, 4, 58, 0, 14, 0, 0, 65, 19, 33, 1, 1, 33, 3, 35, 17, 33, 21, 33, 17, 33, 17, 2, 175, 166, 1, 116, 254, 208, 1, 19, 254, 158, 153, 70, 253, 176, 1, 51, 1, 29, 1, 137, 254, 119, 2, 58, 2, 0, 254, 110, 1, 146, 242, 252, 184, 1, 137, 0, 0, 1, 0, 63, 0, 0, 4, 172, 5, 176, 0, 13, 0, 0, 65, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 53, 33, 17, 1, 76, 254, 243, 1, 13, 1, 7, 1, 13, 1, 76, 253, 167, 3, 94, 2, 82, 250, 80, 2, 102, 253, 154, 4, 191, 241, 253, 174, 0, 0, 1, 0, 86, 0, 0, 4, 168, 4, 58, 0, 13, 0, 0, 65, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 53, 33, 17, 1, 116, 254, 226, 1, 30, 1, 10, 1, 30, 1, 12, 253, 214, 2, 139, 1, 175, 251, 198, 1, 156, 254, 100, 3, 73, 241, 254, 81, 0, 0, 1, 0, 50, 254, 164, 4, 173, 5, 176, 0, 47, 0, 0, 65, 17, 33, 17, 33, 17, 51, 17, 33, 17, 51, 22, 22, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 2, 239, 253, 67, 1, 12, 165, 1, 12, 19, 32, 46, 15, 15, 17, 5, 4, 2, 1, 3, 4, 17, 15, 16, 49, 37, 2, 80, 126, 48, 48, 67, 22, 21, 19, 19, 20, 11, 28, 18, 50, 162, 117, 3, 66, 2, 110, 250, 80, 4, 183, 251, 73, 2, 80, 1, 39, 31, 31, 78, 40, 40, 75, 27, 35, 79, 38, 39, 70, 27, 28, 33, 1, 228, 1, 47, 41, 40, 111, 66, 65, 147, 76, 69, 138, 63, 35, 65, 30, 83, 104, 1, 0, 1, 0, 84, 254, 235, 4, 171, 4, 58, 0, 35, 0, 0, 115, 33, 17, 51, 17, 33, 17, 51, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 35, 17, 33, 84, 1, 11, 143, 1, 12, 1, 42, 55, 16, 16, 11, 12, 15, 16, 54, 42, 117, 76, 118, 40, 40, 40, 60, 55, 56, 160, 101, 1, 253, 90, 3, 73, 252, 183, 1, 176, 4, 45, 34, 35, 84, 43, 41, 82, 36, 36, 57, 16, 196, 18, 99, 66, 65, 149, 67, 103, 175, 65, 65, 76, 3, 1, 152, 0, 2, 0, 88, 255, 235, 4, 174, 5, 197, 0, 77, 0, 103, 0, 0, 69, 53, 34, 38, 39, 54, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 23, 34, 34, 35, 38, 38, 39, 38, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 55, 54, 54, 51, 53, 34, 6, 7, 6, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 22, 22, 1, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 20, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 4, 174, 35, 62, 28, 26, 40, 15, 16, 17, 51, 46, 47, 129, 79, 73, 120, 42, 43, 46, 22, 21, 19, 55, 35, 4, 7, 3, 43, 49, 23, 47, 66, 18, 10, 10, 13, 12, 6, 14, 8, 9, 21, 12, 55, 98, 41, 46, 74, 24, 25, 27, 22, 19, 36, 147, 99, 53, 121, 66, 68, 120, 54, 68, 152, 254, 177, 9, 10, 7, 19, 12, 17, 26, 9, 9, 10, 7, 8, 6, 18, 11, 18, 28, 10, 11, 11, 17, 219, 8, 8, 40, 90, 49, 56, 124, 66, 1, 47, 116, 194, 71, 70, 78, 75, 65, 66, 178, 104, 254, 192, 71, 132, 58, 53, 97, 42, 1, 16, 14, 28, 99, 65, 37, 84, 45, 1, 68, 67, 115, 42, 20, 33, 11, 12, 13, 237, 34, 32, 33, 102, 62, 62, 147, 80, 254, 190, 66, 125, 56, 104, 175, 46, 25, 27, 33, 31, 29, 31, 2, 170, 1, 67, 79, 105, 28, 21, 19, 27, 30, 31, 102, 75, 254, 180, 41, 78, 35, 31, 57, 26, 28, 62, 33, 38, 84, 0, 2, 0, 67, 255, 232, 4, 212, 4, 78, 0, 77, 0, 109, 0, 0, 69, 53, 34, 38, 39, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 34, 34, 35, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 53, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 22, 22, 1, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 4, 212, 43, 79, 36, 27, 45, 16, 23, 23, 21, 20, 22, 66, 42, 38, 92, 52, 48, 86, 36, 41, 68, 22, 18, 20, 14, 15, 13, 38, 26, 2, 5, 2, 59, 94, 33, 35, 37, 17, 16, 16, 48, 30, 64, 113, 46, 50, 79, 25, 20, 22, 36, 34, 35, 98, 59, 62, 150, 85, 74, 133, 59, 72, 171, 254, 109, 6, 5, 6, 22, 13, 10, 25, 14, 14, 24, 10, 13, 20, 7, 6, 6, 14, 14, 13, 38, 24, 25, 38, 13, 11, 11, 24, 165, 8, 7, 29, 65, 36, 47, 108, 58, 143, 62, 115, 49, 56, 89, 30, 28, 30, 25, 24, 28, 82, 53, 44, 104, 57, 148, 49, 92, 42, 38, 71, 32, 2, 49, 41, 43, 118, 69, 95, 52, 85, 31, 32, 37, 4, 232, 34, 31, 34, 98, 59, 48, 111, 60, 93, 78, 144, 61, 61, 100, 35, 36, 40, 26, 24, 26, 27, 2, 36, 152, 26, 48, 20, 25, 42, 12, 10, 11, 11, 11, 13, 43, 27, 24, 54, 29, 145, 38, 69, 31, 28, 48, 20, 26, 60, 32, 29, 64, 0, 0, 1, 0, 1, 254, 161, 4, 240, 5, 176, 0, 15, 0, 0, 83, 17, 33, 17, 33, 19, 35, 17, 33, 17, 33, 17, 51, 53, 33, 21, 233, 2, 240, 1, 7, 16, 152, 254, 233, 254, 190, 221, 253, 37, 4, 191, 251, 65, 254, 161, 2, 85, 4, 186, 251, 72, 3, 199, 241, 241, 0, 1, 0, 33, 254, 191, 4, 191, 4, 58, 0, 15, 0, 0, 83, 17, 33, 17, 33, 19, 35, 17, 33, 17, 33, 17, 51, 53, 33, 21, 221, 2, 195, 1, 12, 19, 148, 254, 225, 254, 239, 172, 253, 122, 3, 73, 252, 183, 254, 191, 2, 47, 3, 76, 252, 182, 2, 89, 241, 241, 0, 2, 0, 133, 0, 0, 4, 71, 5, 176, 0, 3, 0, 35, 0, 0, 65, 17, 35, 17, 1, 33, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 17, 33, 2, 155, 165, 2, 81, 254, 230, 26, 56, 27, 28, 50, 20, 49, 72, 24, 24, 23, 254, 231, 67, 62, 61, 175, 108, 19, 51, 28, 27, 56, 26, 1, 26, 1, 31, 2, 244, 253, 12, 4, 145, 253, 93, 7, 10, 3, 4, 3, 23, 29, 28, 96, 73, 1, 197, 254, 59, 125, 181, 58, 58, 55, 4, 4, 3, 11, 7, 253, 213, 0, 0, 2, 0, 116, 0, 0, 4, 89, 4, 58, 0, 3, 0, 32, 0, 0, 101, 17, 35, 17, 5, 17, 33, 17, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 17, 2, 185, 165, 2, 69, 254, 233, 18, 36, 17, 34, 70, 37, 59, 86, 28, 28, 27, 254, 234, 70, 66, 65, 188, 117, 51, 109, 52, 165, 2, 128, 253, 128, 165, 4, 58, 254, 4, 4, 6, 3, 4, 5, 19, 22, 22, 73, 54, 1, 84, 254, 172, 108, 156, 50, 51, 49, 11, 10, 254, 163, 0, 1, 0, 119, 0, 0, 4, 94, 5, 176, 0, 25, 0, 0, 115, 33, 17, 54, 54, 51, 50, 22, 23, 22, 22, 21, 19, 33, 19, 38, 38, 39, 38, 38, 35, 34, 6, 7, 17, 33, 119, 1, 35, 52, 103, 56, 54, 74, 23, 22, 20, 6, 1, 36, 6, 1, 72, 65, 66, 182, 111, 57, 103, 51, 254, 221, 2, 146, 11, 16, 32, 30, 30, 88, 58, 254, 65, 1, 191, 118, 182, 62, 61, 63, 13, 11, 2, 35, 0, 2, 255, 213, 255, 233, 4, 140, 5, 195, 0, 57, 0, 78, 0, 0, 67, 6, 22, 23, 22, 22, 23, 21, 22, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 39, 53, 33, 55, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 7, 38, 38, 39, 38, 38, 55, 5, 53, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 21, 34, 9, 28, 34, 33, 100, 63, 1, 71, 68, 67, 196, 128, 107, 186, 61, 49, 23, 59, 33, 33, 72, 36, 79, 106, 32, 32, 28, 1, 2, 133, 2, 20, 22, 22, 71, 51, 52, 138, 89, 60, 108, 47, 69, 109, 34, 23, 28, 4, 1, 14, 19, 6, 5, 5, 1, 1, 93, 2, 7, 7, 11, 44, 32, 17, 39, 23, 34, 52, 18, 29, 28, 5, 3, 2, 4, 58, 92, 144, 53, 53, 68, 16, 57, 131, 226, 84, 84, 97, 44, 32, 248, 11, 20, 7, 8, 9, 1, 59, 49, 49, 127, 68, 24, 196, 82, 161, 73, 72, 125, 46, 45, 52, 31, 28, 42, 135, 84, 55, 128, 68, 10, 13, 36, 23, 23, 58, 35, 210, 10, 37, 60, 31, 52, 90, 25, 13, 14, 21, 18, 27, 84, 44, 23, 46, 22, 47, 0, 2, 0, 21, 255, 236, 4, 145, 4, 78, 0, 44, 0, 58, 0, 0, 69, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 39, 39, 33, 55, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 38, 38, 39, 35, 6, 22, 23, 22, 22, 23, 23, 22, 22, 23, 22, 22, 19, 50, 22, 23, 22, 22, 23, 21, 33, 54, 54, 55, 54, 54, 2, 241, 122, 198, 69, 120, 47, 100, 89, 45, 71, 26, 25, 32, 7, 1, 2, 77, 1, 1, 55, 54, 54, 162, 106, 91, 151, 57, 57, 76, 16, 38, 38, 5, 185, 2, 34, 33, 33, 97, 61, 1, 6, 78, 61, 62, 168, 80, 36, 53, 18, 17, 17, 2, 254, 216, 6, 22, 18, 18, 53, 20, 93, 85, 156, 41, 54, 35, 31, 29, 80, 46, 6, 134, 108, 190, 71, 71, 82, 66, 57, 58, 158, 91, 26, 97, 69, 77, 130, 51, 51, 70, 17, 12, 96, 181, 62, 65, 72, 3, 113, 29, 25, 26, 69, 40, 26, 41, 78, 30, 30, 36, 0, 0, 1, 0, 164, 254, 174, 4, 196, 5, 176, 0, 38, 0, 0, 65, 1, 33, 1, 35, 17, 33, 17, 33, 17, 51, 50, 22, 23, 22, 22, 7, 20, 6, 7, 6, 6, 7, 6, 6, 35, 21, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 3, 40, 1, 112, 254, 166, 254, 243, 115, 254, 230, 1, 26, 211, 61, 97, 35, 44, 46, 1, 7, 10, 10, 35, 28, 29, 81, 56, 148, 204, 64, 64, 57, 58, 53, 54, 152, 92, 3, 51, 2, 125, 253, 175, 2, 81, 250, 80, 2, 92, 36, 35, 45, 150, 104, 38, 82, 39, 40, 72, 27, 27, 32, 215, 100, 83, 82, 209, 110, 123, 195, 72, 71, 91, 20, 0, 1, 0, 152, 254, 216, 4, 121, 4, 58, 0, 34, 0, 0, 65, 1, 33, 3, 35, 17, 33, 17, 33, 17, 51, 22, 22, 23, 22, 22, 21, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 39, 52, 38, 39, 38, 38, 3, 43, 1, 78, 254, 162, 248, 117, 254, 234, 1, 22, 179, 57, 93, 32, 32, 35, 1, 28, 26, 24, 67, 42, 112, 93, 135, 43, 43, 41, 1, 46, 42, 43, 120, 2, 90, 1, 224, 254, 98, 1, 158, 251, 198, 1, 149, 3, 33, 30, 31, 90, 60, 52, 84, 33, 29, 47, 20, 189, 31, 106, 63, 62, 133, 59, 90, 144, 56, 55, 77, 0, 1, 0, 141, 254, 75, 4, 56, 5, 176, 0, 29, 0, 0, 65, 33, 17, 33, 17, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 33, 17, 33, 1, 166, 254, 231, 1, 25, 1, 120, 16, 16, 15, 46, 29, 25, 52, 22, 14, 38, 65, 38, 87, 140, 49, 48, 52, 254, 230, 254, 136, 5, 176, 250, 80, 2, 92, 253, 125, 42, 64, 21, 21, 22, 5, 6, 222, 10, 7, 52, 51, 50, 149, 96, 5, 215, 253, 142, 0, 1, 0, 143, 254, 75, 4, 49, 4, 58, 0, 29, 0, 0, 65, 33, 17, 33, 17, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 33, 17, 33, 1, 165, 254, 234, 1, 22, 1, 118, 16, 16, 15, 46, 29, 25, 52, 21, 15, 38, 64, 38, 87, 139, 48, 48, 51, 254, 234, 254, 138, 4, 58, 251, 198, 1, 164, 254, 52, 42, 65, 22, 21, 22, 7, 6, 221, 10, 7, 52, 50, 50, 149, 96, 4, 98, 254, 74, 0, 2, 0, 78, 255, 234, 4, 116, 5, 197, 0, 52, 0, 72, 0, 0, 65, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 21, 21, 33, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 55, 54, 54, 53, 17, 52, 38, 39, 38, 38, 39, 38, 38, 3, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 33, 6, 6, 7, 6, 6, 7, 6, 6, 2, 51, 77, 124, 46, 47, 62, 14, 49, 24, 65, 41, 40, 95, 56, 46, 76, 31, 46, 60, 15, 12, 10, 252, 243, 31, 30, 30, 86, 55, 58, 145, 87, 74, 137, 58, 62, 100, 35, 36, 38, 24, 24, 37, 126, 89, 58, 139, 43, 39, 64, 25, 37, 49, 12, 8, 8, 1, 245, 1, 13, 12, 16, 47, 33, 28, 69, 5, 197, 19, 13, 14, 28, 8, 227, 10, 24, 10, 9, 13, 18, 17, 25, 83, 53, 37, 84, 44, 69, 204, 97, 169, 69, 67, 104, 38, 37, 40, 1, 39, 37, 37, 113, 68, 69, 164, 92, 1, 20, 76, 138, 61, 89, 142, 41, 28, 29, 251, 23, 15, 14, 20, 67, 43, 27, 60, 32, 91, 47, 89, 38, 47, 75, 27, 22, 24, 0, 0, 1, 0, 124, 255, 235, 4, 131, 5, 176, 0, 45, 0, 0, 65, 1, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 33, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 35, 1, 39, 33, 21, 3, 30, 254, 166, 137, 74, 112, 36, 31, 32, 33, 32, 32, 92, 58, 51, 82, 29, 29, 31, 254, 231, 88, 71, 71, 180, 93, 115, 193, 71, 70, 79, 58, 56, 50, 144, 91, 3, 1, 113, 1, 252, 87, 4, 204, 254, 150, 184, 35, 37, 32, 99, 68, 44, 75, 28, 28, 31, 31, 27, 27, 72, 42, 112, 161, 51, 52, 49, 57, 55, 55, 160, 102, 103, 162, 58, 52, 67, 14, 1, 152, 184, 228, 0, 0, 1, 0, 114, 254, 117, 4, 119, 4, 58, 0, 45, 0, 0, 65, 1, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 33, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 35, 1, 39, 33, 21, 3, 13, 254, 172, 138, 70, 107, 36, 36, 37, 34, 31, 32, 93, 58, 51, 83, 29, 29, 31, 254, 232, 88, 71, 71, 180, 93, 114, 193, 70, 70, 79, 62, 60, 49, 138, 86, 2, 1, 107, 1, 252, 84, 3, 88, 254, 146, 180, 31, 33, 33, 104, 73, 44, 75, 27, 28, 32, 31, 27, 27, 73, 41, 111, 161, 51, 52, 49, 57, 55, 55, 159, 102, 106, 167, 58, 49, 63, 14, 1, 153, 183, 226, 0, 255, 255, 0, 40, 254, 75, 4, 146, 5, 176, 4, 38, 1, 123, 87, 0, 0, 39, 2, 106, 254, 251, 0, 23, 0, 6, 2, 111, 189, 0, 255, 255, 0, 73, 254, 70, 4, 125, 4, 58, 4, 38, 1, 181, 75, 0, 0, 39, 2, 106, 255, 28, 255, 59, 0, 7, 2, 111, 255, 126, 255, 251, 0, 2, 0, 77, 0, 0, 4, 78, 5, 176, 0, 16, 0, 31, 0, 0, 65, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 33, 17, 33, 17, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 3, 53, 204, 126, 200, 70, 70, 74, 74, 70, 70, 200, 126, 1, 229, 254, 231, 204, 66, 97, 32, 32, 31, 31, 32, 32, 97, 66, 204, 3, 176, 70, 62, 62, 173, 102, 104, 174, 63, 63, 71, 5, 176, 251, 50, 42, 35, 34, 91, 49, 47, 87, 34, 34, 40, 0, 0, 2, 0, 92, 0, 0, 4, 242, 5, 176, 0, 36, 0, 51, 0, 0, 97, 33, 50, 54, 55, 54, 54, 55, 54, 2, 39, 33, 22, 18, 7, 6, 6, 7, 6, 6, 7, 35, 17, 33, 17, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 55, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 2, 19, 1, 59, 103, 155, 52, 52, 54, 2, 2, 43, 26, 254, 239, 30, 32, 2, 1, 14, 16, 16, 52, 39, 31, 254, 231, 3, 102, 162, 57, 57, 61, 61, 57, 57, 162, 105, 3, 40, 60, 19, 20, 20, 20, 20, 19, 60, 40, 3, 80, 73, 72, 203, 123, 95, 1, 11, 91, 91, 254, 239, 89, 59, 116, 46, 46, 57, 1, 4, 206, 254, 0, 70, 62, 62, 173, 102, 104, 174, 63, 63, 71, 226, 42, 35, 34, 91, 49, 47, 87, 34, 34, 40, 0, 2, 0, 91, 255, 233, 4, 163, 6, 24, 0, 79, 0, 114, 0, 0, 83, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 33, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 55, 17, 33, 17, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 37, 17, 22, 22, 23, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 91, 9, 8, 17, 68, 47, 32, 75, 44, 42, 71, 29, 13, 23, 10, 10, 22, 12, 41, 113, 70, 67, 121, 47, 28, 43, 14, 8, 10, 1, 1, 11, 9, 10, 25, 13, 254, 240, 15, 24, 8, 7, 7, 1, 1, 4, 4, 3, 11, 7, 6, 15, 9, 8, 15, 5, 5, 7, 2, 2, 2, 1, 254, 233, 8, 16, 9, 21, 49, 27, 43, 74, 31, 53, 72, 15, 7, 7, 1, 176, 1, 5, 4, 5, 12, 7, 10, 23, 13, 13, 22, 9, 18, 22, 4, 3, 3, 2, 3, 6, 18, 17, 10, 25, 15, 10, 19, 9, 5, 10, 2, 80, 141, 48, 89, 40, 80, 126, 38, 25, 26, 33, 30, 14, 32, 18, 16, 27, 12, 39, 35, 2, 68, 68, 41, 110, 67, 43, 99, 54, 51, 103, 51, 50, 99, 49, 51, 104, 51, 49, 99, 49, 48, 83, 35, 40, 61, 20, 17, 19, 1, 11, 11, 8, 23, 13, 13, 30, 17, 4, 205, 253, 254, 8, 13, 6, 14, 15, 27, 24, 43, 147, 97, 39, 87, 214, 253, 247, 27, 47, 21, 6, 9, 4, 6, 6, 9, 8, 17, 62, 42, 24, 54, 30, 141, 29, 57, 25, 48, 74, 23, 13, 15, 5, 4, 3, 7, 0, 1, 0, 63, 255, 233, 4, 161, 5, 176, 0, 83, 0, 0, 65, 21, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 33, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 53, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 21, 51, 50, 22, 23, 22, 22, 1, 191, 3, 47, 41, 40, 115, 72, 82, 150, 58, 32, 51, 17, 12, 15, 1, 2, 43, 26, 254, 238, 14, 23, 8, 8, 9, 1, 1, 7, 6, 7, 18, 12, 15, 37, 22, 12, 19, 6, 7, 6, 24, 27, 27, 86, 62, 38, 64, 26, 49, 53, 63, 59, 59, 173, 109, 206, 206, 46, 69, 22, 23, 22, 20, 20, 24, 81, 57, 114, 171, 31, 51, 19, 19, 21, 1, 126, 106, 80, 114, 36, 36, 33, 2, 67, 69, 38, 99, 60, 47, 109, 61, 103, 202, 98, 48, 97, 48, 52, 106, 52, 42, 75, 32, 37, 61, 22, 25, 27, 1, 10, 9, 10, 26, 14, 108, 57, 102, 42, 41, 62, 18, 17, 42, 25, 47, 126, 77, 102, 155, 53, 52, 54, 230, 25, 23, 24, 69, 43, 48, 74, 27, 32, 32, 229, 31, 28, 29, 81, 0, 1, 0, 75, 255, 227, 4, 159, 4, 58, 0, 80, 0, 0, 65, 52, 38, 39, 38, 38, 35, 35, 23, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 23, 51, 50, 22, 23, 22, 22, 21, 21, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 33, 22, 22, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 55, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 2, 236, 59, 56, 57, 166, 107, 228, 6, 222, 42, 62, 20, 22, 20, 15, 16, 19, 67, 49, 143, 2, 210, 31, 48, 15, 14, 15, 5, 44, 41, 44, 136, 92, 65, 116, 45, 24, 39, 13, 10, 12, 1, 1, 11, 10, 10, 25, 13, 254, 241, 30, 32, 2, 1, 8, 7, 7, 22, 14, 16, 23, 8, 13, 11, 1, 20, 22, 23, 73, 54, 30, 51, 19, 33, 33, 2, 247, 76, 121, 41, 41, 44, 226, 18, 16, 18, 50, 30, 24, 40, 15, 18, 20, 212, 15, 15, 13, 39, 24, 75, 62, 91, 29, 32, 29, 2, 55, 56, 31, 78, 48, 38, 90, 50, 40, 81, 40, 40, 79, 39, 78, 163, 78, 57, 92, 33, 37, 40, 1, 8, 8, 12, 42, 25, 48, 40, 72, 30, 29, 45, 13, 14, 32, 19, 31, 81, 0, 1, 0, 168, 254, 110, 4, 197, 5, 176, 0, 69, 0, 0, 83, 33, 50, 22, 23, 22, 22, 21, 21, 20, 22, 23, 22, 22, 23, 51, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 55, 35, 52, 52, 53, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 23, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 236, 1, 3, 57, 88, 29, 28, 29, 3, 6, 6, 25, 23, 171, 16, 10, 12, 33, 19, 147, 43, 75, 27, 27, 31, 1, 217, 25, 28, 28, 92, 67, 47, 76, 28, 41, 41, 72, 67, 68, 194, 123, 254, 207, 5, 1, 44, 63, 93, 30, 30, 30, 25, 26, 30, 101, 71, 232, 2, 71, 32, 31, 29, 85, 53, 104, 17, 67, 38, 38, 70, 19, 22, 40, 78, 35, 41, 74, 36, 76, 39, 100, 56, 56, 120, 57, 221, 11, 14, 14, 69, 60, 110, 45, 44, 67, 20, 21, 51, 30, 44, 112, 67, 102, 160, 55, 55, 58, 224, 32, 28, 29, 81, 48, 47, 73, 26, 30, 31, 0, 0, 1, 0, 192, 254, 96, 4, 149, 4, 58, 0, 73, 0, 0, 83, 33, 50, 22, 23, 22, 22, 21, 21, 20, 22, 23, 22, 22, 23, 51, 21, 20, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 53, 55, 34, 34, 35, 52, 52, 53, 38, 38, 39, 38, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 23, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 248, 1, 1, 48, 72, 23, 21, 22, 1, 3, 3, 12, 12, 190, 14, 12, 12, 33, 19, 147, 43, 75, 27, 27, 31, 1, 67, 127, 10, 5, 13, 20, 11, 27, 18, 16, 41, 24, 30, 50, 19, 32, 32, 65, 60, 60, 172, 107, 254, 211, 6, 1, 39, 46, 70, 23, 23, 23, 19, 19, 23, 73, 51, 246, 1, 135, 22, 21, 20, 57, 37, 75, 9, 45, 24, 25, 46, 10, 24, 30, 94, 41, 41, 74, 36, 76, 39, 100, 56, 56, 120, 57, 221, 3, 11, 4, 52, 56, 33, 17, 30, 13, 13, 22, 8, 16, 36, 21, 34, 84, 51, 80, 128, 45, 44, 48, 222, 22, 19, 20, 52, 30, 28, 45, 17, 19, 21, 0, 0, 1, 0, 15, 255, 233, 4, 179, 5, 176, 0, 78, 0, 0, 65, 17, 22, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 35, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 33, 17, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 35, 21, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 17, 2, 46, 1, 7, 5, 11, 37, 26, 39, 111, 69, 66, 121, 47, 29, 45, 13, 8, 8, 1, 1, 10, 8, 6, 16, 8, 243, 20, 23, 2, 1, 4, 2, 3, 8, 6, 9, 24, 16, 10, 15, 5, 3, 4, 1, 2, 1, 253, 105, 2, 2, 2, 6, 3, 4, 8, 5, 17, 54, 37, 21, 33, 93, 137, 49, 29, 47, 15, 10, 15, 5, 4, 4, 4, 202, 252, 91, 29, 53, 24, 44, 68, 25, 38, 35, 2, 67, 69, 44, 116, 72, 40, 92, 50, 58, 115, 56, 43, 88, 43, 100, 203, 100, 33, 60, 26, 36, 62, 24, 38, 42, 1, 10, 9, 5, 13, 8, 9, 20, 12, 4, 139, 253, 80, 52, 93, 41, 36, 65, 29, 27, 49, 21, 66, 61, 228, 64, 65, 41, 109, 68, 44, 100, 55, 50, 112, 60, 1, 202, 0, 1, 0, 40, 255, 233, 4, 176, 4, 58, 0, 75, 0, 0, 65, 33, 17, 20, 6, 7, 6, 6, 7, 6, 6, 35, 7, 7, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 53, 51, 17, 22, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 33, 22, 22, 23, 22, 22, 7, 20, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 53, 3, 41, 253, 115, 2, 1, 3, 8, 6, 11, 35, 25, 21, 4, 51, 65, 103, 39, 17, 30, 13, 18, 28, 10, 10, 11, 95, 1, 8, 5, 11, 39, 27, 41, 114, 72, 69, 126, 48, 30, 46, 14, 8, 8, 1, 2, 42, 27, 254, 240, 14, 22, 7, 9, 9, 1, 3, 2, 3, 9, 6, 9, 25, 14, 8, 13, 5, 4, 5, 2, 1, 1, 4, 58, 254, 52, 44, 77, 33, 42, 68, 26, 47, 43, 1, 241, 38, 37, 17, 41, 24, 36, 89, 52, 60, 145, 83, 231, 253, 226, 30, 56, 24, 47, 73, 26, 41, 37, 2, 63, 63, 40, 108, 67, 37, 85, 46, 97, 191, 93, 43, 87, 43, 52, 104, 52, 28, 52, 23, 34, 56, 21, 32, 36, 1, 11, 9, 8, 20, 12, 10, 24, 12, 0, 0, 1, 0, 72, 255, 233, 4, 174, 5, 176, 0, 56, 0, 0, 65, 33, 17, 35, 17, 33, 17, 33, 17, 51, 17, 22, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 33, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 52, 53, 3, 49, 254, 230, 181, 254, 230, 1, 26, 181, 2, 8, 7, 11, 36, 25, 39, 109, 69, 70, 128, 49, 26, 43, 14, 12, 13, 1, 1, 12, 11, 9, 24, 12, 254, 237, 30, 32, 1, 1, 3, 2, 3, 10, 6, 9, 24, 15, 5, 8, 3, 3, 4, 1, 2, 5, 176, 253, 142, 2, 114, 250, 80, 2, 92, 254, 241, 36, 64, 28, 46, 73, 27, 43, 39, 2, 68, 68, 37, 97, 59, 47, 112, 62, 55, 109, 53, 47, 93, 46, 100, 203, 100, 31, 56, 25, 40, 67, 25, 36, 39, 1, 7, 6, 5, 14, 8, 8, 18, 9, 0, 0, 1, 0, 68, 255, 234, 4, 138, 4, 58, 0, 53, 0, 0, 65, 21, 22, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 33, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 55, 17, 33, 17, 35, 17, 33, 17, 33, 17, 1, 236, 3, 24, 21, 21, 57, 37, 36, 89, 50, 65, 118, 45, 23, 36, 14, 13, 15, 1, 2, 31, 19, 254, 242, 20, 21, 1, 1, 4, 4, 3, 10, 6, 5, 12, 7, 13, 20, 8, 4, 6, 3, 3, 4, 1, 254, 234, 145, 254, 233, 1, 23, 1, 173, 118, 60, 96, 37, 37, 53, 18, 18, 14, 1, 63, 63, 32, 79, 48, 47, 113, 64, 97, 191, 93, 94, 192, 95, 47, 80, 32, 32, 48, 16, 13, 14, 1, 12, 11, 6, 14, 7, 12, 29, 15, 3, 3, 254, 85, 1, 171, 251, 198, 1, 173, 0, 1, 0, 99, 255, 235, 4, 163, 5, 197, 0, 60, 0, 0, 69, 50, 54, 55, 54, 54, 55, 54, 38, 39, 33, 22, 22, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 53, 17, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 17, 20, 22, 23, 22, 22, 23, 22, 22, 2, 148, 104, 189, 72, 72, 86, 2, 2, 39, 20, 254, 238, 23, 29, 2, 1, 32, 29, 30, 92, 60, 66, 103, 36, 36, 38, 18, 17, 21, 67, 42, 25, 57, 32, 88, 143, 65, 63, 67, 176, 116, 69, 127, 55, 82, 127, 41, 29, 31, 35, 34, 32, 94, 60, 64, 154, 21, 56, 57, 56, 173, 117, 88, 174, 86, 86, 176, 86, 52, 85, 29, 31, 33, 1, 61, 53, 53, 142, 81, 1, 8, 54, 101, 43, 55, 81, 24, 13, 15, 35, 33, 209, 44, 45, 30, 27, 43, 136, 86, 64, 150, 82, 254, 250, 87, 159, 67, 68, 109, 38, 43, 47, 0, 1, 0, 133, 255, 235, 4, 137, 4, 78, 0, 54, 0, 0, 101, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 52, 38, 39, 33, 22, 22, 21, 6, 6, 7, 6, 6, 2, 197, 80, 112, 36, 36, 33, 31, 34, 33, 105, 73, 82, 141, 54, 46, 31, 82, 52, 34, 80, 44, 133, 207, 70, 71, 74, 76, 74, 73, 214, 139, 96, 163, 61, 60, 70, 2, 16, 11, 254, 241, 14, 5, 1, 17, 20, 20, 66, 205, 56, 45, 45, 112, 57, 42, 55, 112, 45, 44, 56, 30, 28, 220, 19, 27, 9, 5, 6, 88, 74, 74, 196, 108, 42, 108, 196, 74, 75, 88, 45, 46, 45, 138, 93, 46, 98, 47, 47, 98, 46, 33, 51, 18, 18, 20, 0, 0, 1, 0, 68, 255, 233, 4, 168, 5, 176, 0, 49, 0, 0, 65, 17, 22, 22, 23, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 33, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 39, 38, 38, 53, 17, 33, 53, 33, 21, 1, 130, 2, 12, 10, 14, 44, 29, 49, 138, 87, 82, 151, 58, 29, 47, 16, 16, 19, 1, 2, 42, 27, 254, 238, 29, 33, 2, 1, 6, 6, 7, 22, 15, 16, 40, 25, 16, 29, 12, 10, 16, 6, 7, 8, 1, 77, 252, 92, 4, 202, 252, 171, 44, 78, 33, 47, 74, 28, 48, 44, 2, 68, 68, 34, 87, 52, 51, 121, 69, 103, 202, 98, 100, 203, 100, 41, 74, 32, 39, 64, 22, 24, 25, 1, 11, 10, 9, 25, 15, 19, 49, 28, 3, 85, 230, 230, 0, 0, 1, 0, 66, 255, 233, 4, 134, 4, 58, 0, 40, 0, 0, 65, 17, 22, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 33, 22, 22, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 38, 38, 53, 17, 33, 53, 33, 21, 1, 93, 5, 58, 51, 51, 143, 89, 81, 148, 56, 56, 68, 2, 1, 11, 10, 10, 25, 13, 254, 242, 30, 32, 2, 1, 18, 15, 17, 49, 33, 28, 45, 15, 15, 16, 1, 90, 252, 117, 3, 88, 254, 27, 105, 150, 47, 48, 44, 2, 55, 56, 55, 167, 113, 36, 74, 37, 37, 73, 35, 71, 150, 71, 50, 79, 28, 30, 32, 1, 25, 22, 22, 61, 36, 1, 229, 226, 226, 0, 1, 0, 66, 255, 235, 4, 102, 5, 197, 0, 76, 0, 0, 83, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 33, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 51, 53, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 66, 83, 74, 74, 204, 121, 97, 191, 72, 65, 79, 254, 231, 33, 29, 29, 83, 49, 66, 102, 35, 35, 37, 24, 24, 32, 106, 72, 197, 197, 63, 90, 28, 29, 26, 30, 31, 31, 95, 66, 43, 74, 27, 27, 31, 1, 26, 78, 66, 66, 176, 98, 121, 197, 70, 70, 76, 31, 29, 29, 84, 53, 50, 81, 30, 42, 45, 1, 152, 102, 160, 55, 55, 57, 55, 58, 53, 154, 105, 42, 72, 27, 27, 31, 31, 28, 28, 75, 44, 50, 76, 27, 35, 33, 220, 29, 27, 27, 75, 46, 39, 71, 26, 26, 31, 26, 24, 24, 68, 42, 96, 152, 54, 53, 57, 54, 52, 53, 155, 102, 50, 92, 40, 41, 66, 24, 17, 50, 32, 45, 122, 255, 255, 0, 158, 254, 34, 4, 46, 0, 0, 4, 39, 0, 102, 0, 10, 254, 251, 0, 6, 0, 102, 10, 0, 0, 1, 1, 195, 3, 228, 2, 249, 6, 24, 0, 12, 0, 0, 65, 53, 51, 21, 20, 22, 23, 7, 38, 38, 39, 38, 38, 1, 195, 223, 49, 38, 127, 39, 66, 25, 25, 28, 5, 107, 173, 173, 97, 150, 65, 79, 35, 93, 52, 51, 109, 0, 255, 255, 0, 239, 255, 236, 4, 70, 1, 89, 4, 39, 0, 96, 255, 73, 0, 0, 0, 7, 0, 96, 1, 30, 0, 0, 0, 2, 1, 13, 2, 48, 4, 26, 5, 197, 0, 10, 0, 14, 0, 0, 65, 17, 35, 1, 23, 33, 21, 51, 53, 51, 53, 33, 19, 55, 17, 3, 134, 180, 254, 59, 4, 1, 198, 175, 148, 253, 180, 247, 18, 3, 108, 2, 89, 253, 133, 99, 183, 183, 133, 1, 87, 36, 254, 133, 0, 1, 1, 43, 2, 141, 3, 211, 5, 186, 0, 31, 0, 0, 65, 35, 17, 51, 17, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 17, 51, 17, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 1, 207, 164, 209, 9, 27, 18, 16, 40, 24, 31, 48, 17, 16, 17, 208, 36, 34, 34, 97, 61, 41, 71, 30, 24, 40, 16, 5, 173, 252, 224, 2, 39, 20, 32, 10, 10, 10, 20, 22, 22, 73, 52, 254, 68, 1, 250, 81, 116, 38, 37, 35, 22, 21, 17, 47, 28, 0, 0, 1, 0, 121, 255, 236, 4, 90, 5, 196, 0, 55, 0, 0, 65, 53, 33, 53, 33, 53, 33, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 35, 21, 51, 21, 35, 21, 51, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 3, 148, 254, 169, 1, 87, 254, 171, 36, 46, 36, 122, 74, 50, 100, 43, 32, 59, 117, 61, 123, 208, 76, 75, 101, 173, 171, 171, 171, 93, 74, 75, 205, 122, 66, 128, 59, 32, 45, 99, 53, 69, 112, 40, 40, 51, 2, 8, 148, 126, 147, 1, 37, 134, 52, 41, 43, 18, 14, 228, 14, 17, 68, 67, 66, 218, 111, 5, 147, 126, 148, 4, 120, 215, 65, 68, 68, 16, 14, 227, 17, 15, 33, 37, 36, 131, 75, 3, 0, 4, 0, 53, 255, 236, 4, 158, 5, 197, 0, 51, 0, 77, 0, 103, 0, 107, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 51, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 19, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 5, 1, 39, 1, 2, 90, 188, 10, 10, 11, 32, 22, 23, 33, 11, 11, 11, 11, 11, 11, 32, 22, 22, 33, 11, 10, 11, 188, 35, 34, 35, 103, 68, 66, 103, 34, 35, 36, 36, 35, 35, 103, 67, 67, 102, 35, 34, 35, 32, 36, 35, 34, 103, 67, 67, 103, 34, 34, 35, 35, 34, 35, 103, 68, 67, 102, 34, 35, 35, 186, 11, 11, 11, 32, 22, 22, 34, 11, 11, 11, 8, 9, 10, 34, 26, 20, 32, 12, 12, 13, 254, 136, 1, 255, 131, 254, 1, 4, 40, 18, 36, 14, 15, 19, 23, 19, 19, 49, 27, 77, 27, 51, 19, 19, 23, 18, 15, 15, 37, 19, 53, 97, 37, 36, 43, 48, 41, 41, 109, 62, 77, 61, 109, 40, 41, 48, 43, 37, 36, 95, 253, 114, 77, 62, 109, 40, 41, 48, 48, 41, 40, 109, 62, 77, 61, 110, 41, 40, 48, 48, 40, 41, 110, 138, 77, 27, 50, 19, 19, 23, 23, 19, 19, 50, 27, 77, 27, 50, 19, 19, 23, 23, 19, 19, 50, 26, 3, 170, 67, 252, 86, 0, 0, 2, 0, 160, 255, 235, 4, 40, 5, 145, 0, 44, 0, 64, 0, 0, 69, 17, 34, 38, 39, 38, 38, 53, 53, 54, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 17, 6, 6, 35, 21, 50, 54, 55, 21, 20, 22, 23, 22, 22, 3, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 3, 102, 66, 89, 27, 27, 23, 103, 159, 54, 54, 56, 49, 44, 45, 122, 72, 46, 83, 36, 33, 59, 24, 50, 54, 43, 93, 51, 49, 93, 45, 64, 65, 64, 197, 99, 18, 18, 12, 33, 20, 15, 26, 9, 10, 12, 24, 26, 21, 61, 21, 1, 3, 33, 32, 31, 91, 58, 47, 48, 127, 69, 69, 138, 59, 42, 80, 127, 45, 44, 47, 16, 16, 15, 43, 27, 58, 166, 105, 254, 163, 7, 6, 187, 7, 7, 13, 102, 167, 59, 60, 64, 2, 241, 1, 32, 51, 72, 20, 14, 14, 14, 14, 14, 41, 26, 44, 48, 91, 42, 34, 64, 0, 0, 4, 0, 119, 0, 0, 4, 120, 5, 192, 0, 9, 0, 35, 0, 61, 0, 65, 0, 0, 97, 17, 35, 17, 3, 35, 17, 51, 17, 19, 1, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 19, 53, 33, 21, 2, 236, 190, 249, 190, 190, 249, 1, 15, 25, 22, 21, 57, 33, 37, 58, 20, 20, 22, 22, 20, 20, 59, 37, 36, 59, 20, 20, 22, 106, 2, 3, 5, 22, 19, 14, 18, 6, 8, 6, 5, 7, 6, 19, 14, 14, 19, 6, 7, 6, 207, 254, 209, 5, 176, 252, 149, 3, 107, 250, 80, 3, 111, 252, 145, 5, 8, 214, 45, 70, 23, 22, 23, 27, 25, 24, 67, 40, 214, 40, 68, 25, 24, 27, 27, 24, 25, 68, 244, 194, 16, 28, 11, 18, 20, 9, 9, 11, 39, 25, 194, 25, 38, 11, 10, 9, 9, 9, 12, 38, 254, 187, 98, 98, 0, 2, 0, 148, 255, 236, 4, 143, 4, 78, 0, 33, 0, 42, 0, 0, 101, 39, 6, 6, 35, 34, 38, 39, 17, 33, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 1, 50, 22, 23, 17, 33, 17, 54, 54, 4, 18, 2, 89, 185, 94, 78, 140, 55, 3, 0, 78, 67, 67, 180, 103, 66, 128, 58, 59, 99, 36, 37, 41, 90, 72, 71, 186, 105, 99, 186, 254, 227, 77, 137, 53, 253, 228, 57, 141, 94, 104, 63, 59, 59, 51, 1, 72, 47, 117, 198, 72, 72, 82, 40, 37, 37, 102, 62, 63, 143, 77, 120, 211, 75, 71, 84, 61, 3, 199, 61, 52, 254, 226, 1, 21, 57, 65, 0, 0, 5, 0, 97, 255, 246, 4, 227, 5, 171, 0, 6, 0, 54, 0, 78, 0, 102, 0, 106, 0, 0, 65, 17, 35, 5, 21, 55, 17, 5, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 1, 192, 17, 254, 178, 172, 3, 198, 38, 35, 35, 96, 58, 56, 96, 34, 35, 39, 23, 20, 11, 31, 17, 20, 34, 14, 24, 26, 42, 37, 37, 103, 59, 60, 101, 37, 37, 41, 26, 24, 13, 34, 20, 17, 28, 10, 23, 23, 164, 12, 12, 12, 37, 23, 26, 40, 13, 9, 10, 9, 9, 13, 40, 25, 26, 39, 14, 9, 10, 17, 11, 13, 10, 27, 18, 20, 30, 10, 10, 11, 8, 8, 10, 32, 21, 23, 32, 10, 8, 8, 253, 163, 1, 255, 131, 254, 1, 2, 232, 2, 195, 108, 140, 39, 254, 14, 226, 49, 76, 26, 25, 26, 26, 25, 26, 76, 49, 33, 55, 22, 13, 21, 9, 9, 23, 14, 24, 62, 38, 51, 77, 26, 26, 25, 25, 26, 26, 77, 51, 38, 63, 24, 13, 23, 9, 8, 19, 12, 22, 57, 254, 242, 18, 28, 10, 11, 12, 15, 13, 10, 25, 16, 16, 25, 9, 12, 14, 13, 12, 9, 25, 1, 20, 17, 29, 9, 8, 8, 10, 10, 9, 26, 16, 14, 25, 8, 10, 12, 12, 9, 9, 25, 254, 219, 3, 170, 67, 252, 86, 0, 5, 0, 28, 255, 246, 4, 224, 5, 186, 0, 76, 0, 124, 0, 148, 0, 172, 0, 176, 0, 0, 83, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 51, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 1, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 228, 79, 34, 51, 14, 8, 9, 10, 12, 13, 39, 29, 27, 42, 14, 13, 14, 182, 51, 40, 40, 100, 50, 63, 108, 41, 39, 45, 24, 23, 17, 44, 27, 23, 37, 16, 21, 25, 42, 37, 37, 104, 63, 54, 97, 37, 37, 44, 181, 12, 12, 13, 36, 20, 27, 37, 12, 11, 11, 13, 13, 13, 40, 26, 3, 157, 38, 35, 35, 96, 58, 56, 96, 34, 35, 39, 23, 20, 11, 31, 17, 20, 34, 14, 24, 26, 42, 37, 37, 103, 59, 60, 101, 37, 37, 41, 26, 24, 13, 34, 20, 17, 28, 10, 23, 23, 164, 12, 12, 12, 37, 23, 26, 40, 13, 9, 10, 9, 9, 13, 40, 25, 26, 39, 14, 9, 10, 17, 11, 13, 10, 27, 18, 20, 30, 10, 10, 11, 8, 8, 10, 32, 21, 23, 32, 10, 8, 8, 253, 163, 1, 255, 131, 254, 1, 4, 144, 121, 15, 16, 10, 27, 18, 15, 29, 11, 11, 15, 14, 10, 11, 27, 15, 61, 83, 26, 27, 24, 28, 27, 26, 78, 50, 40, 60, 21, 15, 21, 8, 8, 22, 14, 21, 54, 34, 49, 77, 26, 25, 26, 26, 25, 26, 76, 49, 12, 21, 7, 8, 9, 12, 10, 11, 25, 14, 19, 30, 11, 10, 11, 253, 118, 49, 76, 26, 25, 26, 26, 25, 26, 76, 49, 33, 55, 22, 13, 21, 9, 9, 23, 14, 24, 62, 38, 51, 77, 26, 26, 25, 25, 26, 26, 77, 51, 38, 63, 24, 13, 23, 9, 8, 19, 12, 22, 57, 254, 242, 18, 28, 10, 11, 12, 15, 13, 10, 25, 16, 16, 25, 9, 12, 14, 13, 12, 9, 25, 1, 20, 17, 29, 9, 8, 8, 10, 10, 9, 26, 16, 14, 25, 8, 10, 12, 12, 9, 9, 25, 254, 210, 3, 170, 67, 252, 86, 0, 0, 5, 0, 27, 255, 243, 4, 190, 5, 183, 0, 45, 0, 93, 0, 117, 0, 141, 0, 145, 0, 0, 83, 23, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 35, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 55, 33, 53, 33, 1, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 43, 144, 13, 46, 46, 28, 43, 13, 13, 13, 9, 10, 12, 37, 28, 44, 52, 2, 181, 1, 48, 38, 39, 100, 53, 70, 105, 34, 34, 33, 29, 29, 31, 93, 62, 38, 68, 12, 19, 1, 47, 254, 61, 4, 83, 38, 35, 35, 96, 58, 56, 96, 34, 35, 39, 23, 20, 11, 31, 17, 20, 34, 14, 24, 26, 42, 37, 37, 103, 59, 60, 101, 37, 37, 41, 26, 24, 13, 34, 20, 17, 28, 10, 23, 23, 164, 12, 12, 12, 37, 23, 26, 40, 13, 9, 10, 9, 9, 13, 40, 25, 26, 39, 14, 9, 10, 17, 11, 13, 10, 27, 18, 20, 30, 10, 10, 11, 8, 8, 10, 32, 21, 23, 32, 10, 8, 8, 253, 183, 1, 255, 131, 254, 1, 4, 72, 35, 10, 24, 15, 15, 13, 37, 23, 21, 38, 14, 15, 17, 29, 37, 49, 78, 27, 27, 29, 42, 35, 34, 89, 48, 53, 83, 29, 31, 32, 18, 5, 124, 143, 252, 76, 49, 76, 26, 25, 26, 26, 25, 26, 76, 49, 33, 55, 22, 13, 21, 9, 9, 23, 14, 24, 62, 38, 51, 77, 26, 26, 25, 25, 26, 26, 77, 51, 38, 63, 24, 13, 23, 9, 8, 19, 12, 22, 57, 254, 242, 18, 28, 10, 11, 12, 15, 13, 10, 25, 16, 16, 25, 9, 12, 14, 13, 12, 9, 25, 1, 20, 17, 29, 9, 8, 8, 10, 10, 9, 26, 16, 14, 25, 8, 10, 12, 12, 9, 9, 25, 254, 222, 3, 170, 67, 252, 86, 0, 5, 0, 72, 255, 246, 4, 212, 5, 177, 0, 6, 0, 54, 0, 78, 0, 102, 0, 106, 0, 0, 65, 53, 33, 21, 33, 1, 51, 5, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 2, 134, 253, 194, 1, 128, 254, 212, 190, 3, 106, 38, 35, 35, 96, 58, 56, 96, 34, 35, 39, 23, 20, 11, 31, 17, 20, 34, 14, 24, 26, 42, 37, 37, 103, 59, 60, 101, 37, 37, 41, 26, 24, 13, 34, 20, 17, 28, 10, 23, 23, 164, 12, 12, 12, 37, 23, 26, 40, 13, 9, 10, 9, 9, 13, 40, 25, 26, 39, 14, 9, 10, 17, 11, 13, 10, 27, 18, 20, 30, 10, 10, 11, 8, 8, 10, 32, 21, 23, 32, 10, 8, 8, 253, 134, 1, 255, 131, 254, 1, 5, 75, 102, 146, 253, 204, 229, 49, 76, 26, 25, 26, 26, 25, 26, 76, 49, 33, 55, 22, 13, 21, 9, 9, 23, 14, 24, 62, 38, 51, 77, 26, 26, 25, 25, 26, 26, 77, 51, 38, 63, 24, 13, 23, 9, 8, 19, 12, 22, 57, 254, 242, 18, 28, 10, 11, 12, 15, 13, 10, 25, 16, 16, 25, 9, 12, 14, 13, 12, 9, 25, 1, 20, 17, 29, 9, 8, 8, 10, 10, 9, 26, 16, 14, 25, 8, 10, 12, 12, 9, 9, 25, 254, 219, 3, 170, 67, 252, 86, 0, 2, 0, 111, 255, 235, 4, 100, 5, 254, 0, 44, 0, 73, 0, 0, 65, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 53, 53, 52, 2, 39, 38, 38, 35, 34, 6, 7, 23, 54, 54, 51, 50, 22, 23, 22, 22, 23, 38, 38, 7, 50, 22, 23, 22, 22, 23, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 2, 73, 114, 177, 60, 61, 62, 67, 65, 64, 188, 122, 80, 137, 56, 70, 102, 27, 17, 18, 77, 73, 74, 212, 136, 114, 144, 53, 41, 68, 101, 78, 65, 112, 44, 43, 61, 15, 60, 143, 47, 49, 76, 28, 28, 36, 10, 4, 5, 6, 21, 15, 28, 87, 63, 62, 87, 27, 27, 25, 24, 28, 27, 88, 4, 10, 76, 67, 68, 184, 108, 21, 115, 194, 71, 71, 80, 45, 42, 51, 163, 99, 61, 136, 72, 59, 198, 1, 52, 106, 105, 110, 48, 26, 202, 26, 25, 56, 51, 51, 145, 89, 60, 57, 224, 27, 21, 21, 51, 23, 108, 32, 61, 29, 36, 66, 27, 49, 57, 46, 40, 40, 108, 61, 21, 58, 106, 41, 40, 47, 0, 1, 0, 156, 255, 9, 4, 37, 5, 176, 0, 7, 0, 0, 69, 17, 33, 17, 33, 17, 33, 17, 4, 37, 252, 119, 1, 24, 1, 90, 247, 6, 167, 249, 89, 5, 203, 250, 53, 0, 0, 1, 0, 37, 254, 243, 4, 186, 5, 176, 0, 12, 0, 0, 65, 53, 1, 33, 53, 33, 21, 1, 1, 21, 33, 53, 33, 3, 137, 254, 25, 2, 240, 251, 147, 2, 63, 253, 193, 4, 149, 252, 231, 2, 69, 33, 2, 105, 225, 152, 253, 62, 253, 52, 151, 225, 0, 1, 0, 37, 0, 0, 4, 99, 5, 176, 0, 10, 0, 0, 65, 3, 33, 21, 51, 19, 51, 1, 35, 1, 7, 2, 39, 133, 254, 131, 222, 193, 234, 1, 181, 227, 254, 204, 22, 1, 54, 1, 196, 227, 253, 233, 5, 176, 251, 146, 86, 0, 0, 3, 0, 56, 0, 246, 4, 202, 3, 212, 0, 64, 0, 102, 0, 140, 0, 0, 65, 53, 52, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 39, 21, 20, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 53, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 5, 53, 52, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 23, 21, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 4, 202, 13, 13, 16, 58, 40, 33, 83, 49, 31, 58, 25, 32, 56, 21, 17, 29, 12, 23, 57, 35, 35, 83, 47, 48, 81, 32, 39, 58, 17, 15, 14, 13, 14, 16, 56, 38, 33, 84, 51, 47, 82, 35, 35, 57, 23, 22, 57, 36, 35, 82, 48, 51, 85, 34, 40, 56, 17, 11, 12, 204, 4, 5, 7, 21, 16, 12, 31, 19, 18, 33, 15, 26, 39, 13, 8, 10, 1, 1, 8, 8, 11, 36, 25, 16, 38, 21, 33, 44, 13, 7, 10, 3, 2, 2, 253, 4, 4, 3, 6, 21, 17, 13, 31, 20, 26, 45, 19, 17, 26, 9, 10, 10, 1, 1, 8, 7, 12, 35, 26, 16, 37, 20, 16, 27, 11, 19, 24, 8, 6, 5, 2, 82, 36, 44, 81, 35, 47, 76, 25, 20, 22, 14, 12, 14, 44, 25, 18, 41, 21, 38, 68, 26, 26, 31, 21, 19, 23, 71, 45, 37, 86, 48, 36, 46, 83, 35, 45, 70, 25, 21, 23, 32, 27, 27, 72, 39, 39, 72, 27, 27, 32, 23, 22, 24, 78, 49, 33, 77, 78, 36, 23, 38, 17, 20, 31, 11, 6, 7, 13, 11, 18, 56, 24, 16, 26, 6, 16, 5, 21, 14, 21, 49, 19, 12, 16, 22, 20, 12, 27, 16, 13, 29, 51, 36, 20, 35, 16, 21, 36, 11, 7, 8, 23, 18, 17, 36, 17, 16, 25, 5, 16, 5, 22, 15, 21, 53, 24, 14, 16, 5, 4, 8, 30, 20, 17, 44, 0, 0, 1, 0, 232, 254, 75, 3, 245, 6, 45, 0, 40, 0, 0, 69, 49, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 2, 229, 17, 17, 20, 59, 39, 31, 44, 21, 24, 40, 77, 41, 92, 145, 50, 51, 54, 17, 17, 14, 40, 26, 25, 61, 20, 11, 37, 61, 38, 87, 139, 48, 48, 51, 34, 4, 210, 35, 56, 20, 22, 23, 5, 5, 214, 9, 12, 50, 48, 49, 142, 92, 251, 46, 45, 71, 22, 20, 20, 6, 7, 221, 10, 7, 54, 52, 51, 150, 0, 0, 2, 0, 130, 0, 0, 4, 86, 5, 176, 0, 5, 0, 13, 0, 0, 65, 1, 1, 51, 1, 1, 7, 23, 19, 3, 7, 39, 3, 19, 1, 245, 254, 141, 1, 117, 235, 1, 116, 254, 138, 116, 23, 189, 189, 22, 21, 193, 188, 5, 176, 253, 39, 253, 41, 2, 215, 2, 217, 232, 68, 254, 83, 254, 77, 64, 67, 1, 176, 1, 173, 0, 0, 22, 0, 87, 0, 10, 4, 130, 4, 6, 0, 13, 0, 28, 0, 42, 0, 58, 0, 64, 0, 70, 0, 76, 0, 82, 0, 91, 0, 95, 0, 99, 0, 103, 0, 107, 0, 111, 0, 115, 0, 124, 0, 128, 0, 132, 0, 136, 0, 140, 0, 144, 0, 148, 0, 0, 65, 21, 20, 6, 35, 34, 38, 53, 53, 52, 54, 51, 50, 22, 23, 35, 17, 51, 50, 22, 21, 20, 6, 7, 22, 22, 21, 20, 6, 37, 53, 52, 38, 35, 34, 6, 21, 21, 20, 22, 51, 50, 54, 37, 53, 51, 21, 20, 6, 35, 34, 38, 53, 51, 20, 22, 51, 50, 54, 1, 51, 53, 35, 53, 35, 5, 51, 53, 35, 21, 35, 1, 51, 53, 51, 53, 35, 5, 51, 21, 51, 53, 35, 1, 35, 21, 51, 50, 54, 53, 52, 38, 3, 51, 53, 35, 23, 51, 53, 35, 5, 51, 53, 35, 19, 51, 53, 35, 23, 51, 53, 35, 5, 51, 53, 35, 19, 21, 51, 50, 54, 53, 52, 38, 35, 5, 53, 35, 21, 23, 53, 35, 21, 19, 53, 35, 21, 5, 53, 35, 21, 23, 53, 35, 21, 19, 53, 35, 21, 1, 235, 69, 57, 57, 71, 70, 57, 57, 70, 159, 122, 103, 55, 62, 23, 23, 28, 28, 57, 254, 251, 41, 35, 35, 41, 41, 36, 35, 40, 2, 14, 50, 58, 45, 48, 60, 51, 31, 26, 23, 30, 252, 145, 170, 108, 62, 3, 129, 170, 61, 109, 252, 127, 62, 108, 170, 3, 129, 109, 61, 170, 254, 178, 70, 70, 29, 27, 27, 135, 153, 153, 220, 153, 153, 254, 73, 152, 152, 219, 153, 153, 220, 153, 153, 254, 73, 152, 152, 255, 51, 33, 32, 32, 33, 254, 30, 62, 62, 62, 62, 62, 4, 43, 61, 61, 61, 61, 61, 2, 37, 62, 54, 66, 66, 54, 62, 54, 66, 66, 235, 1, 47, 40, 43, 21, 34, 9, 8, 39, 23, 43, 43, 119, 62, 38, 43, 43, 38, 62, 38, 43, 43, 15, 208, 208, 45, 50, 45, 46, 26, 24, 30, 254, 82, 63, 111, 174, 174, 111, 3, 32, 93, 64, 64, 93, 157, 253, 241, 93, 24, 21, 22, 26, 1, 207, 64, 64, 64, 64, 64, 252, 4, 63, 63, 63, 63, 63, 2, 39, 83, 22, 22, 23, 16, 165, 138, 138, 207, 137, 137, 1, 159, 137, 137, 208, 138, 138, 207, 137, 137, 1, 159, 137, 137, 0, 5, 0, 15, 253, 213, 4, 175, 8, 98, 0, 3, 0, 47, 0, 51, 0, 55, 0, 59, 0, 0, 65, 9, 2, 5, 35, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 35, 34, 6, 7, 35, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 21, 21, 35, 53, 19, 21, 51, 53, 3, 21, 51, 53, 2, 98, 253, 173, 2, 83, 2, 77, 254, 26, 202, 8, 11, 10, 35, 29, 10, 27, 12, 12, 17, 32, 37, 24, 41, 2, 203, 1, 43, 37, 36, 97, 56, 64, 102, 35, 34, 37, 23, 18, 18, 45, 22, 11, 17, 6, 6, 6, 202, 94, 4, 6, 4, 6, 82, 252, 49, 252, 49, 3, 207, 251, 48, 50, 19, 19, 40, 36, 13, 39, 24, 23, 51, 26, 52, 64, 48, 55, 70, 101, 33, 32, 30, 39, 36, 37, 103, 64, 41, 64, 28, 29, 55, 31, 16, 29, 15, 16, 39, 116, 170, 170, 252, 172, 4, 4, 10, 137, 4, 4, 0, 0, 2, 1, 32, 4, 234, 3, 255, 6, 241, 0, 6, 0, 44, 0, 0, 65, 37, 35, 5, 51, 55, 23, 19, 39, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 255, 254, 232, 175, 254, 232, 204, 164, 164, 95, 99, 9, 7, 8, 22, 12, 26, 51, 26, 26, 53, 28, 31, 51, 18, 18, 20, 98, 9, 8, 7, 21, 12, 28, 47, 24, 24, 54, 34, 31, 51, 19, 18, 20, 4, 234, 248, 248, 150, 150, 1, 228, 35, 18, 35, 13, 14, 16, 20, 12, 12, 20, 31, 25, 25, 64, 33, 28, 18, 32, 13, 12, 15, 20, 12, 12, 20, 30, 25, 25, 64, 0, 0, 2, 1, 16, 4, 234, 4, 190, 6, 179, 0, 6, 0, 34, 0, 0, 65, 37, 35, 5, 51, 55, 23, 55, 51, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 7, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 3, 239, 254, 233, 177, 254, 233, 204, 164, 164, 198, 95, 1, 21, 43, 17, 16, 21, 53, 53, 28, 73, 44, 4, 35, 59, 21, 21, 24, 22, 20, 14, 39, 23, 4, 234, 235, 235, 141, 141, 129, 61, 3, 17, 15, 15, 44, 30, 43, 64, 17, 9, 10, 83, 7, 7, 8, 25, 18, 15, 22, 7, 4, 5, 0, 0, 2, 255, 246, 4, 247, 4, 15, 6, 145, 0, 6, 0, 10, 0, 0, 65, 37, 35, 5, 51, 55, 23, 37, 3, 35, 19, 4, 15, 254, 226, 162, 254, 225, 215, 153, 153, 254, 65, 160, 228, 224, 4, 247, 235, 235, 130, 130, 140, 1, 14, 254, 242, 0, 0, 2, 1, 16, 4, 234, 5, 43, 6, 133, 0, 6, 0, 10, 0, 0, 65, 5, 51, 55, 23, 51, 37, 37, 3, 51, 19, 2, 47, 254, 225, 215, 153, 153, 215, 254, 225, 1, 117, 160, 164, 225, 5, 213, 235, 130, 130, 235, 176, 254, 241, 1, 15, 0, 0, 2, 1, 43, 4, 201, 3, 214, 6, 113, 0, 3, 0, 29, 0, 0, 65, 39, 35, 23, 5, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 2, 205, 121, 198, 173, 1, 155, 188, 17, 18, 18, 58, 42, 42, 59, 18, 19, 16, 188, 48, 45, 44, 126, 79, 78, 127, 44, 44, 48, 5, 181, 188, 188, 5, 22, 41, 15, 16, 18, 18, 16, 15, 41, 22, 51, 85, 30, 31, 34, 34, 31, 30, 85, 0, 0, 1, 1, 216, 4, 80, 2, 250, 6, 26, 0, 9, 0, 0, 65, 21, 51, 55, 52, 54, 55, 39, 6, 6, 1, 216, 221, 2, 40, 27, 145, 62, 83, 4, 216, 136, 124, 79, 128, 49, 78, 42, 176, 0, 0, 2, 0, 22, 0, 0, 4, 184, 4, 141, 0, 7, 0, 12, 0, 0, 101, 23, 33, 1, 33, 1, 33, 55, 55, 19, 55, 23, 19, 3, 74, 83, 1, 27, 254, 51, 254, 242, 254, 57, 1, 28, 80, 75, 145, 6, 7, 147, 221, 221, 4, 141, 251, 115, 221, 204, 1, 142, 18, 18, 254, 114, 0, 3, 0, 161, 0, 0, 4, 106, 4, 141, 0, 26, 0, 41, 0, 56, 0, 0, 115, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 1, 51, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 17, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 161, 1, 250, 121, 189, 56, 53, 44, 24, 25, 26, 78, 55, 41, 64, 22, 27, 27, 69, 63, 63, 177, 107, 254, 49, 1, 23, 238, 49, 70, 21, 17, 16, 18, 17, 22, 75, 52, 227, 203, 42, 67, 23, 23, 25, 15, 15, 22, 72, 49, 49, 50, 48, 112, 75, 42, 81, 35, 35, 52, 13, 15, 44, 27, 34, 84, 46, 84, 122, 40, 39, 38, 253, 93, 1, 22, 21, 17, 48, 30, 24, 42, 16, 21, 25, 1, 200, 1, 4, 14, 15, 16, 51, 37, 26, 42, 14, 22, 22, 1, 0, 0, 1, 0, 84, 255, 240, 4, 86, 4, 157, 0, 51, 0, 0, 65, 33, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 83, 254, 234, 37, 31, 32, 82, 44, 52, 87, 32, 32, 37, 36, 31, 31, 84, 48, 60, 93, 31, 26, 27, 1, 24, 8, 81, 67, 67, 183, 111, 106, 185, 69, 69, 80, 77, 69, 69, 190, 114, 98, 179, 69, 68, 85, 1, 143, 54, 74, 23, 23, 21, 39, 37, 37, 107, 69, 178, 64, 105, 38, 38, 42, 31, 29, 25, 69, 43, 102, 157, 54, 53, 54, 74, 67, 68, 188, 114, 177, 113, 188, 67, 67, 74, 49, 51, 51, 157, 0, 2, 0, 157, 0, 0, 4, 111, 4, 141, 0, 15, 0, 31, 0, 0, 115, 33, 50, 54, 55, 54, 54, 53, 53, 52, 38, 39, 38, 38, 35, 33, 5, 51, 50, 22, 23, 22, 22, 21, 21, 20, 6, 7, 6, 6, 35, 35, 157, 1, 205, 104, 187, 71, 71, 84, 84, 71, 72, 192, 109, 254, 62, 1, 22, 172, 58, 92, 32, 32, 35, 36, 31, 32, 87, 52, 183, 75, 66, 66, 182, 108, 168, 107, 183, 67, 66, 77, 223, 42, 37, 37, 101, 59, 169, 64, 102, 35, 36, 39, 0, 1, 0, 160, 0, 0, 4, 56, 4, 141, 0, 11, 0, 0, 65, 53, 33, 53, 33, 53, 33, 17, 33, 53, 33, 17, 3, 220, 253, 219, 2, 129, 252, 104, 3, 146, 253, 133, 1, 238, 223, 225, 223, 251, 115, 221, 1, 17, 0, 1, 0, 168, 0, 0, 4, 49, 4, 141, 0, 9, 0, 0, 65, 53, 33, 17, 33, 53, 33, 17, 33, 17, 3, 241, 253, 207, 2, 113, 252, 119, 1, 24, 1, 205, 223, 1, 2, 223, 251, 115, 1, 205, 0, 1, 0, 94, 255, 240, 4, 90, 4, 157, 0, 55, 0, 0, 101, 17, 33, 21, 51, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 33, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 90, 254, 15, 219, 1, 12, 42, 27, 27, 65, 34, 66, 97, 31, 31, 31, 40, 34, 33, 88, 49, 49, 81, 30, 29, 33, 1, 1, 14, 1, 64, 62, 63, 186, 124, 107, 187, 69, 70, 82, 74, 68, 67, 192, 120, 90, 158, 65, 64, 95, 147, 1, 234, 205, 187, 9, 15, 5, 6, 6, 43, 38, 37, 102, 59, 199, 61, 102, 37, 36, 40, 18, 20, 20, 66, 49, 88, 146, 52, 52, 58, 73, 66, 66, 185, 111, 197, 111, 184, 66, 66, 72, 28, 23, 23, 58, 0, 0, 1, 0, 142, 0, 0, 4, 24, 4, 141, 0, 11, 0, 0, 97, 17, 33, 17, 33, 17, 33, 17, 33, 17, 33, 17, 4, 24, 254, 235, 254, 160, 254, 235, 1, 21, 1, 96, 4, 141, 254, 23, 1, 233, 251, 115, 1, 197, 254, 59, 0, 1, 0, 202, 0, 0, 4, 9, 4, 140, 0, 11, 0, 0, 83, 21, 33, 17, 33, 21, 33, 53, 33, 17, 33, 53, 202, 1, 16, 254, 240, 3, 63, 254, 233, 1, 23, 4, 140, 226, 253, 56, 226, 226, 2, 200, 226, 0, 0, 1, 0, 160, 255, 240, 4, 41, 4, 141, 0, 27, 0, 0, 65, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 33, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 17, 3, 18, 1, 1, 26, 23, 22, 61, 36, 48, 72, 22, 18, 19, 254, 233, 2, 66, 59, 59, 168, 104, 91, 162, 61, 61, 72, 4, 141, 253, 42, 58, 89, 30, 28, 30, 30, 31, 26, 73, 48, 110, 161, 53, 53, 51, 61, 59, 58, 169, 108, 2, 214, 0, 0, 1, 0, 154, 0, 0, 4, 165, 4, 141, 0, 12, 0, 0, 65, 1, 33, 1, 1, 33, 1, 7, 17, 33, 17, 33, 17, 2, 50, 1, 40, 1, 75, 254, 73, 1, 169, 254, 165, 254, 218, 101, 254, 233, 1, 23, 1, 188, 254, 68, 2, 130, 2, 11, 254, 151, 132, 1, 237, 251, 115, 1, 62, 0, 0, 1, 0, 161, 0, 0, 4, 103, 4, 141, 0, 5, 0, 0, 101, 17, 33, 17, 33, 53, 1, 186, 254, 231, 3, 198, 221, 3, 176, 251, 115, 221, 0, 1, 0, 120, 0, 0, 4, 94, 4, 141, 0, 12, 0, 0, 65, 3, 33, 17, 51, 17, 19, 23, 19, 17, 51, 17, 33, 2, 110, 186, 254, 196, 254, 158, 182, 150, 254, 254, 204, 2, 73, 2, 68, 251, 115, 2, 222, 254, 23, 1, 1, 214, 253, 54, 4, 141, 0, 1, 0, 159, 0, 0, 4, 20, 4, 141, 0, 9, 0, 0, 97, 17, 33, 19, 1, 33, 17, 33, 3, 1, 4, 20, 254, 235, 1, 254, 179, 254, 236, 1, 20, 1, 1, 78, 4, 141, 253, 69, 2, 187, 251, 115, 2, 186, 253, 70, 0, 2, 0, 104, 255, 240, 4, 99, 4, 157, 0, 25, 0, 51, 0, 0, 65, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 1, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 99, 75, 67, 68, 187, 113, 116, 187, 67, 67, 72, 73, 67, 67, 188, 116, 113, 187, 67, 67, 74, 254, 233, 30, 29, 29, 86, 55, 60, 87, 28, 29, 27, 27, 28, 28, 86, 60, 56, 86, 30, 29, 30, 1, 228, 195, 107, 184, 68, 67, 76, 76, 67, 68, 184, 107, 195, 107, 183, 67, 67, 76, 76, 67, 67, 183, 1, 47, 196, 59, 103, 38, 39, 44, 45, 38, 38, 103, 59, 196, 59, 103, 38, 38, 43, 43, 38, 38, 102, 0, 2, 0, 97, 255, 65, 4, 105, 4, 157, 0, 31, 0, 57, 0, 0, 65, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 23, 55, 39, 54, 54, 55, 54, 54, 1, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 4, 105, 77, 68, 69, 190, 113, 116, 190, 67, 68, 74, 74, 68, 68, 191, 116, 35, 66, 31, 207, 169, 178, 39, 64, 23, 28, 31, 254, 232, 32, 30, 30, 87, 56, 61, 89, 29, 30, 28, 28, 29, 29, 89, 60, 57, 88, 30, 30, 32, 1, 228, 195, 108, 184, 67, 67, 76, 76, 67, 67, 184, 108, 195, 108, 184, 66, 67, 75, 8, 7, 190, 119, 162, 31, 74, 43, 53, 124, 1, 9, 196, 60, 103, 38, 39, 43, 43, 39, 38, 103, 60, 196, 60, 103, 38, 37, 43, 42, 37, 38, 103, 0, 2, 0, 147, 0, 0, 4, 115, 4, 141, 0, 20, 0, 35, 0, 0, 65, 19, 33, 53, 1, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 17, 33, 17, 53, 17, 51, 50, 22, 23, 22, 22, 21, 6, 6, 7, 6, 6, 35, 2, 105, 223, 1, 43, 254, 245, 49, 82, 29, 29, 32, 68, 62, 62, 172, 103, 254, 33, 1, 23, 200, 42, 68, 24, 27, 29, 1, 26, 24, 25, 70, 44, 1, 151, 254, 105, 11, 1, 214, 22, 58, 40, 39, 105, 69, 88, 131, 44, 44, 44, 251, 115, 1, 151, 223, 1, 53, 17, 18, 19, 60, 40, 39, 58, 19, 19, 20, 0, 1, 0, 131, 255, 240, 4, 92, 4, 157, 0, 76, 0, 0, 65, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 33, 22, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 33, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 82, 26, 25, 26, 76, 51, 49, 86, 32, 32, 37, 254, 233, 1, 41, 36, 35, 96, 56, 55, 121, 61, 104, 177, 65, 64, 73, 62, 58, 58, 166, 103, 64, 88, 27, 28, 24, 26, 25, 25, 72, 47, 42, 72, 27, 27, 30, 1, 23, 2, 74, 64, 65, 174, 100, 96, 167, 62, 62, 71, 56, 55, 55, 161, 104, 61, 92, 31, 31, 31, 1, 60, 24, 46, 18, 18, 22, 18, 20, 20, 67, 50, 74, 113, 42, 42, 58, 17, 18, 15, 41, 42, 42, 127, 86, 88, 122, 43, 42, 59, 24, 15, 28, 17, 16, 43, 31, 24, 45, 18, 17, 20, 24, 21, 21, 59, 34, 99, 140, 44, 43, 40, 45, 43, 44, 127, 82, 87, 117, 40, 40, 55, 27, 14, 30, 18, 19, 46, 0, 1, 0, 84, 0, 0, 4, 154, 4, 141, 0, 7, 0, 0, 65, 53, 33, 21, 33, 17, 33, 17, 4, 154, 251, 186, 1, 146, 1, 25, 3, 174, 223, 223, 252, 82, 3, 174, 0, 1, 0, 157, 255, 240, 4, 67, 4, 141, 0, 29, 0, 0, 65, 33, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 4, 67, 254, 233, 1, 23, 22, 23, 71, 47, 50, 75, 24, 20, 22, 254, 235, 69, 62, 62, 172, 103, 103, 171, 62, 61, 69, 4, 141, 253, 9, 50, 75, 24, 25, 25, 27, 29, 24, 72, 47, 2, 247, 253, 9, 102, 157, 54, 54, 55, 55, 54, 54, 157, 102, 0, 0, 1, 0, 45, 0, 0, 4, 187, 4, 141, 0, 8, 0, 0, 65, 1, 33, 1, 33, 1, 33, 1, 7, 2, 101, 254, 237, 254, 219, 1, 177, 1, 42, 1, 179, 254, 219, 254, 234, 13, 1, 65, 3, 76, 251, 115, 4, 141, 252, 178, 62, 0, 0, 1, 0, 33, 0, 0, 4, 143, 4, 141, 0, 18, 0, 0, 115, 51, 19, 55, 23, 19, 51, 19, 33, 3, 7, 39, 3, 35, 3, 7, 39, 3, 33, 239, 254, 96, 9, 9, 102, 254, 204, 254, 252, 73, 9, 11, 89, 255, 86, 8, 7, 73, 254, 249, 2, 35, 47, 47, 253, 221, 4, 141, 253, 248, 62, 62, 2, 8, 253, 250, 49, 49, 2, 6, 0, 1, 0, 64, 0, 0, 4, 139, 4, 141, 0, 11, 0, 0, 65, 3, 33, 1, 1, 33, 19, 19, 33, 1, 1, 33, 2, 92, 211, 254, 194, 1, 105, 254, 140, 1, 66, 222, 228, 1, 71, 254, 128, 1, 105, 254, 191, 3, 14, 1, 127, 253, 190, 253, 181, 1, 134, 254, 122, 2, 75, 2, 66, 0, 0, 1, 0, 58, 0, 0, 4, 174, 4, 141, 0, 10, 0, 0, 97, 33, 17, 1, 33, 3, 7, 39, 3, 33, 1, 1, 229, 1, 24, 1, 177, 254, 209, 252, 15, 15, 251, 254, 208, 1, 171, 1, 151, 2, 246, 254, 20, 29, 29, 1, 236, 253, 19, 0, 0, 1, 0, 153, 0, 0, 4, 75, 4, 141, 0, 9, 0, 0, 101, 1, 53, 33, 21, 33, 1, 21, 33, 53, 2, 0, 2, 65, 252, 108, 2, 47, 253, 189, 3, 178, 221, 3, 37, 139, 223, 252, 224, 142, 221, 0, 0, 2, 1, 60, 4, 203, 3, 232, 6, 246, 0, 25, 0, 53, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 37, 51, 39, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 7, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 3, 232, 188, 17, 18, 19, 58, 41, 42, 59, 18, 19, 17, 188, 48, 45, 44, 127, 79, 79, 126, 44, 44, 48, 254, 109, 98, 17, 27, 53, 20, 20, 25, 39, 39, 35, 103, 67, 7, 42, 71, 26, 25, 29, 24, 25, 16, 44, 27, 5, 176, 22, 39, 15, 15, 17, 17, 15, 15, 39, 22, 51, 85, 30, 30, 33, 33, 30, 30, 85, 79, 46, 3, 16, 13, 13, 39, 27, 34, 55, 18, 17, 17, 66, 6, 7, 7, 25, 18, 15, 21, 6, 3, 4, 1, 0, 0, 2, 1, 44, 4, 201, 3, 215, 6, 113, 0, 25, 0, 29, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 37, 7, 51, 55, 3, 215, 188, 17, 18, 18, 58, 42, 42, 59, 18, 19, 16, 188, 48, 45, 44, 126, 79, 78, 127, 44, 44, 48, 254, 215, 121, 146, 173, 5, 176, 22, 41, 15, 16, 18, 18, 16, 15, 41, 22, 51, 85, 30, 31, 34, 34, 31, 30, 85, 244, 188, 188, 0, 0, 1, 1, 45, 2, 136, 3, 225, 3, 60, 0, 3, 0, 0, 65, 53, 33, 21, 3, 225, 253, 76, 2, 136, 180, 180, 0, 3, 1, 193, 4, 84, 3, 253, 6, 182, 0, 3, 0, 27, 0, 39, 0, 0, 65, 7, 51, 37, 1, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 51, 50, 22, 21, 20, 6, 35, 34, 38, 2, 246, 182, 182, 1, 7, 253, 196, 31, 27, 27, 73, 41, 41, 71, 27, 26, 30, 30, 26, 27, 71, 41, 41, 73, 27, 27, 31, 110, 51, 38, 38, 47, 47, 38, 38, 51, 6, 182, 204, 204, 254, 83, 40, 66, 24, 24, 27, 26, 24, 24, 67, 40, 39, 68, 25, 24, 28, 28, 24, 25, 68, 39, 40, 50, 50, 40, 38, 50, 50, 0, 2, 1, 244, 4, 131, 3, 197, 5, 196, 0, 5, 0, 21, 0, 0, 65, 21, 51, 19, 53, 35, 5, 21, 51, 53, 52, 54, 55, 54, 54, 55, 35, 6, 6, 7, 6, 6, 2, 180, 83, 190, 181, 254, 228, 130, 7, 7, 7, 19, 11, 78, 16, 35, 15, 16, 20, 4, 160, 27, 1, 42, 21, 208, 113, 107, 31, 62, 28, 27, 48, 18, 14, 41, 26, 26, 64, 0, 0, 2, 1, 92, 4, 198, 4, 2, 6, 226, 0, 25, 0, 51, 0, 0, 65, 35, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 39, 20, 6, 35, 34, 38, 39, 38, 38, 35, 34, 6, 21, 23, 52, 54, 51, 50, 22, 23, 22, 22, 51, 50, 54, 4, 2, 187, 16, 18, 18, 58, 42, 42, 58, 18, 18, 16, 187, 47, 45, 44, 125, 78, 78, 126, 44, 44, 47, 48, 116, 40, 29, 31, 56, 27, 28, 57, 33, 74, 90, 116, 40, 29, 32, 50, 26, 25, 59, 39, 72, 93, 5, 176, 22, 39, 15, 15, 18, 18, 15, 15, 39, 22, 52, 86, 31, 31, 34, 34, 31, 31, 86, 1, 68, 34, 37, 49, 21, 13, 13, 21, 112, 71, 32, 37, 49, 21, 13, 13, 21, 109, 0, 0, 1, 1, 250, 254, 156, 3, 16, 0, 201, 0, 3, 0, 0, 65, 17, 33, 17, 3, 16, 254, 234, 254, 156, 2, 45, 253, 211, 0, 1, 1, 66, 254, 75, 3, 66, 0, 245, 0, 21, 0, 0, 101, 33, 17, 20, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 3, 66, 254, 234, 17, 17, 15, 45, 28, 25, 52, 21, 14, 36, 65, 38, 87, 139, 48, 48, 51, 245, 254, 227, 43, 65, 21, 20, 19, 6, 6, 224, 10, 7, 52, 50, 50, 149, 96, 0, 0, 2, 0, 161, 0, 0, 4, 88, 4, 141, 0, 16, 0, 31, 0, 0, 65, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 17, 33, 17, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 1, 183, 208, 104, 171, 62, 61, 67, 67, 61, 62, 171, 104, 254, 26, 1, 22, 208, 45, 69, 24, 23, 25, 25, 23, 24, 69, 45, 1, 121, 58, 51, 51, 141, 84, 89, 148, 54, 53, 59, 251, 115, 2, 87, 1, 87, 29, 25, 25, 66, 37, 31, 58, 22, 23, 27, 0, 1, 0, 151, 0, 0, 4, 200, 5, 176, 0, 12, 0, 0, 65, 1, 33, 1, 1, 33, 1, 35, 17, 33, 17, 33, 17, 2, 37, 1, 93, 1, 70, 254, 61, 1, 178, 254, 187, 254, 131, 69, 254, 231, 1, 25, 2, 86, 253, 170, 2, 243, 2, 189, 253, 127, 2, 129, 250, 80, 2, 86, 0, 1, 0, 147, 255, 235, 4, 105, 4, 156, 0, 62, 0, 0, 65, 7, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 39, 19, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 17, 33, 17, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 7, 21, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 2, 72, 85, 46, 118, 79, 79, 141, 53, 52, 62, 40, 38, 40, 111, 80, 4, 222, 48, 104, 58, 54, 122, 70, 109, 166, 54, 53, 53, 1, 19, 25, 23, 20, 55, 33, 22, 39, 17, 16, 28, 12, 168, 82, 51, 82, 29, 28, 31, 21, 18, 19, 51, 31, 40, 64, 1, 2, 220, 26, 33, 47, 47, 46, 141, 93, 64, 105, 39, 42, 54, 16, 1, 1, 7, 60, 94, 30, 29, 30, 57, 57, 54, 163, 106, 253, 25, 2, 231, 54, 81, 25, 22, 23, 10, 8, 8, 22, 12, 212, 184, 15, 16, 17, 53, 38, 33, 53, 18, 18, 20, 33, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 1, 0, 0, 255, 255, 1, 26, 2, 18, 4, 91, 2, 243, 6, 6, 0, 103, 0, 0, 255, 255, 0, 79, 255, 235, 4, 119, 7, 75, 6, 38, 0, 4, 0, 0, 0, 7, 1, 96, 0, 59, 1, 108, 255, 255, 0, 117, 255, 235, 4, 60, 6, 10, 6, 38, 0, 30, 0, 0, 0, 6, 1, 96, 4, 43, 255, 255, 0, 87, 255, 236, 4, 108, 7, 75, 6, 38, 0, 8, 0, 0, 0, 7, 1, 96, 0, 30, 1, 108, 255, 255, 0, 113, 254, 86, 4, 71, 6, 10, 6, 38, 0, 34, 0, 0, 0, 6, 1, 96, 232, 43, 255, 255, 255, 102, 0, 0, 4, 83, 6, 21, 6, 38, 0, 41, 0, 0, 0, 7, 0, 109, 253, 148, 255, 253, 255, 255, 0, 89, 254, 15, 4, 140, 5, 196, 6, 38, 0, 20, 0, 0, 0, 7, 1, 104, 0, 215, 254, 183, 255, 255, 0, 122, 254, 15, 4, 85, 4, 78, 6, 38, 0, 46, 0, 0, 0, 7, 1, 104, 0, 151, 254, 183, 255, 255, 0, 27, 254, 38, 4, 177, 5, 176, 6, 38, 0, 21, 0, 0, 0, 7, 1, 104, 0, 171, 254, 206, 255, 255, 0, 126, 254, 25, 4, 78, 5, 67, 6, 38, 0, 47, 0, 0, 0, 7, 1, 104, 0, 237, 254, 193, 255, 255, 0, 27, 254, 67, 4, 177, 5, 176, 6, 38, 0, 21, 0, 0, 0, 6, 1, 102, 42, 13, 255, 255, 0, 84, 254, 66, 4, 154, 4, 141, 6, 38, 2, 97, 0, 0, 0, 6, 1, 102, 49, 12, 255, 255, 0, 126, 254, 54, 4, 78, 5, 67, 6, 38, 0, 47, 0, 0, 0, 6, 1, 102, 108, 0, 255, 255, 255, 170, 0, 0, 4, 111, 4, 141, 6, 38, 2, 82, 0, 0, 0, 7, 2, 106, 254, 125, 255, 104, 255, 255, 255, 170, 0, 0, 4, 111, 4, 141, 6, 38, 2, 82, 0, 0, 0, 7, 2, 106, 254, 125, 255, 104, 255, 255, 0, 84, 0, 0, 4, 154, 4, 141, 6, 38, 2, 97, 0, 0, 0, 6, 2, 106, 239, 181, 255, 255, 0, 22, 0, 0, 4, 184, 5, 229, 6, 38, 2, 79, 0, 0, 0, 7, 1, 90, 255, 88, 0, 31, 255, 255, 0, 22, 0, 0, 4, 184, 5, 226, 6, 38, 2, 79, 0, 0, 0, 6, 1, 91, 114, 28, 255, 255, 0, 22, 0, 0, 4, 184, 6, 12, 6, 38, 2, 79, 0, 0, 0, 6, 1, 92, 114, 32, 255, 255, 0, 22, 0, 0, 4, 184, 6, 39, 6, 38, 2, 79, 0, 0, 0, 6, 1, 93, 121, 33, 255, 255, 0, 22, 0, 0, 4, 184, 5, 242, 6, 38, 2, 79, 0, 0, 0, 6, 1, 97, 223, 32, 255, 255, 0, 22, 0, 0, 4, 184, 6, 75, 6, 38, 2, 79, 0, 0, 0, 7, 1, 98, 255, 255, 0, 184, 255, 255, 0, 22, 0, 0, 4, 184, 7, 25, 6, 38, 2, 79, 0, 0, 0, 6, 2, 107, 222, 99, 255, 255, 0, 84, 254, 54, 4, 86, 4, 157, 6, 38, 2, 81, 0, 0, 0, 6, 1, 102, 20, 0, 255, 255, 0, 160, 0, 0, 4, 56, 5, 229, 6, 38, 2, 83, 0, 0, 0, 7, 1, 90, 255, 71, 0, 31, 255, 255, 0, 160, 0, 0, 4, 56, 5, 226, 6, 38, 2, 83, 0, 0, 0, 6, 1, 91, 97, 28, 255, 255, 0, 160, 0, 0, 4, 56, 6, 12, 6, 38, 2, 83, 0, 0, 0, 6, 1, 92, 97, 32, 255, 255, 0, 160, 0, 0, 4, 56, 5, 242, 6, 38, 2, 83, 0, 0, 0, 6, 1, 97, 206, 32, 255, 255, 0, 202, 0, 0, 4, 9, 5, 223, 6, 38, 2, 87, 0, 0, 0, 7, 1, 90, 255, 109, 0, 25, 255, 255, 0, 202, 0, 0, 4, 9, 5, 220, 6, 38, 2, 87, 0, 0, 0, 7, 1, 91, 0, 135, 0, 22, 255, 255, 0, 202, 0, 0, 4, 9, 6, 6, 6, 38, 2, 87, 0, 0, 0, 7, 1, 92, 0, 135, 0, 26, 255, 255, 0, 202, 0, 0, 4, 9, 5, 236, 6, 38, 2, 87, 0, 0, 0, 6, 1, 97, 244, 26, 255, 255, 0, 159, 0, 0, 4, 20, 6, 39, 6, 38, 2, 92, 0, 0, 0, 7, 1, 93, 0, 130, 0, 33, 255, 255, 0, 104, 255, 240, 4, 99, 5, 241, 6, 38, 2, 93, 0, 0, 0, 7, 1, 90, 255, 80, 0, 43, 255, 255, 0, 104, 255, 240, 4, 99, 5, 238, 6, 38, 2, 93, 0, 0, 0, 6, 1, 91, 106, 40, 255, 255, 0, 104, 255, 240, 4, 99, 6, 24, 6, 38, 2, 93, 0, 0, 0, 6, 1, 92, 106, 44, 255, 255, 0, 104, 255, 240, 4, 99, 6, 51, 6, 38, 2, 93, 0, 0, 0, 6, 1, 93, 113, 45, 255, 255, 0, 104, 255, 240, 4, 99, 5, 254, 6, 38, 2, 93, 0, 0, 0, 6, 1, 97, 215, 44, 255, 255, 0, 157, 255, 240, 4, 67, 5, 254, 6, 38, 2, 98, 0, 0, 0, 7, 1, 90, 255, 115, 0, 56, 255, 255, 0, 157, 255, 240, 4, 67, 5, 251, 6, 38, 2, 98, 0, 0, 0, 7, 1, 91, 0, 141, 0, 53, 255, 255, 0, 157, 255, 240, 4, 67, 6, 37, 6, 38, 2, 98, 0, 0, 0, 7, 1, 92, 0, 141, 0, 57, 255, 255, 0, 157, 255, 240, 4, 67, 6, 11, 6, 38, 2, 98, 0, 0, 0, 6, 1, 97, 250, 57, 255, 255, 0, 58, 0, 0, 4, 174, 5, 226, 6, 38, 2, 102, 0, 0, 0, 6, 1, 91, 110, 28, 255, 255, 0, 22, 0, 0, 4, 184, 5, 181, 6, 38, 2, 79, 0, 0, 0, 6, 1, 94, 234, 5, 255, 255, 0, 22, 0, 0, 4, 184, 6, 4, 6, 38, 2, 79, 0, 0, 0, 6, 1, 95, 237, 98, 0, 2, 0, 22, 254, 88, 4, 184, 4, 141, 0, 35, 0, 40, 0, 0, 65, 33, 1, 33, 55, 33, 23, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 1, 19, 55, 23, 19, 2, 235, 254, 242, 254, 57, 1, 28, 80, 1, 200, 78, 30, 46, 17, 21, 22, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 45, 57, 253, 20, 145, 6, 6, 149, 4, 141, 251, 115, 221, 207, 21, 48, 25, 33, 69, 35, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 18, 1, 169, 1, 144, 16, 16, 254, 112, 255, 255, 0, 84, 255, 240, 4, 86, 5, 238, 6, 38, 2, 81, 0, 0, 0, 6, 1, 91, 93, 40, 255, 255, 0, 84, 255, 240, 4, 86, 6, 24, 6, 38, 2, 81, 0, 0, 0, 6, 1, 92, 93, 44, 255, 255, 0, 84, 255, 240, 4, 86, 6, 25, 6, 38, 2, 81, 0, 0, 0, 6, 1, 100, 216, 44, 255, 255, 0, 80, 0, 0, 4, 111, 6, 13, 6, 38, 2, 82, 0, 0, 0, 7, 1, 100, 255, 87, 0, 32, 255, 255, 0, 160, 0, 0, 4, 56, 5, 181, 6, 38, 2, 83, 0, 0, 0, 6, 1, 94, 217, 5, 255, 255, 0, 160, 0, 0, 4, 56, 6, 4, 6, 38, 2, 83, 0, 0, 0, 6, 1, 95, 220, 98, 255, 255, 0, 160, 0, 0, 4, 56, 6, 15, 6, 38, 2, 83, 0, 0, 0, 6, 1, 96, 229, 48, 0, 1, 0, 160, 254, 88, 4, 56, 4, 141, 0, 40, 0, 0, 65, 53, 33, 53, 33, 53, 33, 17, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 51, 53, 33, 17, 3, 220, 253, 219, 2, 129, 252, 104, 2, 21, 26, 40, 14, 19, 18, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 45, 131, 253, 133, 1, 238, 223, 225, 223, 251, 115, 21, 46, 24, 30, 64, 32, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 18, 221, 1, 17, 255, 255, 0, 160, 0, 0, 4, 56, 6, 13, 6, 38, 2, 83, 0, 0, 0, 6, 1, 100, 220, 32, 255, 255, 0, 94, 255, 240, 4, 90, 6, 24, 6, 38, 2, 85, 0, 0, 0, 6, 1, 92, 122, 44, 255, 255, 0, 94, 255, 240, 4, 90, 6, 16, 6, 38, 2, 85, 0, 0, 0, 6, 1, 95, 245, 110, 255, 255, 0, 94, 254, 25, 4, 90, 4, 157, 6, 38, 2, 85, 0, 0, 0, 7, 1, 104, 0, 195, 254, 193, 255, 255, 0, 142, 0, 0, 4, 24, 6, 12, 6, 38, 2, 86, 0, 0, 0, 7, 1, 92, 0, 146, 0, 32, 255, 255, 0, 202, 0, 0, 4, 9, 6, 33, 6, 38, 2, 87, 0, 0, 0, 7, 1, 93, 0, 142, 0, 27, 255, 255, 0, 202, 0, 0, 4, 9, 5, 176, 6, 38, 2, 87, 0, 0, 0, 6, 1, 94, 255, 0, 255, 255, 0, 202, 0, 0, 4, 9, 5, 254, 6, 38, 2, 87, 0, 0, 0, 6, 1, 95, 1, 92, 0, 1, 0, 202, 254, 88, 4, 9, 4, 140, 0, 40, 0, 0, 83, 21, 33, 17, 33, 21, 33, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 33, 53, 33, 17, 33, 53, 202, 1, 16, 254, 240, 1, 69, 23, 38, 14, 21, 21, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 15, 18, 18, 60, 45, 1, 0, 254, 233, 1, 23, 4, 140, 226, 253, 56, 226, 19, 42, 21, 32, 69, 34, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 27, 49, 22, 22, 40, 18, 226, 2, 200, 226, 255, 255, 0, 202, 0, 0, 4, 9, 6, 9, 6, 38, 2, 87, 0, 0, 0, 6, 1, 96, 10, 42, 255, 255, 0, 160, 255, 240, 5, 13, 6, 5, 6, 38, 2, 88, 0, 0, 0, 7, 1, 92, 1, 163, 0, 25, 255, 255, 0, 154, 254, 32, 4, 165, 4, 141, 6, 38, 2, 89, 0, 0, 0, 7, 1, 104, 0, 121, 254, 200, 255, 255, 0, 161, 0, 0, 4, 103, 5, 203, 6, 38, 2, 90, 0, 0, 0, 7, 1, 91, 255, 62, 0, 5, 255, 255, 0, 161, 254, 33, 4, 103, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 1, 104, 0, 65, 254, 201, 255, 255, 0, 161, 0, 0, 4, 103, 4, 144, 6, 38, 2, 90, 0, 0, 0, 7, 0, 109, 0, 92, 254, 120, 255, 255, 0, 161, 0, 0, 4, 103, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 1, 96, 0, 31, 253, 65, 255, 255, 0, 159, 0, 0, 4, 20, 5, 226, 6, 38, 2, 92, 0, 0, 0, 6, 1, 91, 123, 28, 255, 255, 0, 159, 254, 25, 4, 20, 4, 141, 6, 38, 2, 92, 0, 0, 0, 7, 1, 104, 0, 189, 254, 193, 255, 255, 0, 159, 0, 0, 4, 20, 6, 13, 6, 38, 2, 92, 0, 0, 0, 6, 1, 100, 246, 32, 255, 255, 0, 104, 255, 240, 4, 99, 5, 193, 6, 38, 2, 93, 0, 0, 0, 6, 1, 94, 226, 17, 255, 255, 0, 104, 255, 240, 4, 99, 6, 16, 6, 38, 2, 93, 0, 0, 0, 6, 1, 95, 229, 110, 255, 255, 0, 104, 255, 240, 4, 143, 6, 26, 6, 38, 2, 93, 0, 0, 0, 6, 1, 99, 114, 44, 255, 255, 0, 147, 0, 0, 4, 115, 5, 251, 6, 38, 2, 95, 0, 0, 0, 6, 1, 91, 55, 53, 255, 255, 0, 147, 254, 33, 4, 115, 4, 141, 6, 38, 2, 95, 0, 0, 0, 7, 1, 104, 0, 129, 254, 201, 255, 255, 0, 147, 0, 0, 4, 115, 6, 38, 6, 38, 2, 95, 0, 0, 0, 6, 1, 100, 178, 57, 255, 255, 0, 131, 255, 240, 4, 92, 5, 238, 6, 38, 2, 96, 0, 0, 0, 7, 1, 91, 0, 131, 0, 40, 255, 255, 0, 131, 255, 240, 4, 92, 6, 24, 6, 38, 2, 96, 0, 0, 0, 7, 1, 92, 0, 131, 0, 44, 255, 255, 0, 131, 254, 50, 4, 92, 4, 157, 6, 38, 2, 96, 0, 0, 0, 6, 1, 102, 53, 252, 255, 255, 0, 131, 255, 240, 4, 92, 6, 25, 6, 38, 2, 96, 0, 0, 0, 6, 1, 100, 254, 44, 255, 255, 0, 84, 0, 0, 4, 154, 6, 13, 6, 38, 2, 97, 0, 0, 0, 6, 1, 100, 243, 32, 255, 255, 0, 157, 255, 240, 4, 67, 6, 64, 6, 38, 2, 98, 0, 0, 0, 7, 1, 93, 0, 148, 0, 58, 255, 255, 0, 157, 255, 240, 4, 67, 5, 206, 6, 38, 2, 98, 0, 0, 0, 6, 1, 94, 4, 30, 255, 255, 0, 157, 255, 240, 4, 67, 6, 29, 6, 38, 2, 98, 0, 0, 0, 6, 1, 95, 7, 123, 255, 255, 0, 157, 255, 240, 4, 67, 6, 100, 6, 38, 2, 98, 0, 0, 0, 7, 1, 98, 0, 25, 0, 209, 255, 255, 0, 157, 255, 240, 4, 178, 6, 39, 6, 38, 2, 98, 0, 0, 0, 7, 1, 99, 0, 149, 0, 57, 0, 1, 0, 157, 254, 166, 4, 67, 4, 141, 0, 57, 0, 0, 65, 33, 3, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 17, 33, 17, 20, 22, 23, 22, 22, 23, 50, 50, 51, 6, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 39, 6, 6, 35, 34, 38, 53, 52, 54, 55, 54, 54, 55, 54, 54, 53, 4, 67, 254, 233, 1, 23, 22, 23, 71, 47, 46, 72, 24, 23, 26, 254, 235, 66, 59, 57, 159, 95, 3, 5, 3, 8, 12, 5, 5, 5, 35, 30, 30, 81, 46, 69, 89, 28, 47, 14, 40, 29, 37, 30, 7, 8, 6, 19, 13, 119, 139, 4, 141, 253, 9, 51, 74, 24, 26, 24, 24, 24, 24, 76, 51, 2, 247, 253, 9, 99, 155, 53, 52, 57, 5, 14, 28, 14, 17, 34, 17, 51, 77, 26, 26, 27, 29, 15, 154, 6, 14, 39, 29, 19, 34, 16, 13, 24, 12, 45, 195, 148, 255, 255, 0, 33, 0, 0, 4, 143, 6, 12, 6, 38, 2, 100, 0, 0, 0, 7, 1, 92, 0, 130, 0, 32, 255, 255, 0, 58, 0, 0, 4, 174, 6, 12, 6, 38, 2, 102, 0, 0, 0, 6, 1, 92, 110, 32, 255, 255, 0, 58, 0, 0, 4, 174, 5, 242, 6, 38, 2, 102, 0, 0, 0, 6, 1, 97, 219, 32, 255, 255, 0, 153, 0, 0, 4, 75, 5, 226, 6, 38, 2, 103, 0, 0, 0, 6, 1, 91, 115, 28, 255, 255, 0, 153, 0, 0, 4, 75, 6, 15, 6, 38, 2, 103, 0, 0, 0, 6, 1, 96, 247, 48, 255, 255, 0, 153, 0, 0, 4, 75, 6, 13, 6, 38, 2, 103, 0, 0, 0, 6, 1, 100, 238, 32, 255, 255, 0, 28, 0, 0, 4, 204, 6, 129, 6, 38, 0, 2, 0, 0, 0, 7, 1, 120, 253, 225, 0, 0, 255, 255, 255, 152, 0, 0, 4, 184, 6, 131, 4, 38, 0, 6, 80, 0, 0, 7, 1, 120, 253, 83, 0, 2, 255, 255, 255, 172, 0, 0, 4, 162, 6, 127, 4, 38, 0, 9, 94, 0, 0, 7, 1, 120, 253, 103, 255, 254, 255, 255, 255, 172, 0, 0, 4, 38, 6, 131, 4, 38, 0, 10, 27, 0, 0, 7, 1, 120, 253, 103, 0, 2, 255, 255, 255, 144, 255, 236, 4, 133, 6, 129, 4, 38, 0, 16, 10, 0, 0, 7, 1, 120, 253, 75, 0, 0, 255, 255, 255, 122, 0, 1, 5, 48, 6, 130, 4, 38, 0, 26, 104, 1, 0, 7, 1, 120, 253, 53, 0, 1, 255, 255, 255, 171, 0, 0, 4, 140, 6, 129, 4, 38, 1, 132, 10, 0, 0, 7, 1, 120, 253, 102, 0, 0, 255, 255, 0, 179, 255, 235, 4, 63, 6, 192, 6, 38, 1, 141, 0, 0, 0, 6, 1, 121, 212, 183, 255, 255, 0, 28, 0, 0, 4, 204, 5, 176, 6, 6, 0, 2, 0, 0, 255, 255, 0, 129, 0, 0, 4, 154, 5, 176, 6, 6, 0, 3, 0, 0, 255, 255, 0, 147, 0, 0, 4, 104, 5, 176, 6, 6, 0, 6, 0, 0, 255, 255, 0, 89, 0, 0, 4, 129, 5, 176, 6, 6, 0, 27, 0, 0, 255, 255, 0, 123, 0, 0, 4, 68, 5, 176, 6, 6, 0, 9, 0, 0, 255, 255, 0, 193, 0, 0, 4, 11, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 129, 0, 0, 4, 235, 5, 176, 6, 6, 0, 12, 0, 0, 255, 255, 0, 127, 0, 0, 4, 96, 5, 176, 6, 6, 0, 14, 0, 0, 255, 255, 0, 123, 0, 0, 4, 67, 5, 176, 6, 6, 0, 15, 0, 0, 255, 255, 0, 80, 255, 236, 4, 123, 5, 196, 6, 6, 0, 16, 0, 0, 255, 255, 0, 149, 0, 0, 4, 142, 5, 176, 6, 6, 0, 17, 0, 0, 255, 255, 0, 27, 0, 0, 4, 177, 5, 176, 6, 6, 0, 21, 0, 0, 255, 255, 0, 33, 0, 0, 4, 200, 5, 176, 6, 6, 0, 26, 0, 0, 255, 255, 0, 30, 0, 0, 4, 199, 5, 176, 6, 6, 0, 25, 0, 0, 255, 255, 0, 193, 0, 0, 4, 11, 7, 47, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 255, 210, 1, 93, 255, 255, 0, 33, 0, 0, 4, 200, 7, 47, 6, 38, 0, 26, 0, 0, 0, 7, 1, 97, 255, 237, 1, 93, 255, 255, 0, 106, 255, 235, 4, 143, 6, 140, 6, 38, 1, 133, 0, 0, 0, 6, 1, 120, 210, 11, 255, 255, 0, 132, 255, 236, 4, 156, 6, 139, 6, 38, 1, 137, 0, 0, 0, 6, 1, 120, 243, 10, 255, 255, 0, 129, 254, 97, 4, 76, 6, 140, 6, 38, 1, 139, 0, 0, 0, 6, 1, 120, 226, 11, 255, 255, 0, 179, 255, 235, 4, 63, 6, 120, 6, 38, 1, 141, 0, 0, 0, 6, 1, 120, 214, 247, 255, 255, 0, 126, 255, 235, 4, 84, 6, 204, 6, 38, 1, 149, 0, 0, 0, 6, 1, 121, 189, 195, 255, 255, 0, 159, 0, 0, 4, 183, 4, 58, 6, 6, 0, 79, 0, 0, 255, 255, 0, 103, 255, 235, 4, 100, 4, 78, 6, 6, 0, 42, 0, 0, 255, 255, 0, 172, 254, 96, 4, 99, 4, 58, 6, 6, 1, 107, 0, 0, 255, 255, 0, 72, 0, 0, 4, 133, 4, 58, 6, 6, 0, 49, 0, 0, 255, 255, 0, 89, 0, 0, 4, 162, 4, 58, 6, 6, 0, 51, 0, 0, 255, 255, 0, 179, 255, 235, 4, 63, 5, 216, 6, 38, 1, 141, 0, 0, 0, 6, 1, 97, 234, 6, 255, 255, 0, 126, 255, 235, 4, 84, 5, 228, 6, 38, 1, 149, 0, 0, 0, 6, 1, 97, 211, 18, 255, 255, 0, 103, 255, 235, 4, 100, 6, 140, 6, 38, 0, 42, 0, 0, 0, 6, 1, 120, 210, 11, 255, 255, 0, 126, 255, 235, 4, 84, 6, 131, 6, 38, 1, 149, 0, 0, 0, 6, 1, 120, 191, 2, 255, 255, 0, 46, 255, 236, 4, 171, 6, 134, 6, 38, 1, 152, 0, 0, 0, 6, 1, 120, 211, 5, 255, 255, 0, 147, 0, 0, 4, 104, 7, 38, 6, 38, 0, 6, 0, 0, 0, 7, 1, 97, 255, 252, 1, 84, 255, 255, 0, 141, 0, 0, 4, 59, 7, 22, 6, 38, 1, 123, 0, 0, 0, 7, 1, 91, 0, 118, 1, 80, 0, 1, 0, 89, 255, 237, 4, 140, 5, 196, 0, 79, 0, 0, 65, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 33, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 33, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 119, 32, 30, 30, 87, 56, 63, 105, 37, 38, 42, 2, 254, 236, 85, 71, 82, 214, 111, 111, 188, 68, 68, 77, 67, 60, 61, 168, 100, 70, 111, 39, 19, 29, 10, 11, 11, 31, 30, 30, 87, 56, 61, 91, 31, 30, 31, 2, 1, 18, 76, 68, 68, 189, 114, 110, 188, 69, 69, 78, 19, 17, 19, 55, 35, 66, 173, 95, 78, 105, 33, 32, 27, 1, 124, 39, 65, 23, 23, 26, 28, 30, 30, 94, 66, 111, 170, 57, 66, 67, 53, 52, 51, 149, 96, 90, 147, 58, 57, 84, 29, 19, 44, 27, 13, 28, 16, 17, 38, 21, 39, 67, 25, 24, 27, 33, 29, 30, 82, 49, 98, 164, 60, 59, 66, 57, 53, 53, 150, 92, 45, 81, 35, 39, 67, 29, 55, 78, 26, 21, 49, 29, 30, 68, 0, 255, 255, 0, 193, 0, 0, 4, 11, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 193, 0, 0, 4, 11, 7, 47, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 255, 210, 1, 93, 255, 255, 0, 111, 255, 236, 4, 76, 5, 176, 6, 6, 0, 11, 0, 0, 255, 255, 0, 151, 0, 0, 4, 200, 5, 176, 6, 6, 2, 113, 0, 0, 255, 255, 0, 129, 0, 0, 4, 235, 7, 19, 6, 38, 0, 12, 0, 0, 0, 7, 1, 91, 0, 95, 1, 77, 255, 255, 0, 2, 255, 235, 4, 213, 7, 56, 6, 38, 1, 168, 0, 0, 0, 7, 1, 95, 0, 32, 1, 150, 255, 255, 0, 28, 0, 0, 4, 204, 5, 176, 6, 6, 0, 2, 0, 0, 255, 255, 0, 129, 0, 0, 4, 154, 5, 176, 6, 6, 0, 3, 0, 0, 255, 255, 0, 141, 0, 0, 4, 59, 5, 176, 6, 6, 1, 123, 0, 0, 255, 255, 0, 147, 0, 0, 4, 104, 5, 176, 6, 6, 0, 6, 0, 0, 255, 255, 0, 111, 0, 0, 4, 63, 7, 43, 6, 38, 1, 166, 0, 0, 0, 7, 1, 95, 255, 214, 1, 137, 255, 255, 0, 127, 0, 0, 4, 96, 5, 176, 6, 6, 0, 14, 0, 0, 255, 255, 0, 123, 0, 0, 4, 68, 5, 176, 6, 6, 0, 9, 0, 0, 255, 255, 0, 80, 255, 236, 4, 123, 5, 196, 6, 6, 0, 16, 0, 0, 255, 255, 0, 121, 0, 0, 4, 71, 5, 176, 6, 6, 1, 128, 0, 0, 255, 255, 0, 149, 0, 0, 4, 142, 5, 176, 6, 6, 0, 17, 0, 0, 255, 255, 0, 79, 255, 235, 4, 119, 5, 197, 6, 6, 0, 4, 0, 0, 255, 255, 0, 27, 0, 0, 4, 177, 5, 176, 6, 6, 0, 21, 0, 0, 255, 255, 0, 65, 0, 0, 4, 238, 5, 176, 6, 6, 1, 130, 0, 0, 255, 255, 0, 30, 0, 0, 4, 199, 5, 176, 6, 6, 0, 25, 0, 0, 255, 255, 0, 115, 255, 236, 4, 75, 4, 78, 6, 6, 0, 28, 0, 0, 255, 255, 0, 112, 255, 236, 4, 104, 4, 78, 6, 6, 0, 32, 0, 0, 255, 255, 0, 121, 0, 0, 4, 60, 5, 246, 6, 38, 1, 185, 0, 0, 0, 6, 1, 95, 216, 84, 255, 255, 0, 103, 255, 235, 4, 100, 4, 78, 6, 6, 0, 42, 0, 0, 255, 255, 0, 145, 254, 96, 4, 89, 4, 78, 6, 6, 0, 43, 0, 0, 0, 1, 0, 117, 255, 235, 4, 60, 4, 78, 0, 51, 0, 0, 101, 34, 38, 39, 38, 38, 53, 53, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 33, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 21, 21, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 39, 33, 22, 6, 7, 6, 6, 2, 108, 67, 87, 25, 26, 20, 21, 26, 25, 86, 66, 45, 76, 27, 27, 28, 2, 1, 6, 2, 68, 61, 62, 170, 100, 125, 189, 64, 64, 64, 65, 64, 63, 190, 126, 93, 167, 63, 63, 73, 2, 254, 250, 2, 31, 28, 28, 74, 202, 54, 45, 44, 117, 63, 30, 62, 116, 45, 45, 54, 31, 26, 26, 72, 40, 96, 155, 55, 54, 60, 86, 74, 74, 199, 114, 30, 114, 199, 74, 74, 85, 59, 52, 52, 144, 84, 38, 62, 22, 22, 24, 255, 255, 0, 52, 254, 75, 4, 205, 4, 58, 6, 6, 0, 52, 0, 0, 255, 255, 0, 89, 0, 0, 4, 162, 4, 58, 6, 6, 0, 51, 0, 0, 255, 255, 0, 112, 255, 236, 4, 104, 5, 238, 6, 38, 0, 32, 0, 0, 0, 6, 1, 97, 211, 28, 255, 255, 0, 143, 0, 0, 4, 50, 5, 212, 6, 38, 1, 181, 0, 0, 0, 6, 1, 91, 117, 14, 255, 255, 0, 122, 255, 235, 4, 85, 4, 78, 6, 6, 0, 46, 0, 0, 255, 255, 0, 215, 0, 0, 4, 73, 5, 227, 6, 6, 0, 36, 0, 0, 255, 255, 0, 199, 0, 0, 4, 90, 5, 211, 6, 38, 1, 109, 0, 0, 0, 6, 1, 97, 20, 1, 255, 255, 0, 223, 254, 75, 3, 113, 5, 227, 6, 6, 0, 37, 0, 0, 255, 255, 0, 133, 0, 0, 4, 204, 5, 212, 6, 38, 1, 186, 0, 0, 0, 6, 1, 91, 75, 14, 255, 255, 0, 52, 254, 75, 4, 205, 5, 234, 6, 38, 0, 52, 0, 0, 0, 6, 1, 95, 13, 72, 255, 255, 0, 59, 255, 241, 4, 159, 5, 176, 4, 39, 0, 91, 254, 119, 0, 0, 0, 7, 0, 91, 1, 151, 0, 0, 255, 255, 0, 226, 254, 75, 4, 93, 5, 224, 6, 38, 1, 113, 0, 0, 0, 6, 1, 100, 101, 243, 255, 255, 1, 210, 3, 228, 3, 8, 6, 24, 6, 6, 0, 109, 0, 0, 255, 255, 0, 127, 0, 0, 4, 96, 7, 31, 6, 38, 0, 14, 0, 0, 0, 7, 1, 91, 0, 114, 1, 89, 255, 255, 0, 75, 0, 0, 4, 120, 5, 221, 6, 38, 0, 40, 0, 0, 0, 7, 1, 91, 0, 151, 0, 23, 255, 255, 0, 28, 254, 147, 4, 204, 5, 176, 6, 38, 0, 2, 0, 0, 0, 6, 1, 114, 1, 5, 255, 255, 0, 115, 254, 155, 4, 75, 4, 78, 6, 38, 0, 28, 0, 0, 0, 6, 1, 114, 189, 13, 255, 255, 255, 76, 255, 236, 4, 123, 6, 84, 6, 38, 0, 16, 0, 0, 0, 7, 2, 108, 253, 88, 0, 144, 255, 255, 0, 147, 0, 0, 4, 104, 7, 25, 6, 38, 0, 6, 0, 0, 0, 7, 1, 90, 255, 117, 1, 83, 255, 255, 0, 111, 0, 0, 4, 63, 7, 12, 6, 38, 1, 166, 0, 0, 0, 7, 1, 90, 255, 65, 1, 70, 255, 255, 0, 112, 255, 236, 4, 104, 5, 225, 6, 38, 0, 32, 0, 0, 0, 7, 1, 90, 255, 76, 0, 27, 255, 255, 0, 121, 0, 0, 4, 60, 5, 215, 6, 38, 1, 185, 0, 0, 0, 7, 1, 90, 255, 67, 0, 17, 255, 255, 0, 69, 0, 0, 4, 219, 5, 176, 6, 6, 1, 131, 0, 0, 255, 255, 0, 69, 254, 34, 4, 220, 4, 58, 6, 6, 1, 151, 0, 0, 255, 255, 0, 12, 0, 0, 5, 3, 7, 112, 6, 38, 1, 226, 0, 0, 0, 7, 1, 119, 4, 88, 1, 130, 255, 255, 0, 44, 0, 0, 4, 117, 6, 63, 6, 38, 1, 227, 0, 0, 0, 7, 1, 119, 4, 53, 0, 81, 255, 255, 0, 78, 254, 3, 4, 148, 5, 196, 6, 38, 1, 165, 0, 0, 0, 7, 2, 110, 255, 221, 255, 103, 255, 255, 0, 114, 254, 13, 4, 94, 4, 77, 6, 38, 1, 184, 0, 0, 0, 7, 2, 110, 255, 221, 255, 113, 255, 255, 0, 79, 254, 18, 4, 119, 5, 197, 6, 38, 0, 4, 0, 0, 0, 7, 2, 110, 255, 226, 255, 118, 255, 255, 0, 117, 254, 18, 4, 60, 4, 78, 6, 38, 0, 30, 0, 0, 0, 7, 2, 110, 255, 226, 255, 118, 255, 255, 0, 33, 0, 0, 4, 200, 5, 176, 6, 6, 0, 26, 0, 0, 255, 255, 0, 40, 254, 95, 4, 182, 4, 58, 6, 6, 1, 135, 0, 0, 255, 255, 0, 193, 0, 0, 4, 11, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 255, 248, 0, 0, 4, 195, 7, 56, 6, 38, 1, 164, 0, 0, 0, 7, 1, 95, 255, 245, 1, 150, 255, 255, 0, 34, 0, 0, 4, 164, 5, 246, 6, 38, 1, 183, 0, 0, 0, 6, 1, 95, 237, 84, 255, 255, 0, 193, 0, 0, 4, 11, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 28, 0, 0, 4, 204, 7, 65, 6, 38, 0, 2, 0, 0, 0, 7, 1, 95, 0, 0, 1, 159, 255, 255, 0, 115, 255, 236, 4, 75, 5, 255, 6, 38, 0, 28, 0, 0, 0, 6, 1, 95, 220, 93, 255, 255, 0, 28, 0, 0, 4, 204, 7, 47, 6, 38, 0, 2, 0, 0, 0, 7, 1, 97, 255, 243, 1, 93, 255, 255, 0, 115, 255, 236, 4, 75, 5, 237, 6, 38, 0, 28, 0, 0, 0, 6, 1, 97, 206, 27, 255, 255, 0, 48, 0, 0, 4, 153, 5, 176, 6, 6, 0, 72, 0, 0, 255, 255, 0, 46, 255, 236, 4, 170, 4, 79, 6, 6, 0, 73, 0, 0, 255, 255, 0, 147, 0, 0, 4, 104, 7, 56, 6, 38, 0, 6, 0, 0, 0, 7, 1, 95, 0, 9, 1, 150, 255, 255, 0, 112, 255, 236, 4, 104, 6, 0, 6, 38, 0, 32, 0, 0, 0, 6, 1, 95, 225, 94, 255, 255, 0, 78, 255, 234, 4, 116, 6, 248, 6, 38, 2, 16, 0, 0, 0, 7, 1, 97, 255, 241, 1, 38, 255, 255, 0, 156, 255, 236, 4, 115, 4, 79, 6, 6, 0, 81, 0, 0, 255, 255, 0, 156, 255, 236, 4, 115, 5, 238, 6, 38, 0, 81, 0, 0, 0, 6, 1, 97, 253, 28, 255, 255, 255, 248, 0, 0, 4, 195, 7, 38, 6, 38, 1, 164, 0, 0, 0, 7, 1, 97, 255, 231, 1, 84, 255, 255, 0, 34, 0, 0, 4, 164, 5, 228, 6, 38, 1, 183, 0, 0, 0, 6, 1, 97, 223, 18, 255, 255, 0, 78, 255, 236, 4, 148, 7, 46, 6, 38, 1, 165, 0, 0, 0, 7, 1, 97, 255, 231, 1, 92, 255, 255, 0, 114, 255, 236, 4, 94, 5, 236, 6, 38, 1, 184, 0, 0, 0, 6, 1, 97, 227, 26, 255, 255, 0, 111, 0, 0, 4, 63, 6, 220, 6, 38, 1, 166, 0, 0, 0, 7, 1, 94, 255, 211, 1, 44, 255, 255, 0, 121, 0, 0, 4, 60, 5, 168, 6, 38, 1, 185, 0, 0, 0, 6, 1, 94, 213, 248, 255, 255, 0, 111, 0, 0, 4, 63, 7, 25, 6, 38, 1, 166, 0, 0, 0, 7, 1, 97, 255, 200, 1, 71, 255, 255, 0, 121, 0, 0, 4, 60, 5, 228, 6, 38, 1, 185, 0, 0, 0, 6, 1, 97, 202, 18, 255, 255, 0, 80, 255, 236, 4, 123, 7, 68, 6, 38, 0, 16, 0, 0, 0, 7, 1, 97, 255, 225, 1, 114, 255, 255, 0, 103, 255, 235, 4, 100, 5, 237, 6, 38, 0, 42, 0, 0, 0, 6, 1, 97, 230, 27, 255, 255, 0, 78, 255, 236, 4, 121, 5, 196, 6, 6, 1, 224, 0, 0, 255, 255, 0, 97, 255, 235, 4, 94, 4, 78, 6, 6, 1, 225, 0, 0, 255, 255, 0, 78, 255, 236, 4, 121, 7, 37, 6, 38, 1, 224, 0, 0, 0, 7, 1, 97, 255, 232, 1, 83, 255, 255, 0, 97, 255, 235, 4, 94, 5, 247, 6, 38, 1, 225, 0, 0, 0, 6, 1, 97, 210, 37, 255, 255, 0, 32, 255, 236, 4, 62, 7, 46, 6, 38, 1, 176, 0, 0, 0, 7, 1, 97, 255, 174, 1, 92, 255, 255, 0, 111, 255, 236, 4, 84, 5, 237, 6, 38, 1, 200, 0, 0, 0, 6, 1, 97, 212, 27, 255, 255, 0, 2, 255, 235, 4, 213, 6, 233, 6, 38, 1, 168, 0, 0, 0, 7, 1, 94, 0, 29, 1, 57, 255, 255, 0, 52, 254, 75, 4, 205, 5, 156, 6, 38, 0, 52, 0, 0, 0, 6, 1, 94, 10, 236, 255, 255, 0, 2, 255, 235, 4, 213, 7, 38, 6, 38, 1, 168, 0, 0, 0, 7, 1, 97, 0, 18, 1, 84, 255, 255, 0, 52, 254, 75, 4, 205, 5, 216, 6, 38, 0, 52, 0, 0, 0, 6, 1, 97, 0, 6, 255, 255, 0, 2, 255, 235, 4, 213, 7, 66, 6, 38, 1, 168, 0, 0, 0, 7, 1, 99, 0, 174, 1, 84, 255, 255, 0, 52, 254, 75, 4, 205, 5, 244, 6, 38, 0, 52, 0, 0, 0, 7, 1, 99, 0, 155, 0, 6, 255, 255, 0, 157, 0, 0, 4, 95, 7, 38, 6, 38, 1, 170, 0, 0, 0, 7, 1, 97, 255, 192, 1, 84, 255, 255, 0, 124, 0, 0, 4, 97, 5, 228, 6, 38, 1, 194, 0, 0, 0, 6, 1, 97, 27, 18, 255, 255, 0, 74, 0, 0, 4, 128, 7, 47, 6, 38, 1, 174, 0, 0, 0, 7, 1, 97, 255, 188, 1, 93, 255, 255, 0, 99, 0, 0, 4, 124, 5, 216, 6, 38, 1, 198, 0, 0, 0, 6, 1, 97, 24, 6, 255, 255, 0, 30, 254, 75, 5, 80, 5, 176, 6, 38, 0, 25, 0, 0, 0, 7, 2, 111, 2, 14, 0, 0, 255, 255, 0, 89, 254, 75, 4, 255, 4, 58, 6, 38, 0, 51, 0, 0, 0, 7, 2, 111, 1, 189, 0, 0, 255, 255, 0, 112, 255, 236, 4, 56, 6, 0, 6, 6, 0, 31, 0, 0, 255, 255, 0, 39, 254, 75, 5, 99, 5, 176, 6, 38, 1, 167, 0, 0, 0, 7, 2, 111, 2, 33, 0, 0, 255, 255, 0, 34, 254, 75, 5, 81, 4, 58, 6, 38, 1, 187, 0, 0, 0, 7, 2, 111, 2, 15, 0, 0, 255, 255, 0, 28, 254, 153, 4, 204, 5, 176, 6, 38, 0, 2, 0, 0, 0, 7, 1, 101, 4, 196, 0, 5, 255, 255, 0, 115, 254, 161, 4, 75, 4, 78, 6, 38, 0, 28, 0, 0, 0, 7, 1, 101, 4, 127, 0, 13, 255, 255, 0, 28, 0, 0, 4, 204, 7, 199, 6, 38, 0, 2, 0, 0, 0, 7, 1, 118, 4, 216, 1, 66, 255, 255, 0, 115, 255, 236, 4, 75, 6, 133, 6, 38, 0, 28, 0, 0, 0, 7, 1, 118, 4, 179, 0, 0, 255, 255, 0, 28, 0, 0, 5, 28, 7, 227, 6, 38, 0, 2, 0, 0, 0, 7, 2, 76, 255, 241, 1, 94, 255, 255, 0, 115, 255, 236, 4, 247, 6, 161, 6, 38, 0, 28, 0, 0, 0, 6, 2, 76, 204, 28, 255, 255, 255, 210, 0, 0, 4, 204, 7, 210, 6, 38, 0, 2, 0, 0, 0, 7, 2, 75, 255, 220, 1, 65, 255, 255, 255, 173, 255, 236, 4, 75, 6, 145, 6, 38, 0, 28, 0, 0, 0, 6, 2, 75, 183, 0, 255, 255, 0, 28, 0, 0, 4, 204, 7, 240, 6, 38, 0, 2, 0, 0, 0, 7, 2, 74, 255, 242, 1, 61, 255, 255, 0, 115, 255, 236, 4, 139, 6, 175, 6, 38, 0, 28, 0, 0, 0, 6, 2, 74, 205, 252, 255, 255, 0, 28, 0, 0, 4, 204, 8, 44, 6, 38, 0, 2, 0, 0, 0, 7, 2, 73, 255, 232, 1, 59, 255, 255, 0, 115, 255, 236, 4, 75, 6, 235, 6, 38, 0, 28, 0, 0, 0, 6, 2, 73, 195, 250, 255, 255, 0, 28, 254, 153, 4, 204, 7, 73, 6, 38, 0, 2, 0, 0, 0, 39, 1, 92, 0, 134, 1, 93, 0, 7, 1, 101, 4, 196, 0, 5, 255, 255, 0, 115, 254, 161, 4, 75, 6, 7, 6, 38, 0, 28, 0, 0, 0, 38, 1, 92, 97, 27, 0, 7, 1, 101, 4, 127, 0, 13, 255, 255, 0, 28, 0, 0, 4, 204, 7, 189, 6, 38, 0, 2, 0, 0, 0, 7, 2, 105, 255, 245, 1, 76, 255, 255, 0, 115, 255, 236, 4, 75, 6, 123, 6, 38, 0, 28, 0, 0, 0, 6, 2, 105, 208, 10, 255, 255, 0, 28, 0, 0, 4, 204, 8, 28, 6, 38, 0, 2, 0, 0, 0, 7, 2, 77, 255, 252, 1, 171, 255, 255, 0, 115, 255, 236, 4, 75, 6, 218, 6, 38, 0, 28, 0, 0, 0, 6, 2, 77, 215, 105, 255, 255, 0, 28, 0, 0, 4, 204, 8, 51, 6, 38, 0, 2, 0, 0, 0, 7, 2, 104, 255, 224, 1, 61, 255, 255, 0, 115, 255, 236, 4, 75, 6, 242, 6, 38, 0, 28, 0, 0, 0, 6, 2, 104, 187, 252, 255, 255, 0, 28, 0, 0, 4, 204, 8, 35, 6, 38, 0, 2, 0, 0, 0, 7, 2, 109, 255, 198, 1, 65, 255, 255, 0, 115, 255, 236, 4, 75, 6, 226, 6, 38, 0, 28, 0, 0, 0, 6, 2, 109, 161, 0, 255, 255, 0, 28, 254, 153, 4, 204, 7, 65, 6, 38, 0, 2, 0, 0, 0, 39, 1, 95, 0, 0, 1, 159, 0, 7, 1, 101, 4, 196, 0, 5, 255, 255, 0, 115, 254, 161, 4, 75, 5, 255, 6, 38, 0, 28, 0, 0, 0, 38, 1, 95, 220, 93, 0, 7, 1, 101, 4, 127, 0, 13, 255, 255, 0, 147, 254, 158, 4, 104, 5, 176, 6, 38, 0, 6, 0, 0, 0, 7, 1, 101, 4, 220, 0, 10, 255, 255, 0, 112, 254, 148, 4, 104, 4, 78, 6, 38, 0, 32, 0, 0, 0, 7, 1, 101, 4, 211, 0, 0, 255, 255, 0, 147, 0, 0, 4, 104, 7, 190, 6, 38, 0, 6, 0, 0, 0, 7, 1, 118, 4, 225, 1, 57, 255, 255, 0, 112, 255, 236, 4, 104, 6, 134, 6, 38, 0, 32, 0, 0, 0, 7, 1, 118, 4, 184, 0, 1, 255, 255, 0, 147, 0, 0, 4, 104, 7, 91, 6, 38, 0, 6, 0, 0, 0, 7, 1, 93, 0, 150, 1, 85, 255, 255, 0, 112, 255, 236, 4, 104, 6, 35, 6, 38, 0, 32, 0, 0, 0, 6, 1, 93, 109, 29, 255, 255, 0, 147, 0, 0, 5, 37, 7, 218, 6, 38, 0, 6, 0, 0, 0, 7, 2, 76, 255, 250, 1, 85, 255, 255, 0, 112, 255, 236, 4, 252, 6, 162, 6, 38, 0, 32, 0, 0, 0, 6, 2, 76, 209, 29, 255, 255, 255, 219, 0, 0, 4, 104, 7, 201, 6, 38, 0, 6, 0, 0, 0, 7, 2, 75, 255, 229, 1, 56, 255, 255, 255, 178, 255, 236, 4, 104, 6, 145, 6, 38, 0, 32, 0, 0, 0, 6, 2, 75, 188, 0, 255, 255, 0, 147, 0, 0, 4, 185, 7, 231, 6, 38, 0, 6, 0, 0, 0, 7, 2, 74, 255, 251, 1, 52, 255, 255, 0, 112, 255, 236, 4, 144, 6, 176, 6, 38, 0, 32, 0, 0, 0, 6, 2, 74, 210, 253, 255, 255, 0, 147, 0, 0, 4, 104, 8, 35, 6, 38, 0, 6, 0, 0, 0, 7, 2, 73, 255, 241, 1, 50, 255, 255, 0, 112, 255, 236, 4, 104, 6, 236, 6, 38, 0, 32, 0, 0, 0, 6, 2, 73, 200, 251, 255, 255, 0, 147, 254, 158, 4, 104, 7, 64, 6, 38, 0, 6, 0, 0, 0, 39, 1, 92, 0, 143, 1, 84, 0, 7, 1, 101, 4, 220, 0, 10, 255, 255, 0, 112, 254, 148, 4, 104, 6, 8, 6, 38, 0, 32, 0, 0, 0, 38, 1, 92, 102, 28, 0, 7, 1, 101, 4, 211, 0, 0, 255, 255, 0, 193, 0, 0, 4, 11, 7, 199, 6, 38, 0, 10, 0, 0, 0, 7, 1, 118, 4, 183, 1, 66, 255, 255, 0, 199, 0, 0, 4, 90, 6, 108, 6, 38, 1, 109, 0, 0, 0, 7, 1, 118, 4, 250, 255, 231, 255, 255, 0, 193, 254, 158, 4, 11, 5, 176, 6, 38, 0, 10, 0, 0, 0, 7, 1, 101, 4, 175, 0, 10, 255, 255, 0, 215, 254, 158, 4, 73, 5, 227, 6, 38, 0, 36, 0, 0, 0, 7, 1, 101, 4, 239, 0, 10, 255, 255, 0, 80, 254, 139, 4, 123, 5, 196, 6, 38, 0, 16, 0, 0, 0, 7, 1, 101, 4, 194, 255, 247, 255, 255, 0, 103, 254, 134, 4, 100, 4, 78, 6, 38, 0, 42, 0, 0, 0, 7, 1, 101, 4, 189, 255, 242, 255, 255, 0, 80, 255, 236, 4, 123, 7, 220, 6, 38, 0, 16, 0, 0, 0, 7, 1, 118, 4, 198, 1, 87, 255, 255, 0, 103, 255, 235, 4, 100, 6, 133, 6, 38, 0, 42, 0, 0, 0, 7, 1, 118, 4, 203, 0, 0, 255, 255, 0, 80, 255, 236, 5, 10, 7, 248, 6, 38, 0, 16, 0, 0, 0, 7, 2, 76, 255, 223, 1, 115, 255, 255, 0, 103, 255, 235, 5, 15, 6, 161, 6, 38, 0, 42, 0, 0, 0, 6, 2, 76, 228, 28, 255, 255, 255, 192, 255, 236, 4, 123, 7, 231, 6, 38, 0, 16, 0, 0, 0, 7, 2, 75, 255, 202, 1, 86, 255, 255, 255, 197, 255, 235, 4, 100, 6, 145, 6, 38, 0, 42, 0, 0, 0, 6, 2, 75, 207, 0, 255, 255, 0, 80, 255, 236, 4, 158, 8, 5, 6, 38, 0, 16, 0, 0, 0, 7, 2, 74, 255, 224, 1, 82, 255, 255, 0, 103, 255, 235, 4, 163, 6, 175, 6, 38, 0, 42, 0, 0, 0, 6, 2, 74, 229, 252, 255, 255, 0, 80, 255, 236, 4, 123, 8, 65, 6, 38, 0, 16, 0, 0, 0, 7, 2, 73, 255, 214, 1, 80, 255, 255, 0, 103, 255, 235, 4, 100, 6, 235, 6, 38, 0, 42, 0, 0, 0, 6, 2, 73, 219, 250, 255, 255, 0, 80, 254, 139, 4, 123, 7, 94, 6, 38, 0, 16, 0, 0, 0, 39, 1, 92, 0, 116, 1, 114, 0, 7, 1, 101, 4, 194, 255, 247, 255, 255, 0, 103, 254, 134, 4, 100, 6, 7, 6, 38, 0, 42, 0, 0, 0, 38, 1, 92, 121, 27, 0, 7, 1, 101, 4, 189, 255, 242, 255, 255, 0, 93, 255, 236, 4, 224, 7, 39, 6, 38, 0, 216, 0, 0, 0, 7, 1, 91, 0, 127, 1, 97, 255, 255, 0, 95, 255, 235, 4, 166, 5, 221, 6, 38, 1, 53, 0, 0, 0, 6, 1, 91, 111, 23, 255, 255, 0, 93, 255, 236, 4, 224, 7, 42, 6, 38, 0, 216, 0, 0, 0, 7, 1, 90, 255, 101, 1, 100, 255, 255, 0, 95, 255, 235, 4, 166, 5, 224, 6, 38, 1, 53, 0, 0, 0, 7, 1, 90, 255, 85, 0, 26, 255, 255, 0, 93, 255, 236, 4, 224, 7, 207, 6, 38, 0, 216, 0, 0, 0, 7, 1, 118, 4, 209, 1, 74, 255, 255, 0, 95, 255, 235, 4, 166, 6, 133, 6, 38, 1, 53, 0, 0, 0, 7, 1, 118, 4, 193, 0, 0, 255, 255, 0, 93, 255, 236, 4, 224, 7, 108, 6, 38, 0, 216, 0, 0, 0, 7, 1, 93, 0, 134, 1, 102, 255, 255, 0, 95, 255, 235, 4, 166, 6, 34, 6, 38, 1, 53, 0, 0, 0, 6, 1, 93, 118, 28, 255, 255, 0, 93, 254, 148, 4, 224, 5, 223, 6, 38, 0, 216, 0, 0, 0, 7, 1, 101, 4, 180, 0, 0, 255, 255, 0, 95, 254, 139, 4, 166, 4, 155, 6, 38, 1, 53, 0, 0, 0, 7, 1, 101, 4, 185, 255, 247, 255, 255, 0, 126, 254, 141, 4, 78, 5, 176, 6, 38, 0, 22, 0, 0, 0, 7, 1, 101, 4, 187, 255, 249, 255, 255, 0, 150, 254, 148, 4, 75, 4, 58, 6, 38, 0, 48, 0, 0, 0, 7, 1, 101, 4, 93, 0, 0, 255, 255, 0, 126, 255, 236, 4, 78, 7, 196, 6, 38, 0, 22, 0, 0, 0, 7, 1, 118, 4, 206, 1, 63, 255, 255, 0, 150, 255, 235, 4, 75, 6, 113, 6, 38, 0, 48, 0, 0, 0, 7, 1, 118, 4, 205, 255, 236, 255, 255, 0, 133, 255, 236, 5, 183, 7, 31, 6, 38, 0, 236, 0, 0, 0, 7, 1, 91, 0, 133, 1, 89, 255, 255, 0, 118, 255, 235, 5, 95, 5, 200, 6, 38, 1, 73, 0, 0, 0, 6, 1, 91, 115, 2, 255, 255, 0, 133, 255, 236, 5, 183, 7, 34, 6, 38, 0, 236, 0, 0, 0, 7, 1, 90, 255, 107, 1, 92, 255, 255, 0, 118, 255, 235, 5, 95, 5, 203, 6, 38, 1, 73, 0, 0, 0, 7, 1, 90, 255, 89, 0, 5, 255, 255, 0, 133, 255, 236, 5, 183, 7, 199, 6, 38, 0, 236, 0, 0, 0, 7, 1, 118, 4, 215, 1, 66, 255, 255, 0, 118, 255, 235, 5, 95, 6, 113, 6, 38, 1, 73, 0, 0, 0, 7, 1, 118, 4, 197, 255, 236, 255, 255, 0, 133, 255, 236, 5, 183, 7, 100, 6, 38, 0, 236, 0, 0, 0, 7, 1, 93, 0, 140, 1, 94, 255, 255, 0, 118, 255, 235, 5, 95, 6, 13, 6, 38, 1, 73, 0, 0, 0, 6, 1, 93, 122, 7, 255, 255, 0, 133, 254, 139, 5, 183, 5, 229, 6, 38, 0, 236, 0, 0, 0, 7, 1, 101, 4, 207, 255, 247, 255, 255, 0, 118, 254, 148, 5, 95, 4, 154, 6, 38, 1, 73, 0, 0, 0, 7, 1, 101, 4, 90, 0, 0, 255, 255, 0, 33, 254, 187, 4, 200, 5, 176, 6, 38, 0, 26, 0, 0, 0, 7, 1, 101, 4, 202, 0, 39, 255, 255, 0, 52, 254, 34, 4, 205, 4, 58, 6, 38, 0, 52, 0, 0, 0, 7, 1, 101, 5, 229, 255, 142, 255, 255, 0, 33, 0, 0, 4, 200, 7, 199, 6, 38, 0, 26, 0, 0, 0, 7, 1, 118, 4, 210, 1, 66, 255, 255, 0, 52, 254, 75, 4, 205, 6, 113, 6, 38, 0, 52, 0, 0, 0, 7, 1, 118, 4, 229, 255, 236, 255, 255, 0, 33, 0, 0, 4, 200, 7, 100, 6, 38, 0, 26, 0, 0, 0, 7, 1, 93, 0, 135, 1, 94, 255, 255, 0, 52, 254, 75, 4, 205, 6, 13, 6, 38, 0, 52, 0, 0, 0, 7, 1, 93, 0, 154, 0, 7, 255, 255, 0, 97, 254, 190, 4, 210, 6, 0, 4, 38, 0, 31, 241, 0, 0, 39, 2, 106, 0, 241, 2, 60, 0, 6, 0, 102, 35, 151, 255, 255, 0, 151, 254, 157, 5, 16, 5, 176, 6, 38, 2, 113, 0, 0, 0, 7, 2, 110, 2, 0, 0, 1, 255, 255, 0, 133, 254, 156, 5, 70, 4, 58, 6, 38, 1, 186, 0, 0, 0, 7, 2, 110, 2, 54, 0, 0, 255, 255, 0, 123, 254, 156, 4, 247, 5, 176, 6, 38, 0, 9, 0, 0, 0, 7, 2, 110, 1, 231, 0, 0, 255, 255, 0, 121, 254, 156, 4, 247, 4, 58, 6, 38, 1, 189, 0, 0, 0, 7, 2, 110, 1, 231, 0, 0, 255, 255, 0, 27, 254, 156, 4, 177, 5, 176, 6, 38, 0, 21, 0, 0, 0, 7, 2, 110, 0, 134, 0, 0, 255, 255, 0, 93, 254, 156, 4, 178, 4, 58, 6, 38, 1, 191, 0, 0, 0, 7, 2, 110, 0, 189, 0, 0, 255, 255, 0, 30, 254, 156, 4, 246, 5, 176, 6, 38, 0, 25, 0, 0, 0, 7, 2, 110, 1, 230, 0, 0, 255, 255, 0, 89, 254, 156, 4, 165, 4, 58, 6, 38, 0, 51, 0, 0, 0, 7, 2, 110, 1, 149, 0, 0, 255, 255, 0, 157, 254, 156, 5, 25, 5, 176, 6, 38, 1, 170, 0, 0, 0, 7, 2, 110, 2, 9, 0, 0, 255, 255, 0, 124, 254, 156, 5, 29, 4, 58, 6, 38, 1, 194, 0, 0, 0, 7, 2, 110, 2, 13, 0, 0, 255, 255, 0, 157, 254, 156, 4, 95, 5, 176, 6, 38, 1, 170, 0, 0, 0, 7, 2, 110, 0, 140, 0, 0, 255, 255, 0, 124, 254, 156, 4, 97, 4, 58, 6, 38, 1, 194, 0, 0, 0, 7, 2, 110, 0, 143, 0, 0, 255, 255, 0, 141, 254, 156, 4, 59, 5, 176, 6, 38, 1, 123, 0, 0, 0, 7, 2, 110, 255, 81, 0, 0, 255, 255, 0, 143, 254, 156, 4, 50, 4, 58, 6, 38, 1, 181, 0, 0, 0, 7, 2, 110, 255, 27, 0, 0, 255, 255, 255, 248, 254, 156, 5, 62, 5, 176, 6, 38, 1, 164, 0, 0, 0, 7, 2, 110, 2, 46, 0, 0, 255, 255, 0, 34, 254, 156, 5, 54, 4, 58, 6, 38, 1, 183, 0, 0, 0, 7, 2, 110, 2, 38, 0, 0, 255, 255, 255, 213, 254, 16, 4, 140, 5, 195, 6, 38, 2, 10, 0, 0, 0, 7, 2, 110, 0, 96, 255, 116, 255, 255, 0, 21, 254, 19, 4, 145, 4, 78, 6, 38, 2, 11, 0, 0, 0, 7, 2, 110, 0, 104, 255, 119, 255, 255, 0, 141, 0, 0, 4, 86, 6, 0, 6, 6, 0, 35, 0, 0, 0, 2, 0, 21, 0, 0, 4, 125, 4, 58, 0, 24, 0, 39, 0, 0, 65, 53, 33, 53, 33, 21, 35, 21, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 33, 53, 17, 33, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 33, 2, 201, 254, 215, 254, 234, 117, 117, 2, 39, 109, 172, 59, 58, 62, 62, 58, 59, 172, 109, 254, 239, 1, 17, 49, 69, 22, 22, 20, 20, 22, 22, 69, 49, 254, 239, 3, 35, 180, 99, 99, 180, 252, 221, 54, 48, 47, 131, 77, 80, 133, 48, 47, 53, 85, 254, 204, 22, 19, 19, 51, 28, 27, 48, 18, 19, 22, 0, 0, 2, 255, 211, 0, 0, 4, 93, 5, 176, 0, 24, 0, 39, 0, 0, 65, 53, 35, 53, 33, 21, 35, 21, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 53, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 2, 135, 234, 254, 230, 176, 176, 1, 190, 126, 201, 70, 69, 74, 74, 69, 70, 201, 126, 164, 164, 66, 97, 33, 32, 31, 31, 32, 33, 97, 66, 164, 4, 66, 180, 186, 186, 180, 251, 190, 68, 61, 61, 171, 104, 102, 168, 59, 59, 65, 172, 254, 114, 35, 30, 31, 82, 47, 49, 88, 33, 33, 38, 0, 0, 2, 255, 211, 0, 0, 4, 93, 5, 176, 0, 24, 0, 39, 0, 0, 65, 53, 35, 53, 33, 21, 35, 21, 51, 17, 33, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 35, 53, 17, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 35, 2, 135, 234, 254, 230, 176, 176, 1, 190, 126, 201, 70, 69, 74, 74, 69, 70, 201, 126, 164, 164, 66, 97, 33, 32, 31, 31, 32, 33, 97, 66, 164, 4, 66, 180, 186, 186, 180, 251, 190, 68, 61, 61, 171, 104, 102, 168, 59, 59, 65, 172, 254, 114, 35, 30, 31, 82, 47, 49, 88, 33, 33, 38, 0, 0, 1, 255, 231, 0, 0, 4, 59, 5, 176, 0, 13, 0, 0, 65, 53, 35, 17, 33, 53, 33, 17, 35, 21, 51, 17, 33, 17, 2, 155, 245, 2, 149, 252, 82, 166, 166, 1, 25, 2, 151, 180, 1, 129, 228, 253, 155, 180, 253, 105, 2, 151, 0, 1, 255, 211, 0, 0, 4, 50, 4, 58, 0, 13, 0, 0, 65, 53, 35, 53, 33, 53, 33, 17, 35, 21, 51, 17, 33, 17, 2, 135, 227, 2, 142, 252, 93, 188, 188, 1, 21, 1, 199, 180, 221, 226, 254, 65, 180, 254, 57, 1, 199, 0, 0, 1, 255, 227, 0, 0, 4, 210, 5, 176, 0, 20, 0, 0, 65, 1, 33, 1, 1, 33, 1, 35, 17, 51, 53, 35, 53, 33, 21, 35, 21, 51, 17, 33, 17, 2, 47, 1, 93, 1, 70, 254, 61, 1, 178, 254, 187, 254, 131, 69, 221, 221, 254, 231, 190, 190, 1, 25, 2, 86, 253, 170, 2, 243, 2, 189, 253, 127, 1, 66, 180, 139, 139, 180, 251, 143, 2, 86, 0, 1, 255, 211, 0, 0, 4, 182, 6, 0, 0, 20, 0, 0, 115, 33, 17, 55, 1, 33, 1, 1, 33, 1, 7, 17, 51, 53, 35, 53, 33, 21, 35, 21, 51, 154, 1, 22, 126, 1, 51, 1, 85, 254, 47, 1, 152, 254, 178, 254, 213, 84, 215, 215, 254, 234, 199, 199, 1, 74, 117, 254, 65, 2, 119, 1, 195, 254, 184, 96, 2, 38, 180, 148, 148, 180, 255, 255, 0, 111, 254, 91, 5, 32, 7, 43, 6, 38, 1, 166, 0, 0, 0, 39, 1, 95, 255, 214, 1, 137, 0, 7, 0, 95, 2, 89, 255, 241, 255, 255, 0, 121, 254, 91, 5, 30, 5, 246, 6, 38, 1, 185, 0, 0, 0, 38, 1, 95, 216, 84, 0, 7, 0, 95, 2, 87, 255, 241, 255, 255, 0, 123, 254, 91, 5, 29, 5, 176, 6, 38, 0, 9, 0, 0, 0, 7, 0, 95, 2, 86, 255, 241, 255, 255, 0, 121, 254, 91, 5, 29, 4, 58, 6, 38, 1, 189, 0, 0, 0, 7, 0, 95, 2, 86, 255, 241, 255, 255, 0, 127, 254, 91, 5, 73, 5, 176, 6, 38, 0, 14, 0, 0, 0, 7, 0, 95, 2, 130, 255, 241, 255, 255, 0, 113, 254, 91, 5, 57, 4, 58, 6, 38, 1, 188, 0, 0, 0, 7, 0, 95, 2, 114, 255, 241, 255, 255, 0, 39, 254, 91, 5, 47, 5, 176, 6, 38, 1, 167, 0, 0, 0, 7, 0, 95, 2, 104, 255, 241, 255, 255, 0, 34, 254, 91, 5, 29, 4, 58, 6, 38, 1, 187, 0, 0, 0, 7, 0, 95, 2, 86, 255, 241, 0, 1, 0, 33, 0, 0, 4, 200, 5, 176, 0, 17, 0, 0, 65, 53, 35, 1, 33, 1, 35, 1, 33, 1, 35, 21, 51, 23, 19, 33, 19, 55, 3, 198, 105, 1, 107, 254, 203, 254, 226, 2, 254, 226, 254, 204, 1, 105, 120, 206, 4, 1, 1, 24, 1, 9, 2, 11, 180, 2, 241, 253, 97, 2, 159, 253, 15, 180, 7, 253, 252, 1, 248, 19, 0, 1, 0, 40, 254, 95, 4, 182, 4, 58, 0, 17, 0, 0, 101, 53, 35, 1, 33, 1, 7, 35, 39, 1, 33, 1, 35, 21, 51, 17, 33, 17, 3, 208, 145, 1, 119, 254, 222, 254, 238, 14, 1, 15, 254, 231, 254, 221, 1, 118, 130, 199, 1, 22, 7, 180, 3, 127, 252, 251, 65, 65, 3, 5, 252, 129, 180, 254, 88, 1, 168, 0, 0, 1, 0, 30, 0, 0, 4, 199, 5, 176, 0, 17, 0, 0, 65, 53, 35, 1, 33, 1, 3, 33, 1, 35, 21, 51, 1, 33, 1, 1, 33, 1, 3, 210, 117, 1, 96, 254, 182, 254, 253, 255, 254, 184, 1, 95, 106, 119, 254, 137, 1, 76, 1, 10, 1, 11, 1, 72, 254, 136, 2, 144, 180, 2, 108, 253, 246, 2, 10, 253, 148, 180, 253, 112, 2, 18, 253, 238, 2, 144, 0, 1, 0, 89, 0, 0, 4, 162, 4, 58, 0, 17, 0, 0, 65, 53, 35, 1, 33, 3, 3, 33, 1, 35, 21, 51, 1, 33, 19, 19, 33, 1, 3, 206, 100, 1, 43, 254, 213, 238, 234, 254, 213, 1, 42, 119, 124, 254, 195, 1, 45, 247, 249, 1, 44, 254, 194, 1, 209, 180, 1, 181, 254, 174, 1, 82, 254, 75, 180, 254, 47, 1, 98, 254, 158, 1, 209, 0, 255, 255, 0, 132, 255, 236, 4, 156, 4, 77, 6, 6, 1, 137, 0, 0, 0, 1, 0, 57, 2, 89, 4, 151, 3, 60, 0, 3, 0, 0, 65, 53, 33, 21, 4, 151, 251, 162, 2, 89, 227, 227, 0, 1, 0, 0, 3, 231, 0, 177, 0, 22, 0, 135, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 29, 0, 119, 0, 216, 1, 28, 1, 53, 1, 75, 1, 178, 1, 203, 1, 227, 2, 19, 2, 51, 2, 67, 2, 100, 2, 125, 2, 240, 3, 36, 3, 157, 3, 217, 4, 72, 4, 91, 4, 143, 4, 166, 4, 203, 4, 236, 5, 6, 5, 29, 5, 137, 5, 242, 6, 65, 6, 134, 6, 210, 7, 6, 7, 125, 7, 178, 7, 225, 8, 35, 8, 67, 8, 88, 8, 176, 8, 227, 9, 49, 9, 136, 9, 223, 10, 7, 10, 117, 10, 174, 10, 221, 10, 244, 11, 24, 11, 56, 11, 107, 11, 130, 11, 222, 11, 240, 12, 52, 12, 164, 12, 197, 13, 16, 13, 115, 13, 134, 14, 21, 14, 120, 14, 138, 14, 205, 15, 60, 15, 167, 15, 245, 16, 77, 16, 128, 17, 15, 17, 51, 17, 240, 18, 61, 18, 235, 19, 88, 19, 142, 19, 230, 20, 5, 20, 124, 20, 212, 21, 74, 21, 161, 21, 239, 22, 29, 22, 100, 22, 112, 22, 200, 23, 35, 23, 127, 23, 158, 23, 189, 24, 27, 24, 122, 24, 144, 24, 166, 24, 178, 24, 190, 24, 206, 24, 229, 25, 16, 25, 29, 25, 42, 25, 55, 25, 68, 25, 83, 25, 107, 25, 133, 25, 159, 25, 184, 25, 197, 25, 210, 25, 255, 26, 7, 26, 15, 26, 81, 26, 147, 26, 166, 26, 184, 26, 249, 27, 75, 27, 95, 27, 114, 27, 139, 27, 152, 27, 183, 27, 216, 28, 6, 28, 26, 28, 61, 28, 142, 28, 165, 28, 188, 28, 217, 28, 247, 29, 8, 29, 24, 29, 40, 29, 56, 29, 215, 30, 191, 30, 205, 30, 225, 30, 250, 31, 29, 31, 173, 32, 26, 32, 65, 32, 139, 32, 175, 32, 230, 33, 126, 34, 48, 34, 255, 35, 29, 35, 51, 35, 129, 35, 141, 35, 153, 35, 165, 35, 177, 35, 189, 35, 201, 36, 12, 36, 24, 36, 36, 36, 48, 36, 60, 36, 72, 36, 84, 36, 95, 36, 107, 36, 119, 36, 178, 36, 190, 36, 202, 36, 214, 36, 226, 36, 238, 36, 250, 37, 6, 37, 18, 37, 70, 37, 134, 37, 193, 37, 205, 37, 217, 37, 229, 38, 14, 38, 26, 38, 38, 38, 50, 38, 62, 38, 74, 38, 86, 38, 98, 38, 110, 38, 173, 38, 185, 38, 197, 38, 209, 38, 221, 38, 233, 38, 245, 39, 1, 39, 29, 39, 41, 39, 53, 39, 65, 39, 77, 39, 89, 39, 101, 39, 113, 39, 125, 39, 137, 39, 239, 39, 251, 40, 7, 40, 119, 40, 131, 40, 143, 40, 155, 40, 167, 40, 179, 40, 191, 40, 203, 40, 214, 40, 226, 40, 255, 41, 11, 41, 23, 41, 35, 41, 47, 41, 59, 41, 71, 41, 142, 41, 154, 41, 166, 42, 3, 42, 15, 42, 27, 42, 39, 42, 51, 42, 63, 42, 75, 42, 87, 42, 99, 42, 111, 42, 123, 42, 135, 42, 147, 42, 159, 42, 170, 42, 181, 42, 192, 42, 203, 42, 215, 42, 226, 43, 116, 43, 128, 43, 139, 43, 150, 43, 162, 43, 174, 43, 185, 43, 196, 43, 208, 43, 220, 44, 59, 44, 70, 44, 81, 44, 92, 44, 103, 44, 114, 44, 125, 44, 137, 44, 148, 44, 225, 45, 85, 45, 96, 45, 107, 45, 119, 45, 181, 45, 193, 45, 205, 45, 216, 45, 228, 45, 239, 45, 250, 46, 5, 46, 82, 46, 94, 46, 106, 46, 118, 46, 130, 46, 142, 46, 154, 46, 166, 46, 200, 46, 211, 46, 222, 46, 234, 46, 245, 47, 0, 47, 11, 47, 22, 47, 33, 47, 45, 47, 141, 47, 153, 47, 164, 48, 10, 48, 21, 48, 33, 48, 44, 48, 55, 48, 67, 48, 78, 48, 89, 48, 100, 48, 111, 48, 175, 48, 187, 48, 198, 48, 209, 48, 220, 48, 231, 48, 243, 49, 50, 49, 62, 49, 73, 49, 158, 49, 170, 49, 182, 49, 193, 49, 204, 49, 215, 49, 227, 49, 239, 49, 251, 50, 6, 50, 18, 50, 30, 50, 41, 50, 52, 50, 68, 50, 83, 50, 104, 50, 164, 50, 177, 50, 220, 50, 243, 51, 26, 51, 100, 51, 123, 51, 143, 51, 165, 51, 211, 52, 2, 52, 23, 52, 23, 52, 36, 52, 88, 52, 101, 52, 122, 52, 170, 53, 8, 53, 45, 53, 95, 53, 151, 53, 166, 53, 181, 53, 190, 53, 236, 54, 4, 54, 19, 54, 66, 54, 74, 54, 91, 54, 118, 54, 204, 54, 226, 54, 252, 55, 15, 55, 43, 55, 134, 55, 194, 56, 27, 56, 142, 57, 4, 57, 34, 57, 158, 58, 22, 58, 112, 58, 165, 58, 250, 59, 39, 59, 114, 59, 248, 60, 40, 60, 123, 60, 221, 61, 48, 61, 96, 61, 156, 62, 2, 62, 68, 62, 194, 63, 52, 63, 130, 64, 8, 64, 70, 64, 155, 64, 247, 65, 52, 65, 101, 65, 127, 65, 181, 65, 242, 66, 29, 66, 149, 66, 174, 66, 227, 67, 22, 67, 48, 67, 92, 67, 117, 67, 148, 67, 201, 68, 6, 68, 58, 68, 142, 68, 232, 69, 35, 69, 154, 69, 242, 70, 3, 70, 54, 70, 97, 70, 217, 70, 242, 71, 17, 71, 64, 71, 92, 71, 117, 71, 136, 71, 155, 71, 251, 72, 21, 72, 69, 72, 94, 72, 125, 72, 179, 72, 240, 73, 38, 73, 120, 73, 208, 74, 8, 74, 95, 74, 178, 75, 8, 75, 72, 75, 134, 75, 160, 75, 247, 76, 77, 76, 139, 77, 7, 77, 118, 77, 156, 77, 193, 77, 239, 78, 28, 78, 102, 78, 179, 79, 5, 79, 88, 79, 237, 80, 139, 81, 2, 81, 85, 81, 130, 81, 178, 82, 45, 82, 165, 83, 39, 83, 132, 84, 89, 85, 26, 85, 133, 85, 230, 86, 41, 86, 111, 86, 155, 86, 175, 86, 232, 86, 249, 87, 10, 87, 234, 88, 62, 88, 124, 88, 221, 88, 241, 89, 5, 89, 59, 89, 114, 89, 152, 89, 189, 89, 222, 89, 255, 90, 28, 90, 57, 90, 134, 90, 191, 91, 88, 91, 248, 92, 22, 92, 52, 92, 113, 92, 168, 92, 212, 93, 77, 93, 171, 93, 235, 94, 39, 94, 89, 94, 139, 94, 252, 95, 68, 95, 140, 95, 155, 95, 171, 95, 223, 96, 48, 96, 222, 97, 90, 97, 211, 98, 57, 98, 165, 99, 30, 99, 147, 99, 238, 100, 69, 100, 163, 100, 246, 101, 71, 101, 138, 101, 249, 101, 249, 101, 249, 101, 249, 101, 249, 101, 249, 101, 249, 101, 249, 101, 249, 101, 249, 101, 249, 101, 249, 101, 249, 102, 5, 102, 31, 102, 44, 102, 74, 102, 126, 102, 205, 103, 107, 103, 204, 104, 48, 104, 117, 105, 25, 106, 26, 106, 242, 107, 150, 108, 4, 108, 24, 108, 52, 108, 78, 109, 31, 109, 94, 109, 130, 109, 130, 110, 84, 110, 180, 110, 252, 111, 54, 111, 81, 111, 108, 111, 158, 111, 180, 111, 211, 112, 43, 112, 121, 112, 171, 112, 195, 112, 217, 113, 45, 113, 70, 113, 94, 113, 142, 113, 174, 113, 190, 113, 218, 113, 243, 114, 66, 114, 154, 114, 214, 115, 73, 115, 92, 115, 142, 115, 168, 115, 205, 115, 237, 116, 8, 116, 31, 116, 114, 116, 164, 116, 177, 116, 241, 117, 24, 117, 102, 117, 116, 117, 154, 117, 206, 117, 237, 118, 76, 118, 84, 118, 92, 118, 104, 118, 115, 118, 127, 118, 138, 118, 150, 118, 162, 118, 174, 118, 186, 118, 198, 118, 209, 118, 220, 118, 231, 118, 243, 118, 255, 119, 10, 119, 22, 119, 33, 119, 44, 119, 55, 119, 66, 119, 78, 119, 89, 119, 100, 119, 112, 119, 123, 119, 134, 119, 145, 119, 157, 119, 169, 119, 181, 119, 192, 119, 204, 119, 216, 119, 227, 119, 238, 119, 249, 120, 4, 120, 16, 120, 28, 120, 40, 120, 51, 120, 62, 120, 73, 120, 84, 120, 153, 120, 164, 120, 175, 120, 186, 120, 198, 120, 209, 120, 220, 120, 231, 121, 38, 121, 49, 121, 60, 121, 71, 121, 83, 121, 95, 121, 107, 121, 118, 121, 129, 121, 192, 121, 203, 121, 215, 121, 227, 121, 239, 121, 251, 122, 7, 122, 19, 122, 30, 122, 42, 122, 53, 122, 64, 122, 75, 122, 86, 122, 97, 122, 109, 122, 120, 122, 132, 122, 144, 122, 155, 122, 166, 122, 177, 122, 189, 122, 200, 122, 211, 122, 223, 122, 235, 123, 66, 123, 78, 123, 89, 123, 100, 123, 111, 123, 122, 123, 133, 123, 145, 123, 157, 123, 169, 123, 181, 123, 193, 123, 205, 123, 217, 123, 228, 123, 236, 123, 244, 123, 252, 124, 4, 124, 12, 124, 20, 124, 28, 124, 36, 124, 44, 124, 52, 124, 60, 124, 68, 124, 76, 124, 84, 124, 96, 124, 108, 124, 119, 124, 130, 124, 141, 124, 152, 124, 163, 124, 171, 124, 179, 124, 187, 124, 195, 124, 203, 124, 214, 124, 225, 124, 236, 124, 247, 125, 2, 125, 14, 125, 26, 125, 146, 125, 154, 125, 166, 125, 174, 125, 182, 125, 194, 125, 206, 125, 214, 125, 222, 125, 230, 125, 238, 125, 250, 126, 2, 126, 10, 126, 18, 126, 26, 126, 34, 126, 42, 126, 50, 126, 58, 126, 66, 126, 74, 126, 82, 126, 93, 126, 101, 126, 109, 126, 188, 126, 196, 126, 204, 126, 215, 126, 226, 126, 234, 126, 242, 126, 253, 127, 5, 127, 16, 127, 27, 127, 40, 127, 51, 127, 59, 127, 71, 127, 83, 127, 94, 127, 105, 127, 117, 127, 129, 127, 141, 127, 153, 127, 165, 127, 173, 127, 181, 127, 193, 127, 205, 127, 217, 127, 229, 127, 241, 127, 253, 128, 5, 128, 13, 128, 21, 128, 33, 128, 44, 128, 52, 128, 64, 128, 75, 128, 87, 128, 98, 128, 106, 128, 114, 128, 126, 128, 137, 128, 149, 128, 157, 128, 168, 128, 180, 128, 191, 128, 203, 128, 214, 128, 226, 128, 237, 128, 249, 129, 4, 129, 16, 129, 27, 129, 35, 129, 43, 129, 55, 129, 66, 129, 78, 129, 89, 129, 101, 129, 112, 129, 124, 129, 135, 129, 147, 129, 159, 129, 171, 129, 182, 129, 194, 129, 205, 129, 217, 129, 229, 129, 237, 129, 249, 130, 5, 130, 17, 130, 29, 130, 41, 130, 53, 130, 65, 130, 76, 130, 88, 130, 99, 130, 111, 130, 122, 130, 134, 130, 145, 130, 161, 130, 176, 130, 188, 130, 199, 130, 211, 130, 222, 130, 234, 130, 245, 131, 1, 131, 12, 131, 28, 131, 43, 131, 55, 131, 67, 131, 79, 131, 91, 131, 103, 131, 114, 131, 126, 131, 137, 131, 149, 131, 160, 131, 172, 131, 183, 131, 195, 131, 206, 131, 222, 131, 237, 131, 249, 132, 5, 132, 17, 132, 29, 132, 41, 132, 53, 132, 65, 132, 77, 132, 89, 132, 100, 132, 112, 132, 123, 132, 135, 132, 146, 132, 158, 132, 169, 132, 185, 132, 200, 132, 212, 132, 223, 132, 235, 132, 247, 133, 3, 133, 15, 133, 27, 133, 38, 133, 50, 133, 62, 133, 74, 133, 86, 133, 98, 133, 110, 133, 122, 133, 133, 133, 145, 133, 157, 133, 169, 133, 181, 133, 193, 133, 204, 133, 216, 133, 228, 133, 240, 133, 252, 134, 8, 134, 20, 134, 32, 134, 44, 134, 59, 134, 71, 134, 83, 134, 95, 134, 107, 134, 119, 134, 131, 134, 143, 134, 155, 134, 167, 134, 179, 134, 191, 134, 203, 134, 215, 134, 227, 134, 239, 134, 251, 135, 7, 135, 19, 135, 27, 135, 89, 135, 149, 135, 209, 135, 235, 136, 5, 136, 44, 136, 82, 136, 98, 136, 113, 136, 125, 136, 137, 136, 149, 136, 161, 136, 173, 136, 185, 136, 222, 137, 2, 137, 42, 137, 81, 137, 89, 137, 102, 0, 1, 0, 0, 0, 3, 0, 0, 86, 234, 239, 68, 95, 15, 60, 245, 0, 11, 8, 0, 0, 0, 0, 0, 196, 240, 17, 46, 0, 0, 0, 0, 218, 216, 63, 171, 252, 5, 253, 213, 6, 71, 8, 98, 0, 1, 0, 9, 0, 2, 0, 0, 0, 0, 0, 0, 4, 205, 0, 0, 0, 0, 0, 28, 0, 129, 0, 79, 0, 125, 0, 147, 0, 149, 0, 87, 0, 123, 0, 193, 0, 111, 0, 129, 0, 150, 0, 127, 0, 123, 0, 80, 0, 149, 0, 85, 0, 131, 0, 89, 0, 27, 0, 126, 0, 31, 0, 26, 0, 30, 0, 33, 0, 89, 0, 115, 0, 147, 0, 117, 0, 112, 0, 112, 0, 126, 0, 113, 0, 141, 0, 215, 0, 223, 0, 144, 0, 199, 0, 75, 0, 141, 0, 103, 0, 145, 0, 113, 1, 31, 0, 122, 0, 126, 0, 150, 0, 72, 0, 27, 0, 89, 0, 52, 0, 118, 0, 141, 0, 173, 0, 70, 0, 96, 0, 59, 0, 117, 0, 105, 0, 69, 0, 109, 0, 97, 1, 138, 1, 42, 1, 37, 1, 17, 1, 10, 0, 24, 0, 65, 0, 33, 0, 48, 0, 46, 0, 71, 0, 38, 0, 38, 0, 136, 0, 145, 0, 159, 0, 162, 0, 156, 0, 127, 0, 142, 0, 115, 0, 21, 0, 148, 0, 0, 0, 111, 0, 123, 0, 83, 1, 196, 1, 226, 0, 160, 0, 202, 1, 104, 1, 166, 1, 180, 1, 180, 0, 101, 1, 238, 1, 148, 0, 148, 1, 26, 0, 61, 0, 57, 1, 201, 1, 25, 1, 235, 1, 210, 1, 208, 1, 70, 1, 44, 1, 65, 1, 201, 1, 25, 1, 89, 1, 60, 1, 144, 1, 144, 1, 53, 1, 76, 1, 136, 1, 129, 0, 99, 0, 149, 0, 147, 0, 157, 0, 108, 0, 158, 0, 152, 0, 142, 0, 156, 0, 161, 0, 170, 0, 171, 0, 185, 0, 220, 0, 240, 1, 24, 0, 35, 0, 75, 2, 21, 1, 232, 0, 106, 0, 128, 0, 89, 0, 88, 0, 115, 1, 101, 0, 154, 0, 41, 0, 75, 0, 37, 0, 86, 0, 216, 0, 213, 0, 26, 0, 28, 0, 28, 0, 28, 0, 28, 0, 28, 0, 28, 0, 28, 0, 28, 0, 28, 0, 28, 0, 48, 0, 79, 0, 79, 0, 79, 0, 79, 0, 125, 255, 214, 0, 147, 0, 147, 0, 147, 0, 147, 0, 147, 0, 147, 0, 147, 0, 147, 0, 148, 0, 147, 255, 214, 0, 87, 0, 87, 0, 87, 0, 23, 0, 123, 0, 193, 0, 193, 0, 193, 0, 193, 0, 193, 0, 193, 0, 193, 0, 193, 0, 193, 0, 111, 0, 129, 0, 150, 0, 150, 0, 150, 0, 150, 0, 51, 0, 123, 0, 123, 0, 123, 0, 123, 0, 80, 0, 80, 0, 80, 0, 80, 0, 80, 0, 93, 0, 80, 0, 80, 0, 48, 0, 48, 0, 80, 0, 131, 0, 131, 0, 131, 0, 89, 0, 89, 0, 89, 0, 89, 0, 27, 0, 27, 0, 126, 0, 126, 0, 126, 0, 126, 0, 126, 0, 133, 0, 126, 0, 126, 0, 126, 0, 126, 0, 126, 0, 26, 0, 26, 0, 26, 0, 26, 0, 33, 0, 33, 0, 33, 0, 33, 0, 89, 0, 89, 0, 89, 0, 115, 0, 115, 0, 115, 0, 115, 0, 115, 0, 115, 0, 115, 0, 115, 0, 115, 0, 115, 0, 46, 0, 117, 0, 117, 0, 117, 0, 117, 0, 40, 0, 97, 0, 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, 149, 0, 112, 0, 113, 0, 113, 0, 113, 255, 252, 255, 163, 0, 199, 0, 199, 0, 199, 0, 199, 0, 199, 0, 199, 0, 215, 0, 199, 0, 226, 0, 144, 0, 199, 0, 129, 0, 199, 0, 129, 0, 213, 0, 141, 0, 141, 0, 141, 0, 141, 0, 103, 0, 103, 0, 103, 0, 103, 0, 103, 0, 95, 0, 103, 0, 103, 0, 103, 0, 103, 0, 103, 1, 31, 0, 197, 1, 11, 0, 122, 0, 122, 0, 122, 0, 122, 0, 126, 0, 103, 0, 150, 0, 150, 0, 150, 0, 150, 0, 150, 0, 118, 0, 150, 0, 150, 0, 150, 0, 150, 0, 150, 0, 27, 0, 27, 0, 27, 0, 27, 0, 52, 0, 52, 0, 52, 0, 52, 0, 118, 0, 118, 0, 118, 1, 155, 1, 126, 0, 129, 0, 128, 1, 17, 1, 37, 1, 216, 1, 9, 1, 147, 0, 210, 0, 249, 253, 13, 1, 182, 1, 125, 1, 20, 0, 0, 0, 187, 0, 172, 0, 227, 0, 199, 0, 126, 0, 75, 1, 156, 0, 226, 1, 185, 252, 152, 253, 112, 252, 111, 253, 38, 251, 247, 2, 69, 1, 3, 2, 45, 0, 141, 0, 35, 0, 91, 0, 23, 0, 121, 0, 121, 0, 111, 0, 65, 0, 69, 0, 86, 0, 106, 0, 158, 0, 40, 0, 93, 0, 132, 0, 80, 0, 129, 0, 176, 0, 179, 0, 32, 0, 176, 0, 100, 0, 133, 0, 86, 0, 79, 0, 65, 0, 126, 0, 77, 0, 69, 0, 46, 0, 148, 0, 66, 255, 255, 0, 31, 0, 95, 0, 38, 0, 91, 0, 39, 0, 109, 0, 131, 0, 45, 255, 248, 0, 78, 0, 111, 0, 39, 0, 2, 0, 109, 0, 157, 0, 81, 0, 81, 0, 51, 0, 74, 0, 131, 0, 32, 0, 84, 255, 217, 0, 115, 0, 138, 0, 143, 0, 33, 0, 34, 0, 114, 0, 121, 0, 133, 0, 34, 0, 113, 0, 121, 0, 121, 0, 93, 0, 55, 0, 121, 0, 124, 0, 83, 0, 79, 0, 56, 0, 99, 0, 138, 0, 111, 0, 54, 0, 77, 255, 206, 0, 107, 0, 21, 0, 91, 255, 249, 0, 121, 0, 71, 0, 69, 0, 35, 0, 56, 0, 77, 0, 13, 0, 77, 0, 82, 0, 82, 0, 46, 0, 65, 0, 54, 0, 60, 0, 145, 0, 181, 0, 78, 0, 97, 0, 12, 0, 54, 0, 69, 0, 52, 0, 80, 0, 104, 0, 47, 0, 74, 0, 77, 0, 69, 0, 125, 0, 177, 0, 107, 253, 39, 252, 251, 253, 246, 253, 212, 254, 158, 254, 209, 0, 149, 0, 145, 0, 152, 0, 149, 0, 141, 0, 149, 0, 134, 0, 132, 0, 15, 0, 27, 0, 63, 0, 86, 0, 50, 0, 84, 0, 88, 0, 67, 0, 1, 0, 33, 0, 133, 0, 116, 0, 119, 255, 213, 0, 21, 0, 164, 0, 152, 0, 141, 0, 143, 0, 78, 0, 124, 0, 114, 0, 40, 0, 73, 0, 77, 0, 92, 0, 91, 0, 63, 0, 75, 0, 168, 0, 192, 0, 15, 0, 40, 0, 72, 0, 68, 0, 99, 0, 133, 0, 68, 0, 66, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 1, 195, 0, 239, 1, 13, 1, 43, 0, 121, 0, 53, 0, 160, 0, 119, 0, 148, 0, 97, 0, 28, 0, 27, 0, 72, 0, 111, 0, 156, 0, 37, 0, 37, 0, 56, 0, 232, 0, 130, 0, 0, 0, 87, 0, 15, 1, 32, 1, 16, 255, 246, 1, 16, 1, 43, 1, 216, 0, 22, 0, 161, 0, 84, 0, 157, 0, 160, 0, 168, 0, 94, 0, 142, 0, 202, 0, 160, 0, 154, 0, 161, 0, 120, 0, 159, 0, 104, 0, 97, 0, 147, 0, 131, 0, 84, 0, 157, 0, 45, 0, 33, 0, 64, 0, 58, 0, 153, 1, 60, 1, 44, 1, 45, 1, 193, 1, 244, 1, 92, 1, 250, 1, 66, 0, 161, 0, 151, 0, 147, 0, 0, 1, 26, 0, 79, 0, 117, 0, 87, 0, 113, 255, 102, 0, 89, 0, 122, 0, 27, 0, 126, 0, 27, 0, 84, 0, 126, 255, 170, 255, 170, 0, 84, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 22, 0, 84, 0, 160, 0, 160, 0, 160, 0, 160, 0, 202, 0, 202, 0, 202, 0, 202, 0, 159, 0, 104, 0, 104, 0, 104, 0, 104, 0, 104, 0, 157, 0, 157, 0, 157, 0, 157, 0, 58, 0, 22, 0, 22, 0, 22, 0, 84, 0, 84, 0, 84, 0, 80, 0, 160, 0, 160, 0, 160, 0, 160, 0, 160, 0, 94, 0, 94, 0, 94, 0, 142, 0, 202, 0, 202, 0, 202, 0, 202, 0, 202, 0, 160, 0, 154, 0, 161, 0, 161, 0, 161, 0, 161, 0, 159, 0, 159, 0, 159, 0, 104, 0, 104, 0, 104, 0, 147, 0, 147, 0, 147, 0, 131, 0, 131, 0, 131, 0, 131, 0, 84, 0, 157, 0, 157, 0, 157, 0, 157, 0, 157, 0, 157, 0, 33, 0, 58, 0, 58, 0, 153, 0, 153, 0, 153, 0, 28, 255, 152, 255, 172, 255, 172, 255, 144, 255, 122, 255, 171, 0, 179, 0, 28, 0, 129, 0, 147, 0, 89, 0, 123, 0, 193, 0, 129, 0, 127, 0, 123, 0, 80, 0, 149, 0, 27, 0, 33, 0, 30, 0, 193, 0, 33, 0, 106, 0, 132, 0, 129, 0, 179, 0, 126, 0, 159, 0, 103, 0, 172, 0, 72, 0, 89, 0, 179, 0, 126, 0, 103, 0, 126, 0, 46, 0, 147, 0, 141, 0, 89, 0, 193, 0, 193, 0, 111, 0, 151, 0, 129, 0, 2, 0, 28, 0, 129, 0, 141, 0, 147, 0, 111, 0, 127, 0, 123, 0, 80, 0, 121, 0, 149, 0, 79, 0, 27, 0, 65, 0, 30, 0, 115, 0, 112, 0, 121, 0, 103, 0, 145, 0, 117, 0, 52, 0, 89, 0, 112, 0, 143, 0, 122, 0, 215, 0, 199, 0, 223, 0, 133, 0, 52, 0, 59, 0, 226, 1, 210, 0, 127, 0, 75, 0, 28, 0, 115, 255, 76, 0, 147, 0, 111, 0, 112, 0, 121, 0, 69, 0, 69, 0, 12, 0, 44, 0, 78, 0, 114, 0, 79, 0, 117, 0, 33, 0, 40, 0, 193, 255, 248, 0, 34, 0, 193, 0, 28, 0, 115, 0, 28, 0, 115, 0, 48, 0, 46, 0, 147, 0, 112, 0, 78, 0, 156, 0, 156, 255, 248, 0, 34, 0, 78, 0, 114, 0, 111, 0, 121, 0, 111, 0, 121, 0, 80, 0, 103, 0, 78, 0, 97, 0, 78, 0, 97, 0, 32, 0, 111, 0, 2, 0, 52, 0, 2, 0, 52, 0, 2, 0, 52, 0, 157, 0, 124, 0, 74, 0, 99, 0, 30, 0, 89, 0, 112, 0, 39, 0, 34, 0, 28, 0, 115, 0, 28, 0, 115, 0, 28, 0, 115, 255, 210, 255, 173, 0, 28, 0, 115, 0, 28, 0, 115, 0, 28, 0, 115, 0, 28, 0, 115, 0, 28, 0, 115, 0, 28, 0, 115, 0, 28, 0, 115, 0, 28, 0, 115, 0, 147, 0, 112, 0, 147, 0, 112, 0, 147, 0, 112, 0, 147, 0, 112, 255, 219, 255, 178, 0, 147, 0, 112, 0, 147, 0, 112, 0, 147, 0, 112, 0, 193, 0, 199, 0, 193, 0, 215, 0, 80, 0, 103, 0, 80, 0, 103, 0, 80, 0, 103, 255, 192, 255, 197, 0, 80, 0, 103, 0, 80, 0, 103, 0, 80, 0, 103, 0, 93, 0, 95, 0, 93, 0, 95, 0, 93, 0, 95, 0, 93, 0, 95, 0, 93, 0, 95, 0, 126, 0, 150, 0, 126, 0, 150, 0, 133, 0, 118, 0, 133, 0, 118, 0, 133, 0, 118, 0, 133, 0, 118, 0, 133, 0, 118, 0, 33, 0, 52, 0, 33, 0, 52, 0, 33, 0, 52, 0, 97, 0, 151, 0, 133, 0, 123, 0, 121, 0, 27, 0, 93, 0, 30, 0, 89, 0, 157, 0, 124, 0, 157, 0, 124, 0, 141, 0, 143, 255, 248, 0, 34, 255, 213, 0, 21, 0, 141, 0, 21, 255, 211, 255, 211, 255, 231, 255, 211, 255, 227, 255, 211, 0, 111, 0, 121, 0, 123, 0, 121, 0, 127, 0, 113, 0, 39, 0, 34, 0, 33, 0, 40, 0, 30, 0, 89, 0, 132, 0, 57, 0, 1, 0, 0, 8, 98, 253, 213, 0, 0, 4, 205, 252, 5, 254, 134, 6, 71, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 4, 205, 2, 188, 0, 5, 0, 0, 5, 154, 5, 51, 0, 0, 1, 31, 5, 154, 5, 51, 0, 0, 3, 209, 0, 102, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 224, 0, 2, 255, 16, 0, 32, 91, 0, 0, 0, 32, 0, 0, 0, 0, 71, 79, 79, 71, 0, 32, 0, 13, 255, 253, 8, 98, 253, 213, 0, 0, 8, 98, 2, 43, 32, 0, 1, 159, 79, 1, 0, 0, 4, 58, 5, 176, 0, 0, 0, 32, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 20, 0, 3, 0, 1, 0, 0, 0, 20, 0, 4, 7, 76, 0, 0, 0, 194, 0, 128, 0, 6, 0, 66, 0, 13, 0, 47, 0, 57, 0, 64, 0, 90, 0, 96, 0, 122, 0, 126, 1, 127, 1, 146, 1, 161, 1, 176, 1, 240, 1, 255, 2, 27, 2, 55, 2, 89, 2, 188, 2, 199, 2, 201, 2, 221, 2, 243, 3, 1, 3, 3, 3, 9, 3, 15, 3, 35, 3, 138, 3, 140, 3, 146, 3, 161, 3, 176, 3, 185, 3, 201, 3, 206, 3, 210, 3, 214, 4, 37, 4, 47, 4, 69, 4, 79, 4, 98, 4, 111, 4, 119, 4, 134, 4, 206, 4, 215, 4, 225, 4, 245, 5, 1, 5, 16, 5, 19, 30, 1, 30, 63, 30, 133, 30, 241, 30, 243, 30, 249, 31, 77, 32, 11, 32, 21, 32, 30, 32, 34, 32, 38, 32, 48, 32, 51, 32, 58, 32, 60, 32, 68, 32, 116, 32, 127, 32, 164, 32, 167, 32, 172, 33, 5, 33, 19, 33, 22, 33, 34, 33, 38, 33, 46, 33, 94, 34, 2, 34, 6, 34, 15, 34, 18, 34, 21, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34, 101, 37, 202, 246, 195, 254, 255, 255, 253, 255, 255, 0, 0, 0, 13, 0, 32, 0, 48, 0, 58, 0, 65, 0, 91, 0, 97, 0, 123, 0, 160, 1, 146, 1, 160, 1, 175, 1, 240, 1, 250, 2, 24, 2, 55, 2, 89, 2, 188, 2, 198, 2, 201, 2, 216, 2, 243, 3, 0, 3, 3, 3, 9, 3, 15, 3, 35, 3, 132, 3, 140, 3, 142, 3, 147, 3, 163, 3, 177, 3, 186, 3, 202, 3, 209, 3, 214, 4, 0, 4, 38, 4, 48, 4, 70, 4, 80, 4, 99, 4, 112, 4, 120, 4, 136, 4, 207, 4, 216, 4, 226, 4, 246, 5, 2, 5, 17, 30, 0, 30, 62, 30, 128, 30, 160, 30, 242, 30, 244, 31, 77, 32, 0, 32, 19, 32, 23, 32, 32, 32, 37, 32, 48, 32, 50, 32, 57, 32, 60, 32, 68, 32, 116, 32, 127, 32, 163, 32, 167, 32, 171, 33, 5, 33, 19, 33, 22, 33, 34, 33, 38, 33, 46, 33, 91, 34, 2, 34, 6, 34, 15, 34, 17, 34, 21, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34, 100, 37, 202, 246, 195, 254, 255, 255, 252, 255, 255, 1, 92, 0, 0, 0, 6, 0, 0, 255, 193, 0, 0, 255, 187, 0, 0, 0, 0, 254, 196, 0, 0, 0, 0, 1, 51, 0, 0, 0, 98, 255, 58, 253, 248, 0, 104, 0, 0, 254, 149, 0, 0, 254, 127, 254, 115, 254, 114, 254, 109, 254, 104, 254, 66, 0, 0, 255, 76, 255, 75, 0, 0, 0, 0, 253, 212, 0, 0, 255, 44, 253, 200, 253, 197, 0, 0, 253, 131, 0, 0, 253, 123, 0, 0, 253, 112, 0, 0, 253, 108, 0, 0, 254, 108, 0, 0, 254, 105, 0, 0, 253, 20, 0, 0, 229, 39, 228, 231, 0, 0, 228, 198, 0, 0, 228, 196, 227, 220, 226, 37, 0, 0, 0, 0, 0, 0, 0, 0, 224, 93, 224, 64, 224, 65, 226, 230, 224, 71, 225, 192, 225, 182, 223, 180, 223, 178, 0, 0, 225, 50, 225, 37, 225, 35, 223, 114, 224, 94, 225, 12, 224, 224, 224, 61, 223, 118, 224, 49, 0, 0, 222, 116, 224, 40, 224, 37, 224, 25, 222, 59, 222, 34, 222, 34, 220, 123, 10, 165, 3, 71, 2, 75, 0, 1, 0, 0, 0, 192, 0, 0, 0, 220, 0, 0, 0, 230, 0, 0, 0, 238, 0, 244, 0, 0, 2, 176, 2, 178, 0, 0, 2, 178, 0, 0, 0, 0, 0, 0, 0, 0, 2, 180, 0, 0, 2, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 178, 0, 0, 0, 0, 2, 186, 2, 214, 0, 0, 2, 238, 0, 0, 0, 0, 0, 0, 3, 6, 0, 0, 3, 78, 0, 0, 3, 118, 0, 0, 3, 152, 0, 0, 3, 164, 0, 0, 4, 46, 0, 0, 4, 62, 0, 0, 4, 82, 0, 0, 0, 0, 4, 82, 0, 0, 4, 90, 0, 0, 0, 0, 0, 0, 4, 86, 4, 90, 4, 104, 4, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 91, 0, 107, 0, 151, 0, 82, 0, 140, 0, 152, 0, 106, 0, 116, 0, 117, 0, 150, 0, 124, 0, 95, 0, 103, 0, 96, 0, 137, 0, 97, 0, 98, 0, 132, 0, 129, 0, 133, 0, 93, 0, 153, 0, 118, 0, 138, 0, 119, 0, 156, 0, 102, 1, 90, 0, 120, 0, 142, 0, 121, 0, 157, 2, 115, 0, 92, 0, 83, 0, 84, 0, 90, 0, 85, 0, 143, 0, 154, 1, 97, 0, 146, 0, 67, 1, 106, 0, 136, 2, 116, 0, 147, 1, 94, 0, 149, 0, 126, 0, 65, 0, 66, 1, 91, 1, 107, 0, 155, 0, 100, 1, 102, 0, 64, 0, 68, 1, 108, 0, 70, 0, 69, 0, 71, 0, 94, 0, 162, 0, 158, 0, 160, 0, 167, 0, 161, 0, 165, 0, 72, 0, 171, 0, 181, 0, 175, 0, 178, 0, 179, 0, 196, 0, 191, 0, 193, 0, 194, 0, 185, 0, 210, 0, 215, 0, 211, 0, 213, 0, 221, 0, 214, 0, 127, 0, 219, 0, 235, 0, 231, 0, 233, 0, 234, 0, 246, 0, 77, 0, 80, 1, 1, 0, 253, 0, 255, 1, 6, 1, 0, 1, 4, 0, 73, 1, 10, 1, 20, 1, 14, 1, 17, 1, 18, 1, 33, 1, 29, 1, 31, 1, 32, 0, 76, 1, 47, 1, 52, 1, 48, 1, 50, 1, 58, 1, 51, 0, 128, 1, 56, 1, 72, 1, 68, 1, 70, 1, 71, 1, 83, 0, 78, 1, 85, 0, 163, 1, 2, 0, 159, 0, 254, 0, 164, 1, 3, 0, 169, 1, 8, 0, 172, 1, 11, 2, 117, 2, 118, 0, 170, 1, 9, 0, 173, 1, 12, 0, 174, 1, 13, 0, 182, 1, 21, 0, 176, 1, 15, 0, 180, 1, 19, 0, 184, 1, 23, 0, 177, 1, 16, 0, 187, 1, 25, 0, 186, 1, 24, 2, 119, 2, 120, 0, 188, 1, 26, 0, 190, 1, 28, 0, 189, 1, 27, 0, 199, 1, 36, 0, 197, 1, 34, 0, 192, 1, 30, 0, 198, 1, 35, 0, 195, 1, 109, 1, 110, 1, 111, 0, 200, 1, 37, 0, 201, 1, 38, 0, 79, 0, 202, 1, 39, 0, 204, 1, 41, 0, 203, 1, 40, 0, 205, 1, 42, 0, 206, 1, 43, 0, 207, 1, 44, 0, 209, 1, 46, 0, 208, 1, 45, 2, 121, 0, 183, 1, 22, 0, 218, 1, 55, 0, 212, 1, 49, 0, 217, 1, 54, 0, 74, 0, 75, 0, 222, 1, 59, 0, 224, 1, 61, 0, 223, 1, 60, 0, 225, 1, 62, 0, 228, 1, 65, 0, 227, 1, 64, 0, 226, 1, 63, 2, 126, 2, 128, 0, 230, 1, 67, 0, 229, 1, 66, 0, 241, 1, 78, 0, 238, 1, 75, 0, 232, 1, 69, 0, 240, 1, 77, 0, 237, 1, 74, 0, 239, 1, 76, 0, 243, 1, 80, 0, 247, 1, 84, 0, 248, 0, 250, 1, 87, 0, 252, 1, 89, 0, 251, 1, 88, 1, 112, 0, 216, 1, 53, 0, 236, 1, 73, 0, 166, 1, 5, 0, 168, 1, 7, 0, 220, 1, 57, 1, 92, 1, 100, 1, 95, 1, 96, 1, 98, 1, 103, 1, 93, 1, 99, 1, 120, 1, 121, 2, 212, 1, 122, 2, 213, 2, 214, 2, 215, 1, 123, 1, 124, 2, 222, 2, 223, 2, 224, 1, 125, 2, 225, 2, 226, 1, 126, 2, 227, 2, 228, 1, 127, 2, 229, 1, 128, 2, 230, 1, 129, 2, 231, 2, 232, 1, 130, 2, 233, 1, 131, 1, 132, 2, 234, 2, 235, 2, 236, 2, 237, 2, 238, 2, 239, 2, 240, 2, 241, 1, 142, 2, 243, 2, 244, 1, 143, 2, 242, 1, 144, 1, 145, 1, 146, 1, 147, 1, 148, 1, 149, 1, 150, 2, 245, 1, 151, 1, 152, 3, 42, 2, 251, 1, 156, 2, 252, 1, 157, 2, 253, 2, 254, 2, 255, 3, 0, 1, 158, 1, 159, 1, 160, 3, 2, 3, 43, 3, 3, 1, 161, 3, 4, 1, 162, 3, 5, 3, 6, 1, 163, 3, 7, 1, 164, 1, 165, 1, 166, 3, 8, 3, 1, 1, 167, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 1, 168, 3, 16, 3, 17, 3, 18, 1, 179, 1, 180, 1, 181, 1, 182, 3, 19, 1, 183, 1, 184, 1, 185, 3, 20, 1, 186, 1, 187, 1, 188, 1, 189, 3, 21, 1, 190, 3, 22, 3, 23, 1, 191, 3, 24, 1, 192, 3, 25, 3, 44, 3, 26, 1, 203, 3, 27, 1, 204, 3, 28, 3, 29, 3, 30, 3, 31, 1, 205, 1, 206, 1, 207, 3, 32, 3, 45, 3, 33, 1, 208, 1, 209, 1, 210, 3, 212, 3, 46, 3, 47, 1, 224, 1, 225, 1, 226, 1, 227, 3, 48, 3, 49, 1, 243, 1, 244, 3, 217, 3, 218, 3, 211, 3, 210, 1, 245, 1, 246, 1, 247, 1, 248, 3, 213, 3, 214, 1, 249, 1, 250, 3, 205, 3, 206, 3, 50, 3, 51, 3, 191, 3, 192, 1, 251, 1, 252, 3, 215, 3, 216, 1, 253, 1, 254, 3, 193, 3, 194, 1, 255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 3, 52, 3, 53, 3, 195, 3, 196, 3, 54, 3, 55, 3, 225, 3, 226, 3, 197, 3, 198, 2, 5, 2, 6, 3, 199, 3, 200, 2, 7, 2, 8, 2, 9, 3, 209, 2, 10, 2, 11, 3, 207, 3, 208, 3, 56, 3, 57, 3, 58, 2, 12, 2, 13, 3, 223, 3, 224, 2, 14, 2, 15, 3, 219, 3, 220, 3, 201, 3, 202, 3, 221, 3, 222, 2, 16, 3, 69, 3, 68, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 2, 17, 2, 18, 3, 203, 3, 204, 3, 95, 3, 96, 2, 19, 2, 20, 3, 97, 3, 98, 3, 227, 3, 228, 2, 21, 3, 99, 3, 229, 3, 100, 3, 101, 0, 245, 1, 82, 0, 242, 1, 79, 0, 244, 1, 81, 0, 249, 1, 86, 0, 104, 0, 105, 3, 230, 2, 49, 0, 108, 0, 109, 0, 110, 2, 50, 0, 111, 0, 112, 0, 113, 0, 144, 0, 145, 0, 101, 2, 51, 0, 99, 3, 190, 2, 54, 2, 65, 0, 125, 184, 1, 255, 133, 176, 4, 141, 0, 0, 0, 0, 17, 0, 210, 0, 3, 0, 1, 4, 9, 0, 0, 0, 180, 0, 0, 0, 3, 0, 1, 4, 9, 0, 1, 0, 22, 0, 180, 0, 3, 0, 1, 4, 9, 0, 2, 0, 8, 0, 202, 0, 3, 0, 1, 4, 9, 0, 3, 0, 52, 0, 210, 0, 3, 0, 1, 4, 9, 0, 4, 0, 32, 1, 6, 0, 3, 0, 1, 4, 9, 0, 5, 0, 26, 1, 38, 0, 3, 0, 1, 4, 9, 0, 6, 0, 30, 1, 64, 0, 3, 0, 1, 4, 9, 0, 7, 0, 74, 1, 94, 0, 3, 0, 1, 4, 9, 0, 9, 0, 12, 1, 168, 0, 3, 0, 1, 4, 9, 0, 11, 0, 20, 1, 180, 0, 3, 0, 1, 4, 9, 0, 12, 0, 38, 1, 200, 0, 3, 0, 1, 4, 9, 0, 13, 0, 92, 1, 238, 0, 3, 0, 1, 4, 9, 0, 14, 0, 84, 2, 74, 0, 3, 0, 1, 4, 9, 1, 0, 0, 12, 2, 158, 0, 3, 0, 1, 4, 9, 1, 11, 0, 12, 2, 170, 0, 3, 0, 1, 4, 9, 1, 16, 0, 8, 0, 202, 0, 3, 0, 1, 4, 9, 1, 17, 0, 12, 2, 182, 0, 67, 0, 111, 0, 112, 0, 121, 0, 114, 0, 105, 0, 103, 0, 104, 0, 116, 0, 32, 0, 50, 0, 48, 0, 49, 0, 53, 0, 32, 0, 84, 0, 104, 0, 101, 0, 32, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 80, 0, 114, 0, 111, 0, 106, 0, 101, 0, 99, 0, 116, 0, 32, 0, 65, 0, 117, 0, 116, 0, 104, 0, 111, 0, 114, 0, 115, 0, 32, 0, 40, 0, 104, 0, 116, 0, 116, 0, 112, 0, 115, 0, 58, 0, 47, 0, 47, 0, 103, 0, 105, 0, 116, 0, 104, 0, 117, 0, 98, 0, 46, 0, 99, 0, 111, 0, 109, 0, 47, 0, 103, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 102, 0, 111, 0, 110, 0, 116, 0, 115, 0, 47, 0, 114, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 109, 0, 111, 0, 110, 0, 111, 0, 41, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 66, 0, 111, 0, 108, 0, 100, 0, 51, 0, 46, 0, 48, 0, 48, 0, 48, 0, 59, 0, 71, 0, 79, 0, 79, 0, 71, 0, 59, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 77, 0, 111, 0, 110, 0, 111, 0, 45, 0, 66, 0, 111, 0, 108, 0, 100, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 66, 0, 111, 0, 108, 0, 100, 0, 86, 0, 101, 0, 114, 0, 115, 0, 105, 0, 111, 0, 110, 0, 32, 0, 51, 0, 46, 0, 48, 0, 48, 0, 48, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 77, 0, 111, 0, 110, 0, 111, 0, 45, 0, 66, 0, 111, 0, 108, 0, 100, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 105, 0, 115, 0, 32, 0, 97, 0, 32, 0, 116, 0, 114, 0, 97, 0, 100, 0, 101, 0, 109, 0, 97, 0, 114, 0, 107, 0, 32, 0, 111, 0, 102, 0, 32, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 46, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 46, 0, 99, 0, 111, 0, 109, 0, 67, 0, 104, 0, 114, 0, 105, 0, 115, 0, 116, 0, 105, 0, 97, 0, 110, 0, 32, 0, 82, 0, 111, 0, 98, 0, 101, 0, 114, 0, 116, 0, 115, 0, 111, 0, 110, 0, 76, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 100, 0, 32, 0, 117, 0, 110, 0, 100, 0, 101, 0, 114, 0, 32, 0, 116, 0, 104, 0, 101, 0, 32, 0, 65, 0, 112, 0, 97, 0, 99, 0, 104, 0, 101, 0, 32, 0, 76, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 44, 0, 32, 0, 86, 0, 101, 0, 114, 0, 115, 0, 105, 0, 111, 0, 110, 0, 32, 0, 50, 0, 46, 0, 48, 0, 104, 0, 116, 0, 116, 0, 112, 0, 58, 0, 47, 0, 47, 0, 119, 0, 119, 0, 119, 0, 46, 0, 97, 0, 112, 0, 97, 0, 99, 0, 104, 0, 101, 0, 46, 0, 111, 0, 114, 0, 103, 0, 47, 0, 108, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 115, 0, 47, 0, 76, 0, 73, 0, 67, 0, 69, 0, 78, 0, 83, 0, 69, 0, 45, 0, 50, 0, 46, 0, 48, 0, 87, 0, 101, 0, 105, 0, 103, 0, 104, 0, 116, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 78, 0, 111, 0, 114, 0, 109, 0, 97, 0, 108, 0, 2, 0, 0, 0, 0, 0, 0, 255, 106, 0, 100, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 231, 0, 0, 0, 3, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, 68, 0, 69, 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91, 0, 92, 0, 93, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 241, 0, 242, 0, 243, 0, 157, 0, 158, 0, 244, 0, 245, 0, 246, 0, 144, 0, 160, 0, 176, 0, 177, 0, 234, 0, 237, 0, 238, 1, 2, 0, 137, 1, 3, 0, 7, 0, 132, 0, 133, 0, 150, 0, 166, 0, 247, 1, 4, 1, 5, 0, 189, 0, 4, 0, 163, 0, 34, 0, 162, 0, 15, 0, 17, 0, 29, 0, 30, 0, 171, 0, 195, 0, 135, 0, 66, 0, 16, 0, 178, 0, 179, 0, 10, 0, 5, 0, 182, 0, 183, 0, 196, 0, 180, 0, 181, 0, 197, 1, 6, 1, 7, 0, 11, 0, 12, 0, 62, 0, 64, 0, 94, 0, 96, 0, 190, 0, 191, 0, 14, 0, 239, 0, 147, 0, 240, 0, 184, 0, 32, 0, 143, 0, 167, 0, 31, 0, 33, 0, 148, 0, 149, 0, 164, 0, 18, 0, 63, 0, 188, 0, 8, 0, 198, 0, 95, 0, 232, 0, 130, 0, 194, 0, 139, 0, 138, 0, 140, 0, 131, 0, 13, 0, 6, 0, 9, 0, 35, 0, 134, 0, 136, 0, 65, 0, 97, 0, 201, 1, 8, 0, 199, 0, 98, 0, 173, 1, 9, 1, 10, 0, 99, 1, 11, 0, 174, 1, 12, 0, 253, 0, 255, 0, 100, 1, 13, 1, 14, 1, 15, 0, 101, 1, 16, 1, 17, 0, 200, 0, 202, 1, 18, 0, 203, 1, 19, 1, 20, 1, 21, 0, 233, 0, 248, 1, 22, 1, 23, 1, 24, 1, 25, 0, 204, 1, 26, 0, 205, 0, 206, 0, 250, 0, 207, 1, 27, 1, 28, 1, 29, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, 1, 35, 0, 226, 1, 36, 1, 37, 1, 38, 0, 102, 0, 208, 1, 39, 0, 209, 0, 103, 0, 211, 1, 40, 1, 41, 1, 42, 0, 145, 1, 43, 0, 175, 1, 44, 1, 45, 1, 46, 1, 47, 0, 228, 0, 251, 1, 48, 1, 49, 1, 50, 0, 212, 1, 51, 0, 213, 0, 104, 0, 214, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 59, 1, 60, 1, 61, 0, 235, 1, 62, 0, 187, 1, 63, 1, 64, 0, 230, 1, 65, 0, 105, 1, 66, 0, 107, 0, 108, 0, 106, 1, 67, 1, 68, 0, 110, 1, 69, 0, 109, 1, 70, 0, 254, 1, 0, 0, 111, 1, 71, 1, 72, 1, 1, 0, 112, 1, 73, 1, 74, 0, 114, 0, 115, 1, 75, 0, 113, 1, 76, 1, 77, 1, 78, 0, 249, 1, 79, 1, 80, 1, 81, 1, 82, 0, 116, 1, 83, 0, 118, 0, 119, 0, 117, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, 1, 89, 1, 90, 1, 91, 1, 92, 0, 227, 1, 93, 1, 94, 1, 95, 0, 120, 0, 121, 1, 96, 0, 123, 0, 124, 0, 122, 1, 97, 1, 98, 1, 99, 0, 161, 1, 100, 0, 125, 1, 101, 1, 102, 1, 103, 1, 104, 0, 229, 0, 252, 1, 105, 1, 106, 1, 107, 0, 126, 1, 108, 0, 128, 0, 129, 0, 127, 1, 109, 1, 110, 1, 111, 1, 112, 1, 113, 1, 114, 1, 115, 1, 116, 1, 117, 1, 118, 0, 236, 1, 119, 0, 186, 1, 120, 1, 121, 0, 231, 1, 122, 0, 67, 0, 141, 0, 216, 0, 217, 0, 218, 0, 219, 0, 220, 0, 142, 0, 221, 0, 223, 0, 225, 1, 123, 0, 222, 0, 224, 1, 124, 0, 2, 0, 169, 0, 151, 0, 170, 0, 215, 1, 125, 1, 126, 1, 127, 1, 128, 1, 129, 1, 130, 1, 131, 1, 132, 1, 133, 1, 134, 1, 135, 1, 136, 1, 137, 1, 138, 0, 168, 1, 139, 1, 140, 1, 141, 1, 142, 1, 143, 1, 144, 1, 145, 0, 159, 1, 146, 1, 147, 1, 148, 1, 149, 1, 150, 1, 151, 1, 152, 1, 153, 1, 154, 1, 155, 1, 156, 0, 155, 1, 157, 1, 158, 1, 159, 1, 160, 1, 161, 1, 162, 1, 163, 1, 164, 1, 165, 1, 166, 1, 167, 1, 168, 1, 169, 1, 170, 1, 171, 1, 172, 1, 173, 1, 174, 1, 175, 1, 176, 1, 177, 1, 178, 1, 179, 1, 180, 1, 181, 1, 182, 1, 183, 1, 184, 1, 185, 1, 186, 1, 187, 1, 188, 1, 189, 1, 190, 1, 191, 1, 192, 1, 193, 1, 194, 1, 195, 1, 196, 1, 197, 1, 198, 1, 199, 1, 200, 1, 201, 1, 202, 1, 203, 1, 204, 1, 205, 1, 206, 1, 207, 1, 208, 1, 209, 1, 210, 1, 211, 1, 212, 1, 213, 1, 214, 1, 215, 1, 216, 1, 217, 1, 218, 1, 219, 1, 220, 1, 221, 1, 222, 1, 223, 1, 224, 1, 225, 1, 226, 1, 227, 1, 228, 1, 229, 1, 230, 1, 231, 1, 232, 1, 233, 1, 234, 1, 235, 1, 236, 1, 237, 1, 238, 1, 239, 1, 240, 1, 241, 1, 242, 1, 243, 1, 244, 1, 245, 1, 246, 1, 247, 1, 248, 1, 249, 1, 250, 1, 251, 1, 252, 1, 253, 1, 254, 1, 255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 2, 42, 2, 43, 2, 44, 2, 45, 2, 46, 2, 47, 2, 48, 2, 49, 2, 50, 2, 51, 2, 52, 2, 53, 2, 54, 2, 55, 2, 56, 2, 57, 2, 58, 2, 59, 2, 60, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 0, 152, 0, 154, 0, 153, 0, 165, 0, 146, 0, 156, 0, 185, 2, 75, 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 104, 2, 105, 2, 106, 2, 107, 2, 108, 2, 109, 2, 110, 2, 111, 2, 112, 2, 113, 2, 114, 2, 115, 2, 116, 2, 117, 2, 118, 2, 119, 0, 172, 2, 120, 2, 121, 2, 122, 2, 123, 2, 124, 2, 125, 2, 126, 2, 127, 2, 128, 2, 129, 2, 130, 2, 131, 2, 132, 2, 133, 2, 134, 2, 135, 2, 136, 2, 137, 2, 138, 2, 139, 2, 140, 2, 141, 2, 142, 2, 143, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, 2, 149, 2, 150, 2, 151, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, 2, 165, 2, 166, 2, 167, 2, 168, 2, 169, 2, 170, 2, 171, 2, 172, 2, 173, 2, 174, 2, 175, 2, 176, 2, 177, 2, 178, 2, 179, 2, 180, 2, 181, 2, 182, 2, 183, 2, 184, 2, 185, 2, 186, 2, 187, 2, 188, 2, 189, 2, 190, 2, 191, 2, 192, 2, 193, 2, 194, 2, 195, 2, 196, 2, 197, 2, 198, 2, 199, 2, 200, 2, 201, 2, 202, 2, 203, 2, 204, 2, 205, 2, 206, 2, 207, 2, 208, 2, 209, 2, 210, 2, 211, 2, 212, 2, 213, 2, 214, 2, 215, 2, 216, 2, 217, 2, 218, 2, 219, 2, 220, 2, 221, 2, 222, 2, 223, 2, 224, 2, 225, 2, 226, 2, 227, 2, 228, 2, 229, 2, 230, 2, 231, 2, 232, 2, 233, 2, 234, 2, 235, 2, 236, 2, 237, 2, 238, 2, 239, 2, 240, 2, 241, 2, 242, 2, 243, 2, 244, 2, 245, 2, 246, 2, 247, 2, 248, 2, 249, 2, 250, 2, 251, 2, 252, 2, 253, 2, 254, 2, 255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, 3, 27, 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3, 100, 3, 101, 3, 102, 3, 103, 3, 104, 3, 105, 3, 106, 3, 107, 3, 108, 3, 109, 3, 110, 3, 111, 3, 112, 3, 113, 3, 114, 3, 115, 3, 116, 3, 117, 3, 118, 3, 119, 3, 120, 3, 121, 3, 122, 3, 123, 3, 124, 3, 125, 3, 126, 3, 127, 3, 128, 3, 129, 3, 130, 3, 131, 3, 132, 3, 133, 3, 134, 3, 135, 3, 136, 3, 137, 3, 138, 3, 139, 3, 140, 3, 141, 3, 142, 3, 143, 3, 144, 3, 145, 3, 146, 3, 147, 3, 148, 3, 149, 3, 150, 3, 151, 3, 152, 3, 153, 3, 154, 3, 155, 3, 156, 3, 157, 3, 158, 3, 159, 3, 160, 3, 161, 3, 162, 3, 163, 3, 164, 3, 165, 3, 166, 3, 167, 3, 168, 3, 169, 3, 170, 3, 171, 3, 172, 3, 173, 3, 174, 3, 175, 3, 176, 3, 177, 3, 178, 3, 179, 3, 180, 3, 181, 3, 182, 3, 183, 3, 184, 3, 185, 3, 186, 3, 187, 3, 188, 3, 189, 3, 190, 3, 191, 3, 192, 3, 193, 3, 194, 3, 195, 3, 196, 3, 197, 3, 198, 3, 199, 3, 200, 3, 201, 3, 202, 3, 203, 3, 204, 3, 205, 3, 206, 3, 207, 3, 208, 3, 209, 3, 210, 3, 211, 3, 212, 3, 213, 3, 214, 3, 215, 3, 216, 3, 217, 3, 218, 3, 219, 3, 220, 3, 221, 3, 222, 3, 223, 3, 224, 3, 225, 3, 226, 3, 227, 3, 228, 3, 229, 3, 230, 3, 231, 3, 232, 3, 233, 3, 234, 12, 107, 103, 114, 101, 101, 110, 108, 97, 110, 100, 105, 99, 5, 115, 99, 104, 119, 97, 4, 108, 105, 114, 97, 6, 112, 101, 115, 101, 116, 97, 6, 109, 105, 110, 117, 116, 101, 6, 115, 101, 99, 111, 110, 100, 6, 65, 98, 114, 101, 118, 101, 7, 65, 109, 97, 99, 114, 111, 110, 7, 65, 111, 103, 111, 110, 101, 107, 10, 65, 114, 105, 110, 103, 97, 99, 117, 116, 101, 7, 65, 69, 97, 99, 117, 116, 101, 11, 67, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 68, 99, 97, 114, 111, 110, 6, 68, 99, 114, 111, 97, 116, 6, 69, 98, 114, 101, 118, 101, 6, 69, 99, 97, 114, 111, 110, 10, 69, 100, 111, 116, 97, 99, 99, 101, 110, 116, 7, 69, 109, 97, 99, 114, 111, 110, 3, 69, 110, 103, 7, 69, 111, 103, 111, 110, 101, 107, 11, 71, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 71, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 72, 98, 97, 114, 11, 72, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 73, 98, 114, 101, 118, 101, 7, 73, 109, 97, 99, 114, 111, 110, 7, 73, 111, 103, 111, 110, 101, 107, 6, 73, 116, 105, 108, 100, 101, 11, 74, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 75, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 76, 97, 99, 117, 116, 101, 6, 76, 99, 97, 114, 111, 110, 12, 76, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 76, 100, 111, 116, 6, 78, 97, 99, 117, 116, 101, 6, 78, 99, 97, 114, 111, 110, 12, 78, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 79, 98, 114, 101, 118, 101, 5, 79, 104, 111, 114, 110, 13, 79, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 79, 109, 97, 99, 114, 111, 110, 11, 79, 115, 108, 97, 115, 104, 97, 99, 117, 116, 101, 6, 82, 97, 99, 117, 116, 101, 6, 82, 99, 97, 114, 111, 110, 12, 82, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 83, 97, 99, 117, 116, 101, 11, 83, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 4, 84, 98, 97, 114, 6, 84, 99, 97, 114, 111, 110, 6, 85, 98, 114, 101, 118, 101, 5, 85, 104, 111, 114, 110, 13, 85, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 85, 109, 97, 99, 114, 111, 110, 7, 85, 111, 103, 111, 110, 101, 107, 5, 85, 114, 105, 110, 103, 6, 85, 116, 105, 108, 100, 101, 6, 87, 97, 99, 117, 116, 101, 11, 87, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 9, 87, 100, 105, 101, 114, 101, 115, 105, 115, 6, 87, 103, 114, 97, 118, 101, 11, 89, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 89, 103, 114, 97, 118, 101, 6, 90, 97, 99, 117, 116, 101, 10, 90, 100, 111, 116, 97, 99, 99, 101, 110, 116, 6, 97, 98, 114, 101, 118, 101, 7, 97, 109, 97, 99, 114, 111, 110, 7, 97, 111, 103, 111, 110, 101, 107, 10, 97, 114, 105, 110, 103, 97, 99, 117, 116, 101, 7, 97, 101, 97, 99, 117, 116, 101, 11, 99, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 100, 99, 97, 114, 111, 110, 6, 101, 98, 114, 101, 118, 101, 6, 101, 99, 97, 114, 111, 110, 10, 101, 100, 111, 116, 97, 99, 99, 101, 110, 116, 7, 101, 109, 97, 99, 114, 111, 110, 3, 101, 110, 103, 7, 101, 111, 103, 111, 110, 101, 107, 11, 103, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 103, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 104, 98, 97, 114, 11, 104, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 105, 98, 114, 101, 118, 101, 7, 105, 109, 97, 99, 114, 111, 110, 7, 105, 111, 103, 111, 110, 101, 107, 6, 105, 116, 105, 108, 100, 101, 11, 106, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 107, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 108, 97, 99, 117, 116, 101, 6, 108, 99, 97, 114, 111, 110, 12, 108, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 108, 100, 111, 116, 6, 110, 97, 99, 117, 116, 101, 6, 110, 99, 97, 114, 111, 110, 12, 110, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 111, 98, 114, 101, 118, 101, 5, 111, 104, 111, 114, 110, 13, 111, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 111, 109, 97, 99, 114, 111, 110, 11, 111, 115, 108, 97, 115, 104, 97, 99, 117, 116, 101, 6, 114, 97, 99, 117, 116, 101, 6, 114, 99, 97, 114, 111, 110, 12, 114, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 115, 97, 99, 117, 116, 101, 11, 115, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 4, 116, 98, 97, 114, 6, 116, 99, 97, 114, 111, 110, 6, 117, 98, 114, 101, 118, 101, 5, 117, 104, 111, 114, 110, 13, 117, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 117, 109, 97, 99, 114, 111, 110, 7, 117, 111, 103, 111, 110, 101, 107, 5, 117, 114, 105, 110, 103, 6, 117, 116, 105, 108, 100, 101, 6, 119, 97, 99, 117, 116, 101, 11, 119, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 9, 119, 100, 105, 101, 114, 101, 115, 105, 115, 6, 119, 103, 114, 97, 118, 101, 11, 121, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 121, 103, 114, 97, 118, 101, 6, 122, 97, 99, 117, 116, 101, 10, 122, 100, 111, 116, 97, 99, 99, 101, 110, 116, 8, 100, 111, 116, 98, 101, 108, 111, 119, 11, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 2, 73, 74, 2, 105, 106, 5, 108, 111, 110, 103, 115, 7, 117, 110, 105, 48, 50, 51, 55, 7, 117, 110, 105, 48, 50, 70, 51, 9, 103, 114, 97, 118, 101, 99, 111, 109, 98, 9, 97, 99, 117, 116, 101, 99, 111, 109, 98, 9, 116, 105, 108, 100, 101, 99, 111, 109, 98, 4, 104, 111, 111, 107, 7, 117, 110, 105, 48, 51, 48, 70, 5, 116, 111, 110, 111, 115, 13, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 9, 97, 110, 111, 116, 101, 108, 101, 105, 97, 5, 71, 97, 109, 109, 97, 5, 84, 104, 101, 116, 97, 6, 76, 97, 109, 98, 100, 97, 2, 88, 105, 2, 80, 105, 5, 83, 105, 103, 109, 97, 3, 80, 104, 105, 3, 80, 115, 105, 5, 97, 108, 112, 104, 97, 4, 98, 101, 116, 97, 5, 103, 97, 109, 109, 97, 5, 100, 101, 108, 116, 97, 7, 101, 112, 115, 105, 108, 111, 110, 4, 122, 101, 116, 97, 3, 101, 116, 97, 5, 116, 104, 101, 116, 97, 4, 105, 111, 116, 97, 6, 108, 97, 109, 98, 100, 97, 2, 120, 105, 3, 114, 104, 111, 6, 115, 105, 103, 109, 97, 49, 5, 115, 105, 103, 109, 97, 3, 116, 97, 117, 7, 117, 112, 115, 105, 108, 111, 110, 3, 112, 104, 105, 3, 112, 115, 105, 5, 111, 109, 101, 103, 97, 7, 117, 110, 105, 48, 51, 68, 49, 7, 117, 110, 105, 48, 51, 68, 50, 7, 117, 110, 105, 48, 51, 68, 54, 7, 117, 110, 105, 48, 52, 48, 50, 7, 117, 110, 105, 48, 52, 48, 52, 7, 117, 110, 105, 48, 52, 48, 57, 7, 117, 110, 105, 48, 52, 48, 65, 7, 117, 110, 105, 48, 52, 48, 66, 7, 117, 110, 105, 48, 52, 48, 70, 7, 117, 110, 105, 48, 52, 49, 49, 7, 117, 110, 105, 48, 52, 49, 52, 7, 117, 110, 105, 48, 52, 49, 54, 7, 117, 110, 105, 48, 52, 49, 55, 7, 117, 110, 105, 48, 52, 49, 56, 7, 117, 110, 105, 48, 52, 49, 66, 7, 117, 110, 105, 48, 52, 50, 51, 7, 117, 110, 105, 48, 52, 50, 54, 7, 117, 110, 105, 48, 52, 50, 55, 7, 117, 110, 105, 48, 52, 50, 56, 7, 117, 110, 105, 48, 52, 50, 57, 7, 117, 110, 105, 48, 52, 50, 65, 7, 117, 110, 105, 48, 52, 50, 66, 7, 117, 110, 105, 48, 52, 50, 67, 7, 117, 110, 105, 48, 52, 50, 68, 7, 117, 110, 105, 48, 52, 50, 69, 7, 117, 110, 105, 48, 52, 50, 70, 7, 117, 110, 105, 48, 52, 51, 49, 7, 117, 110, 105, 48, 52, 51, 50, 7, 117, 110, 105, 48, 52, 51, 51, 7, 117, 110, 105, 48, 52, 51, 52, 7, 117, 110, 105, 48, 52, 51, 54, 7, 117, 110, 105, 48, 52, 51, 55, 7, 117, 110, 105, 48, 52, 51, 56, 7, 117, 110, 105, 48, 52, 51, 65, 7, 117, 110, 105, 48, 52, 51, 66, 7, 117, 110, 105, 48, 52, 51, 67, 7, 117, 110, 105, 48, 52, 51, 68, 7, 117, 110, 105, 48, 52, 51, 70, 7, 117, 110, 105, 48, 52, 52, 50, 7, 117, 110, 105, 48, 52, 52, 52, 7, 117, 110, 105, 48, 52, 52, 54, 7, 117, 110, 105, 48, 52, 52, 55, 7, 117, 110, 105, 48, 52, 52, 56, 7, 117, 110, 105, 48, 52, 52, 57, 7, 117, 110, 105, 48, 52, 52, 65, 7, 117, 110, 105, 48, 52, 52, 66, 7, 117, 110, 105, 48, 52, 52, 67, 7, 117, 110, 105, 48, 52, 52, 68, 7, 117, 110, 105, 48, 52, 52, 69, 7, 117, 110, 105, 48, 52, 52, 70, 7, 117, 110, 105, 48, 52, 53, 50, 7, 117, 110, 105, 48, 52, 53, 52, 7, 117, 110, 105, 48, 52, 53, 57, 7, 117, 110, 105, 48, 52, 53, 65, 7, 117, 110, 105, 48, 52, 53, 66, 7, 117, 110, 105, 48, 52, 53, 70, 7, 117, 110, 105, 48, 52, 54, 48, 7, 117, 110, 105, 48, 52, 54, 49, 7, 117, 110, 105, 48, 52, 54, 51, 7, 117, 110, 105, 48, 52, 54, 52, 7, 117, 110, 105, 48, 52, 54, 53, 7, 117, 110, 105, 48, 52, 54, 54, 7, 117, 110, 105, 48, 52, 54, 55, 7, 117, 110, 105, 48, 52, 54, 56, 7, 117, 110, 105, 48, 52, 54, 57, 7, 117, 110, 105, 48, 52, 54, 65, 7, 117, 110, 105, 48, 52, 54, 66, 7, 117, 110, 105, 48, 52, 54, 67, 7, 117, 110, 105, 48, 52, 54, 68, 7, 117, 110, 105, 48, 52, 54, 69, 7, 117, 110, 105, 48, 52, 54, 70, 7, 117, 110, 105, 48, 52, 55, 50, 7, 117, 110, 105, 48, 52, 55, 51, 7, 117, 110, 105, 48, 52, 55, 52, 7, 117, 110, 105, 48, 52, 55, 53, 7, 117, 110, 105, 48, 52, 55, 56, 7, 117, 110, 105, 48, 52, 55, 57, 7, 117, 110, 105, 48, 52, 55, 65, 7, 117, 110, 105, 48, 52, 55, 66, 7, 117, 110, 105, 48, 52, 55, 67, 7, 117, 110, 105, 48, 52, 55, 68, 7, 117, 110, 105, 48, 52, 55, 69, 7, 117, 110, 105, 48, 52, 55, 70, 7, 117, 110, 105, 48, 52, 56, 48, 7, 117, 110, 105, 48, 52, 56, 49, 7, 117, 110, 105, 48, 52, 56, 50, 7, 117, 110, 105, 48, 52, 56, 51, 7, 117, 110, 105, 48, 52, 56, 52, 7, 117, 110, 105, 48, 52, 56, 53, 7, 117, 110, 105, 48, 52, 56, 54, 7, 117, 110, 105, 48, 52, 56, 56, 7, 117, 110, 105, 48, 52, 56, 57, 7, 117, 110, 105, 48, 52, 56, 69, 7, 117, 110, 105, 48, 52, 56, 70, 7, 117, 110, 105, 48, 52, 57, 48, 7, 117, 110, 105, 48, 52, 57, 49, 7, 117, 110, 105, 48, 52, 57, 52, 7, 117, 110, 105, 48, 52, 57, 53, 7, 117, 110, 105, 48, 52, 57, 67, 7, 117, 110, 105, 48, 52, 57, 68, 7, 117, 110, 105, 48, 52, 65, 48, 7, 117, 110, 105, 48, 52, 65, 49, 7, 117, 110, 105, 48, 52, 65, 52, 7, 117, 110, 105, 48, 52, 65, 53, 7, 117, 110, 105, 48, 52, 65, 54, 7, 117, 110, 105, 48, 52, 65, 55, 7, 117, 110, 105, 48, 52, 65, 56, 7, 117, 110, 105, 48, 52, 65, 57, 7, 117, 110, 105, 48, 52, 66, 52, 7, 117, 110, 105, 48, 52, 66, 53, 7, 117, 110, 105, 48, 52, 66, 56, 7, 117, 110, 105, 48, 52, 66, 57, 7, 117, 110, 105, 48, 52, 66, 65, 7, 117, 110, 105, 48, 52, 66, 67, 7, 117, 110, 105, 48, 52, 66, 68, 7, 117, 110, 105, 48, 52, 67, 51, 7, 117, 110, 105, 48, 52, 67, 52, 7, 117, 110, 105, 48, 52, 67, 55, 7, 117, 110, 105, 48, 52, 67, 56, 7, 117, 110, 105, 48, 52, 68, 56, 7, 117, 110, 105, 48, 52, 69, 48, 7, 117, 110, 105, 48, 52, 69, 49, 7, 117, 110, 105, 48, 52, 70, 65, 7, 117, 110, 105, 48, 52, 70, 66, 7, 117, 110, 105, 48, 53, 48, 48, 7, 117, 110, 105, 48, 53, 48, 50, 7, 117, 110, 105, 48, 53, 48, 51, 7, 117, 110, 105, 48, 53, 48, 52, 7, 117, 110, 105, 48, 53, 48, 53, 7, 117, 110, 105, 48, 53, 48, 54, 7, 117, 110, 105, 48, 53, 48, 55, 7, 117, 110, 105, 48, 53, 48, 56, 7, 117, 110, 105, 48, 53, 48, 57, 7, 117, 110, 105, 48, 53, 48, 65, 7, 117, 110, 105, 48, 53, 48, 66, 7, 117, 110, 105, 48, 53, 48, 67, 7, 117, 110, 105, 48, 53, 48, 68, 7, 117, 110, 105, 48, 53, 48, 69, 7, 117, 110, 105, 48, 53, 48, 70, 7, 117, 110, 105, 48, 53, 49, 48, 7, 117, 110, 105, 50, 48, 48, 48, 7, 117, 110, 105, 50, 48, 48, 49, 7, 117, 110, 105, 50, 48, 48, 50, 7, 117, 110, 105, 50, 48, 48, 51, 7, 117, 110, 105, 50, 48, 48, 52, 7, 117, 110, 105, 50, 48, 48, 53, 7, 117, 110, 105, 50, 48, 48, 54, 7, 117, 110, 105, 50, 48, 48, 55, 7, 117, 110, 105, 50, 48, 48, 56, 7, 117, 110, 105, 50, 48, 48, 57, 7, 117, 110, 105, 50, 48, 48, 65, 7, 117, 110, 105, 50, 48, 48, 66, 13, 117, 110, 100, 101, 114, 115, 99, 111, 114, 101, 100, 98, 108, 13, 113, 117, 111, 116, 101, 114, 101, 118, 101, 114, 115, 101, 100, 7, 117, 110, 105, 50, 48, 50, 53, 7, 117, 110, 105, 50, 48, 55, 52, 9, 110, 115, 117, 112, 101, 114, 105, 111, 114, 4, 69, 117, 114, 111, 7, 117, 110, 105, 50, 49, 48, 53, 7, 117, 110, 105, 50, 49, 49, 51, 7, 117, 110, 105, 50, 49, 49, 54, 9, 101, 115, 116, 105, 109, 97, 116, 101, 100, 9, 111, 110, 101, 101, 105, 103, 104, 116, 104, 12, 116, 104, 114, 101, 101, 101, 105, 103, 104, 116, 104, 115, 11, 102, 105, 118, 101, 101, 105, 103, 104, 116, 104, 115, 12, 115, 101, 118, 101, 110, 101, 105, 103, 104, 116, 104, 115, 7, 117, 110, 105, 70, 69, 70, 70, 7, 117, 110, 105, 70, 70, 70, 67, 7, 117, 110, 105, 70, 70, 70, 68, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 116, 105, 108, 100, 101, 99, 111, 109, 98, 18, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 104, 111, 111, 107, 99, 111, 109, 98, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 103, 114, 97, 118, 101, 99, 111, 109, 98, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 97, 99, 117, 116, 101, 99, 111, 109, 98, 14, 98, 114, 101, 118, 101, 103, 114, 97, 118, 101, 99, 111, 109, 98, 17, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 114, 111, 116, 97, 116, 101, 6, 65, 46, 115, 109, 99, 112, 6, 66, 46, 115, 109, 99, 112, 6, 67, 46, 115, 109, 99, 112, 6, 68, 46, 115, 109, 99, 112, 6, 69, 46, 115, 109, 99, 112, 6, 70, 46, 115, 109, 99, 112, 6, 71, 46, 115, 109, 99, 112, 6, 72, 46, 115, 109, 99, 112, 6, 73, 46, 115, 109, 99, 112, 6, 74, 46, 115, 109, 99, 112, 6, 75, 46, 115, 109, 99, 112, 6, 76, 46, 115, 109, 99, 112, 6, 77, 46, 115, 109, 99, 112, 6, 78, 46, 115, 109, 99, 112, 6, 79, 46, 115, 109, 99, 112, 6, 81, 46, 115, 109, 99, 112, 6, 82, 46, 115, 109, 99, 112, 6, 83, 46, 115, 109, 99, 112, 6, 84, 46, 115, 109, 99, 112, 6, 85, 46, 115, 109, 99, 112, 6, 86, 46, 115, 109, 99, 112, 6, 87, 46, 115, 109, 99, 112, 6, 88, 46, 115, 109, 99, 112, 6, 89, 46, 115, 109, 99, 112, 6, 90, 46, 115, 109, 99, 112, 13, 98, 114, 101, 118, 101, 104, 111, 111, 107, 99, 111, 109, 98, 14, 98, 114, 101, 118, 101, 97, 99, 117, 116, 101, 99, 111, 109, 98, 8, 99, 114, 111, 115, 115, 98, 97, 114, 9, 114, 105, 110, 103, 97, 99, 117, 116, 101, 9, 100, 97, 115, 105, 97, 111, 120, 105, 97, 14, 98, 114, 101, 118, 101, 116, 105, 108, 100, 101, 99, 111, 109, 98, 11, 99, 121, 114, 105, 108, 108, 105, 99, 116, 105, 99, 12, 99, 121, 114, 105, 108, 108, 105, 99, 104, 111, 111, 107, 6, 80, 46, 115, 109, 99, 112, 5, 75, 46, 97, 108, 116, 15, 71, 101, 114, 109, 97, 110, 100, 98, 108, 115, 46, 115, 109, 99, 112, 7, 117, 110, 105, 48, 48, 65, 68, 7, 117, 110, 105, 48, 49, 48, 65, 7, 117, 110, 105, 48, 49, 48, 66, 7, 117, 110, 105, 48, 49, 50, 48, 7, 117, 110, 105, 48, 49, 50, 49, 11, 110, 97, 112, 111, 115, 116, 114, 111, 112, 104, 101, 7, 117, 110, 105, 48, 50, 49, 56, 7, 117, 110, 105, 48, 50, 49, 57, 7, 117, 110, 105, 48, 50, 49, 65, 7, 117, 110, 105, 48, 50, 49, 66, 7, 117, 110, 105, 48, 49, 54, 50, 12, 117, 110, 105, 48, 49, 54, 50, 46, 115, 109, 99, 112, 7, 117, 110, 105, 48, 49, 54, 51, 11, 68, 99, 114, 111, 97, 116, 46, 115, 109, 99, 112, 8, 69, 116, 104, 46, 115, 109, 99, 112, 9, 84, 98, 97, 114, 46, 115, 109, 99, 112, 11, 65, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 65, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 65, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 65, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 14, 65, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 10, 65, 114, 105, 110, 103, 46, 115, 109, 99, 112, 15, 65, 114, 105, 110, 103, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 13, 67, 99, 101, 100, 105, 108, 108, 97, 46, 115, 109, 99, 112, 11, 69, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 69, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 69, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 69, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 73, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 73, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 73, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 73, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 78, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 11, 79, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 79, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 79, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 79, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 14, 79, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 85, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 85, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 85, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 85, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 89, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 12, 65, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 65, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 12, 65, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 11, 67, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 67, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 67, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 68, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 12, 69, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 69, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 15, 69, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 12, 69, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 11, 69, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 16, 71, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 71, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 17, 71, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 16, 72, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 73, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 12, 73, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 73, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 12, 73, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 15, 73, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 16, 74, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 17, 75, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 76, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 76, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 76, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 9, 76, 100, 111, 116, 46, 115, 109, 99, 112, 11, 78, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 78, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 78, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 12, 79, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 79, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 18, 79, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 46, 115, 109, 99, 112, 11, 82, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 82, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 82, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 83, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 83, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 13, 83, 99, 101, 100, 105, 108, 108, 97, 46, 115, 109, 99, 112, 11, 83, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 84, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 85, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 12, 85, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 85, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 10, 85, 114, 105, 110, 103, 46, 115, 109, 99, 112, 18, 85, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 46, 115, 109, 99, 112, 12, 85, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 16, 87, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 16, 89, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 89, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 90, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 15, 90, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 90, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 10, 65, 108, 112, 104, 97, 116, 111, 110, 111, 115, 12, 69, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 8, 69, 116, 97, 116, 111, 110, 111, 115, 9, 73, 111, 116, 97, 116, 111, 110, 111, 115, 12, 79, 109, 105, 99, 114, 111, 110, 116, 111, 110, 111, 115, 12, 85, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 10, 79, 109, 101, 103, 97, 116, 111, 110, 111, 115, 17, 105, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 5, 65, 108, 112, 104, 97, 4, 66, 101, 116, 97, 7, 69, 112, 115, 105, 108, 111, 110, 4, 90, 101, 116, 97, 3, 69, 116, 97, 4, 73, 111, 116, 97, 5, 75, 97, 112, 112, 97, 2, 77, 117, 2, 78, 117, 7, 79, 109, 105, 99, 114, 111, 110, 3, 82, 104, 111, 3, 84, 97, 117, 7, 85, 112, 115, 105, 108, 111, 110, 3, 67, 104, 105, 12, 73, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 15, 85, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 10, 97, 108, 112, 104, 97, 116, 111, 110, 111, 115, 12, 101, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 8, 101, 116, 97, 116, 111, 110, 111, 115, 9, 105, 111, 116, 97, 116, 111, 110, 111, 115, 20, 117, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 5, 107, 97, 112, 112, 97, 7, 111, 109, 105, 99, 114, 111, 110, 7, 117, 110, 105, 48, 51, 66, 67, 2, 110, 117, 3, 99, 104, 105, 12, 105, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 15, 117, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 12, 111, 109, 105, 99, 114, 111, 110, 116, 111, 110, 111, 115, 12, 117, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 10, 111, 109, 101, 103, 97, 116, 111, 110, 111, 115, 7, 117, 110, 105, 48, 52, 48, 49, 7, 117, 110, 105, 48, 52, 48, 51, 7, 117, 110, 105, 48, 52, 48, 53, 7, 117, 110, 105, 48, 52, 48, 54, 7, 117, 110, 105, 48, 52, 48, 55, 7, 117, 110, 105, 48, 52, 48, 56, 7, 117, 110, 105, 48, 52, 49, 65, 7, 117, 110, 105, 48, 52, 48, 67, 7, 117, 110, 105, 48, 52, 48, 69, 7, 117, 110, 105, 48, 52, 49, 48, 7, 117, 110, 105, 48, 52, 49, 50, 7, 117, 110, 105, 48, 52, 49, 51, 7, 117, 110, 105, 48, 52, 49, 53, 7, 117, 110, 105, 48, 52, 49, 57, 7, 117, 110, 105, 48, 52, 49, 67, 7, 117, 110, 105, 48, 52, 49, 68, 7, 117, 110, 105, 48, 52, 49, 69, 7, 117, 110, 105, 48, 52, 49, 70, 7, 117, 110, 105, 48, 52, 50, 48, 7, 117, 110, 105, 48, 52, 50, 49, 7, 117, 110, 105, 48, 52, 50, 50, 7, 117, 110, 105, 48, 52, 50, 52, 7, 117, 110, 105, 48, 52, 50, 53, 7, 117, 110, 105, 48, 52, 51, 48, 7, 117, 110, 105, 48, 52, 51, 53, 7, 117, 110, 105, 48, 52, 51, 57, 7, 117, 110, 105, 48, 52, 51, 69, 7, 117, 110, 105, 48, 52, 52, 48, 7, 117, 110, 105, 48, 52, 52, 49, 7, 117, 110, 105, 48, 52, 52, 51, 7, 117, 110, 105, 48, 52, 52, 53, 7, 117, 110, 105, 48, 52, 53, 49, 7, 117, 110, 105, 48, 52, 53, 51, 7, 117, 110, 105, 48, 52, 53, 53, 7, 117, 110, 105, 48, 52, 53, 54, 7, 117, 110, 105, 48, 52, 53, 55, 7, 117, 110, 105, 48, 52, 53, 56, 7, 117, 110, 105, 48, 52, 53, 67, 7, 117, 110, 105, 48, 52, 53, 69, 9, 101, 120, 99, 108, 97, 109, 100, 98, 108, 7, 117, 110, 105, 48, 49, 70, 48, 7, 117, 110, 105, 48, 50, 66, 67, 7, 117, 110, 105, 49, 69, 51, 69, 7, 117, 110, 105, 49, 69, 51, 70, 7, 117, 110, 105, 49, 69, 48, 48, 7, 117, 110, 105, 49, 69, 48, 49, 7, 117, 110, 105, 49, 70, 52, 68, 7, 117, 110, 105, 48, 52, 48, 48, 7, 117, 110, 105, 48, 52, 48, 68, 7, 117, 110, 105, 48, 52, 53, 48, 7, 117, 110, 105, 48, 52, 53, 68, 7, 117, 110, 105, 48, 52, 55, 48, 7, 117, 110, 105, 48, 52, 55, 49, 7, 117, 110, 105, 48, 52, 55, 54, 7, 117, 110, 105, 48, 52, 55, 55, 7, 117, 110, 105, 48, 52, 57, 56, 7, 117, 110, 105, 48, 52, 57, 57, 7, 117, 110, 105, 48, 52, 65, 65, 7, 117, 110, 105, 48, 52, 65, 66, 7, 117, 110, 105, 48, 52, 65, 69, 7, 117, 110, 105, 48, 52, 65, 70, 7, 117, 110, 105, 48, 52, 67, 48, 7, 117, 110, 105, 48, 52, 67, 49, 7, 117, 110, 105, 48, 52, 67, 50, 7, 117, 110, 105, 48, 52, 67, 70, 7, 117, 110, 105, 48, 52, 68, 48, 7, 117, 110, 105, 48, 52, 68, 49, 7, 117, 110, 105, 48, 52, 68, 50, 7, 117, 110, 105, 48, 52, 68, 51, 7, 117, 110, 105, 48, 52, 68, 52, 7, 117, 110, 105, 48, 52, 68, 53, 7, 117, 110, 105, 48, 52, 68, 54, 7, 117, 110, 105, 48, 52, 68, 55, 7, 117, 110, 105, 48, 52, 68, 65, 7, 117, 110, 105, 48, 52, 68, 57, 7, 117, 110, 105, 48, 52, 68, 66, 7, 117, 110, 105, 48, 52, 68, 67, 7, 117, 110, 105, 48, 52, 68, 68, 7, 117, 110, 105, 48, 52, 68, 69, 7, 117, 110, 105, 48, 52, 68, 70, 7, 117, 110, 105, 48, 52, 69, 50, 7, 117, 110, 105, 48, 52, 69, 51, 7, 117, 110, 105, 48, 52, 69, 52, 7, 117, 110, 105, 48, 52, 69, 53, 7, 117, 110, 105, 48, 52, 69, 54, 7, 117, 110, 105, 48, 52, 69, 55, 7, 117, 110, 105, 48, 52, 69, 56, 7, 117, 110, 105, 48, 52, 69, 57, 7, 117, 110, 105, 48, 52, 69, 65, 7, 117, 110, 105, 48, 52, 69, 66, 7, 117, 110, 105, 48, 52, 69, 67, 7, 117, 110, 105, 48, 52, 69, 68, 7, 117, 110, 105, 48, 52, 69, 69, 7, 117, 110, 105, 48, 52, 69, 70, 7, 117, 110, 105, 48, 52, 70, 48, 7, 117, 110, 105, 48, 52, 70, 49, 7, 117, 110, 105, 48, 52, 70, 50, 7, 117, 110, 105, 48, 52, 70, 51, 7, 117, 110, 105, 48, 52, 70, 52, 7, 117, 110, 105, 48, 52, 70, 53, 7, 117, 110, 105, 48, 52, 70, 56, 7, 117, 110, 105, 48, 52, 70, 57, 7, 117, 110, 105, 48, 52, 70, 67, 7, 117, 110, 105, 48, 52, 70, 68, 7, 117, 110, 105, 48, 53, 48, 49, 7, 117, 110, 105, 48, 53, 49, 50, 7, 117, 110, 105, 48, 53, 49, 51, 7, 117, 110, 105, 49, 69, 65, 48, 7, 117, 110, 105, 49, 69, 65, 49, 7, 117, 110, 105, 49, 69, 65, 50, 7, 117, 110, 105, 49, 69, 65, 51, 7, 117, 110, 105, 49, 69, 65, 52, 7, 117, 110, 105, 49, 69, 65, 53, 7, 117, 110, 105, 49, 69, 65, 54, 7, 117, 110, 105, 49, 69, 65, 55, 7, 117, 110, 105, 49, 69, 65, 56, 7, 117, 110, 105, 49, 69, 65, 57, 7, 117, 110, 105, 49, 69, 65, 65, 7, 117, 110, 105, 49, 69, 65, 66, 7, 117, 110, 105, 49, 69, 65, 67, 7, 117, 110, 105, 49, 69, 65, 68, 7, 117, 110, 105, 49, 69, 65, 69, 7, 117, 110, 105, 49, 69, 65, 70, 7, 117, 110, 105, 49, 69, 66, 48, 7, 117, 110, 105, 49, 69, 66, 49, 7, 117, 110, 105, 49, 69, 66, 50, 7, 117, 110, 105, 49, 69, 66, 51, 7, 117, 110, 105, 49, 69, 66, 52, 7, 117, 110, 105, 49, 69, 66, 53, 7, 117, 110, 105, 49, 69, 66, 54, 7, 117, 110, 105, 49, 69, 66, 55, 7, 117, 110, 105, 49, 69, 66, 56, 7, 117, 110, 105, 49, 69, 66, 57, 7, 117, 110, 105, 49, 69, 66, 65, 7, 117, 110, 105, 49, 69, 66, 66, 7, 117, 110, 105, 49, 69, 66, 67, 7, 117, 110, 105, 49, 69, 66, 68, 7, 117, 110, 105, 49, 69, 66, 69, 7, 117, 110, 105, 49, 69, 66, 70, 7, 117, 110, 105, 49, 69, 67, 48, 7, 117, 110, 105, 49, 69, 67, 49, 7, 117, 110, 105, 49, 69, 67, 50, 7, 117, 110, 105, 49, 69, 67, 51, 7, 117, 110, 105, 49, 69, 67, 52, 7, 117, 110, 105, 49, 69, 67, 53, 7, 117, 110, 105, 49, 69, 67, 54, 7, 117, 110, 105, 49, 69, 67, 55, 7, 117, 110, 105, 49, 69, 67, 56, 7, 117, 110, 105, 49, 69, 67, 57, 7, 117, 110, 105, 49, 69, 67, 65, 7, 117, 110, 105, 49, 69, 67, 66, 7, 117, 110, 105, 49, 69, 67, 67, 7, 117, 110, 105, 49, 69, 67, 68, 7, 117, 110, 105, 49, 69, 67, 69, 7, 117, 110, 105, 49, 69, 67, 70, 7, 117, 110, 105, 49, 69, 68, 48, 7, 117, 110, 105, 49, 69, 68, 49, 7, 117, 110, 105, 49, 69, 68, 50, 7, 117, 110, 105, 49, 69, 68, 51, 7, 117, 110, 105, 49, 69, 68, 52, 7, 117, 110, 105, 49, 69, 68, 53, 7, 117, 110, 105, 49, 69, 68, 54, 7, 117, 110, 105, 49, 69, 68, 55, 7, 117, 110, 105, 49, 69, 68, 56, 7, 117, 110, 105, 49, 69, 68, 57, 7, 117, 110, 105, 49, 69, 68, 65, 7, 117, 110, 105, 49, 69, 68, 66, 7, 117, 110, 105, 49, 69, 68, 67, 7, 117, 110, 105, 49, 69, 68, 68, 7, 117, 110, 105, 49, 69, 68, 69, 7, 117, 110, 105, 49, 69, 68, 70, 7, 117, 110, 105, 49, 69, 69, 48, 7, 117, 110, 105, 49, 69, 69, 49, 7, 117, 110, 105, 49, 69, 69, 50, 7, 117, 110, 105, 49, 69, 69, 51, 7, 117, 110, 105, 49, 69, 69, 52, 7, 117, 110, 105, 49, 69, 69, 53, 7, 117, 110, 105, 49, 69, 69, 54, 7, 117, 110, 105, 49, 69, 69, 55, 7, 117, 110, 105, 49, 69, 69, 56, 7, 117, 110, 105, 49, 69, 69, 57, 7, 117, 110, 105, 49, 69, 69, 65, 7, 117, 110, 105, 49, 69, 69, 66, 7, 117, 110, 105, 49, 69, 69, 67, 7, 117, 110, 105, 49, 69, 69, 68, 7, 117, 110, 105, 49, 69, 69, 69, 7, 117, 110, 105, 49, 69, 69, 70, 7, 117, 110, 105, 49, 69, 70, 48, 7, 117, 110, 105, 49, 69, 70, 49, 7, 117, 110, 105, 49, 69, 70, 52, 7, 117, 110, 105, 49, 69, 70, 53, 7, 117, 110, 105, 49, 69, 70, 54, 7, 117, 110, 105, 49, 69, 70, 55, 7, 117, 110, 105, 49, 69, 70, 56, 7, 117, 110, 105, 49, 69, 70, 57, 7, 117, 110, 105, 50, 48, 65, 66, 7, 117, 110, 105, 48, 52, 57, 65, 7, 117, 110, 105, 48, 52, 57, 66, 7, 117, 110, 105, 48, 52, 65, 50, 7, 117, 110, 105, 48, 52, 65, 51, 7, 117, 110, 105, 48, 52, 65, 67, 7, 117, 110, 105, 48, 52, 65, 68, 7, 117, 110, 105, 48, 52, 66, 50, 7, 117, 110, 105, 48, 52, 66, 51, 7, 117, 110, 105, 48, 52, 66, 54, 7, 117, 110, 105, 48, 52, 66, 55, 7, 117, 110, 105, 48, 52, 67, 66, 7, 117, 110, 105, 48, 52, 67, 67, 7, 117, 110, 105, 48, 52, 70, 54, 7, 117, 110, 105, 48, 52, 70, 55, 7, 117, 110, 105, 48, 52, 57, 54, 7, 117, 110, 105, 48, 52, 57, 55, 7, 117, 110, 105, 48, 52, 66, 69, 7, 117, 110, 105, 48, 52, 66, 70, 7, 117, 110, 105, 48, 52, 66, 66, 7, 117, 110, 105, 48, 52, 56, 68, 7, 117, 110, 105, 48, 52, 56, 67, 7, 117, 110, 105, 48, 52, 54, 50, 7, 117, 110, 105, 48, 52, 57, 50, 7, 117, 110, 105, 48, 52, 57, 51, 7, 117, 110, 105, 48, 52, 57, 69, 7, 117, 110, 105, 48, 52, 57, 70, 7, 117, 110, 105, 48, 52, 56, 65, 7, 117, 110, 105, 48, 52, 56, 66, 7, 117, 110, 105, 48, 52, 67, 57, 7, 117, 110, 105, 48, 52, 67, 65, 7, 117, 110, 105, 48, 52, 67, 68, 7, 117, 110, 105, 48, 52, 67, 69, 7, 117, 110, 105, 48, 52, 67, 53, 7, 117, 110, 105, 48, 52, 67, 54, 7, 117, 110, 105, 48, 52, 66, 48, 7, 117, 110, 105, 48, 52, 66, 49, 7, 117, 110, 105, 48, 52, 70, 69, 7, 117, 110, 105, 48, 52, 70, 70, 7, 117, 110, 105, 48, 53, 49, 49, 7, 117, 110, 105, 50, 48, 49, 53, 0, 1, 0, 1, 255, 255, 0, 15, 0, 1, 0, 0, 0, 10, 0, 48, 0, 62, 0, 4, 68, 70, 76, 84, 0, 26, 99, 121, 114, 108, 0, 26, 103, 114, 101, 107, 0, 26, 108, 97, 116, 110, 0, 26, 0, 4, 0, 0, 0, 0, 255, 255, 0, 1, 0, 0, 0, 1, 115, 109, 99, 112, 0, 8, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0, 1, 0, 0, 0, 1, 0, 8, 0, 2, 1, 190, 0, 220, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 112, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 112, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 130, 2, 114, 2, 133, 2, 160, 2, 134, 2, 136, 2, 132, 2, 159, 2, 161, 2, 137, 2, 138, 2, 135, 2, 162, 2, 164, 2, 139, 2, 163, 2, 165, 2, 129, 2, 141, 2, 167, 2, 170, 2, 142, 2, 143, 2, 168, 2, 140, 2, 166, 2, 169, 2, 130, 2, 172, 2, 171, 2, 173, 2, 174, 2, 145, 2, 177, 2, 146, 2, 147, 2, 179, 2, 144, 2, 176, 2, 178, 2, 175, 2, 180, 2, 181, 2, 182, 2, 184, 2, 183, 2, 185, 2, 186, 2, 188, 2, 187, 2, 148, 2, 150, 2, 190, 2, 151, 2, 153, 2, 149, 2, 191, 2, 189, 2, 152, 2, 192, 2, 194, 2, 193, 2, 195, 2, 198, 2, 197, 2, 196, 2, 131, 2, 199, 2, 155, 2, 202, 2, 156, 2, 157, 2, 154, 2, 204, 2, 201, 2, 205, 2, 203, 2, 200, 2, 206, 2, 158, 2, 207, 2, 208, 2, 209, 2, 211, 2, 210, 2, 133, 2, 160, 2, 134, 2, 136, 2, 132, 2, 159, 2, 161, 2, 137, 2, 138, 2, 135, 2, 162, 2, 164, 2, 139, 2, 163, 2, 165, 2, 129, 2, 141, 2, 167, 2, 170, 2, 142, 2, 143, 2, 168, 2, 140, 2, 166, 2, 169, 2, 172, 2, 171, 2, 173, 2, 174, 2, 145, 2, 177, 2, 146, 2, 147, 2, 144, 2, 176, 2, 178, 2, 175, 2, 180, 2, 181, 2, 182, 2, 184, 2, 183, 2, 185, 2, 186, 2, 188, 2, 187, 2, 148, 2, 150, 2, 190, 2, 151, 2, 153, 2, 149, 2, 191, 2, 189, 2, 152, 2, 192, 2, 194, 2, 193, 2, 195, 2, 198, 2, 197, 2, 196, 2, 131, 2, 199, 2, 155, 2, 202, 2, 156, 2, 157, 2, 154, 2, 204, 2, 201, 2, 205, 2, 203, 2, 200, 2, 206, 2, 158, 2, 207, 2, 208, 2, 209, 2, 211, 2, 210, 2, 127, 2, 127, 0, 2, 0, 26, 0, 2, 0, 53, 0, 0, 0, 76, 0, 76, 0, 52, 0, 80, 0, 80, 0, 53, 0, 158, 0, 167, 0, 54, 0, 169, 0, 182, 0, 64, 0, 184, 0, 188, 0, 78, 0, 190, 0, 205, 0, 83, 0, 207, 0, 215, 0, 99, 0, 217, 0, 218, 0, 108, 0, 221, 0, 235, 0, 110, 0, 237, 0, 241, 0, 125, 0, 243, 0, 243, 0, 130, 0, 246, 0, 248, 0, 131, 0, 250, 1, 6, 0, 134, 1, 8, 1, 21, 0, 147, 1, 23, 1, 26, 0, 161, 1, 28, 1, 42, 0, 165, 1, 44, 1, 52, 0, 180, 1, 54, 1, 55, 0, 189, 1, 58, 1, 72, 0, 191, 1, 74, 1, 78, 0, 206, 1, 80, 1, 80, 0, 211, 1, 83, 1, 85, 0, 212, 1, 87, 1, 89, 0, 215, 2, 126, 2, 126, 0, 218, 2, 128, 2, 128, 0, 219, 0, 1, 0, 1, 0, 8, 0, 2, 0, 0, 0, 20, 0, 2, 0, 0, 0, 36, 0, 2, 119, 103, 104, 116, 1, 0, 0, 0, 105, 116, 97, 108, 1, 11, 0, 1, 0, 4, 0, 16, 0, 1, 0, 0, 0, 0, 1, 16, 2, 188, 0, 0, 0, 3, 0, 1, 0, 2, 1, 17, 0, 0, 0, 0, 0, 1, 0, 0) font_name = "Roboto Mono" style_name = "Bold" @@ -273,7 +51,7 @@ cache/0/14/0/scale = 1.0 cache/0/14/0/kerning_overrides/16/0 = Vector2(0, 0) cache/0/14/0/kerning_overrides/14/0 = Vector2(0, 0) -[sub_resource type="FontFile" id="FontFile_uy7mm"] +[sub_resource type="FontFile" id="FontFile_krpv6"] data = PackedByteArray(0, 1, 0, 0, 0, 14, 0, 128, 0, 3, 0, 96, 71, 83, 85, 66, 54, 189, 53, 203, 0, 1, 107, 228, 0, 0, 2, 168, 79, 83, 47, 50, 152, 226, 171, 67, 0, 1, 62, 204, 0, 0, 0, 96, 83, 84, 65, 84, 231, 108, 204, 46, 0, 1, 110, 140, 0, 0, 0, 68, 99, 109, 97, 112, 136, 53, 174, 103, 0, 1, 63, 44, 0, 0, 7, 80, 103, 97, 115, 112, 0, 0, 0, 16, 0, 1, 107, 220, 0, 0, 0, 8, 103, 108, 121, 102, 12, 74, 140, 60, 0, 0, 0, 236, 0, 1, 45, 194, 104, 101, 97, 100, 2, 59, 156, 14, 0, 1, 54, 160, 0, 0, 0, 54, 104, 104, 101, 97, 11, 181, 0, 151, 0, 1, 62, 168, 0, 0, 0, 36, 104, 109, 116, 120, 181, 159, 193, 58, 0, 1, 54, 216, 0, 0, 7, 208, 108, 111, 99, 97, 59, 113, 133, 84, 0, 1, 46, 208, 0, 0, 7, 208, 109, 97, 120, 112, 4, 6, 1, 98, 0, 1, 46, 176, 0, 0, 0, 32, 110, 97, 109, 101, 93, 18, 136, 85, 0, 1, 70, 132, 0, 0, 3, 154, 112, 111, 115, 116, 151, 175, 175, 6, 0, 1, 74, 32, 0, 0, 33, 188, 112, 114, 101, 112, 104, 6, 140, 133, 0, 1, 70, 124, 0, 0, 0, 7, 0, 2, 255, 226, 0, 0, 4, 2, 5, 176, 0, 7, 0, 10, 0, 0, 65, 19, 51, 3, 35, 1, 51, 19, 55, 1, 19, 3, 39, 46, 173, 195, 152, 253, 59, 188, 180, 75, 1, 43, 76, 1, 121, 254, 135, 5, 176, 250, 80, 1, 121, 161, 2, 118, 253, 138, 0, 3, 0, 62, 0, 0, 4, 114, 5, 176, 0, 26, 0, 41, 0, 56, 0, 0, 115, 33, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 19, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 37, 19, 19, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 62, 1, 209, 96, 184, 73, 72, 94, 7, 4, 21, 25, 25, 76, 52, 52, 95, 37, 36, 47, 5, 8, 62, 57, 58, 153, 84, 254, 103, 47, 1, 41, 54, 85, 28, 28, 25, 7, 8, 61, 46, 46, 113, 61, 254, 246, 118, 80, 1, 0, 49, 87, 31, 31, 31, 7, 7, 60, 44, 44, 108, 55, 56, 55, 55, 160, 103, 54, 102, 44, 43, 69, 20, 22, 59, 38, 38, 97, 61, 93, 139, 48, 47, 49, 3, 1, 252, 249, 1, 3, 39, 33, 34, 91, 54, 63, 100, 34, 35, 38, 1, 2, 2, 166, 1, 207, 1, 2, 29, 27, 27, 81, 54, 59, 90, 31, 31, 32, 1, 0, 1, 0, 100, 255, 233, 4, 133, 5, 198, 0, 63, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 4, 22, 174, 18, 59, 43, 43, 113, 72, 63, 88, 28, 28, 29, 5, 5, 6, 7, 34, 9, 31, 24, 23, 63, 43, 42, 107, 66, 68, 91, 29, 28, 26, 3, 179, 4, 53, 51, 51, 152, 103, 91, 152, 62, 63, 98, 36, 37, 49, 13, 32, 10, 4, 17, 16, 62, 49, 48, 133, 86, 105, 177, 69, 68, 92, 1, 184, 3, 64, 114, 42, 42, 48, 3, 2, 49, 40, 39, 101, 54, 54, 109, 47, 206, 54, 117, 56, 55, 100, 37, 36, 42, 2, 2, 55, 44, 44, 112, 60, 96, 168, 63, 63, 75, 2, 2, 51, 45, 46, 125, 72, 73, 158, 79, 203, 73, 151, 71, 71, 126, 47, 48, 57, 2, 3, 69, 62, 62, 171, 0, 0, 2, 0, 46, 0, 0, 4, 119, 5, 176, 0, 21, 0, 43, 0, 0, 115, 33, 50, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 37, 23, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 39, 46, 1, 83, 104, 185, 78, 70, 123, 46, 47, 64, 15, 15, 11, 12, 21, 23, 84, 59, 63, 165, 102, 254, 196, 158, 155, 75, 114, 41, 37, 51, 12, 16, 4, 9, 16, 12, 46, 33, 34, 91, 56, 57, 138, 80, 133, 50, 46, 41, 120, 72, 74, 175, 96, 107, 85, 159, 71, 75, 129, 45, 50, 58, 2, 1, 152, 1, 3, 45, 37, 35, 91, 51, 59, 131, 67, 110, 71, 133, 57, 57, 97, 33, 36, 39, 1, 1, 0, 0, 1, 0, 72, 0, 0, 4, 161, 5, 176, 0, 11, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 33, 55, 33, 19, 3, 191, 28, 253, 178, 81, 2, 167, 28, 252, 164, 253, 3, 100, 28, 253, 80, 90, 2, 161, 157, 1, 212, 158, 250, 80, 157, 2, 4, 0, 0, 1, 0, 81, 0, 0, 4, 178, 5, 176, 0, 9, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 51, 19, 3, 195, 27, 253, 180, 87, 2, 173, 28, 252, 155, 252, 182, 112, 2, 131, 157, 1, 242, 158, 250, 80, 2, 131, 0, 1, 0, 96, 255, 232, 4, 133, 5, 198, 0, 61, 0, 0, 101, 19, 33, 7, 33, 3, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 3, 252, 82, 254, 53, 27, 1, 31, 57, 61, 159, 85, 63, 89, 30, 31, 35, 7, 8, 2, 7, 28, 9, 33, 24, 24, 67, 43, 43, 108, 67, 64, 91, 29, 29, 30, 4, 177, 2, 56, 52, 53, 153, 98, 92, 154, 63, 64, 100, 37, 38, 50, 13, 26, 10, 7, 19, 18, 68, 51, 50, 136, 86, 143, 251, 191, 2, 22, 156, 254, 185, 63, 45, 5, 3, 51, 40, 39, 101, 55, 54, 111, 49, 172, 55, 118, 57, 56, 102, 38, 37, 43, 2, 2, 47, 40, 40, 104, 57, 94, 162, 60, 60, 70, 2, 2, 53, 47, 48, 129, 74, 75, 161, 79, 169, 74, 155, 72, 73, 129, 48, 49, 59, 3, 5, 111, 0, 1, 0, 32, 0, 0, 4, 180, 5, 176, 0, 11, 0, 0, 97, 19, 35, 3, 33, 19, 35, 3, 51, 19, 33, 3, 3, 183, 253, 171, 109, 253, 190, 109, 170, 253, 170, 117, 2, 66, 117, 5, 176, 253, 142, 2, 114, 250, 80, 2, 161, 253, 95, 0, 0, 1, 0, 64, 0, 0, 4, 148, 5, 176, 0, 11, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 33, 55, 1, 61, 29, 1, 76, 197, 254, 181, 28, 3, 87, 28, 254, 173, 197, 1, 82, 29, 5, 176, 161, 251, 145, 160, 160, 4, 111, 161, 0, 1, 0, 63, 255, 234, 4, 140, 5, 176, 0, 27, 0, 0, 65, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 3, 211, 173, 11, 57, 43, 43, 111, 66, 62, 88, 28, 28, 26, 2, 182, 1, 53, 51, 50, 148, 97, 102, 180, 70, 69, 92, 15, 173, 5, 176, 252, 11, 62, 112, 42, 43, 49, 2, 1, 48, 39, 39, 101, 56, 1, 92, 160, 59, 60, 69, 2, 2, 70, 63, 63, 170, 99, 3, 245, 0, 1, 0, 62, 0, 0, 4, 252, 5, 176, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 7, 19, 35, 3, 51, 19, 2, 16, 1, 52, 207, 254, 131, 2, 102, 234, 254, 5, 158, 123, 185, 253, 185, 84, 2, 162, 253, 94, 3, 42, 2, 134, 253, 233, 165, 2, 188, 250, 80, 1, 227, 0, 1, 0, 88, 0, 0, 3, 219, 5, 176, 0, 5, 0, 0, 101, 19, 35, 3, 33, 55, 1, 40, 225, 181, 252, 3, 103, 28, 157, 5, 19, 250, 80, 157, 0, 1, 0, 39, 0, 0, 4, 192, 5, 176, 0, 14, 0, 0, 65, 35, 3, 51, 27, 2, 51, 1, 3, 3, 51, 19, 35, 1, 1, 255, 219, 253, 176, 99, 91, 107, 105, 1, 133, 116, 102, 176, 252, 228, 254, 138, 5, 176, 250, 80, 2, 60, 2, 93, 252, 252, 2, 255, 253, 186, 253, 178, 5, 176, 253, 42, 0, 1, 0, 34, 0, 0, 4, 179, 5, 176, 0, 9, 0, 0, 97, 19, 35, 3, 1, 35, 3, 51, 19, 1, 3, 182, 253, 183, 193, 254, 150, 178, 253, 183, 193, 1, 106, 5, 176, 251, 186, 4, 70, 250, 80, 4, 72, 251, 184, 0, 0, 2, 0, 102, 255, 234, 4, 109, 5, 198, 0, 37, 0, 75, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 73, 26, 10, 3, 14, 15, 59, 47, 47, 131, 87, 90, 151, 61, 62, 97, 35, 36, 47, 13, 26, 10, 3, 15, 15, 60, 47, 47, 131, 86, 90, 151, 62, 61, 96, 36, 35, 47, 140, 27, 9, 30, 22, 23, 62, 41, 41, 106, 65, 62, 85, 28, 28, 28, 5, 5, 6, 6, 28, 9, 30, 23, 23, 63, 42, 41, 105, 65, 62, 85, 28, 27, 28, 5, 4, 7, 2, 133, 165, 71, 153, 74, 73, 132, 50, 50, 61, 2, 2, 54, 48, 49, 132, 74, 75, 159, 77, 166, 71, 152, 73, 73, 132, 50, 50, 61, 2, 2, 54, 48, 48, 132, 75, 74, 159, 246, 170, 53, 116, 56, 57, 102, 38, 39, 43, 2, 2, 51, 41, 40, 104, 55, 55, 108, 45, 169, 52, 116, 57, 56, 101, 39, 38, 43, 2, 2, 50, 40, 40, 103, 54, 55, 108, 0, 2, 0, 81, 0, 0, 4, 167, 5, 176, 0, 16, 0, 31, 0, 0, 65, 5, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 51, 19, 19, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 1, 107, 1, 33, 100, 185, 73, 72, 92, 9, 8, 55, 54, 55, 155, 92, 254, 65, 252, 180, 128, 99, 1, 32, 59, 91, 30, 29, 25, 7, 8, 61, 46, 47, 118, 66, 2, 72, 1, 60, 57, 57, 165, 105, 95, 155, 56, 56, 63, 3, 1, 250, 80, 2, 224, 2, 56, 1, 3, 45, 37, 37, 99, 57, 67, 108, 37, 38, 41, 0, 0, 2, 0, 93, 255, 10, 4, 119, 5, 198, 0, 40, 0, 78, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 23, 55, 39, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 89, 20, 10, 2, 14, 15, 60, 48, 48, 135, 89, 93, 155, 63, 64, 99, 36, 37, 49, 13, 20, 10, 2, 15, 15, 60, 48, 47, 134, 89, 33, 65, 32, 235, 135, 207, 70, 106, 39, 38, 50, 146, 21, 9, 31, 23, 23, 64, 43, 43, 110, 69, 65, 89, 28, 29, 28, 4, 5, 7, 7, 21, 9, 31, 24, 23, 65, 44, 43, 109, 68, 65, 90, 28, 28, 28, 4, 4, 7, 2, 152, 127, 73, 157, 76, 75, 136, 52, 51, 63, 2, 2, 56, 49, 50, 136, 76, 77, 164, 79, 128, 72, 156, 75, 75, 136, 51, 52, 62, 2, 1, 8, 8, 243, 113, 214, 52, 132, 75, 75, 165, 214, 131, 56, 121, 58, 59, 106, 39, 40, 44, 2, 2, 53, 42, 42, 107, 57, 57, 113, 47, 131, 55, 120, 59, 58, 105, 40, 39, 45, 2, 2, 52, 41, 42, 107, 57, 57, 112, 0, 0, 2, 0, 71, 0, 0, 4, 127, 5, 176, 0, 20, 0, 35, 0, 0, 65, 19, 51, 55, 3, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 51, 19, 55, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 2, 128, 173, 191, 2, 195, 66, 115, 45, 44, 56, 6, 8, 57, 56, 56, 160, 95, 254, 109, 253, 180, 103, 26, 97, 246, 60, 95, 32, 31, 27, 7, 8, 64, 47, 48, 120, 64, 2, 82, 253, 174, 13, 2, 106, 27, 74, 49, 49, 122, 75, 99, 157, 55, 54, 60, 3, 1, 250, 80, 2, 82, 152, 2, 46, 1, 3, 40, 35, 36, 99, 61, 67, 106, 36, 37, 39, 0, 0, 1, 0, 83, 255, 234, 4, 141, 5, 198, 0, 73, 0, 0, 65, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 35, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 103, 7, 60, 45, 45, 110, 56, 64, 101, 35, 36, 41, 3, 183, 2, 70, 63, 62, 167, 96, 90, 180, 73, 73, 96, 7, 6, 63, 55, 55, 143, 74, 45, 95, 38, 39, 45, 6, 6, 57, 43, 43, 106, 54, 63, 91, 31, 30, 31, 3, 184, 3, 62, 56, 57, 158, 94, 89, 176, 71, 72, 92, 6, 5, 64, 55, 54, 140, 71, 47, 99, 39, 38, 44, 1, 120, 60, 91, 30, 30, 29, 1, 1, 43, 37, 37, 103, 63, 98, 162, 57, 58, 65, 1, 2, 50, 51, 50, 151, 98, 90, 139, 53, 53, 77, 27, 16, 42, 30, 29, 82, 58, 58, 91, 32, 31, 33, 1, 2, 45, 38, 38, 101, 58, 94, 159, 59, 58, 68, 2, 2, 54, 53, 53, 152, 95, 87, 133, 50, 51, 74, 27, 18, 44, 31, 32, 87, 0, 1, 0, 194, 0, 0, 4, 247, 5, 176, 0, 7, 0, 0, 65, 55, 33, 7, 33, 3, 51, 19, 4, 219, 28, 251, 231, 28, 1, 181, 225, 176, 225, 5, 18, 158, 158, 250, 238, 5, 18, 0, 0, 1, 0, 104, 255, 234, 4, 181, 5, 176, 0, 29, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 4, 181, 175, 172, 12, 56, 43, 44, 117, 71, 67, 91, 27, 27, 18, 7, 165, 172, 170, 11, 44, 51, 50, 154, 100, 106, 182, 70, 70, 92, 15, 5, 176, 252, 38, 64, 122, 47, 47, 55, 2, 2, 61, 47, 47, 116, 59, 3, 219, 252, 37, 94, 175, 67, 68, 83, 2, 2, 78, 68, 67, 180, 100, 0, 0, 1, 0, 205, 0, 0, 4, 230, 5, 176, 0, 8, 0, 0, 97, 51, 1, 35, 1, 7, 39, 3, 35, 1, 168, 157, 2, 161, 198, 254, 28, 30, 10, 139, 188, 5, 176, 251, 191, 67, 76, 4, 56, 0, 0, 1, 0, 149, 0, 0, 5, 3, 5, 176, 0, 18, 0, 0, 115, 51, 1, 55, 23, 19, 51, 1, 35, 3, 7, 39, 3, 35, 1, 7, 55, 19, 35, 149, 187, 1, 62, 36, 1, 8, 184, 1, 144, 174, 254, 20, 1, 14, 158, 254, 200, 33, 6, 52, 170, 3, 213, 112, 121, 252, 52, 5, 176, 252, 43, 79, 77, 3, 215, 252, 71, 102, 102, 3, 185, 0, 0, 1, 255, 241, 0, 0, 4, 238, 5, 176, 0, 11, 0, 0, 65, 3, 35, 1, 1, 51, 1, 19, 51, 1, 1, 35, 2, 134, 211, 201, 1, 38, 253, 225, 224, 1, 148, 220, 201, 254, 210, 2, 18, 223, 3, 118, 2, 58, 253, 55, 253, 25, 2, 69, 253, 187, 2, 213, 2, 219, 0, 1, 0, 212, 0, 0, 4, 241, 5, 176, 0, 8, 0, 0, 65, 3, 35, 1, 3, 51, 19, 1, 35, 2, 90, 194, 196, 1, 23, 94, 168, 95, 2, 93, 215, 2, 214, 2, 218, 252, 122, 253, 214, 2, 20, 3, 156, 0, 0, 1, 0, 19, 0, 0, 4, 129, 5, 176, 0, 9, 0, 0, 119, 1, 55, 33, 7, 33, 1, 7, 33, 55, 252, 3, 112, 21, 252, 128, 26, 2, 174, 252, 147, 21, 3, 167, 25, 157, 4, 125, 150, 158, 251, 135, 153, 157, 0, 2, 0, 97, 255, 236, 4, 15, 4, 80, 0, 56, 0, 79, 0, 0, 97, 51, 55, 38, 54, 55, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 39, 34, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 6, 20, 37, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 23, 7, 6, 6, 7, 6, 6, 2, 252, 183, 2, 13, 1, 9, 84, 9, 52, 50, 51, 142, 82, 74, 154, 64, 65, 88, 9, 181, 10, 50, 35, 34, 83, 43, 49, 81, 28, 28, 27, 6, 13, 206, 60, 123, 57, 58, 102, 39, 39, 49, 4, 4, 49, 45, 44, 121, 68, 64, 117, 52, 27, 51, 24, 3, 254, 215, 41, 68, 24, 24, 22, 5, 4, 29, 21, 18, 44, 25, 55, 125, 55, 155, 39, 27, 69, 39, 41, 93, 17, 54, 110, 55, 1, 247, 87, 134, 47, 46, 48, 2, 1, 39, 40, 40, 121, 82, 1, 45, 65, 21, 21, 20, 1, 1, 28, 27, 27, 78, 51, 86, 1, 15, 17, 18, 56, 40, 41, 108, 70, 72, 114, 40, 40, 44, 1, 1, 33, 30, 16, 38, 21, 30, 58, 110, 1, 24, 23, 22, 66, 43, 37, 57, 22, 18, 27, 10, 22, 14, 1, 220, 37, 61, 22, 22, 24, 0, 2, 0, 65, 255, 233, 4, 32, 6, 0, 0, 35, 0, 67, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 19, 35, 1, 51, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 4, 23, 2, 7, 4, 12, 13, 49, 39, 40, 111, 73, 59, 106, 46, 27, 49, 23, 108, 181, 254, 245, 168, 36, 18, 42, 24, 42, 103, 56, 77, 128, 52, 52, 80, 29, 29, 37, 169, 3, 8, 34, 27, 21, 55, 33, 35, 84, 50, 44, 72, 28, 25, 38, 13, 82, 25, 59, 35, 34, 80, 47, 46, 70, 23, 23, 32, 7, 12, 1, 2, 23, 21, 61, 127, 61, 60, 106, 41, 40, 48, 2, 1, 27, 28, 16, 42, 25, 2, 59, 250, 0, 124, 27, 42, 17, 29, 29, 1, 2, 44, 40, 40, 108, 62, 62, 135, 89, 21, 57, 115, 51, 39, 66, 23, 24, 26, 1, 1, 27, 24, 21, 58, 36, 1, 220, 36, 62, 23, 22, 24, 1, 1, 28, 25, 26, 61, 36, 51, 110, 0, 1, 0, 122, 255, 233, 4, 44, 4, 81, 0, 60, 0, 0, 101, 38, 38, 39, 38, 38, 39, 38, 52, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 2, 21, 53, 77, 27, 27, 32, 7, 8, 5, 5, 7, 29, 22, 21, 58, 37, 39, 95, 57, 52, 82, 29, 28, 28, 2, 170, 4, 54, 50, 51, 142, 84, 116, 193, 70, 71, 91, 14, 5, 5, 5, 11, 16, 65, 45, 48, 130, 83, 79, 160, 66, 66, 90, 9, 171, 11, 56, 39, 40, 96, 129, 1, 36, 29, 28, 77, 43, 42, 90, 43, 42, 49, 97, 43, 43, 74, 27, 29, 31, 2, 2, 38, 32, 33, 86, 50, 1, 85, 143, 52, 51, 60, 2, 3, 85, 73, 77, 200, 110, 43, 56, 109, 50, 67, 117, 43, 43, 51, 2, 2, 51, 48, 47, 135, 83, 1, 49, 79, 27, 28, 29, 0, 0, 2, 0, 118, 255, 235, 4, 160, 6, 0, 0, 35, 0, 64, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 51, 1, 35, 3, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 52, 126, 2, 6, 6, 14, 14, 51, 40, 39, 109, 70, 56, 101, 45, 29, 55, 25, 19, 164, 1, 11, 181, 104, 20, 46, 25, 40, 91, 50, 77, 130, 52, 53, 83, 30, 30, 38, 170, 3, 9, 51, 43, 43, 124, 84, 38, 65, 27, 27, 41, 15, 87, 22, 50, 28, 36, 86, 50, 51, 74, 25, 25, 28, 6, 7, 2, 31, 21, 59, 124, 59, 60, 107, 41, 41, 49, 2, 1, 24, 25, 16, 43, 27, 114, 6, 0, 253, 206, 26, 40, 15, 23, 23, 1, 2, 44, 40, 40, 108, 63, 63, 136, 88, 21, 72, 145, 59, 58, 72, 3, 1, 21, 19, 19, 55, 35, 254, 7, 30, 53, 20, 25, 28, 2, 1, 36, 30, 29, 76, 43, 42, 88, 0, 0, 2, 0, 108, 255, 234, 4, 43, 4, 80, 0, 36, 0, 50, 0, 0, 69, 22, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 55, 33, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 19, 22, 22, 23, 22, 22, 7, 7, 37, 54, 54, 55, 54, 54, 2, 28, 126, 237, 74, 104, 64, 159, 94, 73, 106, 32, 32, 25, 8, 2, 233, 13, 13, 30, 45, 45, 154, 112, 77, 139, 59, 60, 97, 36, 37, 46, 8, 5, 9, 47, 54, 54, 167, 242, 59, 88, 28, 28, 20, 9, 4, 253, 204, 21, 64, 44, 43, 112, 20, 2, 105, 104, 88, 66, 80, 3, 2, 62, 50, 50, 126, 66, 83, 100, 189, 74, 74, 91, 3, 2, 42, 38, 39, 106, 63, 63, 139, 71, 43, 104, 186, 71, 71, 86, 3, 200, 2, 51, 41, 41, 104, 55, 18, 2, 58, 114, 44, 44, 53, 0, 1, 0, 205, 0, 0, 4, 233, 6, 45, 0, 29, 0, 0, 97, 51, 19, 33, 55, 33, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 33, 7, 33, 1, 76, 182, 163, 1, 148, 25, 254, 107, 11, 10, 49, 39, 39, 104, 65, 52, 101, 49, 37, 63, 125, 65, 100, 163, 60, 61, 77, 13, 11, 254, 224, 26, 1, 34, 3, 171, 143, 77, 63, 99, 35, 34, 36, 1, 1, 20, 17, 152, 16, 24, 1, 1, 59, 55, 56, 157, 96, 76, 143, 0, 2, 0, 45, 254, 82, 4, 82, 4, 81, 0, 53, 0, 82, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 35, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 52, 127, 2, 7, 6, 14, 13, 51, 40, 39, 109, 71, 56, 101, 44, 28, 51, 24, 20, 13, 57, 42, 43, 113, 69, 84, 129, 47, 103, 62, 199, 108, 105, 175, 67, 66, 85, 14, 180, 166, 35, 18, 45, 25, 40, 97, 53, 78, 129, 53, 53, 81, 30, 30, 37, 169, 3, 10, 50, 43, 42, 124, 84, 44, 72, 28, 22, 35, 12, 85, 26, 61, 35, 32, 76, 43, 52, 73, 25, 25, 29, 6, 6, 2, 31, 21, 59, 125, 59, 60, 107, 40, 41, 49, 2, 1, 24, 25, 15, 40, 24, 95, 65, 108, 38, 38, 41, 2, 2, 80, 67, 111, 90, 97, 2, 3, 65, 60, 59, 168, 101, 4, 35, 119, 27, 43, 16, 27, 26, 1, 2, 44, 40, 40, 108, 63, 63, 137, 88, 21, 72, 145, 59, 58, 72, 3, 1, 27, 23, 19, 52, 31, 254, 13, 37, 61, 21, 19, 21, 1, 2, 36, 30, 29, 77, 42, 42, 88, 0, 1, 0, 64, 0, 0, 4, 32, 6, 0, 0, 31, 0, 0, 65, 19, 35, 1, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 140, 116, 181, 254, 245, 181, 137, 28, 67, 38, 37, 83, 46, 59, 77, 22, 22, 12, 6, 115, 181, 114, 9, 24, 36, 36, 124, 92, 54, 97, 43, 44, 77, 3, 152, 2, 104, 250, 0, 3, 19, 34, 58, 22, 21, 23, 1, 2, 41, 35, 36, 93, 53, 253, 84, 2, 169, 82, 151, 58, 58, 70, 2, 1, 27, 24, 24, 68, 0, 0, 2, 0, 92, 0, 0, 3, 233, 5, 198, 0, 9, 0, 21, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 3, 20, 22, 55, 54, 54, 53, 52, 38, 7, 6, 6, 1, 24, 28, 1, 101, 132, 254, 156, 29, 3, 112, 29, 254, 169, 160, 155, 61, 47, 48, 60, 60, 47, 48, 60, 4, 58, 161, 253, 7, 160, 160, 3, 154, 1, 25, 48, 57, 2, 2, 59, 48, 49, 60, 2, 2, 63, 0, 2, 0, 35, 254, 73, 3, 196, 5, 198, 0, 23, 0, 35, 0, 0, 65, 7, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 3, 6, 22, 55, 54, 54, 55, 52, 38, 7, 6, 6, 1, 117, 28, 1, 95, 158, 9, 47, 37, 37, 103, 65, 45, 89, 45, 26, 53, 103, 54, 101, 163, 60, 60, 76, 14, 185, 156, 1, 60, 48, 48, 60, 1, 61, 48, 48, 59, 4, 58, 161, 252, 95, 62, 102, 36, 37, 40, 1, 1, 7, 8, 154, 8, 9, 61, 57, 56, 160, 98, 4, 65, 1, 26, 48, 58, 2, 2, 60, 48, 48, 60, 2, 2, 62, 0, 1, 0, 66, 0, 0, 4, 100, 6, 0, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 7, 19, 35, 1, 51, 19, 1, 218, 1, 41, 215, 254, 136, 2, 2, 236, 254, 110, 133, 162, 182, 254, 245, 182, 63, 1, 247, 254, 9, 2, 110, 1, 204, 254, 159, 123, 3, 162, 250, 0, 1, 110, 0, 0, 1, 0, 92, 0, 0, 3, 233, 6, 0, 0, 9, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 1, 103, 29, 1, 102, 211, 254, 156, 29, 3, 112, 29, 254, 169, 239, 6, 0, 161, 251, 65, 160, 160, 5, 96, 0, 1, 255, 242, 0, 0, 4, 117, 4, 79, 0, 52, 0, 0, 65, 7, 3, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 34, 6, 7, 38, 38, 39, 38, 38, 35, 38, 6, 7, 1, 78, 161, 187, 172, 149, 12, 29, 16, 18, 45, 26, 30, 38, 11, 10, 5, 3, 137, 172, 142, 6, 24, 16, 20, 52, 30, 31, 41, 11, 10, 6, 3, 136, 172, 135, 5, 15, 23, 24, 84, 63, 70, 106, 42, 9, 35, 23, 24, 56, 31, 72, 108, 42, 4, 59, 1, 251, 198, 3, 94, 19, 31, 10, 12, 12, 1, 1, 22, 18, 18, 47, 27, 252, 212, 3, 66, 23, 38, 14, 18, 19, 21, 18, 19, 49, 28, 252, 213, 3, 40, 55, 105, 42, 41, 50, 1, 63, 52, 30, 44, 14, 14, 13, 1, 66, 57, 0, 1, 0, 64, 0, 0, 4, 31, 4, 79, 0, 31, 0, 0, 115, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 7, 64, 181, 135, 27, 65, 37, 37, 85, 47, 60, 78, 22, 21, 11, 6, 115, 181, 113, 12, 26, 36, 37, 124, 91, 54, 98, 44, 44, 78, 33, 23, 161, 3, 9, 36, 63, 23, 22, 25, 1, 1, 41, 35, 35, 94, 55, 253, 84, 2, 164, 82, 161, 57, 56, 68, 2, 1, 25, 24, 24, 68, 40, 161, 1, 0, 2, 0, 99, 255, 233, 4, 48, 4, 81, 0, 31, 0, 57, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 110, 3, 8, 15, 24, 16, 49, 31, 49, 136, 87, 118, 193, 71, 71, 89, 14, 2, 8, 14, 22, 18, 59, 37, 45, 131, 81, 116, 187, 70, 76, 92, 164, 3, 10, 54, 45, 45, 128, 84, 78, 96, 25, 25, 9, 7, 2, 5, 60, 45, 46, 128, 83, 70, 96, 24, 30, 14, 2, 32, 22, 74, 142, 63, 43, 78, 34, 48, 58, 2, 3, 90, 77, 76, 202, 109, 23, 72, 142, 63, 52, 90, 34, 42, 51, 2, 3, 87, 71, 78, 211, 136, 22, 72, 147, 59, 59, 73, 3, 3, 77, 58, 59, 138, 63, 22, 57, 160, 58, 58, 72, 3, 3, 64, 49, 61, 148, 0, 0, 2, 255, 247, 254, 96, 4, 28, 4, 79, 0, 35, 0, 67, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 7, 1, 51, 19, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 4, 19, 2, 7, 4, 12, 13, 49, 39, 40, 110, 74, 58, 104, 46, 29, 54, 24, 19, 164, 254, 252, 181, 97, 20, 46, 25, 42, 97, 51, 68, 117, 49, 64, 98, 31, 26, 33, 172, 2, 6, 25, 19, 22, 63, 43, 36, 90, 53, 38, 66, 26, 26, 42, 15, 91, 22, 49, 28, 35, 83, 48, 51, 73, 26, 19, 27, 10, 13, 3, 2, 24, 21, 61, 127, 60, 60, 106, 41, 40, 48, 2, 1, 26, 26, 16, 44, 27, 119, 1, 250, 38, 2, 9, 24, 39, 14, 24, 24, 1, 1, 35, 32, 41, 130, 74, 58, 126, 83, 21, 45, 93, 44, 49, 90, 30, 27, 29, 1, 2, 19, 18, 18, 53, 35, 2, 11, 29, 50, 18, 25, 26, 1, 1, 34, 28, 23, 54, 35, 50, 112, 0, 0, 2, 0, 118, 254, 96, 4, 81, 4, 80, 0, 35, 0, 67, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 3, 51, 1, 35, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 52, 127, 2, 7, 6, 14, 13, 52, 40, 40, 110, 72, 49, 90, 41, 31, 59, 27, 98, 181, 1, 4, 168, 32, 21, 50, 28, 38, 89, 47, 79, 131, 53, 53, 82, 30, 30, 38, 169, 3, 5, 23, 17, 21, 63, 41, 38, 94, 57, 37, 65, 26, 26, 41, 16, 94, 26, 58, 33, 33, 74, 42, 52, 74, 25, 25, 29, 6, 7, 2, 31, 21, 60, 126, 59, 60, 106, 40, 41, 48, 2, 1, 19, 19, 15, 40, 26, 253, 254, 5, 218, 108, 28, 42, 15, 21, 21, 1, 2, 43, 39, 39, 108, 63, 63, 137, 90, 21, 43, 88, 42, 49, 93, 32, 30, 33, 2, 1, 20, 19, 18, 51, 32, 253, 232, 32, 53, 19, 19, 21, 1, 1, 37, 30, 30, 78, 43, 43, 89, 0, 1, 0, 215, 0, 0, 4, 97, 4, 80, 0, 24, 0, 0, 65, 34, 6, 7, 6, 6, 7, 55, 55, 35, 3, 51, 19, 54, 54, 55, 54, 54, 51, 22, 22, 23, 55, 38, 38, 3, 163, 60, 107, 48, 48, 86, 38, 6, 24, 172, 187, 181, 120, 33, 85, 52, 41, 99, 56, 49, 96, 48, 46, 46, 96, 4, 80, 27, 25, 26, 72, 44, 32, 140, 251, 198, 2, 183, 60, 92, 28, 23, 23, 1, 14, 11, 180, 17, 11, 0, 0, 1, 0, 124, 255, 234, 4, 40, 4, 79, 0, 79, 0, 0, 65, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 39, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 21, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 50, 7, 57, 40, 40, 90, 40, 49, 86, 32, 32, 38, 1, 180, 2, 69, 58, 58, 149, 80, 76, 160, 66, 66, 88, 4, 2, 30, 27, 27, 75, 42, 42, 88, 41, 33, 79, 33, 33, 41, 6, 6, 52, 37, 37, 85, 40, 42, 77, 30, 29, 34, 179, 1, 62, 53, 53, 141, 76, 65, 132, 63, 72, 108, 3, 3, 67, 54, 47, 112, 54, 33, 73, 37, 23, 41, 16, 16, 16, 1, 38, 47, 64, 18, 19, 16, 1, 25, 25, 24, 76, 52, 1, 87, 131, 44, 45, 46, 1, 2, 37, 40, 39, 126, 87, 51, 82, 32, 31, 47, 18, 18, 26, 10, 7, 20, 17, 17, 57, 45, 45, 63, 20, 19, 18, 1, 1, 24, 23, 24, 68, 45, 1, 83, 125, 43, 42, 44, 2, 1, 30, 31, 35, 138, 91, 75, 105, 35, 31, 41, 14, 8, 18, 15, 9, 24, 16, 17, 46, 0, 1, 0, 196, 255, 235, 4, 54, 5, 64, 0, 29, 0, 0, 65, 35, 3, 33, 7, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 55, 33, 2, 212, 182, 46, 254, 237, 25, 1, 20, 98, 7, 25, 34, 34, 112, 81, 71, 154, 63, 17, 54, 109, 55, 48, 63, 17, 17, 11, 5, 98, 1, 144, 25, 254, 112, 5, 64, 254, 250, 143, 253, 180, 74, 133, 50, 51, 61, 1, 2, 22, 35, 133, 12, 20, 2, 1, 34, 28, 28, 76, 44, 2, 77, 143, 0, 1, 0, 141, 255, 234, 4, 84, 4, 58, 0, 28, 0, 0, 69, 22, 54, 55, 7, 51, 19, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 1, 189, 105, 166, 64, 23, 163, 188, 182, 135, 26, 62, 36, 40, 91, 52, 63, 68, 14, 15, 2, 6, 107, 181, 108, 9, 17, 34, 33, 123, 20, 2, 92, 79, 149, 4, 58, 252, 247, 40, 62, 22, 23, 23, 2, 2, 56, 43, 43, 105, 50, 2, 134, 253, 125, 83, 163, 65, 65, 81, 0, 0, 1, 0, 174, 0, 0, 4, 148, 4, 59, 0, 8, 0, 0, 97, 51, 1, 35, 1, 7, 39, 3, 7, 1, 180, 138, 2, 86, 192, 254, 90, 29, 5, 176, 174, 4, 58, 252, 209, 69, 68, 3, 49, 1, 0, 1, 0, 132, 0, 0, 4, 218, 4, 58, 0, 18, 0, 0, 115, 51, 1, 55, 7, 19, 51, 1, 35, 3, 7, 55, 3, 35, 1, 7, 55, 3, 35, 168, 143, 1, 17, 58, 3, 50, 142, 1, 155, 164, 239, 53, 2, 47, 117, 254, 228, 55, 6, 3, 156, 2, 141, 174, 154, 253, 95, 4, 58, 253, 70, 158, 154, 2, 190, 253, 88, 159, 138, 2, 189, 0, 0, 1, 0, 6, 0, 0, 4, 152, 4, 58, 0, 11, 0, 0, 65, 3, 35, 1, 1, 51, 1, 19, 51, 1, 1, 35, 2, 97, 214, 197, 1, 47, 254, 17, 223, 1, 98, 226, 196, 254, 200, 1, 227, 224, 2, 170, 1, 144, 253, 241, 253, 213, 1, 155, 254, 101, 2, 27, 2, 31, 0, 1, 255, 228, 254, 72, 4, 188, 4, 58, 0, 26, 0, 0, 65, 3, 35, 1, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 1, 35, 1, 2, 4, 169, 193, 1, 15, 103, 19, 44, 27, 27, 66, 39, 21, 44, 22, 41, 29, 59, 29, 65, 111, 47, 46, 76, 30, 2, 236, 211, 254, 48, 1, 119, 2, 195, 252, 4, 156, 29, 65, 27, 27, 36, 1, 6, 2, 153, 5, 11, 45, 39, 38, 98, 52, 4, 226, 252, 197, 0, 0, 1, 0, 61, 0, 0, 4, 70, 4, 58, 0, 9, 0, 0, 101, 1, 55, 33, 7, 33, 1, 7, 33, 55, 1, 65, 2, 239, 22, 252, 169, 24, 2, 100, 253, 25, 23, 3, 130, 25, 151, 3, 24, 139, 153, 252, 239, 144, 151, 0, 0, 3, 0, 127, 255, 234, 4, 89, 5, 199, 0, 37, 0, 57, 0, 77, 0, 0, 65, 19, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 1, 22, 22, 23, 22, 22, 7, 1, 54, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 3, 38, 38, 39, 38, 38, 55, 1, 6, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 4, 27, 54, 5, 3, 1, 2, 38, 36, 43, 150, 109, 85, 140, 56, 57, 88, 32, 33, 42, 11, 54, 9, 4, 15, 14, 56, 45, 44, 123, 80, 67, 115, 49, 75, 113, 39, 32, 42, 254, 197, 64, 85, 26, 25, 20, 1, 253, 146, 4, 3, 5, 44, 7, 24, 18, 20, 55, 35, 36, 94, 150, 63, 85, 25, 26, 21, 1, 2, 107, 6, 8, 5, 35, 7, 23, 17, 21, 67, 46, 33, 83, 2, 47, 1, 83, 37, 80, 32, 71, 144, 57, 70, 85, 3, 2, 43, 39, 40, 110, 65, 65, 145, 74, 254, 171, 69, 138, 63, 64, 110, 41, 41, 49, 2, 2, 26, 25, 39, 130, 78, 64, 145, 3, 72, 2, 48, 40, 40, 104, 57, 254, 80, 16, 26, 29, 1, 10, 47, 92, 42, 45, 76, 28, 28, 30, 251, 83, 2, 48, 39, 39, 102, 56, 1, 172, 38, 43, 32, 213, 45, 90, 41, 52, 90, 29, 21, 22, 0, 1, 1, 26, 0, 0, 3, 127, 5, 176, 0, 6, 0, 0, 97, 19, 35, 5, 7, 37, 3, 2, 136, 247, 19, 253, 206, 32, 1, 140, 211, 5, 176, 208, 177, 144, 251, 65, 0, 1, 0, 15, 0, 0, 4, 26, 5, 198, 0, 42, 0, 0, 97, 55, 33, 1, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 1, 7, 3, 174, 24, 253, 65, 1, 190, 53, 113, 48, 47, 67, 6, 7, 52, 51, 52, 146, 86, 101, 177, 68, 68, 86, 10, 180, 9, 50, 41, 40, 110, 71, 53, 82, 27, 27, 22, 6, 8, 59, 41, 41, 94, 41, 253, 230, 22, 151, 1, 168, 50, 112, 63, 63, 140, 77, 88, 145, 52, 52, 57, 2, 2, 65, 59, 60, 167, 100, 1, 66, 111, 40, 39, 43, 2, 2, 41, 34, 34, 91, 51, 62, 112, 51, 51, 91, 41, 253, 245, 141, 0, 0, 1, 0, 47, 255, 234, 4, 31, 5, 198, 0, 76, 0, 0, 65, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 1, 160, 27, 140, 60, 96, 32, 32, 30, 7, 7, 52, 41, 41, 109, 65, 57, 88, 28, 29, 27, 4, 180, 5, 56, 53, 52, 150, 90, 99, 176, 68, 67, 85, 9, 4, 16, 21, 22, 73, 51, 52, 94, 38, 37, 48, 5, 8, 47, 49, 50, 145, 90, 91, 167, 65, 66, 85, 10, 179, 10, 50, 39, 38, 100, 59, 57, 81, 26, 25, 18, 6, 8, 59, 45, 45, 113, 61, 3, 49, 150, 1, 2, 34, 32, 32, 94, 62, 64, 105, 36, 37, 39, 2, 1, 38, 33, 33, 92, 56, 1, 92, 148, 52, 53, 58, 2, 2, 59, 57, 57, 162, 101, 54, 99, 43, 43, 67, 22, 23, 64, 41, 41, 101, 60, 91, 148, 53, 52, 59, 2, 1, 56, 52, 53, 150, 93, 1, 57, 93, 33, 33, 36, 1, 2, 37, 33, 33, 91, 54, 65, 97, 32, 33, 34, 0, 2, 0, 27, 0, 0, 4, 51, 5, 176, 0, 10, 0, 14, 0, 0, 65, 19, 35, 1, 7, 33, 3, 51, 19, 51, 55, 33, 1, 55, 3, 3, 110, 168, 199, 252, 225, 21, 2, 132, 59, 181, 59, 197, 26, 252, 208, 2, 19, 39, 132, 1, 233, 3, 199, 252, 25, 119, 254, 174, 1, 82, 151, 2, 153, 58, 253, 45, 0, 1, 0, 143, 255, 233, 4, 154, 5, 176, 0, 48, 0, 0, 83, 23, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 35, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 19, 33, 55, 33, 254, 149, 56, 114, 73, 65, 90, 26, 26, 18, 6, 8, 47, 39, 40, 114, 73, 57, 85, 28, 29, 30, 3, 169, 3, 55, 51, 50, 143, 90, 110, 180, 66, 66, 80, 10, 9, 32, 42, 43, 141, 101, 64, 119, 55, 116, 2, 59, 32, 253, 41, 2, 221, 39, 43, 49, 2, 2, 56, 43, 44, 111, 58, 66, 124, 48, 48, 56, 2, 2, 39, 34, 34, 91, 54, 88, 147, 53, 54, 60, 2, 3, 74, 66, 66, 182, 105, 90, 171, 68, 67, 82, 2, 1, 31, 33, 1, 133, 180, 0, 2, 0, 117, 255, 233, 3, 249, 5, 178, 0, 45, 0, 73, 0, 0, 65, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 54, 54, 55, 54, 54, 55, 54, 54, 23, 51, 1, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 52, 55, 55, 54, 54, 55, 54, 54, 3, 192, 20, 125, 207, 83, 84, 129, 47, 47, 62, 16, 12, 11, 33, 47, 47, 155, 111, 109, 176, 64, 64, 77, 9, 8, 32, 42, 42, 138, 98, 49, 92, 42, 37, 69, 30, 20, 52, 32, 39, 101, 60, 59, 140, 82, 12, 254, 198, 65, 83, 24, 23, 13, 6, 7, 46, 39, 39, 110, 71, 49, 72, 24, 24, 29, 7, 7, 4, 8, 23, 64, 40, 39, 93, 5, 178, 61, 55, 55, 152, 92, 93, 212, 113, 87, 97, 196, 80, 80, 102, 3, 3, 80, 70, 69, 184, 102, 87, 168, 67, 66, 83, 2, 1, 23, 21, 19, 53, 31, 63, 116, 49, 60, 96, 35, 31, 34, 1, 254, 21, 2, 62, 47, 48, 115, 54, 63, 124, 49, 49, 58, 2, 2, 40, 32, 32, 82, 44, 43, 88, 37, 64, 43, 76, 28, 28, 32, 0, 1, 0, 191, 0, 0, 4, 174, 5, 176, 0, 6, 0, 0, 65, 55, 33, 7, 33, 1, 51, 4, 156, 18, 252, 68, 26, 2, 249, 252, 238, 198, 5, 62, 114, 162, 250, 242, 0, 3, 0, 128, 255, 234, 4, 104, 5, 198, 0, 47, 0, 71, 0, 95, 0, 0, 65, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 1, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 4, 97, 7, 49, 49, 50, 141, 85, 93, 163, 62, 63, 77, 7, 4, 21, 25, 18, 53, 33, 60, 104, 40, 40, 49, 6, 8, 55, 54, 54, 151, 89, 96, 175, 68, 68, 87, 8, 4, 19, 22, 23, 71, 46, 52, 92, 36, 35, 45, 254, 250, 6, 54, 42, 42, 109, 62, 57, 88, 28, 29, 24, 6, 7, 52, 42, 41, 110, 63, 57, 87, 29, 28, 25, 78, 6, 45, 36, 37, 97, 56, 51, 77, 24, 25, 20, 5, 6, 44, 36, 36, 96, 57, 51, 77, 25, 25, 21, 4, 61, 87, 142, 51, 51, 58, 2, 2, 56, 54, 54, 153, 94, 54, 101, 44, 33, 57, 23, 26, 71, 46, 46, 113, 68, 93, 148, 52, 53, 57, 2, 2, 57, 55, 54, 159, 99, 53, 100, 44, 44, 74, 27, 25, 68, 42, 42, 103, 253, 150, 62, 103, 36, 37, 40, 2, 1, 39, 34, 34, 94, 56, 61, 106, 39, 39, 42, 1, 2, 43, 36, 36, 97, 2, 110, 54, 95, 35, 36, 39, 1, 1, 39, 33, 32, 87, 48, 54, 97, 36, 35, 40, 1, 1, 40, 33, 34, 87, 0, 0, 2, 0, 195, 255, 254, 4, 61, 5, 197, 0, 48, 0, 76, 0, 0, 101, 35, 7, 51, 50, 54, 55, 54, 18, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 6, 6, 7, 6, 6, 7, 6, 6, 19, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 20, 7, 7, 6, 6, 7, 6, 6, 1, 30, 16, 16, 23, 166, 254, 92, 117, 135, 27, 9, 8, 4, 15, 15, 57, 44, 45, 121, 80, 70, 123, 52, 61, 94, 33, 27, 35, 6, 8, 31, 42, 42, 137, 98, 51, 93, 42, 37, 67, 30, 20, 52, 33, 42, 113, 73, 52, 123, 225, 65, 83, 22, 23, 13, 6, 7, 46, 39, 39, 111, 72, 50, 71, 24, 24, 29, 7, 6, 3, 7, 23, 65, 40, 40, 95, 163, 165, 99, 88, 110, 1, 76, 193, 67, 67, 139, 65, 64, 115, 43, 43, 52, 1, 1, 33, 31, 37, 106, 65, 54, 122, 64, 86, 169, 68, 68, 85, 2, 1, 21, 21, 19, 53, 33, 69, 120, 50, 63, 97, 29, 21, 22, 1, 222, 2, 65, 49, 49, 117, 53, 63, 126, 50, 50, 61, 2, 2, 41, 33, 33, 85, 45, 45, 88, 37, 59, 44, 79, 30, 30, 34, 0, 1, 1, 223, 2, 153, 3, 111, 5, 174, 0, 6, 0, 0, 65, 19, 35, 5, 7, 55, 3, 2, 235, 132, 22, 254, 157, 23, 219, 104, 2, 153, 3, 21, 113, 135, 56, 253, 171, 0, 0, 1, 1, 79, 2, 155, 3, 216, 5, 190, 0, 39, 0, 0, 65, 55, 33, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 1, 7, 3, 150, 23, 254, 133, 195, 35, 77, 33, 32, 44, 3, 3, 40, 35, 35, 95, 52, 62, 108, 42, 42, 53, 7, 155, 7, 25, 18, 20, 55, 34, 47, 54, 7, 4, 32, 22, 22, 48, 21, 254, 196, 21, 2, 155, 128, 145, 27, 64, 37, 37, 85, 49, 57, 86, 29, 28, 29, 1, 1, 36, 34, 35, 98, 62, 1, 29, 50, 17, 19, 22, 1, 1, 54, 48, 29, 54, 24, 24, 42, 18, 254, 247, 116, 0, 1, 1, 107, 2, 142, 3, 229, 5, 188, 0, 73, 0, 0, 65, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 38, 6, 7, 6, 6, 7, 51, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 3, 144, 14, 39, 24, 30, 55, 22, 22, 28, 2, 3, 44, 37, 38, 97, 49, 54, 100, 40, 41, 54, 6, 156, 16, 76, 50, 23, 41, 15, 15, 15, 3, 4, 32, 23, 23, 56, 27, 80, 11, 87, 27, 49, 19, 18, 19, 4, 4, 31, 22, 23, 54, 28, 27, 47, 16, 16, 17, 152, 43, 37, 36, 98, 54, 55, 112, 46, 45, 59, 2, 1, 19, 3, 246, 17, 25, 9, 13, 35, 22, 22, 56, 36, 57, 82, 27, 26, 26, 1, 27, 27, 28, 83, 57, 48, 45, 12, 12, 12, 37, 25, 31, 43, 14, 14, 14, 1, 1, 116, 1, 1, 10, 12, 12, 41, 31, 30, 44, 14, 15, 14, 1, 13, 13, 13, 38, 27, 58, 87, 29, 29, 30, 1, 1, 27, 30, 29, 91, 63, 36, 61, 0, 2, 1, 71, 2, 179, 3, 232, 5, 197, 0, 51, 0, 71, 0, 0, 65, 55, 38, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 50, 54, 55, 6, 22, 39, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 51, 7, 6, 6, 7, 6, 6, 3, 13, 158, 7, 3, 8, 16, 19, 14, 8, 31, 31, 32, 96, 62, 57, 110, 44, 45, 61, 9, 156, 8, 29, 20, 20, 50, 29, 30, 41, 11, 11, 7, 3, 8, 138, 59, 123, 51, 51, 68, 3, 3, 30, 29, 29, 82, 50, 70, 116, 45, 1, 1, 181, 21, 40, 15, 15, 16, 3, 4, 38, 27, 27, 62, 29, 129, 19, 13, 32, 18, 29, 67, 2, 192, 1, 46, 89, 46, 105, 104, 105, 61, 101, 36, 36, 41, 1, 1, 26, 29, 29, 89, 61, 11, 28, 40, 13, 13, 11, 1, 1, 21, 18, 18, 49, 27, 53, 1, 22, 27, 28, 92, 70, 51, 81, 28, 29, 31, 58, 52, 24, 48, 97, 10, 11, 10, 34, 24, 34, 46, 14, 14, 13, 1, 110, 18, 30, 12, 19, 22, 0, 0, 2, 1, 77, 2, 176, 4, 2, 5, 198, 0, 25, 0, 51, 0, 0, 65, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 1, 96, 13, 6, 35, 38, 37, 113, 72, 76, 130, 50, 49, 64, 9, 13, 7, 34, 37, 38, 112, 72, 76, 131, 50, 50, 65, 141, 12, 6, 31, 25, 25, 69, 44, 42, 58, 18, 17, 13, 3, 13, 6, 31, 25, 25, 69, 43, 42, 59, 17, 17, 13, 4, 116, 116, 70, 121, 44, 45, 52, 2, 2, 48, 45, 45, 124, 74, 117, 70, 121, 45, 45, 52, 2, 2, 49, 45, 45, 125, 192, 120, 40, 72, 27, 27, 30, 1, 1, 33, 27, 27, 70, 37, 119, 40, 72, 27, 27, 31, 1, 1, 33, 27, 27, 69, 0, 3, 0, 154, 0, 0, 4, 81, 5, 177, 0, 6, 0, 49, 0, 53, 0, 0, 65, 19, 35, 5, 7, 55, 3, 1, 55, 33, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 5, 7, 39, 1, 39, 1, 1, 140, 118, 19, 254, 192, 21, 198, 94, 3, 20, 21, 254, 171, 175, 32, 69, 29, 29, 40, 3, 2, 36, 31, 32, 85, 47, 56, 97, 38, 38, 47, 7, 140, 6, 25, 18, 18, 47, 29, 21, 34, 11, 12, 10, 3, 4, 29, 20, 19, 44, 18, 254, 227, 19, 247, 2, 146, 107, 253, 110, 2, 235, 2, 198, 102, 121, 50, 253, 231, 253, 21, 115, 131, 24, 58, 33, 33, 77, 44, 51, 78, 25, 26, 26, 1, 1, 33, 31, 31, 88, 56, 1, 28, 46, 16, 16, 17, 13, 12, 12, 34, 22, 26, 49, 21, 22, 38, 16, 239, 104, 223, 3, 177, 71, 252, 79, 0, 0, 4, 0, 167, 0, 0, 4, 59, 5, 181, 0, 6, 0, 17, 0, 21, 0, 25, 0, 0, 65, 19, 35, 5, 7, 55, 3, 1, 19, 35, 1, 7, 33, 7, 51, 55, 51, 55, 33, 55, 55, 3, 5, 1, 39, 1, 1, 153, 118, 19, 254, 192, 21, 198, 94, 2, 207, 76, 147, 254, 109, 11, 1, 70, 27, 139, 27, 93, 20, 254, 93, 219, 19, 51, 253, 249, 2, 146, 107, 253, 110, 2, 239, 2, 198, 102, 121, 50, 253, 231, 254, 30, 1, 185, 254, 54, 100, 152, 152, 117, 235, 27, 254, 250, 46, 3, 177, 71, 252, 79, 0, 4, 0, 106, 0, 0, 4, 91, 5, 186, 0, 10, 0, 14, 0, 88, 0, 92, 0, 0, 65, 19, 35, 1, 7, 33, 7, 51, 55, 51, 55, 33, 55, 55, 3, 1, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 38, 6, 7, 6, 6, 7, 51, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 19, 1, 39, 1, 3, 254, 76, 147, 254, 109, 11, 1, 70, 27, 139, 27, 93, 20, 254, 93, 219, 19, 51, 253, 201, 10, 78, 25, 44, 16, 17, 17, 3, 4, 28, 20, 20, 49, 25, 26, 44, 15, 12, 14, 137, 39, 33, 33, 88, 49, 49, 101, 41, 41, 53, 2, 1, 21, 21, 13, 31, 19, 27, 50, 19, 20, 25, 2, 3, 40, 33, 34, 87, 45, 48, 90, 37, 36, 49, 5, 140, 15, 68, 45, 21, 37, 13, 14, 13, 2, 4, 29, 21, 20, 51, 24, 8, 2, 146, 107, 253, 110, 1, 13, 1, 185, 254, 54, 100, 152, 152, 117, 235, 27, 254, 250, 3, 120, 104, 1, 1, 9, 11, 11, 37, 27, 27, 40, 13, 13, 13, 1, 13, 13, 12, 33, 23, 52, 79, 26, 26, 27, 1, 1, 25, 26, 27, 82, 56, 36, 58, 21, 12, 20, 7, 12, 31, 20, 20, 50, 33, 51, 74, 24, 24, 23, 1, 24, 25, 25, 75, 51, 43, 41, 11, 11, 11, 33, 22, 28, 39, 13, 12, 13, 1, 252, 90, 3, 177, 71, 252, 79, 0, 0, 2, 255, 178, 0, 0, 5, 6, 5, 176, 0, 15, 0, 18, 0, 0, 97, 55, 33, 19, 33, 55, 33, 19, 33, 55, 33, 1, 51, 19, 33, 3, 3, 1, 3, 4, 32, 27, 254, 165, 91, 1, 37, 26, 254, 220, 78, 1, 71, 27, 253, 200, 252, 228, 201, 182, 1, 39, 60, 147, 1, 100, 119, 151, 2, 19, 151, 1, 215, 152, 250, 80, 1, 97, 254, 159, 2, 15, 2, 179, 253, 77, 0, 3, 255, 241, 255, 235, 4, 163, 4, 80, 0, 78, 0, 93, 0, 113, 0, 0, 69, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 55, 33, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 38, 38, 35, 38, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 19, 22, 22, 23, 22, 22, 7, 7, 33, 55, 54, 54, 55, 54, 54, 1, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 51, 3, 6, 6, 7, 6, 6, 3, 8, 35, 74, 36, 36, 67, 28, 35, 24, 49, 26, 23, 49, 27, 62, 77, 19, 20, 8, 6, 12, 1, 233, 34, 13, 26, 33, 33, 110, 79, 72, 119, 51, 43, 117, 66, 71, 119, 44, 45, 55, 7, 175, 6, 23, 19, 18, 53, 36, 35, 41, 10, 9, 5, 5, 26, 66, 86, 155, 60, 60, 75, 6, 3, 28, 32, 31, 96, 65, 43, 77, 34, 33, 60, 27, 19, 57, 35, 34, 79, 155, 37, 49, 14, 14, 10, 3, 18, 254, 188, 12, 7, 31, 25, 24, 72, 253, 207, 31, 45, 14, 15, 11, 3, 6, 46, 36, 35, 89, 49, 54, 52, 16, 34, 19, 19, 40, 19, 7, 10, 9, 32, 23, 138, 15, 27, 9, 8, 9, 48, 39, 38, 100, 53, 87, 213, 82, 142, 52, 51, 63, 2, 1, 58, 49, 63, 44, 1, 42, 39, 40, 113, 70, 8, 31, 58, 23, 22, 26, 1, 1, 31, 24, 24, 59, 28, 149, 1, 42, 44, 45, 135, 93, 61, 108, 40, 40, 47, 1, 1, 21, 20, 19, 54, 32, 38, 54, 17, 18, 17, 3, 203, 2, 33, 26, 27, 64, 31, 129, 70, 41, 87, 36, 35, 44, 252, 200, 23, 20, 20, 52, 29, 50, 82, 29, 29, 33, 1, 254, 217, 13, 27, 10, 11, 12, 0, 2, 0, 56, 255, 236, 5, 14, 5, 198, 0, 35, 0, 58, 0, 0, 97, 55, 33, 19, 33, 55, 33, 19, 33, 55, 33, 38, 38, 39, 34, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 54, 54, 55, 54, 54, 23, 50, 22, 23, 3, 34, 6, 4, 27, 27, 254, 116, 92, 1, 77, 27, 254, 178, 83, 1, 128, 27, 254, 94, 64, 126, 65, 90, 145, 55, 35, 57, 22, 31, 41, 10, 72, 5, 2, 4, 4, 23, 20, 37, 138, 108, 65, 127, 65, 250, 48, 62, 18, 19, 15, 1, 1, 7, 4, 71, 9, 36, 33, 33, 106, 80, 24, 48, 23, 213, 24, 49, 151, 2, 13, 152, 1, 220, 152, 4, 17, 1, 56, 48, 33, 77, 43, 60, 137, 71, 254, 61, 43, 89, 42, 47, 89, 39, 74, 94, 3, 2, 16, 4, 133, 2, 37, 29, 29, 75, 40, 40, 81, 35, 1, 199, 67, 134, 53, 53, 65, 1, 4, 2, 251, 92, 1, 0, 0, 3, 0, 14, 255, 234, 4, 156, 4, 80, 0, 76, 0, 114, 0, 135, 0, 0, 65, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 55, 5, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 1, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 37, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 20, 7, 7, 1, 191, 71, 113, 43, 28, 48, 18, 31, 38, 9, 28, 6, 1, 10, 9, 39, 32, 31, 91, 61, 64, 106, 45, 13, 24, 11, 14, 35, 20, 35, 86, 47, 37, 73, 33, 28, 52, 22, 44, 20, 43, 23, 24, 53, 28, 34, 42, 12, 13, 9, 6, 3, 10, 1, 184, 28, 5, 1, 9, 9, 37, 30, 30, 86, 57, 45, 78, 34, 24, 43, 20, 13, 35, 20, 34, 83, 254, 223, 26, 3, 12, 10, 9, 29, 21, 21, 57, 37, 34, 44, 13, 12, 10, 5, 3, 27, 4, 11, 9, 10, 29, 21, 21, 57, 37, 35, 43, 12, 13, 9, 6, 2, 8, 2, 5, 12, 10, 9, 27, 19, 18, 50, 32, 24, 34, 11, 8, 11, 4, 9, 3, 12, 4, 79, 1, 44, 39, 25, 66, 34, 60, 133, 65, 197, 50, 106, 50, 51, 92, 34, 35, 42, 1, 2, 43, 38, 11, 23, 13, 24, 37, 14, 25, 24, 1, 1, 12, 13, 11, 34, 22, 127, 14, 25, 9, 10, 10, 1, 1, 33, 26, 26, 64, 33, 33, 60, 22, 67, 1, 181, 46, 99, 47, 47, 84, 32, 31, 38, 1, 1, 27, 23, 16, 41, 22, 24, 39, 15, 24, 26, 253, 105, 200, 27, 68, 36, 35, 67, 26, 25, 30, 1, 1, 35, 27, 28, 67, 34, 35, 63, 22, 200, 27, 68, 35, 35, 67, 25, 26, 31, 2, 1, 35, 27, 27, 68, 34, 34, 63, 225, 12, 22, 62, 34, 33, 65, 26, 26, 30, 1, 1, 18, 15, 10, 25, 13, 33, 75, 28, 85, 0, 0, 2, 0, 40, 255, 234, 4, 138, 5, 240, 0, 49, 0, 78, 0, 0, 65, 38, 38, 39, 55, 39, 7, 38, 38, 39, 7, 22, 22, 23, 7, 23, 37, 22, 22, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 54, 1, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 50, 22, 23, 22, 22, 23, 7, 7, 6, 6, 7, 6, 6, 4, 22, 8, 53, 47, 224, 58, 250, 54, 126, 72, 71, 42, 76, 35, 253, 58, 1, 31, 50, 46, 2, 27, 63, 35, 34, 76, 40, 112, 191, 72, 72, 89, 10, 9, 50, 54, 54, 159, 99, 87, 148, 62, 54, 88, 36, 39, 50, 11, 8, 9, 4, 254, 198, 47, 133, 89, 66, 97, 30, 30, 23, 8, 8, 56, 46, 46, 124, 76, 40, 84, 38, 38, 62, 19, 7, 10, 7, 22, 17, 13, 34, 3, 144, 95, 187, 90, 115, 109, 133, 51, 71, 23, 157, 16, 38, 28, 133, 107, 152, 77, 172, 91, 29, 45, 16, 16, 17, 1, 3, 80, 71, 71, 191, 108, 97, 172, 65, 65, 77, 3, 2, 47, 42, 38, 104, 58, 69, 156, 80, 63, 71, 139, 253, 196, 65, 81, 3, 2, 59, 46, 46, 116, 60, 69, 133, 52, 52, 63, 1, 15, 16, 17, 53, 39, 52, 64, 42, 87, 43, 33, 64, 0, 0, 2, 0, 58, 0, 0, 4, 92, 5, 176, 0, 18, 0, 33, 0, 0, 65, 35, 3, 51, 19, 5, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 7, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 37, 1, 236, 181, 253, 181, 55, 1, 23, 101, 186, 73, 72, 94, 9, 8, 57, 56, 56, 157, 93, 255, 0, 26, 1, 23, 58, 94, 31, 31, 27, 7, 9, 63, 47, 47, 120, 65, 254, 255, 5, 176, 250, 80, 1, 57, 1, 55, 55, 54, 162, 107, 98, 153, 53, 53, 57, 3, 1, 152, 1, 2, 40, 34, 35, 96, 59, 68, 104, 36, 36, 37, 2, 0, 2, 255, 247, 254, 96, 4, 28, 6, 22, 0, 38, 0, 70, 0, 0, 101, 54, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 19, 35, 1, 51, 19, 22, 22, 23, 22, 22, 23, 22, 54, 39, 38, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 2, 211, 46, 84, 32, 25, 43, 17, 29, 36, 8, 3, 6, 2, 12, 12, 49, 38, 39, 110, 73, 50, 91, 40, 36, 66, 30, 110, 180, 254, 169, 181, 97, 24, 57, 31, 39, 89, 47, 46, 84, 175, 39, 67, 27, 27, 43, 16, 91, 29, 69, 40, 30, 67, 36, 51, 74, 25, 25, 29, 6, 6, 1, 5, 2, 10, 49, 42, 20, 48, 28, 32, 77, 9, 22, 64, 40, 31, 69, 37, 62, 135, 66, 21, 60, 127, 60, 60, 107, 41, 40, 49, 2, 1, 19, 19, 16, 49, 31, 2, 77, 248, 74, 2, 12, 29, 45, 15, 20, 19, 1, 1, 16, 136, 1, 20, 18, 19, 54, 35, 2, 8, 38, 62, 20, 14, 15, 1, 2, 36, 29, 30, 78, 42, 43, 88, 40, 21, 71, 146, 59, 28, 46, 17, 19, 21, 0, 0, 1, 0, 76, 0, 0, 4, 137, 4, 58, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 7, 19, 35, 3, 51, 19, 1, 236, 1, 32, 214, 254, 144, 2, 23, 233, 254, 58, 121, 92, 181, 188, 181, 58, 1, 219, 254, 37, 2, 82, 1, 232, 254, 103, 112, 2, 9, 251, 198, 1, 80, 0, 1, 0, 59, 255, 232, 3, 253, 6, 25, 0, 75, 0, 0, 115, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 239, 185, 8, 36, 32, 32, 93, 65, 39, 54, 16, 15, 11, 4, 5, 29, 33, 35, 82, 6, 5, 31, 26, 25, 60, 25, 24, 29, 7, 6, 35, 27, 28, 72, 43, 59, 114, 48, 54, 60, 156, 72, 79, 135, 50, 49, 59, 5, 3, 32, 25, 26, 59, 24, 24, 26, 8, 9, 56, 31, 30, 52, 5, 6, 39, 40, 40, 117, 73, 102, 155, 55, 56, 67, 13, 186, 4, 64, 52, 116, 48, 47, 60, 3, 2, 35, 27, 28, 68, 34, 38, 68, 47, 50, 128, 67, 52, 89, 39, 40, 75, 38, 38, 82, 48, 42, 69, 24, 25, 26, 44, 33, 156, 40, 33, 1, 48, 46, 46, 129, 80, 50, 86, 39, 39, 74, 38, 37, 80, 45, 58, 98, 48, 48, 102, 62, 73, 120, 43, 43, 48, 2, 3, 79, 66, 67, 172, 90, 251, 193, 0, 2, 0, 138, 255, 235, 4, 63, 4, 79, 0, 42, 0, 56, 0, 0, 65, 38, 6, 7, 6, 6, 7, 23, 54, 54, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 33, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 3, 38, 38, 39, 38, 38, 55, 55, 5, 6, 6, 7, 6, 6, 2, 152, 53, 109, 52, 52, 95, 40, 62, 73, 169, 91, 76, 100, 28, 20, 19, 2, 2, 253, 40, 19, 12, 36, 48, 47, 153, 105, 74, 134, 58, 58, 96, 36, 35, 46, 8, 5, 10, 41, 51, 52, 165, 241, 59, 89, 27, 28, 20, 9, 5, 2, 36, 21, 62, 41, 42, 107, 4, 78, 1, 13, 15, 16, 51, 36, 127, 54, 54, 3, 2, 67, 51, 39, 92, 48, 17, 33, 17, 121, 99, 174, 65, 65, 76, 3, 2, 40, 37, 37, 103, 61, 60, 134, 69, 45, 105, 192, 74, 74, 90, 252, 55, 1, 44, 37, 37, 99, 57, 28, 1, 55, 109, 43, 44, 53, 0, 0, 1, 0, 119, 255, 48, 4, 100, 6, 156, 0, 55, 0, 0, 65, 6, 6, 39, 38, 38, 55, 35, 6, 22, 23, 7, 51, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 23, 22, 22, 7, 51, 54, 2, 39, 55, 35, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 76, 14, 181, 115, 130, 102, 8, 181, 10, 156, 175, 35, 146, 35, 170, 247, 12, 6, 47, 45, 46, 127, 73, 47, 86, 32, 33, 34, 6, 12, 148, 114, 125, 74, 6, 180, 10, 117, 172, 40, 146, 39, 169, 222, 12, 6, 48, 47, 46, 128, 74, 45, 84, 32, 32, 33, 1, 126, 121, 125, 4, 2, 169, 118, 171, 247, 26, 193, 192, 18, 196, 186, 87, 132, 51, 50, 75, 30, 18, 46, 31, 31, 83, 57, 108, 134, 2, 4, 201, 102, 158, 1, 14, 34, 222, 220, 20, 207, 173, 87, 133, 51, 52, 76, 29, 17, 46, 31, 32, 82, 0, 0, 1, 0, 126, 255, 11, 4, 47, 5, 38, 0, 66, 0, 0, 101, 38, 38, 39, 38, 38, 39, 38, 52, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 55, 35, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 7, 51, 55, 54, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 2, 25, 53, 77, 27, 27, 32, 7, 8, 5, 5, 6, 28, 21, 23, 62, 39, 38, 93, 55, 52, 82, 29, 28, 28, 2, 170, 3, 39, 38, 38, 108, 66, 40, 181, 39, 99, 161, 59, 60, 75, 12, 5, 5, 4, 10, 14, 58, 41, 32, 79, 48, 42, 181, 39, 72, 140, 57, 56, 75, 9, 171, 11, 56, 39, 40, 96, 129, 1, 36, 29, 28, 77, 43, 42, 90, 43, 42, 47, 95, 42, 47, 77, 29, 27, 29, 2, 2, 38, 32, 33, 86, 50, 1, 73, 126, 50, 49, 68, 15, 228, 221, 14, 98, 72, 73, 181, 99, 43, 53, 103, 48, 65, 115, 43, 32, 47, 14, 242, 227, 8, 57, 47, 46, 126, 75, 1, 49, 79, 27, 28, 29, 0, 0, 1, 0, 9, 0, 0, 4, 151, 5, 198, 0, 48, 0, 0, 65, 33, 55, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 35, 7, 51, 7, 6, 6, 7, 6, 6, 7, 39, 7, 33, 55, 5, 54, 54, 55, 1, 198, 1, 50, 27, 254, 201, 34, 8, 45, 36, 36, 99, 61, 53, 77, 24, 24, 19, 3, 182, 4, 42, 45, 45, 133, 87, 99, 170, 65, 65, 83, 12, 33, 156, 26, 160, 30, 5, 19, 16, 17, 50, 36, 65, 27, 3, 233, 27, 253, 48, 46, 51, 10, 2, 114, 152, 1, 6, 55, 105, 41, 40, 47, 2, 2, 36, 31, 32, 86, 50, 1, 85, 140, 51, 51, 59, 2, 2, 64, 58, 59, 162, 97, 254, 252, 152, 226, 35, 77, 35, 35, 55, 14, 1, 150, 151, 2, 55, 126, 71, 0, 1, 0, 86, 0, 0, 5, 34, 5, 176, 0, 26, 0, 0, 65, 1, 7, 49, 39, 3, 35, 1, 33, 7, 33, 7, 33, 7, 33, 3, 51, 19, 33, 55, 33, 55, 55, 5, 55, 33, 1, 4, 72, 254, 88, 51, 27, 213, 195, 1, 28, 254, 199, 21, 1, 113, 30, 254, 144, 21, 1, 113, 57, 181, 57, 1, 120, 22, 254, 133, 34, 6, 1, 111, 22, 254, 209, 2, 21, 5, 176, 253, 165, 73, 75, 2, 89, 253, 48, 121, 169, 120, 254, 186, 1, 70, 120, 165, 7, 3, 121, 2, 208, 0, 0, 1, 0, 2, 254, 72, 4, 182, 6, 46, 0, 47, 0, 0, 65, 55, 35, 55, 54, 54, 55, 54, 54, 23, 50, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 35, 7, 51, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 3, 154, 22, 206, 14, 9, 48, 38, 37, 100, 59, 35, 65, 30, 33, 44, 88, 47, 95, 157, 59, 60, 74, 12, 12, 172, 22, 172, 152, 6, 31, 26, 26, 74, 50, 36, 73, 32, 28, 38, 79, 42, 90, 140, 51, 51, 61, 11, 151, 3, 171, 143, 99, 59, 91, 32, 31, 31, 1, 15, 16, 148, 15, 23, 1, 2, 55, 52, 52, 149, 93, 99, 143, 252, 33, 44, 85, 34, 34, 41, 1, 1, 18, 17, 147, 18, 19, 1, 2, 57, 52, 52, 143, 84, 3, 223, 255, 255, 255, 215, 0, 0, 4, 178, 5, 176, 6, 38, 0, 7, 0, 0, 0, 7, 2, 106, 254, 163, 254, 127, 0, 1, 0, 3, 0, 0, 4, 145, 5, 198, 0, 56, 0, 0, 65, 55, 33, 55, 33, 55, 33, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 35, 7, 51, 7, 35, 7, 55, 7, 6, 6, 7, 6, 6, 7, 39, 7, 33, 55, 5, 54, 54, 55, 55, 2, 244, 22, 254, 176, 21, 1, 82, 22, 254, 169, 23, 7, 46, 36, 36, 99, 61, 54, 77, 24, 24, 20, 3, 180, 5, 42, 45, 45, 133, 87, 99, 170, 65, 65, 83, 12, 22, 155, 22, 159, 20, 163, 22, 174, 12, 6, 20, 16, 17, 50, 36, 65, 27, 3, 233, 27, 253, 48, 45, 52, 12, 11, 1, 215, 122, 138, 123, 184, 55, 105, 41, 40, 48, 1, 2, 36, 31, 32, 86, 50, 1, 84, 141, 51, 51, 59, 2, 2, 64, 58, 59, 162, 97, 184, 123, 138, 122, 1, 73, 35, 76, 35, 35, 55, 14, 1, 150, 151, 2, 55, 126, 70, 72, 0, 0, 2, 0, 19, 255, 237, 4, 207, 5, 176, 0, 45, 0, 63, 0, 0, 65, 55, 35, 19, 35, 3, 7, 54, 38, 39, 38, 38, 39, 39, 3, 51, 19, 23, 50, 54, 55, 54, 54, 55, 51, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 5, 19, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 6, 6, 7, 6, 6, 7, 4, 182, 25, 171, 46, 181, 46, 93, 4, 29, 34, 35, 110, 76, 235, 252, 180, 104, 71, 86, 132, 49, 48, 67, 22, 77, 106, 5, 9, 21, 20, 78, 64, 35, 72, 30, 13, 18, 37, 18, 28, 27, 4, 5, 3, 2, 107, 253, 51, 112, 71, 31, 41, 13, 12, 10, 1, 1, 4, 3, 5, 28, 25, 26, 79, 57, 3, 171, 143, 1, 6, 254, 250, 1, 69, 132, 52, 52, 65, 3, 2, 250, 80, 2, 53, 1, 61, 52, 51, 136, 75, 253, 125, 52, 110, 46, 46, 59, 1, 1, 17, 20, 134, 5, 8, 1, 1, 34, 24, 23, 52, 19, 2, 134, 225, 2, 79, 3, 3, 32, 25, 25, 60, 31, 31, 58, 22, 47, 105, 44, 45, 60, 1, 0, 0, 2, 0, 16, 255, 229, 4, 170, 4, 57, 0, 35, 0, 71, 0, 0, 101, 23, 55, 39, 54, 54, 55, 54, 38, 39, 55, 39, 7, 38, 38, 39, 38, 6, 7, 39, 7, 23, 6, 6, 7, 6, 22, 23, 7, 23, 55, 22, 22, 23, 22, 54, 1, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 38, 3, 57, 82, 143, 92, 49, 63, 11, 10, 16, 23, 142, 112, 141, 56, 133, 72, 79, 143, 66, 90, 142, 96, 56, 69, 12, 9, 13, 21, 128, 111, 120, 59, 139, 76, 85, 150, 254, 43, 5, 28, 22, 25, 77, 46, 38, 90, 48, 43, 72, 28, 37, 48, 11, 7, 4, 4, 5, 25, 18, 26, 70, 44, 41, 95, 53, 44, 73, 29, 35, 46, 13, 8, 5, 82, 109, 127, 124, 67, 148, 83, 75, 146, 71, 121, 146, 126, 45, 48, 1, 1, 49, 42, 121, 128, 129, 69, 158, 88, 72, 141, 69, 108, 144, 109, 50, 52, 1, 2, 56, 1, 216, 43, 84, 39, 48, 84, 27, 24, 25, 1, 1, 28, 23, 31, 87, 50, 33, 69, 33, 39, 79, 36, 49, 83, 31, 27, 31, 1, 1, 29, 24, 30, 82, 46, 34, 74, 0, 0, 2, 1, 128, 255, 243, 3, 51, 5, 176, 0, 3, 0, 27, 0, 0, 65, 19, 35, 3, 3, 20, 22, 23, 22, 22, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 7, 6, 6, 7, 6, 6, 2, 136, 171, 182, 171, 82, 17, 15, 14, 41, 24, 25, 42, 15, 14, 17, 16, 15, 15, 42, 24, 24, 40, 14, 16, 17, 1, 215, 3, 217, 252, 39, 254, 135, 24, 40, 14, 14, 15, 1, 1, 18, 15, 15, 39, 24, 24, 41, 15, 15, 16, 1, 1, 17, 14, 15, 44, 0, 0, 2, 1, 81, 254, 140, 3, 7, 4, 82, 0, 3, 0, 15, 0, 0, 65, 3, 51, 19, 19, 52, 38, 7, 6, 6, 7, 20, 22, 55, 54, 54, 1, 252, 171, 181, 171, 86, 62, 50, 50, 61, 1, 64, 47, 48, 63, 2, 99, 252, 41, 3, 215, 1, 126, 48, 65, 2, 2, 65, 50, 49, 60, 2, 2, 62, 0, 2, 1, 23, 255, 242, 4, 88, 5, 198, 0, 43, 0, 55, 0, 0, 65, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 3, 20, 22, 55, 54, 54, 55, 52, 38, 7, 6, 6, 1, 214, 177, 11, 53, 59, 56, 113, 48, 47, 64, 7, 7, 49, 49, 49, 141, 84, 86, 158, 62, 63, 82, 10, 179, 10, 50, 36, 36, 90, 50, 49, 77, 25, 25, 21, 7, 8, 52, 36, 37, 84, 39, 97, 85, 94, 63, 48, 48, 64, 1, 64, 48, 50, 61, 1, 153, 1, 74, 112, 49, 45, 97, 56, 55, 130, 78, 88, 136, 47, 47, 50, 2, 2, 46, 45, 46, 136, 89, 1, 50, 76, 25, 25, 25, 1, 1, 31, 27, 28, 79, 50, 54, 95, 42, 42, 74, 33, 83, 145, 254, 73, 48, 60, 2, 2, 61, 49, 48, 64, 2, 2, 65, 0, 0, 2, 0, 86, 254, 117, 3, 113, 4, 79, 0, 49, 0, 61, 0, 0, 65, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 3, 20, 22, 55, 54, 54, 55, 54, 38, 7, 6, 6, 2, 196, 177, 5, 17, 13, 14, 41, 29, 54, 108, 44, 45, 60, 7, 8, 44, 47, 46, 135, 83, 85, 151, 59, 58, 77, 10, 180, 9, 38, 28, 33, 88, 53, 49, 71, 22, 22, 16, 6, 7, 49, 34, 34, 80, 38, 46, 66, 22, 22, 26, 141, 64, 47, 49, 63, 1, 1, 63, 49, 50, 62, 2, 162, 1, 37, 63, 27, 28, 51, 25, 46, 100, 56, 56, 130, 76, 85, 136, 48, 48, 52, 2, 2, 48, 47, 46, 136, 86, 1, 43, 71, 25, 30, 32, 1, 1, 33, 29, 28, 78, 47, 53, 95, 43, 43, 76, 33, 41, 72, 40, 39, 93, 1, 118, 49, 60, 2, 2, 62, 49, 49, 63, 1, 2, 66, 0, 1, 0, 194, 254, 176, 2, 47, 0, 219, 0, 12, 0, 0, 101, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 2, 18, 29, 196, 32, 15, 69, 53, 110, 41, 71, 28, 32, 44, 44, 175, 179, 87, 154, 70, 65, 33, 79, 44, 50, 114, 0, 0, 1, 1, 142, 255, 236, 2, 170, 1, 10, 0, 11, 0, 0, 101, 20, 22, 51, 50, 54, 53, 52, 38, 7, 34, 6, 1, 142, 78, 61, 61, 84, 80, 61, 65, 78, 115, 59, 76, 80, 65, 63, 78, 2, 88, 0, 255, 255, 1, 191, 255, 236, 3, 114, 4, 118, 4, 38, 0, 96, 49, 0, 0, 7, 0, 96, 0, 200, 3, 108, 255, 255, 1, 66, 254, 176, 3, 105, 4, 118, 4, 39, 0, 96, 0, 191, 3, 108, 0, 7, 0, 95, 0, 128, 0, 0, 255, 255, 0, 174, 255, 236, 4, 172, 1, 10, 4, 39, 0, 96, 255, 32, 0, 0, 0, 39, 0, 96, 0, 151, 0, 0, 0, 7, 0, 96, 2, 2, 0, 0, 0, 1, 1, 255, 2, 106, 2, 223, 3, 76, 0, 11, 0, 0, 65, 20, 22, 51, 50, 54, 53, 52, 38, 7, 6, 6, 1, 255, 61, 51, 44, 68, 63, 48, 50, 62, 2, 214, 48, 60, 65, 49, 48, 64, 2, 2, 65, 0, 0, 1, 1, 169, 2, 20, 3, 56, 3, 220, 0, 25, 0, 0, 65, 7, 20, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 1, 171, 2, 26, 24, 24, 68, 42, 45, 75, 28, 27, 33, 3, 3, 1, 25, 24, 24, 70, 43, 45, 76, 27, 28, 32, 3, 16, 59, 42, 70, 25, 26, 29, 1, 29, 27, 26, 73, 44, 58, 43, 72, 27, 26, 31, 30, 27, 28, 75, 0, 1, 0, 20, 255, 105, 3, 169, 0, 0, 0, 3, 0, 0, 69, 55, 33, 7, 3, 142, 27, 252, 133, 26, 151, 151, 151, 0, 0, 1, 0, 204, 2, 49, 3, 206, 2, 201, 0, 3, 0, 0, 65, 55, 33, 7, 3, 179, 27, 253, 25, 27, 2, 49, 152, 152, 0, 1, 0, 82, 2, 139, 4, 147, 3, 34, 0, 3, 0, 0, 65, 55, 33, 7, 4, 112, 35, 251, 226, 35, 2, 139, 151, 151, 0, 1, 0, 87, 2, 139, 4, 152, 3, 34, 0, 3, 0, 0, 65, 55, 33, 7, 4, 117, 35, 251, 226, 35, 2, 139, 151, 151, 0, 1, 2, 38, 4, 32, 3, 13, 6, 0, 0, 5, 0, 0, 65, 55, 35, 7, 3, 55, 2, 250, 19, 154, 16, 61, 136, 5, 136, 120, 97, 254, 129, 1, 0, 2, 1, 158, 4, 33, 3, 217, 6, 0, 0, 5, 0, 11, 0, 0, 65, 55, 35, 7, 3, 51, 1, 55, 35, 7, 3, 51, 2, 107, 18, 147, 15, 61, 128, 1, 167, 20, 147, 17, 60, 127, 5, 139, 117, 95, 254, 128, 1, 106, 117, 102, 254, 135, 0, 1, 2, 41, 4, 15, 3, 130, 6, 29, 0, 12, 0, 0, 65, 7, 51, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 2, 64, 23, 176, 27, 15, 75, 52, 95, 47, 78, 29, 27, 37, 4, 160, 145, 149, 86, 148, 69, 74, 37, 90, 50, 47, 102, 0, 1, 2, 24, 4, 7, 3, 113, 6, 22, 0, 12, 0, 0, 65, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 3, 89, 24, 177, 26, 16, 74, 52, 95, 46, 77, 29, 27, 38, 5, 132, 146, 150, 86, 148, 69, 74, 36, 88, 50, 47, 105, 0, 1, 1, 32, 254, 209, 2, 125, 0, 225, 0, 9, 0, 0, 101, 55, 35, 7, 6, 6, 7, 23, 54, 54, 2, 102, 23, 180, 27, 15, 74, 53, 99, 88, 120, 77, 148, 151, 86, 147, 69, 75, 72, 195, 255, 255, 1, 139, 4, 15, 4, 31, 6, 29, 4, 39, 0, 108, 255, 98, 0, 0, 0, 7, 0, 108, 0, 157, 0, 0, 255, 255, 1, 125, 4, 7, 4, 24, 6, 22, 4, 39, 0, 109, 255, 101, 0, 0, 0, 7, 0, 109, 0, 167, 0, 0, 0, 2, 0, 151, 254, 207, 3, 14, 0, 223, 0, 9, 0, 22, 0, 0, 101, 55, 35, 7, 6, 6, 7, 23, 54, 54, 37, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 1, 221, 23, 180, 27, 15, 75, 52, 99, 88, 120, 1, 44, 24, 181, 26, 16, 74, 53, 99, 47, 79, 30, 26, 37, 76, 147, 151, 86, 147, 69, 75, 72, 195, 114, 147, 151, 86, 147, 69, 75, 38, 91, 51, 46, 101, 0, 255, 255, 2, 38, 4, 32, 3, 13, 6, 0, 6, 6, 0, 106, 0, 0, 255, 255, 1, 158, 4, 33, 3, 217, 6, 0, 6, 6, 0, 107, 0, 0, 0, 1, 1, 70, 254, 42, 3, 236, 6, 108, 0, 36, 0, 0, 65, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 18, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 7, 6, 6, 1, 89, 2, 12, 5, 10, 9, 46, 40, 39, 115, 78, 47, 60, 80, 24, 24, 20, 1, 1, 14, 11, 2, 20, 72, 57, 57, 161, 110, 27, 95, 159, 65, 65, 104, 38, 39, 53, 2, 75, 11, 87, 192, 97, 98, 192, 87, 88, 150, 55, 112, 54, 141, 80, 80, 172, 86, 86, 164, 72, 15, 131, 1, 6, 121, 120, 213, 81, 124, 48, 138, 85, 85, 192, 102, 102, 207, 0, 1, 0, 160, 254, 41, 3, 72, 6, 107, 0, 33, 0, 0, 65, 55, 54, 54, 39, 38, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 2, 7, 6, 6, 7, 23, 54, 54, 55, 54, 18, 3, 53, 2, 12, 5, 9, 10, 46, 39, 40, 116, 79, 46, 59, 79, 24, 24, 21, 1, 1, 14, 10, 2, 20, 72, 57, 57, 161, 111, 28, 143, 218, 78, 75, 98, 2, 73, 11, 87, 192, 98, 98, 192, 88, 87, 150, 55, 112, 54, 140, 80, 81, 174, 86, 86, 164, 71, 15, 131, 254, 248, 122, 123, 215, 81, 115, 71, 240, 143, 142, 1, 57, 0, 1, 1, 14, 254, 200, 3, 197, 6, 128, 0, 7, 0, 0, 65, 55, 33, 1, 33, 55, 35, 1, 3, 172, 25, 254, 126, 254, 203, 1, 130, 24, 215, 1, 5, 5, 232, 152, 248, 72, 152, 6, 136, 0, 0, 1, 0, 250, 254, 200, 3, 177, 6, 128, 0, 7, 0, 0, 65, 7, 51, 1, 35, 7, 33, 1, 2, 47, 24, 215, 254, 251, 215, 24, 1, 130, 1, 53, 6, 128, 152, 249, 120, 152, 7, 184, 0, 1, 1, 52, 254, 147, 4, 86, 6, 64, 0, 48, 0, 0, 65, 55, 38, 38, 39, 38, 54, 55, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 55, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 7, 7, 6, 6, 7, 7, 22, 22, 23, 22, 22, 7, 7, 6, 22, 23, 22, 22, 3, 44, 25, 63, 67, 13, 14, 2, 6, 21, 5, 13, 20, 20, 68, 48, 120, 142, 17, 22, 8, 30, 30, 29, 94, 73, 10, 99, 152, 54, 54, 65, 12, 22, 20, 161, 138, 15, 66, 90, 27, 26, 18, 7, 22, 8, 27, 37, 37, 124, 254, 147, 115, 8, 73, 51, 50, 116, 50, 170, 53, 101, 44, 44, 73, 26, 51, 171, 131, 170, 61, 122, 50, 49, 64, 5, 117, 6, 79, 63, 63, 165, 92, 170, 139, 135, 2, 144, 3, 38, 34, 35, 99, 64, 170, 79, 160, 66, 66, 87, 0, 0, 1, 0, 178, 254, 143, 3, 212, 6, 59, 0, 45, 0, 0, 87, 23, 54, 54, 55, 54, 54, 55, 55, 54, 54, 55, 55, 38, 38, 55, 55, 54, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 6, 7, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 7, 6, 6, 7, 6, 6, 178, 10, 97, 151, 55, 54, 67, 12, 22, 19, 162, 138, 15, 131, 103, 14, 21, 9, 23, 36, 36, 123, 90, 29, 67, 68, 12, 14, 7, 6, 22, 5, 13, 20, 20, 67, 48, 120, 140, 17, 22, 9, 34, 31, 31, 93, 252, 117, 6, 80, 64, 63, 164, 91, 169, 139, 134, 4, 144, 6, 137, 129, 171, 80, 160, 66, 65, 86, 6, 114, 7, 70, 46, 51, 119, 55, 171, 53, 101, 44, 45, 74, 26, 50, 171, 130, 169, 57, 121, 50, 51, 68, 0, 1, 1, 118, 0, 153, 3, 107, 3, 181, 0, 6, 0, 0, 65, 1, 35, 1, 7, 19, 51, 2, 35, 1, 72, 151, 254, 164, 2, 226, 124, 2, 28, 1, 153, 254, 123, 20, 254, 125, 0, 1, 1, 44, 0, 152, 3, 32, 3, 181, 0, 6, 0, 0, 65, 35, 19, 1, 51, 1, 55, 2, 64, 126, 178, 254, 184, 152, 1, 91, 1, 3, 181, 254, 123, 254, 104, 1, 134, 20, 0, 1, 0, 114, 0, 146, 4, 92, 4, 182, 0, 11, 0, 0, 65, 19, 35, 3, 33, 7, 33, 3, 51, 19, 33, 55, 2, 209, 74, 181, 74, 254, 119, 33, 1, 139, 79, 181, 78, 1, 139, 32, 3, 13, 1, 169, 254, 87, 184, 254, 61, 1, 195, 184, 0, 1, 0, 172, 2, 139, 3, 242, 3, 34, 0, 3, 0, 0, 65, 55, 33, 7, 3, 215, 27, 252, 213, 27, 2, 139, 151, 151, 0, 2, 0, 96, 0, 1, 4, 57, 4, 243, 0, 11, 0, 15, 0, 0, 65, 19, 35, 3, 33, 7, 33, 3, 51, 19, 33, 55, 3, 55, 33, 7, 2, 216, 65, 164, 65, 254, 139, 24, 1, 118, 66, 165, 65, 1, 96, 24, 174, 27, 252, 213, 27, 3, 87, 1, 156, 254, 100, 152, 254, 98, 1, 158, 152, 252, 170, 151, 151, 0, 0, 1, 0, 129, 0, 206, 4, 92, 4, 99, 0, 11, 0, 0, 83, 23, 1, 1, 55, 1, 1, 39, 1, 1, 7, 1, 129, 102, 1, 123, 1, 8, 128, 254, 249, 1, 121, 102, 254, 135, 254, 252, 129, 1, 5, 1, 82, 132, 1, 80, 254, 176, 114, 1, 82, 1, 77, 132, 254, 178, 1, 78, 115, 254, 178, 0, 0, 3, 0, 111, 0, 174, 4, 89, 4, 183, 0, 3, 0, 15, 0, 27, 0, 0, 65, 55, 33, 7, 1, 6, 22, 55, 54, 54, 55, 52, 38, 7, 6, 6, 3, 20, 22, 55, 54, 54, 55, 52, 38, 7, 6, 6, 4, 56, 33, 252, 54, 32, 1, 211, 1, 60, 47, 46, 60, 1, 60, 47, 47, 58, 144, 59, 47, 46, 60, 1, 60, 47, 47, 59, 2, 88, 184, 184, 1, 238, 47, 58, 2, 2, 60, 47, 45, 62, 2, 2, 62, 252, 162, 45, 60, 2, 2, 60, 47, 45, 62, 2, 2, 62, 0, 2, 0, 126, 1, 109, 4, 70, 3, 173, 0, 3, 0, 7, 0, 0, 65, 55, 33, 7, 1, 55, 33, 7, 4, 42, 28, 252, 157, 29, 3, 28, 28, 252, 157, 29, 3, 12, 161, 161, 254, 97, 160, 160, 0, 1, 0, 122, 0, 182, 4, 66, 4, 63, 0, 19, 0, 0, 65, 55, 33, 55, 33, 55, 35, 55, 39, 7, 33, 7, 33, 7, 33, 7, 33, 7, 23, 55, 3, 222, 28, 254, 93, 166, 1, 41, 28, 221, 63, 70, 97, 253, 226, 29, 1, 208, 170, 254, 175, 29, 1, 4, 83, 78, 118, 1, 109, 160, 255, 161, 96, 50, 146, 161, 255, 160, 125, 58, 183, 0, 0, 2, 0, 94, 1, 22, 4, 89, 3, 254, 0, 43, 0, 90, 0, 0, 83, 7, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 7, 34, 6, 7, 6, 6, 3, 7, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 184, 6, 26, 57, 32, 32, 72, 40, 31, 56, 26, 26, 50, 27, 50, 96, 59, 39, 70, 31, 30, 53, 23, 9, 26, 57, 32, 32, 71, 40, 32, 56, 27, 21, 43, 22, 54, 103, 64, 39, 71, 31, 31, 54, 107, 6, 26, 58, 32, 32, 71, 40, 31, 56, 26, 26, 51, 26, 49, 98, 59, 39, 69, 31, 30, 54, 23, 9, 26, 57, 32, 32, 72, 40, 30, 54, 26, 23, 45, 23, 27, 51, 27, 27, 57, 31, 39, 71, 31, 31, 55, 3, 105, 169, 28, 52, 21, 20, 25, 12, 10, 11, 27, 15, 29, 42, 23, 21, 20, 53, 29, 171, 28, 52, 20, 21, 24, 14, 11, 9, 23, 13, 31, 45, 1, 24, 20, 21, 53, 254, 56, 169, 28, 52, 20, 20, 25, 11, 10, 10, 28, 15, 29, 42, 23, 21, 20, 53, 29, 171, 28, 53, 20, 21, 24, 13, 10, 10, 25, 13, 15, 27, 11, 10, 12, 25, 20, 20, 53, 0, 1, 0, 161, 0, 201, 4, 52, 4, 80, 0, 8, 0, 0, 83, 1, 55, 37, 39, 55, 37, 55, 1, 161, 2, 246, 33, 253, 205, 38, 65, 2, 118, 30, 252, 135, 2, 68, 254, 133, 187, 240, 15, 20, 240, 201, 254, 134, 0, 1, 0, 101, 0, 192, 4, 27, 4, 72, 0, 8, 0, 0, 119, 1, 55, 1, 7, 5, 23, 7, 5, 101, 3, 156, 26, 252, 231, 32, 2, 84, 45, 71, 253, 109, 192, 1, 124, 145, 1, 123, 183, 244, 16, 20, 240, 0, 0, 2, 0, 79, 0, 9, 4, 103, 4, 158, 0, 8, 0, 12, 0, 0, 65, 55, 37, 55, 1, 7, 1, 55, 37, 1, 55, 33, 7, 1, 146, 65, 2, 118, 30, 252, 135, 26, 2, 246, 33, 253, 205, 1, 194, 27, 252, 213, 27, 2, 255, 18, 216, 181, 254, 171, 131, 254, 171, 168, 216, 253, 24, 151, 151, 0, 0, 2, 0, 87, 0, 7, 4, 78, 4, 169, 0, 8, 0, 12, 0, 0, 65, 7, 5, 7, 1, 55, 1, 7, 5, 19, 55, 33, 7, 3, 150, 71, 253, 109, 36, 3, 156, 26, 252, 231, 32, 2, 84, 25, 27, 252, 213, 27, 3, 27, 18, 216, 181, 1, 86, 130, 1, 85, 164, 220, 252, 222, 151, 151, 0, 1, 0, 189, 1, 119, 4, 0, 3, 32, 0, 5, 0, 0, 65, 19, 33, 7, 33, 3, 3, 182, 74, 252, 218, 29, 2, 115, 47, 1, 119, 1, 169, 161, 254, 248, 0, 1, 0, 114, 255, 131, 4, 124, 5, 176, 0, 3, 0, 0, 69, 1, 35, 1, 1, 29, 3, 95, 170, 252, 160, 125, 6, 45, 249, 211, 0, 1, 1, 120, 255, 131, 3, 79, 5, 176, 0, 3, 0, 0, 65, 1, 51, 1, 1, 120, 1, 60, 155, 254, 196, 5, 176, 249, 211, 6, 45, 0, 0, 1, 0, 233, 0, 215, 3, 230, 4, 207, 0, 3, 0, 0, 101, 1, 39, 1, 1, 84, 2, 146, 107, 253, 110, 215, 3, 177, 71, 252, 79, 0, 0, 5, 0, 130, 255, 233, 4, 80, 5, 199, 0, 25, 0, 51, 0, 77, 0, 103, 0, 107, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 51, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 51, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 5, 1, 39, 1, 141, 7, 4, 26, 29, 29, 89, 60, 62, 103, 38, 37, 47, 7, 7, 4, 25, 29, 29, 89, 60, 63, 102, 38, 38, 47, 124, 7, 3, 20, 18, 17, 50, 35, 34, 42, 12, 12, 7, 2, 7, 4, 20, 17, 17, 51, 34, 34, 42, 12, 12, 7, 1, 49, 7, 4, 26, 29, 29, 90, 60, 62, 103, 38, 37, 47, 7, 8, 4, 26, 29, 29, 89, 60, 63, 103, 38, 38, 47, 124, 7, 4, 20, 18, 17, 51, 35, 34, 42, 12, 11, 7, 2, 7, 4, 20, 17, 17, 51, 34, 34, 42, 12, 12, 8, 254, 127, 2, 216, 104, 253, 41, 4, 169, 76, 56, 100, 39, 39, 47, 1, 2, 44, 39, 39, 103, 59, 77, 56, 102, 39, 39, 46, 2, 1, 44, 39, 39, 105, 137, 80, 30, 58, 24, 23, 28, 1, 30, 23, 24, 57, 28, 79, 30, 58, 22, 23, 28, 30, 23, 23, 56, 253, 18, 77, 56, 101, 38, 39, 47, 1, 1, 44, 38, 38, 104, 59, 78, 56, 101, 39, 39, 46, 2, 1, 43, 39, 39, 105, 138, 81, 30, 58, 23, 23, 28, 1, 30, 23, 23, 57, 28, 80, 30, 58, 23, 23, 28, 1, 29, 24, 23, 56, 41, 4, 8, 65, 251, 248, 0, 0, 6, 0, 92, 255, 231, 4, 73, 5, 199, 0, 49, 0, 75, 0, 101, 0, 127, 0, 153, 0, 157, 0, 0, 65, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 5, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 37, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 3, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 39, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 3, 1, 39, 1, 1, 22, 3, 3, 20, 25, 24, 80, 57, 36, 62, 28, 13, 25, 12, 10, 24, 12, 26, 61, 33, 61, 96, 35, 34, 40, 5, 3, 3, 19, 24, 24, 80, 57, 37, 63, 28, 13, 24, 12, 8, 18, 9, 27, 66, 37, 62, 97, 34, 35, 40, 1, 218, 2, 13, 14, 13, 44, 32, 30, 36, 9, 8, 4, 1, 3, 2, 13, 13, 14, 43, 32, 30, 36, 9, 9, 4, 1, 254, 173, 2, 13, 14, 13, 43, 33, 30, 35, 9, 9, 4, 1, 3, 2, 13, 13, 14, 43, 32, 30, 36, 9, 9, 4, 1, 121, 2, 13, 14, 13, 43, 32, 30, 36, 9, 8, 4, 1, 3, 2, 14, 13, 14, 43, 31, 30, 35, 9, 9, 4, 1, 134, 4, 2, 22, 26, 25, 81, 57, 60, 94, 34, 33, 39, 5, 3, 3, 21, 24, 25, 81, 58, 62, 95, 33, 34, 39, 11, 3, 100, 55, 252, 156, 1, 40, 45, 50, 97, 38, 39, 47, 1, 19, 17, 8, 19, 11, 13, 21, 9, 17, 16, 1, 1, 47, 40, 39, 104, 56, 45, 50, 98, 39, 39, 49, 1, 1, 19, 18, 8, 19, 11, 10, 18, 8, 20, 21, 1, 48, 40, 41, 105, 55, 25, 59, 25, 25, 32, 33, 24, 24, 55, 23, 44, 26, 57, 24, 25, 32, 31, 24, 23, 55, 23, 45, 25, 59, 25, 24, 33, 33, 24, 24, 55, 23, 44, 26, 57, 24, 25, 32, 32, 24, 23, 54, 23, 3, 170, 25, 59, 25, 24, 33, 33, 24, 24, 55, 23, 44, 25, 57, 24, 25, 32, 31, 24, 23, 54, 23, 44, 45, 51, 97, 38, 38, 47, 1, 1, 47, 40, 39, 102, 55, 45, 51, 100, 39, 39, 49, 1, 1, 48, 40, 41, 106, 252, 226, 2, 125, 90, 253, 131, 0, 1, 1, 111, 254, 114, 3, 35, 5, 176, 0, 3, 0, 0, 65, 1, 35, 1, 2, 1, 1, 34, 146, 254, 222, 254, 114, 7, 62, 248, 194, 0, 0, 2, 1, 88, 254, 242, 3, 57, 5, 176, 0, 3, 0, 7, 0, 0, 65, 51, 19, 35, 55, 19, 35, 3, 1, 88, 181, 138, 181, 211, 132, 181, 132, 254, 242, 3, 23, 177, 2, 246, 253, 10, 0, 1, 0, 166, 0, 0, 4, 128, 5, 176, 0, 11, 0, 0, 65, 55, 33, 19, 35, 3, 33, 7, 33, 3, 51, 19, 4, 104, 24, 254, 119, 59, 181, 59, 254, 125, 25, 1, 133, 146, 181, 145, 3, 161, 153, 1, 118, 254, 138, 153, 252, 95, 3, 161, 0, 1, 0, 23, 254, 96, 4, 129, 5, 176, 0, 19, 0, 0, 97, 55, 33, 19, 33, 55, 33, 19, 35, 3, 33, 7, 33, 3, 33, 7, 33, 3, 51, 19, 3, 216, 24, 254, 117, 121, 1, 139, 24, 254, 117, 59, 181, 59, 254, 127, 24, 1, 130, 122, 254, 127, 24, 1, 130, 66, 181, 65, 151, 3, 10, 153, 1, 118, 254, 138, 153, 252, 246, 151, 254, 96, 1, 160, 0, 3, 0, 67, 255, 233, 4, 95, 4, 80, 0, 51, 0, 75, 0, 108, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 37, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 3, 45, 107, 7, 23, 18, 18, 50, 35, 39, 48, 13, 13, 7, 2, 8, 4, 24, 21, 20, 60, 41, 36, 47, 14, 13, 9, 2, 109, 2, 23, 25, 28, 88, 58, 63, 101, 36, 36, 43, 6, 8, 3, 23, 27, 27, 87, 61, 65, 100, 33, 26, 33, 253, 126, 11, 88, 70, 66, 172, 97, 93, 141, 46, 46, 40, 10, 11, 85, 67, 67, 175, 100, 93, 142, 45, 46, 39, 77, 11, 51, 57, 57, 173, 112, 79, 145, 64, 63, 106, 40, 40, 50, 8, 7, 18, 24, 24, 77, 51, 51, 127, 74, 79, 144, 63, 64, 107, 40, 40, 50, 1, 187, 1, 31, 51, 18, 18, 20, 1, 1, 36, 28, 28, 67, 32, 90, 36, 69, 27, 27, 34, 21, 19, 18, 50, 31, 1, 52, 84, 30, 33, 37, 1, 1, 47, 40, 41, 107, 58, 87, 55, 104, 40, 40, 50, 1, 2, 40, 38, 30, 80, 140, 96, 178, 67, 66, 73, 3, 2, 80, 64, 65, 164, 86, 95, 176, 67, 68, 79, 3, 2, 82, 65, 65, 166, 87, 105, 198, 77, 78, 96, 2, 2, 42, 38, 38, 107, 64, 64, 144, 76, 69, 135, 61, 61, 104, 38, 38, 45, 1, 2, 41, 38, 38, 106, 63, 64, 144, 0, 4, 0, 67, 255, 233, 4, 95, 4, 79, 0, 32, 0, 56, 0, 76, 0, 91, 0, 0, 83, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 23, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 37, 51, 23, 51, 3, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 3, 51, 19, 55, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 75, 8, 23, 28, 22, 66, 42, 52, 135, 79, 79, 145, 64, 63, 106, 40, 40, 50, 8, 10, 50, 57, 57, 173, 112, 79, 145, 63, 64, 107, 39, 40, 51, 80, 10, 86, 67, 67, 174, 100, 93, 142, 46, 46, 39, 10, 10, 87, 66, 66, 176, 99, 93, 141, 46, 46, 40, 1, 69, 121, 77, 103, 95, 28, 54, 22, 21, 27, 3, 3, 32, 29, 30, 78, 43, 199, 100, 106, 55, 30, 106, 24, 43, 15, 15, 15, 5, 4, 26, 18, 18, 44, 22, 2, 21, 75, 145, 63, 52, 89, 34, 43, 51, 2, 2, 41, 38, 38, 107, 64, 63, 144, 75, 105, 197, 77, 77, 95, 3, 2, 41, 38, 38, 106, 64, 64, 144, 76, 95, 175, 67, 66, 78, 3, 2, 81, 64, 65, 164, 86, 94, 177, 66, 66, 79, 3, 2, 81, 65, 64, 165, 39, 253, 1, 30, 11, 28, 20, 19, 52, 33, 49, 69, 22, 22, 22, 1, 1, 253, 133, 1, 94, 188, 1, 1, 8, 10, 10, 36, 28, 24, 35, 11, 11, 12, 1, 0, 2, 0, 233, 3, 151, 4, 173, 5, 176, 0, 12, 0, 20, 0, 0, 65, 3, 51, 19, 35, 3, 3, 35, 3, 51, 19, 19, 55, 1, 55, 33, 7, 51, 3, 51, 19, 4, 56, 67, 90, 94, 113, 208, 69, 108, 94, 90, 69, 67, 52, 254, 239, 14, 254, 135, 14, 143, 80, 91, 80, 5, 19, 254, 132, 2, 25, 254, 117, 1, 139, 253, 231, 1, 136, 254, 120, 1, 1, 199, 81, 81, 254, 56, 1, 200, 0, 2, 1, 198, 3, 190, 3, 182, 5, 198, 0, 23, 0, 47, 0, 0, 65, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 201, 3, 31, 30, 29, 84, 50, 54, 96, 36, 36, 44, 3, 3, 30, 28, 29, 81, 50, 55, 98, 37, 37, 45, 119, 2, 24, 20, 19, 50, 28, 26, 41, 14, 13, 12, 2, 2, 23, 18, 19, 49, 27, 26, 42, 14, 15, 14, 4, 183, 49, 89, 34, 34, 41, 1, 1, 44, 37, 36, 97, 53, 48, 90, 35, 35, 43, 1, 1, 44, 37, 38, 99, 50, 27, 50, 20, 19, 24, 22, 18, 18, 46, 24, 27, 48, 18, 19, 23, 20, 17, 17, 44, 0, 1, 0, 217, 1, 215, 4, 123, 5, 176, 0, 14, 0, 0, 65, 1, 23, 1, 19, 55, 3, 37, 39, 5, 19, 35, 3, 37, 7, 2, 55, 254, 210, 133, 1, 3, 151, 152, 200, 1, 131, 25, 254, 141, 94, 174, 42, 254, 177, 77, 3, 150, 254, 189, 111, 1, 95, 254, 148, 105, 1, 72, 94, 184, 148, 1, 166, 254, 87, 153, 170, 0, 0, 2, 0, 26, 0, 0, 4, 195, 5, 176, 0, 27, 0, 31, 0, 0, 65, 3, 51, 19, 51, 55, 35, 19, 51, 55, 35, 19, 35, 3, 35, 19, 35, 3, 33, 7, 51, 3, 35, 7, 51, 3, 51, 19, 55, 19, 51, 3, 2, 139, 150, 145, 149, 242, 24, 217, 128, 223, 24, 197, 152, 144, 153, 250, 153, 145, 152, 254, 238, 25, 249, 129, 254, 24, 230, 150, 145, 149, 49, 128, 251, 129, 1, 154, 254, 102, 1, 154, 137, 1, 98, 139, 1, 160, 254, 96, 1, 160, 254, 96, 139, 254, 158, 137, 254, 102, 1, 154, 137, 1, 98, 254, 158, 0, 0, 3, 0, 57, 255, 235, 4, 102, 5, 201, 0, 39, 0, 53, 0, 69, 0, 0, 83, 6, 22, 23, 22, 54, 55, 23, 51, 39, 54, 54, 55, 35, 6, 6, 7, 3, 55, 54, 54, 55, 54, 38, 39, 38, 6, 7, 6, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 1, 38, 38, 55, 54, 54, 55, 54, 54, 55, 55, 19, 6, 6, 3, 54, 54, 23, 50, 22, 7, 6, 6, 7, 7, 38, 38, 39, 38, 38, 69, 12, 216, 167, 100, 177, 78, 61, 202, 133, 89, 99, 13, 160, 14, 60, 50, 230, 114, 85, 149, 6, 8, 155, 124, 166, 209, 12, 3, 13, 13, 12, 36, 19, 38, 49, 93, 38, 46, 59, 1, 115, 103, 104, 12, 6, 38, 28, 27, 65, 32, 31, 240, 61, 135, 37, 8, 103, 87, 61, 55, 6, 6, 72, 50, 128, 12, 23, 7, 8, 6, 1, 110, 173, 210, 2, 2, 70, 59, 108, 235, 91, 219, 127, 85, 150, 70, 1, 140, 87, 62, 149, 115, 124, 173, 4, 4, 204, 158, 45, 85, 41, 41, 80, 39, 25, 32, 73, 43, 52, 122, 254, 202, 2, 133, 99, 42, 77, 34, 34, 59, 25, 25, 254, 82, 42, 60, 3, 224, 77, 130, 2, 94, 55, 65, 92, 37, 92, 27, 56, 29, 28, 60, 0, 0, 2, 0, 67, 255, 248, 4, 158, 5, 180, 0, 109, 0, 137, 0, 0, 65, 54, 2, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 35, 38, 38, 39, 38, 38, 39, 38, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 5, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 4, 136, 22, 47, 93, 47, 134, 89, 100, 171, 72, 73, 116, 43, 44, 57, 14, 13, 2, 14, 14, 62, 52, 51, 147, 98, 68, 134, 57, 22, 54, 118, 63, 80, 113, 37, 38, 40, 7, 7, 8, 11, 12, 46, 35, 34, 93, 59, 58, 143, 84, 73, 103, 34, 68, 22, 14, 4, 11, 10, 10, 30, 21, 22, 57, 38, 26, 23, 3, 3, 5, 3, 118, 32, 87, 55, 63, 103, 41, 42, 64, 23, 23, 30, 8, 4, 7, 2, 1, 14, 16, 16, 54, 41, 33, 57, 25, 25, 44, 20, 11, 71, 60, 56, 89, 35, 34, 51, 18, 18, 22, 253, 91, 6, 20, 15, 15, 43, 29, 29, 74, 47, 14, 24, 13, 114, 14, 35, 20, 21, 49, 29, 20, 24, 6, 6, 2, 2, 1, 6, 3, 27, 146, 1, 52, 99, 49, 59, 2, 2, 65, 57, 58, 155, 86, 87, 182, 85, 82, 165, 76, 77, 134, 49, 50, 58, 1, 1, 35, 38, 119, 29, 35, 1, 49, 42, 42, 110, 63, 62, 132, 63, 70, 153, 73, 72, 131, 49, 48, 54, 2, 2, 50, 40, 81, 250, 114, 25, 75, 41, 41, 82, 32, 32, 39, 2, 1, 28, 20, 20, 44, 18, 1, 249, 44, 46, 1, 2, 43, 37, 38, 100, 55, 55, 114, 51, 27, 72, 38, 39, 75, 29, 30, 37, 20, 17, 16, 44, 24, 57, 63, 2, 1, 46, 39, 38, 100, 54, 53, 105, 86, 36, 84, 42, 42, 77, 29, 29, 34, 3, 1, 7, 5, 254, 62, 22, 43, 17, 18, 20, 2, 1, 26, 20, 19, 47, 24, 23, 39, 0, 0, 2, 255, 215, 254, 14, 4, 146, 5, 197, 0, 112, 0, 148, 0, 0, 65, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 1, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 22, 22, 4, 53, 5, 24, 24, 31, 97, 56, 39, 84, 42, 32, 70, 33, 34, 58, 20, 21, 20, 6, 9, 65, 47, 47, 111, 54, 63, 96, 32, 32, 29, 4, 180, 6, 55, 55, 55, 161, 100, 59, 121, 56, 57, 99, 38, 39, 49, 5, 4, 11, 18, 10, 31, 20, 46, 78, 29, 30, 38, 4, 8, 62, 56, 24, 55, 30, 39, 88, 44, 30, 68, 34, 33, 60, 22, 21, 21, 5, 8, 66, 47, 48, 111, 53, 65, 106, 36, 36, 36, 5, 185, 5, 64, 61, 61, 170, 100, 90, 181, 74, 73, 98, 8, 4, 19, 27, 10, 24, 15, 46, 80, 31, 30, 37, 254, 47, 30, 69, 34, 34, 62, 22, 22, 21, 6, 6, 35, 26, 27, 66, 37, 9, 17, 9, 28, 57, 29, 49, 109, 43, 44, 49, 9, 7, 39, 29, 24, 59, 34, 37, 76, 1, 183, 61, 98, 40, 49, 75, 27, 19, 32, 14, 10, 22, 14, 14, 36, 25, 24, 64, 42, 60, 85, 27, 26, 23, 1, 2, 42, 37, 37, 101, 61, 102, 159, 55, 54, 59, 2, 1, 17, 19, 20, 61, 42, 42, 108, 66, 48, 91, 40, 25, 47, 21, 22, 56, 35, 35, 87, 52, 95, 135, 47, 21, 35, 15, 21, 33, 15, 10, 22, 14, 15, 37, 24, 25, 62, 40, 59, 85, 26, 27, 24, 1, 1, 38, 36, 36, 104, 66, 2, 106, 160, 54, 54, 56, 2, 2, 42, 46, 45, 144, 101, 58, 105, 46, 16, 31, 15, 22, 55, 35, 35, 87, 1, 50, 10, 23, 15, 15, 38, 25, 25, 64, 40, 40, 64, 24, 25, 35, 11, 3, 7, 3, 10, 20, 9, 16, 36, 28, 28, 84, 64, 45, 70, 25, 20, 29, 9, 14, 26, 0, 1, 1, 7, 0, 0, 4, 72, 5, 177, 0, 16, 0, 0, 97, 51, 19, 37, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 23, 2, 150, 181, 253, 254, 235, 108, 190, 73, 73, 93, 10, 9, 49, 54, 53, 160, 101, 72, 5, 176, 1, 67, 61, 62, 175, 110, 101, 167, 60, 61, 69, 3, 1, 0, 0, 1, 0, 232, 2, 165, 3, 209, 5, 176, 0, 8, 0, 0, 83, 51, 1, 55, 23, 19, 51, 3, 35, 232, 177, 1, 17, 28, 1, 108, 158, 174, 125, 2, 165, 1, 229, 70, 69, 254, 26, 3, 11, 0, 0, 1, 0, 28, 1, 144, 4, 134, 3, 36, 0, 49, 0, 0, 65, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 4, 134, 121, 8, 31, 24, 24, 65, 40, 29, 53, 24, 24, 43, 21, 25, 54, 28, 43, 95, 53, 71, 113, 41, 42, 51, 7, 131, 7, 31, 23, 23, 64, 40, 28, 53, 24, 24, 44, 20, 32, 67, 37, 36, 80, 45, 71, 114, 41, 41, 48, 2, 230, 15, 36, 69, 27, 28, 34, 17, 14, 14, 36, 19, 23, 42, 17, 26, 31, 1, 1, 54, 46, 46, 120, 65, 17, 36, 66, 26, 25, 32, 17, 14, 15, 35, 18, 29, 51, 19, 19, 23, 1, 58, 48, 48, 123, 0, 255, 255, 255, 226, 0, 0, 4, 115, 7, 32, 6, 38, 0, 2, 0, 0, 0, 7, 1, 91, 0, 200, 1, 87, 255, 255, 255, 226, 0, 0, 4, 87, 7, 75, 6, 38, 0, 2, 0, 0, 0, 7, 1, 95, 0, 95, 1, 152, 255, 255, 255, 226, 0, 0, 4, 60, 7, 72, 6, 38, 0, 2, 0, 0, 0, 7, 1, 92, 0, 191, 1, 91, 255, 255, 255, 226, 0, 0, 4, 91, 7, 34, 6, 38, 0, 2, 0, 0, 0, 7, 1, 97, 0, 86, 1, 91, 255, 255, 255, 226, 0, 0, 4, 2, 7, 35, 6, 38, 0, 2, 0, 0, 0, 7, 1, 90, 255, 227, 1, 90, 255, 255, 255, 226, 0, 0, 4, 140, 6, 250, 6, 38, 0, 2, 0, 0, 0, 7, 1, 94, 0, 87, 1, 74, 0, 2, 255, 226, 254, 79, 4, 2, 5, 176, 0, 36, 0, 39, 0, 0, 69, 54, 54, 55, 54, 54, 55, 55, 51, 3, 35, 1, 51, 19, 33, 19, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 1, 1, 19, 3, 18, 4, 39, 28, 28, 66, 32, 5, 38, 195, 152, 253, 59, 188, 180, 1, 213, 42, 41, 79, 31, 32, 40, 1, 1, 24, 23, 22, 63, 40, 44, 85, 38, 21, 23, 50, 26, 31, 29, 254, 142, 1, 43, 76, 226, 39, 67, 28, 27, 45, 17, 3, 5, 176, 250, 80, 1, 121, 254, 167, 23, 57, 35, 35, 84, 48, 41, 69, 23, 23, 26, 1, 20, 22, 123, 11, 16, 2, 1, 33, 3, 29, 2, 118, 253, 138, 0, 255, 255, 255, 226, 0, 0, 4, 2, 7, 140, 6, 38, 0, 2, 0, 0, 0, 7, 1, 98, 0, 86, 1, 164, 255, 255, 255, 226, 0, 0, 4, 144, 8, 23, 6, 38, 0, 2, 0, 0, 0, 7, 2, 107, 0, 68, 1, 166, 255, 255, 255, 226, 0, 0, 4, 130, 7, 81, 6, 38, 0, 2, 0, 0, 0, 7, 1, 93, 0, 215, 1, 97, 255, 255, 255, 178, 0, 0, 5, 6, 7, 32, 6, 38, 0, 72, 0, 0, 0, 7, 1, 91, 1, 24, 1, 87, 255, 255, 0, 100, 255, 233, 4, 155, 7, 53, 6, 38, 0, 4, 0, 0, 0, 7, 1, 91, 0, 240, 1, 108, 255, 255, 0, 100, 255, 233, 4, 145, 7, 95, 6, 38, 0, 4, 0, 0, 0, 7, 1, 100, 0, 116, 1, 113, 255, 255, 0, 100, 254, 75, 4, 133, 5, 198, 6, 38, 0, 4, 0, 0, 0, 6, 1, 102, 52, 0, 255, 255, 0, 100, 255, 233, 4, 133, 7, 93, 6, 38, 0, 4, 0, 0, 0, 7, 1, 92, 0, 231, 1, 112, 255, 255, 0, 46, 0, 0, 4, 119, 7, 74, 6, 38, 0, 5, 0, 0, 0, 7, 1, 100, 0, 23, 1, 92, 0, 2, 255, 211, 0, 0, 4, 134, 5, 176, 0, 22, 0, 45, 0, 0, 115, 33, 50, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 37, 3, 35, 7, 51, 33, 55, 35, 19, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 7, 39, 19, 61, 1, 83, 151, 250, 94, 94, 121, 22, 15, 11, 13, 24, 25, 85, 59, 62, 162, 99, 254, 196, 111, 220, 27, 221, 1, 142, 27, 215, 85, 155, 70, 109, 40, 40, 56, 15, 16, 4, 9, 16, 18, 88, 69, 69, 186, 117, 133, 89, 103, 91, 90, 246, 144, 107, 89, 166, 73, 72, 125, 44, 48, 55, 2, 1, 253, 129, 151, 151, 1, 231, 1, 3, 39, 34, 35, 95, 55, 59, 132, 67, 110, 109, 191, 70, 71, 82, 1, 1, 2, 3, 0, 255, 255, 0, 72, 0, 0, 4, 161, 7, 32, 6, 38, 0, 6, 0, 0, 0, 7, 1, 91, 0, 190, 1, 87, 255, 255, 0, 72, 0, 0, 4, 161, 7, 75, 6, 38, 0, 6, 0, 0, 0, 7, 1, 95, 0, 85, 1, 152, 255, 255, 0, 72, 0, 0, 4, 161, 7, 74, 6, 38, 0, 6, 0, 0, 0, 7, 1, 100, 0, 66, 1, 92, 255, 255, 0, 72, 0, 0, 4, 161, 7, 72, 6, 38, 0, 6, 0, 0, 0, 7, 1, 92, 0, 181, 1, 91, 255, 255, 0, 72, 0, 0, 4, 161, 7, 34, 6, 38, 0, 6, 0, 0, 0, 7, 1, 97, 0, 76, 1, 91, 255, 255, 0, 72, 0, 0, 4, 161, 7, 27, 6, 38, 0, 6, 0, 0, 0, 7, 1, 96, 0, 65, 1, 91, 255, 255, 0, 72, 0, 0, 4, 161, 7, 35, 6, 38, 0, 6, 0, 0, 0, 7, 1, 90, 255, 217, 1, 90, 255, 255, 0, 72, 0, 0, 4, 161, 6, 250, 6, 38, 0, 6, 0, 0, 0, 7, 1, 94, 0, 77, 1, 74, 0, 1, 0, 65, 254, 73, 4, 146, 5, 176, 0, 28, 0, 0, 65, 35, 3, 1, 35, 3, 51, 19, 1, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 4, 146, 181, 187, 254, 203, 175, 253, 181, 187, 1, 51, 16, 5, 23, 19, 20, 58, 40, 24, 49, 23, 26, 28, 56, 29, 80, 124, 45, 44, 54, 10, 5, 176, 251, 205, 4, 51, 250, 80, 4, 53, 251, 217, 103, 34, 71, 29, 29, 37, 9, 7, 148, 8, 10, 54, 47, 47, 129, 75, 0, 0, 1, 0, 72, 254, 79, 4, 161, 5, 176, 0, 41, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 55, 51, 55, 33, 19, 3, 191, 28, 253, 178, 81, 2, 167, 28, 252, 164, 253, 2, 88, 33, 61, 23, 24, 29, 1, 1, 17, 17, 22, 70, 46, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 4, 39, 28, 28, 66, 32, 7, 74, 28, 253, 80, 90, 2, 161, 157, 1, 212, 158, 250, 80, 22, 53, 31, 32, 72, 40, 35, 60, 23, 30, 33, 1, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 39, 67, 28, 27, 45, 17, 3, 157, 2, 4, 0, 2, 255, 211, 0, 0, 4, 134, 5, 176, 0, 22, 0, 45, 0, 0, 115, 33, 50, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 37, 3, 35, 7, 51, 33, 55, 35, 19, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 7, 39, 19, 61, 1, 83, 151, 250, 94, 94, 121, 22, 15, 11, 13, 24, 25, 85, 59, 62, 162, 99, 254, 196, 111, 220, 27, 221, 1, 142, 27, 215, 85, 155, 70, 109, 40, 40, 56, 15, 16, 4, 9, 16, 18, 88, 69, 69, 186, 117, 133, 89, 103, 91, 90, 246, 144, 107, 89, 166, 73, 72, 125, 44, 48, 55, 2, 1, 253, 129, 151, 151, 1, 231, 1, 3, 39, 34, 35, 95, 55, 59, 132, 67, 110, 109, 191, 70, 71, 82, 1, 1, 2, 3, 0, 255, 255, 0, 96, 255, 232, 4, 133, 7, 96, 6, 38, 0, 8, 0, 0, 0, 7, 1, 95, 0, 108, 1, 173, 255, 255, 0, 96, 255, 232, 4, 133, 7, 93, 6, 38, 0, 8, 0, 0, 0, 7, 1, 92, 0, 204, 1, 112, 255, 255, 0, 96, 254, 37, 4, 133, 5, 198, 6, 38, 0, 8, 0, 0, 0, 7, 1, 104, 0, 119, 254, 207, 0, 2, 0, 29, 0, 0, 4, 251, 5, 176, 0, 19, 0, 23, 0, 0, 65, 19, 35, 3, 33, 19, 35, 3, 35, 7, 51, 3, 51, 19, 33, 3, 51, 19, 51, 55, 1, 33, 55, 33, 4, 127, 50, 171, 50, 253, 190, 50, 170, 50, 111, 25, 111, 178, 170, 117, 2, 66, 117, 171, 178, 124, 25, 254, 158, 253, 190, 34, 2, 66, 4, 143, 1, 33, 254, 223, 1, 33, 254, 223, 143, 252, 0, 2, 161, 253, 95, 4, 0, 143, 254, 175, 194, 0, 255, 255, 0, 32, 0, 0, 4, 180, 7, 72, 6, 38, 0, 9, 0, 0, 0, 7, 1, 92, 0, 170, 1, 91, 255, 255, 0, 64, 0, 0, 4, 148, 7, 32, 6, 38, 0, 10, 0, 0, 0, 7, 1, 91, 0, 140, 1, 87, 255, 255, 0, 64, 0, 0, 4, 148, 7, 75, 6, 38, 0, 10, 0, 0, 0, 7, 1, 95, 0, 35, 1, 152, 255, 255, 0, 64, 0, 0, 4, 148, 7, 72, 6, 38, 0, 10, 0, 0, 0, 7, 1, 92, 0, 131, 1, 91, 255, 255, 0, 64, 0, 0, 4, 148, 7, 34, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 0, 26, 1, 91, 255, 255, 0, 64, 0, 0, 4, 148, 7, 27, 6, 38, 0, 10, 0, 0, 0, 7, 1, 96, 0, 15, 1, 91, 255, 255, 0, 64, 0, 0, 4, 148, 7, 35, 6, 38, 0, 10, 0, 0, 0, 7, 1, 90, 255, 167, 1, 90, 255, 255, 0, 64, 0, 0, 4, 148, 6, 250, 6, 38, 0, 10, 0, 0, 0, 7, 1, 94, 0, 27, 1, 74, 0, 1, 0, 64, 254, 79, 4, 148, 5, 176, 0, 41, 0, 0, 65, 7, 33, 3, 33, 7, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 39, 51, 55, 33, 19, 33, 55, 1, 61, 29, 1, 76, 197, 254, 181, 28, 2, 18, 33, 61, 23, 24, 29, 1, 1, 19, 19, 22, 68, 44, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 4, 39, 28, 28, 66, 32, 5, 143, 28, 254, 173, 197, 1, 82, 29, 5, 176, 161, 251, 145, 160, 22, 53, 31, 32, 72, 40, 37, 63, 23, 27, 31, 1, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 39, 67, 28, 27, 45, 17, 3, 160, 4, 111, 161, 0, 255, 255, 0, 64, 0, 0, 4, 148, 7, 81, 6, 38, 0, 10, 0, 0, 0, 7, 1, 93, 0, 155, 1, 97, 255, 255, 0, 63, 255, 234, 5, 106, 7, 59, 6, 38, 0, 11, 0, 0, 0, 7, 1, 92, 1, 237, 1, 78, 255, 255, 0, 62, 254, 62, 4, 252, 5, 176, 6, 38, 0, 12, 0, 0, 0, 7, 1, 104, 0, 128, 254, 232, 255, 255, 0, 88, 0, 0, 3, 219, 7, 0, 6, 38, 0, 13, 0, 0, 0, 7, 1, 91, 255, 126, 1, 55, 255, 255, 0, 88, 0, 0, 4, 74, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 0, 109, 0, 217, 255, 154, 255, 255, 0, 88, 254, 56, 3, 219, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 1, 104, 0, 128, 254, 226, 255, 255, 0, 88, 0, 0, 3, 219, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 1, 96, 0, 14, 253, 197, 0, 1, 0, 51, 0, 0, 3, 223, 5, 176, 0, 13, 0, 0, 65, 19, 35, 3, 7, 7, 55, 3, 33, 55, 33, 19, 37, 55, 1, 164, 105, 181, 116, 147, 30, 148, 107, 3, 103, 28, 253, 77, 90, 1, 12, 30, 3, 81, 2, 95, 253, 101, 45, 169, 46, 253, 147, 157, 2, 11, 83, 169, 255, 255, 0, 34, 0, 0, 4, 179, 7, 32, 6, 38, 0, 15, 0, 0, 0, 7, 1, 91, 0, 162, 1, 87, 255, 255, 0, 34, 0, 0, 4, 179, 7, 74, 6, 38, 0, 15, 0, 0, 0, 7, 1, 100, 0, 38, 1, 92, 255, 255, 0, 34, 254, 56, 4, 179, 5, 176, 6, 38, 0, 15, 0, 0, 0, 7, 1, 104, 0, 78, 254, 226, 255, 255, 0, 34, 0, 0, 4, 179, 7, 81, 6, 38, 0, 15, 0, 0, 0, 7, 1, 93, 0, 177, 1, 97, 255, 255, 0, 102, 255, 234, 4, 122, 7, 53, 6, 38, 0, 16, 0, 0, 0, 7, 1, 91, 0, 207, 1, 108, 255, 255, 0, 102, 255, 234, 4, 109, 7, 96, 6, 38, 0, 16, 0, 0, 0, 7, 1, 95, 0, 102, 1, 173, 255, 255, 0, 102, 255, 234, 4, 109, 7, 93, 6, 38, 0, 16, 0, 0, 0, 7, 1, 92, 0, 198, 1, 112, 255, 255, 0, 102, 255, 234, 4, 109, 7, 55, 6, 38, 0, 16, 0, 0, 0, 7, 1, 97, 0, 93, 1, 112, 255, 255, 0, 102, 255, 234, 4, 109, 7, 56, 6, 38, 0, 16, 0, 0, 0, 7, 1, 90, 255, 234, 1, 111, 0, 2, 0, 95, 255, 234, 5, 60, 5, 251, 0, 50, 0, 88, 0, 0, 65, 55, 54, 38, 39, 54, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 66, 26, 13, 13, 30, 54, 87, 31, 34, 41, 7, 159, 7, 23, 18, 18, 53, 37, 21, 51, 30, 40, 100, 60, 90, 151, 61, 62, 97, 35, 36, 47, 13, 26, 10, 3, 15, 15, 60, 47, 47, 131, 86, 90, 151, 62, 61, 96, 36, 35, 47, 140, 27, 9, 30, 22, 23, 62, 41, 41, 106, 65, 62, 85, 28, 28, 28, 5, 5, 5, 7, 28, 9, 30, 23, 23, 63, 42, 41, 105, 65, 62, 85, 28, 27, 28, 5, 4, 7, 2, 133, 165, 93, 199, 91, 15, 55, 39, 44, 115, 70, 1, 38, 70, 28, 29, 40, 8, 30, 51, 20, 26, 31, 1, 2, 54, 48, 49, 132, 74, 75, 159, 77, 166, 71, 152, 73, 73, 132, 50, 50, 61, 2, 2, 54, 48, 48, 132, 75, 74, 159, 246, 170, 53, 116, 56, 57, 102, 38, 39, 43, 2, 2, 51, 41, 40, 104, 55, 55, 108, 45, 169, 52, 116, 57, 56, 101, 39, 38, 43, 2, 2, 50, 40, 40, 103, 54, 55, 108, 0, 255, 255, 0, 102, 255, 234, 5, 52, 7, 95, 6, 38, 0, 16, 0, 0, 0, 7, 1, 99, 0, 211, 1, 112, 255, 255, 0, 102, 255, 234, 4, 147, 7, 15, 6, 38, 0, 16, 0, 0, 0, 7, 1, 94, 0, 94, 1, 95, 0, 3, 255, 198, 255, 163, 5, 15, 5, 236, 0, 46, 0, 69, 0, 86, 0, 0, 65, 55, 54, 54, 39, 38, 38, 39, 19, 35, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 6, 23, 22, 22, 23, 3, 51, 55, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 37, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 1, 38, 38, 53, 52, 54, 37, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 1, 22, 6, 4, 65, 26, 7, 3, 5, 5, 22, 19, 221, 151, 134, 19, 45, 26, 39, 99, 60, 90, 151, 61, 62, 97, 35, 36, 48, 12, 26, 8, 2, 7, 7, 29, 24, 219, 151, 140, 48, 129, 88, 90, 151, 62, 61, 96, 36, 35, 47, 252, 229, 28, 9, 30, 23, 23, 63, 42, 41, 105, 65, 38, 62, 25, 21, 33, 12, 253, 151, 7, 7, 6, 2, 148, 27, 9, 30, 22, 23, 62, 41, 41, 106, 65, 62, 84, 28, 2, 94, 7, 6, 2, 133, 165, 50, 105, 53, 53, 103, 47, 1, 39, 180, 24, 43, 17, 25, 30, 1, 2, 54, 48, 49, 132, 74, 75, 159, 77, 166, 54, 116, 57, 58, 110, 49, 254, 219, 187, 51, 61, 2, 2, 54, 48, 48, 132, 75, 74, 159, 75, 169, 52, 116, 57, 56, 101, 39, 38, 43, 2, 1, 21, 18, 15, 42, 24, 252, 197, 34, 72, 35, 36, 71, 202, 170, 53, 116, 56, 57, 102, 38, 39, 43, 2, 2, 49, 40, 3, 42, 60, 119, 0, 255, 255, 255, 198, 255, 163, 5, 15, 7, 94, 6, 38, 0, 219, 0, 0, 0, 7, 1, 91, 0, 201, 1, 149, 255, 255, 0, 102, 255, 234, 4, 137, 7, 102, 6, 38, 0, 16, 0, 0, 0, 7, 1, 93, 0, 222, 1, 118, 255, 255, 0, 71, 0, 0, 4, 127, 7, 20, 6, 38, 0, 19, 0, 0, 0, 7, 1, 91, 0, 185, 1, 75, 255, 255, 0, 71, 0, 0, 4, 127, 7, 62, 6, 38, 0, 19, 0, 0, 0, 7, 1, 100, 0, 61, 1, 80, 255, 255, 0, 71, 254, 56, 4, 127, 5, 176, 6, 38, 0, 19, 0, 0, 0, 7, 1, 104, 0, 102, 254, 226, 255, 255, 0, 83, 255, 234, 4, 141, 7, 53, 6, 38, 0, 20, 0, 0, 0, 7, 1, 91, 0, 183, 1, 108, 255, 255, 0, 83, 255, 234, 4, 141, 7, 95, 6, 38, 0, 20, 0, 0, 0, 7, 1, 100, 0, 59, 1, 113, 255, 255, 0, 83, 254, 66, 4, 141, 5, 198, 6, 38, 0, 20, 0, 0, 0, 6, 1, 102, 87, 247, 255, 255, 0, 83, 255, 234, 4, 141, 7, 93, 6, 38, 0, 20, 0, 0, 0, 7, 1, 92, 0, 174, 1, 112, 0, 1, 0, 194, 0, 0, 4, 247, 5, 176, 0, 15, 0, 0, 65, 55, 35, 19, 33, 55, 33, 7, 33, 3, 35, 7, 51, 3, 51, 19, 3, 184, 27, 229, 57, 1, 180, 28, 251, 231, 28, 1, 181, 57, 214, 27, 215, 142, 176, 142, 3, 55, 151, 1, 68, 158, 158, 254, 188, 151, 252, 201, 3, 55, 255, 255, 0, 194, 0, 0, 4, 247, 7, 62, 6, 38, 0, 21, 0, 0, 0, 7, 1, 100, 0, 71, 1, 80, 255, 255, 0, 104, 255, 234, 4, 181, 7, 20, 6, 38, 0, 22, 0, 0, 0, 7, 1, 91, 0, 227, 1, 75, 255, 255, 0, 104, 255, 234, 4, 181, 7, 63, 6, 38, 0, 22, 0, 0, 0, 7, 1, 95, 0, 122, 1, 140, 255, 255, 0, 104, 255, 234, 4, 181, 7, 60, 6, 38, 0, 22, 0, 0, 0, 7, 1, 92, 0, 218, 1, 79, 255, 255, 0, 104, 255, 234, 4, 181, 7, 22, 6, 38, 0, 22, 0, 0, 0, 7, 1, 97, 0, 113, 1, 79, 255, 255, 0, 104, 255, 234, 4, 181, 7, 23, 6, 38, 0, 22, 0, 0, 0, 7, 1, 90, 255, 254, 1, 78, 0, 1, 0, 104, 255, 234, 5, 241, 5, 233, 0, 43, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 54, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 4, 181, 175, 172, 12, 56, 43, 44, 117, 71, 67, 91, 27, 27, 18, 7, 165, 172, 170, 11, 44, 51, 50, 154, 100, 106, 182, 70, 70, 92, 15, 112, 82, 127, 45, 49, 59, 9, 159, 8, 26, 22, 22, 64, 46, 5, 176, 252, 38, 64, 122, 47, 47, 55, 2, 2, 61, 47, 47, 116, 59, 3, 219, 252, 37, 94, 175, 67, 68, 83, 2, 2, 78, 68, 67, 180, 100, 2, 151, 7, 48, 43, 46, 141, 94, 1, 50, 81, 31, 31, 39, 8, 255, 255, 0, 104, 255, 234, 5, 72, 7, 62, 6, 38, 0, 22, 0, 0, 0, 7, 1, 99, 0, 231, 1, 79, 255, 255, 0, 104, 255, 234, 4, 181, 6, 238, 6, 38, 0, 22, 0, 0, 0, 7, 1, 94, 0, 114, 1, 62, 0, 1, 0, 105, 254, 126, 4, 181, 5, 176, 0, 60, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 48, 48, 49, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 34, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 4, 181, 175, 172, 12, 56, 44, 43, 117, 71, 67, 91, 27, 27, 18, 7, 165, 172, 170, 10, 39, 46, 46, 140, 92, 19, 33, 11, 12, 14, 1, 1, 32, 31, 21, 55, 33, 44, 85, 38, 21, 23, 50, 26, 32, 28, 3, 3, 24, 18, 19, 46, 25, 73, 123, 47, 47, 62, 12, 5, 176, 252, 38, 64, 122, 47, 47, 55, 2, 2, 61, 47, 47, 116, 59, 3, 219, 252, 37, 90, 168, 67, 67, 86, 9, 19, 42, 23, 23, 51, 27, 48, 76, 23, 17, 18, 1, 20, 22, 123, 11, 16, 2, 34, 33, 30, 53, 23, 23, 40, 17, 25, 92, 61, 61, 146, 79, 255, 255, 0, 104, 255, 234, 4, 181, 7, 128, 6, 38, 0, 22, 0, 0, 0, 7, 1, 98, 0, 113, 1, 152, 255, 255, 0, 104, 255, 234, 4, 181, 7, 69, 6, 38, 0, 22, 0, 0, 0, 7, 1, 93, 0, 242, 1, 85, 255, 255, 0, 149, 0, 0, 5, 3, 7, 32, 6, 38, 0, 24, 0, 0, 0, 7, 1, 91, 0, 175, 1, 87, 255, 255, 0, 149, 0, 0, 5, 3, 7, 72, 6, 38, 0, 24, 0, 0, 0, 7, 1, 92, 0, 166, 1, 91, 255, 255, 0, 149, 0, 0, 5, 3, 7, 34, 6, 38, 0, 24, 0, 0, 0, 7, 1, 97, 0, 61, 1, 91, 255, 255, 0, 149, 0, 0, 5, 3, 7, 35, 6, 38, 0, 24, 0, 0, 0, 7, 1, 90, 255, 202, 1, 90, 255, 255, 0, 212, 0, 0, 4, 241, 7, 31, 6, 38, 0, 26, 0, 0, 0, 7, 1, 91, 0, 180, 1, 86, 255, 255, 0, 212, 0, 0, 4, 241, 7, 71, 6, 38, 0, 26, 0, 0, 0, 7, 1, 92, 0, 171, 1, 90, 255, 255, 0, 212, 0, 0, 4, 241, 7, 33, 6, 38, 0, 26, 0, 0, 0, 7, 1, 97, 0, 66, 1, 90, 255, 255, 0, 212, 0, 0, 4, 241, 7, 34, 6, 38, 0, 26, 0, 0, 0, 7, 1, 90, 255, 207, 1, 89, 255, 255, 0, 19, 0, 0, 4, 129, 7, 20, 6, 38, 0, 27, 0, 0, 0, 7, 1, 91, 0, 204, 1, 75, 255, 255, 0, 19, 0, 0, 4, 129, 7, 62, 6, 38, 0, 27, 0, 0, 0, 7, 1, 100, 0, 80, 1, 80, 255, 255, 0, 19, 0, 0, 4, 129, 7, 15, 6, 38, 0, 27, 0, 0, 0, 7, 1, 96, 0, 79, 1, 79, 255, 255, 0, 97, 255, 236, 4, 55, 5, 222, 6, 38, 0, 28, 0, 0, 0, 7, 1, 91, 0, 140, 0, 21, 255, 255, 0, 97, 255, 236, 4, 27, 6, 9, 6, 38, 0, 28, 0, 0, 0, 6, 1, 95, 35, 86, 255, 255, 0, 97, 255, 236, 4, 15, 6, 6, 6, 38, 0, 28, 0, 0, 0, 7, 1, 92, 0, 131, 0, 25, 255, 255, 0, 97, 255, 236, 4, 31, 5, 224, 6, 38, 0, 28, 0, 0, 0, 6, 1, 97, 26, 25, 255, 255, 0, 97, 255, 236, 4, 15, 5, 225, 6, 38, 0, 28, 0, 0, 0, 6, 1, 90, 167, 24, 255, 255, 0, 97, 255, 236, 4, 80, 5, 184, 6, 38, 0, 28, 0, 0, 0, 6, 1, 94, 27, 8, 0, 2, 0, 97, 254, 79, 4, 15, 4, 80, 0, 85, 0, 108, 0, 0, 101, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 55, 51, 55, 38, 54, 55, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 39, 34, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 6, 6, 37, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 23, 7, 6, 6, 7, 6, 6, 2, 247, 39, 75, 30, 30, 37, 1, 1, 22, 20, 22, 66, 42, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 4, 39, 28, 28, 66, 32, 6, 36, 2, 13, 1, 9, 84, 9, 52, 50, 51, 142, 82, 74, 154, 64, 65, 88, 9, 181, 10, 50, 35, 34, 83, 43, 49, 81, 28, 28, 27, 6, 13, 206, 60, 123, 57, 58, 102, 39, 39, 49, 4, 4, 49, 45, 44, 121, 68, 54, 100, 45, 36, 68, 32, 2, 2, 254, 216, 41, 68, 24, 24, 22, 5, 4, 20, 15, 19, 52, 31, 55, 125, 55, 155, 39, 27, 69, 39, 41, 93, 25, 23, 56, 34, 35, 81, 46, 39, 66, 24, 24, 28, 1, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 39, 67, 28, 27, 45, 17, 3, 17, 54, 110, 55, 1, 247, 87, 134, 47, 46, 48, 2, 1, 39, 40, 40, 121, 82, 1, 45, 65, 21, 21, 20, 1, 1, 28, 27, 27, 78, 51, 86, 1, 15, 17, 18, 56, 40, 41, 108, 70, 72, 114, 40, 40, 44, 1, 1, 23, 22, 18, 47, 28, 24, 46, 92, 1, 24, 23, 22, 66, 43, 30, 49, 19, 25, 36, 12, 22, 14, 1, 220, 37, 61, 21, 23, 24, 0, 255, 255, 0, 97, 255, 236, 4, 15, 6, 74, 6, 38, 0, 28, 0, 0, 0, 6, 1, 98, 26, 98, 255, 255, 0, 97, 255, 236, 4, 84, 6, 213, 6, 38, 0, 28, 0, 0, 0, 6, 2, 107, 8, 100, 255, 255, 0, 97, 255, 236, 4, 70, 6, 15, 6, 38, 0, 28, 0, 0, 0, 7, 1, 93, 0, 155, 0, 31, 255, 255, 255, 241, 255, 235, 4, 163, 5, 223, 6, 38, 0, 73, 0, 0, 0, 7, 1, 91, 0, 163, 0, 22, 255, 255, 0, 122, 255, 233, 4, 73, 5, 222, 6, 38, 0, 30, 0, 0, 0, 7, 1, 91, 0, 158, 0, 21, 255, 255, 0, 122, 255, 233, 4, 63, 6, 8, 6, 38, 0, 30, 0, 0, 0, 6, 1, 100, 34, 26, 255, 255, 0, 122, 254, 75, 4, 44, 4, 81, 6, 38, 0, 30, 0, 0, 0, 6, 1, 102, 72, 0, 255, 255, 0, 122, 255, 233, 4, 44, 6, 6, 6, 38, 0, 30, 0, 0, 0, 7, 1, 92, 0, 149, 0, 25, 255, 255, 0, 48, 255, 235, 6, 25, 6, 21, 4, 38, 0, 31, 186, 0, 0, 7, 0, 109, 2, 168, 255, 255, 0, 2, 0, 103, 255, 235, 5, 54, 6, 0, 0, 43, 0, 72, 0, 0, 65, 55, 35, 55, 35, 7, 35, 7, 51, 3, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 51, 19, 1, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 52, 5, 27, 27, 191, 26, 181, 28, 245, 27, 244, 48, 23, 53, 30, 37, 84, 45, 77, 130, 52, 53, 83, 30, 30, 38, 8, 2, 6, 6, 14, 14, 51, 40, 39, 109, 70, 55, 99, 44, 31, 56, 26, 19, 164, 214, 252, 197, 3, 9, 51, 43, 43, 124, 84, 34, 58, 24, 32, 49, 16, 87, 25, 58, 33, 33, 78, 45, 51, 74, 25, 25, 28, 6, 7, 4, 210, 151, 151, 151, 151, 254, 252, 29, 44, 16, 19, 19, 1, 2, 44, 40, 40, 108, 63, 63, 136, 67, 21, 59, 124, 59, 60, 107, 41, 41, 49, 2, 1, 23, 24, 16, 45, 27, 114, 4, 210, 253, 56, 21, 72, 145, 59, 58, 72, 3, 1, 16, 15, 19, 60, 39, 254, 7, 34, 58, 21, 20, 23, 2, 1, 36, 30, 29, 76, 43, 42, 88, 255, 255, 0, 108, 255, 234, 4, 51, 5, 223, 6, 38, 0, 32, 0, 0, 0, 7, 1, 91, 0, 136, 0, 22, 255, 255, 0, 108, 255, 234, 4, 43, 6, 10, 6, 38, 0, 32, 0, 0, 0, 6, 1, 95, 31, 87, 255, 255, 0, 108, 255, 234, 4, 43, 6, 9, 6, 38, 0, 32, 0, 0, 0, 6, 1, 100, 12, 27, 255, 255, 0, 108, 255, 234, 4, 43, 6, 7, 6, 38, 0, 32, 0, 0, 0, 6, 1, 92, 127, 26, 255, 255, 0, 108, 255, 234, 4, 43, 5, 225, 6, 38, 0, 32, 0, 0, 0, 6, 1, 97, 22, 26, 255, 255, 0, 108, 255, 234, 4, 43, 5, 218, 6, 38, 0, 32, 0, 0, 0, 6, 1, 96, 11, 26, 255, 255, 0, 108, 255, 234, 4, 43, 5, 226, 6, 38, 0, 32, 0, 0, 0, 6, 1, 90, 163, 25, 255, 255, 0, 108, 255, 234, 4, 76, 5, 185, 6, 38, 0, 32, 0, 0, 0, 6, 1, 94, 23, 9, 0, 1, 0, 74, 254, 72, 4, 12, 4, 79, 0, 49, 0, 0, 115, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 22, 54, 55, 54, 54, 55, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 7, 74, 181, 141, 24, 54, 30, 36, 83, 47, 61, 75, 20, 19, 7, 6, 126, 6, 24, 20, 21, 60, 41, 25, 50, 24, 30, 29, 59, 31, 81, 126, 46, 45, 55, 10, 126, 9, 21, 35, 35, 122, 91, 67, 113, 48, 29, 52, 23, 23, 161, 3, 43, 29, 48, 17, 20, 21, 1, 2, 43, 36, 36, 96, 53, 253, 0, 36, 69, 26, 27, 32, 8, 8, 156, 9, 11, 1, 52, 47, 47, 129, 76, 3, 3, 82, 150, 58, 58, 70, 2, 1, 38, 35, 21, 51, 30, 155, 1, 0, 2, 0, 108, 254, 97, 4, 43, 4, 80, 0, 68, 0, 82, 0, 0, 101, 39, 6, 6, 39, 38, 38, 39, 38, 38, 55, 52, 54, 53, 55, 33, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 48, 48, 49, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 1, 22, 22, 23, 22, 22, 7, 7, 37, 54, 54, 55, 54, 54, 3, 209, 104, 64, 159, 94, 73, 106, 32, 29, 26, 4, 1, 1, 2, 233, 13, 13, 30, 45, 45, 154, 112, 77, 139, 59, 60, 97, 36, 37, 46, 8, 5, 9, 42, 50, 49, 153, 101, 51, 70, 2, 1, 25, 25, 22, 62, 38, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 3, 35, 26, 26, 62, 30, 75, 131, 254, 255, 59, 88, 28, 28, 20, 9, 4, 253, 204, 21, 64, 44, 43, 112, 187, 88, 66, 80, 3, 2, 62, 50, 45, 113, 60, 5, 8, 5, 6, 83, 100, 189, 74, 74, 91, 3, 2, 42, 38, 39, 106, 63, 63, 139, 71, 43, 99, 180, 70, 70, 90, 9, 42, 106, 66, 43, 69, 24, 22, 24, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 37, 64, 27, 26, 43, 17, 24, 91, 3, 61, 2, 51, 41, 41, 104, 55, 18, 2, 58, 114, 44, 44, 53, 255, 255, 0, 45, 254, 82, 4, 82, 6, 9, 6, 38, 0, 34, 0, 0, 0, 6, 1, 95, 14, 86, 255, 255, 0, 45, 254, 82, 4, 82, 6, 6, 6, 38, 0, 34, 0, 0, 0, 6, 1, 92, 110, 25, 255, 255, 0, 45, 254, 82, 4, 82, 6, 149, 6, 38, 0, 34, 0, 0, 0, 6, 2, 78, 22, 88, 0, 1, 0, 79, 0, 0, 4, 47, 6, 0, 0, 39, 0, 0, 65, 55, 33, 55, 35, 7, 35, 7, 51, 3, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 19, 2, 228, 27, 254, 243, 29, 181, 27, 171, 27, 172, 214, 181, 137, 28, 67, 38, 37, 83, 46, 59, 77, 22, 22, 12, 6, 115, 181, 114, 9, 24, 36, 36, 124, 92, 54, 97, 43, 44, 77, 33, 59, 4, 210, 151, 151, 151, 151, 251, 46, 3, 19, 34, 58, 22, 21, 23, 1, 2, 41, 35, 36, 93, 53, 253, 84, 2, 169, 82, 151, 58, 58, 70, 2, 1, 27, 24, 24, 68, 40, 1, 58, 255, 255, 0, 64, 0, 0, 4, 32, 7, 111, 6, 38, 0, 35, 0, 0, 0, 7, 1, 92, 0, 102, 1, 130, 255, 255, 0, 92, 0, 0, 4, 92, 5, 201, 6, 38, 1, 109, 0, 0, 0, 7, 1, 91, 0, 177, 0, 0, 255, 255, 0, 92, 0, 0, 4, 64, 5, 244, 6, 38, 1, 109, 0, 0, 0, 6, 1, 95, 72, 65, 255, 255, 0, 92, 0, 0, 4, 37, 5, 241, 6, 38, 1, 109, 0, 0, 0, 7, 1, 92, 0, 168, 0, 4, 255, 255, 0, 92, 0, 0, 4, 68, 5, 203, 6, 38, 1, 109, 0, 0, 0, 6, 1, 97, 63, 4, 255, 255, 0, 92, 0, 0, 3, 233, 5, 204, 6, 38, 1, 109, 0, 0, 0, 6, 1, 90, 204, 3, 255, 255, 0, 92, 0, 0, 4, 117, 5, 164, 6, 38, 1, 109, 0, 0, 0, 6, 1, 94, 64, 244, 0, 2, 0, 92, 254, 79, 3, 233, 5, 197, 0, 39, 0, 63, 0, 0, 65, 7, 33, 3, 33, 7, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 39, 33, 55, 33, 19, 3, 20, 22, 23, 22, 22, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 7, 6, 6, 7, 6, 6, 1, 24, 28, 1, 101, 132, 254, 156, 29, 1, 95, 33, 61, 23, 24, 29, 1, 1, 22, 21, 22, 66, 41, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 4, 39, 28, 28, 66, 32, 5, 1, 91, 29, 254, 169, 160, 155, 13, 11, 14, 44, 26, 26, 42, 14, 12, 14, 15, 14, 15, 39, 24, 24, 39, 14, 15, 16, 4, 58, 161, 253, 7, 160, 22, 53, 31, 32, 72, 40, 40, 66, 23, 25, 27, 1, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 39, 67, 28, 27, 45, 17, 3, 160, 3, 154, 1, 25, 21, 36, 13, 17, 17, 1, 1, 18, 16, 14, 38, 22, 24, 40, 14, 14, 16, 1, 1, 17, 14, 15, 42, 255, 255, 0, 92, 0, 0, 4, 107, 5, 250, 6, 38, 1, 109, 0, 0, 0, 7, 1, 93, 0, 192, 0, 10, 255, 255, 0, 1, 254, 73, 4, 77, 5, 232, 6, 38, 1, 113, 0, 0, 0, 7, 1, 92, 0, 208, 255, 251, 255, 255, 0, 66, 254, 64, 4, 100, 6, 0, 6, 38, 0, 38, 0, 0, 0, 7, 1, 104, 0, 47, 254, 234, 255, 255, 0, 92, 0, 0, 4, 155, 7, 102, 6, 38, 0, 39, 0, 0, 0, 7, 1, 91, 0, 240, 1, 157, 255, 255, 0, 22, 0, 0, 5, 25, 6, 4, 4, 38, 0, 39, 186, 0, 0, 7, 0, 109, 1, 168, 255, 238, 255, 255, 0, 92, 254, 57, 3, 233, 6, 0, 6, 38, 0, 39, 0, 0, 0, 7, 1, 104, 0, 154, 254, 227, 255, 255, 0, 21, 0, 0, 4, 24, 6, 0, 4, 38, 0, 39, 185, 0, 0, 7, 1, 96, 0, 209, 253, 231, 0, 1, 0, 92, 0, 0, 4, 79, 6, 0, 0, 17, 0, 0, 65, 7, 33, 3, 5, 7, 37, 3, 33, 7, 33, 55, 33, 19, 37, 55, 5, 19, 1, 103, 29, 1, 102, 84, 254, 157, 30, 1, 99, 97, 254, 156, 29, 3, 112, 29, 254, 169, 112, 1, 50, 27, 254, 209, 97, 6, 0, 161, 254, 30, 154, 171, 154, 253, 206, 160, 160, 2, 134, 133, 170, 131, 2, 46, 255, 255, 0, 64, 0, 0, 4, 36, 5, 222, 6, 38, 0, 41, 0, 0, 0, 6, 1, 91, 121, 21, 255, 255, 0, 64, 0, 0, 4, 31, 6, 8, 6, 38, 0, 41, 0, 0, 0, 6, 1, 100, 254, 26, 255, 255, 0, 64, 254, 56, 4, 31, 4, 79, 6, 38, 0, 41, 0, 0, 0, 7, 1, 104, 0, 93, 254, 226, 255, 255, 0, 64, 0, 0, 4, 51, 6, 15, 6, 38, 0, 41, 0, 0, 0, 7, 1, 93, 0, 136, 0, 31, 255, 255, 0, 99, 255, 233, 4, 48, 5, 222, 6, 38, 0, 42, 0, 0, 0, 7, 1, 91, 0, 130, 0, 21, 255, 255, 0, 99, 255, 233, 4, 48, 6, 9, 6, 38, 0, 42, 0, 0, 0, 6, 1, 95, 25, 86, 255, 255, 0, 99, 255, 233, 4, 48, 6, 6, 6, 38, 0, 42, 0, 0, 0, 6, 1, 92, 121, 25, 255, 255, 0, 99, 255, 233, 4, 48, 5, 224, 6, 38, 0, 42, 0, 0, 0, 6, 1, 97, 16, 25, 255, 255, 0, 99, 255, 233, 4, 48, 5, 225, 6, 38, 0, 42, 0, 0, 0, 6, 1, 90, 157, 24, 0, 2, 0, 93, 255, 233, 4, 233, 4, 172, 0, 44, 0, 73, 0, 0, 65, 6, 6, 7, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 54, 54, 55, 54, 54, 55, 7, 6, 6, 3, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 4, 28, 19, 54, 38, 49, 139, 91, 80, 139, 58, 59, 95, 35, 35, 45, 9, 3, 11, 38, 49, 25, 67, 42, 39, 95, 55, 118, 193, 71, 71, 89, 14, 2, 8, 20, 30, 53, 83, 29, 30, 36, 7, 158, 7, 22, 190, 2, 11, 54, 45, 46, 128, 83, 52, 77, 27, 52, 28, 10, 3, 10, 54, 45, 45, 128, 84, 40, 65, 24, 23, 35, 12, 25, 10, 4, 35, 28, 39, 7, 53, 62, 2, 2, 41, 37, 38, 105, 62, 63, 141, 73, 22, 102, 192, 76, 39, 64, 22, 21, 25, 1, 3, 90, 77, 76, 202, 109, 23, 83, 159, 69, 16, 58, 41, 41, 109, 66, 2, 38, 70, 253, 235, 15, 80, 144, 58, 58, 72, 3, 2, 36, 30, 58, 183, 84, 22, 72, 147, 59, 59, 73, 3, 2, 23, 19, 18, 48, 28, 59, 138, 0, 255, 255, 0, 99, 255, 233, 4, 231, 6, 8, 6, 38, 0, 42, 0, 0, 0, 7, 1, 99, 0, 134, 0, 25, 255, 255, 0, 99, 255, 233, 4, 70, 5, 184, 6, 38, 0, 42, 0, 0, 0, 6, 1, 94, 17, 8, 0, 3, 0, 86, 255, 121, 4, 70, 4, 185, 0, 37, 0, 54, 0, 71, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 7, 51, 55, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 55, 35, 7, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 1, 38, 38, 39, 38, 54, 37, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 1, 22, 22, 23, 22, 6, 110, 3, 6, 8, 16, 16, 53, 39, 147, 131, 104, 39, 92, 54, 118, 193, 71, 71, 89, 14, 2, 6, 7, 14, 15, 51, 37, 148, 131, 103, 41, 97, 57, 121, 192, 70, 70, 89, 165, 3, 10, 54, 45, 45, 128, 84, 34, 57, 24, 254, 69, 17, 21, 4, 5, 1, 2, 88, 2, 11, 54, 45, 46, 128, 83, 31, 53, 23, 1, 184, 15, 18, 4, 4, 1, 2, 32, 22, 62, 122, 55, 56, 98, 39, 225, 160, 20, 23, 2, 3, 90, 77, 76, 202, 109, 23, 61, 119, 56, 55, 99, 39, 226, 158, 23, 26, 2, 3, 88, 81, 80, 203, 131, 22, 72, 147, 59, 59, 73, 3, 1, 17, 16, 253, 88, 30, 70, 37, 37, 75, 67, 22, 72, 145, 58, 58, 72, 3, 1, 14, 13, 2, 161, 30, 69, 36, 36, 72, 255, 255, 0, 86, 255, 121, 4, 70, 5, 221, 6, 38, 1, 56, 0, 0, 0, 6, 1, 91, 93, 20, 255, 255, 0, 99, 255, 233, 4, 60, 6, 15, 6, 38, 0, 42, 0, 0, 0, 7, 1, 93, 0, 145, 0, 31, 255, 255, 0, 215, 0, 0, 4, 97, 5, 222, 6, 38, 0, 45, 0, 0, 0, 6, 1, 91, 101, 21, 255, 255, 0, 215, 0, 0, 4, 97, 6, 8, 6, 38, 0, 45, 0, 0, 0, 6, 1, 100, 234, 26, 255, 255, 0, 94, 254, 56, 4, 97, 4, 80, 6, 38, 0, 45, 0, 0, 0, 7, 1, 104, 255, 177, 254, 226, 255, 255, 0, 124, 255, 234, 4, 47, 5, 222, 6, 38, 0, 46, 0, 0, 0, 7, 1, 91, 0, 132, 0, 21, 255, 255, 0, 124, 255, 234, 4, 40, 6, 8, 6, 38, 0, 46, 0, 0, 0, 6, 1, 100, 8, 26, 255, 255, 0, 124, 254, 67, 4, 40, 4, 79, 6, 38, 0, 46, 0, 0, 0, 6, 1, 102, 74, 248, 255, 255, 0, 124, 255, 234, 4, 40, 6, 6, 6, 38, 0, 46, 0, 0, 0, 6, 1, 92, 123, 25, 0, 1, 0, 196, 255, 236, 4, 54, 5, 64, 0, 40, 0, 0, 65, 55, 35, 55, 33, 55, 33, 19, 35, 3, 33, 7, 33, 7, 35, 7, 51, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 3, 54, 27, 227, 31, 1, 144, 25, 254, 112, 46, 182, 46, 254, 237, 25, 1, 20, 31, 211, 27, 213, 39, 13, 28, 34, 34, 112, 81, 37, 77, 38, 36, 69, 31, 17, 54, 109, 55, 48, 63, 17, 17, 13, 7, 42, 2, 90, 151, 186, 143, 1, 6, 254, 250, 143, 186, 151, 234, 79, 145, 50, 51, 61, 1, 1, 4, 7, 6, 22, 17, 133, 12, 20, 2, 1, 34, 28, 28, 76, 44, 252, 0, 255, 255, 0, 176, 255, 235, 5, 8, 6, 179, 4, 38, 0, 47, 236, 0, 0, 7, 0, 109, 1, 151, 0, 157, 255, 255, 0, 141, 255, 234, 4, 84, 5, 202, 6, 38, 0, 48, 0, 0, 0, 6, 1, 91, 125, 1, 255, 255, 0, 141, 255, 234, 4, 84, 5, 245, 6, 38, 0, 48, 0, 0, 0, 6, 1, 95, 20, 66, 255, 255, 0, 141, 255, 234, 4, 84, 5, 242, 6, 38, 0, 48, 0, 0, 0, 6, 1, 92, 116, 5, 255, 255, 0, 141, 255, 234, 4, 84, 5, 204, 6, 38, 0, 48, 0, 0, 0, 6, 1, 97, 11, 5, 255, 255, 0, 141, 255, 234, 4, 84, 5, 205, 6, 38, 0, 48, 0, 0, 0, 6, 1, 90, 152, 4, 0, 1, 0, 144, 255, 235, 5, 116, 4, 148, 0, 45, 0, 0, 97, 51, 19, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 55, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 2, 245, 163, 139, 152, 168, 17, 160, 7, 25, 20, 18, 49, 33, 24, 182, 135, 28, 68, 40, 37, 86, 48, 63, 68, 14, 15, 2, 6, 107, 181, 108, 6, 4, 14, 12, 49, 40, 33, 91, 58, 61, 106, 46, 34, 61, 27, 3, 32, 20, 182, 170, 1, 47, 79, 29, 26, 37, 10, 139, 252, 247, 43, 66, 21, 20, 19, 1, 2, 56, 43, 43, 105, 50, 2, 134, 253, 125, 59, 118, 53, 52, 87, 31, 27, 31, 1, 1, 30, 29, 21, 57, 33, 0, 255, 255, 0, 141, 255, 234, 4, 226, 5, 244, 6, 38, 0, 48, 0, 0, 0, 7, 1, 99, 0, 129, 0, 5, 255, 255, 0, 141, 255, 234, 4, 84, 5, 165, 6, 38, 0, 48, 0, 0, 0, 6, 1, 94, 12, 245, 0, 1, 0, 141, 254, 79, 4, 84, 4, 58, 0, 60, 0, 0, 97, 51, 19, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 3, 146, 6, 188, 182, 135, 28, 71, 42, 36, 83, 47, 63, 68, 14, 15, 2, 6, 107, 181, 108, 9, 17, 34, 33, 123, 97, 58, 104, 44, 36, 65, 28, 21, 37, 70, 28, 28, 34, 1, 1, 25, 23, 22, 63, 39, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 4, 39, 28, 28, 66, 32, 4, 58, 252, 247, 44, 67, 21, 19, 18, 1, 2, 56, 43, 43, 105, 50, 2, 134, 253, 125, 83, 163, 65, 65, 81, 2, 1, 28, 27, 22, 58, 35, 132, 23, 55, 33, 34, 77, 45, 42, 69, 24, 22, 25, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 39, 67, 28, 27, 45, 17, 0, 255, 255, 0, 141, 255, 234, 4, 84, 6, 54, 6, 38, 0, 48, 0, 0, 0, 6, 1, 98, 11, 78, 255, 255, 0, 141, 255, 234, 4, 84, 5, 251, 6, 38, 0, 48, 0, 0, 0, 7, 1, 93, 0, 140, 0, 11, 255, 255, 0, 132, 0, 0, 4, 218, 5, 202, 6, 38, 0, 50, 0, 0, 0, 7, 1, 91, 0, 132, 0, 1, 255, 255, 0, 132, 0, 0, 4, 218, 5, 242, 6, 38, 0, 50, 0, 0, 0, 6, 1, 92, 123, 5, 255, 255, 0, 132, 0, 0, 4, 218, 5, 204, 6, 38, 0, 50, 0, 0, 0, 6, 1, 97, 18, 5, 255, 255, 0, 132, 0, 0, 4, 218, 5, 205, 6, 38, 0, 50, 0, 0, 0, 6, 1, 90, 159, 4, 255, 255, 255, 228, 254, 72, 4, 188, 5, 202, 6, 38, 0, 52, 0, 0, 0, 7, 1, 91, 0, 145, 0, 1, 255, 255, 255, 228, 254, 72, 4, 188, 5, 242, 6, 38, 0, 52, 0, 0, 0, 7, 1, 92, 0, 136, 0, 5, 255, 255, 255, 228, 254, 72, 4, 188, 5, 204, 6, 38, 0, 52, 0, 0, 0, 6, 1, 97, 31, 5, 255, 255, 255, 228, 254, 72, 4, 188, 5, 205, 6, 38, 0, 52, 0, 0, 0, 6, 1, 90, 172, 4, 255, 255, 0, 61, 0, 0, 4, 70, 5, 202, 6, 38, 0, 53, 0, 0, 0, 7, 1, 91, 0, 150, 0, 1, 255, 255, 0, 61, 0, 0, 4, 70, 5, 244, 6, 38, 0, 53, 0, 0, 0, 6, 1, 100, 26, 6, 255, 255, 0, 61, 0, 0, 4, 70, 5, 197, 6, 38, 0, 53, 0, 0, 0, 6, 1, 96, 25, 5, 0, 1, 2, 35, 4, 191, 3, 112, 5, 201, 0, 3, 0, 0, 65, 3, 35, 19, 3, 112, 129, 204, 199, 4, 191, 1, 10, 254, 246, 0, 0, 1, 1, 231, 4, 191, 3, 171, 5, 201, 0, 3, 0, 0, 65, 3, 51, 1, 2, 196, 221, 150, 1, 46, 5, 201, 254, 246, 1, 10, 0, 1, 1, 46, 4, 227, 3, 125, 5, 237, 0, 8, 0, 0, 65, 39, 35, 5, 7, 55, 55, 23, 23, 3, 125, 211, 106, 254, 240, 2, 153, 172, 118, 146, 4, 254, 239, 238, 27, 1, 149, 150, 1, 0, 0, 1, 0, 240, 4, 228, 3, 171, 5, 240, 0, 37, 0, 0, 65, 39, 6, 6, 7, 6, 6, 7, 6, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 171, 97, 6, 19, 20, 15, 37, 23, 37, 63, 31, 31, 64, 37, 48, 77, 27, 28, 34, 5, 100, 6, 20, 15, 14, 39, 24, 37, 63, 31, 30, 64, 38, 48, 77, 28, 27, 33, 5, 211, 29, 20, 39, 22, 16, 15, 1, 1, 31, 19, 18, 32, 39, 32, 33, 84, 43, 23, 21, 40, 16, 15, 19, 1, 1, 31, 19, 19, 31, 38, 32, 31, 81, 0, 1, 1, 104, 5, 33, 4, 53, 5, 176, 0, 3, 0, 0, 65, 55, 33, 7, 4, 30, 23, 253, 74, 23, 5, 33, 143, 143, 0, 1, 1, 182, 4, 166, 3, 248, 5, 179, 0, 25, 0, 0, 65, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 3, 248, 145, 6, 26, 20, 21, 55, 35, 35, 47, 15, 15, 12, 1, 146, 1, 38, 36, 35, 99, 61, 63, 107, 41, 41, 51, 5, 178, 1, 32, 54, 20, 20, 22, 23, 20, 20, 54, 32, 1, 61, 98, 34, 35, 39, 1, 1, 36, 35, 34, 100, 0, 1, 2, 102, 4, 222, 3, 71, 5, 192, 0, 11, 0, 0, 65, 20, 22, 55, 54, 54, 55, 54, 38, 7, 6, 6, 2, 102, 65, 47, 48, 63, 1, 1, 63, 49, 50, 62, 5, 75, 49, 60, 2, 2, 62, 49, 49, 62, 1, 2, 64, 0, 0, 2, 1, 142, 4, 238, 4, 5, 5, 199, 0, 11, 0, 23, 0, 0, 65, 6, 22, 55, 54, 54, 55, 54, 38, 7, 6, 6, 5, 20, 22, 55, 54, 54, 55, 52, 38, 7, 6, 6, 1, 143, 1, 60, 47, 46, 60, 1, 1, 62, 46, 47, 59, 1, 160, 60, 46, 47, 60, 1, 60, 47, 47, 59, 5, 89, 47, 58, 1, 2, 60, 46, 47, 59, 1, 2, 61, 48, 47, 58, 1, 2, 60, 46, 48, 59, 1, 2, 62, 0, 0, 2, 2, 8, 4, 93, 3, 150, 5, 232, 0, 23, 0, 47, 0, 0, 65, 6, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 2, 9, 1, 27, 25, 25, 68, 40, 43, 76, 29, 28, 34, 2, 1, 26, 24, 24, 68, 40, 43, 77, 29, 29, 36, 97, 2, 20, 16, 15, 41, 23, 21, 33, 11, 11, 10, 2, 3, 19, 15, 16, 39, 22, 21, 33, 12, 11, 12, 5, 24, 40, 68, 25, 25, 29, 31, 28, 27, 74, 43, 39, 70, 26, 26, 31, 32, 28, 29, 76, 40, 22, 41, 16, 16, 19, 18, 14, 15, 37, 20, 21, 40, 15, 16, 18, 16, 13, 14, 37, 0, 2, 1, 88, 4, 226, 4, 97, 5, 239, 0, 3, 0, 7, 0, 0, 65, 1, 51, 1, 33, 3, 51, 1, 3, 118, 254, 223, 181, 1, 87, 253, 221, 230, 161, 1, 29, 5, 239, 254, 243, 1, 13, 254, 243, 1, 13, 0, 0, 1, 1, 193, 4, 227, 4, 29, 5, 238, 0, 8, 0, 0, 65, 39, 39, 7, 23, 51, 37, 55, 7, 2, 206, 118, 149, 2, 210, 112, 1, 25, 1, 161, 5, 86, 151, 1, 23, 244, 247, 20, 2, 0, 0, 1, 252, 172, 254, 165, 253, 140, 255, 136, 0, 11, 0, 0, 69, 20, 22, 55, 54, 54, 55, 52, 38, 7, 6, 6, 252, 172, 65, 47, 48, 63, 1, 63, 48, 50, 62, 238, 49, 60, 2, 2, 62, 49, 48, 64, 2, 2, 65, 0, 0, 1, 1, 23, 254, 75, 2, 95, 0, 0, 0, 30, 0, 0, 97, 35, 7, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 1, 247, 131, 45, 21, 52, 22, 21, 26, 5, 5, 38, 26, 26, 59, 27, 4, 34, 75, 35, 37, 69, 25, 23, 28, 1, 1, 21, 21, 15, 42, 26, 133, 3, 6, 8, 9, 33, 30, 32, 41, 11, 12, 10, 1, 108, 1, 9, 10, 10, 35, 25, 23, 64, 42, 37, 60, 22, 15, 23, 6, 0, 1, 1, 1, 254, 79, 2, 104, 0, 57, 0, 28, 0, 0, 69, 39, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 2, 104, 86, 45, 95, 39, 40, 52, 1, 1, 22, 21, 22, 66, 41, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 4, 39, 28, 28, 66, 3, 60, 22, 60, 38, 38, 94, 55, 40, 66, 23, 25, 27, 1, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 39, 67, 28, 27, 45, 0, 1, 0, 173, 255, 86, 1, 214, 0, 239, 0, 9, 0, 0, 101, 55, 35, 7, 6, 6, 7, 23, 54, 54, 1, 206, 8, 173, 10, 12, 60, 42, 100, 78, 98, 170, 69, 73, 73, 128, 61, 74, 64, 175, 255, 255, 0, 189, 0, 118, 3, 247, 3, 146, 4, 39, 0, 122, 255, 71, 255, 221, 0, 7, 0, 122, 0, 140, 255, 221, 0, 1, 0, 6, 254, 96, 4, 70, 4, 58, 0, 33, 0, 0, 65, 35, 1, 51, 19, 22, 22, 23, 50, 54, 55, 54, 54, 55, 7, 51, 19, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 1, 190, 180, 254, 252, 180, 89, 45, 110, 60, 41, 73, 33, 35, 63, 28, 19, 162, 188, 182, 139, 22, 54, 31, 37, 87, 50, 44, 58, 17, 18, 16, 2, 2, 5, 4, 4, 58, 250, 38, 1, 214, 41, 33, 1, 16, 15, 18, 53, 35, 116, 4, 58, 252, 224, 36, 55, 19, 23, 20, 2, 1, 32, 26, 25, 65, 36, 36, 73, 32, 255, 255, 0, 150, 0, 152, 3, 216, 3, 181, 4, 39, 0, 123, 255, 106, 0, 0, 0, 7, 0, 123, 0, 184, 0, 0, 0, 1, 0, 92, 0, 0, 3, 233, 4, 58, 0, 9, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 1, 24, 28, 1, 101, 132, 254, 156, 29, 3, 112, 29, 254, 169, 160, 4, 58, 161, 253, 7, 160, 160, 3, 154, 0, 2, 0, 20, 255, 235, 4, 193, 5, 176, 0, 3, 0, 31, 0, 0, 115, 19, 35, 3, 1, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 200, 253, 181, 252, 3, 248, 192, 6, 24, 22, 22, 64, 45, 41, 48, 12, 12, 5, 2, 183, 4, 31, 36, 35, 111, 76, 82, 131, 47, 47, 59, 11, 193, 5, 176, 250, 80, 5, 176, 251, 146, 40, 70, 26, 27, 29, 1, 1, 35, 27, 27, 67, 33, 1, 72, 123, 46, 46, 53, 1, 2, 47, 45, 45, 128, 79, 4, 109, 0, 4, 255, 229, 254, 77, 4, 179, 5, 194, 0, 23, 0, 33, 0, 45, 0, 57, 0, 0, 65, 7, 51, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 33, 7, 51, 3, 35, 7, 33, 55, 35, 19, 1, 6, 22, 55, 54, 54, 55, 52, 38, 7, 6, 6, 5, 6, 22, 55, 54, 54, 55, 52, 38, 7, 6, 6, 2, 237, 29, 216, 157, 10, 47, 37, 38, 102, 64, 45, 89, 44, 30, 53, 104, 54, 102, 163, 60, 60, 76, 14, 186, 252, 45, 29, 228, 132, 232, 28, 2, 118, 28, 217, 160, 1, 157, 1, 60, 48, 48, 60, 1, 61, 48, 48, 59, 253, 207, 1, 61, 48, 48, 59, 1, 59, 49, 48, 59, 4, 58, 161, 252, 97, 62, 100, 35, 35, 37, 1, 1, 6, 8, 158, 8, 10, 60, 57, 56, 159, 98, 4, 63, 161, 253, 7, 160, 160, 3, 154, 1, 22, 48, 58, 2, 2, 60, 48, 48, 60, 2, 2, 62, 49, 48, 58, 2, 2, 60, 48, 47, 61, 2, 2, 62, 0, 0, 1, 1, 82, 0, 0, 4, 140, 6, 46, 0, 21, 0, 0, 97, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 1, 82, 181, 193, 10, 54, 42, 41, 112, 70, 23, 45, 21, 34, 36, 72, 38, 105, 168, 61, 62, 78, 14, 4, 102, 65, 113, 41, 41, 45, 1, 1, 6, 6, 143, 8, 12, 1, 1, 67, 61, 61, 169, 99, 0, 1, 0, 1, 254, 73, 3, 102, 4, 58, 0, 23, 0, 0, 65, 7, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 1, 80, 29, 1, 98, 158, 9, 46, 37, 37, 103, 65, 45, 89, 45, 26, 53, 103, 54, 102, 163, 60, 60, 75, 14, 185, 4, 58, 161, 252, 95, 62, 102, 36, 37, 40, 1, 1, 7, 8, 154, 8, 9, 61, 57, 56, 160, 98, 4, 65, 0, 2, 1, 15, 254, 133, 2, 57, 255, 172, 0, 23, 0, 44, 0, 0, 69, 6, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 1, 16, 1, 21, 20, 19, 53, 30, 31, 56, 21, 20, 25, 1, 1, 21, 19, 19, 51, 30, 32, 56, 21, 22, 25, 83, 5, 14, 9, 9, 25, 16, 10, 17, 6, 9, 9, 2, 2, 14, 10, 10, 25, 13, 29, 26, 239, 30, 52, 19, 19, 20, 24, 21, 20, 55, 32, 30, 52, 20, 19, 22, 25, 21, 21, 56, 29, 12, 26, 10, 10, 12, 8, 6, 9, 27, 14, 13, 24, 9, 10, 11, 38, 0, 1, 253, 141, 4, 188, 254, 114, 6, 22, 0, 3, 0, 0, 65, 3, 35, 19, 254, 114, 64, 165, 115, 4, 188, 1, 90, 254, 166, 0, 0, 1, 253, 225, 4, 188, 255, 78, 6, 23, 0, 3, 0, 0, 65, 3, 51, 19, 254, 156, 187, 123, 242, 6, 23, 254, 165, 1, 91, 0, 255, 255, 253, 13, 4, 228, 255, 200, 5, 240, 4, 7, 1, 93, 252, 29, 0, 0, 0, 1, 253, 240, 4, 216, 255, 48, 6, 115, 0, 27, 0, 0, 65, 23, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 253, 240, 138, 11, 33, 60, 23, 23, 28, 2, 2, 52, 40, 41, 96, 41, 14, 16, 52, 24, 24, 32, 4, 4, 35, 23, 24, 51, 21, 4, 217, 1, 72, 6, 23, 19, 19, 54, 37, 54, 68, 21, 20, 16, 2, 105, 1, 2, 7, 7, 28, 27, 27, 30, 8, 8, 5, 2, 0, 2, 252, 187, 4, 228, 255, 101, 5, 238, 0, 3, 0, 7, 0, 0, 65, 3, 35, 19, 33, 3, 35, 19, 254, 105, 197, 233, 251, 1, 175, 137, 215, 193, 4, 228, 1, 10, 254, 246, 1, 10, 254, 246, 0, 1, 2, 138, 4, 247, 3, 210, 6, 122, 0, 3, 0, 0, 65, 3, 51, 19, 3, 13, 131, 95, 233, 6, 122, 254, 125, 1, 131, 0, 0, 3, 1, 142, 4, 223, 4, 89, 6, 191, 0, 3, 0, 15, 0, 27, 0, 0, 65, 3, 51, 19, 1, 20, 22, 55, 54, 54, 55, 54, 38, 7, 6, 6, 5, 20, 22, 55, 54, 54, 55, 52, 38, 7, 6, 6, 3, 34, 93, 139, 161, 253, 157, 64, 47, 49, 62, 1, 1, 63, 49, 50, 61, 1, 235, 63, 47, 49, 63, 1, 63, 48, 50, 61, 6, 191, 254, 248, 1, 8, 254, 142, 49, 61, 2, 2, 63, 49, 49, 62, 1, 2, 65, 49, 49, 61, 2, 2, 63, 49, 48, 64, 2, 2, 65, 0, 255, 255, 2, 53, 2, 106, 3, 21, 3, 76, 4, 6, 0, 100, 54, 0, 0, 1, 0, 71, 0, 0, 4, 165, 5, 176, 0, 5, 0, 0, 65, 55, 33, 3, 51, 19, 4, 138, 27, 252, 159, 253, 182, 226, 5, 24, 152, 250, 80, 5, 24, 0, 0, 2, 255, 192, 0, 0, 4, 37, 5, 176, 0, 3, 0, 8, 0, 0, 65, 1, 33, 3, 1, 1, 55, 23, 19, 2, 179, 253, 13, 4, 101, 213, 253, 124, 1, 202, 68, 17, 116, 5, 176, 250, 80, 5, 176, 250, 231, 3, 144, 137, 137, 252, 112, 0, 0, 3, 0, 102, 255, 234, 4, 109, 5, 198, 0, 3, 0, 41, 0, 79, 0, 0, 65, 55, 33, 7, 5, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 3, 63, 26, 254, 61, 27, 2, 206, 26, 10, 3, 14, 15, 59, 47, 47, 131, 87, 90, 151, 61, 62, 97, 35, 36, 47, 13, 26, 10, 3, 15, 15, 60, 47, 47, 131, 86, 90, 151, 62, 61, 96, 36, 35, 47, 140, 27, 9, 30, 22, 23, 62, 41, 41, 106, 65, 62, 85, 28, 28, 28, 5, 5, 6, 6, 28, 9, 30, 23, 23, 63, 42, 41, 105, 65, 62, 85, 28, 27, 28, 5, 4, 7, 2, 148, 151, 151, 15, 165, 71, 153, 74, 73, 132, 50, 50, 61, 2, 2, 54, 48, 49, 132, 74, 75, 159, 77, 166, 71, 152, 73, 73, 132, 50, 50, 61, 2, 2, 54, 48, 48, 132, 75, 74, 159, 246, 170, 53, 116, 56, 57, 102, 38, 39, 43, 2, 2, 51, 41, 40, 104, 55, 55, 108, 45, 169, 52, 116, 57, 56, 101, 39, 38, 43, 2, 2, 50, 40, 40, 103, 54, 55, 108, 0, 0, 1, 255, 200, 0, 0, 4, 18, 5, 176, 0, 6, 0, 0, 65, 19, 51, 3, 35, 1, 51, 2, 192, 160, 178, 218, 158, 253, 46, 192, 4, 154, 251, 102, 5, 176, 250, 80, 0, 3, 0, 36, 0, 0, 4, 159, 5, 176, 0, 3, 0, 7, 0, 11, 0, 0, 119, 7, 33, 55, 1, 7, 33, 55, 1, 7, 33, 55, 63, 27, 3, 139, 27, 253, 61, 27, 2, 221, 27, 253, 63, 27, 3, 124, 27, 151, 151, 151, 2, 167, 152, 152, 2, 114, 152, 152, 0, 1, 0, 53, 0, 0, 4, 159, 5, 176, 0, 7, 0, 0, 97, 19, 33, 3, 51, 19, 33, 3, 3, 163, 252, 252, 146, 252, 180, 227, 2, 4, 226, 5, 176, 250, 80, 5, 24, 250, 232, 0, 0, 1, 0, 4, 0, 0, 4, 178, 5, 176, 0, 12, 0, 0, 65, 55, 1, 33, 55, 33, 7, 1, 1, 7, 33, 55, 33, 3, 23, 3, 254, 165, 2, 216, 27, 252, 79, 24, 1, 114, 253, 196, 27, 3, 226, 27, 253, 4, 2, 205, 26, 2, 49, 152, 135, 253, 185, 253, 183, 153, 152, 0, 0, 3, 0, 80, 0, 0, 4, 131, 5, 176, 0, 29, 0, 42, 0, 55, 0, 0, 65, 55, 35, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 7, 51, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 1, 54, 54, 55, 54, 54, 55, 3, 38, 38, 39, 38, 38, 37, 6, 6, 7, 6, 6, 7, 19, 22, 22, 23, 22, 22, 3, 26, 41, 180, 42, 109, 183, 68, 69, 84, 11, 9, 34, 44, 44, 141, 98, 39, 180, 40, 109, 183, 68, 68, 85, 11, 9, 35, 44, 44, 141, 253, 144, 9, 48, 41, 40, 115, 75, 137, 68, 81, 21, 21, 7, 2, 194, 9, 47, 40, 40, 114, 75, 137, 66, 81, 21, 20, 7, 4, 224, 208, 206, 8, 89, 71, 71, 188, 108, 92, 175, 71, 71, 96, 12, 198, 196, 9, 89, 72, 71, 188, 108, 91, 174, 71, 70, 96, 253, 248, 71, 131, 52, 52, 70, 10, 253, 15, 12, 74, 51, 51, 120, 77, 71, 131, 52, 53, 71, 10, 2, 241, 13, 74, 50, 51, 119, 0, 0, 1, 0, 132, 0, 0, 4, 229, 5, 176, 0, 35, 0, 0, 65, 19, 35, 3, 38, 38, 39, 38, 38, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 3, 51, 19, 54, 54, 55, 54, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 2, 152, 175, 181, 174, 60, 70, 17, 17, 4, 7, 104, 181, 103, 11, 25, 39, 39, 134, 98, 62, 181, 62, 109, 172, 63, 63, 79, 15, 104, 180, 105, 11, 46, 37, 37, 104, 1, 220, 3, 212, 252, 48, 19, 76, 49, 49, 112, 56, 2, 103, 253, 154, 92, 171, 70, 70, 97, 16, 254, 186, 1, 68, 13, 86, 68, 67, 178, 106, 2, 102, 253, 154, 67, 119, 48, 48, 68, 0, 1, 255, 249, 0, 0, 4, 120, 5, 198, 0, 74, 0, 0, 101, 7, 33, 55, 5, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 7, 7, 33, 55, 38, 38, 39, 38, 38, 53, 52, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 2, 73, 30, 1, 184, 27, 254, 251, 78, 123, 45, 45, 58, 14, 11, 9, 6, 16, 17, 63, 48, 48, 131, 85, 88, 151, 63, 62, 99, 37, 36, 49, 11, 12, 15, 22, 41, 19, 52, 33, 253, 28, 1, 184, 30, 70, 72, 19, 9, 7, 11, 6, 12, 8, 30, 23, 24, 64, 43, 43, 107, 66, 63, 86, 28, 28, 28, 5, 5, 5, 6, 11, 10, 34, 27, 39, 140, 192, 192, 151, 3, 51, 135, 80, 79, 176, 91, 78, 72, 149, 70, 70, 124, 47, 47, 57, 2, 2, 49, 45, 46, 123, 71, 72, 156, 78, 79, 109, 221, 98, 48, 89, 40, 3, 151, 193, 20, 102, 71, 38, 81, 40, 58, 111, 44, 82, 55, 116, 55, 54, 97, 35, 36, 40, 2, 3, 47, 38, 39, 98, 53, 53, 107, 47, 82, 67, 147, 71, 100, 156, 0, 0, 2, 0, 103, 255, 234, 4, 37, 4, 81, 0, 55, 0, 87, 0, 0, 65, 35, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 37, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 4, 37, 113, 75, 16, 39, 22, 43, 107, 58, 78, 126, 50, 50, 76, 28, 27, 34, 8, 2, 6, 3, 12, 12, 47, 37, 37, 104, 69, 58, 104, 46, 30, 57, 26, 6, 20, 15, 23, 67, 42, 32, 55, 27, 10, 12, 26, 13, 23, 21, 3, 1, 2, 3, 1, 253, 134, 3, 6, 22, 18, 18, 50, 35, 35, 89, 57, 39, 67, 28, 23, 39, 14, 94, 25, 57, 32, 33, 75, 43, 48, 67, 22, 21, 24, 5, 4, 3, 4, 58, 128, 25, 42, 16, 32, 33, 1, 2, 49, 44, 43, 116, 65, 66, 138, 65, 22, 57, 120, 57, 57, 101, 39, 39, 46, 2, 1, 26, 26, 17, 46, 27, 27, 44, 17, 25, 25, 1, 1, 16, 16, 140, 2, 4, 2, 1, 28, 19, 7, 16, 8, 13, 24, 10, 219, 22, 45, 101, 49, 49, 89, 34, 33, 38, 2, 1, 23, 20, 18, 49, 31, 253, 235, 32, 55, 19, 20, 22, 2, 1, 35, 28, 28, 74, 40, 39, 82, 0, 0, 2, 255, 254, 254, 128, 4, 83, 5, 198, 0, 38, 0, 78, 0, 0, 65, 38, 6, 7, 6, 6, 7, 3, 51, 19, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 3, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 2, 224, 89, 165, 66, 66, 90, 13, 249, 181, 87, 22, 49, 25, 43, 95, 48, 102, 177, 67, 66, 82, 8, 4, 17, 22, 23, 73, 51, 45, 81, 31, 30, 40, 5, 7, 50, 49, 49, 140, 187, 72, 27, 150, 54, 77, 23, 23, 16, 6, 8, 56, 43, 44, 115, 67, 39, 77, 35, 29, 50, 20, 143, 9, 53, 39, 39, 100, 56, 49, 76, 26, 25, 22, 5, 6, 49, 38, 38, 99, 5, 196, 2, 59, 54, 54, 150, 88, 250, 79, 1, 204, 19, 29, 11, 19, 19, 1, 2, 65, 61, 60, 169, 102, 55, 106, 47, 46, 76, 25, 24, 60, 38, 37, 91, 54, 85, 140, 51, 50, 56, 253, 150, 1, 151, 1, 3, 51, 39, 39, 96, 49, 65, 111, 40, 40, 45, 1, 1, 16, 16, 14, 42, 28, 3, 61, 54, 93, 34, 34, 38, 1, 1, 37, 31, 32, 83, 47, 59, 88, 30, 30, 31, 0, 1, 0, 157, 254, 96, 4, 204, 4, 58, 0, 10, 0, 0, 65, 1, 7, 39, 3, 35, 1, 3, 51, 19, 1, 4, 10, 254, 58, 46, 5, 196, 176, 1, 8, 84, 182, 79, 2, 118, 4, 58, 252, 249, 103, 85, 3, 25, 252, 7, 254, 31, 1, 196, 4, 22, 0, 2, 0, 91, 255, 233, 4, 66, 6, 31, 0, 63, 0, 92, 0, 0, 65, 6, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 54, 22, 23, 55, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 3, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 1, 115, 2, 20, 21, 20, 60, 37, 12, 85, 143, 53, 53, 68, 10, 2, 10, 42, 52, 52, 165, 113, 117, 194, 73, 73, 91, 14, 3, 10, 36, 44, 45, 138, 91, 27, 68, 29, 16, 25, 8, 7, 6, 3, 6, 42, 30, 30, 71, 35, 67, 130, 62, 52, 37, 75, 38, 36, 77, 40, 72, 141, 57, 57, 73, 92, 3, 6, 31, 24, 23, 64, 40, 39, 95, 55, 66, 95, 29, 29, 23, 7, 2, 11, 57, 46, 47, 129, 82, 78, 100, 28, 28, 15, 4, 237, 42, 77, 33, 33, 53, 18, 18, 18, 83, 60, 61, 152, 85, 22, 104, 189, 72, 72, 86, 3, 3, 83, 73, 72, 195, 111, 22, 100, 169, 69, 69, 107, 38, 11, 32, 22, 12, 27, 16, 13, 31, 17, 38, 55, 18, 18, 18, 1, 39, 26, 128, 18, 32, 12, 12, 14, 1, 1, 35, 37, 38, 116, 252, 185, 21, 46, 97, 45, 45, 79, 28, 28, 26, 7, 8, 77, 54, 55, 127, 57, 20, 74, 140, 54, 54, 63, 2, 2, 68, 53, 52, 132, 0, 0, 1, 0, 80, 255, 234, 4, 79, 4, 78, 0, 88, 0, 0, 83, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 23, 55, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 84, 4, 35, 33, 32, 88, 50, 49, 104, 48, 84, 174, 74, 73, 100, 11, 181, 11, 70, 47, 47, 106, 48, 25, 61, 30, 30, 55, 20, 21, 21, 4, 4, 25, 19, 15, 36, 21, 46, 108, 49, 226, 26, 248, 38, 85, 34, 18, 29, 9, 9, 7, 3, 7, 67, 45, 45, 102, 44, 40, 87, 37, 37, 47, 1, 178, 1, 76, 60, 60, 150, 74, 75, 159, 72, 79, 107, 3, 2, 23, 21, 21, 56, 33, 49, 90, 35, 35, 44, 1, 40, 60, 93, 34, 35, 49, 15, 15, 14, 1, 2, 35, 41, 40, 131, 95, 1, 53, 74, 22, 23, 20, 1, 6, 8, 7, 25, 19, 18, 52, 34, 34, 51, 19, 15, 23, 9, 19, 12, 1, 148, 1, 1, 10, 16, 8, 23, 15, 15, 39, 25, 53, 67, 20, 19, 14, 1, 1, 18, 20, 20, 64, 48, 1, 85, 120, 39, 39, 37, 2, 1, 26, 31, 35, 131, 100, 39, 66, 27, 27, 43, 16, 16, 44, 32, 32, 85, 0, 1, 0, 130, 254, 128, 4, 164, 5, 176, 0, 56, 0, 0, 69, 54, 38, 39, 38, 38, 39, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 1, 55, 33, 7, 33, 1, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 3, 107, 4, 35, 31, 32, 83, 45, 205, 33, 48, 15, 22, 12, 6, 11, 76, 53, 53, 125, 62, 1, 206, 22, 252, 98, 27, 2, 183, 254, 160, 60, 136, 60, 74, 101, 9, 8, 30, 36, 35, 109, 72, 169, 18, 43, 18, 18, 21, 3, 4, 26, 17, 18, 40, 18, 92, 35, 72, 30, 30, 40, 79, 55, 71, 24, 23, 27, 11, 52, 9, 29, 20, 27, 74, 47, 87, 143, 63, 62, 110, 54, 1, 163, 128, 152, 254, 196, 52, 122, 69, 82, 180, 96, 76, 119, 44, 45, 60, 16, 36, 4, 14, 11, 11, 33, 24, 28, 52, 23, 24, 43, 19, 89, 26, 67, 39, 39, 87, 0, 1, 0, 54, 254, 97, 4, 31, 4, 79, 0, 31, 0, 0, 65, 35, 3, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 1, 149, 163, 188, 182, 142, 30, 69, 38, 35, 78, 43, 63, 81, 22, 22, 12, 7, 186, 182, 186, 9, 25, 37, 37, 129, 94, 61, 109, 47, 38, 67, 29, 4, 58, 251, 198, 3, 41, 36, 56, 17, 16, 16, 1, 2, 41, 35, 35, 97, 57, 251, 183, 4, 76, 87, 151, 56, 56, 65, 2, 1, 30, 29, 23, 62, 38, 0, 0, 3, 0, 166, 255, 234, 4, 51, 5, 199, 0, 37, 0, 58, 0, 79, 0, 0, 65, 19, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 63, 3, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 3, 244, 54, 8, 1, 11, 11, 47, 40, 40, 115, 78, 82, 132, 53, 53, 79, 29, 29, 38, 10, 53, 8, 1, 12, 11, 48, 40, 39, 115, 78, 82, 132, 53, 52, 79, 29, 28, 37, 154, 22, 6, 21, 16, 16, 46, 32, 32, 83, 53, 50, 66, 20, 21, 20, 2, 3, 6, 5, 21, 26, 20, 6, 18, 15, 13, 40, 29, 33, 91, 61, 50, 66, 21, 20, 19, 3, 2, 6, 5, 19, 2, 46, 1, 84, 63, 135, 64, 63, 114, 43, 43, 52, 2, 2, 45, 41, 42, 113, 65, 65, 141, 69, 254, 171, 64, 133, 63, 64, 113, 43, 43, 52, 2, 2, 45, 41, 41, 113, 65, 65, 140, 171, 141, 43, 92, 44, 44, 78, 29, 29, 32, 2, 2, 39, 31, 31, 80, 43, 42, 84, 36, 142, 151, 129, 39, 85, 41, 40, 75, 32, 36, 41, 2, 2, 39, 30, 31, 79, 42, 42, 85, 36, 130, 0, 1, 0, 233, 255, 235, 3, 191, 4, 58, 0, 23, 0, 0, 65, 7, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 55, 19, 1, 6, 29, 1, 86, 95, 14, 21, 29, 28, 102, 80, 65, 114, 54, 28, 37, 74, 42, 44, 51, 12, 13, 6, 8, 124, 4, 58, 161, 253, 191, 83, 127, 47, 48, 56, 2, 2, 33, 35, 133, 18, 25, 28, 25, 24, 67, 51, 2, 238, 0, 1, 255, 203, 255, 237, 3, 231, 5, 236, 0, 44, 0, 0, 65, 34, 6, 7, 7, 54, 54, 23, 22, 22, 23, 22, 22, 23, 23, 1, 51, 1, 55, 19, 22, 22, 23, 22, 22, 55, 54, 54, 55, 55, 6, 6, 39, 38, 38, 39, 38, 38, 39, 3, 38, 38, 39, 38, 38, 1, 132, 24, 48, 23, 12, 17, 34, 17, 34, 46, 16, 16, 19, 6, 29, 253, 200, 209, 1, 97, 53, 112, 12, 39, 31, 31, 85, 59, 14, 25, 14, 15, 11, 24, 11, 27, 36, 11, 12, 13, 5, 190, 12, 45, 33, 33, 90, 5, 236, 8, 5, 143, 1, 3, 1, 2, 39, 28, 28, 64, 27, 132, 251, 237, 2, 165, 128, 253, 214, 48, 98, 38, 39, 47, 3, 1, 8, 5, 153, 2, 3, 1, 2, 32, 22, 22, 51, 22, 3, 181, 51, 97, 38, 37, 45, 0, 0, 1, 0, 134, 254, 119, 4, 125, 5, 198, 0, 93, 0, 0, 65, 55, 38, 38, 35, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 23, 55, 39, 34, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 4, 87, 38, 62, 126, 64, 58, 127, 62, 62, 114, 44, 44, 55, 4, 3, 34, 30, 30, 80, 44, 77, 138, 54, 54, 69, 7, 9, 61, 59, 58, 161, 92, 53, 19, 44, 18, 18, 21, 3, 3, 25, 17, 17, 41, 19, 91, 34, 72, 30, 29, 40, 3, 4, 36, 31, 32, 83, 44, 103, 56, 102, 37, 37, 38, 8, 11, 95, 70, 69, 168, 86, 127, 27, 150, 34, 78, 38, 38, 68, 24, 25, 23, 7, 6, 44, 32, 32, 78, 41, 41, 80, 34, 56, 107, 5, 8, 151, 18, 20, 1, 13, 15, 16, 52, 39, 40, 108, 71, 51, 86, 34, 35, 53, 18, 23, 68, 49, 49, 132, 86, 107, 150, 51, 52, 66, 22, 13, 5, 12, 10, 11, 32, 25, 30, 51, 23, 23, 42, 20, 88, 26, 66, 39, 38, 86, 46, 54, 71, 23, 22, 27, 11, 26, 13, 47, 36, 35, 98, 65, 97, 128, 38, 37, 30, 1, 152, 1, 6, 9, 8, 28, 24, 23, 67, 47, 42, 63, 22, 21, 28, 8, 7, 4, 21, 0, 0, 1, 0, 110, 255, 236, 4, 128, 4, 58, 0, 29, 0, 0, 65, 55, 33, 7, 51, 3, 51, 19, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 52, 55, 19, 4, 101, 27, 252, 42, 27, 128, 161, 181, 161, 1, 98, 108, 5, 10, 22, 21, 81, 65, 48, 83, 41, 29, 22, 45, 24, 28, 30, 6, 7, 2, 111, 3, 161, 153, 153, 252, 95, 3, 161, 253, 117, 57, 105, 41, 41, 51, 1, 2, 24, 26, 132, 8, 14, 22, 18, 18, 45, 23, 2, 151, 0, 0, 2, 255, 239, 254, 96, 4, 31, 4, 81, 0, 33, 0, 62, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 51, 19, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 21, 3, 7, 4, 14, 14, 55, 43, 43, 121, 79, 100, 185, 68, 78, 79, 18, 171, 181, 98, 21, 48, 26, 46, 107, 56, 76, 126, 50, 49, 75, 27, 30, 38, 169, 3, 9, 50, 42, 42, 121, 80, 39, 68, 29, 32, 51, 17, 50, 11, 52, 42, 41, 115, 75, 54, 74, 23, 23, 24, 4, 4, 5, 1, 250, 22, 67, 136, 63, 63, 110, 42, 41, 50, 2, 3, 77, 68, 73, 201, 107, 252, 29, 2, 17, 25, 40, 15, 27, 26, 1, 1, 41, 37, 35, 97, 57, 60, 134, 88, 21, 70, 137, 53, 54, 65, 2, 1, 18, 17, 19, 59, 40, 1, 38, 64, 134, 55, 55, 68, 2, 2, 42, 33, 34, 88, 46, 47, 93, 0, 0, 1, 0, 95, 254, 87, 4, 41, 4, 81, 0, 66, 0, 0, 65, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 2, 155, 116, 193, 72, 72, 90, 13, 5, 11, 53, 57, 56, 168, 104, 22, 64, 29, 29, 37, 4, 5, 35, 25, 25, 60, 30, 64, 52, 101, 41, 40, 53, 3, 3, 26, 24, 25, 66, 37, 38, 78, 36, 72, 110, 35, 35, 29, 8, 6, 10, 57, 46, 46, 127, 81, 56, 90, 31, 30, 30, 3, 170, 4, 55, 52, 53, 149, 4, 79, 2, 87, 75, 76, 198, 109, 43, 109, 175, 65, 65, 84, 18, 4, 9, 11, 11, 38, 33, 36, 59, 23, 24, 37, 14, 127, 22, 62, 41, 40, 101, 62, 47, 70, 25, 25, 34, 12, 11, 16, 7, 14, 63, 48, 47, 123, 73, 42, 71, 142, 56, 56, 68, 2, 1, 34, 30, 31, 89, 57, 1, 92, 145, 51, 50, 55, 0, 0, 2, 0, 83, 255, 233, 4, 184, 4, 59, 0, 28, 0, 54, 0, 0, 65, 55, 37, 34, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 1, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 4, 157, 27, 253, 205, 116, 190, 70, 71, 88, 13, 3, 11, 35, 47, 47, 158, 114, 108, 186, 71, 69, 94, 12, 3, 7, 19, 28, 15, 40, 26, 253, 136, 3, 10, 52, 44, 44, 123, 81, 76, 94, 25, 24, 10, 7, 3, 10, 51, 43, 44, 125, 83, 78, 93, 23, 24, 9, 3, 161, 153, 1, 84, 72, 73, 195, 110, 23, 101, 194, 76, 77, 95, 3, 3, 79, 71, 69, 191, 106, 24, 76, 141, 64, 34, 64, 30, 254, 108, 22, 70, 141, 56, 55, 67, 3, 3, 71, 54, 55, 132, 62, 22, 71, 145, 58, 59, 72, 3, 3, 76, 58, 57, 137, 0, 0, 1, 0, 223, 255, 235, 4, 103, 4, 58, 0, 25, 0, 0, 65, 55, 33, 7, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 55, 19, 4, 75, 28, 252, 148, 28, 1, 94, 97, 8, 15, 27, 27, 101, 80, 63, 114, 52, 29, 35, 73, 39, 43, 50, 12, 12, 3, 4, 99, 3, 156, 158, 158, 253, 178, 71, 127, 48, 48, 58, 2, 1, 33, 35, 133, 17, 25, 30, 25, 25, 67, 38, 2, 89, 0, 1, 0, 121, 255, 233, 4, 42, 4, 60, 0, 36, 0, 0, 65, 35, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 2, 39, 39, 22, 18, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 1, 161, 180, 104, 12, 33, 46, 46, 154, 110, 84, 139, 57, 57, 87, 32, 32, 41, 10, 17, 11, 38, 182, 35, 18, 19, 11, 54, 43, 44, 122, 84, 71, 84, 21, 21, 7, 7, 4, 58, 253, 151, 103, 176, 65, 65, 75, 2, 2, 45, 41, 41, 112, 66, 66, 145, 74, 129, 1, 5, 125, 2, 125, 254, 250, 129, 72, 160, 64, 66, 79, 1, 2, 61, 48, 47, 117, 58, 0, 0, 2, 0, 87, 254, 34, 4, 81, 4, 60, 0, 55, 0, 77, 0, 0, 69, 3, 51, 19, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 38, 38, 39, 38, 38, 39, 38, 52, 55, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 55, 19, 54, 54, 55, 54, 54, 55, 54, 22, 23, 22, 22, 23, 22, 6, 7, 6, 6, 7, 6, 6, 1, 152, 86, 181, 85, 113, 180, 65, 64, 78, 12, 5, 2, 10, 11, 42, 33, 34, 95, 64, 57, 93, 34, 35, 43, 7, 120, 32, 50, 17, 14, 20, 6, 16, 9, 10, 42, 30, 29, 75, 44, 86, 66, 107, 40, 45, 57, 10, 11, 19, 36, 16, 44, 28, 34, 89, 252, 123, 3, 11, 9, 9, 26, 18, 36, 46, 14, 13, 11, 1, 1, 5, 2, 8, 49, 39, 40, 109, 12, 254, 46, 1, 207, 15, 98, 75, 74, 193, 111, 48, 116, 59, 59, 110, 43, 43, 53, 1, 1, 36, 33, 34, 92, 54, 253, 76, 13, 41, 25, 19, 45, 24, 54, 120, 54, 61, 116, 52, 50, 91, 39, 136, 44, 109, 62, 72, 166, 90, 91, 181, 75, 34, 62, 25, 30, 43, 139, 2, 192, 16, 31, 13, 12, 15, 1, 1, 43, 35, 36, 87, 43, 43, 72, 21, 70, 131, 54, 55, 82, 0, 0, 1, 0, 85, 254, 40, 4, 113, 4, 59, 0, 45, 0, 0, 65, 35, 3, 38, 38, 39, 38, 38, 53, 38, 54, 55, 19, 35, 3, 6, 6, 23, 22, 22, 23, 22, 22, 23, 3, 51, 19, 54, 54, 55, 54, 54, 55, 54, 18, 39, 39, 22, 16, 7, 6, 6, 7, 6, 6, 7, 2, 252, 181, 168, 44, 57, 17, 17, 15, 1, 7, 5, 82, 181, 81, 7, 4, 4, 6, 30, 33, 35, 118, 87, 85, 181, 84, 121, 186, 67, 66, 80, 16, 17, 6, 23, 183, 23, 20, 12, 52, 41, 42, 116, 76, 4, 58, 252, 84, 17, 59, 38, 37, 86, 45, 44, 87, 38, 1, 233, 254, 26, 52, 108, 52, 62, 115, 55, 59, 87, 17, 254, 51, 1, 201, 13, 101, 78, 77, 202, 115, 127, 1, 2, 126, 1, 126, 254, 254, 127, 74, 139, 57, 58, 85, 21, 0, 1, 0, 54, 255, 233, 4, 113, 4, 60, 0, 88, 0, 0, 65, 35, 6, 2, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 38, 38, 39, 39, 22, 18, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 1, 183, 194, 69, 89, 18, 6, 9, 2, 1, 21, 26, 25, 86, 65, 51, 79, 32, 32, 49, 21, 6, 32, 26, 26, 72, 46, 68, 104, 39, 38, 53, 18, 18, 22, 7, 8, 10, 1, 14, 16, 181, 28, 2, 17, 3, 8, 8, 8, 25, 19, 19, 54, 37, 33, 38, 10, 10, 4, 2, 1, 8, 2, 47, 182, 47, 3, 10, 9, 9, 27, 20, 20, 56, 37, 30, 31, 6, 7, 1, 4, 4, 11, 2, 10, 41, 26, 25, 58, 4, 57, 123, 254, 250, 140, 43, 118, 63, 64, 125, 50, 50, 63, 2, 1, 35, 30, 30, 78, 41, 43, 76, 28, 29, 34, 1, 2, 57, 49, 48, 125, 66, 66, 126, 50, 64, 130, 65, 65, 130, 63, 2, 129, 254, 252, 130, 23, 83, 49, 49, 101, 41, 41, 51, 1, 1, 41, 32, 32, 79, 38, 37, 64, 18, 1, 44, 254, 212, 24, 71, 39, 39, 77, 30, 30, 35, 3, 2, 57, 42, 42, 101, 47, 46, 75, 16, 69, 134, 66, 65, 128, 0, 2, 0, 111, 255, 233, 4, 136, 5, 200, 0, 58, 0, 81, 0, 0, 65, 55, 6, 6, 7, 19, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 7, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 54, 1, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 3, 38, 38, 39, 38, 38, 4, 135, 1, 33, 66, 34, 53, 11, 5, 13, 7, 19, 12, 34, 113, 80, 78, 128, 47, 48, 58, 8, 2, 7, 48, 51, 50, 151, 95, 30, 9, 43, 35, 36, 101, 68, 63, 84, 23, 24, 14, 6, 56, 183, 54, 11, 41, 48, 48, 148, 97, 104, 167, 61, 61, 77, 15, 26, 40, 77, 254, 10, 1, 4, 24, 21, 21, 61, 42, 23, 34, 13, 12, 16, 6, 10, 1, 3, 60, 56, 84, 28, 35, 29, 2, 115, 149, 8, 12, 5, 1, 63, 68, 105, 41, 22, 39, 18, 51, 62, 2, 2, 52, 47, 48, 129, 74, 17, 97, 169, 66, 67, 92, 19, 169, 60, 110, 41, 41, 48, 3, 2, 52, 41, 41, 105, 56, 1, 81, 2, 254, 178, 93, 164, 61, 62, 72, 3, 3, 69, 62, 61, 168, 98, 160, 5, 14, 1, 242, 17, 36, 70, 28, 27, 32, 1, 1, 12, 10, 10, 26, 15, 32, 75, 34, 254, 169, 16, 56, 38, 47, 121, 0, 1, 0, 193, 0, 0, 5, 16, 5, 191, 0, 46, 0, 0, 65, 3, 7, 39, 3, 38, 38, 39, 38, 38, 39, 38, 6, 7, 23, 54, 54, 51, 50, 22, 23, 22, 22, 23, 19, 3, 51, 19, 1, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 3, 134, 236, 42, 6, 110, 12, 35, 25, 25, 70, 48, 27, 48, 25, 10, 11, 21, 11, 17, 28, 11, 12, 17, 6, 175, 102, 179, 99, 1, 121, 9, 9, 9, 21, 62, 42, 11, 21, 10, 37, 28, 53, 32, 54, 84, 33, 34, 53, 4, 217, 254, 111, 94, 76, 1, 160, 40, 80, 32, 32, 41, 2, 1, 10, 12, 152, 3, 5, 11, 10, 9, 28, 16, 253, 129, 253, 181, 2, 57, 2, 101, 14, 15, 14, 33, 48, 5, 6, 148, 14, 12, 1, 1, 39, 32, 33, 83, 0, 0, 2, 0, 39, 255, 233, 4, 200, 4, 58, 0, 40, 0, 86, 0, 0, 65, 55, 33, 7, 55, 6, 2, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 39, 3, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 55, 35, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 5, 22, 22, 4, 171, 29, 251, 184, 28, 107, 64, 80, 16, 5, 3, 5, 5, 27, 26, 25, 78, 56, 51, 79, 32, 31, 49, 20, 6, 32, 27, 26, 72, 47, 59, 91, 35, 34, 49, 17, 17, 20, 6, 16, 3, 3, 195, 2, 7, 6, 7, 19, 15, 16, 42, 29, 33, 39, 10, 10, 4, 2, 1, 8, 2, 38, 181, 39, 3, 10, 8, 9, 27, 20, 20, 54, 37, 25, 28, 7, 7, 1, 2, 2, 7, 2, 17, 93, 61, 1, 229, 8, 1, 3, 161, 153, 153, 2, 116, 255, 0, 132, 41, 98, 49, 50, 92, 36, 36, 45, 1, 2, 36, 30, 30, 78, 41, 43, 76, 29, 29, 34, 1, 2, 41, 36, 35, 93, 52, 51, 105, 46, 124, 244, 125, 254, 17, 19, 60, 34, 35, 69, 28, 28, 34, 41, 32, 32, 79, 38, 38, 64, 18, 252, 252, 24, 70, 39, 39, 78, 30, 30, 35, 3, 2, 38, 29, 28, 68, 33, 32, 54, 14, 132, 255, 117, 1, 125, 244, 0, 0, 1, 0, 162, 255, 243, 4, 178, 5, 176, 0, 48, 0, 0, 65, 55, 33, 7, 33, 3, 51, 19, 54, 54, 51, 54, 50, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 19, 4, 151, 27, 252, 11, 27, 1, 81, 226, 180, 124, 14, 27, 14, 16, 32, 16, 38, 60, 22, 16, 25, 9, 23, 14, 6, 6, 35, 30, 31, 90, 61, 13, 97, 158, 58, 57, 69, 9, 8, 39, 47, 19, 48, 29, 40, 99, 59, 29, 55, 29, 85, 5, 24, 152, 152, 250, 232, 2, 175, 1, 2, 1, 1, 1, 18, 15, 11, 27, 16, 39, 102, 57, 57, 98, 36, 36, 43, 2, 145, 2, 56, 53, 52, 153, 99, 95, 164, 61, 25, 42, 16, 22, 25, 1, 1, 4, 2, 1, 200, 0, 0, 1, 0, 114, 255, 233, 4, 147, 5, 199, 0, 67, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 33, 55, 33, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 4, 36, 174, 18, 58, 43, 43, 116, 76, 57, 82, 27, 27, 32, 6, 6, 2, 6, 14, 2, 40, 27, 253, 214, 12, 7, 27, 21, 24, 74, 48, 38, 94, 56, 71, 94, 29, 28, 24, 2, 180, 2, 51, 51, 52, 157, 106, 85, 146, 60, 61, 96, 36, 36, 48, 12, 49, 9, 7, 18, 17, 64, 48, 47, 127, 81, 108, 181, 69, 69, 91, 1, 185, 3, 68, 115, 41, 42, 44, 3, 2, 42, 35, 34, 88, 48, 48, 99, 44, 89, 152, 75, 48, 99, 46, 56, 101, 34, 27, 30, 1, 2, 52, 43, 43, 113, 64, 100, 170, 62, 62, 71, 2, 2, 44, 40, 41, 112, 66, 67, 148, 76, 254, 199, 71, 141, 65, 66, 113, 42, 42, 50, 2, 3, 66, 62, 61, 172, 0, 2, 255, 186, 255, 254, 4, 102, 5, 176, 0, 49, 0, 64, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 39, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 19, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 7, 23, 22, 22, 23, 22, 6, 7, 6, 6, 7, 6, 6, 7, 39, 3, 106, 253, 219, 119, 4, 8, 6, 6, 17, 12, 13, 34, 22, 23, 58, 37, 19, 17, 37, 83, 122, 43, 31, 46, 17, 18, 26, 8, 7, 11, 5, 94, 189, 226, 1, 24, 63, 105, 43, 42, 65, 24, 23, 28, 5, 7, 18, 30, 31, 111, 86, 75, 26, 98, 40, 46, 7, 8, 6, 3, 5, 26, 24, 25, 76, 57, 78, 5, 176, 253, 84, 22, 77, 48, 48, 109, 52, 53, 97, 37, 37, 45, 2, 1, 150, 2, 81, 67, 48, 115, 61, 61, 131, 59, 43, 77, 31, 2, 20, 250, 232, 1, 35, 31, 31, 86, 51, 50, 111, 56, 72, 152, 63, 62, 82, 4, 2, 152, 2, 1, 63, 41, 45, 100, 31, 46, 105, 45, 45, 61, 1, 1, 0, 2, 0, 22, 255, 254, 4, 80, 5, 176, 0, 24, 0, 39, 0, 0, 65, 19, 35, 3, 51, 19, 51, 3, 51, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 35, 19, 35, 3, 23, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 1, 89, 110, 180, 253, 180, 117, 242, 117, 238, 94, 147, 53, 52, 61, 8, 7, 25, 35, 35, 118, 86, 42, 113, 180, 110, 161, 48, 48, 54, 13, 12, 1, 4, 6, 30, 27, 27, 81, 57, 42, 3, 57, 2, 119, 250, 80, 2, 161, 253, 95, 2, 69, 59, 59, 158, 88, 77, 144, 57, 56, 70, 2, 2, 107, 253, 137, 138, 1, 3, 52, 37, 37, 86, 38, 50, 97, 38, 39, 50, 1, 1, 0, 1, 0, 186, 0, 0, 4, 181, 5, 176, 0, 35, 0, 0, 65, 55, 33, 7, 33, 3, 51, 19, 54, 54, 55, 50, 50, 51, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 34, 34, 7, 6, 6, 7, 19, 4, 154, 27, 252, 32, 27, 1, 80, 226, 181, 126, 14, 30, 14, 12, 24, 12, 59, 74, 20, 20, 9, 6, 75, 181, 75, 10, 36, 44, 45, 140, 93, 11, 23, 11, 13, 27, 14, 84, 5, 24, 152, 152, 250, 232, 2, 190, 1, 2, 1, 2, 38, 32, 32, 90, 54, 254, 54, 1, 201, 92, 148, 52, 51, 57, 1, 1, 1, 3, 2, 1, 197, 0, 1, 0, 53, 254, 153, 4, 160, 5, 176, 0, 11, 0, 0, 65, 3, 33, 3, 51, 19, 33, 19, 35, 3, 33, 19, 1, 49, 252, 1, 97, 63, 181, 63, 1, 88, 253, 181, 227, 253, 252, 226, 5, 176, 250, 80, 254, 153, 1, 103, 5, 176, 250, 231, 5, 25, 0, 2, 0, 53, 255, 255, 4, 147, 5, 176, 0, 18, 0, 33, 0, 0, 65, 55, 33, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 3, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 4, 120, 27, 252, 159, 253, 1, 194, 103, 186, 72, 72, 93, 9, 8, 55, 55, 56, 158, 94, 245, 78, 104, 1, 12, 59, 93, 31, 30, 25, 7, 9, 60, 46, 46, 120, 68, 246, 5, 24, 152, 250, 80, 1, 56, 56, 56, 165, 108, 99, 153, 53, 52, 56, 3, 1, 1, 191, 253, 170, 1, 2, 38, 33, 34, 95, 60, 69, 109, 38, 38, 40, 2, 0, 0, 2, 255, 184, 254, 153, 4, 112, 5, 176, 0, 20, 0, 30, 0, 0, 65, 19, 35, 19, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 39, 3, 51, 19, 33, 3, 3, 19, 33, 3, 5, 54, 54, 55, 54, 54, 3, 160, 105, 123, 226, 253, 137, 132, 12, 26, 16, 17, 46, 32, 32, 88, 58, 62, 56, 153, 63, 2, 170, 62, 208, 96, 1, 21, 200, 254, 75, 61, 84, 30, 29, 41, 254, 155, 1, 252, 5, 25, 253, 183, 61, 134, 68, 68, 134, 59, 60, 101, 36, 1, 254, 2, 1, 103, 254, 155, 4, 204, 1, 177, 251, 127, 3, 75, 175, 94, 94, 193, 0, 0, 1, 255, 176, 0, 0, 4, 254, 5, 176, 0, 21, 0, 0, 65, 19, 51, 3, 1, 35, 1, 35, 19, 35, 3, 39, 3, 35, 19, 1, 51, 1, 51, 3, 51, 19, 2, 242, 89, 212, 134, 1, 101, 217, 254, 228, 58, 118, 179, 117, 67, 53, 204, 96, 254, 119, 231, 1, 59, 57, 117, 178, 117, 2, 139, 253, 117, 2, 206, 2, 226, 253, 114, 2, 142, 253, 114, 1, 2, 141, 253, 50, 253, 30, 2, 140, 253, 116, 2, 140, 0, 1, 0, 46, 255, 233, 4, 147, 5, 197, 0, 79, 0, 0, 65, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 7, 23, 22, 22, 23, 22, 22, 3, 55, 37, 35, 9, 9, 73, 54, 54, 132, 66, 61, 101, 36, 36, 37, 4, 180, 5, 64, 60, 59, 165, 96, 102, 200, 81, 80, 106, 8, 6, 51, 56, 19, 46, 26, 53, 99, 40, 39, 51, 5, 9, 66, 62, 62, 168, 93, 93, 181, 72, 73, 98, 10, 180, 12, 64, 46, 46, 112, 59, 58, 104, 38, 37, 38, 7, 8, 66, 49, 49, 120, 63, 168, 27, 190, 37, 68, 29, 19, 35, 2, 92, 31, 95, 68, 72, 106, 35, 36, 33, 2, 1, 40, 36, 36, 99, 62, 1, 101, 157, 54, 54, 58, 2, 2, 51, 55, 54, 165, 112, 84, 138, 49, 17, 29, 11, 23, 62, 41, 40, 100, 62, 103, 151, 50, 50, 50, 2, 1, 50, 51, 51, 151, 99, 1, 60, 94, 32, 32, 33, 1, 1, 31, 31, 32, 94, 63, 69, 98, 30, 31, 29, 1, 152, 1, 1, 11, 11, 7, 19, 0, 0, 1, 0, 53, 0, 0, 4, 160, 5, 176, 0, 9, 0, 0, 65, 1, 19, 35, 3, 51, 1, 3, 51, 19, 3, 230, 253, 71, 185, 181, 252, 185, 2, 186, 186, 181, 253, 5, 176, 251, 221, 4, 35, 250, 80, 4, 35, 251, 221, 5, 176, 0, 0, 1, 255, 202, 255, 255, 4, 160, 5, 176, 0, 30, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 39, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 33, 3, 51, 4, 160, 253, 2, 138, 6, 14, 12, 13, 37, 29, 15, 36, 22, 20, 49, 28, 36, 17, 55, 87, 130, 48, 47, 65, 22, 22, 28, 11, 110, 1, 150, 226, 181, 5, 176, 252, 249, 39, 109, 59, 60, 116, 46, 23, 39, 13, 13, 15, 1, 150, 1, 63, 54, 53, 140, 76, 76, 153, 67, 2, 111, 250, 232, 0, 0, 1, 0, 1, 255, 233, 5, 43, 5, 176, 0, 26, 0, 0, 65, 39, 3, 35, 1, 7, 6, 6, 7, 6, 6, 35, 38, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 1, 35, 2, 89, 33, 180, 193, 1, 36, 62, 21, 48, 29, 29, 70, 42, 37, 75, 35, 38, 48, 99, 51, 71, 117, 48, 48, 79, 33, 2, 216, 219, 2, 58, 181, 2, 193, 251, 204, 96, 33, 58, 21, 21, 24, 1, 16, 10, 139, 17, 19, 1, 1, 37, 35, 34, 97, 59, 4, 193, 0, 0, 1, 0, 57, 254, 161, 4, 151, 5, 176, 0, 11, 0, 0, 65, 3, 33, 3, 51, 19, 35, 19, 35, 3, 33, 19, 1, 53, 252, 3, 60, 61, 163, 105, 143, 226, 181, 227, 254, 8, 227, 5, 176, 250, 80, 254, 161, 1, 251, 5, 20, 250, 231, 5, 25, 0, 0, 1, 0, 228, 0, 0, 4, 157, 5, 176, 0, 25, 0, 0, 65, 35, 3, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 3, 51, 4, 157, 181, 126, 73, 148, 77, 64, 69, 15, 15, 1, 6, 75, 181, 75, 11, 24, 39, 39, 135, 101, 76, 145, 71, 111, 181, 5, 176, 253, 68, 21, 32, 3, 2, 53, 42, 41, 103, 52, 1, 201, 254, 56, 93, 162, 60, 61, 71, 1, 1, 27, 26, 253, 164, 0, 0, 1, 0, 17, 0, 0, 4, 196, 5, 176, 0, 11, 0, 0, 65, 35, 3, 33, 19, 35, 3, 35, 19, 35, 3, 35, 1, 194, 181, 252, 3, 183, 252, 179, 227, 205, 226, 179, 227, 205, 5, 176, 250, 80, 5, 176, 250, 231, 5, 25, 250, 231, 0, 1, 0, 17, 254, 161, 4, 196, 5, 176, 0, 15, 0, 0, 65, 35, 3, 33, 3, 51, 19, 35, 19, 35, 3, 7, 19, 35, 3, 35, 1, 194, 181, 252, 3, 91, 61, 162, 105, 88, 226, 179, 227, 205, 226, 179, 227, 205, 5, 176, 250, 80, 254, 161, 1, 247, 5, 24, 250, 232, 1, 5, 25, 250, 231, 0, 0, 2, 0, 170, 255, 255, 4, 66, 5, 176, 0, 18, 0, 33, 0, 0, 83, 7, 33, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 3, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 197, 27, 1, 40, 226, 1, 76, 101, 178, 68, 68, 86, 9, 8, 48, 51, 51, 151, 93, 127, 104, 130, 150, 58, 84, 26, 26, 20, 7, 8, 53, 42, 42, 112, 67, 129, 5, 176, 152, 250, 232, 1, 59, 57, 57, 164, 104, 95, 152, 54, 53, 59, 3, 1, 2, 87, 253, 18, 1, 2, 41, 34, 35, 95, 55, 66, 108, 38, 39, 43, 2, 0, 0, 3, 0, 35, 255, 254, 4, 192, 5, 176, 0, 16, 0, 31, 0, 35, 0, 0, 65, 19, 35, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 5, 19, 35, 3, 1, 103, 104, 175, 253, 1, 25, 98, 156, 56, 56, 66, 9, 7, 29, 39, 39, 127, 89, 103, 100, 51, 60, 14, 14, 3, 5, 6, 35, 31, 31, 90, 61, 79, 2, 209, 253, 181, 253, 3, 88, 2, 88, 250, 80, 2, 68, 60, 60, 161, 93, 82, 149, 57, 56, 68, 3, 149, 2, 3, 51, 38, 38, 90, 42, 54, 105, 41, 41, 51, 1, 1, 150, 5, 176, 250, 80, 0, 0, 2, 0, 58, 255, 255, 4, 27, 5, 176, 0, 16, 0, 31, 0, 0, 65, 19, 35, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 5, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 1, 132, 104, 181, 253, 1, 194, 103, 186, 72, 72, 93, 9, 8, 55, 55, 56, 158, 94, 254, 241, 1, 12, 59, 93, 31, 30, 25, 7, 9, 60, 46, 46, 120, 68, 247, 3, 89, 2, 87, 250, 80, 1, 56, 56, 56, 165, 108, 99, 153, 53, 52, 56, 3, 150, 1, 2, 38, 33, 34, 95, 60, 69, 109, 38, 38, 40, 2, 0, 1, 0, 78, 255, 233, 4, 105, 5, 200, 0, 67, 0, 0, 65, 35, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 54, 52, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 33, 7, 33, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 1, 10, 181, 7, 44, 50, 49, 156, 106, 127, 202, 74, 37, 61, 23, 22, 32, 9, 53, 6, 6, 7, 36, 28, 50, 169, 121, 107, 183, 69, 70, 87, 12, 178, 11, 52, 42, 42, 117, 77, 85, 103, 26, 12, 15, 2, 3, 2, 5, 14, 254, 44, 27, 1, 214, 14, 6, 23, 17, 14, 38, 22, 49, 137, 90, 72, 92, 26, 26, 16, 1, 209, 99, 175, 65, 66, 78, 2, 3, 95, 81, 41, 95, 52, 52, 112, 57, 1, 76, 48, 94, 45, 57, 107, 46, 81, 102, 3, 3, 75, 66, 67, 180, 103, 2, 68, 124, 47, 46, 54, 3, 3, 84, 63, 31, 69, 35, 37, 74, 35, 94, 151, 90, 41, 84, 40, 35, 66, 29, 62, 76, 3, 2, 59, 47, 46, 118, 0, 0, 2, 0, 11, 255, 234, 4, 139, 5, 198, 0, 45, 0, 83, 0, 0, 65, 19, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 35, 19, 35, 3, 51, 19, 51, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 3, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 4, 60, 69, 7, 3, 7, 8, 36, 33, 34, 100, 70, 72, 113, 43, 43, 62, 22, 22, 28, 8, 25, 109, 116, 180, 253, 181, 111, 109, 19, 7, 4, 6, 6, 33, 31, 31, 95, 69, 74, 117, 45, 44, 66, 24, 23, 29, 103, 67, 5, 12, 10, 11, 33, 24, 25, 69, 47, 40, 46, 11, 11, 4, 3, 2, 10, 3, 66, 4, 11, 10, 9, 30, 23, 23, 64, 45, 42, 52, 14, 13, 7, 1, 2, 10, 2, 4, 1, 168, 55, 121, 59, 58, 108, 41, 41, 51, 2, 2, 45, 40, 41, 109, 60, 60, 125, 58, 152, 2, 156, 250, 80, 2, 125, 122, 52, 118, 58, 59, 109, 42, 42, 53, 2, 2, 44, 40, 39, 107, 61, 60, 127, 1, 231, 254, 84, 34, 83, 43, 43, 81, 31, 31, 35, 2, 2, 44, 35, 34, 84, 41, 41, 73, 24, 1, 172, 31, 81, 43, 42, 82, 32, 31, 37, 2, 2, 42, 33, 33, 82, 41, 41, 75, 0, 0, 2, 255, 209, 0, 0, 4, 156, 5, 177, 0, 19, 0, 34, 0, 0, 97, 51, 19, 37, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 1, 51, 1, 33, 1, 54, 54, 55, 54, 54, 51, 23, 3, 37, 38, 38, 39, 38, 38, 2, 234, 181, 253, 254, 78, 102, 192, 76, 77, 99, 9, 6, 43, 46, 26, 67, 40, 254, 58, 203, 1, 145, 1, 39, 254, 31, 9, 67, 51, 51, 126, 67, 230, 94, 254, 254, 60, 98, 34, 34, 31, 5, 176, 1, 51, 52, 53, 162, 111, 81, 136, 53, 29, 48, 19, 253, 106, 2, 95, 1, 167, 73, 104, 34, 33, 32, 2, 253, 224, 1, 2, 38, 35, 34, 98, 0, 0, 2, 0, 101, 255, 233, 4, 111, 6, 17, 0, 52, 0, 78, 0, 0, 65, 38, 6, 7, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 15, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 7, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 2, 166, 109, 183, 75, 31, 80, 53, 52, 134, 84, 78, 134, 52, 51, 66, 9, 150, 11, 58, 38, 38, 87, 41, 96, 156, 61, 61, 93, 33, 33, 43, 11, 9, 1, 3, 11, 40, 51, 50, 161, 110, 114, 187, 69, 69, 84, 12, 3, 8, 38, 46, 47, 148, 145, 71, 96, 28, 28, 18, 6, 2, 9, 51, 43, 43, 122, 79, 77, 95, 25, 26, 13, 6, 3, 9, 53, 43, 43, 119, 3, 252, 2, 96, 76, 78, 127, 48, 48, 65, 16, 15, 37, 34, 34, 112, 89, 1, 47, 57, 16, 17, 17, 7, 18, 81, 57, 58, 145, 81, 82, 175, 88, 69, 7, 23, 101, 189, 72, 73, 90, 2, 3, 85, 73, 73, 194, 107, 24, 93, 174, 68, 67, 83, 149, 2, 59, 47, 47, 120, 62, 23, 70, 138, 54, 54, 66, 3, 2, 71, 54, 54, 131, 63, 23, 68, 125, 48, 47, 55, 0, 0, 3, 0, 55, 255, 255, 4, 14, 4, 58, 0, 32, 0, 47, 0, 65, 0, 0, 115, 33, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 37, 19, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 37, 19, 19, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 55, 1, 235, 52, 104, 48, 48, 84, 32, 32, 39, 3, 2, 21, 21, 22, 62, 40, 40, 74, 29, 28, 36, 3, 4, 30, 28, 28, 78, 45, 45, 95, 46, 254, 111, 77, 1, 53, 37, 70, 26, 26, 28, 6, 6, 51, 36, 36, 87, 43, 254, 224, 82, 54, 242, 36, 81, 33, 16, 27, 8, 8, 7, 3, 7, 59, 41, 42, 94, 42, 1, 13, 15, 15, 49, 36, 35, 93, 60, 42, 75, 31, 30, 47, 13, 16, 44, 29, 29, 75, 47, 56, 86, 32, 31, 43, 14, 13, 12, 1, 1, 253, 161, 1, 1, 16, 17, 18, 59, 43, 49, 66, 20, 20, 17, 1, 1, 218, 1, 53, 1, 1, 11, 16, 8, 23, 15, 15, 38, 23, 51, 62, 17, 17, 12, 0, 0, 1, 0, 73, 0, 0, 4, 95, 4, 58, 0, 5, 0, 0, 65, 55, 33, 3, 51, 19, 4, 68, 27, 252, 166, 188, 182, 161, 3, 161, 153, 251, 198, 3, 161, 0, 0, 2, 255, 167, 254, 194, 4, 68, 4, 58, 0, 20, 0, 30, 0, 0, 119, 39, 3, 51, 19, 33, 3, 51, 19, 35, 19, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 1, 55, 33, 3, 5, 54, 54, 55, 54, 54, 66, 91, 64, 161, 56, 2, 219, 56, 164, 99, 135, 161, 253, 91, 85, 7, 17, 13, 13, 38, 27, 28, 73, 1, 141, 49, 1, 66, 132, 254, 81, 44, 60, 22, 22, 30, 149, 2, 254, 43, 1, 62, 254, 194, 1, 213, 3, 163, 254, 106, 34, 102, 58, 58, 116, 47, 47, 62, 2, 12, 235, 253, 8, 3, 56, 128, 68, 68, 140, 0, 1, 255, 163, 0, 0, 4, 193, 4, 58, 0, 21, 0, 0, 65, 19, 51, 3, 1, 35, 1, 35, 19, 35, 3, 39, 3, 35, 19, 1, 51, 1, 51, 3, 51, 19, 2, 206, 129, 204, 188, 1, 98, 218, 254, 247, 54, 83, 181, 82, 58, 104, 199, 161, 254, 119, 227, 1, 37, 54, 87, 181, 85, 1, 214, 254, 42, 2, 41, 2, 17, 254, 63, 1, 193, 254, 63, 1, 1, 192, 254, 3, 253, 195, 1, 215, 254, 41, 1, 215, 0, 1, 0, 79, 255, 236, 4, 58, 4, 78, 0, 88, 0, 0, 65, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 23, 50, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 7, 2, 95, 20, 43, 20, 20, 39, 17, 34, 39, 7, 7, 67, 45, 46, 103, 44, 44, 93, 38, 39, 49, 2, 178, 2, 76, 62, 62, 157, 79, 52, 113, 55, 54, 98, 38, 38, 47, 3, 3, 53, 48, 15, 35, 19, 40, 81, 33, 32, 43, 3, 4, 30, 29, 29, 80, 45, 46, 98, 47, 78, 167, 71, 71, 99, 10, 181, 12, 66, 44, 44, 99, 44, 35, 84, 35, 14, 25, 9, 13, 12, 3, 7, 58, 41, 41, 95, 42, 224, 27, 1, 217, 1, 3, 3, 3, 12, 8, 17, 63, 52, 52, 71, 21, 22, 18, 1, 1, 22, 23, 22, 72, 52, 1, 90, 128, 41, 41, 39, 1, 1, 14, 16, 16, 52, 37, 37, 98, 62, 66, 103, 34, 11, 18, 7, 17, 44, 30, 29, 76, 48, 57, 89, 34, 33, 48, 15, 15, 14, 1, 1, 33, 38, 38, 124, 89, 1, 48, 66, 21, 20, 17, 1, 16, 18, 8, 19, 12, 16, 43, 27, 51, 64, 18, 18, 13, 1, 156, 0, 0, 1, 0, 55, 0, 0, 4, 92, 4, 58, 0, 9, 0, 0, 65, 1, 19, 35, 3, 51, 1, 3, 51, 19, 3, 161, 253, 125, 137, 180, 188, 187, 2, 130, 137, 181, 188, 4, 58, 252, 237, 3, 19, 251, 198, 3, 18, 252, 238, 4, 58, 0, 0, 1, 0, 54, 0, 0, 4, 171, 4, 58, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 35, 19, 35, 3, 51, 19, 1, 237, 1, 65, 213, 254, 130, 2, 38, 235, 254, 42, 147, 80, 181, 188, 181, 81, 1, 205, 254, 51, 2, 40, 2, 18, 254, 54, 1, 202, 251, 198, 1, 205, 0, 0, 1, 255, 210, 255, 255, 4, 91, 4, 58, 0, 27, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 35, 35, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 33, 3, 51, 4, 91, 253, 20, 79, 6, 14, 12, 12, 36, 28, 29, 81, 56, 38, 22, 58, 85, 128, 47, 47, 65, 23, 22, 28, 11, 54, 1, 129, 162, 182, 4, 58, 254, 49, 42, 100, 50, 51, 94, 36, 37, 45, 164, 1, 54, 46, 46, 122, 69, 69, 146, 68, 1, 54, 252, 95, 0, 0, 1, 0, 28, 0, 0, 4, 94, 4, 58, 0, 12, 0, 0, 101, 3, 35, 3, 51, 19, 19, 51, 1, 3, 51, 19, 35, 2, 9, 75, 230, 188, 181, 122, 92, 125, 1, 59, 114, 181, 188, 229, 248, 3, 66, 251, 198, 2, 186, 253, 70, 2, 139, 253, 117, 4, 58, 0, 0, 1, 0, 55, 0, 0, 4, 92, 4, 58, 0, 11, 0, 0, 97, 19, 35, 3, 33, 19, 35, 3, 51, 19, 33, 3, 3, 160, 188, 181, 82, 254, 1, 82, 181, 188, 181, 81, 1, 255, 81, 4, 58, 254, 43, 1, 213, 251, 198, 1, 206, 254, 50, 0, 0, 1, 0, 55, 0, 0, 4, 92, 4, 58, 0, 7, 0, 0, 97, 19, 33, 3, 51, 19, 33, 3, 3, 160, 188, 252, 151, 188, 181, 162, 1, 254, 161, 4, 58, 251, 198, 3, 161, 252, 95, 0, 0, 1, 0, 158, 0, 0, 4, 173, 4, 58, 0, 7, 0, 0, 65, 55, 33, 7, 33, 3, 51, 19, 4, 147, 26, 252, 11, 26, 1, 156, 161, 181, 162, 3, 164, 150, 150, 252, 92, 3, 164, 0, 0, 3, 0, 98, 254, 96, 4, 49, 6, 0, 0, 31, 0, 45, 0, 59, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 3, 51, 19, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 19, 35, 3, 6, 6, 7, 6, 6, 1, 19, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 3, 3, 38, 38, 39, 38, 52, 55, 55, 54, 54, 55, 54, 54, 110, 3, 9, 22, 36, 35, 122, 91, 76, 180, 76, 105, 165, 61, 60, 74, 13, 2, 9, 21, 35, 36, 123, 93, 82, 180, 82, 105, 165, 59, 60, 73, 1, 221, 148, 54, 60, 14, 13, 1, 7, 3, 9, 42, 34, 35, 96, 96, 148, 53, 59, 13, 13, 6, 3, 9, 41, 34, 33, 96, 2, 33, 23, 85, 170, 72, 73, 108, 23, 254, 105, 1, 148, 17, 98, 72, 72, 182, 102, 23, 86, 173, 74, 73, 109, 23, 1, 188, 254, 70, 18, 100, 73, 73, 183, 254, 5, 3, 27, 24, 87, 52, 53, 114, 52, 21, 64, 122, 51, 52, 80, 3, 7, 252, 231, 25, 85, 52, 52, 112, 51, 22, 64, 122, 52, 51, 81, 0, 0, 1, 0, 60, 254, 191, 4, 69, 4, 58, 0, 11, 0, 0, 83, 3, 33, 3, 51, 19, 35, 19, 35, 3, 33, 19, 248, 188, 3, 22, 56, 163, 100, 126, 162, 182, 162, 254, 30, 162, 4, 58, 251, 198, 254, 191, 1, 216, 3, 163, 252, 93, 3, 163, 0, 1, 0, 159, 0, 0, 4, 92, 4, 58, 0, 25, 0, 0, 97, 19, 35, 3, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 3, 3, 160, 188, 181, 97, 74, 148, 75, 58, 79, 23, 24, 14, 6, 52, 181, 51, 10, 43, 48, 47, 145, 92, 73, 144, 71, 75, 4, 58, 253, 232, 15, 19, 2, 2, 38, 33, 33, 91, 55, 1, 60, 254, 197, 93, 149, 52, 53, 58, 1, 1, 17, 19, 254, 116, 0, 0, 1, 0, 21, 0, 0, 4, 128, 4, 58, 0, 11, 0, 0, 65, 35, 3, 33, 19, 35, 3, 35, 19, 35, 3, 35, 1, 133, 180, 188, 3, 175, 188, 181, 162, 200, 162, 181, 162, 201, 4, 58, 251, 198, 4, 58, 252, 93, 3, 163, 252, 93, 0, 1, 0, 10, 254, 191, 4, 117, 4, 58, 0, 15, 0, 0, 65, 35, 3, 33, 3, 51, 19, 35, 19, 35, 3, 35, 19, 35, 3, 35, 1, 122, 180, 188, 3, 81, 56, 162, 100, 86, 162, 181, 162, 200, 162, 181, 162, 201, 4, 58, 251, 198, 254, 191, 1, 217, 3, 162, 252, 93, 3, 163, 252, 93, 0, 2, 0, 112, 255, 255, 4, 45, 4, 58, 0, 18, 0, 33, 0, 0, 83, 7, 33, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 3, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 139, 27, 1, 35, 161, 1, 130, 80, 152, 61, 60, 77, 6, 5, 52, 47, 48, 129, 73, 181, 71, 97, 204, 40, 65, 23, 22, 20, 5, 6, 46, 34, 34, 85, 45, 183, 4, 58, 152, 252, 94, 1, 43, 44, 43, 131, 87, 79, 119, 41, 40, 43, 2, 1, 1, 154, 253, 207, 1, 2, 26, 23, 23, 65, 41, 48, 72, 23, 23, 24, 1, 0, 0, 3, 0, 35, 255, 255, 4, 115, 4, 58, 0, 16, 0, 20, 0, 35, 0, 0, 65, 19, 35, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 1, 19, 35, 3, 1, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 1, 71, 71, 174, 189, 1, 32, 79, 140, 53, 53, 66, 5, 5, 40, 40, 41, 116, 71, 2, 23, 188, 181, 188, 254, 49, 106, 37, 52, 15, 14, 9, 4, 5, 29, 22, 28, 77, 48, 85, 2, 159, 1, 155, 251, 198, 1, 47, 45, 45, 130, 81, 73, 117, 42, 42, 47, 2, 253, 98, 4, 58, 251, 198, 2, 9, 1, 2, 31, 25, 25, 63, 34, 38, 65, 24, 29, 33, 1, 1, 0, 2, 0, 56, 255, 255, 3, 247, 4, 58, 0, 16, 0, 31, 0, 0, 65, 19, 35, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 5, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 37, 1, 97, 71, 181, 187, 2, 1, 81, 153, 62, 61, 78, 6, 5, 53, 48, 49, 131, 73, 254, 178, 1, 75, 40, 67, 24, 23, 22, 6, 6, 48, 35, 35, 86, 45, 254, 201, 2, 160, 1, 154, 251, 198, 1, 43, 43, 43, 131, 88, 80, 119, 41, 40, 41, 2, 149, 1, 2, 25, 22, 23, 66, 42, 49, 71, 23, 24, 23, 1, 0, 0, 1, 0, 80, 255, 233, 4, 25, 4, 80, 0, 56, 0, 0, 65, 22, 22, 23, 22, 22, 7, 33, 7, 37, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 2, 107, 69, 99, 30, 30, 24, 4, 254, 102, 27, 1, 166, 20, 64, 46, 46, 124, 79, 52, 83, 29, 29, 29, 3, 170, 4, 54, 51, 51, 143, 85, 119, 198, 75, 74, 92, 14, 5, 8, 21, 30, 18, 53, 34, 50, 133, 84, 80, 160, 66, 67, 91, 9, 171, 11, 57, 41, 40, 96, 3, 183, 2, 54, 44, 45, 116, 63, 152, 1, 69, 128, 48, 48, 56, 3, 1, 38, 33, 32, 87, 50, 1, 86, 142, 51, 52, 59, 2, 3, 84, 74, 74, 200, 113, 43, 83, 154, 66, 41, 72, 29, 42, 49, 1, 2, 51, 47, 48, 136, 84, 1, 50, 79, 28, 28, 28, 0, 2, 0, 5, 255, 234, 4, 94, 4, 81, 0, 43, 0, 81, 0, 0, 65, 19, 35, 3, 51, 19, 55, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 23, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 1, 38, 80, 181, 188, 181, 82, 131, 3, 3, 2, 2, 20, 19, 30, 118, 95, 72, 115, 45, 45, 67, 24, 23, 29, 8, 3, 6, 2, 7, 8, 37, 32, 33, 99, 70, 66, 106, 42, 43, 65, 24, 25, 37, 13, 173, 2, 4, 12, 11, 11, 33, 24, 24, 68, 45, 41, 50, 13, 13, 8, 1, 2, 8, 3, 3, 4, 13, 10, 11, 34, 24, 25, 68, 45, 41, 49, 13, 13, 7, 2, 1, 9, 2, 111, 1, 203, 251, 198, 1, 215, 1, 29, 61, 31, 51, 102, 45, 73, 97, 3, 2, 47, 42, 42, 112, 62, 62, 128, 58, 22, 53, 121, 61, 60, 112, 44, 43, 54, 2, 2, 41, 35, 36, 96, 54, 54, 113, 53, 99, 22, 31, 86, 46, 46, 88, 35, 34, 42, 2, 2, 46, 36, 37, 89, 43, 44, 78, 25, 21, 32, 85, 45, 46, 88, 34, 34, 41, 2, 2, 46, 36, 36, 87, 44, 43, 77, 0, 0, 2, 255, 222, 0, 0, 4, 86, 4, 59, 0, 19, 0, 34, 0, 0, 65, 37, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 1, 51, 1, 33, 3, 51, 1, 54, 54, 55, 54, 54, 55, 5, 3, 37, 38, 38, 39, 38, 38, 4, 86, 254, 7, 79, 155, 62, 63, 82, 6, 4, 33, 37, 19, 47, 28, 254, 160, 207, 1, 67, 1, 63, 74, 181, 253, 185, 7, 50, 36, 36, 88, 44, 1, 47, 62, 254, 166, 37, 62, 21, 22, 19, 4, 58, 1, 40, 41, 42, 128, 88, 62, 113, 44, 22, 36, 14, 254, 59, 1, 165, 254, 91, 2, 230, 49, 71, 24, 23, 23, 1, 1, 254, 153, 1, 2, 24, 21, 21, 61, 0, 0, 1, 0, 56, 254, 71, 4, 24, 6, 0, 0, 61, 0, 0, 65, 55, 33, 55, 35, 7, 35, 7, 51, 3, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 51, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 35, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 19, 2, 189, 27, 254, 255, 33, 181, 31, 183, 27, 184, 210, 181, 137, 28, 67, 38, 37, 83, 46, 59, 77, 22, 22, 12, 6, 115, 4, 15, 6, 24, 20, 21, 60, 41, 26, 51, 24, 30, 30, 59, 32, 81, 127, 46, 45, 55, 10, 90, 4, 38, 9, 24, 36, 36, 124, 92, 54, 97, 43, 44, 77, 33, 54, 4, 185, 151, 176, 176, 151, 251, 71, 3, 19, 34, 58, 22, 21, 23, 1, 2, 41, 35, 36, 93, 53, 253, 84, 89, 36, 71, 28, 29, 36, 8, 8, 147, 9, 10, 1, 1, 53, 47, 47, 129, 76, 2, 31, 227, 82, 151, 58, 58, 70, 2, 1, 27, 24, 24, 68, 40, 1, 33, 0, 0, 1, 0, 121, 255, 233, 4, 44, 4, 81, 0, 59, 0, 0, 101, 38, 38, 39, 38, 38, 39, 38, 38, 55, 33, 55, 33, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 2, 21, 71, 92, 26, 12, 16, 5, 7, 4, 2, 1, 138, 27, 254, 111, 15, 58, 45, 44, 118, 75, 52, 82, 29, 28, 28, 2, 170, 4, 54, 50, 51, 142, 84, 109, 183, 70, 80, 99, 14, 5, 6, 7, 13, 10, 30, 21, 49, 160, 114, 79, 160, 66, 66, 90, 9, 171, 11, 56, 39, 40, 96, 129, 2, 60, 48, 20, 46, 24, 32, 69, 34, 152, 66, 122, 47, 47, 55, 2, 2, 38, 32, 33, 86, 50, 1, 85, 143, 52, 51, 60, 2, 3, 76, 66, 75, 211, 117, 43, 59, 114, 53, 38, 72, 32, 75, 92, 3, 2, 51, 48, 47, 135, 83, 1, 49, 79, 27, 28, 29, 0, 0, 2, 255, 196, 255, 253, 4, 99, 4, 58, 0, 40, 0, 55, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 35, 35, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 35, 3, 69, 253, 220, 78, 5, 10, 9, 10, 29, 23, 24, 68, 47, 27, 19, 49, 78, 115, 42, 41, 56, 19, 18, 23, 9, 53, 187, 161, 1, 0, 78, 139, 53, 53, 66, 5, 4, 39, 40, 40, 115, 71, 55, 18, 68, 40, 53, 15, 12, 8, 4, 5, 33, 26, 27, 72, 43, 57, 4, 58, 254, 49, 32, 94, 51, 52, 102, 41, 41, 52, 154, 3, 58, 50, 49, 130, 70, 69, 138, 58, 1, 54, 252, 95, 1, 47, 45, 44, 129, 81, 72, 117, 42, 42, 48, 2, 1, 150, 2, 3, 31, 25, 21, 57, 33, 42, 71, 27, 27, 32, 1, 0, 2, 0, 21, 255, 255, 4, 70, 4, 58, 0, 24, 0, 39, 0, 0, 65, 19, 35, 3, 51, 19, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 35, 3, 23, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 1, 63, 71, 181, 188, 181, 91, 240, 90, 1, 16, 78, 132, 50, 49, 61, 5, 4, 35, 36, 37, 109, 70, 68, 72, 180, 72, 154, 91, 35, 44, 12, 12, 6, 4, 5, 30, 24, 24, 65, 42, 70, 2, 161, 1, 153, 251, 198, 2, 10, 253, 246, 1, 49, 46, 45, 128, 78, 69, 116, 43, 42, 49, 3, 2, 1, 157, 254, 103, 155, 1, 2, 31, 24, 24, 59, 30, 39, 71, 27, 27, 34, 2, 2, 0, 1, 0, 63, 0, 0, 4, 31, 6, 0, 0, 39, 0, 0, 65, 55, 33, 55, 35, 7, 35, 7, 51, 3, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 19, 2, 240, 27, 254, 212, 32, 181, 30, 140, 27, 141, 211, 181, 137, 28, 67, 38, 37, 83, 46, 59, 77, 22, 22, 12, 6, 115, 181, 114, 9, 24, 36, 36, 124, 92, 54, 97, 43, 44, 77, 33, 55, 4, 190, 151, 171, 171, 151, 251, 66, 3, 19, 34, 58, 22, 21, 23, 1, 2, 41, 35, 36, 93, 53, 253, 84, 2, 169, 82, 151, 58, 58, 70, 2, 1, 27, 24, 24, 68, 40, 1, 38, 0, 1, 0, 56, 254, 156, 4, 92, 4, 58, 0, 11, 0, 0, 65, 35, 3, 33, 3, 51, 19, 33, 19, 35, 3, 33, 1, 168, 181, 187, 1, 92, 62, 181, 62, 1, 87, 188, 181, 162, 254, 1, 4, 58, 251, 198, 254, 156, 1, 100, 4, 58, 252, 93, 0, 1, 0, 56, 255, 234, 4, 241, 5, 176, 0, 74, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 52, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 4, 241, 180, 192, 2, 6, 5, 4, 11, 7, 16, 48, 36, 37, 42, 9, 5, 5, 1, 2, 1, 2, 193, 187, 193, 2, 8, 5, 5, 14, 9, 18, 54, 38, 33, 35, 6, 4, 2, 1, 1, 2, 190, 179, 189, 8, 3, 6, 6, 20, 14, 29, 99, 71, 40, 69, 29, 29, 49, 21, 7, 22, 15, 28, 79, 49, 76, 116, 41, 26, 39, 13, 7, 11, 3, 5, 176, 251, 143, 15, 32, 17, 15, 30, 14, 29, 38, 39, 29, 13, 30, 15, 16, 32, 14, 4, 115, 251, 143, 16, 33, 17, 16, 30, 14, 29, 36, 2, 1, 42, 29, 14, 30, 15, 15, 29, 12, 4, 115, 251, 168, 46, 79, 31, 28, 51, 22, 48, 58, 1, 1, 21, 20, 19, 55, 32, 24, 41, 16, 31, 33, 1, 2, 54, 48, 30, 73, 40, 23, 49, 25, 0, 1, 0, 43, 255, 234, 4, 173, 4, 59, 0, 74, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 39, 38, 38, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 4, 173, 181, 128, 4, 18, 15, 8, 20, 12, 12, 31, 18, 17, 28, 10, 12, 15, 5, 10, 3, 3, 126, 186, 129, 5, 21, 18, 8, 21, 12, 15, 34, 20, 20, 28, 9, 7, 9, 3, 7, 1, 2, 127, 180, 130, 4, 6, 11, 8, 31, 35, 27, 82, 51, 40, 69, 30, 29, 49, 21, 11, 37, 25, 26, 66, 37, 43, 74, 32, 24, 43, 18, 41, 50, 9, 4, 59, 253, 0, 28, 65, 28, 14, 25, 8, 9, 10, 1, 9, 9, 8, 25, 15, 28, 65, 27, 3, 0, 253, 0, 31, 67, 27, 13, 22, 8, 9, 10, 1, 1, 15, 12, 9, 22, 12, 28, 63, 24, 3, 0, 252, 255, 41, 79, 36, 26, 61, 34, 27, 30, 1, 1, 21, 20, 19, 54, 33, 34, 53, 19, 19, 20, 1, 1, 16, 16, 13, 34, 20, 46, 125, 69, 0, 2, 0, 109, 255, 255, 3, 243, 6, 24, 0, 24, 0, 39, 0, 0, 65, 55, 33, 19, 35, 3, 35, 7, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 3, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 37, 3, 20, 27, 254, 199, 58, 180, 58, 186, 27, 187, 187, 1, 203, 80, 153, 61, 60, 78, 6, 5, 52, 48, 48, 130, 73, 254, 70, 96, 1, 21, 40, 66, 23, 23, 21, 6, 6, 47, 34, 35, 85, 45, 255, 0, 4, 52, 152, 1, 76, 254, 180, 152, 251, 204, 1, 43, 44, 43, 131, 87, 79, 119, 41, 40, 43, 2, 1, 1, 148, 253, 213, 1, 2, 25, 23, 23, 65, 42, 48, 72, 23, 24, 23, 1, 2, 0, 1, 0, 17, 255, 233, 4, 193, 5, 199, 0, 84, 0, 0, 65, 19, 35, 3, 51, 19, 51, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 55, 33, 55, 33, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 23, 52, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 1, 84, 109, 180, 252, 179, 119, 144, 24, 7, 3, 8, 8, 37, 34, 33, 100, 70, 88, 131, 47, 46, 57, 14, 161, 5, 12, 7, 7, 18, 11, 24, 72, 54, 41, 50, 13, 13, 8, 1, 1, 9, 3, 24, 1, 17, 27, 254, 237, 15, 5, 14, 12, 12, 34, 26, 25, 69, 46, 28, 40, 15, 11, 17, 5, 12, 4, 1, 163, 9, 12, 12, 40, 31, 32, 87, 57, 74, 117, 45, 46, 67, 24, 25, 30, 9, 15, 3, 64, 2, 112, 250, 80, 2, 169, 155, 54, 121, 60, 60, 110, 43, 43, 53, 2, 3, 72, 60, 59, 150, 75, 1, 21, 47, 23, 22, 43, 19, 40, 50, 3, 2, 46, 36, 35, 88, 43, 43, 77, 25, 156, 151, 101, 32, 85, 45, 44, 85, 33, 33, 38, 2, 1, 19, 16, 13, 33, 18, 41, 91, 37, 1, 48, 99, 47, 46, 81, 31, 30, 37, 2, 2, 46, 41, 41, 110, 61, 61, 129, 59, 99, 0, 1, 0, 46, 255, 233, 4, 132, 4, 80, 0, 75, 0, 0, 65, 55, 33, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 35, 19, 35, 3, 51, 19, 55, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 38, 54, 55, 55, 3, 147, 27, 254, 214, 5, 5, 15, 11, 12, 34, 24, 24, 61, 40, 38, 44, 11, 11, 4, 1, 171, 3, 27, 32, 33, 103, 72, 68, 108, 43, 44, 66, 24, 22, 32, 12, 6, 131, 82, 181, 188, 181, 80, 145, 4, 4, 3, 9, 10, 42, 34, 34, 95, 63, 68, 117, 45, 45, 56, 6, 169, 6, 25, 19, 19, 53, 36, 37, 47, 13, 14, 12, 1, 2, 2, 4, 1, 208, 151, 23, 25, 61, 31, 38, 72, 28, 28, 32, 2, 2, 43, 30, 31, 70, 28, 1, 64, 126, 50, 50, 63, 3, 2, 40, 35, 36, 98, 54, 49, 103, 49, 25, 1, 211, 251, 198, 1, 208, 1, 31, 45, 94, 45, 54, 97, 37, 37, 45, 1, 2, 54, 45, 45, 119, 64, 1, 30, 62, 25, 26, 32, 38, 30, 30, 74, 37, 25, 46, 20, 36, 0, 0, 2, 255, 185, 0, 0, 4, 35, 5, 176, 0, 11, 0, 16, 0, 0, 65, 19, 51, 3, 35, 1, 51, 19, 51, 3, 51, 19, 39, 19, 55, 23, 19, 3, 51, 63, 177, 230, 156, 253, 24, 192, 220, 139, 77, 180, 77, 240, 222, 69, 20, 64, 1, 184, 254, 72, 5, 176, 250, 80, 1, 184, 254, 72, 1, 184, 161, 1, 191, 138, 138, 254, 65, 0, 0, 2, 255, 231, 0, 0, 3, 243, 4, 58, 0, 11, 0, 16, 0, 0, 65, 19, 51, 3, 35, 1, 51, 19, 51, 3, 51, 19, 39, 19, 55, 23, 19, 3, 0, 66, 177, 254, 155, 253, 141, 193, 167, 126, 53, 181, 52, 221, 188, 42, 7, 77, 1, 41, 254, 215, 4, 58, 251, 198, 1, 41, 254, 215, 1, 41, 152, 1, 79, 87, 69, 254, 159, 0, 0, 2, 0, 5, 0, 0, 4, 45, 5, 176, 0, 19, 0, 24, 0, 0, 65, 19, 51, 3, 35, 1, 35, 19, 35, 3, 51, 19, 51, 3, 51, 19, 51, 3, 51, 19, 39, 19, 55, 23, 19, 3, 115, 13, 173, 74, 156, 254, 166, 198, 144, 181, 253, 181, 81, 159, 195, 190, 184, 66, 86, 145, 85, 150, 147, 53, 3, 8, 1, 213, 254, 43, 5, 176, 252, 197, 3, 59, 250, 80, 1, 212, 254, 44, 1, 213, 254, 43, 1, 213, 160, 1, 120, 136, 136, 254, 136, 0, 0, 2, 0, 4, 0, 0, 4, 45, 4, 58, 0, 19, 0, 24, 0, 0, 65, 19, 51, 3, 35, 1, 35, 19, 35, 3, 51, 19, 51, 3, 51, 19, 51, 3, 51, 19, 39, 55, 55, 23, 23, 3, 95, 34, 172, 140, 156, 254, 196, 194, 110, 181, 188, 181, 51, 142, 148, 192, 142, 72, 52, 153, 56, 153, 122, 45, 10, 27, 1, 37, 254, 219, 4, 58, 253, 140, 2, 116, 251, 198, 1, 37, 254, 219, 1, 37, 254, 219, 1, 38, 160, 253, 92, 92, 253, 0, 0, 2, 255, 235, 0, 0, 4, 202, 5, 176, 0, 39, 0, 44, 0, 0, 65, 1, 33, 19, 35, 34, 6, 7, 6, 6, 7, 3, 51, 19, 54, 54, 55, 54, 54, 23, 23, 3, 51, 19, 23, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 35, 19, 3, 7, 39, 3, 3, 35, 1, 167, 252, 62, 205, 10, 87, 138, 50, 56, 68, 12, 69, 181, 71, 7, 31, 26, 26, 77, 53, 78, 119, 181, 115, 81, 47, 54, 12, 12, 2, 5, 71, 181, 70, 8, 25, 35, 34, 120, 75, 112, 250, 30, 14, 122, 3, 23, 2, 153, 253, 107, 44, 41, 47, 143, 94, 254, 86, 1, 171, 49, 81, 29, 28, 32, 1, 1, 253, 124, 2, 131, 2, 1, 38, 29, 29, 75, 41, 254, 84, 1, 171, 79, 131, 48, 46, 60, 2, 1, 254, 89, 50, 50, 1, 167, 0, 0, 2, 255, 254, 0, 0, 4, 121, 4, 58, 0, 39, 0, 43, 0, 0, 99, 51, 55, 54, 54, 55, 54, 54, 23, 23, 3, 51, 19, 23, 22, 22, 23, 22, 6, 7, 7, 51, 55, 54, 38, 39, 38, 38, 39, 39, 1, 33, 19, 7, 6, 6, 7, 6, 6, 7, 1, 3, 39, 3, 2, 180, 35, 7, 26, 24, 24, 74, 54, 62, 85, 181, 82, 59, 48, 48, 10, 9, 4, 4, 32, 181, 33, 7, 13, 26, 26, 93, 72, 9, 1, 111, 252, 107, 183, 9, 87, 127, 45, 46, 54, 12, 3, 24, 230, 7, 106, 219, 48, 86, 33, 32, 39, 2, 2, 254, 59, 1, 197, 2, 2, 46, 33, 33, 79, 38, 220, 219, 68, 129, 52, 50, 71, 8, 1, 1, 228, 254, 35, 1, 7, 56, 48, 50, 139, 86, 2, 200, 254, 185, 1, 1, 70, 0, 0, 2, 255, 229, 0, 0, 4, 241, 5, 176, 0, 48, 0, 51, 0, 0, 65, 39, 1, 33, 19, 33, 19, 35, 3, 51, 19, 55, 6, 6, 7, 6, 6, 7, 3, 51, 19, 54, 54, 55, 54, 54, 51, 23, 3, 51, 19, 23, 22, 22, 23, 22, 22, 21, 22, 6, 7, 3, 51, 19, 54, 38, 39, 38, 38, 19, 3, 3, 3, 173, 27, 1, 95, 253, 44, 113, 254, 135, 116, 167, 253, 167, 111, 154, 3, 7, 3, 12, 17, 6, 86, 150, 84, 5, 19, 17, 16, 48, 33, 45, 116, 150, 114, 41, 19, 28, 9, 10, 13, 2, 2, 2, 83, 150, 82, 6, 13, 22, 19, 66, 5, 196, 53, 3, 17, 4, 2, 155, 253, 104, 2, 152, 250, 80, 2, 128, 2, 7, 14, 6, 28, 57, 31, 254, 13, 1, 244, 29, 52, 20, 19, 22, 2, 253, 128, 2, 128, 1, 1, 10, 9, 10, 30, 16, 15, 31, 16, 254, 11, 1, 244, 54, 100, 39, 34, 49, 2, 16, 254, 103, 1, 153, 0, 2, 255, 230, 0, 0, 4, 177, 4, 58, 0, 41, 0, 44, 0, 0, 83, 19, 35, 3, 51, 19, 55, 6, 6, 7, 3, 51, 19, 54, 54, 55, 54, 54, 23, 51, 3, 51, 19, 23, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 1, 33, 19, 1, 3, 3, 244, 85, 167, 188, 167, 77, 155, 19, 23, 8, 51, 150, 50, 5, 20, 17, 17, 48, 33, 43, 83, 151, 81, 38, 30, 34, 8, 7, 1, 3, 48, 149, 48, 5, 9, 18, 19, 69, 55, 1, 42, 253, 54, 120, 1, 67, 175, 64, 2, 83, 1, 231, 251, 198, 1, 187, 2, 35, 70, 38, 254, 210, 1, 47, 29, 52, 20, 20, 22, 1, 254, 67, 1, 187, 2, 2, 23, 18, 19, 47, 27, 254, 207, 1, 47, 49, 95, 39, 39, 54, 9, 1, 238, 254, 25, 1, 88, 254, 195, 1, 61, 0, 2, 0, 68, 254, 71, 4, 71, 7, 117, 0, 86, 0, 95, 0, 0, 65, 39, 7, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 23, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 7, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 19, 39, 39, 7, 23, 51, 37, 55, 7, 2, 42, 128, 27, 149, 45, 80, 32, 27, 44, 13, 17, 12, 6, 8, 61, 46, 46, 116, 64, 45, 65, 126, 49, 50, 63, 3, 2, 32, 30, 29, 79, 45, 80, 27, 49, 18, 18, 17, 5, 4, 34, 25, 24, 59, 30, 53, 67, 127, 56, 28, 53, 24, 71, 91, 8, 4, 26, 31, 25, 74, 48, 54, 102, 41, 40, 53, 5, 7, 62, 57, 58, 154, 84, 254, 227, 27, 1, 53, 52, 89, 32, 32, 31, 7, 8, 65, 48, 49, 119, 130, 118, 149, 2, 210, 112, 1, 25, 1, 161, 3, 53, 2, 151, 1, 1, 17, 16, 13, 39, 25, 28, 75, 47, 66, 103, 36, 36, 38, 1, 26, 31, 31, 101, 74, 53, 93, 39, 39, 63, 23, 123, 13, 34, 22, 21, 54, 33, 33, 46, 15, 14, 13, 1, 1, 25, 25, 12, 31, 19, 55, 162, 105, 63, 110, 44, 37, 58, 19, 22, 60, 40, 39, 102, 63, 93, 141, 49, 48, 51, 2, 1, 152, 1, 2, 29, 28, 29, 84, 56, 69, 96, 30, 31, 28, 3, 168, 151, 1, 23, 244, 247, 20, 2, 0, 2, 0, 88, 254, 72, 4, 6, 6, 31, 0, 92, 0, 101, 0, 0, 65, 39, 7, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 23, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 37, 7, 5, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 19, 39, 39, 7, 23, 51, 37, 55, 7, 2, 20, 127, 26, 149, 25, 58, 29, 28, 51, 19, 18, 19, 5, 8, 58, 40, 41, 94, 43, 40, 65, 125, 50, 50, 63, 3, 2, 32, 30, 29, 79, 44, 83, 27, 50, 18, 18, 18, 5, 4, 34, 25, 24, 59, 30, 48, 52, 108, 51, 50, 91, 35, 34, 42, 3, 2, 23, 22, 23, 63, 38, 40, 80, 32, 32, 43, 3, 2, 14, 14, 16, 48, 29, 56, 140, 66, 254, 232, 27, 1, 47, 33, 76, 31, 14, 25, 8, 10, 9, 3, 7, 62, 43, 44, 99, 120, 118, 149, 2, 210, 112, 1, 25, 1, 161, 2, 104, 1, 151, 1, 1, 4, 6, 7, 21, 17, 18, 50, 34, 50, 66, 20, 21, 18, 1, 27, 31, 31, 101, 74, 53, 93, 39, 39, 63, 22, 120, 14, 34, 22, 21, 54, 34, 34, 46, 14, 14, 13, 1, 1, 16, 17, 16, 53, 37, 37, 97, 60, 42, 71, 29, 28, 42, 15, 16, 44, 29, 29, 75, 48, 38, 66, 27, 30, 48, 19, 36, 34, 2, 1, 153, 1, 1, 13, 16, 7, 20, 12, 15, 37, 23, 53, 65, 18, 19, 13, 3, 31, 151, 1, 23, 244, 247, 20, 2, 0, 3, 0, 95, 255, 234, 4, 102, 5, 198, 0, 37, 0, 58, 0, 79, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 1, 22, 22, 23, 22, 6, 7, 7, 33, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 4, 66, 26, 10, 3, 14, 15, 59, 47, 47, 131, 87, 90, 151, 61, 62, 97, 35, 36, 47, 13, 26, 10, 3, 15, 15, 60, 47, 47, 131, 86, 90, 151, 62, 61, 96, 36, 35, 47, 166, 1, 9, 30, 22, 23, 62, 41, 41, 106, 65, 62, 85, 28, 28, 28, 5, 5, 5, 7, 1, 2, 91, 27, 28, 5, 4, 7, 6, 2, 253, 141, 2, 9, 30, 23, 23, 63, 42, 41, 105, 65, 62, 85, 2, 133, 165, 71, 153, 74, 73, 132, 50, 50, 61, 2, 2, 54, 48, 49, 132, 74, 75, 159, 77, 166, 71, 152, 73, 73, 132, 50, 50, 61, 2, 2, 54, 48, 48, 132, 75, 74, 159, 81, 5, 53, 116, 56, 57, 102, 38, 39, 43, 2, 2, 51, 41, 40, 104, 55, 55, 108, 45, 6, 2, 59, 40, 103, 54, 55, 108, 46, 13, 11, 52, 116, 57, 56, 101, 39, 38, 43, 2, 2, 50, 0, 3, 0, 68, 255, 233, 4, 23, 4, 80, 0, 28, 0, 41, 0, 54, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 1, 22, 22, 23, 22, 22, 7, 33, 54, 54, 55, 54, 54, 3, 38, 38, 39, 38, 38, 55, 33, 6, 6, 7, 6, 6, 82, 3, 11, 38, 49, 49, 161, 113, 118, 193, 71, 71, 89, 14, 2, 11, 37, 49, 49, 161, 114, 80, 139, 58, 59, 95, 35, 35, 45, 2, 26, 68, 90, 27, 26, 20, 1, 253, 186, 16, 59, 44, 44, 116, 70, 70, 91, 26, 27, 18, 2, 2, 73, 16, 59, 44, 44, 118, 2, 32, 22, 102, 192, 76, 76, 93, 3, 3, 90, 77, 76, 202, 109, 23, 102, 195, 77, 76, 95, 3, 2, 41, 37, 38, 105, 62, 63, 141, 1, 78, 2, 61, 47, 47, 117, 58, 64, 121, 47, 47, 55, 252, 200, 2, 63, 48, 48, 119, 59, 65, 124, 48, 48, 56, 0, 0, 1, 0, 177, 0, 0, 5, 79, 5, 197, 0, 22, 0, 0, 65, 3, 35, 19, 51, 1, 54, 54, 55, 54, 54, 51, 23, 55, 39, 34, 6, 7, 6, 6, 7, 1, 7, 2, 13, 151, 197, 238, 166, 2, 61, 13, 32, 21, 21, 52, 35, 10, 21, 51, 69, 103, 39, 39, 58, 25, 254, 129, 58, 1, 110, 4, 66, 250, 80, 4, 136, 28, 53, 21, 20, 24, 1, 171, 1, 50, 40, 41, 106, 57, 252, 222, 134, 0, 0, 1, 0, 166, 0, 0, 4, 143, 4, 80, 0, 26, 0, 0, 65, 3, 35, 19, 51, 1, 54, 54, 55, 54, 54, 51, 54, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 7, 1, 7, 1, 216, 128, 178, 210, 138, 1, 196, 9, 25, 16, 15, 37, 21, 11, 20, 11, 36, 28, 52, 31, 55, 86, 34, 34, 51, 19, 254, 255, 43, 1, 50, 3, 8, 251, 198, 3, 76, 17, 34, 14, 13, 18, 1, 6, 4, 146, 14, 13, 42, 34, 35, 87, 45, 253, 229, 104, 0, 3, 0, 38, 254, 77, 4, 237, 5, 198, 0, 37, 0, 64, 0, 102, 0, 0, 65, 19, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 37, 19, 35, 3, 7, 6, 6, 7, 6, 6, 7, 6, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 1, 35, 3, 1, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 2, 102, 78, 5, 6, 4, 5, 26, 26, 27, 84, 61, 62, 95, 36, 36, 50, 17, 18, 21, 7, 78, 5, 7, 3, 2, 22, 24, 24, 80, 59, 64, 100, 38, 37, 55, 19, 18, 24, 1, 39, 19, 157, 33, 43, 10, 24, 17, 18, 46, 33, 17, 35, 17, 16, 24, 49, 25, 55, 84, 32, 31, 44, 15, 1, 191, 165, 207, 254, 140, 88, 3, 7, 6, 7, 22, 16, 17, 48, 33, 28, 31, 7, 8, 2, 3, 2, 7, 2, 88, 3, 7, 7, 6, 21, 17, 16, 47, 32, 28, 33, 8, 7, 3, 2, 3, 7, 1, 232, 1, 224, 43, 108, 56, 56, 106, 42, 42, 53, 2, 2, 48, 41, 41, 107, 57, 57, 113, 46, 254, 31, 41, 105, 56, 56, 107, 43, 43, 54, 2, 3, 47, 40, 40, 106, 57, 57, 115, 175, 1, 212, 251, 209, 106, 25, 63, 28, 29, 40, 1, 1, 7, 2, 146, 5, 11, 49, 39, 39, 94, 45, 4, 227, 253, 159, 2, 24, 253, 208, 21, 64, 35, 35, 71, 28, 28, 34, 2, 1, 40, 30, 29, 72, 35, 34, 58, 15, 2, 47, 21, 63, 35, 35, 70, 28, 28, 33, 2, 1, 38, 29, 30, 71, 34, 34, 57, 0, 0, 3, 0, 30, 254, 76, 4, 238, 4, 81, 0, 37, 0, 75, 0, 102, 0, 0, 83, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 20, 7, 6, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 54, 54, 5, 55, 19, 35, 3, 7, 6, 6, 7, 6, 6, 7, 6, 38, 39, 7, 22, 22, 51, 22, 54, 55, 54, 54, 55, 1, 35, 45, 3, 6, 6, 4, 3, 27, 28, 27, 90, 66, 69, 108, 41, 40, 58, 20, 19, 24, 7, 3, 5, 7, 3, 4, 27, 28, 28, 91, 67, 70, 107, 40, 40, 57, 19, 20, 23, 171, 2, 3, 8, 7, 7, 24, 20, 20, 57, 40, 35, 39, 9, 8, 4, 4, 11, 2, 2, 3, 7, 7, 8, 24, 20, 20, 57, 41, 35, 39, 8, 9, 1, 4, 4, 11, 2, 152, 17, 20, 157, 33, 43, 10, 24, 17, 18, 46, 33, 17, 35, 17, 16, 24, 49, 25, 55, 84, 32, 31, 44, 15, 1, 191, 165, 2, 35, 23, 47, 116, 60, 60, 114, 45, 45, 56, 2, 2, 50, 44, 43, 115, 62, 62, 124, 53, 24, 47, 118, 60, 60, 115, 45, 45, 57, 2, 2, 51, 44, 44, 116, 62, 63, 125, 75, 23, 26, 81, 46, 45, 91, 37, 36, 44, 2, 2, 49, 37, 38, 92, 44, 44, 73, 20, 23, 26, 81, 45, 45, 91, 36, 36, 44, 2, 1, 50, 38, 37, 91, 44, 43, 73, 46, 157, 1, 210, 251, 209, 106, 25, 63, 28, 29, 40, 1, 1, 7, 2, 146, 5, 11, 1, 49, 39, 39, 95, 45, 4, 227, 0, 0, 4, 0, 102, 255, 115, 4, 109, 6, 53, 0, 3, 0, 7, 0, 45, 0, 83, 0, 0, 65, 19, 35, 3, 3, 19, 35, 3, 1, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 3, 22, 67, 180, 68, 52, 69, 181, 69, 2, 209, 26, 10, 3, 14, 15, 59, 47, 47, 131, 87, 90, 151, 61, 62, 97, 35, 36, 47, 13, 26, 10, 3, 15, 15, 60, 47, 47, 131, 86, 90, 151, 62, 61, 96, 36, 35, 47, 140, 27, 9, 30, 22, 23, 62, 41, 41, 106, 65, 62, 85, 28, 28, 28, 5, 5, 6, 6, 28, 9, 30, 23, 23, 63, 42, 41, 105, 65, 62, 85, 28, 27, 28, 5, 4, 7, 4, 179, 1, 130, 254, 126, 250, 192, 1, 139, 254, 117, 3, 18, 165, 71, 153, 74, 73, 132, 50, 50, 61, 2, 2, 54, 48, 49, 132, 74, 75, 159, 77, 166, 71, 152, 73, 73, 132, 50, 50, 61, 2, 2, 54, 48, 48, 132, 75, 74, 159, 246, 170, 53, 116, 56, 57, 102, 38, 39, 43, 2, 2, 51, 41, 40, 104, 55, 55, 108, 45, 169, 52, 116, 57, 56, 101, 39, 38, 43, 2, 2, 50, 40, 40, 103, 54, 55, 108, 0, 0, 4, 0, 96, 255, 97, 4, 51, 4, 203, 0, 3, 0, 7, 0, 33, 0, 62, 0, 0, 65, 19, 35, 3, 19, 19, 35, 3, 1, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 2, 217, 68, 182, 68, 9, 71, 182, 71, 254, 248, 3, 11, 38, 49, 49, 161, 113, 118, 193, 71, 71, 89, 14, 2, 11, 37, 49, 49, 161, 114, 113, 182, 69, 78, 99, 164, 3, 10, 54, 45, 45, 128, 84, 53, 79, 27, 23, 31, 8, 9, 1, 5, 2, 11, 54, 45, 46, 128, 83, 80, 97, 24, 19, 13, 3, 70, 1, 133, 254, 123, 252, 27, 1, 151, 254, 105, 2, 191, 22, 102, 192, 76, 76, 93, 3, 3, 90, 77, 76, 202, 109, 23, 102, 195, 77, 76, 95, 3, 3, 79, 70, 80, 216, 138, 22, 72, 147, 59, 59, 73, 3, 2, 39, 31, 27, 72, 39, 46, 97, 45, 22, 72, 145, 58, 58, 72, 3, 3, 80, 59, 47, 143, 0, 3, 0, 30, 255, 233, 4, 177, 7, 84, 0, 106, 0, 142, 0, 155, 0, 0, 65, 35, 3, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 54, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 54, 38, 39, 38, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 23, 22, 6, 7, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 1, 22, 22, 23, 22, 22, 51, 23, 55, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 23, 55, 54, 54, 55, 54, 54, 51, 50, 22, 3, 23, 54, 54, 55, 54, 54, 55, 55, 39, 7, 6, 6, 2, 216, 182, 79, 4, 2, 7, 4, 5, 15, 10, 19, 54, 38, 38, 40, 9, 4, 4, 1, 1, 2, 2, 117, 7, 30, 25, 25, 73, 51, 17, 91, 142, 51, 51, 63, 12, 118, 3, 1, 5, 5, 22, 17, 31, 106, 75, 61, 96, 38, 11, 20, 9, 5, 14, 8, 28, 88, 54, 80, 124, 44, 23, 37, 14, 12, 16, 5, 118, 4, 1, 5, 6, 24, 19, 35, 116, 82, 10, 46, 50, 12, 5, 5, 1, 1, 3, 2, 118, 3, 8, 6, 5, 14, 8, 19, 56, 40, 36, 41, 9, 5, 5, 1, 2, 1, 2, 4, 1, 9, 25, 50, 26, 21, 45, 24, 39, 11, 44, 25, 46, 22, 26, 50, 25, 46, 93, 52, 67, 102, 31, 19, 23, 4, 3, 124, 3, 4, 14, 10, 15, 49, 33, 49, 91, 240, 74, 26, 48, 20, 23, 32, 6, 14, 136, 17, 10, 50, 3, 58, 254, 29, 26, 14, 30, 15, 17, 35, 15, 28, 36, 2, 1, 45, 32, 13, 29, 14, 19, 37, 16, 2, 214, 45, 86, 34, 34, 43, 3, 151, 2, 59, 52, 52, 144, 87, 253, 43, 32, 63, 30, 33, 61, 26, 50, 62, 1, 1, 50, 41, 12, 26, 14, 16, 28, 13, 40, 42, 2, 2, 56, 50, 26, 62, 34, 30, 67, 34, 2, 213, 34, 67, 31, 38, 68, 30, 54, 67, 5, 153, 5, 48, 34, 15, 32, 17, 21, 45, 22, 253, 40, 17, 38, 19, 16, 32, 14, 31, 41, 1, 1, 39, 29, 14, 30, 15, 16, 31, 14, 26, 5, 63, 13, 26, 9, 8, 10, 1, 129, 10, 8, 9, 24, 13, 23, 39, 1, 1, 45, 43, 26, 66, 40, 36, 1, 18, 20, 34, 13, 21, 24, 40, 254, 185, 60, 15, 38, 22, 26, 63, 36, 101, 1, 96, 44, 70, 0, 3, 0, 55, 255, 233, 4, 112, 5, 225, 0, 92, 0, 128, 0, 141, 0, 0, 65, 7, 22, 22, 23, 22, 6, 7, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 52, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 54, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 7, 3, 6, 20, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 54, 38, 39, 38, 38, 19, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 23, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 23, 5, 23, 54, 54, 55, 54, 54, 55, 55, 39, 7, 6, 6, 3, 98, 14, 43, 45, 9, 9, 4, 4, 58, 4, 16, 16, 16, 51, 38, 36, 41, 10, 3, 5, 1, 3, 2, 41, 181, 43, 3, 9, 6, 5, 12, 8, 19, 54, 38, 35, 34, 6, 3, 3, 3, 1, 57, 7, 26, 23, 22, 67, 48, 17, 89, 137, 48, 48, 59, 11, 57, 3, 3, 4, 20, 17, 29, 100, 74, 39, 68, 29, 29, 49, 21, 9, 29, 19, 27, 72, 42, 78, 119, 41, 41, 49, 9, 57, 7, 20, 31, 32, 108, 163, 44, 22, 41, 19, 29, 56, 28, 47, 94, 53, 64, 99, 32, 22, 26, 4, 3, 124, 3, 4, 16, 12, 16, 48, 31, 49, 91, 46, 26, 55, 28, 20, 42, 22, 39, 253, 249, 77, 27, 49, 20, 21, 29, 6, 14, 136, 18, 10, 50, 4, 77, 153, 5, 50, 34, 35, 78, 34, 254, 131, 29, 71, 31, 31, 42, 1, 1, 37, 28, 9, 20, 10, 21, 41, 18, 1, 14, 254, 242, 17, 38, 18, 13, 26, 12, 28, 35, 2, 2, 46, 32, 14, 30, 14, 18, 34, 13, 1, 123, 42, 84, 34, 34, 45, 3, 151, 3, 59, 52, 52, 142, 85, 254, 134, 28, 56, 26, 35, 66, 29, 50, 63, 1, 1, 20, 19, 18, 52, 32, 28, 45, 17, 23, 25, 1, 2, 57, 49, 49, 130, 70, 1, 122, 72, 136, 54, 54, 69, 1, 26, 8, 6, 9, 27, 14, 23, 39, 1, 1, 40, 40, 26, 70, 43, 37, 1, 18, 21, 37, 14, 19, 21, 40, 23, 14, 27, 10, 6, 9, 1, 238, 61, 16, 41, 24, 25, 61, 34, 101, 1, 96, 44, 70, 0, 2, 0, 62, 255, 234, 4, 247, 7, 4, 0, 7, 0, 82, 0, 0, 65, 7, 33, 7, 51, 55, 33, 55, 1, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 1, 226, 20, 1, 5, 23, 165, 22, 1, 20, 18, 254, 78, 76, 116, 41, 22, 34, 13, 11, 15, 4, 192, 180, 192, 2, 6, 5, 4, 11, 7, 16, 48, 36, 37, 42, 9, 5, 5, 1, 2, 1, 2, 193, 187, 193, 2, 7, 5, 5, 15, 9, 18, 54, 38, 33, 35, 6, 2, 3, 1, 1, 2, 1, 190, 179, 194, 3, 2, 5, 5, 21, 16, 29, 99, 71, 40, 69, 29, 29, 49, 21, 8, 25, 17, 28, 76, 7, 4, 108, 125, 125, 108, 248, 232, 2, 54, 48, 25, 59, 33, 28, 63, 32, 4, 112, 251, 143, 15, 32, 17, 15, 30, 14, 29, 38, 39, 29, 14, 30, 15, 16, 31, 14, 4, 115, 251, 143, 15, 32, 16, 16, 33, 14, 29, 36, 2, 1, 42, 29, 10, 21, 11, 20, 38, 15, 4, 115, 251, 142, 30, 60, 28, 31, 57, 25, 48, 58, 1, 1, 21, 20, 19, 55, 32, 27, 44, 17, 28, 29, 0, 0, 2, 0, 44, 255, 233, 4, 173, 5, 176, 0, 7, 0, 82, 0, 0, 65, 7, 33, 7, 51, 55, 33, 55, 1, 38, 38, 39, 38, 38, 39, 38, 52, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 39, 34, 38, 1, 144, 19, 1, 8, 23, 164, 23, 1, 23, 18, 254, 93, 8, 12, 4, 3, 5, 2, 2, 2, 126, 186, 129, 5, 21, 18, 8, 19, 11, 14, 37, 21, 34, 35, 7, 3, 2, 1, 1, 2, 1, 127, 180, 130, 3, 2, 5, 6, 21, 15, 30, 100, 71, 40, 69, 30, 29, 49, 21, 10, 32, 21, 27, 71, 41, 76, 116, 42, 20, 32, 12, 13, 18, 5, 129, 181, 128, 4, 18, 15, 16, 49, 36, 21, 31, 5, 176, 108, 127, 127, 108, 250, 233, 9, 21, 12, 10, 20, 11, 20, 41, 18, 3, 0, 253, 0, 31, 67, 27, 12, 21, 7, 11, 11, 1, 1, 41, 29, 10, 22, 11, 19, 38, 15, 3, 0, 252, 255, 31, 60, 29, 30, 55, 24, 47, 58, 1, 1, 21, 20, 19, 54, 33, 31, 49, 17, 23, 25, 1, 2, 53, 47, 22, 52, 29, 31, 70, 36, 2, 254, 253, 0, 28, 65, 28, 29, 37, 1, 13, 0, 0, 1, 0, 142, 254, 130, 4, 145, 5, 199, 0, 54, 0, 0, 65, 19, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 3, 2, 104, 90, 118, 90, 111, 30, 11, 15, 4, 4, 1, 6, 39, 8, 30, 23, 23, 62, 41, 40, 100, 60, 72, 91, 26, 25, 16, 5, 181, 7, 43, 49, 50, 155, 106, 86, 145, 60, 61, 96, 35, 36, 48, 11, 39, 6, 1, 7, 6, 28, 22, 42, 149, 109, 70, 254, 130, 2, 0, 1, 4, 96, 72, 27, 65, 34, 44, 91, 40, 250, 49, 109, 54, 53, 95, 37, 36, 41, 2, 2, 60, 47, 47, 118, 61, 99, 174, 66, 66, 79, 2, 2, 50, 45, 45, 121, 70, 70, 152, 74, 247, 50, 102, 49, 49, 95, 43, 86, 123, 21, 254, 143, 0, 1, 0, 165, 254, 130, 4, 52, 4, 81, 0, 42, 0, 0, 65, 19, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 3, 2, 61, 89, 111, 74, 85, 20, 21, 6, 7, 6, 9, 52, 43, 42, 121, 78, 51, 77, 25, 25, 23, 2, 170, 4, 48, 47, 48, 135, 84, 114, 187, 68, 69, 84, 13, 5, 9, 20, 33, 33, 119, 91, 69, 254, 130, 2, 0, 2, 4, 78, 57, 57, 133, 57, 42, 67, 141, 57, 57, 72, 3, 2, 41, 33, 33, 86, 47, 1, 82, 143, 53, 52, 62, 2, 3, 90, 76, 77, 197, 105, 43, 83, 169, 73, 73, 109, 22, 254, 142, 0, 0, 1, 0, 66, 0, 0, 4, 186, 5, 62, 0, 19, 0, 0, 65, 1, 23, 55, 39, 1, 35, 3, 39, 7, 23, 1, 39, 7, 23, 1, 51, 19, 23, 55, 2, 46, 1, 16, 250, 85, 255, 1, 44, 172, 242, 252, 84, 253, 254, 243, 254, 82, 251, 254, 219, 176, 234, 252, 82, 1, 183, 1, 117, 169, 113, 171, 1, 159, 254, 180, 170, 116, 171, 254, 139, 170, 114, 171, 254, 107, 1, 66, 169, 114, 0, 1, 1, 48, 4, 166, 4, 24, 5, 252, 0, 7, 0, 0, 65, 33, 55, 39, 7, 33, 7, 23, 1, 233, 2, 9, 38, 161, 18, 253, 245, 42, 162, 5, 35, 216, 1, 108, 233, 1, 0, 1, 1, 115, 5, 22, 4, 80, 6, 20, 0, 35, 0, 0, 65, 35, 7, 55, 50, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 23, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 1, 164, 37, 12, 48, 22, 43, 21, 39, 76, 38, 58, 116, 59, 27, 36, 10, 9, 7, 1, 2, 122, 3, 2, 18, 19, 26, 88, 58, 62, 116, 58, 37, 74, 38, 22, 45, 5, 150, 127, 1, 6, 5, 9, 29, 15, 23, 38, 2, 1, 16, 15, 13, 36, 23, 20, 1, 39, 43, 70, 26, 36, 38, 1, 1, 38, 23, 15, 29, 9, 5, 7, 0, 1, 2, 82, 5, 21, 3, 33, 6, 87, 0, 5, 0, 0, 65, 23, 55, 39, 55, 35, 2, 82, 129, 78, 38, 28, 176, 5, 229, 208, 57, 114, 151, 0, 0, 1, 2, 175, 5, 23, 3, 196, 6, 87, 0, 5, 0, 0, 65, 55, 55, 35, 7, 7, 2, 246, 183, 23, 176, 22, 79, 5, 23, 188, 132, 130, 117, 0, 0, 8, 254, 121, 254, 195, 5, 216, 5, 176, 0, 25, 0, 51, 0, 77, 0, 103, 0, 129, 0, 155, 0, 181, 0, 207, 0, 0, 65, 51, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 35, 38, 6, 7, 6, 6, 1, 51, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 19, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 35, 38, 6, 7, 6, 6, 1, 51, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 35, 38, 6, 7, 6, 6, 1, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 19, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 213, 111, 5, 14, 10, 14, 38, 27, 24, 32, 9, 9, 6, 1, 109, 1, 26, 24, 25, 70, 43, 45, 75, 28, 29, 37, 2, 7, 112, 6, 18, 13, 13, 35, 23, 24, 31, 9, 9, 6, 1, 110, 1, 24, 23, 25, 72, 45, 47, 79, 29, 26, 33, 91, 108, 5, 17, 12, 13, 37, 25, 24, 31, 9, 9, 6, 1, 109, 1, 22, 20, 24, 74, 47, 45, 75, 28, 28, 36, 254, 225, 108, 5, 18, 12, 13, 37, 24, 24, 31, 9, 9, 6, 1, 109, 1, 25, 24, 24, 70, 44, 45, 75, 28, 28, 36, 253, 154, 108, 5, 17, 12, 14, 37, 24, 24, 31, 9, 9, 6, 1, 110, 1, 26, 24, 25, 70, 43, 45, 75, 28, 29, 35, 254, 169, 112, 6, 17, 13, 13, 36, 24, 24, 31, 9, 9, 6, 1, 109, 1, 28, 27, 25, 67, 41, 45, 75, 28, 29, 37, 254, 249, 109, 6, 18, 13, 13, 35, 24, 24, 31, 9, 9, 6, 1, 109, 1, 17, 17, 24, 78, 51, 45, 74, 28, 29, 37, 66, 109, 6, 18, 13, 12, 35, 24, 24, 31, 9, 9, 6, 1, 110, 1, 22, 22, 24, 74, 46, 45, 74, 28, 29, 36, 4, 244, 18, 32, 13, 17, 20, 16, 14, 14, 37, 21, 43, 69, 25, 25, 27, 1, 26, 24, 25, 70, 254, 192, 21, 37, 14, 13, 15, 16, 14, 14, 37, 21, 42, 69, 24, 26, 27, 1, 1, 29, 28, 24, 66, 253, 223, 1, 20, 35, 13, 15, 17, 16, 14, 14, 37, 21, 40, 66, 24, 27, 31, 1, 1, 26, 24, 25, 71, 253, 206, 1, 20, 36, 13, 14, 17, 16, 14, 14, 37, 21, 43, 69, 25, 24, 27, 1, 1, 26, 24, 25, 71, 254, 185, 1, 20, 35, 14, 14, 17, 16, 14, 14, 37, 21, 43, 69, 25, 25, 27, 1, 26, 24, 25, 71, 4, 240, 21, 37, 13, 13, 16, 16, 14, 14, 37, 21, 45, 73, 25, 21, 25, 1, 26, 24, 25, 70, 253, 221, 1, 20, 37, 14, 13, 16, 16, 14, 14, 37, 21, 36, 60, 24, 32, 36, 1, 1, 26, 25, 25, 70, 253, 206, 1, 20, 37, 14, 13, 16, 16, 14, 14, 37, 21, 40, 67, 24, 27, 30, 1, 1, 26, 25, 25, 70, 0, 8, 254, 189, 254, 99, 5, 194, 5, 198, 0, 4, 0, 9, 0, 14, 0, 19, 0, 24, 0, 29, 0, 34, 0, 39, 0, 0, 69, 7, 3, 51, 19, 19, 55, 19, 35, 3, 1, 7, 5, 55, 37, 5, 55, 37, 7, 5, 1, 23, 37, 39, 5, 1, 39, 5, 23, 37, 19, 55, 3, 7, 19, 1, 7, 19, 55, 3, 2, 51, 133, 127, 101, 172, 15, 132, 126, 100, 171, 2, 62, 15, 1, 64, 17, 254, 201, 251, 115, 16, 254, 192, 17, 1, 55, 3, 231, 89, 1, 52, 61, 254, 179, 252, 190, 88, 254, 204, 62, 1, 75, 20, 105, 148, 67, 93, 3, 44, 104, 147, 69, 93, 58, 3, 254, 160, 1, 81, 4, 177, 2, 1, 95, 254, 175, 254, 3, 140, 69, 92, 127, 210, 140, 68, 91, 127, 2, 68, 98, 191, 77, 153, 252, 26, 98, 191, 78, 153, 3, 89, 95, 1, 47, 61, 254, 177, 253, 67, 96, 254, 209, 62, 1, 79, 0, 3, 0, 81, 0, 0, 4, 167, 5, 176, 0, 3, 0, 20, 0, 35, 0, 0, 65, 1, 7, 1, 37, 5, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 51, 19, 19, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 3, 248, 254, 239, 129, 1, 15, 253, 246, 1, 33, 100, 185, 73, 72, 92, 9, 8, 55, 54, 55, 155, 92, 254, 65, 252, 180, 128, 99, 1, 32, 59, 91, 30, 29, 25, 7, 8, 61, 46, 47, 118, 66, 1, 204, 1, 245, 65, 254, 12, 188, 1, 60, 57, 57, 165, 105, 95, 155, 56, 56, 63, 3, 1, 250, 80, 2, 224, 2, 56, 1, 3, 45, 37, 37, 99, 57, 67, 108, 37, 38, 41, 0, 3, 255, 247, 254, 96, 4, 28, 4, 79, 0, 3, 0, 39, 0, 71, 0, 0, 69, 1, 7, 1, 19, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 7, 1, 51, 19, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 173, 254, 219, 117, 1, 39, 217, 2, 7, 4, 12, 13, 49, 39, 40, 110, 74, 52, 94, 42, 35, 63, 29, 19, 164, 254, 252, 181, 97, 19, 43, 23, 43, 100, 53, 115, 174, 61, 34, 53, 18, 14, 19, 174, 2, 4, 13, 10, 13, 39, 25, 44, 125, 84, 38, 66, 26, 27, 41, 15, 91, 25, 59, 33, 32, 74, 42, 52, 74, 26, 13, 20, 8, 23, 7, 6, 1, 126, 86, 254, 130, 2, 116, 21, 61, 127, 60, 60, 106, 41, 40, 48, 2, 1, 20, 21, 17, 50, 31, 119, 1, 250, 38, 2, 9, 23, 37, 14, 26, 25, 1, 2, 98, 80, 45, 106, 56, 42, 89, 64, 21, 30, 60, 30, 42, 80, 35, 59, 72, 2, 1, 20, 18, 18, 53, 35, 2, 11, 33, 56, 20, 19, 20, 1, 1, 36, 29, 14, 36, 19, 57, 135, 0, 0, 1, 0, 72, 0, 0, 4, 246, 6, 255, 0, 7, 0, 0, 65, 19, 35, 3, 33, 3, 51, 19, 4, 161, 85, 181, 59, 253, 63, 253, 182, 226, 5, 24, 1, 231, 254, 177, 250, 80, 5, 24, 0, 1, 0, 72, 0, 0, 4, 156, 5, 119, 0, 7, 0, 0, 65, 19, 35, 3, 33, 3, 51, 19, 4, 74, 82, 181, 56, 253, 85, 188, 182, 161, 3, 161, 1, 214, 254, 195, 251, 198, 3, 161, 0, 1, 0, 75, 254, 222, 4, 169, 5, 176, 0, 33, 0, 0, 65, 55, 33, 3, 51, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 4, 142, 27, 252, 159, 253, 182, 116, 189, 93, 129, 38, 38, 25, 10, 9, 46, 42, 42, 125, 88, 15, 126, 193, 68, 68, 80, 13, 13, 54, 63, 63, 194, 128, 166, 82, 5, 24, 152, 250, 80, 2, 160, 1, 2, 62, 54, 54, 148, 87, 79, 145, 56, 57, 68, 2, 147, 3, 83, 74, 73, 201, 120, 126, 207, 75, 74, 84, 3, 1, 1, 214, 0, 1, 0, 74, 254, 224, 4, 96, 4, 58, 0, 39, 0, 0, 65, 55, 33, 3, 51, 19, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 39, 19, 4, 69, 27, 252, 166, 188, 182, 84, 222, 37, 64, 27, 22, 37, 15, 33, 28, 8, 8, 50, 39, 39, 102, 60, 36, 84, 153, 60, 60, 79, 9, 10, 57, 58, 24, 56, 32, 47, 109, 60, 199, 49, 3, 161, 153, 251, 198, 1, 228, 1, 1, 16, 14, 11, 29, 18, 40, 109, 66, 64, 103, 39, 40, 55, 16, 150, 18, 83, 61, 60, 154, 90, 104, 170, 61, 25, 41, 15, 23, 26, 2, 1, 1, 27, 0, 1, 0, 64, 0, 0, 5, 15, 5, 176, 0, 20, 0, 0, 65, 35, 1, 35, 19, 35, 3, 35, 19, 35, 3, 51, 19, 51, 7, 51, 55, 23, 19, 51, 3, 5, 15, 220, 254, 109, 49, 50, 146, 45, 97, 113, 181, 253, 181, 115, 97, 44, 146, 47, 54, 200, 215, 231, 5, 176, 253, 122, 1, 2, 254, 255, 2, 133, 250, 80, 2, 148, 245, 246, 1, 253, 108, 2, 246, 0, 0, 1, 0, 54, 0, 0, 4, 147, 4, 58, 0, 20, 0, 0, 65, 35, 1, 7, 55, 35, 7, 35, 19, 35, 3, 51, 19, 51, 7, 51, 55, 23, 19, 51, 1, 4, 147, 230, 254, 181, 41, 43, 145, 38, 86, 80, 181, 188, 181, 81, 86, 35, 145, 39, 51, 188, 216, 254, 251, 4, 58, 254, 53, 1, 215, 213, 1, 202, 251, 198, 1, 205, 194, 195, 1, 254, 51, 2, 46, 0, 0, 1, 0, 165, 0, 0, 4, 246, 5, 176, 0, 14, 0, 0, 65, 19, 51, 3, 1, 35, 1, 35, 19, 33, 7, 33, 3, 51, 19, 2, 144, 180, 210, 221, 1, 189, 216, 254, 122, 89, 113, 254, 16, 27, 1, 61, 227, 180, 115, 2, 147, 253, 109, 2, 228, 2, 204, 253, 122, 2, 134, 152, 250, 232, 2, 147, 0, 1, 0, 111, 0, 0, 4, 198, 4, 58, 0, 14, 0, 0, 65, 19, 51, 3, 1, 35, 1, 35, 19, 33, 7, 33, 3, 51, 19, 2, 148, 180, 216, 251, 1, 161, 230, 254, 190, 116, 80, 254, 16, 27, 1, 59, 161, 181, 80, 1, 205, 254, 51, 2, 46, 2, 12, 254, 54, 1, 202, 153, 252, 95, 1, 205, 0, 1, 0, 6, 0, 0, 5, 12, 5, 176, 0, 13, 0, 0, 65, 19, 35, 3, 51, 19, 33, 3, 51, 19, 33, 55, 33, 3, 1, 69, 115, 181, 253, 181, 112, 1, 103, 113, 180, 226, 1, 58, 27, 254, 18, 114, 3, 31, 2, 145, 250, 80, 2, 135, 253, 121, 5, 24, 152, 253, 111, 0, 0, 1, 0, 2, 0, 0, 4, 205, 4, 58, 0, 13, 0, 0, 65, 19, 35, 3, 51, 19, 33, 3, 51, 19, 33, 55, 33, 3, 1, 33, 82, 181, 188, 181, 80, 1, 112, 81, 181, 161, 1, 54, 27, 254, 21, 82, 2, 101, 1, 213, 251, 198, 1, 206, 254, 50, 3, 161, 153, 254, 43, 0, 0, 1, 0, 1, 254, 221, 4, 66, 5, 176, 0, 47, 0, 0, 65, 19, 33, 3, 51, 19, 51, 3, 51, 19, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 2, 239, 113, 253, 158, 253, 180, 226, 250, 226, 181, 120, 7, 46, 64, 19, 20, 19, 3, 2, 6, 4, 4, 15, 12, 13, 39, 28, 28, 77, 51, 15, 117, 165, 55, 27, 41, 15, 16, 21, 6, 7, 2, 11, 12, 48, 39, 38, 105, 70, 3, 63, 2, 113, 250, 80, 5, 24, 250, 232, 2, 158, 1, 7, 42, 32, 33, 81, 43, 44, 87, 38, 41, 91, 44, 45, 82, 31, 32, 39, 1, 147, 3, 95, 77, 38, 86, 47, 48, 106, 53, 63, 130, 62, 62, 110, 43, 40, 52, 6, 0, 1, 0, 8, 254, 225, 4, 26, 4, 58, 0, 35, 0, 0, 65, 19, 33, 3, 51, 19, 51, 3, 51, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 2, 187, 75, 253, 190, 188, 181, 161, 223, 162, 181, 89, 9, 59, 72, 18, 18, 8, 6, 6, 33, 27, 31, 92, 60, 35, 81, 137, 52, 52, 65, 9, 9, 32, 42, 43, 137, 95, 2, 131, 1, 183, 251, 198, 3, 161, 252, 95, 1, 227, 1, 5, 59, 43, 44, 104, 49, 53, 92, 39, 45, 66, 20, 150, 20, 88, 61, 61, 151, 83, 87, 165, 65, 64, 82, 3, 0, 2, 0, 97, 255, 225, 4, 108, 5, 201, 0, 83, 0, 115, 0, 0, 69, 55, 38, 38, 39, 54, 54, 55, 54, 54, 55, 19, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 22, 22, 3, 19, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 3, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 54, 3, 207, 11, 38, 71, 36, 47, 73, 27, 28, 39, 11, 58, 5, 3, 6, 7, 31, 27, 28, 84, 59, 61, 98, 38, 39, 57, 20, 21, 27, 7, 54, 9, 1, 12, 11, 45, 35, 18, 36, 18, 57, 78, 24, 25, 24, 3, 4, 5, 6, 44, 5, 13, 11, 11, 33, 24, 23, 63, 42, 14, 71, 112, 43, 44, 65, 22, 23, 30, 9, 45, 9, 3, 15, 15, 57, 45, 45, 126, 82, 58, 108, 52, 64, 136, 254, 53, 3, 10, 8, 8, 25, 18, 18, 49, 32, 28, 34, 8, 8, 4, 2, 2, 7, 2, 57, 8, 25, 18, 19, 51, 34, 33, 39, 8, 9, 1, 31, 158, 1, 9, 11, 48, 107, 57, 60, 132, 69, 1, 104, 43, 106, 54, 54, 103, 41, 40, 51, 2, 2, 45, 39, 39, 103, 55, 56, 111, 48, 254, 173, 65, 129, 62, 62, 121, 56, 3, 6, 1, 1, 50, 41, 40, 102, 53, 53, 102, 39, 1, 26, 31, 84, 46, 46, 90, 37, 36, 46, 3, 160, 4, 57, 45, 45, 116, 63, 63, 129, 59, 254, 233, 67, 145, 71, 71, 129, 49, 49, 59, 1, 1, 29, 26, 32, 31, 2, 156, 1, 89, 21, 67, 38, 37, 76, 30, 30, 36, 1, 1, 42, 32, 32, 77, 36, 37, 61, 15, 254, 148, 51, 103, 48, 49, 91, 40, 43, 97, 51, 51, 106, 0, 2, 0, 78, 255, 234, 4, 70, 4, 81, 0, 74, 0, 103, 0, 0, 69, 55, 38, 38, 39, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 22, 22, 1, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 7, 6, 6, 7, 38, 38, 39, 38, 38, 4, 8, 14, 42, 81, 41, 80, 97, 16, 14, 5, 2, 9, 9, 36, 29, 30, 84, 56, 58, 95, 38, 38, 59, 21, 21, 27, 6, 14, 7, 11, 19, 15, 46, 31, 24, 48, 26, 54, 76, 25, 25, 28, 5, 6, 2, 5, 8, 6, 30, 30, 24, 76, 54, 18, 98, 147, 51, 52, 61, 12, 7, 7, 8, 17, 17, 61, 46, 45, 123, 78, 70, 131, 63, 71, 147, 254, 201, 13, 2, 10, 8, 8, 24, 18, 17, 47, 31, 28, 36, 10, 10, 8, 5, 2, 13, 13, 67, 63, 35, 46, 13, 13, 5, 13, 158, 1, 7, 9, 81, 194, 113, 105, 44, 101, 49, 49, 90, 35, 35, 43, 2, 2, 35, 31, 31, 85, 48, 48, 103, 48, 104, 65, 127, 59, 45, 85, 40, 5, 8, 1, 1, 42, 35, 34, 89, 47, 47, 94, 40, 61, 49, 114, 49, 41, 61, 3, 158, 3, 84, 66, 67, 169, 88, 58, 67, 138, 65, 65, 114, 43, 44, 52, 1, 2, 35, 32, 29, 27, 2, 68, 110, 22, 57, 31, 30, 59, 23, 22, 26, 1, 1, 34, 26, 27, 64, 32, 32, 56, 17, 109, 88, 159, 64, 33, 76, 42, 42, 90, 0, 0, 1, 0, 177, 254, 161, 4, 155, 5, 176, 0, 15, 0, 0, 65, 3, 33, 3, 51, 19, 35, 19, 35, 3, 33, 19, 51, 55, 33, 7, 1, 182, 226, 2, 164, 61, 162, 105, 141, 226, 181, 227, 254, 160, 200, 230, 27, 253, 95, 26, 5, 24, 250, 232, 254, 161, 1, 251, 5, 20, 250, 231, 4, 129, 151, 151, 0, 1, 0, 107, 254, 191, 4, 65, 4, 58, 0, 15, 0, 0, 65, 3, 33, 3, 51, 19, 35, 19, 35, 3, 33, 19, 51, 55, 33, 7, 1, 77, 162, 2, 163, 57, 163, 100, 125, 162, 181, 162, 254, 144, 135, 221, 27, 253, 141, 27, 3, 163, 252, 93, 254, 191, 1, 216, 3, 163, 252, 93, 3, 12, 151, 151, 0, 2, 0, 228, 0, 0, 4, 157, 5, 176, 0, 3, 0, 29, 0, 0, 65, 19, 35, 3, 1, 35, 3, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 3, 51, 2, 96, 122, 146, 122, 2, 207, 181, 126, 73, 148, 77, 64, 69, 15, 15, 1, 6, 75, 181, 75, 11, 24, 39, 39, 135, 101, 76, 145, 71, 111, 181, 1, 53, 2, 188, 253, 68, 4, 123, 253, 68, 21, 32, 3, 2, 53, 42, 41, 103, 52, 1, 201, 254, 56, 93, 162, 60, 61, 71, 1, 1, 27, 26, 253, 164, 0, 2, 0, 164, 0, 0, 4, 97, 4, 58, 0, 3, 0, 29, 0, 0, 101, 19, 35, 3, 5, 19, 35, 3, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 3, 2, 88, 98, 147, 98, 1, 224, 188, 181, 97, 74, 148, 75, 58, 79, 23, 24, 14, 6, 52, 181, 51, 10, 43, 48, 47, 145, 92, 73, 144, 71, 75, 211, 2, 54, 253, 202, 211, 4, 58, 253, 232, 15, 19, 2, 2, 38, 33, 33, 91, 55, 1, 60, 254, 197, 93, 149, 52, 53, 58, 1, 1, 17, 19, 254, 116, 0, 1, 0, 116, 0, 0, 4, 43, 5, 176, 0, 25, 0, 0, 115, 51, 19, 54, 54, 23, 22, 22, 23, 22, 6, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 19, 35, 116, 180, 126, 73, 147, 77, 64, 70, 15, 14, 1, 6, 75, 181, 76, 10, 24, 39, 39, 136, 101, 75, 146, 70, 112, 181, 2, 187, 22, 30, 2, 2, 53, 41, 42, 103, 52, 254, 56, 1, 199, 93, 161, 61, 60, 70, 2, 2, 26, 28, 2, 94, 0, 2, 0, 115, 255, 234, 4, 164, 5, 197, 0, 66, 0, 87, 0, 0, 69, 50, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 33, 55, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 38, 38, 39, 38, 54, 55, 39, 6, 22, 23, 22, 22, 23, 7, 6, 22, 23, 22, 22, 23, 22, 22, 3, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 2, 181, 40, 84, 40, 40, 75, 31, 37, 34, 71, 36, 30, 64, 33, 58, 83, 28, 28, 31, 6, 7, 3, 6, 21, 2, 146, 30, 8, 5, 8, 8, 41, 37, 38, 113, 80, 83, 137, 55, 56, 86, 32, 25, 40, 11, 12, 29, 29, 5, 6, 4, 3, 145, 4, 12, 22, 21, 80, 63, 27, 10, 7, 18, 18, 66, 49, 48, 129, 107, 4, 9, 25, 19, 18, 50, 35, 35, 92, 60, 47, 62, 18, 18, 16, 2, 1, 8, 4, 17, 22, 10, 12, 12, 38, 27, 137, 20, 34, 11, 10, 10, 1, 1, 40, 34, 33, 87, 48, 47, 99, 46, 137, 188, 63, 135, 64, 64, 116, 44, 43, 54, 2, 2, 52, 46, 47, 125, 70, 55, 116, 55, 59, 18, 53, 31, 31, 65, 31, 1, 59, 117, 50, 50, 76, 17, 147, 72, 142, 65, 65, 112, 41, 42, 48, 3, 85, 19, 44, 107, 53, 53, 99, 38, 38, 43, 3, 2, 39, 30, 31, 78, 41, 41, 81, 33, 113, 0, 0, 2, 0, 79, 255, 236, 4, 111, 4, 81, 0, 65, 0, 79, 0, 0, 101, 54, 54, 55, 39, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 55, 5, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 38, 38, 39, 38, 54, 55, 39, 6, 22, 23, 22, 22, 23, 7, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 3, 22, 22, 23, 22, 22, 7, 7, 37, 54, 54, 55, 54, 54, 3, 78, 47, 85, 35, 62, 31, 67, 35, 37, 81, 43, 40, 62, 23, 18, 28, 10, 16, 13, 2, 2, 1, 2, 141, 18, 12, 26, 41, 41, 140, 103, 96, 157, 61, 61, 89, 27, 29, 30, 6, 7, 2, 3, 144, 3, 14, 22, 22, 80, 62, 2, 5, 6, 36, 35, 19, 48, 29, 43, 110, 65, 49, 99, 26, 57, 75, 21, 21, 11, 8, 4, 254, 39, 18, 51, 37, 36, 96, 10, 16, 51, 36, 125, 25, 40, 14, 14, 15, 2, 1, 24, 21, 16, 43, 24, 36, 83, 41, 18, 35, 17, 7, 1, 120, 92, 172, 68, 67, 83, 3, 3, 76, 63, 63, 160, 81, 15, 46, 27, 27, 60, 29, 1, 56, 111, 46, 47, 67, 13, 7, 27, 55, 26, 70, 132, 55, 31, 53, 21, 31, 37, 1, 1, 14, 3, 189, 2, 50, 39, 39, 98, 49, 26, 1, 49, 108, 45, 45, 57, 0, 1, 0, 89, 254, 215, 4, 250, 5, 176, 0, 35, 0, 0, 65, 35, 3, 51, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 1, 35, 1, 35, 2, 11, 181, 253, 181, 116, 228, 89, 115, 31, 31, 17, 9, 9, 45, 41, 42, 124, 88, 10, 124, 190, 67, 66, 79, 13, 10, 24, 40, 35, 117, 83, 50, 2, 33, 222, 254, 4, 130, 5, 176, 250, 80, 2, 154, 1, 3, 69, 55, 56, 145, 79, 78, 146, 56, 57, 70, 1, 147, 4, 85, 73, 73, 200, 119, 96, 185, 76, 66, 101, 24, 12, 2, 127, 253, 140, 0, 1, 0, 70, 254, 251, 4, 119, 4, 58, 0, 34, 0, 0, 65, 1, 35, 1, 7, 19, 35, 3, 51, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 2, 155, 1, 220, 233, 254, 68, 107, 80, 181, 188, 181, 80, 204, 64, 101, 34, 34, 29, 8, 7, 45, 36, 36, 95, 55, 32, 81, 146, 57, 57, 73, 9, 8, 33, 39, 39, 121, 2, 96, 1, 218, 254, 55, 1, 1, 202, 251, 198, 1, 205, 1, 2, 37, 35, 35, 102, 66, 59, 96, 36, 37, 52, 15, 149, 17, 79, 58, 57, 147, 85, 80, 141, 56, 55, 77, 0, 0, 1, 0, 72, 254, 73, 4, 143, 5, 176, 0, 29, 0, 0, 65, 35, 3, 51, 19, 33, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 1, 35, 3, 33, 1, 250, 181, 253, 181, 112, 1, 225, 125, 5, 23, 19, 20, 58, 40, 24, 49, 23, 26, 29, 55, 29, 80, 123, 45, 44, 54, 10, 1, 8, 181, 115, 254, 32, 5, 176, 250, 80, 2, 133, 253, 34, 34, 71, 29, 29, 37, 9, 7, 148, 8, 10, 53, 48, 47, 128, 74, 6, 9, 253, 108, 0, 0, 1, 0, 69, 254, 71, 4, 75, 4, 58, 0, 29, 0, 0, 65, 35, 3, 51, 19, 33, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 22, 54, 55, 54, 54, 55, 19, 35, 3, 33, 1, 182, 181, 188, 181, 80, 1, 225, 92, 6, 24, 20, 21, 60, 41, 25, 48, 23, 26, 29, 56, 30, 81, 125, 45, 45, 54, 10, 199, 180, 82, 254, 31, 4, 58, 251, 198, 1, 206, 253, 217, 35, 72, 28, 29, 36, 9, 7, 149, 8, 10, 1, 53, 48, 47, 129, 75, 4, 147, 254, 43, 0, 0, 2, 0, 77, 255, 234, 4, 105, 5, 196, 0, 52, 0, 72, 0, 0, 65, 38, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 33, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 1, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 33, 6, 6, 7, 6, 6, 7, 6, 6, 2, 183, 44, 93, 45, 45, 84, 36, 34, 40, 80, 40, 35, 73, 39, 63, 91, 30, 30, 33, 7, 6, 4, 7, 14, 252, 213, 26, 10, 4, 16, 15, 60, 48, 47, 131, 85, 88, 151, 63, 63, 100, 38, 38, 49, 12, 34, 10, 7, 18, 18, 67, 50, 51, 136, 254, 222, 55, 81, 28, 28, 34, 8, 8, 2, 6, 14, 2, 124, 12, 34, 24, 25, 66, 42, 43, 105, 5, 195, 1, 10, 11, 12, 38, 28, 138, 20, 34, 11, 10, 10, 1, 2, 44, 36, 37, 95, 52, 53, 108, 49, 94, 166, 74, 146, 66, 67, 116, 42, 43, 51, 2, 2, 52, 47, 46, 127, 73, 72, 157, 76, 218, 75, 152, 70, 69, 121, 45, 44, 52, 250, 191, 2, 34, 28, 28, 77, 44, 45, 96, 47, 91, 52, 114, 55, 55, 100, 37, 38, 43, 0, 0, 1, 0, 103, 255, 233, 4, 153, 5, 176, 0, 45, 0, 0, 65, 1, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 1, 55, 33, 7, 3, 163, 254, 64, 28, 151, 76, 111, 31, 24, 18, 7, 8, 61, 46, 47, 118, 64, 59, 88, 29, 29, 26, 3, 179, 5, 53, 52, 52, 152, 94, 100, 186, 73, 72, 94, 9, 8, 45, 48, 46, 131, 83, 25, 1, 229, 22, 252, 180, 27, 5, 24, 254, 68, 160, 1, 3, 48, 46, 35, 97, 61, 66, 105, 36, 37, 37, 2, 2, 45, 37, 37, 97, 56, 1, 94, 155, 56, 56, 63, 2, 2, 56, 56, 55, 164, 105, 93, 151, 56, 51, 66, 10, 2, 1, 231, 127, 152, 0, 1, 0, 28, 254, 114, 4, 78, 4, 58, 0, 45, 0, 0, 65, 1, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 1, 55, 33, 7, 3, 69, 254, 81, 27, 148, 77, 112, 32, 25, 19, 8, 8, 61, 46, 47, 118, 64, 58, 88, 29, 29, 27, 4, 180, 5, 52, 53, 52, 152, 93, 100, 186, 73, 73, 94, 9, 7, 42, 46, 43, 125, 79, 29, 1, 217, 21, 252, 180, 27, 3, 161, 254, 68, 160, 1, 3, 47, 44, 35, 99, 62, 65, 105, 36, 36, 37, 2, 2, 44, 37, 36, 98, 55, 1, 94, 154, 56, 56, 63, 2, 3, 56, 56, 55, 164, 105, 90, 149, 56, 50, 66, 12, 4, 1, 234, 127, 153, 255, 255, 0, 1, 254, 71, 4, 238, 5, 176, 4, 38, 1, 123, 73, 0, 0, 39, 2, 106, 255, 31, 0, 63, 0, 7, 2, 111, 255, 84, 0, 0, 255, 255, 255, 247, 254, 71, 4, 175, 4, 58, 4, 38, 1, 181, 80, 0, 0, 39, 2, 106, 255, 42, 255, 100, 0, 7, 2, 111, 255, 74, 0, 0, 0, 2, 0, 58, 0, 0, 4, 165, 5, 176, 0, 16, 0, 31, 0, 0, 65, 37, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 5, 19, 35, 3, 37, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 5, 3, 140, 254, 207, 103, 186, 72, 72, 93, 10, 9, 53, 55, 55, 158, 96, 1, 206, 252, 180, 227, 254, 208, 62, 92, 29, 30, 24, 8, 8, 61, 47, 46, 120, 68, 1, 27, 3, 109, 1, 57, 56, 56, 165, 108, 100, 158, 55, 56, 62, 4, 1, 5, 176, 250, 231, 1, 3, 45, 38, 37, 102, 60, 69, 108, 38, 37, 39, 2, 0, 0, 2, 0, 40, 255, 254, 4, 96, 5, 176, 0, 39, 0, 57, 0, 0, 97, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 39, 22, 6, 7, 6, 6, 7, 6, 6, 7, 35, 19, 35, 3, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 3, 54, 54, 55, 54, 54, 55, 54, 54, 55, 23, 3, 39, 38, 38, 39, 38, 38, 2, 183, 66, 108, 43, 43, 66, 24, 24, 30, 8, 13, 7, 14, 167, 16, 5, 14, 8, 27, 25, 26, 81, 60, 43, 230, 181, 101, 121, 98, 155, 55, 56, 66, 8, 8, 28, 38, 37, 126, 90, 130, 6, 35, 31, 14, 35, 20, 23, 56, 32, 100, 99, 121, 53, 58, 12, 13, 1, 2, 39, 35, 35, 95, 54, 54, 116, 56, 94, 186, 93, 1, 94, 187, 94, 48, 114, 50, 50, 69, 2, 5, 28, 253, 189, 1, 69, 59, 60, 161, 93, 84, 152, 59, 59, 74, 6, 1, 180, 54, 103, 41, 19, 32, 12, 13, 15, 1, 2, 253, 193, 2, 3, 60, 43, 42, 97, 0, 0, 2, 0, 67, 255, 234, 4, 111, 6, 24, 0, 73, 0, 108, 0, 0, 83, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 7, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 37, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 92, 18, 5, 2, 6, 6, 30, 27, 27, 81, 57, 37, 63, 27, 13, 23, 11, 13, 24, 11, 11, 35, 21, 29, 74, 41, 68, 106, 41, 40, 59, 20, 20, 26, 7, 14, 2, 14, 167, 14, 9, 15, 3, 10, 9, 9, 27, 20, 20, 55, 37, 29, 29, 4, 5, 3, 2, 212, 181, 99, 16, 35, 19, 20, 46, 25, 65, 101, 38, 39, 56, 19, 19, 25, 1, 242, 93, 3, 2, 1, 14, 30, 17, 17, 40, 24, 34, 42, 12, 12, 9, 5, 3, 17, 4, 13, 11, 10, 31, 23, 23, 63, 41, 17, 29, 12, 15, 23, 2, 63, 130, 42, 101, 51, 52, 96, 38, 38, 47, 1, 1, 19, 18, 8, 20, 11, 12, 28, 15, 30, 45, 15, 21, 18, 1, 1, 53, 44, 44, 116, 62, 62, 123, 52, 100, 199, 100, 1, 100, 199, 100, 23, 79, 45, 46, 94, 37, 38, 45, 2, 2, 42, 29, 28, 59, 19, 4, 229, 253, 236, 17, 27, 9, 10, 11, 1, 2, 49, 42, 43, 110, 59, 59, 118, 251, 253, 200, 22, 42, 22, 17, 32, 12, 12, 14, 1, 1, 34, 28, 27, 67, 34, 34, 62, 21, 132, 29, 78, 42, 42, 81, 32, 31, 38, 2, 1, 9, 8, 9, 27, 0, 0, 1, 0, 175, 255, 234, 4, 102, 5, 176, 0, 80, 0, 0, 65, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 7, 23, 22, 22, 23, 22, 22, 1, 190, 12, 4, 29, 32, 32, 98, 66, 71, 114, 45, 44, 66, 24, 23, 30, 8, 14, 4, 12, 169, 15, 7, 15, 5, 14, 11, 12, 35, 24, 25, 66, 43, 28, 35, 9, 10, 5, 2, 13, 4, 2, 12, 12, 51, 43, 49, 82, 31, 34, 42, 6, 8, 39, 45, 45, 136, 90, 206, 27, 230, 54, 70, 20, 20, 11, 5, 6, 31, 24, 37, 119, 78, 70, 27, 140, 47, 53, 12, 12, 2, 1, 117, 106, 65, 105, 37, 38, 42, 1, 1, 49, 43, 43, 113, 62, 62, 128, 57, 100, 198, 100, 100, 199, 100, 29, 84, 46, 46, 90, 35, 36, 42, 2, 1, 27, 20, 19, 48, 23, 106, 46, 97, 45, 45, 77, 26, 25, 65, 39, 44, 108, 64, 88, 146, 53, 52, 60, 3, 1, 152, 1, 3, 42, 33, 34, 88, 48, 50, 84, 32, 50, 53, 1, 1, 151, 2, 3, 56, 39, 39, 87, 0, 1, 0, 133, 255, 228, 4, 68, 4, 58, 0, 77, 0, 0, 101, 38, 38, 55, 55, 54, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 7, 23, 22, 22, 23, 22, 22, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 39, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 2, 146, 8, 5, 1, 8, 6, 65, 79, 42, 78, 31, 30, 39, 3, 6, 59, 52, 53, 137, 72, 211, 20, 228, 40, 73, 27, 27, 27, 6, 6, 52, 37, 38, 89, 43, 134, 25, 180, 36, 62, 23, 22, 23, 3, 9, 3, 31, 32, 32, 92, 59, 60, 99, 39, 39, 59, 22, 21, 26, 7, 10, 16, 14, 169, 19, 5, 12, 4, 11, 9, 9, 27, 19, 19, 52, 34, 23, 31, 148, 11, 32, 20, 79, 81, 124, 29, 18, 43, 29, 29, 75, 50, 83, 117, 38, 37, 36, 2, 1, 150, 1, 1, 19, 20, 20, 64, 46, 50, 65, 19, 20, 16, 1, 150, 1, 2, 17, 18, 18, 55, 40, 77, 61, 90, 29, 30, 30, 1, 1, 39, 33, 33, 90, 51, 50, 106, 51, 80, 156, 78, 1, 78, 158, 80, 24, 64, 33, 34, 66, 25, 26, 30, 1, 1, 13, 0, 2, 1, 13, 254, 165, 3, 238, 5, 176, 0, 57, 0, 70, 0, 0, 65, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 23, 22, 22, 23, 51, 55, 38, 38, 39, 38, 54, 55, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 7, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 1, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 1, 13, 224, 56, 80, 24, 24, 18, 6, 19, 4, 5, 2, 2, 18, 18, 179, 3, 18, 18, 2, 3, 4, 4, 20, 6, 10, 18, 18, 67, 52, 57, 98, 38, 37, 48, 5, 9, 57, 56, 57, 161, 94, 255, 0, 27, 1, 24, 60, 94, 32, 31, 27, 7, 9, 65, 49, 50, 126, 69, 148, 2, 169, 29, 196, 32, 15, 69, 53, 110, 47, 79, 29, 26, 36, 2, 121, 1, 3, 43, 35, 35, 94, 52, 133, 30, 62, 31, 31, 58, 25, 26, 23, 50, 27, 26, 55, 27, 137, 52, 102, 45, 45, 71, 23, 24, 64, 42, 41, 104, 65, 101, 151, 50, 50, 52, 2, 1, 152, 1, 2, 32, 31, 32, 93, 62, 75, 102, 31, 32, 27, 1, 253, 16, 175, 179, 87, 154, 70, 65, 38, 92, 52, 45, 100, 0, 2, 0, 244, 254, 146, 3, 202, 4, 58, 0, 54, 0, 67, 0, 0, 83, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 23, 22, 22, 23, 55, 55, 38, 38, 55, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 7, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 1, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 244, 246, 40, 63, 22, 21, 19, 4, 13, 3, 3, 3, 3, 16, 16, 180, 2, 31, 9, 5, 13, 4, 11, 16, 17, 56, 41, 43, 79, 32, 31, 40, 3, 6, 61, 52, 53, 139, 72, 254, 248, 27, 1, 32, 40, 74, 28, 27, 28, 6, 7, 53, 38, 38, 91, 45, 195, 2, 158, 29, 196, 32, 15, 69, 53, 110, 47, 78, 29, 27, 36, 1, 185, 2, 2, 22, 21, 21, 61, 42, 97, 23, 46, 22, 23, 42, 18, 1, 20, 32, 76, 43, 98, 42, 78, 33, 33, 51, 16, 17, 44, 29, 29, 77, 51, 83, 117, 38, 37, 35, 2, 1, 150, 1, 1, 18, 20, 20, 64, 46, 51, 66, 19, 20, 16, 1, 253, 191, 175, 179, 87, 154, 70, 65, 38, 91, 51, 46, 101, 0, 0, 1, 255, 176, 255, 234, 4, 136, 5, 176, 0, 69, 0, 0, 65, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 39, 7, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 35, 39, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 2, 202, 174, 2, 2, 3, 5, 18, 15, 25, 87, 63, 67, 104, 40, 40, 58, 21, 20, 25, 7, 14, 8, 6, 169, 5, 17, 15, 4, 9, 8, 8, 26, 19, 20, 55, 38, 23, 22, 4, 2, 1, 2, 1, 199, 253, 214, 118, 6, 14, 12, 12, 39, 30, 31, 88, 60, 20, 17, 39, 92, 135, 49, 49, 65, 22, 21, 26, 11, 90, 5, 24, 251, 244, 25, 49, 23, 29, 52, 22, 40, 48, 1, 1, 53, 45, 44, 117, 62, 62, 122, 51, 98, 200, 101, 1, 101, 199, 100, 27, 79, 44, 44, 87, 36, 36, 48, 3, 6, 32, 20, 8, 19, 9, 12, 25, 11, 4, 162, 253, 80, 40, 122, 69, 69, 139, 55, 56, 69, 1, 150, 2, 75, 63, 63, 163, 86, 86, 167, 67, 2, 24, 0, 1, 255, 202, 255, 234, 4, 89, 4, 58, 0, 69, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 35, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 51, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 53, 52, 54, 55, 3, 55, 253, 217, 76, 4, 9, 8, 9, 26, 22, 22, 63, 44, 20, 23, 44, 76, 111, 40, 40, 53, 18, 17, 21, 9, 52, 190, 107, 2, 1, 4, 4, 17, 13, 24, 87, 66, 65, 102, 40, 39, 57, 21, 20, 25, 7, 13, 5, 14, 168, 15, 5, 13, 4, 10, 8, 8, 26, 19, 19, 52, 36, 23, 21, 3, 2, 1, 2, 1, 4, 58, 254, 52, 30, 90, 50, 51, 102, 41, 42, 52, 1, 163, 2, 60, 51, 50, 131, 70, 70, 136, 56, 1, 51, 253, 128, 28, 57, 26, 28, 51, 22, 43, 54, 1, 1, 46, 40, 40, 105, 57, 57, 116, 51, 94, 187, 95, 94, 189, 95, 26, 72, 39, 39, 77, 31, 31, 42, 3, 7, 37, 23, 10, 20, 10, 14, 26, 11, 0, 0, 1, 0, 3, 255, 233, 4, 112, 5, 176, 0, 53, 0, 0, 65, 35, 3, 33, 19, 35, 3, 51, 19, 33, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 52, 53, 52, 54, 55, 3, 138, 181, 114, 254, 223, 115, 181, 253, 181, 112, 1, 33, 54, 3, 2, 5, 4, 14, 10, 23, 86, 69, 67, 104, 40, 40, 58, 20, 20, 25, 7, 14, 4, 12, 167, 14, 10, 14, 4, 10, 8, 8, 25, 19, 19, 55, 37, 24, 22, 2, 1, 4, 1, 5, 176, 253, 108, 2, 148, 250, 80, 2, 133, 254, 175, 34, 68, 33, 23, 43, 20, 47, 60, 1, 2, 53, 45, 45, 117, 62, 62, 123, 50, 100, 198, 100, 100, 199, 100, 27, 79, 43, 44, 88, 36, 37, 48, 3, 7, 43, 27, 7, 14, 7, 21, 38, 14, 0, 1, 0, 9, 255, 234, 4, 87, 4, 58, 0, 53, 0, 0, 65, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 39, 35, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 35, 3, 33, 19, 35, 3, 51, 19, 2, 17, 24, 3, 3, 6, 5, 18, 14, 27, 92, 68, 63, 98, 38, 37, 54, 19, 19, 23, 7, 13, 5, 7, 168, 7, 14, 13, 4, 8, 7, 7, 23, 17, 17, 49, 33, 27, 28, 6, 3, 3, 1, 1, 132, 181, 82, 254, 253, 82, 181, 188, 181, 80, 1, 205, 172, 32, 61, 28, 26, 48, 20, 43, 51, 1, 1, 48, 41, 40, 106, 57, 57, 114, 48, 94, 188, 95, 95, 189, 94, 25, 70, 39, 39, 77, 32, 32, 42, 4, 6, 34, 23, 13, 28, 14, 11, 21, 10, 3, 26, 254, 42, 1, 214, 251, 198, 1, 205, 0, 0, 1, 0, 130, 255, 232, 4, 92, 5, 199, 0, 63, 0, 0, 69, 22, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 51, 22, 22, 23, 55, 38, 38, 39, 34, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 2, 36, 105, 181, 70, 70, 92, 14, 12, 7, 7, 172, 11, 1, 15, 11, 58, 44, 45, 116, 69, 59, 84, 28, 29, 32, 7, 7, 2, 6, 42, 8, 33, 25, 25, 67, 43, 43, 104, 62, 72, 140, 63, 69, 78, 169, 91, 86, 149, 62, 63, 100, 38, 38, 50, 12, 41, 9, 8, 18, 18, 65, 49, 48, 130, 21, 3, 63, 60, 60, 169, 103, 89, 178, 89, 89, 180, 88, 66, 112, 40, 41, 43, 2, 2, 45, 37, 37, 95, 52, 51, 102, 45, 1, 9, 53, 111, 52, 52, 92, 34, 34, 39, 1, 35, 35, 132, 48, 41, 1, 48, 43, 44, 118, 69, 69, 152, 77, 254, 250, 71, 146, 67, 68, 120, 45, 45, 54, 0, 1, 0, 133, 255, 233, 4, 11, 4, 81, 0, 51, 0, 0, 101, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 51, 22, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 6, 7, 6, 6, 7, 6, 6, 2, 79, 81, 111, 32, 32, 20, 8, 5, 11, 62, 50, 50, 134, 83, 67, 132, 60, 57, 71, 158, 81, 117, 199, 75, 75, 96, 13, 5, 11, 48, 56, 56, 173, 114, 83, 153, 61, 61, 81, 10, 6, 4, 5, 168, 6, 5, 8, 8, 47, 34, 35, 87, 130, 1, 69, 55, 54, 138, 71, 42, 76, 142, 55, 54, 66, 1, 28, 32, 142, 40, 29, 1, 1, 86, 74, 74, 199, 112, 43, 108, 193, 73, 74, 87, 3, 2, 41, 44, 43, 131, 88, 54, 106, 54, 54, 108, 54, 51, 74, 23, 24, 21, 0, 0, 1, 0, 195, 255, 233, 4, 113, 5, 176, 0, 43, 0, 0, 65, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 35, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 55, 33, 7, 2, 34, 162, 6, 25, 33, 33, 110, 80, 74, 122, 49, 48, 74, 27, 26, 34, 9, 15, 5, 13, 168, 15, 6, 17, 6, 17, 14, 14, 40, 28, 29, 74, 48, 41, 47, 11, 11, 2, 3, 162, 1, 122, 27, 252, 115, 27, 5, 24, 252, 65, 74, 131, 50, 50, 59, 2, 2, 47, 41, 41, 110, 63, 62, 131, 62, 100, 198, 100, 100, 199, 100, 35, 88, 45, 46, 87, 33, 33, 39, 2, 2, 45, 32, 32, 73, 31, 3, 192, 152, 152, 0, 0, 1, 0, 128, 255, 233, 4, 53, 4, 58, 0, 43, 0, 0, 65, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 39, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 55, 33, 7, 1, 199, 97, 6, 25, 34, 33, 112, 80, 97, 150, 54, 29, 47, 16, 13, 19, 5, 11, 15, 15, 167, 18, 4, 13, 4, 12, 9, 8, 21, 13, 29, 84, 59, 41, 48, 11, 11, 3, 3, 98, 1, 110, 27, 252, 148, 26, 3, 164, 253, 181, 74, 132, 49, 50, 60, 1, 2, 76, 64, 35, 82, 45, 37, 77, 39, 81, 159, 80, 1, 80, 161, 81, 25, 56, 27, 24, 47, 21, 46, 58, 2, 2, 44, 32, 32, 73, 32, 2, 76, 150, 150, 0, 1, 0, 64, 255, 234, 4, 146, 5, 200, 0, 76, 0, 0, 83, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 23, 55, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 72, 8, 71, 65, 64, 173, 94, 100, 183, 72, 72, 94, 12, 180, 12, 63, 45, 46, 115, 64, 60, 110, 40, 41, 43, 8, 9, 69, 52, 51, 129, 69, 167, 27, 189, 56, 97, 34, 35, 34, 8, 8, 68, 50, 50, 123, 64, 55, 89, 31, 31, 32, 3, 179, 4, 59, 55, 55, 152, 88, 101, 193, 76, 77, 98, 7, 3, 22, 23, 22, 67, 42, 63, 109, 41, 41, 51, 1, 142, 104, 156, 51, 52, 53, 2, 2, 54, 54, 54, 160, 104, 1, 63, 102, 36, 36, 39, 1, 1, 34, 33, 33, 99, 66, 76, 104, 33, 32, 28, 1, 152, 1, 2, 29, 29, 28, 89, 62, 68, 102, 34, 33, 32, 2, 2, 38, 33, 33, 90, 54, 1, 91, 147, 52, 52, 58, 3, 3, 50, 52, 53, 162, 110, 49, 88, 38, 39, 63, 24, 22, 63, 43, 44, 112, 0, 255, 255, 255, 243, 254, 106, 3, 180, 0, 0, 4, 39, 0, 102, 255, 223, 255, 1, 0, 6, 0, 102, 11, 0, 0, 1, 1, 26, 4, 7, 2, 115, 6, 22, 0, 12, 0, 0, 65, 39, 51, 23, 22, 22, 23, 7, 38, 38, 39, 38, 38, 1, 50, 24, 177, 26, 16, 74, 52, 95, 45, 76, 28, 29, 39, 5, 132, 146, 150, 86, 148, 69, 74, 36, 86, 48, 48, 106, 255, 255, 0, 254, 255, 236, 3, 199, 1, 10, 4, 39, 0, 96, 255, 112, 0, 0, 0, 7, 0, 96, 1, 29, 0, 0, 0, 2, 1, 36, 2, 56, 4, 42, 5, 195, 0, 10, 0, 14, 0, 0, 65, 19, 35, 1, 7, 33, 7, 51, 55, 51, 55, 33, 1, 55, 3, 3, 151, 104, 172, 253, 224, 15, 1, 190, 32, 159, 33, 146, 22, 253, 196, 1, 56, 29, 75, 3, 111, 2, 84, 253, 149, 103, 185, 185, 126, 1, 92, 46, 254, 118, 0, 1, 1, 73, 2, 139, 4, 14, 5, 186, 0, 28, 0, 0, 65, 7, 3, 51, 19, 54, 54, 55, 54, 54, 51, 22, 22, 23, 22, 22, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 34, 6, 7, 2, 78, 122, 139, 166, 97, 16, 39, 24, 19, 43, 25, 40, 45, 10, 10, 1, 3, 78, 166, 84, 5, 15, 25, 25, 87, 66, 78, 110, 41, 5, 172, 1, 252, 224, 2, 51, 26, 44, 15, 11, 12, 1, 37, 28, 29, 68, 31, 254, 35, 1, 252, 57, 110, 43, 43, 53, 1, 81, 57, 0, 0, 1, 0, 113, 255, 236, 4, 168, 5, 198, 0, 63, 0, 0, 65, 55, 33, 55, 33, 55, 33, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 35, 7, 51, 7, 35, 7, 55, 6, 6, 21, 20, 22, 23, 22, 22, 23, 50, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 3, 74, 22, 254, 137, 25, 1, 117, 22, 254, 131, 3, 6, 3, 20, 62, 43, 51, 140, 92, 54, 105, 51, 34, 59, 118, 61, 129, 202, 75, 67, 94, 28, 4, 6, 3, 166, 22, 174, 25, 173, 21, 180, 3, 4, 43, 43, 54, 176, 121, 58, 115, 58, 4, 55, 110, 57, 87, 109, 29, 20, 18, 3, 3, 2, 31, 122, 138, 123, 12, 24, 12, 68, 121, 47, 55, 63, 1, 1, 19, 17, 155, 13, 18, 1, 1, 83, 74, 67, 175, 102, 13, 25, 13, 123, 138, 122, 1, 25, 49, 24, 84, 151, 60, 77, 92, 2, 14, 15, 155, 14, 19, 1, 2, 74, 58, 40, 96, 51, 22, 45, 23, 0, 4, 0, 157, 255, 232, 4, 72, 5, 199, 0, 51, 0, 77, 0, 103, 0, 107, 0, 0, 65, 7, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 3, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 5, 1, 39, 1, 2, 134, 133, 5, 21, 16, 16, 44, 28, 33, 37, 8, 9, 2, 2, 8, 4, 19, 18, 17, 50, 35, 30, 39, 11, 10, 7, 1, 135, 1, 29, 29, 29, 87, 55, 64, 100, 35, 36, 42, 6, 7, 3, 22, 27, 27, 87, 61, 57, 93, 34, 34, 42, 53, 6, 4, 23, 27, 27, 88, 61, 63, 100, 36, 35, 41, 6, 7, 4, 23, 27, 27, 87, 61, 63, 100, 36, 36, 42, 125, 7, 3, 19, 17, 16, 50, 35, 33, 38, 9, 9, 3, 2, 7, 3, 19, 16, 17, 50, 34, 34, 38, 9, 9, 3, 254, 159, 2, 146, 107, 253, 110, 4, 30, 1, 24, 49, 19, 19, 23, 1, 38, 28, 27, 61, 24, 79, 28, 65, 27, 27, 35, 25, 20, 20, 50, 25, 52, 94, 35, 35, 42, 1, 1, 51, 42, 43, 110, 57, 77, 54, 106, 42, 42, 54, 1, 2, 39, 35, 34, 94, 253, 124, 77, 54, 106, 43, 43, 54, 1, 2, 51, 43, 43, 109, 57, 78, 54, 106, 43, 43, 53, 2, 1, 50, 43, 43, 110, 136, 81, 28, 64, 27, 27, 36, 1, 1, 38, 28, 28, 62, 24, 80, 28, 64, 27, 27, 36, 1, 1, 38, 28, 27, 62, 38, 3, 177, 71, 252, 79, 0, 2, 0, 188, 255, 235, 4, 54, 5, 203, 0, 44, 0, 67, 0, 0, 69, 55, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 6, 7, 7, 54, 54, 55, 7, 6, 22, 23, 22, 22, 3, 19, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 2, 221, 10, 65, 76, 17, 18, 3, 9, 15, 87, 163, 66, 66, 88, 11, 5, 4, 21, 27, 27, 90, 64, 45, 76, 33, 27, 47, 19, 43, 49, 10, 83, 52, 103, 54, 20, 54, 103, 52, 3, 15, 30, 44, 43, 142, 27, 69, 4, 17, 17, 9, 26, 16, 14, 32, 19, 27, 27, 5, 4, 2, 2, 5, 8, 49, 37, 37, 93, 21, 158, 4, 50, 40, 39, 102, 57, 88, 43, 126, 78, 78, 183, 101, 42, 57, 111, 44, 44, 55, 2, 2, 18, 18, 15, 41, 25, 54, 138, 72, 254, 32, 12, 13, 1, 176, 1, 12, 13, 17, 92, 160, 60, 61, 73, 2, 214, 1, 138, 31, 80, 35, 19, 32, 10, 8, 8, 1, 2, 35, 24, 25, 53, 19, 42, 66, 119, 52, 53, 89, 0, 4, 0, 12, 0, 0, 4, 197, 5, 192, 0, 9, 0, 47, 0, 79, 0, 83, 0, 0, 97, 19, 35, 3, 3, 35, 3, 51, 19, 19, 1, 7, 6, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 52, 53, 52, 54, 19, 55, 33, 7, 2, 102, 253, 173, 158, 101, 170, 253, 173, 158, 100, 1, 208, 24, 1, 2, 4, 3, 12, 8, 16, 55, 40, 41, 62, 21, 13, 19, 6, 5, 5, 2, 24, 1, 1, 3, 3, 12, 8, 17, 56, 40, 41, 62, 21, 9, 15, 6, 8, 10, 77, 21, 2, 7, 8, 7, 26, 20, 20, 19, 3, 3, 2, 1, 22, 1, 3, 2, 2, 5, 3, 8, 25, 21, 20, 19, 2, 2, 1, 141, 17, 254, 212, 17, 5, 176, 252, 115, 3, 141, 250, 80, 3, 144, 252, 112, 4, 251, 206, 18, 37, 17, 16, 30, 13, 28, 36, 33, 28, 17, 40, 21, 13, 29, 14, 206, 17, 34, 17, 17, 34, 15, 28, 35, 34, 28, 12, 28, 14, 19, 41, 219, 190, 15, 38, 17, 16, 22, 24, 17, 17, 37, 13, 190, 8, 18, 9, 9, 17, 8, 17, 23, 25, 17, 8, 17, 8, 10, 17, 254, 153, 95, 95, 0, 0, 2, 0, 134, 255, 235, 4, 114, 4, 80, 0, 42, 0, 54, 0, 0, 101, 55, 6, 6, 7, 6, 6, 39, 38, 38, 39, 19, 33, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 3, 22, 22, 23, 3, 33, 19, 54, 54, 55, 54, 54, 3, 170, 3, 44, 92, 48, 48, 100, 52, 69, 121, 48, 59, 2, 235, 5, 8, 41, 51, 51, 158, 108, 76, 142, 63, 63, 107, 40, 41, 51, 8, 4, 1, 5, 4, 16, 11, 23, 74, 50, 50, 123, 73, 100, 190, 119, 69, 119, 45, 51, 253, 245, 51, 31, 68, 36, 36, 78, 93, 104, 26, 45, 16, 17, 18, 2, 2, 54, 51, 1, 74, 49, 98, 191, 77, 76, 94, 3, 2, 43, 39, 40, 109, 64, 64, 141, 71, 34, 69, 33, 32, 64, 29, 61, 105, 39, 39, 45, 2, 2, 61, 3, 200, 1, 59, 51, 254, 224, 1, 22, 25, 45, 17, 16, 19, 0, 5, 0, 197, 255, 244, 4, 128, 5, 174, 0, 6, 0, 54, 0, 78, 0, 102, 0, 106, 0, 0, 65, 19, 35, 5, 7, 55, 3, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 1, 183, 118, 19, 254, 192, 21, 198, 94, 3, 80, 3, 36, 32, 32, 82, 43, 48, 91, 36, 36, 46, 1, 1, 12, 13, 10, 27, 17, 30, 52, 20, 19, 26, 1, 2, 40, 34, 35, 87, 45, 49, 98, 39, 39, 49, 2, 1, 16, 16, 12, 31, 19, 25, 45, 17, 18, 22, 170, 3, 26, 20, 19, 47, 24, 22, 39, 15, 15, 15, 2, 4, 26, 19, 20, 47, 24, 21, 40, 15, 15, 15, 32, 2, 23, 16, 16, 41, 21, 20, 34, 12, 13, 11, 2, 3, 22, 16, 17, 41, 21, 21, 35, 12, 11, 11, 253, 84, 2, 146, 107, 253, 110, 2, 232, 2, 198, 102, 121, 50, 253, 231, 216, 49, 72, 24, 24, 23, 1, 1, 25, 26, 26, 79, 52, 26, 48, 20, 15, 25, 10, 14, 35, 22, 22, 56, 34, 52, 74, 24, 24, 23, 1, 1, 26, 26, 26, 80, 56, 31, 54, 22, 16, 26, 10, 13, 33, 20, 20, 51, 254, 225, 26, 39, 14, 13, 14, 12, 11, 12, 36, 24, 25, 40, 13, 14, 12, 11, 12, 11, 35, 1, 27, 22, 36, 13, 12, 14, 12, 11, 11, 32, 21, 22, 36, 13, 12, 13, 12, 12, 10, 32, 254, 189, 3, 177, 71, 252, 79, 0, 5, 0, 119, 255, 244, 4, 136, 5, 188, 0, 73, 0, 121, 0, 145, 0, 169, 0, 173, 0, 0, 65, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 53, 35, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 38, 6, 7, 6, 6, 7, 51, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 1, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 1, 73, 10, 78, 25, 44, 16, 17, 17, 3, 4, 28, 20, 20, 49, 25, 26, 44, 15, 12, 14, 137, 39, 33, 33, 88, 49, 49, 101, 41, 41, 53, 2, 1, 16, 15, 13, 37, 24, 27, 50, 19, 20, 25, 2, 3, 40, 33, 34, 87, 45, 48, 90, 37, 36, 49, 5, 140, 15, 68, 45, 21, 37, 13, 14, 13, 2, 4, 29, 21, 20, 51, 24, 2, 244, 3, 36, 32, 32, 82, 43, 48, 91, 36, 36, 46, 1, 1, 10, 11, 10, 29, 19, 30, 52, 20, 19, 26, 1, 2, 40, 34, 35, 87, 45, 49, 98, 39, 39, 49, 2, 1, 14, 14, 12, 33, 21, 25, 45, 17, 18, 22, 170, 3, 26, 20, 19, 47, 24, 22, 39, 15, 15, 15, 2, 4, 26, 19, 20, 47, 24, 21, 40, 15, 15, 15, 32, 2, 23, 16, 16, 41, 21, 20, 34, 12, 13, 11, 2, 3, 22, 16, 17, 41, 21, 21, 35, 12, 11, 11, 253, 112, 2, 146, 107, 253, 110, 4, 135, 104, 1, 1, 9, 11, 11, 37, 27, 27, 40, 13, 13, 13, 1, 13, 14, 11, 33, 23, 52, 79, 26, 26, 27, 1, 1, 25, 26, 27, 82, 56, 30, 52, 20, 17, 26, 9, 12, 31, 20, 20, 50, 33, 51, 74, 24, 24, 23, 1, 24, 25, 25, 75, 51, 43, 41, 11, 11, 11, 33, 22, 28, 39, 13, 12, 13, 1, 253, 138, 49, 72, 24, 24, 23, 1, 1, 25, 26, 26, 79, 52, 24, 44, 19, 17, 29, 11, 14, 35, 22, 22, 56, 34, 52, 74, 24, 24, 23, 1, 1, 26, 26, 26, 80, 56, 28, 52, 21, 18, 29, 11, 13, 33, 20, 20, 51, 254, 225, 26, 39, 14, 13, 14, 12, 11, 12, 36, 24, 25, 40, 13, 14, 12, 11, 12, 11, 35, 1, 27, 22, 36, 13, 12, 14, 12, 11, 11, 32, 21, 22, 36, 13, 12, 13, 12, 12, 11, 31, 254, 180, 3, 177, 71, 252, 79, 0, 5, 0, 105, 255, 248, 4, 117, 5, 177, 0, 45, 0, 93, 0, 117, 0, 141, 0, 145, 0, 0, 83, 23, 54, 54, 23, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 34, 6, 7, 55, 33, 55, 33, 1, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 148, 116, 28, 57, 33, 29, 46, 13, 12, 9, 2, 3, 22, 17, 18, 51, 31, 49, 56, 4, 133, 2, 41, 32, 33, 84, 48, 57, 99, 37, 38, 45, 3, 3, 28, 27, 27, 80, 51, 30, 59, 28, 53, 1, 47, 21, 254, 92, 3, 116, 3, 36, 32, 32, 82, 43, 48, 91, 36, 36, 46, 1, 1, 10, 10, 10, 30, 19, 30, 52, 20, 19, 26, 1, 2, 40, 34, 35, 87, 45, 49, 98, 39, 39, 49, 2, 1, 16, 16, 12, 31, 19, 25, 45, 17, 18, 22, 170, 3, 26, 20, 19, 47, 24, 22, 39, 15, 15, 15, 2, 4, 26, 19, 20, 47, 24, 21, 40, 15, 15, 15, 32, 2, 23, 16, 16, 41, 21, 20, 34, 12, 13, 11, 2, 3, 22, 16, 17, 41, 21, 20, 35, 12, 11, 12, 253, 111, 2, 146, 107, 253, 110, 4, 74, 30, 17, 21, 1, 20, 18, 15, 40, 25, 28, 47, 18, 19, 22, 1, 43, 47, 1, 49, 76, 26, 27, 28, 1, 1, 35, 32, 33, 93, 58, 50, 82, 29, 29, 33, 13, 12, 154, 119, 252, 99, 49, 72, 24, 24, 23, 1, 1, 25, 26, 26, 79, 52, 24, 44, 18, 18, 29, 11, 14, 35, 22, 22, 56, 34, 52, 74, 24, 24, 23, 1, 1, 26, 26, 26, 80, 56, 30, 54, 23, 15, 27, 10, 13, 33, 20, 20, 51, 254, 225, 26, 39, 14, 13, 14, 12, 11, 12, 36, 24, 25, 40, 13, 14, 12, 11, 12, 11, 35, 1, 27, 22, 36, 13, 12, 14, 12, 11, 11, 32, 21, 22, 36, 13, 12, 13, 12, 11, 11, 31, 254, 184, 3, 177, 71, 252, 79, 0, 0, 5, 0, 183, 255, 244, 4, 111, 5, 177, 0, 6, 0, 54, 0, 78, 0, 102, 0, 106, 0, 0, 65, 55, 33, 7, 33, 1, 51, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 2, 235, 15, 253, 227, 21, 1, 135, 254, 104, 155, 3, 26, 3, 36, 32, 32, 82, 43, 48, 91, 36, 36, 46, 1, 1, 9, 10, 10, 30, 20, 30, 52, 20, 19, 26, 1, 2, 40, 34, 35, 87, 45, 49, 98, 39, 39, 49, 2, 1, 15, 15, 12, 32, 20, 25, 45, 17, 18, 22, 170, 3, 26, 20, 19, 47, 24, 22, 39, 15, 15, 15, 2, 4, 26, 19, 20, 47, 24, 21, 40, 15, 15, 15, 32, 2, 23, 16, 16, 41, 21, 20, 34, 12, 13, 11, 2, 3, 22, 16, 17, 41, 21, 21, 35, 12, 11, 11, 253, 65, 2, 146, 107, 253, 110, 5, 87, 90, 117, 253, 175, 219, 49, 72, 24, 24, 23, 1, 1, 25, 26, 26, 79, 52, 23, 42, 18, 19, 30, 12, 14, 35, 22, 22, 56, 34, 52, 74, 24, 24, 23, 1, 1, 26, 26, 26, 80, 56, 29, 53, 22, 16, 28, 11, 13, 33, 20, 20, 51, 254, 225, 26, 39, 14, 13, 14, 12, 11, 12, 36, 24, 25, 40, 13, 14, 12, 11, 12, 11, 35, 1, 27, 22, 36, 13, 12, 14, 12, 11, 11, 32, 21, 22, 36, 13, 12, 13, 12, 12, 11, 31, 254, 189, 3, 177, 71, 252, 79, 0, 0, 2, 0, 97, 255, 233, 4, 72, 5, 237, 0, 53, 0, 82, 0, 0, 65, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 23, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 38, 38, 7, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 2, 120, 109, 181, 67, 68, 85, 13, 2, 10, 37, 49, 48, 158, 110, 87, 147, 60, 59, 93, 34, 34, 44, 11, 9, 11, 8, 9, 9, 50, 48, 49, 150, 108, 82, 155, 75, 2, 37, 76, 38, 33, 69, 35, 58, 89, 32, 31, 40, 11, 10, 4, 4, 53, 150, 78, 42, 89, 37, 36, 46, 1, 9, 8, 27, 21, 21, 58, 39, 39, 99, 61, 76, 94, 24, 24, 10, 7, 3, 10, 56, 45, 44, 121, 3, 254, 3, 76, 67, 68, 183, 103, 24, 100, 187, 73, 73, 89, 3, 2, 53, 48, 47, 129, 73, 73, 156, 74, 59, 80, 184, 91, 91, 169, 65, 65, 79, 2, 2, 33, 36, 152, 13, 23, 8, 7, 7, 1, 2, 47, 37, 38, 97, 52, 52, 106, 46, 69, 75, 149, 2, 29, 26, 27, 77, 49, 65, 50, 109, 52, 53, 94, 35, 36, 40, 2, 3, 71, 55, 54, 131, 62, 23, 69, 125, 48, 48, 55, 0, 0, 1, 0, 34, 255, 43, 4, 140, 5, 176, 0, 7, 0, 0, 69, 1, 33, 1, 51, 19, 33, 3, 3, 135, 1, 5, 252, 155, 254, 251, 181, 237, 1, 251, 237, 213, 6, 133, 249, 123, 5, 237, 250, 19, 0, 1, 255, 154, 254, 243, 4, 193, 5, 176, 0, 12, 0, 0, 65, 55, 1, 33, 55, 33, 7, 1, 1, 7, 33, 55, 33, 3, 61, 2, 254, 63, 3, 40, 27, 252, 5, 25, 1, 210, 253, 53, 26, 4, 69, 27, 252, 157, 2, 66, 26, 2, 188, 152, 135, 253, 46, 253, 51, 151, 152, 0, 0, 1, 0, 59, 0, 0, 5, 8, 5, 176, 0, 10, 0, 0, 65, 3, 33, 7, 51, 19, 51, 1, 35, 1, 7, 1, 217, 84, 254, 210, 28, 184, 129, 138, 3, 10, 192, 253, 193, 46, 1, 71, 1, 199, 154, 253, 140, 5, 176, 251, 170, 110, 0, 3, 0, 50, 0, 222, 4, 124, 3, 224, 0, 73, 0, 111, 0, 149, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 6, 5, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 38, 54, 4, 118, 4, 2, 2, 3, 5, 19, 15, 27, 93, 70, 55, 89, 37, 14, 25, 12, 20, 35, 16, 7, 20, 14, 9, 20, 11, 30, 79, 49, 75, 113, 39, 17, 28, 11, 13, 17, 3, 4, 2, 1, 3, 4, 19, 16, 26, 93, 72, 54, 89, 37, 20, 35, 16, 13, 25, 11, 5, 15, 9, 11, 27, 16, 29, 78, 50, 75, 114, 39, 22, 34, 12, 8, 11, 115, 4, 2, 6, 5, 6, 18, 12, 22, 69, 51, 38, 63, 22, 4, 7, 4, 16, 16, 1, 4, 8, 35, 25, 5, 11, 6, 32, 80, 43, 45, 50, 11, 4, 5, 1, 2, 1, 252, 171, 4, 2, 10, 7, 6, 15, 9, 22, 69, 50, 38, 63, 23, 4, 7, 3, 15, 17, 1, 4, 7, 33, 23, 6, 13, 6, 33, 80, 42, 46, 50, 11, 5, 6, 1, 1, 2, 81, 43, 26, 55, 27, 33, 65, 29, 51, 68, 1, 1, 45, 36, 13, 29, 15, 26, 55, 26, 26, 53, 25, 15, 30, 14, 34, 43, 2, 3, 65, 52, 23, 54, 27, 36, 73, 36, 43, 25, 52, 26, 36, 69, 30, 53, 68, 1, 1, 45, 36, 19, 45, 23, 19, 38, 19, 20, 40, 19, 22, 43, 18, 35, 44, 1, 2, 66, 54, 30, 71, 37, 28, 57, 71, 43, 18, 39, 19, 24, 46, 21, 38, 47, 2, 1, 53, 38, 6, 14, 6, 33, 68, 28, 28, 31, 72, 34, 7, 14, 7, 38, 52, 50, 36, 15, 34, 17, 22, 44, 77, 43, 23, 50, 25, 18, 35, 16, 37, 47, 2, 2, 52, 37, 7, 13, 7, 33, 68, 28, 28, 29, 70, 33, 8, 16, 8, 39, 52, 50, 36, 17, 38, 19, 21, 40, 0, 1, 0, 84, 254, 72, 4, 69, 6, 47, 0, 40, 0, 0, 69, 49, 19, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 22, 54, 55, 54, 54, 2, 47, 198, 6, 33, 27, 26, 74, 48, 23, 44, 22, 33, 35, 73, 37, 83, 131, 46, 47, 57, 9, 198, 5, 23, 20, 20, 60, 41, 24, 49, 23, 28, 29, 57, 31, 81, 125, 45, 44, 54, 89, 5, 27, 44, 78, 29, 28, 33, 7, 6, 143, 8, 13, 1, 1, 55, 49, 49, 134, 78, 250, 229, 35, 71, 29, 29, 36, 10, 6, 146, 9, 11, 1, 52, 48, 47, 129, 0, 0, 2, 0, 161, 0, 0, 4, 52, 5, 176, 0, 5, 0, 13, 0, 0, 65, 1, 1, 51, 1, 1, 7, 23, 19, 1, 7, 39, 3, 1, 2, 156, 254, 5, 1, 13, 138, 1, 252, 254, 242, 85, 6, 166, 254, 161, 28, 5, 166, 1, 95, 5, 176, 253, 49, 253, 31, 2, 205, 2, 227, 155, 51, 253, 255, 253, 238, 53, 51, 2, 0, 2, 19, 0, 0, 22, 255, 240, 0, 8, 4, 174, 4, 7, 0, 16, 0, 37, 0, 51, 0, 67, 0, 73, 0, 79, 0, 85, 0, 91, 0, 100, 0, 104, 0, 108, 0, 112, 0, 116, 0, 120, 0, 124, 0, 139, 0, 143, 0, 147, 0, 151, 0, 155, 0, 159, 0, 163, 0, 0, 65, 7, 6, 6, 7, 6, 38, 39, 38, 38, 53, 55, 54, 54, 55, 50, 22, 23, 35, 19, 51, 22, 22, 23, 22, 22, 7, 6, 6, 7, 22, 22, 23, 20, 6, 7, 6, 6, 39, 55, 54, 38, 39, 34, 6, 7, 7, 6, 22, 23, 50, 54, 37, 55, 51, 7, 6, 6, 7, 6, 38, 39, 23, 22, 22, 51, 50, 54, 1, 23, 55, 7, 55, 35, 5, 55, 55, 35, 7, 39, 1, 51, 55, 23, 55, 7, 5, 55, 7, 51, 55, 39, 1, 39, 7, 55, 54, 54, 55, 54, 38, 3, 51, 55, 35, 23, 51, 55, 35, 5, 51, 55, 35, 19, 51, 55, 35, 23, 51, 55, 35, 5, 51, 55, 35, 1, 7, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 5, 55, 35, 7, 23, 55, 7, 7, 19, 55, 7, 7, 5, 55, 35, 7, 23, 55, 7, 7, 19, 55, 7, 7, 1, 214, 2, 5, 68, 54, 29, 46, 17, 15, 17, 3, 5, 69, 54, 56, 65, 136, 130, 56, 88, 19, 39, 16, 15, 19, 1, 2, 31, 20, 20, 23, 1, 20, 16, 16, 40, 213, 8, 2, 25, 35, 37, 42, 8, 8, 2, 25, 36, 37, 42, 2, 1, 34, 49, 26, 7, 55, 45, 50, 53, 2, 47, 2, 14, 28, 25, 32, 252, 97, 165, 17, 110, 25, 60, 3, 66, 168, 32, 57, 25, 101, 253, 30, 59, 20, 101, 18, 168, 3, 89, 104, 17, 59, 31, 160, 254, 101, 72, 23, 64, 23, 42, 5, 3, 25, 50, 148, 16, 148, 198, 147, 16, 147, 254, 70, 146, 16, 146, 31, 147, 16, 148, 198, 148, 15, 147, 254, 70, 147, 15, 146, 1, 89, 18, 46, 12, 25, 11, 10, 16, 2, 2, 8, 7, 8, 20, 9, 254, 3, 30, 60, 29, 23, 30, 60, 29, 131, 29, 59, 29, 3, 230, 29, 58, 30, 23, 29, 58, 29, 130, 29, 58, 30, 2, 35, 61, 53, 66, 1, 1, 20, 17, 17, 44, 26, 62, 52, 66, 1, 69, 233, 1, 47, 1, 7, 9, 9, 30, 23, 28, 29, 14, 10, 30, 23, 24, 33, 10, 11, 11, 118, 64, 31, 48, 1, 49, 33, 63, 32, 48, 1, 49, 10, 208, 209, 43, 50, 2, 2, 49, 48, 2, 23, 29, 32, 254, 80, 1, 66, 1, 112, 176, 1, 175, 112, 1, 3, 30, 94, 1, 66, 1, 65, 1, 94, 158, 1, 253, 240, 1, 96, 1, 4, 21, 26, 21, 19, 1, 209, 66, 66, 66, 66, 66, 252, 2, 65, 65, 65, 65, 65, 2, 39, 86, 1, 1, 5, 6, 5, 17, 14, 12, 14, 4, 3, 2, 1, 166, 140, 140, 207, 140, 1, 140, 1, 160, 140, 1, 140, 207, 140, 140, 207, 140, 1, 140, 1, 160, 140, 1, 140, 0, 5, 0, 1, 253, 213, 4, 161, 8, 98, 0, 3, 0, 47, 0, 51, 0, 55, 0, 59, 0, 0, 65, 9, 2, 5, 35, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 35, 34, 6, 7, 35, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 21, 21, 35, 53, 19, 21, 51, 53, 3, 21, 51, 53, 2, 84, 253, 173, 2, 83, 2, 77, 254, 26, 202, 8, 11, 10, 35, 29, 10, 27, 12, 12, 17, 32, 37, 24, 41, 2, 203, 1, 43, 37, 36, 97, 56, 64, 102, 35, 34, 37, 23, 18, 18, 45, 22, 11, 17, 6, 6, 6, 202, 94, 4, 6, 4, 6, 82, 252, 49, 252, 49, 3, 207, 251, 48, 50, 19, 19, 40, 36, 13, 39, 24, 23, 51, 26, 52, 64, 48, 55, 70, 101, 33, 32, 30, 39, 36, 37, 103, 64, 41, 64, 28, 29, 55, 31, 16, 29, 15, 16, 39, 116, 170, 170, 252, 172, 4, 4, 10, 137, 4, 4, 0, 0, 2, 1, 116, 4, 228, 4, 62, 6, 248, 0, 6, 0, 44, 0, 0, 65, 3, 35, 1, 51, 55, 23, 19, 39, 6, 6, 7, 6, 6, 7, 6, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 62, 239, 146, 254, 183, 177, 219, 161, 144, 70, 7, 19, 13, 12, 29, 18, 27, 47, 23, 23, 48, 27, 38, 59, 22, 23, 28, 6, 77, 5, 17, 12, 11, 31, 19, 27, 47, 23, 22, 47, 28, 37, 60, 22, 21, 28, 4, 228, 1, 6, 254, 250, 175, 175, 1, 255, 21, 18, 34, 13, 11, 15, 1, 2, 22, 15, 14, 23, 32, 25, 26, 64, 33, 19, 16, 33, 14, 13, 18, 1, 1, 23, 14, 14, 25, 32, 25, 25, 63, 0, 0, 2, 1, 96, 4, 228, 5, 66, 6, 206, 0, 6, 0, 34, 0, 0, 65, 3, 35, 1, 55, 55, 23, 55, 51, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 4, 45, 222, 184, 254, 201, 176, 223, 160, 155, 118, 10, 28, 52, 21, 20, 26, 2, 3, 45, 35, 36, 83, 35, 15, 14, 44, 21, 20, 27, 2, 3, 30, 20, 21, 44, 17, 4, 228, 1, 6, 254, 250, 1, 183, 184, 138, 60, 5, 20, 17, 16, 48, 32, 46, 59, 17, 17, 13, 2, 92, 1, 2, 6, 6, 24, 22, 23, 25, 7, 7, 4, 2, 0, 2, 0, 207, 4, 228, 4, 72, 6, 149, 0, 6, 0, 10, 0, 0, 65, 3, 35, 1, 51, 55, 23, 37, 3, 35, 19, 4, 72, 237, 149, 254, 185, 201, 192, 137, 254, 87, 92, 189, 150, 4, 228, 1, 6, 254, 250, 157, 157, 174, 1, 3, 254, 253, 0, 2, 1, 110, 4, 228, 5, 144, 6, 149, 0, 6, 0, 10, 0, 0, 65, 1, 51, 55, 23, 51, 3, 37, 3, 51, 19, 2, 183, 254, 183, 204, 191, 136, 183, 237, 1, 122, 183, 146, 240, 5, 234, 254, 250, 157, 157, 1, 6, 171, 254, 253, 1, 3, 0, 2, 1, 205, 4, 223, 4, 20, 6, 138, 0, 25, 0, 29, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 50, 54, 55, 54, 54, 39, 39, 35, 23, 4, 20, 148, 7, 23, 16, 22, 59, 36, 33, 51, 16, 14, 13, 1, 146, 1, 49, 39, 39, 98, 51, 52, 105, 43, 42, 58, 230, 145, 163, 195, 5, 177, 2, 25, 38, 14, 20, 19, 1, 1, 16, 17, 14, 41, 27, 2, 57, 80, 25, 25, 23, 1, 22, 25, 24, 81, 78, 197, 198, 0, 1, 2, 76, 4, 142, 3, 119, 6, 61, 0, 12, 0, 0, 65, 7, 51, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 2, 94, 18, 180, 21, 12, 50, 36, 104, 34, 59, 23, 23, 31, 5, 13, 127, 120, 63, 108, 53, 87, 29, 69, 39, 38, 84, 0, 2, 255, 199, 0, 0, 4, 0, 4, 141, 0, 7, 0, 12, 0, 0, 65, 19, 51, 3, 35, 1, 51, 19, 55, 19, 55, 23, 19, 3, 24, 57, 175, 254, 161, 253, 102, 192, 156, 84, 247, 35, 13, 91, 1, 23, 254, 233, 4, 141, 251, 115, 1, 23, 151, 1, 187, 62, 61, 254, 68, 0, 0, 3, 0, 97, 255, 255, 4, 54, 4, 141, 0, 26, 0, 41, 0, 56, 0, 0, 115, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 19, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 19, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 97, 1, 198, 81, 162, 66, 65, 84, 5, 2, 22, 22, 23, 67, 43, 45, 81, 32, 31, 41, 3, 6, 66, 55, 56, 142, 70, 254, 122, 73, 1, 23, 42, 72, 26, 25, 25, 6, 7, 55, 39, 39, 94, 46, 249, 90, 60, 230, 39, 78, 30, 30, 33, 6, 7, 51, 37, 37, 87, 43, 1, 37, 41, 41, 131, 92, 45, 83, 34, 33, 51, 14, 17, 45, 31, 30, 79, 52, 84, 116, 37, 36, 34, 2, 1, 253, 133, 1, 2, 25, 23, 23, 69, 45, 52, 73, 23, 23, 21, 1, 2, 8, 1, 85, 1, 1, 17, 18, 19, 63, 47, 48, 67, 21, 21, 19, 1, 0, 1, 0, 89, 255, 237, 4, 55, 4, 160, 0, 54, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 51, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 3, 231, 176, 20, 58, 40, 40, 102, 63, 79, 93, 25, 26, 9, 9, 15, 12, 57, 47, 46, 131, 84, 57, 84, 28, 28, 30, 5, 178, 5, 59, 51, 52, 143, 90, 119, 195, 73, 73, 93, 16, 13, 8, 12, 21, 19, 64, 44, 46, 122, 75, 95, 168, 67, 66, 92, 1, 122, 2, 57, 92, 31, 32, 32, 3, 3, 75, 55, 54, 142, 66, 103, 74, 145, 56, 56, 68, 3, 2, 37, 32, 33, 89, 54, 87, 145, 53, 52, 60, 2, 3, 89, 76, 77, 201, 110, 100, 70, 137, 61, 58, 98, 37, 38, 46, 2, 3, 53, 52, 51, 148, 0, 2, 0, 73, 0, 0, 4, 61, 4, 141, 0, 15, 0, 31, 0, 0, 115, 33, 50, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 37, 23, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 39, 73, 1, 97, 123, 219, 86, 85, 112, 16, 7, 11, 54, 59, 60, 181, 115, 254, 171, 155, 182, 85, 116, 34, 34, 23, 9, 8, 13, 78, 59, 60, 156, 91, 149, 80, 73, 72, 204, 123, 65, 112, 196, 74, 74, 88, 3, 1, 153, 1, 4, 66, 54, 54, 139, 77, 64, 90, 148, 53, 53, 59, 1, 0, 1, 0, 89, 0, 0, 4, 97, 4, 141, 0, 11, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 33, 55, 33, 19, 3, 156, 27, 253, 209, 58, 2, 131, 28, 252, 195, 203, 3, 67, 27, 253, 117, 66, 2, 14, 152, 1, 78, 153, 251, 115, 151, 1, 119, 0, 0, 1, 0, 119, 0, 0, 4, 128, 4, 141, 0, 9, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 51, 19, 3, 181, 27, 253, 212, 63, 2, 129, 28, 252, 194, 203, 188, 87, 1, 243, 153, 1, 104, 153, 251, 115, 1, 243, 0, 1, 0, 100, 255, 239, 4, 71, 4, 160, 0, 55, 0, 0, 101, 19, 33, 7, 33, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 23, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 3, 221, 65, 254, 67, 26, 1, 13, 45, 21, 45, 22, 42, 88, 47, 81, 105, 28, 28, 15, 9, 12, 12, 57, 47, 46, 131, 87, 53, 83, 29, 27, 34, 7, 176, 8, 64, 52, 52, 141, 85, 122, 196, 72, 73, 91, 16, 11, 12, 42, 54, 53, 169, 115, 63, 126, 59, 59, 106, 150, 1, 185, 144, 239, 15, 23, 8, 16, 11, 2, 3, 75, 58, 57, 140, 69, 87, 76, 147, 58, 57, 69, 3, 2, 33, 30, 28, 78, 48, 1, 85, 135, 48, 48, 53, 2, 3, 90, 77, 77, 204, 112, 84, 107, 197, 76, 77, 95, 3, 2, 15, 20, 19, 65, 0, 1, 0, 46, 0, 0, 4, 62, 4, 141, 0, 11, 0, 0, 97, 19, 35, 3, 33, 19, 35, 3, 51, 19, 33, 3, 3, 115, 203, 174, 90, 254, 22, 90, 174, 202, 174, 86, 1, 234, 87, 4, 141, 253, 253, 2, 3, 251, 115, 1, 242, 254, 14, 0, 0, 1, 0, 106, 0, 0, 4, 84, 4, 140, 0, 11, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 33, 55, 1, 52, 28, 1, 50, 147, 254, 207, 28, 3, 31, 29, 254, 198, 146, 1, 57, 29, 4, 140, 161, 252, 181, 160, 160, 3, 75, 161, 0, 1, 0, 104, 255, 238, 4, 43, 4, 141, 0, 27, 0, 0, 65, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 3, 113, 132, 8, 44, 33, 34, 89, 53, 54, 77, 25, 25, 21, 3, 185, 2, 51, 47, 47, 137, 89, 89, 155, 60, 60, 78, 13, 135, 4, 141, 252, 235, 50, 89, 33, 33, 38, 1, 1, 35, 31, 31, 84, 51, 1, 87, 140, 50, 50, 56, 1, 2, 57, 52, 52, 145, 87, 3, 22, 0, 1, 0, 70, 0, 0, 4, 167, 4, 141, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 7, 19, 35, 3, 51, 19, 1, 234, 1, 56, 205, 254, 132, 2, 52, 237, 254, 61, 145, 95, 181, 202, 181, 64, 2, 6, 253, 250, 2, 125, 2, 16, 254, 104, 135, 2, 31, 251, 115, 1, 113, 0, 1, 0, 98, 0, 0, 3, 228, 4, 141, 0, 5, 0, 0, 101, 19, 35, 3, 33, 55, 1, 60, 176, 191, 203, 3, 103, 27, 151, 3, 246, 251, 115, 151, 0, 1, 0, 46, 0, 0, 4, 125, 4, 141, 0, 12, 0, 0, 65, 3, 35, 3, 51, 19, 19, 51, 1, 3, 51, 19, 35, 2, 86, 112, 238, 202, 172, 166, 111, 128, 1, 60, 165, 172, 203, 240, 2, 90, 2, 51, 251, 115, 3, 184, 253, 134, 2, 114, 252, 80, 4, 141, 0, 1, 0, 84, 0, 0, 4, 83, 4, 141, 0, 9, 0, 0, 97, 19, 35, 3, 1, 35, 3, 51, 19, 1, 3, 137, 202, 172, 148, 254, 175, 164, 202, 173, 149, 1, 80, 4, 141, 252, 139, 3, 117, 251, 115, 3, 116, 252, 140, 0, 0, 2, 0, 113, 255, 237, 4, 50, 4, 160, 0, 31, 0, 63, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 52, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 35, 8, 7, 8, 17, 18, 62, 45, 46, 121, 77, 119, 191, 70, 70, 87, 15, 8, 7, 10, 18, 17, 62, 46, 45, 120, 76, 119, 191, 70, 70, 87, 156, 9, 11, 51, 44, 44, 127, 85, 53, 77, 26, 26, 30, 7, 7, 5, 9, 11, 54, 45, 44, 127, 83, 53, 77, 26, 26, 29, 7, 7, 1, 2, 37, 66, 67, 135, 63, 62, 108, 41, 40, 48, 2, 3, 96, 80, 81, 207, 107, 69, 66, 134, 61, 62, 107, 40, 41, 47, 2, 3, 95, 80, 80, 205, 182, 69, 72, 150, 61, 61, 76, 3, 2, 39, 32, 31, 82, 45, 45, 91, 42, 68, 71, 149, 60, 60, 75, 3, 2, 37, 31, 31, 80, 44, 45, 91, 0, 0, 2, 0, 72, 255, 54, 4, 79, 4, 160, 0, 31, 0, 57, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 23, 55, 39, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 4, 60, 8, 11, 40, 52, 52, 167, 116, 121, 201, 75, 76, 95, 16, 8, 12, 41, 52, 51, 167, 116, 31, 60, 31, 221, 132, 188, 45, 77, 32, 59, 72, 158, 10, 12, 60, 48, 49, 136, 87, 83, 104, 28, 28, 13, 8, 10, 12, 62, 49, 49, 136, 86, 83, 104, 27, 27, 13, 2, 42, 68, 105, 199, 78, 78, 96, 3, 3, 92, 79, 79, 207, 112, 67, 105, 200, 78, 79, 98, 2, 1, 7, 5, 199, 103, 167, 29, 69, 39, 73, 177, 164, 71, 77, 150, 58, 59, 70, 3, 3, 77, 60, 59, 143, 68, 70, 76, 149, 59, 58, 70, 3, 3, 76, 58, 59, 142, 0, 2, 0, 35, 0, 0, 4, 3, 4, 141, 0, 20, 0, 35, 0, 0, 65, 19, 51, 53, 3, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 51, 19, 55, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 2, 58, 173, 194, 199, 56, 99, 38, 38, 48, 4, 6, 59, 54, 54, 143, 78, 254, 110, 202, 181, 78, 26, 72, 244, 45, 79, 29, 28, 28, 6, 7, 56, 40, 41, 98, 49, 1, 193, 254, 63, 12, 1, 226, 22, 59, 39, 38, 100, 65, 87, 128, 43, 42, 44, 3, 1, 251, 115, 1, 193, 151, 1, 156, 1, 2, 26, 25, 25, 74, 49, 54, 79, 26, 26, 26, 1, 0, 0, 1, 0, 94, 255, 239, 4, 59, 4, 158, 0, 88, 0, 0, 65, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 54, 7, 59, 41, 42, 96, 43, 53, 95, 35, 35, 41, 1, 182, 2, 73, 60, 60, 155, 84, 51, 108, 52, 52, 92, 36, 36, 44, 3, 4, 61, 51, 25, 59, 30, 32, 67, 33, 23, 58, 29, 29, 55, 20, 21, 21, 3, 6, 56, 40, 40, 94, 42, 49, 85, 31, 30, 35, 1, 181, 2, 65, 54, 55, 145, 81, 76, 161, 67, 68, 89, 4, 4, 68, 56, 27, 62, 32, 33, 69, 32, 20, 43, 22, 19, 38, 17, 36, 42, 1, 49, 51, 66, 19, 20, 16, 1, 1, 24, 26, 25, 81, 58, 1, 91, 136, 45, 46, 47, 1, 1, 14, 16, 16, 52, 36, 36, 95, 60, 78, 116, 43, 21, 34, 14, 15, 24, 10, 7, 16, 10, 10, 28, 19, 18, 50, 33, 49, 68, 21, 21, 17, 1, 1, 25, 25, 25, 76, 52, 1, 85, 132, 45, 45, 48, 2, 1, 36, 40, 41, 126, 87, 80, 115, 40, 20, 33, 14, 14, 22, 10, 6, 12, 8, 7, 17, 10, 22, 67, 0, 0, 1, 0, 161, 0, 0, 4, 170, 4, 141, 0, 7, 0, 0, 65, 55, 33, 7, 33, 3, 51, 19, 4, 143, 27, 252, 18, 27, 1, 155, 176, 184, 175, 3, 244, 153, 153, 252, 12, 3, 244, 0, 0, 1, 0, 134, 255, 238, 4, 109, 4, 141, 0, 29, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 4, 109, 179, 134, 10, 51, 38, 39, 100, 58, 55, 82, 26, 26, 21, 6, 131, 177, 132, 8, 49, 50, 50, 143, 86, 93, 166, 66, 66, 87, 13, 4, 141, 252, 243, 57, 93, 33, 33, 35, 2, 1, 39, 33, 33, 90, 53, 3, 13, 252, 244, 88, 146, 52, 53, 60, 2, 2, 56, 53, 53, 150, 93, 0, 0, 1, 0, 185, 0, 0, 4, 200, 4, 141, 0, 8, 0, 0, 65, 3, 35, 19, 51, 1, 35, 1, 7, 2, 11, 151, 187, 232, 170, 2, 125, 205, 254, 73, 50, 1, 44, 3, 97, 251, 115, 4, 141, 252, 177, 112, 0, 1, 0, 145, 0, 0, 4, 252, 4, 141, 0, 18, 0, 0, 65, 3, 35, 19, 51, 1, 55, 23, 19, 51, 1, 35, 3, 7, 39, 3, 35, 1, 7, 1, 56, 4, 163, 23, 156, 1, 35, 40, 5, 33, 155, 1, 172, 172, 254, 36, 4, 27, 150, 254, 230, 39, 1, 185, 2, 212, 251, 115, 2, 215, 100, 101, 253, 42, 4, 141, 253, 46, 101, 99, 2, 212, 253, 45, 99, 0, 0, 1, 255, 238, 0, 0, 4, 159, 4, 141, 0, 11, 0, 0, 65, 3, 35, 1, 1, 51, 1, 19, 51, 1, 1, 39, 2, 93, 198, 201, 1, 23, 254, 9, 228, 1, 105, 210, 202, 254, 223, 1, 233, 226, 2, 219, 1, 178, 253, 200, 253, 171, 1, 186, 254, 70, 2, 65, 2, 75, 1, 0, 0, 1, 0, 178, 0, 0, 4, 199, 4, 141, 0, 10, 0, 0, 65, 3, 35, 1, 3, 51, 19, 1, 35, 1, 7, 2, 51, 190, 195, 1, 39, 75, 183, 68, 2, 62, 218, 254, 139, 45, 2, 133, 2, 8, 253, 30, 254, 85, 1, 139, 3, 2, 253, 246, 62, 0, 0, 1, 0, 85, 0, 0, 4, 98, 4, 141, 0, 9, 0, 0, 101, 1, 55, 33, 7, 33, 1, 7, 33, 55, 1, 83, 2, 252, 19, 252, 178, 24, 2, 105, 253, 5, 21, 3, 111, 24, 151, 3, 117, 129, 153, 252, 144, 132, 151, 0, 0, 2, 1, 220, 4, 223, 4, 15, 7, 2, 0, 25, 0, 59, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 37, 23, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 7, 50, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 4, 15, 141, 8, 27, 18, 21, 53, 32, 31, 48, 16, 14, 15, 1, 140, 1, 46, 38, 37, 95, 50, 52, 101, 41, 41, 55, 254, 177, 133, 6, 26, 55, 23, 22, 30, 1, 1, 26, 22, 23, 58, 30, 30, 56, 21, 12, 12, 50, 25, 13, 22, 8, 8, 8, 1, 3, 36, 23, 24, 48, 16, 5, 177, 2, 27, 42, 14, 16, 16, 1, 15, 15, 14, 43, 28, 2, 56, 78, 25, 26, 24, 1, 1, 23, 25, 25, 80, 73, 1, 63, 4, 16, 14, 13, 42, 32, 31, 44, 15, 15, 19, 5, 5, 3, 1, 81, 1, 4, 3, 7, 6, 6, 16, 11, 23, 24, 5, 6, 3, 1, 0, 0, 2, 1, 205, 4, 223, 4, 20, 6, 138, 0, 25, 0, 29, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 50, 54, 55, 54, 54, 3, 7, 55, 55, 4, 20, 148, 7, 23, 16, 22, 59, 36, 33, 51, 16, 14, 13, 1, 146, 1, 49, 39, 39, 98, 51, 52, 105, 43, 42, 58, 198, 145, 113, 195, 5, 177, 2, 25, 38, 14, 20, 19, 1, 1, 16, 17, 14, 41, 27, 2, 57, 80, 25, 25, 23, 1, 22, 25, 24, 81, 1, 19, 198, 1, 196, 0, 1, 1, 52, 2, 139, 3, 186, 3, 34, 0, 3, 0, 0, 65, 55, 33, 7, 3, 159, 27, 253, 149, 27, 2, 139, 151, 151, 0, 3, 2, 52, 4, 63, 4, 76, 6, 113, 0, 3, 0, 27, 0, 51, 0, 0, 65, 7, 51, 55, 1, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 3, 122, 173, 137, 246, 253, 232, 26, 22, 22, 59, 33, 35, 61, 23, 22, 27, 23, 21, 21, 58, 34, 36, 62, 23, 24, 28, 83, 13, 13, 11, 31, 19, 16, 30, 11, 10, 12, 14, 11, 12, 29, 18, 17, 30, 11, 11, 13, 6, 113, 182, 182, 254, 107, 34, 58, 21, 21, 23, 27, 24, 23, 61, 35, 33, 60, 22, 22, 25, 28, 24, 24, 63, 34, 18, 31, 12, 12, 15, 13, 11, 11, 30, 15, 19, 31, 11, 13, 13, 12, 10, 12, 28, 0, 0, 2, 2, 69, 4, 130, 4, 48, 5, 196, 0, 5, 0, 15, 0, 0, 65, 7, 51, 19, 55, 35, 5, 7, 51, 55, 54, 54, 55, 39, 6, 6, 3, 1, 3, 79, 225, 2, 163, 254, 204, 20, 121, 23, 11, 42, 29, 77, 48, 68, 4, 158, 26, 1, 42, 22, 183, 139, 134, 51, 90, 43, 3, 32, 92, 0, 0, 2, 1, 253, 4, 216, 4, 92, 6, 207, 0, 25, 0, 63, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 19, 39, 6, 6, 7, 6, 6, 7, 6, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 53, 143, 7, 25, 17, 21, 57, 34, 30, 47, 15, 15, 14, 1, 144, 46, 38, 37, 96, 51, 53, 103, 42, 41, 55, 45, 76, 7, 18, 13, 11, 31, 20, 30, 51, 24, 25, 51, 30, 39, 62, 22, 22, 27, 5, 83, 6, 18, 12, 12, 31, 20, 29, 50, 25, 24, 52, 30, 39, 60, 22, 21, 25, 5, 175, 2, 26, 40, 15, 18, 19, 1, 1, 15, 15, 14, 44, 29, 2, 56, 81, 26, 26, 25, 1, 1, 24, 26, 25, 82, 1, 68, 22, 18, 32, 12, 11, 15, 1, 2, 24, 15, 15, 26, 31, 25, 26, 66, 35, 20, 17, 31, 12, 12, 15, 1, 1, 24, 15, 15, 25, 31, 26, 25, 65, 0, 1, 1, 80, 254, 153, 2, 94, 0, 154, 0, 3, 0, 0, 65, 19, 35, 3, 2, 4, 90, 181, 89, 254, 153, 2, 1, 253, 255, 0, 0, 1, 0, 173, 254, 71, 2, 173, 0, 151, 0, 21, 0, 0, 101, 35, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 23, 50, 54, 55, 54, 54, 55, 2, 173, 180, 39, 6, 24, 20, 21, 59, 41, 24, 48, 23, 27, 29, 56, 30, 81, 126, 45, 45, 54, 10, 151, 240, 35, 68, 27, 27, 33, 9, 7, 159, 8, 10, 1, 53, 48, 47, 129, 76, 0, 0, 2, 0, 93, 0, 0, 4, 82, 4, 141, 0, 16, 0, 31, 0, 0, 65, 5, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 51, 19, 19, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 1, 93, 1, 21, 86, 165, 66, 66, 85, 6, 6, 57, 51, 52, 140, 78, 254, 80, 203, 180, 102, 74, 1, 20, 45, 76, 27, 27, 26, 6, 6, 53, 40, 40, 98, 51, 1, 182, 1, 44, 46, 45, 139, 95, 84, 131, 46, 45, 49, 3, 1, 251, 115, 2, 78, 1, 166, 1, 2, 30, 26, 27, 75, 47, 56, 81, 26, 27, 26, 0, 0, 1, 0, 59, 0, 0, 5, 6, 5, 176, 0, 12, 0, 0, 65, 1, 51, 1, 1, 35, 1, 35, 19, 35, 3, 51, 19, 2, 14, 1, 70, 208, 254, 127, 2, 99, 220, 253, 226, 144, 113, 181, 253, 181, 115, 2, 147, 253, 109, 2, 229, 2, 203, 253, 122, 2, 134, 250, 80, 2, 147, 0, 0, 1, 0, 99, 255, 232, 4, 26, 4, 160, 0, 59, 0, 0, 101, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 35, 1, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 51, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 1, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 1, 171, 65, 53, 108, 58, 87, 153, 58, 57, 70, 5, 4, 41, 38, 38, 107, 62, 3, 1, 68, 39, 84, 45, 46, 102, 57, 103, 157, 55, 55, 67, 13, 128, 180, 128, 8, 37, 32, 31, 91, 63, 44, 80, 32, 254, 233, 25, 93, 45, 83, 32, 31, 33, 6, 6, 40, 31, 32, 85, 51, 45, 79, 181, 153, 23, 27, 1, 1, 54, 51, 50, 144, 89, 68, 105, 38, 36, 44, 9, 1, 78, 39, 66, 25, 24, 28, 2, 2, 61, 57, 57, 160, 96, 253, 15, 2, 241, 55, 101, 39, 39, 46, 1, 1, 29, 31, 254, 221, 145, 1, 1, 15, 19, 19, 67, 53, 49, 85, 31, 32, 35, 28, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 1, 0, 0, 255, 255, 0, 204, 2, 49, 3, 206, 2, 201, 6, 6, 0, 103, 0, 0, 255, 255, 0, 100, 255, 233, 4, 133, 7, 48, 6, 38, 0, 4, 0, 0, 0, 7, 1, 96, 0, 115, 1, 112, 255, 255, 0, 122, 255, 233, 4, 44, 5, 217, 6, 38, 0, 30, 0, 0, 0, 6, 1, 96, 33, 25, 255, 255, 0, 96, 255, 232, 4, 133, 7, 48, 6, 38, 0, 8, 0, 0, 0, 7, 1, 96, 0, 88, 1, 112, 255, 255, 0, 45, 254, 82, 4, 82, 5, 217, 6, 38, 0, 34, 0, 0, 0, 6, 1, 96, 251, 25, 255, 255, 0, 21, 0, 0, 4, 31, 6, 22, 6, 38, 0, 41, 0, 0, 0, 7, 0, 109, 253, 253, 0, 0, 255, 255, 0, 83, 254, 36, 4, 141, 5, 198, 6, 38, 0, 20, 0, 0, 0, 7, 1, 104, 0, 133, 254, 206, 255, 255, 0, 124, 254, 37, 4, 40, 4, 79, 6, 38, 0, 46, 0, 0, 0, 7, 1, 104, 0, 120, 254, 207, 255, 255, 0, 194, 254, 46, 4, 247, 5, 176, 6, 38, 0, 21, 0, 0, 0, 7, 1, 104, 0, 107, 254, 216, 255, 255, 0, 196, 254, 46, 4, 54, 5, 64, 6, 38, 0, 47, 0, 0, 0, 7, 1, 104, 0, 202, 254, 216, 255, 255, 0, 194, 254, 75, 4, 247, 5, 176, 6, 38, 0, 21, 0, 0, 0, 6, 1, 102, 61, 0, 255, 255, 0, 161, 254, 77, 4, 170, 4, 141, 6, 38, 2, 97, 0, 0, 0, 6, 1, 102, 46, 2, 255, 255, 0, 196, 254, 75, 4, 54, 5, 64, 6, 38, 0, 47, 0, 0, 0, 7, 1, 102, 0, 156, 0, 0, 255, 255, 255, 217, 0, 0, 4, 61, 4, 141, 6, 38, 2, 82, 0, 0, 0, 7, 2, 106, 254, 165, 255, 120, 255, 255, 255, 217, 0, 0, 4, 61, 4, 141, 6, 38, 2, 82, 0, 0, 0, 7, 2, 106, 254, 165, 255, 120, 255, 255, 0, 161, 0, 0, 4, 170, 4, 141, 6, 38, 2, 97, 0, 0, 0, 6, 2, 106, 238, 224, 255, 255, 255, 199, 0, 0, 4, 0, 5, 255, 6, 38, 2, 79, 0, 0, 0, 6, 1, 90, 163, 54, 255, 255, 255, 199, 0, 0, 4, 51, 5, 252, 6, 38, 2, 79, 0, 0, 0, 7, 1, 91, 0, 136, 0, 51, 255, 255, 255, 199, 0, 0, 4, 0, 6, 36, 6, 38, 2, 79, 0, 0, 0, 6, 1, 92, 127, 55, 255, 255, 255, 199, 0, 0, 4, 52, 6, 45, 6, 38, 2, 79, 0, 0, 0, 7, 1, 93, 0, 137, 0, 61, 255, 255, 255, 199, 0, 0, 4, 27, 5, 254, 6, 38, 2, 79, 0, 0, 0, 6, 1, 97, 22, 55, 255, 255, 255, 199, 0, 0, 4, 0, 6, 104, 6, 38, 2, 79, 0, 0, 0, 7, 1, 98, 0, 22, 0, 128, 255, 255, 255, 199, 0, 0, 4, 80, 6, 243, 6, 38, 2, 79, 0, 0, 0, 7, 2, 107, 0, 4, 0, 130, 255, 255, 0, 89, 254, 72, 4, 55, 4, 160, 6, 38, 2, 81, 0, 0, 0, 6, 1, 102, 40, 253, 255, 255, 0, 89, 0, 0, 4, 97, 5, 255, 6, 38, 2, 83, 0, 0, 0, 6, 1, 90, 199, 54, 255, 255, 0, 89, 0, 0, 4, 97, 5, 252, 6, 38, 2, 83, 0, 0, 0, 6, 1, 91, 107, 51, 255, 255, 0, 89, 0, 0, 4, 97, 6, 36, 6, 38, 2, 83, 0, 0, 0, 6, 1, 92, 98, 55, 255, 255, 0, 89, 0, 0, 4, 97, 5, 254, 6, 38, 2, 83, 0, 0, 0, 6, 1, 97, 250, 55, 255, 255, 0, 106, 0, 0, 4, 84, 5, 227, 6, 38, 2, 87, 0, 0, 0, 6, 1, 90, 184, 26, 255, 255, 0, 106, 0, 0, 4, 84, 5, 224, 6, 38, 2, 87, 0, 0, 0, 7, 1, 91, 0, 157, 0, 23, 255, 255, 0, 106, 0, 0, 4, 84, 6, 8, 6, 38, 2, 87, 0, 0, 0, 7, 1, 92, 0, 148, 0, 27, 255, 255, 0, 106, 0, 0, 4, 84, 5, 226, 6, 38, 2, 87, 0, 0, 0, 6, 1, 97, 43, 27, 255, 255, 0, 84, 0, 0, 4, 87, 6, 45, 6, 38, 2, 92, 0, 0, 0, 7, 1, 93, 0, 172, 0, 61, 255, 255, 0, 113, 255, 237, 4, 50, 5, 255, 6, 38, 2, 93, 0, 0, 0, 6, 1, 90, 196, 54, 255, 255, 0, 113, 255, 237, 4, 52, 5, 252, 6, 38, 2, 93, 0, 0, 0, 7, 1, 91, 0, 137, 0, 51, 255, 255, 0, 113, 255, 237, 4, 50, 6, 36, 6, 38, 2, 93, 0, 0, 0, 6, 1, 92, 109, 55, 255, 255, 0, 113, 255, 237, 4, 50, 6, 45, 6, 38, 2, 93, 0, 0, 0, 7, 1, 93, 0, 133, 0, 61, 255, 255, 0, 113, 255, 237, 4, 60, 5, 254, 6, 38, 2, 93, 0, 0, 0, 6, 1, 97, 55, 55, 255, 255, 0, 134, 255, 238, 4, 109, 5, 255, 6, 38, 2, 98, 0, 0, 0, 6, 1, 90, 192, 54, 255, 255, 0, 134, 255, 238, 4, 109, 5, 252, 6, 38, 2, 98, 0, 0, 0, 7, 1, 91, 0, 165, 0, 51, 255, 255, 0, 134, 255, 238, 4, 109, 6, 36, 6, 38, 2, 98, 0, 0, 0, 7, 1, 92, 0, 156, 0, 55, 255, 255, 0, 134, 255, 238, 4, 109, 5, 254, 6, 38, 2, 98, 0, 0, 0, 6, 1, 97, 51, 55, 255, 255, 0, 178, 0, 0, 4, 199, 5, 252, 6, 38, 2, 102, 0, 0, 0, 6, 1, 91, 116, 51, 255, 255, 255, 199, 0, 0, 4, 76, 5, 214, 6, 38, 2, 79, 0, 0, 0, 6, 1, 94, 23, 38, 255, 255, 255, 199, 0, 0, 4, 0, 6, 39, 6, 38, 2, 79, 0, 0, 0, 6, 1, 95, 2, 116, 0, 2, 255, 199, 254, 79, 4, 0, 4, 141, 0, 36, 0, 41, 0, 0, 97, 51, 3, 35, 1, 51, 19, 33, 19, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 1, 19, 55, 23, 19, 3, 220, 36, 254, 161, 253, 102, 192, 156, 1, 245, 52, 39, 74, 29, 29, 37, 1, 1, 21, 21, 22, 66, 42, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 4, 39, 28, 28, 66, 32, 253, 150, 225, 57, 21, 83, 4, 141, 251, 115, 1, 23, 255, 0, 23, 56, 34, 34, 80, 46, 39, 66, 23, 25, 28, 1, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 39, 67, 28, 27, 45, 17, 1, 177, 1, 147, 102, 102, 254, 109, 255, 255, 0, 89, 255, 237, 4, 55, 5, 252, 6, 38, 2, 81, 0, 0, 0, 6, 1, 91, 121, 51, 255, 255, 0, 89, 255, 237, 4, 55, 6, 36, 6, 38, 2, 81, 0, 0, 0, 6, 1, 92, 112, 55, 255, 255, 0, 89, 255, 237, 4, 55, 6, 38, 6, 38, 2, 81, 0, 0, 0, 6, 1, 100, 254, 56, 255, 255, 0, 73, 0, 0, 4, 61, 6, 38, 6, 38, 2, 82, 0, 0, 0, 6, 1, 100, 199, 56, 255, 255, 0, 89, 0, 0, 4, 97, 5, 214, 6, 38, 2, 83, 0, 0, 0, 6, 1, 94, 251, 38, 255, 255, 0, 89, 0, 0, 4, 97, 6, 39, 6, 38, 2, 83, 0, 0, 0, 6, 1, 95, 2, 116, 255, 255, 0, 89, 0, 0, 4, 97, 5, 247, 6, 38, 2, 83, 0, 0, 0, 6, 1, 96, 239, 55, 0, 1, 0, 89, 254, 79, 4, 97, 4, 141, 0, 41, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 39, 51, 55, 33, 19, 3, 156, 27, 253, 209, 58, 2, 131, 28, 252, 195, 203, 2, 5, 33, 61, 23, 24, 29, 1, 1, 22, 22, 22, 65, 41, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 4, 39, 28, 28, 66, 32, 5, 136, 27, 253, 117, 66, 2, 14, 152, 1, 78, 153, 251, 115, 22, 53, 31, 32, 72, 40, 40, 67, 23, 24, 27, 1, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 39, 67, 28, 27, 45, 17, 3, 151, 1, 119, 255, 255, 0, 89, 0, 0, 4, 97, 6, 38, 6, 38, 2, 83, 0, 0, 0, 6, 1, 100, 240, 56, 255, 255, 0, 100, 255, 239, 4, 71, 6, 36, 6, 38, 2, 85, 0, 0, 0, 6, 1, 92, 122, 55, 255, 255, 0, 100, 255, 239, 4, 71, 6, 39, 6, 38, 2, 85, 0, 0, 0, 6, 1, 95, 26, 116, 255, 255, 0, 100, 254, 43, 4, 71, 4, 160, 6, 38, 2, 85, 0, 0, 0, 7, 1, 104, 0, 100, 254, 213, 255, 255, 0, 46, 0, 0, 4, 62, 6, 36, 6, 38, 2, 86, 0, 0, 0, 6, 1, 92, 82, 55, 255, 255, 0, 106, 0, 0, 4, 84, 6, 17, 6, 38, 2, 87, 0, 0, 0, 7, 1, 93, 0, 151, 0, 33, 255, 255, 0, 106, 0, 0, 4, 97, 5, 186, 6, 38, 2, 87, 0, 0, 0, 6, 1, 94, 44, 10, 255, 255, 0, 106, 0, 0, 4, 84, 6, 11, 6, 38, 2, 87, 0, 0, 0, 6, 1, 95, 27, 88, 0, 1, 0, 106, 254, 79, 4, 84, 4, 140, 0, 41, 0, 0, 65, 7, 33, 3, 33, 7, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 39, 51, 55, 33, 19, 33, 55, 1, 52, 28, 1, 50, 147, 254, 207, 28, 1, 232, 33, 61, 23, 24, 29, 1, 1, 22, 21, 22, 65, 42, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 4, 39, 28, 28, 66, 32, 5, 129, 29, 254, 198, 146, 1, 57, 29, 4, 140, 161, 252, 181, 160, 22, 53, 31, 32, 72, 40, 39, 66, 24, 25, 27, 1, 1, 20, 22, 123, 11, 16, 2, 1, 33, 33, 39, 67, 28, 27, 45, 17, 3, 160, 3, 75, 161, 0, 255, 255, 0, 106, 0, 0, 4, 84, 5, 219, 6, 38, 2, 87, 0, 0, 0, 6, 1, 96, 16, 27, 255, 255, 0, 104, 255, 238, 4, 213, 6, 36, 6, 38, 2, 88, 0, 0, 0, 7, 1, 92, 1, 88, 0, 55, 255, 255, 0, 70, 254, 52, 4, 167, 4, 141, 6, 38, 2, 89, 0, 0, 0, 7, 1, 104, 0, 53, 254, 222, 255, 255, 0, 98, 0, 0, 3, 228, 5, 252, 6, 38, 2, 90, 0, 0, 0, 7, 1, 91, 255, 55, 0, 51, 255, 255, 0, 98, 254, 54, 3, 228, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 1, 104, 0, 51, 254, 224, 255, 255, 0, 98, 0, 0, 3, 228, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 0, 109, 0, 75, 254, 119, 255, 255, 0, 98, 0, 0, 3, 228, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 1, 96, 255, 158, 253, 55, 255, 255, 0, 84, 0, 0, 4, 83, 5, 252, 6, 38, 2, 92, 0, 0, 0, 7, 1, 91, 0, 157, 0, 51, 255, 255, 0, 84, 254, 50, 4, 83, 4, 141, 6, 38, 2, 92, 0, 0, 0, 7, 1, 104, 0, 181, 254, 220, 255, 255, 0, 84, 0, 0, 4, 83, 6, 38, 6, 38, 2, 92, 0, 0, 0, 6, 1, 100, 20, 56, 255, 255, 0, 113, 255, 237, 4, 78, 5, 214, 6, 38, 2, 93, 0, 0, 0, 6, 1, 94, 25, 38, 255, 255, 0, 113, 255, 237, 4, 50, 6, 39, 6, 38, 2, 93, 0, 0, 0, 6, 1, 95, 38, 116, 255, 255, 0, 113, 255, 237, 5, 14, 6, 38, 6, 38, 2, 93, 0, 0, 0, 7, 1, 99, 0, 173, 0, 55, 255, 255, 0, 35, 0, 0, 4, 3, 5, 252, 6, 38, 2, 95, 0, 0, 0, 6, 1, 91, 50, 51, 255, 255, 0, 35, 254, 54, 4, 3, 4, 141, 6, 38, 2, 95, 0, 0, 0, 7, 1, 104, 0, 17, 254, 224, 255, 255, 0, 35, 0, 0, 4, 3, 6, 38, 6, 38, 2, 95, 0, 0, 0, 6, 1, 100, 183, 56, 255, 255, 0, 94, 255, 239, 4, 59, 5, 252, 6, 38, 2, 96, 0, 0, 0, 6, 1, 91, 118, 51, 255, 255, 0, 94, 255, 239, 4, 59, 6, 36, 6, 38, 2, 96, 0, 0, 0, 6, 1, 92, 109, 55, 255, 255, 0, 94, 254, 75, 4, 59, 4, 158, 6, 38, 2, 96, 0, 0, 0, 6, 1, 102, 69, 0, 255, 255, 0, 94, 255, 239, 4, 59, 6, 38, 6, 38, 2, 96, 0, 0, 0, 6, 1, 100, 251, 56, 255, 255, 0, 161, 0, 0, 4, 170, 6, 38, 6, 38, 2, 97, 0, 0, 0, 6, 1, 100, 2, 56, 255, 255, 0, 134, 255, 238, 4, 109, 6, 45, 6, 38, 2, 98, 0, 0, 0, 7, 1, 93, 0, 180, 0, 61, 255, 255, 0, 134, 255, 238, 4, 109, 5, 214, 6, 38, 2, 98, 0, 0, 0, 6, 1, 94, 52, 38, 255, 255, 0, 134, 255, 238, 4, 109, 6, 39, 6, 38, 2, 98, 0, 0, 0, 6, 1, 95, 34, 116, 255, 255, 0, 134, 255, 238, 4, 109, 6, 104, 6, 38, 2, 98, 0, 0, 0, 7, 1, 98, 0, 51, 0, 128, 255, 255, 0, 134, 255, 238, 5, 10, 6, 38, 6, 38, 2, 98, 0, 0, 0, 7, 1, 99, 0, 169, 0, 55, 0, 1, 0, 134, 254, 140, 4, 109, 4, 141, 0, 60, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 48, 48, 49, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 35, 34, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 4, 109, 179, 134, 10, 51, 39, 38, 100, 58, 55, 82, 26, 26, 21, 6, 131, 177, 132, 8, 46, 47, 47, 136, 82, 17, 29, 11, 9, 12, 1, 1, 25, 24, 22, 62, 39, 44, 85, 38, 21, 23, 50, 26, 31, 29, 3, 3, 22, 17, 16, 43, 23, 60, 103, 39, 40, 53, 10, 4, 141, 252, 243, 57, 93, 33, 33, 35, 2, 1, 39, 33, 33, 90, 53, 3, 13, 252, 244, 86, 142, 53, 52, 62, 5, 19, 41, 22, 21, 46, 25, 42, 70, 24, 21, 25, 1, 20, 22, 123, 11, 14, 34, 33, 28, 51, 22, 23, 38, 16, 21, 71, 48, 48, 118, 68, 0, 255, 255, 0, 145, 0, 0, 4, 252, 6, 36, 6, 38, 2, 100, 0, 0, 0, 6, 1, 92, 125, 55, 255, 255, 0, 178, 0, 0, 4, 199, 6, 36, 6, 38, 2, 102, 0, 0, 0, 6, 1, 92, 107, 55, 255, 255, 0, 178, 0, 0, 4, 199, 5, 254, 6, 38, 2, 102, 0, 0, 0, 6, 1, 97, 2, 55, 255, 255, 0, 85, 0, 0, 4, 98, 5, 252, 6, 38, 2, 103, 0, 0, 0, 6, 1, 91, 111, 51, 255, 255, 0, 85, 0, 0, 4, 98, 5, 247, 6, 38, 2, 103, 0, 0, 0, 6, 1, 96, 38, 55, 255, 255, 0, 85, 0, 0, 4, 98, 6, 38, 6, 38, 2, 103, 0, 0, 0, 6, 1, 100, 39, 56, 255, 255, 255, 226, 0, 0, 4, 2, 6, 122, 6, 38, 0, 2, 0, 0, 0, 7, 1, 120, 254, 202, 0, 0, 255, 255, 0, 81, 0, 0, 4, 211, 6, 122, 4, 38, 0, 6, 50, 0, 0, 7, 1, 120, 253, 199, 0, 0, 255, 255, 0, 64, 0, 0, 4, 230, 6, 124, 4, 38, 0, 9, 50, 0, 0, 7, 1, 120, 253, 182, 0, 2, 255, 255, 0, 48, 0, 0, 4, 198, 6, 124, 4, 38, 0, 10, 50, 0, 0, 7, 1, 120, 253, 166, 0, 2, 255, 255, 0, 112, 255, 234, 4, 119, 6, 122, 4, 38, 0, 16, 10, 0, 0, 7, 1, 120, 253, 231, 0, 0, 255, 255, 255, 247, 0, 0, 5, 35, 6, 122, 4, 38, 0, 26, 50, 0, 0, 7, 1, 120, 253, 109, 0, 0, 255, 255, 0, 3, 0, 0, 4, 130, 6, 122, 4, 38, 1, 132, 10, 0, 0, 7, 1, 120, 253, 227, 0, 0, 255, 255, 0, 233, 255, 235, 4, 50, 6, 122, 6, 38, 1, 141, 0, 0, 0, 6, 1, 121, 217, 187, 255, 255, 255, 226, 0, 0, 4, 2, 5, 176, 6, 6, 0, 2, 0, 0, 255, 255, 0, 62, 0, 0, 4, 114, 5, 176, 6, 6, 0, 3, 0, 0, 255, 255, 0, 72, 0, 0, 4, 161, 5, 176, 6, 6, 0, 6, 0, 0, 255, 255, 0, 19, 0, 0, 4, 129, 5, 176, 6, 6, 0, 27, 0, 0, 255, 255, 0, 32, 0, 0, 4, 180, 5, 176, 6, 6, 0, 9, 0, 0, 255, 255, 0, 64, 0, 0, 4, 148, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 62, 0, 0, 4, 252, 5, 176, 6, 6, 0, 12, 0, 0, 255, 255, 0, 39, 0, 0, 4, 192, 5, 176, 6, 6, 0, 14, 0, 0, 255, 255, 0, 34, 0, 0, 4, 179, 5, 176, 6, 6, 0, 15, 0, 0, 255, 255, 0, 102, 255, 234, 4, 109, 5, 198, 6, 6, 0, 16, 0, 0, 255, 255, 0, 81, 0, 0, 4, 167, 5, 176, 6, 6, 0, 17, 0, 0, 255, 255, 0, 194, 0, 0, 4, 247, 5, 176, 6, 6, 0, 21, 0, 0, 255, 255, 0, 212, 0, 0, 4, 241, 5, 176, 6, 6, 0, 26, 0, 0, 255, 255, 255, 241, 0, 0, 4, 238, 5, 176, 6, 6, 0, 25, 0, 0, 255, 255, 0, 64, 0, 0, 4, 148, 7, 34, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 0, 26, 1, 91, 255, 255, 0, 212, 0, 0, 4, 241, 7, 33, 6, 38, 0, 26, 0, 0, 0, 7, 1, 97, 0, 66, 1, 90, 255, 255, 0, 103, 255, 234, 4, 37, 6, 126, 6, 38, 1, 133, 0, 0, 0, 6, 1, 120, 16, 4, 255, 255, 0, 80, 255, 234, 4, 79, 6, 125, 6, 38, 1, 137, 0, 0, 0, 6, 1, 120, 20, 3, 255, 255, 0, 54, 254, 97, 4, 31, 6, 126, 6, 38, 1, 139, 0, 0, 0, 6, 1, 120, 28, 4, 255, 255, 0, 233, 255, 235, 3, 221, 6, 106, 6, 38, 1, 141, 0, 0, 0, 6, 1, 120, 11, 240, 255, 255, 0, 121, 255, 233, 4, 42, 6, 122, 6, 38, 1, 149, 0, 0, 0, 6, 1, 121, 182, 187, 255, 255, 0, 76, 0, 0, 4, 137, 4, 58, 6, 6, 0, 79, 0, 0, 255, 255, 0, 99, 255, 233, 4, 48, 4, 81, 6, 6, 0, 42, 0, 0, 255, 255, 0, 6, 254, 96, 4, 70, 4, 58, 6, 6, 1, 107, 0, 0, 255, 255, 0, 174, 0, 0, 4, 148, 4, 59, 6, 6, 0, 49, 0, 0, 255, 255, 0, 6, 0, 0, 4, 152, 4, 58, 6, 6, 0, 51, 0, 0, 255, 255, 0, 233, 255, 235, 4, 22, 5, 203, 6, 38, 1, 141, 0, 0, 0, 6, 1, 97, 17, 4, 255, 255, 0, 121, 255, 233, 4, 42, 5, 203, 6, 38, 1, 149, 0, 0, 0, 6, 1, 97, 239, 4, 255, 255, 0, 99, 255, 233, 4, 48, 6, 126, 6, 38, 0, 42, 0, 0, 0, 6, 1, 120, 10, 4, 255, 255, 0, 121, 255, 233, 4, 42, 6, 106, 6, 38, 1, 149, 0, 0, 0, 6, 1, 120, 233, 240, 255, 255, 0, 54, 255, 233, 4, 113, 6, 106, 6, 38, 1, 152, 0, 0, 0, 6, 1, 120, 18, 240, 255, 255, 0, 72, 0, 0, 4, 161, 7, 34, 6, 38, 0, 6, 0, 0, 0, 7, 1, 97, 0, 76, 1, 91, 255, 255, 0, 71, 0, 0, 4, 165, 7, 32, 6, 38, 1, 123, 0, 0, 0, 7, 1, 91, 0, 195, 1, 87, 0, 1, 0, 83, 255, 234, 4, 141, 5, 198, 0, 79, 0, 0, 65, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 35, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 103, 7, 60, 45, 45, 110, 56, 64, 101, 35, 36, 41, 3, 183, 2, 70, 63, 62, 167, 96, 90, 180, 73, 73, 96, 7, 6, 63, 55, 55, 143, 74, 45, 95, 38, 19, 30, 10, 12, 10, 3, 6, 57, 43, 43, 106, 54, 63, 91, 31, 30, 31, 3, 184, 3, 62, 56, 57, 158, 94, 89, 176, 71, 72, 92, 6, 5, 64, 55, 54, 140, 71, 47, 99, 39, 18, 30, 10, 11, 10, 1, 120, 60, 91, 30, 30, 29, 1, 1, 43, 37, 37, 103, 63, 98, 162, 57, 58, 65, 1, 2, 50, 51, 50, 151, 98, 90, 139, 53, 53, 77, 27, 16, 42, 30, 13, 33, 20, 21, 51, 31, 58, 91, 32, 31, 33, 1, 2, 45, 38, 38, 101, 58, 94, 159, 59, 58, 68, 2, 2, 54, 53, 53, 152, 95, 87, 133, 50, 51, 74, 27, 18, 44, 31, 15, 35, 21, 23, 54, 255, 255, 0, 64, 0, 0, 4, 148, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 64, 0, 0, 4, 148, 7, 34, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 0, 26, 1, 91, 255, 255, 0, 63, 255, 234, 4, 140, 5, 176, 6, 6, 0, 11, 0, 0, 255, 255, 0, 59, 0, 0, 5, 6, 5, 176, 6, 6, 2, 113, 0, 0, 255, 255, 0, 62, 0, 0, 4, 252, 7, 14, 6, 38, 0, 12, 0, 0, 0, 7, 1, 91, 0, 190, 1, 69, 255, 255, 0, 1, 255, 233, 5, 43, 7, 75, 6, 38, 1, 168, 0, 0, 0, 7, 1, 95, 0, 112, 1, 152, 255, 255, 255, 226, 0, 0, 4, 2, 5, 176, 6, 6, 0, 2, 0, 0, 255, 255, 0, 62, 0, 0, 4, 114, 5, 176, 6, 6, 0, 3, 0, 0, 255, 255, 0, 71, 0, 0, 4, 165, 5, 176, 6, 6, 1, 123, 0, 0, 255, 255, 0, 72, 0, 0, 4, 161, 5, 176, 6, 6, 0, 6, 0, 0, 255, 255, 0, 53, 0, 0, 4, 160, 7, 63, 6, 38, 1, 166, 0, 0, 0, 7, 1, 95, 0, 71, 1, 140, 255, 255, 0, 39, 0, 0, 4, 192, 5, 176, 6, 6, 0, 14, 0, 0, 255, 255, 0, 32, 0, 0, 4, 180, 5, 176, 6, 6, 0, 9, 0, 0, 255, 255, 0, 102, 255, 234, 4, 109, 5, 198, 6, 6, 0, 16, 0, 0, 255, 255, 0, 53, 0, 0, 4, 159, 5, 176, 6, 6, 1, 128, 0, 0, 255, 255, 0, 81, 0, 0, 4, 167, 5, 176, 6, 6, 0, 17, 0, 0, 255, 255, 0, 100, 255, 233, 4, 133, 5, 198, 6, 6, 0, 4, 0, 0, 255, 255, 0, 194, 0, 0, 4, 247, 5, 176, 6, 6, 0, 21, 0, 0, 255, 255, 0, 80, 0, 0, 4, 131, 5, 176, 6, 6, 1, 130, 0, 0, 255, 255, 255, 241, 0, 0, 4, 238, 5, 176, 6, 6, 0, 25, 0, 0, 255, 255, 0, 97, 255, 236, 4, 15, 4, 80, 6, 6, 0, 28, 0, 0, 255, 255, 0, 108, 255, 234, 4, 43, 4, 80, 6, 6, 0, 32, 0, 0, 255, 255, 0, 55, 0, 0, 4, 92, 5, 244, 6, 38, 1, 185, 0, 0, 0, 6, 1, 95, 9, 65, 255, 255, 0, 99, 255, 233, 4, 48, 4, 81, 6, 6, 0, 42, 0, 0, 255, 255, 255, 247, 254, 96, 4, 28, 4, 79, 6, 6, 0, 43, 0, 0, 0, 1, 0, 121, 255, 233, 4, 44, 4, 81, 0, 57, 0, 0, 101, 38, 38, 39, 38, 38, 39, 38, 52, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 2, 21, 53, 77, 27, 27, 32, 7, 8, 5, 5, 10, 55, 45, 45, 127, 83, 52, 82, 29, 28, 28, 2, 170, 4, 54, 50, 51, 142, 84, 115, 192, 68, 74, 92, 14, 5, 6, 7, 13, 18, 68, 51, 46, 124, 77, 79, 160, 66, 66, 90, 9, 171, 11, 56, 39, 40, 96, 129, 1, 36, 29, 28, 77, 43, 42, 90, 43, 42, 73, 142, 56, 56, 67, 3, 2, 38, 32, 33, 86, 50, 1, 85, 143, 52, 51, 60, 2, 3, 83, 72, 74, 204, 112, 43, 59, 116, 52, 69, 116, 41, 38, 45, 2, 2, 51, 48, 47, 135, 83, 1, 49, 79, 27, 28, 29, 255, 255, 255, 228, 254, 72, 4, 188, 4, 58, 6, 6, 0, 52, 0, 0, 255, 255, 0, 6, 0, 0, 4, 152, 4, 58, 6, 6, 0, 51, 0, 0, 255, 255, 0, 108, 255, 234, 4, 43, 5, 225, 6, 38, 0, 32, 0, 0, 0, 6, 1, 97, 22, 26, 255, 255, 0, 73, 0, 0, 4, 95, 5, 201, 6, 38, 1, 181, 0, 0, 0, 6, 1, 91, 123, 0, 255, 255, 0, 124, 255, 234, 4, 40, 4, 79, 6, 6, 0, 46, 0, 0, 255, 255, 0, 92, 0, 0, 3, 233, 5, 198, 6, 6, 0, 36, 0, 0, 255, 255, 0, 92, 0, 0, 4, 68, 5, 203, 6, 38, 1, 109, 0, 0, 0, 6, 1, 97, 63, 4, 255, 255, 0, 35, 254, 73, 3, 196, 5, 198, 6, 6, 0, 37, 0, 0, 255, 255, 0, 54, 0, 0, 4, 171, 5, 201, 6, 38, 1, 186, 0, 0, 0, 6, 1, 91, 49, 0, 255, 255, 255, 228, 254, 72, 4, 188, 5, 245, 6, 38, 0, 52, 0, 0, 0, 6, 1, 95, 40, 66, 255, 255, 1, 128, 255, 243, 6, 164, 5, 176, 6, 38, 0, 91, 0, 0, 0, 7, 0, 91, 3, 113, 0, 0, 255, 255, 0, 1, 254, 73, 4, 122, 5, 234, 6, 38, 1, 113, 0, 0, 0, 6, 1, 100, 93, 252, 255, 255, 2, 24, 4, 7, 3, 113, 6, 22, 6, 6, 0, 109, 0, 0, 255, 255, 0, 39, 0, 0, 4, 192, 7, 32, 6, 38, 0, 14, 0, 0, 0, 7, 1, 91, 0, 184, 1, 87, 255, 255, 255, 242, 0, 0, 4, 117, 5, 222, 6, 38, 0, 40, 0, 0, 0, 7, 1, 91, 0, 167, 0, 21, 255, 255, 255, 226, 254, 133, 4, 2, 5, 176, 6, 38, 0, 2, 0, 0, 0, 6, 1, 114, 36, 0, 255, 255, 0, 97, 254, 133, 4, 15, 4, 80, 6, 38, 0, 28, 0, 0, 0, 6, 1, 114, 235, 0, 255, 255, 0, 5, 255, 234, 4, 109, 6, 86, 6, 38, 0, 16, 0, 0, 0, 7, 2, 108, 253, 192, 0, 146, 255, 255, 0, 72, 0, 0, 4, 161, 7, 35, 6, 38, 0, 6, 0, 0, 0, 7, 1, 90, 255, 217, 1, 90, 255, 255, 0, 53, 0, 0, 4, 160, 7, 23, 6, 38, 1, 166, 0, 0, 0, 7, 1, 90, 255, 203, 1, 78, 255, 255, 0, 108, 255, 234, 4, 43, 5, 226, 6, 38, 0, 32, 0, 0, 0, 6, 1, 90, 163, 25, 255, 255, 0, 55, 0, 0, 4, 92, 5, 204, 6, 38, 1, 185, 0, 0, 0, 6, 1, 90, 141, 3, 255, 255, 0, 132, 0, 0, 4, 229, 5, 176, 6, 6, 1, 131, 0, 0, 255, 255, 0, 85, 254, 40, 4, 113, 4, 59, 6, 6, 1, 151, 0, 0, 255, 255, 0, 177, 0, 0, 5, 79, 7, 66, 6, 38, 1, 226, 0, 0, 0, 7, 1, 119, 4, 115, 1, 84, 255, 255, 0, 166, 0, 0, 4, 143, 6, 26, 6, 38, 1, 227, 0, 0, 0, 7, 1, 119, 4, 24, 0, 44, 255, 255, 0, 46, 254, 47, 4, 147, 5, 197, 6, 38, 1, 165, 0, 0, 0, 6, 2, 110, 223, 150, 255, 255, 0, 79, 254, 57, 4, 58, 4, 78, 6, 38, 1, 184, 0, 0, 0, 6, 2, 110, 248, 160, 255, 255, 0, 100, 254, 57, 4, 133, 5, 198, 6, 38, 0, 4, 0, 0, 0, 6, 2, 110, 238, 160, 255, 255, 0, 122, 254, 57, 4, 44, 4, 81, 6, 38, 0, 30, 0, 0, 0, 6, 2, 110, 1, 160, 255, 255, 0, 212, 0, 0, 4, 241, 5, 176, 6, 6, 0, 26, 0, 0, 255, 255, 0, 157, 254, 96, 4, 204, 4, 58, 6, 6, 1, 135, 0, 0, 255, 255, 0, 64, 0, 0, 4, 148, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 255, 176, 0, 0, 4, 254, 7, 75, 6, 38, 1, 164, 0, 0, 0, 7, 1, 95, 0, 93, 1, 152, 255, 255, 255, 163, 0, 0, 4, 193, 5, 244, 6, 38, 1, 183, 0, 0, 0, 6, 1, 95, 9, 65, 255, 255, 0, 64, 0, 0, 4, 148, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 255, 226, 0, 0, 4, 87, 7, 75, 6, 38, 0, 2, 0, 0, 0, 7, 1, 95, 0, 95, 1, 152, 255, 255, 0, 97, 255, 236, 4, 27, 6, 9, 6, 38, 0, 28, 0, 0, 0, 6, 1, 95, 35, 86, 255, 255, 255, 226, 0, 0, 4, 91, 7, 34, 6, 38, 0, 2, 0, 0, 0, 7, 1, 97, 0, 86, 1, 91, 255, 255, 0, 97, 255, 236, 4, 31, 5, 224, 6, 38, 0, 28, 0, 0, 0, 6, 1, 97, 26, 25, 255, 255, 255, 178, 0, 0, 5, 6, 5, 176, 6, 6, 0, 72, 0, 0, 255, 255, 255, 241, 255, 235, 4, 163, 4, 80, 6, 6, 0, 73, 0, 0, 255, 255, 0, 72, 0, 0, 4, 161, 7, 75, 6, 38, 0, 6, 0, 0, 0, 7, 1, 95, 0, 85, 1, 152, 255, 255, 0, 108, 255, 234, 4, 43, 6, 10, 6, 38, 0, 32, 0, 0, 0, 6, 1, 95, 31, 87, 255, 255, 0, 77, 255, 234, 4, 105, 6, 244, 6, 38, 2, 16, 0, 0, 0, 7, 1, 97, 0, 58, 1, 45, 255, 255, 0, 138, 255, 235, 4, 63, 4, 79, 6, 6, 0, 81, 0, 0, 255, 255, 0, 138, 255, 235, 4, 63, 5, 225, 6, 38, 0, 81, 0, 0, 0, 6, 1, 97, 55, 26, 255, 255, 255, 176, 0, 0, 4, 254, 7, 34, 6, 38, 1, 164, 0, 0, 0, 7, 1, 97, 0, 84, 1, 91, 255, 255, 255, 163, 0, 0, 4, 193, 5, 203, 6, 38, 1, 183, 0, 0, 0, 6, 1, 97, 0, 4, 255, 255, 0, 46, 255, 233, 4, 147, 7, 55, 6, 38, 1, 165, 0, 0, 0, 7, 1, 97, 0, 70, 1, 112, 255, 255, 0, 79, 255, 236, 4, 58, 5, 223, 6, 38, 1, 184, 0, 0, 0, 6, 1, 97, 25, 24, 255, 255, 0, 53, 0, 0, 4, 160, 6, 238, 6, 38, 1, 166, 0, 0, 0, 7, 1, 94, 0, 63, 1, 62, 255, 255, 0, 55, 0, 0, 4, 92, 5, 164, 6, 38, 1, 185, 0, 0, 0, 6, 1, 94, 1, 244, 255, 255, 0, 53, 0, 0, 4, 160, 7, 22, 6, 38, 1, 166, 0, 0, 0, 7, 1, 97, 0, 62, 1, 79, 255, 255, 0, 55, 0, 0, 4, 92, 5, 203, 6, 38, 1, 185, 0, 0, 0, 6, 1, 97, 0, 4, 255, 255, 0, 102, 255, 234, 4, 109, 7, 55, 6, 38, 0, 16, 0, 0, 0, 7, 1, 97, 0, 93, 1, 112, 255, 255, 0, 99, 255, 233, 4, 48, 5, 224, 6, 38, 0, 42, 0, 0, 0, 6, 1, 97, 16, 25, 255, 255, 0, 95, 255, 234, 4, 102, 5, 198, 6, 6, 1, 224, 0, 0, 255, 255, 0, 68, 255, 233, 4, 23, 4, 80, 6, 6, 1, 225, 0, 0, 255, 255, 0, 95, 255, 234, 4, 102, 7, 29, 6, 38, 1, 224, 0, 0, 0, 7, 1, 97, 0, 90, 1, 86, 255, 255, 0, 68, 255, 233, 4, 23, 5, 252, 6, 38, 1, 225, 0, 0, 0, 6, 1, 97, 230, 53, 255, 255, 0, 78, 255, 233, 4, 105, 7, 56, 6, 38, 1, 176, 0, 0, 0, 7, 1, 97, 0, 60, 1, 113, 255, 255, 0, 80, 255, 233, 4, 25, 5, 224, 6, 38, 1, 200, 0, 0, 0, 6, 1, 97, 253, 25, 255, 255, 0, 1, 255, 233, 5, 43, 6, 250, 6, 38, 1, 168, 0, 0, 0, 7, 1, 94, 0, 104, 1, 74, 255, 255, 255, 228, 254, 72, 4, 188, 5, 165, 6, 38, 0, 52, 0, 0, 0, 6, 1, 94, 32, 245, 255, 255, 0, 1, 255, 233, 5, 43, 7, 34, 6, 38, 1, 168, 0, 0, 0, 7, 1, 97, 0, 103, 1, 91, 255, 255, 255, 228, 254, 72, 4, 188, 5, 204, 6, 38, 0, 52, 0, 0, 0, 6, 1, 97, 31, 5, 255, 255, 0, 1, 255, 233, 5, 62, 7, 74, 6, 38, 1, 168, 0, 0, 0, 7, 1, 99, 0, 221, 1, 91, 255, 255, 255, 228, 254, 72, 4, 246, 5, 244, 6, 38, 0, 52, 0, 0, 0, 7, 1, 99, 0, 149, 0, 5, 255, 255, 0, 228, 0, 0, 4, 157, 7, 34, 6, 38, 1, 170, 0, 0, 0, 7, 1, 97, 255, 253, 1, 91, 255, 255, 0, 159, 0, 0, 4, 92, 5, 203, 6, 38, 1, 194, 0, 0, 0, 6, 1, 97, 38, 4, 255, 255, 0, 35, 255, 254, 4, 192, 7, 34, 6, 38, 1, 174, 0, 0, 0, 7, 1, 97, 0, 40, 1, 91, 255, 255, 0, 35, 255, 255, 4, 115, 5, 203, 6, 38, 1, 198, 0, 0, 0, 6, 1, 97, 77, 4, 255, 255, 255, 241, 254, 71, 4, 238, 5, 176, 6, 38, 0, 25, 0, 0, 0, 7, 2, 111, 1, 255, 0, 0, 255, 255, 0, 6, 254, 71, 4, 152, 4, 58, 6, 38, 0, 51, 0, 0, 0, 7, 2, 111, 1, 145, 0, 0, 255, 255, 0, 118, 255, 235, 4, 160, 6, 0, 6, 6, 0, 31, 0, 0, 255, 255, 255, 202, 254, 71, 4, 160, 5, 176, 6, 38, 1, 167, 0, 0, 0, 7, 2, 111, 1, 195, 0, 0, 255, 255, 255, 210, 254, 71, 4, 107, 4, 58, 6, 38, 1, 187, 0, 0, 0, 7, 2, 111, 1, 190, 0, 0, 255, 255, 255, 226, 254, 165, 4, 2, 5, 176, 6, 38, 0, 2, 0, 0, 0, 7, 1, 101, 4, 185, 0, 0, 255, 255, 0, 97, 254, 165, 4, 15, 4, 80, 6, 38, 0, 28, 0, 0, 0, 7, 1, 101, 4, 127, 0, 0, 255, 255, 255, 226, 0, 0, 4, 14, 7, 197, 6, 38, 0, 2, 0, 0, 0, 7, 1, 118, 4, 222, 1, 82, 255, 255, 0, 97, 255, 236, 4, 15, 6, 131, 6, 38, 0, 28, 0, 0, 0, 7, 1, 118, 4, 162, 0, 16, 255, 255, 255, 226, 0, 0, 5, 192, 7, 238, 6, 38, 0, 2, 0, 0, 0, 7, 2, 76, 0, 48, 1, 89, 255, 255, 0, 97, 255, 236, 5, 133, 6, 172, 6, 38, 0, 28, 0, 0, 0, 6, 2, 76, 245, 23, 255, 255, 255, 226, 0, 0, 4, 108, 7, 221, 6, 38, 0, 2, 0, 0, 0, 7, 2, 75, 0, 36, 1, 72, 255, 255, 0, 97, 255, 236, 4, 49, 6, 155, 6, 38, 0, 28, 0, 0, 0, 6, 2, 75, 233, 6, 255, 255, 255, 226, 0, 0, 5, 120, 8, 3, 6, 38, 0, 2, 0, 0, 0, 7, 2, 74, 0, 54, 1, 53, 255, 255, 0, 97, 255, 236, 5, 61, 6, 194, 6, 38, 0, 28, 0, 0, 0, 6, 2, 74, 251, 244, 255, 255, 255, 226, 0, 0, 4, 102, 8, 46, 6, 38, 0, 2, 0, 0, 0, 7, 2, 73, 0, 40, 1, 54, 255, 255, 0, 97, 255, 236, 4, 43, 6, 237, 6, 38, 0, 28, 0, 0, 0, 6, 2, 73, 237, 245, 255, 255, 255, 226, 254, 165, 4, 60, 7, 72, 6, 38, 0, 2, 0, 0, 0, 39, 1, 92, 0, 191, 1, 91, 0, 7, 1, 101, 4, 185, 0, 0, 255, 255, 0, 97, 254, 165, 4, 15, 6, 6, 6, 38, 0, 28, 0, 0, 0, 39, 1, 92, 0, 131, 0, 25, 0, 7, 1, 101, 4, 127, 0, 0, 255, 255, 255, 226, 0, 0, 4, 78, 7, 222, 6, 38, 0, 2, 0, 0, 0, 7, 2, 105, 0, 58, 1, 84, 255, 255, 0, 97, 255, 236, 4, 19, 6, 156, 6, 38, 0, 28, 0, 0, 0, 6, 2, 105, 255, 18, 255, 255, 255, 226, 0, 0, 4, 88, 8, 4, 6, 38, 0, 2, 0, 0, 0, 7, 2, 77, 0, 68, 1, 122, 255, 255, 0, 97, 255, 236, 4, 28, 6, 194, 6, 38, 0, 28, 0, 0, 0, 6, 2, 77, 8, 56, 255, 255, 255, 226, 0, 0, 4, 59, 8, 75, 6, 38, 0, 2, 0, 0, 0, 7, 2, 104, 0, 44, 1, 73, 255, 255, 0, 97, 255, 236, 4, 15, 7, 9, 6, 38, 0, 28, 0, 0, 0, 6, 2, 104, 241, 7, 255, 255, 255, 226, 0, 0, 4, 107, 8, 32, 6, 38, 0, 2, 0, 0, 0, 7, 2, 109, 0, 15, 1, 81, 255, 255, 0, 97, 255, 236, 4, 48, 6, 222, 6, 38, 0, 28, 0, 0, 0, 6, 2, 109, 212, 15, 255, 255, 255, 226, 254, 165, 4, 87, 7, 75, 6, 38, 0, 2, 0, 0, 0, 39, 1, 95, 0, 95, 1, 152, 0, 7, 1, 101, 4, 185, 0, 0, 255, 255, 0, 97, 254, 165, 4, 27, 6, 9, 6, 38, 0, 28, 0, 0, 0, 38, 1, 95, 35, 86, 0, 7, 1, 101, 4, 127, 0, 0, 255, 255, 0, 72, 254, 175, 4, 161, 5, 176, 6, 38, 0, 6, 0, 0, 0, 7, 1, 101, 4, 174, 0, 10, 255, 255, 0, 108, 254, 165, 4, 43, 4, 80, 6, 38, 0, 32, 0, 0, 0, 7, 1, 101, 4, 189, 0, 0, 255, 255, 0, 72, 0, 0, 4, 161, 7, 197, 6, 38, 0, 6, 0, 0, 0, 7, 1, 118, 4, 212, 1, 82, 255, 255, 0, 108, 255, 234, 4, 43, 6, 132, 6, 38, 0, 32, 0, 0, 0, 7, 1, 118, 4, 158, 0, 17, 255, 255, 0, 72, 0, 0, 4, 161, 7, 81, 6, 38, 0, 6, 0, 0, 0, 7, 1, 93, 0, 205, 1, 97, 255, 255, 0, 108, 255, 234, 4, 66, 6, 16, 6, 38, 0, 32, 0, 0, 0, 7, 1, 93, 0, 151, 0, 32, 255, 255, 0, 72, 0, 0, 5, 182, 7, 238, 6, 38, 0, 6, 0, 0, 0, 7, 2, 76, 0, 38, 1, 89, 255, 255, 0, 108, 255, 234, 5, 129, 6, 173, 6, 38, 0, 32, 0, 0, 0, 6, 2, 76, 241, 24, 255, 255, 0, 72, 0, 0, 4, 161, 7, 221, 6, 38, 0, 6, 0, 0, 0, 7, 2, 75, 0, 26, 1, 72, 255, 255, 0, 108, 255, 234, 4, 45, 6, 156, 6, 38, 0, 32, 0, 0, 0, 6, 2, 75, 229, 7, 255, 255, 0, 72, 0, 0, 5, 110, 8, 3, 6, 38, 0, 6, 0, 0, 0, 7, 2, 74, 0, 44, 1, 53, 255, 255, 0, 108, 255, 234, 5, 57, 6, 195, 6, 38, 0, 32, 0, 0, 0, 6, 2, 74, 247, 245, 255, 255, 0, 72, 0, 0, 4, 161, 8, 46, 6, 38, 0, 6, 0, 0, 0, 7, 2, 73, 0, 30, 1, 54, 255, 255, 0, 108, 255, 234, 4, 43, 6, 238, 6, 38, 0, 32, 0, 0, 0, 6, 2, 73, 233, 246, 255, 255, 0, 72, 254, 175, 4, 161, 7, 72, 6, 38, 0, 6, 0, 0, 0, 39, 1, 92, 0, 181, 1, 91, 0, 7, 1, 101, 4, 174, 0, 10, 255, 255, 0, 108, 254, 165, 4, 43, 6, 7, 6, 38, 0, 32, 0, 0, 0, 38, 1, 92, 127, 26, 0, 7, 1, 101, 4, 189, 0, 0, 255, 255, 0, 64, 0, 0, 4, 148, 7, 197, 6, 38, 0, 10, 0, 0, 0, 7, 1, 118, 4, 162, 1, 82, 255, 255, 0, 92, 0, 0, 3, 247, 6, 111, 6, 38, 1, 109, 0, 0, 0, 7, 1, 118, 4, 199, 255, 252, 255, 255, 0, 64, 254, 175, 4, 148, 5, 176, 6, 38, 0, 10, 0, 0, 0, 7, 1, 101, 4, 124, 0, 10, 255, 255, 0, 92, 254, 175, 3, 233, 5, 198, 6, 38, 0, 36, 0, 0, 0, 7, 1, 101, 4, 225, 0, 10, 255, 255, 0, 102, 254, 157, 4, 109, 5, 198, 6, 38, 0, 16, 0, 0, 0, 7, 1, 101, 4, 184, 255, 248, 255, 255, 0, 99, 254, 156, 4, 48, 4, 81, 6, 38, 0, 42, 0, 0, 0, 7, 1, 101, 4, 166, 255, 247, 255, 255, 0, 102, 255, 234, 4, 109, 7, 218, 6, 38, 0, 16, 0, 0, 0, 7, 1, 118, 4, 229, 1, 103, 255, 255, 0, 99, 255, 233, 4, 48, 6, 131, 6, 38, 0, 42, 0, 0, 0, 7, 1, 118, 4, 152, 0, 16, 255, 255, 0, 102, 255, 234, 5, 199, 8, 3, 6, 38, 0, 16, 0, 0, 0, 7, 2, 76, 0, 55, 1, 110, 255, 255, 0, 99, 255, 233, 5, 123, 6, 172, 6, 38, 0, 42, 0, 0, 0, 6, 2, 76, 235, 23, 255, 255, 0, 102, 255, 234, 4, 115, 7, 242, 6, 38, 0, 16, 0, 0, 0, 7, 2, 75, 0, 43, 1, 93, 255, 255, 0, 99, 255, 233, 4, 48, 6, 155, 6, 38, 0, 42, 0, 0, 0, 6, 2, 75, 223, 6, 255, 255, 0, 102, 255, 234, 5, 127, 8, 24, 6, 38, 0, 16, 0, 0, 0, 7, 2, 74, 0, 61, 1, 74, 255, 255, 0, 99, 255, 233, 5, 51, 6, 194, 6, 38, 0, 42, 0, 0, 0, 6, 2, 74, 241, 244, 255, 255, 0, 102, 255, 234, 4, 109, 8, 67, 6, 38, 0, 16, 0, 0, 0, 7, 2, 73, 0, 47, 1, 75, 255, 255, 0, 99, 255, 233, 4, 48, 6, 237, 6, 38, 0, 42, 0, 0, 0, 6, 2, 73, 227, 245, 255, 255, 0, 102, 254, 157, 4, 109, 7, 93, 6, 38, 0, 16, 0, 0, 0, 39, 1, 92, 0, 198, 1, 112, 0, 7, 1, 101, 4, 184, 255, 248, 255, 255, 0, 99, 254, 156, 4, 48, 6, 6, 6, 38, 0, 42, 0, 0, 0, 38, 1, 92, 121, 25, 0, 7, 1, 101, 4, 166, 255, 247, 255, 255, 0, 95, 255, 234, 5, 60, 7, 32, 6, 38, 0, 216, 0, 0, 0, 7, 1, 91, 0, 199, 1, 87, 255, 255, 0, 93, 255, 233, 4, 233, 5, 222, 6, 38, 1, 53, 0, 0, 0, 7, 1, 91, 0, 136, 0, 21, 255, 255, 0, 95, 255, 234, 5, 60, 7, 35, 6, 38, 0, 216, 0, 0, 0, 7, 1, 90, 255, 226, 1, 90, 255, 255, 0, 93, 255, 233, 4, 233, 5, 225, 6, 38, 1, 53, 0, 0, 0, 6, 1, 90, 163, 24, 255, 255, 0, 95, 255, 234, 5, 60, 7, 197, 6, 38, 0, 216, 0, 0, 0, 7, 1, 118, 4, 221, 1, 82, 255, 255, 0, 93, 255, 233, 4, 233, 6, 131, 6, 38, 1, 53, 0, 0, 0, 7, 1, 118, 4, 158, 0, 16, 255, 255, 0, 95, 255, 234, 5, 60, 7, 81, 6, 38, 0, 216, 0, 0, 0, 7, 1, 93, 0, 214, 1, 97, 255, 255, 0, 93, 255, 233, 4, 233, 6, 15, 6, 38, 1, 53, 0, 0, 0, 7, 1, 93, 0, 151, 0, 31, 255, 255, 0, 95, 254, 165, 5, 60, 5, 251, 6, 38, 0, 216, 0, 0, 0, 7, 1, 101, 4, 174, 0, 0, 255, 255, 0, 93, 254, 156, 4, 233, 4, 172, 6, 38, 1, 53, 0, 0, 0, 7, 1, 101, 4, 164, 255, 247, 255, 255, 0, 104, 254, 165, 4, 181, 5, 176, 6, 38, 0, 22, 0, 0, 0, 7, 1, 101, 4, 163, 0, 0, 255, 255, 0, 141, 254, 165, 4, 84, 4, 58, 6, 38, 0, 48, 0, 0, 0, 7, 1, 101, 4, 110, 0, 0, 255, 255, 0, 104, 255, 234, 4, 181, 7, 185, 6, 38, 0, 22, 0, 0, 0, 7, 1, 118, 4, 249, 1, 70, 255, 255, 0, 141, 255, 234, 4, 84, 6, 112, 6, 38, 0, 48, 0, 0, 0, 7, 1, 118, 4, 147, 255, 253, 255, 255, 0, 104, 255, 234, 5, 241, 7, 32, 6, 38, 0, 236, 0, 0, 0, 7, 1, 91, 0, 183, 1, 87, 255, 255, 0, 144, 255, 235, 5, 116, 5, 201, 6, 38, 1, 73, 0, 0, 0, 6, 1, 91, 126, 0, 255, 255, 0, 104, 255, 234, 5, 241, 7, 35, 6, 38, 0, 236, 0, 0, 0, 7, 1, 90, 255, 210, 1, 90, 255, 255, 0, 144, 255, 235, 5, 116, 5, 204, 6, 38, 1, 73, 0, 0, 0, 6, 1, 90, 153, 3, 255, 255, 0, 104, 255, 234, 5, 241, 7, 197, 6, 38, 0, 236, 0, 0, 0, 7, 1, 118, 4, 205, 1, 82, 255, 255, 0, 144, 255, 235, 5, 116, 6, 111, 6, 38, 1, 73, 0, 0, 0, 7, 1, 118, 4, 148, 255, 252, 255, 255, 0, 104, 255, 234, 5, 241, 7, 81, 6, 38, 0, 236, 0, 0, 0, 7, 1, 93, 0, 198, 1, 97, 255, 255, 0, 144, 255, 235, 5, 116, 5, 250, 6, 38, 1, 73, 0, 0, 0, 7, 1, 93, 0, 141, 0, 10, 255, 255, 0, 104, 254, 157, 5, 241, 5, 233, 6, 38, 0, 236, 0, 0, 0, 7, 1, 101, 4, 166, 255, 248, 255, 255, 0, 144, 254, 165, 5, 116, 4, 148, 6, 38, 1, 73, 0, 0, 0, 7, 1, 101, 4, 109, 0, 0, 255, 255, 0, 212, 254, 175, 4, 241, 5, 176, 6, 38, 0, 26, 0, 0, 0, 7, 1, 101, 4, 160, 0, 10, 255, 255, 255, 228, 254, 8, 4, 188, 4, 58, 6, 38, 0, 52, 0, 0, 0, 7, 1, 101, 5, 96, 255, 99, 255, 255, 0, 212, 0, 0, 4, 241, 7, 196, 6, 38, 0, 26, 0, 0, 0, 7, 1, 118, 4, 202, 1, 81, 255, 255, 255, 228, 254, 72, 4, 188, 6, 112, 6, 38, 0, 52, 0, 0, 0, 7, 1, 118, 4, 167, 255, 253, 255, 255, 0, 212, 0, 0, 4, 241, 7, 80, 6, 38, 0, 26, 0, 0, 0, 7, 1, 93, 0, 195, 1, 96, 255, 255, 255, 228, 254, 72, 4, 188, 5, 251, 6, 38, 0, 52, 0, 0, 0, 7, 1, 93, 0, 160, 0, 11, 255, 255, 0, 29, 254, 237, 5, 54, 6, 0, 4, 38, 0, 31, 241, 0, 0, 39, 2, 106, 1, 124, 2, 71, 0, 6, 0, 102, 9, 132, 255, 255, 0, 59, 254, 160, 5, 6, 5, 176, 6, 38, 2, 113, 0, 0, 0, 7, 2, 110, 2, 17, 0, 7, 255, 255, 0, 54, 254, 153, 4, 171, 4, 58, 6, 38, 1, 186, 0, 0, 0, 7, 2, 110, 1, 236, 0, 0, 255, 255, 0, 32, 254, 153, 4, 180, 5, 176, 6, 38, 0, 9, 0, 0, 0, 7, 2, 110, 1, 219, 0, 0, 255, 255, 0, 55, 254, 153, 4, 92, 4, 58, 6, 38, 1, 189, 0, 0, 0, 7, 2, 110, 1, 226, 0, 0, 255, 255, 0, 194, 254, 153, 4, 247, 5, 176, 6, 38, 0, 21, 0, 0, 0, 7, 2, 110, 0, 136, 0, 0, 255, 255, 0, 158, 254, 153, 4, 173, 4, 58, 6, 38, 1, 191, 0, 0, 0, 7, 2, 110, 0, 145, 0, 0, 255, 255, 255, 241, 254, 153, 4, 238, 5, 176, 6, 38, 0, 25, 0, 0, 0, 7, 2, 110, 2, 34, 0, 0, 255, 255, 0, 6, 254, 153, 4, 152, 4, 58, 6, 38, 0, 51, 0, 0, 0, 7, 2, 110, 1, 180, 0, 0, 255, 255, 0, 228, 254, 153, 4, 157, 5, 176, 6, 38, 1, 170, 0, 0, 0, 7, 2, 110, 1, 226, 0, 0, 255, 255, 0, 159, 254, 153, 4, 92, 4, 58, 6, 38, 1, 194, 0, 0, 0, 7, 2, 110, 1, 226, 0, 0, 255, 255, 0, 228, 254, 153, 4, 157, 5, 176, 6, 38, 1, 170, 0, 0, 0, 7, 2, 110, 0, 215, 0, 0, 255, 255, 0, 159, 254, 153, 4, 92, 4, 58, 6, 38, 1, 194, 0, 0, 0, 7, 2, 110, 0, 214, 0, 0, 255, 255, 0, 71, 254, 153, 4, 165, 5, 176, 6, 38, 1, 123, 0, 0, 0, 7, 2, 110, 255, 64, 0, 0, 255, 255, 0, 73, 254, 153, 4, 95, 4, 58, 6, 38, 1, 181, 0, 0, 0, 7, 2, 110, 255, 19, 0, 0, 255, 255, 255, 176, 254, 153, 4, 254, 5, 176, 6, 38, 1, 164, 0, 0, 0, 7, 2, 110, 2, 43, 0, 0, 255, 255, 255, 163, 254, 153, 4, 193, 4, 58, 6, 38, 1, 183, 0, 0, 0, 7, 2, 110, 2, 32, 0, 0, 255, 255, 0, 115, 254, 59, 4, 164, 5, 197, 6, 38, 2, 10, 0, 0, 0, 7, 2, 110, 0, 169, 255, 162, 255, 255, 0, 79, 254, 59, 4, 111, 4, 81, 6, 38, 2, 11, 0, 0, 0, 7, 2, 110, 0, 134, 255, 162, 255, 255, 0, 64, 0, 0, 4, 32, 6, 0, 6, 6, 0, 35, 0, 0, 0, 2, 0, 52, 255, 255, 3, 247, 4, 58, 0, 24, 0, 39, 0, 0, 65, 55, 33, 55, 35, 7, 35, 7, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 55, 3, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 37, 2, 159, 27, 254, 215, 23, 181, 22, 142, 27, 143, 139, 2, 1, 81, 153, 62, 61, 78, 6, 5, 53, 48, 49, 131, 73, 254, 204, 22, 48, 1, 75, 40, 67, 24, 23, 22, 6, 6, 48, 35, 35, 86, 45, 254, 201, 3, 35, 151, 128, 128, 151, 252, 221, 1, 43, 43, 43, 131, 88, 80, 119, 41, 40, 41, 2, 2, 131, 254, 230, 1, 2, 25, 22, 23, 66, 42, 49, 71, 23, 24, 23, 1, 0, 0, 2, 0, 44, 255, 255, 4, 27, 5, 176, 0, 24, 0, 39, 0, 0, 65, 55, 35, 55, 35, 7, 35, 7, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 55, 3, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 2, 151, 27, 233, 35, 181, 35, 205, 27, 206, 192, 1, 194, 103, 186, 72, 72, 93, 9, 8, 55, 55, 56, 158, 94, 245, 43, 69, 1, 12, 59, 93, 31, 30, 25, 7, 9, 60, 46, 46, 120, 68, 247, 4, 80, 151, 201, 201, 151, 251, 176, 1, 56, 56, 56, 165, 108, 99, 153, 53, 52, 56, 3, 1, 247, 254, 114, 1, 2, 38, 33, 34, 95, 60, 69, 109, 38, 38, 40, 2, 0, 2, 0, 44, 255, 255, 4, 27, 5, 176, 0, 24, 0, 39, 0, 0, 65, 55, 35, 55, 35, 7, 35, 7, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 55, 3, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 2, 151, 27, 233, 35, 181, 35, 205, 27, 206, 192, 1, 194, 103, 186, 72, 72, 93, 9, 8, 55, 55, 56, 158, 94, 245, 43, 69, 1, 12, 59, 93, 31, 30, 25, 7, 9, 60, 46, 46, 120, 68, 247, 4, 80, 151, 201, 201, 151, 251, 176, 1, 56, 56, 56, 165, 108, 99, 153, 53, 52, 56, 3, 1, 247, 254, 114, 1, 2, 38, 33, 34, 95, 60, 69, 109, 38, 38, 40, 2, 0, 1, 0, 12, 0, 0, 4, 165, 5, 176, 0, 13, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 35, 7, 51, 3, 51, 19, 2, 119, 27, 254, 251, 82, 2, 171, 27, 252, 159, 108, 177, 27, 178, 119, 182, 118, 2, 172, 151, 1, 213, 152, 253, 147, 151, 253, 84, 2, 172, 0, 0, 1, 255, 230, 0, 0, 4, 95, 4, 58, 0, 13, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 35, 7, 51, 3, 51, 19, 2, 81, 27, 255, 0, 52, 2, 164, 27, 252, 166, 79, 181, 27, 182, 83, 182, 83, 1, 223, 151, 1, 43, 153, 254, 60, 151, 254, 33, 1, 223, 0, 0, 1, 0, 69, 0, 0, 5, 16, 5, 176, 0, 20, 0, 0, 65, 55, 33, 55, 35, 7, 35, 7, 51, 3, 51, 19, 51, 1, 51, 1, 1, 35, 1, 35, 19, 2, 198, 27, 254, 247, 31, 181, 31, 173, 27, 174, 196, 181, 115, 171, 1, 70, 208, 254, 127, 2, 99, 220, 253, 226, 144, 56, 4, 105, 151, 176, 176, 151, 251, 151, 2, 147, 253, 109, 2, 229, 2, 203, 253, 122, 1, 63, 0, 1, 0, 76, 0, 0, 4, 110, 6, 0, 0, 20, 0, 0, 65, 55, 35, 55, 35, 7, 35, 7, 51, 3, 51, 19, 55, 1, 51, 1, 1, 35, 1, 7, 19, 2, 192, 27, 235, 29, 182, 29, 202, 27, 202, 211, 182, 63, 163, 1, 41, 215, 254, 136, 2, 2, 236, 254, 110, 133, 106, 4, 193, 151, 168, 168, 151, 251, 63, 1, 110, 137, 254, 9, 2, 110, 1, 204, 254, 159, 123, 2, 99, 0, 255, 255, 0, 53, 254, 138, 4, 160, 7, 63, 6, 38, 1, 166, 0, 0, 0, 39, 1, 95, 0, 71, 1, 140, 0, 7, 0, 95, 2, 71, 255, 218, 255, 255, 0, 55, 254, 138, 4, 115, 5, 244, 6, 38, 1, 185, 0, 0, 0, 38, 1, 95, 9, 65, 0, 7, 0, 95, 2, 68, 255, 218, 255, 255, 0, 32, 254, 138, 4, 180, 5, 176, 6, 38, 0, 9, 0, 0, 0, 7, 0, 95, 2, 61, 255, 218, 255, 255, 0, 55, 254, 138, 4, 115, 4, 58, 6, 38, 1, 189, 0, 0, 0, 7, 0, 95, 2, 68, 255, 218, 255, 255, 0, 39, 254, 138, 4, 192, 5, 176, 6, 38, 0, 14, 0, 0, 0, 7, 0, 95, 2, 101, 255, 218, 255, 255, 0, 28, 254, 138, 4, 119, 4, 58, 6, 38, 1, 188, 0, 0, 0, 7, 0, 95, 2, 72, 255, 218, 255, 255, 255, 202, 254, 138, 4, 160, 5, 176, 6, 38, 1, 167, 0, 0, 0, 7, 0, 95, 2, 72, 255, 218, 255, 255, 255, 210, 254, 138, 4, 114, 4, 58, 6, 38, 1, 187, 0, 0, 0, 7, 0, 95, 2, 67, 255, 218, 0, 1, 0, 212, 0, 0, 4, 241, 5, 176, 0, 15, 0, 0, 65, 55, 35, 1, 35, 1, 49, 3, 35, 19, 35, 7, 51, 3, 51, 19, 3, 116, 27, 154, 1, 252, 215, 254, 64, 194, 196, 239, 159, 27, 222, 90, 168, 94, 2, 18, 151, 3, 7, 253, 38, 2, 218, 252, 249, 151, 253, 238, 2, 18, 0, 1, 0, 157, 254, 96, 4, 204, 4, 58, 0, 17, 0, 0, 69, 55, 35, 1, 35, 1, 7, 49, 39, 3, 35, 19, 35, 7, 51, 3, 51, 19, 3, 44, 27, 179, 2, 56, 194, 254, 58, 46, 5, 196, 176, 244, 181, 27, 214, 70, 182, 71, 11, 151, 3, 174, 252, 249, 103, 85, 3, 25, 252, 82, 151, 254, 107, 1, 149, 0, 0, 1, 255, 241, 0, 0, 4, 238, 5, 176, 0, 17, 0, 0, 65, 55, 35, 1, 35, 1, 3, 35, 1, 35, 7, 51, 1, 51, 1, 19, 51, 1, 3, 156, 27, 150, 1, 205, 223, 254, 119, 211, 201, 1, 6, 164, 27, 169, 254, 23, 224, 1, 148, 220, 201, 254, 233, 2, 158, 151, 2, 123, 253, 198, 2, 58, 253, 133, 151, 253, 98, 2, 69, 253, 187, 2, 158, 0, 0, 1, 0, 6, 0, 0, 4, 152, 4, 58, 0, 17, 0, 0, 65, 55, 35, 1, 35, 1, 3, 35, 1, 35, 7, 51, 1, 51, 1, 19, 51, 1, 3, 115, 27, 135, 1, 145, 224, 254, 169, 214, 197, 1, 2, 165, 27, 171, 254, 83, 223, 1, 98, 226, 196, 254, 233, 1, 225, 151, 1, 194, 254, 112, 1, 144, 254, 62, 151, 254, 31, 1, 155, 254, 101, 1, 225, 0, 255, 255, 0, 80, 255, 234, 4, 79, 4, 78, 6, 6, 1, 137, 0, 0, 0, 1, 0, 87, 2, 139, 4, 152, 3, 34, 0, 3, 0, 0, 65, 55, 33, 7, 4, 117, 35, 251, 226, 35, 2, 139, 151, 151, 0, 0, 0, 1, 0, 0, 3, 231, 0, 208, 0, 22, 0, 144, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 28, 0, 125, 0, 229, 1, 47, 1, 75, 1, 99, 1, 200, 1, 227, 1, 254, 2, 49, 2, 80, 2, 97, 2, 130, 2, 155, 3, 22, 3, 81, 3, 209, 4, 18, 4, 136, 4, 157, 4, 211, 4, 233, 5, 15, 5, 45, 5, 69, 5, 93, 5, 220, 6, 76, 6, 175, 7, 26, 7, 112, 7, 164, 8, 41, 8, 99, 8, 141, 8, 204, 8, 236, 9, 4, 9, 91, 9, 146, 9, 242, 10, 99, 10, 210, 10, 255, 11, 126, 11, 180, 11, 232, 11, 254, 12, 36, 12, 66, 12, 116, 12, 141, 13, 17, 13, 36, 13, 110, 13, 233, 14, 11, 14, 92, 14, 211, 14, 230, 15, 130, 15, 253, 16, 17, 16, 86, 16, 201, 17, 60, 17, 147, 17, 242, 18, 41, 18, 192, 18, 233, 19, 156, 19, 254, 20, 211, 21, 84, 21, 145, 22, 6, 22, 37, 22, 157, 22, 252, 23, 87, 23, 194, 24, 20, 24, 72, 24, 151, 24, 163, 25, 0, 25, 107, 25, 225, 26, 20, 26, 53, 26, 146, 26, 248, 27, 19, 27, 42, 27, 54, 27, 67, 27, 84, 27, 108, 27, 153, 27, 167, 27, 181, 27, 195, 27, 209, 27, 226, 27, 253, 28, 24, 28, 51, 28, 73, 28, 86, 28, 99, 28, 142, 28, 150, 28, 158, 28, 222, 29, 26, 29, 48, 29, 69, 29, 151, 29, 227, 29, 247, 30, 11, 30, 38, 30, 52, 30, 87, 30, 120, 30, 172, 30, 194, 30, 232, 31, 114, 31, 138, 31, 162, 31, 195, 31, 227, 31, 245, 32, 4, 32, 20, 32, 36, 32, 211, 33, 202, 33, 218, 33, 239, 34, 10, 34, 49, 34, 222, 35, 115, 35, 158, 35, 237, 36, 17, 36, 74, 36, 190, 37, 151, 38, 128, 38, 161, 38, 183, 39, 8, 39, 20, 39, 32, 39, 44, 39, 56, 39, 68, 39, 80, 39, 152, 39, 164, 39, 176, 39, 188, 39, 200, 39, 212, 39, 224, 39, 235, 39, 247, 40, 3, 40, 80, 40, 92, 40, 104, 40, 116, 40, 128, 40, 140, 40, 152, 40, 164, 40, 176, 40, 228, 41, 44, 41, 121, 41, 133, 41, 145, 41, 157, 41, 204, 41, 216, 41, 228, 41, 240, 41, 252, 42, 8, 42, 20, 42, 32, 42, 44, 42, 116, 42, 128, 42, 140, 42, 152, 42, 164, 42, 176, 42, 188, 42, 200, 42, 231, 42, 243, 42, 255, 43, 11, 43, 23, 43, 35, 43, 47, 43, 59, 43, 71, 43, 83, 43, 226, 43, 238, 43, 250, 44, 137, 44, 149, 44, 161, 44, 173, 44, 185, 44, 197, 44, 209, 44, 221, 44, 232, 44, 244, 45, 20, 45, 32, 45, 44, 45, 56, 45, 68, 45, 80, 45, 92, 45, 167, 45, 179, 45, 191, 46, 31, 46, 43, 46, 55, 46, 67, 46, 79, 46, 91, 46, 103, 46, 115, 46, 127, 46, 139, 46, 151, 46, 163, 46, 175, 46, 187, 46, 199, 46, 210, 46, 222, 46, 233, 46, 244, 46, 255, 47, 171, 47, 182, 47, 193, 47, 205, 47, 217, 47, 229, 47, 240, 47, 251, 48, 7, 48, 19, 48, 137, 48, 149, 48, 160, 48, 171, 48, 182, 48, 193, 48, 204, 48, 215, 48, 226, 49, 51, 49, 181, 49, 192, 49, 203, 49, 214, 50, 26, 50, 38, 50, 50, 50, 61, 50, 73, 50, 84, 50, 95, 50, 106, 50, 211, 50, 223, 50, 235, 50, 247, 51, 3, 51, 15, 51, 27, 51, 39, 51, 78, 51, 89, 51, 100, 51, 112, 51, 124, 51, 136, 51, 147, 51, 158, 51, 169, 51, 180, 52, 45, 52, 57, 52, 68, 52, 187, 52, 198, 52, 210, 52, 221, 52, 232, 52, 244, 53, 0, 53, 11, 53, 22, 53, 33, 53, 102, 53, 114, 53, 125, 53, 136, 53, 147, 53, 158, 53, 169, 53, 246, 54, 2, 54, 13, 54, 112, 54, 123, 54, 135, 54, 147, 54, 158, 54, 169, 54, 180, 54, 192, 54, 204, 54, 215, 54, 226, 54, 238, 54, 249, 55, 4, 55, 19, 55, 34, 55, 56, 55, 119, 55, 133, 55, 179, 55, 205, 55, 250, 56, 71, 56, 95, 56, 117, 56, 142, 56, 195, 56, 246, 57, 12, 57, 12, 57, 25, 57, 84, 57, 97, 57, 121, 57, 179, 58, 21, 58, 61, 58, 105, 58, 177, 58, 192, 58, 207, 58, 216, 59, 10, 59, 32, 59, 47, 59, 100, 59, 108, 59, 126, 59, 153, 60, 28, 60, 47, 60, 76, 60, 97, 60, 128, 60, 224, 61, 32, 61, 152, 62, 37, 62, 166, 62, 194, 63, 87, 63, 227, 64, 66, 64, 123, 64, 253, 65, 41, 65, 119, 66, 10, 66, 63, 66, 168, 67, 21, 67, 114, 67, 161, 67, 226, 68, 97, 68, 175, 69, 61, 69, 196, 70, 20, 70, 160, 70, 242, 71, 96, 71, 203, 72, 16, 72, 77, 72, 105, 72, 167, 72, 227, 73, 16, 73, 144, 73, 170, 73, 225, 74, 19, 74, 47, 74, 95, 74, 121, 74, 154, 74, 215, 75, 25, 75, 83, 75, 193, 76, 74, 76, 138, 77, 9, 77, 119, 77, 137, 77, 195, 77, 240, 78, 125, 78, 151, 78, 182, 78, 232, 79, 5, 79, 32, 79, 53, 79, 74, 79, 177, 79, 204, 79, 252, 80, 22, 80, 54, 80, 115, 80, 182, 80, 241, 81, 79, 81, 212, 82, 22, 82, 122, 82, 220, 83, 56, 83, 126, 83, 194, 83, 221, 84, 85, 84, 206, 85, 21, 85, 156, 86, 21, 86, 58, 86, 95, 86, 144, 86, 192, 87, 16, 87, 93, 87, 184, 88, 9, 88, 162, 89, 68, 89, 199, 90, 37, 90, 81, 90, 130, 91, 43, 91, 208, 92, 92, 92, 200, 93, 189, 94, 155, 95, 34, 95, 169, 96, 4, 96, 78, 96, 120, 96, 140, 96, 201, 96, 218, 96, 235, 98, 41, 98, 128, 98, 196, 99, 62, 99, 83, 99, 104, 99, 164, 99, 233, 100, 17, 100, 57, 100, 90, 100, 123, 100, 154, 100, 185, 101, 10, 101, 73, 102, 3, 102, 168, 102, 201, 102, 234, 103, 34, 103, 90, 103, 136, 104, 21, 104, 149, 104, 212, 105, 19, 105, 72, 105, 125, 105, 245, 106, 68, 106, 147, 106, 163, 106, 179, 106, 238, 107, 78, 107, 251, 108, 124, 108, 248, 109, 108, 109, 220, 110, 77, 110, 189, 111, 21, 111, 110, 111, 213, 112, 42, 112, 117, 112, 192, 113, 59, 113, 59, 113, 59, 113, 59, 113, 59, 113, 59, 113, 59, 113, 59, 113, 59, 113, 59, 113, 59, 113, 59, 113, 59, 113, 71, 113, 98, 113, 111, 113, 144, 113, 196, 114, 40, 114, 214, 115, 70, 115, 204, 116, 41, 116, 215, 117, 229, 118, 203, 119, 121, 119, 255, 120, 21, 120, 52, 120, 78, 121, 55, 121, 122, 121, 159, 121, 159, 122, 174, 123, 14, 123, 90, 123, 152, 123, 179, 123, 206, 124, 3, 124, 30, 124, 61, 124, 157, 124, 247, 125, 46, 125, 74, 125, 98, 125, 190, 125, 217, 125, 244, 126, 39, 126, 70, 126, 87, 126, 116, 126, 141, 126, 246, 127, 86, 127, 151, 128, 37, 128, 58, 128, 112, 128, 135, 128, 175, 128, 206, 128, 234, 129, 3, 129, 102, 129, 156, 129, 170, 129, 252, 130, 29, 130, 132, 130, 147, 130, 186, 130, 245, 131, 20, 131, 119, 131, 127, 131, 135, 131, 147, 131, 158, 131, 170, 131, 181, 131, 193, 131, 205, 131, 217, 131, 229, 131, 241, 131, 252, 132, 7, 132, 19, 132, 31, 132, 43, 132, 54, 132, 65, 132, 77, 132, 88, 132, 100, 132, 111, 132, 123, 132, 135, 132, 146, 132, 157, 132, 168, 132, 179, 132, 190, 132, 201, 132, 213, 132, 225, 132, 236, 132, 248, 133, 3, 133, 15, 133, 26, 133, 38, 133, 49, 133, 60, 133, 72, 133, 84, 133, 95, 133, 106, 133, 117, 133, 128, 133, 202, 133, 213, 133, 224, 133, 235, 133, 246, 134, 1, 134, 12, 134, 23, 134, 95, 134, 106, 134, 117, 134, 128, 134, 140, 134, 151, 134, 163, 134, 174, 134, 185, 135, 1, 135, 12, 135, 24, 135, 36, 135, 48, 135, 60, 135, 72, 135, 84, 135, 96, 135, 108, 135, 119, 135, 130, 135, 141, 135, 153, 135, 164, 135, 176, 135, 187, 135, 198, 135, 209, 135, 220, 135, 231, 135, 242, 135, 254, 136, 9, 136, 20, 136, 32, 136, 44, 136, 140, 136, 151, 136, 162, 136, 173, 136, 184, 136, 195, 136, 206, 136, 218, 136, 230, 136, 242, 136, 254, 137, 10, 137, 22, 137, 34, 137, 45, 137, 53, 137, 61, 137, 69, 137, 77, 137, 85, 137, 93, 137, 101, 137, 109, 137, 117, 137, 125, 137, 133, 137, 141, 137, 149, 137, 157, 137, 169, 137, 181, 137, 192, 137, 203, 137, 214, 137, 225, 137, 236, 137, 244, 137, 252, 138, 4, 138, 12, 138, 20, 138, 31, 138, 42, 138, 53, 138, 64, 138, 75, 138, 87, 138, 99, 138, 226, 138, 234, 138, 246, 138, 254, 139, 6, 139, 18, 139, 30, 139, 38, 139, 46, 139, 54, 139, 62, 139, 74, 139, 82, 139, 90, 139, 98, 139, 106, 139, 114, 139, 122, 139, 130, 139, 138, 139, 146, 139, 154, 139, 162, 139, 173, 139, 181, 139, 189, 140, 27, 140, 35, 140, 43, 140, 54, 140, 65, 140, 73, 140, 81, 140, 92, 140, 100, 140, 111, 140, 122, 140, 134, 140, 145, 140, 153, 140, 165, 140, 177, 140, 188, 140, 199, 140, 211, 140, 223, 140, 235, 140, 246, 141, 1, 141, 9, 141, 17, 141, 29, 141, 41, 141, 52, 141, 63, 141, 74, 141, 85, 141, 93, 141, 101, 141, 109, 141, 121, 141, 132, 141, 140, 141, 152, 141, 163, 141, 175, 141, 186, 141, 194, 141, 202, 141, 214, 141, 225, 141, 237, 141, 245, 142, 0, 142, 12, 142, 23, 142, 35, 142, 46, 142, 58, 142, 69, 142, 81, 142, 92, 142, 104, 142, 115, 142, 123, 142, 131, 142, 143, 142, 154, 142, 166, 142, 177, 142, 189, 142, 200, 142, 212, 142, 223, 142, 235, 142, 247, 143, 3, 143, 14, 143, 26, 143, 37, 143, 49, 143, 61, 143, 69, 143, 81, 143, 93, 143, 105, 143, 117, 143, 129, 143, 141, 143, 153, 143, 164, 143, 176, 143, 187, 143, 199, 143, 210, 143, 222, 143, 233, 143, 249, 144, 9, 144, 21, 144, 32, 144, 44, 144, 55, 144, 67, 144, 78, 144, 90, 144, 101, 144, 117, 144, 132, 144, 144, 144, 156, 144, 168, 144, 180, 144, 192, 144, 204, 144, 216, 144, 227, 144, 239, 144, 250, 145, 6, 145, 17, 145, 29, 145, 40, 145, 56, 145, 71, 145, 83, 145, 95, 145, 107, 145, 119, 145, 131, 145, 143, 145, 155, 145, 167, 145, 179, 145, 190, 145, 202, 145, 213, 145, 225, 145, 236, 145, 248, 146, 3, 146, 19, 146, 34, 146, 46, 146, 58, 146, 70, 146, 81, 146, 93, 146, 105, 146, 117, 146, 129, 146, 141, 146, 153, 146, 165, 146, 177, 146, 189, 146, 201, 146, 213, 146, 224, 146, 236, 146, 247, 147, 3, 147, 15, 147, 27, 147, 39, 147, 51, 147, 63, 147, 75, 147, 87, 147, 99, 147, 111, 147, 123, 147, 135, 147, 150, 147, 162, 147, 174, 147, 186, 147, 198, 147, 210, 147, 222, 147, 234, 147, 246, 148, 2, 148, 14, 148, 26, 148, 38, 148, 50, 148, 62, 148, 74, 148, 86, 148, 98, 148, 110, 148, 118, 148, 188, 149, 0, 149, 68, 149, 98, 149, 128, 149, 169, 149, 211, 149, 227, 149, 242, 149, 254, 150, 10, 150, 22, 150, 34, 150, 46, 150, 58, 150, 90, 150, 125, 150, 164, 150, 203, 150, 211, 150, 225, 0, 1, 0, 0, 0, 3, 0, 0, 220, 76, 8, 224, 95, 15, 60, 245, 0, 11, 8, 0, 0, 0, 0, 0, 196, 240, 17, 46, 0, 0, 0, 0, 218, 216, 63, 171, 252, 172, 253, 213, 6, 164, 8, 98, 0, 2, 0, 9, 0, 2, 0, 0, 0, 0, 0, 0, 4, 178, 0, 0, 0, 0, 255, 226, 0, 62, 0, 100, 0, 46, 0, 72, 0, 81, 0, 96, 0, 32, 0, 64, 0, 63, 0, 62, 0, 88, 0, 39, 0, 34, 0, 102, 0, 81, 0, 93, 0, 71, 0, 83, 0, 194, 0, 104, 0, 205, 0, 149, 255, 241, 0, 212, 0, 19, 0, 97, 0, 65, 0, 122, 0, 118, 0, 108, 0, 205, 0, 45, 0, 64, 0, 92, 0, 35, 0, 66, 0, 92, 255, 242, 0, 64, 0, 99, 255, 247, 0, 118, 0, 215, 0, 124, 0, 196, 0, 141, 0, 174, 0, 132, 0, 6, 255, 228, 0, 61, 0, 127, 1, 26, 0, 15, 0, 47, 0, 27, 0, 143, 0, 117, 0, 191, 0, 128, 0, 195, 1, 223, 1, 79, 1, 107, 1, 71, 1, 77, 0, 154, 0, 167, 0, 106, 255, 178, 255, 241, 0, 56, 0, 14, 0, 40, 0, 58, 255, 247, 0, 76, 0, 59, 0, 138, 0, 119, 0, 126, 0, 9, 0, 86, 0, 2, 255, 215, 0, 3, 0, 19, 0, 16, 1, 128, 1, 81, 1, 23, 0, 86, 0, 194, 1, 142, 1, 191, 1, 66, 0, 174, 1, 255, 1, 169, 0, 20, 0, 204, 0, 82, 0, 87, 2, 38, 1, 158, 2, 41, 2, 24, 1, 32, 1, 139, 1, 125, 0, 151, 2, 38, 1, 158, 1, 70, 0, 160, 1, 14, 0, 250, 1, 52, 0, 178, 1, 118, 1, 44, 0, 114, 0, 172, 0, 96, 0, 129, 0, 111, 0, 126, 0, 122, 0, 94, 0, 161, 0, 101, 0, 79, 0, 87, 0, 189, 0, 114, 1, 120, 0, 233, 0, 130, 0, 92, 1, 111, 1, 88, 0, 166, 0, 23, 0, 67, 0, 67, 0, 233, 1, 198, 0, 217, 0, 26, 0, 57, 0, 67, 255, 215, 1, 7, 0, 232, 0, 28, 255, 226, 255, 226, 255, 226, 255, 226, 255, 226, 255, 226, 255, 226, 255, 226, 255, 226, 255, 226, 255, 178, 0, 100, 0, 100, 0, 100, 0, 100, 0, 46, 255, 211, 0, 72, 0, 72, 0, 72, 0, 72, 0, 72, 0, 72, 0, 72, 0, 72, 0, 65, 0, 72, 255, 211, 0, 96, 0, 96, 0, 96, 0, 29, 0, 32, 0, 64, 0, 64, 0, 64, 0, 64, 0, 64, 0, 64, 0, 64, 0, 64, 0, 64, 0, 63, 0, 62, 0, 88, 0, 88, 0, 88, 0, 88, 0, 51, 0, 34, 0, 34, 0, 34, 0, 34, 0, 102, 0, 102, 0, 102, 0, 102, 0, 102, 0, 95, 0, 102, 0, 102, 255, 198, 255, 198, 0, 102, 0, 71, 0, 71, 0, 71, 0, 83, 0, 83, 0, 83, 0, 83, 0, 194, 0, 194, 0, 104, 0, 104, 0, 104, 0, 104, 0, 104, 0, 104, 0, 104, 0, 104, 0, 105, 0, 104, 0, 104, 0, 149, 0, 149, 0, 149, 0, 149, 0, 212, 0, 212, 0, 212, 0, 212, 0, 19, 0, 19, 0, 19, 0, 97, 0, 97, 0, 97, 0, 97, 0, 97, 0, 97, 0, 97, 0, 97, 0, 97, 0, 97, 255, 241, 0, 122, 0, 122, 0, 122, 0, 122, 0, 48, 0, 103, 0, 108, 0, 108, 0, 108, 0, 108, 0, 108, 0, 108, 0, 108, 0, 108, 0, 74, 0, 108, 0, 45, 0, 45, 0, 45, 0, 79, 0, 64, 0, 92, 0, 92, 0, 92, 0, 92, 0, 92, 0, 92, 0, 92, 0, 92, 0, 1, 0, 66, 0, 92, 0, 22, 0, 92, 0, 21, 0, 92, 0, 64, 0, 64, 0, 64, 0, 64, 0, 99, 0, 99, 0, 99, 0, 99, 0, 99, 0, 93, 0, 99, 0, 99, 0, 86, 0, 86, 0, 99, 0, 215, 0, 215, 0, 94, 0, 124, 0, 124, 0, 124, 0, 124, 0, 196, 0, 176, 0, 141, 0, 141, 0, 141, 0, 141, 0, 141, 0, 144, 0, 141, 0, 141, 0, 141, 0, 141, 0, 141, 0, 132, 0, 132, 0, 132, 0, 132, 255, 228, 255, 228, 255, 228, 255, 228, 0, 61, 0, 61, 0, 61, 2, 35, 1, 231, 1, 46, 0, 240, 1, 104, 1, 182, 2, 102, 1, 142, 2, 8, 1, 88, 1, 193, 252, 172, 1, 23, 1, 1, 0, 173, 0, 0, 0, 189, 0, 6, 0, 150, 0, 92, 0, 20, 255, 229, 1, 82, 0, 1, 1, 15, 253, 141, 253, 225, 253, 13, 253, 240, 252, 187, 2, 138, 1, 142, 2, 53, 0, 71, 255, 192, 0, 102, 255, 200, 0, 36, 0, 53, 0, 4, 0, 80, 0, 132, 255, 249, 0, 103, 255, 254, 0, 157, 0, 91, 0, 80, 0, 130, 0, 54, 0, 166, 0, 233, 255, 203, 0, 134, 0, 110, 255, 239, 0, 95, 0, 83, 0, 223, 0, 121, 0, 87, 0, 85, 0, 54, 0, 111, 0, 193, 0, 39, 0, 162, 0, 114, 255, 186, 0, 22, 0, 186, 0, 53, 0, 53, 255, 184, 255, 176, 0, 46, 0, 53, 255, 202, 0, 1, 0, 57, 0, 228, 0, 17, 0, 17, 0, 170, 0, 35, 0, 58, 0, 78, 0, 11, 255, 209, 0, 101, 0, 55, 0, 73, 255, 167, 255, 163, 0, 79, 0, 55, 0, 54, 255, 210, 0, 28, 0, 55, 0, 55, 0, 158, 0, 98, 0, 60, 0, 159, 0, 21, 0, 10, 0, 112, 0, 35, 0, 56, 0, 80, 0, 5, 255, 222, 0, 56, 0, 121, 255, 196, 0, 21, 0, 63, 0, 56, 0, 56, 0, 43, 0, 109, 0, 17, 0, 46, 255, 185, 255, 231, 0, 5, 0, 4, 255, 235, 255, 254, 255, 229, 255, 230, 0, 68, 0, 88, 0, 95, 0, 68, 0, 177, 0, 166, 0, 38, 0, 30, 0, 102, 0, 96, 0, 30, 0, 55, 0, 62, 0, 44, 0, 142, 0, 165, 0, 66, 1, 48, 1, 115, 2, 82, 2, 175, 254, 121, 254, 189, 0, 81, 255, 247, 0, 72, 0, 72, 0, 75, 0, 74, 0, 64, 0, 54, 0, 165, 0, 111, 0, 6, 0, 2, 0, 1, 0, 8, 0, 97, 0, 78, 0, 177, 0, 107, 0, 228, 0, 164, 0, 116, 0, 115, 0, 79, 0, 89, 0, 70, 0, 72, 0, 69, 0, 77, 0, 103, 0, 28, 0, 1, 255, 247, 0, 58, 0, 40, 0, 67, 0, 175, 0, 133, 1, 13, 0, 244, 255, 176, 255, 202, 0, 3, 0, 9, 0, 130, 0, 133, 0, 195, 0, 128, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 243, 1, 26, 0, 254, 1, 36, 1, 73, 0, 113, 0, 157, 0, 188, 0, 12, 0, 134, 0, 197, 0, 119, 0, 105, 0, 183, 0, 97, 0, 34, 255, 154, 0, 59, 0, 50, 0, 84, 0, 161, 0, 0, 255, 240, 0, 1, 1, 116, 1, 96, 0, 207, 1, 110, 1, 205, 2, 76, 255, 199, 0, 97, 0, 89, 0, 73, 0, 89, 0, 119, 0, 100, 0, 46, 0, 106, 0, 104, 0, 70, 0, 98, 0, 46, 0, 84, 0, 113, 0, 72, 0, 35, 0, 94, 0, 161, 0, 134, 0, 185, 0, 145, 255, 238, 0, 178, 0, 85, 1, 220, 1, 205, 1, 52, 2, 52, 2, 69, 1, 253, 1, 80, 0, 173, 0, 93, 0, 59, 0, 99, 0, 0, 0, 204, 0, 100, 0, 122, 0, 96, 0, 45, 0, 21, 0, 83, 0, 124, 0, 194, 0, 196, 0, 194, 0, 161, 0, 196, 255, 217, 255, 217, 0, 161, 255, 199, 255, 199, 255, 199, 255, 199, 255, 199, 255, 199, 255, 199, 0, 89, 0, 89, 0, 89, 0, 89, 0, 89, 0, 106, 0, 106, 0, 106, 0, 106, 0, 84, 0, 113, 0, 113, 0, 113, 0, 113, 0, 113, 0, 134, 0, 134, 0, 134, 0, 134, 0, 178, 255, 199, 255, 199, 255, 199, 0, 89, 0, 89, 0, 89, 0, 73, 0, 89, 0, 89, 0, 89, 0, 89, 0, 89, 0, 100, 0, 100, 0, 100, 0, 46, 0, 106, 0, 106, 0, 106, 0, 106, 0, 106, 0, 104, 0, 70, 0, 98, 0, 98, 0, 98, 0, 98, 0, 84, 0, 84, 0, 84, 0, 113, 0, 113, 0, 113, 0, 35, 0, 35, 0, 35, 0, 94, 0, 94, 0, 94, 0, 94, 0, 161, 0, 134, 0, 134, 0, 134, 0, 134, 0, 134, 0, 134, 0, 145, 0, 178, 0, 178, 0, 85, 0, 85, 0, 85, 255, 226, 0, 81, 0, 64, 0, 48, 0, 112, 255, 247, 0, 3, 0, 233, 255, 226, 0, 62, 0, 72, 0, 19, 0, 32, 0, 64, 0, 62, 0, 39, 0, 34, 0, 102, 0, 81, 0, 194, 0, 212, 255, 241, 0, 64, 0, 212, 0, 103, 0, 80, 0, 54, 0, 233, 0, 121, 0, 76, 0, 99, 0, 6, 0, 174, 0, 6, 0, 233, 0, 121, 0, 99, 0, 121, 0, 54, 0, 72, 0, 71, 0, 83, 0, 64, 0, 64, 0, 63, 0, 59, 0, 62, 0, 1, 255, 226, 0, 62, 0, 71, 0, 72, 0, 53, 0, 39, 0, 32, 0, 102, 0, 53, 0, 81, 0, 100, 0, 194, 0, 80, 255, 241, 0, 97, 0, 108, 0, 55, 0, 99, 255, 247, 0, 121, 255, 228, 0, 6, 0, 108, 0, 73, 0, 124, 0, 92, 0, 92, 0, 35, 0, 54, 255, 228, 1, 128, 0, 1, 2, 24, 0, 39, 255, 242, 255, 226, 0, 97, 0, 5, 0, 72, 0, 53, 0, 108, 0, 55, 0, 132, 0, 85, 0, 177, 0, 166, 0, 46, 0, 79, 0, 100, 0, 122, 0, 212, 0, 157, 0, 64, 255, 176, 255, 163, 0, 64, 255, 226, 0, 97, 255, 226, 0, 97, 255, 178, 255, 241, 0, 72, 0, 108, 0, 77, 0, 138, 0, 138, 255, 176, 255, 163, 0, 46, 0, 79, 0, 53, 0, 55, 0, 53, 0, 55, 0, 102, 0, 99, 0, 95, 0, 68, 0, 95, 0, 68, 0, 78, 0, 80, 0, 1, 255, 228, 0, 1, 255, 228, 0, 1, 255, 228, 0, 228, 0, 159, 0, 35, 0, 35, 255, 241, 0, 6, 0, 118, 255, 202, 255, 210, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 255, 226, 0, 97, 0, 72, 0, 108, 0, 72, 0, 108, 0, 72, 0, 108, 0, 72, 0, 108, 0, 72, 0, 108, 0, 72, 0, 108, 0, 72, 0, 108, 0, 72, 0, 108, 0, 64, 0, 92, 0, 64, 0, 92, 0, 102, 0, 99, 0, 102, 0, 99, 0, 102, 0, 99, 0, 102, 0, 99, 0, 102, 0, 99, 0, 102, 0, 99, 0, 102, 0, 99, 0, 95, 0, 93, 0, 95, 0, 93, 0, 95, 0, 93, 0, 95, 0, 93, 0, 95, 0, 93, 0, 104, 0, 141, 0, 104, 0, 141, 0, 104, 0, 144, 0, 104, 0, 144, 0, 104, 0, 144, 0, 104, 0, 144, 0, 104, 0, 144, 0, 212, 255, 228, 0, 212, 255, 228, 0, 212, 255, 228, 0, 29, 0, 59, 0, 54, 0, 32, 0, 55, 0, 194, 0, 158, 255, 241, 0, 6, 0, 228, 0, 159, 0, 228, 0, 159, 0, 71, 0, 73, 255, 176, 255, 163, 0, 115, 0, 79, 0, 64, 0, 52, 0, 44, 0, 44, 0, 12, 255, 230, 0, 69, 0, 76, 0, 53, 0, 55, 0, 32, 0, 55, 0, 39, 0, 28, 255, 202, 255, 210, 0, 212, 0, 157, 255, 241, 0, 6, 0, 80, 0, 87, 0, 1, 0, 0, 8, 98, 253, 213, 0, 0, 4, 178, 252, 172, 254, 14, 6, 164, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 4, 178, 1, 144, 0, 5, 0, 0, 5, 154, 5, 51, 0, 0, 1, 31, 5, 154, 5, 51, 0, 0, 3, 209, 0, 102, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 91, 0, 0, 0, 32, 0, 0, 0, 0, 112, 121, 114, 115, 0, 1, 0, 13, 255, 253, 8, 98, 253, 213, 0, 0, 8, 98, 2, 43, 32, 0, 1, 159, 0, 0, 0, 0, 4, 58, 5, 176, 0, 0, 0, 32, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 20, 0, 3, 0, 1, 0, 0, 0, 20, 0, 4, 7, 60, 0, 0, 0, 190, 0, 128, 0, 6, 0, 62, 0, 13, 0, 47, 0, 57, 0, 64, 0, 90, 0, 96, 0, 122, 0, 126, 1, 127, 1, 146, 1, 161, 1, 176, 1, 240, 1, 255, 2, 27, 2, 55, 2, 89, 2, 188, 2, 199, 2, 201, 2, 221, 2, 243, 3, 1, 3, 3, 3, 9, 3, 15, 3, 35, 3, 138, 3, 140, 3, 146, 3, 161, 3, 176, 3, 185, 3, 201, 3, 206, 3, 210, 3, 214, 4, 37, 4, 47, 4, 69, 4, 79, 4, 98, 4, 111, 4, 119, 4, 134, 4, 206, 4, 215, 4, 225, 4, 245, 5, 1, 5, 16, 5, 19, 30, 1, 30, 63, 30, 133, 30, 241, 30, 243, 30, 249, 31, 77, 32, 11, 32, 21, 32, 30, 32, 34, 32, 38, 32, 48, 32, 51, 32, 58, 32, 60, 32, 68, 32, 116, 32, 127, 32, 164, 32, 167, 32, 172, 33, 5, 33, 19, 33, 22, 33, 34, 33, 46, 33, 94, 34, 2, 34, 15, 34, 18, 34, 21, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34, 101, 37, 202, 246, 195, 254, 255, 255, 253, 255, 255, 0, 0, 0, 13, 0, 32, 0, 48, 0, 58, 0, 65, 0, 91, 0, 97, 0, 123, 0, 160, 1, 146, 1, 160, 1, 175, 1, 240, 1, 250, 2, 24, 2, 55, 2, 89, 2, 188, 2, 198, 2, 201, 2, 216, 2, 243, 3, 0, 3, 3, 3, 9, 3, 15, 3, 35, 3, 132, 3, 140, 3, 142, 3, 147, 3, 163, 3, 177, 3, 186, 3, 202, 3, 209, 3, 214, 4, 0, 4, 38, 4, 48, 4, 70, 4, 80, 4, 99, 4, 112, 4, 120, 4, 136, 4, 207, 4, 216, 4, 226, 4, 246, 5, 2, 5, 17, 30, 0, 30, 62, 30, 128, 30, 160, 30, 242, 30, 244, 31, 77, 32, 0, 32, 19, 32, 23, 32, 32, 32, 37, 32, 48, 32, 50, 32, 57, 32, 60, 32, 68, 32, 116, 32, 127, 32, 163, 32, 167, 32, 171, 33, 5, 33, 19, 33, 22, 33, 34, 33, 46, 33, 91, 34, 2, 34, 15, 34, 17, 34, 21, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34, 100, 37, 202, 246, 195, 254, 255, 255, 252, 255, 255, 1, 92, 0, 0, 0, 6, 0, 0, 255, 193, 0, 0, 255, 187, 0, 0, 0, 0, 254, 196, 0, 0, 0, 0, 1, 51, 0, 0, 0, 98, 255, 58, 253, 248, 0, 104, 0, 0, 254, 149, 0, 0, 254, 127, 254, 115, 254, 114, 254, 109, 254, 104, 254, 66, 0, 0, 255, 76, 255, 75, 0, 0, 0, 0, 253, 212, 0, 0, 255, 44, 253, 200, 253, 197, 0, 0, 253, 131, 0, 0, 253, 123, 0, 0, 253, 112, 0, 0, 253, 108, 0, 0, 254, 108, 0, 0, 254, 105, 0, 0, 253, 20, 0, 0, 229, 39, 228, 231, 0, 0, 228, 198, 0, 0, 228, 196, 227, 220, 226, 37, 0, 0, 0, 0, 0, 0, 0, 0, 224, 93, 224, 64, 224, 65, 226, 230, 224, 71, 225, 192, 225, 182, 223, 180, 223, 178, 0, 0, 225, 50, 225, 37, 225, 35, 223, 114, 225, 12, 224, 224, 224, 61, 224, 49, 0, 0, 222, 116, 224, 40, 224, 37, 224, 25, 222, 59, 222, 34, 222, 34, 220, 123, 10, 165, 3, 71, 2, 75, 0, 1, 0, 0, 0, 188, 0, 0, 0, 216, 0, 0, 0, 226, 0, 0, 0, 234, 0, 240, 0, 0, 2, 172, 2, 174, 0, 0, 2, 174, 0, 0, 0, 0, 0, 0, 0, 0, 2, 176, 0, 0, 2, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 174, 0, 0, 0, 0, 2, 182, 2, 210, 0, 0, 2, 234, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 3, 74, 0, 0, 3, 114, 0, 0, 3, 148, 0, 0, 3, 160, 0, 0, 4, 42, 0, 0, 4, 58, 0, 0, 4, 78, 0, 0, 0, 0, 4, 78, 0, 0, 4, 86, 0, 0, 0, 0, 0, 0, 4, 82, 4, 86, 4, 100, 4, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 91, 0, 107, 0, 151, 0, 82, 0, 140, 0, 152, 0, 106, 0, 116, 0, 117, 0, 150, 0, 124, 0, 95, 0, 103, 0, 96, 0, 137, 0, 97, 0, 98, 0, 132, 0, 129, 0, 133, 0, 93, 0, 153, 0, 118, 0, 138, 0, 119, 0, 156, 0, 102, 1, 90, 0, 120, 0, 142, 0, 121, 0, 157, 2, 115, 0, 92, 0, 83, 0, 84, 0, 90, 0, 85, 0, 143, 0, 154, 1, 97, 0, 146, 0, 67, 1, 106, 0, 136, 2, 116, 0, 147, 1, 94, 0, 149, 0, 126, 0, 65, 0, 66, 1, 91, 1, 107, 0, 155, 0, 100, 1, 102, 0, 64, 0, 68, 1, 108, 0, 70, 0, 69, 0, 71, 0, 94, 0, 162, 0, 158, 0, 160, 0, 167, 0, 161, 0, 165, 0, 72, 0, 171, 0, 181, 0, 175, 0, 178, 0, 179, 0, 196, 0, 191, 0, 193, 0, 194, 0, 185, 0, 210, 0, 215, 0, 211, 0, 213, 0, 221, 0, 214, 0, 127, 0, 219, 0, 235, 0, 231, 0, 233, 0, 234, 0, 246, 0, 77, 0, 80, 1, 1, 0, 253, 0, 255, 1, 6, 1, 0, 1, 4, 0, 73, 1, 10, 1, 20, 1, 14, 1, 17, 1, 18, 1, 33, 1, 29, 1, 31, 1, 32, 0, 76, 1, 47, 1, 52, 1, 48, 1, 50, 1, 58, 1, 51, 0, 128, 1, 56, 1, 72, 1, 68, 1, 70, 1, 71, 1, 83, 0, 78, 1, 85, 0, 163, 1, 2, 0, 159, 0, 254, 0, 164, 1, 3, 0, 169, 1, 8, 0, 172, 1, 11, 2, 117, 2, 118, 0, 170, 1, 9, 0, 173, 1, 12, 0, 174, 1, 13, 0, 182, 1, 21, 0, 176, 1, 15, 0, 180, 1, 19, 0, 184, 1, 23, 0, 177, 1, 16, 0, 187, 1, 25, 0, 186, 1, 24, 2, 119, 2, 120, 0, 188, 1, 26, 0, 190, 1, 28, 0, 189, 1, 27, 0, 199, 1, 36, 0, 197, 1, 34, 0, 192, 1, 30, 0, 198, 1, 35, 0, 195, 1, 109, 1, 110, 1, 111, 0, 200, 1, 37, 0, 201, 1, 38, 0, 79, 0, 202, 1, 39, 0, 204, 1, 41, 0, 203, 1, 40, 0, 205, 1, 42, 0, 206, 1, 43, 0, 207, 1, 44, 0, 209, 1, 46, 0, 208, 1, 45, 2, 121, 0, 183, 1, 22, 0, 218, 1, 55, 0, 212, 1, 49, 0, 217, 1, 54, 0, 74, 0, 75, 0, 222, 1, 59, 0, 224, 1, 61, 0, 223, 1, 60, 0, 225, 1, 62, 0, 228, 1, 65, 0, 227, 1, 64, 0, 226, 1, 63, 2, 126, 2, 128, 0, 230, 1, 67, 0, 229, 1, 66, 0, 241, 1, 78, 0, 238, 1, 75, 0, 232, 1, 69, 0, 240, 1, 77, 0, 237, 1, 74, 0, 239, 1, 76, 0, 243, 1, 80, 0, 247, 1, 84, 0, 248, 0, 250, 1, 87, 0, 252, 1, 89, 0, 251, 1, 88, 1, 112, 0, 216, 1, 53, 0, 236, 1, 73, 0, 166, 1, 5, 0, 168, 1, 7, 0, 220, 1, 57, 1, 92, 1, 100, 1, 95, 1, 96, 1, 98, 1, 103, 1, 93, 1, 99, 1, 120, 1, 121, 2, 212, 1, 122, 2, 213, 2, 214, 2, 215, 1, 123, 1, 124, 2, 222, 2, 223, 2, 224, 1, 125, 2, 225, 2, 226, 1, 126, 2, 227, 2, 228, 1, 127, 2, 229, 1, 128, 2, 230, 1, 129, 2, 231, 2, 232, 1, 130, 2, 233, 1, 131, 1, 132, 2, 234, 2, 235, 2, 236, 2, 237, 2, 238, 2, 239, 2, 240, 2, 241, 1, 142, 2, 243, 2, 244, 1, 143, 2, 242, 1, 144, 1, 145, 1, 146, 1, 147, 1, 148, 1, 149, 1, 150, 2, 245, 1, 151, 1, 152, 3, 42, 2, 251, 1, 156, 2, 252, 1, 157, 2, 253, 2, 254, 2, 255, 3, 0, 1, 158, 1, 159, 1, 160, 3, 2, 3, 43, 3, 3, 1, 161, 3, 4, 1, 162, 3, 5, 3, 6, 1, 163, 3, 7, 1, 164, 1, 165, 1, 166, 3, 8, 3, 1, 1, 167, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 1, 168, 3, 16, 3, 17, 3, 18, 1, 179, 1, 180, 1, 181, 1, 182, 3, 19, 1, 183, 1, 184, 1, 185, 3, 20, 1, 186, 1, 187, 1, 188, 1, 189, 3, 21, 1, 190, 3, 22, 3, 23, 1, 191, 3, 24, 1, 192, 3, 25, 3, 44, 3, 26, 1, 203, 3, 27, 1, 204, 3, 28, 3, 29, 3, 30, 3, 31, 1, 205, 1, 206, 1, 207, 3, 32, 3, 45, 3, 33, 1, 208, 1, 209, 1, 210, 3, 212, 3, 46, 3, 47, 1, 224, 1, 225, 1, 226, 1, 227, 3, 48, 3, 49, 1, 243, 1, 244, 3, 217, 3, 218, 3, 211, 3, 210, 1, 245, 1, 246, 1, 247, 1, 248, 3, 213, 3, 214, 1, 249, 1, 250, 3, 205, 3, 206, 3, 50, 3, 51, 3, 191, 3, 192, 1, 251, 1, 252, 3, 215, 3, 216, 1, 253, 1, 254, 3, 193, 3, 194, 1, 255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 3, 52, 3, 53, 3, 195, 3, 196, 3, 54, 3, 55, 3, 225, 3, 226, 3, 197, 3, 198, 2, 5, 2, 6, 3, 199, 3, 200, 2, 7, 2, 8, 2, 9, 3, 209, 2, 10, 2, 11, 3, 207, 3, 208, 3, 56, 3, 57, 3, 58, 2, 12, 2, 13, 3, 223, 3, 224, 2, 14, 2, 15, 3, 219, 3, 220, 3, 201, 3, 202, 3, 221, 3, 222, 2, 16, 3, 69, 3, 68, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 2, 17, 2, 18, 3, 203, 3, 204, 3, 95, 3, 96, 2, 19, 2, 20, 3, 97, 3, 98, 3, 227, 3, 228, 2, 21, 3, 99, 3, 229, 3, 100, 3, 101, 0, 245, 1, 82, 0, 242, 1, 79, 0, 244, 1, 81, 0, 249, 1, 86, 0, 104, 0, 105, 3, 230, 2, 49, 0, 108, 0, 109, 0, 110, 2, 50, 0, 111, 0, 112, 0, 113, 0, 144, 0, 145, 0, 101, 2, 51, 0, 99, 3, 190, 2, 54, 2, 65, 0, 125, 184, 1, 255, 133, 176, 4, 141, 0, 0, 0, 0, 17, 0, 210, 0, 3, 0, 1, 4, 9, 0, 0, 0, 180, 0, 0, 0, 3, 0, 1, 4, 9, 0, 1, 0, 22, 0, 180, 0, 3, 0, 1, 4, 9, 0, 2, 0, 12, 0, 202, 0, 3, 0, 1, 4, 9, 0, 3, 0, 56, 0, 214, 0, 3, 0, 1, 4, 9, 0, 4, 0, 36, 1, 14, 0, 3, 0, 1, 4, 9, 0, 5, 0, 26, 1, 50, 0, 3, 0, 1, 4, 9, 0, 6, 0, 34, 1, 76, 0, 3, 0, 1, 4, 9, 0, 7, 0, 74, 1, 110, 0, 3, 0, 1, 4, 9, 0, 9, 0, 12, 1, 184, 0, 3, 0, 1, 4, 9, 0, 11, 0, 20, 1, 196, 0, 3, 0, 1, 4, 9, 0, 12, 0, 38, 1, 216, 0, 3, 0, 1, 4, 9, 0, 13, 0, 92, 1, 254, 0, 3, 0, 1, 4, 9, 0, 14, 0, 84, 2, 90, 0, 3, 0, 1, 4, 9, 1, 0, 0, 12, 2, 174, 0, 3, 0, 1, 4, 9, 1, 11, 0, 12, 0, 202, 0, 3, 0, 1, 4, 9, 1, 14, 0, 14, 2, 186, 0, 3, 0, 1, 4, 9, 1, 17, 0, 12, 0, 202, 0, 67, 0, 111, 0, 112, 0, 121, 0, 114, 0, 105, 0, 103, 0, 104, 0, 116, 0, 32, 0, 50, 0, 48, 0, 49, 0, 53, 0, 32, 0, 84, 0, 104, 0, 101, 0, 32, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 80, 0, 114, 0, 111, 0, 106, 0, 101, 0, 99, 0, 116, 0, 32, 0, 65, 0, 117, 0, 116, 0, 104, 0, 111, 0, 114, 0, 115, 0, 32, 0, 40, 0, 104, 0, 116, 0, 116, 0, 112, 0, 115, 0, 58, 0, 47, 0, 47, 0, 103, 0, 105, 0, 116, 0, 104, 0, 117, 0, 98, 0, 46, 0, 99, 0, 111, 0, 109, 0, 47, 0, 103, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 102, 0, 111, 0, 110, 0, 116, 0, 115, 0, 47, 0, 114, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 109, 0, 111, 0, 110, 0, 111, 0, 41, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 51, 0, 46, 0, 48, 0, 48, 0, 48, 0, 59, 0, 112, 0, 121, 0, 114, 0, 115, 0, 59, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 77, 0, 111, 0, 110, 0, 111, 0, 45, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 86, 0, 101, 0, 114, 0, 115, 0, 105, 0, 111, 0, 110, 0, 32, 0, 51, 0, 46, 0, 48, 0, 48, 0, 48, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 77, 0, 111, 0, 110, 0, 111, 0, 45, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 105, 0, 115, 0, 32, 0, 97, 0, 32, 0, 116, 0, 114, 0, 97, 0, 100, 0, 101, 0, 109, 0, 97, 0, 114, 0, 107, 0, 32, 0, 111, 0, 102, 0, 32, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 46, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 46, 0, 99, 0, 111, 0, 109, 0, 67, 0, 104, 0, 114, 0, 105, 0, 115, 0, 116, 0, 105, 0, 97, 0, 110, 0, 32, 0, 82, 0, 111, 0, 98, 0, 101, 0, 114, 0, 116, 0, 115, 0, 111, 0, 110, 0, 76, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 100, 0, 32, 0, 117, 0, 110, 0, 100, 0, 101, 0, 114, 0, 32, 0, 116, 0, 104, 0, 101, 0, 32, 0, 65, 0, 112, 0, 97, 0, 99, 0, 104, 0, 101, 0, 32, 0, 76, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 44, 0, 32, 0, 86, 0, 101, 0, 114, 0, 115, 0, 105, 0, 111, 0, 110, 0, 32, 0, 50, 0, 46, 0, 48, 0, 104, 0, 116, 0, 116, 0, 112, 0, 58, 0, 47, 0, 47, 0, 119, 0, 119, 0, 119, 0, 46, 0, 97, 0, 112, 0, 97, 0, 99, 0, 104, 0, 101, 0, 46, 0, 111, 0, 114, 0, 103, 0, 47, 0, 108, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 115, 0, 47, 0, 76, 0, 73, 0, 67, 0, 69, 0, 78, 0, 83, 0, 69, 0, 45, 0, 50, 0, 46, 0, 48, 0, 87, 0, 101, 0, 105, 0, 103, 0, 104, 0, 116, 0, 82, 0, 101, 0, 103, 0, 117, 0, 108, 0, 97, 0, 114, 0, 0, 0, 2, 0, 0, 255, 246, 0, 0, 255, 106, 0, 100, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 231, 0, 0, 0, 3, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, 68, 0, 69, 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91, 0, 92, 0, 93, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 241, 0, 242, 0, 243, 0, 157, 0, 158, 0, 244, 0, 245, 0, 246, 0, 144, 0, 160, 0, 176, 0, 177, 0, 234, 0, 237, 0, 238, 1, 2, 0, 137, 1, 3, 0, 7, 0, 132, 0, 133, 0, 150, 0, 166, 0, 247, 1, 4, 1, 5, 0, 189, 0, 4, 0, 163, 0, 34, 0, 162, 0, 15, 0, 17, 0, 29, 0, 30, 0, 171, 0, 195, 0, 135, 0, 66, 0, 16, 0, 178, 0, 179, 0, 10, 0, 5, 0, 182, 0, 183, 0, 196, 0, 180, 0, 181, 0, 197, 1, 6, 1, 7, 0, 11, 0, 12, 0, 62, 0, 64, 0, 94, 0, 96, 0, 190, 0, 191, 0, 14, 0, 239, 0, 147, 0, 240, 0, 184, 0, 32, 0, 143, 0, 167, 0, 31, 0, 33, 0, 148, 0, 149, 0, 164, 0, 18, 0, 63, 0, 188, 0, 8, 0, 198, 0, 95, 0, 232, 0, 130, 0, 194, 0, 139, 0, 138, 0, 140, 0, 131, 0, 13, 0, 6, 0, 9, 0, 35, 0, 134, 0, 136, 0, 65, 0, 97, 0, 201, 1, 8, 0, 199, 0, 98, 0, 173, 1, 9, 1, 10, 0, 99, 1, 11, 0, 174, 1, 12, 0, 253, 0, 255, 0, 100, 1, 13, 1, 14, 1, 15, 0, 101, 1, 16, 1, 17, 0, 200, 0, 202, 1, 18, 0, 203, 1, 19, 1, 20, 1, 21, 0, 233, 0, 248, 1, 22, 1, 23, 1, 24, 1, 25, 0, 204, 1, 26, 0, 205, 0, 206, 0, 250, 0, 207, 1, 27, 1, 28, 1, 29, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, 1, 35, 0, 226, 1, 36, 1, 37, 1, 38, 0, 102, 0, 208, 1, 39, 0, 209, 0, 103, 0, 211, 1, 40, 1, 41, 1, 42, 0, 145, 1, 43, 0, 175, 1, 44, 1, 45, 1, 46, 1, 47, 0, 228, 0, 251, 1, 48, 1, 49, 1, 50, 0, 212, 1, 51, 0, 213, 0, 104, 0, 214, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 59, 1, 60, 1, 61, 0, 235, 1, 62, 0, 187, 1, 63, 1, 64, 0, 230, 1, 65, 0, 105, 1, 66, 0, 107, 0, 108, 0, 106, 1, 67, 1, 68, 0, 110, 1, 69, 0, 109, 1, 70, 0, 254, 1, 0, 0, 111, 1, 71, 1, 72, 1, 1, 0, 112, 1, 73, 1, 74, 0, 114, 0, 115, 1, 75, 0, 113, 1, 76, 1, 77, 1, 78, 0, 249, 1, 79, 1, 80, 1, 81, 1, 82, 0, 116, 1, 83, 0, 118, 0, 119, 0, 117, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, 1, 89, 1, 90, 1, 91, 1, 92, 0, 227, 1, 93, 1, 94, 1, 95, 0, 120, 0, 121, 1, 96, 0, 123, 0, 124, 0, 122, 1, 97, 1, 98, 1, 99, 0, 161, 1, 100, 0, 125, 1, 101, 1, 102, 1, 103, 1, 104, 0, 229, 0, 252, 1, 105, 1, 106, 1, 107, 0, 126, 1, 108, 0, 128, 0, 129, 0, 127, 1, 109, 1, 110, 1, 111, 1, 112, 1, 113, 1, 114, 1, 115, 1, 116, 1, 117, 1, 118, 0, 236, 1, 119, 0, 186, 1, 120, 1, 121, 0, 231, 1, 122, 0, 67, 0, 141, 0, 216, 0, 217, 0, 218, 0, 219, 0, 220, 0, 142, 0, 221, 0, 223, 0, 225, 1, 123, 0, 222, 0, 224, 1, 124, 0, 2, 0, 169, 0, 151, 0, 170, 0, 215, 1, 125, 1, 126, 1, 127, 1, 128, 1, 129, 1, 130, 1, 131, 1, 132, 1, 133, 1, 134, 1, 135, 1, 136, 1, 137, 1, 138, 0, 168, 1, 139, 1, 140, 1, 141, 1, 142, 1, 143, 1, 144, 1, 145, 0, 159, 1, 146, 1, 147, 1, 148, 1, 149, 1, 150, 1, 151, 1, 152, 1, 153, 1, 154, 1, 155, 1, 156, 0, 155, 1, 157, 1, 158, 1, 159, 1, 160, 1, 161, 1, 162, 1, 163, 1, 164, 1, 165, 1, 166, 1, 167, 1, 168, 1, 169, 1, 170, 1, 171, 1, 172, 1, 173, 1, 174, 1, 175, 1, 176, 1, 177, 1, 178, 1, 179, 1, 180, 1, 181, 1, 182, 1, 183, 1, 184, 1, 185, 1, 186, 1, 187, 1, 188, 1, 189, 1, 190, 1, 191, 1, 192, 1, 193, 1, 194, 1, 195, 1, 196, 1, 197, 1, 198, 1, 199, 1, 200, 1, 201, 1, 202, 1, 203, 1, 204, 1, 205, 1, 206, 1, 207, 1, 208, 1, 209, 1, 210, 1, 211, 1, 212, 1, 213, 1, 214, 1, 215, 1, 216, 1, 217, 1, 218, 1, 219, 1, 220, 1, 221, 1, 222, 1, 223, 1, 224, 1, 225, 1, 226, 1, 227, 1, 228, 1, 229, 1, 230, 1, 231, 1, 232, 1, 233, 1, 234, 1, 235, 1, 236, 1, 237, 1, 238, 1, 239, 1, 240, 1, 241, 1, 242, 1, 243, 1, 244, 1, 245, 1, 246, 1, 247, 1, 248, 1, 249, 1, 250, 1, 251, 1, 252, 1, 253, 1, 254, 1, 255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 2, 42, 2, 43, 2, 44, 2, 45, 2, 46, 2, 47, 2, 48, 2, 49, 2, 50, 2, 51, 2, 52, 2, 53, 2, 54, 2, 55, 2, 56, 2, 57, 2, 58, 2, 59, 2, 60, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 0, 152, 0, 154, 0, 153, 0, 165, 0, 146, 0, 156, 0, 185, 2, 75, 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 104, 2, 105, 2, 106, 2, 107, 2, 108, 2, 109, 2, 110, 2, 111, 2, 112, 2, 113, 2, 114, 2, 115, 2, 116, 2, 117, 2, 118, 2, 119, 0, 172, 2, 120, 2, 121, 2, 122, 2, 123, 2, 124, 2, 125, 2, 126, 2, 127, 2, 128, 2, 129, 2, 130, 2, 131, 2, 132, 2, 133, 2, 134, 2, 135, 2, 136, 2, 137, 2, 138, 2, 139, 2, 140, 2, 141, 2, 142, 2, 143, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, 2, 149, 2, 150, 2, 151, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, 2, 165, 2, 166, 2, 167, 2, 168, 2, 169, 2, 170, 2, 171, 2, 172, 2, 173, 2, 174, 2, 175, 2, 176, 2, 177, 2, 178, 2, 179, 2, 180, 2, 181, 2, 182, 2, 183, 2, 184, 2, 185, 2, 186, 2, 187, 2, 188, 2, 189, 2, 190, 2, 191, 2, 192, 2, 193, 2, 194, 2, 195, 2, 196, 2, 197, 2, 198, 2, 199, 2, 200, 2, 201, 2, 202, 2, 203, 2, 204, 2, 205, 2, 206, 2, 207, 2, 208, 2, 209, 2, 210, 2, 211, 2, 212, 2, 213, 2, 214, 2, 215, 2, 216, 2, 217, 2, 218, 2, 219, 2, 220, 2, 221, 2, 222, 2, 223, 2, 224, 2, 225, 2, 226, 2, 227, 2, 228, 2, 229, 2, 230, 2, 231, 2, 232, 2, 233, 2, 234, 2, 235, 2, 236, 2, 237, 2, 238, 2, 239, 2, 240, 2, 241, 2, 242, 2, 243, 2, 244, 2, 245, 2, 246, 2, 247, 2, 248, 2, 249, 2, 250, 2, 251, 2, 252, 2, 253, 2, 254, 2, 255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, 3, 27, 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3, 100, 3, 101, 3, 102, 3, 103, 3, 104, 3, 105, 3, 106, 3, 107, 3, 108, 3, 109, 3, 110, 3, 111, 3, 112, 3, 113, 3, 114, 3, 115, 3, 116, 3, 117, 3, 118, 3, 119, 3, 120, 3, 121, 3, 122, 3, 123, 3, 124, 3, 125, 3, 126, 3, 127, 3, 128, 3, 129, 3, 130, 3, 131, 3, 132, 3, 133, 3, 134, 3, 135, 3, 136, 3, 137, 3, 138, 3, 139, 3, 140, 3, 141, 3, 142, 3, 143, 3, 144, 3, 145, 3, 146, 3, 147, 3, 148, 3, 149, 3, 150, 3, 151, 3, 152, 3, 153, 3, 154, 3, 155, 3, 156, 3, 157, 3, 158, 3, 159, 3, 160, 3, 161, 3, 162, 3, 163, 3, 164, 3, 165, 3, 166, 3, 167, 3, 168, 3, 169, 3, 170, 3, 171, 3, 172, 3, 173, 3, 174, 3, 175, 3, 176, 3, 177, 3, 178, 3, 179, 3, 180, 3, 181, 3, 182, 3, 183, 3, 184, 3, 185, 3, 186, 3, 187, 3, 188, 3, 189, 3, 190, 3, 191, 3, 192, 3, 193, 3, 194, 3, 195, 3, 196, 3, 197, 3, 198, 3, 199, 3, 200, 3, 201, 3, 202, 3, 203, 3, 204, 3, 205, 3, 206, 3, 207, 3, 208, 3, 209, 3, 210, 3, 211, 3, 212, 3, 213, 3, 214, 3, 215, 3, 216, 3, 217, 3, 218, 3, 219, 3, 220, 3, 221, 3, 222, 3, 223, 3, 224, 3, 225, 3, 226, 3, 227, 3, 228, 3, 229, 3, 230, 3, 231, 3, 232, 3, 233, 3, 234, 12, 107, 103, 114, 101, 101, 110, 108, 97, 110, 100, 105, 99, 5, 115, 99, 104, 119, 97, 4, 108, 105, 114, 97, 6, 112, 101, 115, 101, 116, 97, 6, 109, 105, 110, 117, 116, 101, 6, 115, 101, 99, 111, 110, 100, 6, 65, 98, 114, 101, 118, 101, 7, 65, 109, 97, 99, 114, 111, 110, 7, 65, 111, 103, 111, 110, 101, 107, 10, 65, 114, 105, 110, 103, 97, 99, 117, 116, 101, 7, 65, 69, 97, 99, 117, 116, 101, 11, 67, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 68, 99, 97, 114, 111, 110, 6, 68, 99, 114, 111, 97, 116, 6, 69, 98, 114, 101, 118, 101, 6, 69, 99, 97, 114, 111, 110, 10, 69, 100, 111, 116, 97, 99, 99, 101, 110, 116, 7, 69, 109, 97, 99, 114, 111, 110, 3, 69, 110, 103, 7, 69, 111, 103, 111, 110, 101, 107, 11, 71, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 71, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 72, 98, 97, 114, 11, 72, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 73, 98, 114, 101, 118, 101, 7, 73, 109, 97, 99, 114, 111, 110, 7, 73, 111, 103, 111, 110, 101, 107, 6, 73, 116, 105, 108, 100, 101, 11, 74, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 75, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 76, 97, 99, 117, 116, 101, 6, 76, 99, 97, 114, 111, 110, 12, 76, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 76, 100, 111, 116, 6, 78, 97, 99, 117, 116, 101, 6, 78, 99, 97, 114, 111, 110, 12, 78, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 79, 98, 114, 101, 118, 101, 5, 79, 104, 111, 114, 110, 13, 79, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 79, 109, 97, 99, 114, 111, 110, 11, 79, 115, 108, 97, 115, 104, 97, 99, 117, 116, 101, 6, 82, 97, 99, 117, 116, 101, 6, 82, 99, 97, 114, 111, 110, 12, 82, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 83, 97, 99, 117, 116, 101, 11, 83, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 4, 84, 98, 97, 114, 6, 84, 99, 97, 114, 111, 110, 6, 85, 98, 114, 101, 118, 101, 5, 85, 104, 111, 114, 110, 13, 85, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 85, 109, 97, 99, 114, 111, 110, 7, 85, 111, 103, 111, 110, 101, 107, 5, 85, 114, 105, 110, 103, 6, 85, 116, 105, 108, 100, 101, 6, 87, 97, 99, 117, 116, 101, 11, 87, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 9, 87, 100, 105, 101, 114, 101, 115, 105, 115, 6, 87, 103, 114, 97, 118, 101, 11, 89, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 89, 103, 114, 97, 118, 101, 6, 90, 97, 99, 117, 116, 101, 10, 90, 100, 111, 116, 97, 99, 99, 101, 110, 116, 6, 97, 98, 114, 101, 118, 101, 7, 97, 109, 97, 99, 114, 111, 110, 7, 97, 111, 103, 111, 110, 101, 107, 10, 97, 114, 105, 110, 103, 97, 99, 117, 116, 101, 7, 97, 101, 97, 99, 117, 116, 101, 11, 99, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 100, 99, 97, 114, 111, 110, 6, 101, 98, 114, 101, 118, 101, 6, 101, 99, 97, 114, 111, 110, 10, 101, 100, 111, 116, 97, 99, 99, 101, 110, 116, 7, 101, 109, 97, 99, 114, 111, 110, 3, 101, 110, 103, 7, 101, 111, 103, 111, 110, 101, 107, 11, 103, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 103, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 104, 98, 97, 114, 11, 104, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 105, 98, 114, 101, 118, 101, 7, 105, 109, 97, 99, 114, 111, 110, 7, 105, 111, 103, 111, 110, 101, 107, 6, 105, 116, 105, 108, 100, 101, 11, 106, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 107, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 108, 97, 99, 117, 116, 101, 6, 108, 99, 97, 114, 111, 110, 12, 108, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 108, 100, 111, 116, 6, 110, 97, 99, 117, 116, 101, 6, 110, 99, 97, 114, 111, 110, 12, 110, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 111, 98, 114, 101, 118, 101, 5, 111, 104, 111, 114, 110, 13, 111, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 111, 109, 97, 99, 114, 111, 110, 11, 111, 115, 108, 97, 115, 104, 97, 99, 117, 116, 101, 6, 114, 97, 99, 117, 116, 101, 6, 114, 99, 97, 114, 111, 110, 12, 114, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 115, 97, 99, 117, 116, 101, 11, 115, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 4, 116, 98, 97, 114, 6, 116, 99, 97, 114, 111, 110, 6, 117, 98, 114, 101, 118, 101, 5, 117, 104, 111, 114, 110, 13, 117, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 117, 109, 97, 99, 114, 111, 110, 7, 117, 111, 103, 111, 110, 101, 107, 5, 117, 114, 105, 110, 103, 6, 117, 116, 105, 108, 100, 101, 6, 119, 97, 99, 117, 116, 101, 11, 119, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 9, 119, 100, 105, 101, 114, 101, 115, 105, 115, 6, 119, 103, 114, 97, 118, 101, 11, 121, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 121, 103, 114, 97, 118, 101, 6, 122, 97, 99, 117, 116, 101, 10, 122, 100, 111, 116, 97, 99, 99, 101, 110, 116, 8, 100, 111, 116, 98, 101, 108, 111, 119, 11, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 2, 73, 74, 2, 105, 106, 5, 108, 111, 110, 103, 115, 7, 117, 110, 105, 48, 50, 51, 55, 7, 117, 110, 105, 48, 50, 70, 51, 9, 103, 114, 97, 118, 101, 99, 111, 109, 98, 9, 97, 99, 117, 116, 101, 99, 111, 109, 98, 9, 116, 105, 108, 100, 101, 99, 111, 109, 98, 4, 104, 111, 111, 107, 7, 117, 110, 105, 48, 51, 48, 70, 5, 116, 111, 110, 111, 115, 13, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 9, 97, 110, 111, 116, 101, 108, 101, 105, 97, 5, 71, 97, 109, 109, 97, 5, 84, 104, 101, 116, 97, 6, 76, 97, 109, 98, 100, 97, 2, 88, 105, 2, 80, 105, 5, 83, 105, 103, 109, 97, 3, 80, 104, 105, 3, 80, 115, 105, 5, 97, 108, 112, 104, 97, 4, 98, 101, 116, 97, 5, 103, 97, 109, 109, 97, 5, 100, 101, 108, 116, 97, 7, 101, 112, 115, 105, 108, 111, 110, 4, 122, 101, 116, 97, 3, 101, 116, 97, 5, 116, 104, 101, 116, 97, 4, 105, 111, 116, 97, 6, 108, 97, 109, 98, 100, 97, 2, 120, 105, 3, 114, 104, 111, 6, 115, 105, 103, 109, 97, 49, 5, 115, 105, 103, 109, 97, 3, 116, 97, 117, 7, 117, 112, 115, 105, 108, 111, 110, 3, 112, 104, 105, 3, 112, 115, 105, 5, 111, 109, 101, 103, 97, 7, 117, 110, 105, 48, 51, 68, 49, 7, 117, 110, 105, 48, 51, 68, 50, 7, 117, 110, 105, 48, 51, 68, 54, 7, 117, 110, 105, 48, 52, 48, 50, 7, 117, 110, 105, 48, 52, 48, 52, 7, 117, 110, 105, 48, 52, 48, 57, 7, 117, 110, 105, 48, 52, 48, 65, 7, 117, 110, 105, 48, 52, 48, 66, 7, 117, 110, 105, 48, 52, 48, 70, 7, 117, 110, 105, 48, 52, 49, 49, 7, 117, 110, 105, 48, 52, 49, 52, 7, 117, 110, 105, 48, 52, 49, 54, 7, 117, 110, 105, 48, 52, 49, 55, 7, 117, 110, 105, 48, 52, 49, 56, 7, 117, 110, 105, 48, 52, 49, 66, 7, 117, 110, 105, 48, 52, 50, 51, 7, 117, 110, 105, 48, 52, 50, 54, 7, 117, 110, 105, 48, 52, 50, 55, 7, 117, 110, 105, 48, 52, 50, 56, 7, 117, 110, 105, 48, 52, 50, 57, 7, 117, 110, 105, 48, 52, 50, 65, 7, 117, 110, 105, 48, 52, 50, 66, 7, 117, 110, 105, 48, 52, 50, 67, 7, 117, 110, 105, 48, 52, 50, 68, 7, 117, 110, 105, 48, 52, 50, 69, 7, 117, 110, 105, 48, 52, 50, 70, 7, 117, 110, 105, 48, 52, 51, 49, 7, 117, 110, 105, 48, 52, 51, 50, 7, 117, 110, 105, 48, 52, 51, 51, 7, 117, 110, 105, 48, 52, 51, 52, 7, 117, 110, 105, 48, 52, 51, 54, 7, 117, 110, 105, 48, 52, 51, 55, 7, 117, 110, 105, 48, 52, 51, 56, 7, 117, 110, 105, 48, 52, 51, 65, 7, 117, 110, 105, 48, 52, 51, 66, 7, 117, 110, 105, 48, 52, 51, 67, 7, 117, 110, 105, 48, 52, 51, 68, 7, 117, 110, 105, 48, 52, 51, 70, 7, 117, 110, 105, 48, 52, 52, 50, 7, 117, 110, 105, 48, 52, 52, 52, 7, 117, 110, 105, 48, 52, 52, 54, 7, 117, 110, 105, 48, 52, 52, 55, 7, 117, 110, 105, 48, 52, 52, 56, 7, 117, 110, 105, 48, 52, 52, 57, 7, 117, 110, 105, 48, 52, 52, 65, 7, 117, 110, 105, 48, 52, 52, 66, 7, 117, 110, 105, 48, 52, 52, 67, 7, 117, 110, 105, 48, 52, 52, 68, 7, 117, 110, 105, 48, 52, 52, 69, 7, 117, 110, 105, 48, 52, 52, 70, 7, 117, 110, 105, 48, 52, 53, 50, 7, 117, 110, 105, 48, 52, 53, 52, 7, 117, 110, 105, 48, 52, 53, 57, 7, 117, 110, 105, 48, 52, 53, 65, 7, 117, 110, 105, 48, 52, 53, 66, 7, 117, 110, 105, 48, 52, 53, 70, 7, 117, 110, 105, 48, 52, 54, 48, 7, 117, 110, 105, 48, 52, 54, 49, 7, 117, 110, 105, 48, 52, 54, 51, 7, 117, 110, 105, 48, 52, 54, 52, 7, 117, 110, 105, 48, 52, 54, 53, 7, 117, 110, 105, 48, 52, 54, 54, 7, 117, 110, 105, 48, 52, 54, 55, 7, 117, 110, 105, 48, 52, 54, 56, 7, 117, 110, 105, 48, 52, 54, 57, 7, 117, 110, 105, 48, 52, 54, 65, 7, 117, 110, 105, 48, 52, 54, 66, 7, 117, 110, 105, 48, 52, 54, 67, 7, 117, 110, 105, 48, 52, 54, 68, 7, 117, 110, 105, 48, 52, 54, 69, 7, 117, 110, 105, 48, 52, 54, 70, 7, 117, 110, 105, 48, 52, 55, 50, 7, 117, 110, 105, 48, 52, 55, 51, 7, 117, 110, 105, 48, 52, 55, 52, 7, 117, 110, 105, 48, 52, 55, 53, 7, 117, 110, 105, 48, 52, 55, 56, 7, 117, 110, 105, 48, 52, 55, 57, 7, 117, 110, 105, 48, 52, 55, 65, 7, 117, 110, 105, 48, 52, 55, 66, 7, 117, 110, 105, 48, 52, 55, 67, 7, 117, 110, 105, 48, 52, 55, 68, 7, 117, 110, 105, 48, 52, 55, 69, 7, 117, 110, 105, 48, 52, 55, 70, 7, 117, 110, 105, 48, 52, 56, 48, 7, 117, 110, 105, 48, 52, 56, 49, 7, 117, 110, 105, 48, 52, 56, 50, 7, 117, 110, 105, 48, 52, 56, 51, 7, 117, 110, 105, 48, 52, 56, 52, 7, 117, 110, 105, 48, 52, 56, 53, 7, 117, 110, 105, 48, 52, 56, 54, 7, 117, 110, 105, 48, 52, 56, 56, 7, 117, 110, 105, 48, 52, 56, 57, 7, 117, 110, 105, 48, 52, 56, 69, 7, 117, 110, 105, 48, 52, 56, 70, 7, 117, 110, 105, 48, 52, 57, 48, 7, 117, 110, 105, 48, 52, 57, 49, 7, 117, 110, 105, 48, 52, 57, 52, 7, 117, 110, 105, 48, 52, 57, 53, 7, 117, 110, 105, 48, 52, 57, 67, 7, 117, 110, 105, 48, 52, 57, 68, 7, 117, 110, 105, 48, 52, 65, 48, 7, 117, 110, 105, 48, 52, 65, 49, 7, 117, 110, 105, 48, 52, 65, 52, 7, 117, 110, 105, 48, 52, 65, 53, 7, 117, 110, 105, 48, 52, 65, 54, 7, 117, 110, 105, 48, 52, 65, 55, 7, 117, 110, 105, 48, 52, 65, 56, 7, 117, 110, 105, 48, 52, 65, 57, 7, 117, 110, 105, 48, 52, 66, 52, 7, 117, 110, 105, 48, 52, 66, 53, 7, 117, 110, 105, 48, 52, 66, 56, 7, 117, 110, 105, 48, 52, 66, 57, 7, 117, 110, 105, 48, 52, 66, 65, 7, 117, 110, 105, 48, 52, 66, 67, 7, 117, 110, 105, 48, 52, 66, 68, 7, 117, 110, 105, 48, 52, 67, 51, 7, 117, 110, 105, 48, 52, 67, 52, 7, 117, 110, 105, 48, 52, 67, 55, 7, 117, 110, 105, 48, 52, 67, 56, 7, 117, 110, 105, 48, 52, 68, 56, 7, 117, 110, 105, 48, 52, 69, 48, 7, 117, 110, 105, 48, 52, 69, 49, 7, 117, 110, 105, 48, 52, 70, 65, 7, 117, 110, 105, 48, 52, 70, 66, 7, 117, 110, 105, 48, 53, 48, 48, 7, 117, 110, 105, 48, 53, 48, 50, 7, 117, 110, 105, 48, 53, 48, 51, 7, 117, 110, 105, 48, 53, 48, 52, 7, 117, 110, 105, 48, 53, 48, 53, 7, 117, 110, 105, 48, 53, 48, 54, 7, 117, 110, 105, 48, 53, 48, 55, 7, 117, 110, 105, 48, 53, 48, 56, 7, 117, 110, 105, 48, 53, 48, 57, 7, 117, 110, 105, 48, 53, 48, 65, 7, 117, 110, 105, 48, 53, 48, 66, 7, 117, 110, 105, 48, 53, 48, 67, 7, 117, 110, 105, 48, 53, 48, 68, 7, 117, 110, 105, 48, 53, 48, 69, 7, 117, 110, 105, 48, 53, 48, 70, 7, 117, 110, 105, 48, 53, 49, 48, 7, 117, 110, 105, 50, 48, 48, 48, 7, 117, 110, 105, 50, 48, 48, 49, 7, 117, 110, 105, 50, 48, 48, 50, 7, 117, 110, 105, 50, 48, 48, 51, 7, 117, 110, 105, 50, 48, 48, 52, 7, 117, 110, 105, 50, 48, 48, 53, 7, 117, 110, 105, 50, 48, 48, 54, 7, 117, 110, 105, 50, 48, 48, 55, 7, 117, 110, 105, 50, 48, 48, 56, 7, 117, 110, 105, 50, 48, 48, 57, 7, 117, 110, 105, 50, 48, 48, 65, 7, 117, 110, 105, 50, 48, 48, 66, 13, 117, 110, 100, 101, 114, 115, 99, 111, 114, 101, 100, 98, 108, 13, 113, 117, 111, 116, 101, 114, 101, 118, 101, 114, 115, 101, 100, 7, 117, 110, 105, 50, 48, 50, 53, 7, 117, 110, 105, 50, 48, 55, 52, 9, 110, 115, 117, 112, 101, 114, 105, 111, 114, 4, 69, 117, 114, 111, 7, 117, 110, 105, 50, 49, 48, 53, 7, 117, 110, 105, 50, 49, 49, 51, 7, 117, 110, 105, 50, 49, 49, 54, 9, 101, 115, 116, 105, 109, 97, 116, 101, 100, 9, 111, 110, 101, 101, 105, 103, 104, 116, 104, 12, 116, 104, 114, 101, 101, 101, 105, 103, 104, 116, 104, 115, 11, 102, 105, 118, 101, 101, 105, 103, 104, 116, 104, 115, 12, 115, 101, 118, 101, 110, 101, 105, 103, 104, 116, 104, 115, 7, 117, 110, 105, 70, 69, 70, 70, 7, 117, 110, 105, 70, 70, 70, 67, 7, 117, 110, 105, 70, 70, 70, 68, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 116, 105, 108, 100, 101, 99, 111, 109, 98, 18, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 104, 111, 111, 107, 99, 111, 109, 98, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 103, 114, 97, 118, 101, 99, 111, 109, 98, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 97, 99, 117, 116, 101, 99, 111, 109, 98, 14, 98, 114, 101, 118, 101, 103, 114, 97, 118, 101, 99, 111, 109, 98, 17, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 114, 111, 116, 97, 116, 101, 6, 65, 46, 115, 109, 99, 112, 6, 66, 46, 115, 109, 99, 112, 6, 67, 46, 115, 109, 99, 112, 6, 68, 46, 115, 109, 99, 112, 6, 69, 46, 115, 109, 99, 112, 6, 70, 46, 115, 109, 99, 112, 6, 71, 46, 115, 109, 99, 112, 6, 72, 46, 115, 109, 99, 112, 6, 73, 46, 115, 109, 99, 112, 6, 74, 46, 115, 109, 99, 112, 6, 75, 46, 115, 109, 99, 112, 6, 76, 46, 115, 109, 99, 112, 6, 77, 46, 115, 109, 99, 112, 6, 78, 46, 115, 109, 99, 112, 6, 79, 46, 115, 109, 99, 112, 6, 81, 46, 115, 109, 99, 112, 6, 82, 46, 115, 109, 99, 112, 6, 83, 46, 115, 109, 99, 112, 6, 84, 46, 115, 109, 99, 112, 6, 85, 46, 115, 109, 99, 112, 6, 86, 46, 115, 109, 99, 112, 6, 87, 46, 115, 109, 99, 112, 6, 88, 46, 115, 109, 99, 112, 6, 89, 46, 115, 109, 99, 112, 6, 90, 46, 115, 109, 99, 112, 13, 98, 114, 101, 118, 101, 104, 111, 111, 107, 99, 111, 109, 98, 14, 98, 114, 101, 118, 101, 97, 99, 117, 116, 101, 99, 111, 109, 98, 8, 99, 114, 111, 115, 115, 98, 97, 114, 9, 114, 105, 110, 103, 97, 99, 117, 116, 101, 9, 100, 97, 115, 105, 97, 111, 120, 105, 97, 14, 98, 114, 101, 118, 101, 116, 105, 108, 100, 101, 99, 111, 109, 98, 11, 99, 121, 114, 105, 108, 108, 105, 99, 116, 105, 99, 12, 99, 121, 114, 105, 108, 108, 105, 99, 104, 111, 111, 107, 6, 80, 46, 115, 109, 99, 112, 5, 75, 46, 97, 108, 116, 15, 71, 101, 114, 109, 97, 110, 100, 98, 108, 115, 46, 115, 109, 99, 112, 7, 117, 110, 105, 48, 48, 65, 68, 7, 117, 110, 105, 48, 49, 48, 65, 7, 117, 110, 105, 48, 49, 48, 66, 7, 117, 110, 105, 48, 49, 50, 48, 7, 117, 110, 105, 48, 49, 50, 49, 11, 110, 97, 112, 111, 115, 116, 114, 111, 112, 104, 101, 7, 117, 110, 105, 48, 50, 49, 56, 7, 117, 110, 105, 48, 50, 49, 57, 7, 117, 110, 105, 48, 50, 49, 65, 7, 117, 110, 105, 48, 50, 49, 66, 7, 117, 110, 105, 48, 49, 54, 50, 12, 117, 110, 105, 48, 49, 54, 50, 46, 115, 109, 99, 112, 7, 117, 110, 105, 48, 49, 54, 51, 11, 68, 99, 114, 111, 97, 116, 46, 115, 109, 99, 112, 8, 69, 116, 104, 46, 115, 109, 99, 112, 9, 84, 98, 97, 114, 46, 115, 109, 99, 112, 11, 65, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 65, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 65, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 65, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 14, 65, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 10, 65, 114, 105, 110, 103, 46, 115, 109, 99, 112, 15, 65, 114, 105, 110, 103, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 13, 67, 99, 101, 100, 105, 108, 108, 97, 46, 115, 109, 99, 112, 11, 69, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 69, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 69, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 69, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 73, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 73, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 73, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 73, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 78, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 11, 79, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 79, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 79, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 79, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 14, 79, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 85, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 85, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 85, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 85, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 89, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 12, 65, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 65, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 12, 65, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 11, 67, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 67, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 67, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 68, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 12, 69, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 69, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 15, 69, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 12, 69, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 11, 69, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 16, 71, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 71, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 17, 71, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 16, 72, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 73, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 12, 73, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 73, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 12, 73, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 15, 73, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 16, 74, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 17, 75, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 76, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 76, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 76, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 9, 76, 100, 111, 116, 46, 115, 109, 99, 112, 11, 78, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 78, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 78, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 12, 79, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 79, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 18, 79, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 46, 115, 109, 99, 112, 11, 82, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 82, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 82, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 83, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 83, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 13, 83, 99, 101, 100, 105, 108, 108, 97, 46, 115, 109, 99, 112, 11, 83, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 84, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 85, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 12, 85, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 85, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 10, 85, 114, 105, 110, 103, 46, 115, 109, 99, 112, 18, 85, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 46, 115, 109, 99, 112, 12, 85, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 16, 87, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 16, 89, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 89, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 90, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 15, 90, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 90, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 10, 65, 108, 112, 104, 97, 116, 111, 110, 111, 115, 12, 69, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 8, 69, 116, 97, 116, 111, 110, 111, 115, 9, 73, 111, 116, 97, 116, 111, 110, 111, 115, 12, 79, 109, 105, 99, 114, 111, 110, 116, 111, 110, 111, 115, 12, 85, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 10, 79, 109, 101, 103, 97, 116, 111, 110, 111, 115, 17, 105, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 5, 65, 108, 112, 104, 97, 4, 66, 101, 116, 97, 7, 69, 112, 115, 105, 108, 111, 110, 4, 90, 101, 116, 97, 3, 69, 116, 97, 4, 73, 111, 116, 97, 5, 75, 97, 112, 112, 97, 2, 77, 117, 2, 78, 117, 7, 79, 109, 105, 99, 114, 111, 110, 3, 82, 104, 111, 3, 84, 97, 117, 7, 85, 112, 115, 105, 108, 111, 110, 3, 67, 104, 105, 12, 73, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 15, 85, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 10, 97, 108, 112, 104, 97, 116, 111, 110, 111, 115, 12, 101, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 8, 101, 116, 97, 116, 111, 110, 111, 115, 9, 105, 111, 116, 97, 116, 111, 110, 111, 115, 20, 117, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 5, 107, 97, 112, 112, 97, 7, 111, 109, 105, 99, 114, 111, 110, 7, 117, 110, 105, 48, 51, 66, 67, 2, 110, 117, 3, 99, 104, 105, 12, 105, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 15, 117, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 12, 111, 109, 105, 99, 114, 111, 110, 116, 111, 110, 111, 115, 12, 117, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 10, 111, 109, 101, 103, 97, 116, 111, 110, 111, 115, 7, 117, 110, 105, 48, 52, 48, 49, 7, 117, 110, 105, 48, 52, 48, 51, 7, 117, 110, 105, 48, 52, 48, 53, 7, 117, 110, 105, 48, 52, 48, 54, 7, 117, 110, 105, 48, 52, 48, 55, 7, 117, 110, 105, 48, 52, 48, 56, 7, 117, 110, 105, 48, 52, 49, 65, 7, 117, 110, 105, 48, 52, 48, 67, 7, 117, 110, 105, 48, 52, 48, 69, 7, 117, 110, 105, 48, 52, 49, 48, 7, 117, 110, 105, 48, 52, 49, 50, 7, 117, 110, 105, 48, 52, 49, 51, 7, 117, 110, 105, 48, 52, 49, 53, 7, 117, 110, 105, 48, 52, 49, 57, 7, 117, 110, 105, 48, 52, 49, 67, 7, 117, 110, 105, 48, 52, 49, 68, 7, 117, 110, 105, 48, 52, 49, 69, 7, 117, 110, 105, 48, 52, 49, 70, 7, 117, 110, 105, 48, 52, 50, 48, 7, 117, 110, 105, 48, 52, 50, 49, 7, 117, 110, 105, 48, 52, 50, 50, 7, 117, 110, 105, 48, 52, 50, 52, 7, 117, 110, 105, 48, 52, 50, 53, 7, 117, 110, 105, 48, 52, 51, 48, 7, 117, 110, 105, 48, 52, 51, 53, 7, 117, 110, 105, 48, 52, 51, 57, 7, 117, 110, 105, 48, 52, 51, 69, 7, 117, 110, 105, 48, 52, 52, 48, 7, 117, 110, 105, 48, 52, 52, 49, 7, 117, 110, 105, 48, 52, 52, 51, 7, 117, 110, 105, 48, 52, 52, 53, 7, 117, 110, 105, 48, 52, 53, 49, 7, 117, 110, 105, 48, 52, 53, 51, 7, 117, 110, 105, 48, 52, 53, 53, 7, 117, 110, 105, 48, 52, 53, 54, 7, 117, 110, 105, 48, 52, 53, 55, 7, 117, 110, 105, 48, 52, 53, 56, 7, 117, 110, 105, 48, 52, 53, 67, 7, 117, 110, 105, 48, 52, 53, 69, 9, 101, 120, 99, 108, 97, 109, 100, 98, 108, 7, 117, 110, 105, 48, 49, 70, 48, 7, 117, 110, 105, 48, 50, 66, 67, 7, 117, 110, 105, 49, 69, 51, 69, 7, 117, 110, 105, 49, 69, 51, 70, 7, 117, 110, 105, 49, 69, 48, 48, 7, 117, 110, 105, 49, 69, 48, 49, 7, 117, 110, 105, 49, 70, 52, 68, 7, 117, 110, 105, 48, 52, 48, 48, 7, 117, 110, 105, 48, 52, 48, 68, 7, 117, 110, 105, 48, 52, 53, 48, 7, 117, 110, 105, 48, 52, 53, 68, 7, 117, 110, 105, 48, 52, 55, 48, 7, 117, 110, 105, 48, 52, 55, 49, 7, 117, 110, 105, 48, 52, 55, 54, 7, 117, 110, 105, 48, 52, 55, 55, 7, 117, 110, 105, 48, 52, 57, 56, 7, 117, 110, 105, 48, 52, 57, 57, 7, 117, 110, 105, 48, 52, 65, 65, 7, 117, 110, 105, 48, 52, 65, 66, 7, 117, 110, 105, 48, 52, 65, 69, 7, 117, 110, 105, 48, 52, 65, 70, 7, 117, 110, 105, 48, 52, 67, 48, 7, 117, 110, 105, 48, 52, 67, 49, 7, 117, 110, 105, 48, 52, 67, 50, 7, 117, 110, 105, 48, 52, 67, 70, 7, 117, 110, 105, 48, 52, 68, 48, 7, 117, 110, 105, 48, 52, 68, 49, 7, 117, 110, 105, 48, 52, 68, 50, 7, 117, 110, 105, 48, 52, 68, 51, 7, 117, 110, 105, 48, 52, 68, 52, 7, 117, 110, 105, 48, 52, 68, 53, 7, 117, 110, 105, 48, 52, 68, 54, 7, 117, 110, 105, 48, 52, 68, 55, 7, 117, 110, 105, 48, 52, 68, 65, 7, 117, 110, 105, 48, 52, 68, 57, 7, 117, 110, 105, 48, 52, 68, 66, 7, 117, 110, 105, 48, 52, 68, 67, 7, 117, 110, 105, 48, 52, 68, 68, 7, 117, 110, 105, 48, 52, 68, 69, 7, 117, 110, 105, 48, 52, 68, 70, 7, 117, 110, 105, 48, 52, 69, 50, 7, 117, 110, 105, 48, 52, 69, 51, 7, 117, 110, 105, 48, 52, 69, 52, 7, 117, 110, 105, 48, 52, 69, 53, 7, 117, 110, 105, 48, 52, 69, 54, 7, 117, 110, 105, 48, 52, 69, 55, 7, 117, 110, 105, 48, 52, 69, 56, 7, 117, 110, 105, 48, 52, 69, 57, 7, 117, 110, 105, 48, 52, 69, 65, 7, 117, 110, 105, 48, 52, 69, 66, 7, 117, 110, 105, 48, 52, 69, 67, 7, 117, 110, 105, 48, 52, 69, 68, 7, 117, 110, 105, 48, 52, 69, 69, 7, 117, 110, 105, 48, 52, 69, 70, 7, 117, 110, 105, 48, 52, 70, 48, 7, 117, 110, 105, 48, 52, 70, 49, 7, 117, 110, 105, 48, 52, 70, 50, 7, 117, 110, 105, 48, 52, 70, 51, 7, 117, 110, 105, 48, 52, 70, 52, 7, 117, 110, 105, 48, 52, 70, 53, 7, 117, 110, 105, 48, 52, 70, 56, 7, 117, 110, 105, 48, 52, 70, 57, 7, 117, 110, 105, 48, 52, 70, 67, 7, 117, 110, 105, 48, 52, 70, 68, 7, 117, 110, 105, 48, 53, 48, 49, 7, 117, 110, 105, 48, 53, 49, 50, 7, 117, 110, 105, 48, 53, 49, 51, 7, 117, 110, 105, 49, 69, 65, 48, 7, 117, 110, 105, 49, 69, 65, 49, 7, 117, 110, 105, 49, 69, 65, 50, 7, 117, 110, 105, 49, 69, 65, 51, 7, 117, 110, 105, 49, 69, 65, 52, 7, 117, 110, 105, 49, 69, 65, 53, 7, 117, 110, 105, 49, 69, 65, 54, 7, 117, 110, 105, 49, 69, 65, 55, 7, 117, 110, 105, 49, 69, 65, 56, 7, 117, 110, 105, 49, 69, 65, 57, 7, 117, 110, 105, 49, 69, 65, 65, 7, 117, 110, 105, 49, 69, 65, 66, 7, 117, 110, 105, 49, 69, 65, 67, 7, 117, 110, 105, 49, 69, 65, 68, 7, 117, 110, 105, 49, 69, 65, 69, 7, 117, 110, 105, 49, 69, 65, 70, 7, 117, 110, 105, 49, 69, 66, 48, 7, 117, 110, 105, 49, 69, 66, 49, 7, 117, 110, 105, 49, 69, 66, 50, 7, 117, 110, 105, 49, 69, 66, 51, 7, 117, 110, 105, 49, 69, 66, 52, 7, 117, 110, 105, 49, 69, 66, 53, 7, 117, 110, 105, 49, 69, 66, 54, 7, 117, 110, 105, 49, 69, 66, 55, 7, 117, 110, 105, 49, 69, 66, 56, 7, 117, 110, 105, 49, 69, 66, 57, 7, 117, 110, 105, 49, 69, 66, 65, 7, 117, 110, 105, 49, 69, 66, 66, 7, 117, 110, 105, 49, 69, 66, 67, 7, 117, 110, 105, 49, 69, 66, 68, 7, 117, 110, 105, 49, 69, 66, 69, 7, 117, 110, 105, 49, 69, 66, 70, 7, 117, 110, 105, 49, 69, 67, 48, 7, 117, 110, 105, 49, 69, 67, 49, 7, 117, 110, 105, 49, 69, 67, 50, 7, 117, 110, 105, 49, 69, 67, 51, 7, 117, 110, 105, 49, 69, 67, 52, 7, 117, 110, 105, 49, 69, 67, 53, 7, 117, 110, 105, 49, 69, 67, 54, 7, 117, 110, 105, 49, 69, 67, 55, 7, 117, 110, 105, 49, 69, 67, 56, 7, 117, 110, 105, 49, 69, 67, 57, 7, 117, 110, 105, 49, 69, 67, 65, 7, 117, 110, 105, 49, 69, 67, 66, 7, 117, 110, 105, 49, 69, 67, 67, 7, 117, 110, 105, 49, 69, 67, 68, 7, 117, 110, 105, 49, 69, 67, 69, 7, 117, 110, 105, 49, 69, 67, 70, 7, 117, 110, 105, 49, 69, 68, 48, 7, 117, 110, 105, 49, 69, 68, 49, 7, 117, 110, 105, 49, 69, 68, 50, 7, 117, 110, 105, 49, 69, 68, 51, 7, 117, 110, 105, 49, 69, 68, 52, 7, 117, 110, 105, 49, 69, 68, 53, 7, 117, 110, 105, 49, 69, 68, 54, 7, 117, 110, 105, 49, 69, 68, 55, 7, 117, 110, 105, 49, 69, 68, 56, 7, 117, 110, 105, 49, 69, 68, 57, 7, 117, 110, 105, 49, 69, 68, 65, 7, 117, 110, 105, 49, 69, 68, 66, 7, 117, 110, 105, 49, 69, 68, 67, 7, 117, 110, 105, 49, 69, 68, 68, 7, 117, 110, 105, 49, 69, 68, 69, 7, 117, 110, 105, 49, 69, 68, 70, 7, 117, 110, 105, 49, 69, 69, 48, 7, 117, 110, 105, 49, 69, 69, 49, 7, 117, 110, 105, 49, 69, 69, 50, 7, 117, 110, 105, 49, 69, 69, 51, 7, 117, 110, 105, 49, 69, 69, 52, 7, 117, 110, 105, 49, 69, 69, 53, 7, 117, 110, 105, 49, 69, 69, 54, 7, 117, 110, 105, 49, 69, 69, 55, 7, 117, 110, 105, 49, 69, 69, 56, 7, 117, 110, 105, 49, 69, 69, 57, 7, 117, 110, 105, 49, 69, 69, 65, 7, 117, 110, 105, 49, 69, 69, 66, 7, 117, 110, 105, 49, 69, 69, 67, 7, 117, 110, 105, 49, 69, 69, 68, 7, 117, 110, 105, 49, 69, 69, 69, 7, 117, 110, 105, 49, 69, 69, 70, 7, 117, 110, 105, 49, 69, 70, 48, 7, 117, 110, 105, 49, 69, 70, 49, 7, 117, 110, 105, 49, 69, 70, 52, 7, 117, 110, 105, 49, 69, 70, 53, 7, 117, 110, 105, 49, 69, 70, 54, 7, 117, 110, 105, 49, 69, 70, 55, 7, 117, 110, 105, 49, 69, 70, 56, 7, 117, 110, 105, 49, 69, 70, 57, 7, 117, 110, 105, 50, 48, 65, 66, 7, 117, 110, 105, 48, 52, 57, 65, 7, 117, 110, 105, 48, 52, 57, 66, 7, 117, 110, 105, 48, 52, 65, 50, 7, 117, 110, 105, 48, 52, 65, 51, 7, 117, 110, 105, 48, 52, 65, 67, 7, 117, 110, 105, 48, 52, 65, 68, 7, 117, 110, 105, 48, 52, 66, 50, 7, 117, 110, 105, 48, 52, 66, 51, 7, 117, 110, 105, 48, 52, 66, 54, 7, 117, 110, 105, 48, 52, 66, 55, 7, 117, 110, 105, 48, 52, 67, 66, 7, 117, 110, 105, 48, 52, 67, 67, 7, 117, 110, 105, 48, 52, 70, 54, 7, 117, 110, 105, 48, 52, 70, 55, 7, 117, 110, 105, 48, 52, 57, 54, 7, 117, 110, 105, 48, 52, 57, 55, 7, 117, 110, 105, 48, 52, 66, 69, 7, 117, 110, 105, 48, 52, 66, 70, 7, 117, 110, 105, 48, 52, 66, 66, 7, 117, 110, 105, 48, 52, 56, 68, 7, 117, 110, 105, 48, 52, 56, 67, 7, 117, 110, 105, 48, 52, 54, 50, 7, 117, 110, 105, 48, 52, 57, 50, 7, 117, 110, 105, 48, 52, 57, 51, 7, 117, 110, 105, 48, 52, 57, 69, 7, 117, 110, 105, 48, 52, 57, 70, 7, 117, 110, 105, 48, 52, 56, 65, 7, 117, 110, 105, 48, 52, 56, 66, 7, 117, 110, 105, 48, 52, 67, 57, 7, 117, 110, 105, 48, 52, 67, 65, 7, 117, 110, 105, 48, 52, 67, 68, 7, 117, 110, 105, 48, 52, 67, 69, 7, 117, 110, 105, 48, 52, 67, 53, 7, 117, 110, 105, 48, 52, 67, 54, 7, 117, 110, 105, 48, 52, 66, 48, 7, 117, 110, 105, 48, 52, 66, 49, 7, 117, 110, 105, 48, 52, 70, 69, 7, 117, 110, 105, 48, 52, 70, 70, 7, 117, 110, 105, 48, 53, 49, 49, 7, 117, 110, 105, 50, 48, 49, 53, 0, 1, 0, 1, 255, 255, 0, 15, 0, 1, 0, 0, 0, 10, 0, 48, 0, 62, 0, 4, 68, 70, 76, 84, 0, 26, 99, 121, 114, 108, 0, 26, 103, 114, 101, 107, 0, 26, 108, 97, 116, 110, 0, 26, 0, 4, 0, 0, 0, 0, 255, 255, 0, 1, 0, 0, 0, 1, 115, 109, 99, 112, 0, 8, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0, 1, 0, 0, 0, 1, 0, 8, 0, 2, 1, 190, 0, 220, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 112, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 112, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 130, 2, 114, 2, 133, 2, 160, 2, 134, 2, 136, 2, 132, 2, 159, 2, 161, 2, 137, 2, 138, 2, 135, 2, 162, 2, 164, 2, 139, 2, 163, 2, 165, 2, 129, 2, 141, 2, 167, 2, 170, 2, 142, 2, 143, 2, 168, 2, 140, 2, 166, 2, 169, 2, 130, 2, 172, 2, 171, 2, 173, 2, 174, 2, 145, 2, 177, 2, 146, 2, 147, 2, 179, 2, 144, 2, 176, 2, 178, 2, 175, 2, 180, 2, 181, 2, 182, 2, 184, 2, 183, 2, 185, 2, 186, 2, 188, 2, 187, 2, 148, 2, 150, 2, 190, 2, 151, 2, 153, 2, 149, 2, 191, 2, 189, 2, 152, 2, 192, 2, 194, 2, 193, 2, 195, 2, 198, 2, 197, 2, 196, 2, 131, 2, 199, 2, 155, 2, 202, 2, 156, 2, 157, 2, 154, 2, 204, 2, 201, 2, 205, 2, 203, 2, 200, 2, 206, 2, 158, 2, 207, 2, 208, 2, 209, 2, 211, 2, 210, 2, 133, 2, 160, 2, 134, 2, 136, 2, 132, 2, 159, 2, 161, 2, 137, 2, 138, 2, 135, 2, 162, 2, 164, 2, 139, 2, 163, 2, 165, 2, 129, 2, 141, 2, 167, 2, 170, 2, 142, 2, 143, 2, 168, 2, 140, 2, 166, 2, 169, 2, 172, 2, 171, 2, 173, 2, 174, 2, 145, 2, 177, 2, 146, 2, 147, 2, 144, 2, 176, 2, 178, 2, 175, 2, 180, 2, 181, 2, 182, 2, 184, 2, 183, 2, 185, 2, 186, 2, 188, 2, 187, 2, 148, 2, 150, 2, 190, 2, 151, 2, 153, 2, 149, 2, 191, 2, 189, 2, 152, 2, 192, 2, 194, 2, 193, 2, 195, 2, 198, 2, 197, 2, 196, 2, 131, 2, 199, 2, 155, 2, 202, 2, 156, 2, 157, 2, 154, 2, 204, 2, 201, 2, 205, 2, 203, 2, 200, 2, 206, 2, 158, 2, 207, 2, 208, 2, 209, 2, 211, 2, 210, 2, 127, 2, 127, 0, 2, 0, 26, 0, 2, 0, 53, 0, 0, 0, 76, 0, 76, 0, 52, 0, 80, 0, 80, 0, 53, 0, 158, 0, 167, 0, 54, 0, 169, 0, 182, 0, 64, 0, 184, 0, 188, 0, 78, 0, 190, 0, 205, 0, 83, 0, 207, 0, 215, 0, 99, 0, 217, 0, 218, 0, 108, 0, 221, 0, 235, 0, 110, 0, 237, 0, 241, 0, 125, 0, 243, 0, 243, 0, 130, 0, 246, 0, 248, 0, 131, 0, 250, 1, 6, 0, 134, 1, 8, 1, 21, 0, 147, 1, 23, 1, 26, 0, 161, 1, 28, 1, 42, 0, 165, 1, 44, 1, 52, 0, 180, 1, 54, 1, 55, 0, 189, 1, 58, 1, 72, 0, 191, 1, 74, 1, 78, 0, 206, 1, 80, 1, 80, 0, 211, 1, 83, 1, 85, 0, 212, 1, 87, 1, 89, 0, 215, 2, 126, 2, 126, 0, 218, 2, 128, 2, 128, 0, 219, 0, 1, 0, 1, 0, 8, 0, 2, 0, 0, 0, 20, 0, 2, 0, 0, 0, 36, 0, 2, 119, 103, 104, 116, 1, 0, 0, 0, 105, 116, 97, 108, 1, 11, 0, 1, 0, 4, 0, 20, 0, 3, 0, 0, 0, 2, 1, 14, 1, 144, 0, 0, 2, 188, 0, 0, 0, 1, 0, 1, 0, 0, 1, 17, 0, 1, 0, 0) font_name = "Roboto Mono" style_name = "Italic" @@ -295,7 +73,7 @@ cache/0/14/0/scale = 1.0 cache/0/14/0/kerning_overrides/16/0 = Vector2(0, 0) cache/0/14/0/kerning_overrides/14/0 = Vector2(0, 0) -[sub_resource type="FontFile" id="FontFile_xg6bo"] +[sub_resource type="FontFile" id="FontFile_qmdkd"] data = PackedByteArray(0, 1, 0, 0, 0, 14, 0, 128, 0, 3, 0, 96, 71, 83, 85, 66, 54, 189, 53, 203, 0, 1, 108, 220, 0, 0, 2, 168, 79, 83, 47, 50, 154, 14, 171, 99, 0, 1, 63, 156, 0, 0, 0, 96, 83, 84, 65, 84, 229, 216, 204, 44, 0, 1, 111, 132, 0, 0, 0, 64, 99, 109, 97, 112, 136, 53, 174, 103, 0, 1, 63, 252, 0, 0, 7, 80, 103, 97, 115, 112, 0, 0, 0, 16, 0, 1, 108, 212, 0, 0, 0, 8, 103, 108, 121, 102, 42, 86, 46, 152, 0, 0, 0, 236, 0, 1, 46, 146, 104, 101, 97, 100, 2, 60, 156, 14, 0, 1, 55, 112, 0, 0, 0, 54, 104, 104, 101, 97, 11, 181, 0, 151, 0, 1, 63, 120, 0, 0, 0, 36, 104, 109, 116, 120, 126, 110, 138, 127, 0, 1, 55, 168, 0, 0, 7, 208, 108, 111, 99, 97, 173, 101, 247, 125, 0, 1, 47, 160, 0, 0, 7, 208, 109, 97, 120, 112, 4, 6, 1, 98, 0, 1, 47, 128, 0, 0, 0, 32, 110, 97, 109, 101, 102, 36, 140, 84, 0, 1, 71, 84, 0, 0, 3, 196, 112, 111, 115, 116, 151, 175, 175, 6, 0, 1, 75, 24, 0, 0, 33, 188, 112, 114, 101, 112, 104, 6, 140, 133, 0, 1, 71, 76, 0, 0, 0, 7, 0, 2, 255, 174, 0, 0, 4, 60, 5, 176, 0, 7, 0, 10, 0, 0, 65, 19, 33, 3, 35, 1, 33, 19, 55, 19, 19, 3, 6, 29, 1, 25, 202, 249, 253, 53, 1, 41, 136, 109, 240, 51, 1, 48, 254, 208, 5, 176, 250, 80, 1, 48, 239, 2, 21, 253, 235, 0, 0, 3, 0, 20, 255, 255, 4, 175, 5, 176, 0, 26, 0, 41, 0, 56, 0, 0, 115, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 19, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 19, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 20, 2, 19, 105, 196, 77, 76, 98, 8, 3, 18, 22, 22, 71, 50, 53, 91, 35, 34, 42, 5, 8, 72, 65, 65, 172, 92, 254, 52, 134, 1, 11, 49, 70, 21, 19, 14, 7, 8, 50, 37, 38, 93, 50, 229, 107, 67, 214, 45, 76, 26, 26, 24, 7, 8, 52, 38, 39, 94, 49, 1, 49, 53, 53, 166, 115, 50, 97, 41, 41, 64, 18, 22, 61, 39, 39, 99, 60, 105, 146, 47, 46, 43, 2, 1, 252, 210, 1, 2, 31, 28, 26, 73, 45, 53, 78, 26, 27, 26, 1, 2, 2, 106, 1, 126, 1, 1, 21, 21, 22, 69, 50, 54, 75, 24, 24, 22, 0, 1, 0, 74, 255, 232, 4, 156, 5, 199, 0, 63, 0, 0, 65, 5, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 21, 5, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 4, 51, 254, 242, 11, 44, 34, 34, 94, 60, 53, 68, 20, 20, 16, 1, 8, 5, 28, 6, 22, 17, 17, 49, 34, 33, 88, 57, 60, 76, 22, 21, 15, 1, 16, 3, 56, 54, 55, 166, 112, 92, 157, 65, 65, 103, 38, 38, 51, 12, 29, 10, 5, 18, 17, 66, 51, 50, 138, 89, 110, 194, 75, 75, 98, 1, 201, 2, 56, 93, 33, 33, 36, 3, 2, 43, 35, 34, 88, 46, 46, 90, 37, 199, 45, 98, 48, 47, 86, 32, 31, 37, 2, 2, 43, 35, 35, 94, 53, 1, 106, 178, 65, 65, 75, 2, 2, 50, 45, 45, 125, 73, 73, 162, 81, 196, 77, 155, 71, 72, 125, 46, 47, 55, 2, 3, 67, 63, 63, 178, 0, 2, 0, 17, 255, 255, 4, 124, 5, 176, 0, 21, 0, 43, 0, 0, 115, 33, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 37, 23, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 39, 17, 1, 138, 95, 170, 72, 79, 131, 48, 43, 58, 13, 17, 11, 19, 30, 25, 83, 52, 62, 159, 97, 254, 160, 237, 104, 59, 86, 30, 29, 35, 8, 7, 1, 6, 17, 8, 31, 25, 36, 86, 59, 36, 87, 49, 91, 1, 46, 42, 44, 131, 81, 71, 165, 88, 120, 94, 177, 76, 65, 110, 42, 47, 55, 2, 1, 228, 1, 3, 39, 32, 33, 85, 48, 48, 101, 48, 123, 55, 108, 47, 68, 94, 31, 19, 21, 2, 0, 0, 1, 0, 38, 0, 0, 4, 217, 5, 176, 0, 11, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 33, 55, 33, 19, 3, 236, 39, 253, 187, 64, 2, 163, 40, 252, 74, 253, 3, 185, 40, 253, 89, 72, 2, 126, 222, 1, 111, 229, 250, 80, 227, 1, 155, 0, 0, 1, 0, 40, 0, 0, 4, 225, 5, 176, 0, 9, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 33, 19, 4, 1, 40, 253, 162, 69, 2, 168, 41, 252, 67, 252, 1, 19, 105, 2, 91, 228, 1, 140, 229, 250, 80, 2, 91, 0, 0, 1, 0, 82, 255, 234, 4, 151, 5, 197, 0, 61, 0, 0, 101, 19, 33, 7, 51, 3, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 33, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 36, 4, 9, 90, 254, 5, 37, 235, 51, 45, 114, 56, 53, 71, 21, 22, 20, 2, 3, 7, 5, 29, 6, 23, 19, 18, 50, 34, 34, 85, 53, 53, 71, 22, 22, 20, 2, 1, 10, 5, 59, 54, 55, 161, 107, 91, 155, 64, 64, 102, 37, 38, 50, 12, 29, 10, 6, 18, 17, 67, 51, 50, 139, 90, 132, 1, 29, 169, 2, 63, 210, 254, 247, 35, 29, 2, 2, 42, 35, 34, 86, 47, 46, 90, 38, 201, 42, 96, 48, 47, 87, 33, 33, 38, 2, 2, 35, 30, 30, 82, 48, 103, 167, 59, 58, 64, 2, 1, 50, 45, 46, 125, 72, 73, 160, 80, 198, 78, 155, 71, 71, 124, 46, 46, 55, 2, 2, 86, 0, 0, 1, 0, 15, 0, 0, 4, 185, 5, 176, 0, 11, 0, 0, 97, 19, 33, 3, 33, 19, 33, 3, 33, 19, 33, 3, 3, 188, 253, 254, 241, 104, 254, 114, 104, 254, 239, 252, 1, 16, 110, 1, 142, 110, 5, 176, 253, 171, 2, 85, 250, 80, 2, 119, 253, 137, 0, 1, 0, 82, 0, 0, 4, 130, 5, 176, 0, 11, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 33, 55, 1, 79, 40, 1, 13, 174, 254, 244, 40, 3, 51, 40, 254, 236, 174, 1, 19, 40, 5, 176, 227, 252, 21, 226, 226, 3, 235, 227, 0, 1, 0, 71, 255, 234, 4, 192, 5, 176, 0, 27, 0, 0, 65, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 37, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 3, 173, 172, 8, 42, 32, 32, 86, 52, 53, 67, 19, 19, 12, 2, 254, 237, 3, 52, 54, 53, 160, 104, 105, 186, 74, 73, 98, 15, 171, 5, 176, 252, 14, 48, 88, 33, 34, 39, 1, 1, 35, 30, 29, 81, 47, 1, 102, 165, 58, 59, 64, 1, 2, 68, 63, 62, 173, 103, 3, 241, 0, 0, 1, 0, 20, 0, 0, 5, 82, 5, 176, 0, 12, 0, 0, 65, 19, 33, 1, 1, 33, 1, 7, 19, 33, 3, 33, 19, 2, 44, 244, 1, 55, 254, 164, 2, 87, 254, 160, 254, 93, 157, 114, 254, 237, 253, 1, 20, 72, 2, 83, 253, 173, 3, 32, 2, 144, 254, 34, 175, 2, 141, 250, 80, 1, 162, 0, 0, 1, 0, 41, 0, 0, 3, 249, 5, 176, 0, 5, 0, 0, 101, 19, 33, 3, 33, 55, 1, 99, 214, 254, 236, 252, 3, 168, 40, 227, 4, 205, 250, 80, 227, 0, 0, 1, 0, 18, 0, 0, 4, 212, 5, 176, 0, 14, 0, 0, 65, 33, 3, 51, 27, 2, 51, 1, 3, 3, 51, 19, 33, 3, 2, 96, 254, 175, 253, 252, 73, 106, 61, 137, 1, 29, 124, 77, 252, 253, 254, 168, 246, 5, 176, 250, 80, 1, 164, 2, 163, 253, 153, 2, 98, 253, 120, 254, 70, 5, 176, 253, 225, 0, 0, 1, 0, 15, 0, 0, 4, 184, 5, 176, 0, 9, 0, 0, 97, 19, 33, 3, 3, 33, 3, 33, 19, 19, 3, 187, 253, 254, 237, 166, 229, 254, 241, 252, 1, 20, 165, 232, 5, 176, 252, 79, 3, 177, 250, 80, 3, 181, 252, 75, 0, 2, 0, 73, 255, 234, 4, 138, 5, 198, 0, 37, 0, 75, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 3, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 95, 33, 10, 8, 18, 19, 68, 51, 52, 137, 88, 91, 154, 63, 63, 100, 36, 37, 49, 12, 33, 10, 6, 17, 17, 64, 50, 49, 135, 87, 92, 156, 65, 65, 103, 39, 38, 50, 232, 33, 7, 22, 17, 18, 50, 33, 34, 86, 54, 51, 65, 19, 19, 16, 1, 7, 5, 33, 6, 20, 16, 15, 46, 32, 31, 84, 55, 51, 68, 21, 21, 20, 3, 2, 6, 2, 110, 211, 76, 154, 71, 70, 123, 47, 46, 54, 2, 2, 49, 44, 45, 124, 72, 72, 159, 80, 212, 75, 152, 70, 71, 123, 46, 47, 55, 2, 2, 48, 44, 44, 123, 72, 72, 160, 1, 39, 215, 43, 96, 46, 47, 84, 31, 31, 35, 2, 2, 43, 34, 34, 86, 45, 45, 86, 35, 215, 43, 95, 46, 46, 83, 32, 31, 35, 2, 2, 42, 33, 33, 84, 44, 45, 88, 0, 2, 0, 40, 0, 0, 4, 184, 5, 176, 0, 16, 0, 31, 0, 0, 65, 23, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 33, 19, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 1, 151, 224, 105, 197, 78, 78, 101, 9, 9, 59, 59, 60, 168, 101, 254, 43, 252, 1, 18, 132, 81, 223, 50, 72, 22, 21, 14, 6, 7, 49, 37, 37, 94, 53, 2, 22, 1, 61, 59, 58, 171, 112, 104, 168, 60, 60, 66, 3, 1, 250, 80, 2, 250, 1, 210, 1, 2, 39, 31, 32, 83, 47, 54, 86, 30, 30, 33, 1, 0, 0, 2, 0, 71, 254, 255, 4, 146, 5, 198, 0, 40, 0, 78, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 23, 55, 39, 54, 54, 55, 54, 54, 3, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 97, 39, 10, 8, 18, 19, 69, 51, 51, 138, 88, 92, 154, 63, 64, 100, 37, 37, 49, 12, 40, 9, 11, 20, 20, 70, 50, 49, 131, 80, 37, 71, 35, 222, 192, 195, 38, 65, 26, 50, 63, 224, 40, 6, 23, 17, 16, 51, 33, 33, 85, 51, 47, 63, 20, 21, 20, 3, 4, 4, 5, 40, 6, 21, 16, 16, 46, 32, 32, 85, 55, 52, 69, 21, 21, 19, 2, 2, 6, 2, 66, 251, 76, 154, 72, 71, 124, 47, 46, 55, 2, 2, 49, 45, 45, 125, 72, 73, 159, 81, 252, 72, 143, 65, 66, 114, 42, 42, 50, 1, 1, 9, 8, 255, 151, 224, 30, 69, 37, 70, 164, 1, 88, 255, 39, 84, 39, 42, 74, 29, 29, 33, 2, 2, 36, 30, 29, 75, 40, 40, 80, 34, 255, 43, 96, 47, 46, 84, 32, 31, 36, 2, 2, 42, 33, 34, 85, 45, 45, 89, 0, 2, 0, 22, 0, 0, 4, 173, 5, 176, 0, 20, 0, 35, 0, 0, 65, 19, 33, 53, 3, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 33, 19, 55, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 2, 91, 171, 1, 36, 201, 70, 114, 42, 41, 50, 6, 9, 65, 62, 63, 173, 100, 254, 53, 253, 1, 19, 94, 39, 80, 213, 50, 76, 24, 24, 20, 7, 7, 51, 38, 39, 99, 55, 2, 32, 253, 224, 15, 2, 85, 28, 77, 51, 51, 128, 77, 108, 160, 53, 53, 55, 2, 1, 250, 80, 2, 32, 228, 1, 200, 1, 2, 31, 27, 28, 82, 52, 57, 88, 30, 30, 31, 0, 1, 0, 57, 255, 235, 4, 177, 5, 198, 0, 73, 0, 0, 65, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 55, 37, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 59, 7, 50, 36, 36, 87, 44, 60, 92, 29, 30, 30, 2, 254, 244, 3, 73, 67, 67, 182, 105, 98, 195, 75, 72, 98, 7, 6, 59, 53, 54, 144, 79, 37, 90, 38, 39, 46, 6, 6, 50, 36, 36, 87, 44, 52, 77, 26, 25, 25, 1, 1, 10, 3, 65, 60, 60, 168, 99, 95, 189, 77, 77, 102, 6, 6, 67, 58, 58, 151, 78, 41, 84, 33, 32, 35, 1, 131, 48, 69, 22, 23, 21, 1, 33, 31, 32, 92, 59, 1, 110, 173, 61, 61, 65, 2, 2, 47, 56, 53, 149, 105, 91, 147, 56, 56, 81, 27, 12, 33, 25, 24, 71, 51, 48, 71, 24, 23, 23, 1, 1, 32, 29, 29, 82, 49, 1, 102, 164, 58, 58, 64, 2, 2, 50, 52, 52, 156, 104, 93, 145, 54, 54, 77, 25, 14, 36, 26, 27, 74, 0, 0, 1, 0, 134, 0, 0, 5, 35, 5, 176, 0, 7, 0, 0, 65, 55, 33, 7, 33, 3, 33, 19, 4, 250, 41, 251, 139, 40, 1, 174, 213, 1, 19, 213, 4, 203, 229, 229, 251, 53, 4, 203, 0, 1, 0, 94, 255, 233, 4, 193, 5, 176, 0, 29, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 4, 193, 254, 240, 165, 8, 36, 30, 31, 90, 62, 56, 61, 13, 14, 1, 5, 162, 254, 238, 165, 12, 38, 49, 49, 159, 110, 119, 191, 70, 70, 88, 17, 5, 176, 252, 58, 52, 104, 41, 41, 49, 3, 3, 57, 42, 42, 97, 43, 3, 198, 252, 58, 102, 184, 69, 70, 83, 2, 3, 75, 69, 68, 190, 113, 0, 0, 1, 0, 167, 0, 0, 5, 21, 5, 176, 0, 8, 0, 0, 97, 33, 1, 33, 1, 7, 39, 3, 33, 1, 110, 1, 23, 2, 144, 254, 202, 254, 108, 26, 7, 92, 254, 217, 5, 176, 252, 42, 64, 73, 3, 205, 0, 1, 0, 127, 0, 0, 5, 27, 5, 176, 0, 18, 0, 0, 115, 51, 19, 55, 21, 3, 51, 1, 35, 3, 7, 55, 19, 35, 3, 7, 55, 19, 35, 127, 248, 230, 32, 1, 248, 1, 167, 255, 212, 27, 1, 10, 197, 225, 30, 4, 32, 248, 2, 240, 103, 113, 253, 26, 5, 176, 252, 252, 100, 104, 3, 0, 253, 5, 100, 103, 2, 248, 0, 1, 255, 184, 0, 0, 5, 38, 5, 176, 0, 11, 0, 0, 65, 3, 33, 1, 1, 33, 1, 19, 33, 1, 1, 33, 2, 140, 165, 254, 204, 1, 24, 253, 237, 1, 80, 1, 84, 176, 1, 51, 254, 224, 2, 7, 254, 178, 3, 168, 2, 8, 253, 58, 253, 22, 2, 16, 253, 240, 2, 210, 2, 222, 0, 1, 0, 186, 0, 0, 5, 63, 5, 176, 0, 8, 0, 0, 65, 3, 33, 1, 3, 33, 19, 1, 33, 2, 124, 162, 254, 224, 1, 15, 91, 1, 17, 86, 2, 106, 254, 199, 3, 19, 2, 157, 252, 98, 253, 238, 1, 235, 3, 197, 0, 1, 255, 248, 0, 0, 4, 212, 5, 176, 0, 9, 0, 0, 101, 1, 55, 33, 7, 33, 1, 7, 33, 55, 1, 112, 3, 73, 27, 252, 10, 37, 2, 165, 252, 183, 29, 4, 10, 35, 227, 4, 27, 178, 229, 251, 236, 183, 227, 0, 0, 2, 0, 58, 255, 235, 4, 27, 4, 80, 0, 56, 0, 79, 0, 0, 97, 33, 55, 38, 54, 55, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 37, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 39, 34, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 6, 22, 39, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 23, 7, 6, 6, 7, 6, 6, 2, 188, 1, 13, 1, 21, 9, 9, 75, 9, 57, 55, 56, 152, 85, 81, 165, 68, 68, 90, 6, 1, 15, 7, 29, 22, 23, 61, 36, 39, 62, 21, 20, 17, 6, 13, 156, 61, 125, 59, 59, 104, 40, 40, 49, 3, 3, 50, 46, 45, 123, 68, 58, 104, 46, 24, 46, 22, 1, 3, 231, 29, 49, 17, 17, 16, 4, 4, 18, 13, 16, 44, 23, 36, 82, 40, 123, 34, 19, 45, 24, 34, 78, 18, 58, 123, 59, 1, 209, 93, 140, 48, 47, 50, 2, 1, 39, 42, 43, 131, 90, 2, 33, 51, 16, 18, 17, 1, 1, 23, 21, 22, 62, 39, 67, 2, 14, 17, 17, 55, 41, 41, 110, 72, 72, 116, 40, 41, 45, 1, 1, 27, 26, 14, 35, 20, 26, 49, 168, 16, 15, 15, 46, 31, 27, 44, 17, 21, 29, 12, 15, 14, 1, 187, 23, 38, 14, 20, 20, 0, 0, 2, 0, 38, 255, 234, 4, 56, 6, 0, 0, 35, 0, 67, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 19, 33, 1, 51, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 37, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 47, 3, 6, 3, 12, 12, 49, 39, 40, 111, 74, 51, 90, 40, 23, 45, 21, 106, 254, 240, 254, 246, 246, 40, 15, 35, 20, 40, 97, 54, 78, 129, 51, 51, 78, 28, 28, 35, 254, 251, 2, 4, 16, 12, 14, 48, 35, 25, 57, 51, 26, 64, 23, 20, 30, 9, 75, 18, 43, 25, 27, 63, 37, 42, 56, 18, 17, 17, 3, 2, 4, 2, 24, 21, 61, 127, 60, 60, 107, 40, 40, 48, 2, 1, 24, 23, 14, 37, 22, 2, 41, 250, 0, 116, 22, 37, 15, 30, 31, 1, 2, 43, 39, 39, 108, 63, 62, 137, 88, 21, 36, 76, 35, 43, 77, 25, 19, 21, 16, 17, 15, 43, 28, 1, 178, 27, 44, 15, 17, 17, 1, 1, 31, 25, 25, 65, 35, 35, 71, 0, 1, 0, 96, 255, 233, 4, 49, 4, 81, 0, 60, 0, 0, 101, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 2, 19, 36, 53, 18, 26, 24, 5, 3, 3, 3, 4, 6, 27, 23, 12, 38, 22, 28, 72, 45, 43, 64, 21, 21, 18, 3, 255, 5, 53, 52, 53, 150, 93, 115, 191, 71, 80, 96, 14, 3, 6, 6, 12, 18, 83, 62, 46, 121, 74, 87, 169, 69, 68, 88, 5, 254, 6, 41, 29, 30, 73, 201, 1, 22, 18, 26, 75, 40, 35, 73, 32, 30, 48, 99, 43, 24, 48, 18, 22, 24, 1, 2, 31, 26, 26, 71, 40, 1, 93, 153, 56, 55, 62, 2, 3, 78, 72, 82, 203, 117, 31, 57, 111, 50, 78, 131, 45, 32, 38, 1, 2, 53, 51, 51, 147, 92, 2, 40, 64, 21, 22, 22, 0, 2, 0, 91, 255, 235, 4, 187, 6, 0, 0, 35, 0, 64, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 51, 1, 33, 3, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 5, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 100, 3, 6, 5, 13, 13, 50, 39, 39, 108, 72, 51, 90, 39, 29, 53, 24, 14, 243, 1, 10, 254, 240, 104, 18, 40, 23, 35, 83, 46, 78, 128, 52, 52, 79, 28, 29, 36, 1, 5, 2, 7, 34, 32, 32, 96, 68, 31, 51, 20, 21, 31, 11, 78, 19, 43, 24, 26, 62, 36, 39, 54, 17, 15, 17, 6, 7, 3, 2, 31, 22, 59, 125, 59, 60, 106, 40, 41, 49, 2, 1, 24, 22, 17, 44, 27, 113, 6, 0, 253, 215, 22, 36, 14, 22, 24, 1, 2, 44, 39, 40, 109, 63, 63, 136, 89, 21, 57, 120, 49, 49, 62, 1, 1, 15, 15, 14, 44, 28, 254, 72, 25, 42, 15, 17, 17, 1, 1, 29, 23, 19, 48, 28, 41, 89, 0, 2, 0, 85, 255, 235, 4, 76, 4, 80, 0, 36, 0, 50, 0, 0, 69, 22, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 55, 33, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 19, 22, 22, 23, 22, 22, 7, 7, 33, 54, 54, 55, 54, 54, 2, 44, 129, 245, 72, 123, 58, 151, 85, 54, 84, 28, 29, 30, 2, 2, 195, 18, 13, 37, 50, 51, 164, 113, 81, 146, 62, 49, 86, 36, 51, 65, 10, 4, 10, 58, 62, 61, 179, 220, 45, 69, 23, 22, 18, 7, 5, 254, 71, 19, 50, 34, 33, 86, 20, 1, 96, 100, 151, 60, 65, 3, 1, 39, 33, 33, 89, 52, 118, 105, 190, 74, 73, 88, 3, 2, 41, 37, 30, 81, 46, 70, 168, 90, 41, 110, 188, 69, 70, 82, 3, 129, 2, 33, 28, 28, 76, 44, 25, 44, 86, 34, 34, 40, 0, 0, 1, 0, 169, 0, 0, 5, 0, 6, 47, 0, 29, 0, 0, 97, 33, 19, 33, 55, 5, 55, 54, 54, 55, 54, 54, 23, 50, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 37, 7, 33, 1, 37, 1, 16, 153, 1, 121, 37, 254, 125, 13, 10, 43, 30, 39, 105, 63, 48, 95, 47, 42, 64, 128, 65, 108, 181, 69, 70, 92, 18, 11, 254, 244, 37, 1, 20, 3, 109, 205, 1, 61, 49, 74, 26, 34, 32, 1, 11, 11, 218, 11, 18, 1, 1, 58, 56, 56, 165, 106, 61, 1, 205, 0, 2, 0, 26, 254, 83, 4, 123, 4, 80, 0, 53, 0, 82, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 39, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 5, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 101, 3, 6, 6, 15, 14, 53, 41, 40, 111, 72, 45, 81, 37, 29, 54, 25, 14, 12, 52, 38, 38, 98, 58, 75, 120, 45, 139, 68, 202, 108, 110, 192, 75, 74, 98, 16, 178, 249, 36, 17, 42, 23, 38, 89, 48, 78, 131, 53, 54, 82, 30, 30, 38, 1, 6, 2, 7, 39, 34, 33, 100, 68, 28, 48, 21, 22, 36, 13, 82, 19, 41, 23, 27, 64, 36, 41, 57, 19, 19, 20, 4, 4, 2, 2, 30, 21, 60, 126, 59, 60, 106, 40, 41, 48, 1, 1, 18, 19, 14, 40, 24, 64, 56, 89, 31, 32, 33, 2, 2, 65, 58, 166, 85, 89, 2, 3, 61, 60, 59, 174, 110, 4, 23, 1, 105, 24, 39, 14, 23, 23, 1, 2, 43, 39, 40, 108, 63, 63, 138, 89, 21, 57, 121, 49, 49, 61, 1, 1, 12, 11, 13, 41, 28, 254, 51, 23, 38, 13, 16, 16, 1, 1, 31, 25, 24, 63, 35, 34, 71, 0, 0, 1, 0, 32, 0, 0, 4, 68, 6, 0, 0, 31, 0, 0, 65, 19, 33, 1, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 33, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 199, 115, 254, 241, 254, 245, 1, 15, 138, 22, 48, 26, 28, 61, 34, 49, 64, 18, 18, 9, 5, 111, 1, 16, 109, 9, 23, 36, 37, 129, 96, 64, 111, 46, 26, 48, 3, 163, 2, 93, 250, 0, 3, 14, 22, 35, 12, 12, 13, 1, 2, 34, 29, 30, 77, 45, 253, 110, 2, 143, 85, 160, 63, 62, 76, 1, 1, 41, 35, 20, 49, 0, 2, 0, 104, 0, 0, 3, 233, 5, 230, 0, 9, 0, 21, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 3, 20, 22, 55, 50, 54, 53, 52, 38, 7, 34, 6, 1, 36, 40, 1, 43, 109, 254, 213, 39, 3, 89, 40, 254, 227, 149, 246, 91, 64, 65, 92, 91, 64, 68, 89, 4, 58, 227, 253, 139, 226, 226, 3, 88, 1, 16, 66, 80, 2, 85, 69, 66, 80, 2, 88, 0, 2, 0, 48, 254, 73, 3, 219, 5, 230, 0, 23, 0, 35, 0, 0, 65, 7, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 23, 50, 54, 55, 54, 54, 55, 19, 3, 20, 22, 55, 50, 54, 53, 52, 38, 7, 34, 6, 1, 125, 40, 1, 9, 149, 7, 33, 24, 29, 83, 51, 36, 75, 35, 36, 45, 89, 45, 104, 173, 65, 65, 83, 14, 189, 244, 89, 65, 64, 93, 93, 63, 66, 89, 4, 58, 227, 252, 144, 41, 66, 23, 28, 28, 1, 1, 7, 8, 228, 8, 8, 1, 50, 52, 51, 156, 105, 4, 83, 1, 16, 65, 81, 2, 84, 70, 67, 79, 2, 88, 0, 0, 1, 0, 35, 0, 0, 4, 175, 6, 0, 0, 12, 0, 0, 65, 19, 33, 1, 1, 33, 1, 7, 19, 33, 1, 33, 19, 2, 2, 219, 1, 60, 254, 176, 1, 230, 254, 168, 254, 169, 90, 151, 254, 241, 254, 245, 1, 15, 56, 1, 189, 254, 67, 2, 108, 1, 206, 254, 188, 87, 3, 97, 250, 0, 1, 64, 0, 1, 0, 88, 0, 0, 3, 249, 6, 0, 0, 9, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 1, 99, 40, 1, 59, 188, 254, 198, 40, 3, 121, 40, 254, 211, 227, 6, 0, 227, 251, 197, 226, 226, 5, 30, 0, 1, 255, 224, 0, 0, 4, 117, 4, 79, 0, 52, 0, 0, 65, 7, 3, 51, 19, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 6, 7, 3, 51, 19, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 20, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 38, 38, 39, 38, 38, 35, 34, 6, 7, 1, 132, 232, 188, 247, 141, 7, 16, 10, 11, 29, 18, 22, 23, 5, 4, 1, 1, 131, 239, 145, 8, 15, 8, 12, 27, 17, 21, 23, 5, 5, 2, 131, 247, 124, 10, 9, 35, 19, 74, 54, 68, 99, 40, 5, 19, 14, 22, 58, 36, 79, 111, 36, 4, 59, 1, 251, 198, 3, 43, 12, 21, 9, 10, 13, 19, 14, 15, 36, 16, 252, 248, 3, 59, 8, 16, 6, 9, 10, 20, 15, 15, 35, 16, 252, 249, 2, 239, 59, 143, 66, 36, 46, 1, 1, 65, 51, 24, 38, 13, 20, 21, 87, 66, 0, 0, 1, 0, 32, 0, 0, 4, 67, 4, 79, 0, 31, 0, 0, 115, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 33, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 7, 32, 1, 16, 135, 21, 46, 26, 27, 62, 34, 51, 65, 18, 17, 9, 5, 110, 1, 15, 111, 9, 22, 35, 35, 123, 94, 63, 111, 47, 32, 57, 26, 18, 244, 3, 2, 24, 40, 13, 15, 15, 1, 1, 32, 28, 28, 77, 47, 253, 105, 2, 154, 83, 155, 61, 61, 74, 2, 1, 34, 32, 21, 54, 31, 152, 1, 0, 2, 0, 81, 255, 232, 4, 66, 4, 81, 0, 31, 0, 57, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 91, 2, 8, 15, 23, 19, 54, 39, 44, 145, 88, 121, 199, 73, 73, 91, 14, 3, 8, 15, 23, 19, 60, 40, 50, 135, 85, 122, 199, 73, 73, 91, 255, 2, 7, 39, 34, 33, 99, 69, 56, 70, 18, 24, 3, 5, 2, 8, 37, 33, 34, 99, 68, 65, 73, 16, 17, 2, 2, 32, 21, 74, 140, 61, 49, 80, 39, 43, 56, 2, 3, 87, 76, 76, 203, 114, 22, 75, 143, 63, 50, 87, 36, 43, 50, 1, 3, 88, 77, 77, 205, 135, 21, 58, 120, 49, 49, 60, 2, 3, 50, 41, 55, 122, 54, 21, 57, 119, 48, 49, 61, 2, 2, 65, 48, 47, 111, 0, 0, 2, 255, 220, 254, 96, 4, 53, 4, 79, 0, 35, 0, 67, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 7, 1, 33, 19, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 37, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 45, 2, 6, 3, 12, 13, 49, 39, 40, 110, 74, 54, 97, 42, 23, 45, 21, 17, 248, 254, 252, 1, 15, 97, 18, 42, 23, 37, 84, 46, 77, 127, 52, 51, 79, 29, 28, 36, 254, 250, 2, 5, 17, 15, 15, 47, 32, 27, 69, 42, 33, 56, 22, 18, 28, 10, 80, 17, 39, 21, 28, 64, 37, 38, 53, 18, 21, 23, 2, 3, 3, 2, 25, 22, 61, 127, 60, 59, 106, 41, 40, 47, 2, 1, 26, 27, 15, 38, 22, 108, 1, 250, 38, 2, 0, 22, 36, 14, 21, 23, 1, 2, 45, 40, 40, 108, 63, 63, 135, 88, 21, 37, 79, 37, 42, 72, 25, 21, 24, 1, 1, 17, 16, 14, 38, 26, 1, 198, 23, 37, 14, 17, 18, 1, 1, 26, 22, 24, 73, 38, 34, 69, 0, 0, 2, 0, 92, 254, 96, 4, 109, 4, 80, 0, 35, 0, 67, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 3, 33, 1, 35, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 5, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 101, 2, 7, 5, 13, 13, 49, 40, 39, 110, 72, 49, 87, 39, 24, 46, 22, 99, 1, 16, 1, 4, 242, 42, 18, 43, 25, 36, 87, 47, 77, 127, 51, 52, 82, 29, 29, 37, 1, 5, 2, 5, 18, 15, 14, 43, 27, 29, 74, 46, 28, 48, 21, 21, 35, 12, 82, 17, 38, 22, 27, 65, 37, 41, 56, 17, 18, 18, 3, 3, 3, 2, 31, 21, 59, 126, 59, 60, 107, 40, 41, 49, 1, 1, 22, 22, 13, 36, 21, 254, 3, 5, 218, 111, 26, 42, 15, 23, 24, 1, 2, 42, 37, 38, 109, 63, 63, 140, 90, 21, 38, 79, 38, 37, 66, 25, 25, 29, 1, 1, 12, 12, 12, 40, 28, 254, 49, 22, 37, 14, 18, 18, 1, 1, 32, 26, 25, 65, 35, 35, 70, 0, 0, 1, 0, 174, 0, 0, 4, 142, 4, 80, 0, 24, 0, 0, 65, 34, 6, 7, 6, 6, 7, 55, 55, 35, 3, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 19, 38, 38, 3, 194, 59, 105, 47, 47, 82, 36, 7, 21, 252, 188, 1, 15, 113, 26, 61, 36, 43, 100, 58, 54, 104, 52, 74, 51, 101, 4, 80, 29, 26, 27, 74, 44, 44, 134, 251, 198, 2, 139, 41, 63, 21, 26, 26, 1, 1, 15, 13, 1, 21, 13, 15, 0, 1, 0, 74, 255, 234, 4, 76, 4, 79, 0, 79, 0, 0, 65, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 37, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 5, 52, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 2, 255, 7, 49, 33, 34, 75, 31, 41, 73, 28, 29, 34, 2, 254, 255, 79, 64, 63, 160, 83, 72, 164, 71, 81, 114, 5, 4, 75, 59, 24, 54, 28, 41, 86, 40, 26, 70, 30, 30, 38, 7, 6, 45, 31, 31, 70, 31, 37, 65, 24, 24, 27, 1, 1, 14, 75, 61, 62, 156, 82, 69, 149, 61, 86, 117, 3, 3, 70, 56, 47, 98, 62, 32, 73, 42, 21, 42, 15, 18, 20, 1, 47, 38, 48, 13, 14, 10, 18, 20, 19, 62, 44, 1, 92, 135, 45, 46, 46, 1, 1, 30, 32, 39, 135, 102, 84, 114, 37, 15, 24, 10, 15, 21, 8, 5, 14, 14, 13, 46, 38, 36, 49, 15, 14, 12, 17, 17, 18, 56, 39, 1, 91, 131, 43, 43, 41, 1, 1, 31, 29, 40, 142, 101, 77, 110, 37, 32, 41, 16, 8, 17, 9, 5, 18, 11, 14, 37, 0, 1, 0, 169, 255, 234, 4, 84, 5, 67, 0, 29, 0, 0, 65, 33, 3, 35, 7, 51, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 55, 33, 2, 250, 254, 241, 46, 240, 36, 240, 81, 9, 31, 41, 40, 131, 91, 79, 176, 73, 9, 57, 114, 58, 47, 59, 15, 16, 7, 5, 76, 1, 136, 36, 254, 120, 5, 67, 254, 247, 205, 254, 20, 86, 147, 54, 54, 63, 1, 2, 26, 40, 193, 12, 18, 2, 1, 32, 27, 27, 72, 43, 1, 210, 205, 0, 0, 1, 0, 113, 255, 233, 4, 127, 4, 58, 0, 28, 0, 0, 69, 22, 54, 55, 7, 51, 19, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 33, 3, 6, 22, 23, 22, 22, 1, 169, 97, 157, 60, 21, 245, 188, 254, 240, 133, 19, 43, 24, 30, 71, 41, 52, 56, 11, 12, 1, 5, 107, 254, 241, 107, 9, 16, 38, 35, 125, 21, 2, 100, 76, 153, 4, 58, 253, 8, 26, 41, 15, 18, 18, 1, 1, 42, 33, 33, 83, 42, 2, 131, 253, 128, 85, 163, 69, 63, 82, 0, 0, 1, 0, 149, 0, 0, 4, 179, 4, 59, 0, 8, 0, 0, 97, 51, 1, 33, 1, 7, 39, 3, 5, 1, 125, 254, 2, 56, 254, 221, 254, 167, 28, 2, 119, 254, 243, 4, 58, 253, 15, 81, 73, 2, 250, 1, 0, 1, 0, 112, 0, 0, 4, 210, 4, 58, 0, 18, 0, 0, 115, 51, 19, 55, 23, 19, 51, 1, 35, 3, 7, 53, 3, 35, 3, 7, 55, 19, 35, 112, 239, 207, 44, 3, 15, 238, 1, 120, 254, 187, 32, 3, 182, 222, 37, 6, 33, 244, 2, 53, 119, 120, 253, 204, 4, 58, 253, 137, 109, 123, 2, 105, 253, 134, 104, 108, 2, 118, 0, 1, 255, 241, 0, 0, 4, 197, 4, 58, 0, 11, 0, 0, 65, 3, 33, 1, 1, 33, 1, 19, 33, 1, 1, 33, 2, 120, 173, 254, 235, 1, 7, 254, 52, 1, 52, 1, 38, 186, 1, 21, 254, 239, 1, 188, 254, 206, 2, 233, 1, 81, 253, 248, 253, 206, 1, 97, 254, 159, 2, 28, 2, 30, 0, 1, 0, 0, 254, 72, 5, 3, 4, 58, 0, 26, 0, 0, 65, 3, 33, 1, 7, 6, 6, 7, 6, 6, 7, 6, 38, 39, 7, 22, 22, 23, 50, 54, 55, 54, 54, 55, 1, 33, 1, 2, 45, 132, 254, 226, 1, 6, 96, 17, 35, 19, 20, 46, 29, 20, 44, 20, 55, 35, 69, 36, 71, 117, 48, 48, 79, 33, 2, 235, 254, 201, 254, 106, 1, 186, 2, 128, 252, 1, 139, 20, 45, 19, 19, 26, 2, 2, 6, 1, 211, 9, 13, 1, 43, 38, 37, 102, 57, 4, 221, 253, 29, 0, 0, 1, 0, 20, 0, 0, 4, 129, 4, 58, 0, 9, 0, 0, 101, 1, 55, 33, 7, 33, 1, 7, 33, 55, 1, 177, 2, 180, 28, 252, 74, 36, 2, 54, 253, 84, 29, 3, 220, 35, 223, 2, 170, 177, 226, 253, 94, 182, 223, 0, 0, 3, 0, 124, 255, 233, 4, 92, 5, 199, 0, 37, 0, 57, 0, 77, 0, 0, 65, 19, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 1, 22, 22, 23, 22, 6, 7, 1, 54, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 3, 38, 38, 39, 38, 38, 55, 1, 6, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 4, 28, 55, 9, 5, 15, 15, 58, 45, 45, 123, 81, 77, 130, 54, 34, 61, 26, 66, 79, 16, 54, 6, 2, 5, 5, 29, 24, 43, 158, 121, 81, 136, 55, 57, 90, 33, 34, 45, 254, 178, 57, 60, 13, 12, 1, 5, 254, 94, 1, 2, 6, 33, 7, 29, 28, 10, 24, 14, 25, 63, 135, 56, 60, 13, 13, 1, 4, 1, 165, 4, 3, 3, 30, 6, 18, 14, 13, 43, 28, 25, 58, 2, 43, 1, 91, 70, 139, 63, 63, 109, 41, 40, 48, 2, 2, 35, 32, 22, 54, 31, 81, 210, 112, 254, 164, 48, 96, 45, 54, 102, 44, 81, 102, 3, 2, 39, 36, 37, 106, 64, 66, 151, 3, 9, 2, 58, 43, 43, 98, 43, 254, 230, 5, 14, 37, 207, 51, 110, 46, 16, 30, 12, 20, 23, 251, 227, 2, 56, 42, 41, 96, 42, 1, 27, 20, 24, 19, 190, 37, 79, 37, 35, 64, 23, 20, 16, 0, 0, 1, 0, 233, 0, 0, 3, 172, 5, 176, 0, 6, 0, 0, 97, 19, 35, 5, 7, 37, 3, 2, 182, 246, 20, 253, 125, 44, 1, 124, 193, 5, 176, 224, 252, 131, 251, 169, 0, 1, 0, 3, 0, 0, 4, 66, 5, 198, 0, 42, 0, 0, 97, 55, 33, 1, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 37, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 1, 7, 3, 199, 36, 253, 156, 1, 55, 59, 128, 55, 55, 76, 7, 8, 51, 52, 53, 152, 93, 105, 192, 75, 76, 97, 8, 1, 15, 7, 38, 32, 31, 89, 57, 43, 61, 19, 18, 13, 5, 7, 53, 36, 37, 82, 35, 253, 242, 31, 223, 1, 34, 55, 119, 67, 66, 151, 86, 95, 153, 55, 54, 60, 2, 2, 68, 63, 63, 176, 107, 1, 53, 90, 33, 33, 36, 1, 2, 33, 27, 27, 71, 40, 52, 96, 44, 45, 78, 34, 254, 15, 200, 0, 1, 0, 52, 255, 234, 4, 107, 5, 198, 0, 76, 0, 0, 65, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 37, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 37, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 1, 195, 38, 162, 53, 79, 23, 22, 16, 6, 6, 45, 34, 35, 88, 50, 45, 70, 23, 21, 22, 1, 254, 243, 3, 62, 57, 57, 159, 93, 101, 191, 76, 76, 97, 8, 4, 16, 21, 21, 67, 48, 51, 91, 36, 35, 45, 5, 8, 60, 58, 58, 160, 92, 92, 174, 70, 70, 91, 7, 1, 14, 8, 40, 29, 29, 74, 42, 38, 59, 20, 25, 22, 6, 7, 45, 35, 35, 90, 51, 3, 82, 216, 1, 2, 32, 29, 27, 76, 48, 50, 81, 28, 28, 30, 1, 2, 30, 26, 25, 69, 41, 1, 97, 153, 53, 54, 58, 2, 2, 55, 56, 55, 164, 108, 52, 97, 43, 42, 68, 23, 24, 64, 41, 40, 99, 60, 99, 150, 52, 51, 53, 2, 2, 52, 51, 51, 150, 97, 2, 41, 65, 23, 22, 24, 1, 1, 21, 20, 24, 74, 47, 53, 81, 27, 27, 29, 0, 2, 0, 19, 0, 0, 4, 55, 5, 176, 0, 10, 0, 14, 0, 0, 65, 19, 33, 1, 7, 33, 3, 33, 19, 51, 55, 33, 1, 55, 3, 3, 147, 159, 254, 229, 253, 17, 21, 2, 74, 55, 1, 15, 55, 164, 39, 253, 9, 1, 135, 35, 102, 2, 29, 3, 147, 252, 70, 186, 254, 196, 1, 60, 225, 1, 237, 51, 253, 224, 0, 1, 0, 76, 255, 233, 4, 140, 5, 176, 0, 48, 0, 0, 83, 23, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 33, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 19, 33, 55, 33, 169, 221, 44, 96, 60, 56, 74, 21, 21, 12, 5, 6, 33, 29, 30, 88, 61, 45, 66, 22, 22, 24, 2, 254, 247, 63, 57, 57, 156, 93, 110, 188, 71, 70, 88, 11, 9, 33, 44, 45, 146, 104, 56, 109, 48, 100, 2, 47, 41, 252, 237, 2, 209, 57, 38, 41, 1, 1, 43, 35, 35, 91, 49, 53, 103, 41, 41, 50, 2, 1, 32, 27, 27, 72, 42, 94, 154, 55, 56, 62, 2, 3, 72, 66, 66, 183, 108, 94, 174, 67, 66, 81, 1, 1, 28, 30, 1, 66, 236, 0, 2, 0, 85, 255, 233, 4, 31, 5, 189, 0, 45, 0, 73, 0, 0, 65, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 7, 54, 54, 55, 54, 54, 55, 54, 54, 23, 23, 1, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 3, 215, 42, 83, 151, 67, 124, 194, 69, 55, 71, 16, 14, 12, 39, 52, 51, 168, 119, 110, 187, 70, 70, 87, 9, 8, 31, 41, 41, 138, 100, 42, 78, 35, 41, 72, 32, 17, 43, 25, 45, 114, 71, 49, 115, 64, 12, 254, 163, 53, 69, 19, 19, 11, 4, 5, 36, 31, 32, 88, 57, 41, 58, 19, 19, 22, 4, 4, 1, 3, 11, 19, 50, 30, 29, 68, 5, 189, 29, 26, 50, 173, 111, 90, 211, 115, 107, 107, 204, 81, 81, 101, 3, 3, 78, 69, 69, 187, 106, 87, 172, 69, 69, 86, 2, 17, 16, 18, 54, 33, 48, 87, 38, 64, 97, 30, 20, 22, 1, 1, 254, 24, 2, 50, 38, 39, 93, 44, 50, 101, 40, 41, 50, 2, 1, 31, 25, 25, 65, 36, 35, 70, 31, 84, 30, 53, 20, 19, 22, 0, 0, 1, 0, 125, 0, 0, 4, 170, 5, 176, 0, 6, 0, 0, 65, 55, 33, 7, 33, 1, 33, 4, 144, 26, 252, 30, 36, 2, 192, 253, 25, 1, 40, 5, 9, 167, 227, 251, 51, 0, 0, 3, 0, 63, 255, 234, 4, 88, 5, 198, 0, 47, 0, 71, 0, 95, 0, 0, 65, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 1, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 4, 81, 7, 55, 53, 54, 151, 88, 96, 172, 66, 67, 83, 7, 4, 23, 27, 17, 46, 28, 58, 100, 38, 38, 47, 5, 8, 62, 58, 57, 160, 92, 99, 184, 72, 72, 92, 7, 5, 36, 39, 18, 47, 28, 51, 87, 33, 33, 41, 254, 162, 5, 39, 31, 32, 82, 49, 45, 67, 21, 21, 16, 5, 5, 39, 32, 31, 83, 50, 45, 66, 21, 20, 16, 78, 5, 32, 26, 27, 72, 44, 41, 56, 17, 17, 13, 4, 4, 31, 27, 26, 71, 45, 40, 57, 18, 17, 14, 4, 53, 93, 146, 52, 51, 55, 2, 2, 54, 54, 54, 156, 100, 56, 105, 45, 28, 50, 21, 27, 71, 45, 45, 111, 67, 98, 151, 51, 52, 56, 1, 2, 54, 55, 54, 161, 105, 70, 128, 52, 24, 44, 18, 26, 67, 41, 41, 100, 253, 175, 47, 82, 30, 30, 35, 1, 1, 33, 28, 27, 75, 43, 48, 83, 31, 30, 35, 1, 1, 34, 28, 29, 76, 2, 85, 41, 75, 29, 29, 34, 1, 33, 27, 26, 68, 37, 42, 74, 28, 28, 33, 1, 1, 31, 26, 26, 67, 0, 2, 0, 142, 255, 243, 4, 65, 5, 198, 0, 48, 0, 76, 0, 0, 119, 39, 7, 51, 54, 36, 55, 54, 18, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 6, 6, 7, 6, 6, 7, 6, 6, 1, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 253, 15, 24, 26, 181, 1, 32, 105, 104, 129, 23, 12, 7, 8, 17, 18, 63, 46, 47, 126, 81, 74, 133, 57, 57, 94, 34, 35, 43, 6, 8, 33, 43, 43, 141, 100, 42, 77, 35, 30, 58, 26, 22, 57, 34, 39, 94, 56, 47, 108, 1, 12, 54, 66, 17, 18, 9, 5, 5, 34, 30, 30, 86, 57, 30, 46, 17, 31, 30, 2, 2, 2, 3, 13, 18, 46, 28, 28, 66, 220, 1, 234, 1, 120, 107, 106, 1, 36, 173, 96, 69, 142, 65, 65, 115, 43, 43, 50, 2, 2, 37, 34, 35, 97, 58, 59, 133, 70, 89, 172, 68, 68, 84, 1, 1, 14, 15, 12, 38, 24, 60, 100, 39, 43, 63, 19, 16, 16, 1, 211, 1, 54, 40, 39, 95, 44, 48, 104, 44, 43, 55, 1, 1, 19, 16, 29, 92, 48, 30, 60, 25, 101, 31, 54, 19, 20, 22, 0, 1, 1, 223, 2, 147, 3, 133, 5, 165, 0, 6, 0, 0, 65, 19, 35, 5, 7, 55, 3, 3, 4, 129, 24, 254, 143, 29, 193, 95, 2, 147, 3, 18, 116, 163, 42, 253, 219, 0, 0, 1, 1, 61, 2, 155, 3, 224, 5, 190, 0, 39, 0, 0, 65, 55, 37, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 51, 50, 22, 7, 6, 6, 7, 6, 6, 7, 5, 7, 3, 150, 28, 254, 176, 132, 40, 85, 36, 36, 48, 2, 3, 44, 39, 39, 102, 56, 63, 111, 42, 43, 53, 5, 198, 5, 20, 16, 15, 41, 27, 37, 38, 7, 5, 28, 19, 20, 43, 18, 254, 202, 25, 2, 155, 159, 2, 91, 28, 63, 38, 37, 89, 54, 62, 90, 30, 29, 29, 1, 1, 38, 36, 36, 102, 64, 1, 24, 41, 16, 16, 18, 43, 38, 25, 47, 21, 21, 38, 15, 251, 144, 0, 1, 1, 79, 2, 142, 3, 235, 5, 188, 0, 73, 0, 0, 65, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 7, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 35, 7, 51, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 39, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 3, 155, 14, 41, 27, 31, 56, 22, 21, 27, 2, 3, 51, 41, 42, 104, 50, 56, 105, 42, 42, 55, 5, 202, 15, 58, 37, 17, 32, 12, 12, 11, 3, 4, 26, 19, 19, 45, 23, 82, 11, 92, 21, 40, 15, 14, 13, 4, 4, 25, 18, 19, 45, 22, 25, 40, 14, 11, 14, 1, 192, 46, 39, 38, 102, 58, 56, 119, 49, 49, 63, 2, 1, 16, 3, 240, 19, 28, 9, 14, 34, 22, 21, 57, 36, 60, 83, 26, 26, 24, 1, 26, 27, 28, 86, 60, 1, 34, 30, 9, 9, 9, 28, 19, 26, 35, 11, 12, 12, 1, 136, 1, 8, 9, 10, 33, 26, 24, 36, 11, 12, 12, 12, 12, 10, 30, 20, 1, 62, 92, 30, 31, 31, 1, 1, 25, 29, 28, 92, 66, 34, 58, 0, 2, 1, 61, 2, 178, 3, 230, 5, 197, 0, 51, 0, 71, 0, 0, 65, 51, 38, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 6, 22, 39, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 51, 7, 6, 6, 7, 6, 6, 2, 255, 169, 7, 3, 8, 17, 18, 15, 8, 32, 32, 32, 97, 62, 57, 110, 45, 45, 62, 8, 171, 6, 22, 16, 19, 50, 30, 28, 37, 10, 9, 6, 3, 8, 136, 59, 123, 51, 51, 67, 3, 2, 30, 29, 29, 83, 50, 69, 112, 45, 1, 1, 173, 20, 37, 13, 14, 14, 3, 3, 35, 25, 25, 59, 27, 123, 18, 16, 42, 24, 24, 52, 2, 192, 47, 89, 46, 105, 104, 105, 61, 101, 36, 36, 41, 1, 1, 26, 29, 29, 89, 61, 13, 23, 35, 12, 15, 14, 1, 1, 20, 17, 17, 45, 25, 53, 1, 22, 27, 27, 93, 70, 51, 82, 28, 29, 31, 1, 57, 51, 23, 47, 105, 9, 10, 9, 32, 23, 31, 44, 14, 14, 13, 1, 104, 21, 35, 13, 13, 14, 0, 0, 2, 1, 72, 2, 176, 4, 5, 5, 198, 0, 25, 0, 51, 0, 0, 65, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 1, 91, 13, 6, 35, 39, 38, 115, 72, 76, 132, 50, 50, 65, 9, 13, 7, 35, 38, 39, 114, 73, 77, 132, 50, 50, 65, 153, 12, 5, 29, 24, 24, 67, 42, 40, 56, 17, 16, 11, 3, 13, 5, 29, 24, 24, 67, 42, 41, 54, 16, 16, 12, 4, 116, 116, 71, 121, 44, 45, 51, 2, 2, 47, 45, 44, 125, 75, 117, 71, 121, 45, 44, 52, 2, 2, 48, 45, 45, 125, 194, 120, 39, 69, 26, 26, 29, 1, 1, 31, 26, 26, 67, 36, 119, 39, 69, 26, 26, 30, 1, 1, 32, 26, 25, 67, 0, 3, 0, 138, 0, 0, 4, 120, 5, 179, 0, 6, 0, 49, 0, 53, 0, 0, 65, 19, 35, 5, 7, 55, 3, 1, 55, 37, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 5, 7, 39, 1, 39, 1, 1, 146, 116, 22, 254, 180, 26, 174, 86, 3, 84, 25, 254, 210, 118, 36, 77, 32, 33, 43, 2, 2, 39, 35, 35, 92, 51, 56, 100, 38, 39, 47, 5, 178, 5, 18, 14, 14, 37, 24, 19, 29, 7, 6, 3, 3, 4, 26, 17, 18, 38, 17, 254, 233, 22, 246, 2, 140, 127, 253, 117, 2, 240, 2, 195, 104, 147, 38, 254, 18, 253, 16, 143, 2, 82, 25, 57, 33, 34, 80, 49, 56, 81, 26, 27, 26, 1, 1, 34, 33, 32, 92, 58, 1, 22, 37, 14, 15, 16, 14, 12, 9, 24, 14, 23, 42, 19, 19, 34, 13, 226, 130, 237, 3, 160, 73, 252, 96, 0, 4, 0, 177, 0, 0, 4, 70, 5, 178, 0, 6, 0, 17, 0, 21, 0, 25, 0, 0, 65, 19, 35, 5, 7, 55, 3, 1, 19, 39, 1, 7, 33, 7, 51, 55, 51, 55, 33, 55, 55, 7, 5, 1, 39, 1, 1, 185, 116, 22, 254, 180, 26, 174, 86, 2, 230, 73, 179, 254, 131, 12, 1, 46, 25, 177, 26, 78, 28, 254, 118, 162, 14, 42, 254, 36, 2, 140, 127, 253, 117, 2, 239, 2, 195, 104, 147, 38, 254, 18, 254, 51, 1, 164, 3, 254, 72, 129, 144, 144, 147, 176, 20, 196, 54, 3, 160, 73, 252, 96, 0, 4, 0, 104, 0, 0, 4, 117, 5, 186, 0, 10, 0, 14, 0, 88, 0, 92, 0, 0, 65, 19, 39, 1, 7, 33, 7, 51, 55, 51, 55, 33, 55, 55, 7, 1, 7, 51, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 35, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 7, 51, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 19, 1, 39, 1, 4, 30, 73, 179, 254, 131, 12, 1, 46, 25, 177, 26, 78, 28, 254, 118, 162, 14, 42, 253, 216, 10, 82, 19, 36, 13, 13, 12, 3, 4, 23, 16, 17, 40, 20, 23, 37, 13, 9, 12, 1, 172, 41, 35, 34, 92, 52, 51, 107, 44, 44, 57, 1, 1, 18, 20, 12, 33, 21, 28, 50, 20, 19, 24, 2, 3, 46, 38, 37, 93, 45, 51, 94, 38, 38, 49, 5, 182, 13, 53, 33, 15, 29, 11, 11, 9, 2, 4, 23, 17, 17, 41, 21, 37, 2, 140, 127, 253, 117, 1, 34, 1, 164, 3, 254, 72, 129, 144, 144, 147, 176, 20, 196, 3, 107, 122, 1, 7, 9, 8, 30, 24, 21, 33, 10, 10, 11, 11, 12, 9, 26, 18, 55, 83, 28, 27, 28, 1, 1, 23, 25, 26, 83, 59, 34, 57, 21, 13, 21, 7, 13, 30, 20, 19, 51, 33, 54, 75, 23, 23, 22, 1, 24, 24, 25, 77, 54, 31, 27, 8, 8, 8, 25, 18, 23, 31, 11, 10, 11, 1, 252, 95, 3, 160, 73, 252, 96, 0, 2, 255, 193, 0, 0, 4, 247, 5, 176, 0, 15, 0, 18, 0, 0, 97, 55, 33, 19, 51, 55, 35, 19, 51, 55, 33, 1, 33, 19, 51, 3, 3, 19, 3, 4, 15, 39, 254, 251, 71, 210, 40, 211, 64, 240, 40, 253, 152, 253, 50, 1, 28, 150, 204, 58, 41, 230, 90, 226, 1, 153, 227, 1, 110, 228, 250, 80, 1, 78, 254, 178, 2, 62, 2, 0, 254, 0, 0, 3, 255, 245, 255, 235, 4, 158, 4, 81, 0, 78, 0, 93, 0, 113, 0, 0, 69, 22, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 33, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 38, 38, 39, 38, 6, 7, 6, 6, 7, 5, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 6, 7, 7, 35, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 19, 22, 22, 23, 22, 22, 15, 2, 55, 54, 54, 55, 54, 54, 1, 6, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 23, 3, 6, 6, 7, 6, 6, 2, 239, 36, 79, 39, 38, 71, 30, 38, 26, 52, 26, 21, 44, 23, 44, 59, 14, 11, 7, 4, 15, 1, 180, 32, 16, 22, 30, 31, 109, 81, 64, 113, 52, 44, 112, 60, 75, 127, 47, 47, 59, 6, 1, 2, 4, 14, 12, 11, 34, 25, 22, 22, 4, 4, 1, 3, 24, 8, 89, 169, 67, 68, 86, 6, 3, 33, 36, 35, 105, 69, 42, 74, 33, 24, 46, 22, 20, 54, 32, 31, 70, 149, 26, 29, 7, 6, 1, 2, 15, 196, 12, 5, 15, 15, 14, 46, 254, 27, 23, 32, 9, 10, 7, 3, 4, 36, 28, 28, 70, 39, 4, 62, 8, 17, 8, 8, 18, 19, 1, 7, 9, 8, 31, 23, 194, 11, 19, 6, 6, 5, 1, 1, 28, 26, 18, 51, 32, 92, 206, 100, 150, 58, 57, 74, 2, 2, 38, 37, 42, 33, 1, 1, 43, 41, 42, 119, 75, 10, 21, 38, 15, 14, 16, 1, 1, 22, 16, 17, 37, 16, 121, 3, 37, 43, 44, 139, 99, 66, 113, 41, 41, 47, 1, 1, 22, 20, 15, 39, 23, 31, 43, 14, 15, 13, 3, 129, 1, 23, 17, 18, 43, 20, 114, 1, 63, 29, 62, 26, 26, 32, 253, 73, 1, 15, 14, 13, 37, 20, 37, 69, 26, 25, 29, 2, 1, 255, 0, 4, 8, 4, 3, 5, 0, 2, 0, 47, 255, 235, 5, 13, 5, 199, 0, 35, 0, 58, 0, 0, 97, 55, 33, 19, 33, 55, 33, 19, 33, 55, 33, 38, 38, 35, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 3, 34, 6, 4, 27, 41, 254, 164, 73, 1, 30, 38, 254, 225, 65, 1, 80, 38, 254, 99, 66, 127, 66, 80, 132, 52, 45, 71, 27, 33, 42, 11, 74, 7, 4, 14, 14, 52, 41, 40, 110, 72, 67, 130, 66, 245, 28, 42, 14, 15, 18, 5, 10, 5, 5, 72, 8, 29, 27, 27, 86, 65, 22, 43, 22, 190, 23, 43, 232, 1, 160, 217, 1, 118, 217, 5, 17, 1, 42, 37, 33, 84, 49, 60, 140, 74, 254, 48, 62, 124, 57, 57, 98, 36, 37, 44, 1, 1, 16, 5, 213, 2, 16, 14, 13, 36, 21, 41, 97, 42, 1, 212, 54, 109, 43, 43, 53, 1, 1, 3, 2, 251, 235, 1, 0, 3, 0, 6, 255, 235, 4, 142, 4, 80, 0, 76, 0, 114, 0, 135, 0, 0, 65, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 53, 52, 54, 55, 55, 33, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 3, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 37, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 1, 203, 72, 116, 45, 32, 51, 21, 32, 40, 9, 29, 6, 4, 12, 6, 16, 10, 33, 122, 95, 55, 97, 43, 12, 24, 11, 18, 41, 22, 36, 83, 42, 36, 71, 33, 25, 46, 21, 44, 19, 36, 19, 17, 35, 19, 45, 50, 11, 7, 6, 3, 3, 7, 1, 144, 31, 10, 5, 11, 11, 41, 31, 32, 88, 58, 39, 70, 31, 21, 39, 19, 17, 39, 20, 31, 68, 225, 24, 2, 4, 3, 3, 10, 7, 14, 50, 42, 25, 31, 8, 7, 4, 1, 2, 5, 2, 25, 2, 6, 6, 6, 18, 14, 14, 42, 28, 25, 30, 7, 8, 3, 2, 1, 5, 1, 215, 1, 3, 6, 4, 5, 15, 13, 12, 37, 26, 15, 21, 6, 5, 7, 2, 4, 2, 2, 12, 4, 79, 1, 40, 36, 25, 66, 36, 58, 135, 68, 200, 55, 114, 51, 23, 45, 20, 66, 84, 2, 1, 30, 29, 8, 18, 10, 19, 30, 11, 18, 16, 1, 12, 13, 10, 29, 19, 182, 8, 16, 5, 4, 5, 1, 40, 31, 17, 39, 20, 16, 32, 16, 36, 201, 65, 101, 48, 47, 83, 32, 31, 38, 1, 1, 16, 16, 10, 28, 16, 18, 28, 10, 15, 15, 253, 104, 203, 15, 37, 20, 19, 40, 19, 38, 52, 2, 1, 27, 21, 22, 52, 26, 26, 47, 15, 202, 20, 51, 27, 27, 52, 20, 20, 24, 1, 1, 28, 21, 21, 53, 26, 26, 47, 224, 9, 17, 42, 24, 26, 52, 20, 20, 23, 1, 1, 12, 10, 7, 17, 9, 23, 49, 18, 86, 0, 2, 0, 7, 255, 233, 4, 148, 5, 234, 0, 49, 0, 78, 0, 0, 65, 38, 38, 39, 55, 39, 7, 38, 38, 39, 7, 22, 22, 23, 7, 23, 37, 22, 22, 23, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 54, 1, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 7, 7, 6, 6, 7, 6, 6, 4, 60, 7, 48, 42, 185, 60, 218, 56, 131, 74, 109, 32, 61, 27, 221, 62, 1, 1, 34, 33, 2, 28, 59, 32, 31, 66, 34, 113, 191, 72, 72, 88, 9, 9, 58, 59, 58, 168, 101, 86, 152, 65, 64, 106, 40, 40, 52, 11, 9, 8, 4, 254, 120, 39, 110, 72, 54, 76, 23, 24, 18, 6, 6, 43, 35, 34, 96, 60, 32, 71, 34, 33, 59, 20, 3, 15, 6, 20, 14, 11, 28, 3, 119, 96, 186, 93, 91, 124, 112, 54, 73, 22, 214, 14, 30, 23, 112, 123, 133, 59, 125, 69, 21, 33, 11, 11, 12, 1, 3, 75, 68, 68, 188, 111, 102, 173, 64, 65, 74, 3, 2, 43, 41, 40, 113, 68, 67, 151, 79, 68, 62, 120, 253, 254, 52, 64, 2, 2, 45, 36, 36, 91, 49, 54, 106, 43, 42, 53, 9, 10, 11, 36, 28, 14, 96, 35, 71, 35, 26, 50, 0, 2, 0, 27, 0, 0, 4, 148, 5, 176, 0, 18, 0, 33, 0, 0, 65, 33, 3, 33, 19, 23, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 2, 40, 254, 240, 253, 1, 16, 51, 234, 107, 201, 79, 79, 103, 10, 9, 66, 62, 63, 172, 99, 205, 39, 233, 49, 77, 26, 25, 22, 7, 8, 53, 40, 40, 100, 55, 207, 5, 176, 250, 80, 1, 33, 1, 56, 57, 57, 171, 116, 106, 162, 56, 55, 58, 2, 1, 224, 1, 2, 31, 27, 28, 79, 49, 58, 86, 29, 30, 29, 1, 2, 0, 0, 2, 255, 220, 254, 96, 4, 53, 6, 7, 0, 38, 0, 70, 0, 0, 101, 54, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 19, 33, 1, 33, 19, 22, 22, 23, 22, 22, 23, 22, 54, 39, 38, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 2, 234, 49, 81, 35, 25, 43, 18, 28, 36, 8, 2, 6, 3, 12, 12, 49, 39, 40, 110, 74, 47, 85, 37, 27, 51, 23, 107, 254, 241, 254, 172, 1, 15, 97, 21, 50, 27, 34, 76, 42, 46, 82, 181, 28, 50, 20, 23, 35, 11, 79, 20, 47, 28, 24, 56, 32, 41, 56, 18, 18, 18, 3, 3, 3, 3, 2, 7, 34, 31, 16, 39, 24, 24, 59, 8, 20, 64, 41, 31, 71, 38, 63, 135, 66, 21, 61, 127, 60, 60, 106, 40, 40, 48, 2, 1, 20, 20, 14, 39, 24, 2, 45, 248, 89, 2, 1, 26, 41, 14, 18, 18, 1, 1, 15, 208, 1, 13, 12, 14, 43, 30, 1, 197, 28, 43, 14, 13, 12, 1, 1, 31, 25, 26, 64, 35, 35, 70, 30, 21, 56, 121, 49, 25, 41, 15, 15, 16, 0, 0, 1, 0, 50, 0, 0, 4, 222, 4, 58, 0, 12, 0, 0, 65, 19, 33, 1, 1, 33, 1, 7, 19, 33, 3, 33, 19, 2, 52, 164, 1, 76, 254, 234, 1, 208, 254, 154, 254, 160, 108, 81, 254, 240, 187, 1, 15, 48, 1, 168, 254, 88, 2, 110, 1, 204, 254, 159, 108, 1, 205, 251, 198, 1, 21, 0, 0, 1, 0, 52, 255, 232, 4, 81, 6, 29, 0, 75, 0, 0, 97, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 1, 67, 181, 6, 28, 25, 24, 75, 53, 30, 42, 13, 12, 9, 3, 6, 48, 27, 28, 47, 4, 4, 27, 22, 21, 52, 21, 21, 24, 7, 4, 22, 17, 20, 59, 36, 54, 109, 46, 77, 62, 146, 70, 90, 153, 58, 57, 69, 6, 3, 27, 21, 22, 50, 20, 20, 22, 7, 10, 50, 27, 27, 44, 5, 6, 45, 45, 46, 129, 78, 111, 180, 66, 66, 82, 15, 184, 4, 49, 42, 96, 41, 41, 52, 3, 2, 28, 21, 22, 53, 26, 54, 90, 43, 44, 92, 55, 47, 81, 37, 37, 71, 35, 36, 75, 41, 28, 50, 20, 23, 29, 1, 2, 31, 28, 219, 36, 25, 1, 1, 50, 49, 49, 143, 92, 44, 82, 39, 38, 74, 37, 36, 75, 39, 54, 89, 44, 44, 93, 57, 80, 130, 47, 47, 52, 2, 3, 73, 66, 66, 180, 104, 251, 204, 0, 2, 0, 119, 255, 235, 4, 84, 4, 79, 0, 42, 0, 56, 0, 0, 65, 38, 6, 7, 6, 6, 7, 23, 54, 54, 23, 22, 22, 23, 22, 22, 23, 20, 6, 21, 33, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 3, 38, 38, 39, 38, 38, 55, 55, 33, 6, 6, 7, 6, 6, 2, 148, 54, 113, 55, 56, 103, 43, 61, 78, 158, 88, 55, 81, 27, 23, 23, 1, 1, 253, 93, 24, 12, 40, 51, 51, 160, 107, 87, 153, 64, 56, 72, 32, 40, 52, 9, 5, 10, 49, 57, 56, 173, 225, 47, 66, 19, 20, 13, 7, 6, 1, 154, 17, 46, 31, 31, 81, 4, 78, 1, 12, 15, 14, 48, 35, 182, 38, 45, 3, 2, 39, 34, 29, 78, 45, 6, 11, 6, 158, 103, 176, 66, 65, 75, 3, 2, 47, 44, 38, 82, 50, 65, 149, 79, 41, 108, 190, 72, 71, 85, 252, 126, 1, 32, 27, 27, 74, 44, 28, 43, 84, 33, 34, 40, 0, 1, 0, 89, 255, 43, 4, 156, 6, 152, 0, 55, 0, 0, 65, 6, 6, 39, 38, 38, 55, 37, 6, 18, 23, 7, 51, 55, 54, 36, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 23, 22, 22, 7, 33, 54, 2, 39, 55, 35, 7, 6, 4, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 36, 12, 143, 87, 113, 86, 6, 254, 240, 8, 182, 190, 37, 156, 36, 176, 1, 12, 12, 6, 56, 52, 52, 140, 77, 38, 70, 26, 26, 28, 6, 12, 119, 89, 103, 63, 4, 1, 15, 8, 146, 176, 40, 157, 40, 178, 254, 252, 12, 6, 57, 53, 52, 141, 78, 39, 69, 26, 25, 25, 1, 133, 93, 95, 2, 2, 147, 101, 1, 186, 254, 255, 26, 198, 196, 18, 196, 194, 94, 141, 54, 53, 81, 33, 16, 37, 25, 24, 67, 47, 87, 102, 2, 2, 157, 86, 168, 1, 6, 34, 219, 215, 18, 206, 186, 94, 141, 53, 54, 79, 32, 16, 38, 25, 26, 69, 0, 0, 1, 0, 121, 255, 11, 4, 72, 5, 38, 0, 66, 0, 0, 101, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 55, 35, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 7, 51, 55, 54, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 2, 43, 65, 69, 15, 6, 6, 2, 2, 3, 3, 4, 5, 18, 15, 18, 50, 34, 27, 66, 40, 43, 64, 21, 21, 18, 3, 255, 4, 36, 38, 38, 110, 69, 41, 196, 39, 102, 167, 62, 62, 77, 12, 3, 5, 3, 8, 6, 25, 17, 36, 121, 84, 43, 196, 40, 78, 145, 57, 57, 72, 5, 254, 6, 41, 29, 30, 73, 201, 2, 65, 48, 17, 40, 20, 33, 67, 30, 30, 38, 77, 37, 40, 73, 24, 18, 19, 1, 2, 31, 26, 26, 71, 40, 1, 78, 134, 53, 52, 73, 17, 230, 221, 13, 96, 73, 73, 186, 103, 31, 49, 94, 44, 39, 73, 33, 70, 102, 22, 241, 228, 9, 61, 50, 50, 135, 83, 2, 40, 64, 21, 22, 22, 0, 1, 0, 10, 0, 0, 4, 191, 5, 198, 0, 48, 0, 0, 65, 33, 55, 33, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 35, 7, 51, 7, 6, 6, 7, 6, 6, 7, 39, 7, 33, 55, 5, 54, 54, 55, 2, 29, 1, 37, 39, 254, 211, 28, 6, 31, 25, 25, 70, 45, 43, 57, 18, 17, 13, 2, 1, 7, 4, 48, 49, 49, 146, 94, 100, 173, 66, 66, 84, 12, 30, 151, 39, 158, 23, 5, 14, 13, 14, 41, 31, 75, 40, 4, 1, 39, 253, 114, 44, 50, 9, 2, 73, 221, 235, 40, 76, 30, 29, 35, 1, 1, 30, 24, 25, 67, 39, 1, 92, 151, 54, 54, 60, 2, 2, 62, 57, 58, 162, 99, 234, 221, 166, 30, 60, 26, 27, 41, 12, 2, 225, 226, 3, 45, 102, 63, 0, 0, 1, 0, 77, 0, 0, 5, 64, 5, 176, 0, 26, 0, 0, 65, 1, 7, 49, 39, 3, 33, 19, 33, 7, 33, 7, 33, 7, 33, 3, 33, 19, 33, 55, 33, 55, 55, 33, 55, 35, 1, 4, 6, 254, 197, 76, 35, 140, 254, 223, 249, 254, 244, 29, 1, 77, 22, 254, 180, 29, 1, 77, 50, 1, 18, 50, 1, 65, 29, 254, 190, 22, 1, 1, 64, 29, 236, 1, 240, 5, 176, 254, 15, 120, 125, 1, 236, 253, 54, 166, 124, 165, 254, 225, 1, 31, 165, 118, 6, 166, 2, 202, 0, 1, 255, 248, 254, 73, 4, 215, 6, 47, 0, 47, 0, 0, 65, 55, 35, 55, 54, 54, 55, 54, 54, 23, 50, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 35, 7, 51, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 3, 193, 32, 200, 11, 8, 46, 34, 34, 87, 50, 35, 65, 31, 45, 48, 96, 51, 102, 177, 67, 68, 87, 13, 9, 156, 32, 156, 136, 6, 26, 22, 23, 66, 45, 35, 72, 29, 37, 46, 95, 48, 99, 155, 56, 55, 67, 12, 136, 3, 109, 205, 79, 51, 74, 24, 24, 23, 1, 16, 16, 215, 16, 25, 1, 2, 53, 53, 54, 159, 103, 79, 205, 252, 134, 40, 74, 28, 28, 33, 1, 1, 18, 17, 220, 19, 19, 1, 1, 63, 57, 56, 157, 93, 3, 122, 255, 255, 255, 189, 0, 0, 4, 225, 5, 176, 6, 38, 0, 7, 0, 0, 0, 7, 2, 106, 254, 146, 254, 86, 0, 1, 0, 4, 0, 0, 4, 185, 5, 198, 0, 56, 0, 0, 65, 55, 33, 55, 33, 55, 33, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 35, 7, 51, 7, 35, 7, 55, 7, 6, 6, 7, 6, 6, 7, 39, 7, 33, 55, 5, 54, 54, 55, 55, 3, 29, 27, 254, 228, 16, 1, 31, 27, 254, 218, 18, 6, 31, 25, 25, 69, 45, 43, 58, 17, 17, 14, 2, 1, 7, 4, 48, 49, 49, 145, 94, 101, 172, 66, 66, 85, 12, 19, 146, 26, 151, 18, 153, 27, 166, 10, 6, 16, 13, 14, 41, 31, 75, 40, 4, 1, 40, 253, 113, 45, 51, 11, 6, 1, 213, 153, 114, 153, 152, 40, 76, 30, 29, 35, 1, 1, 30, 24, 25, 67, 39, 1, 92, 151, 54, 54, 60, 2, 2, 62, 57, 58, 162, 99, 151, 153, 114, 153, 1, 53, 30, 59, 26, 26, 41, 11, 1, 225, 226, 3, 45, 100, 63, 39, 0, 2, 0, 15, 255, 236, 4, 209, 5, 176, 0, 45, 0, 63, 0, 0, 65, 55, 35, 19, 35, 3, 7, 54, 38, 39, 38, 38, 39, 39, 3, 51, 19, 23, 50, 54, 55, 54, 54, 55, 51, 3, 6, 22, 23, 22, 22, 23, 50, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 54, 55, 19, 5, 19, 23, 22, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 4, 183, 26, 169, 46, 196, 46, 89, 4, 28, 34, 35, 110, 76, 233, 252, 195, 104, 59, 85, 130, 48, 48, 66, 23, 70, 104, 5, 10, 22, 21, 81, 65, 36, 76, 29, 17, 17, 36, 18, 27, 25, 4, 4, 3, 2, 107, 253, 59, 112, 58, 28, 37, 10, 10, 7, 5, 2, 5, 25, 23, 24, 73, 54, 3, 164, 150, 1, 4, 254, 252, 1, 69, 132, 52, 52, 65, 3, 2, 250, 80, 2, 51, 2, 60, 51, 51, 135, 74, 253, 136, 53, 113, 46, 47, 60, 1, 17, 23, 143, 5, 7, 33, 23, 23, 49, 18, 2, 123, 213, 2, 66, 2, 3, 33, 25, 25, 60, 30, 31, 55, 19, 44, 102, 44, 44, 60, 2, 0, 2, 255, 255, 255, 229, 4, 145, 4, 41, 0, 35, 0, 71, 0, 0, 101, 23, 55, 39, 54, 54, 55, 54, 38, 39, 55, 39, 7, 38, 38, 39, 38, 6, 7, 39, 7, 23, 6, 6, 7, 6, 22, 23, 7, 23, 55, 22, 22, 23, 22, 54, 1, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 38, 3, 32, 79, 152, 91, 48, 61, 10, 9, 15, 21, 137, 121, 137, 56, 130, 70, 76, 139, 65, 87, 151, 92, 54, 66, 11, 8, 13, 18, 122, 120, 118, 57, 137, 73, 82, 147, 254, 60, 5, 29, 23, 23, 67, 40, 38, 89, 48, 38, 64, 26, 38, 50, 10, 9, 4, 4, 6, 30, 23, 25, 60, 38, 39, 91, 50, 44, 71, 28, 27, 42, 12, 11, 5, 76, 103, 134, 121, 64, 142, 81, 72, 139, 69, 114, 156, 119, 43, 44, 1, 1, 47, 39, 115, 133, 125, 68, 151, 85, 69, 136, 67, 101, 155, 102, 47, 48, 1, 2, 53, 1, 212, 43, 84, 38, 40, 71, 23, 24, 25, 1, 1, 22, 18, 28, 77, 47, 32, 70, 34, 44, 86, 38, 40, 67, 23, 26, 27, 1, 1, 28, 24, 25, 68, 39, 35, 75, 0, 0, 2, 1, 96, 255, 239, 3, 110, 5, 176, 0, 3, 0, 27, 0, 0, 65, 19, 33, 3, 3, 20, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 7, 34, 6, 7, 6, 6, 2, 186, 180, 254, 234, 149, 99, 25, 21, 21, 57, 33, 33, 58, 22, 21, 24, 24, 21, 21, 57, 33, 34, 58, 21, 22, 24, 1, 253, 3, 179, 252, 77, 254, 133, 33, 54, 19, 20, 21, 1, 24, 21, 21, 57, 34, 34, 56, 20, 19, 22, 1, 25, 21, 22, 59, 0, 2, 1, 55, 254, 132, 3, 76, 4, 82, 0, 3, 0, 15, 0, 0, 65, 3, 33, 19, 19, 52, 38, 7, 6, 6, 21, 20, 22, 55, 50, 54, 1, 236, 181, 1, 23, 149, 105, 91, 66, 71, 88, 92, 65, 65, 94, 2, 53, 252, 79, 3, 177, 1, 132, 66, 87, 2, 2, 94, 67, 67, 81, 2, 89, 0, 0, 2, 0, 243, 255, 241, 4, 137, 5, 199, 0, 43, 0, 55, 0, 0, 65, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 37, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 3, 20, 22, 55, 50, 54, 53, 52, 38, 7, 34, 6, 1, 210, 240, 10, 52, 59, 54, 111, 46, 46, 63, 6, 8, 59, 56, 57, 155, 89, 97, 174, 67, 68, 87, 9, 1, 16, 8, 36, 27, 27, 71, 42, 36, 56, 19, 24, 19, 7, 7, 51, 34, 35, 78, 34, 95, 63, 111, 91, 65, 67, 92, 91, 66, 69, 89, 1, 185, 1, 70, 102, 49, 43, 89, 51, 51, 121, 76, 97, 143, 47, 47, 47, 2, 2, 50, 50, 51, 152, 101, 1, 40, 65, 23, 23, 25, 1, 1, 18, 17, 21, 66, 45, 46, 84, 37, 38, 65, 27, 75, 154, 254, 88, 67, 81, 2, 87, 71, 66, 86, 2, 95, 0, 0, 2, 0, 84, 254, 117, 3, 187, 4, 55, 0, 49, 0, 61, 0, 0, 65, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 5, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 3, 22, 22, 55, 54, 54, 39, 52, 38, 7, 6, 6, 2, 253, 238, 6, 15, 13, 13, 40, 29, 53, 109, 45, 45, 61, 6, 8, 52, 52, 52, 147, 88, 95, 167, 64, 64, 81, 9, 254, 241, 7, 27, 20, 25, 70, 45, 34, 49, 15, 16, 11, 5, 7, 47, 33, 33, 76, 35, 48, 59, 18, 17, 17, 179, 1, 70, 59, 60, 71, 1, 70, 62, 63, 65, 2, 128, 1, 36, 58, 25, 26, 45, 24, 43, 91, 52, 53, 122, 74, 93, 141, 48, 48, 51, 2, 2, 50, 51, 50, 149, 98, 1, 34, 58, 22, 27, 30, 1, 1, 22, 20, 21, 58, 35, 47, 87, 40, 39, 69, 28, 38, 71, 40, 39, 93, 1, 102, 60, 64, 2, 2, 68, 60, 61, 72, 2, 2, 76, 0, 0, 1, 0, 190, 254, 106, 2, 117, 0, 243, 0, 12, 0, 0, 101, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 2, 80, 37, 255, 40, 17, 77, 50, 142, 49, 86, 34, 34, 46, 23, 220, 234, 95, 161, 81, 78, 40, 96, 55, 54, 120, 0, 0, 1, 1, 78, 255, 235, 2, 196, 1, 90, 0, 11, 0, 0, 101, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 1, 78, 103, 79, 79, 113, 103, 79, 84, 108, 154, 77, 98, 106, 83, 77, 101, 110, 255, 255, 1, 92, 255, 235, 3, 96, 4, 148, 4, 38, 0, 96, 14, 0, 0, 7, 0, 96, 0, 156, 3, 58, 255, 255, 1, 8, 254, 106, 3, 134, 4, 148, 4, 39, 0, 96, 0, 194, 3, 58, 0, 6, 0, 95, 74, 0, 255, 255, 0, 22, 255, 234, 4, 142, 1, 89, 4, 39, 0, 96, 254, 200, 255, 255, 0, 38, 0, 96, 73, 255, 0, 7, 0, 96, 1, 202, 255, 255, 0, 1, 1, 241, 2, 37, 3, 36, 3, 86, 0, 11, 0, 0, 65, 20, 22, 55, 50, 54, 53, 52, 38, 7, 34, 6, 1, 241, 88, 65, 65, 89, 88, 65, 67, 87, 2, 184, 65, 82, 2, 88, 67, 65, 83, 2, 91, 0, 0, 1, 1, 163, 1, 245, 3, 109, 3, 246, 0, 25, 0, 0, 65, 7, 20, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 1, 165, 2, 29, 28, 27, 79, 48, 51, 86, 32, 32, 38, 4, 3, 1, 28, 27, 28, 80, 50, 52, 87, 32, 32, 37, 3, 12, 60, 48, 79, 29, 29, 33, 1, 33, 30, 30, 83, 51, 57, 49, 83, 31, 30, 35, 1, 35, 31, 31, 86, 0, 0, 1, 0, 1, 255, 39, 3, 158, 0, 0, 0, 3, 0, 0, 69, 55, 33, 7, 3, 119, 39, 252, 137, 38, 217, 217, 217, 0, 0, 1, 1, 5, 2, 18, 4, 86, 2, 243, 0, 3, 0, 0, 65, 55, 33, 7, 4, 46, 40, 252, 214, 39, 2, 18, 225, 225, 0, 1, 0, 58, 2, 89, 4, 173, 3, 60, 0, 3, 0, 0, 65, 55, 33, 7, 4, 121, 52, 251, 193, 52, 2, 89, 227, 227, 0, 1, 0, 54, 2, 89, 4, 169, 3, 60, 0, 3, 0, 0, 65, 55, 33, 7, 4, 117, 52, 251, 193, 52, 2, 89, 227, 227, 0, 1, 1, 248, 3, 225, 3, 30, 6, 0, 0, 5, 0, 0, 65, 55, 35, 7, 3, 51, 3, 6, 24, 209, 21, 64, 183, 5, 102, 154, 134, 254, 103, 0, 0, 2, 1, 79, 3, 240, 3, 250, 6, 0, 0, 5, 0, 11, 0, 0, 65, 55, 35, 7, 3, 51, 1, 55, 35, 7, 3, 51, 2, 89, 19, 202, 17, 66, 175, 1, 233, 19, 200, 17, 66, 174, 5, 136, 120, 111, 254, 95, 1, 152, 120, 107, 254, 91, 0, 1, 2, 35, 3, 244, 3, 164, 6, 43, 0, 12, 0, 0, 65, 7, 51, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 2, 64, 29, 218, 30, 16, 72, 49, 122, 45, 77, 30, 31, 42, 4, 163, 175, 177, 87, 150, 72, 81, 37, 88, 50, 50, 109, 0, 1, 2, 24, 3, 228, 3, 152, 6, 24, 0, 12, 0, 0, 65, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 3, 124, 28, 218, 29, 16, 71, 50, 122, 45, 77, 31, 30, 42, 5, 108, 172, 173, 88, 150, 72, 81, 37, 88, 50, 50, 109, 0, 1, 1, 49, 254, 187, 2, 188, 1, 13, 0, 9, 0, 0, 101, 55, 35, 7, 6, 6, 7, 23, 54, 54, 2, 154, 34, 227, 36, 15, 68, 49, 128, 88, 126, 66, 203, 205, 86, 150, 72, 81, 75, 201, 255, 255, 1, 131, 3, 244, 4, 79, 6, 43, 4, 39, 0, 108, 255, 96, 0, 0, 0, 7, 0, 108, 0, 171, 0, 0, 255, 255, 1, 119, 3, 228, 4, 83, 6, 24, 4, 39, 0, 109, 255, 95, 0, 0, 0, 7, 0, 109, 0, 187, 0, 0, 0, 2, 0, 166, 254, 185, 3, 106, 0, 235, 0, 9, 0, 22, 0, 0, 101, 55, 35, 7, 6, 6, 7, 23, 54, 54, 37, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 2, 17, 26, 227, 30, 15, 68, 49, 134, 89, 122, 1, 80, 27, 227, 31, 15, 74, 48, 133, 45, 77, 31, 31, 42, 65, 170, 173, 86, 150, 72, 81, 74, 203, 115, 170, 173, 87, 149, 72, 81, 37, 88, 50, 50, 110, 0, 255, 255, 1, 248, 3, 225, 3, 30, 6, 0, 6, 6, 0, 106, 0, 0, 255, 255, 1, 79, 3, 240, 3, 250, 6, 0, 6, 6, 0, 107, 0, 0, 0, 1, 1, 58, 254, 55, 3, 239, 6, 85, 0, 36, 0, 0, 65, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 55, 54, 54, 55, 55, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 7, 6, 6, 1, 77, 3, 11, 5, 9, 9, 47, 41, 40, 121, 84, 64, 58, 74, 21, 21, 16, 1, 1, 14, 9, 3, 18, 65, 53, 52, 149, 103, 43, 96, 161, 65, 66, 103, 38, 38, 51, 2, 76, 23, 85, 191, 97, 98, 191, 85, 85, 142, 48, 149, 49, 131, 75, 75, 163, 81, 81, 154, 66, 25, 124, 246, 113, 113, 200, 78, 155, 43, 132, 82, 83, 190, 100, 101, 205, 0, 0, 1, 0, 163, 254, 53, 3, 101, 6, 83, 0, 33, 0, 0, 65, 55, 54, 54, 39, 38, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 21, 6, 6, 7, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 18, 3, 83, 3, 11, 4, 11, 11, 49, 42, 43, 123, 84, 64, 57, 74, 22, 21, 16, 1, 14, 9, 4, 18, 65, 52, 53, 150, 103, 39, 150, 233, 79, 75, 92, 2, 62, 23, 85, 191, 98, 98, 191, 86, 85, 141, 47, 148, 49, 131, 75, 76, 164, 81, 81, 153, 66, 25, 124, 246, 114, 114, 200, 78, 153, 64, 241, 149, 136, 1, 47, 0, 1, 0, 241, 254, 177, 3, 225, 6, 154, 0, 7, 0, 0, 65, 55, 33, 1, 33, 55, 35, 19, 3, 191, 34, 254, 77, 254, 195, 1, 179, 34, 165, 249, 5, 195, 215, 248, 23, 215, 6, 59, 0, 1, 0, 241, 254, 177, 3, 226, 6, 154, 0, 7, 0, 0, 65, 7, 51, 3, 35, 7, 33, 1, 2, 46, 34, 166, 249, 166, 34, 1, 180, 1, 61, 6, 154, 215, 249, 197, 215, 7, 233, 0, 0, 1, 1, 36, 254, 153, 4, 56, 6, 64, 0, 48, 0, 0, 65, 55, 38, 38, 39, 38, 54, 55, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 55, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 7, 7, 6, 6, 7, 7, 22, 22, 23, 22, 22, 7, 7, 6, 22, 23, 22, 22, 3, 6, 43, 50, 48, 10, 8, 7, 5, 21, 5, 17, 21, 22, 72, 49, 124, 150, 17, 21, 7, 19, 22, 22, 76, 64, 19, 101, 152, 53, 54, 65, 12, 21, 18, 146, 127, 20, 60, 81, 24, 23, 15, 7, 21, 9, 25, 30, 35, 130, 254, 153, 159, 4, 62, 44, 46, 109, 40, 164, 55, 102, 44, 44, 73, 26, 50, 171, 135, 163, 51, 108, 45, 45, 59, 1, 159, 4, 78, 63, 64, 166, 93, 163, 127, 123, 2, 200, 3, 34, 30, 31, 90, 59, 164, 75, 153, 61, 72, 99, 0, 0, 1, 0, 193, 254, 148, 3, 213, 6, 60, 0, 45, 0, 0, 87, 23, 54, 54, 55, 54, 54, 55, 55, 54, 54, 55, 55, 38, 38, 55, 55, 54, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 6, 7, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 7, 6, 6, 7, 6, 6, 193, 23, 97, 151, 54, 54, 65, 12, 22, 18, 146, 126, 20, 120, 90, 14, 21, 9, 24, 36, 37, 125, 92, 46, 43, 54, 12, 16, 13, 7, 21, 6, 21, 27, 21, 60, 40, 119, 142, 17, 21, 6, 24, 23, 24, 75, 203, 161, 6, 80, 64, 64, 166, 90, 163, 126, 122, 2, 200, 6, 125, 118, 164, 80, 162, 66, 66, 86, 4, 157, 4, 38, 35, 46, 131, 52, 164, 62, 115, 48, 36, 62, 24, 51, 171, 131, 163, 46, 107, 46, 47, 62, 0, 1, 1, 110, 0, 128, 3, 127, 3, 159, 0, 6, 0, 0, 65, 1, 35, 1, 7, 19, 51, 2, 68, 1, 59, 193, 254, 178, 2, 214, 161, 2, 2, 1, 157, 254, 122, 20, 254, 123, 0, 1, 1, 28, 0, 127, 3, 44, 3, 158, 0, 6, 0, 0, 65, 35, 19, 1, 51, 1, 55, 2, 86, 161, 160, 254, 199, 192, 1, 79, 1, 3, 158, 254, 125, 254, 100, 1, 135, 20, 0, 1, 0, 88, 0, 146, 4, 78, 4, 182, 0, 11, 0, 0, 65, 19, 33, 3, 33, 7, 33, 3, 33, 19, 33, 55, 2, 235, 68, 254, 254, 69, 254, 156, 44, 1, 100, 71, 1, 2, 72, 1, 99, 44, 3, 44, 1, 138, 254, 118, 254, 254, 100, 1, 156, 254, 0, 1, 0, 144, 2, 89, 3, 252, 3, 60, 0, 3, 0, 0, 65, 55, 33, 7, 3, 212, 40, 252, 188, 40, 2, 89, 227, 227, 0, 2, 0, 72, 0, 0, 4, 60, 5, 4, 0, 11, 0, 15, 0, 0, 65, 19, 35, 3, 33, 7, 33, 3, 51, 19, 33, 55, 3, 55, 33, 7, 2, 251, 55, 239, 55, 254, 182, 37, 1, 75, 58, 239, 58, 1, 65, 36, 176, 40, 252, 188, 40, 3, 165, 1, 95, 254, 161, 232, 254, 142, 1, 114, 232, 252, 91, 227, 227, 0, 0, 1, 0, 114, 0, 207, 4, 113, 4, 141, 0, 11, 0, 0, 83, 23, 1, 19, 55, 3, 1, 39, 1, 3, 7, 19, 114, 141, 1, 96, 243, 178, 246, 1, 99, 141, 254, 160, 243, 178, 246, 1, 126, 175, 1, 56, 254, 200, 153, 1, 60, 1, 59, 174, 254, 200, 1, 56, 153, 254, 196, 0, 0, 3, 0, 99, 0, 136, 4, 110, 4, 209, 0, 3, 0, 15, 0, 27, 0, 0, 65, 55, 33, 7, 1, 20, 22, 51, 50, 54, 53, 52, 38, 7, 34, 6, 3, 20, 22, 51, 50, 54, 53, 52, 38, 7, 34, 6, 4, 70, 40, 252, 29, 40, 1, 181, 86, 61, 60, 89, 88, 60, 65, 83, 143, 88, 60, 60, 89, 87, 62, 65, 83, 2, 61, 227, 227, 1, 255, 61, 76, 81, 66, 62, 77, 2, 84, 252, 150, 62, 75, 81, 66, 62, 78, 2, 85, 0, 0, 2, 0, 98, 1, 30, 4, 108, 3, 177, 0, 3, 0, 7, 0, 0, 65, 55, 33, 7, 1, 55, 33, 7, 4, 68, 40, 252, 105, 40, 3, 76, 40, 252, 105, 40, 2, 205, 228, 228, 254, 81, 227, 227, 0, 1, 0, 92, 0, 132, 4, 102, 4, 79, 0, 19, 0, 0, 65, 55, 33, 55, 33, 55, 35, 55, 39, 7, 33, 7, 33, 7, 33, 7, 51, 7, 23, 55, 3, 243, 40, 254, 91, 141, 1, 59, 40, 197, 62, 119, 110, 253, 213, 40, 1, 181, 141, 254, 181, 40, 214, 59, 120, 106, 1, 30, 227, 204, 228, 89, 69, 158, 228, 204, 227, 86, 68, 154, 0, 2, 0, 91, 0, 243, 4, 107, 4, 7, 0, 43, 0, 90, 0, 0, 83, 7, 54, 54, 55, 54, 54, 51, 54, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 7, 34, 6, 7, 6, 6, 3, 7, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 7, 34, 6, 7, 6, 6, 187, 11, 26, 59, 33, 33, 72, 41, 32, 60, 28, 27, 53, 28, 53, 104, 62, 38, 65, 29, 28, 50, 21, 13, 26, 56, 31, 32, 70, 39, 27, 50, 24, 29, 55, 28, 56, 110, 66, 39, 69, 31, 31, 53, 108, 10, 26, 58, 32, 32, 72, 40, 28, 51, 24, 31, 62, 31, 52, 104, 62, 38, 68, 30, 29, 51, 22, 12, 26, 57, 32, 33, 71, 40, 27, 50, 23, 29, 56, 29, 27, 52, 27, 29, 63, 35, 39, 67, 30, 30, 51, 3, 115, 211, 28, 53, 20, 20, 25, 1, 12, 10, 11, 27, 15, 29, 43, 25, 21, 20, 53, 29, 210, 27, 52, 21, 21, 25, 9, 8, 10, 28, 16, 32, 44, 1, 24, 20, 20, 53, 254, 51, 209, 28, 52, 20, 20, 25, 8, 8, 10, 30, 18, 29, 42, 24, 21, 20, 52, 29, 212, 28, 53, 20, 21, 24, 9, 8, 9, 28, 16, 15, 27, 10, 11, 13, 1, 25, 20, 20, 53, 0, 1, 0, 136, 0, 149, 4, 75, 4, 85, 0, 8, 0, 0, 83, 1, 19, 37, 39, 55, 37, 19, 1, 136, 3, 29, 45, 254, 0, 49, 83, 2, 45, 42, 252, 100, 2, 5, 254, 144, 1, 5, 188, 20, 29, 186, 1, 20, 254, 144, 0, 1, 0, 75, 0, 137, 4, 29, 4, 74, 0, 8, 0, 0, 119, 1, 55, 1, 3, 5, 23, 7, 5, 75, 3, 171, 39, 252, 213, 45, 2, 24, 42, 75, 253, 192, 137, 1, 112, 226, 1, 111, 254, 253, 194, 17, 23, 188, 0, 2, 0, 78, 0, 35, 4, 134, 4, 236, 0, 8, 0, 12, 0, 0, 65, 55, 37, 55, 1, 7, 1, 55, 37, 1, 55, 33, 7, 1, 220, 83, 2, 45, 42, 252, 100, 39, 3, 29, 45, 254, 0, 1, 133, 40, 252, 188, 40, 3, 50, 26, 168, 248, 254, 181, 202, 254, 181, 235, 169, 253, 3, 227, 227, 0, 0, 2, 0, 72, 0, 34, 4, 85, 4, 234, 0, 8, 0, 12, 0, 0, 65, 7, 5, 7, 1, 55, 1, 7, 5, 19, 55, 33, 7, 3, 63, 75, 253, 192, 49, 3, 171, 39, 252, 213, 45, 2, 24, 119, 40, 252, 188, 40, 3, 67, 20, 170, 252, 1, 76, 203, 1, 74, 233, 174, 252, 207, 227, 227, 0, 1, 0, 184, 1, 118, 4, 2, 3, 37, 0, 5, 0, 0, 65, 19, 33, 7, 33, 3, 3, 183, 75, 252, 213, 31, 2, 105, 46, 1, 118, 1, 175, 171, 254, 252, 0, 1, 0, 82, 255, 131, 4, 124, 5, 176, 0, 3, 0, 0, 69, 1, 33, 1, 1, 88, 3, 36, 254, 249, 252, 221, 125, 6, 45, 249, 211, 0, 0, 1, 1, 129, 255, 131, 3, 116, 5, 176, 0, 3, 0, 0, 65, 19, 51, 3, 1, 129, 255, 244, 254, 5, 176, 249, 211, 6, 45, 0, 0, 1, 0, 217, 0, 229, 3, 227, 4, 206, 0, 3, 0, 0, 101, 1, 39, 1, 1, 87, 2, 140, 127, 253, 117, 229, 3, 160, 73, 252, 96, 0, 0, 5, 0, 122, 255, 234, 4, 90, 5, 199, 0, 25, 0, 51, 0, 77, 0, 103, 0, 107, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 19, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 5, 1, 39, 1, 133, 7, 4, 30, 32, 32, 95, 61, 64, 107, 41, 40, 50, 7, 7, 4, 28, 31, 32, 95, 62, 65, 108, 40, 41, 50, 172, 7, 3, 15, 13, 12, 38, 26, 26, 32, 8, 8, 5, 1, 8, 3, 15, 12, 13, 38, 25, 26, 31, 8, 9, 5, 243, 7, 5, 30, 33, 32, 95, 62, 64, 108, 40, 40, 50, 7, 7, 4, 29, 31, 32, 95, 62, 64, 108, 40, 41, 51, 172, 8, 3, 14, 13, 13, 38, 26, 25, 31, 9, 8, 5, 1, 8, 3, 13, 12, 12, 38, 27, 24, 32, 9, 9, 6, 254, 118, 2, 208, 128, 253, 48, 4, 171, 76, 60, 101, 37, 37, 43, 1, 2, 41, 37, 37, 104, 62, 77, 60, 102, 38, 37, 43, 2, 1, 41, 37, 38, 105, 141, 80, 22, 43, 17, 16, 20, 21, 17, 17, 42, 21, 79, 22, 43, 16, 17, 20, 21, 17, 16, 42, 253, 8, 77, 60, 101, 37, 38, 43, 1, 1, 40, 37, 37, 104, 63, 78, 60, 102, 37, 37, 43, 2, 1, 40, 37, 38, 105, 142, 81, 22, 43, 17, 16, 19, 21, 16, 17, 42, 21, 79, 24, 44, 16, 17, 19, 1, 22, 17, 16, 42, 38, 3, 255, 68, 252, 1, 0, 6, 0, 96, 255, 232, 4, 93, 5, 198, 0, 49, 0, 75, 0, 101, 0, 127, 0, 153, 0, 157, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 5, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 37, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 3, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 39, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 17, 1, 39, 1, 255, 3, 3, 26, 28, 28, 86, 58, 35, 62, 29, 13, 26, 13, 10, 23, 11, 28, 63, 34, 63, 102, 37, 37, 45, 6, 2, 3, 24, 27, 27, 85, 59, 37, 65, 30, 12, 24, 12, 10, 21, 11, 27, 64, 35, 63, 104, 37, 38, 45, 2, 15, 2, 10, 10, 10, 31, 24, 22, 26, 6, 6, 2, 1, 3, 2, 8, 9, 10, 32, 25, 22, 25, 6, 7, 3, 1, 254, 167, 2, 10, 10, 10, 32, 24, 22, 26, 6, 6, 2, 1, 3, 2, 9, 9, 10, 32, 25, 21, 25, 6, 7, 3, 90, 2, 10, 10, 9, 33, 24, 22, 26, 6, 6, 2, 1, 3, 2, 11, 9, 10, 32, 23, 23, 26, 6, 6, 2, 1, 169, 3, 3, 24, 27, 26, 84, 57, 61, 101, 37, 37, 45, 5, 3, 3, 26, 28, 28, 87, 60, 62, 98, 34, 35, 41, 3, 127, 83, 252, 129, 1, 34, 39, 54, 97, 37, 37, 44, 1, 1, 16, 15, 7, 18, 10, 11, 18, 7, 17, 15, 1, 1, 44, 39, 38, 104, 60, 39, 54, 99, 38, 38, 46, 1, 1, 18, 16, 7, 17, 9, 10, 18, 7, 18, 16, 1, 1, 46, 39, 40, 106, 59, 19, 43, 18, 18, 24, 24, 17, 18, 41, 16, 38, 20, 43, 18, 18, 22, 24, 17, 17, 40, 16, 39, 19, 43, 18, 18, 24, 24, 17, 18, 41, 16, 38, 20, 43, 18, 18, 22, 24, 17, 17, 40, 16, 3, 169, 19, 44, 19, 18, 24, 25, 18, 18, 41, 16, 36, 18, 43, 18, 18, 24, 23, 17, 17, 40, 17, 36, 37, 52, 97, 38, 38, 46, 1, 2, 44, 39, 39, 103, 59, 37, 55, 100, 39, 38, 46, 1, 1, 47, 40, 41, 105, 252, 253, 2, 82, 100, 253, 174, 0, 0, 1, 1, 102, 254, 102, 3, 53, 5, 176, 0, 3, 0, 0, 65, 1, 35, 1, 2, 17, 1, 36, 171, 254, 220, 254, 102, 7, 74, 248, 182, 0, 0, 2, 1, 66, 254, 242, 3, 100, 5, 176, 0, 3, 0, 7, 0, 0, 65, 51, 19, 35, 37, 19, 35, 3, 1, 66, 247, 138, 247, 1, 21, 131, 247, 131, 254, 242, 3, 27, 173, 2, 246, 253, 10, 0, 0, 1, 0, 141, 0, 0, 4, 116, 5, 176, 0, 11, 0, 0, 65, 55, 33, 19, 33, 3, 33, 7, 33, 3, 33, 19, 4, 79, 37, 254, 164, 59, 254, 240, 59, 254, 170, 37, 1, 87, 133, 1, 16, 133, 3, 82, 232, 1, 118, 254, 138, 232, 252, 174, 3, 82, 0, 1, 0, 30, 254, 96, 4, 136, 5, 176, 0, 19, 0, 0, 97, 55, 33, 19, 33, 55, 33, 19, 33, 3, 33, 7, 33, 3, 33, 7, 33, 3, 33, 19, 3, 223, 35, 254, 164, 99, 1, 91, 36, 254, 164, 59, 254, 240, 59, 254, 171, 36, 1, 86, 99, 254, 171, 35, 1, 85, 65, 1, 16, 66, 223, 2, 121, 226, 1, 118, 254, 138, 226, 253, 135, 223, 254, 96, 1, 160, 0, 3, 0, 66, 255, 234, 4, 94, 4, 80, 0, 51, 0, 75, 0, 108, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 37, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 3, 42, 111, 7, 22, 17, 17, 49, 34, 38, 46, 12, 12, 6, 2, 8, 4, 23, 20, 19, 58, 40, 34, 45, 13, 13, 9, 1, 115, 3, 28, 29, 29, 85, 55, 64, 100, 36, 36, 43, 6, 8, 3, 23, 28, 27, 87, 61, 58, 91, 33, 33, 41, 253, 132, 10, 86, 67, 66, 173, 99, 91, 140, 45, 45, 39, 10, 11, 84, 66, 67, 172, 99, 93, 140, 45, 46, 38, 81, 11, 52, 58, 57, 173, 111, 78, 145, 64, 63, 107, 40, 39, 50, 8, 7, 19, 24, 24, 77, 51, 51, 126, 74, 79, 145, 63, 64, 106, 40, 40, 50, 1, 186, 1, 30, 50, 18, 18, 18, 1, 1, 36, 27, 27, 65, 31, 92, 35, 68, 27, 27, 33, 20, 18, 18, 50, 31, 1, 56, 89, 31, 29, 33, 1, 1, 47, 40, 40, 107, 59, 90, 56, 103, 39, 40, 50, 1, 2, 32, 31, 30, 88, 148, 94, 173, 66, 66, 78, 3, 2, 80, 64, 65, 162, 85, 93, 175, 67, 67, 79, 3, 2, 81, 65, 65, 164, 85, 104, 197, 77, 78, 95, 3, 2, 42, 38, 38, 107, 64, 64, 144, 75, 69, 135, 61, 60, 104, 39, 38, 44, 2, 2, 41, 38, 38, 107, 63, 64, 144, 0, 4, 0, 69, 255, 233, 4, 95, 4, 80, 0, 32, 0, 56, 0, 76, 0, 91, 0, 0, 83, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 23, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 37, 51, 23, 51, 3, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 3, 51, 19, 55, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 76, 7, 18, 24, 24, 77, 51, 51, 127, 74, 79, 145, 64, 63, 106, 40, 39, 50, 8, 10, 51, 57, 57, 173, 111, 79, 145, 63, 64, 106, 40, 40, 50, 84, 10, 85, 67, 66, 173, 99, 92, 140, 45, 45, 39, 10, 11, 84, 66, 67, 173, 99, 92, 140, 45, 45, 39, 1, 67, 116, 74, 109, 95, 29, 54, 22, 21, 28, 2, 3, 34, 30, 30, 80, 43, 198, 100, 112, 55, 30, 100, 24, 42, 15, 15, 14, 5, 4, 25, 18, 18, 43, 21, 2, 22, 70, 135, 61, 61, 104, 38, 39, 45, 2, 2, 42, 38, 38, 107, 64, 63, 144, 75, 104, 197, 78, 77, 95, 3, 2, 41, 38, 39, 106, 64, 64, 143, 76, 94, 174, 66, 66, 78, 3, 2, 80, 64, 65, 163, 85, 93, 174, 67, 67, 78, 3, 2, 81, 65, 64, 163, 36, 252, 1, 28, 12, 29, 20, 19, 52, 34, 49, 70, 23, 22, 21, 1, 1, 253, 131, 1, 97, 184, 1, 1, 7, 10, 10, 35, 28, 24, 33, 11, 12, 11, 1, 0, 2, 0, 240, 3, 146, 4, 228, 5, 176, 0, 12, 0, 20, 0, 0, 65, 3, 51, 19, 35, 3, 3, 35, 3, 51, 19, 19, 55, 1, 55, 33, 7, 51, 3, 51, 19, 4, 71, 61, 124, 94, 145, 188, 50, 149, 95, 123, 63, 49, 70, 254, 217, 19, 254, 117, 19, 132, 75, 135, 75, 4, 230, 254, 172, 2, 30, 254, 145, 1, 111, 253, 226, 1, 100, 254, 156, 1, 1, 180, 105, 105, 254, 78, 1, 178, 0, 2, 1, 192, 3, 161, 3, 206, 5, 198, 0, 23, 0, 47, 0, 0, 65, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 195, 3, 32, 32, 31, 89, 53, 58, 101, 39, 38, 47, 3, 3, 31, 30, 30, 87, 53, 58, 103, 39, 40, 49, 139, 3, 23, 19, 19, 48, 27, 25, 39, 13, 12, 12, 3, 3, 22, 17, 18, 46, 27, 24, 40, 14, 14, 14, 4, 169, 52, 94, 36, 36, 44, 1, 1, 45, 39, 39, 103, 56, 50, 95, 37, 37, 46, 1, 1, 46, 39, 40, 103, 54, 26, 48, 19, 19, 23, 21, 17, 18, 44, 23, 26, 46, 18, 18, 22, 19, 16, 16, 43, 0, 1, 0, 158, 1, 171, 4, 125, 5, 176, 0, 14, 0, 0, 65, 1, 23, 1, 19, 55, 3, 37, 39, 5, 19, 35, 3, 37, 7, 2, 10, 254, 195, 163, 1, 4, 146, 185, 213, 1, 147, 32, 254, 132, 105, 214, 33, 254, 169, 94, 3, 126, 254, 190, 130, 1, 101, 254, 140, 122, 1, 72, 91, 216, 159, 1, 175, 254, 76, 168, 198, 0, 0, 2, 0, 6, 0, 0, 4, 176, 5, 176, 0, 27, 0, 31, 0, 0, 65, 3, 51, 19, 51, 55, 35, 19, 51, 55, 35, 19, 35, 3, 35, 19, 35, 3, 35, 7, 51, 3, 35, 7, 51, 3, 51, 19, 55, 19, 51, 3, 2, 82, 143, 181, 142, 242, 30, 214, 101, 237, 30, 209, 146, 181, 145, 188, 144, 179, 146, 254, 30, 226, 101, 247, 30, 219, 142, 180, 143, 57, 101, 188, 100, 1, 154, 254, 102, 1, 154, 169, 1, 34, 171, 1, 160, 254, 96, 1, 160, 254, 96, 171, 254, 222, 169, 254, 102, 1, 154, 169, 1, 34, 254, 222, 0, 3, 0, 25, 255, 234, 4, 150, 5, 201, 0, 39, 0, 53, 0, 69, 0, 0, 83, 6, 22, 23, 22, 54, 55, 23, 33, 39, 54, 54, 55, 35, 6, 6, 7, 3, 55, 54, 54, 55, 54, 38, 39, 38, 6, 7, 6, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 5, 38, 38, 55, 54, 54, 55, 54, 54, 55, 55, 19, 6, 6, 19, 54, 54, 23, 22, 22, 7, 6, 6, 7, 7, 38, 38, 39, 38, 38, 37, 12, 220, 169, 95, 169, 80, 47, 1, 37, 138, 98, 104, 12, 231, 10, 55, 45, 183, 101, 86, 147, 6, 8, 165, 134, 174, 230, 14, 4, 9, 10, 10, 28, 16, 43, 46, 86, 35, 43, 55, 1, 142, 75, 58, 8, 4, 23, 17, 17, 43, 24, 11, 192, 49, 102, 23, 8, 83, 69, 49, 27, 2, 4, 54, 39, 102, 7, 13, 5, 8, 6, 1, 108, 173, 209, 2, 2, 55, 48, 81, 238, 96, 238, 136, 76, 133, 63, 1, 53, 73, 60, 156, 114, 132, 193, 4, 4, 218, 170, 43, 82, 40, 40, 79, 39, 27, 30, 68, 40, 50, 118, 234, 2, 109, 65, 31, 60, 27, 27, 48, 19, 7, 254, 171, 23, 33, 3, 125, 59, 102, 2, 2, 81, 38, 51, 69, 29, 69, 18, 36, 18, 26, 54, 0, 2, 0, 41, 255, 247, 4, 170, 5, 164, 0, 109, 0, 137, 0, 0, 65, 54, 2, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 20, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 23, 22, 22, 23, 22, 22, 51, 54, 54, 55, 54, 54, 55, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 5, 54, 54, 55, 54, 54, 55, 54, 54, 23, 50, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 4, 150, 20, 60, 95, 48, 129, 84, 102, 179, 76, 76, 123, 46, 47, 61, 14, 13, 16, 15, 66, 53, 52, 148, 98, 70, 142, 58, 22, 58, 124, 63, 74, 103, 33, 34, 35, 6, 6, 8, 10, 11, 45, 34, 34, 90, 57, 57, 138, 82, 68, 95, 31, 63, 13, 14, 3, 9, 8, 8, 24, 18, 18, 49, 33, 18, 16, 2, 2, 3, 2, 122, 44, 100, 60, 61, 103, 42, 42, 65, 24, 25, 33, 9, 7, 5, 7, 6, 22, 19, 21, 64, 45, 28, 49, 20, 20, 36, 16, 18, 75, 51, 61, 97, 38, 37, 54, 19, 19, 23, 253, 108, 5, 18, 13, 14, 40, 27, 25, 63, 39, 6, 13, 7, 122, 11, 22, 13, 13, 28, 16, 13, 20, 5, 15, 7, 4, 2, 7, 3, 62, 144, 1, 26, 88, 44, 52, 2, 2, 61, 55, 56, 151, 86, 86, 185, 90, 84, 165, 75, 76, 129, 47, 48, 56, 1, 2, 34, 39, 138, 25, 29, 1, 1, 46, 39, 39, 104, 58, 58, 121, 58, 69, 146, 70, 69, 123, 46, 45, 50, 2, 2, 41, 34, 70, 219, 107, 20, 71, 41, 41, 84, 34, 34, 42, 2, 1, 16, 12, 11, 28, 14, 2, 16, 40, 37, 1, 1, 37, 33, 33, 90, 51, 51, 109, 52, 41, 102, 49, 36, 65, 24, 28, 32, 1, 16, 15, 15, 32, 18, 48, 50, 2, 1, 51, 43, 42, 112, 59, 58, 115, 99, 31, 68, 33, 35, 65, 25, 22, 26, 1, 1, 2, 254, 46, 11, 21, 8, 9, 11, 1, 1, 12, 8, 24, 63, 39, 24, 42, 0, 0, 2, 255, 218, 254, 52, 4, 178, 5, 197, 0, 112, 0, 148, 0, 0, 65, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 55, 33, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 1, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 22, 22, 4, 88, 5, 28, 28, 13, 33, 19, 30, 72, 38, 35, 75, 37, 37, 90, 37, 38, 45, 9, 7, 54, 37, 36, 86, 41, 47, 75, 25, 25, 25, 2, 1, 15, 4, 64, 60, 60, 169, 101, 62, 126, 59, 60, 105, 40, 41, 52, 5, 4, 12, 17, 11, 29, 19, 38, 66, 25, 32, 41, 4, 7, 66, 58, 25, 57, 32, 40, 87, 44, 22, 55, 29, 29, 53, 20, 19, 19, 5, 8, 53, 37, 37, 86, 39, 49, 82, 29, 30, 32, 3, 254, 237, 3, 74, 65, 65, 177, 101, 124, 246, 80, 40, 51, 5, 4, 15, 22, 9, 25, 16, 35, 60, 24, 36, 45, 253, 179, 21, 41, 21, 36, 89, 38, 38, 46, 9, 5, 23, 17, 15, 37, 22, 12, 23, 12, 21, 45, 22, 38, 90, 36, 36, 41, 9, 5, 20, 16, 13, 37, 23, 13, 26, 1, 227, 64, 103, 41, 19, 35, 16, 25, 41, 17, 15, 27, 11, 11, 26, 21, 21, 64, 51, 46, 62, 19, 19, 15, 1, 1, 27, 26, 25, 76, 48, 1, 106, 160, 54, 53, 54, 2, 1, 18, 20, 20, 62, 43, 44, 112, 70, 49, 92, 41, 25, 46, 22, 21, 50, 29, 37, 93, 56, 95, 134, 48, 21, 35, 15, 20, 32, 14, 7, 16, 11, 11, 28, 19, 19, 49, 31, 45, 60, 17, 18, 14, 1, 22, 23, 23, 73, 53, 110, 157, 51, 52, 50, 1, 2, 73, 86, 43, 112, 70, 54, 101, 45, 19, 38, 17, 19, 44, 26, 38, 98, 1, 11, 7, 13, 7, 13, 28, 24, 24, 68, 49, 29, 47, 20, 18, 29, 13, 5, 8, 4, 7, 14, 7, 13, 30, 21, 23, 68, 52, 28, 48, 20, 18, 30, 12, 5, 9, 0, 0, 1, 1, 12, 0, 0, 4, 102, 5, 177, 0, 16, 0, 0, 97, 51, 19, 37, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 23, 2, 151, 211, 252, 254, 207, 108, 190, 72, 73, 91, 10, 9, 50, 54, 54, 161, 101, 65, 5, 176, 1, 66, 61, 62, 176, 110, 101, 168, 60, 61, 68, 3, 1, 0, 0, 1, 0, 215, 2, 175, 4, 6, 5, 176, 0, 8, 0, 0, 83, 51, 19, 55, 23, 19, 51, 3, 35, 215, 230, 240, 39, 4, 95, 207, 175, 196, 2, 175, 1, 187, 92, 69, 254, 46, 3, 1, 0, 1, 0, 8, 1, 120, 4, 104, 3, 58, 0, 49, 0, 0, 65, 39, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 4, 104, 181, 5, 25, 19, 19, 51, 33, 25, 46, 21, 21, 38, 17, 22, 45, 24, 43, 98, 56, 78, 119, 41, 41, 46, 6, 172, 6, 27, 20, 20, 53, 33, 24, 47, 22, 22, 39, 17, 31, 64, 35, 34, 77, 44, 79, 119, 41, 41, 47, 2, 241, 18, 29, 58, 24, 24, 31, 14, 13, 12, 31, 16, 20, 37, 15, 28, 33, 1, 1, 62, 52, 52, 133, 70, 21, 28, 58, 23, 23, 30, 15, 12, 12, 31, 16, 29, 49, 18, 18, 21, 1, 65, 53, 53, 136, 0, 255, 255, 255, 174, 0, 0, 4, 173, 7, 31, 6, 38, 0, 2, 0, 0, 0, 7, 1, 91, 0, 201, 1, 89, 255, 255, 255, 174, 0, 0, 4, 130, 7, 66, 6, 38, 0, 2, 0, 0, 0, 7, 1, 95, 0, 82, 1, 159, 255, 255, 255, 174, 0, 0, 4, 132, 7, 73, 6, 38, 0, 2, 0, 0, 0, 7, 1, 92, 0, 190, 1, 93, 255, 255, 255, 174, 0, 0, 4, 141, 7, 48, 6, 38, 0, 2, 0, 0, 0, 7, 1, 97, 0, 58, 1, 93, 255, 255, 255, 174, 0, 0, 4, 60, 7, 34, 6, 38, 0, 2, 0, 0, 0, 7, 1, 90, 255, 184, 1, 92, 255, 255, 255, 174, 0, 0, 4, 149, 6, 242, 6, 38, 0, 2, 0, 0, 0, 7, 1, 94, 0, 65, 1, 66, 0, 2, 255, 174, 254, 88, 4, 60, 5, 176, 0, 36, 0, 39, 0, 0, 69, 54, 54, 55, 54, 54, 55, 55, 51, 3, 35, 1, 33, 19, 33, 19, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 1, 19, 19, 3, 76, 3, 34, 26, 25, 61, 29, 10, 52, 202, 249, 253, 53, 1, 41, 136, 1, 167, 27, 33, 60, 23, 23, 28, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 254, 130, 240, 51, 184, 35, 56, 22, 22, 33, 13, 3, 5, 176, 250, 80, 1, 48, 254, 231, 21, 52, 30, 31, 72, 41, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 2, 242, 2, 21, 253, 235, 0, 255, 255, 255, 174, 0, 0, 4, 60, 7, 137, 6, 38, 0, 2, 0, 0, 0, 7, 1, 98, 0, 104, 1, 245, 255, 255, 255, 174, 0, 0, 4, 229, 8, 86, 6, 38, 0, 2, 0, 0, 0, 7, 2, 107, 0, 57, 1, 160, 255, 255, 255, 174, 0, 0, 4, 150, 7, 99, 6, 38, 0, 2, 0, 0, 0, 7, 1, 93, 0, 209, 1, 94, 255, 255, 255, 193, 0, 0, 5, 10, 7, 31, 6, 38, 0, 72, 0, 0, 0, 7, 1, 91, 1, 38, 1, 89, 255, 255, 0, 74, 255, 232, 4, 221, 7, 30, 6, 38, 0, 4, 0, 0, 0, 7, 1, 91, 0, 249, 1, 88, 255, 255, 0, 74, 255, 232, 4, 226, 7, 75, 6, 38, 0, 4, 0, 0, 0, 7, 1, 100, 0, 108, 1, 92, 255, 255, 0, 74, 254, 55, 4, 156, 5, 199, 6, 38, 0, 4, 0, 0, 0, 6, 1, 102, 51, 5, 255, 255, 0, 74, 255, 232, 4, 180, 7, 72, 6, 38, 0, 4, 0, 0, 0, 7, 1, 92, 0, 238, 1, 92, 255, 255, 0, 17, 255, 255, 4, 124, 7, 67, 6, 38, 0, 5, 0, 0, 0, 7, 1, 100, 255, 223, 1, 84, 0, 2, 255, 222, 255, 255, 4, 137, 5, 176, 0, 22, 0, 45, 0, 0, 115, 33, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 37, 3, 35, 7, 51, 33, 55, 35, 19, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 35, 39, 19, 32, 1, 138, 145, 243, 92, 91, 118, 20, 17, 9, 7, 15, 20, 84, 60, 63, 170, 106, 254, 160, 110, 176, 32, 177, 1, 240, 32, 221, 71, 104, 59, 86, 30, 29, 35, 8, 7, 1, 6, 17, 13, 63, 51, 51, 144, 95, 91, 72, 1, 106, 91, 90, 244, 137, 120, 70, 136, 61, 83, 145, 51, 55, 65, 2, 1, 253, 135, 180, 180, 1, 149, 1, 3, 39, 32, 33, 85, 48, 48, 101, 48, 123, 85, 160, 61, 62, 75, 2, 1, 161, 0, 255, 255, 0, 38, 0, 0, 4, 217, 7, 22, 6, 38, 0, 6, 0, 0, 0, 7, 1, 91, 0, 208, 1, 80, 255, 255, 0, 38, 0, 0, 4, 217, 7, 57, 6, 38, 0, 6, 0, 0, 0, 7, 1, 95, 0, 89, 1, 150, 255, 255, 0, 38, 0, 0, 4, 217, 7, 67, 6, 38, 0, 6, 0, 0, 0, 7, 1, 100, 0, 67, 1, 84, 255, 255, 0, 38, 0, 0, 4, 217, 7, 64, 6, 38, 0, 6, 0, 0, 0, 7, 1, 92, 0, 197, 1, 84, 255, 255, 0, 38, 0, 0, 4, 217, 7, 39, 6, 38, 0, 6, 0, 0, 0, 7, 1, 97, 0, 65, 1, 84, 255, 255, 0, 38, 0, 0, 4, 217, 7, 70, 6, 38, 0, 6, 0, 0, 0, 7, 1, 96, 0, 79, 1, 100, 255, 255, 0, 38, 0, 0, 4, 217, 7, 25, 6, 38, 0, 6, 0, 0, 0, 7, 1, 90, 255, 191, 1, 83, 255, 255, 0, 38, 0, 0, 4, 217, 6, 233, 6, 38, 0, 6, 0, 0, 0, 7, 1, 94, 0, 72, 1, 57, 0, 1, 0, 39, 254, 74, 4, 188, 5, 176, 0, 28, 0, 0, 65, 33, 3, 3, 33, 3, 33, 19, 19, 7, 6, 6, 7, 6, 6, 7, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 4, 188, 254, 238, 156, 222, 254, 244, 253, 1, 18, 155, 223, 6, 6, 22, 19, 19, 54, 37, 26, 49, 24, 39, 36, 70, 37, 93, 146, 53, 53, 66, 12, 5, 176, 252, 132, 3, 124, 250, 80, 3, 123, 252, 133, 37, 32, 63, 24, 25, 31, 1, 8, 6, 221, 8, 10, 58, 54, 53, 147, 88, 0, 0, 1, 0, 38, 254, 88, 4, 217, 5, 176, 0, 41, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 55, 51, 55, 33, 19, 3, 236, 39, 253, 187, 64, 2, 163, 40, 252, 74, 253, 2, 65, 27, 48, 18, 18, 22, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 3, 34, 26, 25, 61, 29, 10, 111, 40, 253, 89, 72, 2, 126, 222, 1, 111, 229, 250, 80, 20, 48, 28, 28, 64, 36, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 35, 56, 22, 22, 33, 13, 3, 227, 1, 155, 0, 0, 2, 255, 222, 255, 255, 4, 137, 5, 176, 0, 22, 0, 45, 0, 0, 115, 33, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 37, 3, 35, 7, 51, 33, 55, 35, 19, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 35, 39, 19, 32, 1, 138, 145, 243, 92, 91, 118, 20, 17, 9, 7, 15, 20, 84, 60, 63, 170, 106, 254, 160, 110, 176, 32, 177, 1, 240, 32, 221, 71, 104, 59, 86, 30, 29, 35, 8, 7, 1, 6, 17, 13, 63, 51, 51, 144, 95, 91, 72, 1, 106, 91, 90, 244, 137, 120, 70, 136, 61, 83, 145, 51, 55, 65, 2, 1, 253, 135, 180, 180, 1, 149, 1, 3, 39, 32, 33, 85, 48, 48, 101, 48, 123, 85, 160, 61, 62, 75, 2, 1, 161, 0, 255, 255, 0, 82, 255, 234, 4, 151, 7, 65, 6, 38, 0, 8, 0, 0, 0, 7, 1, 95, 0, 102, 1, 158, 255, 255, 0, 82, 255, 234, 4, 152, 7, 72, 6, 38, 0, 8, 0, 0, 0, 7, 1, 92, 0, 210, 1, 92, 255, 255, 0, 82, 254, 21, 4, 151, 5, 197, 6, 38, 0, 8, 0, 0, 0, 7, 1, 104, 0, 162, 254, 190, 0, 2, 255, 222, 0, 0, 5, 31, 5, 176, 0, 19, 0, 23, 0, 0, 65, 55, 33, 7, 33, 55, 33, 7, 35, 7, 51, 3, 33, 19, 33, 3, 33, 19, 51, 55, 1, 33, 55, 33, 4, 94, 42, 254, 241, 42, 254, 114, 42, 254, 239, 42, 47, 30, 48, 181, 1, 16, 110, 1, 142, 110, 1, 15, 182, 192, 30, 253, 242, 254, 114, 33, 1, 142, 4, 194, 238, 238, 238, 238, 171, 251, 233, 2, 119, 253, 137, 4, 23, 171, 254, 153, 188, 0, 255, 255, 0, 15, 0, 0, 4, 185, 7, 64, 6, 38, 0, 9, 0, 0, 0, 7, 1, 92, 0, 162, 1, 84, 255, 255, 0, 82, 0, 0, 4, 141, 7, 31, 6, 38, 0, 10, 0, 0, 0, 7, 1, 91, 0, 169, 1, 89, 255, 255, 0, 82, 0, 0, 4, 130, 7, 66, 6, 38, 0, 10, 0, 0, 0, 7, 1, 95, 0, 50, 1, 159, 255, 255, 0, 82, 0, 0, 4, 130, 7, 73, 6, 38, 0, 10, 0, 0, 0, 7, 1, 92, 0, 158, 1, 93, 255, 255, 0, 82, 0, 0, 4, 130, 7, 48, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 0, 26, 1, 93, 255, 255, 0, 82, 0, 0, 4, 130, 7, 79, 6, 38, 0, 10, 0, 0, 0, 7, 1, 96, 0, 40, 1, 109, 255, 255, 0, 82, 0, 0, 4, 130, 7, 34, 6, 38, 0, 10, 0, 0, 0, 7, 1, 90, 255, 152, 1, 92, 255, 255, 0, 82, 0, 0, 4, 130, 6, 242, 6, 38, 0, 10, 0, 0, 0, 7, 1, 94, 0, 33, 1, 66, 0, 1, 0, 82, 254, 88, 4, 130, 5, 176, 0, 41, 0, 0, 65, 7, 33, 3, 33, 7, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 39, 51, 55, 33, 19, 33, 55, 1, 79, 40, 1, 13, 174, 254, 244, 40, 1, 204, 27, 48, 18, 18, 22, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 3, 34, 26, 25, 61, 29, 7, 111, 40, 254, 236, 174, 1, 19, 40, 5, 176, 227, 252, 21, 226, 20, 48, 28, 28, 64, 36, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 35, 56, 22, 22, 33, 13, 3, 226, 3, 235, 227, 255, 255, 0, 82, 0, 0, 4, 130, 7, 99, 6, 38, 0, 10, 0, 0, 0, 7, 1, 93, 0, 177, 1, 94, 255, 255, 0, 71, 255, 234, 5, 200, 7, 61, 6, 38, 0, 11, 0, 0, 0, 7, 1, 92, 2, 2, 1, 81, 255, 255, 0, 20, 254, 11, 5, 82, 5, 176, 6, 38, 0, 12, 0, 0, 0, 7, 1, 104, 0, 110, 254, 180, 255, 255, 0, 41, 0, 0, 3, 249, 7, 2, 6, 38, 0, 13, 0, 0, 0, 7, 1, 91, 255, 125, 1, 60, 255, 255, 0, 41, 0, 0, 4, 125, 5, 177, 6, 38, 0, 13, 0, 0, 0, 7, 0, 109, 0, 229, 255, 153, 255, 255, 0, 41, 254, 34, 3, 249, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 1, 104, 0, 119, 254, 203, 255, 255, 0, 41, 0, 0, 3, 249, 5, 176, 6, 38, 0, 13, 0, 0, 0, 7, 1, 96, 0, 43, 253, 221, 0, 1, 0, 43, 0, 0, 4, 21, 5, 176, 0, 13, 0, 0, 65, 19, 33, 3, 7, 7, 55, 3, 33, 55, 33, 19, 55, 55, 1, 242, 99, 254, 236, 113, 129, 36, 130, 104, 3, 168, 40, 253, 106, 80, 237, 36, 3, 122, 2, 54, 253, 120, 37, 203, 37, 253, 163, 227, 1, 204, 68, 203, 255, 255, 0, 15, 0, 0, 4, 184, 7, 31, 6, 38, 0, 15, 0, 0, 0, 7, 1, 91, 0, 181, 1, 89, 255, 255, 0, 15, 0, 0, 4, 184, 7, 76, 6, 38, 0, 15, 0, 0, 0, 7, 1, 100, 0, 40, 1, 93, 255, 255, 0, 15, 254, 27, 4, 184, 5, 176, 6, 38, 0, 15, 0, 0, 0, 7, 1, 104, 0, 117, 254, 196, 255, 255, 0, 15, 0, 0, 4, 184, 7, 99, 6, 38, 0, 15, 0, 0, 0, 7, 1, 93, 0, 189, 1, 94, 255, 255, 0, 73, 255, 234, 4, 159, 7, 52, 6, 38, 0, 16, 0, 0, 0, 7, 1, 91, 0, 187, 1, 110, 255, 255, 0, 73, 255, 234, 4, 138, 7, 87, 6, 38, 0, 16, 0, 0, 0, 7, 1, 95, 0, 68, 1, 180, 255, 255, 0, 73, 255, 234, 4, 138, 7, 94, 6, 38, 0, 16, 0, 0, 0, 7, 1, 92, 0, 176, 1, 114, 255, 255, 0, 73, 255, 234, 4, 138, 7, 69, 6, 38, 0, 16, 0, 0, 0, 7, 1, 97, 0, 44, 1, 114, 255, 255, 0, 73, 255, 234, 4, 138, 7, 55, 6, 38, 0, 16, 0, 0, 0, 7, 1, 90, 255, 170, 1, 113, 0, 2, 0, 86, 255, 234, 5, 80, 5, 224, 0, 50, 0, 88, 0, 0, 65, 55, 54, 38, 39, 54, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 3, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 108, 33, 11, 11, 22, 51, 76, 27, 26, 31, 6, 186, 5, 12, 11, 11, 33, 25, 22, 52, 31, 47, 118, 73, 91, 154, 63, 63, 100, 36, 37, 49, 12, 33, 10, 6, 17, 17, 64, 50, 49, 135, 87, 92, 156, 65, 65, 103, 39, 38, 50, 232, 33, 7, 22, 17, 18, 50, 33, 34, 86, 54, 51, 65, 19, 19, 16, 1, 7, 5, 33, 6, 20, 16, 15, 46, 32, 31, 85, 54, 51, 68, 21, 21, 20, 3, 2, 6, 2, 110, 211, 81, 162, 75, 20, 68, 45, 45, 111, 64, 1, 29, 62, 28, 28, 46, 14, 32, 54, 22, 32, 38, 2, 2, 49, 44, 45, 124, 72, 72, 159, 80, 212, 75, 152, 70, 71, 123, 46, 47, 55, 2, 2, 48, 44, 44, 123, 72, 72, 160, 1, 39, 215, 43, 96, 46, 47, 84, 31, 31, 35, 2, 2, 43, 34, 34, 86, 45, 45, 86, 35, 215, 43, 95, 46, 46, 83, 32, 31, 35, 2, 2, 42, 33, 33, 84, 44, 45, 88, 0, 255, 255, 0, 73, 255, 234, 5, 96, 7, 96, 6, 38, 0, 16, 0, 0, 0, 7, 1, 99, 0, 184, 1, 114, 255, 255, 0, 73, 255, 234, 4, 138, 7, 7, 6, 38, 0, 16, 0, 0, 0, 7, 1, 94, 0, 51, 1, 87, 0, 3, 255, 174, 255, 161, 4, 252, 5, 238, 0, 46, 0, 69, 0, 86, 0, 0, 65, 55, 54, 52, 39, 38, 38, 39, 19, 35, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 6, 21, 20, 22, 23, 3, 51, 55, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 37, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 1, 54, 54, 55, 54, 54, 37, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 1, 22, 6, 4, 100, 33, 7, 8, 8, 33, 25, 186, 194, 95, 23, 53, 29, 34, 78, 44, 91, 154, 63, 63, 100, 36, 37, 49, 12, 33, 4, 4, 29, 30, 221, 193, 125, 50, 131, 86, 92, 156, 65, 65, 103, 39, 38, 50, 253, 23, 33, 6, 20, 16, 15, 46, 32, 31, 84, 55, 24, 41, 17, 15, 25, 10, 254, 31, 1, 2, 1, 2, 3, 2, 3, 33, 7, 22, 17, 18, 50, 33, 34, 86, 54, 51, 65, 20, 1, 243, 1, 6, 2, 110, 211, 56, 114, 55, 55, 103, 45, 1, 1, 132, 19, 30, 12, 13, 15, 1, 2, 49, 44, 45, 124, 72, 72, 159, 80, 212, 29, 60, 30, 76, 149, 65, 254, 205, 173, 45, 51, 2, 2, 48, 44, 44, 123, 72, 72, 160, 79, 215, 43, 95, 46, 46, 83, 32, 31, 35, 2, 1, 11, 9, 8, 23, 14, 253, 101, 13, 26, 13, 15, 29, 229, 215, 43, 96, 46, 47, 84, 31, 31, 35, 2, 2, 43, 35, 2, 179, 39, 74, 255, 255, 255, 174, 255, 161, 4, 252, 7, 93, 6, 38, 0, 219, 0, 0, 0, 7, 1, 91, 0, 194, 1, 151, 255, 255, 0, 73, 255, 234, 4, 138, 7, 120, 6, 38, 0, 16, 0, 0, 0, 7, 1, 93, 0, 195, 1, 115, 255, 255, 0, 22, 0, 0, 4, 173, 7, 19, 6, 38, 0, 19, 0, 0, 0, 7, 1, 91, 0, 161, 1, 77, 255, 255, 0, 22, 0, 0, 4, 173, 7, 64, 6, 38, 0, 19, 0, 0, 0, 7, 1, 100, 0, 20, 1, 81, 255, 255, 0, 22, 254, 34, 4, 173, 5, 176, 6, 38, 0, 19, 0, 0, 0, 7, 1, 104, 0, 108, 254, 203, 255, 255, 0, 57, 255, 235, 4, 177, 7, 52, 6, 38, 0, 20, 0, 0, 0, 7, 1, 91, 0, 200, 1, 110, 255, 255, 0, 57, 255, 235, 4, 177, 7, 97, 6, 38, 0, 20, 0, 0, 0, 7, 1, 100, 0, 59, 1, 114, 255, 255, 0, 57, 254, 41, 4, 177, 5, 198, 6, 38, 0, 20, 0, 0, 0, 6, 1, 102, 92, 247, 255, 255, 0, 57, 255, 235, 4, 177, 7, 94, 6, 38, 0, 20, 0, 0, 0, 7, 1, 92, 0, 189, 1, 114, 0, 1, 0, 134, 0, 0, 5, 35, 5, 176, 0, 15, 0, 0, 65, 55, 35, 19, 33, 55, 33, 7, 33, 3, 35, 7, 51, 3, 33, 19, 3, 216, 32, 228, 51, 1, 179, 41, 251, 139, 40, 1, 174, 51, 221, 32, 222, 131, 1, 19, 131, 2, 245, 180, 1, 34, 229, 229, 254, 222, 180, 253, 11, 2, 245, 0, 255, 255, 0, 134, 0, 0, 5, 35, 7, 73, 6, 38, 0, 21, 0, 0, 0, 7, 1, 100, 0, 41, 1, 90, 255, 255, 0, 94, 255, 233, 4, 193, 7, 28, 6, 38, 0, 22, 0, 0, 0, 7, 1, 91, 0, 191, 1, 86, 255, 255, 0, 94, 255, 233, 4, 193, 7, 63, 6, 38, 0, 22, 0, 0, 0, 7, 1, 95, 0, 72, 1, 156, 255, 255, 0, 94, 255, 233, 4, 193, 7, 70, 6, 38, 0, 22, 0, 0, 0, 7, 1, 92, 0, 180, 1, 90, 255, 255, 0, 94, 255, 233, 4, 193, 7, 45, 6, 38, 0, 22, 0, 0, 0, 7, 1, 97, 0, 48, 1, 90, 255, 255, 0, 94, 255, 233, 4, 193, 7, 31, 6, 38, 0, 22, 0, 0, 0, 7, 1, 90, 255, 174, 1, 89, 0, 1, 0, 101, 255, 233, 6, 33, 5, 230, 0, 43, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 54, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 4, 200, 254, 240, 165, 8, 36, 30, 31, 90, 62, 56, 61, 13, 14, 1, 5, 162, 254, 238, 165, 12, 38, 49, 49, 159, 110, 119, 191, 70, 70, 88, 17, 103, 97, 144, 50, 50, 56, 8, 191, 7, 21, 20, 21, 66, 52, 5, 176, 252, 58, 52, 104, 41, 41, 49, 3, 3, 57, 42, 42, 97, 43, 3, 198, 252, 58, 102, 184, 69, 70, 83, 2, 3, 75, 69, 68, 190, 113, 2, 97, 4, 56, 51, 51, 149, 98, 1, 51, 87, 32, 33, 41, 5, 255, 255, 0, 94, 255, 233, 5, 100, 7, 72, 6, 38, 0, 22, 0, 0, 0, 7, 1, 99, 0, 188, 1, 90, 255, 255, 0, 94, 255, 233, 4, 193, 6, 239, 6, 38, 0, 22, 0, 0, 0, 7, 1, 94, 0, 55, 1, 63, 0, 1, 0, 94, 254, 153, 4, 193, 5, 176, 0, 60, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 3, 6, 22, 23, 22, 22, 23, 48, 48, 49, 6, 6, 7, 6, 6, 21, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 4, 193, 254, 240, 165, 8, 36, 30, 31, 90, 62, 56, 61, 14, 13, 1, 5, 162, 254, 238, 165, 12, 33, 44, 44, 142, 98, 13, 20, 6, 5, 6, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 1, 14, 10, 11, 30, 16, 75, 120, 45, 45, 58, 13, 5, 176, 252, 58, 52, 104, 41, 41, 49, 3, 3, 57, 42, 42, 97, 43, 3, 198, 252, 58, 97, 176, 68, 68, 88, 10, 18, 38, 21, 15, 33, 17, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 20, 36, 16, 16, 28, 12, 26, 92, 63, 62, 153, 87, 255, 255, 0, 94, 255, 233, 4, 193, 7, 134, 6, 38, 0, 22, 0, 0, 0, 7, 1, 98, 0, 94, 1, 242, 255, 255, 0, 94, 255, 233, 4, 193, 7, 96, 6, 38, 0, 22, 0, 0, 0, 7, 1, 93, 0, 199, 1, 91, 255, 255, 0, 127, 0, 0, 5, 27, 7, 31, 6, 38, 0, 24, 0, 0, 0, 7, 1, 91, 0, 159, 1, 89, 255, 255, 0, 127, 0, 0, 5, 27, 7, 73, 6, 38, 0, 24, 0, 0, 0, 7, 1, 92, 0, 148, 1, 93, 255, 255, 0, 127, 0, 0, 5, 27, 7, 48, 6, 38, 0, 24, 0, 0, 0, 7, 1, 97, 0, 16, 1, 93, 255, 255, 0, 127, 0, 0, 5, 27, 7, 34, 6, 38, 0, 24, 0, 0, 0, 7, 1, 90, 255, 142, 1, 92, 255, 255, 0, 186, 0, 0, 5, 63, 7, 31, 6, 38, 0, 26, 0, 0, 0, 7, 1, 91, 0, 195, 1, 89, 255, 255, 0, 186, 0, 0, 5, 63, 7, 73, 6, 38, 0, 26, 0, 0, 0, 7, 1, 92, 0, 184, 1, 93, 255, 255, 0, 186, 0, 0, 5, 63, 7, 48, 6, 38, 0, 26, 0, 0, 0, 7, 1, 97, 0, 52, 1, 93, 255, 255, 0, 186, 0, 0, 5, 63, 7, 34, 6, 38, 0, 26, 0, 0, 0, 7, 1, 90, 255, 178, 1, 92, 255, 255, 255, 248, 0, 0, 4, 212, 7, 28, 6, 38, 0, 27, 0, 0, 0, 7, 1, 91, 0, 179, 1, 86, 255, 255, 255, 248, 0, 0, 4, 212, 7, 73, 6, 38, 0, 27, 0, 0, 0, 7, 1, 100, 0, 38, 1, 90, 255, 255, 255, 248, 0, 0, 4, 212, 7, 76, 6, 38, 0, 27, 0, 0, 0, 7, 1, 96, 0, 50, 1, 106, 255, 255, 0, 58, 255, 235, 4, 81, 5, 221, 6, 38, 0, 28, 0, 0, 0, 6, 1, 91, 109, 23, 255, 255, 0, 58, 255, 235, 4, 39, 6, 0, 6, 38, 0, 28, 0, 0, 0, 6, 1, 95, 247, 93, 255, 255, 0, 58, 255, 235, 4, 40, 6, 7, 6, 38, 0, 28, 0, 0, 0, 6, 1, 92, 98, 27, 255, 255, 0, 58, 255, 235, 4, 50, 5, 238, 6, 38, 0, 28, 0, 0, 0, 6, 1, 97, 223, 27, 255, 255, 0, 58, 255, 235, 4, 27, 5, 224, 6, 38, 0, 28, 0, 0, 0, 7, 1, 90, 255, 92, 0, 26, 255, 255, 0, 58, 255, 235, 4, 58, 5, 176, 6, 38, 0, 28, 0, 0, 0, 6, 1, 94, 230, 0, 0, 2, 0, 58, 254, 88, 4, 27, 4, 80, 0, 85, 0, 108, 0, 0, 101, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 55, 51, 55, 38, 54, 55, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 37, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 39, 34, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 6, 22, 39, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 23, 7, 6, 6, 7, 6, 6, 2, 182, 33, 61, 23, 23, 28, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 3, 34, 26, 25, 61, 29, 9, 46, 1, 21, 9, 9, 75, 9, 57, 55, 56, 152, 85, 81, 165, 68, 68, 90, 6, 1, 15, 7, 29, 22, 23, 61, 36, 39, 62, 21, 20, 17, 6, 13, 156, 61, 125, 59, 59, 104, 40, 40, 49, 3, 3, 50, 46, 45, 123, 68, 50, 90, 41, 32, 59, 28, 1, 1, 229, 29, 49, 17, 17, 16, 4, 3, 14, 10, 13, 38, 22, 39, 92, 45, 123, 34, 23, 57, 32, 29, 66, 24, 21, 52, 31, 31, 72, 41, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 35, 56, 22, 22, 33, 13, 3, 18, 58, 123, 59, 1, 209, 93, 140, 48, 47, 50, 2, 1, 39, 42, 43, 131, 90, 2, 33, 51, 16, 18, 17, 1, 1, 23, 21, 22, 62, 39, 67, 2, 14, 17, 17, 55, 41, 41, 110, 72, 72, 116, 40, 41, 45, 1, 1, 20, 20, 15, 41, 26, 20, 38, 151, 16, 15, 15, 46, 31, 22, 38, 16, 21, 32, 12, 20, 18, 1, 187, 28, 44, 15, 14, 14, 0, 255, 255, 0, 58, 255, 235, 4, 27, 6, 71, 6, 38, 0, 28, 0, 0, 0, 7, 1, 98, 0, 12, 0, 179, 255, 255, 0, 58, 255, 235, 4, 138, 7, 20, 6, 38, 0, 28, 0, 0, 0, 6, 2, 107, 222, 94, 255, 255, 0, 58, 255, 235, 4, 58, 6, 33, 6, 38, 0, 28, 0, 0, 0, 6, 1, 93, 117, 28, 255, 255, 255, 245, 255, 235, 4, 158, 5, 222, 6, 38, 0, 73, 0, 0, 0, 7, 1, 91, 0, 168, 0, 24, 255, 255, 0, 96, 255, 233, 4, 112, 5, 221, 6, 38, 0, 30, 0, 0, 0, 7, 1, 91, 0, 140, 0, 23, 255, 255, 0, 96, 255, 233, 4, 118, 6, 10, 6, 38, 0, 30, 0, 0, 0, 6, 1, 100, 0, 27, 255, 255, 0, 96, 254, 55, 4, 49, 4, 81, 6, 38, 0, 30, 0, 0, 0, 6, 1, 102, 51, 5, 255, 255, 0, 96, 255, 233, 4, 71, 6, 7, 6, 38, 0, 30, 0, 0, 0, 7, 1, 92, 0, 129, 0, 27, 255, 255, 0, 17, 255, 234, 5, 238, 6, 24, 4, 38, 0, 31, 182, 255, 0, 7, 0, 109, 2, 86, 0, 0, 0, 2, 0, 76, 255, 235, 5, 56, 6, 0, 0, 43, 0, 72, 0, 0, 65, 55, 35, 55, 33, 7, 35, 7, 51, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 51, 19, 1, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 5, 24, 32, 164, 24, 254, 240, 26, 235, 32, 233, 44, 22, 49, 27, 33, 73, 41, 78, 128, 52, 52, 79, 28, 29, 36, 8, 3, 6, 5, 13, 13, 50, 39, 39, 108, 72, 50, 89, 39, 30, 54, 24, 14, 243, 211, 252, 237, 2, 7, 34, 32, 32, 96, 68, 31, 53, 20, 20, 31, 10, 78, 22, 53, 31, 22, 53, 29, 32, 50, 16, 24, 22, 5, 5, 2, 4, 196, 180, 136, 136, 180, 237, 27, 41, 15, 17, 18, 1, 2, 44, 39, 40, 109, 63, 63, 136, 67, 22, 59, 125, 59, 60, 106, 40, 41, 49, 2, 1, 23, 22, 17, 45, 27, 113, 4, 196, 253, 69, 21, 57, 120, 49, 49, 62, 1, 1, 16, 15, 15, 42, 28, 254, 72, 30, 48, 15, 11, 12, 1, 1, 20, 18, 28, 50, 38, 40, 84, 0, 255, 255, 0, 85, 255, 235, 4, 86, 5, 222, 6, 38, 0, 32, 0, 0, 0, 6, 1, 91, 114, 24, 255, 255, 0, 85, 255, 235, 4, 76, 6, 1, 6, 38, 0, 32, 0, 0, 0, 6, 1, 95, 252, 94, 255, 255, 0, 85, 255, 235, 4, 92, 6, 11, 6, 38, 0, 32, 0, 0, 0, 6, 1, 100, 230, 28, 255, 255, 0, 85, 255, 235, 4, 76, 6, 8, 6, 38, 0, 32, 0, 0, 0, 6, 1, 92, 103, 28, 255, 255, 0, 85, 255, 235, 4, 76, 5, 239, 6, 38, 0, 32, 0, 0, 0, 6, 1, 97, 228, 28, 255, 255, 0, 85, 255, 235, 4, 76, 6, 14, 6, 38, 0, 32, 0, 0, 0, 6, 1, 96, 242, 44, 255, 255, 0, 85, 255, 235, 4, 76, 5, 225, 6, 38, 0, 32, 0, 0, 0, 7, 1, 90, 255, 97, 0, 27, 255, 255, 0, 85, 255, 235, 4, 76, 5, 177, 6, 38, 0, 32, 0, 0, 0, 6, 1, 94, 235, 1, 0, 1, 0, 40, 254, 73, 4, 40, 4, 79, 0, 49, 0, 0, 115, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 23, 50, 54, 55, 54, 54, 55, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 7, 40, 1, 15, 138, 20, 44, 23, 28, 61, 34, 47, 54, 13, 12, 1, 4, 114, 5, 22, 18, 18, 53, 37, 25, 50, 24, 39, 36, 71, 37, 93, 146, 53, 52, 65, 12, 113, 9, 16, 31, 31, 118, 93, 65, 113, 48, 26, 47, 21, 23, 250, 3, 17, 20, 32, 12, 13, 14, 1, 1, 37, 30, 30, 75, 39, 253, 65, 32, 62, 24, 24, 30, 8, 7, 223, 8, 10, 1, 58, 53, 53, 147, 88, 2, 191, 79, 156, 62, 62, 78, 2, 1, 41, 36, 20, 49, 28, 154, 1, 0, 0, 2, 0, 86, 254, 111, 4, 76, 4, 80, 0, 68, 0, 82, 0, 0, 101, 39, 6, 6, 39, 38, 38, 39, 38, 38, 39, 52, 52, 53, 53, 33, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 48, 48, 49, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 1, 22, 22, 23, 22, 22, 7, 7, 33, 54, 54, 55, 54, 54, 3, 234, 123, 58, 151, 85, 54, 84, 28, 26, 29, 2, 2, 195, 18, 13, 37, 50, 51, 164, 113, 82, 149, 63, 56, 93, 36, 43, 55, 9, 4, 9, 46, 50, 50, 149, 94, 39, 51, 2, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 2, 25, 19, 19, 47, 25, 81, 143, 254, 222, 45, 69, 23, 22, 18, 7, 5, 254, 71, 19, 50, 34, 33, 86, 175, 151, 60, 65, 3, 1, 39, 33, 29, 76, 45, 5, 10, 5, 4, 118, 105, 190, 74, 73, 88, 3, 2, 42, 39, 34, 94, 54, 66, 153, 81, 41, 99, 174, 67, 68, 90, 15, 38, 93, 57, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 29, 49, 20, 19, 32, 13, 21, 85, 3, 3, 2, 33, 28, 28, 76, 44, 25, 44, 86, 34, 34, 40, 0, 255, 255, 0, 26, 254, 83, 4, 123, 6, 0, 6, 38, 0, 34, 0, 0, 0, 6, 1, 95, 250, 93, 255, 255, 0, 26, 254, 83, 4, 123, 6, 7, 6, 38, 0, 34, 0, 0, 0, 6, 1, 92, 101, 27, 255, 255, 0, 26, 254, 83, 4, 123, 6, 180, 6, 38, 0, 34, 0, 0, 0, 7, 2, 78, 0, 37, 0, 153, 0, 1, 0, 47, 0, 0, 4, 83, 6, 0, 0, 39, 0, 0, 65, 55, 35, 55, 33, 7, 35, 7, 51, 3, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 33, 19, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 7, 19, 3, 7, 32, 249, 27, 254, 241, 25, 155, 32, 156, 211, 1, 15, 138, 24, 52, 28, 26, 57, 32, 49, 64, 18, 18, 9, 5, 111, 1, 16, 109, 9, 23, 36, 37, 129, 96, 45, 82, 36, 44, 77, 32, 54, 4, 192, 180, 140, 140, 180, 251, 64, 3, 14, 23, 37, 12, 11, 11, 1, 2, 34, 29, 30, 77, 45, 253, 110, 2, 143, 85, 160, 63, 62, 76, 1, 20, 19, 22, 68, 42, 1, 29, 0, 255, 255, 0, 32, 0, 0, 4, 91, 7, 168, 6, 38, 0, 35, 0, 0, 0, 7, 1, 92, 0, 149, 1, 188, 255, 255, 0, 88, 0, 0, 4, 146, 5, 196, 6, 38, 1, 109, 0, 0, 0, 7, 1, 91, 0, 174, 255, 254, 255, 255, 0, 88, 0, 0, 4, 103, 5, 230, 6, 38, 1, 109, 0, 0, 0, 6, 1, 95, 55, 67, 255, 255, 0, 88, 0, 0, 4, 105, 5, 237, 6, 38, 1, 109, 0, 0, 0, 7, 1, 92, 0, 163, 0, 1, 255, 255, 0, 88, 0, 0, 4, 114, 5, 212, 6, 38, 1, 109, 0, 0, 0, 6, 1, 97, 31, 1, 255, 255, 0, 88, 0, 0, 3, 249, 5, 198, 6, 38, 1, 109, 0, 0, 0, 6, 1, 90, 157, 0, 255, 255, 0, 88, 0, 0, 4, 122, 5, 151, 6, 38, 1, 109, 0, 0, 0, 6, 1, 94, 38, 231, 0, 2, 0, 104, 254, 88, 3, 233, 5, 229, 0, 39, 0, 63, 0, 0, 65, 7, 33, 3, 33, 7, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 39, 33, 55, 33, 19, 3, 20, 22, 23, 22, 22, 55, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 7, 34, 6, 7, 6, 6, 1, 36, 40, 1, 43, 109, 254, 213, 39, 1, 23, 27, 48, 18, 18, 22, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 3, 34, 26, 25, 61, 29, 7, 1, 74, 40, 254, 227, 149, 246, 25, 21, 21, 56, 32, 33, 58, 21, 21, 24, 25, 21, 21, 56, 32, 33, 57, 21, 22, 24, 4, 58, 227, 253, 139, 226, 20, 48, 28, 28, 64, 36, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 35, 56, 22, 22, 33, 13, 3, 226, 3, 88, 1, 16, 33, 54, 19, 19, 20, 1, 23, 21, 20, 56, 34, 33, 54, 19, 19, 20, 1, 23, 20, 21, 56, 0, 255, 255, 0, 88, 0, 0, 4, 123, 6, 7, 6, 38, 1, 109, 0, 0, 0, 7, 1, 93, 0, 182, 0, 2, 255, 255, 0, 51, 254, 73, 4, 167, 5, 223, 6, 38, 1, 113, 0, 0, 0, 7, 1, 92, 0, 225, 255, 243, 255, 255, 0, 35, 254, 12, 4, 175, 6, 0, 6, 38, 0, 38, 0, 0, 0, 7, 1, 104, 0, 89, 254, 181, 255, 255, 0, 88, 0, 0, 4, 214, 7, 101, 6, 38, 0, 39, 0, 0, 0, 7, 1, 91, 0, 242, 1, 159, 255, 255, 0, 13, 0, 0, 5, 11, 6, 5, 4, 38, 0, 39, 181, 0, 0, 7, 0, 109, 1, 115, 255, 237, 255, 255, 0, 88, 254, 35, 3, 249, 6, 0, 6, 38, 0, 39, 0, 0, 0, 7, 1, 104, 0, 169, 254, 204, 255, 255, 0, 13, 0, 0, 4, 99, 6, 0, 4, 38, 0, 39, 181, 0, 0, 7, 1, 96, 0, 241, 253, 217, 0, 1, 0, 102, 0, 0, 4, 139, 6, 0, 0, 17, 0, 0, 65, 7, 33, 3, 5, 7, 37, 3, 33, 7, 33, 55, 33, 19, 37, 55, 5, 19, 1, 113, 40, 1, 59, 71, 254, 185, 36, 1, 71, 81, 254, 198, 40, 3, 121, 40, 254, 211, 102, 1, 39, 36, 254, 217, 89, 6, 0, 227, 254, 104, 138, 207, 138, 254, 44, 226, 226, 2, 80, 125, 207, 125, 1, 255, 255, 255, 0, 32, 0, 0, 4, 92, 5, 221, 6, 38, 0, 41, 0, 0, 0, 6, 1, 91, 120, 23, 255, 255, 0, 32, 0, 0, 4, 98, 6, 10, 6, 38, 0, 41, 0, 0, 0, 6, 1, 100, 236, 27, 255, 255, 0, 32, 254, 34, 4, 67, 4, 79, 6, 38, 0, 41, 0, 0, 0, 7, 1, 104, 0, 116, 254, 203, 255, 255, 0, 32, 0, 0, 4, 69, 6, 33, 6, 38, 0, 41, 0, 0, 0, 7, 1, 93, 0, 128, 0, 28, 255, 255, 0, 81, 255, 232, 4, 105, 5, 221, 6, 38, 0, 42, 0, 0, 0, 7, 1, 91, 0, 133, 0, 23, 255, 255, 0, 81, 255, 232, 4, 66, 6, 0, 6, 38, 0, 42, 0, 0, 0, 6, 1, 95, 14, 93, 255, 255, 0, 81, 255, 232, 4, 66, 6, 7, 6, 38, 0, 42, 0, 0, 0, 6, 1, 92, 122, 27, 255, 255, 0, 81, 255, 232, 4, 74, 5, 238, 6, 38, 0, 42, 0, 0, 0, 6, 1, 97, 247, 27, 255, 255, 0, 81, 255, 232, 4, 66, 5, 224, 6, 38, 0, 42, 0, 0, 0, 7, 1, 90, 255, 116, 0, 26, 0, 2, 0, 70, 255, 232, 4, 221, 4, 157, 0, 44, 0, 73, 0, 0, 65, 6, 6, 7, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 54, 54, 55, 54, 54, 55, 7, 6, 6, 3, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 5, 13, 35, 24, 53, 149, 100, 85, 150, 62, 51, 88, 33, 41, 52, 10, 2, 11, 41, 53, 22, 56, 33, 45, 113, 67, 121, 199, 73, 73, 91, 14, 3, 8, 18, 26, 50, 78, 26, 22, 26, 5, 182, 5, 17, 240, 2, 8, 37, 33, 34, 99, 68, 48, 65, 20, 28, 15, 8, 2, 7, 39, 34, 33, 99, 69, 43, 60, 20, 19, 21, 5, 4, 3, 4, 39, 27, 45, 15, 57, 67, 2, 2, 43, 40, 33, 92, 53, 65, 153, 81, 21, 107, 195, 74, 32, 54, 20, 29, 32, 1, 3, 87, 76, 76, 203, 114, 22, 78, 148, 65, 23, 72, 48, 40, 97, 56, 2, 30, 60, 253, 232, 21, 57, 119, 48, 49, 61, 2, 1, 38, 30, 47, 122, 85, 21, 58, 120, 49, 49, 60, 2, 2, 31, 25, 25, 65, 35, 36, 73, 0, 255, 255, 0, 81, 255, 232, 5, 42, 6, 9, 6, 38, 0, 42, 0, 0, 0, 7, 1, 99, 0, 130, 0, 27, 255, 255, 0, 81, 255, 232, 4, 82, 5, 176, 6, 38, 0, 42, 0, 0, 0, 6, 1, 94, 254, 0, 0, 3, 0, 70, 255, 115, 4, 91, 4, 191, 0, 37, 0, 54, 0, 71, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 7, 51, 55, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 55, 35, 7, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 50, 22, 23, 1, 38, 38, 53, 52, 54, 37, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 1, 22, 22, 21, 20, 6, 91, 2, 7, 10, 16, 16, 56, 39, 149, 167, 100, 37, 85, 49, 121, 199, 73, 73, 91, 14, 3, 7, 9, 16, 15, 51, 36, 153, 166, 100, 40, 93, 53, 122, 199, 73, 73, 91, 255, 2, 7, 39, 34, 33, 99, 69, 22, 37, 16, 254, 165, 8, 7, 2, 1, 195, 2, 8, 37, 33, 34, 99, 68, 18, 31, 14, 1, 82, 6, 5, 3, 2, 32, 21, 65, 123, 55, 56, 96, 38, 231, 154, 15, 18, 1, 3, 87, 76, 76, 203, 114, 22, 64, 123, 55, 52, 93, 38, 236, 154, 19, 21, 1, 3, 88, 77, 77, 205, 135, 21, 58, 120, 49, 49, 60, 2, 10, 9, 253, 232, 28, 62, 31, 20, 40, 49, 21, 57, 119, 48, 49, 61, 2, 1, 6, 5, 2, 10, 25, 51, 25, 20, 41, 0, 255, 255, 0, 70, 255, 115, 4, 91, 5, 217, 6, 38, 1, 56, 0, 0, 0, 6, 1, 91, 91, 19, 255, 255, 0, 81, 255, 232, 4, 82, 6, 33, 6, 38, 0, 42, 0, 0, 0, 7, 1, 93, 0, 141, 0, 28, 255, 255, 0, 174, 0, 0, 4, 142, 5, 221, 6, 38, 0, 45, 0, 0, 0, 6, 1, 91, 94, 23, 255, 255, 0, 174, 0, 0, 4, 142, 6, 10, 6, 38, 0, 45, 0, 0, 0, 6, 1, 100, 210, 27, 255, 255, 0, 87, 254, 34, 4, 142, 4, 80, 6, 38, 0, 45, 0, 0, 0, 7, 1, 104, 255, 194, 254, 203, 255, 255, 0, 74, 255, 234, 4, 76, 5, 221, 6, 38, 0, 46, 0, 0, 0, 6, 1, 91, 93, 23, 255, 255, 0, 74, 255, 234, 4, 76, 6, 10, 6, 38, 0, 46, 0, 0, 0, 6, 1, 100, 209, 27, 255, 255, 0, 74, 254, 41, 4, 76, 4, 79, 6, 38, 0, 46, 0, 0, 0, 6, 1, 102, 30, 247, 255, 255, 0, 74, 255, 234, 4, 76, 6, 7, 6, 38, 0, 46, 0, 0, 0, 6, 1, 92, 82, 27, 0, 1, 0, 161, 255, 235, 4, 84, 5, 67, 0, 40, 0, 0, 65, 55, 35, 55, 33, 55, 33, 19, 33, 3, 35, 7, 51, 7, 35, 7, 51, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 3, 66, 32, 212, 26, 1, 136, 36, 254, 120, 46, 254, 241, 46, 240, 36, 240, 26, 190, 32, 192, 25, 9, 31, 41, 40, 131, 91, 40, 86, 43, 42, 81, 36, 9, 57, 114, 58, 47, 59, 15, 16, 7, 5, 21, 2, 27, 180, 158, 205, 1, 9, 254, 247, 205, 158, 180, 154, 86, 147, 54, 54, 63, 1, 1, 5, 7, 7, 26, 20, 193, 12, 18, 2, 1, 32, 27, 27, 72, 43, 128, 255, 255, 0, 149, 255, 234, 5, 89, 6, 187, 4, 38, 0, 47, 236, 0, 0, 7, 0, 109, 1, 193, 0, 163, 255, 255, 0, 113, 255, 233, 4, 127, 5, 200, 6, 38, 0, 48, 0, 0, 0, 7, 1, 91, 0, 131, 0, 2, 255, 255, 0, 113, 255, 233, 4, 127, 5, 235, 6, 38, 0, 48, 0, 0, 0, 6, 1, 95, 12, 72, 255, 255, 0, 113, 255, 233, 4, 127, 5, 242, 6, 38, 0, 48, 0, 0, 0, 6, 1, 92, 120, 6, 255, 255, 0, 113, 255, 233, 4, 127, 5, 217, 6, 38, 0, 48, 0, 0, 0, 6, 1, 97, 245, 6, 255, 255, 0, 113, 255, 233, 4, 127, 5, 203, 6, 38, 0, 48, 0, 0, 0, 7, 1, 90, 255, 114, 0, 5, 0, 1, 0, 85, 255, 234, 5, 143, 4, 156, 0, 45, 0, 0, 97, 51, 19, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 55, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 33, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 2, 175, 245, 133, 161, 183, 14, 185, 7, 24, 19, 17, 46, 30, 25, 254, 240, 133, 22, 51, 29, 27, 64, 35, 52, 56, 11, 12, 1, 5, 107, 254, 241, 107, 6, 3, 12, 12, 45, 36, 36, 99, 66, 49, 89, 39, 39, 68, 30, 2, 253, 27, 202, 186, 2, 45, 77, 30, 28, 43, 14, 141, 253, 8, 30, 46, 14, 14, 14, 1, 1, 42, 33, 33, 83, 42, 2, 131, 253, 128, 56, 112, 51, 51, 88, 33, 33, 38, 1, 1, 26, 24, 23, 64, 38, 0, 255, 255, 0, 113, 255, 233, 5, 40, 5, 244, 6, 38, 0, 48, 0, 0, 0, 7, 1, 99, 0, 128, 0, 6, 255, 255, 0, 113, 255, 233, 4, 127, 5, 156, 6, 38, 0, 48, 0, 0, 0, 6, 1, 94, 252, 236, 0, 1, 0, 113, 254, 88, 4, 127, 4, 58, 0, 60, 0, 0, 97, 51, 19, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 3, 170, 25, 188, 254, 240, 133, 21, 48, 28, 28, 66, 37, 52, 56, 11, 12, 1, 5, 107, 254, 241, 107, 9, 17, 36, 36, 124, 99, 49, 89, 39, 39, 68, 30, 18, 33, 59, 22, 23, 27, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 3, 34, 26, 25, 61, 29, 4, 58, 253, 8, 29, 44, 15, 15, 15, 1, 1, 42, 33, 33, 83, 42, 2, 131, 253, 128, 85, 166, 65, 64, 82, 1, 1, 26, 24, 23, 64, 38, 132, 21, 51, 31, 31, 71, 40, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 35, 56, 22, 22, 33, 13, 0, 255, 255, 0, 113, 255, 233, 4, 127, 6, 50, 6, 38, 0, 48, 0, 0, 0, 7, 1, 98, 0, 34, 0, 158, 255, 255, 0, 113, 255, 233, 4, 127, 6, 12, 6, 38, 0, 48, 0, 0, 0, 7, 1, 93, 0, 139, 0, 7, 255, 255, 0, 112, 0, 0, 4, 210, 5, 200, 6, 38, 0, 50, 0, 0, 0, 6, 1, 91, 113, 2, 255, 255, 0, 112, 0, 0, 4, 210, 5, 242, 6, 38, 0, 50, 0, 0, 0, 6, 1, 92, 102, 6, 255, 255, 0, 112, 0, 0, 4, 210, 5, 217, 6, 38, 0, 50, 0, 0, 0, 6, 1, 97, 227, 6, 255, 255, 0, 112, 0, 0, 4, 210, 5, 203, 6, 38, 0, 50, 0, 0, 0, 7, 1, 90, 255, 96, 0, 5, 255, 255, 0, 0, 254, 72, 5, 3, 5, 200, 6, 38, 0, 52, 0, 0, 0, 7, 1, 91, 0, 154, 0, 2, 255, 255, 0, 0, 254, 72, 5, 3, 5, 242, 6, 38, 0, 52, 0, 0, 0, 7, 1, 92, 0, 143, 0, 6, 255, 255, 0, 0, 254, 72, 5, 3, 5, 217, 6, 38, 0, 52, 0, 0, 0, 6, 1, 97, 11, 6, 255, 255, 0, 0, 254, 72, 5, 3, 5, 203, 6, 38, 0, 52, 0, 0, 0, 6, 1, 90, 137, 5, 255, 255, 0, 20, 0, 0, 4, 129, 5, 200, 6, 38, 0, 53, 0, 0, 0, 7, 1, 91, 0, 154, 0, 2, 255, 255, 0, 20, 0, 0, 4, 131, 5, 245, 6, 38, 0, 53, 0, 0, 0, 6, 1, 100, 13, 6, 255, 255, 0, 20, 0, 0, 4, 129, 5, 248, 6, 38, 0, 53, 0, 0, 0, 6, 1, 96, 25, 22, 0, 1, 2, 32, 4, 175, 3, 187, 5, 198, 0, 3, 0, 0, 65, 3, 33, 19, 3, 187, 129, 254, 230, 213, 4, 175, 1, 23, 254, 233, 0, 1, 1, 200, 4, 175, 3, 228, 5, 198, 0, 3, 0, 0, 65, 3, 51, 1, 2, 170, 226, 227, 1, 57, 5, 198, 254, 233, 1, 23, 0, 1, 0, 239, 4, 220, 3, 198, 5, 236, 0, 8, 0, 0, 65, 37, 35, 5, 7, 55, 55, 23, 23, 3, 198, 254, 255, 155, 254, 199, 2, 219, 171, 126, 209, 4, 250, 242, 240, 32, 2, 125, 126, 1, 0, 1, 0, 234, 4, 233, 3, 197, 6, 5, 0, 37, 0, 0, 65, 39, 6, 6, 7, 6, 6, 35, 6, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 51, 54, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 3, 197, 129, 6, 20, 14, 13, 32, 21, 37, 65, 32, 32, 67, 37, 50, 81, 28, 29, 34, 4, 134, 6, 18, 13, 13, 33, 22, 37, 65, 32, 32, 66, 38, 51, 80, 28, 28, 32, 5, 234, 27, 21, 37, 14, 11, 14, 1, 28, 17, 17, 29, 43, 35, 36, 89, 45, 29, 20, 37, 13, 12, 16, 1, 28, 17, 17, 29, 43, 36, 35, 89, 0, 1, 1, 116, 5, 12, 4, 84, 5, 176, 0, 3, 0, 0, 65, 55, 33, 7, 4, 58, 26, 253, 58, 26, 5, 12, 164, 164, 0, 1, 1, 157, 4, 124, 4, 48, 5, 163, 0, 25, 0, 0, 65, 7, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 4, 48, 196, 6, 25, 20, 19, 50, 32, 34, 46, 14, 13, 11, 1, 193, 1, 46, 41, 41, 113, 67, 69, 123, 48, 47, 59, 5, 163, 2, 31, 50, 18, 17, 17, 1, 21, 19, 17, 48, 28, 1, 69, 108, 37, 38, 41, 1, 1, 38, 38, 37, 111, 0, 0, 1, 2, 78, 4, 197, 3, 114, 5, 226, 0, 11, 0, 0, 65, 20, 22, 55, 50, 54, 53, 52, 38, 7, 34, 6, 2, 78, 85, 61, 61, 85, 86, 60, 66, 80, 5, 78, 61, 76, 2, 80, 65, 62, 76, 2, 84, 0, 0, 2, 1, 120, 4, 214, 4, 83, 5, 211, 0, 11, 0, 23, 0, 0, 65, 20, 22, 51, 54, 54, 53, 52, 38, 35, 6, 6, 5, 20, 22, 51, 54, 54, 53, 52, 38, 7, 6, 6, 1, 120, 79, 55, 53, 78, 81, 52, 54, 78, 1, 210, 80, 53, 53, 79, 84, 50, 55, 76, 5, 81, 53, 68, 2, 70, 57, 54, 68, 2, 72, 56, 54, 69, 2, 72, 57, 55, 67, 1, 1, 73, 0, 2, 1, 243, 4, 14, 3, 143, 5, 148, 0, 23, 0, 47, 0, 0, 65, 6, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 1, 244, 1, 30, 27, 26, 71, 40, 43, 77, 30, 29, 36, 2, 1, 29, 25, 26, 69, 40, 43, 79, 30, 31, 38, 111, 2, 19, 15, 15, 38, 21, 20, 31, 10, 9, 8, 2, 2, 18, 14, 14, 37, 21, 18, 29, 10, 13, 12, 4, 199, 41, 68, 24, 25, 27, 29, 27, 27, 74, 44, 40, 69, 26, 25, 29, 30, 27, 28, 76, 41, 21, 38, 15, 14, 17, 16, 13, 13, 35, 18, 20, 38, 14, 14, 17, 12, 11, 12, 37, 0, 2, 1, 51, 4, 229, 4, 168, 5, 238, 0, 3, 0, 7, 0, 0, 65, 1, 51, 1, 33, 3, 51, 1, 3, 138, 254, 228, 227, 1, 87, 253, 127, 244, 220, 1, 41, 5, 238, 254, 247, 1, 9, 254, 247, 1, 9, 0, 0, 1, 1, 140, 4, 221, 4, 118, 5, 239, 0, 8, 0, 0, 65, 39, 39, 7, 23, 51, 37, 53, 7, 2, 227, 118, 224, 1, 255, 171, 1, 64, 238, 5, 112, 125, 2, 24, 250, 251, 23, 3, 0, 1, 252, 149, 254, 147, 253, 208, 255, 174, 0, 11, 0, 0, 69, 20, 22, 51, 50, 54, 53, 52, 38, 35, 34, 6, 252, 149, 95, 62, 62, 96, 94, 63, 66, 92, 229, 65, 71, 79, 67, 64, 73, 83, 0, 1, 1, 28, 254, 50, 2, 137, 0, 5, 0, 30, 0, 0, 101, 7, 7, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 2, 35, 203, 44, 17, 47, 20, 20, 24, 4, 5, 26, 18, 19, 44, 22, 6, 39, 84, 41, 40, 72, 28, 27, 32, 1, 1, 19, 19, 15, 43, 27, 5, 1, 140, 2, 3, 6, 7, 28, 26, 26, 33, 10, 10, 10, 1, 164, 1, 11, 11, 11, 36, 27, 26, 74, 48, 35, 59, 22, 17, 24, 6, 0, 1, 0, 243, 254, 88, 2, 121, 0, 61, 0, 28, 0, 0, 69, 39, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 2, 121, 153, 42, 84, 33, 33, 43, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 3, 34, 26, 25, 61, 3, 64, 21, 55, 35, 36, 87, 51, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 35, 56, 22, 22, 33, 0, 0, 1, 0, 149, 255, 87, 1, 204, 0, 250, 0, 9, 0, 0, 101, 55, 35, 7, 6, 6, 7, 23, 54, 54, 1, 197, 7, 186, 10, 12, 60, 43, 113, 79, 101, 182, 68, 72, 75, 130, 62, 80, 66, 182, 255, 255, 0, 161, 0, 93, 4, 34, 3, 124, 4, 39, 0, 122, 255, 51, 255, 221, 0, 7, 0, 122, 0, 163, 255, 221, 0, 1, 255, 246, 254, 96, 4, 150, 4, 58, 0, 33, 0, 0, 65, 33, 1, 33, 19, 22, 22, 51, 50, 54, 55, 54, 54, 55, 7, 51, 19, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 2, 9, 254, 241, 254, 252, 1, 15, 85, 39, 87, 47, 32, 58, 26, 32, 58, 28, 9, 242, 188, 254, 240, 135, 21, 49, 27, 28, 63, 35, 34, 48, 14, 19, 14, 2, 1, 4, 3, 4, 58, 250, 38, 1, 189, 25, 25, 10, 10, 12, 37, 24, 72, 4, 58, 252, 254, 27, 41, 13, 13, 13, 1, 1, 21, 17, 21, 57, 31, 26, 54, 26, 255, 255, 0, 131, 0, 127, 4, 0, 3, 158, 4, 39, 0, 123, 255, 103, 0, 0, 0, 7, 0, 123, 0, 212, 0, 0, 0, 1, 0, 88, 0, 0, 3, 249, 4, 58, 0, 9, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 1, 20, 40, 1, 59, 109, 254, 198, 40, 3, 121, 40, 254, 211, 149, 4, 58, 227, 253, 139, 226, 226, 3, 88, 0, 2, 0, 17, 255, 235, 4, 195, 5, 176, 0, 3, 0, 31, 0, 0, 115, 19, 35, 3, 1, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 213, 253, 196, 253, 3, 238, 193, 5, 22, 20, 20, 59, 42, 38, 42, 10, 10, 3, 2, 196, 3, 32, 35, 35, 111, 76, 82, 130, 48, 47, 57, 11, 193, 5, 176, 250, 80, 5, 176, 251, 145, 36, 67, 25, 25, 29, 2, 1, 35, 26, 26, 63, 29, 1, 72, 123, 45, 46, 54, 1, 2, 47, 45, 45, 127, 79, 4, 110, 0, 4, 255, 224, 254, 76, 4, 186, 5, 195, 0, 23, 0, 33, 0, 45, 0, 57, 0, 0, 65, 7, 51, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 33, 7, 51, 3, 35, 7, 33, 55, 35, 19, 1, 20, 22, 55, 54, 54, 53, 52, 38, 7, 6, 6, 5, 20, 22, 55, 54, 54, 53, 52, 38, 7, 6, 6, 2, 239, 30, 210, 157, 9, 46, 36, 36, 98, 62, 45, 88, 43, 27, 54, 104, 54, 102, 163, 60, 60, 75, 14, 186, 252, 30, 30, 222, 128, 228, 30, 2, 130, 30, 219, 159, 1, 149, 66, 48, 49, 62, 67, 47, 50, 61, 253, 203, 66, 48, 48, 63, 68, 47, 49, 61, 4, 58, 170, 252, 106, 60, 97, 33, 34, 36, 1, 1, 6, 8, 169, 8, 9, 61, 56, 56, 159, 98, 4, 64, 170, 253, 26, 170, 170, 3, 144, 1, 20, 48, 61, 2, 2, 62, 49, 51, 60, 2, 2, 64, 50, 48, 61, 2, 2, 62, 49, 51, 60, 2, 2, 64, 0, 0, 1, 1, 39, 0, 0, 4, 167, 6, 47, 0, 21, 0, 0, 97, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 1, 39, 1, 14, 189, 10, 50, 39, 38, 101, 60, 24, 45, 23, 47, 40, 79, 41, 114, 188, 70, 70, 90, 16, 4, 77, 58, 97, 34, 34, 36, 1, 1, 7, 5, 214, 8, 13, 1, 1, 66, 63, 63, 180, 111, 0, 0, 1, 0, 51, 254, 73, 3, 155, 4, 58, 0, 23, 0, 0, 65, 7, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 23, 50, 54, 55, 54, 54, 55, 19, 1, 128, 40, 1, 10, 149, 8, 40, 30, 28, 75, 45, 37, 75, 36, 36, 45, 90, 45, 104, 173, 65, 65, 83, 14, 188, 4, 58, 227, 252, 144, 47, 72, 23, 22, 22, 1, 1, 7, 8, 228, 8, 8, 1, 50, 52, 51, 156, 105, 4, 83, 0, 0, 2, 1, 29, 254, 141, 2, 96, 255, 188, 0, 23, 0, 44, 0, 0, 69, 6, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 1, 30, 1, 25, 22, 21, 57, 31, 33, 59, 23, 23, 27, 1, 1, 24, 20, 21, 56, 31, 33, 62, 23, 23, 29, 107, 4, 12, 8, 7, 21, 14, 11, 16, 5, 6, 3, 2, 2, 13, 9, 8, 20, 10, 25, 19, 228, 33, 53, 18, 19, 20, 24, 21, 20, 56, 34, 32, 55, 20, 19, 22, 24, 21, 22, 59, 31, 11, 22, 9, 9, 10, 9, 7, 8, 21, 10, 12, 22, 8, 7, 9, 29, 0, 1, 253, 96, 4, 186, 254, 144, 6, 24, 0, 3, 0, 0, 65, 3, 35, 19, 254, 144, 98, 206, 151, 4, 186, 1, 94, 254, 162, 0, 0, 1, 253, 231, 4, 185, 255, 154, 6, 25, 0, 3, 0, 0, 65, 3, 51, 1, 254, 178, 203, 175, 1, 4, 6, 25, 254, 160, 1, 96, 255, 255, 252, 248, 4, 233, 255, 211, 6, 5, 4, 7, 1, 93, 252, 14, 0, 0, 0, 1, 253, 194, 4, 238, 255, 66, 6, 132, 0, 27, 0, 0, 65, 23, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 253, 194, 211, 9, 31, 58, 23, 22, 27, 1, 2, 74, 48, 55, 115, 44, 17, 15, 47, 21, 20, 27, 4, 4, 35, 22, 23, 49, 18, 4, 239, 1, 67, 6, 22, 18, 18, 52, 35, 62, 75, 17, 19, 13, 2, 133, 2, 5, 6, 25, 25, 24, 27, 7, 7, 5, 2, 0, 0, 2, 252, 171, 4, 228, 255, 205, 5, 238, 0, 3, 0, 7, 0, 0, 65, 3, 33, 19, 33, 3, 33, 19, 254, 142, 192, 254, 221, 239, 2, 51, 145, 254, 231, 191, 4, 228, 1, 10, 254, 246, 1, 10, 254, 246, 0, 1, 2, 163, 4, 242, 4, 79, 6, 129, 0, 3, 0, 0, 65, 3, 51, 1, 3, 55, 148, 147, 1, 25, 6, 129, 254, 113, 1, 143, 0, 3, 1, 126, 4, 197, 4, 166, 7, 9, 0, 3, 0, 15, 0, 27, 0, 0, 65, 3, 51, 19, 1, 20, 22, 55, 54, 54, 53, 52, 38, 7, 6, 6, 5, 20, 22, 55, 54, 54, 53, 52, 38, 7, 6, 6, 3, 65, 99, 153, 219, 253, 44, 85, 53, 55, 82, 83, 55, 56, 81, 2, 20, 83, 56, 56, 81, 83, 55, 56, 82, 7, 9, 254, 188, 1, 68, 254, 60, 59, 69, 2, 2, 73, 59, 57, 73, 2, 2, 76, 56, 58, 72, 2, 2, 76, 58, 57, 72, 2, 2, 75, 255, 255, 2, 46, 2, 37, 3, 97, 3, 86, 4, 6, 0, 100, 61, 0, 0, 1, 0, 32, 0, 0, 4, 176, 5, 176, 0, 5, 0, 0, 65, 55, 33, 3, 33, 19, 4, 136, 40, 252, 109, 253, 1, 18, 213, 4, 204, 228, 250, 80, 4, 204, 0, 2, 255, 181, 0, 0, 4, 110, 5, 176, 0, 3, 0, 8, 0, 0, 65, 1, 33, 3, 1, 1, 55, 23, 19, 2, 139, 253, 42, 4, 185, 206, 253, 167, 1, 87, 59, 15, 86, 5, 176, 250, 80, 5, 176, 251, 50, 2, 212, 124, 124, 253, 44, 0, 0, 3, 0, 84, 255, 234, 4, 149, 5, 198, 0, 3, 0, 41, 0, 79, 0, 0, 65, 55, 33, 7, 37, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 3, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 3, 29, 39, 254, 134, 39, 2, 199, 33, 10, 8, 18, 19, 68, 51, 52, 137, 88, 91, 154, 63, 63, 100, 36, 37, 49, 12, 33, 10, 6, 17, 17, 64, 50, 49, 135, 87, 92, 156, 65, 65, 103, 39, 38, 50, 232, 33, 7, 22, 17, 18, 50, 33, 34, 86, 54, 51, 65, 19, 19, 16, 1, 7, 5, 33, 6, 20, 16, 15, 46, 32, 31, 84, 55, 51, 68, 21, 21, 20, 3, 2, 6, 2, 102, 223, 223, 8, 211, 76, 154, 71, 70, 123, 47, 46, 54, 2, 2, 49, 44, 45, 124, 72, 72, 159, 80, 212, 75, 152, 70, 71, 123, 46, 47, 55, 2, 2, 48, 44, 44, 123, 72, 72, 160, 1, 39, 215, 43, 96, 46, 47, 84, 31, 31, 35, 2, 2, 43, 34, 34, 86, 45, 45, 86, 35, 215, 43, 95, 46, 46, 83, 32, 31, 35, 2, 2, 42, 33, 33, 84, 44, 45, 88, 0, 0, 1, 255, 169, 0, 0, 4, 37, 5, 176, 0, 6, 0, 0, 65, 19, 33, 3, 33, 1, 33, 2, 169, 101, 1, 23, 183, 254, 235, 253, 80, 1, 38, 4, 52, 251, 204, 5, 176, 250, 80, 0, 0, 3, 0, 13, 0, 0, 4, 154, 5, 176, 0, 3, 0, 7, 0, 11, 0, 0, 119, 7, 33, 55, 1, 7, 33, 55, 1, 7, 33, 55, 52, 39, 3, 179, 40, 253, 33, 39, 2, 223, 39, 253, 52, 40, 3, 126, 40, 226, 226, 226, 2, 111, 219, 219, 2, 95, 228, 228, 0, 1, 0, 13, 0, 0, 4, 188, 5, 176, 0, 7, 0, 0, 97, 19, 33, 3, 33, 19, 33, 3, 3, 191, 253, 252, 77, 252, 1, 18, 213, 1, 142, 213, 5, 176, 250, 80, 4, 204, 251, 52, 0, 1, 0, 3, 0, 1, 4, 207, 5, 176, 0, 12, 0, 0, 65, 55, 1, 33, 55, 33, 7, 1, 1, 7, 33, 55, 33, 3, 86, 1, 254, 236, 2, 100, 40, 252, 49, 25, 1, 80, 253, 232, 28, 3, 236, 39, 253, 140, 2, 213, 18, 1, 229, 228, 140, 253, 197, 253, 186, 162, 224, 0, 0, 3, 0, 75, 0, 0, 4, 230, 5, 176, 0, 29, 0, 42, 0, 55, 0, 0, 65, 55, 33, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 7, 33, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 1, 54, 54, 55, 54, 54, 55, 3, 38, 38, 39, 38, 38, 37, 6, 6, 7, 6, 6, 7, 19, 22, 22, 23, 22, 22, 3, 121, 41, 254, 238, 40, 112, 186, 69, 69, 85, 11, 9, 36, 45, 45, 144, 98, 39, 1, 17, 39, 110, 185, 69, 69, 85, 11, 9, 34, 44, 45, 143, 253, 133, 7, 34, 29, 28, 82, 54, 114, 45, 52, 13, 13, 2, 2, 115, 7, 34, 28, 29, 80, 52, 114, 45, 51, 12, 12, 1, 4, 234, 198, 196, 12, 91, 72, 72, 191, 111, 94, 175, 70, 70, 96, 15, 191, 189, 12, 88, 71, 70, 187, 110, 94, 177, 72, 72, 99, 253, 236, 54, 98, 41, 40, 60, 16, 253, 183, 16, 58, 38, 37, 85, 61, 52, 94, 39, 39, 57, 15, 2, 72, 17, 62, 39, 40, 88, 0, 0, 1, 0, 108, 0, 0, 5, 75, 5, 176, 0, 35, 0, 0, 65, 19, 33, 3, 38, 38, 39, 38, 54, 55, 19, 33, 3, 6, 22, 23, 22, 22, 23, 3, 33, 19, 54, 54, 55, 54, 54, 55, 19, 33, 3, 6, 6, 7, 6, 6, 3, 5, 159, 254, 239, 159, 48, 49, 9, 10, 4, 6, 95, 254, 238, 95, 12, 27, 43, 42, 146, 107, 67, 1, 17, 67, 115, 177, 64, 63, 78, 16, 96, 254, 237, 96, 8, 27, 24, 24, 74, 2, 60, 3, 116, 252, 142, 19, 70, 44, 43, 95, 44, 2, 55, 253, 202, 99, 184, 73, 74, 99, 15, 254, 166, 1, 89, 14, 91, 71, 71, 187, 111, 2, 54, 253, 202, 52, 100, 42, 43, 64, 0, 1, 255, 248, 0, 0, 4, 147, 5, 198, 0, 74, 0, 0, 65, 3, 33, 55, 5, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 5, 7, 33, 19, 38, 38, 39, 38, 52, 55, 54, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 2, 84, 44, 1, 201, 41, 254, 244, 78, 127, 48, 47, 62, 12, 7, 8, 10, 19, 20, 69, 50, 51, 133, 84, 88, 152, 64, 64, 103, 38, 39, 50, 11, 6, 13, 31, 42, 22, 56, 34, 254, 253, 41, 1, 201, 44, 38, 43, 9, 10, 5, 4, 14, 4, 6, 5, 19, 15, 15, 44, 30, 30, 78, 50, 46, 60, 18, 18, 15, 2, 1, 6, 4, 7, 8, 24, 23, 28, 96, 1, 15, 254, 241, 228, 4, 48, 126, 75, 74, 168, 90, 51, 74, 148, 68, 68, 119, 45, 44, 52, 2, 2, 46, 42, 43, 119, 69, 70, 154, 79, 51, 107, 202, 91, 45, 88, 41, 3, 228, 1, 16, 20, 76, 49, 48, 109, 53, 52, 93, 32, 52, 38, 90, 44, 44, 82, 31, 30, 34, 2, 2, 42, 32, 33, 82, 42, 43, 81, 31, 54, 62, 143, 66, 85, 143, 0, 2, 0, 82, 255, 235, 4, 58, 4, 80, 0, 55, 0, 87, 0, 0, 65, 35, 7, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 37, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 4, 58, 193, 80, 18, 45, 26, 34, 79, 44, 77, 126, 50, 49, 76, 27, 26, 34, 8, 2, 6, 3, 11, 12, 46, 37, 37, 105, 70, 57, 97, 42, 26, 48, 22, 13, 46, 30, 29, 70, 37, 32, 58, 27, 2, 11, 20, 11, 20, 19, 3, 1, 1, 3, 1, 253, 176, 2, 4, 15, 13, 13, 37, 27, 26, 69, 45, 26, 47, 20, 17, 30, 12, 94, 16, 34, 18, 25, 57, 32, 38, 49, 15, 16, 13, 1, 2, 4, 4, 58, 118, 29, 47, 17, 21, 23, 1, 2, 47, 43, 42, 113, 65, 64, 136, 64, 22, 57, 122, 58, 58, 104, 40, 40, 48, 1, 1, 29, 28, 16, 43, 25, 37, 53, 16, 17, 16, 1, 12, 12, 212, 2, 4, 2, 1, 24, 16, 5, 12, 5, 12, 23, 10, 185, 21, 35, 81, 40, 39, 72, 27, 28, 33, 1, 1, 10, 11, 8, 26, 18, 253, 238, 15, 24, 9, 13, 12, 1, 1, 31, 24, 25, 63, 33, 33, 64, 0, 2, 255, 235, 254, 110, 4, 136, 5, 199, 0, 38, 0, 78, 0, 0, 65, 38, 6, 7, 6, 6, 7, 3, 33, 19, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 3, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 2, 241, 99, 180, 70, 71, 94, 14, 246, 1, 14, 88, 24, 49, 25, 40, 87, 45, 102, 173, 64, 64, 78, 8, 4, 17, 22, 23, 73, 51, 48, 83, 32, 32, 39, 5, 7, 58, 55, 55, 152, 189, 63, 30, 114, 48, 66, 19, 19, 12, 6, 7, 47, 35, 36, 90, 51, 30, 61, 28, 22, 42, 18, 133, 7, 40, 31, 30, 79, 48, 39, 58, 19, 18, 15, 4, 5, 30, 24, 29, 83, 5, 197, 2, 62, 58, 59, 163, 99, 250, 96, 1, 206, 15, 26, 9, 15, 16, 1, 2, 62, 59, 58, 166, 102, 55, 103, 45, 45, 72, 24, 26, 65, 40, 40, 95, 57, 93, 143, 49, 48, 52, 253, 150, 1, 205, 1, 2, 38, 31, 31, 80, 44, 51, 84, 29, 30, 32, 8, 10, 7, 23, 16, 3, 7, 44, 80, 30, 29, 33, 1, 1, 30, 24, 25, 66, 37, 45, 74, 27, 32, 35, 0, 0, 1, 0, 127, 254, 95, 4, 236, 4, 58, 0, 10, 0, 0, 65, 1, 7, 39, 3, 33, 19, 3, 33, 19, 1, 3, 199, 254, 114, 30, 1, 137, 254, 238, 244, 79, 1, 15, 73, 2, 112, 4, 58, 253, 1, 73, 67, 3, 5, 251, 235, 254, 58, 1, 166, 4, 53, 0, 0, 2, 0, 64, 255, 233, 4, 94, 6, 37, 0, 63, 0, 92, 0, 0, 65, 6, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 54, 22, 23, 55, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 19, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 1, 87, 2, 15, 15, 18, 56, 37, 11, 82, 136, 51, 52, 64, 10, 2, 10, 50, 57, 57, 175, 114, 121, 203, 77, 76, 97, 14, 2, 11, 46, 50, 51, 152, 94, 20, 49, 20, 11, 17, 5, 4, 2, 3, 7, 38, 27, 26, 59, 28, 60, 113, 56, 60, 36, 73, 37, 37, 77, 39, 78, 152, 60, 60, 78, 3, 2, 5, 23, 19, 18, 51, 32, 32, 78, 45, 54, 75, 23, 22, 16, 5, 3, 9, 43, 36, 37, 105, 70, 66, 80, 19, 20, 8, 4, 219, 38, 69, 31, 35, 59, 22, 21, 16, 80, 57, 58, 147, 82, 21, 110, 190, 71, 71, 83, 2, 3, 83, 74, 73, 201, 116, 21, 107, 175, 70, 70, 108, 40, 9, 23, 17, 9, 21, 12, 10, 22, 13, 31, 42, 13, 13, 12, 1, 34, 20, 183, 15, 28, 11, 11, 14, 1, 1, 37, 40, 41, 125, 252, 221, 20, 37, 81, 39, 38, 68, 25, 24, 24, 6, 7, 68, 47, 47, 107, 45, 19, 60, 122, 48, 49, 59, 2, 2, 62, 48, 47, 114, 0, 0, 1, 0, 75, 255, 235, 4, 138, 4, 79, 0, 88, 0, 0, 83, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 33, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 23, 55, 35, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 5, 52, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 78, 3, 41, 38, 37, 99, 55, 54, 110, 49, 79, 172, 75, 82, 118, 8, 254, 240, 9, 58, 38, 39, 84, 35, 29, 76, 33, 16, 27, 9, 10, 8, 3, 3, 19, 14, 13, 36, 20, 39, 89, 39, 211, 33, 238, 27, 70, 29, 18, 29, 7, 4, 3, 3, 7, 54, 36, 36, 81, 34, 30, 70, 30, 29, 40, 1, 1, 12, 81, 64, 64, 157, 77, 86, 203, 82, 76, 89, 3, 1, 23, 21, 21, 55, 32, 48, 90, 34, 35, 43, 1, 42, 63, 95, 35, 35, 48, 14, 14, 13, 1, 1, 29, 34, 38, 137, 103, 41, 52, 14, 15, 10, 1, 10, 14, 7, 19, 12, 13, 33, 21, 24, 37, 15, 14, 21, 8, 14, 8, 1, 188, 1, 6, 11, 7, 22, 16, 10, 25, 15, 41, 51, 15, 14, 9, 9, 12, 13, 47, 37, 1, 89, 124, 40, 39, 37, 2, 2, 32, 41, 38, 122, 92, 38, 64, 27, 27, 43, 16, 17, 44, 31, 32, 85, 0, 0, 1, 0, 62, 254, 122, 4, 162, 5, 176, 0, 56, 0, 0, 69, 54, 38, 39, 38, 38, 39, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 1, 55, 33, 7, 33, 5, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 3, 120, 3, 39, 35, 35, 91, 49, 173, 32, 46, 15, 21, 12, 6, 10, 68, 48, 48, 112, 55, 1, 210, 30, 252, 64, 40, 2, 73, 254, 244, 70, 146, 61, 62, 86, 9, 7, 37, 40, 39, 117, 72, 160, 19, 33, 11, 11, 11, 4, 5, 23, 16, 16, 36, 17, 137, 42, 88, 37, 36, 50, 46, 58, 82, 29, 28, 37, 12, 39, 8, 25, 18, 23, 68, 45, 77, 122, 52, 52, 92, 47, 1, 162, 170, 224, 247, 60, 128, 72, 72, 166, 100, 77, 121, 45, 46, 60, 16, 32, 4, 14, 10, 11, 30, 21, 26, 46, 22, 22, 39, 18, 117, 28, 74, 45, 44, 99, 0, 0, 1, 0, 20, 254, 97, 4, 63, 4, 79, 0, 31, 0, 0, 65, 7, 3, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 33, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 1, 203, 251, 188, 1, 16, 140, 24, 53, 27, 29, 63, 34, 44, 60, 17, 17, 11, 5, 187, 1, 17, 186, 9, 23, 36, 36, 124, 92, 68, 118, 50, 29, 53, 23, 4, 59, 1, 251, 198, 3, 24, 21, 31, 11, 11, 11, 1, 2, 29, 25, 26, 70, 41, 251, 182, 4, 73, 83, 151, 58, 57, 69, 2, 1, 39, 37, 20, 53, 30, 0, 3, 0, 152, 255, 232, 4, 102, 5, 199, 0, 37, 0, 58, 0, 79, 0, 0, 65, 19, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 63, 3, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 4, 28, 65, 9, 9, 19, 15, 53, 37, 44, 121, 79, 85, 140, 56, 57, 89, 29, 25, 35, 9, 64, 8, 6, 16, 15, 58, 44, 44, 119, 76, 120, 182, 64, 31, 51, 20, 19, 27, 245, 24, 3, 10, 6, 7, 19, 13, 26, 80, 60, 43, 53, 14, 13, 8, 2, 1, 5, 3, 24, 36, 18, 4, 11, 8, 10, 37, 25, 24, 64, 41, 27, 41, 15, 16, 19, 6, 11, 4, 5, 18, 2, 10, 1, 148, 72, 144, 65, 52, 92, 34, 41, 49, 2, 2, 44, 41, 43, 116, 67, 56, 123, 63, 254, 107, 67, 132, 59, 60, 102, 38, 38, 44, 2, 3, 88, 76, 38, 89, 48, 48, 105, 165, 160, 24, 49, 23, 25, 47, 20, 40, 47, 2, 2, 33, 26, 21, 51, 27, 28, 58, 27, 160, 215, 129, 27, 55, 27, 37, 66, 22, 21, 23, 1, 1, 16, 12, 13, 36, 20, 41, 96, 42, 129, 0, 1, 0, 217, 255, 234, 3, 199, 4, 58, 0, 23, 0, 0, 65, 7, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 7, 34, 38, 39, 38, 38, 55, 19, 1, 1, 40, 1, 19, 77, 18, 33, 39, 39, 127, 89, 68, 119, 56, 24, 36, 74, 42, 37, 46, 11, 12, 6, 9, 117, 4, 58, 227, 254, 44, 109, 147, 48, 49, 53, 2, 1, 35, 40, 203, 19, 25, 1, 20, 19, 19, 61, 52, 2, 188, 0, 0, 1, 255, 177, 255, 239, 4, 19, 6, 5, 0, 44, 0, 0, 65, 38, 6, 7, 7, 54, 54, 23, 22, 22, 23, 22, 22, 23, 23, 1, 33, 1, 55, 19, 22, 22, 23, 22, 22, 23, 50, 54, 55, 55, 6, 6, 39, 38, 38, 39, 38, 38, 39, 3, 38, 38, 39, 38, 38, 1, 153, 38, 76, 37, 16, 20, 40, 20, 34, 50, 18, 17, 22, 7, 15, 253, 204, 1, 47, 1, 14, 57, 80, 13, 51, 38, 38, 102, 64, 20, 38, 19, 29, 11, 24, 11, 29, 36, 12, 12, 13, 4, 187, 14, 51, 37, 38, 96, 6, 4, 1, 11, 10, 210, 2, 4, 2, 2, 37, 27, 27, 63, 28, 60, 251, 210, 2, 51, 150, 254, 71, 58, 104, 39, 40, 47, 1, 5, 5, 220, 1, 3, 2, 3, 38, 26, 26, 57, 22, 3, 115, 53, 98, 38, 37, 46, 0, 1, 0, 132, 254, 118, 4, 176, 5, 197, 0, 93, 0, 0, 65, 55, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 23, 55, 35, 34, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 50, 22, 4, 110, 66, 70, 145, 74, 63, 131, 62, 63, 112, 42, 43, 52, 4, 2, 27, 25, 25, 70, 41, 74, 132, 51, 52, 66, 6, 12, 120, 103, 50, 115, 60, 57, 16, 32, 12, 11, 12, 3, 4, 23, 15, 15, 36, 17, 127, 42, 90, 38, 37, 51, 3, 3, 39, 34, 35, 92, 50, 92, 46, 92, 35, 35, 38, 8, 10, 86, 61, 60, 145, 70, 126, 40, 159, 24, 59, 29, 30, 55, 19, 20, 19, 6, 5, 25, 19, 15, 39, 22, 46, 102, 42, 55, 104, 4, 186, 216, 25, 26, 16, 18, 19, 60, 43, 44, 115, 74, 47, 79, 31, 32, 49, 17, 23, 65, 47, 48, 126, 83, 145, 167, 48, 25, 38, 18, 17, 5, 14, 10, 10, 29, 20, 26, 47, 22, 22, 39, 18, 115, 27, 74, 44, 44, 101, 54, 60, 81, 28, 27, 35, 13, 23, 11, 32, 27, 26, 78, 57, 82, 104, 30, 29, 22, 1, 230, 4, 5, 5, 20, 17, 16, 49, 35, 28, 43, 16, 14, 21, 7, 16, 8, 23, 0, 0, 1, 0, 122, 255, 236, 4, 223, 4, 58, 0, 29, 0, 0, 65, 55, 33, 7, 51, 3, 33, 19, 51, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 54, 55, 19, 4, 185, 38, 251, 213, 37, 130, 151, 1, 16, 150, 245, 92, 6, 17, 28, 28, 99, 75, 57, 101, 49, 26, 23, 43, 24, 27, 27, 5, 6, 2, 2, 92, 3, 100, 214, 214, 252, 156, 3, 100, 253, 206, 70, 117, 43, 43, 50, 1, 2, 29, 29, 193, 9, 12, 18, 15, 15, 40, 22, 2, 36, 0, 2, 255, 208, 254, 96, 4, 57, 4, 81, 0, 33, 0, 62, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 33, 19, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 37, 7, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 39, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 4, 47, 3, 7, 7, 16, 17, 59, 45, 46, 122, 79, 118, 195, 72, 73, 94, 16, 170, 1, 15, 100, 19, 43, 24, 40, 92, 50, 76, 126, 51, 50, 78, 28, 28, 35, 254, 252, 2, 7, 35, 31, 32, 95, 66, 30, 54, 23, 26, 42, 14, 45, 9, 38, 32, 31, 92, 65, 42, 56, 17, 17, 16, 2, 2, 4, 2, 5, 22, 68, 136, 62, 62, 107, 40, 39, 47, 2, 3, 80, 72, 72, 194, 111, 252, 32, 2, 14, 25, 40, 16, 25, 25, 1, 2, 42, 38, 38, 104, 61, 60, 132, 87, 21, 56, 114, 45, 46, 57, 2, 11, 11, 13, 42, 30, 250, 52, 115, 48, 47, 61, 2, 2, 35, 28, 28, 71, 37, 37, 73, 0, 0, 1, 0, 62, 254, 83, 4, 50, 4, 81, 0, 66, 0, 0, 65, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 2, 142, 121, 201, 75, 75, 93, 13, 4, 10, 46, 53, 53, 161, 105, 20, 52, 23, 22, 28, 5, 5, 37, 26, 26, 60, 28, 106, 60, 122, 50, 49, 65, 2, 2, 30, 27, 27, 72, 40, 41, 85, 39, 63, 80, 21, 22, 11, 7, 4, 8, 40, 35, 34, 101, 69, 41, 65, 23, 28, 26, 2, 255, 4, 58, 55, 55, 156, 4, 78, 3, 85, 75, 75, 202, 115, 31, 107, 174, 65, 66, 87, 19, 4, 9, 10, 10, 34, 29, 32, 56, 23, 23, 34, 11, 158, 25, 69, 46, 46, 116, 72, 50, 76, 28, 28, 38, 14, 13, 18, 7, 12, 54, 40, 39, 101, 60, 30, 59, 118, 47, 46, 57, 2, 1, 22, 20, 25, 78, 50, 1, 97, 155, 54, 54, 59, 0, 0, 2, 0, 54, 255, 232, 4, 184, 4, 59, 0, 28, 0, 54, 0, 0, 65, 55, 37, 34, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 1, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 4, 144, 40, 253, 197, 119, 197, 74, 74, 92, 14, 2, 11, 40, 51, 51, 167, 117, 113, 191, 72, 71, 89, 12, 2, 5, 19, 21, 13, 38, 22, 253, 183, 2, 7, 38, 33, 33, 96, 66, 60, 68, 15, 15, 2, 5, 2, 10, 54, 56, 28, 71, 45, 65, 71, 16, 16, 1, 3, 88, 226, 1, 81, 71, 71, 196, 115, 22, 107, 195, 75, 76, 92, 3, 3, 78, 70, 69, 189, 109, 22, 58, 107, 49, 33, 63, 31, 254, 182, 21, 56, 113, 45, 45, 55, 2, 2, 61, 45, 45, 105, 46, 21, 74, 158, 48, 25, 27, 1, 2, 64, 48, 48, 111, 0, 0, 1, 0, 106, 255, 234, 4, 64, 4, 58, 0, 25, 0, 0, 65, 55, 33, 7, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 35, 34, 38, 39, 38, 38, 55, 19, 4, 23, 41, 252, 82, 40, 1, 84, 77, 9, 24, 37, 37, 124, 92, 64, 117, 57, 10, 38, 76, 42, 41, 46, 11, 11, 1, 4, 77, 3, 83, 231, 231, 254, 44, 86, 145, 54, 54, 62, 2, 2, 25, 29, 211, 14, 22, 27, 24, 23, 62, 36, 1, 216, 0, 1, 0, 85, 255, 233, 4, 62, 4, 60, 0, 36, 0, 0, 65, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 2, 39, 39, 22, 18, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 1, 221, 254, 240, 100, 20, 47, 53, 52, 165, 110, 84, 140, 57, 56, 94, 32, 37, 47, 11, 16, 10, 40, 254, 31, 6, 18, 9, 38, 36, 32, 96, 67, 55, 64, 16, 16, 6, 7, 4, 58, 253, 169, 121, 188, 62, 62, 70, 2, 1, 39, 36, 37, 105, 62, 70, 160, 85, 127, 1, 6, 123, 1, 125, 254, 252, 128, 58, 137, 55, 52, 70, 1, 1, 47, 36, 36, 90, 45, 0, 2, 0, 59, 254, 34, 4, 168, 4, 72, 0, 55, 0, 77, 0, 0, 69, 3, 33, 19, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 38, 38, 39, 38, 38, 39, 38, 54, 55, 54, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 37, 19, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 1, 139, 88, 1, 16, 88, 114, 181, 66, 65, 79, 13, 7, 6, 13, 14, 52, 39, 40, 108, 71, 66, 112, 42, 43, 54, 8, 100, 22, 32, 11, 8, 12, 3, 7, 6, 7, 9, 35, 24, 25, 65, 37, 173, 63, 101, 37, 37, 47, 9, 11, 22, 38, 17, 48, 30, 36, 90, 1, 99, 105, 3, 11, 9, 7, 19, 12, 22, 25, 6, 6, 1, 1, 2, 6, 1, 6, 31, 26, 27, 75, 6, 254, 40, 1, 211, 18, 99, 75, 75, 194, 113, 58, 124, 59, 58, 105, 40, 39, 48, 1, 1, 43, 39, 40, 109, 63, 253, 197, 15, 37, 22, 17, 39, 20, 45, 94, 43, 53, 101, 46, 48, 88, 40, 156, 48, 119, 68, 68, 149, 79, 96, 184, 76, 35, 64, 26, 30, 46, 217, 2, 70, 14, 26, 9, 7, 9, 39, 30, 31, 75, 34, 34, 54, 11, 55, 101, 44, 44, 71, 0, 1, 0, 59, 254, 34, 4, 200, 4, 60, 0, 45, 0, 0, 65, 33, 3, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 33, 3, 6, 6, 23, 22, 22, 23, 22, 22, 23, 3, 33, 19, 54, 54, 55, 54, 54, 55, 54, 38, 39, 39, 22, 6, 7, 6, 6, 7, 6, 6, 7, 3, 77, 254, 241, 154, 31, 38, 10, 5, 7, 6, 5, 83, 254, 239, 83, 6, 2, 3, 4, 23, 20, 37, 137, 108, 88, 1, 15, 88, 122, 190, 68, 67, 83, 15, 17, 2, 30, 246, 17, 7, 19, 9, 37, 29, 30, 84, 58, 4, 58, 252, 171, 21, 63, 36, 27, 55, 29, 33, 65, 29, 1, 239, 254, 20, 47, 92, 44, 51, 95, 43, 81, 119, 25, 254, 41, 1, 211, 18, 105, 80, 79, 205, 119, 121, 248, 119, 1, 121, 247, 121, 60, 112, 48, 48, 78, 25, 0, 0, 1, 0, 23, 255, 233, 4, 143, 4, 60, 0, 88, 0, 0, 65, 33, 6, 2, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 39, 39, 22, 2, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 54, 54, 55, 19, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 1, 233, 254, 244, 71, 96, 17, 6, 8, 4, 3, 27, 30, 29, 96, 71, 46, 76, 31, 31, 52, 22, 10, 37, 27, 27, 69, 42, 74, 114, 42, 41, 58, 20, 19, 24, 7, 7, 8, 18, 22, 253, 28, 1, 16, 2, 5, 5, 5, 16, 12, 12, 34, 23, 21, 22, 4, 5, 1, 3, 2, 5, 2, 54, 254, 227, 54, 2, 5, 6, 6, 18, 13, 14, 37, 25, 16, 14, 1, 1, 5, 5, 4, 9, 1, 10, 37, 24, 24, 55, 4, 57, 121, 254, 253, 140, 50, 123, 64, 65, 122, 48, 49, 60, 1, 1, 30, 26, 26, 68, 37, 39, 67, 24, 25, 29, 1, 3, 55, 47, 46, 124, 67, 66, 133, 56, 55, 110, 55, 73, 147, 72, 1, 127, 254, 253, 128, 14, 66, 41, 41, 89, 36, 37, 47, 1, 1, 38, 29, 28, 69, 32, 32, 49, 10, 1, 90, 254, 166, 13, 55, 33, 34, 70, 27, 28, 33, 4, 2, 51, 37, 37, 88, 40, 39, 60, 10, 68, 132, 65, 64, 126, 0, 0, 2, 0, 110, 255, 233, 4, 193, 5, 199, 0, 58, 0, 81, 0, 0, 65, 55, 6, 6, 7, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 5, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 54, 1, 55, 54, 54, 55, 54, 54, 23, 50, 22, 23, 22, 22, 23, 22, 6, 7, 3, 38, 38, 39, 38, 38, 4, 176, 17, 26, 52, 26, 41, 11, 5, 13, 7, 22, 13, 37, 123, 87, 89, 146, 54, 54, 66, 8, 2, 7, 44, 47, 47, 139, 89, 18, 8, 32, 27, 27, 78, 52, 51, 72, 21, 22, 15, 5, 42, 254, 252, 41, 11, 47, 53, 53, 158, 100, 109, 185, 70, 70, 91, 16, 16, 31, 60, 254, 36, 3, 3, 17, 15, 15, 42, 29, 13, 20, 7, 8, 10, 3, 5, 2, 2, 50, 41, 56, 16, 16, 11, 2, 69, 234, 6, 11, 5, 241, 64, 109, 45, 26, 47, 21, 57, 71, 2, 3, 60, 54, 54, 147, 84, 23, 92, 162, 65, 66, 94, 24, 100, 44, 88, 35, 35, 43, 2, 1, 42, 34, 33, 86, 47, 1, 2, 1, 255, 0, 98, 171, 64, 64, 76, 2, 3, 69, 63, 63, 177, 105, 99, 6, 14, 1, 240, 24, 24, 50, 20, 19, 25, 1, 8, 6, 7, 19, 11, 22, 48, 20, 254, 228, 19, 54, 34, 34, 79, 0, 0, 1, 0, 204, 0, 0, 5, 107, 5, 203, 0, 46, 0, 0, 65, 3, 7, 53, 3, 38, 38, 39, 38, 38, 39, 38, 6, 7, 7, 54, 54, 51, 22, 22, 23, 22, 22, 23, 19, 3, 33, 19, 1, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 3, 136, 210, 26, 80, 10, 46, 31, 32, 88, 59, 30, 59, 28, 1, 12, 24, 13, 14, 25, 10, 13, 19, 5, 161, 90, 1, 17, 82, 1, 118, 12, 12, 13, 19, 62, 38, 11, 23, 11, 47, 32, 64, 35, 66, 107, 43, 43, 67, 4, 175, 254, 109, 66, 66, 1, 152, 52, 97, 38, 38, 47, 2, 1, 10, 11, 223, 2, 3, 1, 7, 6, 8, 26, 18, 253, 107, 253, 255, 1, 218, 2, 125, 20, 20, 22, 32, 39, 3, 3, 218, 12, 13, 1, 1, 47, 39, 40, 104, 0, 2, 0, 5, 255, 234, 5, 46, 4, 58, 0, 40, 0, 86, 0, 0, 65, 55, 33, 7, 55, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 39, 1, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 55, 33, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 52, 55, 54, 54, 55, 54, 54, 55, 5, 22, 6, 5, 8, 38, 251, 36, 36, 111, 59, 73, 14, 6, 1, 9, 9, 39, 32, 32, 92, 63, 49, 79, 33, 33, 55, 23, 10, 40, 29, 28, 73, 44, 66, 104, 40, 40, 59, 20, 20, 25, 7, 14, 4, 2, 254, 233, 2, 4, 4, 5, 14, 10, 11, 30, 21, 24, 26, 6, 6, 1, 2, 2, 6, 1, 30, 254, 227, 30, 2, 7, 6, 6, 20, 14, 15, 41, 28, 16, 18, 4, 4, 2, 2, 6, 1, 14, 77, 53, 1, 218, 2, 1, 3, 113, 201, 200, 2, 108, 234, 121, 52, 104, 49, 49, 85, 32, 32, 38, 1, 1, 31, 27, 27, 71, 39, 41, 70, 25, 26, 30, 1, 2, 34, 32, 31, 87, 51, 50, 112, 56, 113, 224, 114, 254, 60, 14, 45, 25, 26, 51, 21, 21, 26, 36, 29, 28, 68, 32, 32, 51, 11, 207, 207, 16, 56, 33, 34, 67, 27, 27, 31, 3, 2, 29, 22, 21, 51, 24, 23, 39, 10, 120, 233, 109, 2, 113, 225, 0, 0, 1, 0, 138, 255, 238, 4, 189, 5, 176, 0, 48, 0, 0, 65, 55, 33, 7, 33, 3, 33, 19, 54, 54, 51, 54, 50, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 7, 34, 6, 7, 19, 4, 149, 40, 251, 245, 40, 1, 38, 213, 1, 18, 114, 7, 15, 7, 7, 15, 8, 28, 47, 18, 14, 23, 9, 20, 13, 5, 5, 30, 24, 27, 77, 51, 23, 102, 180, 69, 69, 86, 9, 8, 52, 54, 23, 55, 31, 44, 105, 58, 17, 30, 17, 74, 4, 204, 228, 228, 251, 52, 2, 108, 1, 1, 1, 1, 1, 12, 11, 8, 20, 13, 30, 79, 46, 46, 73, 25, 28, 32, 3, 213, 2, 55, 54, 54, 160, 108, 101, 162, 57, 24, 39, 14, 20, 21, 1, 3, 2, 1, 125, 0, 0, 1, 0, 83, 255, 234, 4, 169, 5, 199, 0, 67, 0, 0, 65, 5, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 5, 55, 5, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 33, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 4, 64, 254, 241, 11, 44, 34, 35, 94, 61, 50, 67, 20, 21, 20, 2, 2, 7, 6, 6, 1, 194, 40, 254, 46, 5, 8, 21, 16, 18, 52, 37, 30, 76, 48, 62, 82, 24, 24, 19, 1, 1, 17, 3, 60, 57, 57, 171, 114, 86, 148, 61, 61, 99, 36, 39, 52, 13, 44, 9, 5, 16, 16, 70, 50, 51, 139, 89, 111, 194, 75, 75, 99, 1, 201, 2, 56, 95, 33, 34, 36, 2, 2, 37, 30, 30, 78, 42, 41, 84, 37, 34, 1, 227, 1, 29, 39, 85, 41, 47, 88, 29, 24, 27, 1, 2, 40, 35, 35, 95, 57, 109, 179, 65, 64, 72, 2, 1, 43, 40, 40, 112, 64, 70, 159, 82, 254, 229, 69, 136, 62, 72, 124, 43, 45, 53, 2, 2, 66, 63, 62, 178, 0, 2, 255, 195, 255, 254, 4, 103, 5, 176, 0, 49, 0, 64, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 39, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 19, 51, 3, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 35, 7, 23, 22, 22, 23, 22, 6, 7, 6, 6, 7, 6, 6, 7, 35, 3, 137, 253, 181, 149, 4, 9, 8, 4, 12, 8, 6, 14, 8, 20, 55, 38, 17, 27, 31, 79, 121, 45, 45, 64, 22, 7, 14, 6, 9, 16, 6, 111, 130, 213, 249, 62, 108, 45, 50, 81, 28, 27, 33, 5, 7, 23, 35, 36, 123, 92, 8, 26, 15, 39, 43, 9, 9, 1, 4, 5, 23, 22, 23, 68, 48, 16, 5, 176, 252, 146, 26, 73, 39, 22, 45, 21, 17, 30, 14, 31, 38, 1, 2, 225, 2, 49, 43, 43, 116, 65, 23, 49, 24, 43, 85, 40, 2, 138, 251, 52, 1, 31, 29, 33, 97, 57, 54, 121, 61, 78, 162, 67, 67, 87, 3, 224, 1, 5, 52, 36, 36, 78, 29, 40, 91, 38, 39, 53, 1, 0, 0, 2, 255, 240, 255, 254, 4, 82, 5, 176, 0, 24, 0, 39, 0, 0, 65, 19, 35, 3, 51, 19, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 7, 7, 19, 35, 3, 23, 23, 22, 22, 23, 22, 20, 7, 6, 6, 7, 6, 6, 7, 35, 1, 124, 107, 251, 252, 250, 107, 167, 107, 1, 0, 100, 158, 56, 56, 65, 8, 6, 23, 37, 34, 118, 85, 17, 97, 236, 107, 219, 9, 40, 43, 10, 10, 4, 5, 24, 23, 23, 69, 48, 8, 3, 72, 2, 104, 250, 80, 2, 102, 253, 154, 2, 80, 67, 67, 173, 92, 69, 166, 71, 69, 90, 5, 1, 2, 8, 253, 152, 128, 1, 5, 50, 34, 35, 77, 31, 40, 89, 37, 37, 50, 1, 0, 1, 0, 146, 0, 0, 4, 159, 5, 176, 0, 35, 0, 0, 65, 55, 33, 7, 33, 3, 33, 19, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 3, 33, 19, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 35, 19, 4, 119, 40, 252, 27, 40, 1, 32, 213, 1, 18, 120, 7, 12, 6, 4, 9, 4, 31, 44, 14, 16, 9, 6, 75, 1, 18, 75, 10, 50, 53, 42, 112, 67, 13, 28, 14, 7, 15, 7, 68, 4, 204, 228, 228, 251, 52, 2, 140, 1, 1, 1, 1, 2, 1, 7, 25, 19, 24, 70, 47, 254, 59, 1, 196, 99, 156, 54, 42, 53, 12, 2, 3, 1, 1, 1, 1, 96, 0, 1, 0, 1, 254, 152, 4, 176, 5, 176, 0, 11, 0, 0, 83, 3, 33, 3, 33, 19, 33, 19, 33, 3, 33, 19, 254, 253, 1, 89, 63, 1, 20, 63, 1, 69, 253, 254, 237, 214, 254, 114, 214, 5, 176, 250, 80, 254, 152, 1, 104, 5, 176, 251, 50, 4, 206, 0, 0, 2, 0, 22, 255, 255, 4, 167, 5, 176, 0, 18, 0, 33, 0, 0, 65, 55, 33, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 3, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 4, 127, 40, 252, 108, 253, 1, 192, 110, 204, 81, 81, 104, 10, 9, 66, 63, 64, 176, 100, 143, 53, 92, 172, 49, 78, 27, 26, 23, 7, 8, 53, 40, 41, 104, 58, 145, 4, 204, 228, 250, 80, 1, 60, 60, 59, 177, 117, 108, 164, 56, 56, 59, 2, 1, 1, 54, 253, 232, 1, 2, 30, 27, 28, 78, 51, 60, 93, 32, 32, 34, 2, 0, 2, 255, 177, 254, 154, 4, 146, 5, 176, 0, 20, 0, 30, 0, 0, 65, 19, 35, 19, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 39, 3, 51, 19, 33, 3, 3, 19, 51, 3, 5, 54, 54, 55, 54, 54, 3, 153, 141, 105, 213, 253, 68, 140, 12, 22, 15, 16, 41, 30, 31, 85, 57, 48, 52, 230, 63, 2, 20, 62, 78, 86, 165, 174, 254, 204, 53, 73, 26, 25, 37, 254, 154, 2, 72, 4, 206, 253, 172, 56, 122, 61, 61, 118, 51, 52, 86, 28, 1, 253, 184, 1, 102, 254, 154, 4, 194, 1, 112, 252, 22, 4, 68, 155, 82, 81, 169, 0, 1, 255, 139, 0, 0, 5, 34, 5, 176, 0, 21, 0, 0, 65, 19, 33, 3, 1, 33, 3, 35, 19, 35, 3, 35, 3, 33, 19, 1, 33, 19, 51, 3, 51, 19, 2, 253, 33, 1, 21, 99, 1, 82, 254, 218, 231, 41, 113, 241, 110, 44, 21, 254, 233, 97, 254, 132, 1, 41, 242, 54, 108, 240, 106, 2, 76, 253, 180, 2, 248, 2, 184, 253, 151, 2, 105, 253, 152, 2, 104, 253, 100, 252, 236, 2, 77, 253, 179, 2, 76, 0, 0, 1, 0, 35, 255, 235, 4, 181, 5, 198, 0, 79, 0, 0, 65, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 37, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 37, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 7, 23, 22, 22, 23, 22, 22, 3, 23, 26, 21, 7, 8, 59, 42, 43, 103, 51, 46, 79, 29, 29, 32, 1, 254, 239, 3, 73, 65, 64, 173, 97, 100, 200, 84, 86, 118, 8, 5, 32, 36, 22, 59, 37, 52, 95, 38, 37, 48, 5, 8, 72, 66, 66, 175, 94, 95, 190, 77, 77, 103, 8, 1, 18, 9, 49, 35, 35, 85, 45, 43, 80, 29, 28, 30, 6, 7, 48, 36, 37, 94, 52, 178, 38, 205, 27, 49, 21, 18, 31, 2, 66, 26, 79, 54, 56, 82, 26, 26, 25, 1, 1, 27, 25, 25, 73, 48, 1, 104, 158, 53, 53, 55, 2, 1, 44, 52, 53, 168, 120, 68, 119, 47, 28, 47, 17, 24, 62, 40, 40, 100, 61, 106, 153, 50, 49, 47, 2, 2, 50, 51, 52, 156, 104, 1, 46, 70, 24, 23, 23, 1, 1, 22, 23, 23, 70, 48, 56, 80, 26, 26, 25, 1, 220, 1, 1, 8, 8, 6, 18, 0, 0, 1, 0, 3, 0, 0, 4, 180, 5, 176, 0, 9, 0, 0, 65, 1, 19, 33, 3, 33, 1, 3, 33, 19, 3, 155, 253, 216, 159, 254, 238, 253, 1, 24, 2, 40, 159, 1, 19, 253, 5, 176, 252, 111, 3, 145, 250, 80, 3, 144, 252, 112, 5, 176, 0, 1, 255, 196, 0, 0, 4, 196, 5, 176, 0, 30, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 39, 7, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 19, 33, 3, 33, 4, 196, 252, 185, 134, 5, 11, 9, 10, 31, 25, 12, 29, 17, 20, 48, 28, 35, 27, 74, 93, 140, 52, 52, 73, 25, 25, 33, 12, 96, 1, 34, 213, 1, 19, 5, 176, 253, 6, 38, 98, 51, 52, 100, 39, 19, 31, 12, 13, 16, 1, 1, 225, 61, 53, 52, 140, 77, 77, 160, 74, 2, 22, 251, 52, 0, 1, 255, 251, 255, 232, 5, 75, 5, 176, 0, 26, 0, 0, 65, 3, 3, 33, 1, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 1, 33, 2, 106, 42, 136, 254, 228, 1, 50, 42, 18, 43, 25, 32, 77, 47, 36, 71, 34, 42, 53, 105, 55, 79, 131, 54, 54, 88, 36, 2, 193, 254, 203, 2, 177, 1, 0, 1, 255, 251, 231, 64, 30, 49, 18, 22, 23, 1, 1, 16, 12, 220, 13, 20, 1, 1, 45, 40, 39, 110, 65, 4, 157, 0, 0, 1, 0, 1, 254, 161, 4, 162, 5, 176, 0, 11, 0, 0, 83, 3, 33, 3, 51, 19, 35, 19, 33, 3, 33, 19, 254, 253, 3, 74, 61, 255, 118, 183, 214, 254, 236, 213, 254, 128, 214, 5, 176, 250, 80, 254, 161, 2, 64, 4, 207, 251, 50, 4, 206, 0, 0, 1, 0, 213, 0, 0, 4, 211, 5, 176, 0, 25, 0, 0, 65, 33, 3, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 33, 3, 6, 22, 23, 22, 22, 51, 22, 54, 55, 3, 33, 4, 211, 254, 237, 123, 51, 102, 52, 54, 59, 12, 13, 1, 5, 74, 254, 238, 75, 12, 38, 49, 48, 157, 108, 51, 99, 48, 104, 1, 19, 5, 176, 253, 92, 11, 15, 2, 2, 44, 34, 34, 87, 45, 1, 198, 254, 59, 103, 174, 63, 64, 72, 1, 16, 14, 253, 212, 0, 0, 1, 255, 230, 0, 0, 5, 6, 5, 176, 0, 11, 0, 0, 65, 33, 3, 33, 19, 33, 3, 35, 19, 33, 3, 35, 1, 238, 254, 245, 253, 4, 35, 253, 254, 245, 214, 132, 214, 254, 253, 214, 134, 5, 176, 250, 80, 5, 176, 251, 50, 4, 206, 251, 50, 0, 0, 1, 255, 230, 254, 162, 5, 6, 5, 176, 0, 15, 0, 0, 65, 33, 3, 33, 3, 51, 19, 35, 19, 33, 3, 35, 19, 33, 3, 35, 1, 238, 254, 245, 253, 3, 146, 61, 251, 119, 126, 215, 254, 245, 214, 132, 214, 254, 253, 214, 134, 5, 176, 250, 80, 254, 162, 2, 61, 4, 209, 251, 50, 4, 206, 251, 50, 0, 0, 2, 0, 159, 255, 255, 4, 81, 5, 176, 0, 18, 0, 33, 0, 0, 83, 7, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 3, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 198, 39, 244, 215, 1, 119, 103, 187, 72, 72, 91, 9, 8, 55, 55, 56, 159, 96, 70, 101, 140, 99, 45, 62, 18, 18, 12, 5, 7, 36, 29, 32, 90, 56, 73, 5, 176, 217, 251, 41, 1, 57, 57, 56, 167, 108, 99, 157, 55, 54, 59, 3, 1, 2, 72, 252, 215, 1, 2, 31, 26, 27, 71, 42, 49, 80, 28, 32, 35, 1, 2, 0, 0, 3, 255, 223, 255, 254, 4, 243, 5, 176, 0, 16, 0, 31, 0, 35, 0, 0, 65, 19, 33, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 23, 22, 22, 23, 22, 6, 7, 6, 6, 7, 6, 6, 7, 35, 5, 19, 33, 3, 1, 128, 103, 254, 245, 253, 1, 61, 99, 162, 59, 59, 71, 8, 6, 27, 36, 37, 122, 88, 79, 45, 33, 30, 5, 4, 4, 3, 4, 18, 17, 18, 56, 42, 38, 2, 226, 253, 254, 238, 253, 3, 94, 2, 82, 250, 80, 2, 67, 60, 59, 164, 96, 79, 149, 58, 58, 71, 3, 214, 2, 3, 47, 31, 31, 66, 22, 34, 80, 34, 35, 48, 2, 213, 5, 176, 250, 80, 0, 2, 0, 22, 255, 255, 4, 45, 5, 176, 0, 16, 0, 31, 0, 0, 65, 19, 33, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 1, 201, 93, 254, 237, 253, 1, 192, 110, 204, 81, 81, 104, 10, 9, 66, 63, 64, 176, 100, 182, 172, 49, 78, 27, 26, 23, 7, 8, 53, 40, 41, 104, 58, 145, 3, 150, 2, 26, 250, 80, 1, 60, 60, 59, 177, 117, 108, 164, 56, 56, 59, 2, 225, 1, 2, 30, 27, 28, 78, 51, 60, 93, 32, 32, 34, 2, 0, 0, 1, 0, 1, 255, 233, 4, 85, 5, 200, 0, 67, 0, 0, 65, 33, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 37, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 33, 7, 33, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 1, 28, 254, 238, 9, 49, 55, 54, 167, 111, 133, 212, 78, 37, 62, 23, 26, 35, 9, 48, 9, 10, 19, 20, 69, 50, 51, 133, 83, 112, 199, 77, 77, 97, 9, 1, 15, 4, 39, 36, 35, 100, 66, 47, 66, 21, 20, 20, 3, 3, 6, 5, 7, 254, 148, 40, 1, 125, 8, 7, 21, 14, 11, 27, 16, 38, 114, 81, 58, 73, 19, 20, 8, 1, 228, 106, 182, 67, 68, 78, 3, 3, 93, 82, 40, 93, 51, 55, 121, 64, 1, 47, 74, 146, 66, 66, 113, 42, 41, 49, 2, 2, 76, 69, 69, 190, 111, 1, 61, 106, 39, 38, 43, 2, 2, 36, 29, 30, 75, 40, 41, 82, 35, 41, 227, 40, 38, 79, 36, 28, 51, 23, 53, 65, 4, 3, 51, 40, 39, 98, 0, 2, 255, 233, 255, 233, 4, 142, 5, 199, 0, 45, 0, 83, 0, 0, 65, 19, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 35, 19, 35, 3, 51, 19, 51, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 3, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 52, 55, 54, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 4, 62, 71, 7, 2, 8, 8, 37, 34, 34, 100, 70, 72, 111, 43, 43, 61, 21, 22, 27, 8, 20, 85, 111, 244, 252, 243, 106, 84, 14, 7, 4, 6, 6, 34, 32, 31, 95, 69, 74, 116, 45, 44, 65, 23, 23, 29, 168, 76, 3, 5, 6, 6, 19, 15, 16, 46, 32, 25, 28, 5, 6, 3, 3, 8, 1, 76, 2, 6, 5, 5, 17, 15, 14, 42, 30, 28, 32, 8, 7, 1, 2, 3, 8, 1, 252, 1, 185, 55, 121, 58, 58, 105, 40, 40, 49, 2, 2, 45, 39, 40, 106, 59, 60, 124, 57, 128, 2, 123, 250, 80, 2, 92, 97, 52, 118, 58, 58, 107, 41, 41, 51, 2, 2, 43, 39, 38, 105, 60, 59, 127, 2, 24, 254, 1, 22, 58, 31, 31, 60, 23, 23, 27, 2, 2, 34, 26, 25, 63, 30, 29, 50, 14, 1, 255, 19, 56, 31, 30, 60, 24, 24, 28, 1, 2, 32, 24, 25, 60, 29, 30, 52, 0, 2, 255, 107, 0, 0, 4, 137, 5, 177, 0, 19, 0, 34, 0, 0, 97, 33, 19, 37, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 1, 33, 1, 51, 1, 54, 54, 55, 54, 54, 51, 23, 3, 39, 38, 38, 39, 38, 38, 2, 121, 1, 20, 252, 254, 41, 106, 200, 79, 80, 103, 9, 6, 28, 33, 20, 57, 36, 254, 82, 1, 50, 1, 110, 210, 254, 162, 7, 53, 40, 39, 100, 56, 169, 77, 195, 58, 84, 24, 18, 14, 5, 176, 1, 49, 53, 53, 165, 117, 69, 124, 52, 32, 57, 24, 253, 106, 2, 61, 1, 175, 59, 85, 28, 27, 27, 2, 254, 72, 1, 2, 34, 33, 26, 73, 0, 0, 2, 0, 91, 255, 233, 4, 126, 6, 21, 0, 52, 0, 78, 0, 0, 65, 38, 6, 7, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 35, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 7, 23, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 7, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 2, 193, 98, 165, 71, 28, 70, 45, 44, 111, 71, 81, 144, 55, 55, 69, 6, 221, 8, 48, 32, 33, 73, 34, 99, 157, 62, 62, 92, 32, 33, 43, 12, 5, 1, 3, 11, 41, 53, 52, 170, 117, 116, 194, 72, 72, 90, 12, 2, 9, 37, 46, 47, 151, 177, 59, 74, 20, 19, 10, 4, 2, 6, 37, 32, 32, 94, 64, 62, 74, 18, 19, 8, 5, 2, 6, 38, 33, 32, 92, 3, 254, 2, 75, 65, 64, 106, 41, 40, 55, 14, 16, 45, 40, 39, 121, 92, 39, 47, 14, 14, 14, 7, 20, 88, 62, 62, 153, 85, 85, 182, 90, 38, 2, 21, 108, 198, 76, 77, 94, 2, 2, 78, 70, 70, 192, 112, 21, 96, 179, 70, 69, 86, 222, 2, 50, 39, 40, 98, 49, 21, 56, 108, 42, 43, 51, 2, 2, 55, 42, 42, 103, 50, 21, 55, 103, 40, 39, 46, 0, 3, 0, 29, 255, 255, 4, 23, 4, 58, 0, 32, 0, 47, 0, 65, 0, 0, 115, 33, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 37, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 19, 55, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 29, 2, 7, 79, 162, 67, 33, 57, 20, 20, 24, 1, 1, 28, 26, 26, 72, 42, 41, 79, 32, 31, 40, 3, 3, 32, 29, 30, 81, 46, 46, 99, 46, 254, 91, 162, 247, 26, 49, 18, 17, 17, 5, 6, 37, 26, 27, 63, 31, 219, 72, 39, 179, 27, 54, 21, 6, 12, 5, 9, 8, 4, 6, 39, 26, 27, 61, 29, 1, 29, 36, 18, 49, 32, 31, 77, 46, 46, 75, 30, 29, 40, 11, 16, 42, 29, 29, 75, 49, 57, 88, 33, 32, 43, 14, 13, 12, 1, 1, 253, 137, 1, 1, 11, 12, 12, 41, 31, 35, 47, 13, 14, 12, 1, 1, 1, 163, 219, 1, 1, 8, 11, 4, 10, 5, 12, 34, 23, 33, 43, 12, 12, 10, 1, 0, 1, 0, 34, 0, 0, 4, 103, 4, 58, 0, 5, 0, 0, 65, 55, 33, 3, 33, 19, 4, 63, 40, 252, 119, 188, 1, 14, 149, 3, 88, 226, 251, 198, 3, 88, 0, 2, 255, 148, 254, 188, 4, 123, 4, 58, 0, 20, 0, 30, 0, 0, 119, 39, 3, 33, 19, 33, 3, 51, 19, 35, 19, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 1, 55, 51, 3, 5, 54, 54, 55, 54, 54, 66, 99, 75, 1, 0, 57, 2, 120, 57, 252, 115, 150, 149, 253, 4, 69, 7, 14, 10, 11, 32, 25, 25, 73, 1, 213, 24, 225, 108, 254, 201, 36, 53, 20, 20, 29, 221, 3, 253, 220, 1, 68, 254, 188, 2, 35, 3, 91, 254, 146, 37, 98, 53, 53, 105, 42, 43, 58, 1, 233, 133, 253, 142, 3, 55, 121, 63, 63, 130, 0, 1, 255, 179, 0, 0, 4, 207, 4, 58, 0, 21, 0, 0, 65, 19, 33, 3, 1, 33, 3, 35, 19, 35, 3, 35, 3, 33, 19, 1, 33, 19, 51, 3, 51, 19, 2, 219, 54, 1, 3, 117, 1, 48, 254, 228, 194, 38, 76, 235, 76, 40, 47, 254, 248, 120, 254, 186, 1, 23, 194, 49, 78, 236, 76, 1, 154, 254, 102, 2, 55, 2, 3, 254, 101, 1, 155, 254, 102, 1, 154, 254, 19, 253, 179, 1, 155, 254, 101, 1, 154, 0, 0, 1, 0, 59, 255, 235, 4, 77, 4, 78, 0, 88, 0, 0, 65, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 33, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 37, 54, 54, 55, 54, 54, 51, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 7, 2, 80, 17, 37, 18, 14, 28, 12, 27, 30, 7, 7, 52, 35, 36, 80, 34, 32, 70, 29, 30, 38, 254, 246, 77, 63, 63, 157, 80, 53, 119, 59, 58, 107, 42, 41, 52, 3, 3, 36, 34, 19, 47, 27, 40, 78, 32, 31, 41, 3, 3, 36, 33, 33, 90, 50, 50, 104, 47, 74, 158, 66, 83, 110, 6, 1, 17, 9, 47, 32, 31, 72, 33, 27, 62, 26, 9, 17, 7, 11, 10, 4, 6, 48, 33, 33, 74, 33, 185, 33, 1, 203, 1, 2, 4, 2, 8, 6, 14, 50, 41, 41, 54, 16, 17, 13, 12, 15, 15, 50, 39, 91, 128, 41, 41, 39, 1, 1, 12, 16, 15, 51, 38, 37, 101, 65, 55, 90, 33, 18, 30, 11, 17, 45, 29, 29, 75, 48, 60, 91, 34, 34, 46, 14, 14, 13, 1, 1, 29, 32, 41, 131, 98, 1, 36, 47, 14, 13, 10, 1, 11, 13, 6, 12, 8, 13, 34, 22, 39, 50, 14, 14, 10, 1, 1, 185, 0, 0, 1, 0, 13, 0, 0, 4, 112, 4, 58, 0, 9, 0, 0, 65, 1, 19, 33, 3, 33, 1, 3, 33, 19, 3, 90, 254, 8, 118, 254, 241, 188, 1, 22, 1, 248, 118, 1, 15, 188, 4, 58, 253, 94, 2, 162, 251, 198, 2, 162, 253, 94, 4, 58, 0, 1, 0, 24, 0, 0, 4, 229, 4, 58, 0, 12, 0, 0, 65, 19, 33, 1, 1, 37, 1, 35, 19, 33, 3, 33, 19, 2, 19, 207, 1, 86, 254, 199, 1, 230, 254, 155, 254, 157, 130, 73, 254, 240, 188, 1, 16, 70, 1, 149, 254, 107, 2, 37, 2, 20, 1, 254, 98, 1, 158, 251, 198, 1, 149, 0, 0, 1, 255, 195, 255, 254, 4, 111, 4, 58, 0, 27, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 39, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 33, 3, 33, 4, 111, 252, 196, 77, 6, 11, 9, 9, 31, 24, 25, 73, 51, 29, 23, 54, 91, 141, 53, 52, 74, 26, 26, 34, 11, 39, 1, 28, 149, 1, 16, 4, 58, 254, 51, 38, 89, 44, 44, 81, 31, 31, 37, 1, 1, 228, 2, 48, 44, 44, 119, 70, 70, 152, 76, 235, 252, 168, 0, 0, 1, 0, 5, 0, 0, 4, 137, 4, 58, 0, 12, 0, 0, 65, 3, 33, 3, 51, 19, 19, 51, 19, 3, 51, 19, 33, 2, 30, 15, 254, 178, 188, 240, 104, 50, 182, 253, 102, 241, 188, 254, 170, 1, 79, 2, 235, 251, 198, 2, 84, 253, 172, 2, 70, 253, 186, 4, 58, 0, 0, 1, 0, 13, 0, 0, 4, 111, 4, 58, 0, 11, 0, 0, 97, 19, 33, 3, 33, 19, 33, 3, 33, 19, 33, 3, 3, 179, 188, 254, 240, 76, 254, 122, 76, 254, 240, 188, 1, 16, 73, 1, 134, 73, 4, 58, 254, 74, 1, 182, 251, 198, 1, 164, 254, 92, 0, 1, 0, 13, 0, 0, 4, 112, 4, 58, 0, 7, 0, 0, 97, 19, 33, 3, 33, 19, 33, 3, 3, 180, 188, 252, 89, 188, 1, 16, 149, 1, 135, 149, 4, 58, 251, 198, 3, 88, 252, 168, 0, 1, 0, 134, 0, 0, 4, 227, 4, 58, 0, 7, 0, 0, 65, 55, 33, 7, 33, 3, 33, 19, 4, 188, 39, 251, 203, 40, 1, 145, 149, 1, 16, 150, 3, 91, 223, 223, 252, 165, 3, 91, 0, 3, 0, 33, 254, 96, 4, 114, 6, 0, 0, 31, 0, 45, 0, 59, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 3, 33, 19, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 19, 33, 3, 6, 6, 7, 6, 6, 1, 19, 22, 22, 23, 22, 20, 7, 7, 6, 6, 7, 6, 6, 3, 3, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 44, 2, 9, 29, 39, 39, 128, 91, 78, 1, 18, 77, 105, 171, 63, 63, 80, 13, 2, 9, 28, 39, 40, 130, 91, 84, 254, 238, 84, 105, 170, 62, 63, 79, 2, 91, 121, 37, 42, 9, 9, 6, 3, 9, 36, 28, 25, 68, 196, 120, 36, 40, 8, 9, 1, 5, 3, 8, 34, 26, 25, 68, 2, 33, 21, 89, 168, 70, 71, 104, 25, 254, 99, 1, 153, 19, 95, 70, 70, 180, 105, 22, 90, 169, 72, 71, 105, 25, 1, 194, 254, 64, 20, 96, 70, 71, 181, 254, 90, 2, 107, 24, 68, 39, 39, 84, 40, 20, 53, 94, 40, 36, 59, 2, 86, 253, 152, 24, 67, 38, 38, 83, 40, 21, 52, 93, 39, 37, 61, 0, 0, 1, 0, 13, 254, 191, 4, 88, 4, 58, 0, 11, 0, 0, 83, 3, 33, 3, 51, 19, 35, 19, 33, 3, 33, 19, 201, 188, 3, 22, 56, 251, 114, 154, 149, 254, 240, 149, 254, 150, 149, 4, 58, 251, 198, 254, 191, 2, 31, 3, 92, 252, 165, 3, 91, 0, 0, 1, 0, 137, 0, 0, 4, 148, 4, 58, 0, 25, 0, 0, 97, 19, 33, 3, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 3, 6, 22, 23, 22, 22, 51, 22, 54, 55, 3, 3, 216, 188, 254, 240, 94, 53, 104, 54, 49, 71, 22, 23, 17, 6, 55, 254, 241, 55, 11, 58, 60, 59, 167, 98, 51, 100, 50, 68, 4, 58, 254, 3, 9, 12, 2, 1, 21, 22, 22, 70, 51, 1, 85, 254, 172, 106, 155, 51, 51, 50, 1, 11, 11, 254, 162, 0, 1, 255, 232, 0, 0, 4, 177, 4, 58, 0, 11, 0, 0, 65, 33, 3, 33, 19, 33, 3, 35, 19, 35, 3, 35, 1, 171, 254, 249, 188, 4, 13, 188, 254, 249, 150, 127, 149, 255, 150, 127, 4, 58, 251, 198, 4, 58, 252, 165, 3, 91, 252, 165, 0, 1, 255, 228, 254, 191, 4, 173, 4, 58, 0, 15, 0, 0, 65, 33, 3, 33, 3, 51, 19, 35, 19, 33, 3, 35, 19, 35, 3, 35, 1, 167, 254, 249, 188, 3, 139, 56, 221, 113, 110, 150, 254, 249, 150, 127, 149, 255, 150, 127, 4, 58, 251, 198, 254, 191, 2, 31, 3, 92, 252, 165, 3, 91, 252, 165, 0, 2, 0, 99, 255, 255, 4, 79, 4, 58, 0, 18, 0, 33, 0, 0, 83, 7, 33, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 3, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 138, 39, 1, 0, 150, 1, 167, 84, 165, 66, 66, 85, 5, 4, 62, 54, 55, 141, 74, 119, 69, 106, 148, 26, 46, 17, 16, 15, 4, 6, 35, 26, 26, 62, 33, 121, 4, 58, 217, 252, 159, 1, 43, 45, 45, 138, 94, 84, 121, 39, 39, 39, 2, 1, 1, 137, 253, 158, 1, 2, 14, 14, 14, 42, 29, 35, 52, 17, 18, 18, 1, 1, 0, 3, 255, 247, 255, 255, 4, 174, 4, 58, 0, 16, 0, 20, 0, 35, 0, 0, 65, 19, 35, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 1, 19, 33, 3, 1, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 35, 1, 108, 67, 251, 189, 1, 57, 84, 148, 56, 56, 68, 6, 5, 44, 43, 44, 123, 75, 2, 101, 187, 254, 238, 188, 254, 120, 41, 34, 41, 10, 10, 3, 4, 4, 19, 14, 20, 63, 42, 33, 2, 183, 1, 131, 251, 198, 1, 48, 47, 46, 137, 87, 77, 122, 42, 42, 45, 2, 253, 74, 4, 58, 251, 198, 1, 249, 1, 3, 24, 20, 20, 52, 30, 28, 45, 17, 24, 25, 2, 0, 2, 0, 29, 255, 255, 4, 54, 4, 58, 0, 16, 0, 31, 0, 0, 65, 19, 33, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 5, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 1, 169, 63, 254, 241, 188, 2, 38, 86, 171, 70, 70, 91, 6, 5, 63, 56, 56, 149, 80, 254, 225, 1, 21, 31, 56, 20, 19, 18, 6, 6, 42, 29, 30, 70, 35, 251, 2, 206, 1, 108, 251, 198, 1, 41, 45, 44, 138, 97, 90, 131, 43, 43, 44, 2, 222, 1, 1, 15, 15, 16, 49, 35, 39, 54, 16, 17, 15, 1, 1, 0, 1, 0, 66, 255, 233, 4, 51, 4, 79, 0, 56, 0, 0, 65, 22, 22, 23, 22, 22, 7, 33, 7, 37, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 39, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 54, 54, 55, 54, 54, 2, 109, 55, 73, 21, 20, 14, 4, 254, 206, 31, 1, 65, 17, 46, 34, 34, 91, 61, 45, 69, 23, 21, 22, 1, 253, 3, 57, 55, 55, 155, 94, 123, 202, 75, 74, 93, 14, 3, 9, 18, 25, 21, 65, 41, 51, 133, 83, 80, 159, 65, 82, 111, 8, 254, 9, 44, 32, 31, 77, 3, 110, 2, 40, 33, 34, 88, 49, 174, 1, 52, 95, 35, 36, 41, 2, 2, 30, 26, 26, 70, 42, 1, 96, 153, 54, 54, 60, 2, 3, 83, 74, 74, 202, 117, 31, 80, 147, 63, 51, 87, 32, 39, 44, 1, 1, 43, 38, 51, 157, 104, 2, 42, 62, 21, 21, 21, 0, 2, 255, 204, 255, 232, 4, 132, 4, 80, 0, 43, 0, 81, 0, 0, 65, 19, 33, 3, 33, 19, 55, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 23, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 1, 77, 78, 254, 237, 188, 1, 26, 74, 88, 6, 2, 4, 4, 26, 21, 37, 128, 93, 105, 154, 53, 27, 43, 15, 15, 19, 6, 16, 6, 2, 11, 11, 45, 35, 36, 102, 67, 68, 111, 44, 44, 69, 25, 26, 37, 12, 243, 14, 2, 7, 7, 7, 21, 16, 16, 46, 31, 27, 32, 8, 8, 4, 1, 2, 6, 1, 14, 3, 7, 7, 7, 21, 16, 16, 45, 31, 27, 32, 8, 8, 4, 2, 1, 6, 2, 115, 1, 199, 251, 198, 1, 172, 1, 36, 71, 34, 44, 83, 36, 64, 80, 2, 3, 89, 73, 37, 88, 46, 42, 87, 43, 118, 55, 117, 56, 55, 98, 38, 37, 45, 2, 2, 37, 33, 34, 93, 53, 53, 116, 57, 148, 119, 21, 59, 33, 32, 64, 26, 25, 29, 1, 1, 35, 26, 27, 65, 31, 32, 54, 16, 119, 21, 59, 32, 33, 64, 25, 26, 30, 2, 1, 35, 27, 26, 65, 32, 31, 54, 0, 0, 2, 255, 219, 0, 0, 4, 133, 4, 59, 0, 19, 0, 34, 0, 0, 65, 37, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 1, 33, 1, 51, 3, 33, 1, 54, 54, 55, 54, 54, 55, 23, 3, 37, 38, 38, 39, 38, 38, 4, 133, 253, 234, 86, 170, 69, 69, 90, 6, 3, 31, 32, 17, 44, 26, 254, 195, 1, 35, 1, 18, 236, 67, 1, 16, 253, 200, 6, 41, 30, 29, 70, 35, 235, 50, 254, 243, 29, 50, 18, 18, 17, 4, 58, 1, 43, 45, 45, 139, 96, 58, 106, 43, 22, 39, 16, 254, 81, 1, 123, 254, 133, 2, 195, 38, 57, 19, 18, 20, 1, 1, 254, 228, 1, 1, 18, 17, 16, 47, 0, 0, 1, 0, 22, 254, 71, 4, 58, 6, 0, 0, 61, 0, 0, 65, 55, 35, 55, 33, 7, 35, 7, 51, 3, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 51, 7, 6, 6, 7, 6, 6, 35, 6, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 35, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 19, 2, 213, 32, 229, 32, 254, 241, 29, 176, 32, 177, 207, 1, 15, 138, 25, 54, 30, 25, 55, 30, 49, 64, 18, 18, 9, 5, 111, 4, 7, 5, 22, 18, 18, 54, 37, 25, 49, 24, 38, 36, 71, 38, 93, 145, 52, 52, 64, 12, 85, 5, 31, 9, 23, 36, 37, 129, 96, 51, 92, 40, 38, 66, 29, 49, 4, 166, 180, 166, 166, 180, 251, 90, 3, 14, 24, 38, 12, 10, 10, 1, 2, 34, 29, 30, 77, 45, 253, 110, 42, 32, 63, 25, 25, 30, 1, 9, 7, 218, 9, 10, 1, 1, 59, 53, 53, 147, 88, 1, 254, 186, 85, 160, 63, 62, 76, 1, 1, 27, 23, 23, 62, 37, 1, 3, 0, 0, 1, 0, 86, 255, 233, 4, 39, 4, 81, 0, 59, 0, 0, 101, 38, 38, 39, 38, 38, 39, 38, 38, 55, 33, 55, 33, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 2, 9, 52, 65, 18, 9, 11, 3, 4, 3, 1, 1, 45, 31, 254, 200, 11, 40, 32, 31, 89, 59, 43, 64, 21, 21, 18, 3, 255, 5, 53, 52, 53, 150, 93, 120, 197, 73, 73, 90, 14, 3, 6, 7, 13, 10, 34, 23, 51, 167, 117, 87, 169, 69, 68, 88, 5, 254, 6, 41, 29, 30, 73, 201, 1, 44, 34, 16, 37, 19, 22, 45, 23, 176, 50, 95, 37, 36, 44, 2, 2, 31, 26, 26, 71, 40, 1, 93, 153, 56, 55, 62, 2, 3, 86, 75, 76, 202, 113, 31, 60, 115, 52, 41, 75, 33, 75, 90, 2, 2, 53, 51, 51, 147, 92, 2, 40, 64, 21, 22, 22, 0, 0, 2, 255, 181, 255, 254, 4, 142, 4, 58, 0, 40, 0, 55, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 39, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 3, 118, 253, 140, 77, 4, 11, 9, 10, 29, 22, 22, 61, 42, 19, 27, 44, 86, 130, 49, 48, 68, 24, 23, 29, 11, 40, 105, 148, 1, 15, 87, 160, 62, 62, 79, 6, 5, 48, 46, 39, 104, 61, 50, 27, 6, 32, 44, 10, 8, 4, 4, 4, 17, 13, 20, 49, 38, 9, 4, 58, 254, 51, 29, 79, 43, 43, 83, 33, 33, 40, 1, 1, 240, 2, 53, 46, 46, 123, 70, 69, 147, 69, 235, 252, 168, 1, 47, 48, 47, 141, 92, 81, 128, 45, 38, 51, 6, 5, 219, 1, 5, 26, 21, 15, 39, 24, 25, 43, 17, 28, 36, 8, 2, 0, 2, 255, 240, 255, 255, 4, 88, 4, 58, 0, 24, 0, 39, 0, 0, 65, 19, 33, 3, 33, 19, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 35, 19, 33, 3, 23, 51, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 35, 1, 115, 73, 254, 239, 187, 1, 16, 77, 118, 77, 1, 41, 86, 153, 59, 59, 73, 6, 5, 45, 44, 45, 129, 78, 5, 68, 254, 239, 73, 252, 13, 28, 35, 10, 10, 4, 3, 4, 24, 19, 19, 53, 33, 5, 2, 153, 1, 161, 251, 198, 1, 186, 254, 70, 1, 49, 48, 48, 140, 90, 79, 130, 46, 46, 52, 2, 1, 97, 254, 95, 157, 3, 22, 18, 18, 46, 25, 31, 56, 21, 22, 26, 1, 0, 1, 0, 32, 0, 0, 4, 68, 6, 0, 0, 39, 0, 0, 65, 55, 33, 55, 33, 7, 35, 7, 51, 3, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 33, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 19, 3, 1, 32, 254, 251, 30, 254, 241, 27, 144, 32, 145, 209, 1, 15, 138, 26, 56, 31, 24, 53, 29, 49, 64, 18, 18, 9, 5, 111, 1, 16, 109, 9, 23, 36, 37, 129, 96, 54, 97, 42, 34, 62, 27, 51, 4, 177, 180, 155, 155, 180, 251, 79, 3, 14, 25, 39, 12, 9, 9, 1, 2, 34, 29, 30, 77, 45, 253, 110, 2, 143, 85, 160, 63, 62, 76, 1, 1, 30, 26, 22, 59, 35, 1, 14, 0, 0, 1, 0, 13, 254, 154, 4, 112, 4, 58, 0, 11, 0, 0, 65, 33, 3, 33, 3, 33, 19, 33, 19, 33, 3, 33, 1, 217, 254, 240, 188, 1, 77, 63, 1, 16, 62, 1, 75, 188, 254, 240, 149, 254, 121, 4, 58, 251, 198, 254, 154, 1, 102, 4, 58, 252, 165, 0, 0, 1, 0, 29, 255, 233, 5, 25, 5, 176, 0, 74, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 54, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 5, 25, 254, 183, 1, 4, 2, 3, 7, 5, 11, 36, 28, 30, 29, 5, 3, 2, 1, 1, 2, 181, 253, 183, 1, 4, 2, 3, 9, 6, 12, 38, 30, 29, 26, 4, 2, 2, 2, 2, 183, 253, 181, 7, 3, 8, 6, 24, 17, 35, 115, 83, 46, 77, 32, 18, 34, 15, 10, 25, 15, 29, 78, 45, 86, 131, 47, 30, 45, 14, 8, 12, 3, 5, 176, 251, 192, 10, 24, 14, 13, 29, 13, 26, 36, 1, 1, 36, 26, 12, 26, 13, 14, 26, 10, 4, 64, 251, 192, 10, 23, 12, 15, 31, 13, 26, 35, 1, 1, 38, 26, 11, 24, 12, 15, 27, 11, 4, 63, 251, 212, 43, 92, 36, 31, 59, 25, 55, 67, 1, 1, 30, 26, 15, 35, 20, 20, 35, 13, 27, 29, 1, 2, 64, 55, 35, 87, 47, 26, 53, 27, 0, 1, 0, 27, 255, 233, 4, 191, 4, 58, 0, 74, 0, 0, 65, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 38, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 4, 191, 247, 114, 3, 7, 10, 5, 15, 9, 9, 23, 14, 15, 22, 7, 9, 9, 2, 4, 4, 3, 113, 253, 113, 3, 11, 12, 5, 12, 8, 11, 31, 20, 19, 22, 6, 4, 4, 4, 3, 113, 247, 115, 8, 19, 31, 15, 43, 28, 28, 70, 43, 38, 65, 28, 27, 48, 21, 13, 37, 25, 25, 64, 36, 48, 81, 33, 30, 50, 21, 44, 50, 11, 4, 58, 253, 78, 20, 65, 31, 16, 29, 11, 9, 10, 11, 9, 11, 29, 17, 30, 64, 20, 2, 178, 253, 78, 23, 67, 30, 13, 22, 9, 13, 15, 1, 1, 23, 18, 12, 30, 16, 27, 50, 14, 2, 178, 253, 79, 72, 146, 59, 29, 50, 18, 19, 20, 1, 1, 21, 18, 18, 50, 29, 31, 49, 17, 18, 19, 1, 2, 20, 20, 16, 47, 28, 59, 150, 77, 0, 0, 2, 0, 86, 255, 255, 4, 51, 6, 26, 0, 24, 0, 39, 0, 0, 65, 55, 33, 19, 33, 3, 35, 7, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 19, 3, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 3, 34, 32, 254, 254, 54, 254, 239, 53, 157, 31, 157, 187, 1, 237, 85, 171, 70, 69, 90, 6, 5, 64, 56, 57, 148, 78, 191, 64, 102, 219, 28, 55, 20, 20, 21, 5, 6, 42, 29, 30, 70, 34, 193, 4, 52, 180, 1, 50, 254, 206, 180, 251, 204, 1, 40, 44, 44, 137, 97, 88, 128, 42, 42, 41, 2, 1, 1, 115, 253, 174, 1, 1, 13, 14, 14, 45, 34, 39, 53, 16, 16, 14, 1, 1, 0, 0, 1, 255, 206, 255, 234, 4, 205, 5, 199, 0, 84, 0, 0, 65, 19, 35, 3, 51, 19, 55, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 54, 54, 55, 55, 23, 55, 7, 55, 54, 54, 55, 54, 54, 55, 54, 54, 51, 22, 22, 23, 22, 22, 23, 22, 6, 7, 51, 54, 52, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 1, 98, 103, 255, 252, 254, 107, 106, 4, 13, 10, 7, 6, 39, 37, 36, 111, 78, 105, 152, 51, 50, 55, 8, 242, 4, 7, 6, 7, 20, 15, 15, 43, 30, 35, 38, 8, 8, 1, 5, 5, 13, 4, 4, 198, 43, 215, 5, 4, 8, 6, 8, 24, 19, 18, 54, 38, 24, 33, 11, 10, 11, 3, 6, 7, 2, 244, 7, 10, 11, 43, 36, 36, 102, 70, 82, 127, 48, 48, 70, 25, 22, 32, 13, 10, 3, 93, 2, 83, 250, 80, 2, 108, 2, 18, 59, 137, 68, 69, 127, 49, 50, 61, 3, 3, 84, 70, 70, 179, 91, 1, 21, 53, 27, 27, 51, 20, 20, 23, 1, 1, 46, 35, 35, 86, 41, 41, 69, 20, 18, 2, 241, 1, 31, 23, 57, 30, 40, 81, 33, 32, 39, 1, 17, 15, 13, 33, 18, 40, 86, 29, 57, 119, 55, 55, 98, 37, 36, 44, 2, 2, 55, 47, 48, 126, 69, 58, 120, 55, 41, 0, 0, 1, 255, 226, 255, 234, 4, 150, 4, 84, 0, 75, 0, 0, 65, 55, 35, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 21, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 35, 19, 33, 3, 33, 19, 55, 7, 6, 20, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 55, 3, 80, 32, 186, 5, 3, 8, 5, 4, 10, 6, 16, 51, 41, 32, 33, 7, 7, 1, 248, 3, 27, 34, 35, 118, 87, 103, 151, 53, 32, 50, 19, 11, 19, 8, 7, 79, 78, 254, 251, 188, 1, 5, 78, 97, 2, 3, 3, 5, 26, 22, 38, 132, 96, 82, 131, 48, 48, 60, 9, 248, 5, 17, 13, 13, 39, 27, 25, 30, 8, 8, 4, 1, 1, 3, 2, 3, 1, 197, 185, 23, 15, 34, 17, 14, 28, 13, 36, 49, 1, 1, 32, 23, 24, 55, 23, 78, 143, 54, 54, 66, 2, 3, 81, 66, 40, 93, 49, 28, 58, 29, 26, 1, 189, 251, 197, 1, 197, 1, 17, 32, 63, 31, 47, 89, 39, 68, 85, 3, 2, 57, 50, 50, 136, 76, 1, 22, 46, 18, 19, 23, 1, 1, 27, 21, 20, 52, 26, 18, 33, 13, 23, 0, 2, 255, 159, 0, 0, 4, 114, 5, 176, 0, 11, 0, 16, 0, 0, 65, 19, 33, 3, 33, 1, 33, 19, 51, 3, 51, 19, 39, 19, 55, 23, 19, 3, 41, 57, 1, 16, 225, 254, 234, 253, 36, 1, 39, 204, 74, 73, 234, 72, 212, 163, 58, 16, 44, 1, 166, 254, 90, 5, 176, 250, 80, 1, 166, 254, 90, 1, 166, 201, 1, 80, 120, 120, 254, 176, 0, 2, 255, 221, 0, 0, 4, 37, 4, 58, 0, 11, 0, 16, 0, 0, 65, 19, 33, 3, 33, 1, 33, 19, 51, 3, 51, 19, 39, 55, 55, 23, 19, 2, 239, 48, 1, 6, 224, 254, 238, 253, 170, 1, 31, 140, 76, 48, 188, 46, 168, 125, 52, 6, 45, 1, 15, 254, 241, 4, 58, 251, 198, 1, 15, 254, 241, 1, 15, 184, 242, 118, 95, 254, 247, 0, 0, 2, 255, 231, 0, 0, 4, 47, 5, 176, 0, 19, 0, 24, 0, 0, 65, 19, 51, 3, 35, 1, 35, 19, 35, 3, 51, 19, 51, 3, 51, 19, 51, 3, 51, 19, 39, 19, 55, 21, 3, 3, 88, 3, 212, 48, 215, 254, 184, 175, 142, 219, 253, 220, 77, 131, 176, 228, 165, 41, 82, 156, 80, 126, 130, 36, 1, 1, 185, 254, 71, 5, 176, 252, 203, 3, 53, 250, 80, 1, 184, 254, 72, 1, 186, 254, 70, 1, 186, 193, 1, 97, 99, 99, 254, 159, 0, 2, 255, 231, 0, 0, 4, 46, 4, 58, 0, 19, 0, 24, 0, 0, 65, 19, 51, 3, 35, 1, 35, 19, 35, 3, 51, 19, 51, 3, 51, 19, 51, 3, 51, 19, 39, 55, 55, 23, 23, 3, 70, 22, 210, 112, 216, 254, 212, 169, 110, 220, 188, 220, 46, 109, 125, 231, 121, 51, 51, 165, 50, 131, 101, 37, 6, 15, 1, 5, 254, 251, 4, 58, 253, 141, 2, 115, 251, 198, 1, 4, 254, 252, 1, 6, 254, 250, 1, 5, 194, 221, 81, 81, 221, 0, 0, 2, 255, 196, 0, 0, 5, 2, 5, 176, 0, 39, 0, 44, 0, 0, 65, 1, 33, 19, 7, 6, 6, 7, 6, 6, 7, 3, 33, 19, 54, 54, 55, 54, 54, 51, 51, 3, 33, 19, 23, 22, 22, 23, 22, 22, 7, 3, 33, 19, 54, 38, 39, 38, 38, 39, 3, 3, 7, 39, 3, 3, 99, 1, 159, 251, 237, 192, 15, 72, 121, 47, 70, 85, 15, 66, 1, 18, 67, 8, 30, 25, 19, 50, 32, 37, 101, 1, 17, 103, 22, 34, 39, 9, 8, 1, 4, 67, 1, 19, 65, 7, 23, 33, 32, 107, 76, 28, 138, 44, 19, 62, 3, 9, 2, 167, 253, 96, 1, 6, 36, 31, 46, 153, 109, 254, 110, 1, 146, 42, 64, 20, 14, 16, 253, 210, 2, 43, 1, 3, 25, 20, 20, 53, 30, 254, 109, 1, 146, 75, 130, 50, 48, 62, 9, 1, 194, 254, 253, 82, 82, 1, 3, 0, 0, 2, 255, 215, 0, 0, 4, 168, 4, 58, 0, 39, 0, 43, 0, 0, 99, 33, 55, 54, 54, 55, 54, 54, 51, 51, 3, 33, 19, 23, 22, 22, 23, 22, 6, 7, 7, 33, 55, 54, 38, 39, 38, 38, 39, 39, 1, 33, 19, 7, 6, 6, 7, 6, 6, 7, 1, 3, 35, 3, 41, 1, 15, 38, 5, 16, 15, 14, 47, 35, 22, 74, 1, 15, 75, 18, 29, 26, 4, 3, 5, 3, 37, 1, 16, 37, 6, 13, 24, 22, 78, 58, 20, 1, 107, 252, 4, 175, 16, 76, 114, 41, 43, 52, 10, 2, 255, 172, 2, 79, 238, 30, 59, 23, 22, 29, 254, 111, 1, 142, 1, 3, 34, 23, 23, 53, 21, 240, 238, 62, 118, 49, 45, 68, 15, 5, 1, 226, 254, 39, 2, 12, 57, 45, 47, 128, 81, 2, 145, 254, 244, 1, 12, 0, 0, 2, 255, 204, 0, 0, 5, 31, 5, 176, 0, 48, 0, 51, 0, 0, 65, 39, 1, 33, 19, 33, 19, 35, 3, 51, 19, 55, 6, 6, 7, 6, 6, 7, 3, 51, 19, 54, 54, 55, 54, 54, 55, 51, 3, 51, 19, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 3, 51, 19, 54, 38, 39, 38, 38, 11, 2, 3, 210, 11, 1, 88, 253, 0, 105, 254, 168, 114, 218, 252, 218, 102, 104, 4, 6, 3, 15, 20, 7, 67, 205, 76, 5, 16, 14, 13, 43, 32, 19, 106, 206, 107, 15, 15, 20, 6, 4, 5, 1, 2, 6, 3, 64, 209, 76, 6, 11, 22, 21, 75, 71, 131, 36, 3, 18, 2, 2, 156, 253, 108, 2, 148, 250, 80, 2, 83, 2, 7, 14, 7, 32, 68, 35, 254, 78, 1, 179, 27, 54, 23, 22, 29, 2, 253, 176, 2, 77, 1, 2, 14, 10, 8, 17, 10, 23, 49, 19, 254, 76, 1, 179, 57, 116, 49, 47, 68, 1, 221, 254, 235, 1, 21, 0, 2, 255, 209, 0, 0, 4, 221, 4, 58, 0, 41, 0, 44, 0, 0, 65, 19, 35, 3, 51, 19, 55, 6, 6, 7, 3, 51, 19, 54, 54, 55, 54, 54, 55, 51, 3, 51, 19, 51, 50, 22, 23, 22, 6, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 1, 33, 19, 1, 7, 39, 1, 21, 83, 219, 188, 219, 72, 119, 20, 27, 7, 39, 208, 50, 4, 15, 13, 12, 41, 30, 5, 76, 208, 72, 2, 16, 36, 4, 2, 5, 3, 35, 208, 47, 8, 11, 19, 19, 70, 56, 1, 32, 253, 22, 109, 1, 47, 118, 38, 2, 92, 1, 222, 251, 198, 1, 159, 2, 38, 77, 42, 254, 252, 1, 5, 25, 53, 22, 22, 29, 1, 254, 99, 1, 155, 32, 29, 21, 46, 21, 254, 250, 1, 6, 45, 112, 45, 45, 68, 15, 1, 234, 254, 34, 1, 51, 223, 223, 0, 0, 2, 0, 18, 254, 65, 4, 89, 7, 118, 0, 86, 0, 95, 0, 0, 65, 39, 7, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 23, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 7, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 19, 39, 39, 7, 23, 51, 37, 53, 7, 2, 28, 134, 41, 154, 39, 71, 28, 18, 29, 10, 17, 13, 6, 8, 52, 37, 38, 93, 48, 60, 73, 134, 52, 53, 65, 4, 3, 34, 34, 34, 100, 63, 93, 24, 44, 16, 17, 17, 5, 4, 28, 20, 19, 49, 25, 56, 62, 121, 54, 35, 66, 29, 74, 94, 8, 4, 28, 30, 26, 75, 48, 58, 99, 37, 37, 45, 5, 7, 73, 63, 64, 168, 88, 244, 40, 1, 17, 40, 72, 26, 26, 25, 6, 7, 49, 36, 37, 91, 122, 118, 224, 1, 255, 171, 1, 64, 238, 3, 93, 1, 232, 1, 2, 15, 16, 8, 26, 16, 25, 67, 42, 52, 76, 25, 25, 24, 1, 1, 34, 36, 36, 115, 80, 66, 114, 46, 46, 67, 19, 170, 11, 28, 18, 18, 46, 30, 28, 39, 13, 12, 12, 1, 1, 20, 20, 13, 35, 21, 54, 165, 110, 61, 105, 43, 37, 59, 20, 24, 63, 42, 42, 105, 66, 102, 140, 44, 44, 40, 2, 1, 230, 1, 1, 18, 19, 20, 63, 45, 53, 74, 24, 24, 23, 3, 154, 125, 2, 24, 250, 251, 23, 3, 0, 0, 2, 0, 54, 254, 79, 4, 74, 5, 248, 0, 92, 0, 101, 0, 0, 65, 39, 7, 23, 50, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 55, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 23, 50, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 39, 7, 5, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 19, 39, 39, 7, 23, 51, 37, 53, 7, 2, 17, 147, 32, 168, 30, 74, 31, 15, 26, 8, 8, 5, 3, 8, 54, 36, 36, 82, 34, 53, 66, 125, 49, 49, 61, 3, 2, 34, 33, 32, 90, 53, 91, 23, 41, 14, 15, 14, 5, 5, 31, 23, 22, 52, 26, 49, 53, 111, 54, 53, 95, 36, 36, 45, 2, 1, 25, 23, 23, 64, 37, 42, 76, 30, 29, 36, 3, 4, 39, 32, 33, 88, 49, 50, 102, 46, 244, 36, 1, 17, 26, 64, 26, 17, 26, 6, 3, 2, 2, 6, 44, 31, 31, 73, 131, 118, 224, 1, 255, 171, 1, 64, 238, 2, 113, 1, 177, 1, 9, 13, 7, 20, 14, 12, 33, 20, 42, 53, 15, 15, 12, 1, 30, 32, 33, 104, 74, 60, 106, 44, 44, 68, 22, 156, 12, 28, 19, 18, 46, 29, 29, 39, 12, 12, 11, 1, 1, 14, 17, 16, 51, 38, 37, 98, 63, 42, 69, 28, 28, 42, 14, 19, 47, 31, 31, 78, 50, 60, 87, 32, 32, 42, 13, 12, 11, 1, 1, 204, 1, 1, 8, 11, 8, 22, 16, 9, 22, 13, 41, 53, 16, 17, 14, 3, 7, 125, 2, 24, 250, 251, 23, 3, 0, 0, 3, 0, 71, 255, 234, 4, 136, 5, 198, 0, 37, 0, 58, 0, 79, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 37, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 38, 54, 55, 55, 1, 22, 22, 23, 22, 6, 7, 7, 33, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 4, 93, 33, 10, 8, 18, 19, 68, 51, 52, 137, 88, 91, 154, 63, 63, 100, 36, 37, 49, 12, 33, 10, 6, 17, 17, 64, 50, 49, 135, 87, 92, 156, 65, 65, 103, 39, 38, 50, 254, 251, 4, 7, 22, 17, 18, 50, 33, 34, 86, 54, 51, 65, 19, 19, 16, 1, 7, 5, 4, 1, 218, 21, 20, 3, 2, 6, 5, 2, 254, 33, 1, 6, 20, 16, 15, 46, 32, 31, 85, 54, 51, 68, 2, 110, 211, 76, 154, 71, 70, 123, 47, 46, 54, 2, 2, 49, 44, 45, 124, 72, 72, 159, 80, 212, 75, 152, 70, 71, 123, 46, 47, 55, 2, 2, 48, 44, 44, 123, 72, 72, 160, 106, 26, 43, 96, 46, 47, 84, 31, 31, 35, 2, 2, 43, 34, 34, 86, 45, 45, 86, 35, 27, 2, 8, 33, 84, 44, 45, 88, 37, 9, 8, 43, 95, 46, 46, 83, 32, 31, 35, 2, 2, 42, 0, 3, 0, 72, 255, 232, 4, 63, 4, 80, 0, 28, 0, 41, 0, 54, 0, 0, 83, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 37, 22, 22, 23, 22, 22, 7, 33, 54, 54, 55, 54, 54, 3, 38, 38, 39, 38, 38, 53, 33, 6, 6, 7, 6, 6, 85, 2, 11, 41, 53, 52, 168, 116, 121, 199, 73, 73, 91, 14, 3, 11, 40, 52, 53, 168, 117, 90, 157, 64, 47, 83, 32, 39, 50, 2, 30, 53, 67, 19, 19, 13, 1, 254, 77, 13, 43, 33, 32, 87, 58, 53, 67, 19, 20, 14, 1, 179, 13, 44, 32, 32, 86, 2, 32, 21, 107, 195, 74, 75, 91, 2, 3, 87, 76, 76, 203, 114, 22, 107, 196, 76, 75, 92, 2, 2, 48, 44, 34, 89, 52, 64, 150, 255, 2, 46, 35, 36, 89, 44, 49, 93, 35, 35, 42, 253, 88, 2, 44, 35, 35, 86, 44, 48, 90, 34, 35, 41, 0, 0, 1, 0, 164, 0, 0, 5, 110, 5, 197, 0, 22, 0, 0, 65, 3, 5, 19, 33, 1, 54, 54, 55, 54, 54, 55, 51, 55, 39, 38, 6, 7, 6, 6, 7, 1, 7, 2, 58, 123, 254, 229, 222, 1, 31, 2, 6, 11, 27, 18, 18, 44, 27, 23, 31, 47, 81, 125, 49, 49, 73, 29, 254, 187, 39, 1, 139, 4, 38, 1, 250, 80, 4, 87, 22, 43, 17, 16, 21, 1, 244, 1, 1, 57, 48, 49, 126, 68, 253, 40, 98, 0, 0, 1, 0, 140, 0, 0, 4, 162, 4, 81, 0, 26, 0, 0, 65, 3, 33, 19, 51, 1, 54, 54, 55, 54, 54, 55, 54, 22, 23, 55, 38, 38, 35, 34, 6, 7, 6, 6, 7, 3, 7, 1, 237, 78, 254, 237, 184, 254, 1, 129, 10, 25, 16, 15, 39, 24, 11, 24, 11, 48, 26, 54, 29, 75, 115, 44, 44, 67, 26, 172, 41, 1, 133, 2, 181, 251, 198, 2, 253, 19, 37, 15, 14, 18, 1, 1, 4, 2, 218, 11, 12, 55, 46, 46, 118, 61, 254, 146, 113, 0, 0, 3, 0, 37, 254, 77, 4, 242, 5, 200, 0, 37, 0, 64, 0, 102, 0, 0, 65, 19, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 37, 19, 35, 3, 7, 6, 6, 7, 6, 6, 7, 6, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 1, 35, 3, 1, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 2, 111, 82, 5, 4, 6, 6, 30, 27, 28, 86, 61, 62, 94, 35, 36, 51, 17, 17, 22, 6, 82, 5, 6, 4, 3, 25, 25, 25, 80, 59, 64, 99, 39, 38, 55, 19, 19, 25, 1, 39, 28, 169, 40, 40, 10, 23, 16, 17, 45, 33, 17, 35, 17, 14, 25, 51, 26, 55, 84, 32, 31, 44, 15, 1, 184, 177, 191, 254, 129, 92, 3, 7, 6, 6, 21, 16, 16, 44, 31, 26, 28, 6, 7, 1, 3, 2, 7, 2, 92, 2, 7, 6, 6, 19, 15, 15, 44, 30, 26, 30, 7, 7, 2, 2, 2, 7, 1, 222, 1, 245, 45, 107, 55, 55, 103, 41, 40, 51, 2, 2, 47, 40, 40, 105, 56, 56, 111, 46, 254, 10, 41, 105, 54, 55, 105, 42, 42, 52, 2, 2, 44, 39, 39, 103, 57, 56, 114, 239, 1, 158, 251, 206, 97, 25, 62, 28, 28, 39, 1, 1, 6, 2, 154, 6, 10, 49, 39, 38, 95, 45, 4, 227, 253, 198, 1, 255, 253, 181, 20, 59, 33, 33, 66, 26, 26, 31, 2, 1, 37, 28, 28, 67, 32, 32, 53, 14, 2, 74, 19, 59, 33, 33, 65, 26, 26, 31, 2, 2, 36, 27, 27, 66, 31, 32, 54, 0, 0, 3, 0, 29, 254, 77, 4, 242, 4, 80, 0, 37, 0, 75, 0, 102, 0, 0, 83, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 6, 7, 6, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 54, 54, 37, 55, 19, 35, 3, 7, 6, 6, 7, 6, 6, 7, 6, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 1, 35, 42, 3, 6, 4, 5, 5, 30, 30, 29, 93, 68, 70, 110, 42, 41, 60, 21, 20, 25, 7, 3, 5, 5, 5, 5, 31, 29, 30, 94, 68, 71, 109, 41, 42, 59, 20, 21, 24, 186, 2, 3, 8, 8, 7, 24, 20, 20, 57, 40, 34, 37, 9, 8, 1, 3, 4, 11, 2, 3, 3, 7, 7, 8, 25, 20, 20, 57, 40, 34, 37, 8, 8, 1, 4, 3, 11, 2, 153, 13, 28, 169, 40, 40, 10, 23, 16, 17, 45, 33, 17, 35, 17, 14, 25, 51, 26, 55, 84, 32, 31, 44, 15, 1, 184, 177, 2, 34, 22, 49, 117, 60, 60, 113, 44, 45, 55, 2, 2, 49, 44, 43, 114, 62, 62, 126, 54, 22, 49, 119, 61, 60, 114, 45, 44, 55, 2, 2, 50, 43, 44, 115, 62, 63, 127, 74, 21, 25, 80, 45, 45, 90, 36, 35, 43, 2, 2, 49, 37, 37, 90, 43, 43, 72, 19, 20, 26, 79, 45, 45, 89, 35, 35, 43, 2, 2, 48, 37, 37, 90, 43, 42, 71, 2, 158, 1, 159, 251, 206, 97, 25, 62, 28, 28, 39, 1, 1, 7, 2, 155, 6, 10, 48, 39, 38, 95, 46, 4, 227, 0, 0, 4, 0, 73, 255, 120, 4, 138, 6, 41, 0, 3, 0, 7, 0, 45, 0, 83, 0, 0, 65, 19, 35, 3, 3, 19, 35, 3, 1, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 3, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 38, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 3, 12, 79, 191, 79, 25, 81, 192, 81, 2, 235, 33, 10, 8, 18, 19, 68, 51, 52, 137, 88, 91, 154, 63, 63, 100, 36, 37, 49, 12, 33, 10, 6, 17, 17, 64, 50, 49, 135, 87, 92, 156, 65, 65, 103, 39, 38, 50, 232, 33, 7, 22, 17, 18, 50, 33, 34, 86, 54, 51, 65, 19, 19, 16, 1, 7, 5, 33, 6, 20, 16, 15, 46, 32, 31, 84, 55, 51, 68, 21, 21, 20, 3, 2, 6, 4, 100, 1, 197, 254, 59, 251, 20, 1, 208, 254, 48, 2, 246, 211, 76, 154, 71, 70, 123, 47, 46, 54, 2, 2, 49, 44, 45, 124, 72, 72, 159, 80, 212, 75, 152, 70, 71, 123, 46, 47, 55, 2, 2, 48, 44, 44, 123, 72, 72, 160, 1, 39, 215, 43, 96, 46, 47, 84, 31, 31, 35, 2, 2, 43, 34, 34, 86, 45, 45, 86, 35, 215, 43, 95, 46, 46, 83, 32, 31, 35, 2, 2, 42, 33, 33, 84, 44, 45, 88, 0, 0, 4, 0, 79, 255, 109, 4, 70, 4, 199, 0, 3, 0, 7, 0, 33, 0, 62, 0, 0, 65, 19, 35, 3, 19, 19, 35, 3, 1, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 2, 194, 80, 166, 80, 5, 83, 168, 83, 254, 227, 2, 11, 41, 53, 52, 168, 116, 121, 199, 73, 73, 91, 14, 3, 11, 40, 52, 53, 168, 117, 122, 199, 73, 73, 91, 255, 2, 7, 39, 34, 33, 99, 69, 43, 60, 20, 19, 21, 5, 4, 3, 3, 2, 8, 37, 33, 34, 99, 68, 65, 73, 16, 17, 2, 2, 252, 1, 203, 254, 53, 252, 113, 1, 221, 254, 35, 2, 179, 21, 107, 195, 74, 75, 91, 2, 3, 87, 76, 76, 203, 114, 22, 107, 196, 76, 75, 92, 2, 3, 88, 77, 77, 205, 135, 21, 58, 120, 49, 49, 60, 2, 2, 31, 25, 25, 65, 35, 36, 73, 33, 21, 57, 119, 48, 49, 61, 2, 2, 65, 48, 47, 111, 0, 3, 0, 4, 255, 233, 5, 41, 7, 45, 0, 106, 0, 142, 0, 155, 0, 0, 65, 33, 3, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 54, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 54, 38, 39, 38, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 23, 22, 6, 7, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 52, 54, 55, 55, 19, 22, 22, 23, 22, 22, 23, 51, 55, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 23, 55, 54, 54, 55, 54, 54, 51, 50, 22, 1, 23, 54, 54, 55, 54, 54, 55, 55, 39, 7, 6, 6, 3, 46, 254, 250, 67, 5, 1, 5, 3, 3, 10, 6, 12, 39, 31, 33, 37, 8, 4, 5, 1, 1, 1, 1, 107, 7, 29, 24, 24, 66, 45, 27, 101, 170, 64, 64, 83, 14, 108, 4, 4, 8, 9, 34, 24, 43, 132, 84, 54, 87, 38, 13, 25, 12, 8, 20, 11, 31, 82, 47, 90, 151, 57, 31, 49, 18, 16, 21, 5, 108, 5, 6, 10, 10, 34, 23, 47, 142, 91, 23, 41, 48, 11, 4, 6, 1, 2, 2, 2, 109, 2, 7, 5, 5, 12, 8, 16, 48, 34, 19, 24, 6, 7, 5, 1, 3, 1, 5, 230, 26, 53, 27, 23, 47, 25, 20, 9, 27, 24, 45, 21, 29, 57, 28, 49, 99, 54, 64, 100, 31, 21, 25, 3, 3, 130, 2, 4, 17, 13, 16, 44, 28, 51, 96, 254, 240, 85, 28, 52, 21, 21, 28, 5, 14, 146, 18, 10, 51, 3, 48, 254, 97, 33, 11, 26, 13, 14, 29, 13, 25, 34, 1, 30, 24, 11, 23, 12, 14, 30, 14, 2, 156, 41, 72, 27, 27, 31, 2, 227, 2, 57, 54, 54, 158, 102, 253, 101, 37, 70, 31, 39, 69, 28, 51, 59, 1, 1, 35, 30, 11, 24, 13, 14, 25, 11, 29, 31, 1, 2, 54, 51, 27, 69, 39, 33, 73, 40, 2, 155, 46, 85, 38, 37, 66, 28, 56, 66, 5, 231, 4, 34, 26, 11, 24, 13, 19, 41, 22, 253, 98, 14, 30, 14, 13, 26, 11, 24, 29, 2, 1, 18, 15, 14, 35, 18, 18, 34, 12, 31, 4, 220, 13, 23, 10, 7, 10, 1, 136, 8, 6, 9, 25, 13, 22, 37, 1, 1, 41, 40, 26, 70, 42, 38, 1, 19, 22, 36, 13, 16, 18, 37, 254, 191, 63, 16, 43, 26, 25, 60, 33, 101, 1, 94, 45, 70, 0, 0, 3, 0, 26, 255, 232, 4, 141, 5, 225, 0, 92, 0, 128, 0, 141, 0, 0, 65, 7, 22, 22, 23, 22, 6, 7, 3, 6, 6, 7, 6, 6, 35, 6, 38, 39, 38, 38, 53, 38, 54, 55, 55, 35, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 54, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 54, 38, 39, 38, 38, 19, 35, 34, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 23, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 23, 22, 22, 51, 51, 5, 23, 54, 54, 55, 54, 54, 55, 55, 39, 7, 6, 6, 3, 85, 14, 39, 34, 5, 4, 8, 4, 53, 3, 9, 10, 11, 35, 30, 32, 34, 7, 3, 3, 1, 2, 1, 37, 229, 36, 2, 5, 4, 3, 9, 6, 13, 41, 32, 27, 25, 3, 1, 1, 3, 1, 53, 6, 17, 17, 17, 55, 44, 21, 90, 148, 54, 55, 70, 12, 57, 3, 5, 7, 8, 25, 18, 36, 110, 74, 40, 67, 29, 28, 47, 21, 9, 29, 19, 26, 69, 41, 79, 127, 47, 47, 58, 10, 56, 7, 32, 39, 39, 121, 176, 48, 20, 38, 19, 32, 61, 30, 47, 96, 53, 62, 98, 32, 24, 29, 4, 3, 133, 2, 4, 17, 13, 16, 46, 28, 49, 94, 47, 29, 60, 31, 18, 38, 20, 42, 253, 241, 85, 28, 52, 21, 21, 28, 5, 14, 146, 18, 10, 51, 4, 79, 196, 3, 39, 28, 28, 66, 30, 254, 152, 23, 55, 24, 25, 33, 1, 25, 20, 8, 19, 10, 14, 30, 14, 245, 245, 14, 27, 13, 11, 22, 10, 20, 24, 2, 2, 36, 25, 8, 17, 9, 17, 32, 13, 1, 104, 37, 71, 28, 27, 35, 1, 193, 2, 57, 50, 51, 143, 89, 254, 129, 35, 67, 31, 30, 55, 24, 49, 59, 1, 23, 21, 21, 55, 32, 29, 50, 18, 25, 28, 1, 3, 54, 48, 48, 130, 73, 1, 127, 77, 138, 53, 53, 65, 1, 29, 6, 5, 9, 27, 14, 22, 37, 1, 1, 36, 36, 27, 74, 46, 38, 1, 19, 22, 36, 13, 17, 17, 38, 22, 14, 28, 9, 6, 7, 241, 63, 16, 43, 26, 25, 60, 33, 101, 1, 94, 45, 70, 0, 2, 0, 35, 255, 233, 5, 31, 7, 7, 0, 7, 0, 82, 0, 0, 65, 7, 33, 7, 51, 55, 33, 55, 1, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 50, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 1, 207, 20, 1, 9, 23, 178, 22, 1, 25, 20, 254, 76, 86, 131, 47, 23, 38, 13, 14, 19, 5, 185, 254, 183, 2, 4, 4, 2, 6, 4, 11, 36, 28, 30, 29, 5, 2, 3, 3, 1, 181, 253, 183, 2, 5, 3, 3, 7, 5, 12, 38, 30, 29, 26, 4, 2, 2, 3, 1, 183, 253, 184, 4, 2, 6, 6, 25, 19, 35, 115, 83, 36, 62, 27, 27, 48, 22, 11, 31, 19, 29, 71, 7, 7, 112, 127, 127, 112, 248, 228, 2, 64, 55, 27, 65, 35, 35, 75, 38, 4, 61, 251, 192, 12, 33, 17, 10, 21, 10, 26, 36, 1, 1, 36, 26, 10, 23, 11, 15, 30, 12, 4, 64, 251, 192, 12, 31, 15, 12, 23, 11, 26, 35, 1, 1, 38, 26, 10, 22, 10, 16, 30, 11, 4, 64, 251, 193, 35, 70, 32, 36, 66, 28, 55, 67, 1, 17, 17, 16, 47, 28, 24, 39, 15, 22, 24, 0, 2, 0, 30, 255, 232, 4, 191, 5, 177, 0, 7, 0, 82, 0, 0, 65, 7, 33, 7, 51, 55, 33, 55, 1, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 19, 35, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 35, 3, 6, 6, 7, 6, 6, 39, 38, 38, 1, 143, 20, 1, 10, 23, 177, 23, 1, 25, 20, 254, 99, 6, 8, 1, 1, 1, 4, 1, 113, 253, 113, 3, 11, 12, 5, 13, 8, 11, 30, 20, 19, 22, 6, 6, 2, 1, 1, 4, 1, 113, 247, 115, 5, 2, 7, 6, 18, 14, 31, 111, 85, 38, 65, 28, 27, 48, 21, 11, 32, 20, 28, 69, 40, 89, 129, 45, 24, 37, 13, 11, 15, 5, 116, 247, 114, 2, 8, 10, 10, 35, 30, 17, 24, 5, 177, 112, 127, 127, 112, 251, 51, 10, 26, 14, 9, 20, 10, 21, 40, 14, 2, 178, 253, 78, 23, 67, 30, 13, 23, 9, 13, 14, 1, 1, 23, 18, 17, 43, 21, 21, 36, 11, 2, 178, 253, 79, 41, 83, 39, 30, 58, 26, 59, 77, 1, 1, 21, 18, 18, 50, 29, 28, 44, 16, 22, 24, 1, 3, 72, 60, 33, 76, 40, 33, 69, 35, 2, 176, 253, 78, 20, 65, 31, 31, 45, 1, 1, 14, 0, 0, 1, 0, 114, 254, 147, 4, 127, 5, 199, 0, 54, 0, 0, 65, 19, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 33, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 20, 23, 22, 22, 23, 22, 22, 23, 3, 2, 162, 99, 189, 72, 83, 19, 8, 10, 3, 3, 3, 5, 45, 6, 19, 16, 15, 43, 29, 29, 76, 47, 58, 65, 15, 14, 2, 3, 1, 19, 6, 39, 49, 49, 159, 114, 85, 145, 60, 60, 95, 36, 36, 47, 11, 46, 6, 6, 6, 29, 22, 42, 144, 104, 68, 254, 147, 2, 58, 2, 4, 75, 56, 23, 49, 25, 36, 73, 33, 1, 37, 37, 85, 43, 42, 78, 30, 29, 33, 1, 2, 52, 40, 40, 97, 46, 105, 182, 68, 67, 80, 2, 2, 47, 42, 42, 116, 68, 68, 149, 75, 254, 222, 47, 94, 46, 49, 94, 42, 81, 117, 23, 254, 158, 0, 1, 0, 151, 254, 145, 4, 79, 4, 81, 0, 42, 0, 0, 65, 19, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 3, 2, 147, 99, 185, 61, 64, 13, 13, 3, 5, 3, 7, 36, 32, 31, 94, 67, 42, 56, 17, 17, 13, 1, 255, 4, 48, 48, 49, 144, 93, 119, 194, 71, 72, 89, 13, 3, 9, 22, 35, 34, 122, 92, 69, 254, 145, 2, 57, 2, 3, 67, 48, 47, 108, 46, 30, 55, 117, 48, 48, 60, 3, 2, 34, 27, 27, 69, 37, 1, 90, 152, 56, 56, 65, 2, 3, 87, 76, 76, 202, 111, 31, 86, 170, 72, 73, 108, 22, 254, 154, 0, 0, 1, 0, 54, 0, 0, 4, 184, 5, 62, 0, 19, 0, 0, 65, 1, 23, 55, 37, 1, 35, 3, 39, 7, 23, 1, 39, 7, 23, 1, 51, 19, 23, 55, 2, 46, 1, 13, 249, 89, 255, 0, 1, 43, 183, 237, 253, 86, 253, 254, 245, 254, 84, 251, 254, 218, 186, 232, 253, 84, 1, 184, 1, 114, 169, 116, 171, 1, 158, 254, 184, 171, 119, 171, 254, 141, 171, 117, 171, 254, 105, 1, 65, 170, 117, 0, 0, 1, 253, 162, 4, 162, 0, 157, 5, 253, 0, 7, 0, 0, 65, 33, 55, 39, 7, 33, 7, 23, 254, 102, 2, 16, 39, 173, 18, 253, 238, 42, 174, 5, 32, 220, 1, 108, 238, 1, 0, 1, 253, 148, 5, 22, 0, 121, 6, 20, 0, 35, 0, 0, 65, 35, 7, 51, 50, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 23, 55, 54, 38, 39, 38, 38, 35, 38, 6, 7, 6, 6, 7, 6, 6, 253, 198, 41, 9, 51, 22, 42, 21, 39, 78, 38, 59, 117, 59, 23, 32, 10, 9, 8, 2, 2, 130, 4, 3, 27, 27, 28, 82, 51, 62, 117, 58, 35, 70, 36, 24, 49, 5, 157, 135, 6, 5, 9, 29, 15, 22, 36, 3, 1, 14, 12, 12, 36, 23, 20, 1, 40, 53, 80, 27, 26, 27, 1, 36, 22, 14, 25, 9, 6, 7, 0, 1, 254, 164, 5, 18, 255, 124, 6, 91, 0, 5, 0, 0, 65, 23, 55, 39, 55, 39, 254, 164, 132, 84, 37, 26, 185, 5, 237, 219, 75, 113, 135, 6, 0, 1, 254, 109, 5, 19, 255, 136, 6, 91, 0, 5, 0, 0, 65, 55, 55, 15, 2, 254, 182, 187, 23, 186, 18, 79, 5, 19, 195, 133, 5, 109, 116, 0, 0, 8, 254, 170, 254, 195, 6, 9, 5, 176, 0, 25, 0, 51, 0, 77, 0, 103, 0, 129, 0, 155, 0, 181, 0, 207, 0, 0, 65, 51, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 51, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 19, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 51, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 51, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 1, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 19, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 7, 51, 52, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 2, 6, 111, 5, 17, 12, 13, 37, 25, 24, 32, 9, 8, 6, 1, 109, 1, 23, 23, 24, 73, 46, 45, 75, 28, 29, 36, 2, 7, 111, 5, 17, 12, 13, 36, 25, 24, 32, 9, 8, 6, 1, 110, 1, 22, 22, 24, 75, 47, 45, 74, 28, 29, 36, 90, 109, 5, 14, 10, 13, 40, 27, 24, 31, 9, 9, 5, 1, 110, 1, 19, 19, 24, 77, 50, 45, 74, 28, 29, 35, 254, 226, 108, 5, 13, 10, 13, 40, 28, 24, 31, 9, 9, 5, 1, 110, 1, 23, 22, 24, 74, 46, 45, 74, 28, 28, 36, 253, 153, 111, 4, 12, 9, 13, 42, 29, 24, 31, 9, 8, 6, 1, 110, 1, 19, 18, 25, 78, 50, 45, 75, 28, 28, 36, 254, 171, 112, 5, 17, 11, 14, 37, 25, 24, 32, 9, 8, 6, 1, 109, 1, 23, 22, 25, 73, 46, 49, 82, 29, 24, 31, 254, 251, 109, 6, 18, 13, 13, 35, 24, 24, 32, 9, 8, 6, 1, 109, 1, 17, 16, 23, 80, 52, 45, 75, 28, 29, 35, 65, 110, 5, 14, 9, 14, 39, 28, 24, 31, 9, 8, 6, 1, 111, 19, 18, 25, 77, 50, 45, 75, 28, 29, 35, 4, 244, 20, 35, 13, 15, 17, 16, 14, 14, 37, 21, 42, 68, 24, 26, 28, 1, 1, 26, 24, 25, 70, 254, 192, 20, 35, 13, 15, 17, 16, 14, 14, 37, 21, 41, 67, 24, 27, 29, 1, 1, 26, 24, 25, 70, 253, 221, 1, 17, 32, 12, 18, 21, 16, 14, 14, 37, 21, 38, 63, 24, 30, 33, 1, 1, 26, 24, 25, 71, 253, 206, 1, 17, 31, 12, 18, 22, 16, 14, 14, 37, 21, 41, 67, 24, 27, 29, 1, 1, 26, 24, 25, 71, 254, 186, 15, 29, 12, 20, 24, 16, 14, 14, 37, 21, 37, 63, 23, 31, 34, 1, 1, 26, 24, 25, 70, 4, 239, 19, 35, 13, 15, 18, 16, 14, 14, 37, 21, 41, 68, 24, 26, 29, 1, 1, 31, 30, 23, 65, 253, 225, 1, 21, 36, 14, 13, 16, 16, 14, 14, 37, 21, 35, 60, 23, 33, 37, 1, 1, 26, 24, 25, 71, 253, 206, 1, 17, 32, 13, 17, 21, 16, 14, 14, 37, 21, 37, 63, 23, 31, 34, 1, 1, 26, 24, 25, 71, 0, 0, 8, 254, 204, 254, 99, 5, 208, 5, 198, 0, 4, 0, 9, 0, 14, 0, 19, 0, 24, 0, 29, 0, 34, 0, 39, 0, 0, 69, 7, 3, 51, 19, 19, 55, 19, 35, 3, 1, 7, 5, 55, 37, 5, 55, 37, 7, 5, 1, 23, 37, 39, 5, 1, 39, 5, 23, 37, 19, 55, 3, 7, 19, 1, 7, 19, 55, 3, 2, 65, 133, 126, 102, 170, 17, 132, 126, 102, 170, 2, 61, 13, 1, 62, 17, 254, 200, 251, 119, 13, 254, 193, 17, 1, 57, 3, 229, 92, 1, 48, 63, 254, 181, 252, 192, 92, 254, 207, 64, 1, 74, 21, 103, 150, 65, 95, 3, 40, 102, 149, 66, 94, 58, 3, 254, 160, 1, 82, 4, 175, 3, 1, 95, 254, 175, 254, 3, 140, 68, 90, 128, 210, 140, 68, 90, 128, 2, 68, 98, 190, 78, 152, 252, 25, 98, 190, 79, 152, 3, 90, 96, 1, 47, 59, 254, 173, 253, 68, 97, 254, 209, 61, 1, 81, 0, 3, 0, 40, 0, 0, 4, 184, 5, 176, 0, 3, 0, 20, 0, 35, 0, 0, 65, 1, 7, 1, 37, 23, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 33, 19, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 4, 22, 254, 190, 122, 1, 66, 253, 251, 224, 105, 197, 78, 78, 101, 9, 9, 59, 59, 60, 168, 101, 254, 43, 252, 1, 18, 132, 81, 223, 50, 72, 22, 21, 14, 6, 7, 49, 37, 37, 94, 53, 1, 140, 2, 73, 53, 253, 184, 190, 1, 61, 59, 58, 171, 112, 104, 168, 60, 60, 66, 3, 1, 250, 80, 2, 250, 1, 210, 1, 2, 39, 31, 32, 83, 47, 54, 86, 30, 30, 33, 1, 0, 3, 255, 220, 254, 96, 4, 53, 4, 79, 0, 3, 0, 39, 0, 71, 0, 0, 69, 1, 7, 1, 19, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 55, 7, 1, 33, 19, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 37, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 20, 3, 182, 254, 180, 107, 1, 74, 228, 2, 6, 3, 12, 13, 49, 39, 40, 110, 74, 47, 85, 37, 31, 56, 26, 17, 248, 254, 252, 1, 15, 97, 20, 46, 26, 35, 80, 43, 77, 127, 52, 51, 79, 29, 28, 36, 254, 250, 2, 4, 14, 12, 8, 21, 14, 32, 96, 68, 29, 49, 21, 22, 34, 12, 80, 22, 51, 29, 23, 52, 29, 34, 50, 18, 14, 20, 7, 14, 18, 1, 206, 72, 254, 50, 2, 115, 22, 61, 127, 60, 59, 106, 41, 40, 47, 2, 1, 20, 19, 16, 45, 28, 108, 1, 250, 38, 2, 0, 24, 39, 14, 19, 20, 1, 2, 45, 40, 40, 108, 63, 63, 135, 88, 21, 32, 69, 33, 24, 47, 21, 50, 62, 2, 1, 13, 12, 13, 43, 30, 1, 198, 29, 45, 13, 11, 11, 1, 1, 22, 18, 14, 38, 21, 48, 109, 0, 1, 0, 43, 0, 0, 5, 26, 7, 31, 0, 7, 0, 0, 65, 19, 33, 3, 33, 3, 33, 19, 4, 179, 103, 254, 240, 64, 253, 94, 253, 1, 18, 213, 4, 204, 2, 83, 254, 145, 250, 80, 4, 204, 0, 1, 0, 40, 0, 0, 4, 201, 5, 117, 0, 7, 0, 0, 65, 19, 33, 3, 33, 3, 33, 19, 4, 108, 93, 254, 241, 55, 253, 97, 188, 1, 14, 149, 3, 88, 2, 29, 254, 197, 251, 198, 3, 88, 0, 1, 0, 32, 254, 176, 4, 176, 5, 176, 0, 33, 0, 0, 65, 55, 33, 3, 33, 19, 51, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 35, 19, 4, 136, 40, 252, 109, 253, 1, 18, 105, 181, 80, 100, 26, 26, 12, 9, 9, 42, 38, 38, 111, 78, 24, 133, 215, 79, 78, 96, 14, 14, 55, 64, 65, 199, 130, 152, 68, 4, 204, 228, 250, 80, 2, 95, 3, 62, 50, 50, 129, 70, 69, 130, 50, 51, 63, 3, 213, 3, 88, 78, 78, 215, 130, 129, 211, 76, 75, 85, 3, 1, 137, 0, 0, 1, 0, 40, 254, 224, 4, 109, 4, 58, 0, 39, 0, 0, 65, 55, 33, 3, 33, 19, 51, 22, 22, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 35, 55, 4, 69, 40, 252, 119, 188, 1, 14, 76, 179, 35, 61, 24, 17, 29, 11, 22, 17, 7, 7, 44, 32, 33, 84, 48, 91, 79, 149, 59, 59, 77, 8, 10, 64, 64, 31, 75, 43, 46, 104, 56, 150, 34, 3, 88, 226, 251, 198, 1, 179, 1, 15, 13, 10, 25, 15, 32, 85, 53, 53, 87, 34, 35, 53, 19, 193, 26, 87, 60, 60, 150, 89, 114, 177, 61, 29, 45, 16, 17, 18, 1, 194, 0, 1, 0, 25, 0, 0, 5, 101, 5, 176, 0, 20, 0, 0, 65, 33, 1, 35, 19, 35, 3, 35, 19, 33, 3, 33, 19, 51, 7, 51, 55, 23, 19, 33, 3, 5, 101, 254, 164, 254, 176, 13, 51, 164, 46, 76, 104, 254, 237, 253, 1, 19, 106, 77, 41, 164, 44, 29, 140, 1, 80, 200, 5, 176, 253, 167, 1, 3, 254, 255, 2, 87, 250, 80, 2, 91, 229, 230, 1, 253, 165, 3, 20, 0, 0, 1, 0, 23, 0, 0, 4, 227, 4, 58, 0, 20, 0, 0, 65, 33, 3, 35, 55, 35, 7, 35, 19, 33, 3, 33, 19, 51, 7, 51, 55, 23, 19, 33, 3, 4, 227, 254, 159, 236, 42, 40, 151, 38, 65, 77, 254, 240, 188, 1, 16, 74, 66, 35, 151, 34, 50, 99, 1, 79, 206, 4, 58, 254, 96, 194, 194, 1, 160, 251, 198, 1, 151, 174, 173, 1, 254, 107, 2, 42, 0, 1, 0, 120, 0, 0, 5, 34, 5, 176, 0, 14, 0, 0, 65, 19, 33, 3, 1, 33, 1, 35, 19, 33, 7, 33, 3, 33, 19, 2, 138, 137, 1, 42, 192, 1, 165, 254, 185, 254, 204, 48, 106, 253, 194, 43, 1, 46, 210, 1, 17, 107, 2, 79, 253, 177, 2, 233, 2, 199, 253, 187, 2, 69, 241, 251, 65, 2, 80, 0, 0, 1, 0, 67, 0, 0, 4, 228, 4, 58, 0, 14, 0, 0, 65, 19, 33, 3, 1, 33, 3, 35, 19, 33, 7, 33, 3, 33, 19, 2, 126, 95, 1, 90, 193, 1, 110, 254, 155, 221, 65, 76, 253, 192, 42, 1, 42, 146, 1, 22, 74, 1, 137, 254, 119, 2, 45, 2, 13, 254, 108, 1, 148, 242, 252, 184, 1, 138, 0, 1, 255, 212, 0, 0, 5, 30, 5, 176, 0, 13, 0, 0, 65, 19, 33, 3, 33, 19, 51, 3, 33, 19, 33, 55, 33, 3, 1, 112, 104, 254, 249, 253, 1, 7, 107, 253, 107, 1, 7, 211, 1, 65, 43, 253, 183, 103, 3, 94, 2, 82, 250, 80, 2, 102, 253, 154, 4, 191, 241, 253, 174, 0, 0, 1, 255, 235, 0, 0, 4, 217, 4, 58, 0, 13, 0, 0, 65, 19, 33, 3, 33, 19, 33, 3, 33, 19, 33, 55, 33, 3, 1, 115, 75, 254, 233, 188, 1, 23, 72, 1, 0, 72, 1, 23, 146, 1, 4, 42, 253, 229, 75, 2, 139, 1, 175, 251, 198, 1, 156, 254, 100, 3, 73, 241, 254, 81, 0, 1, 255, 200, 254, 162, 4, 83, 5, 176, 0, 47, 0, 0, 65, 19, 33, 3, 33, 19, 51, 3, 33, 19, 23, 22, 22, 23, 22, 20, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 52, 39, 38, 38, 39, 38, 38, 39, 2, 251, 108, 253, 93, 252, 1, 5, 210, 158, 209, 1, 5, 108, 20, 30, 35, 8, 7, 3, 4, 10, 2, 5, 10, 8, 9, 27, 21, 21, 60, 42, 25, 126, 181, 62, 30, 48, 18, 18, 24, 7, 7, 10, 11, 46, 38, 39, 111, 75, 3, 64, 2, 112, 250, 80, 4, 183, 251, 73, 2, 80, 1, 5, 45, 33, 33, 79, 38, 39, 65, 20, 33, 76, 38, 38, 73, 28, 29, 37, 4, 228, 4, 105, 84, 41, 96, 52, 52, 111, 56, 60, 131, 64, 63, 116, 45, 44, 55, 3, 0, 1, 255, 233, 254, 232, 4, 74, 4, 58, 0, 35, 0, 0, 65, 19, 33, 3, 33, 19, 51, 3, 33, 19, 23, 22, 22, 23, 22, 6, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 2, 234, 78, 253, 109, 188, 1, 4, 147, 137, 147, 1, 6, 81, 5, 38, 39, 7, 7, 5, 5, 6, 26, 21, 22, 63, 43, 93, 79, 131, 49, 48, 59, 8, 9, 34, 42, 42, 135, 92, 2, 160, 1, 154, 251, 198, 3, 73, 252, 183, 1, 177, 1, 11, 50, 33, 34, 76, 34, 44, 83, 36, 36, 57, 18, 200, 21, 93, 64, 63, 153, 80, 88, 166, 66, 65, 84, 8, 0, 2, 0, 78, 255, 234, 4, 192, 5, 199, 0, 83, 0, 115, 0, 0, 69, 55, 38, 38, 39, 54, 54, 55, 54, 54, 55, 19, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 34, 34, 35, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 22, 22, 3, 19, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 6, 7, 6, 6, 7, 3, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 54, 4, 43, 21, 29, 56, 29, 30, 50, 20, 32, 43, 12, 48, 6, 1, 8, 8, 38, 32, 32, 93, 65, 62, 101, 40, 40, 60, 21, 22, 27, 7, 51, 9, 2, 10, 9, 33, 22, 7, 6, 7, 48, 67, 21, 22, 22, 4, 4, 3, 5, 51, 3, 9, 8, 7, 21, 16, 16, 44, 29, 30, 74, 122, 49, 50, 75, 27, 28, 36, 10, 51, 10, 12, 22, 22, 76, 54, 53, 139, 84, 66, 121, 57, 68, 141, 225, 49, 1, 3, 4, 3, 12, 10, 9, 28, 20, 18, 19, 4, 3, 2, 3, 3, 6, 1, 50, 8, 20, 14, 12, 30, 18, 11, 13, 2, 2, 5, 19, 221, 1, 4, 7, 36, 77, 39, 64, 139, 74, 1, 47, 49, 115, 59, 58, 109, 43, 42, 53, 2, 2, 44, 37, 38, 101, 55, 55, 112, 49, 254, 192, 63, 123, 59, 52, 104, 50, 2, 39, 31, 31, 79, 42, 42, 84, 36, 1, 69, 21, 62, 34, 34, 69, 28, 28, 36, 3, 237, 2, 48, 40, 40, 106, 61, 61, 131, 65, 254, 190, 76, 151, 69, 69, 118, 44, 44, 51, 1, 2, 35, 29, 30, 28, 2, 168, 1, 69, 11, 46, 29, 29, 60, 25, 25, 30, 1, 1, 36, 26, 27, 64, 29, 30, 45, 9, 254, 179, 39, 74, 36, 30, 61, 29, 32, 66, 33, 39, 80, 0, 0, 2, 0, 43, 255, 230, 4, 162, 4, 80, 0, 74, 0, 103, 0, 0, 69, 55, 38, 38, 39, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 34, 38, 35, 38, 38, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 55, 55, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 22, 22, 1, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 7, 6, 6, 7, 38, 38, 39, 38, 38, 4, 78, 13, 37, 73, 37, 79, 98, 16, 20, 5, 4, 12, 12, 43, 33, 34, 91, 59, 50, 86, 37, 27, 48, 20, 48, 57, 10, 20, 6, 1, 8, 6, 21, 15, 5, 11, 5, 34, 54, 20, 14, 22, 8, 23, 12, 8, 13, 6, 23, 20, 20, 59, 43, 28, 104, 167, 62, 62, 77, 13, 12, 12, 54, 60, 26, 63, 36, 49, 118, 67, 69, 132, 64, 78, 161, 254, 193, 19, 1, 5, 4, 4, 11, 7, 14, 46, 33, 31, 30, 5, 2, 1, 1, 1, 2, 1, 18, 10, 62, 56, 20, 27, 8, 8, 3, 26, 167, 1, 4, 6, 71, 170, 106, 143, 49, 105, 51, 50, 91, 35, 35, 42, 2, 1, 24, 22, 16, 44, 26, 60, 151, 76, 148, 48, 92, 45, 34, 69, 34, 2, 5, 23, 18, 12, 29, 16, 44, 111, 59, 96, 38, 79, 35, 34, 49, 8, 232, 3, 75, 64, 64, 172, 99, 93, 112, 200, 75, 32, 55, 20, 28, 31, 1, 1, 26, 23, 28, 24, 2, 35, 154, 12, 28, 16, 16, 35, 16, 31, 42, 1, 1, 53, 35, 18, 36, 17, 16, 28, 9, 146, 72, 118, 46, 28, 58, 30, 30, 66, 0, 0, 1, 0, 107, 254, 161, 4, 204, 5, 176, 0, 15, 0, 0, 65, 3, 33, 3, 33, 19, 35, 19, 33, 3, 33, 19, 51, 55, 33, 7, 1, 76, 211, 2, 218, 61, 1, 1, 119, 148, 210, 254, 240, 210, 254, 202, 167, 214, 43, 253, 57, 42, 4, 191, 251, 65, 254, 161, 2, 85, 4, 186, 251, 72, 3, 199, 241, 241, 0, 1, 0, 73, 254, 191, 4, 96, 4, 58, 0, 15, 0, 0, 65, 3, 33, 3, 33, 19, 35, 19, 33, 3, 33, 19, 51, 55, 33, 7, 1, 0, 146, 2, 174, 56, 1, 6, 115, 144, 147, 254, 232, 147, 254, 249, 105, 166, 43, 253, 139, 42, 3, 73, 252, 183, 254, 191, 2, 47, 3, 76, 252, 182, 2, 89, 241, 241, 0, 2, 0, 190, 0, 0, 4, 188, 5, 176, 0, 3, 0, 29, 0, 0, 65, 19, 35, 3, 1, 33, 3, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 33, 3, 6, 22, 23, 22, 22, 51, 22, 54, 55, 3, 33, 2, 82, 131, 162, 131, 3, 12, 254, 237, 123, 51, 102, 52, 54, 59, 12, 13, 1, 5, 74, 254, 238, 75, 12, 38, 49, 48, 157, 108, 51, 99, 48, 104, 1, 19, 1, 31, 2, 244, 253, 12, 4, 145, 253, 92, 11, 15, 2, 2, 44, 34, 34, 87, 45, 1, 198, 254, 59, 103, 174, 63, 64, 72, 1, 16, 14, 253, 212, 0, 2, 0, 129, 0, 0, 4, 140, 4, 58, 0, 3, 0, 29, 0, 0, 101, 19, 35, 3, 5, 19, 33, 3, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 3, 6, 22, 23, 22, 22, 51, 22, 54, 55, 3, 2, 90, 111, 162, 111, 2, 24, 188, 254, 240, 94, 53, 104, 54, 49, 71, 22, 23, 17, 6, 55, 254, 241, 55, 11, 58, 60, 59, 167, 98, 51, 100, 50, 68, 165, 2, 128, 253, 128, 165, 4, 58, 254, 3, 9, 12, 2, 1, 21, 22, 22, 70, 51, 1, 85, 254, 172, 106, 155, 51, 51, 50, 1, 11, 11, 254, 162, 0, 0, 1, 0, 11, 0, 0, 4, 44, 5, 176, 0, 25, 0, 0, 115, 33, 19, 54, 54, 23, 22, 22, 23, 22, 22, 7, 3, 33, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 19, 33, 11, 1, 28, 119, 52, 104, 53, 52, 60, 14, 13, 2, 5, 68, 1, 29, 80, 12, 47, 53, 54, 163, 106, 51, 99, 50, 102, 254, 228, 2, 147, 10, 15, 2, 2, 41, 32, 33, 83, 43, 254, 64, 1, 193, 103, 176, 65, 64, 74, 1, 1, 14, 11, 2, 36, 0, 0, 2, 0, 38, 255, 233, 4, 157, 5, 197, 0, 66, 0, 87, 0, 0, 69, 22, 54, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 5, 55, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 38, 38, 55, 52, 54, 55, 39, 6, 22, 23, 22, 22, 23, 7, 6, 6, 23, 22, 22, 23, 22, 22, 19, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 20, 6, 7, 7, 2, 120, 50, 104, 49, 38, 72, 34, 22, 34, 72, 36, 28, 56, 29, 71, 87, 21, 10, 11, 2, 2, 4, 5, 6, 2, 107, 35, 10, 4, 10, 11, 50, 43, 43, 126, 87, 80, 136, 56, 57, 91, 35, 24, 39, 15, 24, 13, 9, 1, 8, 3, 197, 9, 2, 19, 18, 80, 68, 12, 8, 3, 6, 7, 36, 29, 51, 176, 35, 11, 6, 13, 8, 13, 36, 24, 24, 62, 39, 36, 47, 14, 14, 13, 1, 6, 4, 9, 22, 1, 10, 11, 9, 26, 18, 251, 14, 23, 7, 6, 4, 1, 3, 65, 50, 23, 52, 27, 31, 65, 32, 27, 1, 197, 69, 149, 72, 72, 130, 50, 50, 61, 2, 2, 47, 42, 42, 115, 65, 44, 94, 47, 87, 21, 46, 25, 24, 48, 23, 1, 63, 130, 57, 58, 91, 24, 60, 49, 99, 48, 60, 113, 49, 89, 111, 3, 122, 47, 21, 48, 24, 37, 71, 28, 27, 32, 1, 1, 29, 23, 23, 60, 31, 31, 62, 25, 48, 0, 0, 2, 0, 61, 255, 235, 4, 118, 4, 81, 0, 65, 0, 79, 0, 0, 101, 54, 54, 55, 39, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 38, 53, 52, 52, 53, 53, 33, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 38, 38, 39, 38, 54, 55, 39, 6, 22, 23, 22, 22, 23, 7, 6, 6, 21, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 3, 22, 22, 23, 22, 22, 7, 7, 37, 54, 54, 55, 54, 54, 3, 119, 42, 75, 31, 104, 28, 58, 31, 28, 61, 34, 28, 44, 16, 11, 16, 7, 15, 13, 2, 55, 21, 13, 31, 51, 42, 137, 99, 98, 158, 61, 62, 90, 30, 18, 17, 3, 4, 1, 2, 179, 4, 12, 22, 21, 78, 62, 1, 1, 1, 2, 45, 41, 20, 50, 29, 42, 101, 58, 66, 125, 78, 37, 45, 11, 11, 3, 4, 6, 254, 226, 11, 30, 22, 22, 62, 36, 22, 60, 38, 157, 22, 37, 12, 11, 11, 1, 1, 16, 15, 9, 22, 13, 29, 69, 35, 3, 7, 3, 3, 134, 97, 196, 78, 63, 85, 3, 3, 71, 60, 61, 157, 84, 19, 47, 25, 25, 51, 25, 1, 60, 121, 53, 53, 84, 23, 7, 14, 29, 14, 75, 140, 56, 28, 49, 19, 27, 31, 2, 1, 28, 3, 88, 1, 37, 28, 28, 66, 29, 29, 1, 32, 77, 33, 33, 43, 0, 0, 1, 0, 54, 254, 172, 5, 17, 5, 176, 0, 35, 0, 0, 65, 33, 3, 33, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 7, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 1, 33, 1, 35, 2, 70, 254, 237, 253, 1, 20, 105, 217, 74, 84, 20, 20, 4, 7, 9, 42, 37, 38, 112, 78, 24, 132, 214, 79, 79, 97, 15, 10, 19, 35, 31, 102, 78, 49, 1, 222, 254, 162, 254, 148, 104, 5, 176, 250, 80, 2, 92, 2, 3, 69, 52, 52, 125, 60, 70, 130, 50, 51, 63, 2, 215, 3, 88, 78, 78, 215, 129, 91, 179, 77, 66, 108, 26, 16, 2, 130, 253, 175, 0, 0, 1, 0, 43, 254, 214, 4, 180, 4, 58, 0, 34, 0, 0, 65, 1, 33, 1, 35, 19, 33, 3, 33, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 3, 17, 1, 163, 254, 155, 254, 199, 104, 72, 254, 241, 188, 1, 15, 71, 186, 51, 75, 24, 23, 16, 7, 7, 39, 30, 30, 77, 44, 90, 77, 142, 56, 55, 73, 8, 7, 23, 30, 30, 97, 2, 85, 1, 229, 254, 98, 1, 158, 251, 198, 1, 149, 1, 3, 38, 31, 32, 84, 49, 50, 83, 33, 34, 52, 20, 193, 26, 87, 59, 59, 146, 86, 71, 133, 57, 56, 88, 0, 0, 1, 0, 32, 254, 74, 4, 173, 5, 176, 0, 29, 0, 0, 65, 33, 3, 33, 19, 33, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 33, 3, 33, 2, 47, 254, 238, 253, 1, 18, 105, 1, 107, 108, 6, 22, 18, 19, 54, 37, 25, 48, 24, 38, 36, 71, 37, 93, 146, 54, 53, 65, 12, 255, 254, 237, 109, 254, 149, 5, 176, 250, 80, 2, 92, 253, 125, 32, 62, 24, 25, 31, 8, 6, 221, 8, 10, 58, 53, 53, 147, 88, 5, 215, 253, 142, 0, 0, 1, 0, 34, 254, 74, 4, 102, 4, 58, 0, 29, 0, 0, 65, 33, 3, 33, 19, 33, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 55, 19, 33, 3, 33, 1, 237, 254, 241, 188, 1, 15, 74, 1, 105, 78, 5, 22, 18, 19, 54, 37, 25, 48, 23, 39, 35, 72, 37, 93, 145, 53, 52, 64, 12, 191, 254, 240, 76, 254, 151, 4, 58, 251, 198, 1, 164, 254, 52, 32, 63, 25, 25, 31, 9, 7, 220, 8, 10, 58, 53, 53, 146, 88, 4, 98, 254, 74, 0, 0, 2, 0, 67, 255, 233, 4, 135, 5, 197, 0, 52, 0, 72, 0, 0, 65, 38, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 6, 7, 7, 37, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 54, 54, 39, 38, 38, 39, 38, 38, 1, 38, 38, 39, 38, 38, 39, 38, 38, 55, 55, 37, 6, 6, 7, 6, 6, 7, 6, 6, 2, 170, 43, 97, 48, 49, 90, 37, 28, 41, 84, 43, 37, 76, 38, 76, 93, 23, 10, 12, 2, 3, 4, 6, 14, 253, 18, 33, 10, 5, 17, 17, 64, 50, 49, 135, 88, 87, 152, 65, 64, 105, 40, 39, 52, 12, 44, 6, 1, 5, 8, 45, 37, 60, 192, 254, 215, 42, 62, 22, 19, 27, 6, 6, 1, 4, 13, 1, 236, 10, 27, 19, 19, 51, 33, 33, 82, 5, 196, 1, 6, 9, 9, 32, 25, 228, 17, 26, 8, 7, 6, 1, 2, 65, 50, 23, 52, 27, 33, 70, 34, 72, 1, 204, 77, 150, 68, 69, 117, 43, 44, 51, 2, 2, 47, 43, 42, 118, 69, 69, 154, 78, 1, 20, 46, 89, 42, 69, 125, 51, 82, 97, 251, 25, 1, 25, 21, 19, 51, 30, 30, 67, 34, 92, 1, 41, 87, 41, 42, 75, 27, 28, 31, 0, 1, 0, 80, 255, 233, 4, 213, 5, 176, 0, 45, 0, 0, 65, 1, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 37, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 1, 55, 33, 7, 3, 105, 254, 125, 34, 148, 75, 99, 24, 16, 9, 7, 7, 51, 38, 38, 94, 49, 45, 70, 23, 24, 24, 2, 254, 240, 3, 62, 59, 58, 162, 96, 102, 198, 79, 79, 105, 9, 7, 33, 39, 36, 108, 72, 33, 1, 173, 33, 252, 114, 41, 4, 202, 254, 162, 194, 1, 3, 51, 47, 31, 82, 49, 52, 80, 27, 28, 28, 2, 1, 30, 26, 26, 72, 44, 1, 99, 157, 54, 55, 59, 2, 2, 53, 54, 54, 165, 111, 84, 147, 59, 52, 77, 19, 7, 1, 146, 195, 228, 0, 0, 1, 0, 5, 254, 115, 4, 135, 4, 58, 0, 45, 0, 0, 65, 1, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 37, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 1, 55, 33, 7, 3, 24, 254, 130, 33, 149, 71, 97, 25, 19, 12, 7, 7, 52, 38, 38, 95, 49, 45, 70, 23, 24, 24, 2, 254, 240, 3, 63, 59, 58, 162, 96, 102, 197, 79, 79, 103, 9, 7, 32, 38, 36, 110, 73, 26, 1, 167, 32, 252, 111, 40, 3, 88, 254, 157, 191, 1, 2, 47, 43, 32, 88, 54, 51, 81, 27, 28, 28, 2, 1, 30, 26, 26, 72, 44, 1, 99, 157, 54, 54, 59, 2, 2, 52, 55, 54, 165, 111, 82, 147, 59, 53, 79, 19, 6, 1, 147, 194, 226, 0, 255, 255, 0, 50, 254, 71, 5, 4, 5, 176, 4, 38, 1, 123, 84, 0, 0, 39, 2, 106, 255, 7, 0, 23, 0, 6, 2, 111, 191, 0, 255, 255, 0, 14, 254, 66, 4, 176, 4, 58, 4, 38, 1, 181, 73, 0, 0, 39, 2, 106, 255, 1, 255, 59, 0, 6, 2, 111, 129, 251, 0, 2, 0, 43, 0, 0, 4, 195, 5, 176, 0, 16, 0, 31, 0, 0, 65, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 5, 19, 33, 3, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 23, 3, 87, 211, 110, 204, 81, 81, 105, 10, 10, 64, 62, 62, 176, 102, 1, 201, 253, 254, 237, 213, 211, 52, 78, 24, 25, 20, 7, 8, 54, 41, 40, 104, 57, 185, 3, 176, 1, 62, 60, 61, 178, 116, 109, 170, 59, 60, 65, 4, 1, 5, 176, 251, 50, 1, 2, 39, 32, 32, 87, 50, 59, 93, 33, 32, 35, 2, 0, 0, 2, 0, 60, 255, 255, 4, 213, 5, 176, 0, 39, 0, 57, 0, 0, 97, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 39, 37, 22, 6, 7, 6, 6, 7, 6, 6, 7, 35, 19, 33, 3, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 3, 54, 54, 55, 54, 54, 55, 54, 54, 23, 23, 3, 39, 38, 38, 39, 38, 54, 2, 220, 79, 128, 51, 50, 76, 28, 27, 36, 11, 17, 2, 18, 254, 254, 21, 16, 19, 7, 22, 22, 22, 72, 55, 25, 218, 254, 238, 96, 7, 105, 174, 64, 65, 78, 9, 8, 37, 45, 45, 143, 97, 85, 3, 14, 12, 11, 33, 22, 21, 53, 33, 3, 100, 5, 41, 44, 10, 10, 1, 1, 43, 40, 39, 107, 62, 62, 136, 68, 111, 227, 111, 1, 110, 232, 109, 42, 112, 51, 52, 73, 2, 4, 209, 253, 255, 1, 4, 74, 65, 65, 177, 99, 93, 164, 63, 63, 77, 6, 1, 210, 25, 59, 30, 29, 54, 20, 20, 21, 3, 1, 254, 16, 1, 7, 52, 35, 35, 79, 0, 2, 0, 58, 255, 234, 4, 127, 6, 24, 0, 73, 0, 108, 0, 0, 83, 7, 6, 6, 23, 22, 22, 23, 22, 22, 23, 50, 54, 55, 54, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 37, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 54, 55, 19, 33, 3, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 37, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 52, 55, 54, 54, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 50, 22, 23, 22, 22, 84, 19, 5, 2, 7, 6, 30, 27, 27, 82, 58, 33, 56, 24, 12, 21, 10, 11, 20, 9, 17, 52, 32, 32, 72, 38, 70, 110, 42, 42, 62, 22, 21, 27, 7, 14, 5, 14, 254, 254, 17, 7, 14, 2, 5, 4, 5, 14, 11, 11, 32, 23, 15, 13, 1, 1, 4, 2, 207, 254, 239, 97, 10, 22, 12, 18, 41, 23, 64, 100, 38, 39, 56, 19, 19, 24, 1, 202, 89, 4, 3, 1, 8, 17, 8, 9, 20, 11, 21, 23, 5, 5, 2, 2, 7, 1, 18, 2, 7, 7, 6, 20, 15, 15, 43, 29, 7, 13, 6, 6, 12, 2, 79, 140, 42, 102, 52, 53, 98, 38, 39, 48, 1, 21, 18, 8, 20, 11, 11, 25, 13, 36, 48, 14, 15, 13, 1, 51, 44, 43, 114, 62, 62, 125, 55, 100, 199, 100, 1, 100, 201, 101, 17, 58, 35, 35, 74, 31, 31, 43, 5, 7, 31, 19, 18, 38, 14, 4, 206, 253, 253, 10, 18, 6, 11, 12, 1, 2, 46, 40, 41, 107, 58, 58, 115, 216, 253, 243, 24, 47, 24, 6, 11, 5, 4, 5, 1, 1, 31, 23, 23, 57, 27, 26, 45, 11, 142, 18, 58, 33, 32, 65, 26, 26, 31, 2, 4, 3, 3, 8, 0, 0, 1, 0, 130, 255, 234, 4, 125, 5, 176, 0, 80, 0, 0, 65, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 37, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 55, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 7, 23, 22, 22, 23, 22, 6, 1, 137, 12, 4, 33, 36, 35, 106, 69, 76, 126, 50, 50, 77, 28, 27, 36, 9, 14, 6, 14, 254, 252, 18, 6, 15, 4, 10, 8, 9, 25, 18, 18, 50, 33, 12, 15, 4, 4, 2, 1, 12, 4, 11, 19, 19, 66, 51, 57, 99, 38, 37, 47, 5, 7, 50, 52, 53, 152, 93, 186, 40, 214, 39, 54, 15, 17, 10, 5, 6, 26, 21, 31, 96, 64, 99, 40, 180, 36, 37, 7, 7, 1, 1, 129, 109, 69, 110, 38, 38, 41, 1, 1, 45, 40, 40, 109, 62, 62, 134, 65, 100, 198, 100, 1, 100, 201, 100, 25, 66, 35, 36, 69, 28, 29, 37, 3, 5, 11, 8, 8, 23, 14, 110, 51, 96, 42, 41, 66, 20, 25, 66, 43, 42, 105, 66, 97, 150, 52, 51, 55, 3, 1, 230, 1, 2, 26, 22, 23, 64, 38, 42, 69, 27, 40, 44, 1, 2, 228, 3, 3, 48, 33, 33, 70, 0, 1, 0, 121, 255, 227, 4, 102, 4, 58, 0, 77, 0, 0, 101, 38, 38, 55, 55, 54, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 7, 23, 22, 22, 23, 22, 22, 7, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 37, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 2, 191, 7, 2, 1, 5, 5, 74, 78, 40, 70, 27, 27, 34, 3, 5, 66, 56, 56, 145, 73, 207, 33, 229, 30, 50, 18, 17, 15, 5, 6, 38, 27, 27, 65, 32, 126, 35, 218, 26, 36, 11, 10, 7, 2, 9, 3, 56, 47, 47, 119, 60, 61, 99, 39, 39, 59, 21, 21, 27, 6, 10, 17, 16, 255, 0, 20, 5, 11, 3, 9, 10, 5, 16, 10, 9, 24, 14, 19, 24, 189, 11, 32, 20, 49, 82, 116, 26, 19, 45, 29, 28, 74, 47, 86, 119, 37, 36, 34, 2, 1, 226, 1, 1, 15, 14, 15, 46, 33, 36, 48, 14, 14, 12, 1, 1, 212, 2, 2, 15, 14, 13, 35, 23, 76, 73, 94, 27, 27, 22, 1, 39, 33, 33, 89, 51, 50, 108, 51, 80, 156, 78, 1, 78, 158, 81, 24, 84, 41, 22, 42, 16, 14, 19, 4, 5, 16, 0, 0, 2, 0, 225, 254, 110, 4, 100, 5, 176, 0, 57, 0, 70, 0, 0, 83, 5, 22, 22, 23, 22, 22, 7, 7, 6, 6, 23, 22, 22, 23, 37, 55, 38, 38, 39, 38, 54, 55, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 7, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 1, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 225, 1, 10, 51, 69, 20, 20, 13, 6, 15, 4, 6, 2, 2, 18, 20, 1, 16, 2, 20, 20, 2, 3, 5, 4, 16, 6, 11, 20, 20, 71, 54, 57, 99, 38, 37, 48, 5, 8, 66, 62, 62, 171, 97, 254, 230, 34, 1, 49, 48, 76, 25, 24, 20, 6, 8, 53, 39, 40, 99, 55, 212, 3, 56, 37, 255, 40, 17, 77, 50, 142, 49, 86, 34, 34, 46, 2, 71, 1, 2, 37, 30, 30, 82, 47, 105, 30, 67, 33, 33, 62, 25, 1, 24, 22, 54, 30, 29, 59, 28, 109, 54, 104, 45, 45, 71, 21, 25, 63, 41, 41, 103, 66, 106, 156, 52, 52, 53, 2, 1, 224, 1, 2, 29, 26, 27, 77, 49, 59, 82, 25, 26, 23, 1, 252, 244, 220, 234, 95, 161, 81, 78, 40, 96, 55, 54, 120, 0, 2, 0, 204, 254, 96, 4, 51, 4, 58, 0, 54, 0, 67, 0, 0, 83, 5, 22, 22, 23, 22, 22, 7, 7, 6, 6, 23, 20, 22, 23, 37, 55, 38, 38, 55, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 7, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 1, 55, 35, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 204, 1, 8, 35, 54, 17, 20, 16, 4, 11, 3, 4, 1, 9, 10, 1, 18, 1, 21, 5, 5, 11, 4, 8, 14, 15, 50, 38, 40, 70, 27, 27, 34, 3, 6, 68, 58, 59, 151, 76, 254, 235, 33, 1, 44, 31, 56, 20, 20, 20, 6, 6, 43, 30, 30, 72, 34, 226, 3, 33, 37, 255, 40, 17, 77, 50, 142, 49, 86, 34, 34, 46, 1, 135, 2, 1, 19, 16, 19, 59, 39, 77, 20, 41, 20, 21, 40, 18, 1, 16, 32, 72, 37, 78, 40, 76, 33, 33, 54, 18, 21, 50, 31, 30, 76, 48, 89, 126, 40, 40, 39, 2, 1, 222, 1, 1, 16, 16, 17, 50, 35, 39, 52, 16, 16, 14, 1, 1, 253, 194, 220, 234, 95, 161, 81, 78, 40, 96, 55, 54, 120, 0, 0, 1, 255, 173, 255, 234, 4, 150, 5, 176, 0, 69, 0, 0, 65, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 39, 35, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 52, 53, 52, 54, 55, 19, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 39, 39, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 55, 19, 2, 138, 157, 2, 3, 6, 7, 23, 17, 32, 103, 71, 69, 109, 42, 42, 61, 22, 21, 26, 8, 14, 7, 6, 231, 8, 16, 14, 3, 6, 5, 6, 16, 13, 13, 36, 25, 13, 12, 1, 1, 1, 1, 196, 253, 124, 117, 4, 11, 10, 10, 32, 25, 26, 72, 51, 17, 27, 39, 99, 147, 54, 53, 73, 25, 24, 31, 12, 78, 4, 202, 252, 91, 32, 61, 27, 30, 52, 21, 42, 48, 1, 1, 51, 44, 44, 114, 63, 62, 124, 54, 99, 200, 100, 100, 201, 100, 18, 60, 35, 35, 72, 30, 31, 42, 4, 7, 18, 12, 4, 7, 4, 8, 17, 9, 4, 141, 253, 80, 32, 105, 60, 61, 124, 49, 50, 62, 1, 1, 227, 2, 71, 60, 60, 158, 86, 86, 174, 75, 1, 202, 0, 0, 1, 255, 197, 255, 234, 4, 132, 4, 58, 0, 69, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 7, 6, 6, 7, 39, 7, 51, 22, 54, 55, 54, 54, 55, 54, 54, 63, 2, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 37, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 52, 52, 53, 52, 54, 55, 3, 101, 253, 133, 75, 3, 7, 6, 7, 21, 17, 18, 51, 36, 19, 33, 56, 82, 123, 45, 45, 60, 21, 20, 26, 10, 36, 99, 95, 2, 4, 6, 7, 23, 17, 33, 106, 74, 68, 108, 43, 43, 63, 23, 22, 28, 8, 13, 9, 14, 254, 254, 18, 3, 13, 2, 6, 4, 5, 16, 11, 12, 34, 23, 14, 11, 1, 3, 1, 4, 58, 254, 52, 24, 74, 42, 43, 86, 34, 35, 44, 1, 1, 240, 1, 55, 48, 48, 126, 70, 69, 143, 64, 231, 1, 253, 225, 35, 66, 29, 30, 54, 22, 44, 51, 1, 1, 44, 39, 39, 104, 58, 57, 120, 55, 94, 188, 94, 1, 94, 190, 95, 18, 54, 30, 31, 62, 26, 27, 37, 5, 7, 26, 16, 2, 4, 3, 13, 26, 11, 0, 0, 1, 255, 221, 255, 233, 4, 138, 5, 176, 0, 53, 0, 0, 65, 33, 3, 35, 19, 33, 3, 33, 19, 51, 3, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 37, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 53, 52, 54, 55, 3, 174, 254, 237, 109, 174, 109, 254, 237, 253, 1, 19, 105, 174, 42, 3, 3, 5, 6, 19, 15, 30, 102, 76, 71, 112, 44, 44, 65, 23, 23, 28, 8, 14, 6, 13, 254, 251, 17, 6, 14, 3, 6, 5, 5, 17, 12, 13, 36, 24, 4, 7, 1, 2, 2, 2, 1, 5, 176, 253, 142, 2, 114, 250, 80, 2, 92, 254, 241, 35, 68, 31, 30, 56, 24, 49, 59, 2, 2, 50, 43, 43, 114, 62, 62, 127, 56, 100, 199, 100, 1, 100, 202, 100, 18, 59, 35, 35, 73, 30, 30, 42, 4, 4, 9, 6, 5, 12, 6, 8, 17, 8, 0, 1, 255, 217, 255, 234, 4, 99, 4, 58, 0, 53, 0, 0, 65, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 39, 33, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 53, 52, 54, 55, 19, 33, 3, 35, 19, 33, 3, 33, 19, 1, 192, 16, 3, 4, 7, 8, 28, 19, 37, 113, 75, 66, 104, 41, 40, 60, 21, 20, 27, 7, 13, 4, 8, 254, 255, 8, 13, 12, 2, 4, 4, 4, 12, 10, 10, 29, 20, 18, 18, 4, 2, 2, 1, 1, 128, 254, 240, 74, 139, 74, 254, 240, 188, 1, 17, 75, 1, 173, 118, 35, 66, 28, 32, 55, 23, 44, 48, 1, 1, 46, 40, 39, 105, 58, 57, 117, 53, 94, 188, 95, 95, 190, 94, 16, 52, 30, 30, 63, 26, 27, 38, 6, 6, 22, 15, 8, 16, 9, 7, 15, 8, 3, 5, 254, 85, 1, 171, 251, 198, 1, 173, 0, 1, 0, 90, 255, 232, 4, 112, 5, 199, 0, 63, 0, 0, 69, 22, 54, 55, 54, 54, 55, 54, 38, 39, 37, 22, 22, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 54, 55, 19, 54, 54, 55, 54, 54, 55, 54, 54, 51, 22, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 22, 23, 22, 22, 23, 22, 22, 2, 38, 110, 196, 77, 76, 101, 15, 11, 9, 8, 254, 248, 14, 1, 15, 10, 49, 37, 37, 96, 56, 49, 70, 23, 24, 27, 5, 6, 2, 5, 41, 11, 52, 43, 21, 51, 29, 30, 70, 40, 73, 141, 63, 85, 80, 174, 93, 72, 130, 57, 49, 87, 38, 82, 104, 19, 40, 8, 4, 11, 10, 40, 28, 57, 184, 21, 3, 61, 60, 60, 176, 111, 86, 171, 86, 1, 85, 175, 86, 54, 88, 31, 31, 33, 2, 1, 39, 31, 31, 79, 43, 42, 86, 37, 1, 9, 67, 139, 56, 28, 46, 17, 17, 19, 1, 35, 35, 207, 49, 41, 2, 1, 30, 28, 23, 65, 40, 86, 225, 123, 254, 250, 58, 114, 53, 53, 99, 43, 87, 108, 0, 0, 1, 0, 107, 255, 233, 4, 68, 4, 80, 0, 51, 0, 0, 101, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 37, 22, 6, 7, 6, 6, 7, 6, 6, 2, 109, 68, 95, 28, 29, 21, 7, 5, 9, 55, 43, 42, 113, 68, 68, 135, 59, 69, 72, 161, 82, 120, 212, 82, 82, 106, 13, 5, 11, 60, 64, 63, 187, 117, 89, 168, 67, 67, 89, 9, 5, 7, 6, 254, 255, 8, 1, 8, 7, 36, 26, 27, 67, 204, 1, 53, 44, 43, 113, 60, 42, 64, 115, 44, 43, 51, 28, 33, 218, 40, 28, 1, 1, 80, 72, 72, 200, 120, 43, 116, 195, 71, 72, 82, 2, 2, 44, 47, 46, 141, 96, 47, 93, 47, 1, 48, 94, 48, 39, 56, 17, 18, 15, 0, 1, 0, 174, 255, 234, 4, 132, 5, 176, 0, 43, 0, 0, 65, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 37, 22, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 54, 55, 19, 33, 55, 33, 7, 1, 227, 144, 7, 32, 40, 40, 128, 88, 76, 126, 51, 50, 78, 28, 28, 36, 9, 14, 6, 14, 254, 252, 17, 6, 15, 3, 11, 9, 9, 27, 19, 20, 53, 34, 30, 32, 7, 7, 1, 2, 143, 1, 66, 41, 252, 118, 40, 4, 202, 252, 171, 85, 143, 52, 53, 60, 1, 1, 45, 40, 40, 108, 63, 62, 133, 65, 100, 199, 100, 1, 100, 201, 100, 23, 67, 37, 37, 74, 28, 29, 34, 2, 2, 36, 25, 25, 56, 22, 3, 86, 230, 230, 0, 0, 1, 0, 108, 255, 233, 4, 79, 4, 58, 0, 43, 0, 0, 65, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 39, 22, 22, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 55, 33, 7, 1, 126, 79, 7, 36, 42, 42, 131, 89, 99, 160, 58, 33, 52, 18, 14, 19, 5, 9, 22, 17, 254, 22, 10, 12, 2, 8, 6, 5, 16, 9, 20, 60, 42, 32, 38, 9, 9, 3, 3, 80, 1, 79, 40, 252, 142, 39, 3, 88, 254, 27, 87, 143, 51, 52, 58, 1, 2, 72, 62, 35, 85, 47, 36, 78, 40, 72, 143, 71, 1, 71, 145, 73, 16, 37, 19, 19, 39, 17, 35, 46, 1, 1, 34, 25, 25, 57, 25, 1, 230, 226, 226, 0, 1, 0, 23, 255, 233, 4, 136, 5, 199, 0, 76, 0, 0, 83, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 5, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 23, 55, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 31, 8, 77, 69, 68, 181, 95, 100, 187, 74, 74, 96, 9, 254, 238, 8, 44, 33, 33, 83, 46, 45, 87, 32, 32, 35, 6, 7, 52, 40, 40, 102, 58, 178, 39, 206, 46, 73, 24, 24, 20, 6, 7, 54, 39, 39, 96, 48, 41, 63, 21, 21, 20, 1, 1, 18, 2, 62, 56, 57, 156, 91, 102, 199, 79, 80, 103, 7, 4, 30, 30, 20, 55, 32, 63, 105, 39, 40, 48, 1, 144, 107, 157, 52, 52, 51, 2, 2, 53, 54, 54, 161, 106, 2, 46, 74, 26, 27, 28, 1, 25, 25, 24, 75, 51, 61, 88, 28, 27, 26, 1, 220, 1, 1, 26, 24, 24, 72, 48, 52, 77, 25, 24, 23, 1, 1, 28, 24, 24, 67, 39, 1, 94, 151, 53, 53, 60, 2, 2, 47, 51, 52, 163, 113, 57, 102, 42, 28, 50, 20, 23, 64, 43, 44, 111, 255, 255, 255, 222, 254, 34, 3, 168, 0, 0, 4, 39, 0, 102, 255, 221, 254, 251, 0, 6, 0, 102, 10, 0, 0, 1, 1, 14, 3, 228, 2, 142, 6, 24, 0, 12, 0, 0, 65, 39, 51, 23, 22, 22, 23, 7, 38, 38, 39, 38, 38, 1, 42, 28, 218, 29, 16, 71, 50, 122, 45, 77, 30, 31, 42, 5, 108, 172, 173, 88, 150, 72, 81, 37, 88, 50, 50, 109, 255, 255, 0, 157, 255, 235, 3, 217, 1, 90, 4, 39, 0, 96, 255, 79, 0, 0, 0, 7, 0, 96, 1, 21, 0, 0, 0, 2, 1, 33, 2, 48, 4, 44, 5, 197, 0, 10, 0, 14, 0, 0, 65, 19, 35, 1, 7, 33, 7, 51, 55, 51, 55, 33, 1, 55, 3, 3, 156, 104, 184, 253, 228, 15, 1, 185, 33, 172, 32, 143, 24, 253, 205, 1, 41, 24, 74, 3, 108, 2, 89, 253, 145, 111, 183, 183, 133, 1, 87, 39, 254, 130, 0, 1, 1, 42, 2, 141, 4, 24, 5, 187, 0, 28, 0, 0, 65, 7, 3, 51, 19, 54, 54, 55, 54, 54, 51, 22, 22, 23, 22, 6, 7, 3, 51, 19, 54, 38, 39, 38, 38, 39, 38, 6, 7, 2, 82, 157, 139, 205, 96, 13, 31, 18, 17, 41, 23, 38, 39, 8, 7, 2, 3, 72, 203, 82, 6, 16, 25, 26, 89, 67, 76, 111, 42, 5, 174, 1, 252, 224, 2, 40, 19, 31, 11, 10, 10, 1, 38, 28, 28, 65, 28, 254, 67, 1, 250, 59, 110, 43, 43, 51, 1, 1, 77, 59, 0, 1, 0, 103, 255, 236, 4, 199, 5, 198, 0, 63, 0, 0, 65, 55, 33, 55, 33, 55, 33, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 35, 7, 51, 7, 35, 7, 55, 6, 6, 21, 20, 22, 23, 22, 22, 23, 22, 54, 55, 39, 6, 6, 39, 38, 38, 39, 38, 38, 53, 52, 54, 55, 3, 107, 27, 254, 178, 23, 1, 76, 26, 254, 173, 3, 6, 4, 20, 59, 39, 46, 121, 77, 47, 90, 44, 57, 59, 116, 60, 131, 213, 81, 74, 109, 32, 4, 6, 3, 159, 26, 166, 22, 165, 26, 174, 3, 3, 55, 51, 62, 187, 118, 62, 122, 60, 11, 48, 98, 51, 72, 98, 27, 22, 20, 1, 2, 2, 8, 148, 126, 147, 10, 19, 10, 57, 95, 35, 41, 44, 1, 1, 18, 15, 228, 13, 18, 1, 1, 76, 70, 64, 176, 106, 11, 23, 11, 147, 126, 148, 1, 22, 42, 20, 91, 153, 58, 72, 81, 1, 1, 14, 14, 230, 15, 17, 1, 1, 48, 42, 32, 83, 48, 14, 29, 15, 0, 0, 4, 0, 137, 255, 234, 4, 82, 5, 199, 0, 51, 0, 77, 0, 103, 0, 107, 0, 0, 65, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 52, 55, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 23, 52, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 3, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 51, 22, 22, 23, 22, 20, 7, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 5, 1, 39, 1, 2, 145, 180, 4, 15, 11, 12, 33, 21, 24, 26, 5, 6, 2, 10, 3, 15, 13, 13, 38, 27, 22, 28, 8, 7, 4, 182, 33, 31, 32, 93, 59, 66, 104, 37, 38, 46, 6, 6, 4, 26, 30, 30, 92, 63, 61, 99, 37, 36, 42, 84, 7, 4, 26, 30, 30, 93, 63, 66, 104, 38, 37, 44, 6, 7, 4, 26, 29, 30, 93, 63, 66, 105, 37, 38, 44, 170, 7, 3, 14, 13, 12, 37, 26, 25, 27, 6, 6, 1, 7, 3, 12, 12, 12, 38, 28, 24, 26, 6, 6, 2, 254, 143, 2, 140, 127, 253, 117, 4, 42, 3, 18, 36, 14, 15, 18, 30, 22, 21, 46, 17, 78, 21, 50, 21, 21, 28, 20, 15, 16, 38, 18, 1, 57, 97, 36, 36, 41, 2, 1, 48, 41, 42, 111, 61, 77, 57, 107, 41, 42, 51, 1, 2, 39, 36, 36, 98, 253, 117, 76, 58, 108, 41, 42, 51, 1, 1, 48, 42, 41, 110, 61, 77, 58, 108, 42, 41, 50, 2, 1, 48, 41, 42, 111, 139, 79, 21, 49, 21, 21, 28, 1, 30, 21, 22, 47, 18, 78, 22, 50, 21, 21, 27, 1, 1, 31, 22, 21, 46, 32, 3, 160, 73, 252, 96, 0, 0, 2, 0, 132, 255, 234, 4, 93, 5, 146, 0, 44, 0, 67, 0, 0, 69, 19, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 3, 6, 6, 35, 7, 54, 54, 55, 7, 6, 22, 23, 22, 22, 3, 19, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 2, 240, 24, 58, 74, 20, 20, 9, 9, 8, 75, 164, 72, 73, 103, 9, 4, 5, 32, 35, 36, 110, 72, 49, 88, 38, 38, 64, 27, 53, 65, 12, 62, 46, 92, 46, 20, 47, 92, 46, 3, 19, 58, 62, 62, 176, 18, 53, 3, 16, 14, 7, 19, 12, 12, 27, 16, 20, 22, 5, 5, 1, 1, 6, 8, 41, 29, 30, 75, 22, 1, 5, 3, 35, 31, 30, 87, 55, 47, 34, 97, 63, 64, 163, 94, 43, 69, 122, 46, 46, 55, 2, 1, 17, 17, 17, 50, 31, 62, 164, 89, 254, 162, 6, 6, 188, 2, 7, 8, 17, 110, 165, 56, 56, 60, 2, 235, 1, 36, 25, 62, 27, 13, 24, 8, 7, 8, 1, 2, 23, 16, 17, 36, 15, 44, 51, 90, 38, 39, 66, 0, 4, 0, 10, 0, 0, 4, 201, 5, 193, 0, 9, 0, 47, 0, 79, 0, 83, 0, 0, 97, 19, 35, 3, 3, 35, 3, 51, 19, 19, 1, 7, 6, 22, 23, 22, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 6, 6, 23, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 6, 7, 7, 6, 6, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 53, 52, 54, 19, 55, 33, 7, 2, 111, 253, 187, 152, 89, 185, 253, 187, 153, 88, 1, 221, 23, 1, 3, 3, 4, 12, 8, 17, 54, 39, 39, 60, 21, 10, 16, 6, 7, 9, 2, 23, 1, 2, 3, 4, 11, 9, 17, 56, 39, 39, 60, 21, 9, 15, 6, 7, 10, 82, 23, 2, 6, 7, 6, 22, 18, 18, 16, 3, 2, 3, 1, 23, 1, 3, 1, 2, 4, 3, 7, 22, 18, 18, 16, 2, 1, 1, 2, 134, 18, 254, 215, 17, 5, 176, 252, 152, 3, 104, 250, 80, 3, 108, 252, 148, 5, 8, 214, 18, 35, 16, 16, 28, 13, 26, 32, 31, 26, 12, 28, 16, 16, 37, 18, 214, 17, 33, 16, 17, 31, 13, 26, 32, 32, 26, 12, 26, 14, 17, 39, 225, 197, 13, 33, 14, 14, 20, 21, 14, 15, 32, 12, 196, 7, 17, 8, 7, 15, 6, 15, 19, 21, 15, 5, 12, 5, 9, 19, 254, 171, 98, 98, 0, 2, 0, 128, 255, 235, 4, 109, 4, 80, 0, 42, 0, 54, 0, 0, 101, 55, 6, 6, 7, 6, 6, 39, 38, 38, 39, 19, 33, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 3, 22, 22, 23, 3, 33, 19, 54, 54, 55, 54, 54, 3, 166, 1, 45, 92, 48, 48, 101, 52, 69, 121, 46, 61, 2, 236, 4, 7, 43, 50, 51, 159, 109, 75, 142, 63, 63, 106, 40, 41, 51, 7, 5, 7, 11, 12, 42, 29, 27, 71, 42, 42, 97, 54, 99, 190, 118, 69, 118, 44, 52, 253, 245, 52, 31, 68, 37, 36, 78, 92, 105, 26, 45, 16, 17, 18, 2, 2, 54, 51, 1, 74, 49, 98, 191, 76, 76, 95, 3, 2, 43, 39, 40, 109, 64, 64, 141, 71, 49, 98, 46, 49, 92, 40, 39, 65, 23, 23, 27, 1, 2, 60, 3, 201, 1, 58, 52, 254, 224, 1, 22, 25, 45, 17, 16, 19, 0, 5, 0, 207, 255, 244, 4, 169, 5, 171, 0, 6, 0, 54, 0, 78, 0, 102, 0, 106, 0, 0, 65, 19, 35, 5, 7, 55, 3, 5, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 1, 215, 116, 22, 254, 180, 26, 174, 86, 3, 128, 2, 39, 34, 34, 87, 45, 49, 95, 38, 38, 47, 1, 1, 11, 10, 10, 27, 17, 28, 51, 19, 18, 24, 1, 2, 44, 36, 36, 91, 46, 51, 101, 40, 41, 51, 2, 1, 15, 15, 11, 29, 18, 25, 43, 16, 16, 20, 207, 3, 21, 15, 15, 38, 19, 17, 30, 11, 11, 11, 3, 3, 22, 15, 16, 36, 19, 16, 30, 12, 11, 11, 31, 2, 16, 12, 13, 32, 18, 16, 26, 8, 7, 7, 2, 3, 18, 13, 12, 31, 16, 17, 27, 8, 7, 6, 253, 129, 2, 140, 127, 253, 117, 2, 232, 2, 195, 104, 147, 38, 254, 18, 219, 51, 74, 24, 24, 22, 1, 24, 26, 27, 79, 55, 23, 43, 18, 16, 28, 11, 15, 36, 22, 22, 54, 34, 54, 75, 23, 24, 22, 1, 1, 24, 25, 26, 82, 58, 29, 53, 21, 16, 27, 10, 15, 32, 20, 20, 49, 254, 235, 20, 31, 11, 11, 11, 9, 10, 9, 28, 19, 20, 29, 11, 10, 10, 8, 9, 9, 26, 1, 17, 17, 27, 10, 10, 11, 10, 9, 9, 23, 15, 18, 28, 10, 9, 9, 10, 9, 8, 23, 254, 216, 3, 160, 73, 252, 96, 0, 0, 5, 0, 99, 255, 244, 4, 167, 5, 188, 0, 73, 0, 121, 0, 145, 0, 169, 0, 173, 0, 0, 65, 7, 51, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 39, 35, 20, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 7, 51, 54, 54, 51, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 1, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 1, 68, 10, 82, 19, 36, 13, 13, 12, 3, 4, 23, 16, 17, 40, 20, 21, 35, 13, 11, 14, 1, 172, 41, 35, 34, 92, 52, 51, 107, 44, 44, 57, 1, 1, 16, 17, 13, 35, 23, 28, 50, 20, 19, 24, 2, 3, 46, 38, 37, 93, 45, 51, 94, 38, 38, 49, 5, 182, 13, 53, 33, 15, 29, 11, 11, 9, 2, 4, 23, 17, 17, 41, 21, 3, 24, 2, 39, 34, 34, 87, 45, 49, 95, 38, 38, 47, 1, 1, 9, 8, 9, 29, 20, 28, 51, 19, 18, 24, 1, 2, 44, 36, 36, 91, 46, 51, 101, 40, 41, 51, 2, 1, 14, 13, 11, 31, 19, 25, 43, 16, 16, 20, 207, 3, 21, 15, 15, 38, 19, 17, 30, 11, 11, 11, 3, 3, 22, 15, 16, 36, 19, 16, 30, 12, 11, 11, 31, 3, 15, 12, 13, 32, 18, 16, 26, 8, 7, 7, 2, 3, 16, 11, 13, 32, 18, 17, 28, 8, 7, 5, 253, 126, 2, 140, 127, 253, 117, 4, 144, 122, 1, 7, 9, 8, 30, 24, 21, 33, 10, 10, 11, 9, 10, 9, 28, 20, 55, 83, 28, 27, 28, 1, 1, 23, 25, 26, 83, 59, 32, 54, 21, 15, 24, 7, 13, 30, 20, 19, 51, 33, 54, 75, 23, 23, 22, 1, 24, 24, 25, 77, 54, 31, 27, 8, 8, 8, 25, 18, 23, 31, 11, 10, 11, 1, 253, 125, 51, 74, 24, 24, 22, 1, 24, 26, 27, 79, 55, 20, 39, 16, 19, 33, 12, 15, 36, 22, 22, 54, 34, 54, 75, 23, 24, 22, 1, 1, 24, 25, 26, 82, 58, 28, 50, 21, 17, 29, 11, 15, 32, 20, 20, 49, 254, 235, 20, 31, 11, 11, 11, 9, 10, 9, 28, 19, 20, 29, 11, 10, 10, 8, 9, 9, 26, 1, 17, 16, 28, 9, 11, 11, 10, 10, 8, 24, 14, 17, 26, 10, 10, 11, 10, 10, 8, 23, 254, 208, 3, 160, 73, 252, 96, 0, 5, 0, 96, 255, 241, 4, 133, 5, 183, 0, 45, 0, 93, 0, 117, 0, 141, 0, 145, 0, 0, 83, 23, 54, 54, 23, 50, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 6, 38, 39, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 34, 6, 7, 55, 5, 55, 33, 1, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 136, 148, 23, 51, 29, 24, 35, 10, 9, 7, 3, 3, 16, 13, 15, 42, 27, 38, 45, 2, 172, 2, 44, 36, 36, 90, 47, 58, 103, 40, 40, 48, 2, 2, 28, 28, 27, 81, 51, 28, 55, 26, 48, 1, 37, 25, 254, 71, 3, 142, 2, 39, 34, 34, 87, 45, 49, 95, 38, 38, 47, 1, 1, 7, 8, 9, 30, 21, 28, 51, 19, 18, 24, 1, 2, 44, 36, 36, 91, 46, 51, 101, 40, 41, 51, 2, 1, 17, 17, 11, 27, 16, 25, 43, 16, 16, 20, 207, 3, 21, 15, 15, 38, 19, 17, 30, 11, 11, 11, 3, 3, 22, 15, 16, 36, 19, 16, 30, 12, 11, 11, 31, 2, 16, 12, 12, 33, 18, 15, 24, 8, 9, 8, 2, 3, 19, 13, 12, 30, 16, 18, 28, 8, 6, 5, 253, 148, 2, 140, 127, 253, 117, 4, 76, 38, 16, 17, 1, 15, 14, 13, 33, 21, 23, 38, 14, 16, 19, 2, 28, 40, 1, 52, 78, 27, 26, 29, 1, 1, 35, 33, 33, 96, 59, 50, 82, 29, 29, 30, 12, 11, 127, 1, 143, 252, 83, 51, 74, 24, 24, 22, 1, 24, 26, 27, 79, 55, 19, 36, 16, 20, 35, 13, 15, 36, 22, 22, 54, 34, 54, 75, 23, 24, 22, 1, 1, 24, 25, 26, 82, 58, 31, 55, 23, 14, 24, 9, 15, 32, 20, 20, 49, 254, 235, 20, 31, 11, 11, 11, 9, 10, 9, 28, 19, 20, 29, 11, 10, 10, 8, 9, 9, 26, 1, 17, 17, 27, 9, 11, 11, 8, 8, 9, 25, 16, 18, 29, 10, 8, 9, 11, 10, 8, 22, 254, 220, 3, 160, 73, 252, 96, 0, 0, 5, 0, 180, 255, 244, 4, 155, 5, 177, 0, 6, 0, 54, 0, 78, 0, 102, 0, 106, 0, 0, 65, 55, 33, 7, 33, 1, 51, 5, 54, 38, 39, 38, 38, 39, 34, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 19, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 1, 1, 39, 1, 2, 254, 20, 253, 210, 26, 1, 111, 254, 123, 198, 3, 31, 2, 39, 34, 34, 87, 45, 49, 95, 38, 38, 47, 1, 1, 9, 9, 10, 28, 19, 28, 51, 19, 18, 24, 1, 2, 44, 36, 36, 91, 46, 51, 101, 40, 41, 51, 2, 1, 14, 13, 11, 31, 19, 25, 43, 16, 16, 20, 207, 3, 21, 15, 15, 38, 19, 17, 30, 11, 11, 11, 3, 3, 22, 15, 16, 36, 19, 16, 30, 12, 11, 11, 31, 2, 16, 11, 13, 33, 18, 14, 23, 8, 10, 9, 2, 3, 15, 10, 13, 34, 18, 18, 29, 8, 6, 3, 253, 101, 2, 140, 127, 253, 117, 5, 64, 113, 146, 253, 204, 222, 51, 74, 24, 24, 22, 1, 24, 26, 27, 79, 55, 21, 40, 17, 18, 31, 12, 15, 36, 22, 22, 54, 34, 54, 75, 23, 24, 22, 1, 1, 24, 25, 26, 82, 58, 28, 50, 21, 17, 29, 11, 15, 32, 20, 20, 49, 254, 235, 20, 31, 11, 11, 11, 9, 10, 9, 28, 19, 20, 29, 11, 10, 10, 8, 9, 9, 26, 1, 17, 16, 27, 9, 11, 12, 8, 7, 8, 26, 17, 16, 26, 9, 11, 12, 12, 11, 8, 21, 254, 218, 3, 160, 73, 252, 96, 0, 2, 0, 82, 255, 233, 4, 102, 5, 255, 0, 53, 0, 82, 0, 0, 65, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 55, 54, 54, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 23, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 7, 38, 38, 7, 22, 22, 23, 22, 22, 23, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 2, 113, 113, 184, 68, 68, 85, 12, 3, 10, 42, 53, 52, 167, 114, 91, 152, 62, 62, 96, 36, 35, 46, 11, 8, 11, 6, 11, 11, 56, 51, 52, 154, 110, 81, 152, 72, 21, 36, 70, 36, 26, 53, 28, 49, 76, 28, 27, 37, 11, 10, 7, 2, 53, 133, 64, 37, 64, 25, 23, 35, 10, 18, 6, 19, 15, 16, 44, 29, 30, 77, 48, 61, 72, 17, 18, 6, 5, 2, 7, 40, 34, 34, 96, 4, 11, 2, 77, 69, 69, 187, 106, 22, 106, 190, 72, 72, 86, 2, 2, 54, 49, 48, 131, 75, 75, 161, 78, 59, 83, 187, 91, 91, 168, 64, 64, 77, 1, 2, 37, 36, 204, 13, 21, 6, 5, 4, 1, 2, 36, 30, 30, 78, 42, 43, 89, 40, 57, 60, 222, 1, 21, 19, 18, 51, 33, 109, 39, 84, 40, 41, 72, 27, 27, 30, 2, 2, 55, 43, 42, 103, 49, 20, 57, 108, 42, 42, 49, 0, 0, 1, 0, 18, 255, 9, 4, 140, 5, 176, 0, 7, 0, 0, 69, 1, 33, 1, 33, 19, 33, 3, 3, 130, 1, 10, 252, 145, 254, 245, 1, 18, 231, 1, 78, 232, 247, 6, 167, 249, 89, 5, 203, 250, 53, 0, 0, 1, 255, 141, 254, 243, 5, 5, 5, 176, 0, 12, 0, 0, 65, 55, 1, 33, 55, 33, 7, 1, 1, 7, 33, 55, 33, 3, 108, 4, 254, 139, 2, 226, 40, 251, 179, 25, 1, 180, 253, 86, 28, 4, 115, 40, 253, 6, 2, 69, 34, 2, 104, 225, 140, 253, 62, 253, 51, 162, 225, 0, 0, 1, 0, 24, 0, 0, 4, 219, 5, 176, 0, 10, 0, 0, 65, 3, 5, 7, 51, 19, 51, 1, 35, 1, 7, 1, 226, 58, 254, 152, 40, 220, 95, 227, 2, 165, 230, 254, 19, 37, 1, 54, 1, 197, 1, 227, 253, 233, 5, 176, 251, 150, 85, 0, 0, 3, 0, 54, 0, 243, 4, 171, 3, 215, 0, 73, 0, 111, 0, 149, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 39, 7, 6, 6, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 50, 22, 23, 22, 22, 23, 22, 6, 5, 55, 54, 54, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 21, 7, 6, 6, 7, 6, 6, 7, 6, 6, 7, 6, 38, 39, 38, 38, 39, 38, 54, 4, 166, 3, 2, 2, 4, 5, 23, 18, 31, 102, 73, 50, 84, 36, 18, 33, 15, 17, 30, 14, 8, 20, 12, 11, 29, 15, 32, 77, 43, 78, 120, 41, 21, 33, 11, 12, 15, 3, 3, 2, 3, 5, 6, 22, 16, 30, 102, 74, 50, 85, 36, 18, 34, 15, 16, 29, 13, 7, 17, 11, 12, 30, 17, 31, 76, 45, 79, 120, 42, 23, 36, 11, 10, 12, 193, 3, 2, 5, 5, 4, 12, 8, 16, 49, 35, 26, 49, 18, 3, 6, 3, 13, 14, 1, 3, 7, 32, 23, 2, 5, 3, 25, 58, 28, 32, 36, 8, 4, 4, 1, 1, 1, 253, 26, 3, 2, 6, 4, 5, 11, 8, 16, 49, 36, 25, 47, 19, 3, 4, 3, 14, 17, 3, 7, 27, 19, 4, 8, 5, 25, 59, 29, 33, 37, 8, 4, 4, 1, 1, 1, 2, 89, 37, 26, 50, 24, 37, 69, 29, 48, 59, 1, 1, 32, 26, 13, 30, 16, 18, 37, 19, 19, 37, 16, 17, 31, 13, 25, 30, 2, 2, 56, 49, 24, 58, 32, 31, 69, 36, 37, 30, 59, 28, 33, 62, 26, 48, 59, 1, 1, 34, 28, 14, 33, 17, 18, 37, 18, 18, 36, 16, 19, 33, 15, 27, 32, 1, 3, 57, 50, 27, 65, 36, 29, 62, 69, 36, 15, 30, 15, 14, 26, 11, 23, 28, 2, 1, 34, 25, 4, 10, 4, 22, 46, 21, 16, 23, 51, 23, 2, 6, 2, 23, 31, 1, 28, 21, 10, 23, 12, 13, 29, 65, 36, 16, 31, 15, 13, 26, 11, 23, 27, 1, 1, 30, 22, 3, 6, 4, 21, 46, 21, 16, 22, 50, 22, 5, 10, 5, 26, 34, 1, 1, 27, 22, 10, 25, 13, 13, 26, 0, 0, 1, 0, 70, 254, 73, 4, 105, 6, 48, 0, 40, 0, 0, 69, 49, 19, 54, 54, 55, 54, 54, 51, 50, 22, 23, 55, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 6, 6, 7, 6, 6, 7, 6, 38, 39, 7, 22, 22, 51, 50, 54, 55, 54, 54, 2, 112, 188, 5, 24, 18, 23, 67, 42, 24, 46, 23, 45, 40, 80, 41, 91, 149, 55, 55, 69, 10, 187, 5, 18, 16, 17, 51, 37, 26, 53, 26, 33, 35, 70, 36, 93, 144, 52, 51, 62, 34, 4, 210, 32, 54, 20, 25, 28, 7, 5, 213, 8, 14, 1, 1, 53, 49, 50, 143, 89, 251, 46, 31, 64, 26, 26, 34, 1, 1, 9, 8, 220, 8, 11, 61, 54, 54, 149, 0, 2, 0, 150, 0, 0, 4, 74, 5, 176, 0, 5, 0, 13, 0, 0, 65, 1, 19, 51, 1, 3, 7, 23, 19, 1, 7, 39, 3, 1, 2, 116, 254, 34, 240, 229, 1, 223, 241, 139, 8, 105, 254, 245, 34, 7, 108, 1, 9, 5, 176, 253, 52, 253, 28, 2, 202, 2, 230, 231, 68, 254, 95, 254, 65, 67, 68, 1, 164, 1, 185, 0, 0, 22, 255, 234, 0, 8, 4, 168, 4, 8, 0, 16, 0, 37, 0, 51, 0, 67, 0, 73, 0, 79, 0, 85, 0, 91, 0, 100, 0, 104, 0, 108, 0, 112, 0, 116, 0, 120, 0, 124, 0, 139, 0, 143, 0, 147, 0, 151, 0, 155, 0, 159, 0, 163, 0, 0, 65, 7, 6, 6, 7, 6, 38, 39, 38, 38, 53, 55, 54, 54, 55, 54, 22, 23, 35, 19, 51, 50, 22, 23, 22, 22, 21, 6, 6, 7, 22, 22, 23, 22, 6, 7, 6, 6, 39, 55, 54, 38, 39, 34, 6, 7, 7, 6, 22, 23, 50, 54, 37, 55, 51, 7, 6, 6, 7, 6, 38, 39, 23, 22, 22, 51, 50, 54, 1, 51, 55, 7, 55, 35, 5, 55, 55, 35, 7, 39, 1, 51, 55, 23, 55, 7, 5, 55, 7, 51, 55, 39, 1, 39, 7, 55, 54, 54, 55, 54, 38, 3, 51, 55, 35, 23, 51, 55, 35, 5, 51, 55, 35, 19, 51, 55, 35, 23, 51, 55, 35, 5, 51, 55, 35, 1, 7, 51, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 35, 5, 55, 35, 7, 23, 55, 35, 7, 19, 55, 35, 7, 5, 55, 35, 7, 23, 55, 35, 7, 19, 55, 35, 7, 1, 209, 1, 5, 66, 54, 31, 50, 16, 14, 15, 2, 5, 67, 54, 56, 66, 139, 132, 56, 85, 19, 40, 16, 16, 19, 1, 31, 21, 20, 23, 1, 1, 19, 16, 16, 40, 216, 9, 2, 23, 35, 37, 43, 8, 9, 2, 24, 35, 37, 43, 2, 1, 34, 50, 25, 7, 54, 44, 51, 55, 3, 47, 2, 13, 28, 25, 33, 252, 97, 165, 19, 111, 25, 59, 3, 64, 169, 33, 57, 26, 100, 253, 28, 59, 22, 99, 19, 168, 3, 89, 103, 17, 59, 31, 158, 254, 101, 72, 25, 64, 23, 43, 5, 3, 24, 51, 147, 17, 147, 196, 148, 17, 148, 254, 70, 146, 17, 146, 29, 148, 16, 147, 197, 147, 17, 147, 254, 69, 146, 17, 146, 1, 89, 19, 44, 12, 25, 11, 11, 16, 3, 2, 7, 7, 8, 19, 9, 254, 0, 31, 59, 31, 23, 31, 59, 31, 131, 31, 59, 31, 3, 230, 31, 58, 31, 22, 31, 58, 31, 130, 31, 58, 31, 2, 35, 62, 52, 66, 1, 1, 23, 19, 16, 42, 24, 62, 52, 66, 1, 1, 70, 233, 1, 47, 7, 9, 9, 31, 24, 27, 30, 14, 9, 31, 23, 24, 33, 10, 11, 10, 118, 65, 30, 48, 1, 49, 33, 63, 32, 48, 1, 49, 10, 208, 209, 43, 50, 2, 2, 49, 49, 3, 23, 29, 32, 254, 79, 67, 2, 113, 178, 2, 176, 113, 2, 3, 28, 95, 2, 68, 2, 66, 2, 95, 159, 2, 253, 239, 2, 97, 1, 3, 23, 26, 20, 19, 1, 208, 68, 68, 68, 68, 68, 252, 0, 67, 67, 67, 67, 67, 2, 38, 86, 1, 6, 6, 5, 18, 14, 12, 14, 4, 3, 2, 167, 142, 142, 207, 141, 141, 1, 159, 141, 141, 208, 142, 142, 207, 141, 141, 1, 159, 141, 141, 0, 0, 5, 0, 2, 253, 213, 4, 162, 8, 98, 0, 3, 0, 47, 0, 51, 0, 55, 0, 59, 0, 0, 65, 9, 2, 5, 35, 52, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 53, 52, 38, 35, 34, 6, 7, 35, 54, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 7, 6, 6, 7, 6, 6, 21, 21, 35, 53, 19, 21, 51, 53, 3, 21, 51, 53, 2, 85, 253, 173, 2, 83, 2, 77, 254, 26, 202, 8, 11, 10, 35, 29, 10, 27, 12, 12, 17, 32, 37, 24, 41, 2, 203, 1, 43, 37, 36, 97, 56, 64, 102, 35, 34, 37, 23, 18, 18, 45, 22, 11, 17, 6, 6, 6, 202, 94, 4, 6, 4, 6, 82, 252, 49, 252, 49, 3, 207, 251, 48, 50, 19, 19, 40, 36, 13, 39, 24, 23, 51, 26, 52, 64, 48, 55, 70, 101, 33, 32, 30, 39, 36, 37, 103, 64, 41, 64, 28, 29, 55, 31, 16, 29, 15, 16, 39, 116, 170, 170, 252, 172, 4, 4, 10, 137, 4, 4, 0, 0, 2, 1, 131, 4, 234, 4, 78, 6, 240, 0, 6, 0, 44, 0, 0, 65, 39, 35, 5, 51, 55, 23, 19, 39, 6, 6, 7, 6, 6, 7, 6, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 22, 23, 22, 22, 51, 54, 54, 55, 54, 54, 4, 78, 229, 171, 254, 197, 211, 184, 132, 170, 90, 4, 11, 8, 9, 25, 17, 27, 49, 25, 25, 50, 27, 36, 53, 18, 19, 23, 4, 94, 4, 11, 8, 8, 24, 17, 27, 49, 25, 24, 50, 28, 36, 53, 18, 18, 22, 4, 234, 248, 248, 149, 149, 1, 230, 32, 14, 32, 14, 14, 20, 2, 3, 20, 14, 13, 23, 34, 26, 26, 64, 30, 27, 13, 31, 13, 13, 18, 2, 3, 21, 13, 14, 22, 1, 34, 26, 26, 64, 0, 2, 1, 115, 4, 234, 5, 67, 6, 178, 0, 6, 0, 34, 0, 0, 65, 39, 35, 5, 51, 55, 23, 55, 51, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 7, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 4, 62, 230, 173, 254, 200, 211, 183, 134, 207, 99, 8, 23, 42, 17, 21, 26, 2, 3, 46, 34, 35, 80, 31, 12, 13, 51, 25, 24, 34, 4, 3, 29, 19, 20, 41, 15, 4, 234, 235, 235, 140, 140, 129, 61, 5, 17, 14, 16, 47, 31, 43, 53, 15, 14, 10, 1, 82, 1, 1, 5, 5, 24, 24, 20, 23, 5, 6, 3, 1, 0, 0, 2, 0, 181, 4, 247, 4, 96, 6, 145, 0, 6, 0, 10, 0, 0, 65, 39, 35, 5, 51, 55, 23, 37, 3, 35, 19, 4, 96, 237, 159, 254, 193, 221, 171, 125, 254, 95, 109, 215, 171, 4, 247, 235, 235, 129, 129, 140, 1, 14, 254, 242, 0, 2, 1, 115, 4, 234, 5, 195, 6, 133, 0, 6, 0, 10, 0, 0, 65, 5, 51, 55, 23, 51, 39, 37, 3, 51, 1, 2, 179, 254, 192, 222, 170, 125, 199, 238, 1, 137, 203, 170, 1, 10, 5, 213, 235, 129, 129, 235, 176, 254, 241, 1, 15, 0, 0, 2, 1, 181, 4, 200, 4, 74, 6, 113, 0, 25, 0, 29, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 39, 39, 35, 23, 4, 74, 184, 6, 25, 17, 23, 62, 34, 29, 48, 17, 18, 18, 1, 181, 1, 57, 45, 45, 111, 56, 57, 119, 50, 49, 66, 249, 114, 210, 163, 5, 177, 1, 26, 38, 14, 18, 17, 1, 13, 14, 13, 42, 30, 2, 64, 88, 27, 28, 25, 1, 1, 23, 28, 27, 89, 71, 187, 187, 0, 1, 2, 33, 4, 80, 3, 122, 6, 27, 0, 12, 0, 0, 65, 7, 51, 55, 54, 54, 55, 39, 6, 6, 7, 6, 6, 2, 53, 20, 216, 23, 14, 54, 38, 139, 41, 64, 22, 23, 29, 4, 215, 135, 124, 70, 124, 60, 81, 27, 72, 42, 42, 93, 0, 2, 255, 168, 0, 0, 4, 40, 4, 141, 0, 7, 0, 12, 0, 0, 101, 23, 33, 3, 33, 1, 33, 55, 55, 19, 55, 23, 19, 2, 244, 42, 1, 10, 246, 254, 249, 253, 125, 1, 31, 116, 107, 188, 30, 11, 66, 221, 221, 4, 141, 251, 115, 221, 204, 1, 101, 57, 58, 254, 156, 0, 0, 3, 0, 51, 0, 0, 4, 91, 4, 141, 0, 26, 0, 41, 0, 56, 0, 0, 115, 33, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 19, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 51, 1, 251, 128, 220, 62, 34, 44, 3, 2, 18, 20, 20, 60, 40, 45, 77, 29, 29, 36, 3, 3, 32, 30, 60, 204, 100, 254, 77, 155, 244, 31, 52, 18, 18, 16, 6, 6, 44, 30, 30, 70, 33, 207, 79, 46, 210, 31, 55, 20, 19, 18, 6, 6, 39, 28, 28, 67, 34, 61, 72, 39, 103, 67, 41, 76, 33, 32, 49, 13, 18, 48, 33, 32, 82, 51, 61, 93, 35, 68, 55, 2, 1, 253, 93, 1, 1, 15, 15, 16, 49, 35, 38, 51, 16, 16, 14, 1, 1, 1, 200, 1, 4, 1, 1, 12, 14, 15, 47, 36, 38, 50, 16, 16, 14, 1, 0, 0, 1, 0, 58, 255, 238, 4, 85, 4, 159, 0, 54, 0, 0, 65, 5, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 5, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 4, 8, 254, 243, 8, 43, 32, 33, 84, 49, 58, 74, 20, 20, 10, 6, 25, 8, 44, 35, 35, 95, 59, 47, 76, 26, 25, 26, 2, 1, 16, 4, 68, 58, 59, 163, 99, 112, 194, 74, 75, 97, 16, 24, 8, 18, 24, 24, 75, 49, 50, 126, 72, 100, 183, 73, 72, 96, 1, 144, 2, 48, 75, 25, 25, 24, 2, 3, 54, 42, 41, 100, 49, 179, 52, 105, 41, 41, 51, 1, 1, 26, 25, 25, 74, 48, 1, 100, 156, 54, 53, 56, 2, 2, 78, 69, 70, 188, 108, 177, 70, 130, 56, 55, 90, 34, 34, 38, 2, 2, 51, 53, 52, 158, 0, 0, 2, 0, 48, 255, 255, 4, 97, 4, 141, 0, 15, 0, 31, 0, 0, 115, 33, 22, 54, 55, 54, 54, 55, 55, 54, 38, 39, 38, 38, 39, 37, 23, 23, 22, 22, 23, 22, 22, 7, 7, 6, 6, 7, 6, 6, 35, 39, 48, 1, 206, 109, 196, 77, 77, 103, 15, 23, 11, 57, 59, 60, 171, 102, 254, 90, 232, 180, 56, 74, 21, 20, 12, 6, 25, 9, 48, 37, 38, 100, 61, 164, 1, 75, 67, 66, 183, 107, 168, 102, 179, 68, 67, 80, 3, 1, 223, 2, 3, 49, 38, 39, 95, 49, 170, 58, 101, 37, 38, 44, 2, 0, 0, 1, 0, 51, 0, 0, 4, 123, 4, 141, 0, 11, 0, 0, 65, 55, 33, 55, 33, 55, 33, 3, 33, 55, 33, 19, 3, 173, 39, 253, 235, 39, 2, 110, 39, 252, 130, 202, 3, 120, 39, 253, 151, 48, 1, 238, 223, 225, 223, 251, 115, 221, 1, 17, 0, 1, 0, 58, 0, 0, 4, 116, 4, 141, 0, 9, 0, 0, 65, 55, 33, 19, 33, 55, 33, 3, 33, 19, 3, 187, 40, 253, 223, 45, 2, 94, 39, 252, 144, 202, 1, 17, 81, 1, 205, 223, 1, 2, 223, 251, 115, 1, 205, 0, 0, 1, 0, 62, 255, 240, 4, 90, 4, 159, 0, 55, 0, 0, 101, 19, 33, 7, 51, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 3, 244, 76, 254, 29, 36, 212, 38, 18, 37, 19, 33, 69, 34, 60, 79, 22, 22, 12, 6, 30, 9, 48, 38, 37, 97, 59, 47, 74, 24, 22, 21, 1, 1, 7, 2, 66, 59, 59, 162, 94, 111, 195, 75, 76, 100, 16, 27, 12, 52, 57, 57, 171, 107, 62, 140, 69, 68, 123, 146, 1, 235, 205, 187, 9, 13, 5, 8, 5, 1, 2, 47, 38, 38, 98, 53, 200, 54, 101, 39, 39, 46, 1, 1, 23, 23, 21, 64, 43, 1, 100, 148, 49, 49, 49, 2, 2, 76, 67, 68, 184, 108, 197, 107, 180, 66, 67, 76, 2, 1, 13, 19, 18, 63, 0, 1, 0, 33, 0, 0, 4, 92, 4, 141, 0, 11, 0, 0, 97, 19, 33, 3, 33, 19, 33, 3, 33, 19, 33, 3, 3, 146, 202, 254, 241, 85, 254, 173, 85, 254, 241, 202, 1, 14, 79, 1, 84, 79, 4, 141, 254, 23, 1, 233, 251, 115, 1, 197, 254, 59, 0, 1, 0, 91, 0, 0, 4, 77, 4, 140, 0, 11, 0, 0, 65, 7, 33, 3, 33, 7, 33, 55, 33, 19, 33, 55, 1, 37, 39, 1, 8, 124, 254, 249, 40, 3, 40, 40, 254, 241, 123, 1, 14, 40, 4, 140, 226, 253, 56, 226, 226, 2, 200, 226, 0, 1, 0, 116, 255, 238, 4, 108, 4, 141, 0, 27, 0, 0, 65, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 37, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 19, 3, 92, 121, 6, 30, 24, 25, 72, 48, 47, 57, 15, 16, 9, 2, 254, 239, 3, 47, 50, 49, 150, 100, 101, 170, 65, 64, 83, 14, 123, 4, 141, 253, 41, 41, 84, 34, 35, 42, 1, 1, 36, 29, 29, 74, 40, 1, 98, 157, 55, 56, 62, 1, 2, 70, 62, 61, 167, 97, 2, 214, 0, 0, 1, 0, 45, 0, 0, 4, 224, 4, 141, 0, 12, 0, 0, 65, 19, 33, 1, 1, 33, 1, 7, 19, 33, 3, 33, 19, 2, 15, 209, 1, 50, 254, 203, 2, 3, 254, 156, 254, 169, 114, 84, 254, 240, 202, 1, 16, 53, 1, 186, 254, 70, 2, 118, 2, 23, 254, 156, 123, 1, 223, 251, 115, 1, 52, 0, 0, 1, 0, 51, 0, 0, 4, 5, 4, 141, 0, 5, 0, 0, 101, 19, 33, 3, 33, 55, 1, 108, 164, 254, 238, 203, 3, 171, 39, 221, 3, 176, 251, 115, 221, 0, 0, 1, 0, 12, 0, 0, 4, 160, 4, 141, 0, 12, 0, 0, 65, 3, 33, 3, 51, 19, 19, 23, 19, 3, 51, 19, 33, 2, 84, 79, 254, 209, 202, 248, 129, 69, 178, 219, 122, 248, 203, 254, 207, 2, 76, 2, 65, 251, 115, 2, 231, 254, 14, 1, 1, 195, 253, 73, 4, 141, 0, 1, 0, 50, 0, 0, 4, 88, 4, 141, 0, 9, 0, 0, 97, 19, 33, 3, 3, 33, 3, 33, 19, 19, 3, 142, 202, 254, 242, 123, 205, 254, 250, 202, 1, 13, 122, 206, 4, 141, 253, 60, 2, 196, 251, 115, 2, 196, 253, 60, 0, 2, 0, 77, 255, 237, 4, 89, 4, 160, 0, 31, 0, 63, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 3, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 39, 38, 52, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 23, 22, 22, 4, 49, 28, 12, 52, 56, 22, 55, 31, 46, 111, 63, 113, 193, 74, 74, 96, 16, 27, 7, 11, 17, 13, 37, 24, 56, 168, 105, 112, 193, 74, 74, 97, 229, 29, 8, 42, 34, 34, 94, 60, 59, 72, 19, 7, 9, 3, 6, 4, 28, 8, 41, 34, 33, 94, 62, 33, 52, 20, 14, 21, 9, 19, 9, 1, 229, 194, 102, 181, 68, 27, 47, 18, 27, 31, 1, 3, 75, 68, 68, 186, 108, 195, 60, 111, 49, 36, 66, 29, 68, 79, 2, 3, 75, 68, 67, 186, 1, 49, 198, 53, 104, 40, 41, 48, 2, 2, 52, 41, 14, 32, 17, 30, 64, 31, 197, 54, 104, 40, 39, 47, 2, 1, 19, 17, 11, 30, 16, 41, 98, 0, 2, 0, 65, 255, 65, 4, 94, 4, 160, 0, 31, 0, 57, 0, 0, 65, 55, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 54, 55, 23, 55, 39, 54, 54, 55, 54, 54, 3, 7, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 4, 56, 27, 11, 53, 57, 58, 169, 105, 113, 195, 75, 75, 98, 16, 27, 12, 51, 57, 57, 169, 106, 32, 64, 32, 165, 172, 143, 45, 75, 30, 40, 52, 236, 28, 8, 44, 34, 35, 96, 61, 59, 75, 20, 20, 9, 6, 28, 9, 42, 35, 34, 96, 62, 57, 74, 20, 20, 11, 1, 229, 194, 103, 181, 68, 68, 80, 2, 3, 74, 67, 68, 187, 109, 195, 104, 180, 67, 67, 79, 1, 1, 7, 6, 189, 109, 168, 31, 71, 40, 55, 128, 1, 16, 199, 54, 104, 40, 40, 48, 2, 2, 51, 41, 40, 99, 50, 197, 56, 104, 40, 39, 45, 2, 2, 51, 40, 40, 98, 0, 0, 2, 0, 38, 0, 0, 4, 78, 4, 141, 0, 20, 0, 35, 0, 0, 65, 19, 33, 53, 3, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 33, 19, 55, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 2, 59, 147, 1, 33, 180, 59, 96, 35, 35, 41, 4, 5, 66, 57, 58, 151, 79, 254, 61, 202, 1, 16, 71, 38, 54, 207, 34, 57, 20, 20, 18, 5, 6, 42, 30, 30, 75, 39, 1, 151, 254, 105, 13, 1, 210, 24, 63, 42, 41, 106, 67, 91, 128, 41, 41, 39, 2, 1, 251, 115, 1, 151, 223, 1, 53, 1, 1, 18, 18, 18, 54, 37, 42, 62, 20, 20, 19, 1, 0, 0, 1, 0, 86, 255, 239, 4, 91, 4, 159, 0, 88, 0, 0, 65, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 37, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 21, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 13, 6, 47, 32, 33, 73, 32, 45, 74, 26, 27, 29, 1, 254, 241, 1, 71, 61, 61, 163, 92, 56, 117, 55, 55, 98, 38, 37, 46, 4, 3, 28, 26, 27, 76, 44, 44, 97, 49, 15, 36, 19, 15, 30, 13, 31, 37, 7, 6, 45, 31, 31, 70, 31, 42, 69, 22, 16, 18, 1, 14, 1, 67, 58, 58, 156, 89, 82, 167, 68, 69, 91, 5, 5, 62, 53, 33, 80, 43, 26, 55, 27, 27, 75, 33, 16, 28, 9, 9, 8, 1, 66, 37, 51, 15, 16, 14, 19, 21, 21, 66, 47, 1, 101, 143, 45, 46, 44, 1, 1, 14, 17, 16, 53, 39, 38, 103, 66, 59, 94, 37, 37, 55, 22, 21, 32, 14, 4, 9, 5, 4, 12, 7, 15, 49, 39, 35, 50, 15, 15, 14, 1, 1, 27, 26, 19, 52, 32, 1, 97, 138, 45, 44, 42, 2, 1, 39, 42, 43, 133, 93, 88, 119, 40, 25, 38, 15, 9, 17, 8, 8, 19, 17, 9, 21, 13, 14, 32, 0, 1, 0, 140, 0, 0, 4, 218, 4, 141, 0, 7, 0, 0, 65, 55, 33, 7, 33, 3, 33, 19, 4, 179, 39, 251, 217, 39, 1, 134, 163, 1, 18, 164, 3, 174, 223, 223, 252, 82, 3, 174, 0, 1, 0, 112, 255, 238, 4, 133, 4, 141, 0, 29, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 3, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 4, 133, 254, 240, 129, 7, 33, 27, 27, 75, 48, 45, 61, 17, 18, 11, 5, 128, 254, 242, 128, 10, 50, 54, 53, 154, 93, 101, 175, 68, 67, 88, 14, 4, 141, 253, 8, 45, 75, 26, 26, 29, 2, 1, 32, 27, 26, 71, 42, 2, 248, 253, 9, 96, 154, 55, 55, 60, 2, 2, 56, 55, 54, 159, 101, 0, 0, 1, 0, 146, 0, 0, 4, 255, 4, 142, 0, 8, 0, 0, 65, 3, 5, 19, 33, 1, 33, 1, 7, 2, 30, 125, 254, 241, 218, 1, 35, 2, 112, 254, 217, 254, 95, 25, 1, 65, 3, 77, 1, 251, 115, 4, 141, 252, 179, 65, 0, 1, 0, 130, 0, 0, 4, 210, 4, 141, 0, 18, 0, 0, 65, 19, 35, 3, 51, 19, 55, 23, 19, 51, 1, 33, 3, 7, 55, 19, 35, 3, 7, 1, 111, 17, 252, 2, 248, 168, 36, 1, 3, 247, 1, 145, 254, 253, 152, 28, 1, 4, 249, 156, 32, 2, 189, 1, 208, 251, 115, 1, 229, 105, 110, 254, 32, 4, 141, 254, 25, 91, 91, 1, 231, 254, 47, 95, 0, 1, 255, 206, 0, 0, 4, 188, 4, 141, 0, 11, 0, 0, 65, 3, 33, 19, 1, 33, 1, 19, 33, 1, 1, 33, 2, 99, 138, 254, 217, 245, 254, 39, 1, 72, 1, 27, 153, 1, 47, 254, 247, 1, 204, 254, 185, 3, 16, 1, 125, 253, 202, 253, 169, 1, 133, 254, 123, 2, 63, 2, 78, 0, 0, 1, 0, 161, 0, 0, 4, 244, 4, 141, 0, 10, 0, 0, 65, 3, 33, 1, 3, 33, 19, 1, 33, 1, 7, 2, 80, 149, 254, 230, 1, 24, 75, 1, 17, 68, 2, 49, 254, 203, 254, 198, 35, 2, 191, 1, 206, 253, 32, 254, 83, 1, 138, 3, 3, 254, 45, 52, 0, 1, 0, 54, 0, 0, 4, 122, 4, 141, 0, 9, 0, 0, 101, 1, 55, 33, 7, 33, 1, 7, 33, 55, 1, 190, 2, 164, 24, 252, 134, 36, 2, 24, 253, 90, 24, 3, 151, 35, 221, 3, 26, 150, 223, 252, 234, 152, 221, 0, 0, 2, 1, 197, 4, 202, 4, 90, 6, 245, 0, 25, 0, 59, 0, 0, 65, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 37, 51, 39, 54, 54, 55, 54, 54, 55, 52, 38, 39, 38, 38, 39, 38, 38, 35, 7, 50, 50, 51, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 4, 90, 184, 8, 32, 22, 22, 53, 29, 29, 48, 17, 18, 19, 1, 181, 1, 57, 45, 45, 111, 56, 57, 119, 50, 49, 66, 254, 133, 105, 10, 25, 53, 23, 22, 29, 1, 25, 21, 22, 54, 28, 29, 54, 21, 11, 8, 34, 21, 20, 43, 17, 16, 18, 4, 5, 35, 22, 22, 45, 16, 5, 177, 2, 29, 41, 13, 13, 11, 11, 13, 13, 41, 30, 2, 64, 87, 27, 27, 25, 1, 1, 22, 27, 27, 89, 93, 45, 4, 15, 13, 13, 40, 31, 30, 44, 15, 15, 18, 5, 5, 4, 66, 1, 6, 6, 6, 22, 16, 21, 21, 5, 5, 2, 1, 0, 0, 2, 1, 181, 4, 200, 4, 74, 6, 113, 0, 25, 0, 29, 0, 0, 65, 7, 6, 6, 7, 6, 6, 39, 34, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 3, 7, 51, 55, 4, 74, 184, 6, 25, 17, 23, 62, 34, 29, 48, 17, 18, 18, 1, 181, 1, 57, 45, 45, 111, 56, 57, 119, 50, 49, 66, 253, 152, 161, 201, 5, 177, 1, 26, 38, 14, 18, 17, 1, 13, 14, 13, 42, 30, 2, 64, 88, 27, 28, 25, 1, 1, 23, 28, 27, 89, 1, 2, 187, 186, 0, 0, 1, 1, 43, 2, 136, 3, 236, 3, 60, 0, 3, 0, 0, 65, 55, 33, 7, 3, 204, 32, 253, 95, 32, 2, 136, 180, 180, 0, 3, 2, 43, 4, 83, 4, 172, 6, 182, 0, 3, 0, 27, 0, 51, 0, 0, 65, 7, 23, 37, 1, 20, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 53, 52, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 23, 52, 54, 55, 54, 54, 51, 50, 22, 23, 22, 22, 21, 20, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 3, 151, 212, 199, 1, 34, 253, 127, 30, 26, 26, 67, 38, 40, 71, 27, 27, 31, 29, 25, 25, 67, 38, 40, 72, 27, 28, 32, 99, 16, 13, 14, 35, 19, 19, 33, 12, 12, 15, 16, 13, 13, 35, 19, 19, 33, 13, 12, 15, 6, 182, 203, 1, 204, 254, 77, 39, 64, 23, 24, 26, 28, 25, 25, 69, 41, 38, 66, 24, 24, 27, 29, 25, 26, 70, 38, 20, 35, 12, 12, 15, 14, 11, 12, 32, 19, 20, 34, 12, 12, 14, 13, 11, 12, 31, 0, 0, 2, 2, 68, 4, 131, 4, 61, 5, 197, 0, 5, 0, 15, 0, 0, 65, 7, 51, 19, 55, 7, 5, 7, 51, 55, 54, 54, 55, 39, 6, 6, 3, 6, 2, 82, 230, 1, 176, 254, 198, 15, 128, 18, 11, 40, 32, 84, 51, 68, 4, 160, 27, 1, 41, 23, 1, 208, 113, 107, 57, 107, 49, 1, 41, 102, 0, 2, 1, 228, 4, 197, 4, 117, 6, 225, 0, 25, 0, 63, 0, 0, 65, 7, 6, 6, 7, 6, 6, 35, 34, 38, 39, 38, 38, 55, 39, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 19, 39, 6, 6, 7, 6, 6, 7, 6, 38, 39, 38, 38, 35, 34, 6, 7, 6, 6, 7, 23, 54, 54, 55, 54, 54, 55, 54, 22, 23, 22, 22, 51, 50, 54, 55, 54, 54, 4, 115, 183, 7, 32, 21, 22, 54, 30, 29, 47, 16, 17, 18, 1, 180, 1, 55, 44, 44, 111, 56, 58, 119, 49, 48, 65, 7, 109, 6, 14, 10, 10, 28, 18, 30, 54, 27, 27, 55, 30, 39, 60, 21, 22, 26, 4, 114, 5, 15, 10, 10, 28, 18, 30, 53, 27, 26, 54, 31, 39, 60, 21, 21, 24, 5, 177, 1, 30, 42, 13, 13, 11, 12, 13, 13, 41, 30, 2, 63, 89, 28, 28, 27, 1, 1, 24, 28, 27, 91, 1, 83, 31, 16, 30, 12, 12, 16, 1, 2, 22, 15, 14, 24, 32, 26, 26, 67, 34, 32, 16, 30, 12, 12, 16, 1, 1, 22, 14, 14, 23, 32, 26, 25, 67, 0, 0, 1, 1, 68, 254, 156, 2, 181, 0, 201, 0, 3, 0, 0, 65, 19, 33, 3, 2, 84, 97, 254, 240, 97, 254, 156, 2, 45, 253, 211, 0, 1, 0, 141, 254, 71, 2, 236, 0, 245, 0, 21, 0, 0, 101, 33, 3, 6, 6, 7, 6, 6, 35, 34, 38, 39, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 2, 236, 254, 241, 46, 6, 22, 18, 19, 54, 37, 24, 48, 23, 39, 37, 72, 35, 93, 145, 53, 52, 63, 12, 245, 254, 227, 32, 62, 24, 24, 30, 9, 6, 223, 9, 10, 1, 1, 59, 54, 53, 148, 88, 0, 2, 0, 51, 0, 0, 4, 90, 4, 141, 0, 16, 0, 31, 0, 0, 65, 23, 50, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 37, 3, 33, 19, 19, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 1, 133, 215, 90, 174, 71, 70, 92, 7, 6, 58, 54, 55, 150, 86, 254, 55, 203, 1, 16, 104, 59, 215, 38, 58, 17, 16, 11, 5, 6, 41, 30, 30, 74, 38, 1, 121, 1, 49, 50, 49, 147, 98, 91, 144, 51, 50, 56, 3, 1, 251, 115, 2, 87, 1, 87, 1, 3, 30, 24, 22, 60, 34, 41, 62, 22, 22, 23, 1, 0, 0, 1, 0, 42, 0, 0, 5, 48, 5, 176, 0, 12, 0, 0, 65, 19, 33, 1, 1, 33, 1, 7, 19, 33, 3, 33, 19, 2, 27, 235, 1, 47, 254, 210, 2, 41, 254, 180, 254, 30, 63, 118, 254, 237, 252, 1, 18, 104, 2, 86, 253, 170, 2, 231, 2, 201, 253, 126, 1, 2, 131, 250, 80, 2, 86, 0, 0, 1, 0, 38, 255, 232, 4, 41, 4, 159, 0, 59, 0, 0, 65, 7, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 1, 38, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 3, 33, 19, 54, 54, 55, 54, 54, 23, 22, 22, 23, 7, 7, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 34, 38, 1, 240, 104, 57, 118, 64, 86, 149, 56, 56, 67, 5, 3, 33, 33, 32, 91, 56, 6, 1, 7, 40, 89, 51, 52, 117, 69, 106, 167, 61, 61, 75, 13, 126, 1, 12, 126, 6, 28, 24, 23, 67, 44, 35, 58, 22, 197, 34, 95, 32, 68, 27, 26, 29, 6, 5, 29, 22, 22, 57, 32, 34, 56, 1, 2, 221, 29, 30, 1, 1, 55, 51, 50, 143, 87, 61, 101, 39, 38, 52, 15, 1, 1, 12, 52, 88, 32, 32, 38, 2, 2, 60, 57, 58, 164, 101, 253, 25, 2, 232, 38, 76, 30, 29, 35, 1, 1, 30, 27, 207, 194, 1, 1, 10, 13, 14, 51, 41, 32, 55, 20, 20, 24, 28, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 1, 0, 0, 255, 255, 1, 5, 2, 18, 4, 86, 2, 243, 6, 6, 0, 103, 0, 0, 255, 255, 0, 74, 255, 232, 4, 156, 7, 78, 6, 38, 0, 4, 0, 0, 0, 7, 1, 96, 0, 120, 1, 108, 255, 255, 0, 96, 255, 233, 4, 49, 6, 13, 6, 38, 0, 30, 0, 0, 0, 6, 1, 96, 11, 43, 255, 255, 0, 82, 255, 234, 4, 151, 7, 78, 6, 38, 0, 8, 0, 0, 0, 7, 1, 96, 0, 92, 1, 108, 255, 255, 0, 26, 254, 83, 4, 123, 6, 13, 6, 38, 0, 34, 0, 0, 0, 6, 1, 96, 240, 43, 255, 255, 255, 190, 0, 0, 4, 67, 6, 21, 6, 38, 0, 41, 0, 0, 0, 7, 0, 109, 253, 166, 255, 253, 255, 255, 0, 57, 254, 14, 4, 177, 5, 198, 6, 38, 0, 20, 0, 0, 0, 7, 1, 104, 0, 162, 254, 183, 255, 255, 0, 74, 254, 14, 4, 76, 4, 79, 6, 38, 0, 46, 0, 0, 0, 7, 1, 104, 0, 100, 254, 183, 255, 255, 0, 134, 254, 37, 5, 35, 5, 176, 6, 38, 0, 21, 0, 0, 0, 7, 1, 104, 0, 113, 254, 206, 255, 255, 0, 169, 254, 24, 4, 84, 5, 67, 6, 38, 0, 47, 0, 0, 0, 7, 1, 104, 0, 175, 254, 193, 255, 255, 0, 134, 254, 63, 5, 35, 5, 176, 6, 38, 0, 21, 0, 0, 0, 6, 1, 102, 43, 13, 255, 255, 0, 140, 254, 62, 4, 218, 4, 141, 6, 38, 2, 97, 0, 0, 0, 6, 1, 102, 50, 12, 255, 255, 0, 169, 254, 50, 4, 84, 5, 67, 6, 38, 0, 47, 0, 0, 0, 6, 1, 102, 105, 0, 255, 255, 255, 153, 255, 255, 4, 97, 4, 141, 6, 38, 2, 82, 0, 0, 0, 7, 2, 106, 254, 110, 255, 104, 255, 255, 255, 153, 255, 255, 4, 97, 4, 141, 6, 38, 2, 82, 0, 0, 0, 7, 2, 106, 254, 110, 255, 104, 255, 255, 0, 140, 0, 0, 4, 218, 4, 141, 6, 38, 2, 97, 0, 0, 0, 6, 2, 106, 224, 181, 255, 255, 255, 168, 0, 0, 4, 40, 5, 229, 6, 38, 2, 79, 0, 0, 0, 7, 1, 90, 255, 110, 0, 31, 255, 255, 255, 168, 0, 0, 4, 99, 5, 226, 6, 38, 2, 79, 0, 0, 0, 6, 1, 91, 127, 28, 255, 255, 255, 168, 0, 0, 4, 58, 6, 12, 6, 38, 2, 79, 0, 0, 0, 6, 1, 92, 116, 32, 255, 255, 255, 168, 0, 0, 4, 76, 6, 38, 6, 38, 2, 79, 0, 0, 0, 7, 1, 93, 0, 135, 0, 33, 255, 255, 255, 168, 0, 0, 4, 68, 5, 243, 6, 38, 2, 79, 0, 0, 0, 6, 1, 97, 241, 32, 255, 255, 255, 168, 0, 0, 4, 40, 6, 76, 6, 38, 2, 79, 0, 0, 0, 7, 1, 98, 0, 30, 0, 184, 255, 255, 255, 168, 0, 0, 4, 156, 7, 25, 6, 38, 2, 79, 0, 0, 0, 6, 2, 107, 240, 99, 255, 255, 0, 58, 254, 50, 4, 85, 4, 159, 6, 38, 2, 81, 0, 0, 0, 6, 1, 102, 20, 0, 255, 255, 0, 51, 0, 0, 4, 123, 5, 229, 6, 38, 2, 83, 0, 0, 0, 6, 1, 90, 139, 31, 255, 255, 0, 51, 0, 0, 4, 123, 5, 226, 6, 38, 2, 83, 0, 0, 0, 6, 1, 91, 110, 28, 255, 255, 0, 51, 0, 0, 4, 123, 6, 12, 6, 38, 2, 83, 0, 0, 0, 6, 1, 92, 99, 32, 255, 255, 0, 51, 0, 0, 4, 123, 5, 243, 6, 38, 2, 83, 0, 0, 0, 6, 1, 97, 224, 32, 255, 255, 0, 91, 0, 0, 4, 77, 5, 223, 6, 38, 2, 87, 0, 0, 0, 6, 1, 90, 129, 25, 255, 255, 0, 91, 0, 0, 4, 118, 5, 220, 6, 38, 2, 87, 0, 0, 0, 7, 1, 91, 0, 146, 0, 22, 255, 255, 0, 91, 0, 0, 4, 77, 6, 6, 6, 38, 2, 87, 0, 0, 0, 7, 1, 92, 0, 135, 0, 26, 255, 255, 0, 91, 0, 0, 4, 86, 5, 237, 6, 38, 2, 87, 0, 0, 0, 6, 1, 97, 3, 26, 255, 255, 0, 50, 0, 0, 4, 88, 6, 38, 6, 38, 2, 92, 0, 0, 0, 7, 1, 93, 0, 143, 0, 33, 255, 255, 0, 77, 255, 237, 4, 89, 5, 241, 6, 38, 2, 93, 0, 0, 0, 7, 1, 90, 255, 104, 0, 43, 255, 255, 0, 77, 255, 237, 4, 93, 5, 238, 6, 38, 2, 93, 0, 0, 0, 6, 1, 91, 121, 40, 255, 255, 0, 77, 255, 237, 4, 89, 6, 24, 6, 38, 2, 93, 0, 0, 0, 6, 1, 92, 110, 44, 255, 255, 0, 77, 255, 237, 4, 89, 6, 50, 6, 38, 2, 93, 0, 0, 0, 7, 1, 93, 0, 129, 0, 45, 255, 255, 0, 77, 255, 237, 4, 89, 5, 255, 6, 38, 2, 93, 0, 0, 0, 6, 1, 97, 235, 44, 255, 255, 0, 112, 255, 238, 4, 133, 5, 254, 6, 38, 2, 98, 0, 0, 0, 6, 1, 90, 140, 56, 255, 255, 0, 112, 255, 238, 4, 133, 5, 251, 6, 38, 2, 98, 0, 0, 0, 7, 1, 91, 0, 157, 0, 53, 255, 255, 0, 112, 255, 238, 4, 133, 6, 37, 6, 38, 2, 98, 0, 0, 0, 7, 1, 92, 0, 146, 0, 57, 255, 255, 0, 112, 255, 238, 4, 133, 6, 12, 6, 38, 2, 98, 0, 0, 0, 6, 1, 97, 14, 57, 255, 255, 0, 161, 0, 0, 4, 244, 5, 226, 6, 38, 2, 102, 0, 0, 0, 6, 1, 91, 123, 28, 255, 255, 255, 168, 0, 0, 4, 76, 5, 181, 6, 38, 2, 79, 0, 0, 0, 6, 1, 94, 248, 5, 255, 255, 255, 168, 0, 0, 4, 56, 6, 5, 6, 38, 2, 79, 0, 0, 0, 6, 1, 95, 8, 98, 0, 2, 255, 168, 254, 88, 4, 40, 4, 141, 0, 36, 0, 41, 0, 0, 97, 51, 3, 33, 1, 33, 55, 33, 23, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 1, 19, 55, 23, 19, 3, 239, 57, 246, 254, 249, 253, 125, 1, 31, 116, 1, 185, 37, 33, 60, 23, 23, 28, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 3, 34, 26, 25, 61, 29, 253, 176, 182, 36, 13, 64, 4, 141, 251, 115, 221, 198, 21, 52, 30, 31, 72, 41, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 35, 56, 22, 22, 33, 13, 1, 172, 1, 89, 69, 69, 254, 167, 0, 255, 255, 0, 58, 255, 238, 4, 85, 5, 238, 6, 38, 2, 81, 0, 0, 0, 6, 1, 91, 108, 40, 255, 255, 0, 58, 255, 238, 4, 85, 6, 24, 6, 38, 2, 81, 0, 0, 0, 6, 1, 92, 97, 44, 255, 255, 0, 58, 255, 238, 4, 86, 6, 27, 6, 38, 2, 81, 0, 0, 0, 6, 1, 100, 224, 44, 255, 255, 0, 48, 255, 255, 4, 97, 6, 15, 6, 38, 2, 82, 0, 0, 0, 6, 1, 100, 149, 32, 255, 255, 0, 51, 0, 0, 4, 123, 5, 181, 6, 38, 2, 83, 0, 0, 0, 6, 1, 94, 231, 5, 255, 255, 0, 51, 0, 0, 4, 123, 6, 5, 6, 38, 2, 83, 0, 0, 0, 6, 1, 95, 248, 98, 255, 255, 0, 51, 0, 0, 4, 123, 6, 18, 6, 38, 2, 83, 0, 0, 0, 6, 1, 96, 238, 48, 0, 1, 0, 51, 254, 88, 4, 123, 4, 141, 0, 41, 0, 0, 65, 55, 33, 55, 33, 55, 33, 3, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 51, 51, 55, 33, 19, 3, 173, 39, 253, 235, 39, 2, 110, 39, 252, 130, 202, 1, 250, 27, 48, 18, 18, 22, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 3, 34, 26, 25, 61, 29, 4, 123, 39, 253, 151, 48, 1, 238, 223, 225, 223, 251, 115, 20, 48, 28, 28, 64, 36, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 35, 56, 22, 22, 36, 13, 221, 1, 17, 0, 255, 255, 0, 51, 0, 0, 4, 123, 6, 15, 6, 38, 2, 83, 0, 0, 0, 6, 1, 100, 226, 32, 255, 255, 0, 62, 255, 240, 4, 90, 6, 24, 6, 38, 2, 85, 0, 0, 0, 6, 1, 92, 126, 44, 255, 255, 0, 62, 255, 240, 4, 90, 6, 17, 6, 38, 2, 85, 0, 0, 0, 6, 1, 95, 18, 110, 255, 255, 0, 62, 254, 24, 4, 90, 4, 159, 6, 38, 2, 85, 0, 0, 0, 7, 1, 104, 0, 134, 254, 193, 255, 255, 0, 33, 0, 0, 4, 92, 6, 12, 6, 38, 2, 86, 0, 0, 0, 6, 1, 92, 96, 32, 255, 255, 0, 91, 0, 0, 4, 77, 6, 32, 6, 38, 2, 87, 0, 0, 0, 6, 1, 93, 114, 27, 255, 255, 0, 91, 0, 0, 4, 77, 5, 176, 6, 38, 2, 87, 0, 0, 0, 6, 1, 94, 226, 0, 255, 255, 0, 91, 0, 0, 4, 77, 5, 255, 6, 38, 2, 87, 0, 0, 0, 6, 1, 95, 245, 92, 0, 1, 0, 91, 254, 88, 4, 77, 4, 140, 0, 41, 0, 0, 65, 7, 33, 3, 33, 7, 33, 6, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 51, 51, 55, 33, 19, 33, 55, 1, 37, 39, 1, 8, 124, 254, 249, 40, 1, 195, 27, 48, 18, 18, 22, 1, 1, 29, 27, 26, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 3, 34, 26, 25, 61, 29, 4, 98, 40, 254, 241, 123, 1, 14, 40, 4, 140, 226, 253, 56, 226, 20, 48, 28, 28, 64, 36, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 35, 56, 22, 22, 36, 13, 226, 2, 200, 226, 0, 255, 255, 0, 91, 0, 0, 4, 77, 6, 12, 6, 38, 2, 87, 0, 0, 0, 6, 1, 96, 248, 42, 255, 255, 0, 116, 255, 238, 5, 96, 6, 5, 6, 38, 2, 88, 0, 0, 0, 7, 1, 92, 1, 154, 0, 25, 255, 255, 0, 45, 254, 31, 4, 224, 4, 141, 6, 38, 2, 89, 0, 0, 0, 7, 1, 104, 0, 64, 254, 200, 255, 255, 0, 51, 0, 0, 4, 5, 5, 203, 6, 38, 2, 90, 0, 0, 0, 7, 1, 91, 255, 80, 0, 5, 255, 255, 0, 51, 254, 32, 4, 5, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 1, 104, 0, 125, 254, 201, 255, 255, 0, 51, 0, 0, 4, 5, 4, 144, 6, 38, 2, 90, 0, 0, 0, 7, 0, 109, 0, 22, 254, 120, 255, 255, 0, 51, 0, 0, 4, 5, 4, 141, 6, 38, 2, 90, 0, 0, 0, 7, 1, 96, 255, 165, 253, 65, 255, 255, 0, 50, 0, 0, 4, 88, 5, 226, 6, 38, 2, 92, 0, 0, 0, 6, 1, 91, 109, 28, 255, 255, 0, 50, 254, 24, 4, 88, 4, 141, 6, 38, 2, 92, 0, 0, 0, 7, 1, 104, 0, 128, 254, 193, 255, 255, 0, 50, 0, 0, 4, 113, 6, 15, 6, 38, 2, 92, 0, 0, 0, 6, 1, 100, 251, 32, 255, 255, 0, 77, 255, 237, 4, 89, 5, 193, 6, 38, 2, 93, 0, 0, 0, 6, 1, 94, 242, 17, 255, 255, 0, 77, 255, 237, 4, 89, 6, 17, 6, 38, 2, 93, 0, 0, 0, 6, 1, 95, 2, 110, 255, 255, 0, 77, 255, 237, 5, 30, 6, 26, 6, 38, 2, 93, 0, 0, 0, 6, 1, 99, 118, 44, 255, 255, 0, 38, 0, 0, 4, 78, 5, 251, 6, 38, 2, 95, 0, 0, 0, 6, 1, 91, 52, 53, 255, 255, 0, 38, 254, 32, 4, 78, 4, 141, 6, 38, 2, 95, 0, 0, 0, 7, 1, 104, 0, 72, 254, 201, 255, 255, 0, 38, 0, 0, 4, 78, 6, 40, 6, 38, 2, 95, 0, 0, 0, 6, 1, 100, 190, 57, 255, 255, 0, 86, 255, 239, 4, 105, 5, 238, 6, 38, 2, 96, 0, 0, 0, 7, 1, 91, 0, 133, 0, 40, 255, 255, 0, 86, 255, 239, 4, 91, 6, 24, 6, 38, 2, 96, 0, 0, 0, 6, 1, 92, 122, 44, 255, 255, 0, 86, 254, 46, 4, 91, 4, 159, 6, 38, 2, 96, 0, 0, 0, 6, 1, 102, 61, 252, 255, 255, 0, 86, 255, 239, 4, 111, 6, 27, 6, 38, 2, 96, 0, 0, 0, 6, 1, 100, 249, 44, 255, 255, 0, 140, 0, 0, 4, 218, 6, 15, 6, 38, 2, 97, 0, 0, 0, 6, 1, 100, 249, 32, 255, 255, 0, 112, 255, 238, 4, 133, 6, 63, 6, 38, 2, 98, 0, 0, 0, 7, 1, 93, 0, 165, 0, 58, 255, 255, 0, 112, 255, 238, 4, 133, 5, 206, 6, 38, 2, 98, 0, 0, 0, 6, 1, 94, 21, 30, 255, 255, 0, 112, 255, 238, 4, 133, 6, 30, 6, 38, 2, 98, 0, 0, 0, 6, 1, 95, 38, 123, 255, 255, 0, 112, 255, 238, 4, 133, 6, 101, 6, 38, 2, 98, 0, 0, 0, 7, 1, 98, 0, 60, 0, 209, 255, 255, 0, 112, 255, 238, 5, 66, 6, 39, 6, 38, 2, 98, 0, 0, 0, 7, 1, 99, 0, 154, 0, 57, 0, 1, 0, 112, 254, 166, 4, 133, 4, 141, 0, 60, 0, 0, 65, 33, 3, 6, 6, 7, 6, 6, 39, 38, 38, 39, 38, 38, 55, 19, 33, 3, 6, 22, 23, 22, 22, 23, 48, 48, 49, 6, 6, 7, 6, 6, 21, 6, 22, 23, 22, 22, 51, 22, 54, 55, 39, 6, 6, 39, 38, 38, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 54, 54, 55, 4, 133, 254, 240, 129, 7, 33, 27, 27, 75, 48, 45, 61, 17, 18, 11, 5, 128, 254, 242, 128, 10, 44, 48, 47, 138, 85, 10, 17, 5, 5, 7, 1, 29, 26, 27, 74, 44, 46, 89, 40, 36, 19, 41, 20, 28, 21, 2, 1, 10, 8, 9, 25, 15, 64, 108, 41, 42, 54, 11, 4, 141, 253, 8, 45, 75, 26, 26, 29, 2, 1, 32, 27, 26, 71, 42, 2, 248, 253, 9, 91, 147, 54, 54, 65, 8, 15, 32, 17, 16, 35, 18, 45, 73, 26, 26, 29, 1, 20, 22, 157, 8, 13, 1, 2, 32, 27, 18, 31, 14, 15, 27, 12, 21, 73, 50, 50, 127, 75, 255, 255, 0, 130, 0, 0, 4, 210, 6, 12, 6, 38, 2, 100, 0, 0, 0, 6, 1, 92, 107, 32, 255, 255, 0, 161, 0, 0, 4, 244, 6, 12, 6, 38, 2, 102, 0, 0, 0, 6, 1, 92, 112, 32, 255, 255, 0, 161, 0, 0, 4, 244, 5, 243, 6, 38, 2, 102, 0, 0, 0, 6, 1, 97, 237, 32, 255, 255, 0, 54, 0, 0, 4, 122, 5, 226, 6, 38, 2, 103, 0, 0, 0, 6, 1, 91, 116, 28, 255, 255, 0, 54, 0, 0, 4, 122, 6, 18, 6, 38, 2, 103, 0, 0, 0, 6, 1, 96, 244, 48, 255, 255, 0, 54, 0, 0, 4, 122, 6, 15, 6, 38, 2, 103, 0, 0, 0, 6, 1, 100, 232, 32, 255, 255, 255, 174, 0, 0, 4, 60, 6, 129, 6, 38, 0, 2, 0, 0, 0, 7, 1, 120, 253, 241, 0, 0, 255, 255, 255, 251, 0, 0, 5, 11, 6, 131, 4, 38, 0, 6, 50, 0, 0, 7, 1, 120, 253, 88, 0, 2, 255, 255, 255, 235, 0, 0, 4, 235, 6, 127, 4, 38, 0, 9, 50, 0, 0, 7, 1, 120, 253, 72, 255, 254, 255, 255, 0, 46, 0, 0, 4, 180, 6, 131, 4, 38, 0, 10, 50, 0, 0, 7, 1, 120, 253, 139, 0, 2, 255, 255, 0, 24, 255, 234, 4, 148, 6, 129, 4, 38, 0, 16, 10, 0, 0, 7, 1, 120, 253, 117, 0, 0, 255, 255, 255, 148, 0, 0, 5, 101, 6, 129, 4, 38, 0, 26, 38, 0, 0, 7, 1, 120, 252, 241, 0, 0, 255, 255, 0, 2, 0, 0, 4, 157, 6, 129, 4, 38, 1, 132, 10, 0, 0, 7, 1, 120, 253, 135, 0, 0, 255, 255, 0, 217, 255, 234, 4, 111, 6, 192, 6, 38, 1, 141, 0, 0, 0, 6, 1, 121, 201, 183, 255, 255, 255, 174, 0, 0, 4, 60, 5, 176, 6, 6, 0, 2, 0, 0, 255, 255, 0, 20, 255, 255, 4, 175, 5, 176, 6, 6, 0, 3, 0, 0, 255, 255, 0, 38, 0, 0, 4, 217, 5, 176, 6, 6, 0, 6, 0, 0, 255, 255, 255, 248, 0, 0, 4, 212, 5, 176, 6, 6, 0, 27, 0, 0, 255, 255, 0, 15, 0, 0, 4, 185, 5, 176, 6, 6, 0, 9, 0, 0, 255, 255, 0, 82, 0, 0, 4, 130, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 20, 0, 0, 5, 82, 5, 176, 6, 6, 0, 12, 0, 0, 255, 255, 0, 18, 0, 0, 4, 212, 5, 176, 6, 6, 0, 14, 0, 0, 255, 255, 0, 15, 0, 0, 4, 184, 5, 176, 6, 6, 0, 15, 0, 0, 255, 255, 0, 73, 255, 234, 4, 138, 5, 198, 6, 6, 0, 16, 0, 0, 255, 255, 0, 40, 0, 0, 4, 184, 5, 176, 6, 6, 0, 17, 0, 0, 255, 255, 0, 134, 0, 0, 5, 35, 5, 176, 6, 6, 0, 21, 0, 0, 255, 255, 0, 186, 0, 0, 5, 63, 5, 176, 6, 6, 0, 26, 0, 0, 255, 255, 255, 184, 0, 0, 5, 38, 5, 176, 6, 6, 0, 25, 0, 0, 255, 255, 0, 82, 0, 0, 4, 130, 7, 48, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 0, 26, 1, 93, 255, 255, 0, 186, 0, 0, 5, 63, 7, 48, 6, 38, 0, 26, 0, 0, 0, 7, 1, 97, 0, 52, 1, 93, 255, 255, 0, 82, 255, 235, 4, 58, 6, 140, 6, 38, 1, 133, 0, 0, 0, 6, 1, 120, 214, 11, 255, 255, 0, 75, 255, 235, 4, 138, 6, 139, 6, 38, 1, 137, 0, 0, 0, 6, 1, 120, 245, 10, 255, 255, 0, 20, 254, 97, 4, 63, 6, 140, 6, 38, 1, 139, 0, 0, 0, 6, 1, 120, 229, 11, 255, 255, 0, 217, 255, 234, 4, 37, 6, 120, 6, 38, 1, 141, 0, 0, 0, 6, 1, 120, 214, 247, 255, 255, 0, 85, 255, 233, 4, 91, 6, 204, 6, 38, 1, 149, 0, 0, 0, 6, 1, 121, 181, 195, 255, 255, 0, 50, 0, 0, 4, 222, 4, 58, 6, 6, 0, 79, 0, 0, 255, 255, 0, 81, 255, 232, 4, 66, 4, 81, 6, 6, 0, 42, 0, 0, 255, 255, 255, 246, 254, 96, 4, 150, 4, 58, 6, 6, 1, 107, 0, 0, 255, 255, 0, 149, 0, 0, 4, 179, 4, 59, 6, 6, 0, 49, 0, 0, 255, 255, 255, 241, 0, 0, 4, 197, 4, 58, 6, 6, 0, 51, 0, 0, 255, 255, 0, 217, 255, 234, 4, 74, 5, 217, 6, 38, 1, 141, 0, 0, 0, 6, 1, 97, 247, 6, 255, 255, 0, 85, 255, 233, 4, 62, 5, 229, 6, 38, 1, 149, 0, 0, 0, 6, 1, 97, 227, 18, 255, 255, 0, 81, 255, 232, 4, 66, 6, 140, 6, 38, 0, 42, 0, 0, 0, 6, 1, 120, 214, 11, 255, 255, 0, 85, 255, 233, 4, 62, 6, 131, 6, 38, 1, 149, 0, 0, 0, 6, 1, 120, 194, 2, 255, 255, 0, 23, 255, 233, 4, 143, 6, 134, 6, 38, 1, 152, 0, 0, 0, 6, 1, 120, 214, 5, 255, 255, 0, 38, 0, 0, 4, 217, 7, 39, 6, 38, 0, 6, 0, 0, 0, 7, 1, 97, 0, 65, 1, 84, 255, 255, 0, 32, 0, 0, 4, 176, 7, 22, 6, 38, 1, 123, 0, 0, 0, 7, 1, 91, 0, 184, 1, 80, 0, 1, 0, 57, 255, 236, 4, 177, 5, 198, 0, 79, 0, 0, 65, 6, 6, 7, 6, 6, 35, 38, 38, 39, 38, 38, 55, 37, 6, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 39, 38, 38, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 5, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 23, 22, 22, 3, 59, 7, 50, 36, 36, 87, 44, 65, 95, 30, 26, 24, 1, 254, 244, 3, 73, 67, 67, 182, 105, 92, 181, 75, 82, 107, 8, 6, 59, 53, 54, 144, 79, 37, 90, 38, 19, 31, 10, 12, 10, 3, 6, 50, 36, 36, 87, 44, 52, 77, 26, 25, 25, 1, 1, 10, 3, 65, 60, 60, 168, 99, 95, 189, 77, 77, 102, 6, 6, 67, 58, 58, 151, 78, 41, 84, 33, 15, 24, 8, 9, 8, 1, 131, 48, 69, 22, 23, 21, 1, 38, 36, 31, 87, 55, 1, 110, 173, 61, 61, 65, 2, 1, 43, 46, 49, 159, 112, 91, 147, 56, 56, 81, 27, 12, 33, 25, 11, 29, 17, 18, 44, 27, 48, 71, 24, 23, 23, 1, 1, 32, 29, 29, 82, 49, 1, 102, 164, 58, 58, 64, 2, 2, 50, 52, 52, 156, 104, 93, 145, 54, 54, 77, 25, 14, 36, 26, 12, 29, 17, 20, 47, 0, 255, 255, 0, 82, 0, 0, 4, 130, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 0, 82, 0, 0, 4, 130, 7, 48, 6, 38, 0, 10, 0, 0, 0, 7, 1, 97, 0, 26, 1, 93, 255, 255, 0, 71, 255, 234, 4, 192, 5, 176, 6, 6, 0, 11, 0, 0, 255, 255, 0, 42, 0, 0, 5, 48, 5, 176, 6, 6, 2, 113, 0, 0, 255, 255, 0, 20, 0, 0, 5, 82, 7, 19, 6, 38, 0, 12, 0, 0, 0, 7, 1, 91, 0, 161, 1, 77, 255, 255, 255, 251, 255, 232, 5, 75, 7, 57, 6, 38, 1, 168, 0, 0, 0, 7, 1, 95, 0, 111, 1, 150, 255, 255, 255, 174, 0, 0, 4, 60, 5, 176, 6, 6, 0, 2, 0, 0, 255, 255, 0, 20, 255, 255, 4, 175, 5, 176, 6, 6, 0, 3, 0, 0, 255, 255, 0, 32, 0, 0, 4, 176, 5, 176, 6, 6, 1, 123, 0, 0, 255, 255, 0, 38, 0, 0, 4, 217, 5, 176, 6, 6, 0, 6, 0, 0, 255, 255, 0, 3, 0, 0, 4, 180, 7, 44, 6, 38, 1, 166, 0, 0, 0, 7, 1, 95, 0, 36, 1, 137, 255, 255, 0, 18, 0, 0, 4, 212, 5, 176, 6, 6, 0, 14, 0, 0, 255, 255, 0, 15, 0, 0, 4, 185, 5, 176, 6, 6, 0, 9, 0, 0, 255, 255, 0, 73, 255, 234, 4, 138, 5, 198, 6, 6, 0, 16, 0, 0, 255, 255, 0, 13, 0, 0, 4, 188, 5, 176, 6, 6, 1, 128, 0, 0, 255, 255, 0, 40, 0, 0, 4, 184, 5, 176, 6, 6, 0, 17, 0, 0, 255, 255, 0, 74, 255, 232, 4, 156, 5, 199, 6, 6, 0, 4, 0, 0, 255, 255, 0, 134, 0, 0, 5, 35, 5, 176, 6, 6, 0, 21, 0, 0, 255, 255, 0, 75, 0, 0, 4, 230, 5, 176, 6, 6, 1, 130, 0, 0, 255, 255, 255, 184, 0, 0, 5, 38, 5, 176, 6, 6, 0, 25, 0, 0, 255, 255, 0, 58, 255, 235, 4, 27, 4, 80, 6, 6, 0, 28, 0, 0, 255, 255, 0, 85, 255, 235, 4, 76, 4, 80, 6, 6, 0, 32, 0, 0, 255, 255, 0, 13, 0, 0, 4, 112, 5, 247, 6, 38, 1, 185, 0, 0, 0, 6, 1, 95, 242, 84, 255, 255, 0, 81, 255, 232, 4, 66, 4, 81, 6, 6, 0, 42, 0, 0, 255, 255, 255, 220, 254, 96, 4, 53, 4, 79, 6, 6, 0, 43, 0, 0, 0, 1, 0, 96, 255, 233, 4, 49, 4, 81, 0, 57, 0, 0, 101, 38, 38, 39, 38, 38, 39, 38, 54, 55, 55, 54, 54, 55, 54, 54, 23, 22, 22, 23, 22, 22, 7, 23, 54, 38, 39, 38, 38, 39, 38, 6, 7, 6, 6, 7, 7, 6, 22, 23, 22, 22, 23, 22, 22, 23, 22, 54, 55, 54, 54, 55, 7, 6, 6, 7, 6, 6, 2, 19, 65, 69, 15, 6, 6, 2, 2, 3, 3, 4, 7, 36, 32, 32, 97, 69, 43, 64, 21, 21, 18, 3, 255, 5, 53, 52, 53, 150, 93, 120, 197, 73, 73, 90, 14, 3, 6, 5, 10, 10, 36, 26, 51, 167, 117, 87, 169, 69, 68, 88, 5, 254, 6, 41, 29, 30, 73, 201, 2, 65, 48, 17, 38, 20, 33, 69, 30, 30, 57, 117, 48, 47, 58, 2, 2, 31, 26, 26, 71, 40, 1, 93, 153, 56, 55, 62, 2, 3, 86, 75, 76, 202, 113, 31, 54, 105, 48, 47, 85, 37, 75, 90, 2, 2, 53, 51, 51, 147, 92, 2, 40, 64, 21, 22, 22, 0, 255, 255, 0, 0, 254, 72, 5, 3, 4, 58, 6, 6, 0, 52, 0, 0, 255, 255, 255, 241, 0, 0, 4, 197, 4, 58, 6, 6, 0, 51, 0, 0, 255, 255, 0, 85, 255, 235, 4, 76, 5, 239, 6, 38, 0, 32, 0, 0, 0, 6, 1, 97, 228, 28, 255, 255, 0, 34, 0, 0, 4, 103, 5, 212, 6, 38, 1, 181, 0, 0, 0, 6, 1, 91, 127, 14, 255, 255, 0, 74, 255, 234, 4, 76, 4, 79, 6, 6, 0, 46, 0, 0, 255, 255, 0, 104, 0, 0, 3, 233, 5, 230, 6, 6, 0, 36, 0, 0, 255, 255, 0, 88, 0, 0, 4, 114, 5, 212, 6, 38, 1, 109, 0, 0, 0, 6, 1, 97, 31, 1, 255, 255, 0, 48, 254, 73, 3, 219, 5, 230, 6, 6, 0, 37, 0, 0, 255, 255, 0, 24, 0, 0, 4, 229, 5, 212, 6, 38, 1, 186, 0, 0, 0, 6, 1, 91, 86, 14, 255, 255, 0, 0, 254, 72, 5, 3, 5, 235, 6, 38, 0, 52, 0, 0, 0, 6, 1, 95, 35, 72, 255, 255, 255, 224, 255, 239, 5, 10, 5, 176, 6, 39, 0, 91, 254, 128, 0, 0, 0, 7, 0, 91, 1, 156, 0, 0, 255, 255, 0, 51, 254, 73, 4, 213, 5, 226, 6, 38, 1, 113, 0, 0, 0, 6, 1, 100, 95, 243, 255, 255, 2, 24, 3, 228, 3, 152, 6, 24, 6, 6, 0, 109, 0, 0, 255, 255, 0, 18, 0, 0, 4, 212, 7, 31, 6, 38, 0, 14, 0, 0, 0, 7, 1, 91, 0, 181, 1, 89, 255, 255, 255, 224, 0, 0, 4, 134, 5, 221, 6, 38, 0, 40, 0, 0, 0, 7, 1, 91, 0, 162, 0, 23, 255, 255, 255, 174, 254, 146, 4, 60, 5, 176, 6, 38, 0, 2, 0, 0, 0, 6, 1, 114, 2, 5, 255, 255, 0, 58, 254, 154, 4, 27, 4, 80, 6, 38, 0, 28, 0, 0, 0, 6, 1, 114, 193, 13, 255, 255, 255, 202, 255, 234, 4, 138, 6, 85, 6, 38, 0, 16, 0, 0, 0, 7, 2, 108, 253, 134, 0, 144, 255, 255, 0, 38, 0, 0, 4, 217, 7, 25, 6, 38, 0, 6, 0, 0, 0, 7, 1, 90, 255, 191, 1, 83, 255, 255, 0, 3, 0, 0, 4, 180, 7, 12, 6, 38, 1, 166, 0, 0, 0, 7, 1, 90, 255, 138, 1, 70, 255, 255, 0, 85, 255, 235, 4, 76, 5, 225, 6, 38, 0, 32, 0, 0, 0, 7, 1, 90, 255, 97, 0, 27, 255, 255, 0, 13, 0, 0, 4, 112, 5, 215, 6, 38, 1, 185, 0, 0, 0, 7, 1, 90, 255, 87, 0, 17, 255, 255, 0, 108, 0, 0, 5, 75, 5, 176, 6, 6, 1, 131, 0, 0, 255, 255, 0, 59, 254, 34, 4, 200, 4, 60, 6, 6, 1, 151, 0, 0, 255, 255, 0, 164, 0, 0, 5, 110, 7, 112, 6, 38, 1, 226, 0, 0, 0, 7, 1, 119, 4, 122, 1, 130, 255, 255, 0, 140, 0, 0, 4, 162, 6, 63, 6, 38, 1, 227, 0, 0, 0, 7, 1, 119, 4, 35, 0, 81, 255, 255, 0, 35, 254, 3, 4, 181, 5, 198, 6, 38, 1, 165, 0, 0, 0, 7, 2, 110, 255, 195, 255, 103, 255, 255, 0, 59, 254, 13, 4, 77, 4, 78, 6, 38, 1, 184, 0, 0, 0, 7, 2, 110, 255, 197, 255, 113, 255, 255, 0, 74, 254, 18, 4, 156, 5, 199, 6, 38, 0, 4, 0, 0, 0, 7, 2, 110, 255, 203, 255, 118, 255, 255, 0, 96, 254, 18, 4, 49, 4, 81, 6, 38, 0, 30, 0, 0, 0, 7, 2, 110, 255, 203, 255, 118, 255, 255, 0, 186, 0, 0, 5, 63, 5, 176, 6, 6, 0, 26, 0, 0, 255, 255, 0, 127, 254, 95, 4, 236, 4, 58, 6, 6, 1, 135, 0, 0, 255, 255, 0, 82, 0, 0, 4, 130, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 255, 139, 0, 0, 5, 34, 7, 57, 6, 38, 1, 164, 0, 0, 0, 7, 1, 95, 0, 69, 1, 150, 255, 255, 255, 179, 0, 0, 4, 207, 5, 247, 6, 38, 1, 183, 0, 0, 0, 6, 1, 95, 5, 84, 255, 255, 0, 82, 0, 0, 4, 130, 5, 176, 6, 6, 0, 10, 0, 0, 255, 255, 255, 174, 0, 0, 4, 130, 7, 66, 6, 38, 0, 2, 0, 0, 0, 7, 1, 95, 0, 82, 1, 159, 255, 255, 0, 58, 255, 235, 4, 39, 6, 0, 6, 38, 0, 28, 0, 0, 0, 6, 1, 95, 247, 93, 255, 255, 255, 174, 0, 0, 4, 141, 7, 48, 6, 38, 0, 2, 0, 0, 0, 7, 1, 97, 0, 58, 1, 93, 255, 255, 0, 58, 255, 235, 4, 50, 5, 238, 6, 38, 0, 28, 0, 0, 0, 6, 1, 97, 223, 27, 255, 255, 255, 193, 0, 0, 4, 247, 5, 176, 6, 6, 0, 72, 0, 0, 255, 255, 255, 245, 255, 235, 4, 158, 4, 81, 6, 6, 0, 73, 0, 0, 255, 255, 0, 38, 0, 0, 4, 217, 7, 57, 6, 38, 0, 6, 0, 0, 0, 7, 1, 95, 0, 89, 1, 150, 255, 255, 0, 85, 255, 235, 4, 76, 6, 1, 6, 38, 0, 32, 0, 0, 0, 6, 1, 95, 252, 94, 255, 255, 0, 67, 255, 233, 4, 135, 6, 249, 6, 38, 2, 16, 0, 0, 0, 7, 1, 97, 0, 46, 1, 38, 255, 255, 0, 119, 255, 235, 4, 84, 4, 79, 6, 6, 0, 81, 0, 0, 255, 255, 0, 119, 255, 235, 4, 95, 5, 239, 6, 38, 0, 81, 0, 0, 0, 6, 1, 97, 12, 28, 255, 255, 255, 139, 0, 0, 5, 34, 7, 39, 6, 38, 1, 164, 0, 0, 0, 7, 1, 97, 0, 45, 1, 84, 255, 255, 255, 179, 0, 0, 4, 207, 5, 229, 6, 38, 1, 183, 0, 0, 0, 6, 1, 97, 238, 18, 255, 255, 0, 35, 255, 235, 4, 181, 7, 47, 6, 38, 1, 165, 0, 0, 0, 7, 1, 97, 0, 46, 1, 92, 255, 255, 0, 59, 255, 235, 4, 77, 5, 237, 6, 38, 1, 184, 0, 0, 0, 6, 1, 97, 244, 26, 255, 255, 0, 3, 0, 0, 4, 180, 6, 220, 6, 38, 1, 166, 0, 0, 0, 7, 1, 94, 0, 19, 1, 44, 255, 255, 0, 13, 0, 0, 4, 112, 5, 168, 6, 38, 1, 185, 0, 0, 0, 6, 1, 94, 225, 248, 255, 255, 0, 3, 0, 0, 4, 180, 7, 26, 6, 38, 1, 166, 0, 0, 0, 7, 1, 97, 0, 12, 1, 71, 255, 255, 0, 13, 0, 0, 4, 112, 5, 229, 6, 38, 1, 185, 0, 0, 0, 6, 1, 97, 218, 18, 255, 255, 0, 73, 255, 234, 4, 138, 7, 69, 6, 38, 0, 16, 0, 0, 0, 7, 1, 97, 0, 44, 1, 114, 255, 255, 0, 81, 255, 232, 4, 74, 5, 238, 6, 38, 0, 42, 0, 0, 0, 6, 1, 97, 247, 27, 255, 255, 0, 71, 255, 234, 4, 136, 5, 198, 6, 6, 1, 224, 0, 0, 255, 255, 0, 72, 255, 232, 4, 63, 4, 80, 6, 6, 1, 225, 0, 0, 255, 255, 0, 71, 255, 234, 4, 136, 7, 38, 6, 38, 1, 224, 0, 0, 0, 7, 1, 97, 0, 45, 1, 83, 255, 255, 0, 72, 255, 232, 4, 63, 5, 248, 6, 38, 1, 225, 0, 0, 0, 6, 1, 97, 229, 37, 255, 255, 0, 1, 255, 233, 4, 85, 7, 47, 6, 38, 1, 176, 0, 0, 0, 7, 1, 97, 255, 248, 1, 92, 255, 255, 0, 66, 255, 233, 4, 56, 5, 238, 6, 38, 1, 200, 0, 0, 0, 6, 1, 97, 229, 27, 255, 255, 255, 251, 255, 232, 5, 75, 6, 233, 6, 38, 1, 168, 0, 0, 0, 7, 1, 94, 0, 94, 1, 57, 255, 255, 0, 0, 254, 72, 5, 3, 5, 156, 6, 38, 0, 52, 0, 0, 0, 6, 1, 94, 18, 236, 255, 255, 255, 251, 255, 232, 5, 75, 7, 39, 6, 38, 1, 168, 0, 0, 0, 7, 1, 97, 0, 87, 1, 84, 255, 255, 0, 0, 254, 72, 5, 3, 5, 217, 6, 38, 0, 52, 0, 0, 0, 6, 1, 97, 11, 6, 255, 255, 255, 251, 255, 232, 5, 139, 7, 66, 6, 38, 1, 168, 0, 0, 0, 7, 1, 99, 0, 227, 1, 84, 255, 255, 0, 0, 254, 72, 5, 63, 5, 244, 6, 38, 0, 52, 0, 0, 0, 7, 1, 99, 0, 151, 0, 6, 255, 255, 0, 213, 0, 0, 4, 211, 7, 39, 6, 38, 1, 170, 0, 0, 0, 7, 1, 97, 0, 7, 1, 84, 255, 255, 0, 137, 0, 0, 4, 148, 5, 229, 6, 38, 1, 194, 0, 0, 0, 6, 1, 97, 40, 18, 255, 255, 255, 223, 255, 254, 4, 243, 7, 48, 6, 38, 1, 174, 0, 0, 0, 7, 1, 97, 0, 5, 1, 93, 255, 255, 255, 247, 255, 255, 4, 174, 5, 217, 6, 38, 1, 198, 0, 0, 0, 6, 1, 97, 35, 6, 255, 255, 255, 184, 254, 71, 5, 38, 5, 176, 6, 38, 0, 25, 0, 0, 0, 7, 2, 111, 2, 8, 0, 0, 255, 255, 255, 241, 254, 71, 4, 197, 4, 58, 6, 38, 0, 51, 0, 0, 0, 7, 2, 111, 1, 185, 0, 0, 255, 255, 0, 91, 255, 235, 4, 187, 6, 0, 6, 6, 0, 31, 0, 0, 255, 255, 255, 196, 254, 71, 4, 252, 5, 176, 6, 38, 1, 167, 0, 0, 0, 7, 2, 111, 2, 16, 0, 0, 255, 255, 255, 195, 254, 71, 4, 235, 4, 58, 6, 38, 1, 187, 0, 0, 0, 7, 2, 111, 1, 255, 0, 0, 255, 255, 255, 174, 254, 152, 4, 60, 5, 176, 6, 38, 0, 2, 0, 0, 0, 7, 1, 101, 4, 161, 0, 5, 255, 255, 0, 58, 254, 160, 4, 27, 4, 80, 6, 38, 0, 28, 0, 0, 0, 7, 1, 101, 4, 95, 0, 13, 255, 255, 255, 174, 0, 0, 4, 60, 7, 198, 6, 38, 0, 2, 0, 0, 0, 7, 1, 118, 4, 235, 1, 66, 255, 255, 0, 58, 255, 235, 4, 27, 6, 132, 6, 38, 0, 28, 0, 0, 0, 7, 1, 118, 4, 143, 0, 0, 255, 255, 255, 174, 0, 0, 5, 240, 7, 227, 6, 38, 0, 2, 0, 0, 0, 7, 2, 76, 0, 45, 1, 94, 255, 255, 0, 58, 255, 235, 5, 149, 6, 161, 6, 38, 0, 28, 0, 0, 0, 6, 2, 76, 210, 28, 255, 255, 255, 174, 0, 0, 4, 116, 7, 210, 6, 38, 0, 2, 0, 0, 0, 7, 2, 75, 0, 20, 1, 65, 255, 255, 0, 58, 255, 235, 4, 27, 6, 145, 6, 38, 0, 28, 0, 0, 0, 6, 2, 75, 185, 0, 255, 255, 255, 174, 0, 0, 5, 107, 7, 239, 6, 38, 0, 2, 0, 0, 0, 7, 2, 74, 0, 40, 1, 61, 255, 255, 0, 58, 255, 235, 5, 16, 6, 174, 6, 38, 0, 28, 0, 0, 0, 6, 2, 74, 205, 252, 255, 255, 255, 174, 0, 0, 4, 108, 8, 43, 6, 38, 0, 2, 0, 0, 0, 7, 2, 73, 0, 30, 1, 59, 255, 255, 0, 58, 255, 235, 4, 27, 6, 234, 6, 38, 0, 28, 0, 0, 0, 6, 2, 73, 195, 250, 255, 255, 255, 174, 254, 152, 4, 132, 7, 73, 6, 38, 0, 2, 0, 0, 0, 39, 1, 92, 0, 190, 1, 93, 0, 7, 1, 101, 4, 161, 0, 5, 255, 255, 0, 58, 254, 160, 4, 40, 6, 7, 6, 38, 0, 28, 0, 0, 0, 38, 1, 92, 98, 27, 0, 7, 1, 101, 4, 95, 0, 13, 255, 255, 255, 174, 0, 0, 4, 120, 7, 189, 6, 38, 0, 2, 0, 0, 0, 7, 2, 105, 0, 46, 1, 76, 255, 255, 0, 58, 255, 235, 4, 29, 6, 123, 6, 38, 0, 28, 0, 0, 0, 6, 2, 105, 211, 10, 255, 255, 255, 174, 0, 0, 4, 143, 8, 28, 6, 38, 0, 2, 0, 0, 0, 7, 2, 77, 0, 69, 1, 171, 255, 255, 0, 58, 255, 235, 4, 52, 6, 218, 6, 38, 0, 28, 0, 0, 0, 6, 2, 77, 234, 105, 255, 255, 255, 174, 0, 0, 4, 113, 8, 50, 6, 38, 0, 2, 0, 0, 0, 7, 2, 104, 0, 23, 1, 61, 255, 255, 0, 58, 255, 235, 4, 27, 6, 241, 6, 38, 0, 28, 0, 0, 0, 6, 2, 104, 188, 252, 255, 255, 255, 174, 0, 0, 4, 116, 8, 34, 6, 38, 0, 2, 0, 0, 0, 7, 2, 109, 255, 255, 1, 65, 255, 255, 0, 58, 255, 235, 4, 27, 6, 225, 6, 38, 0, 28, 0, 0, 0, 6, 2, 109, 163, 0, 255, 255, 255, 174, 254, 152, 4, 130, 7, 66, 6, 38, 0, 2, 0, 0, 0, 39, 1, 95, 0, 82, 1, 159, 0, 7, 1, 101, 4, 161, 0, 5, 255, 255, 0, 58, 254, 160, 4, 39, 6, 0, 6, 38, 0, 28, 0, 0, 0, 38, 1, 95, 247, 93, 0, 7, 1, 101, 4, 95, 0, 13, 255, 255, 0, 38, 254, 157, 4, 217, 5, 176, 6, 38, 0, 6, 0, 0, 0, 7, 1, 101, 4, 185, 0, 10, 255, 255, 0, 85, 254, 147, 4, 76, 4, 80, 6, 38, 0, 32, 0, 0, 0, 7, 1, 101, 4, 174, 0, 0, 255, 255, 0, 38, 0, 0, 4, 217, 7, 189, 6, 38, 0, 6, 0, 0, 0, 7, 1, 118, 4, 242, 1, 57, 255, 255, 0, 85, 255, 235, 4, 76, 6, 133, 6, 38, 0, 32, 0, 0, 0, 7, 1, 118, 4, 148, 0, 1, 255, 255, 0, 38, 0, 0, 4, 217, 7, 90, 6, 38, 0, 6, 0, 0, 0, 7, 1, 93, 0, 216, 1, 85, 255, 255, 0, 85, 255, 235, 4, 76, 6, 34, 6, 38, 0, 32, 0, 0, 0, 6, 1, 93, 122, 29, 255, 255, 0, 38, 0, 0, 5, 247, 7, 218, 6, 38, 0, 6, 0, 0, 0, 7, 2, 76, 0, 52, 1, 85, 255, 255, 0, 85, 255, 235, 5, 154, 6, 162, 6, 38, 0, 32, 0, 0, 0, 6, 2, 76, 215, 29, 255, 255, 0, 38, 0, 0, 4, 217, 7, 201, 6, 38, 0, 6, 0, 0, 0, 7, 2, 75, 0, 27, 1, 56, 255, 255, 0, 85, 255, 235, 4, 76, 6, 145, 6, 38, 0, 32, 0, 0, 0, 6, 2, 75, 190, 0, 255, 255, 0, 38, 0, 0, 5, 114, 7, 230, 6, 38, 0, 6, 0, 0, 0, 7, 2, 74, 0, 47, 1, 52, 255, 255, 0, 85, 255, 235, 5, 21, 6, 175, 6, 38, 0, 32, 0, 0, 0, 6, 2, 74, 210, 253, 255, 255, 0, 38, 0, 0, 4, 217, 8, 34, 6, 38, 0, 6, 0, 0, 0, 7, 2, 73, 0, 37, 1, 50, 255, 255, 0, 85, 255, 235, 4, 76, 6, 235, 6, 38, 0, 32, 0, 0, 0, 6, 2, 73, 200, 251, 255, 255, 0, 38, 254, 157, 4, 217, 7, 64, 6, 38, 0, 6, 0, 0, 0, 39, 1, 92, 0, 197, 1, 84, 0, 7, 1, 101, 4, 185, 0, 10, 255, 255, 0, 85, 254, 147, 4, 76, 6, 8, 6, 38, 0, 32, 0, 0, 0, 38, 1, 92, 103, 28, 0, 7, 1, 101, 4, 174, 0, 0, 255, 255, 0, 82, 0, 0, 4, 130, 7, 198, 6, 38, 0, 10, 0, 0, 0, 7, 1, 118, 4, 203, 1, 66, 255, 255, 0, 88, 0, 0, 4, 18, 6, 107, 6, 38, 1, 109, 0, 0, 0, 7, 1, 118, 4, 208, 255, 231, 255, 255, 0, 82, 254, 157, 4, 130, 5, 176, 6, 38, 0, 10, 0, 0, 0, 7, 1, 101, 4, 141, 0, 10, 255, 255, 0, 104, 254, 157, 3, 233, 5, 230, 6, 38, 0, 36, 0, 0, 0, 7, 1, 101, 4, 203, 0, 10, 255, 255, 0, 73, 254, 138, 4, 138, 5, 198, 6, 38, 0, 16, 0, 0, 0, 7, 1, 101, 4, 156, 255, 247, 255, 255, 0, 81, 254, 133, 4, 66, 4, 81, 6, 38, 0, 42, 0, 0, 0, 7, 1, 101, 4, 150, 255, 242, 255, 255, 0, 73, 255, 234, 4, 138, 7, 219, 6, 38, 0, 16, 0, 0, 0, 7, 1, 118, 4, 221, 1, 87, 255, 255, 0, 81, 255, 232, 4, 66, 6, 132, 6, 38, 0, 42, 0, 0, 0, 7, 1, 118, 4, 167, 0, 0, 255, 255, 0, 73, 255, 234, 5, 226, 7, 248, 6, 38, 0, 16, 0, 0, 0, 7, 2, 76, 0, 31, 1, 115, 255, 255, 0, 81, 255, 232, 5, 173, 6, 161, 6, 38, 0, 42, 0, 0, 0, 6, 2, 76, 234, 28, 255, 255, 0, 73, 255, 234, 4, 138, 7, 231, 6, 38, 0, 16, 0, 0, 0, 7, 2, 75, 0, 6, 1, 86, 255, 255, 0, 81, 255, 232, 4, 66, 6, 145, 6, 38, 0, 42, 0, 0, 0, 6, 2, 75, 209, 0, 255, 255, 0, 73, 255, 234, 5, 93, 8, 4, 6, 38, 0, 16, 0, 0, 0, 7, 2, 74, 0, 26, 1, 82, 255, 255, 0, 81, 255, 232, 5, 40, 6, 174, 6, 38, 0, 42, 0, 0, 0, 6, 2, 74, 229, 252, 255, 255, 0, 73, 255, 234, 4, 138, 8, 64, 6, 38, 0, 16, 0, 0, 0, 7, 2, 73, 0, 16, 1, 80, 255, 255, 0, 81, 255, 232, 4, 66, 6, 234, 6, 38, 0, 42, 0, 0, 0, 6, 2, 73, 219, 250, 255, 255, 0, 73, 254, 138, 4, 138, 7, 94, 6, 38, 0, 16, 0, 0, 0, 39, 1, 92, 0, 176, 1, 114, 0, 7, 1, 101, 4, 156, 255, 247, 255, 255, 0, 81, 254, 133, 4, 66, 6, 7, 6, 38, 0, 42, 0, 0, 0, 38, 1, 92, 122, 27, 0, 7, 1, 101, 4, 150, 255, 242, 255, 255, 0, 86, 255, 234, 5, 80, 7, 39, 6, 38, 0, 216, 0, 0, 0, 7, 1, 91, 0, 195, 1, 97, 255, 255, 0, 70, 255, 232, 4, 221, 5, 221, 6, 38, 1, 53, 0, 0, 0, 6, 1, 91, 123, 23, 255, 255, 0, 86, 255, 234, 5, 80, 7, 42, 6, 38, 0, 216, 0, 0, 0, 7, 1, 90, 255, 178, 1, 100, 255, 255, 0, 70, 255, 232, 4, 221, 5, 224, 6, 38, 1, 53, 0, 0, 0, 7, 1, 90, 255, 106, 0, 26, 255, 255, 0, 86, 255, 234, 5, 80, 7, 206, 6, 38, 0, 216, 0, 0, 0, 7, 1, 118, 4, 229, 1, 74, 255, 255, 0, 70, 255, 232, 4, 221, 6, 132, 6, 38, 1, 53, 0, 0, 0, 7, 1, 118, 4, 157, 0, 0, 255, 255, 0, 86, 255, 234, 5, 80, 7, 107, 6, 38, 0, 216, 0, 0, 0, 7, 1, 93, 0, 203, 1, 102, 255, 255, 0, 70, 255, 232, 4, 221, 6, 33, 6, 38, 1, 53, 0, 0, 0, 7, 1, 93, 0, 131, 0, 28, 255, 255, 0, 86, 254, 147, 5, 80, 5, 224, 6, 38, 0, 216, 0, 0, 0, 7, 1, 101, 4, 144, 0, 0, 255, 255, 0, 70, 254, 138, 4, 221, 4, 157, 6, 38, 1, 53, 0, 0, 0, 7, 1, 101, 4, 147, 255, 247, 255, 255, 0, 94, 254, 140, 4, 193, 5, 176, 6, 38, 0, 22, 0, 0, 0, 7, 1, 101, 4, 150, 255, 249, 255, 255, 0, 113, 254, 147, 4, 127, 4, 58, 6, 38, 0, 48, 0, 0, 0, 7, 1, 101, 4, 60, 0, 0, 255, 255, 0, 94, 255, 233, 4, 193, 7, 195, 6, 38, 0, 22, 0, 0, 0, 7, 1, 118, 4, 225, 1, 63, 255, 255, 0, 113, 255, 233, 4, 127, 6, 112, 6, 38, 0, 48, 0, 0, 0, 7, 1, 118, 4, 165, 255, 236, 255, 255, 0, 101, 255, 233, 6, 33, 7, 31, 6, 38, 0, 236, 0, 0, 0, 7, 1, 91, 0, 200, 1, 89, 255, 255, 0, 85, 255, 234, 5, 143, 5, 200, 6, 38, 1, 73, 0, 0, 0, 6, 1, 91, 123, 2, 255, 255, 0, 101, 255, 233, 6, 33, 7, 34, 6, 38, 0, 236, 0, 0, 0, 7, 1, 90, 255, 183, 1, 92, 255, 255, 0, 85, 255, 234, 5, 143, 5, 203, 6, 38, 1, 73, 0, 0, 0, 7, 1, 90, 255, 106, 0, 5, 255, 255, 0, 101, 255, 233, 6, 33, 7, 198, 6, 38, 0, 236, 0, 0, 0, 7, 1, 118, 4, 234, 1, 66, 255, 255, 0, 85, 255, 234, 5, 143, 6, 112, 6, 38, 1, 73, 0, 0, 0, 7, 1, 118, 4, 157, 255, 236, 255, 255, 0, 101, 255, 233, 6, 33, 7, 99, 6, 38, 0, 236, 0, 0, 0, 7, 1, 93, 0, 208, 1, 94, 255, 255, 0, 85, 255, 234, 5, 143, 6, 12, 6, 38, 1, 73, 0, 0, 0, 7, 1, 93, 0, 131, 0, 7, 255, 255, 0, 101, 254, 138, 6, 33, 5, 230, 6, 38, 0, 236, 0, 0, 0, 7, 1, 101, 4, 169, 255, 247, 255, 255, 0, 85, 254, 147, 5, 143, 4, 156, 6, 38, 1, 73, 0, 0, 0, 7, 1, 101, 4, 57, 0, 0, 255, 255, 0, 186, 254, 186, 5, 63, 5, 176, 6, 38, 0, 26, 0, 0, 0, 7, 1, 101, 4, 172, 0, 39, 255, 255, 0, 0, 254, 33, 5, 3, 4, 58, 6, 38, 0, 52, 0, 0, 0, 7, 1, 101, 5, 164, 255, 142, 255, 255, 0, 186, 0, 0, 5, 63, 7, 198, 6, 38, 0, 26, 0, 0, 0, 7, 1, 118, 4, 229, 1, 66, 255, 255, 0, 0, 254, 72, 5, 3, 6, 112, 6, 38, 0, 52, 0, 0, 0, 7, 1, 118, 4, 188, 255, 236, 255, 255, 0, 186, 0, 0, 5, 63, 7, 99, 6, 38, 0, 26, 0, 0, 0, 7, 1, 93, 0, 203, 1, 94, 255, 255, 0, 0, 254, 72, 5, 3, 6, 12, 6, 38, 0, 52, 0, 0, 0, 7, 1, 93, 0, 162, 0, 7, 255, 255, 0, 16, 254, 190, 5, 71, 6, 0, 4, 38, 0, 31, 241, 0, 0, 39, 2, 106, 1, 91, 2, 60, 0, 6, 0, 102, 15, 151, 255, 255, 0, 42, 254, 157, 5, 48, 5, 176, 6, 38, 2, 113, 0, 0, 0, 7, 2, 110, 1, 241, 0, 1, 255, 255, 0, 24, 254, 156, 4, 229, 4, 58, 6, 38, 1, 186, 0, 0, 0, 7, 2, 110, 2, 37, 0, 0, 255, 255, 0, 15, 254, 156, 4, 185, 5, 176, 6, 38, 0, 9, 0, 0, 0, 7, 2, 110, 1, 217, 0, 0, 255, 255, 0, 13, 254, 156, 4, 142, 4, 58, 6, 38, 1, 189, 0, 0, 0, 7, 2, 110, 1, 217, 0, 0, 255, 255, 0, 134, 254, 156, 5, 35, 5, 176, 6, 38, 0, 21, 0, 0, 0, 7, 2, 110, 0, 130, 0, 0, 255, 255, 0, 134, 254, 156, 4, 227, 4, 58, 6, 38, 1, 191, 0, 0, 0, 7, 2, 110, 0, 184, 0, 0, 255, 255, 255, 184, 254, 156, 5, 38, 5, 176, 6, 38, 0, 25, 0, 0, 0, 7, 2, 110, 1, 226, 0, 0, 255, 255, 255, 241, 254, 156, 4, 197, 4, 58, 6, 38, 0, 51, 0, 0, 0, 7, 2, 110, 1, 147, 0, 0, 255, 255, 0, 213, 254, 156, 4, 211, 5, 176, 6, 38, 1, 170, 0, 0, 0, 7, 2, 110, 1, 250, 0, 0, 255, 255, 0, 137, 254, 156, 4, 179, 4, 58, 6, 38, 1, 194, 0, 0, 0, 7, 2, 110, 1, 254, 0, 0, 255, 255, 0, 213, 254, 156, 4, 211, 5, 176, 6, 38, 1, 170, 0, 0, 0, 7, 2, 110, 0, 136, 0, 0, 255, 255, 0, 137, 254, 156, 4, 148, 4, 58, 6, 38, 1, 194, 0, 0, 0, 7, 2, 110, 0, 139, 0, 0, 255, 255, 0, 32, 254, 156, 4, 176, 5, 176, 6, 38, 1, 123, 0, 0, 0, 7, 2, 110, 255, 87, 0, 0, 255, 255, 0, 34, 254, 156, 4, 103, 4, 58, 6, 38, 1, 181, 0, 0, 0, 7, 2, 110, 255, 34, 0, 0, 255, 255, 255, 139, 254, 156, 5, 34, 5, 176, 6, 38, 1, 164, 0, 0, 0, 7, 2, 110, 2, 30, 0, 0, 255, 255, 255, 179, 254, 156, 4, 207, 4, 58, 6, 38, 1, 183, 0, 0, 0, 7, 2, 110, 2, 22, 0, 0, 255, 255, 0, 38, 254, 16, 4, 157, 5, 197, 6, 38, 2, 10, 0, 0, 0, 7, 2, 110, 0, 68, 255, 116, 255, 255, 0, 61, 254, 19, 4, 118, 4, 81, 6, 38, 2, 11, 0, 0, 0, 7, 2, 110, 0, 77, 255, 119, 255, 255, 0, 32, 0, 0, 4, 68, 6, 0, 6, 6, 0, 35, 0, 0, 0, 2, 0, 29, 255, 255, 4, 54, 4, 58, 0, 24, 0, 39, 0, 0, 65, 55, 33, 55, 33, 7, 35, 7, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 55, 3, 5, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 7, 39, 2, 215, 32, 254, 224, 17, 254, 241, 17, 114, 32, 114, 139, 2, 38, 86, 171, 70, 70, 91, 6, 5, 63, 56, 56, 149, 80, 249, 14, 52, 1, 21, 31, 56, 20, 19, 18, 6, 6, 42, 29, 30, 70, 35, 251, 3, 35, 180, 99, 99, 180, 252, 221, 1, 41, 45, 44, 138, 97, 90, 131, 43, 43, 44, 2, 1, 85, 254, 204, 1, 1, 15, 15, 16, 49, 35, 39, 54, 16, 17, 15, 1, 1, 0, 0, 2, 0, 22, 255, 255, 4, 45, 5, 176, 0, 24, 0, 39, 0, 0, 65, 55, 35, 55, 33, 7, 35, 7, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 55, 3, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 2, 201, 32, 228, 33, 254, 237, 33, 170, 32, 171, 189, 1, 192, 110, 204, 81, 81, 104, 10, 9, 66, 63, 64, 176, 100, 143, 29, 68, 172, 49, 78, 27, 26, 23, 7, 8, 53, 40, 41, 104, 58, 145, 4, 66, 180, 186, 186, 180, 251, 190, 1, 60, 60, 59, 177, 117, 108, 164, 56, 56, 59, 2, 1, 172, 254, 114, 1, 2, 30, 27, 28, 78, 51, 60, 93, 32, 32, 34, 2, 0, 2, 0, 22, 255, 255, 4, 45, 5, 176, 0, 24, 0, 39, 0, 0, 65, 55, 35, 55, 33, 7, 35, 7, 51, 3, 33, 22, 54, 55, 54, 54, 55, 54, 38, 39, 38, 38, 39, 39, 55, 3, 23, 22, 22, 23, 22, 22, 7, 6, 6, 7, 6, 6, 35, 39, 2, 201, 32, 228, 33, 254, 237, 33, 170, 32, 171, 189, 1, 192, 110, 204, 81, 81, 104, 10, 9, 66, 63, 64, 176, 100, 143, 29, 68, 172, 49, 78, 27, 26, 23, 7, 8, 53, 40, 41, 104, 58, 145, 4, 66, 180, 186, 186, 180, 251, 190, 1, 60, 60, 59, 177, 117, 108, 164, 56, 56, 59, 2, 1, 172, 254, 114, 1, 2, 30, 27, 28, 78, 51, 60, 93, 32, 32, 34, 2, 0, 1, 255, 241, 0, 0, 4, 176, 5, 176, 0, 13, 0, 0, 65, 55, 35, 19, 33, 55, 33, 3, 35, 7, 51, 3, 33, 19, 2, 146, 32, 238, 67, 2, 129, 40, 252, 109, 107, 161, 32, 162, 115, 1, 18, 115, 2, 151, 180, 1, 129, 228, 253, 155, 180, 253, 105, 2, 151, 0, 0, 1, 255, 186, 0, 0, 4, 103, 4, 58, 0, 13, 0, 0, 65, 55, 35, 55, 33, 55, 33, 3, 35, 7, 51, 3, 33, 19, 2, 91, 32, 221, 39, 2, 122, 40, 252, 119, 78, 182, 32, 183, 79, 1, 14, 79, 1, 199, 180, 221, 226, 254, 65, 180, 254, 57, 1, 199, 0, 1, 0, 52, 0, 0, 5, 58, 5, 176, 0, 20, 0, 0, 65, 55, 35, 55, 33, 7, 35, 7, 51, 3, 33, 19, 51, 19, 33, 1, 1, 33, 1, 7, 19, 2, 225, 32, 216, 26, 254, 237, 24, 184, 32, 185, 197, 1, 18, 104, 119, 235, 1, 47, 254, 210, 2, 41, 254, 180, 254, 30, 63, 59, 4, 113, 180, 139, 139, 180, 251, 143, 2, 86, 253, 170, 2, 231, 2, 201, 253, 126, 1, 1, 68, 0, 0, 1, 0, 55, 0, 0, 4, 195, 6, 0, 0, 20, 0, 0, 65, 55, 35, 55, 33, 7, 35, 7, 51, 3, 33, 19, 55, 19, 33, 1, 1, 33, 1, 7, 19, 2, 231, 32, 208, 26, 254, 241, 26, 194, 32, 195, 210, 1, 15, 56, 152, 219, 1, 60, 254, 176, 1, 230, 254, 168, 254, 169, 90, 93, 4, 184, 180, 148, 148, 180, 251, 72, 1, 64, 125, 254, 67, 2, 108, 1, 206, 254, 188, 87, 2, 25, 255, 255, 0, 3, 254, 91, 4, 185, 7, 44, 6, 38, 1, 166, 0, 0, 0, 39, 1, 95, 0, 36, 1, 137, 0, 7, 0, 95, 2, 68, 255, 241, 255, 255, 0, 13, 254, 91, 4, 183, 5, 247, 6, 38, 1, 185, 0, 0, 0, 38, 1, 95, 242, 84, 0, 7, 0, 95, 2, 66, 255, 241, 255, 255, 0, 15, 254, 91, 4, 185, 5, 176, 6, 38, 0, 9, 0, 0, 0, 7, 0, 95, 2, 65, 255, 241, 255, 255, 0, 13, 254, 91, 4, 182, 4, 58, 6, 38, 1, 189, 0, 0, 0, 7, 0, 95, 2, 65, 255, 241, 255, 255, 0, 18, 254, 91, 4, 225, 5, 176, 6, 38, 0, 14, 0, 0, 0, 7, 0, 95, 2, 108, 255, 241, 255, 255, 0, 5, 254, 91, 4, 209, 4, 58, 6, 38, 1, 188, 0, 0, 0, 7, 0, 95, 2, 92, 255, 241, 255, 255, 255, 196, 254, 91, 4, 199, 5, 176, 6, 38, 1, 167, 0, 0, 0, 7, 0, 95, 2, 82, 255, 241, 255, 255, 255, 195, 254, 91, 4, 182, 4, 58, 6, 38, 1, 187, 0, 0, 0, 7, 0, 95, 2, 65, 255, 241, 0, 1, 0, 186, 0, 0, 5, 63, 5, 176, 0, 15, 0, 0, 65, 55, 35, 1, 33, 1, 49, 3, 33, 19, 35, 7, 51, 3, 33, 19, 3, 156, 32, 95, 1, 226, 254, 199, 254, 118, 162, 254, 224, 220, 123, 32, 205, 90, 1, 17, 92, 2, 11, 180, 2, 241, 253, 99, 2, 157, 253, 15, 180, 253, 245, 2, 11, 0, 0, 1, 0, 127, 254, 95, 4, 236, 4, 58, 0, 17, 0, 0, 101, 55, 35, 1, 33, 1, 7, 49, 39, 3, 33, 19, 35, 7, 51, 3, 33, 19, 3, 77, 32, 136, 2, 7, 254, 219, 254, 114, 30, 1, 137, 254, 238, 209, 132, 32, 194, 74, 1, 15, 74, 7, 180, 3, 127, 253, 1, 73, 67, 3, 5, 252, 129, 180, 254, 88, 1, 168, 0, 1, 255, 184, 0, 0, 5, 38, 5, 176, 0, 17, 0, 0, 65, 55, 35, 1, 33, 1, 3, 33, 19, 35, 7, 51, 1, 33, 1, 19, 33, 1, 3, 188, 32, 109, 1, 183, 254, 178, 254, 180, 165, 254, 204, 244, 108, 32, 112, 254, 45, 1, 80, 1, 84, 176, 1, 51, 254, 250, 2, 144, 180, 2, 108, 253, 248, 2, 8, 253, 148, 180, 253, 112, 2, 16, 253, 240, 2, 144, 0, 1, 255, 241, 0, 0, 4, 197, 4, 58, 0, 17, 0, 0, 65, 55, 35, 1, 33, 1, 3, 33, 19, 35, 7, 51, 1, 33, 1, 19, 33, 3, 3, 155, 32, 92, 1, 102, 254, 206, 254, 229, 173, 254, 235, 221, 121, 32, 115, 254, 132, 1, 52, 1, 38, 186, 1, 21, 235, 1, 209, 180, 1, 181, 254, 175, 1, 81, 254, 75, 180, 254, 47, 1, 97, 254, 159, 1, 209, 0, 255, 255, 0, 75, 255, 235, 4, 138, 4, 79, 6, 6, 1, 137, 0, 0, 0, 1, 0, 54, 2, 89, 4, 169, 3, 60, 0, 3, 0, 0, 65, 55, 33, 7, 4, 117, 52, 251, 193, 52, 2, 89, 227, 227, 0, 0, 0, 1, 0, 0, 3, 231, 0, 208, 0, 22, 0, 144, 0, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 29, 0, 125, 0, 229, 1, 47, 1, 75, 1, 100, 1, 202, 1, 230, 2, 1, 2, 53, 2, 86, 2, 104, 2, 138, 2, 163, 3, 30, 3, 89, 3, 217, 4, 26, 4, 146, 4, 167, 4, 222, 4, 245, 5, 25, 5, 57, 5, 82, 5, 107, 5, 235, 6, 91, 6, 190, 7, 42, 7, 128, 7, 181, 8, 60, 8, 119, 8, 160, 8, 222, 8, 255, 9, 23, 9, 109, 9, 165, 10, 5, 10, 119, 10, 232, 11, 22, 11, 148, 11, 202, 11, 255, 12, 22, 12, 58, 12, 90, 12, 142, 12, 167, 13, 43, 13, 62, 13, 136, 14, 4, 14, 39, 14, 120, 14, 240, 15, 4, 15, 159, 16, 28, 16, 48, 16, 116, 16, 231, 17, 90, 17, 177, 18, 16, 18, 71, 18, 221, 19, 4, 19, 186, 20, 28, 20, 241, 21, 113, 21, 174, 22, 36, 22, 69, 22, 191, 23, 29, 23, 123, 23, 230, 24, 56, 24, 107, 24, 186, 24, 198, 25, 35, 25, 139, 26, 1, 26, 51, 26, 84, 26, 176, 27, 23, 27, 50, 27, 72, 27, 84, 27, 96, 27, 112, 27, 136, 27, 182, 27, 196, 27, 210, 27, 224, 27, 238, 27, 255, 28, 26, 28, 53, 28, 80, 28, 102, 28, 115, 28, 128, 28, 171, 28, 179, 28, 187, 28, 251, 29, 54, 29, 75, 29, 96, 29, 178, 29, 254, 30, 18, 30, 38, 30, 66, 30, 80, 30, 115, 30, 146, 30, 194, 30, 216, 30, 253, 31, 136, 31, 161, 31, 185, 31, 218, 31, 250, 32, 12, 32, 28, 32, 43, 32, 59, 32, 232, 33, 223, 33, 239, 34, 5, 34, 33, 34, 73, 34, 246, 35, 139, 35, 182, 36, 5, 36, 41, 36, 97, 36, 213, 37, 174, 38, 152, 38, 185, 38, 206, 39, 31, 39, 43, 39, 55, 39, 67, 39, 79, 39, 91, 39, 103, 39, 175, 39, 187, 39, 199, 39, 211, 39, 223, 39, 235, 39, 247, 40, 2, 40, 14, 40, 26, 40, 103, 40, 115, 40, 127, 40, 139, 40, 151, 40, 163, 40, 175, 40, 187, 40, 199, 40, 252, 41, 68, 41, 145, 41, 157, 41, 169, 41, 181, 41, 228, 41, 240, 41, 252, 42, 8, 42, 20, 42, 32, 42, 44, 42, 56, 42, 68, 42, 139, 42, 151, 42, 163, 42, 175, 42, 187, 42, 199, 42, 211, 42, 223, 42, 254, 43, 10, 43, 22, 43, 34, 43, 46, 43, 58, 43, 70, 43, 82, 43, 94, 43, 106, 43, 249, 44, 5, 44, 17, 44, 159, 44, 171, 44, 183, 44, 195, 44, 207, 44, 219, 44, 231, 44, 243, 44, 254, 45, 10, 45, 43, 45, 55, 45, 67, 45, 79, 45, 91, 45, 103, 45, 115, 45, 191, 45, 203, 45, 215, 46, 56, 46, 68, 46, 80, 46, 92, 46, 104, 46, 116, 46, 128, 46, 140, 46, 152, 46, 164, 46, 176, 46, 188, 46, 200, 46, 212, 46, 223, 46, 234, 46, 245, 47, 0, 47, 12, 47, 23, 47, 194, 47, 206, 47, 217, 47, 228, 47, 240, 47, 252, 48, 7, 48, 18, 48, 30, 48, 42, 48, 161, 48, 172, 48, 183, 48, 194, 48, 205, 48, 216, 48, 227, 48, 239, 48, 250, 49, 76, 49, 205, 49, 216, 49, 227, 49, 239, 50, 52, 50, 64, 50, 76, 50, 87, 50, 99, 50, 110, 50, 121, 50, 132, 50, 236, 50, 248, 51, 4, 51, 16, 51, 28, 51, 40, 51, 52, 51, 64, 51, 103, 51, 114, 51, 125, 51, 137, 51, 149, 51, 161, 51, 172, 51, 183, 51, 194, 51, 206, 52, 71, 52, 83, 52, 94, 52, 211, 52, 222, 52, 234, 52, 245, 53, 0, 53, 12, 53, 23, 53, 34, 53, 45, 53, 56, 53, 124, 53, 136, 53, 148, 53, 159, 53, 170, 53, 181, 53, 193, 54, 15, 54, 27, 54, 38, 54, 138, 54, 150, 54, 162, 54, 173, 54, 184, 54, 195, 54, 207, 54, 219, 54, 231, 54, 242, 54, 253, 55, 9, 55, 20, 55, 31, 55, 46, 55, 61, 55, 83, 55, 145, 55, 159, 55, 206, 55, 230, 56, 15, 56, 92, 56, 116, 56, 137, 56, 159, 56, 213, 57, 8, 57, 30, 57, 30, 57, 43, 57, 103, 57, 116, 57, 140, 57, 198, 58, 38, 58, 79, 58, 124, 58, 196, 58, 211, 58, 226, 58, 235, 59, 29, 59, 52, 59, 67, 59, 118, 59, 126, 59, 144, 59, 171, 60, 46, 60, 67, 60, 96, 60, 117, 60, 148, 60, 245, 61, 55, 61, 177, 62, 61, 62, 190, 62, 219, 63, 112, 63, 251, 64, 90, 64, 148, 65, 22, 65, 67, 65, 145, 66, 35, 66, 88, 66, 193, 67, 46, 67, 139, 67, 186, 67, 251, 68, 122, 68, 201, 69, 88, 69, 223, 70, 47, 70, 187, 71, 13, 71, 125, 71, 231, 72, 44, 72, 108, 72, 137, 72, 198, 73, 1, 73, 47, 73, 176, 73, 203, 74, 2, 74, 54, 74, 82, 74, 131, 74, 159, 74, 193, 74, 254, 75, 64, 75, 122, 75, 233, 76, 113, 76, 177, 77, 48, 77, 157, 77, 175, 77, 233, 78, 23, 78, 163, 78, 190, 78, 223, 79, 18, 79, 48, 79, 76, 79, 97, 79, 118, 79, 222, 79, 250, 80, 42, 80, 69, 80, 102, 80, 163, 80, 230, 81, 33, 81, 127, 82, 5, 82, 71, 82, 172, 83, 14, 83, 107, 83, 177, 83, 247, 84, 20, 84, 140, 85, 4, 85, 75, 85, 210, 86, 75, 86, 113, 86, 151, 86, 199, 86, 247, 87, 73, 87, 150, 87, 241, 88, 65, 88, 218, 89, 123, 89, 254, 90, 91, 90, 137, 90, 187, 91, 100, 92, 9, 92, 149, 93, 1, 93, 246, 94, 210, 95, 87, 95, 222, 96, 58, 96, 132, 96, 175, 96, 195, 96, 255, 97, 16, 97, 33, 98, 96, 98, 183, 98, 251, 99, 117, 99, 139, 99, 161, 99, 221, 100, 33, 100, 75, 100, 115, 100, 150, 100, 184, 100, 216, 100, 248, 101, 73, 101, 137, 102, 66, 102, 231, 103, 9, 103, 43, 103, 100, 103, 157, 103, 205, 104, 90, 104, 217, 105, 26, 105, 90, 105, 144, 105, 198, 106, 63, 106, 143, 106, 223, 106, 238, 106, 253, 107, 55, 107, 152, 108, 69, 108, 199, 109, 68, 109, 185, 110, 42, 110, 155, 111, 11, 111, 101, 111, 191, 112, 40, 112, 125, 112, 201, 113, 20, 113, 143, 113, 143, 113, 143, 113, 143, 113, 143, 113, 143, 113, 143, 113, 143, 113, 143, 113, 143, 113, 143, 113, 143, 113, 143, 113, 155, 113, 182, 113, 195, 113, 228, 114, 24, 114, 125, 115, 41, 115, 153, 116, 31, 116, 124, 117, 42, 118, 55, 119, 29, 119, 202, 120, 80, 120, 103, 120, 134, 120, 161, 121, 140, 121, 207, 121, 243, 121, 243, 122, 255, 123, 95, 123, 170, 123, 231, 124, 1, 124, 28, 124, 81, 124, 108, 124, 139, 124, 235, 125, 71, 125, 127, 125, 154, 125, 179, 126, 15, 126, 43, 126, 70, 126, 122, 126, 155, 126, 173, 126, 203, 126, 228, 127, 77, 127, 174, 127, 240, 128, 125, 128, 146, 128, 201, 128, 226, 129, 9, 129, 41, 129, 70, 129, 95, 129, 191, 129, 245, 130, 3, 130, 86, 130, 119, 130, 222, 130, 237, 131, 21, 131, 80, 131, 113, 131, 212, 131, 220, 131, 228, 131, 240, 131, 251, 132, 7, 132, 18, 132, 30, 132, 42, 132, 54, 132, 66, 132, 78, 132, 89, 132, 100, 132, 111, 132, 123, 132, 135, 132, 146, 132, 158, 132, 169, 132, 180, 132, 192, 132, 203, 132, 215, 132, 226, 132, 237, 132, 248, 133, 3, 133, 14, 133, 25, 133, 36, 133, 48, 133, 60, 133, 71, 133, 83, 133, 95, 133, 106, 133, 117, 133, 129, 133, 140, 133, 151, 133, 163, 133, 175, 133, 186, 133, 197, 133, 208, 133, 219, 134, 37, 134, 48, 134, 59, 134, 70, 134, 81, 134, 92, 134, 103, 134, 114, 134, 185, 134, 196, 134, 207, 134, 218, 134, 230, 134, 241, 134, 252, 135, 7, 135, 18, 135, 89, 135, 100, 135, 112, 135, 124, 135, 136, 135, 148, 135, 160, 135, 172, 135, 183, 135, 195, 135, 206, 135, 217, 135, 228, 135, 239, 135, 250, 136, 6, 136, 17, 136, 29, 136, 40, 136, 51, 136, 62, 136, 73, 136, 85, 136, 96, 136, 107, 136, 119, 136, 131, 136, 228, 136, 239, 136, 250, 137, 5, 137, 16, 137, 27, 137, 38, 137, 50, 137, 62, 137, 74, 137, 86, 137, 98, 137, 110, 137, 122, 137, 133, 137, 141, 137, 149, 137, 157, 137, 165, 137, 173, 137, 181, 137, 189, 137, 197, 137, 205, 137, 213, 137, 221, 137, 229, 137, 237, 137, 245, 138, 1, 138, 13, 138, 24, 138, 35, 138, 46, 138, 57, 138, 68, 138, 76, 138, 84, 138, 92, 138, 100, 138, 108, 138, 119, 138, 130, 138, 141, 138, 152, 138, 163, 138, 175, 138, 187, 139, 60, 139, 68, 139, 80, 139, 88, 139, 96, 139, 108, 139, 120, 139, 128, 139, 136, 139, 144, 139, 152, 139, 164, 139, 172, 139, 180, 139, 188, 139, 196, 139, 204, 139, 212, 139, 220, 139, 228, 139, 236, 139, 244, 139, 252, 140, 7, 140, 15, 140, 23, 140, 118, 140, 126, 140, 134, 140, 145, 140, 156, 140, 164, 140, 172, 140, 183, 140, 191, 140, 202, 140, 213, 140, 226, 140, 237, 140, 245, 141, 1, 141, 13, 141, 24, 141, 35, 141, 47, 141, 59, 141, 71, 141, 83, 141, 95, 141, 103, 141, 111, 141, 123, 141, 135, 141, 147, 141, 159, 141, 171, 141, 183, 141, 191, 141, 199, 141, 207, 141, 219, 141, 230, 141, 238, 141, 250, 142, 5, 142, 17, 142, 28, 142, 36, 142, 44, 142, 56, 142, 67, 142, 79, 142, 87, 142, 98, 142, 110, 142, 121, 142, 133, 142, 144, 142, 156, 142, 167, 142, 179, 142, 190, 142, 202, 142, 213, 142, 221, 142, 229, 142, 241, 142, 252, 143, 8, 143, 19, 143, 31, 143, 42, 143, 54, 143, 65, 143, 77, 143, 89, 143, 101, 143, 112, 143, 124, 143, 135, 143, 147, 143, 159, 143, 167, 143, 179, 143, 191, 143, 203, 143, 215, 143, 227, 143, 239, 143, 251, 144, 6, 144, 18, 144, 29, 144, 41, 144, 52, 144, 64, 144, 75, 144, 91, 144, 106, 144, 118, 144, 129, 144, 141, 144, 152, 144, 164, 144, 175, 144, 187, 144, 198, 144, 214, 144, 229, 144, 241, 144, 253, 145, 9, 145, 21, 145, 33, 145, 44, 145, 56, 145, 67, 145, 79, 145, 90, 145, 102, 145, 113, 145, 125, 145, 136, 145, 152, 145, 167, 145, 179, 145, 191, 145, 203, 145, 215, 145, 227, 145, 239, 145, 251, 146, 7, 146, 19, 146, 30, 146, 42, 146, 53, 146, 65, 146, 76, 146, 88, 146, 99, 146, 115, 146, 130, 146, 142, 146, 153, 146, 165, 146, 177, 146, 189, 146, 201, 146, 213, 146, 225, 146, 237, 146, 249, 147, 5, 147, 17, 147, 29, 147, 41, 147, 53, 147, 64, 147, 76, 147, 88, 147, 100, 147, 112, 147, 124, 147, 136, 147, 148, 147, 160, 147, 172, 147, 184, 147, 196, 147, 208, 147, 220, 147, 232, 147, 247, 148, 3, 148, 15, 148, 27, 148, 39, 148, 51, 148, 63, 148, 75, 148, 87, 148, 99, 148, 111, 148, 123, 148, 135, 148, 147, 148, 159, 148, 171, 148, 183, 148, 195, 148, 207, 148, 215, 149, 29, 149, 97, 149, 165, 149, 195, 149, 224, 150, 11, 150, 54, 150, 70, 150, 85, 150, 97, 150, 109, 150, 121, 150, 133, 150, 145, 150, 157, 150, 191, 150, 227, 151, 11, 151, 51, 151, 59, 151, 73, 0, 1, 0, 0, 0, 3, 0, 0, 25, 88, 56, 236, 95, 15, 60, 245, 0, 11, 8, 0, 0, 0, 0, 0, 196, 240, 17, 46, 0, 0, 0, 0, 218, 216, 63, 171, 252, 172, 253, 213, 6, 164, 8, 98, 0, 3, 0, 9, 0, 2, 0, 0, 0, 0, 0, 0, 4, 178, 0, 0, 0, 0, 255, 174, 0, 20, 0, 74, 0, 17, 0, 38, 0, 40, 0, 82, 0, 15, 0, 82, 0, 71, 0, 20, 0, 41, 0, 18, 0, 15, 0, 73, 0, 40, 0, 71, 0, 22, 0, 57, 0, 134, 0, 94, 0, 167, 0, 127, 255, 184, 0, 186, 255, 248, 0, 58, 0, 38, 0, 96, 0, 91, 0, 85, 0, 169, 0, 26, 0, 32, 0, 104, 0, 48, 0, 35, 0, 88, 255, 224, 0, 32, 0, 81, 255, 220, 0, 92, 0, 174, 0, 74, 0, 169, 0, 113, 0, 149, 0, 112, 255, 241, 0, 0, 0, 20, 0, 124, 0, 233, 0, 3, 0, 52, 0, 19, 0, 76, 0, 85, 0, 125, 0, 63, 0, 142, 1, 223, 1, 61, 1, 79, 1, 61, 1, 72, 0, 138, 0, 177, 0, 104, 255, 193, 255, 245, 0, 47, 0, 6, 0, 7, 0, 27, 255, 220, 0, 50, 0, 52, 0, 119, 0, 89, 0, 121, 0, 10, 0, 77, 255, 248, 255, 189, 0, 4, 0, 15, 255, 255, 1, 96, 1, 55, 0, 243, 0, 84, 0, 190, 1, 78, 1, 92, 1, 8, 0, 22, 1, 241, 1, 163, 0, 1, 1, 5, 0, 58, 0, 54, 1, 248, 1, 79, 2, 35, 2, 24, 1, 49, 1, 131, 1, 119, 0, 166, 1, 248, 1, 79, 1, 58, 0, 163, 0, 241, 0, 241, 1, 36, 0, 193, 1, 110, 1, 28, 0, 88, 0, 144, 0, 72, 0, 114, 0, 99, 0, 98, 0, 92, 0, 91, 0, 136, 0, 75, 0, 78, 0, 72, 0, 184, 0, 82, 1, 129, 0, 217, 0, 122, 0, 96, 1, 102, 1, 66, 0, 141, 0, 30, 0, 66, 0, 69, 0, 240, 1, 192, 0, 158, 0, 6, 0, 25, 0, 41, 255, 218, 1, 12, 0, 215, 0, 8, 255, 174, 255, 174, 255, 174, 255, 174, 255, 174, 255, 174, 255, 174, 255, 174, 255, 174, 255, 174, 255, 193, 0, 74, 0, 74, 0, 74, 0, 74, 0, 17, 255, 222, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 38, 0, 39, 0, 38, 255, 222, 0, 82, 0, 82, 0, 82, 255, 222, 0, 15, 0, 82, 0, 82, 0, 82, 0, 82, 0, 82, 0, 82, 0, 82, 0, 82, 0, 82, 0, 71, 0, 20, 0, 41, 0, 41, 0, 41, 0, 41, 0, 43, 0, 15, 0, 15, 0, 15, 0, 15, 0, 73, 0, 73, 0, 73, 0, 73, 0, 73, 0, 86, 0, 73, 0, 73, 255, 174, 255, 174, 0, 73, 0, 22, 0, 22, 0, 22, 0, 57, 0, 57, 0, 57, 0, 57, 0, 134, 0, 134, 0, 94, 0, 94, 0, 94, 0, 94, 0, 94, 0, 101, 0, 94, 0, 94, 0, 94, 0, 94, 0, 94, 0, 127, 0, 127, 0, 127, 0, 127, 0, 186, 0, 186, 0, 186, 0, 186, 255, 248, 255, 248, 255, 248, 0, 58, 0, 58, 0, 58, 0, 58, 0, 58, 0, 58, 0, 58, 0, 58, 0, 58, 0, 58, 255, 245, 0, 96, 0, 96, 0, 96, 0, 96, 0, 17, 0, 76, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 85, 0, 40, 0, 86, 0, 26, 0, 26, 0, 26, 0, 47, 0, 32, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 88, 0, 104, 0, 88, 0, 51, 0, 35, 0, 88, 0, 13, 0, 88, 0, 13, 0, 102, 0, 32, 0, 32, 0, 32, 0, 32, 0, 81, 0, 81, 0, 81, 0, 81, 0, 81, 0, 70, 0, 81, 0, 81, 0, 70, 0, 70, 0, 81, 0, 174, 0, 174, 0, 87, 0, 74, 0, 74, 0, 74, 0, 74, 0, 161, 0, 149, 0, 113, 0, 113, 0, 113, 0, 113, 0, 113, 0, 85, 0, 113, 0, 113, 0, 113, 0, 113, 0, 113, 0, 112, 0, 112, 0, 112, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 20, 2, 32, 1, 200, 0, 239, 0, 234, 1, 116, 1, 157, 2, 78, 1, 120, 1, 243, 1, 51, 1, 140, 252, 149, 1, 28, 0, 243, 0, 149, 0, 0, 0, 161, 255, 246, 0, 131, 0, 88, 0, 17, 255, 224, 1, 39, 0, 51, 1, 29, 253, 96, 253, 231, 252, 248, 253, 194, 252, 171, 2, 163, 1, 126, 2, 46, 0, 32, 255, 181, 0, 84, 255, 169, 0, 13, 0, 13, 0, 3, 0, 75, 0, 108, 255, 248, 0, 82, 255, 235, 0, 127, 0, 64, 0, 75, 0, 62, 0, 20, 0, 152, 0, 217, 255, 177, 0, 132, 0, 122, 255, 208, 0, 62, 0, 54, 0, 106, 0, 85, 0, 59, 0, 59, 0, 23, 0, 110, 0, 204, 0, 5, 0, 138, 0, 83, 255, 195, 255, 240, 0, 146, 0, 1, 0, 22, 255, 177, 255, 139, 0, 35, 0, 3, 255, 196, 255, 251, 0, 1, 0, 213, 255, 230, 255, 230, 0, 159, 255, 223, 0, 22, 0, 1, 255, 233, 255, 107, 0, 91, 0, 29, 0, 34, 255, 148, 255, 179, 0, 59, 0, 13, 0, 24, 255, 195, 0, 5, 0, 13, 0, 13, 0, 134, 0, 33, 0, 13, 0, 137, 255, 232, 255, 228, 0, 99, 255, 247, 0, 29, 0, 66, 255, 204, 255, 219, 0, 22, 0, 86, 255, 181, 255, 240, 0, 32, 0, 13, 0, 29, 0, 27, 0, 86, 255, 206, 255, 226, 255, 159, 255, 221, 255, 231, 255, 231, 255, 196, 255, 215, 255, 204, 255, 209, 0, 18, 0, 54, 0, 71, 0, 72, 0, 164, 0, 140, 0, 37, 0, 29, 0, 73, 0, 79, 0, 4, 0, 26, 0, 35, 0, 30, 0, 114, 0, 151, 0, 54, 253, 162, 253, 148, 254, 164, 254, 109, 254, 170, 254, 204, 0, 40, 255, 220, 0, 43, 0, 40, 0, 32, 0, 40, 0, 25, 0, 23, 0, 120, 0, 67, 255, 212, 255, 235, 255, 200, 255, 233, 0, 78, 0, 43, 0, 107, 0, 73, 0, 190, 0, 129, 0, 11, 0, 38, 0, 61, 0, 54, 0, 43, 0, 32, 0, 34, 0, 67, 0, 80, 0, 5, 0, 50, 0, 14, 0, 43, 0, 60, 0, 58, 0, 130, 0, 121, 0, 225, 0, 204, 255, 173, 255, 197, 255, 221, 255, 217, 0, 90, 0, 107, 0, 174, 0, 108, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 222, 1, 14, 0, 157, 1, 33, 1, 42, 0, 103, 0, 137, 0, 132, 0, 10, 0, 128, 0, 207, 0, 99, 0, 96, 0, 180, 0, 82, 0, 18, 255, 141, 0, 24, 0, 54, 0, 70, 0, 150, 0, 0, 255, 234, 0, 2, 1, 131, 1, 115, 0, 181, 1, 115, 1, 181, 2, 33, 255, 168, 0, 51, 0, 58, 0, 48, 0, 51, 0, 58, 0, 62, 0, 33, 0, 91, 0, 116, 0, 45, 0, 51, 0, 12, 0, 50, 0, 77, 0, 65, 0, 38, 0, 86, 0, 140, 0, 112, 0, 146, 0, 130, 255, 206, 0, 161, 0, 54, 1, 197, 1, 181, 1, 43, 2, 43, 2, 68, 1, 228, 1, 68, 0, 141, 0, 51, 0, 42, 0, 38, 0, 0, 1, 5, 0, 74, 0, 96, 0, 82, 0, 26, 255, 190, 0, 57, 0, 74, 0, 134, 0, 169, 0, 134, 0, 140, 0, 169, 255, 153, 255, 153, 0, 140, 255, 168, 255, 168, 255, 168, 255, 168, 255, 168, 255, 168, 255, 168, 0, 58, 0, 51, 0, 51, 0, 51, 0, 51, 0, 91, 0, 91, 0, 91, 0, 91, 0, 50, 0, 77, 0, 77, 0, 77, 0, 77, 0, 77, 0, 112, 0, 112, 0, 112, 0, 112, 0, 161, 255, 168, 255, 168, 255, 168, 0, 58, 0, 58, 0, 58, 0, 48, 0, 51, 0, 51, 0, 51, 0, 51, 0, 51, 0, 62, 0, 62, 0, 62, 0, 33, 0, 91, 0, 91, 0, 91, 0, 91, 0, 91, 0, 116, 0, 45, 0, 51, 0, 51, 0, 51, 0, 51, 0, 50, 0, 50, 0, 50, 0, 77, 0, 77, 0, 77, 0, 38, 0, 38, 0, 38, 0, 86, 0, 86, 0, 86, 0, 86, 0, 140, 0, 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, 112, 0, 130, 0, 161, 0, 161, 0, 54, 0, 54, 0, 54, 255, 174, 255, 251, 255, 235, 0, 46, 0, 24, 255, 148, 0, 2, 0, 217, 255, 174, 0, 20, 0, 38, 255, 248, 0, 15, 0, 82, 0, 20, 0, 18, 0, 15, 0, 73, 0, 40, 0, 134, 0, 186, 255, 184, 0, 82, 0, 186, 0, 82, 0, 75, 0, 20, 0, 217, 0, 85, 0, 50, 0, 81, 255, 246, 0, 149, 255, 241, 0, 217, 0, 85, 0, 81, 0, 85, 0, 23, 0, 38, 0, 32, 0, 57, 0, 82, 0, 82, 0, 71, 0, 42, 0, 20, 255, 251, 255, 174, 0, 20, 0, 32, 0, 38, 0, 3, 0, 18, 0, 15, 0, 73, 0, 13, 0, 40, 0, 74, 0, 134, 0, 75, 255, 184, 0, 58, 0, 85, 0, 13, 0, 81, 255, 220, 0, 96, 0, 0, 255, 241, 0, 85, 0, 34, 0, 74, 0, 104, 0, 88, 0, 48, 0, 24, 0, 0, 255, 224, 0, 51, 2, 24, 0, 18, 255, 224, 255, 174, 0, 58, 255, 202, 0, 38, 0, 3, 0, 85, 0, 13, 0, 108, 0, 59, 0, 164, 0, 140, 0, 35, 0, 59, 0, 74, 0, 96, 0, 186, 0, 127, 0, 82, 255, 139, 255, 179, 0, 82, 255, 174, 0, 58, 255, 174, 0, 58, 255, 193, 255, 245, 0, 38, 0, 85, 0, 67, 0, 119, 0, 119, 255, 139, 255, 179, 0, 35, 0, 59, 0, 3, 0, 13, 0, 3, 0, 13, 0, 73, 0, 81, 0, 71, 0, 72, 0, 71, 0, 72, 0, 1, 0, 66, 255, 251, 0, 0, 255, 251, 0, 0, 255, 251, 0, 0, 0, 213, 0, 137, 255, 223, 255, 247, 255, 184, 255, 241, 0, 91, 255, 196, 255, 195, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 255, 174, 0, 58, 0, 38, 0, 85, 0, 38, 0, 85, 0, 38, 0, 85, 0, 38, 0, 85, 0, 38, 0, 85, 0, 38, 0, 85, 0, 38, 0, 85, 0, 38, 0, 85, 0, 82, 0, 88, 0, 82, 0, 104, 0, 73, 0, 81, 0, 73, 0, 81, 0, 73, 0, 81, 0, 73, 0, 81, 0, 73, 0, 81, 0, 73, 0, 81, 0, 73, 0, 81, 0, 86, 0, 70, 0, 86, 0, 70, 0, 86, 0, 70, 0, 86, 0, 70, 0, 86, 0, 70, 0, 94, 0, 113, 0, 94, 0, 113, 0, 101, 0, 85, 0, 101, 0, 85, 0, 101, 0, 85, 0, 101, 0, 85, 0, 101, 0, 85, 0, 186, 0, 0, 0, 186, 0, 0, 0, 186, 0, 0, 0, 16, 0, 42, 0, 24, 0, 15, 0, 13, 0, 134, 0, 134, 255, 184, 255, 241, 0, 213, 0, 137, 0, 213, 0, 137, 0, 32, 0, 34, 255, 139, 255, 179, 0, 38, 0, 61, 0, 32, 0, 29, 0, 22, 0, 22, 255, 241, 255, 186, 0, 52, 0, 55, 0, 3, 0, 13, 0, 15, 0, 13, 0, 18, 0, 5, 255, 196, 255, 195, 0, 186, 0, 127, 255, 184, 255, 241, 0, 75, 0, 54, 0, 1, 0, 0, 8, 98, 253, 213, 0, 0, 4, 178, 252, 172, 254, 14, 6, 164, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 4, 178, 2, 188, 0, 5, 0, 0, 5, 154, 5, 51, 0, 0, 1, 31, 5, 154, 5, 51, 0, 0, 3, 209, 0, 102, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 91, 0, 0, 0, 32, 0, 0, 0, 0, 112, 121, 114, 115, 0, 33, 0, 13, 255, 253, 8, 98, 253, 213, 0, 0, 8, 98, 2, 43, 32, 0, 1, 159, 0, 0, 0, 0, 4, 58, 5, 176, 0, 0, 0, 32, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 20, 0, 3, 0, 1, 0, 0, 0, 20, 0, 4, 7, 60, 0, 0, 0, 190, 0, 128, 0, 6, 0, 62, 0, 13, 0, 47, 0, 57, 0, 64, 0, 90, 0, 96, 0, 122, 0, 126, 1, 127, 1, 146, 1, 161, 1, 176, 1, 240, 1, 255, 2, 27, 2, 55, 2, 89, 2, 188, 2, 199, 2, 201, 2, 221, 2, 243, 3, 1, 3, 3, 3, 9, 3, 15, 3, 35, 3, 138, 3, 140, 3, 146, 3, 161, 3, 176, 3, 185, 3, 201, 3, 206, 3, 210, 3, 214, 4, 37, 4, 47, 4, 69, 4, 79, 4, 98, 4, 111, 4, 119, 4, 134, 4, 206, 4, 215, 4, 225, 4, 245, 5, 1, 5, 16, 5, 19, 30, 1, 30, 63, 30, 133, 30, 241, 30, 243, 30, 249, 31, 77, 32, 11, 32, 21, 32, 30, 32, 34, 32, 38, 32, 48, 32, 51, 32, 58, 32, 60, 32, 68, 32, 116, 32, 127, 32, 164, 32, 167, 32, 172, 33, 5, 33, 19, 33, 22, 33, 34, 33, 46, 33, 94, 34, 2, 34, 15, 34, 18, 34, 21, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34, 101, 37, 202, 246, 195, 254, 255, 255, 253, 255, 255, 0, 0, 0, 13, 0, 32, 0, 48, 0, 58, 0, 65, 0, 91, 0, 97, 0, 123, 0, 160, 1, 146, 1, 160, 1, 175, 1, 240, 1, 250, 2, 24, 2, 55, 2, 89, 2, 188, 2, 198, 2, 201, 2, 216, 2, 243, 3, 0, 3, 3, 3, 9, 3, 15, 3, 35, 3, 132, 3, 140, 3, 142, 3, 147, 3, 163, 3, 177, 3, 186, 3, 202, 3, 209, 3, 214, 4, 0, 4, 38, 4, 48, 4, 70, 4, 80, 4, 99, 4, 112, 4, 120, 4, 136, 4, 207, 4, 216, 4, 226, 4, 246, 5, 2, 5, 17, 30, 0, 30, 62, 30, 128, 30, 160, 30, 242, 30, 244, 31, 77, 32, 0, 32, 19, 32, 23, 32, 32, 32, 37, 32, 48, 32, 50, 32, 57, 32, 60, 32, 68, 32, 116, 32, 127, 32, 163, 32, 167, 32, 171, 33, 5, 33, 19, 33, 22, 33, 34, 33, 46, 33, 91, 34, 2, 34, 15, 34, 17, 34, 21, 34, 26, 34, 30, 34, 43, 34, 72, 34, 96, 34, 100, 37, 202, 246, 195, 254, 255, 255, 252, 255, 255, 1, 92, 0, 0, 0, 6, 0, 0, 255, 193, 0, 0, 255, 187, 0, 0, 0, 0, 254, 196, 0, 0, 0, 0, 1, 51, 0, 0, 0, 98, 255, 58, 253, 248, 0, 104, 0, 0, 254, 149, 0, 0, 254, 127, 254, 115, 254, 114, 254, 109, 254, 104, 254, 66, 0, 0, 255, 76, 255, 75, 0, 0, 0, 0, 253, 212, 0, 0, 255, 44, 253, 200, 253, 197, 0, 0, 253, 131, 0, 0, 253, 123, 0, 0, 253, 112, 0, 0, 253, 108, 0, 0, 254, 108, 0, 0, 254, 105, 0, 0, 253, 20, 0, 0, 229, 39, 228, 231, 0, 0, 228, 198, 0, 0, 228, 196, 227, 220, 226, 37, 0, 0, 0, 0, 0, 0, 0, 0, 224, 93, 224, 64, 224, 65, 226, 230, 224, 71, 225, 192, 225, 182, 223, 180, 223, 178, 0, 0, 225, 50, 225, 37, 225, 35, 223, 114, 225, 12, 224, 224, 224, 61, 224, 49, 0, 0, 222, 116, 224, 40, 224, 37, 224, 25, 222, 59, 222, 34, 222, 34, 220, 123, 10, 165, 3, 71, 2, 75, 0, 1, 0, 0, 0, 188, 0, 0, 0, 216, 0, 0, 0, 226, 0, 0, 0, 234, 0, 240, 0, 0, 2, 172, 2, 174, 0, 0, 2, 174, 0, 0, 0, 0, 0, 0, 0, 0, 2, 176, 0, 0, 2, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 174, 0, 0, 0, 0, 2, 182, 2, 210, 0, 0, 2, 234, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 3, 74, 0, 0, 3, 114, 0, 0, 3, 148, 0, 0, 3, 160, 0, 0, 4, 42, 0, 0, 4, 58, 0, 0, 4, 78, 0, 0, 0, 0, 4, 78, 0, 0, 4, 86, 0, 0, 0, 0, 0, 0, 4, 82, 4, 86, 4, 100, 4, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 91, 0, 107, 0, 151, 0, 82, 0, 140, 0, 152, 0, 106, 0, 116, 0, 117, 0, 150, 0, 124, 0, 95, 0, 103, 0, 96, 0, 137, 0, 97, 0, 98, 0, 132, 0, 129, 0, 133, 0, 93, 0, 153, 0, 118, 0, 138, 0, 119, 0, 156, 0, 102, 1, 90, 0, 120, 0, 142, 0, 121, 0, 157, 2, 115, 0, 92, 0, 83, 0, 84, 0, 90, 0, 85, 0, 143, 0, 154, 1, 97, 0, 146, 0, 67, 1, 106, 0, 136, 2, 116, 0, 147, 1, 94, 0, 149, 0, 126, 0, 65, 0, 66, 1, 91, 1, 107, 0, 155, 0, 100, 1, 102, 0, 64, 0, 68, 1, 108, 0, 70, 0, 69, 0, 71, 0, 94, 0, 162, 0, 158, 0, 160, 0, 167, 0, 161, 0, 165, 0, 72, 0, 171, 0, 181, 0, 175, 0, 178, 0, 179, 0, 196, 0, 191, 0, 193, 0, 194, 0, 185, 0, 210, 0, 215, 0, 211, 0, 213, 0, 221, 0, 214, 0, 127, 0, 219, 0, 235, 0, 231, 0, 233, 0, 234, 0, 246, 0, 77, 0, 80, 1, 1, 0, 253, 0, 255, 1, 6, 1, 0, 1, 4, 0, 73, 1, 10, 1, 20, 1, 14, 1, 17, 1, 18, 1, 33, 1, 29, 1, 31, 1, 32, 0, 76, 1, 47, 1, 52, 1, 48, 1, 50, 1, 58, 1, 51, 0, 128, 1, 56, 1, 72, 1, 68, 1, 70, 1, 71, 1, 83, 0, 78, 1, 85, 0, 163, 1, 2, 0, 159, 0, 254, 0, 164, 1, 3, 0, 169, 1, 8, 0, 172, 1, 11, 2, 117, 2, 118, 0, 170, 1, 9, 0, 173, 1, 12, 0, 174, 1, 13, 0, 182, 1, 21, 0, 176, 1, 15, 0, 180, 1, 19, 0, 184, 1, 23, 0, 177, 1, 16, 0, 187, 1, 25, 0, 186, 1, 24, 2, 119, 2, 120, 0, 188, 1, 26, 0, 190, 1, 28, 0, 189, 1, 27, 0, 199, 1, 36, 0, 197, 1, 34, 0, 192, 1, 30, 0, 198, 1, 35, 0, 195, 1, 109, 1, 110, 1, 111, 0, 200, 1, 37, 0, 201, 1, 38, 0, 79, 0, 202, 1, 39, 0, 204, 1, 41, 0, 203, 1, 40, 0, 205, 1, 42, 0, 206, 1, 43, 0, 207, 1, 44, 0, 209, 1, 46, 0, 208, 1, 45, 2, 121, 0, 183, 1, 22, 0, 218, 1, 55, 0, 212, 1, 49, 0, 217, 1, 54, 0, 74, 0, 75, 0, 222, 1, 59, 0, 224, 1, 61, 0, 223, 1, 60, 0, 225, 1, 62, 0, 228, 1, 65, 0, 227, 1, 64, 0, 226, 1, 63, 2, 126, 2, 128, 0, 230, 1, 67, 0, 229, 1, 66, 0, 241, 1, 78, 0, 238, 1, 75, 0, 232, 1, 69, 0, 240, 1, 77, 0, 237, 1, 74, 0, 239, 1, 76, 0, 243, 1, 80, 0, 247, 1, 84, 0, 248, 0, 250, 1, 87, 0, 252, 1, 89, 0, 251, 1, 88, 1, 112, 0, 216, 1, 53, 0, 236, 1, 73, 0, 166, 1, 5, 0, 168, 1, 7, 0, 220, 1, 57, 1, 92, 1, 100, 1, 95, 1, 96, 1, 98, 1, 103, 1, 93, 1, 99, 1, 120, 1, 121, 2, 212, 1, 122, 2, 213, 2, 214, 2, 215, 1, 123, 1, 124, 2, 222, 2, 223, 2, 224, 1, 125, 2, 225, 2, 226, 1, 126, 2, 227, 2, 228, 1, 127, 2, 229, 1, 128, 2, 230, 1, 129, 2, 231, 2, 232, 1, 130, 2, 233, 1, 131, 1, 132, 2, 234, 2, 235, 2, 236, 2, 237, 2, 238, 2, 239, 2, 240, 2, 241, 1, 142, 2, 243, 2, 244, 1, 143, 2, 242, 1, 144, 1, 145, 1, 146, 1, 147, 1, 148, 1, 149, 1, 150, 2, 245, 1, 151, 1, 152, 3, 42, 2, 251, 1, 156, 2, 252, 1, 157, 2, 253, 2, 254, 2, 255, 3, 0, 1, 158, 1, 159, 1, 160, 3, 2, 3, 43, 3, 3, 1, 161, 3, 4, 1, 162, 3, 5, 3, 6, 1, 163, 3, 7, 1, 164, 1, 165, 1, 166, 3, 8, 3, 1, 1, 167, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 1, 168, 3, 16, 3, 17, 3, 18, 1, 179, 1, 180, 1, 181, 1, 182, 3, 19, 1, 183, 1, 184, 1, 185, 3, 20, 1, 186, 1, 187, 1, 188, 1, 189, 3, 21, 1, 190, 3, 22, 3, 23, 1, 191, 3, 24, 1, 192, 3, 25, 3, 44, 3, 26, 1, 203, 3, 27, 1, 204, 3, 28, 3, 29, 3, 30, 3, 31, 1, 205, 1, 206, 1, 207, 3, 32, 3, 45, 3, 33, 1, 208, 1, 209, 1, 210, 3, 212, 3, 46, 3, 47, 1, 224, 1, 225, 1, 226, 1, 227, 3, 48, 3, 49, 1, 243, 1, 244, 3, 217, 3, 218, 3, 211, 3, 210, 1, 245, 1, 246, 1, 247, 1, 248, 3, 213, 3, 214, 1, 249, 1, 250, 3, 205, 3, 206, 3, 50, 3, 51, 3, 191, 3, 192, 1, 251, 1, 252, 3, 215, 3, 216, 1, 253, 1, 254, 3, 193, 3, 194, 1, 255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 3, 52, 3, 53, 3, 195, 3, 196, 3, 54, 3, 55, 3, 225, 3, 226, 3, 197, 3, 198, 2, 5, 2, 6, 3, 199, 3, 200, 2, 7, 2, 8, 2, 9, 3, 209, 2, 10, 2, 11, 3, 207, 3, 208, 3, 56, 3, 57, 3, 58, 2, 12, 2, 13, 3, 223, 3, 224, 2, 14, 2, 15, 3, 219, 3, 220, 3, 201, 3, 202, 3, 221, 3, 222, 2, 16, 3, 69, 3, 68, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 2, 17, 2, 18, 3, 203, 3, 204, 3, 95, 3, 96, 2, 19, 2, 20, 3, 97, 3, 98, 3, 227, 3, 228, 2, 21, 3, 99, 3, 229, 3, 100, 3, 101, 0, 245, 1, 82, 0, 242, 1, 79, 0, 244, 1, 81, 0, 249, 1, 86, 0, 104, 0, 105, 3, 230, 2, 49, 0, 108, 0, 109, 0, 110, 2, 50, 0, 111, 0, 112, 0, 113, 0, 144, 0, 145, 0, 101, 2, 51, 0, 99, 3, 190, 2, 54, 2, 65, 0, 125, 184, 1, 255, 133, 176, 4, 141, 0, 0, 0, 0, 17, 0, 210, 0, 3, 0, 1, 4, 9, 0, 0, 0, 180, 0, 0, 0, 3, 0, 1, 4, 9, 0, 1, 0, 22, 0, 180, 0, 3, 0, 1, 4, 9, 0, 2, 0, 22, 0, 202, 0, 3, 0, 1, 4, 9, 0, 3, 0, 64, 0, 224, 0, 3, 0, 1, 4, 9, 0, 4, 0, 46, 1, 32, 0, 3, 0, 1, 4, 9, 0, 5, 0, 26, 1, 78, 0, 3, 0, 1, 4, 9, 0, 6, 0, 42, 1, 104, 0, 3, 0, 1, 4, 9, 0, 7, 0, 74, 1, 146, 0, 3, 0, 1, 4, 9, 0, 9, 0, 12, 1, 220, 0, 3, 0, 1, 4, 9, 0, 11, 0, 20, 1, 232, 0, 3, 0, 1, 4, 9, 0, 12, 0, 38, 1, 252, 0, 3, 0, 1, 4, 9, 0, 13, 0, 92, 2, 34, 0, 3, 0, 1, 4, 9, 0, 14, 0, 84, 2, 126, 0, 3, 0, 1, 4, 9, 1, 0, 0, 12, 2, 210, 0, 3, 0, 1, 4, 9, 1, 11, 0, 12, 2, 222, 0, 3, 0, 1, 4, 9, 1, 16, 0, 8, 2, 234, 0, 3, 0, 1, 4, 9, 1, 17, 0, 12, 2, 222, 0, 67, 0, 111, 0, 112, 0, 121, 0, 114, 0, 105, 0, 103, 0, 104, 0, 116, 0, 32, 0, 50, 0, 48, 0, 49, 0, 53, 0, 32, 0, 84, 0, 104, 0, 101, 0, 32, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 80, 0, 114, 0, 111, 0, 106, 0, 101, 0, 99, 0, 116, 0, 32, 0, 65, 0, 117, 0, 116, 0, 104, 0, 111, 0, 114, 0, 115, 0, 32, 0, 40, 0, 104, 0, 116, 0, 116, 0, 112, 0, 115, 0, 58, 0, 47, 0, 47, 0, 103, 0, 105, 0, 116, 0, 104, 0, 117, 0, 98, 0, 46, 0, 99, 0, 111, 0, 109, 0, 47, 0, 103, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 102, 0, 111, 0, 110, 0, 116, 0, 115, 0, 47, 0, 114, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 109, 0, 111, 0, 110, 0, 111, 0, 41, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 66, 0, 111, 0, 108, 0, 100, 0, 32, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 51, 0, 46, 0, 48, 0, 48, 0, 48, 0, 59, 0, 112, 0, 121, 0, 114, 0, 115, 0, 59, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 77, 0, 111, 0, 110, 0, 111, 0, 45, 0, 66, 0, 111, 0, 108, 0, 100, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 66, 0, 111, 0, 108, 0, 100, 0, 32, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 86, 0, 101, 0, 114, 0, 115, 0, 105, 0, 111, 0, 110, 0, 32, 0, 51, 0, 46, 0, 48, 0, 48, 0, 48, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 77, 0, 111, 0, 110, 0, 111, 0, 45, 0, 66, 0, 111, 0, 108, 0, 100, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 82, 0, 111, 0, 98, 0, 111, 0, 116, 0, 111, 0, 32, 0, 77, 0, 111, 0, 110, 0, 111, 0, 32, 0, 105, 0, 115, 0, 32, 0, 97, 0, 32, 0, 116, 0, 114, 0, 97, 0, 100, 0, 101, 0, 109, 0, 97, 0, 114, 0, 107, 0, 32, 0, 111, 0, 102, 0, 32, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 46, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 71, 0, 111, 0, 111, 0, 103, 0, 108, 0, 101, 0, 46, 0, 99, 0, 111, 0, 109, 0, 67, 0, 104, 0, 114, 0, 105, 0, 115, 0, 116, 0, 105, 0, 97, 0, 110, 0, 32, 0, 82, 0, 111, 0, 98, 0, 101, 0, 114, 0, 116, 0, 115, 0, 111, 0, 110, 0, 76, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 100, 0, 32, 0, 117, 0, 110, 0, 100, 0, 101, 0, 114, 0, 32, 0, 116, 0, 104, 0, 101, 0, 32, 0, 65, 0, 112, 0, 97, 0, 99, 0, 104, 0, 101, 0, 32, 0, 76, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 44, 0, 32, 0, 86, 0, 101, 0, 114, 0, 115, 0, 105, 0, 111, 0, 110, 0, 32, 0, 50, 0, 46, 0, 48, 0, 104, 0, 116, 0, 116, 0, 112, 0, 58, 0, 47, 0, 47, 0, 119, 0, 119, 0, 119, 0, 46, 0, 97, 0, 112, 0, 97, 0, 99, 0, 104, 0, 101, 0, 46, 0, 111, 0, 114, 0, 103, 0, 47, 0, 108, 0, 105, 0, 99, 0, 101, 0, 110, 0, 115, 0, 101, 0, 115, 0, 47, 0, 76, 0, 73, 0, 67, 0, 69, 0, 78, 0, 83, 0, 69, 0, 45, 0, 50, 0, 46, 0, 48, 0, 87, 0, 101, 0, 105, 0, 103, 0, 104, 0, 116, 0, 73, 0, 116, 0, 97, 0, 108, 0, 105, 0, 99, 0, 66, 0, 111, 0, 108, 0, 100, 0, 2, 0, 0, 255, 246, 0, 0, 255, 106, 0, 100, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 231, 0, 0, 0, 3, 0, 36, 0, 37, 0, 38, 0, 39, 0, 40, 0, 41, 0, 42, 0, 43, 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, 0, 49, 0, 50, 0, 51, 0, 52, 0, 53, 0, 54, 0, 55, 0, 56, 0, 57, 0, 58, 0, 59, 0, 60, 0, 61, 0, 68, 0, 69, 0, 70, 0, 71, 0, 72, 0, 73, 0, 74, 0, 75, 0, 76, 0, 77, 0, 78, 0, 79, 0, 80, 0, 81, 0, 82, 0, 83, 0, 84, 0, 85, 0, 86, 0, 87, 0, 88, 0, 89, 0, 90, 0, 91, 0, 92, 0, 93, 0, 19, 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, 0, 27, 0, 28, 0, 241, 0, 242, 0, 243, 0, 157, 0, 158, 0, 244, 0, 245, 0, 246, 0, 144, 0, 160, 0, 176, 0, 177, 0, 234, 0, 237, 0, 238, 1, 2, 0, 137, 1, 3, 0, 7, 0, 132, 0, 133, 0, 150, 0, 166, 0, 247, 1, 4, 1, 5, 0, 189, 0, 4, 0, 163, 0, 34, 0, 162, 0, 15, 0, 17, 0, 29, 0, 30, 0, 171, 0, 195, 0, 135, 0, 66, 0, 16, 0, 178, 0, 179, 0, 10, 0, 5, 0, 182, 0, 183, 0, 196, 0, 180, 0, 181, 0, 197, 1, 6, 1, 7, 0, 11, 0, 12, 0, 62, 0, 64, 0, 94, 0, 96, 0, 190, 0, 191, 0, 14, 0, 239, 0, 147, 0, 240, 0, 184, 0, 32, 0, 143, 0, 167, 0, 31, 0, 33, 0, 148, 0, 149, 0, 164, 0, 18, 0, 63, 0, 188, 0, 8, 0, 198, 0, 95, 0, 232, 0, 130, 0, 194, 0, 139, 0, 138, 0, 140, 0, 131, 0, 13, 0, 6, 0, 9, 0, 35, 0, 134, 0, 136, 0, 65, 0, 97, 0, 201, 1, 8, 0, 199, 0, 98, 0, 173, 1, 9, 1, 10, 0, 99, 1, 11, 0, 174, 1, 12, 0, 253, 0, 255, 0, 100, 1, 13, 1, 14, 1, 15, 0, 101, 1, 16, 1, 17, 0, 200, 0, 202, 1, 18, 0, 203, 1, 19, 1, 20, 1, 21, 0, 233, 0, 248, 1, 22, 1, 23, 1, 24, 1, 25, 0, 204, 1, 26, 0, 205, 0, 206, 0, 250, 0, 207, 1, 27, 1, 28, 1, 29, 1, 30, 1, 31, 1, 32, 1, 33, 1, 34, 1, 35, 0, 226, 1, 36, 1, 37, 1, 38, 0, 102, 0, 208, 1, 39, 0, 209, 0, 103, 0, 211, 1, 40, 1, 41, 1, 42, 0, 145, 1, 43, 0, 175, 1, 44, 1, 45, 1, 46, 1, 47, 0, 228, 0, 251, 1, 48, 1, 49, 1, 50, 0, 212, 1, 51, 0, 213, 0, 104, 0, 214, 1, 52, 1, 53, 1, 54, 1, 55, 1, 56, 1, 57, 1, 58, 1, 59, 1, 60, 1, 61, 0, 235, 1, 62, 0, 187, 1, 63, 1, 64, 0, 230, 1, 65, 0, 105, 1, 66, 0, 107, 0, 108, 0, 106, 1, 67, 1, 68, 0, 110, 1, 69, 0, 109, 1, 70, 0, 254, 1, 0, 0, 111, 1, 71, 1, 72, 1, 1, 0, 112, 1, 73, 1, 74, 0, 114, 0, 115, 1, 75, 0, 113, 1, 76, 1, 77, 1, 78, 0, 249, 1, 79, 1, 80, 1, 81, 1, 82, 0, 116, 1, 83, 0, 118, 0, 119, 0, 117, 1, 84, 1, 85, 1, 86, 1, 87, 1, 88, 1, 89, 1, 90, 1, 91, 1, 92, 0, 227, 1, 93, 1, 94, 1, 95, 0, 120, 0, 121, 1, 96, 0, 123, 0, 124, 0, 122, 1, 97, 1, 98, 1, 99, 0, 161, 1, 100, 0, 125, 1, 101, 1, 102, 1, 103, 1, 104, 0, 229, 0, 252, 1, 105, 1, 106, 1, 107, 0, 126, 1, 108, 0, 128, 0, 129, 0, 127, 1, 109, 1, 110, 1, 111, 1, 112, 1, 113, 1, 114, 1, 115, 1, 116, 1, 117, 1, 118, 0, 236, 1, 119, 0, 186, 1, 120, 1, 121, 0, 231, 1, 122, 0, 67, 0, 141, 0, 216, 0, 217, 0, 218, 0, 219, 0, 220, 0, 142, 0, 221, 0, 223, 0, 225, 1, 123, 0, 222, 0, 224, 1, 124, 0, 2, 0, 169, 0, 151, 0, 170, 0, 215, 1, 125, 1, 126, 1, 127, 1, 128, 1, 129, 1, 130, 1, 131, 1, 132, 1, 133, 1, 134, 1, 135, 1, 136, 1, 137, 1, 138, 0, 168, 1, 139, 1, 140, 1, 141, 1, 142, 1, 143, 1, 144, 1, 145, 0, 159, 1, 146, 1, 147, 1, 148, 1, 149, 1, 150, 1, 151, 1, 152, 1, 153, 1, 154, 1, 155, 1, 156, 0, 155, 1, 157, 1, 158, 1, 159, 1, 160, 1, 161, 1, 162, 1, 163, 1, 164, 1, 165, 1, 166, 1, 167, 1, 168, 1, 169, 1, 170, 1, 171, 1, 172, 1, 173, 1, 174, 1, 175, 1, 176, 1, 177, 1, 178, 1, 179, 1, 180, 1, 181, 1, 182, 1, 183, 1, 184, 1, 185, 1, 186, 1, 187, 1, 188, 1, 189, 1, 190, 1, 191, 1, 192, 1, 193, 1, 194, 1, 195, 1, 196, 1, 197, 1, 198, 1, 199, 1, 200, 1, 201, 1, 202, 1, 203, 1, 204, 1, 205, 1, 206, 1, 207, 1, 208, 1, 209, 1, 210, 1, 211, 1, 212, 1, 213, 1, 214, 1, 215, 1, 216, 1, 217, 1, 218, 1, 219, 1, 220, 1, 221, 1, 222, 1, 223, 1, 224, 1, 225, 1, 226, 1, 227, 1, 228, 1, 229, 1, 230, 1, 231, 1, 232, 1, 233, 1, 234, 1, 235, 1, 236, 1, 237, 1, 238, 1, 239, 1, 240, 1, 241, 1, 242, 1, 243, 1, 244, 1, 245, 1, 246, 1, 247, 1, 248, 1, 249, 1, 250, 1, 251, 1, 252, 1, 253, 1, 254, 1, 255, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2, 6, 2, 7, 2, 8, 2, 9, 2, 10, 2, 11, 2, 12, 2, 13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2, 19, 2, 20, 2, 21, 2, 22, 2, 23, 2, 24, 2, 25, 2, 26, 2, 27, 2, 28, 2, 29, 2, 30, 2, 31, 2, 32, 2, 33, 2, 34, 2, 35, 2, 36, 2, 37, 2, 38, 2, 39, 2, 40, 2, 41, 2, 42, 2, 43, 2, 44, 2, 45, 2, 46, 2, 47, 2, 48, 2, 49, 2, 50, 2, 51, 2, 52, 2, 53, 2, 54, 2, 55, 2, 56, 2, 57, 2, 58, 2, 59, 2, 60, 2, 61, 2, 62, 2, 63, 2, 64, 2, 65, 2, 66, 2, 67, 2, 68, 2, 69, 2, 70, 2, 71, 2, 72, 2, 73, 2, 74, 0, 152, 0, 154, 0, 153, 0, 165, 0, 146, 0, 156, 0, 185, 2, 75, 2, 76, 2, 77, 2, 78, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 104, 2, 105, 2, 106, 2, 107, 2, 108, 2, 109, 2, 110, 2, 111, 2, 112, 2, 113, 2, 114, 2, 115, 2, 116, 2, 117, 2, 118, 2, 119, 0, 172, 2, 120, 2, 121, 2, 122, 2, 123, 2, 124, 2, 125, 2, 126, 2, 127, 2, 128, 2, 129, 2, 130, 2, 131, 2, 132, 2, 133, 2, 134, 2, 135, 2, 136, 2, 137, 2, 138, 2, 139, 2, 140, 2, 141, 2, 142, 2, 143, 2, 144, 2, 145, 2, 146, 2, 147, 2, 148, 2, 149, 2, 150, 2, 151, 2, 152, 2, 153, 2, 154, 2, 155, 2, 156, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, 2, 165, 2, 166, 2, 167, 2, 168, 2, 169, 2, 170, 2, 171, 2, 172, 2, 173, 2, 174, 2, 175, 2, 176, 2, 177, 2, 178, 2, 179, 2, 180, 2, 181, 2, 182, 2, 183, 2, 184, 2, 185, 2, 186, 2, 187, 2, 188, 2, 189, 2, 190, 2, 191, 2, 192, 2, 193, 2, 194, 2, 195, 2, 196, 2, 197, 2, 198, 2, 199, 2, 200, 2, 201, 2, 202, 2, 203, 2, 204, 2, 205, 2, 206, 2, 207, 2, 208, 2, 209, 2, 210, 2, 211, 2, 212, 2, 213, 2, 214, 2, 215, 2, 216, 2, 217, 2, 218, 2, 219, 2, 220, 2, 221, 2, 222, 2, 223, 2, 224, 2, 225, 2, 226, 2, 227, 2, 228, 2, 229, 2, 230, 2, 231, 2, 232, 2, 233, 2, 234, 2, 235, 2, 236, 2, 237, 2, 238, 2, 239, 2, 240, 2, 241, 2, 242, 2, 243, 2, 244, 2, 245, 2, 246, 2, 247, 2, 248, 2, 249, 2, 250, 2, 251, 2, 252, 2, 253, 2, 254, 2, 255, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3, 5, 3, 6, 3, 7, 3, 8, 3, 9, 3, 10, 3, 11, 3, 12, 3, 13, 3, 14, 3, 15, 3, 16, 3, 17, 3, 18, 3, 19, 3, 20, 3, 21, 3, 22, 3, 23, 3, 24, 3, 25, 3, 26, 3, 27, 3, 28, 3, 29, 3, 30, 3, 31, 3, 32, 3, 33, 3, 34, 3, 35, 3, 36, 3, 37, 3, 38, 3, 39, 3, 40, 3, 41, 3, 42, 3, 43, 3, 44, 3, 45, 3, 46, 3, 47, 3, 48, 3, 49, 3, 50, 3, 51, 3, 52, 3, 53, 3, 54, 3, 55, 3, 56, 3, 57, 3, 58, 3, 59, 3, 60, 3, 61, 3, 62, 3, 63, 3, 64, 3, 65, 3, 66, 3, 67, 3, 68, 3, 69, 3, 70, 3, 71, 3, 72, 3, 73, 3, 74, 3, 75, 3, 76, 3, 77, 3, 78, 3, 79, 3, 80, 3, 81, 3, 82, 3, 83, 3, 84, 3, 85, 3, 86, 3, 87, 3, 88, 3, 89, 3, 90, 3, 91, 3, 92, 3, 93, 3, 94, 3, 95, 3, 96, 3, 97, 3, 98, 3, 99, 3, 100, 3, 101, 3, 102, 3, 103, 3, 104, 3, 105, 3, 106, 3, 107, 3, 108, 3, 109, 3, 110, 3, 111, 3, 112, 3, 113, 3, 114, 3, 115, 3, 116, 3, 117, 3, 118, 3, 119, 3, 120, 3, 121, 3, 122, 3, 123, 3, 124, 3, 125, 3, 126, 3, 127, 3, 128, 3, 129, 3, 130, 3, 131, 3, 132, 3, 133, 3, 134, 3, 135, 3, 136, 3, 137, 3, 138, 3, 139, 3, 140, 3, 141, 3, 142, 3, 143, 3, 144, 3, 145, 3, 146, 3, 147, 3, 148, 3, 149, 3, 150, 3, 151, 3, 152, 3, 153, 3, 154, 3, 155, 3, 156, 3, 157, 3, 158, 3, 159, 3, 160, 3, 161, 3, 162, 3, 163, 3, 164, 3, 165, 3, 166, 3, 167, 3, 168, 3, 169, 3, 170, 3, 171, 3, 172, 3, 173, 3, 174, 3, 175, 3, 176, 3, 177, 3, 178, 3, 179, 3, 180, 3, 181, 3, 182, 3, 183, 3, 184, 3, 185, 3, 186, 3, 187, 3, 188, 3, 189, 3, 190, 3, 191, 3, 192, 3, 193, 3, 194, 3, 195, 3, 196, 3, 197, 3, 198, 3, 199, 3, 200, 3, 201, 3, 202, 3, 203, 3, 204, 3, 205, 3, 206, 3, 207, 3, 208, 3, 209, 3, 210, 3, 211, 3, 212, 3, 213, 3, 214, 3, 215, 3, 216, 3, 217, 3, 218, 3, 219, 3, 220, 3, 221, 3, 222, 3, 223, 3, 224, 3, 225, 3, 226, 3, 227, 3, 228, 3, 229, 3, 230, 3, 231, 3, 232, 3, 233, 3, 234, 12, 107, 103, 114, 101, 101, 110, 108, 97, 110, 100, 105, 99, 5, 115, 99, 104, 119, 97, 4, 108, 105, 114, 97, 6, 112, 101, 115, 101, 116, 97, 6, 109, 105, 110, 117, 116, 101, 6, 115, 101, 99, 111, 110, 100, 6, 65, 98, 114, 101, 118, 101, 7, 65, 109, 97, 99, 114, 111, 110, 7, 65, 111, 103, 111, 110, 101, 107, 10, 65, 114, 105, 110, 103, 97, 99, 117, 116, 101, 7, 65, 69, 97, 99, 117, 116, 101, 11, 67, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 68, 99, 97, 114, 111, 110, 6, 68, 99, 114, 111, 97, 116, 6, 69, 98, 114, 101, 118, 101, 6, 69, 99, 97, 114, 111, 110, 10, 69, 100, 111, 116, 97, 99, 99, 101, 110, 116, 7, 69, 109, 97, 99, 114, 111, 110, 3, 69, 110, 103, 7, 69, 111, 103, 111, 110, 101, 107, 11, 71, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 71, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 72, 98, 97, 114, 11, 72, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 73, 98, 114, 101, 118, 101, 7, 73, 109, 97, 99, 114, 111, 110, 7, 73, 111, 103, 111, 110, 101, 107, 6, 73, 116, 105, 108, 100, 101, 11, 74, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 75, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 76, 97, 99, 117, 116, 101, 6, 76, 99, 97, 114, 111, 110, 12, 76, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 76, 100, 111, 116, 6, 78, 97, 99, 117, 116, 101, 6, 78, 99, 97, 114, 111, 110, 12, 78, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 79, 98, 114, 101, 118, 101, 5, 79, 104, 111, 114, 110, 13, 79, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 79, 109, 97, 99, 114, 111, 110, 11, 79, 115, 108, 97, 115, 104, 97, 99, 117, 116, 101, 6, 82, 97, 99, 117, 116, 101, 6, 82, 99, 97, 114, 111, 110, 12, 82, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 83, 97, 99, 117, 116, 101, 11, 83, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 4, 84, 98, 97, 114, 6, 84, 99, 97, 114, 111, 110, 6, 85, 98, 114, 101, 118, 101, 5, 85, 104, 111, 114, 110, 13, 85, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 85, 109, 97, 99, 114, 111, 110, 7, 85, 111, 103, 111, 110, 101, 107, 5, 85, 114, 105, 110, 103, 6, 85, 116, 105, 108, 100, 101, 6, 87, 97, 99, 117, 116, 101, 11, 87, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 9, 87, 100, 105, 101, 114, 101, 115, 105, 115, 6, 87, 103, 114, 97, 118, 101, 11, 89, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 89, 103, 114, 97, 118, 101, 6, 90, 97, 99, 117, 116, 101, 10, 90, 100, 111, 116, 97, 99, 99, 101, 110, 116, 6, 97, 98, 114, 101, 118, 101, 7, 97, 109, 97, 99, 114, 111, 110, 7, 97, 111, 103, 111, 110, 101, 107, 10, 97, 114, 105, 110, 103, 97, 99, 117, 116, 101, 7, 97, 101, 97, 99, 117, 116, 101, 11, 99, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 100, 99, 97, 114, 111, 110, 6, 101, 98, 114, 101, 118, 101, 6, 101, 99, 97, 114, 111, 110, 10, 101, 100, 111, 116, 97, 99, 99, 101, 110, 116, 7, 101, 109, 97, 99, 114, 111, 110, 3, 101, 110, 103, 7, 101, 111, 103, 111, 110, 101, 107, 11, 103, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 103, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 104, 98, 97, 114, 11, 104, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 105, 98, 114, 101, 118, 101, 7, 105, 109, 97, 99, 114, 111, 110, 7, 105, 111, 103, 111, 110, 101, 107, 6, 105, 116, 105, 108, 100, 101, 11, 106, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 12, 107, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 108, 97, 99, 117, 116, 101, 6, 108, 99, 97, 114, 111, 110, 12, 108, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 4, 108, 100, 111, 116, 6, 110, 97, 99, 117, 116, 101, 6, 110, 99, 97, 114, 111, 110, 12, 110, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 111, 98, 114, 101, 118, 101, 5, 111, 104, 111, 114, 110, 13, 111, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 111, 109, 97, 99, 114, 111, 110, 11, 111, 115, 108, 97, 115, 104, 97, 99, 117, 116, 101, 6, 114, 97, 99, 117, 116, 101, 6, 114, 99, 97, 114, 111, 110, 12, 114, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 6, 115, 97, 99, 117, 116, 101, 11, 115, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 4, 116, 98, 97, 114, 6, 116, 99, 97, 114, 111, 110, 6, 117, 98, 114, 101, 118, 101, 5, 117, 104, 111, 114, 110, 13, 117, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 7, 117, 109, 97, 99, 114, 111, 110, 7, 117, 111, 103, 111, 110, 101, 107, 5, 117, 114, 105, 110, 103, 6, 117, 116, 105, 108, 100, 101, 6, 119, 97, 99, 117, 116, 101, 11, 119, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 9, 119, 100, 105, 101, 114, 101, 115, 105, 115, 6, 119, 103, 114, 97, 118, 101, 11, 121, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 6, 121, 103, 114, 97, 118, 101, 6, 122, 97, 99, 117, 116, 101, 10, 122, 100, 111, 116, 97, 99, 99, 101, 110, 116, 8, 100, 111, 116, 98, 101, 108, 111, 119, 11, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 2, 73, 74, 2, 105, 106, 5, 108, 111, 110, 103, 115, 7, 117, 110, 105, 48, 50, 51, 55, 7, 117, 110, 105, 48, 50, 70, 51, 9, 103, 114, 97, 118, 101, 99, 111, 109, 98, 9, 97, 99, 117, 116, 101, 99, 111, 109, 98, 9, 116, 105, 108, 100, 101, 99, 111, 109, 98, 4, 104, 111, 111, 107, 7, 117, 110, 105, 48, 51, 48, 70, 5, 116, 111, 110, 111, 115, 13, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 9, 97, 110, 111, 116, 101, 108, 101, 105, 97, 5, 71, 97, 109, 109, 97, 5, 84, 104, 101, 116, 97, 6, 76, 97, 109, 98, 100, 97, 2, 88, 105, 2, 80, 105, 5, 83, 105, 103, 109, 97, 3, 80, 104, 105, 3, 80, 115, 105, 5, 97, 108, 112, 104, 97, 4, 98, 101, 116, 97, 5, 103, 97, 109, 109, 97, 5, 100, 101, 108, 116, 97, 7, 101, 112, 115, 105, 108, 111, 110, 4, 122, 101, 116, 97, 3, 101, 116, 97, 5, 116, 104, 101, 116, 97, 4, 105, 111, 116, 97, 6, 108, 97, 109, 98, 100, 97, 2, 120, 105, 3, 114, 104, 111, 6, 115, 105, 103, 109, 97, 49, 5, 115, 105, 103, 109, 97, 3, 116, 97, 117, 7, 117, 112, 115, 105, 108, 111, 110, 3, 112, 104, 105, 3, 112, 115, 105, 5, 111, 109, 101, 103, 97, 7, 117, 110, 105, 48, 51, 68, 49, 7, 117, 110, 105, 48, 51, 68, 50, 7, 117, 110, 105, 48, 51, 68, 54, 7, 117, 110, 105, 48, 52, 48, 50, 7, 117, 110, 105, 48, 52, 48, 52, 7, 117, 110, 105, 48, 52, 48, 57, 7, 117, 110, 105, 48, 52, 48, 65, 7, 117, 110, 105, 48, 52, 48, 66, 7, 117, 110, 105, 48, 52, 48, 70, 7, 117, 110, 105, 48, 52, 49, 49, 7, 117, 110, 105, 48, 52, 49, 52, 7, 117, 110, 105, 48, 52, 49, 54, 7, 117, 110, 105, 48, 52, 49, 55, 7, 117, 110, 105, 48, 52, 49, 56, 7, 117, 110, 105, 48, 52, 49, 66, 7, 117, 110, 105, 48, 52, 50, 51, 7, 117, 110, 105, 48, 52, 50, 54, 7, 117, 110, 105, 48, 52, 50, 55, 7, 117, 110, 105, 48, 52, 50, 56, 7, 117, 110, 105, 48, 52, 50, 57, 7, 117, 110, 105, 48, 52, 50, 65, 7, 117, 110, 105, 48, 52, 50, 66, 7, 117, 110, 105, 48, 52, 50, 67, 7, 117, 110, 105, 48, 52, 50, 68, 7, 117, 110, 105, 48, 52, 50, 69, 7, 117, 110, 105, 48, 52, 50, 70, 7, 117, 110, 105, 48, 52, 51, 49, 7, 117, 110, 105, 48, 52, 51, 50, 7, 117, 110, 105, 48, 52, 51, 51, 7, 117, 110, 105, 48, 52, 51, 52, 7, 117, 110, 105, 48, 52, 51, 54, 7, 117, 110, 105, 48, 52, 51, 55, 7, 117, 110, 105, 48, 52, 51, 56, 7, 117, 110, 105, 48, 52, 51, 65, 7, 117, 110, 105, 48, 52, 51, 66, 7, 117, 110, 105, 48, 52, 51, 67, 7, 117, 110, 105, 48, 52, 51, 68, 7, 117, 110, 105, 48, 52, 51, 70, 7, 117, 110, 105, 48, 52, 52, 50, 7, 117, 110, 105, 48, 52, 52, 52, 7, 117, 110, 105, 48, 52, 52, 54, 7, 117, 110, 105, 48, 52, 52, 55, 7, 117, 110, 105, 48, 52, 52, 56, 7, 117, 110, 105, 48, 52, 52, 57, 7, 117, 110, 105, 48, 52, 52, 65, 7, 117, 110, 105, 48, 52, 52, 66, 7, 117, 110, 105, 48, 52, 52, 67, 7, 117, 110, 105, 48, 52, 52, 68, 7, 117, 110, 105, 48, 52, 52, 69, 7, 117, 110, 105, 48, 52, 52, 70, 7, 117, 110, 105, 48, 52, 53, 50, 7, 117, 110, 105, 48, 52, 53, 52, 7, 117, 110, 105, 48, 52, 53, 57, 7, 117, 110, 105, 48, 52, 53, 65, 7, 117, 110, 105, 48, 52, 53, 66, 7, 117, 110, 105, 48, 52, 53, 70, 7, 117, 110, 105, 48, 52, 54, 48, 7, 117, 110, 105, 48, 52, 54, 49, 7, 117, 110, 105, 48, 52, 54, 51, 7, 117, 110, 105, 48, 52, 54, 52, 7, 117, 110, 105, 48, 52, 54, 53, 7, 117, 110, 105, 48, 52, 54, 54, 7, 117, 110, 105, 48, 52, 54, 55, 7, 117, 110, 105, 48, 52, 54, 56, 7, 117, 110, 105, 48, 52, 54, 57, 7, 117, 110, 105, 48, 52, 54, 65, 7, 117, 110, 105, 48, 52, 54, 66, 7, 117, 110, 105, 48, 52, 54, 67, 7, 117, 110, 105, 48, 52, 54, 68, 7, 117, 110, 105, 48, 52, 54, 69, 7, 117, 110, 105, 48, 52, 54, 70, 7, 117, 110, 105, 48, 52, 55, 50, 7, 117, 110, 105, 48, 52, 55, 51, 7, 117, 110, 105, 48, 52, 55, 52, 7, 117, 110, 105, 48, 52, 55, 53, 7, 117, 110, 105, 48, 52, 55, 56, 7, 117, 110, 105, 48, 52, 55, 57, 7, 117, 110, 105, 48, 52, 55, 65, 7, 117, 110, 105, 48, 52, 55, 66, 7, 117, 110, 105, 48, 52, 55, 67, 7, 117, 110, 105, 48, 52, 55, 68, 7, 117, 110, 105, 48, 52, 55, 69, 7, 117, 110, 105, 48, 52, 55, 70, 7, 117, 110, 105, 48, 52, 56, 48, 7, 117, 110, 105, 48, 52, 56, 49, 7, 117, 110, 105, 48, 52, 56, 50, 7, 117, 110, 105, 48, 52, 56, 51, 7, 117, 110, 105, 48, 52, 56, 52, 7, 117, 110, 105, 48, 52, 56, 53, 7, 117, 110, 105, 48, 52, 56, 54, 7, 117, 110, 105, 48, 52, 56, 56, 7, 117, 110, 105, 48, 52, 56, 57, 7, 117, 110, 105, 48, 52, 56, 69, 7, 117, 110, 105, 48, 52, 56, 70, 7, 117, 110, 105, 48, 52, 57, 48, 7, 117, 110, 105, 48, 52, 57, 49, 7, 117, 110, 105, 48, 52, 57, 52, 7, 117, 110, 105, 48, 52, 57, 53, 7, 117, 110, 105, 48, 52, 57, 67, 7, 117, 110, 105, 48, 52, 57, 68, 7, 117, 110, 105, 48, 52, 65, 48, 7, 117, 110, 105, 48, 52, 65, 49, 7, 117, 110, 105, 48, 52, 65, 52, 7, 117, 110, 105, 48, 52, 65, 53, 7, 117, 110, 105, 48, 52, 65, 54, 7, 117, 110, 105, 48, 52, 65, 55, 7, 117, 110, 105, 48, 52, 65, 56, 7, 117, 110, 105, 48, 52, 65, 57, 7, 117, 110, 105, 48, 52, 66, 52, 7, 117, 110, 105, 48, 52, 66, 53, 7, 117, 110, 105, 48, 52, 66, 56, 7, 117, 110, 105, 48, 52, 66, 57, 7, 117, 110, 105, 48, 52, 66, 65, 7, 117, 110, 105, 48, 52, 66, 67, 7, 117, 110, 105, 48, 52, 66, 68, 7, 117, 110, 105, 48, 52, 67, 51, 7, 117, 110, 105, 48, 52, 67, 52, 7, 117, 110, 105, 48, 52, 67, 55, 7, 117, 110, 105, 48, 52, 67, 56, 7, 117, 110, 105, 48, 52, 68, 56, 7, 117, 110, 105, 48, 52, 69, 48, 7, 117, 110, 105, 48, 52, 69, 49, 7, 117, 110, 105, 48, 52, 70, 65, 7, 117, 110, 105, 48, 52, 70, 66, 7, 117, 110, 105, 48, 53, 48, 48, 7, 117, 110, 105, 48, 53, 48, 50, 7, 117, 110, 105, 48, 53, 48, 51, 7, 117, 110, 105, 48, 53, 48, 52, 7, 117, 110, 105, 48, 53, 48, 53, 7, 117, 110, 105, 48, 53, 48, 54, 7, 117, 110, 105, 48, 53, 48, 55, 7, 117, 110, 105, 48, 53, 48, 56, 7, 117, 110, 105, 48, 53, 48, 57, 7, 117, 110, 105, 48, 53, 48, 65, 7, 117, 110, 105, 48, 53, 48, 66, 7, 117, 110, 105, 48, 53, 48, 67, 7, 117, 110, 105, 48, 53, 48, 68, 7, 117, 110, 105, 48, 53, 48, 69, 7, 117, 110, 105, 48, 53, 48, 70, 7, 117, 110, 105, 48, 53, 49, 48, 7, 117, 110, 105, 50, 48, 48, 48, 7, 117, 110, 105, 50, 48, 48, 49, 7, 117, 110, 105, 50, 48, 48, 50, 7, 117, 110, 105, 50, 48, 48, 51, 7, 117, 110, 105, 50, 48, 48, 52, 7, 117, 110, 105, 50, 48, 48, 53, 7, 117, 110, 105, 50, 48, 48, 54, 7, 117, 110, 105, 50, 48, 48, 55, 7, 117, 110, 105, 50, 48, 48, 56, 7, 117, 110, 105, 50, 48, 48, 57, 7, 117, 110, 105, 50, 48, 48, 65, 7, 117, 110, 105, 50, 48, 48, 66, 13, 117, 110, 100, 101, 114, 115, 99, 111, 114, 101, 100, 98, 108, 13, 113, 117, 111, 116, 101, 114, 101, 118, 101, 114, 115, 101, 100, 7, 117, 110, 105, 50, 48, 50, 53, 7, 117, 110, 105, 50, 48, 55, 52, 9, 110, 115, 117, 112, 101, 114, 105, 111, 114, 4, 69, 117, 114, 111, 7, 117, 110, 105, 50, 49, 48, 53, 7, 117, 110, 105, 50, 49, 49, 51, 7, 117, 110, 105, 50, 49, 49, 54, 9, 101, 115, 116, 105, 109, 97, 116, 101, 100, 9, 111, 110, 101, 101, 105, 103, 104, 116, 104, 12, 116, 104, 114, 101, 101, 101, 105, 103, 104, 116, 104, 115, 11, 102, 105, 118, 101, 101, 105, 103, 104, 116, 104, 115, 12, 115, 101, 118, 101, 110, 101, 105, 103, 104, 116, 104, 115, 7, 117, 110, 105, 70, 69, 70, 70, 7, 117, 110, 105, 70, 70, 70, 67, 7, 117, 110, 105, 70, 70, 70, 68, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 116, 105, 108, 100, 101, 99, 111, 109, 98, 18, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 104, 111, 111, 107, 99, 111, 109, 98, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 103, 114, 97, 118, 101, 99, 111, 109, 98, 19, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 97, 99, 117, 116, 101, 99, 111, 109, 98, 14, 98, 114, 101, 118, 101, 103, 114, 97, 118, 101, 99, 111, 109, 98, 17, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 114, 111, 116, 97, 116, 101, 6, 65, 46, 115, 109, 99, 112, 6, 66, 46, 115, 109, 99, 112, 6, 67, 46, 115, 109, 99, 112, 6, 68, 46, 115, 109, 99, 112, 6, 69, 46, 115, 109, 99, 112, 6, 70, 46, 115, 109, 99, 112, 6, 71, 46, 115, 109, 99, 112, 6, 72, 46, 115, 109, 99, 112, 6, 73, 46, 115, 109, 99, 112, 6, 74, 46, 115, 109, 99, 112, 6, 75, 46, 115, 109, 99, 112, 6, 76, 46, 115, 109, 99, 112, 6, 77, 46, 115, 109, 99, 112, 6, 78, 46, 115, 109, 99, 112, 6, 79, 46, 115, 109, 99, 112, 6, 81, 46, 115, 109, 99, 112, 6, 82, 46, 115, 109, 99, 112, 6, 83, 46, 115, 109, 99, 112, 6, 84, 46, 115, 109, 99, 112, 6, 85, 46, 115, 109, 99, 112, 6, 86, 46, 115, 109, 99, 112, 6, 87, 46, 115, 109, 99, 112, 6, 88, 46, 115, 109, 99, 112, 6, 89, 46, 115, 109, 99, 112, 6, 90, 46, 115, 109, 99, 112, 13, 98, 114, 101, 118, 101, 104, 111, 111, 107, 99, 111, 109, 98, 14, 98, 114, 101, 118, 101, 97, 99, 117, 116, 101, 99, 111, 109, 98, 8, 99, 114, 111, 115, 115, 98, 97, 114, 9, 114, 105, 110, 103, 97, 99, 117, 116, 101, 9, 100, 97, 115, 105, 97, 111, 120, 105, 97, 14, 98, 114, 101, 118, 101, 116, 105, 108, 100, 101, 99, 111, 109, 98, 11, 99, 121, 114, 105, 108, 108, 105, 99, 116, 105, 99, 12, 99, 121, 114, 105, 108, 108, 105, 99, 104, 111, 111, 107, 6, 80, 46, 115, 109, 99, 112, 5, 75, 46, 97, 108, 116, 15, 71, 101, 114, 109, 97, 110, 100, 98, 108, 115, 46, 115, 109, 99, 112, 7, 117, 110, 105, 48, 48, 65, 68, 7, 117, 110, 105, 48, 49, 48, 65, 7, 117, 110, 105, 48, 49, 48, 66, 7, 117, 110, 105, 48, 49, 50, 48, 7, 117, 110, 105, 48, 49, 50, 49, 11, 110, 97, 112, 111, 115, 116, 114, 111, 112, 104, 101, 7, 117, 110, 105, 48, 50, 49, 56, 7, 117, 110, 105, 48, 50, 49, 57, 7, 117, 110, 105, 48, 50, 49, 65, 7, 117, 110, 105, 48, 50, 49, 66, 7, 117, 110, 105, 48, 49, 54, 50, 12, 117, 110, 105, 48, 49, 54, 50, 46, 115, 109, 99, 112, 7, 117, 110, 105, 48, 49, 54, 51, 11, 68, 99, 114, 111, 97, 116, 46, 115, 109, 99, 112, 8, 69, 116, 104, 46, 115, 109, 99, 112, 9, 84, 98, 97, 114, 46, 115, 109, 99, 112, 11, 65, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 65, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 65, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 65, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 14, 65, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 10, 65, 114, 105, 110, 103, 46, 115, 109, 99, 112, 15, 65, 114, 105, 110, 103, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 13, 67, 99, 101, 100, 105, 108, 108, 97, 46, 115, 109, 99, 112, 11, 69, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 69, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 69, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 69, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 73, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 73, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 73, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 73, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 78, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 11, 79, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 79, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 79, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 79, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 14, 79, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 85, 103, 114, 97, 118, 101, 46, 115, 109, 99, 112, 11, 85, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 85, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 85, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 89, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 12, 65, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 65, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 12, 65, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 11, 67, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 67, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 67, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 68, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 12, 69, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 69, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 15, 69, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 12, 69, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 11, 69, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 16, 71, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 71, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 17, 71, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 16, 72, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 11, 73, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 12, 73, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 73, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 12, 73, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 15, 73, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 16, 74, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 17, 75, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 76, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 76, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 76, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 9, 76, 100, 111, 116, 46, 115, 109, 99, 112, 11, 78, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 78, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 78, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 12, 79, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 79, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 18, 79, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 46, 115, 109, 99, 112, 11, 82, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 17, 82, 99, 111, 109, 109, 97, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 82, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 83, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 16, 83, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 13, 83, 99, 101, 100, 105, 108, 108, 97, 46, 115, 109, 99, 112, 11, 83, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 84, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 11, 85, 116, 105, 108, 100, 101, 46, 115, 109, 99, 112, 12, 85, 109, 97, 99, 114, 111, 110, 46, 115, 109, 99, 112, 11, 85, 98, 114, 101, 118, 101, 46, 115, 109, 99, 112, 10, 85, 114, 105, 110, 103, 46, 115, 109, 99, 112, 18, 85, 104, 117, 110, 103, 97, 114, 117, 109, 108, 97, 117, 116, 46, 115, 109, 99, 112, 12, 85, 111, 103, 111, 110, 101, 107, 46, 115, 109, 99, 112, 16, 87, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 16, 89, 99, 105, 114, 99, 117, 109, 102, 108, 101, 120, 46, 115, 109, 99, 112, 14, 89, 100, 105, 101, 114, 101, 115, 105, 115, 46, 115, 109, 99, 112, 11, 90, 97, 99, 117, 116, 101, 46, 115, 109, 99, 112, 15, 90, 100, 111, 116, 97, 99, 99, 101, 110, 116, 46, 115, 109, 99, 112, 11, 90, 99, 97, 114, 111, 110, 46, 115, 109, 99, 112, 10, 65, 108, 112, 104, 97, 116, 111, 110, 111, 115, 12, 69, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 8, 69, 116, 97, 116, 111, 110, 111, 115, 9, 73, 111, 116, 97, 116, 111, 110, 111, 115, 12, 79, 109, 105, 99, 114, 111, 110, 116, 111, 110, 111, 115, 12, 85, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 10, 79, 109, 101, 103, 97, 116, 111, 110, 111, 115, 17, 105, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 5, 65, 108, 112, 104, 97, 4, 66, 101, 116, 97, 7, 69, 112, 115, 105, 108, 111, 110, 4, 90, 101, 116, 97, 3, 69, 116, 97, 4, 73, 111, 116, 97, 5, 75, 97, 112, 112, 97, 2, 77, 117, 2, 78, 117, 7, 79, 109, 105, 99, 114, 111, 110, 3, 82, 104, 111, 3, 84, 97, 117, 7, 85, 112, 115, 105, 108, 111, 110, 3, 67, 104, 105, 12, 73, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 15, 85, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 10, 97, 108, 112, 104, 97, 116, 111, 110, 111, 115, 12, 101, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 8, 101, 116, 97, 116, 111, 110, 111, 115, 9, 105, 111, 116, 97, 116, 111, 110, 111, 115, 20, 117, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 116, 111, 110, 111, 115, 5, 107, 97, 112, 112, 97, 7, 111, 109, 105, 99, 114, 111, 110, 7, 117, 110, 105, 48, 51, 66, 67, 2, 110, 117, 3, 99, 104, 105, 12, 105, 111, 116, 97, 100, 105, 101, 114, 101, 115, 105, 115, 15, 117, 112, 115, 105, 108, 111, 110, 100, 105, 101, 114, 101, 115, 105, 115, 12, 111, 109, 105, 99, 114, 111, 110, 116, 111, 110, 111, 115, 12, 117, 112, 115, 105, 108, 111, 110, 116, 111, 110, 111, 115, 10, 111, 109, 101, 103, 97, 116, 111, 110, 111, 115, 7, 117, 110, 105, 48, 52, 48, 49, 7, 117, 110, 105, 48, 52, 48, 51, 7, 117, 110, 105, 48, 52, 48, 53, 7, 117, 110, 105, 48, 52, 48, 54, 7, 117, 110, 105, 48, 52, 48, 55, 7, 117, 110, 105, 48, 52, 48, 56, 7, 117, 110, 105, 48, 52, 49, 65, 7, 117, 110, 105, 48, 52, 48, 67, 7, 117, 110, 105, 48, 52, 48, 69, 7, 117, 110, 105, 48, 52, 49, 48, 7, 117, 110, 105, 48, 52, 49, 50, 7, 117, 110, 105, 48, 52, 49, 51, 7, 117, 110, 105, 48, 52, 49, 53, 7, 117, 110, 105, 48, 52, 49, 57, 7, 117, 110, 105, 48, 52, 49, 67, 7, 117, 110, 105, 48, 52, 49, 68, 7, 117, 110, 105, 48, 52, 49, 69, 7, 117, 110, 105, 48, 52, 49, 70, 7, 117, 110, 105, 48, 52, 50, 48, 7, 117, 110, 105, 48, 52, 50, 49, 7, 117, 110, 105, 48, 52, 50, 50, 7, 117, 110, 105, 48, 52, 50, 52, 7, 117, 110, 105, 48, 52, 50, 53, 7, 117, 110, 105, 48, 52, 51, 48, 7, 117, 110, 105, 48, 52, 51, 53, 7, 117, 110, 105, 48, 52, 51, 57, 7, 117, 110, 105, 48, 52, 51, 69, 7, 117, 110, 105, 48, 52, 52, 48, 7, 117, 110, 105, 48, 52, 52, 49, 7, 117, 110, 105, 48, 52, 52, 51, 7, 117, 110, 105, 48, 52, 52, 53, 7, 117, 110, 105, 48, 52, 53, 49, 7, 117, 110, 105, 48, 52, 53, 51, 7, 117, 110, 105, 48, 52, 53, 53, 7, 117, 110, 105, 48, 52, 53, 54, 7, 117, 110, 105, 48, 52, 53, 55, 7, 117, 110, 105, 48, 52, 53, 56, 7, 117, 110, 105, 48, 52, 53, 67, 7, 117, 110, 105, 48, 52, 53, 69, 9, 101, 120, 99, 108, 97, 109, 100, 98, 108, 7, 117, 110, 105, 48, 49, 70, 48, 7, 117, 110, 105, 48, 50, 66, 67, 7, 117, 110, 105, 49, 69, 51, 69, 7, 117, 110, 105, 49, 69, 51, 70, 7, 117, 110, 105, 49, 69, 48, 48, 7, 117, 110, 105, 49, 69, 48, 49, 7, 117, 110, 105, 49, 70, 52, 68, 7, 117, 110, 105, 48, 52, 48, 48, 7, 117, 110, 105, 48, 52, 48, 68, 7, 117, 110, 105, 48, 52, 53, 48, 7, 117, 110, 105, 48, 52, 53, 68, 7, 117, 110, 105, 48, 52, 55, 48, 7, 117, 110, 105, 48, 52, 55, 49, 7, 117, 110, 105, 48, 52, 55, 54, 7, 117, 110, 105, 48, 52, 55, 55, 7, 117, 110, 105, 48, 52, 57, 56, 7, 117, 110, 105, 48, 52, 57, 57, 7, 117, 110, 105, 48, 52, 65, 65, 7, 117, 110, 105, 48, 52, 65, 66, 7, 117, 110, 105, 48, 52, 65, 69, 7, 117, 110, 105, 48, 52, 65, 70, 7, 117, 110, 105, 48, 52, 67, 48, 7, 117, 110, 105, 48, 52, 67, 49, 7, 117, 110, 105, 48, 52, 67, 50, 7, 117, 110, 105, 48, 52, 67, 70, 7, 117, 110, 105, 48, 52, 68, 48, 7, 117, 110, 105, 48, 52, 68, 49, 7, 117, 110, 105, 48, 52, 68, 50, 7, 117, 110, 105, 48, 52, 68, 51, 7, 117, 110, 105, 48, 52, 68, 52, 7, 117, 110, 105, 48, 52, 68, 53, 7, 117, 110, 105, 48, 52, 68, 54, 7, 117, 110, 105, 48, 52, 68, 55, 7, 117, 110, 105, 48, 52, 68, 65, 7, 117, 110, 105, 48, 52, 68, 57, 7, 117, 110, 105, 48, 52, 68, 66, 7, 117, 110, 105, 48, 52, 68, 67, 7, 117, 110, 105, 48, 52, 68, 68, 7, 117, 110, 105, 48, 52, 68, 69, 7, 117, 110, 105, 48, 52, 68, 70, 7, 117, 110, 105, 48, 52, 69, 50, 7, 117, 110, 105, 48, 52, 69, 51, 7, 117, 110, 105, 48, 52, 69, 52, 7, 117, 110, 105, 48, 52, 69, 53, 7, 117, 110, 105, 48, 52, 69, 54, 7, 117, 110, 105, 48, 52, 69, 55, 7, 117, 110, 105, 48, 52, 69, 56, 7, 117, 110, 105, 48, 52, 69, 57, 7, 117, 110, 105, 48, 52, 69, 65, 7, 117, 110, 105, 48, 52, 69, 66, 7, 117, 110, 105, 48, 52, 69, 67, 7, 117, 110, 105, 48, 52, 69, 68, 7, 117, 110, 105, 48, 52, 69, 69, 7, 117, 110, 105, 48, 52, 69, 70, 7, 117, 110, 105, 48, 52, 70, 48, 7, 117, 110, 105, 48, 52, 70, 49, 7, 117, 110, 105, 48, 52, 70, 50, 7, 117, 110, 105, 48, 52, 70, 51, 7, 117, 110, 105, 48, 52, 70, 52, 7, 117, 110, 105, 48, 52, 70, 53, 7, 117, 110, 105, 48, 52, 70, 56, 7, 117, 110, 105, 48, 52, 70, 57, 7, 117, 110, 105, 48, 52, 70, 67, 7, 117, 110, 105, 48, 52, 70, 68, 7, 117, 110, 105, 48, 53, 48, 49, 7, 117, 110, 105, 48, 53, 49, 50, 7, 117, 110, 105, 48, 53, 49, 51, 7, 117, 110, 105, 49, 69, 65, 48, 7, 117, 110, 105, 49, 69, 65, 49, 7, 117, 110, 105, 49, 69, 65, 50, 7, 117, 110, 105, 49, 69, 65, 51, 7, 117, 110, 105, 49, 69, 65, 52, 7, 117, 110, 105, 49, 69, 65, 53, 7, 117, 110, 105, 49, 69, 65, 54, 7, 117, 110, 105, 49, 69, 65, 55, 7, 117, 110, 105, 49, 69, 65, 56, 7, 117, 110, 105, 49, 69, 65, 57, 7, 117, 110, 105, 49, 69, 65, 65, 7, 117, 110, 105, 49, 69, 65, 66, 7, 117, 110, 105, 49, 69, 65, 67, 7, 117, 110, 105, 49, 69, 65, 68, 7, 117, 110, 105, 49, 69, 65, 69, 7, 117, 110, 105, 49, 69, 65, 70, 7, 117, 110, 105, 49, 69, 66, 48, 7, 117, 110, 105, 49, 69, 66, 49, 7, 117, 110, 105, 49, 69, 66, 50, 7, 117, 110, 105, 49, 69, 66, 51, 7, 117, 110, 105, 49, 69, 66, 52, 7, 117, 110, 105, 49, 69, 66, 53, 7, 117, 110, 105, 49, 69, 66, 54, 7, 117, 110, 105, 49, 69, 66, 55, 7, 117, 110, 105, 49, 69, 66, 56, 7, 117, 110, 105, 49, 69, 66, 57, 7, 117, 110, 105, 49, 69, 66, 65, 7, 117, 110, 105, 49, 69, 66, 66, 7, 117, 110, 105, 49, 69, 66, 67, 7, 117, 110, 105, 49, 69, 66, 68, 7, 117, 110, 105, 49, 69, 66, 69, 7, 117, 110, 105, 49, 69, 66, 70, 7, 117, 110, 105, 49, 69, 67, 48, 7, 117, 110, 105, 49, 69, 67, 49, 7, 117, 110, 105, 49, 69, 67, 50, 7, 117, 110, 105, 49, 69, 67, 51, 7, 117, 110, 105, 49, 69, 67, 52, 7, 117, 110, 105, 49, 69, 67, 53, 7, 117, 110, 105, 49, 69, 67, 54, 7, 117, 110, 105, 49, 69, 67, 55, 7, 117, 110, 105, 49, 69, 67, 56, 7, 117, 110, 105, 49, 69, 67, 57, 7, 117, 110, 105, 49, 69, 67, 65, 7, 117, 110, 105, 49, 69, 67, 66, 7, 117, 110, 105, 49, 69, 67, 67, 7, 117, 110, 105, 49, 69, 67, 68, 7, 117, 110, 105, 49, 69, 67, 69, 7, 117, 110, 105, 49, 69, 67, 70, 7, 117, 110, 105, 49, 69, 68, 48, 7, 117, 110, 105, 49, 69, 68, 49, 7, 117, 110, 105, 49, 69, 68, 50, 7, 117, 110, 105, 49, 69, 68, 51, 7, 117, 110, 105, 49, 69, 68, 52, 7, 117, 110, 105, 49, 69, 68, 53, 7, 117, 110, 105, 49, 69, 68, 54, 7, 117, 110, 105, 49, 69, 68, 55, 7, 117, 110, 105, 49, 69, 68, 56, 7, 117, 110, 105, 49, 69, 68, 57, 7, 117, 110, 105, 49, 69, 68, 65, 7, 117, 110, 105, 49, 69, 68, 66, 7, 117, 110, 105, 49, 69, 68, 67, 7, 117, 110, 105, 49, 69, 68, 68, 7, 117, 110, 105, 49, 69, 68, 69, 7, 117, 110, 105, 49, 69, 68, 70, 7, 117, 110, 105, 49, 69, 69, 48, 7, 117, 110, 105, 49, 69, 69, 49, 7, 117, 110, 105, 49, 69, 69, 50, 7, 117, 110, 105, 49, 69, 69, 51, 7, 117, 110, 105, 49, 69, 69, 52, 7, 117, 110, 105, 49, 69, 69, 53, 7, 117, 110, 105, 49, 69, 69, 54, 7, 117, 110, 105, 49, 69, 69, 55, 7, 117, 110, 105, 49, 69, 69, 56, 7, 117, 110, 105, 49, 69, 69, 57, 7, 117, 110, 105, 49, 69, 69, 65, 7, 117, 110, 105, 49, 69, 69, 66, 7, 117, 110, 105, 49, 69, 69, 67, 7, 117, 110, 105, 49, 69, 69, 68, 7, 117, 110, 105, 49, 69, 69, 69, 7, 117, 110, 105, 49, 69, 69, 70, 7, 117, 110, 105, 49, 69, 70, 48, 7, 117, 110, 105, 49, 69, 70, 49, 7, 117, 110, 105, 49, 69, 70, 52, 7, 117, 110, 105, 49, 69, 70, 53, 7, 117, 110, 105, 49, 69, 70, 54, 7, 117, 110, 105, 49, 69, 70, 55, 7, 117, 110, 105, 49, 69, 70, 56, 7, 117, 110, 105, 49, 69, 70, 57, 7, 117, 110, 105, 50, 48, 65, 66, 7, 117, 110, 105, 48, 52, 57, 65, 7, 117, 110, 105, 48, 52, 57, 66, 7, 117, 110, 105, 48, 52, 65, 50, 7, 117, 110, 105, 48, 52, 65, 51, 7, 117, 110, 105, 48, 52, 65, 67, 7, 117, 110, 105, 48, 52, 65, 68, 7, 117, 110, 105, 48, 52, 66, 50, 7, 117, 110, 105, 48, 52, 66, 51, 7, 117, 110, 105, 48, 52, 66, 54, 7, 117, 110, 105, 48, 52, 66, 55, 7, 117, 110, 105, 48, 52, 67, 66, 7, 117, 110, 105, 48, 52, 67, 67, 7, 117, 110, 105, 48, 52, 70, 54, 7, 117, 110, 105, 48, 52, 70, 55, 7, 117, 110, 105, 48, 52, 57, 54, 7, 117, 110, 105, 48, 52, 57, 55, 7, 117, 110, 105, 48, 52, 66, 69, 7, 117, 110, 105, 48, 52, 66, 70, 7, 117, 110, 105, 48, 52, 66, 66, 7, 117, 110, 105, 48, 52, 56, 68, 7, 117, 110, 105, 48, 52, 56, 67, 7, 117, 110, 105, 48, 52, 54, 50, 7, 117, 110, 105, 48, 52, 57, 50, 7, 117, 110, 105, 48, 52, 57, 51, 7, 117, 110, 105, 48, 52, 57, 69, 7, 117, 110, 105, 48, 52, 57, 70, 7, 117, 110, 105, 48, 52, 56, 65, 7, 117, 110, 105, 48, 52, 56, 66, 7, 117, 110, 105, 48, 52, 67, 57, 7, 117, 110, 105, 48, 52, 67, 65, 7, 117, 110, 105, 48, 52, 67, 68, 7, 117, 110, 105, 48, 52, 67, 69, 7, 117, 110, 105, 48, 52, 67, 53, 7, 117, 110, 105, 48, 52, 67, 54, 7, 117, 110, 105, 48, 52, 66, 48, 7, 117, 110, 105, 48, 52, 66, 49, 7, 117, 110, 105, 48, 52, 70, 69, 7, 117, 110, 105, 48, 52, 70, 70, 7, 117, 110, 105, 48, 53, 49, 49, 7, 117, 110, 105, 50, 48, 49, 53, 0, 1, 0, 1, 255, 255, 0, 15, 0, 1, 0, 0, 0, 10, 0, 48, 0, 62, 0, 4, 68, 70, 76, 84, 0, 26, 99, 121, 114, 108, 0, 26, 103, 114, 101, 107, 0, 26, 108, 97, 116, 110, 0, 26, 0, 4, 0, 0, 0, 0, 255, 255, 0, 1, 0, 0, 0, 1, 115, 109, 99, 112, 0, 8, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4, 0, 1, 0, 0, 0, 1, 0, 8, 0, 2, 1, 190, 0, 220, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 112, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 79, 2, 80, 2, 81, 2, 82, 2, 83, 2, 84, 2, 85, 2, 86, 2, 87, 2, 88, 2, 89, 2, 90, 2, 91, 2, 92, 2, 93, 2, 112, 2, 94, 2, 95, 2, 96, 2, 97, 2, 98, 2, 99, 2, 100, 2, 101, 2, 102, 2, 103, 2, 130, 2, 114, 2, 133, 2, 160, 2, 134, 2, 136, 2, 132, 2, 159, 2, 161, 2, 137, 2, 138, 2, 135, 2, 162, 2, 164, 2, 139, 2, 163, 2, 165, 2, 129, 2, 141, 2, 167, 2, 170, 2, 142, 2, 143, 2, 168, 2, 140, 2, 166, 2, 169, 2, 130, 2, 172, 2, 171, 2, 173, 2, 174, 2, 145, 2, 177, 2, 146, 2, 147, 2, 179, 2, 144, 2, 176, 2, 178, 2, 175, 2, 180, 2, 181, 2, 182, 2, 184, 2, 183, 2, 185, 2, 186, 2, 188, 2, 187, 2, 148, 2, 150, 2, 190, 2, 151, 2, 153, 2, 149, 2, 191, 2, 189, 2, 152, 2, 192, 2, 194, 2, 193, 2, 195, 2, 198, 2, 197, 2, 196, 2, 131, 2, 199, 2, 155, 2, 202, 2, 156, 2, 157, 2, 154, 2, 204, 2, 201, 2, 205, 2, 203, 2, 200, 2, 206, 2, 158, 2, 207, 2, 208, 2, 209, 2, 211, 2, 210, 2, 133, 2, 160, 2, 134, 2, 136, 2, 132, 2, 159, 2, 161, 2, 137, 2, 138, 2, 135, 2, 162, 2, 164, 2, 139, 2, 163, 2, 165, 2, 129, 2, 141, 2, 167, 2, 170, 2, 142, 2, 143, 2, 168, 2, 140, 2, 166, 2, 169, 2, 172, 2, 171, 2, 173, 2, 174, 2, 145, 2, 177, 2, 146, 2, 147, 2, 144, 2, 176, 2, 178, 2, 175, 2, 180, 2, 181, 2, 182, 2, 184, 2, 183, 2, 185, 2, 186, 2, 188, 2, 187, 2, 148, 2, 150, 2, 190, 2, 151, 2, 153, 2, 149, 2, 191, 2, 189, 2, 152, 2, 192, 2, 194, 2, 193, 2, 195, 2, 198, 2, 197, 2, 196, 2, 131, 2, 199, 2, 155, 2, 202, 2, 156, 2, 157, 2, 154, 2, 204, 2, 201, 2, 205, 2, 203, 2, 200, 2, 206, 2, 158, 2, 207, 2, 208, 2, 209, 2, 211, 2, 210, 2, 127, 2, 127, 0, 2, 0, 26, 0, 2, 0, 53, 0, 0, 0, 76, 0, 76, 0, 52, 0, 80, 0, 80, 0, 53, 0, 158, 0, 167, 0, 54, 0, 169, 0, 182, 0, 64, 0, 184, 0, 188, 0, 78, 0, 190, 0, 205, 0, 83, 0, 207, 0, 215, 0, 99, 0, 217, 0, 218, 0, 108, 0, 221, 0, 235, 0, 110, 0, 237, 0, 241, 0, 125, 0, 243, 0, 243, 0, 130, 0, 246, 0, 248, 0, 131, 0, 250, 1, 6, 0, 134, 1, 8, 1, 21, 0, 147, 1, 23, 1, 26, 0, 161, 1, 28, 1, 42, 0, 165, 1, 44, 1, 52, 0, 180, 1, 54, 1, 55, 0, 189, 1, 58, 1, 72, 0, 191, 1, 74, 1, 78, 0, 206, 1, 80, 1, 80, 0, 211, 1, 83, 1, 85, 0, 212, 1, 87, 1, 89, 0, 215, 2, 126, 2, 126, 0, 218, 2, 128, 2, 128, 0, 219, 0, 1, 0, 1, 0, 8, 0, 2, 0, 0, 0, 20, 0, 2, 0, 0, 0, 36, 0, 2, 119, 103, 104, 116, 1, 0, 0, 0, 105, 116, 97, 108, 1, 11, 0, 1, 0, 4, 0, 16, 0, 1, 0, 0, 0, 0, 1, 16, 2, 188, 0, 0, 0, 1, 0, 1, 0, 0, 1, 17, 0, 1, 0, 0) font_name = "Roboto Mono" style_name = "Bold Italic" @@ -339,7 +117,7 @@ shadow_offset = Vector2(10, 10) [node name="Control" type="Window"] disable_3d = true gui_embed_subwindows = true -title = "GdUnitSettings" +title = "GdUnit4 Settings" initial_position = 1 size = Vector2i(1006, 723) visible = false @@ -379,7 +157,6 @@ offset_right = 590.0 offset_bottom = 25.0 size_flags_horizontal = 3 text = "Enables/disables the update notification " -clip_text = true max_lines_visible = 1 [node name="sub_category" type="Panel" parent="property_template"] @@ -480,18 +257,18 @@ layout_mode = 2 size_flags_horizontal = 3 auto_translate = false localize_numeral_system = false -theme_override_fonts/normal_font = SubResource("FontFile_ulks6") -theme_override_fonts/bold_font = SubResource("FontFile_ia6yb") -theme_override_fonts/italics_font = SubResource("FontFile_uy7mm") -theme_override_fonts/bold_italics_font = SubResource("FontFile_xg6bo") -theme_override_fonts/mono_font = SubResource("FontFile_ulks6") +theme_override_fonts/normal_font = SubResource("FontFile_r1ald") +theme_override_fonts/bold_font = SubResource("FontFile_f2k5o") +theme_override_fonts/italics_font = SubResource("FontFile_krpv6") +theme_override_fonts/bold_italics_font = SubResource("FontFile_qmdkd") +theme_override_fonts/mono_font = SubResource("FontFile_r1ald") theme_override_font_sizes/normal_font_size = 14 theme_override_font_sizes/bold_font_size = 14 theme_override_font_sizes/italics_font_size = 14 theme_override_font_sizes/bold_italics_font_size = 14 theme_override_font_sizes/mono_font_size = 14 bbcode_enabled = true -text = "[center][color=#9887c4]gd[/color][color=#7a57d6]Unit[/color][color=#9887c4]4[/color] [color=#9887c4]4.3.0[/color][/center]" +text = "[center][color=#9887c4]gd[/color][color=#7a57d6]Unit[/color][color=#9887c4]4[/color] [color=#9887c4]4.3.3[/color][/center]" scroll_active = false meta_underlined = false @@ -532,7 +309,6 @@ layout_mode = 2 [node name="common-content" type="VBoxContainer" parent="Panel/PanelContainer/v/MarginContainer/GridContainer/Properties/Common"] unique_name_in_owner = true clip_contents = true -custom_minimum_size = Vector2(1557, 0) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -544,7 +320,6 @@ layout_mode = 2 [node name="ui-content" type="VBoxContainer" parent="Panel/PanelContainer/v/MarginContainer/GridContainer/Properties/UI"] unique_name_in_owner = true clip_contents = true -custom_minimum_size = Vector2(1361, 0) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -556,21 +331,10 @@ layout_mode = 2 [node name="shortcut-content" type="VBoxContainer" parent="Panel/PanelContainer/v/MarginContainer/GridContainer/Properties/Shortcuts"] unique_name_in_owner = true clip_contents = true -custom_minimum_size = Vector2(983, 0) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="GdUnitInputCapture" parent="Panel/PanelContainer/v/MarginContainer/GridContainer/Properties/Shortcuts/shortcut-content" instance=ExtResource("5_xu3j8")] -unique_name_in_owner = true -visible = false -modulate = Color(1.01063e-08, 1.01063e-08, 1.01063e-08, 0.1) -z_index = 1 -z_as_relative = false -layout_mode = 2 -size_flags_horizontal = 1 -size_flags_vertical = 1 - [node name="Report" type="ScrollContainer" parent="Panel/PanelContainer/v/MarginContainer/GridContainer/Properties"] visible = false layout_mode = 2 @@ -578,7 +342,6 @@ layout_mode = 2 [node name="report-content" type="VBoxContainer" parent="Panel/PanelContainer/v/MarginContainer/GridContainer/Properties/Report"] unique_name_in_owner = true clip_contents = true -custom_minimum_size = Vector2(1249, 0) layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -587,6 +350,16 @@ size_flags_vertical = 3 visible = false layout_mode = 2 +[node name="GdUnitInputCapture" parent="Panel/PanelContainer/v/MarginContainer/GridContainer/Properties" instance=ExtResource("5_xu3j8")] +unique_name_in_owner = true +visible = false +modulate = Color(1.54884e-09, 1.54884e-09, 1.54884e-09, 0.1) +z_index = 1 +z_as_relative = false +layout_mode = 2 +size_flags_horizontal = 1 +size_flags_vertical = 1 + [node name="propertyError" type="PopupPanel" parent="Panel/PanelContainer/v/MarginContainer/GridContainer/Properties"] unique_name_in_owner = true initial_position = 1 diff --git a/addons/gdUnit4/src/ui/templates/TestSuiteTemplate.gd b/addons/gdUnit4/src/ui/templates/TestSuiteTemplate.gd index 7230481..be5c352 100644 --- a/addons/gdUnit4/src/ui/templates/TestSuiteTemplate.gd +++ b/addons/gdUnit4/src/ui/templates/TestSuiteTemplate.gd @@ -30,10 +30,10 @@ func _notification(what :int) -> void: func setup_editor_colors() -> void: if not Engine.is_editor_hint(): return - var settings := EditorInterface.get_editor_settings() - var background_color :Color = settings.get_setting("text_editor/theme/highlighting/background_color") - var text_color :Color = settings.get_setting("text_editor/theme/highlighting/text_color") - var selection_color :Color = settings.get_setting("text_editor/theme/highlighting/selection_color") + + var background_color := get_editor_color("text_editor/theme/highlighting/background_color", Color(0.1155, 0.132, 0.1595, 1)) + var text_color := get_editor_color("text_editor/theme/highlighting/text_color", Color(0.8025, 0.81, 0.8225, 1)) + var selection_color := get_editor_color("text_editor/theme/highlighting/selection_color", Color(0.44, 0.73, 0.98, 0.4)) for e :CodeEdit in [_template_editor, _tags_editor]: var editor :CodeEdit = e @@ -41,20 +41,20 @@ func setup_editor_colors() -> void: editor.add_theme_color_override("font_color", text_color) editor.add_theme_color_override("font_readonly_color", text_color) editor.add_theme_color_override("font_selected_color", selection_color) - setup_highlighter(editor, settings) + setup_highlighter(editor) -func setup_highlighter(editor :CodeEdit, settings :EditorSettings) -> void: +func setup_highlighter(editor :CodeEdit) -> void: var highlighter := CodeHighlighter.new() editor.set_syntax_highlighter(highlighter) - var number_color :Color = settings.get_setting("text_editor/theme/highlighting/number_color") - var symbol_color :Color = settings.get_setting("text_editor/theme/highlighting/symbol_color") - var function_color :Color = settings.get_setting("text_editor/theme/highlighting/function_color") - var member_variable_color :Color = settings.get_setting("text_editor/theme/highlighting/member_variable_color") - var comment_color :Color = settings.get_setting("text_editor/theme/highlighting/comment_color") - var keyword_color :Color = settings.get_setting("text_editor/theme/highlighting/keyword_color") - var base_type_color :Color = settings.get_setting("text_editor/theme/highlighting/base_type_color") - var annotation_color :Color = settings.get_setting("text_editor/theme/highlighting/gdscript/annotation_color") + var number_color := get_editor_color("text_editor/theme/highlighting/number_color", Color(0.63, 1, 0.88, 1)) + var symbol_color := get_editor_color("text_editor/theme/highlighting/symbol_color", Color(0.67, 0.79, 1, 1)) + var function_color := get_editor_color("text_editor/theme/highlighting/function_color", Color(0.34, 0.7, 1, 1)) + var member_variable_color := get_editor_color("text_editor/theme/highlighting/member_variable_color", Color(0.736, 0.88, 1, 1)) + var comment_color := get_editor_color("text_editor/theme/highlighting/comment_color", Color(0.8025, 0.81, 0.8225, 0.5)) + var keyword_color := get_editor_color("text_editor/theme/highlighting/keyword_color", Color(1, 0.44, 0.52, 1)) + var base_type_color := get_editor_color("text_editor/theme/highlighting/base_type_color", Color(0.26, 1, 0.76, 1)) + var annotation_color := get_editor_color("text_editor/theme/highlighting/gdscript/annotation_color", Color(1, 0.7, 0.45, 1)) highlighter.clear_color_regions() highlighter.clear_keyword_colors() @@ -74,8 +74,16 @@ func setup_highlighter(editor :CodeEdit, settings :EditorSettings) -> void: highlighter.add_keyword_color(word, base_type_color) +## Using this function to avoid null references to colors on inital Godot installations. +## For more details show https://github.com/MikeSchulze/gdUnit4/issues/533 +func get_editor_color(property_name: String, default: Color) -> Color: + var settings := EditorInterface.get_editor_settings() + return settings.get_setting(property_name) if settings.has_setting(property_name) else default + + func setup_fonts() -> void: if _template_editor: + @warning_ignore("return_value_discarded") GdUnitFonts.init_fonts(_template_editor) var font_size := GdUnitFonts.init_fonts(_tags_editor) _title_bar.size.y = font_size + 16 diff --git a/addons/gdUnit4/src/update/GdMarkDownReader.gd b/addons/gdUnit4/src/update/GdMarkDownReader.gd index 6a6594b..f208142 100644 --- a/addons/gdUnit4/src/update/GdMarkDownReader.gd +++ b/addons/gdUnit4/src/update/GdMarkDownReader.gd @@ -109,6 +109,7 @@ func regex(pattern :String) -> RegEx: func _init() -> void: + @warning_ignore("return_value_discarded") _img_replace_regex.compile("\\[img\\]((.*?))\\[/img\\]") @@ -116,6 +117,7 @@ func set_http_client(client :GdUnitUpdateClient) -> void: _client = client +@warning_ignore("return_value_discarded") func _notification(what :int) -> void: if what == NOTIFICATION_PREDELETE: # finally remove_at the downloaded images @@ -149,26 +151,29 @@ func to_bbcode(input :String) -> String: var regex_ :RegEx = pattern[0] var bb_replace :Variant = pattern[1] if bb_replace is Callable: + @warning_ignore("unsafe_method_access") input = await bb_replace.call(regex_, input) else: - input = regex_.sub(input, bb_replace, true) + @warning_ignore("unsafe_cast") + input = regex_.sub(input, bb_replace as String, true) return input + "\n" -func process_tables(input :String) -> String: - var bbcode := Array() - var lines := Array(input.split("\n")) +func process_tables(input: String) -> String: + var bbcode := PackedStringArray() + var lines: Array[String] = Array(input.split("\n") as Array, TYPE_STRING, "", null) while not lines.is_empty(): if is_table(lines[0]): bbcode.append_array(parse_table(lines)) continue - bbcode.append(lines.pop_front()) - return "\n".join(PackedStringArray(bbcode)) + @warning_ignore("return_value_discarded", "unsafe_cast") + bbcode.append(lines.pop_front() as String) + return "\n".join(bbcode) class Table: - var _columns :int - var _rows := Array() + var _columns: int + var _rows: Array[Row] = [] class Row: var _cells := PackedStringArray() @@ -176,6 +181,7 @@ class Table: func _init(cells :PackedStringArray, columns :int) -> void: _cells = cells for i in range(_cells.size(), columns): + @warning_ignore("return_value_discarded") _cells.append("") func to_bbcode(cell_sizes :PackedInt32Array, bold :bool) -> String: @@ -186,6 +192,7 @@ class Table: cell = create_line(cell_sizes[cell_index]) if bold: cell = "[b]%s[/b]" % cell + @warning_ignore("return_value_discarded") cells.append("[cell]%s[/cell]" % cell) return "|".join(cells) @@ -208,6 +215,7 @@ class Table: func calculate_max_cell_sizes() -> PackedInt32Array: var cells_size := PackedInt32Array() for column in _columns: + @warning_ignore("return_value_discarded") cells_size.append(0) for row_index in _rows.size(): @@ -219,6 +227,7 @@ class Table: cells_size[cell_index] = size return cells_size + @warning_ignore("return_value_discarded") func to_bbcode() -> PackedStringArray: var cell_sizes := calculate_max_cell_sizes() var bb_code := PackedStringArray() @@ -292,6 +301,7 @@ func process_image_references(p_regex :RegEx, p_input :String) -> String: return extracted_references +@warning_ignore("return_value_discarded") func process_image(p_regex :RegEx, p_input :String) -> String: var to_replace := PackedStringArray() var tool_tips := PackedStringArray() @@ -312,6 +322,7 @@ func process_image(p_regex :RegEx, p_input :String) -> String: func _process_external_image_resources(input :String) -> String: + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(image_download_folder) # scan all img for external resources and download it for value in _img_replace_regex.search_all(input): @@ -334,6 +345,7 @@ func _process_external_image_resources(input :String) -> String: var err := image.save_png(new_url) if err: push_error("Can't save image to '%s'. Error: %s" % [new_url, error_string(err)]) + @warning_ignore("return_value_discarded") _image_urls.append(new_url) input = input.replace(image_url, new_url) return input diff --git a/addons/gdUnit4/src/update/GdUnitPatcher.gd b/addons/gdUnit4/src/update/GdUnitPatcher.gd index d6d5048..bb508d3 100644 --- a/addons/gdUnit4/src/update/GdUnitPatcher.gd +++ b/addons/gdUnit4/src/update/GdUnitPatcher.gd @@ -42,6 +42,7 @@ func _collect_patch_versions(scan_path :String, current :GdUnit4Version) -> Pack var patches := Array() var dir := DirAccess.open(scan_path) if dir != null: + @warning_ignore("return_value_discarded") dir.list_dir_begin() # TODO GODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547 var next := "." while next != "": @@ -59,6 +60,7 @@ func _scan_patches(path :String) -> PackedStringArray: var patches := Array() var dir := DirAccess.open(path) if dir != null: + @warning_ignore("return_value_discarded") dir.list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547 var next := "." while next != "": diff --git a/addons/gdUnit4/src/update/GdUnitUpdate.gd b/addons/gdUnit4/src/update/GdUnitUpdate.gd index 7b7206c..a807c75 100644 --- a/addons/gdUnit4/src/update/GdUnitUpdate.gd +++ b/addons/gdUnit4/src/update/GdUnitUpdate.gd @@ -50,6 +50,7 @@ func message_h4(message :String, color :Color) -> void: _progress_content.append_text("[font_size=16]%s[/font_size]" % _colored(message, color)) +@warning_ignore("return_value_discarded") func run_update() -> void: get_cancel_button().disabled = true get_ok_button().disabled = true @@ -92,6 +93,7 @@ func restart_godot() -> void: EditorInterface.restart_editor(true) +@warning_ignore("return_value_discarded") func enable_gdUnit() -> void: var enabled_plugins := PackedStringArray() if ProjectSettings.has_setting("editor_plugins/enabled"): @@ -110,6 +112,7 @@ const GDUNIT_TEMP := "user://tmp" func temp_dir() -> String: if not DirAccess.dir_exists_absolute(GDUNIT_TEMP): + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(GDUNIT_TEMP) return GDUNIT_TEMP @@ -118,6 +121,7 @@ func create_temp_dir(folder_name :String) -> String: var new_folder := temp_dir() + "/" + folder_name delete_directory(new_folder) if not DirAccess.dir_exists_absolute(new_folder): + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(new_folder) return new_folder @@ -125,6 +129,7 @@ func create_temp_dir(folder_name :String) -> String: func delete_directory(path :String, only_content := false) -> void: var dir := DirAccess.open(path) if dir != null: + @warning_ignore("return_value_discarded") dir.list_dir_begin() var file_name := "." while file_name != "": @@ -159,6 +164,7 @@ func copy_directory(from_dir :String, to_dir :String) -> bool: var source_dir := DirAccess.open(from_dir) var dest_dir := DirAccess.open(to_dir) if source_dir != null: + @warning_ignore("return_value_discarded") source_dir.list_dir_begin() var next := "." @@ -169,6 +175,7 @@ func copy_directory(from_dir :String, to_dir :String) -> bool: var source := source_dir.get_current_dir() + "/" + next var dest := dest_dir.get_current_dir() + "/" + next if source_dir.current_is_dir(): + @warning_ignore("return_value_discarded") copy_directory(source + "/", dest) continue var err := source_dir.copy(source, dest) @@ -195,10 +202,12 @@ func extract_zip(zip_package :String, dest_path :String) -> Variant: for zip_entry in zip_entries: var new_file_path: String = dest_path + "/" + zip_entry.replace(archive_path, "") if zip_entry.ends_with("/"): + @warning_ignore("return_value_discarded") DirAccess.make_dir_recursive_absolute(new_file_path) continue var file: FileAccess = FileAccess.open(new_file_path, FileAccess.WRITE) file.store_buffer(zip.read_file(zip_entry)) + @warning_ignore("return_value_discarded") zip.close() return dest_path diff --git a/addons/gdUnit4/src/update/GdUnitUpdateClient.gd b/addons/gdUnit4/src/update/GdUnitUpdateClient.gd index a3f56ce..0cf6b92 100644 --- a/addons/gdUnit4/src/update/GdUnitUpdateClient.gd +++ b/addons/gdUnit4/src/update/GdUnitUpdateClient.gd @@ -17,6 +17,7 @@ class HttpResponse: func response() -> Variant: var test_json_conv := JSON.new() + @warning_ignore("return_value_discarded") test_json_conv.parse(_body.get_string_from_utf8()) return test_json_conv.get_data() @@ -28,6 +29,7 @@ var _http_request :HTTPRequest = HTTPRequest.new() func _ready() -> void: add_child(_http_request) + @warning_ignore("return_value_discarded") _http_request.request_completed.connect(_on_request_completed) diff --git a/addons/gdUnit4/src/update/GdUnitUpdateNotify.gd b/addons/gdUnit4/src/update/GdUnitUpdateNotify.gd index 67acabb..19acfc8 100644 --- a/addons/gdUnit4/src/update/GdUnitUpdateNotify.gd +++ b/addons/gdUnit4/src/update/GdUnitUpdateNotify.gd @@ -21,6 +21,7 @@ var _download_zip_url :String func _ready() -> void: _update_button.disabled = true _md_reader.set_http_client(_update_client) + @warning_ignore("return_value_discarded") GdUnitFonts.init_fonts(_content) await request_releases() @@ -91,7 +92,7 @@ func show_update() -> void: func extract_latest_version(response :GdUnitUpdateClient.HttpResponse) -> GdUnit4Version: var body :Array = response.response() - return GdUnit4Version.parse(body[0]["name"]) + return GdUnit4Version.parse(body[0]["name"] as String) func extract_zip_url(response :GdUnitUpdateClient.HttpResponse) -> String: @@ -103,7 +104,7 @@ func extract_releases(response :GdUnitUpdateClient.HttpResponse, current_version await get_tree().process_frame var result := "" for release :Dictionary in response.response(): - if GdUnit4Version.parse(release["tag_name"]).equals(current_version): + if GdUnit4Version.parse(release["tag_name"] as String).equals(current_version): break var release_description :String = release["body"] result += await _md_reader.to_bbcode(release_description) @@ -119,8 +120,8 @@ func rescan() -> void: while fs.is_scanning(): if OS.is_stdout_verbose(): progressBar(fs.get_scanning_progress() * 100 as int) - await Engine.get_main_loop().process_frame - await Engine.get_main_loop().process_frame + await get_tree().process_frame + await get_tree().process_frame await get_tree().create_timer(1).timeout @@ -132,6 +133,7 @@ func progressBar(p_progress :int) -> void: printraw("scan [%-50s] %-3d%%\r" % ["".lpad(int(p_progress/2.0), "#").rpad(50, "-"), p_progress]) +@warning_ignore("return_value_discarded") func _on_update_pressed() -> void: _update_button.set_disabled(true) # close all opend scripts before start the update @@ -146,9 +148,9 @@ func _on_update_pressed() -> void: var dest := FileAccess.open("res://addons/.gdunit_update/GdUnitUpdate.tscn", FileAccess.WRITE) dest.store_string(content) hide() - var update :Variant = load("res://addons/.gdunit_update/GdUnitUpdate.tscn").instantiate() + var update: Node = load("res://addons/.gdunit_update/GdUnitUpdate.tscn").instantiate() update.setup(_update_client, _download_zip_url) - Engine.get_main_loop().root.add_child(update) + (Engine.get_main_loop() as SceneTree).root.add_child(update) update.popup_centered() @@ -163,13 +165,14 @@ func _on_cancel_pressed() -> void: func _on_content_meta_clicked(meta :String) -> void: var properties :Variant = str_to_var(meta) if properties.has("url"): - OS.shell_open(properties.get("url")) + @warning_ignore("return_value_discarded") + OS.shell_open(properties.get("url") as String) func _on_content_meta_hover_started(meta :String) -> void: var properties :Variant = str_to_var(meta) if properties.has("tool_tip"): - _content.set_tooltip_text(properties.get("tool_tip")) + _content.set_tooltip_text(properties.get("tool_tip") as String) @warning_ignore("unused_parameter")