From 5589740f0394d92a73385311409ae4c25e97cd86 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Sat, 27 Jan 2024 10:34:56 -0600 Subject: [PATCH] Fix up new stages, configure stage plates, add bonus boss stage, add levels to configuration files. Change Class selection window to include an online character checkbox to toggle between online and offline saving. Fix online/offline file IDs that were incorrectly loading due to no callbacks for async file retrieval. --- .../Adventures in Lestoria.tiled-project | 4 +- .../Adventures in Lestoria.vcxproj | 4 + .../Adventures in Lestoria.vcxproj.filters | 3 + Adventures in Lestoria/Checkbox.h | 80 +++++ .../ClassSelectionWindow.cpp | 22 +- Adventures in Lestoria/LoadGameWindow.cpp | 1 - Adventures in Lestoria/MainMenuWindow.cpp | 13 +- Adventures in Lestoria/Menu.cpp | 3 + Adventures in Lestoria/Menu.h | 6 + Adventures in Lestoria/SaveFile.cpp | 46 ++- Adventures in Lestoria/SaveFile.h | 5 +- Adventures in Lestoria/SaveFileWindow.cpp | 5 - Adventures in Lestoria/UserIDMenu.cpp | 14 +- Adventures in Lestoria/Version.h | 2 +- .../assets/Campaigns/1_B1.tmx | 7 +- .../assets/Campaigns/Boss_1_B.tmx | 279 ++++++++++++++++++ .../assets/Campaigns/Boss_1_v2.tmx | 4 +- .../assets/Campaigns/World_Map.tmx | 18 +- .../assets/config/Player.txt | 4 +- .../assets/config/configuration.txt | 4 +- .../assets/config/levels.txt | 10 + 21 files changed, 479 insertions(+), 55 deletions(-) create mode 100644 Adventures in Lestoria/Checkbox.h create mode 100644 Adventures in Lestoria/assets/Campaigns/Boss_1_B.tmx diff --git a/Adventures in Lestoria/Adventures in Lestoria.tiled-project b/Adventures in Lestoria/Adventures in Lestoria.tiled-project index f6f7a2d8..535d01da 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.tiled-project +++ b/Adventures in Lestoria/Adventures in Lestoria.tiled-project @@ -168,7 +168,9 @@ "STORY_1_2", "STORY_1_3", "BOSS_1", - "BLACKSMITH" + "BLACKSMITH", + "CAMPAIGN_1_B1", + "BOSS_1_B" ], "valuesAsFlags": false }, diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj b/Adventures in Lestoria/Adventures in Lestoria.vcxproj index 77a0f5ae..15f6081a 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj @@ -369,6 +369,10 @@ + + + + diff --git a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters index fa74026c..2ffdd5b5 100644 --- a/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters +++ b/Adventures in Lestoria/Adventures in Lestoria.vcxproj.filters @@ -444,6 +444,9 @@ Header Files\Interface + + Header Files\Interface + diff --git a/Adventures in Lestoria/Checkbox.h b/Adventures in Lestoria/Checkbox.h new file mode 100644 index 00000000..b4bb7806 --- /dev/null +++ b/Adventures in Lestoria/Checkbox.h @@ -0,0 +1,80 @@ +#pragma region License +/* +License (OLC-3) +~~~~~~~~~~~~~~~ + +Copyright 2024 Joshua Sigona + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions or derivations of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +2. Redistributions or derivative works in binary form must reproduce the above +copyright notice. This list of conditions and the following disclaimer must be +reproduced in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may +be used to endorse or promote products derived from this software without specific +prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +Portions of this software are copyright © 2023 The FreeType +Project (www.freetype.org). Please see LICENSE_FT.txt for more information. +All rights reserved. +*/ +#pragma endregion +#pragma once + +#include "MenuComponent.h" +#include "AdventuresInLestoria.h" + +INCLUDE_game + +class Checkbox:public MenuComponent{ +protected: + bool checked=false; + ToggleFunc onToggle; + + inline void Toggle(){ + checked=!checked; + onToggle(ToggleFuncData{*Menu::menus[parentMenu],game,Menu::menus[parentMenu]->components[name],parentComponent,checked}); + } +public: + inline Checkbox(geom2d::rectrect,ToggleFunc onToggle,const bool checked=false) + :MenuComponent(rect,"",[](MenuFuncData data){ + auto checkbox=Component(data.menu.GetType(),data.component.lock()->GetName()); + checkbox->Toggle(); + return true; + }),checked(checked),onToggle(onToggle){} + + inline const bool IsChecked()const{ + return checked; + } + + inline void DrawDecal(ViewPort&window,bool focused)override{ + geom2d::linecheckmarkLine1=geom2d::line({rect.left().start.x+rect.size.x*0.125f,rect.left().start.y+rect.size.y*0.5f},{rect.top().start.x+rect.size.x*0.375f,rect.top().start.y+rect.size.y*0.875f}); + geom2d::linecheckmarkLine2=geom2d::line(checkmarkLine1.end,{rect.left().start.x+rect.size.x*0.875f,rect.top().start.y+rect.size.y*0.25f}); + + MenuComponent::DrawDecal(window,focused); + if(checked){ + for(int y=-1;y<=1;y++){ + for(int x=-1;x<=1;x++){ + window.DrawLineDecal(vf2d{float(x),float(y)}/game->GetScreenPixelSize()+checkmarkLine1.start,vf2d{float(x),float(y)}/game->GetScreenPixelSize()+checkmarkLine1.end); + window.DrawLineDecal(vf2d{float(x),float(y)}/game->GetScreenPixelSize()+checkmarkLine2.start,vf2d{float(x),float(y)}/game->GetScreenPixelSize()+checkmarkLine2.end); + } + } + } + } +}; \ No newline at end of file diff --git a/Adventures in Lestoria/ClassSelectionWindow.cpp b/Adventures in Lestoria/ClassSelectionWindow.cpp index 3f5fbd7e..dd5b6137 100644 --- a/Adventures in Lestoria/ClassSelectionWindow.cpp +++ b/Adventures in Lestoria/ClassSelectionWindow.cpp @@ -44,6 +44,7 @@ All rights reserved. #include "ClassInfo.h" #include "SaveFileNameButton.h" #include "TextEntryLabel.h" +#include "Checkbox.h" INCLUDE_game using A=Attribute; @@ -75,7 +76,12 @@ void Menu::InitializeClassSelectionWindow(){ classSelectionWindow->ADD("Confirm",MenuComponent)(geom2d::rect{{outlineSize.x+4-navigationButtonSize.x-2,outlineSize.y+29-navigationButtonSize.y-2},navigationButtonSize},"Confirm",[](MenuFuncData data){ std::string selectedClass=data.component.lock()->S(A::CLASS_SELECTION); data.game->ChangePlayerClass(classutils::StringToClass(selectedClass)); - GameState::ChangeState(States::OVERWORLD_MAP); + if(SaveFile::IsOnline()){ + SaveFile::SetSaveFileID(SaveFile::GetOnlineSaveFileCount()); + SaveFile::UpdateSaveGameData([](){GameState::ChangeState(States::OVERWORLD_MAP);}); + }else{ + SaveFile::SetSaveFileOfflineID_TransitionToOverworldMap(); + } return true; })END ->disabled=true; @@ -141,6 +147,20 @@ void Menu::InitializeClassSelectionWindow(){ toggleGroup.push_back(classSprite); } + #ifdef __EMSCRIPTEN__ + classSelectionWindow->ADD("Online Character Checkbox",Checkbox)(geom2d::rect{classSelectionWindow->pos+classSelectionWindow->size-vf2d{84,72},{12,12}},[](ToggleFuncData data){ + SaveFile::SetOnlineMode(data.checked); + if(SaveFile::IsOnline()&&SaveFile::GetUserID().length()==0){ + //Present the user with the user ID form. + game->TextEntryEnable(true); + Menu::OpenMenu(USER_ID); + } + return true; + },SaveFile::IsOnline())END; + + classSelectionWindow->ADD("Online Character Text Label",MenuLabel)(geom2d::rect{classSelectionWindow->pos+classSelectionWindow->size-vf2d{69,70},{54,12}},"Online Character",0.75f,ComponentAttr::SHADOW)END; + #endif + for(std::weak_ptritem:toggleGroup){ item.lock()->SetToggleGroup(toggleGroup); } diff --git a/Adventures in Lestoria/LoadGameWindow.cpp b/Adventures in Lestoria/LoadGameWindow.cpp index a5cea7c8..4bcf44b6 100644 --- a/Adventures in Lestoria/LoadGameWindow.cpp +++ b/Adventures in Lestoria/LoadGameWindow.cpp @@ -50,7 +50,6 @@ void Menu::InitializeLoadGameWindow(){ ->Enable(false); loadGameWindow->ADD("Go Back Button",MenuComponent)(geom2d::rect{{24,124},{48,12}},"Back",[](MenuFuncData menu){Menu::CloseMenu();return true;})END; - #pragma region ScrollWindow macro lambda #define ScrollWindow(amount) \ [](MenuType type){ \ diff --git a/Adventures in Lestoria/MainMenuWindow.cpp b/Adventures in Lestoria/MainMenuWindow.cpp index 0b63502b..8d264d6e 100644 --- a/Adventures in Lestoria/MainMenuWindow.cpp +++ b/Adventures in Lestoria/MainMenuWindow.cpp @@ -57,18 +57,7 @@ void Menu::InitializeMainMenuWindow(){ return true; })END; auto loadGameButton=mainMenuWindow->ADD("Load Game Button",MenuComponent)(geom2d::rect{{12,36},{72,24}},"Load Game",[](MenuFuncData data){ - #ifdef __EMSCRIPTEN__ - data.menu.S(A::NEXT_MENU)="Load Game"; - if(SaveFile::GetUserID().length()==0){ - game->TextEntryEnable(true); - Menu::OpenMenu(USER_ID); - }else{ - SaveFile::UpdateSaveGameData(); - } - #else - SaveFile::UpdateSaveGameData(); - Menu::OpenMenu(LOAD_GAME); - #endif + SaveFile::UpdateSaveGameData([](){Menu::OpenMenu(LOAD_GAME);}); //This function also opens the menu in emscripten. return true; })END; mainMenuWindow->ADD("Quit Game Button",MenuComponent)(geom2d::rect{{12,68},{72,24}},"Quit Game",[](MenuFuncData data){ diff --git a/Adventures in Lestoria/Menu.cpp b/Adventures in Lestoria/Menu.cpp index a90a050f..25dc6d6f 100644 --- a/Adventures in Lestoria/Menu.cpp +++ b/Adventures in Lestoria/Menu.cpp @@ -639,6 +639,9 @@ void Menu::AddChapterListener(std::weak_ptrcomponent){ MenuFuncData::MenuFuncData(Menu&menu,AiL*const game,std::weak_ptrcomponent,std::weak_ptrparentComponent) :menu(menu),game(game),component(component),parentComponent(parentComponent){} +ToggleFuncData::ToggleFuncData(Menu&menu,AiL*const game,std::weak_ptrcomponent,std::weak_ptrparentComponent,bool checked) + :MenuFuncData(menu,game,component,parentComponent),checked(checked){} + void Menu::SetupKeyboardNavigation(MenuDataFunc onOpen,MenuInputGroups inputGroups,ButtonNavigationGroups navigationGroups){ this->onOpenFunc=onOpen; this->inputGroups=inputGroups; diff --git a/Adventures in Lestoria/Menu.h b/Adventures in Lestoria/Menu.h index f516bd4c..39968fab 100644 --- a/Adventures in Lestoria/Menu.h +++ b/Adventures in Lestoria/Menu.h @@ -61,7 +61,13 @@ struct MenuFuncData{ MenuFuncData(Menu&menu,AiL*const game,std::weak_ptr component,std::weak_ptrparentComponent={}); }; +struct ToggleFuncData:public MenuFuncData{ + bool checked; + ToggleFuncData(Menu&menu,AiL*const game,std::weak_ptrcomponent,std::weak_ptrparentComponent,bool checked); +}; + using MenuFunc=std::function; +using ToggleFunc=std::function; //Add a component to a menu using this macro. Follow-up with END at the end of it. #define ADD(key,componentType) _AddComponent(key,std::make_shared #define END ) diff --git a/Adventures in Lestoria/SaveFile.cpp b/Adventures in Lestoria/SaveFile.cpp index b39d4ad1..91668291 100644 --- a/Adventures in Lestoria/SaveFile.cpp +++ b/Adventures in Lestoria/SaveFile.cpp @@ -52,6 +52,7 @@ size_t SaveFile::saveFileID=0; std::string SaveFile::saveFileName=""; std::string SaveFile::username=""; bool SaveFile::onlineMode=false; +std::functionSaveFile::afterSaveGameDataUpdate; const size_t SaveFile::GetSaveFileCount(){ std::filesystem::create_directories("save_file_path"_S); @@ -301,7 +302,32 @@ const void SaveFile::SetSaveFileID(size_t saveFileID){ SaveFile::saveFileID=saveFileID; } -const void SaveFile::UpdateSaveGameData(){ +const void SaveFile::SetSaveFileOfflineID_TransitionToOverworldMap(){ + #ifdef __EMSCRIPTEN__ + emscripten_idb_async_load("/assets",("save_file_path"_S+"metadata.dat").c_str(),0,[](void*arg,void*data,int length){ + std::string rawMetadata=(char*)data; + std::ofstream file("save_file_path"_S+"metadata.dat"); + for(int i=0;iafterSaveGameDataUpdate){ + SaveFile::afterSaveGameDataUpdate=afterSaveGameDataUpdate; + std::filesystem::create_directories("save_file_path"_S); auto LoadMetadataFile=[](){ auto gameFilesList=Component(LOAD_GAME,"Game Files List"); @@ -346,7 +372,7 @@ const void SaveFile::UpdateSaveGameData(){ } } }; - auto LoadMetadataFromDB=[](){ + auto LoadMetadataFromDB=[&](){ auto gameFilesList=Component(LOAD_GAME,"Game Files List"); gameFilesList->RemoveAllComponents(); #ifdef __EMSCRIPTEN__ @@ -376,17 +402,13 @@ const void SaveFile::UpdateSaveGameData(){ offsetY+=49; } } - Menu::OpenMenu(LOAD_GAME); + SaveFile::afterSaveGameDataUpdate(); },[](void*arg){ std::cout<<"Failed to load metadata!"<afterSaveGameDataUpdate; public: static const std::string_view GetSaveFileName(); static const void SetSaveFileName(std::string_view saveFileName); @@ -66,8 +67,10 @@ public: static const void LoadGame(); static void LoadFile(); static const void SetSaveFileID(size_t saveFileID); + static const void SetSaveFileOfflineID_TransitionToOverworldMap(); //Called whenever the save game data is updated. - static const void UpdateSaveGameData(); + //WARNING! In Emscripten, this function also opens the Load Menu window! + static const void UpdateSaveGameData(std::functionafterSaveGameDataUpdate); static const std::string CreateServerRequest(const SaveFileOperation::Operation operation,std::string_view data); static const void Server_GetLoadInfo(std::functionrespCallbackFunc); static const void Server_GetFile(std::functionrespCallbackFunc); diff --git a/Adventures in Lestoria/SaveFileWindow.cpp b/Adventures in Lestoria/SaveFileWindow.cpp index 316a046e..aa3ab439 100644 --- a/Adventures in Lestoria/SaveFileWindow.cpp +++ b/Adventures in Lestoria/SaveFileWindow.cpp @@ -49,11 +49,6 @@ void Menu::InitializeSaveFileWindow(){ saveFileWindow->ADD("Back Button",MenuComponent)(geom2d::rect{{-8,68},{48,12}},"Cancel",[](MenuFuncData data){Menu::CloseMenu();game->TextEntryEnable(false);return true;})END; saveFileWindow->ADD("Continue Button",MenuComponent)(geom2d::rect{{56,68},{48,12}},"Submit",MenuType::CLASS_SELECTION,[](MenuFuncData data){ SaveFile::SetSaveFileName(game->TextEntryGetString()); - if(SaveFile::IsOnline()){ - SaveFile::SetSaveFileID(SaveFile::GetOnlineSaveFileCount()); - }else{ - SaveFile::SetSaveFileID(SaveFile::GetSaveFileCount()); - } game->TextEntryEnable(false); return true; })END diff --git a/Adventures in Lestoria/UserIDMenu.cpp b/Adventures in Lestoria/UserIDMenu.cpp index d95e37db..cb2404c3 100644 --- a/Adventures in Lestoria/UserIDMenu.cpp +++ b/Adventures in Lestoria/UserIDMenu.cpp @@ -40,6 +40,7 @@ All rights reserved. #include "MenuLabel.h" #include "TextEntryLabel.h" #include "SaveFile.h" +#include "Checkbox.h" using A=Attribute; @@ -51,21 +52,14 @@ void Menu::InitializeUserIDWindow(){ Component(USER_ID,"Submit Button")->SetGrayedOut(newLabel.length()==0); },true,24U,1.f,ComponentAttr::BACKGROUND|ComponentAttr::FIT_TO_LABEL|ComponentAttr::OUTLINE|ComponentAttr::SHADOW)END; userIDWindow->ADD("Back Button",MenuComponent)(geom2d::rect{{18,110},{48,12}},"Back",[](MenuFuncData data){ + SaveFile::SetOnlineMode(false); //We declined the online saving, so don't allow it. + Component(CLASS_SELECTION,"Online Character Checkbox")->Click(); //Since the checkbox is currently checked, we have to click it to toggle it. Menu::CloseMenu(); return true; })END; userIDWindow->ADD("Submit Button",MenuComponent)(geom2d::rect{{102,110},{48,12}},"Submit",[](MenuFuncData data){ SaveFile::SetUserID(Component(USER_ID,"User ID Input")->GetLabel()); - if(Menu::menus[MAIN_MENU]->S(A::NEXT_MENU)=="New Game"){ - Menu::CloseMenu(); - Component(MAIN_MENU,"New Game Button")->Click(); - }else - if(Menu::menus[MAIN_MENU]->S(A::NEXT_MENU)=="Load Game"){ - Menu::CloseMenu(); - Component(MAIN_MENU,"Load Game Button")->Click(); - }else{ - ERR("WARNING! Unknown Next Menu set! Current Value:"<S(A::NEXT_MENU))); - } + Menu::CloseMenu(); return true; })END ->SetGrayedOut(true); diff --git a/Adventures in Lestoria/Version.h b/Adventures in Lestoria/Version.h index e0993a9c..fdacb33b 100644 --- a/Adventures in Lestoria/Version.h +++ b/Adventures in Lestoria/Version.h @@ -39,7 +39,7 @@ All rights reserved. #define VERSION_MAJOR 0 #define VERSION_MINOR 3 #define VERSION_PATCH 0 -#define VERSION_BUILD 6436 +#define VERSION_BUILD 6455 #define stringify(a) stringify_(a) #define stringify_(a) #a diff --git a/Adventures in Lestoria/assets/Campaigns/1_B1.tmx b/Adventures in Lestoria/assets/Campaigns/1_B1.tmx index 33e6c146..375d2e18 100644 --- a/Adventures in Lestoria/assets/Campaigns/1_B1.tmx +++ b/Adventures in Lestoria/assets/Campaigns/1_B1.tmx @@ -1,5 +1,10 @@ - + + + + + + diff --git a/Adventures in Lestoria/assets/Campaigns/Boss_1_B.tmx b/Adventures in Lestoria/assets/Campaigns/Boss_1_B.tmx new file mode 100644 index 00000000..180f9bd1 --- /dev/null +++ b/Adventures in Lestoria/assets/Campaigns/Boss_1_B.tmx @@ -0,0 +1,279 @@ + + + + + + + + + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,680,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,678,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,678,678,678,680,680,680,680,680,680,680,680,680,680,680,680, +0,0,0,0,0,0,0,0,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680, +680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680, +680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680, +4541,4542,4543,4544,4545,4546,4547,4548,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4541,4542,4543,4544,4545,4546,4547,4548, +4581,4582,4583,4584,4585,4586,4587,4588,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4581,4582,4583,4584,4585,4586,4587,4588, +4621,4622,4623,4624,4625,4626,4627,4628,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4621,4622,4623,4624,4625,4626,4627,4628, +4661,4662,4663,4664,4665,4666,4667,4668,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4661,4662,4663,4664,4665,4666,4667,4668, +4701,4702,4703,4704,4705,4706,4707,4708,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4701,4702,4703,4704,4705,4706,4707,4708, +4741,4742,4743,4744,4745,4746,4747,4748,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4741,4742,4743,4744,4745,4746,4747,4748, +4781,4782,4783,4784,4785,4786,4787,4788,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4781,4782,4783,4784,4785,4786,4787,4788, +4821,4822,4823,4824,4825,4826,4827,4828,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4821,4822,4823,4824,4825,4826,4827,4828, +5181,5182,5183,5184,5185,5186,5187,5188,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5181,5182,5183,5184,5185,5186,5187,5188, +5221,5222,5223,5224,5225,5226,5227,5228,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5221,5222,5223,5224,5225,5226,5227,5228, +5261,5262,5263,5264,5265,5266,5267,5268,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5261,5262,5263,5264,5265,5266,5267,5268, +5301,5302,5303,5304,5305,5306,5307,5308,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5301,5302,5303,5304,5305,5306,5307,5308, +5341,5342,5343,5344,5345,5346,5347,5348,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5341,5342,5343,5344,5345,5346,5347,5348, +5381,5382,5383,5384,5385,5386,5387,5388,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5381,5382,5383,5384,5385,5386,5387,5388, +5421,5422,5423,5424,5425,5426,5427,5428,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5421,5422,5423,5424,5425,5426,5427,5428, +5461,5462,5463,5464,5465,5466,5467,5468,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5461,5462,5463,5464,5465,5466,5467,5468, +4541,4542,4543,4544,4545,4546,4547,4548,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4541,4542,4543,4544,4545,4546,4547,4548, +4581,4582,4583,4584,4585,4586,4587,4588,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4581,4582,4583,4584,4585,4586,4587,4588, +4621,4622,4623,4624,4625,4626,4627,4628,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4621,4622,4623,4624,4625,4626,4627,4628, +4661,4662,4663,4664,4665,4666,4667,4668,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4661,4662,4663,4664,4665,4666,4667,4668, +4701,4702,4703,4704,4705,4706,4707,4708,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4701,4702,4703,4704,4705,4706,4707,4708, +4741,4742,4743,4744,4745,4746,4747,4748,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4741,4742,4743,4744,4745,4746,4747,4748, +4781,4782,4783,4784,4785,4786,4787,4788,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4781,4782,4783,4784,4785,4786,4787,4788, +4821,4822,4823,4824,4825,4826,4827,4828,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4821,4822,4823,4824,4825,4826,4827,4828, +5181,5182,5183,5184,5185,5186,5187,5188,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5181,5182,5183,5184,5185,5186,5187,5188, +5221,5222,5223,5224,5225,5226,5227,5228,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5221,5222,5223,5224,5225,5226,5227,5228, +5261,5262,5263,5264,5265,5266,5267,5268,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5261,5262,5263,5264,5265,5266,5267,5268, +5301,5302,5303,5304,5305,5306,5307,5308,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5301,5302,5303,5304,5305,5306,5307,5308, +5341,5342,5343,5344,5345,5346,5347,5348,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5341,5342,5343,5344,5345,5346,5347,5348, +5381,5382,5383,5384,5385,5386,5387,5388,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5381,5382,5383,5384,5385,5386,5387,5388, +5421,5422,5423,5424,5425,5426,5427,5428,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5421,5422,5423,5424,5425,5426,5427,5428, +5461,5462,5463,5464,5465,5466,5467,5468,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5461,5462,5463,5464,5465,5466,5467,5468, +4541,4542,4543,4544,4545,4546,4547,4548,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4541,4542,4543,4544,4545,4546,4547,4548, +4581,4582,4583,4584,4585,4586,4587,4588,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4581,4582,4583,4584,4585,4586,4587,4588, +4621,4622,4623,4624,4625,4626,4627,4628,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4621,4622,4623,4624,4625,4626,4627,4628, +4661,4662,4663,4664,4665,4666,4667,4668,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4661,4662,4663,4664,4665,4666,4667,4668, +4701,4702,4703,4704,4705,4706,4707,4708,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4701,4702,4703,4704,4705,4706,4707,4708, +4741,4742,4743,4744,4745,4746,4747,4748,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4741,4742,4743,4744,4745,4746,4747,4748, +4781,4782,4783,4784,4785,4786,4787,4788,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4781,4782,4783,4784,4785,4786,4787,4788, +4821,4822,4823,4824,4825,4826,4827,4828,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4821,4822,4823,4824,4825,4826,4827,4828, +5181,5182,5183,5184,5185,5186,5187,5188,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5181,5182,5183,5184,5185,5186,5187,5188, +5221,5222,5223,5224,5225,5226,5227,5228,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5221,5222,5223,5224,5225,5226,5227,5228, +5261,5262,5263,5264,5265,5266,5267,5268,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5261,5262,5263,5264,5265,5266,5267,5268, +5301,5302,5303,5304,5305,5306,5307,5308,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5301,5302,5303,5304,5305,5306,5307,5308, +5341,5342,5343,5344,5345,5346,5347,5348,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5341,5342,5343,5344,5345,5346,5347,5348, +5381,5382,5383,5384,5385,5386,5387,5388,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5381,5382,5383,5384,5385,5386,5387,5388, +5421,5422,5423,5424,5425,5426,5427,5428,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5421,5422,5423,5424,5425,5426,5427,5428, +5461,5462,5463,5464,5465,5466,5467,5468,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5461,5462,5463,5464,5465,5466,5467,5468, +4541,4542,4543,4544,4545,4546,4547,4548,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4541,4542,4543,4544,4545,4546,4547,4548, +4581,4582,4583,4584,4585,4586,4587,4588,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4581,4582,4583,4584,4585,4586,4587,4588, +4621,4622,4623,4624,4625,4626,4627,4628,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4621,4622,4623,4624,4625,4626,4627,4628, +4661,4662,4663,4664,4665,4666,4667,4668,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4661,4662,4663,4664,4665,4666,4667,4668, +4701,4702,4703,4704,4705,4706,4707,4708,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4701,4702,4703,4704,4705,4706,4707,4708, +4741,4742,4743,4744,4745,4746,4747,4748,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4741,4742,4743,4744,4745,4746,4747,4748, +4781,4782,4783,4784,4785,4786,4787,4788,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4781,4782,4783,4784,4785,4786,4787,4788, +4821,4822,4823,4824,4825,4826,4827,4828,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,4821,4822,4823,4824,4825,4826,4827,4828, +5181,5182,5183,5184,5185,5186,5187,5188,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5181,5182,5183,5184,5185,5186,5187,5188, +5221,5222,5223,5224,5225,5226,5227,5228,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,5221,5222,5223,5224,5225,5226,5227,5228, +5261,5262,5263,5264,5265,5266,5267,5268,4541,4542,4543,4544,4545,4546,4547,4548,5181,5182,5183,5184,5185,5186,5187,5188,4541,4542,4543,4544,4545,4546,4547,4548,5181,5182,5183,5184,5185,5186,5187,5188,4541,4542,4543,4544,4545,4546,4547,4548,5181,5182,5183,5184,5185,5186,5187,5188,4541,4542,4543,4544,4545,4546,4547,4548,5261,5262,5263,5264,5265,5266,5267,5268, +5301,5302,5303,5304,5305,5306,5307,5308,4581,4582,4583,4584,4585,4586,4587,4588,5221,5222,5223,5224,5225,5226,5227,5228,4581,4582,4583,4584,4585,4586,4587,4588,5221,5222,5223,5224,5225,5226,5227,5228,4581,4582,4583,4584,4585,4586,4587,4588,5221,5222,5223,5224,5225,5226,5227,5228,4581,4582,4583,4584,4585,4586,4587,4588,5301,5302,5303,5304,5305,5306,5307,5308, +5341,5342,5343,5344,5345,5346,5347,5348,4621,4622,4623,4624,4625,4626,4627,4628,5261,5262,5263,5264,5265,5266,5267,5268,4621,4622,4623,4624,4625,4626,4627,4628,5261,5262,5263,5264,5265,5266,5267,5268,4621,4622,4623,4624,4625,4626,4627,4628,5261,5262,5263,5264,5265,5266,5267,5268,4621,4622,4623,4624,4625,4626,4627,4628,5341,5342,5343,5344,5345,5346,5347,5348, +5381,5382,5383,5384,5385,5386,5387,5388,4661,4662,4663,4664,4665,4666,4667,4668,5301,5302,5303,5304,5305,5306,5307,5308,4661,4662,4663,4664,4665,4666,4667,4668,5301,5302,5303,5304,5305,5306,5307,5308,4661,4662,4663,4664,4665,4666,4667,4668,5301,5302,5303,5304,5305,5306,5307,5308,4661,4662,4663,4664,4665,4666,4667,4668,5381,5382,5383,5384,5385,5386,5387,5388, +5421,5422,5423,5424,5425,5426,5427,5428,4701,4702,4703,4704,4705,4706,4707,4708,5341,5342,5343,5344,5345,5346,5347,5348,4701,4702,4703,4704,4705,4706,4707,4708,5341,5342,5343,5344,5345,5346,5347,5348,4701,4702,4703,4704,4705,4706,4707,4708,5341,5342,5343,5344,5345,5346,5347,5348,4701,4702,4703,4704,4705,4706,4707,4708,5421,5422,5423,5424,5425,5426,5427,5428, +5461,5462,5463,5464,5465,5466,5467,5468,4741,4742,4743,4744,4745,4746,4747,4748,5381,5382,5383,5384,5385,5386,5387,5388,4741,4742,4743,4744,4745,4746,4747,4748,5381,5382,5383,5384,5385,5386,5387,5388,4741,4742,4743,4744,4745,4746,4747,4748,5381,5382,5383,5384,5385,5386,5387,5388,4741,4742,4743,4744,4745,4746,4747,4748,5461,5462,5463,5464,5465,5466,5467,5468, +0,0,0,0,0,0,0,0,4781,4782,4783,4784,4785,4786,4787,4788,5421,5422,5423,5424,5425,5426,5427,5428,4781,4782,4783,4784,4785,4786,4787,4788,5421,5422,5423,5424,5425,5426,5427,5428,4781,4782,4783,4784,4785,4786,4787,4788,5421,5422,5423,5424,5425,5426,5427,5428,4781,4782,4783,4784,4785,4786,4787,4788,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,4821,4822,4823,4824,4825,4826,4827,4828,5461,5462,5463,5464,5465,5466,5467,5468,4821,4822,4823,4824,4825,4826,4827,4828,5461,5462,5463,5464,5465,5466,5467,5468,4821,4822,4823,4824,4825,4826,4827,4828,5461,5462,5463,5464,5465,5466,5467,5468,4821,4822,4823,4824,4825,4826,4827,4828,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046, +1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046, +1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046, +1046,1046,1046,1046,1046,1046,1046,1046,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1046,1046,1046,1046,1046,1046,1046,1046, +1046,1046,1046,1046,1046,1046,1046,1046,0,0,0,0,0,0,0,0,0,0,3357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,3492,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,1046,1046,1046,1046,1046,1046,1046,1046, +1046,1046,1046,1046,1046,1046,1046,1046,0,0,0,0,3494,0,0,0,0,0,0,0,0,0,0,0,0,3402,0,0,0,0,0,0,3402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3447,0,0,0,0,0,0,0,0,0,0,0,0,0,3493,0,1046,1046,1046,1046,1046,1046,1046,1046, +1150,1150,1150,1150,1150,1150,1150,1001,1097,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1046,1046,1046,1046,1046,1046,1046,1046, +1202,1202,1202,1202,1202,1202,1202,1201,1149,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150, +1254,1254,1254,1254,1254,1254,1254,1201,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202, +1306,1306,1306,1306,1306,1306,1306,1253,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254, +3577,3578,0,0,3577,3578,0,1305,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306, +0,0,0,0,0,0,0,3577,3578,0,3403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3751,0,0,3751,0,0,0,0,0,0,0,0,0,0,3447,0,0,0,3347,3348,3349,3342,3343,3344,3345,3346,0,0,3337,3338,3339,3340,3341,0,0,3447,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3488,3489,0,0,0,0,3402,0,0,0,3447,0,0,3796,3377,3378,3379,3402,0,3538,3539,0,3536,3537,0,3577,3578,0,0,3706,0,0,3353,3354,3355,3356,3392,3393,3394,3387,3388,3389,3390,3391,0,0,3382,3383,3384,3385,3386,3231,3232,3706,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3533,3534,0,0,0,0,0,0,3488,3489,3231,3232,3374,3375,3422,3423,3424,3231,3232,3583,3584,3579,3581,3582,3237,3238,0,3488,3489,0,3237,3238,3398,3399,3400,3401,3231,3232,0,3432,3433,3434,3435,3436,3231,3232,3427,3428,3429,3430,3431,3276,3277,0,3358,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3448,3579,3287,3288,3577,3578,3533,3534,3276,3277,3419,3420,3467,3468,3469,3276,3277,3628,3629,3448,3626,3627,3282,3283,0,3533,3534,3579,3282,3283,3443,3444,3445,3446,3276,3277,0,3477,3478,3479,3480,3481,3276,3277,3472,3473,3474,3475,3476,3488,3489,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3353,3354,3355,3579,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3533,3534,0,0,3447,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3398,3399,3400,3401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3577,3578,3579,3488,3489,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3443,3444,3445,3446,0,0,0,3492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3494,0,0,0,0,3494,0,0,0,0,3347,3348,3349,3533,3534,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3342,3343,3344,3494,3579,0,0,0,0,0,0,0,0,0,0,3491,0,0,0,0,0,3494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3392,3393,3394,3796,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3387,3388,3389,3390,3391,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3353,3354,3355,3356,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3432,3433,3434,3435,3436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3398,3399,3400,3401,3661,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3477,3478,3479,3480,3481,0,0,0,0,3447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3402,0,0,0,0,0,0,0,0,0,0,3443,3444,3445,3446,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3351,3352,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3512,3513,3514,3403,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3396,3397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3447,0,0,0,0,0,0,0,0,0,0,0,3494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3492,0,0,3557,3558,3559,3488,3489,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3626,3627,3378,3379,0,0,0,0,0,0,3402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3351,3352,3402,3533,3534,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3422,3423,3424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3357,0,0,0,0,0,0,0,3396,3397,0,3796,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3467,3468,3469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3347,3348,3349,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3512,3513,3514,0,0,0,0,0,0,0,0,3491,0,0,0,0,0,0,0,3357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3392,3393,3394,0,3447,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3557,3558,3559,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,3357,0,0,0,0,0,3492,0,0,3353,3354,3355,3356,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3661,0,3231,3232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3398,3399,3400,3401,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3276,3277,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3443,3444,3445,3446,3706,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3353,3354,3355,3579,0,0,0,0,0,0,0,3357,0,0,0,0,0,0,3492,0,0,0,0,0,0,0,3357,0,0,0,0,0,0,0,3494,0,0,0,3491,0,0,0,0,0,0,0,0,0,0,0,3237,3238,3579,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3398,3399,3400,3401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3494,0,0,0,0,3282,3283,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3488,3489,3444,3445,3446,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3372,3373,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3533,3534,3448,3372,3373,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3492,0,0,0,0,0,0,0,0,3417,3418,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3358,0,3417,3418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3351,3352,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3512,3513,3514,0,0,0,0,3492,0,0,0,0,3491,0,0,0,0,0,0,0,3492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3396,3397,3536,3537,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3402,3557,3558,3559,0,0,0,0,0,0,0,0,0,0,0,3357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3494,0,0,0,0,0,0,0,0,0,0,0,3488,3489,3581,3582,3448,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3342,3343,3344,3491,3579,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3533,3534,3626,3627,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3387,3388,3389,3390,3391,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3342,3343,3344,3345,3449,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3432,3433,3434,3435,3436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3402,0,0,0,0,0,3387,3388,3389,3390,3391,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3477,3478,3479,3480,3481,0,0,0,0,0,3493,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,3494,0,0,0,0,0,0,0,3492,0,0,0,0,0,0,3492,0,0,0,0,0,0,0,0,0,0,3432,3433,3434,3435,3436,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3402,0,0,3465,3466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3477,3478,3479,3480,3481,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3510,3511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3231,3232,3579,0,3448,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3447,0,3555,3556,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3494,0,0,0,0,0,0,3276,3277,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3231,3232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3491,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3342,3343,3344,3796,3346,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3488,3489,3403,3276,3277,0,0,0,0,0,0,0,3447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3387,3388,3389,3390,3391,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3533,3534,3462,3463,3464,0,0,0,0,0,0,0,0,0,0,3491,0,0,0,0,0,0,0,0,0,0,0,0,0,3402,0,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,0,3432,3433,3434,3435,3436,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3507,3508,3509,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,0,3494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3357,0,0,3477,3478,3479,3480,3481,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3402,3552,3553,3554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3488,3489,0,3447,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3488,3489,3347,3348,3349,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3533,3534,3448,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3533,3534,3392,3393,3394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3357,3447,0,0,0,0,3357,0,0,0,0,0,0,0,0,3512,3513,3514,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3353,3354,3355,3579,0,0,0,0,0,3492,0,0,0,0,0,0,0,0,3491,0,0,0,0,0,0,3402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3557,3558,3559,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3398,3399,3400,3401,0,0,0,0,0,0,0,0,0,0,0,3447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3237,3238,3748,3749,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3706,3444,3445,3446,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3492,0,0,0,0,0,0,0,0,0,0,0,0,0,3357,0,0,0,0,0,3282,3283,3793,3794,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3237,3238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3488,3489,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3357,3282,3283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3402,0,0,0,0,0,0,0,0,0,0,0,0,3533,3534,3579,3488,3489,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3414,3415,3416,0,0,0,0,3447,0,0,0,0,0,3357,3491,0,0,0,0,0,0,0,0,0,3491,0,0,0,0,0,0,0,0,0,0,0,3357,0,0,0,0,0,0,0,0,0,0,0,0,3414,3415,3416,3533,3534,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3706,3459,3460,3461,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3447,0,0,0,3459,3460,3461,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3504,3505,3506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3504,3505,3506,3441,3442,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3488,3489,3549,3550,3551,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3549,3550,3551,3486,3487,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3533,3534,3357,3256,3257,0,0,0,0,0,3402,0,0,3492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3447,0,0,0,0,0,0,0,0,0,0,0,0,0,3493,0,0,0,0,0,0,0,0,3347,3348,3349,3531,3532,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3301,3302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3402,0,0,0,0,0,0,0,3494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3392,3393,3394,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3402,3488,3489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3488,3489,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3358,0,0,3533,3534,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3536,3537,0,0,0,0,0,0,3533,3534,0,0,3661,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3342,3343,3344,3403,3579,3347,3348,3349,3351,3352,3372,3373,3376,3377,3378,3379,3231,3232,0,0,0,3536,3537,3337,3338,3339,3340,3341,3512,3513,3514,3577,3578,3488,3489,3351,3352,3353,3354,3355,3356,3581,3582,3372,3373,3231,3232,3353,3354,3355,3356,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3488,3489,3387,3388,3389,3390,3391,3392,3393,3394,3396,3397,3417,3418,3421,3422,3423,3424,3276,3277,3579,3488,3489,3581,3582,3382,3383,3384,3385,3386,3557,3558,3559,3448,3358,3533,3534,3396,3397,3398,3399,3400,3401,3626,3627,3417,3418,3276,3277,3398,3399,3400,3401,0,3488,3489,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3533,3534,3432,3433,3434,3435,3436,3351,3352,3796,0,0,3447,0,3448,3467,3468,3469,0,3706,3620,3533,3534,3626,3627,3427,3428,3429,3430,3431,3579,0,3488,3489,3402,0,0,0,3448,3443,3444,3445,3446,0,0,3403,0,0,0,3443,3444,3445,3446,0,3533,3534,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3357,3477,3478,3479,3480,3481,3396,3397,0,0,3447,0,0,0,0,3447,0,0,0,0,0,0,3796,0,3472,3473,3474,3475,3476,3796,0,3533,3534,0,0,0,0,0,0,0,3796,0,0,0,0,0,3706,0,0,3751,0,0,0,3358,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3004,3005,3006,3007,3008,3009,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3004,3005,3006,3007,3008,3009,0,3004,3005,3006,3007,3008,3009,0,0,3011,3012,3013,3014,3015,0,3011,3012,3013,3014,3015,3004,3005,3006,3007,3008,3009,0,0,3004,3005,3006,3007,3008,3009,0,3049,3050,3051,3052,3053,3054,0,0,0,0,0,0,0,0,0, +0,0,3376,3376,0,0,3376,0,0,0,0,3061,3062,3063,3064,3065,3049,3050,3051,3052,3053,3054,0,3049,3050,3051,3052,3053,3054,0,0,3056,3057,3058,3059,3060,0,3056,3057,3058,3059,3060,3049,3050,3051,3052,3053,3054,0,0,3049,3050,3051,3052,3053,3054,0,3094,3095,3096,3097,3098,3099,0,0,0,0,0,0,0,0,0, +0,0,3421,3421,0,0,3421,0,3372,3373,0,3106,3107,3108,3109,3110,3094,3095,3096,3097,3098,3099,0,3094,3095,3096,3097,3098,3099,0,0,3101,3102,3103,3104,3105,0,3101,3102,3103,3104,3105,3094,3095,3096,3097,3098,3099,0,0,3094,3095,3096,3097,3098,3099,0,3139,3140,3141,3142,3143,3144,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,3417,3418,0,3151,3152,3153,3154,3155,3139,3140,3141,3142,3143,3144,0,3139,3140,3141,3142,3143,3144,0,0,3146,3147,3148,3149,3150,0,3146,3147,3148,3149,3150,3139,3140,3141,3142,3143,3144,0,0,3139,3140,3141,3142,3143,3144,0,3184,3185,3186,3187,3188,3189,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3196,3197,3198,3199,3200,3184,3185,3186,3187,3188,3189,0,3184,3185,3186,3187,3188,3189,0,0,3191,3192,3193,3194,3195,0,3191,3192,3193,3194,3195,3184,3185,3186,3187,3188,3189,0,0,3184,3185,3186,3187,3188,3189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3241,3242,3243,3244,3245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3536,3537,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3581,3582,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3004,3005,3006,3007,3008,3009,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3049,3050,3051,3052,3053,3054,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3094,3095,3096,3097,3098,3099,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3011,3012,3013,3014,3015,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3139,3140,3141,3142,3143,3144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3056,3057,3058,3059,3060,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3184,3185,3186,3187,3188,3189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3101,3102,3103,3104,3105,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3146,3147,3148,3149,3150,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3191,3192,3193,3194,3195,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3004,3005,3006,3007,3008,3009,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3049,3050,3051,3052,3053,3054,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3004,3005,3006,3007,3008,3009,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3094,3095,3096,3097,3098,3099,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3049,3050,3051,3052,3053,3054,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3139,3140,3141,3142,3143,3144,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3094,3095,3096,3097,3098,3099,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3184,3185,3186,3187,3188,3189,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3139,3140,3141,3142,3143,3144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,3184,3185,3186,3187,3188,3189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3011,3012,3013,3014,3015,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3056,3057,3058,3059,3060,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3011,3012,3013,3014,3015,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3101,3102,3103,3104,3105,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3056,3057,3058,3059,3060,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3146,3147,3148,3149,3150,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3101,3102,3103,3104,3105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3191,3192,3193,3194,3195,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3146,3147,3148,3149,3150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3191,3192,3193,3194,3195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3031,3032,3033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3076,3077,3078,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3121,3122,3123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3166,3167,3168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3211,3212,3213,0,0,0,0,0,0,0,0,0,0,3004,3005,3006,3007,3008,3009,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3004,3005,3006,3007,3008,3009,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3049,3050,3051,3052,3053,3054,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3049,3050,3051,3052,3053,3054,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3094,3095,3096,3097,3098,3099,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3094,3095,3096,3097,3098,3099,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3139,3140,3141,3142,3143,3144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3139,3140,3141,3142,3143,3144,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3184,3185,3186,3187,3188,3189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3184,3185,3186,3187,3188,3189,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,3579,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3661,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + + + + + + + + + + + + + diff --git a/Adventures in Lestoria/assets/Campaigns/Boss_1_v2.tmx b/Adventures in Lestoria/assets/Campaigns/Boss_1_v2.tmx index f3ce5373..216b65eb 100644 --- a/Adventures in Lestoria/assets/Campaigns/Boss_1_v2.tmx +++ b/Adventures in Lestoria/assets/Campaigns/Boss_1_v2.tmx @@ -264,13 +264,13 @@ - + - + diff --git a/Adventures in Lestoria/assets/Campaigns/World_Map.tmx b/Adventures in Lestoria/assets/Campaigns/World_Map.tmx index c9a4efda..d542c361 100644 --- a/Adventures in Lestoria/assets/Campaigns/World_Map.tmx +++ b/Adventures in Lestoria/assets/Campaigns/World_Map.tmx @@ -627,7 +627,8 @@ - + + @@ -670,19 +671,20 @@ - - - + + + + - + - - + + - + diff --git a/Adventures in Lestoria/assets/config/Player.txt b/Adventures in Lestoria/assets/config/Player.txt index 4dd166a4..816d5ca3 100644 --- a/Adventures in Lestoria/assets/config/Player.txt +++ b/Adventures in Lestoria/assets/config/Player.txt @@ -12,10 +12,10 @@ Player Starting Money = 100 # A default starting name for the character. Specify multiple to randomize. - Default Female Name = Nia, Lea, Poppy, Ruby, Arc + Default Female Name = Nia, Lea, Poppy, Ruby, Arc, Nico # A default starting name for the character. Specify multiple to randomize. - Default Male Name = Cyrus, Odin, Usio, Lucio + Default Male Name = Cyrus, Odin, Usio, Lucio, Nico, Fir # Amount of spd to increase/decrease vertically as you climb staircases StaircaseClimbSpd = 45 diff --git a/Adventures in Lestoria/assets/config/configuration.txt b/Adventures in Lestoria/assets/config/configuration.txt index b4f060e6..2a307717 100644 --- a/Adventures in Lestoria/assets/config/configuration.txt +++ b/Adventures in Lestoria/assets/config/configuration.txt @@ -153,5 +153,5 @@ water_reflection_time_step = 0.6 water_reflection_scale_factor = 0.05 # The message displayed to the user about ID creation. -user_id_message = You are playing the web build of this game. In order to save progress, we ask that you provide a unique username to identify your save data with. -user_id_message2 = Only game save data will be stored. \ No newline at end of file +user_id_message = In order to save progress online, we ask that you provide a unique username to identify your save data with. +user_id_message2 = When loading a file, you will need this unique ID. \ No newline at end of file diff --git a/Adventures in Lestoria/assets/config/levels.txt b/Adventures in Lestoria/assets/config/levels.txt index 6c8a2f19..ab3c51f2 100644 --- a/Adventures in Lestoria/assets/config/levels.txt +++ b/Adventures in Lestoria/assets/config/levels.txt @@ -88,4 +88,14 @@ Levels Loot[1] = Berries, 1, 2, 25% Loot[2] = Green Gemstone, 1, 1, 5% } + CAMPAIGN_1_B1 + { + Map File = 1_B1.tmx + # Specify item, min quantity, and max quantity of items. Optionally specify a % drop chance per item. + # Loot[0] = Berries, 5, 100% + } + BOSS_1_B + { + Map File = Boss_1_B.tmx + } } \ No newline at end of file