diff --git a/.gitignore b/.gitignore index 0fee8ecb589a53bad9c30d7095c5d989a93246b9..33a4376b8db4f13a17178a5f2bc9c74a4dfd7c9d 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,7 @@ npsimulation *.detector *.source NPData/* +Projects/T40/*cxx Inputs/EnergyLoss/*.G4table .ls_return Documentation/user_guide.log diff --git a/.travis.yml b/.travis.yml index 585610e327a14a8390381b10def5d5b68ab014cd..5f17d9b9462171004b3c5b6f758be4a9cc12b8ed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,8 +11,8 @@ compiler: before_install: # Linux - - if [ "$TRAVIS_OS_NAME" == "linux" ]; then cd && wget https://root.cern.ch/download/root_v5.34.36.Linux-ubuntu14-x86_64-gcc4.8.tar.gz; fi - - if [ "$TRAVIS_OS_NAME" == "linux" ]; then tar -xf root_v5.34.36.Linux-ubuntu14-x86_64-gcc4.8.tar.gz; fi + - if [ "$TRAVIS_OS_NAME" == "linux" ]; then cd && wget https://root.cern.ch/download/root_v6.14.00.Linux-ubuntu14-x86_64-gcc4.8.tar.gz; fi + - if [ "$TRAVIS_OS_NAME" == "linux" ]; then tar -xf root_v6.14.00.Linux-ubuntu14-x86_64-gcc4.8.tar.gz; fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then source ~/root/bin/thisroot.sh; fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then cd && wget https://www.dropbox.com/s/8hxjkd6twdsv5fi/geant4_install_new.tar.gz; fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then tar -xf geant4_install_new.tar.gz; fi diff --git a/Examples/Example1/ShowResults.C b/Examples/Example1/ShowResults.C index 3a279292678101949dcbcc2813d5f7aafac7fde0..eabef9bf3da7fce25623e7d096d46b3c72f27876 100644 --- a/Examples/Example1/ShowResults.C +++ b/Examples/Example1/ShowResults.C @@ -36,7 +36,7 @@ void ShowResults(){ // E-TOF c1->cd(2); - chain->Draw("-MUST2.Si_T:SSSD.Energy+MUST2.Si_E>>hIDT(1000,0,35,1000,-30,0)","MUST2.CsI_E<0 && MUST2.TelescopeNumber<5","colz"); + chain->Draw("MUST2.Si_T:SSSD.Energy+MUST2.Si_E>>hIDT(1000,0,35,500,450,500)","MUST2.CsI_E<0 && MUST2.TelescopeNumber<5","colz"); ETOF->Draw("same"); diff --git a/Examples/Example1/configs/ConfigMust2.dat b/Examples/Example1/configs/ConfigMust2.dat index bcbc385cb42bc8a1e67a654e1877530ce21787f9..bebb0bf9ea475fdc1d492417228af5e96dbe37c5 100755 --- a/Examples/Example1/configs/ConfigMust2.dat +++ b/Examples/Example1/configs/ConfigMust2.dat @@ -1,5 +1,5 @@ ConfigMust2 - MAX_STRIP_MULTIPLICITY 1 + MAX_STRIP_MULTIPLICITY 100 STRIP_ENERGY_MATCHING_NUMBER_OF_SIGMA 5 STRIP_ENERGY_MATCHING_SIGMA 0.02 DISABLE_CHANNEL MM1STRY12 @@ -14,6 +14,4 @@ ConfigMust2 DISABLE_ALL MM6 DISABLE_ALL MM7 DISABLE_ALL MM8 - SI_X_E_RAW_THRESHOLD 0 - CSI_E_RAW_THRESHOLD 0 CSI_SIZE 256 diff --git a/Examples/Example1/cuts/ETOF.root b/Examples/Example1/cuts/ETOF.root index 067d548e7c6f2d4adc224047d2a23700cc380032..a57897ebf177e383f164c5d592085d98cb81da22 100644 Binary files a/Examples/Example1/cuts/ETOF.root and b/Examples/Example1/cuts/ETOF.root differ diff --git a/Inputs/EventGenerator/18Opp.reaction b/Inputs/EventGenerator/18Opp.reaction index 488eed07eb95c1528e653d8bda9377052c44ecc1..a41d00e05393926914e3ecdb9713e2923856ec65 100644 --- a/Inputs/EventGenerator/18Opp.reaction +++ b/Inputs/EventGenerator/18Opp.reaction @@ -4,7 +4,7 @@ %%Beam energy given in MeV ; Excitation in MeV Beam Particle= 18O - Energy= 137.88 + Energy= 59.4 SigmaEnergy= 0 SigmaThetaX= 0 SigmaPhiY= 0 @@ -22,7 +22,7 @@ TwoBodyReaction Heavy= 18O ExcitationEnergyLight= 0.0 ExcitationEnergyHeavy= 0.0 - CrossSectionPath= flat.txt CS + CrossSectionPath= flat_18O.txt CS ShootLight= 1 ShootHeavy= 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Inputs/EventGenerator/Example1.reaction b/Inputs/EventGenerator/Example1.reaction index 24c22817ff15ddffa0fe5384736a43bcdcb0f49e..3647c8a4b6e08612747745506276d229e0768de5 100644 --- a/Inputs/EventGenerator/Example1.reaction +++ b/Inputs/EventGenerator/Example1.reaction @@ -30,12 +30,12 @@ TwoBodyReaction ShootHeavy= 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Decay 10He - Daughter= 8He n n - ExcitationEnergy= 0 0 0 MeV - Threshold= 0 MeV - BranchingRatio= 0.5 - LifeTime= 0 ns - Shoot= 1 1 1 +%Decay 10He +% Daughter= 8He n n +% ExcitationEnergy= 0 0 0 MeV +% Threshold= 0 MeV +% BranchingRatio= 0.5 +% LifeTime= 0 ns +% Shoot= 1 1 1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Inputs/EventGenerator/proton.source b/Inputs/EventGenerator/proton.source index 7b62f807a43297d6ba4566711765a7c559e00578..7a4e1e53e19c1f5307a2257c2dd746aecc619df8 100644 --- a/Inputs/EventGenerator/proton.source +++ b/Inputs/EventGenerator/proton.source @@ -4,10 +4,10 @@ % Energy are given in MeV , Position in mm % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Isotropic - EnergyLow= 30 - EnergyHigh= 80 + EnergyLow= 20 + EnergyHigh= 25 HalfOpenAngleMin= 0 - HalfOpenAngleMax= 1 + HalfOpenAngleMax= 180 x0= 0 y0= 0 z0= 0 diff --git a/NPLib/CMakeLists.txt b/NPLib/CMakeLists.txt index fd1349561149b0825b5b7e34a68e96a77b049519..0f10c8e49d6891d47c8fcd4c15bbfcbfffcbc1ea 100644 --- a/NPLib/CMakeLists.txt +++ b/NPLib/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required (VERSION 2.8) include(CheckCXXCompilerFlag) project(NPLib CXX) set(CMAKE_BUILD_TYPE Release) + # Setting the policy to match Cmake version cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) @@ -18,23 +19,6 @@ set(NPLIB_VERSION_DETA 45) configure_file(Core/NPLibVersion.h.in Core/NPLibVersion.h @ONLY) set(DETLIST ${ETLIST}) -#activate Multithreading (on by default) -if(NOT DEFINED NPMULTITHREADING) - set(NPMULTITHREADING 1) - else() - set(NPMULTITHREADING ${NPMULTITHREADING}) -endif() - -if(NPMULTITHREADING) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNPMULTITHREADING=1") - message("Building application with MultiThreading Support") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNPMULTITHREADING=0") - message("Building application with no MutilThreading Support") -endif() - - - string(COMPARE EQUAL "${DETLIST}" "" rdet) if(rdet) message("Building all detectors") @@ -73,11 +57,12 @@ ENDMACRO() # Add include directories to all target include_directories("Core/") include_directories("Physics/") +include_directories("TrackReconstruction/") include_directories("Online/") # Call the macro subdirlist(SUB_DIRECTORY ${CMAKE_BINARY_DIR}) -set(SUB_DIRECTORY ${SUB_DIRECTORY} Core Physics Calibration Online Utility) +set(SUB_DIRECTORY ${SUB_DIRECTORY} Core Physics TrackReconstruction Calibration Online Utility) # Add each sub folder to the project set(TARGET_LIST "") foreach(subdir ${SUB_DIRECTORY}) diff --git a/NPLib/Core/NPCalibrationManager.cxx b/NPLib/Core/NPCalibrationManager.cxx index 7b458f2f5822e474ffc51625685bf3d9101ebe7d..a6881944d2cc71703e11b7f210ef95d2fd91b925 100644 --- a/NPLib/Core/NPCalibrationManager.cxx +++ b/NPLib/Core/NPCalibrationManager.cxx @@ -98,9 +98,12 @@ CalibrationManager::~CalibrationManager() {} ////////////////////////////////////////////////////////////////// -bool CalibrationManager::AddParameter(std::string DetectorName , std::string ParameterName , std::string Token ){ +bool CalibrationManager::AddParameter(std::string DetectorName , std::string ParameterName , std::string Token, std::vector<double> def ){ std::string ParameterPath = DetectorName + "/" + ParameterName ; fToken[Token] = ParameterPath ; + // Case where a default value is given + if(def.size()!=0) + fCalibrationCoeff[ParameterPath] = def; return true; } diff --git a/NPLib/Core/NPCalibrationManager.h b/NPLib/Core/NPCalibrationManager.h index 2bf88eaad0fb1418bae8659e3db2ee736b7912fb..4ea2fd5cef5e3bb3e0e21f5bdbfbf1a8cb9899fb 100644 --- a/NPLib/Core/NPCalibrationManager.h +++ b/NPLib/Core/NPCalibrationManager.h @@ -52,7 +52,7 @@ class CalibrationManager{ // call like : myCalibrationManager->AddParameter( "MUST2" ,"Telescope5_Si_X38_E", "T5_Si_X38_E" ) // return false if the token is not found in the file list - bool AddParameter(std::string DetectorName , std::string ParameterName , std::string Token) ; + bool AddParameter(std::string DetectorName , std::string ParameterName , std::string Token,std::vector<double> def=std::vector<double>()) ; // call like : myCalibrationManager->ApplyCalibration( "MUST2/Telescope5_Si_X38_E" , RawEnergy ) // return the Calibrated value diff --git a/NPLib/Core/NPCore.cxx b/NPLib/Core/NPCore.cxx index 04fda36c45f4739c38638f7ccaea90110643bef9..35c76377e65b37a4481fb21bf270a6f068d051c9 100644 --- a/NPLib/Core/NPCore.cxx +++ b/NPLib/Core/NPCore.cxx @@ -65,3 +65,25 @@ namespace NPL{ std::string NPL::itoa(const int& i){ return NPL::itoa_array[i]; } +//////////////////////////////////////////////////////////////////////////////// +unsigned int NPL::EnergyToADC(const double& E, const double& Emin, const double& Emax, const int& Pedestal, const int& ADCMax){ + double Crange = ADCMax - Pedestal; + double Erange = Emax - Emin; + + // Standard case where larger ADC channel means larger Energy + if(Crange > 0){ + double answer = Crange*E/Erange + Pedestal; + if(answer > ADCMax) + answer = ADCMax; + return answer; + } + // Reverse coding case where larger ADC channel means smaller Energy + else{ + double answer = Crange*E/Erange + Pedestal; + if(answer < ADCMax) + answer = ADCMax; + return answer; + } + + return -1000; +} diff --git a/NPLib/Core/NPCore.h b/NPLib/Core/NPCore.h index 9f14ffadd2b65bd0d096f8b1241805930713dc1e..0cf9ac1953b8ae64e25c10de220de77a1b24f200 100644 --- a/NPLib/Core/NPCore.h +++ b/NPLib/Core/NPCore.h @@ -28,5 +28,7 @@ namespace NPL{ void SendWarning(std::string Class, std::string Warning); void SendInformation(std::string Class, std::string Information); void SendErrorAndExit(std::string Class,std::string Error); + // For use to simulate electronic + unsigned int EnergyToADC(const double& E, const double& Emin, const double& Emax, const int& Pedestal, const int& ADCMax); } #endif diff --git a/NPLib/Core/NPOptionManager.cxx b/NPLib/Core/NPOptionManager.cxx index 7f299c009373b6dbf07397722074694aa954e379..7c797e36a31a8be2919cf8d6cd473227408753a2 100644 --- a/NPLib/Core/NPOptionManager.cxx +++ b/NPLib/Core/NPOptionManager.cxx @@ -115,7 +115,7 @@ void NPOptionManager::ReadTheInputArgument(int argc, char** argv){ else if (argument == "-R" && argc >= i + 1) fRunToReadFileName = argv[++i] ; - else if (argument == "-T" && argc >= i + 2) CreateRunToTreatFile(argv[++i],argv[++i]); + else if (argument == "-T" && argc >= i + 2) { std::string file = argv[++i] ; std::string tree = argv[++i]; CreateRunToTreatFile(file,tree);} else if (argument == "--cal" && argc >= i + 1) fCalibrationFileName = argv[++i] ; diff --git a/NPLib/Core/NPSpectraServer.cxx b/NPLib/Core/NPSpectraServer.cxx index 940c81391e3e9a89275834f49709762c7bf7bbaa..ddfbf1bb1c96c377c86cbfa6b7e20a87fa3ce52f 100644 --- a/NPLib/Core/NPSpectraServer.cxx +++ b/NPLib/Core/NPSpectraServer.cxx @@ -1,4 +1,3 @@ - /***************************************************************************** * Copyright (C) 2009-2016 this file is part of the NPTool Project * * * @@ -68,7 +67,7 @@ void NPL::SpectraServer::CheckRequest(){ m_Monitor->ResetInterrupt(); if((s=m_Monitor->Select(1))!=(TSocket*)-1){ HandleSocket(s); - } + } } } @@ -106,8 +105,8 @@ void NPL::SpectraServer::HandleSocket(TSocket* s){ answer.SetCompressionLevel(1); answer.Reset(); TObject* h =NULL; - if (!strcmp(request, "RequestSpectra")){ - std::cout << "Prepare" << std::endl; + if (!strcmp(request, "RequestSpectra")){ + std::cout << "Prepare" << std::endl; answer.WriteObject(m_Spectra); std::cout << "Compress" << std::endl; answer.Compress(); @@ -115,18 +114,22 @@ void NPL::SpectraServer::HandleSocket(TSocket* s){ s->Send(answer); std::cout << "done" << std::endl; } - - else if (h=m_Spectra->FindObject(request)){ - answer.WriteObject(h); - s->Send(answer); - } else if (!strcmp(request, "RequestClear")){ - // TO DO + // TO DO } - else{ // answer nothing - std::cout << "Fail to respond to request : " << request << std::endl; - s->Send(answer); + + else{ + h = m_Spectra->FindObject(request); + if (h){ + answer.WriteObject(h); + s->Send(answer); + } + + else{ // answer nothing + std::cout << "Fail to respond to request : " << request << std::endl; + s->Send(answer); + } } } } @@ -139,7 +142,7 @@ void NPL::SpectraServer::FillSpectra(const std::string& name,const double& valx) void NPL::SpectraServer::FillSpectra(const std::string& name,const double& valx,const double& valy){ // Fill the local histo ((TH2*) m_Spectra->FindObject(name.c_str()))->Fill(valx,valy); - + } //////////////////////////////////////////////////////////////////////////////// void NPL::SpectraServer::AddSpectra(TH1* h){ diff --git a/NPLib/Detectors/Actar/CMakeLists.txt b/NPLib/Detectors/Actar/CMakeLists.txt index a1b027f6992044326fbeefd56d43a1e2c8150d56..3a0cfd553e869df062a0a29ace253f1a7d772c64 100644 --- a/NPLib/Detectors/Actar/CMakeLists.txt +++ b/NPLib/Detectors/Actar/CMakeLists.txt @@ -1,6 +1,7 @@ add_custom_command(OUTPUT TActarPhysicsDict.cxx COMMAND ../../scripts/build_dict.sh TActarPhysics.h TActarPhysicsDict.cxx TActarPhysics.rootmap libNPActar.dylib DEPENDS TActarPhysics.h) add_custom_command(OUTPUT TActarDataDict.cxx COMMAND ../../scripts/build_dict.sh TActarData.h TActarDataDict.cxx TActarData.rootmap libNPActar.dylib DEPENDS TActarData.h) -add_library(NPActar SHARED TActarSpectra.cxx TActarData.cxx TActarPhysics.cxx TActarDataDict.cxx TActarPhysicsDict.cxx ) -target_link_libraries(NPActar ${ROOT_LIBRARIES} NPCore) -install(FILES TActarData.h TActarPhysics.h TActarSpectra.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) +add_custom_command(OUTPUT MEventReducedDict.cxx COMMAND ../../scripts/build_dict.sh MEventReduced.h MEventReducedDict.cxx MEventReduced.rootmap libNPActar.dylib MTreeStructureLinkDef.h DEPENDS MEventReduced.h) +add_library(NPActar SHARED TActarSpectra.cxx TActarData.cxx TActarPhysics.cxx TActarDataDict.cxx TActarPhysicsDict.cxx MEventReducedDict.cxx) +target_link_libraries(NPActar ${ROOT_LIBRARIES} NPCore NPTrackReconstruction) +install(FILES TActarData.h TActarPhysics.h TActarSpectra.h MEventReduced.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) diff --git a/NPLib/Detectors/Actar/MEventReduced.h b/NPLib/Detectors/Actar/MEventReduced.h new file mode 100644 index 0000000000000000000000000000000000000000..0d642c10a882578fe81229f2720e3d336f73bca2 --- /dev/null +++ b/NPLib/Detectors/Actar/MEventReduced.h @@ -0,0 +1,40 @@ +#ifndef MEVENTREDUCED_H +#define MEVENTREDUCED_H + +#include <stdio.h> +#include <iostream> +#include <cstdlib> +#include <vector> +#include <TObject.h> + +using namespace std; + +class ReducedData: public TObject +{ + public: + ReducedData(){}; + virtual ~ReducedData(){}; + + unsigned short globalchannelid; + bool hasSaturation; + + std::vector<float> peakheight; + std::vector<float> peaktime; + + ClassDef(ReducedData,1); +}; + +class MEventReduced: public TObject +{ + public: + MEventReduced(){}; + virtual ~MEventReduced(){}; + unsigned long int event; + unsigned long int timestamp; + std::vector<ReducedData> CoboAsad; + + ClassDef(MEventReduced,1); +}; + + +#endif diff --git a/NPLib/Detectors/Actar/MTreeStructureLinkDef.h b/NPLib/Detectors/Actar/MTreeStructureLinkDef.h new file mode 100644 index 0000000000000000000000000000000000000000..c9ec8b317d947c4bce19560139b89eaf73c89405 --- /dev/null +++ b/NPLib/Detectors/Actar/MTreeStructureLinkDef.h @@ -0,0 +1,12 @@ +#ifdef __CINT__ + +#pragma link off all globals; +#pragma link off all classes; +#pragma link off all functions; +#pragma link C++ nestedclasses; + +#pragma link C++ class ReducedData+; +#pragma link C++ class MEventReduced+; + + +#endif diff --git a/NPLib/Detectors/Actar/TActarData.cxx b/NPLib/Detectors/Actar/TActarData.cxx index a9462d0ee2a68c4ca7dc012ee52835fb712e9d1d..9c569553b800eca7c8769b9764dc9e57e21ecec6 100644 --- a/NPLib/Detectors/Actar/TActarData.cxx +++ b/NPLib/Detectors/Actar/TActarData.cxx @@ -6,7 +6,7 @@ *****************************************************************************/ /***************************************************************************** - * Original Author: Pierre Morfouace contact address: morfouac@nscl.msu.edu * + * Original Author: Pierre Morfouace contact address: morfouace@ganil.fr * * * * Creation Date : September 2017 * * Last update : * @@ -46,12 +46,10 @@ TActarData::~TActarData() { void TActarData::Clear() { // Charge fActar_PadNumber.clear(); - fActar_PadRow.clear(); - fActar_PadColumn.clear(); + fActar_PadX.clear(); + fActar_PadY.clear(); + fActar_PadZ.clear(); fActar_PadCharge.clear(); - fActar_PadTime.clear(); - fActar_dig_Charge.clear(); - fActar_dig_Time.clear(); fSilicon_Energy.clear(); fSilicon_Time.clear(); @@ -61,13 +59,6 @@ void TActarData::Clear() { fCsI_CrystalNumber.clear(); } -//////////////////////////////////////////////////////////////////////////////// -TGraph* TActarData::GetChargeAsGraph(){ - TGraph* res = new TGraph (fActar_dig_Charge.size(),&fActar_dig_Time[0],&fActar_dig_Charge[0]); - res->Sort(); - return res; - -} ////////////////////////////////////////////////////////////////////// @@ -81,8 +72,10 @@ void TActarData::Dump() const { for (size_t i = 0 ; i < mysize ; i++){ cout << "Pad Number: " << fActar_PadNumber[i] - << " Charge: " << fActar_PadCharge[i] - << " Time: " << fActar_PadTime[i]; + << "Charge: " << fActar_PadCharge[i] + << " X: " << fActar_PadX[i] + << " Y: " << fActar_PadY[i] + << " Z: " << fActar_PadZ[i]; } } diff --git a/NPLib/Detectors/Actar/TActarData.h b/NPLib/Detectors/Actar/TActarData.h index 385512cd1e87e73157fb9ea0fdcc3238cd4b4408..5674c6aa4d6b929bc34c8542cba1c0049c847118 100644 --- a/NPLib/Detectors/Actar/TActarData.h +++ b/NPLib/Detectors/Actar/TActarData.h @@ -8,7 +8,7 @@ *****************************************************************************/ /***************************************************************************** - * Original Author: Pierre Morfouace contact address: morfouac@nscl.msu.edu * + * Original Author: Pierre Morfouace contact address: morfouace@ganil.fr * * * * Creation Date : September 2017 * * Last update : * @@ -37,14 +37,11 @@ class TActarData : public TObject { private: // Charge vector<int> fActar_PadNumber; - vector<int> fActar_PadTime; - vector<int> fActar_PadRow; - vector<int> fActar_PadColumn; + vector<int> fActar_PadX; + vector<int> fActar_PadY; + vector<int> fActar_PadZ; vector<double> fActar_PadCharge; - vector<double> fActar_dig_Time; - vector<double> fActar_dig_Charge; - vector<double> fSilicon_Energy; vector<int> fSilicon_DetectorNumber; vector<double> fSilicon_Time; @@ -83,25 +80,19 @@ class TActarData : public TObject { inline void SetPadNumber(const UShort_t& PadNbr){ fActar_PadNumber.push_back(PadNbr); };//! - // Row - inline void SetRowNumber(const UShort_t& RowNbr){ - fActar_PadRow.push_back(RowNbr); + // Row Y + inline void SetPadY(const UShort_t& RowNbr){ + fActar_PadY.push_back(RowNbr); } - // Column - inline void SetColumnNumber(const UShort_t& ColumnNbr){ - fActar_PadColumn.push_back(ColumnNbr); + // Column X + inline void SetPadX(const UShort_t& ColumnNbr){ + fActar_PadX.push_back(ColumnNbr); } - // Time - inline void SetTime(const Double_t& Time) { - fActar_PadTime.push_back(Time); + // Time Z + inline void SetPadZ(const Double_t& Time) { + fActar_PadZ.push_back(Time); };//! - // Digitizer - void AddEnergyPoint(double& E,double& T){ - fActar_dig_Charge.push_back(E); - fActar_dig_Time.push_back(T); - } - //Silicon inline void SetSiliconEnergy(const Double_t& Energy){ fSilicon_Energy.push_back(Energy); @@ -124,23 +115,20 @@ class TActarData : public TObject { ////////////////////// GETTERS //////////////////////// // Charge - inline UShort_t GetMultCharge() const - {return fActar_PadNumber.size();} - inline UShort_t Get_PadNumber(const unsigned int &i) const + inline UShort_t GetPadMult() const + {return fActar_PadX.size();} + inline UShort_t GetPadNumber(const unsigned int &i) const {return fActar_PadNumber[i];}//! - inline UShort_t Get_PadRow(const unsigned int &i) const - {return fActar_PadRow[i];}//! - inline UShort_t Get_PadColumn(const unsigned int &i) const - {return fActar_PadColumn[i];}//! - inline Double_t Get_Charge(const unsigned int &i) const + inline UShort_t GetPadX(const unsigned int &i) const + {return fActar_PadX[i];}//! + inline UShort_t GetPadY(const unsigned int &i) const + {return fActar_PadY[i];}//! + inline Double_t GetPadZ(const unsigned int &i) const + {return fActar_PadZ[i];}//! + inline Double_t GetPadCharge(const unsigned int &i) const {return fActar_PadCharge[i];}//! + - // Time - inline Double_t Get_Time(const unsigned int &i) const - {return fActar_PadTime[i];}//! - - inline vector<double> Get_dig_Charge() {return fActar_dig_Charge;} - TGraph* GetChargeAsGraph(); // Silicon inline Double_t Get_SiliconEnergy(const unsigned int &i) const diff --git a/NPLib/Detectors/Actar/TActarPhysics.cxx b/NPLib/Detectors/Actar/TActarPhysics.cxx index c1b79c0d872d73695783ca9e8e88e67e239148ac..4fc143b32ef50ea7afef94420848d2980b0dec8c 100644 --- a/NPLib/Detectors/Actar/TActarPhysics.cxx +++ b/NPLib/Detectors/Actar/TActarPhysics.cxx @@ -6,7 +6,7 @@ *****************************************************************************/ /***************************************************************************** - * Original Author: Pierre Morfouace contact address: morfouac@nscl.msu.edu * + * Original Author: Pierre Morfouace contact address: morfouace@ganil.fr * * * * Creation Date : September 2017 * * Last update : * @@ -47,304 +47,506 @@ ClassImp(TActarPhysics) /////////////////////////////////////////////////////////////////////////// TActarPhysics::TActarPhysics() - : m_EventData(new TActarData), - m_PreTreatedData(new TActarData), - m_EventPhysics(this), - m_Spectra(0), - m_E_RAW_Threshold(0), // adc channels - m_E_Threshold(0), // MeV - m_NumberOfDetectors(0) { +: m_EventData(new TActarData), +m_EventReduced(new MEventReduced), +m_PreTreatedData(new TActarData), +m_EventPhysics(this), + +m_Spectra(0), +fRecoRansac(1), +fRecoVisu(0), +fHitThreshold(20), +fQ_Threshold(0), +fT_Threshold(0), +fNumberOfPadsX(128), +fNumberOfPadsY(128), +fPadSizeX(2), +fPadSizeY(2), +fDriftVelocity(40), +fPressure(100), +fGas("iC4H10"), +m_NumberOfDetectors(0) { } /////////////////////////////////////////////////////////////////////////// /// A usefull method to bundle all operation to add a detector void TActarPhysics::AddDetector(TVector3 , string ){ - // In That simple case nothing is done - // Typically for more complex detector one would calculate the relevant - // positions (stripped silicon) or angles (gamma array) - m_NumberOfDetectors++; + // In That simple case nothing is done + // Typically for more complex detector one would calculate the relevant + // positions (stripped silicon) or angles (gamma array) + m_NumberOfDetectors++; } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::AddDetector(double R, double Theta, double Phi, string shape){ - // Compute the TVector3 corresponding - TVector3 Pos(R*sin(Theta)*cos(Phi),R*sin(Theta)*sin(Phi),R*cos(Theta)); - // Call the cartesian method - AddDetector(Pos,shape); + // Compute the TVector3 corresponding + TVector3 Pos(R*sin(Theta)*cos(Phi),R*sin(Theta)*sin(Phi),R*cos(Theta)); + // Call the cartesian method + AddDetector(Pos,shape); } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::BuildSimplePhysicalEvent() { - BuildPhysicalEvent(); + BuildPhysicalEvent(); } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::BuildPhysicalEvent() { - // apply thresholds and calibration - - PreTreat(); - - // match Charge and time together - unsigned int mysizeE = m_PreTreatedData->GetMultCharge(); - - for (UShort_t e = 0; e < mysizeE ; e++) { - PadNumber.push_back(m_PreTreatedData->Get_PadNumber(e)); - PadRow.push_back(m_PreTreatedData->Get_PadRow(e)); - PadColumn.push_back(m_PreTreatedData->Get_PadColumn(e)); - PadCharge.push_back(m_PreTreatedData->Get_Charge(e)); - PadTime.push_back(m_PreTreatedData->Get_Time(e)); - } - - HoughTransform(PadRow, PadColumn, PadTime); + + PreTreat(); + + //unsigned int mysize = m_PreTreatedData->GetPadMult(); + + /*for (unsigned int e = 0; e < mysize; e++) { + PadX.push_back(m_PreTreatedData->GetPadX(e)); + PadY.push_back(m_PreTreatedData->GetPadY(e)); + PadZ.push_back(m_PreTreatedData->GetPadZ(e)); + PadCharge.push_back(m_PreTreatedData->GetPadCharge(e)); + }*/ + + if(fRecoRansac && PadX.size()>fHitThreshold){ + m_Ransac->Init(PadX, PadY, PadZ, PadCharge); + m_Track = m_Ransac->SimpleRansac(); + } + + TrackMult = m_Track.size(); } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::PreTreat() { - // This method typically applies thresholds and calibrations - // Might test for disabled channels for more complex detector - - // clear pre-treated object - ClearPreTreatedData(); - - // instantiate CalibrationManager - static CalibrationManager* Cal = CalibrationManager::getInstance(); - - // Charge - unsigned int mysize = m_EventData->GetMultCharge(); - - for (UShort_t i = 0; i < mysize ; ++i) { - if (m_EventData->Get_Charge(i) > m_E_RAW_Threshold) { - //Double_t Charge = Cal->ApplyCalibration("Actar/CHARGE"+NPL::itoa(m_EventData->Get_PadNumber(i)),m_EventData->Get_Charge(i)); - //Double_t Time= Cal->ApplyCalibration("Actar/TIME"+NPL::itoa(m_EventData->Get_PadNumber(i)),m_EventData->Get_Time(i)); - if (m_EventData->Get_Charge(i) > m_E_Threshold) { - m_PreTreatedData->SetCharge(m_EventData->Get_Charge(i)); - m_PreTreatedData->SetPadNumber(m_EventData->Get_PadNumber(i)); - m_PreTreatedData->SetRowNumber(m_EventData->Get_PadRow(i)); - m_PreTreatedData->SetColumnNumber(m_EventData->Get_PadColumn(i)); - m_PreTreatedData->SetTime(m_EventData->Get_Time(i)); - } + // This method typically applies thresholds and calibrations + // Might test for disabled channels for more complex detector + + // clear pre-treated object + ClearPreTreatedData(); + + CleanPads(); + + // instantiate CalibrationManager + static CalibrationManager* Cal = CalibrationManager::getInstance(); + + + unsigned int mysize = m_EventReduced->CoboAsad.size(); + + for (unsigned int it = 0; it < mysize ; ++it) { + int co=m_EventReduced->CoboAsad[it].globalchannelid>>11; + int as=(m_EventReduced->CoboAsad[it].globalchannelid - (co<<11))>>9; + int ag=(m_EventReduced->CoboAsad[it].globalchannelid - (co<<11)-(as<<9))>>7; + int ch=m_EventReduced->CoboAsad[it].globalchannelid - (co<<11)-(as<<9)-(ag<<7); + int where=co*NumberOfASAD*NumberOfAGET*NumberOfChannel + as*NumberOfAGET*NumberOfChannel + ag*NumberOfChannel + ch; + + if(co!=31){ + unsigned int vector_size = m_EventReduced->CoboAsad[it].peakheight.size(); + for(unsigned int hh=0; hh<vector_size; hh++){ + if(m_EventReduced->CoboAsad[it].peakheight[hh]>fQ_Threshold && m_EventReduced->CoboAsad[it].peaktime[hh]>fT_Threshold){ + if(GoodHit(TABLE[4][where],TABLE[5][where])){ + //if(Hit[TABLE[4][where]][TABLE[5][where]]<2){ + PadCharge.push_back(m_EventReduced->CoboAsad[it].peakheight[hh]); + PadX.push_back(TABLE[4][where]); + PadY.push_back(TABLE[5][where]); + PadZ.push_back(m_EventReduced->CoboAsad[it].peaktime[hh]); + + //} + } + } + } + } + else if(co==31){ + unsigned int vector_size = m_EventReduced->CoboAsad[it].peakheight.size(); + for(unsigned int hit=0;hit<vector_size;hit++){ + + Si_Number.push_back(m_EventReduced->CoboAsad[it].peaktime[hit]); + Si_E.push_back(m_EventReduced->CoboAsad[it].peakheight[hit]); + + int vxi_parameter = m_EventReduced->CoboAsad[it].peaktime[hit]; + if(Si_map[vxi_parameter]<21 && Si_map[vxi_parameter]>0){ + m_PreTreatedData->SetSiliconEnergy(m_EventReduced->CoboAsad[it].peakheight[hit]); + m_PreTreatedData->SetSiliconDetectorNumber(Si_map[vxi_parameter]); + } + } + } } - } +} +/////////////////////////////////////////////////////////////////////////// +bool TActarPhysics::GoodHit(int iX, int iY) +{ + bool bHit = true; + if(Hit[iX][iY]<2){ + if(Hit[iX+1][iY]>0 || Hit[iX+1][iY-1]>0 || Hit[iX+1][iY+1]>0){ + if(Hit[iX+2][iY]>0 || Hit[iX+2][iY-1]>0 || Hit[iX+2][iY+1]>0){ + bHit = true; + } + } + } + + return bHit; } + /////////////////////////////////////////////////////////////////////////// -void TActarPhysics::HoughTransform(vector<int> v1, vector<int> v2, vector<int> v3){ - for(unsigned int i=0; i<v1.size(); i++){ - for(int itheta=0; itheta<180; itheta++){ - HoughAngle.push_back(itheta); - double tmp= v1[i]*cos(itheta*NPUNITS::deg)+v2[i]*sin(itheta*NPUNITS::deg); - HoughRadius.push_back(tmp); +void TActarPhysics::CleanPads() +{ + unsigned int mysize = m_EventReduced->CoboAsad.size(); + + for(unsigned int it=0; it<mysize; it++){ + int co=m_EventReduced->CoboAsad[it].globalchannelid>>11; + int as=(m_EventReduced->CoboAsad[it].globalchannelid - (co<<11))>>9; + int ag=(m_EventReduced->CoboAsad[it].globalchannelid - (co<<11)-(as<<9))>>7; + int ch=m_EventReduced->CoboAsad[it].globalchannelid - (co<<11)-(as<<9)-(ag<<7); + int where=co*NumberOfASAD*NumberOfAGET*NumberOfChannel + as*NumberOfAGET*NumberOfChannel + ag*NumberOfChannel + ch; + + + if(co!=31){ + unsigned int vector_size = m_EventReduced->CoboAsad[it].peakheight.size(); + for(unsigned int hh=0; hh < vector_size; hh++){ + if(m_EventReduced->CoboAsad[it].peakheight[hh]>fQ_Threshold && m_EventReduced->CoboAsad[it].peaktime[hh]>fT_Threshold){ + Hit[TABLE[4][where]][TABLE[5][where]] += 1; + /* + m_PreTreatedData->SetCharge(m_EventReduced->CoboAsad[it].peakheight[hh]); + m_PreTreatedData->SetPadX(TABLE[4][where]); + m_PreTreatedData->SetPadY(TABLE[5][where]); + m_PreTreatedData->SetPadZ(m_EventReduced->CoboAsad[it].peaktime[hh]);*/ + } + } + } } - } } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::ReadAnalysisConfig() { - bool ReadingStatus = false; - - // path to file - string FileName = "./configs/ConfigActar.dat"; - - // open analysis config file - ifstream AnalysisConfigFile; - AnalysisConfigFile.open(FileName.c_str()); - - if (!AnalysisConfigFile.is_open()) { - cout << " No ConfigActar.dat found: Default parameter loaded for Analayis " << FileName << endl; - return; - } - cout << " Loading user parameter for Analysis from ConfigActar.dat " << endl; - - // Save it in a TAsciiFile - TAsciiFile* asciiConfig = RootOutput::getInstance()->GetAsciiFileAnalysisConfig(); - asciiConfig->AppendLine("%%% ConfigActar.dat %%%"); - asciiConfig->Append(FileName.c_str()); - asciiConfig->AppendLine(""); - // read analysis config file - string LineBuffer,DataBuffer,whatToDo; - while (!AnalysisConfigFile.eof()) { - // Pick-up next line - getline(AnalysisConfigFile, LineBuffer); - - // search for "header" - string name = "ConfigActar"; - if (LineBuffer.compare(0, name.length(), name) == 0) - ReadingStatus = true; - - // loop on tokens and data - while (ReadingStatus ) { - whatToDo=""; - AnalysisConfigFile >> whatToDo; - - // Search for comment symbol (%) - if (whatToDo.compare(0, 1, "%") == 0) { - AnalysisConfigFile.ignore(numeric_limits<streamsize>::max(), '\n' ); - } - - else if (whatToDo=="E_RAW_THRESHOLD") { - AnalysisConfigFile >> DataBuffer; - m_E_RAW_Threshold = atof(DataBuffer.c_str()); - cout << whatToDo << " " << m_E_RAW_Threshold << endl; - } - - else if (whatToDo=="E_THRESHOLD") { - AnalysisConfigFile >> DataBuffer; - m_E_Threshold = atof(DataBuffer.c_str()); - cout << whatToDo << " " << m_E_Threshold << endl; - } - - else { - ReadingStatus = false; - } + // VXI ACTION FILE // + string VXI_FileName = "./configs/ACTION_Si_config.dat"; + ifstream VXIConfigFile; + VXIConfigFile.open(VXI_FileName.c_str()); + if(!VXIConfigFile.is_open()){ + cout << "No VXI ACTION FILE ./configs/ACTION_Si_config.dat found!" << endl; + return; + } + else{ + cout << "/// Using VXI ACTION FILE: " << VXI_FileName << " ///" << endl; + string token; + int vxi_param, si_nbr; + for(int i=0; i<20; i++){ + VXIConfigFile >> token >> vxi_param >> si_nbr; + Si_map[vxi_param] = si_nbr+1; + } + } + VXIConfigFile.close(); + + // Lookup table // + bool ReadingLookupTable = false; + string LT_FileName = "./configs/LT.dat"; + ifstream LTConfigFile; + LTConfigFile.open(LT_FileName.c_str()); + if(!LTConfigFile.is_open()){ + cout << "No Lookup Table in ./configs/LT.dat found!" << endl; + return; + } + else{ + cout << "/// Using LookupTable from: " << LT_FileName << " ///" << endl; + for(int i=0;i<NumberOfCobo*NumberOfASAD*NumberOfAGET*NumberOfChannel;i++){ + LTConfigFile >> TABLE[0][i] >> TABLE[1][i] >> TABLE[2][i] >> TABLE[3][i] >> TABLE[4][i] >> TABLE[5][i]; + } + ReadingLookupTable = true; + } + LTConfigFile.close(); + + + bool ReadingStatus = false; + + // ACTAR config file // + string FileName = "./configs/ConfigActar.dat"; + + // open analysis config file + ifstream AnalysisConfigFile; + AnalysisConfigFile.open(FileName.c_str()); + + if (!AnalysisConfigFile.is_open()) { + cout << " No ConfigActar.dat found: Default parameter loaded for Analayis " << FileName << endl; + return; + } + cout << "/// Loading user parameter for Analysis from ConfigActar.dat ///" << endl; + + // Save it in a TAsciiFile + TAsciiFile* asciiConfig = RootOutput::getInstance()->GetAsciiFileAnalysisConfig(); + asciiConfig->AppendLine("%%% ConfigActar.dat %%%"); + asciiConfig->Append(FileName.c_str()); + asciiConfig->AppendLine(""); + // read analysis config file + string LineBuffer,DataBuffer,whatToDo; + while (!AnalysisConfigFile.eof()) { + // Pick-up next line + getline(AnalysisConfigFile, LineBuffer); + + // search for "header" + string name = "ConfigActar"; + if (LineBuffer.compare(0, name.length(), name) == 0){ + ReadingStatus = true; + cout << "**** ConfigActar found" << endl; + } + + // loop on tokens and data + while (ReadingStatus ) { + whatToDo=""; + AnalysisConfigFile >> whatToDo; + + // Search for comment symbol (%) + if (whatToDo.compare(0, 1, "%") == 0) { + AnalysisConfigFile.ignore(numeric_limits<streamsize>::max(), '\n' ); + } + + else if (whatToDo.compare(0,11,"RecoRansac=") == 0) { + AnalysisConfigFile >> DataBuffer; + fRecoRansac = atoi(DataBuffer.c_str()); + cout << "/// Reco using Ransac= " << " " << fRecoRansac << " ///" << endl; + } + + else if (whatToDo.compare(0,9,"RecoVisu=") == 0) { + AnalysisConfigFile >> DataBuffer; + fRecoVisu = atoi(DataBuffer.c_str()); + cout << "/// Visualisation= " << " " << fRecoVisu << " ///" << endl; + } + + else if (whatToDo.compare(0,14,"HIT_THRESHOLD=") == 0) { + AnalysisConfigFile >> DataBuffer; + fHitThreshold = atoi(DataBuffer.c_str()); + cout << "/// Hit Threshold= " << " " << fHitThreshold << " ///" << endl; + } + + else if (whatToDo.compare(0,12,"Q_THRESHOLD=") == 0) { + AnalysisConfigFile >> DataBuffer; + fQ_Threshold = atof(DataBuffer.c_str()); + cout << "/// Q Threshold= " << " " << fQ_Threshold << " ///" << endl; + } + + else if (whatToDo.compare(0,12,"T_THRESHOLD=") == 0) { + AnalysisConfigFile >> DataBuffer; + fT_Threshold = atof(DataBuffer.c_str()); + cout << "/// T Threshold= " << " " << fT_Threshold << " ///" << endl; + } + else if(whatToDo.compare(0,14,"NumberOfPadsX=")==0){ + AnalysisConfigFile >> DataBuffer; + fNumberOfPadsX = atoi(DataBuffer.c_str()); + //check_padsX=true; + cout << "/// Number Of Pads X= " << fNumberOfPadsX << " ///" << endl; + } + + else if(whatToDo.compare(0,14,"NumberOfPadsY=")==0){ + AnalysisConfigFile >> DataBuffer; + fNumberOfPadsY = atoi(DataBuffer.c_str()); + //check_padsY=true; + cout << "/// Number Of Pads Y= " << fNumberOfPadsY << " ///" << endl; + } + + else if(whatToDo.compare(0,9,"PadSizeX=")==0){ + AnalysisConfigFile >> DataBuffer; + fPadSizeX = atof(DataBuffer.c_str()); + //check_sizeX=true; + cout << "/// Pad Size X= " << fPadSizeX << " ///" << endl; + } + + else if(whatToDo.compare(0,9,"PadSizeY=")==0){ + AnalysisConfigFile >> DataBuffer; + fPadSizeY = atof(DataBuffer.c_str()); + //check_sizeY=true; + cout << "/// Pad Size Y= " << fPadSizeY << " ///" << endl; + } + + else if(whatToDo.compare(0,9,"Pressure=")==0){ + AnalysisConfigFile >> DataBuffer; + fPressure = atof(DataBuffer.c_str()); + //check_pressure=true; + cout << "/// Pressure= " << fPressure << " ///" << endl; + } + + else if(whatToDo.compare(0,14,"DriftVelocity=")==0){ + AnalysisConfigFile >> DataBuffer; + fDriftVelocity = atof(DataBuffer.c_str()); + //check_driftvelocity=true; + cout << "/// Drift Velocity= " << fDriftVelocity << " ///" << endl; + } + + else if(whatToDo.compare(0,4,"Gas=")==0){ + AnalysisConfigFile >> DataBuffer; + fGas = DataBuffer.c_str(); + //check_gas=true; + cout << "/// Gas Type= " << fGas << " ///" << endl; + } + + else { + ReadingStatus = false; + } + } + } + + if(fRecoRansac){ + m_Ransac = new NPL::Ransac(fNumberOfPadsX,fNumberOfPadsY,fRecoVisu); } - } } - +/////////////////////////////////////////////////////////////////////////// +void TActarPhysics::SetRansacParameter(string filename){ + if(fRecoRansac){ + m_Ransac->ReadParameterValue(filename); + } +} /////////////////////////////////////////////////////////////////////////// void TActarPhysics::Clear() { - PadNumber.clear(); - PadRow.clear(); - PadColumn.clear(); - PadCharge.clear(); - PadTime.clear(); - - HoughRadius.clear(); - HoughAngle.clear(); + PadX.clear(); + PadY.clear(); + PadZ.clear(); + PadCharge.clear(); + m_Track.clear(); + Si_Number.clear(); + Si_E.clear(); + + for(int i=0; i<fNumberOfPadsX; i++){ + for(int j=0; j<fNumberOfPadsY; j++){ + Hit[i][j] = 0; + } + } } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::ReadConfiguration(NPL::InputParser parser) { - vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Actar"); - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << "//// " << blocks.size() << " detectors found " << endl; - - vector<string> cart = {"POS","Shape"}; - vector<string> sphe = {"R","Theta","Phi","Shape"}; - - for(unsigned int i = 0 ; i < blocks.size() ; i++){ - if(blocks[i]->HasTokenList(cart)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Actar " << i+1 << endl; - - TVector3 Pos = blocks[i]->GetTVector3("POS","mm"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(Pos,Shape); - } - else if(blocks[i]->HasTokenList(sphe)){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "//// Actar " << i+1 << endl; - double R = blocks[i]->GetDouble("R","mm"); - double Theta = blocks[i]->GetDouble("Theta","deg"); - double Phi = blocks[i]->GetDouble("Phi","deg"); - string Shape = blocks[i]->GetString("Shape"); - AddDetector(R,Theta,Phi,Shape); - } - else{ - cout << "ERROR: check your input file formatting " << endl; - exit(1); + vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Actar"); + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << "//// " << blocks.size() << " detectors found " << endl; + + vector<string> cart = {"POS","Shape"}; + vector<string> sphe = {"R","Theta","Phi","Shape"}; + + for(unsigned int i = 0 ; i < blocks.size() ; i++){ + if(blocks[i]->HasTokenList(cart)){ + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Actar " << i+1 << endl; + + TVector3 Pos = blocks[i]->GetTVector3("POS","mm"); + string Shape = blocks[i]->GetString("Shape"); + AddDetector(Pos,Shape); + } + else if(blocks[i]->HasTokenList(sphe)){ + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "//// Actar " << i+1 << endl; + double R = blocks[i]->GetDouble("R","mm"); + double Theta = blocks[i]->GetDouble("Theta","deg"); + double Phi = blocks[i]->GetDouble("Phi","deg"); + string Shape = blocks[i]->GetString("Shape"); + AddDetector(R,Theta,Phi,Shape); + } + else{ + cout << "ERROR: check your input file formatting " << endl; + exit(1); + } } - } } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::InitSpectra() { - m_Spectra = new TActarSpectra(m_NumberOfDetectors); + m_Spectra = new TActarSpectra(m_NumberOfDetectors); } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::FillSpectra() { - m_Spectra -> FillRawSpectra(m_EventData); - m_Spectra -> FillPreTreatedSpectra(m_PreTreatedData); - m_Spectra -> FillPhysicsSpectra(m_EventPhysics); + m_Spectra -> FillRawSpectra(m_EventData); + m_Spectra -> FillPreTreatedSpectra(m_PreTreatedData); + m_Spectra -> FillPhysicsSpectra(m_EventPhysics); } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::CheckSpectra() { - m_Spectra->CheckSpectra(); + m_Spectra->CheckSpectra(); } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::ClearSpectra() { - // To be done + // To be done } /////////////////////////////////////////////////////////////////////////// map< string , TH1*> TActarPhysics::GetSpectra() { - if(m_Spectra) - return m_Spectra->GetMapHisto(); - else{ - map< string , TH1*> empty; - return empty; - } + if(m_Spectra) + return m_Spectra->GetMapHisto(); + else{ + map< string , TH1*> empty; + return empty; + } } //////////////////////////////////////////////////////////////////////////////// vector<TCanvas*> TActarPhysics::GetCanvas() { - //if(m_Spectra) + //if(m_Spectra) //return m_Spectra->GetCanvas(); - //else{ - //vector<TCanvas*> empty; - //return empty; - //} + //else{ + vector<TCanvas*> empty; + return empty; + //} } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::WriteSpectra() { - m_Spectra->WriteSpectra(); + m_Spectra->WriteSpectra(); } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::AddParameterToCalibrationManager() { - CalibrationManager* Cal = CalibrationManager::getInstance(); - for (int i = 0; i < m_NumberOfDetectors; ++i) { - Cal->AddParameter("Actar", "D"+ NPL::itoa(i+1)+"_CHARGE","Actar_D"+ NPL::itoa(i+1)+"_CHARGE"); - Cal->AddParameter("Actar", "D"+ NPL::itoa(i+1)+"_TIME","Actar_D"+ NPL::itoa(i+1)+"_TIME"); - } + CalibrationManager* Cal = CalibrationManager::getInstance(); + for (int i = 0; i < m_NumberOfDetectors; ++i) { + Cal->AddParameter("Actar", "D"+ NPL::itoa(i+1)+"_CHARGE","Actar_D"+ NPL::itoa(i+1)+"_CHARGE"); + Cal->AddParameter("Actar", "D"+ NPL::itoa(i+1)+"_TIME","Actar_D"+ NPL::itoa(i+1)+"_TIME"); + } } +/////////////////////////////////////////////////////////////////////////// +/*void TActarPhysics::InitializeRootInputRaw() { + TChain* inputChain = RootInput::getInstance()->GetChain(); + inputChain->SetBranchStatus("Actar", true ); + inputChain->SetBranchAddress("Actar", &m_EventData ); +}*/ + /////////////////////////////////////////////////////////////////////////// void TActarPhysics::InitializeRootInputRaw() { - TChain* inputChain = RootInput::getInstance()->GetChain(); - inputChain->SetBranchStatus("Actar", true ); - inputChain->SetBranchAddress("Actar", &m_EventData ); + TChain* inputChain = RootInput::getInstance()->GetChain(); + inputChain->SetBranchStatus("data", true ); + inputChain->SetBranchStatus("ACTAR_TTree", true ); + inputChain->SetBranchAddress("data", &m_EventReduced ); } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::InitializeRootInputPhysics() { - TChain* inputChain = RootInput::getInstance()->GetChain(); - inputChain->SetBranchAddress("Actar", &m_EventPhysics); + TChain* inputChain = RootInput::getInstance()->GetChain(); + inputChain->SetBranchAddress("Actar", &m_EventPhysics); } /////////////////////////////////////////////////////////////////////////// void TActarPhysics::InitializeRootOutput() { - TTree* outputTree = RootOutput::getInstance()->GetTree(); - outputTree->Branch("Actar", "TActarPhysics", &m_EventPhysics); + TTree* outputTree = RootOutput::getInstance()->GetTree(); + outputTree->Branch("Actar", "TActarPhysics", &m_EventPhysics); } @@ -353,7 +555,7 @@ void TActarPhysics::InitializeRootOutput() { // Construct Method to be pass to the DetectorFactory // //////////////////////////////////////////////////////////////////////////////// NPL::VDetector* TActarPhysics::Construct() { - return (NPL::VDetector*) new TActarPhysics(); + return (NPL::VDetector*) new TActarPhysics(); } @@ -362,13 +564,13 @@ NPL::VDetector* TActarPhysics::Construct() { // Registering the construct method to the factory // //////////////////////////////////////////////////////////////////////////////// extern "C"{ -class proxy_Actar{ - public: - proxy_Actar(){ - NPL::DetectorFactory::getInstance()->AddToken("Actar","Actar"); - NPL::DetectorFactory::getInstance()->AddDetector("Actar",TActarPhysics::Construct); - } -}; - -proxy_Actar p_Actar; + class proxy_Actar{ + public: + proxy_Actar(){ + NPL::DetectorFactory::getInstance()->AddToken("Actar","Actar"); + NPL::DetectorFactory::getInstance()->AddDetector("Actar",TActarPhysics::Construct); + } + }; + + proxy_Actar p_Actar; } diff --git a/NPLib/Detectors/Actar/TActarPhysics.h b/NPLib/Detectors/Actar/TActarPhysics.h index 6240921b06ad69c29bafb88f883dc1e19a93ed25..ab740fa95c046e0737f1a2247b3d2ae9484bd6ba 100644 --- a/NPLib/Detectors/Actar/TActarPhysics.h +++ b/NPLib/Detectors/Actar/TActarPhysics.h @@ -8,7 +8,7 @@ *****************************************************************************/ /***************************************************************************** - * Original Author: Pierre Morfouace contact address: morfouac@nscl.msu.edu * + * Original Author: Pierre Morfouace contact address: morfouace@ganil.fr * * * * Creation Date : September 2017 * * Last update : * @@ -33,157 +33,203 @@ using namespace std; #include "TH1.h" #include "TCanvas.h" #include "TVector3.h" + // NPTool headers +#include "MEventReduced.h" #include "TActarData.h" #include "TActarSpectra.h" #include "NPCalibrationManager.h" #include "NPVDetector.h" #include "NPInputParser.h" -// forward declaration -class TActarSpectra; +#include "NPTrack.h" +#include "NPRansac.h" +#define NumberOfCobo 16 +#define NumberOfASAD 4 +#define NumberOfAGET 4 +#define NumberOfChannel 68 +class TActarSpectra; class TActarPhysics : public TObject, public NPL::VDetector { - ////////////////////////////////////////////////////////////// - // constructor and destructor - public: + ////////////////////////////////////////////////////////////// + // constructor and destructor +public: TActarPhysics(); ~TActarPhysics() {}; - - - ////////////////////////////////////////////////////////////// - // Inherited from TObject and overriden to avoid warnings - public: + + + ////////////////////////////////////////////////////////////// + // Inherited from TObject and overriden to avoid warnings +public: void Clear(); void Clear(const Option_t*) {}; - - - ////////////////////////////////////////////////////////////// - // data obtained after BuildPhysicalEvent() and stored in - // output ROOT file - public: - vector<int> PadNumber; - vector<int> PadRow; - vector<int> PadColumn; - vector<int> PadTime; + + + ////////////////////////////////////////////////////////////// + // data obtained after BuildPhysicalEvent() and stored in + // output ROOT file +public: + vector<int> PadX; + vector<int> PadY; + vector<double> PadZ; vector<double> PadCharge; - - vector<double> HoughRadius; - vector<double> HoughAngle; - - /// A usefull method to bundle all operation to add a detector - void AddDetector(TVector3 POS, string shape); - void AddDetector(double R, double Theta, double Phi, string shape); - - ////////////////////////////////////////////////////////////// - // methods inherited from the VDetector ABC class - public: + vector<double> Si_E; + vector<int> Si_Number; + int TrackMult; + + /// A usefull method to bundle all operation to add a detector + void AddDetector(TVector3 POS, string shape); + void AddDetector(double R, double Theta, double Phi, string shape); + +public: + int GetTrackMult() {return m_Track.size();} + vector<NPL::Track> GetTracks() {return m_Track;} + + + ////////////////////////////////////////////////////////////// + // methods inherited from the VDetector ABC class +public: // read stream from ConfigFile to pick-up detector parameters void ReadConfiguration(NPL::InputParser); - + // add parameters to the CalibrationManger void AddParameterToCalibrationManager(); - + // method called event by event, aiming at extracting the // physical information from detector void BuildPhysicalEvent(); - + // same as BuildPhysicalEvent() method but with a simpler // treatment void BuildSimplePhysicalEvent(); - + // same as above but for online analysis void BuildOnlinePhysicalEvent() {BuildPhysicalEvent();}; - + // activate raw data object and branches from input TChain // in this method mother branches (Detector) AND daughter leaves // (fDetector_parameter) have to be activated void InitializeRootInputRaw(); - + // activate physics data object and branches from input TChain // in this method mother branches (Detector) AND daughter leaves // (fDetector_parameter) have to be activated void InitializeRootInputPhysics(); - + // create branches of output ROOT file void InitializeRootOutput(); - + // clear the raw and physical data objects event by event void ClearEventPhysics() {Clear();} void ClearEventData() {m_EventData->Clear();} - + // methods related to the TActarSpectra class // instantiate the TActarSpectra class and // declare list of histograms void InitSpectra(); - + // fill the spectra void FillSpectra(); - + // used for Online mainly, sanity check for histograms and // change their color if issues are found, for example void CheckSpectra(); - + // used for Online only, clear all the spectra void ClearSpectra(); - + // write spectra to ROOT output file void WriteSpectra(); - - - ////////////////////////////////////////////////////////////// - // specific methods to Actar array - public: + + + ////////////////////////////////////////////////////////////// + // specific methods to Actar array +public: // remove bad channels, calibrate the data and apply thresholds void PreTreat(); - + // clear the pre-treated object void ClearPreTreatedData() {m_PreTreatedData->Clear();} - + // read the user configuration file. If no file is found, load standard one void ReadAnalysisConfig(); - + + void CleanPads(); + + bool GoodHit(int iX, int iY); + // give and external TActarData object to TActarPhysics. // needed for online analysis for example void SetRawDataPointer(TActarData* rawDataPointer) {m_EventData = rawDataPointer;} - - void HoughTransform(vector<int> v1, vector<int> v2, vector<int> v3); - - // objects are not written in the TTree - private: + + // objects are not written in the TTree +private: TActarData* m_EventData; //! + MEventReduced* m_EventReduced; //! TActarData* m_PreTreatedData; //! TActarPhysics* m_EventPhysics; //! - - // getters for raw and pre-treated data object - public: + NPL::Ransac* m_Ransac; //! + vector<NPL::Track> m_Track; //! + + // getters for raw and pre-treated data object +public: TActarData* GetRawData() const {return m_EventData;} TActarData* GetPreTreatedData() const {return m_PreTreatedData;} - - // parameters used in the analysis - private: + + double GetDriftVelocity() {return fDriftVelocity;} + double GetPadSizeX() {return fPadSizeX;} + double GetPadSizeY() {return fPadSizeY;} + int GetNumberOfPadsX() {return fNumberOfPadsX;} + int GetNumberOfPadsY() {return fNumberOfPadsY;} + double GetPRessure() {return fPressure;} + string GetGasName() {return fGas;} + + // parameters used in the analysis +private: // thresholds - double m_E_RAW_Threshold; //! - double m_E_Threshold; //! - - // number of detectors - private: + int fHitThreshold; //! + int fQ_Threshold; //! + int fT_Threshold; //! + int fNumberOfPadsX; //! + int fNumberOfPadsY; //! + double fPadSizeX; //! + double fPadSizeY; //! + double fDriftVelocity; //! + double fPressure; //! + string fGas; //! + bool fRecoRansac; //! + bool fRecoVisu; //! + map<int, int> Si_map; //! + + int TABLE[6][NumberOfCobo*NumberOfASAD*NumberOfAGET*NumberOfChannel]; //! + int Hit[128][128]; //! + + + // number of detectors +private: int m_NumberOfDetectors; //! - - // spectra class - private: - TActarSpectra* m_Spectra; // ! - - // spectra getter - public: + + // spectra class +private: + TActarSpectra* m_Spectra; //! + + //spme getters and setters +public: + void SetRansacParameter(string filename); + NPL::Ransac* GetRansacObject() {return m_Ransac;} + bool GetRansacStatus() {return fRecoRansac;} + + + // spectra getter +public: map<string, TH1*> GetSpectra(); vector<TCanvas*> GetCanvas(); - - // Static constructor to be passed to the Detector Factory - public: + + // Static constructor to be passed to the Detector Factory +public: static NPL::VDetector* Construct(); - + ClassDef(TActarPhysics,1) // ActarPhysics structure }; #endif diff --git a/NPLib/Detectors/Actar/TActarSpectra.cxx b/NPLib/Detectors/Actar/TActarSpectra.cxx index f37527d1a503c3e4e94b2baa6c3ca88ca01184b2..31e3cd0b00bc38d8dfeb6d75329731432e5999bb 100644 --- a/NPLib/Detectors/Actar/TActarSpectra.cxx +++ b/NPLib/Detectors/Actar/TActarSpectra.cxx @@ -112,21 +112,21 @@ void TActarSpectra::FillRawSpectra(TActarData* RawData) { static string family; // Charge - unsigned int sizeE = RawData->GetMultCharge(); + unsigned int sizeE = RawData->GetPadMult(); for (unsigned int i = 0; i < sizeE; i++) { - name = "Actar"+NPL::itoa(RawData->Get_PadNumber(i))+"_CHARGE_RAW"; + name = "Actar"+NPL::itoa(RawData->GetPadNumber(i))+"_CHARGE_RAW"; family = "Actar/RAW"; - //GetHisto(family,name) -> Fill(RawData->Get_Charge(i)); + //GetHisto(family,name) -> Fill(RawData->GetPadCharge(i)); } // Time - unsigned int sizeT = RawData->GetMultCharge(); + unsigned int sizeT = RawData->GetPadMult(); for (unsigned int i = 0; i < sizeT; i++) { - name = "Actar"+NPL::itoa(RawData->Get_PadNumber(i))+"_TIME_RAW"; + name = "Actar"+NPL::itoa(RawData->GetPadNumber(i))+"_TIME_RAW"; family = "Actar/RAW"; - //GetHisto(family,name) -> Fill(RawData->Get_Time(i)); + //GetHisto(family,name) -> Fill(RawData->GetPadZ(i)); } } @@ -138,21 +138,21 @@ void TActarSpectra::FillPreTreatedSpectra(TActarData* PreTreatedData) { static string family; // Energy - unsigned int sizeE = PreTreatedData->GetMultCharge(); + unsigned int sizeE = PreTreatedData->GetPadMult(); for (unsigned int i = 0; i < sizeE; i++) { - name = "Actar"+NPL::itoa(PreTreatedData->Get_PadNumber(i))+"_ENERGY_CAL"; + name = "Actar"+NPL::itoa(PreTreatedData->GetPadNumber(i))+"_ENERGY_CAL"; family = "Actar/CAL"; - //GetHisto(family,name) -> Fill(PreTreatedData->Get_Charge(i)); + //GetHisto(family,name) -> Fill(PreTreatedData->GetPadCharge(i)); } // Time - unsigned int sizeT = PreTreatedData->GetMultCharge(); + unsigned int sizeT = PreTreatedData->GetPadMult(); for (unsigned int i = 0; i < sizeT; i++) { - name = "Actar"+NPL::itoa(PreTreatedData->Get_PadNumber(i))+"_TIME_CAL"; + name = "Actar"+NPL::itoa(PreTreatedData->GetPadNumber(i))+"_TIME_CAL"; family = "Actar/CAL"; - //GetHisto(family,name) -> Fill(PreTreatedData->Get_Time(i)); + //GetHisto(family,name) -> Fill(PreTreatedData->GetPadZ(i)); } } diff --git a/NPLib/Detectors/GeTAMU/TGeTAMUPhysics.cxx b/NPLib/Detectors/GeTAMU/TGeTAMUPhysics.cxx index dee7964c9b05cecc1775ceb514a38fd9eb95cb3f..b3c002ac82896844df9fd249e333377f4c90c83b 100644 --- a/NPLib/Detectors/GeTAMU/TGeTAMUPhysics.cxx +++ b/NPLib/Detectors/GeTAMU/TGeTAMUPhysics.cxx @@ -56,6 +56,13 @@ ClassImp(TGeTAMUPhysics) //Calibrated Threshold m_Cry_E_Raw_Threshold = 100 ; m_Seg_E_Raw_Threshold = 100 ; + //Gain Crossover + m_Cry_E_Gain_Crossover = 5000 ; + m_Seg_E_Gain_Crossover = 5000 ; + //ADC Overflow + m_Cry_E_Raw_ADC_Overflow = 4096 ; + m_Cry_E_Raw_ADC_Overflow = 4096 ; + //Add Back mode m_AddBackMode = 1; @@ -203,6 +210,28 @@ void TGeTAMUPhysics::ReadAnalysisConfig(){ cout << whatToDo << " " << m_Seg_E_Threshold << endl; } + else if (whatToDo== "CRY_E_GAIN_CROSSOVER") { + AnalysisConfigFile >> DataBuffer; + m_Cry_E_Gain_Crossover = atof(DataBuffer.c_str()); + cout << whatToDo << " " << m_Cry_E_Gain_Crossover << endl; + } + else if (whatToDo== "SEG_E_GAIN_CROSSOVER") { + AnalysisConfigFile >> DataBuffer; + m_Seg_E_Gain_Crossover = atof(DataBuffer.c_str()); + cout << whatToDo << " " << m_Seg_E_Gain_Crossover << endl; + } + + else if (whatToDo== "CRY_E_RAW_ADC_OVERFLOW") { + AnalysisConfigFile >> DataBuffer; + m_Cry_E_Raw_ADC_Overflow = atof(DataBuffer.c_str()); + cout << whatToDo << " " << m_Cry_E_Raw_ADC_Overflow << endl; + } + else if (whatToDo== "SEG_E_RAW_ADC_OVERFLOW") { + AnalysisConfigFile >> DataBuffer; + m_Seg_E_Raw_ADC_Overflow = atof(DataBuffer.c_str()); + cout << whatToDo << " " << m_Seg_E_Raw_ADC_Overflow << endl; + } + else if (whatToDo== "ADC_RANDOM_BIN") { AnalysisConfigFile >> DataBuffer; m_ADCRandomBinIsSet = true ; @@ -243,17 +272,19 @@ void TGeTAMUPhysics::BuildPhysicalEvent(){ if(m_PreTreatedData->GetMultiplicityCoreE()==0) return; vector <int> CryEN, SegEN; - vector <double> CryE, SegE; + vector <double> CryE, CryRaw, SegE; for (unsigned iClover=0; iClover<4; iClover++){ int clover = iClover+1; CryEN.clear(); SegEN.clear(); CryE.clear(); + CryRaw.clear(); SegE.clear(); //Energy if(Singles_CloverMap_CryEN.find(iClover+1) != Singles_CloverMap_CryEN.end()){ CryEN = Singles_CloverMap_CryEN[iClover+1]; CryE = Singles_CloverMap_CryE[iClover+1]; + CryRaw = Singles_CloverMap_CryRaw[iClover+1]; } else continue; // no need to go further if Cores energies are non existant @@ -273,13 +304,14 @@ void TGeTAMUPhysics::BuildPhysicalEvent(){ //sort the crystal energies; int swapEN; - double swapE; + double swapE, swapRaw; int size = (int) CryE.size(); for (int i=0; i< (size -1); i++){ // element to be compared for(int j = (i+1); j < size; j++){ // rest of the elements if (CryE[i] < CryE[j]){ // descending order swapE= CryE[i]; CryE[i] = CryE[j]; CryE[j] = swapE; swapEN= CryEN[i]; CryEN[i] = CryEN[j]; CryEN[j] = swapEN; + swapRaw= CryRaw[i]; CryRaw[i] = CryRaw[j]; CryRaw[j] = swapRaw; } } } @@ -324,11 +356,12 @@ void TGeTAMUPhysics::BuildPhysicalEvent(){ else if (pixel[crystal-1][segmentA-1] < pixel[crystal-1][segmentB-1]) segment = segmentB; - //cout << i <<" picked: crystal " << crystal << " segment " << segment << " Energy " << CryE[i] << endl; + //cout << i <<" picked: crystal " << crystal << " segment " << segment << " Energy " << CryE[i] << " Raw " << CryRaw[i] << endl; Singles_Clover.push_back(clover); Singles_Crystal.push_back(CryEN[i]); Singles_Segment.push_back(segment); Singles_E.push_back(CryE[i]); + Singles_Raw.push_back(CryRaw[i]); TVector3 Pos = GetSegmentPosition(clover,CryEN[i],segment); Singles_X.push_back(Pos.X()); Singles_Y.push_back(Pos.Y()); @@ -379,15 +412,14 @@ for(unsigned int i = 0 ; i < mysizeE ; i++){ crystal = m_EventData->GetCoreCrystalNbrE(i); Eraw = m_EventData->GetCoreEnergy(i); -//by Shuya 170919. Use low-gain data if it is available (for high-energy gammas which might be above high-gain data's saturation level). //*************************************************************************************************** if(m_LowGainCryIsOpt) { LG_Opt = false; - int m_Cry_E_Raw_Threshold_tmp = 2000; - //try low-gain data if high-gain data is above this threshold. If set 0 -> all low-gain, set above 5000 -> all high gain. - if(Eraw>=m_Cry_E_Raw_Threshold_tmp) + + + if(Eraw>=m_Cry_E_Gain_Crossover) { unsigned int mysizeE2; double Eraw_tmp; @@ -412,7 +444,7 @@ for(unsigned int i = 0 ; i < mysizeE ; i++){ } //*************************************************************************************************** } - if(Eraw>=m_Cry_E_Raw_Threshold && IsValidChannel(0, clover, crystal)){ + if(Eraw>=m_Cry_E_Raw_Threshold && Eraw<m_Cry_E_Raw_ADC_Overflow && IsValidChannel(0, clover, crystal)){ name = "GETAMU/D"+ NPL::itoa(clover)+"_CRY"+ NPL::itoa(crystal); if(m_ADCRandomBinIsSet) Eraw += Random->Rndm(); @@ -430,6 +462,7 @@ for(unsigned int i = 0 ; i < mysizeE ; i++){ if(Energy>=m_Cry_E_Threshold){ Singles_CloverMap_CryEN[clover].push_back(crystal); Singles_CloverMap_CryE[clover].push_back(Energy); + Singles_CloverMap_CryRaw[clover].push_back(Eraw); m_PreTreatedData->SetCoreE(clover,crystal,Energy); } } @@ -475,9 +508,8 @@ for(unsigned int i = 0 ; i < mysizeE ; i++){ { LG_Opt = false; - int m_Seg_E_Raw_Threshold_tmp = 2000; - //try low-gain data if high-gain data is above this threshold. If set 0 -> all low-gain, set above 5000 -> all high gain. - if(Eraw>=m_Seg_E_Raw_Threshold_tmp) + + if(Eraw>=m_Seg_E_Gain_Crossover) { unsigned int mysizeE2; double Eraw_tmp; @@ -502,7 +534,7 @@ for(unsigned int i = 0 ; i < mysizeE ; i++){ } //*************************************************************************************************** } - if(Eraw>=m_Seg_E_Raw_Threshold && IsValidChannel(1, clover, segment)){ + if(Eraw>=m_Seg_E_Raw_Threshold && Eraw<m_Seg_E_Raw_ADC_Overflow && IsValidChannel(1, clover, segment)){ name = "GETAMU/D"+ NPL::itoa(clover)+"_SEG"+ NPL::itoa(segment); if(m_ADCRandomBinIsSet) Eraw += Random->Rndm(); @@ -871,12 +903,14 @@ void TGeTAMUPhysics::Clear() { Singles_CloverMap_CryEN.clear(); // cry number energy Singles_CloverMap_SegEN.clear(); // seg number Singles_CloverMap_CryE.clear(); // cry energy + Singles_CloverMap_CryRaw.clear(); //cry raw Singles_CloverMap_SegE.clear(); // seg energy Singles_CloverMap_CryTN.clear(); // cry number time Singles_CloverMap_SegTN.clear(); // seg number Singles_CloverMap_CryT.clear(); // cry energy Singles_CloverMap_SegT.clear(); // seg energy Singles_E.clear(); + Singles_Raw.clear(); Singles_DC.clear(); Singles_Theta.clear(); Singles_X.clear(); diff --git a/NPLib/Detectors/GeTAMU/TGeTAMUPhysics.h b/NPLib/Detectors/GeTAMU/TGeTAMUPhysics.h index ad83b9708ad3146b135ee10c5add2b22aace09f8..05fcfe433fef4e491a7d22cdb364fa864da8dcbb 100644 --- a/NPLib/Detectors/GeTAMU/TGeTAMUPhysics.h +++ b/NPLib/Detectors/GeTAMU/TGeTAMUPhysics.h @@ -102,6 +102,7 @@ class TGeTAMUPhysics : public TObject, public NPL::VDetector{ map<int, vector <int> > Singles_CloverMap_CryEN; //! cry number energy map<int, vector <int> > Singles_CloverMap_SegEN; //1 seg number map<int, vector <double> > Singles_CloverMap_CryE; //! cry energy + map<int, vector <double> > Singles_CloverMap_CryRaw; //! cry raw map<int, vector <double> > Singles_CloverMap_SegE; //! seg energy map<int, vector <int> > Singles_CloverMap_CryTN; //! cry number time map<int, vector <int> > Singles_CloverMap_SegTN; //! seg number @@ -111,6 +112,7 @@ class TGeTAMUPhysics : public TObject, public NPL::VDetector{ public: // Data Member //sorting parameters vector<double> Singles_E; + vector<double> Singles_Raw; vector<double> Singles_T; vector<double> Singles_DC; // Doppler Corrected Energy (filled externaly) vector<double> Singles_Theta; @@ -140,6 +142,10 @@ class TGeTAMUPhysics : public TObject, public NPL::VDetector{ double m_Seg_E_Threshold; int m_Cry_E_Raw_Threshold; int m_Seg_E_Raw_Threshold; + int m_Cry_E_Raw_ADC_Overflow; + int m_Seg_E_Raw_ADC_Overflow; + int m_Cry_E_Gain_Crossover; + int m_Seg_E_Gain_Crossover; int m_AddBackMode; bool m_LowGainCryIsSet; bool m_LowGainSegIsSet; diff --git a/NPLib/Detectors/MUST2/TMust2Physics.cxx b/NPLib/Detectors/MUST2/TMust2Physics.cxx index 7c5f7d735f685f378ddb4ca5662658a6d62a9f26..41a672f0f3d4479f242dd5079d19a97ad91e4982 100644 --- a/NPLib/Detectors/MUST2/TMust2Physics.cxx +++ b/NPLib/Detectors/MUST2/TMust2Physics.cxx @@ -896,24 +896,32 @@ map< string , TH1*> TMust2Physics::GetSpectra() { void TMust2Physics::AddParameterToCalibrationManager() { CalibrationManager* Cal = CalibrationManager::getInstance(); + // Good for simulation, close to typical values + vector<double> standardX = {-63, 63./8192.}; + vector<double> standardY = {63, -63./8192.}; + vector<double> standardCsI = {-250, 250./8192.}; + vector<double> standardSiLi = {-250, 250./8192.}; + vector<double> standardT = {-1000, 1000./8192.}; + + for(int i = 0 ; i < m_NumberOfTelescope ; ++i){ for( int j = 0 ; j < 128 ; ++j){ - Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_Si_X"+NPL::itoa(j+1)+"_E","MUST2_T"+NPL::itoa(i+1)+"_Si_X"+NPL::itoa(j+1)+"_E") ; - Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_Si_Y"+NPL::itoa(j+1)+"_E","MUST2_T"+NPL::itoa(i+1)+"_Si_Y"+NPL::itoa(j+1)+"_E") ; - Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_Si_X"+NPL::itoa(j+1)+"_T","MUST2_T"+NPL::itoa(i+1)+"_Si_X"+NPL::itoa(j+1)+"_T") ; - Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_Si_Y"+NPL::itoa(j+1)+"_T","MUST2_T"+NPL::itoa(i+1)+"_Si_Y"+NPL::itoa(j+1)+"_T") ; + Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_Si_X"+NPL::itoa(j+1)+"_E","MUST2_T"+NPL::itoa(i+1)+"_Si_X"+NPL::itoa(j+1)+"_E",standardX) ; + Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_Si_Y"+NPL::itoa(j+1)+"_E","MUST2_T"+NPL::itoa(i+1)+"_Si_Y"+NPL::itoa(j+1)+"_E",standardY) ; + Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_Si_X"+NPL::itoa(j+1)+"_T","MUST2_T"+NPL::itoa(i+1)+"_Si_X"+NPL::itoa(j+1)+"_T",standardT ) ; + Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_Si_Y"+NPL::itoa(j+1)+"_T","MUST2_T"+NPL::itoa(i+1)+"_Si_Y"+NPL::itoa(j+1)+"_T",standardT ) ; } for( int j = 0 ; j < 16 ; ++j){ - Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_SiLi"+NPL::itoa(j+1)+"_E","MUST2_T"+NPL::itoa(i+1)+"_SiLi"+NPL::itoa(j+1)+"_E") ; - Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_SiLi"+NPL::itoa(j+1)+"_T","MUST2_T"+NPL::itoa(i+1)+"_SiLi"+NPL::itoa(j+1)+"_T") ; + Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_SiLi"+NPL::itoa(j+1)+"_E","MUST2_T"+NPL::itoa(i+1)+"_SiLi"+NPL::itoa(j+1)+"_E",standardSiLi) ; + Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_SiLi"+NPL::itoa(j+1)+"_T","MUST2_T"+NPL::itoa(i+1)+"_SiLi"+NPL::itoa(j+1)+"_T",standardT ) ; } for( int j = 0 ; j < 16 ; ++j){ - Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_CsI"+NPL::itoa(j+1)+"_E","MUST2_T"+NPL::itoa(i+1)+"_CsI"+NPL::itoa(j+1)+"_E") ; - Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_CsI"+NPL::itoa(j+1)+"_T","MUST2_T"+NPL::itoa(i+1)+"_CsI"+NPL::itoa(j+1)+"_T") ; + Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_CsI"+NPL::itoa(j+1)+"_E","MUST2_T"+NPL::itoa(i+1)+"_CsI"+NPL::itoa(j+1)+"_E",standardCsI); + Cal->AddParameter("MUST2", "T"+NPL::itoa(i+1)+"_CsI"+NPL::itoa(j+1)+"_T","MUST2_T"+NPL::itoa(i+1)+"_CsI"+NPL::itoa(j+1)+"_T",standardT ) ; } } diff --git a/NPLib/Detectors/Tiara/TTiaraBarrelPhysics.cxx b/NPLib/Detectors/Tiara/TTiaraBarrelPhysics.cxx index be5452d94ca66805cff09379e419d1b19e311ef2..1f0121959911cdc3f00bc98d2da9a54b3d788a26 100644 --- a/NPLib/Detectors/Tiara/TTiaraBarrelPhysics.cxx +++ b/NPLib/Detectors/Tiara/TTiaraBarrelPhysics.cxx @@ -9,7 +9,7 @@ * Original Author: Adrien MATTA contact address: matta@lpccaen.in2p3.fr * * * * Creation Date : November 2012 * - * Last update : May 2018 * + * Last update : * *---------------------------------------------------------------------------* * Decription: * * This class hold TiaraBarrel treated data * @@ -58,12 +58,10 @@ ClassImp(TTiaraBarrelPhysics) m_Take_E_Strip= true; m_Take_T_Back=true; - m_Strip_E_Threshold = 300*keV; m_Back_E_Threshold = 10*keV; m_Maximum_FrontBack_Difference = 30*keV; m_OuterBack_E_Threshold = 50*keV; - m_Spectra = NULL ; } @@ -80,18 +78,18 @@ void TTiaraBarrelPhysics::BuildPhysicalEvent(){ unsigned int sizeO = m_PreTreatedData->GetOuterEMult(); EventMultiplicity = sizeU; - static string name; // token + static string name; // token - for(unsigned int i = 0 ; i < sizeU ; i++){ - // detector and strip + for(unsigned int i = 0 ; i < sizeU ; i++){ + // detector and strip int det = m_PreTreatedData->GetFrontUpstreamEDetectorNbr(i); int strip = m_PreTreatedData->GetFrontUpstreamEStripNbr(i) ; - // calibrated energy + // calibrated energy double EU = m_PreTreatedData->GetFrontUpstreamEEnergy(i) ; - double ED = m_PreTreatedData->GetFrontDownstreamEEnergy(i); + double ED = m_PreTreatedData->GetFrontDownstreamEEnergy(i); // matchsticked energy for position calibration - double msU = m_PreTreatedMSData->GetFrontUpstreamEEnergy(i) ; - double msD = m_PreTreatedMSData->GetFrontDownstreamEEnergy(i); + double msU = m_PreTreatedMSData->GetFrontUpstreamEEnergy(i) ; + double msD = m_PreTreatedMSData->GetFrontDownstreamEEnergy(i); double RowPos = (msU-msD)/(msU+msD); name = "TIARABARREL/B"; @@ -102,7 +100,7 @@ void TTiaraBarrelPhysics::BuildPhysicalEvent(){ double Pos = CalibrationManager::getInstance()->ApplyResistivePositionCalibration(name,RowPos); // returns ((RowPos-d)/k) //Fix Balistic deficit - // calibration is applied as: (U+D)*( 1 + BD*(pow(k,2)-pow(pos-d,2)) ), + // calibration is applied as: (U+D)*( 1 + BD*(pow(k,2)-pow(pos-d,2)) ), // While BD > 0 and |k| >= |pos-d| for good events // Get resistive shift and length, this will fix asymetries double d = CalibrationManager::getInstance()->GetValue(name,0); // resistive strip length shift @@ -112,7 +110,7 @@ void TTiaraBarrelPhysics::BuildPhysicalEvent(){ name+="_STRIP"; name+=NPL::itoa(strip); name+="_BALLISTIC"; - double BD_x_k2 =CalibrationManager::getInstance()->ApplyCalibration(name, k ); + double BD_x_k2 =CalibrationManager::getInstance()->ApplyCalibration(name, k ); double BD_x_Pos2 =CalibrationManager::getInstance()->ApplyCalibration(name, (RowPos-d) ); double BD = (BD_x_k2 - BD_x_Pos2); @@ -121,20 +119,20 @@ void TTiaraBarrelPhysics::BuildPhysicalEvent(){ Strip_N.push_back(strip); Strip_Pos.push_back(Pos); // position expressed in [-1;+1] UpStream_E.push_back(EU); - DownStream_E.push_back(ED); + DownStream_E.push_back(ED); Strip_E.push_back( (EU+ED) * (1+BD) ); - //cout << det << " " << strip << " " << Pos << " " << EU << " " << ED << " " << endl ; - } + //cout << det << " " << strip << " " << Pos << " " << EU << " " << ED << " " << endl ; + } //Outer Barrel - for(unsigned int i = 0 ; i < sizeO ; i++){ - // detector and strip + for(unsigned int i = 0 ; i < sizeO ; i++){ + // detector and strip int det = m_PreTreatedData->GetOuterEDetectorNbr(i); int strip = m_PreTreatedData->GetOuterEStripNbr(i) ; double EO = m_PreTreatedData->GetOuterEEnergy(i); Outer_Detector_N.push_back(det); Outer_Strip_N.push_back(strip); - Outer_Strip_E.push_back(EO); + Outer_Strip_E.push_back(EO); } } @@ -148,18 +146,18 @@ void TTiaraBarrelPhysics::PreTreat(){ unsigned int sizeB = m_EventData->GetBackEMult(); unsigned int sizeO = m_EventData->GetOuterEMult(); - for(unsigned int i = 0 ; i < sizeU ; i++){ + for(unsigned int i = 0 ; i < sizeU ; i++){ double EU = Cal_Strip_Upstream_E(i) ; int det = m_EventData->GetFrontUpstreamEDetectorNbr(i); int strip = m_EventData->GetFrontUpstreamEStripNbr(i); - int key = det*10+strip; // key of the map + int key = det*10+strip; // key of the map if(EU > 0) { // threshold on energy is applied below m_mapU[key].push_back(EU); m_mapMSU[key].push_back(Match_Strip_Upstream_E(i)); } } - for(unsigned int i = 0 ; i < sizeD ; i++){ + for(unsigned int i = 0 ; i < sizeD ; i++){ double ED = Cal_Strip_Downstream_E(i) ; int det = m_EventData->GetFrontDownstreamEDetectorNbr(i); int strip = m_EventData->GetFrontDownstreamEStripNbr(i); @@ -170,31 +168,24 @@ void TTiaraBarrelPhysics::PreTreat(){ } } - for(unsigned int i = 0 ; i < sizeB ; i++){ + for(unsigned int i = 0 ; i < sizeB ; i++){ double EB = Cal_Back_E(i) ; int det = m_EventData->GetBackEDetectorNbr(i); - int key = det; // key of the map + int key = det; // key of the map if(EB > m_Back_E_Threshold) m_mapB[key].push_back(EB); } - - for(unsigned int i = 0 ; i < sizeO ; i++){ - //by Shuya 171208 - //double EO = m_EventData->GetOuterEEnergy(i); - double EO = Cal_OuterBarrel_E(i); - //by Shuya 180426. This was pulled by git pull but ignored. - //for(unsigned int i = 0 ; i < sizeO ; i++){ - //double EO = m_EventData->GetOuterEEnergy(i); - + for(unsigned int i = 0 ; i < sizeO ; i++){ + double EO = m_EventData->GetOuterEEnergy(i); int det = m_EventData->GetOuterEDetectorNbr(i); int strip = m_EventData->GetOuterEStripNbr(i); - int key = det*10+strip; // key of the map OuterStrip={1,2,3,4} => key + int key = det*10+strip; // key of the map OuterStrip={1,2,3,4} => key if(EO > m_OuterBack_E_Threshold) m_mapO[key].push_back(EO); } -//Apply selection and matching +//Apply selection and matching //NOTE about Barrel Matching - // Applying a strong strip-matching condition between the inner and outer barrel might not be adequate + // Applying a strong strip-matching condition between the inner and outer barrel might not be adequate // in the case of a large beam spot, since some particles at specific angles can fire an Inner-strip (n) // and an Outer-strip (n+/-1). The strip-matching can be addressed in the user Analysis.cxx @@ -202,21 +193,21 @@ double EU, ED, EUms, EDms, EB, EO ; map<int,vector <double> >::iterator it; for (it= m_mapU.begin(); it!=m_mapU.end(); ++it){ - // Define the detector and strip - int key = it->first ; + // Define the detector and strip + int key = it->first ; int strip = (key)%10; int det = (key)/10; EU=ED=EUms=EDms=0; // skip any event where U and D are not present simultaneously if (m_mapU[key].size()==1 && m_mapD[key].size()==1){ - if( (m_mapU[key][0]+m_mapD[key][0])> m_Strip_E_Threshold && IsValidChannel("InnerBarrelStripUpstream", det, strip) && IsValidChannel("InnerBarrelStripDownstream", det, strip) ){ // U+D greater than threshold + if( (m_mapU[key][0]+m_mapD[key][0])> m_Strip_E_Threshold ){ // U+D greater than threshold EU = m_mapU[key][0]; ED = m_mapD[key][0]; EUms = m_mapMSU[key][0]; EDms = m_mapMSD[key][0]; m_PreTreatedData->SetFrontUpstreamE(det,strip,EU); m_PreTreatedData->SetFrontDownstreamE(det,strip,ED); - m_PreTreatedMSData->SetFrontUpstreamE(det,strip,EUms); + m_PreTreatedMSData->SetFrontUpstreamE(det,strip,EUms); m_PreTreatedMSData->SetFrontDownstreamE(det,strip,EDms); } } @@ -232,8 +223,8 @@ for (it= m_mapB.begin(); it!=m_mapB.end(); ++it){ } for (it= m_mapO.begin(); it!=m_mapO.end(); ++it){ - EO=0; - int key = it->first ; + EO=0; + int key = it->first ; int strip = (key)%10; int det = (key)/10; if (m_mapO[key].size()==1){ @@ -267,71 +258,6 @@ bool TTiaraBarrelPhysics :: IsValidChannel(const string DetectorType, const int /////////////////////////////////////////////////////////////////////////// void TTiaraBarrelPhysics::ReadAnalysisConfig(){ - bool ReadingStatus = false; - - // path to file - string FileName = "./configs/ConfigTiaraBarrel.dat"; - - // open analysis config file - ifstream AnalysisConfigFile; - AnalysisConfigFile.open(FileName.c_str()); - - if (!AnalysisConfigFile.is_open()) { - cout << " No ConfigTiaraBarrel.dat found: Default parameter loaded for Analayis " << FileName << endl; - return; - } - cout << " Loading user parameter for Analysis from ConfigTiaraBarrel.dat " << endl; - - // Save it in a TAsciiFile - TAsciiFile* asciiConfig = RootOutput::getInstance()->GetAsciiFileAnalysisConfig(); - asciiConfig->AppendLine("%%% ConfigTiaraBarrel.dat %%%"); - asciiConfig->Append(FileName.c_str()); - asciiConfig->AppendLine(""); - - // read analysis config file - string LineBuffer,DataBuffer,whatToDo; - while (!AnalysisConfigFile.eof()) { - // Pick-up next line - getline(AnalysisConfigFile, LineBuffer); - if (LineBuffer.compare(0, 17, "ConfigTiaraBarrel") == 0) ReadingStatus = true; - - // loop on tokens and data - while (ReadingStatus ) { - whatToDo=""; - AnalysisConfigFile >> whatToDo; - // Search for comment symbol (%) - if (whatToDo.compare(0, 1, "%") == 0) { - AnalysisConfigFile.ignore(numeric_limits<streamsize>::max(), '\n' ); - } - else if (whatToDo== "DISABLE_ALL") { - AnalysisConfigFile >> DataBuffer; - cout << whatToDo << " " << DataBuffer << endl; - int Detector = atoi(DataBuffer.substr(2,1).c_str()); - vector< bool > ChannelStatus; - ChannelStatus.resize(8,false); - m_InnerBarrelStripUpstreamChannelStatus[Detector-1] = ChannelStatus; - m_InnerBarrelStripDownstreamChannelStatus[Detector-1] = ChannelStatus; - } - else if (whatToDo == "DISABLE_CHANNEL") { - AnalysisConfigFile >> DataBuffer; - cout << whatToDo << " " << DataBuffer << endl; - int Detector = atoi(DataBuffer.substr(2,1).c_str()); - int channel = -1; - if (DataBuffer.compare(3,5,"STRIP") == 0) { - channel = atoi(DataBuffer.substr(8).c_str()); - *(m_InnerBarrelStripUpstreamChannelStatus[Detector-1].begin()+channel-1) = false; - *(m_InnerBarrelStripDownstreamChannelStatus[Detector-1].begin()+channel-1) = false; - *(m_InnerBarrelBackChannelStatus[Detector-1].begin()+channel-1) = false; - } - else cout << "Warning: token name for TiaraBarrel unknown!" << endl; - } - - else { - ReadingStatus = false; - } - - } - } } /////////////////////////////////////////////////////////////////////////// @@ -370,7 +296,7 @@ void TTiaraBarrelPhysics::ReadConfiguration(NPL::InputParser parser){ vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithTokenAndValue("Tiara","Barrel"); if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << "//// " << blocks.size() << " detectors found " << endl; + cout << "//// " << blocks.size() << " detectors found " << endl; vector<string> token = {"InnerBarrel","OuterBarrel","Chamber","X","Y","Z"}; @@ -385,9 +311,9 @@ void TTiaraBarrelPhysics::ReadConfiguration(NPL::InputParser parser){ double Y = blocks[i]->GetDouble("Y","mm"); double Z = blocks[i]->GetDouble("Z","mm"); AddDetector(X,Y,Z); - BarrelXCoord = X; - BarrelYCoord = Y; - BarrelZCoord = Z; + BarrelXCoord = X; + BarrelYCoord = Y; + BarrelZCoord = Z; } else{ @@ -400,22 +326,22 @@ void TTiaraBarrelPhysics::ReadConfiguration(NPL::InputParser parser){ ReadAnalysisConfig(); } /////////////////////////////////////////////////////////////////////////// -void TTiaraBarrelPhysics::InitSpectra(){ +void TTiaraBarrelPhysics::InitSpectra(){ m_Spectra = new TTiaraBarrelSpectra(m_NumberOfDetector); } /////////////////////////////////////////////////////////////////////////// -void TTiaraBarrelPhysics::FillSpectra(){ +void TTiaraBarrelPhysics::FillSpectra(){ m_Spectra -> FillRawSpectra(m_EventData); m_Spectra -> FillPreTreatedSpectra(m_PreTreatedData); m_Spectra -> FillPhysicsSpectra(m_EventPhysics); } /////////////////////////////////////////////////////////////////////////// -void TTiaraBarrelPhysics::CheckSpectra(){ +void TTiaraBarrelPhysics::CheckSpectra(){ // To be done } /////////////////////////////////////////////////////////////////////////// -void TTiaraBarrelPhysics::ClearSpectra(){ +void TTiaraBarrelPhysics::ClearSpectra(){ // To be done } /////////////////////////////////////////////////////////////////////////// @@ -427,7 +353,7 @@ map< string,TH1* > TTiaraBarrelPhysics::GetSpectra() { return empty; } -} +} /////////////////////////////////////////////////////////////////////////// void TTiaraBarrelPhysics::AddParameterToCalibrationManager(){ @@ -446,8 +372,6 @@ void TTiaraBarrelPhysics::AddParameterToCalibrationManager(){ } Cal->AddParameter("TIARABARREL","B" + NPL::itoa( i+1 ) + "_BACK_E","TIARABARREL_B" + NPL::itoa( i+1 ) + "_BACK_E"); - //by Shuya 171208 - Cal->AddParameter("TIARABARREL","OB" + NPL::itoa( i+1 ) + "_E","TIARABARREL_OB" + NPL::itoa( i+1 ) + "_E"); } return; @@ -499,9 +423,9 @@ void TTiaraBarrelPhysics::AddDetector(double X,double Y,double Z){ m_NumberOfDetector+=8; - /* + /* double StripPitchSector = (Wedge_Phi_Max-Wedge_Phi_Min)/Wedge_Sector_NumberOfStrip ; - double StripPitchRing = (Wedge_R_Max-Wedge_R_Min)/Wedge_Ring_NumberOfStrip ; + double StripPitchRing = (Wedge_R_Max-Wedge_R_Min)/Wedge_Ring_NumberOfStrip ; TVector3 Strip_1_1; @@ -548,53 +472,53 @@ TVector3 TTiaraBarrelPhysics::GetDetectorNormal( const int i) const{ } /////////////////////////////////////////////////////////////////////////////// TVector3 TTiaraBarrelPhysics::GetPositionOfInteraction(const int i) const{ - // All in mm - double INNERBARREL_PCB_Width = 27.10; // was 27.76 - double INNERBARREL_ActiveWafer_Length = 94.80; - double INNERBARREL_ActiveWafer_Width = 22.60; // was 24.60 + // All in mm + double INNERBARREL_PCB_Width = 27.10; + double INNERBARREL_ActiveWafer_Length = 94.80; + double INNERBARREL_ActiveWafer_Width = 22.6; double StripPitch = INNERBARREL_ActiveWafer_Width/4.0; - - //Calculate position locally as if it's detector 3 (at 12'oclock) that is hit - double X = (Strip_N[i]-0.5)*StripPitch - 0.5*INNERBARREL_ActiveWafer_Width; + + //Calculate position locally as if it's detector 3 (at 12'oclock) that is hit + double X = (Strip_N[i]*StripPitch-0.5*INNERBARREL_ActiveWafer_Width)-(0.5*StripPitch); double Y = INNERBARREL_PCB_Width*(0.5+sin(45*deg)); - double Z = Strip_Pos[i]*(0.5*INNERBARREL_ActiveWafer_Length); + double Z = Strip_Pos[i]*(0.5*INNERBARREL_ActiveWafer_Length); TVector3 POS(X,Y,-Z); // since RowPos = (U-D)/(U+D) => Downstream hit (i.e. Z>0) has RowPos<0, thus the sign - POS.RotateZ((3-Detector_N[i])*45*deg);// looking downstream, Detector 1 is at 3 o'clock + POS.RotateZ((3-Detector_N[i])*45*deg);// looking downstream, Detector 1 is at 3 o'clock return( POS ) ; } /////////////////////////////////////////////////////////////////////////////// TVector3 TTiaraBarrelPhysics::GetRandomisedPositionOfInteraction(const int i) const{ TVector3 RandomPOS = GetPositionOfInteraction(i); - TVector3 v1(-12.0, 27.10*(0.5+sin(45*deg)), 0.0); + TVector3 v1(-12.0, 27.10*(0.5+sin(45*deg)), 0.0); TVector3 v2(12.0, 27.10*(0.5+sin(45*deg)), 0.0); v1.RotateZ((3-Detector_N[i])*45*deg); v2.RotateZ((3-Detector_N[i])*45*deg); TVector3 u = (v2-v1).Unit(); double RandomNumber = Random->Rndm(); - TVector3 DeltaHolder((RandomNumber*5.65)-(5.65/2),(RandomNumber*5.65)-(5.65/2),0.0); + TVector3 DeltaHolder((RandomNumber*5.65)-(5.65/2.),(RandomNumber*5.65)-(5.65/2.),0.0); TVector3 DeltaVector(u.X()*DeltaHolder.X(),u.Y()*DeltaHolder.Y(),u.Z()*DeltaHolder.Z()); RandomPOS.SetXYZ(RandomPOS.X()+DeltaVector.X(),RandomPOS.Y()+DeltaVector.Y(),RandomPOS.Z()+DeltaVector.Z()); return( RandomPOS ); } /////////////////////////////////////////////////////////////////////////////// void TTiaraBarrelPhysics::InitializeStandardParameter(){ - // Enable all channel - vector< bool > ChannelStatus; - m_InnerBarrelStripUpstreamChannelStatus.clear() ; - m_InnerBarrelStripDownstreamChannelStatus.clear() ; - m_OuterBarrelStripChannelStatus.clear() ; - m_InnerBarrelBackChannelStatus.clear() ; - m_OuterBarrelBackChannelStatus.clear() ; - - ChannelStatus.resize(8,true); - for(int i = 0 ; i < m_NumberOfDetector ; ++i){ - m_InnerBarrelStripUpstreamChannelStatus[i] = ChannelStatus; - m_InnerBarrelStripDownstreamChannelStatus[i] = ChannelStatus; - m_OuterBarrelStripChannelStatus[i] = ChannelStatus; - m_InnerBarrelBackChannelStatus[i] = ChannelStatus; - m_OuterBarrelBackChannelStatus[i] = ChannelStatus; - } + /* // Enable all channel + vector< bool > ChannelStatus; + m_RingChannelStatus.clear() ; + m_SectorChannelStatus.clear() ; + + ChannelStatus.resize(16,true); + for(int i = 0 ; i < m_NumberOfDetector ; ++i){ + m_RingChannelStatus[i] = ChannelStatus; + } + ChannelStatus.resize(8,true); + for(int i = 0 ; i < m_NumberOfDetector ; ++i){ + m_SectorChannelStatus[i] = ChannelStatus; + } + + m_MaximumStripMultiplicityAllowed = m_NumberOfDetector ; + */ return; } /////////////////////////////////////////////////////////////////////////////// @@ -636,7 +560,7 @@ double TTiaraBarrelPhysics::Match_Strip_Downstream_E(const int i){ name+= NPL::itoa( m_EventData->GetFrontDownstreamEDetectorNbr(i) ) ; name+= "_DOWNSTREAM" ; name+= NPL::itoa( m_EventData->GetFrontDownstreamEStripNbr(i) ) ; - name+= "_MATCHSTICK"; + name+= "_MATCHSTICK"; double RawEnergy = m_EventData->GetFrontDownstreamEEnergy(i); double MSEnergy = CalibrationManager::getInstance()->ApplyCalibration(name,RawEnergy); return MSEnergy; @@ -648,14 +572,6 @@ double TTiaraBarrelPhysics::Cal_Back_E(const int i){ name+= "_BACK_E"; return CalibrationManager::getInstance()->ApplyCalibration(name, m_EventData->GetBackEEnergy(i)); } -//by Shuya 171208 -/////////////////////////////////////////////////////////////////////////////// -double TTiaraBarrelPhysics::Cal_OuterBarrel_E(const int i){ - static string name; name = "TIARABARREL/OB" ; - name+= NPL::itoa( m_EventData->GetOuterEDetectorNbr(i)); - name+= "_E"; - return CalibrationManager::getInstance()->ApplyCalibration(name, m_EventData->GetOuterEEnergy(i)); -} //////////////////////////////////////////////////////////////////////////// void TTiaraBarrelPhysics::WriteSpectra(){ @@ -684,3 +600,4 @@ class brlproxy{ brlproxy brlp; } + diff --git a/NPLib/Detectors/Tiara/TTiaraBarrelPhysics.h b/NPLib/Detectors/Tiara/TTiaraBarrelPhysics.h index b3c39b913917bf596ab71b2e665725b2a6ce400d..1fd87a7d175087c4f4944846f34eabdc2a9e9008 100644 --- a/NPLib/Detectors/Tiara/TTiaraBarrelPhysics.h +++ b/NPLib/Detectors/Tiara/TTiaraBarrelPhysics.h @@ -18,7 +18,7 @@ * * *---------------------------------------------------------------------------* * Comment: * - * * + * * * * * * *****************************************************************************/ @@ -31,9 +31,9 @@ #include "NPCalibrationManager.h" #include "NPVDetector.h" #include "NPInputParser.h" -// ROOT -#include "TVector2.h" -#include "TVector3.h" +// ROOT +#include "TVector2.h" +#include "TVector3.h" #include "TObject.h" #include "TH1.h" @@ -46,8 +46,8 @@ class TTiaraBarrelPhysics : public TObject, public NPL::VDetector{ TTiaraBarrelPhysics(); ~TTiaraBarrelPhysics() {}; - public: - void Clear(); + public: + void Clear(); void Clear(const Option_t*) {}; public: @@ -63,8 +63,8 @@ class TTiaraBarrelPhysics : public TObject, public NPL::VDetector{ vector<double> Strip_T; vector<int> Strip_N; vector<double> Strip_Pos; - - // Control stuff + + // Control stuff vector<double> DownStream_E; vector<double> DownStream_T; vector<double> UpStream_E; @@ -79,17 +79,17 @@ class TTiaraBarrelPhysics : public TObject, public NPL::VDetector{ vector<double> Outer_Back_E; vector<double> Outer_Back_T; - // Coordinates double BarrelXCoord; double BarrelYCoord; double BarrelZCoord; + public: // Innherited from VDetector Class // Read stream at ConfigFile to pick-up parameters of detector (Position,...) using Token void ReadConfiguration(NPL::InputParser) ; // Add Parameter to the CalibrationManger - void AddParameterToCalibrationManager() ; + void AddParameterToCalibrationManager() ; // Activated associated Branches and link it to the private member DetectorData address // In this method mother Branches (Detector) AND daughter leaf (fDetector_parameter) have to be activated @@ -102,7 +102,7 @@ class TTiaraBarrelPhysics : public TObject, public NPL::VDetector{ // Create associated branches and associated private member DetectorPhysics address void InitializeRootOutput() ; - // This method is called at each event read from the Input Tree. Aime is to build treat Raw dat in order to extract physical parameter. + // This method is called at each event read from the Input Tree. Aime is to build treat Raw dat in order to extract physical parameter. void BuildPhysicalEvent() ; // Same as above, but only the simplest event and/or simple method are used (low multiplicity, faster algorythm but less efficient ...). @@ -114,16 +114,16 @@ class TTiaraBarrelPhysics : public TObject, public NPL::VDetector{ void BuildOnlinePhysicalEvent() {BuildPhysicalEvent();}; // Those two method all to clear the Event Physics or Data - void ClearEventPhysics() {Clear();} - void ClearEventData() {m_EventData->Clear();} + void ClearEventPhysics() {Clear();} + void ClearEventData() {m_EventData->Clear();} - // Method related to the TSpectra classes, aimed at providing a framework + // Method related to the TSpectra classes, aimed at providing a framework // for online applications // Instantiate the Spectra class and the histogramm throught it void InitSpectra(); // Fill the spectra hold by the spectra class void FillSpectra(); - // Used for Online mainly, perform check on the histo and for example change + // Used for Online mainly, perform check on the histo and for example change // their color if issues are found void CheckSpectra(); // Used for Online only, clear all the spectra hold by the Spectra class @@ -150,7 +150,7 @@ class TTiaraBarrelPhysics : public TObject, public NPL::VDetector{ // Add a Detector void AddDetector( double X,double Y,double Z); - + // Give and external TMustData object to TTiaraBarrelPhysics. Needed for online analysis for example. void SetRawDataPointer(TTiaraBarrelData* rawDataPointer) {m_EventData = rawDataPointer;} // Retrieve raw and pre-treated data @@ -159,15 +159,15 @@ class TTiaraBarrelPhysics : public TObject, public NPL::VDetector{ double GetNumberOfDetector() const { return m_NumberOfDetector; }; - // To be called after a build Physical Event + // To be called after a build Physical Event int GetEventMultiplicity() const { return EventMultiplicity; }; double GetBarrelXCoord() const { return BarrelXCoord; }; double GetBarrelYCoord() const { return BarrelYCoord; }; double GetBarrelZCoord() const { return BarrelZCoord; }; - TVector3 GetPositionOfInteraction(const int i) const; - TVector3 GetRandomisedPositionOfInteraction(const int i) const; + TVector3 GetPositionOfInteraction(const int i) const; + TVector3 GetRandomisedPositionOfInteraction(const int i) const; TVector3 GetDetectorNormal(const int i) const; private: // Parameter used in the analysis @@ -186,12 +186,12 @@ class TTiaraBarrelPhysics : public TObject, public NPL::VDetector{ TTiaraBarrelData* m_PreTreatedMSData;//! stores the intermediate Matchsticks calibrated Data TTiaraBarrelPhysics* m_EventPhysics;//! map<int, vector <double> > m_mapU;//! the maps sorts out the data before storing in m_PreTreatedData - map<int, vector <double> > m_mapD;//! - map<int, vector <double> > m_mapB;//! - map<int, vector <double> > m_mapO;//! - map<int, vector <double> > m_mapMSU;//! - map<int, vector <double> > m_mapMSD;//! - + map<int, vector <double> > m_mapD;//! + map<int, vector <double> > m_mapB;//! + map<int, vector <double> > m_mapO;//! + map<int, vector <double> > m_mapMSU;//! + map<int, vector <double> > m_mapMSD;//! + private: // Map of activated channel map< int, vector<bool> > m_InnerBarrelStripUpstreamChannelStatus;//! map< int, vector<bool> > m_InnerBarrelStripDownstreamChannelStatus;//! @@ -209,15 +209,13 @@ class TTiaraBarrelPhysics : public TObject, public NPL::VDetector{ TTiaraBarrelSpectra* m_Spectra;//! public: - map< string,TH1* > GetSpectra(); + map< string,TH1* > GetSpectra(); private: // Usefull method // Calibrate data double Cal_Strip_Upstream_E(const int i); double Cal_Strip_Downstream_E(const int i); double Cal_Back_E(const int i); -//by Shuya 171208 - double Cal_OuterBarrel_E(const int i); double Match_Strip_Upstream_E(const int i); double Match_Strip_Downstream_E(const int i); diff --git a/NPLib/Physics/NPDecay.cxx b/NPLib/Physics/NPDecay.cxx index 68a6eb6dbed984cecc7421e6ed593c3898fa5644..76312bfef694e7ebc7d481aea6a644aadbc865a4 100644 --- a/NPLib/Physics/NPDecay.cxx +++ b/NPLib/Physics/NPDecay.cxx @@ -216,7 +216,9 @@ bool NPL::SingleDecay::GenerateEvent(double MEx, double MEK, double MPX, double DPx[pos]=NucleiLV.X(); DPy[pos]=NucleiLV.Y(); DPz[pos]=NucleiLV.Z(); + return true; } + return false; } //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////// Decay /////////////////////////////////////// @@ -388,10 +390,12 @@ void NPL::DecayStore::GenerateEvent(std::string MotherName, double MEx, } //////////////////////////////////////////////////////////////////////////////// bool NPL::DecayStore::AnyAboveThreshold(std::string MotherName, double MEx){ - if(m_Store.find(MotherName)!=m_Store.end()) + if(m_Store.find(MotherName)!=m_Store.end()){ m_Store[MotherName].AnyAboveThreshold(MEx); - else - return false; + return true; + } + + return false; } //////////////////////////////////////////////////////////////////////////////// std::set<std::string> NPL::DecayStore::GetAllMotherName(){ diff --git a/NPLib/Physics/TReactionConditions.cxx b/NPLib/Physics/TReactionConditions.cxx index a7232682aff34cd76289d147e1da34d7cf18b588..ec1cc69e4066e76b4b306dae5464bd1b577a8a5e 100644 --- a/NPLib/Physics/TReactionConditions.cxx +++ b/NPLib/Physics/TReactionConditions.cxx @@ -37,7 +37,7 @@ TReactionConditions::~TReactionConditions(){ //////////////////////////////////////////////////////////////////////////////// void TReactionConditions::Clear(){ // Beam beam parameter - fRC_Beam_Particle_Name.clear(); + fRC_Beam_Particle_Name=""; fRC_Beam_Emittance_ThetaX = -1; fRC_Beam_Emittance_PhiY = -1; fRC_Beam_Emittance_Theta = -1; diff --git a/NPLib/TrackReconstruction/CMakeLists.txt b/NPLib/TrackReconstruction/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d17e167ceae7b248b8e39f673aa70eb3110813c --- /dev/null +++ b/NPLib/TrackReconstruction/CMakeLists.txt @@ -0,0 +1,6 @@ +add_custom_command(OUTPUT NPRansacDict.cxx COMMAND ../scripts/build_dict.sh NPRansac.h NPRansacDict.cxx NPRansac.rootmap libNPTrackReconstruction.so NPTrackReconstructionLinkDef.h DEPENDS NPRansac.h) + +add_library(NPTrackReconstruction SHARED NPRansac.cxx NPTrack.cxx NPRansacDict.cxx) +target_link_libraries(NPTrackReconstruction ${ROOT_LIBRARIES} NPCore) + +install(FILES NPRansac.h NPTrack.h DESTINATION ${CMAKE_INCLUDE_OUTPUT_DIRECTORY}) diff --git a/NPLib/TrackReconstruction/NPRansac.cxx b/NPLib/TrackReconstruction/NPRansac.cxx new file mode 100644 index 0000000000000000000000000000000000000000..5e28ea7c720c16b75b4c24264cb77edfa2f2003b --- /dev/null +++ b/NPLib/TrackReconstruction/NPRansac.cxx @@ -0,0 +1,778 @@ +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * * + * Original Author : Pierre MORFOUACE contact address: morfouace@ganil.fr * + * * + * Creation Date : April 2018 * + * Last update : April 2018 * + *---------------------------------------------------------------------------* + * Decription: * + * This class deal with finding all the track event by event * + *****************************************************************************/ + +#include "NPRansac.h" +using namespace NPL; + +using namespace std; + +ClassImp(Ransac) + +///////////////////////////////////////////////// +Ransac::Ransac() +{ + fRANSACMaxIteration = 1000; + fRANSACThreshold = 30;//100; + fRANSACPointThreshold = 0.04;//0.07; + fRANSACChargeThreshold = 0.04;//0.07; + fRANSACDistance = 11;//7; + fMAXBarycenterDistance = 10; + fAngleMax = 2;//degree + fMergeWithBarycenter = true; + fMergeWithScalarProduct = false; + + fNumberOfPadsX = 128; + fNumberOfPadsY = 128; +} + +///////////////////////////////////////////////// +Ransac::Ransac(int NumberOfPadsX, int NumberOfPadsY, bool Visu) +{ + fRANSACMaxIteration = 1000; + fRANSACThreshold = 60;//100; + fRANSACPointThreshold = 0.04;//0.07; + fRANSACChargeThreshold = 0.04;//0.07; + fRANSACDistance = 11;//7; + + fNumberOfPadsX = NumberOfPadsX; + fNumberOfPadsY = NumberOfPadsY; + fVisu = Visu; + //fNumberOfTracksMax = 10; + + Rand=new TRandom3(); + myTrack = NPL::Track(); + + if(fVisu==1){ + m_ServerSocket = new TServerSocket(9092,true,100); + //pl = new TGraph2D(); + if(!m_ServerSocket->IsValid()){ + cout << endl; + cout << "/// ServerSocket invalid! ///" << endl; + exit(1); + } + cout << endl; + cout << "/// ServerSocket valid ///" << endl; + m_ServerSocket->SetCompressionSettings(1); + + // Add server socket to monitor so we are notified when a client needs to be + // accepted + m_Monitor = new TMonitor(); + m_Monitor->Add(m_ServerSocket,TMonitor::kRead|TMonitor::kWrite); + // Create a list to contain all client connections + m_Sockets = new TList; + + // Create a list to contain all client connections + m_Histo = new TList; + + } +} + + +////////////////////////////////////////////////// +Ransac::~Ransac() +{ + for(unsigned int i=0; i<vline.size(); i++){ + delete vline[i]; + } +} + +////////////////////////////////////////////////// +void Ransac::ReadParameterValue(string filename) +{ + bool ReadingStatus = false; + + ifstream RansacParamFile; + RansacParamFile.open(filename.c_str()); + + if(!RansacParamFile.is_open()){ + cout << "No Paramter File found for Ransac parameters" << endl; + cout << "Using the default parameter:" << endl; + cout << "RANSAC MaxIteration= " << fRANSACMaxIteration << endl; + cout << "RANSAC Threshold=" << fRANSACThreshold << endl; + cout << "RANSAC ChargeThreshold= " << fRANSACChargeThreshold << endl; + cout << "RANSAC Distance= " << fRANSACDistance << endl; + cout << "RANSAC PointThreshold= " << fRANSACPointThreshold << endl; + cout << "MAX Barycenter Distance= " << fMAXBarycenterDistance << endl; + cout << "Angle Max to merge tracks= " << fAngleMax << endl; + cout << "Merging Tracks using the barycenter= " << fMergeWithBarycenter << endl; + cout << "Merging Tracks using the scalar product= " << fMergeWithScalarProduct << endl; + } + else{ + string LineBuffer, whatToDo, DataBuffer; + while(!RansacParamFile.eof()){ + getline(RansacParamFile,LineBuffer); + string name = "ConfigRansac"; + if(LineBuffer.compare(0, name.length(), name) == 0){ + cout << endl; + cout << "**** ConfigRansac found" << endl; + ReadingStatus = true; + } + while(ReadingStatus){ + whatToDo=""; + RansacParamFile >> whatToDo; + // Search for comment symbol (%) + if (whatToDo.compare(0, 1, "%") == 0) { + RansacParamFile.ignore(numeric_limits<streamsize>::max(), '\n' ); + } + else if (whatToDo.compare(0,19,"RANSACMaxIteration=") == 0) { + RansacParamFile >> DataBuffer; + fRANSACMaxIteration = atoi(DataBuffer.c_str()); + cout << "/// RANSAC MaxIteration= " << " " << fRANSACMaxIteration << " ///" << endl; + } + else if (whatToDo.compare(0,15,"RANSACDistance=") == 0) { + RansacParamFile >> DataBuffer; + fRANSACDistance = atoi(DataBuffer.c_str()); + cout << "/// RANSAC Distance= " << " " << fRANSACDistance << " ///" << endl; + } + else if (whatToDo.compare(0,22,"RANSACChargeThreshold=") == 0) { + RansacParamFile >> DataBuffer; + fRANSACChargeThreshold = atof(DataBuffer.c_str()); + cout << "/// RANSAC ChargeThreshold= " << " " << fRANSACChargeThreshold << " ///" << endl; + } + else if (whatToDo.compare(0,21,"RANSACPointThreshold=") == 0) { + RansacParamFile >> DataBuffer; + fRANSACPointThreshold = atof(DataBuffer.c_str()); + cout << "/// RANSAC PointThreshold= " << " " << fRANSACPointThreshold << " ///" << endl; + } + else if (whatToDo.compare(0,16,"RANSACThreshold=") == 0) { + RansacParamFile >> DataBuffer; + fRANSACThreshold = atoi(DataBuffer.c_str()); + cout << "/// RANSAC Threshold= " << " " << fRANSACThreshold << " ///" << endl; + } + else if (whatToDo.compare(0,22,"MAXBarycenterDistance=") == 0) { + RansacParamFile >> DataBuffer; + fMAXBarycenterDistance = atoi(DataBuffer.c_str()); + cout << "/// Max Barycenter Distance= " << " " << fMAXBarycenterDistance << " ///" << endl; + } + else if (whatToDo.compare(0,16,"AngleMaxToMerge=") == 0) { + RansacParamFile >> DataBuffer; + fAngleMax = atoi(DataBuffer.c_str()); + cout << "/// Angle Max to merge tracks= " << " " << fAngleMax << " ///" << endl; + } + else if (whatToDo.compare(0,20,"MergeWithBarycenter=") == 0) { + RansacParamFile >> DataBuffer; + fMergeWithBarycenter = atoi(DataBuffer.c_str()); + cout << "/// Merging Tracks using the barycenter= " << " " << fMergeWithBarycenter << " ///" << endl; + } + else if (whatToDo.compare(0,23,"MergeWithScalarProduct=") == 0) { + RansacParamFile >> DataBuffer; + fMergeWithScalarProduct = atoi(DataBuffer.c_str()); + cout << "/// Merging Tracks using the scalar product= " << " " << fMergeWithScalarProduct << " ///" << endl; + } + else{ + ReadingStatus = false; + } + } + } + } +} + +////////////////////////////////////////////////// +void Ransac::Init(vector<int> v1, vector<int> v2, vector<double> v3, vector<double> v4) +{ + Reset(); + + vX = v1; + vY = v2; + vZ = v3; + vQ = v4; + + fOriginalCloudSize = vX.size(); + double TotalCharge=0; + for(unsigned int i=0; i< vQ.size(); i++){ + TotalCharge += vQ[i]; + } + fTotalCharge = TotalCharge; + +} + +////////////////////////////////////////////////// +vector<NPL::Track> Ransac::SimpleRansac() +{ + if(fVisu==1){ + m_Histo->Clear(); + } + + //TRandom3* Rand=new TRandom3(); + double RemainingCharge = fTotalCharge; + /*cout << "/// Original total charge= " << fTotalCharge << endl; + cout << "/// Charge Threshold= " << fTotalCharge*fRANSACChargeThreshold << endl; + cout << "/// vX.size()= " << vX.size() << endl; + cout << "/// Point Threshold= " << fOriginalCloudSize*fRANSACPointThreshold << endl;*/ + + int aa=0; + //while(vX.size() > fOriginalCloudSize*fRANSACPointThreshold){ + //while(RemainingCharge > fTotalCharge*fRANSACChargeThreshold){ + while(RemainingCharge > fTotalCharge*fRANSACChargeThreshold && vX.size() > fOriginalCloudSize*fRANSACPointThreshold){ + aa++; + + double minErr=1E20; + trackX.clear(); + trackY.clear(); + trackZ.clear(); + trackQ.clear(); + + TVector3 V1, V2; + std::vector<int> inliners; + inliners.clear(); + + fRANSACMaxIteration = 1.0*vX.size(); + for(int i=0;i<fRANSACMaxIteration;i++){ + int vXsize = vX.size(); + int p1=(int)(Rand->Uniform(0,vXsize)); + int p2; + do p2=(int)(Rand->Uniform(0,vXsize)); + while(p2==p1); + + TVector3 Vu; + Vu.SetXYZ(vX[p2]-vX[p1],vY[p2]-vY[p1],vZ[p2]-vZ[p1]); + + std::vector<int> alsoin; + alsoin.clear(); + for(int p=0;p<vXsize;p++){ + if(p!=p1 && p!=p2 && vQ[p]){ + TVector3 Va; + Va.SetXYZ(vX[p2]-vX[p],vY[p2]-vY[p],vZ[p2]-vZ[p]); + TVector3 VaCVu=Va.Cross(Vu); + + if(VaCVu.Mag()/Vu.Mag()<fRANSACDistance){ + alsoin.push_back(p); + } + } + } + //cout << "****** " << vX.size() << " / " << alsoin.size() << endl; + + if(alsoin.size()>fRANSACThreshold){ + TVector3 v1, v2; + double chi2=Fit3D(vX,vY,vZ,vQ,alsoin,v1,v2); + if(chi2<minErr){ + minErr=chi2; + V1=v1; + V2=v2; + inliners=alsoin; + } + } + } + + if(inliners.size()==0) break; + //cout << "iteration " << aa << ": with also inliners: " << inliners.size() << endl; + + TVector3 Vdir = TVector3(V2.x()-V1.x(),V2.y()-V1.y(),V2.z()-V1.z()); + Vdir = Vdir.Unit(); + + //NPL::Track myTrack = NPL::Track(); + myTrack.Clear(); + + myTrack.Xm=V1.x(); + myTrack.Ym=V1.y(); + myTrack.Zm=V1.z(); + + myTrack.Xh=V2.x(); + myTrack.Yh=V2.y(); + myTrack.Zh=V2.z(); + + + + //int TrackNumber = vTrack.size(); + //TString TrackName = Form("Track%d",TrackNumber); + + int inliner_size = inliners.size(); + for(int p=0; p<inliner_size; p++){ + trackX.push_back(vX[inliners[p]]); + trackY.push_back(vY[inliners[p]]); + trackZ.push_back(vZ[inliners[p]]); + trackQ.push_back(vQ[inliners[p]]); + } + + myTrack.SetXPoints(trackX); + myTrack.SetYPoints(trackY); + myTrack.SetZPoints(trackZ); + myTrack.SetQPoints(trackQ); + + vTrack.push_back(myTrack); + + for(int i=inliner_size-1 ; i>=0 ; i--){ + vQ.erase(vQ.begin()+inliners[i]); + vX.erase(vX.begin()+inliners[i]); + vY.erase(vY.begin()+inliners[i]); + vZ.erase(vZ.begin()+inliners[i]); + } + + RemainingCharge = 0; + for(unsigned int i =0; i<vQ.size(); i++){ + RemainingCharge += vQ[i]; + } + //cout << "/// RemainingCharge= " << RemainingCharge << endl; + //cout << "////****** " << vX.size() << " / " << fOriginalCloudSize*fRANSACPointThreshold << endl; + //cout << "////****** " << RemainingCharge << " / " << fTotalCharge*fRANSACChargeThreshold << endl; + } + //cout << " //// Number of Tracks found " << vTrack.size() << " ////" << endl; + + if(fMergeWithBarycenter) DoMerge("barycenter"); + if(fMergeWithScalarProduct) DoMerge("scalar"); + + if(fVisu==1){ + int track_size = vTrack.size(); + for(int t=0; t<track_size; t++){ + h3D = new TGraph2D(); + for(int i=0; i<vTrack[t].GetXPoints().size(); i++){ + h3D->SetPoint(i, vTrack[t].GetXPoints()[i], vTrack[t].GetYPoints()[i], vTrack[t].GetZPoints()[i]); + } + m_Histo->Add(h3D); + + pl = new TGraph2D(); + + TVector3 Vdir = TVector3(vTrack[t].Xh-vTrack[t].Xm, vTrack[t].Yh-vTrack[t].Ym, vTrack[t].Zh-vTrack[t].Zm); + Vdir = Vdir.Unit(); + + //pl->SetName(TrackName); + pl->SetPoint(0,vTrack[t].Xm, vTrack[t].Ym, vTrack[t].Zm); + pl->SetPoint(1,vTrack[t].Xh, vTrack[t].Yh, vTrack[t].Zh); + pl->SetPoint(2,vTrack[t].Xm + 10*Vdir.x(), vTrack[t].Ym + 10*Vdir.y(), (vTrack[t].Zm + 10*Vdir.z())); + pl->SetPoint(3,vTrack[t].Xm + 100*Vdir.x(), vTrack[t].Ym + 100*Vdir.y(), (vTrack[t].Zm + 100*Vdir.z())); + pl->SetPoint(4,vTrack[t].Xm - 100*Vdir.x(), vTrack[t].Ym - 100*Vdir.y(), (vTrack[t].Zm - 100*Vdir.z())); + pl->SetLineColor(2); + pl->SetMarkerColor(2); + pl->SetMarkerStyle(8); + pl->SetMarkerSize(1); + pl->SetLineWidth(2); + m_Histo->Add(pl); + } + } + + + + if(fVisu && vTrack.size()>1 && vTrack.size()<4){ + TSocket* s = NULL; + char request[64]; + if(m_ServerSocket && m_Monitor){ + + m_Monitor->ResetInterrupt(); + TList readClients; + if((m_Monitor->Select(&readClients, NULL, 10)) > 0){ + s = (TSocket*) readClients.Last(); + readClients.RemoveLast(); + } + } + + if(s){ + if (s->IsA() == TServerSocket::Class()) { + // accept new connection from spy + TSocket* socket = ((TServerSocket*)s)->Accept(); + m_Monitor->Add(socket,TMonitor::kRead|TMonitor::kWrite); + m_Sockets->Add(socket); + cout << "Client Connected" << endl; + //NPL::SendInformation("NPL::SpectraServer","Accepted new client connection"); + } + else{ + // we only get string based requests from the spy + char request[64]; + if (s->Recv(request, sizeof(request)) <= 0) { + m_Monitor->Remove(s); + m_Sockets->Remove(s); + delete s; + //return; + } + // send requested object back + static TMessage answer(kMESS_OBJECT); + answer.Reset(); + + if (!strcmp(request, "RequestHisto")){ + answer.WriteObject(m_Histo); + s->Send(answer); + } + + else // answer nothing + s->Send(answer); + } + } + } + + return vTrack; +} + +////////////////////////////////////////////////// +bool Ransac::CompareTracksWithBarycenter(NPL::Track track1, NPL::Track track2) +{ + bool ToBeMerged = false; + + TVector3 bar1 = track1.GetPointBarycenter(); + TVector3 bar2 = track2.GetPointBarycenter(); + double Y1 = bar1.Y(); + double Z1 = bar1.Z(); + double Y2 = bar2.Y(); + double Z2 = bar2.Z(); + + double Distance = sqrt(pow(Y2-Y1,2) + pow(Z2-Z1,2)); + + if(Distance<fMAXBarycenterDistance) ToBeMerged=true; + + return ToBeMerged; +} + +////////////////////////////////////////////////// +bool Ransac::CompareTracksWithScalarProduct(NPL::Track track1, NPL::Track track2) +{ + bool ToBeMerged = false; + + TVector3 v1 = TVector3(track1.Xh-track1.Xm, track1.Zh-track1.Zm, track1.Zh-track1.Zm); + TVector3 v2 = TVector3(track2.Xh-track2.Xm, track2.Zh-track2.Zm, track2.Zh-track2.Zm); + + TVector3 v1_unit = v1.Unit(); + TVector3 v2_unit = v2.Unit(); + + double ScalarProduct = v1_unit.Dot(v2_unit); + + if(abs(ScalarProduct)>cos(fAngleMax*TMath::Pi()/180)) ToBeMerged=true; + + return ToBeMerged; +} + +////////////////////////////////////////////////// +NPL::Track Ransac::MergeTracks(vector<NPL::Track> tracks) +{ + NPL::Track newTrack = NPL::Track(); + vector<int> newTrackX, newTrackY, newTrackZ, newTrackQ; + + double X1=0; double Y1=0; double Z1=0; + double X2=0; double Y2=0; double Z2=0; + + for(int j=0; j<tracks.size(); j++){ + X1 += tracks[j].Xm; + Y1 += tracks[j].Ym; + Z1 += tracks[j].Zm; + + X2 += tracks[j].Xh; + Y2 += tracks[j].Yh; + Z2 += tracks[j].Zh; + + for(int k=0; k<tracks[j].GetXPoints().size(); k++){ + newTrackX.push_back(tracks[j].GetXPoints()[k]); + newTrackY.push_back(tracks[j].GetYPoints()[k]); + newTrackZ.push_back(tracks[j].GetZPoints()[k]); + } + + } + X1 = X1/tracks.size(); + Y1 = Y1/tracks.size(); + Z1 = Z1/tracks.size(); + X2 = X2/tracks.size(); + Y2 = Y2/tracks.size(); + Z2 = Z2/tracks.size(); + + newTrack.Xm=X1; + newTrack.Ym=Y1; + newTrack.Zm=Z1; + + newTrack.Xh=X2; + newTrack.Yh=Y2; + newTrack.Zh=Z2; + + newTrack.SetXPoints(newTrackX); + newTrack.SetYPoints(newTrackY); + newTrack.SetZPoints(newTrackZ); + + return newTrack; +} + +////////////////////////////////////////////////// +void Ransac::DoMerge(string method) +{ + vector<NPL::Track> vTrack_new; + vector<NPL::Track> vTrackToMerge; + vector<NPL::Track> vTrack_temp; + vTrack_temp = vTrack; + NPL::Track newTrack = NPL::Track(); + + int size = vTrack.size(); + vector<int> id_track; + for(int i=0; i<size-1; i++){ + int NumberOfTrackToBeMergedWith=0; + vTrackToMerge.clear(); + + for(int j=i+1; j<size; j++){ + if(find(id_track.begin(),id_track.end(), j) == id_track.end()){ + if(method=="scalar") { + if( CompareTracksWithScalarProduct(vTrack[i],vTrack[j]) ){ + NumberOfTrackToBeMergedWith++; + id_track.push_back(j); + vTrackToMerge.push_back(vTrack[j]); + } + } + else if(method=="barycenter") { + if( CompareTracksWithBarycenter(vTrack[i],vTrack[j]) ){ + NumberOfTrackToBeMergedWith++; + id_track.push_back(j); + vTrackToMerge.push_back(vTrack[j]); + } + } + else cout << "Method for merging not known: Problem with token!" << endl; + } + } + if(NumberOfTrackToBeMergedWith>0){ + if(find(id_track.begin(),id_track.end(), i) == id_track.end()) id_track.push_back(i); + vTrackToMerge.push_back(vTrack[i]); + + newTrack = MergeTracks(vTrackToMerge); + + vTrack_new.push_back(newTrack); + } + } + + std::sort(id_track.begin(), id_track.end()); + for(int p=id_track.size()-1; p>=0; p--){ + vTrack_temp.erase(vTrack_temp.begin()+id_track[p]); + } + + for(int p=0; p<vTrack_temp.size(); p++){ + vTrack_new.push_back(vTrack_temp[p]); + } + + vTrack.clear(); + vTrack = vTrack_new; +} + + +////////////////////////////////////////////////// +/*void Ransac::CheckTracks() +{ + vector<NPL::Track> vTrack_temp; + vTrack_temp = vTrack; + + int size = vTrack.size(); + vector<double> Ybar; + vector<double> Zbar; + + Ybar.clear(); + Zbar.clear(); + for(int i=0; i<size; i++){ + TVector3 bar = vTrack[i].GetPointBarycenter(); + Ybar.push_back(bar.Y()); + Zbar.push_back(bar.Z()); + } + + vector<double> Distance; + vector<int> id_i, id_j; + for(int i=0; i<size-1; i++){ + for(int j=i+1; j<size; j++){ + id_i.push_back(i); + id_j.push_back(j); + Distance.push_back(sqrt(pow(Ybar[i]-Ybar[j],2) + pow(Zbar[i]-Zbar[j],2))); + } + } + + vector<int> removed_id; + for(int c=0; c<Distance.size(); c++){ + if(Distance[c]<fMAXBarycenterDistance){ + if(find(removed_id.begin(),removed_id.end(), id_i[c]) == removed_id.end()) removed_id.push_back(id_i[c]); + if(find(removed_id.begin(),removed_id.end(), id_j[c]) == removed_id.end()) removed_id.push_back(id_j[c]); + } + } + + std::sort (removed_id.begin(), removed_id.end()); + for(int j=removed_id.size()-1; j>=0; j--){ + vTrack.erase(vTrack.begin()+removed_id[j]); + } + + + double X1=0; double Y1=0; double Z1=0; + double X2=0; double Y2=0; double Z2=0; + + NPL::Track newTrack = NPL::Track(); + vector<int> newTrackX, newTrackY, newTrackZ, newTrackQ; + + if(removed_id.size()>0){ + for(int j=0; j<removed_id.size(); j++){ + X1 += vTrack_temp[removed_id[j]].Xm; + Y1 += vTrack_temp[removed_id[j]].Ym; + Z1 += vTrack_temp[removed_id[j]].Zm; + + X2 += vTrack_temp[removed_id[j]].Xh; + Y2 += vTrack_temp[removed_id[j]].Yh; + Z2 += vTrack_temp[removed_id[j]].Zh; + + for(int k=0; k<vTrack_temp[removed_id[j]].GetXPoints().size(); k++){ + newTrackX.push_back(vTrack_temp[removed_id[j]].GetXPoints()[k]); + newTrackY.push_back(vTrack_temp[removed_id[j]].GetYPoints()[k]); + newTrackZ.push_back(vTrack_temp[removed_id[j]].GetZPoints()[k]); + } + + } + X1 = X1/removed_id.size(); + Y1 = Y1/removed_id.size(); + Z1 = Z1/removed_id.size(); + X2 = X2/removed_id.size(); + Y2 = Y2/removed_id.size(); + Z2 = Z2/removed_id.size(); + + newTrack.Xm=X1; + newTrack.Ym=Y1; + newTrack.Zm=Z1; + + newTrack.Xh=X2; + newTrack.Yh=Y2; + newTrack.Zh=Z2; + + newTrack.SetXPoints(newTrackX); + newTrack.SetYPoints(newTrackY); + newTrack.SetZPoints(newTrackZ); + + vTrack.push_back(newTrack); + } +}*/ + +////////////////////////////////////////////////// +vector<double> Ransac::GetChargeOfTracks() +{ + return vTrackCharge; +} + +////////////////////////////////////////////////// +vector<double> Ransac::GetTrackLength(double PadSizeX, double PadSizeY, double DriftVelocity) +{ + vector<double> length; + double Ymin, Ymax; + double Zmin, Zmax; + double Xmin = 240; + double Xmax = 256; + + for(unsigned int i=0; i<vTrack.size(); i++){ + double xh = vTrack[i].GetXh()*PadSizeX; + double xm = vTrack[i].GetXm()*PadSizeX; + double yh = vTrack[i].GetYh()*PadSizeY; + double ym = vTrack[i].GetYm()*PadSizeY; + double zh = vTrack[i].GetZh()*DriftVelocity; + double zm = vTrack[i].GetZm()*DriftVelocity; + + Ymin = yh + (ym - yh)*(Xmin-xh)/(xm-xh); + Ymax = yh + (ym - yh)*(Xmax-xh)/(xm-xh); + + Zmin = zh + (zm - zh)*(Xmin-xh)/(xm-xh); + Zmax = zh + (zm - zh)*(Xmax-xh)/(xm-xh); + + length.push_back(sqrt( pow(Xmax-Xmin,2) + pow(Ymax-Ymin,2) + pow(Zmax-Zmin,2) )); + } + + return length; +} + + +////////////////////////////////////////////////// +void Ransac::Reset() +{ + vline.clear(); + vX.clear(); + vY.clear(); + vZ.clear(); + vQ.clear(); + vTrack.clear(); + vTrackCharge.clear(); +} + +////////////////////////////////////////////////// +double Ransac::Fit3D(vector<int> X, vector<int> Y, vector<double> Z, vector<double> Charge, vector<int> inliners, TVector3& V1, TVector3& V2) +{ + // adapted from: http://fr.scribd.com/doc/31477970/Regressions-et-trajectoires-3D + + int R, C; + double Q; + double Xm,Ym,Zm; + double Xh,Yh,Zh; + double a,b; + double Sxx,Sxy,Syy,Sxz,Szz,Syz; + double theta; + double K11,K22,K12,K10,K01,K00; + double c0,c1,c2; + double p,q,r,dm2; + double rho,phi; + + Q=Xm=Ym=Zm=0.; + double total_charge=0; + Sxx=Syy=Szz=Sxy=Sxz=Syz=0.; + + for (auto i : inliners) + { + if(X[i]>119)total_charge+=Charge[i]; + Q+=Charge[i]/10.; + Xm+=X[i]*Charge[i]/10.; + Ym+=Y[i]*Charge[i]/10.; + Zm+=Z[i]*Charge[i]/10.; + Sxx+=X[i]*X[i]*Charge[i]/10.; + Syy+=Y[i]*Y[i]*Charge[i]/10.; + Szz+=Z[i]*Z[i]*Charge[i]/10.; + Sxy+=X[i]*Y[i]*Charge[i]/10.; + Sxz+=X[i]*Z[i]*Charge[i]/10.; + Syz+=Y[i]*Z[i]*Charge[i]/10.; + } + vTrackCharge.push_back(total_charge); + + Xm/=Q; + Ym/=Q; + Zm/=Q; + Sxx/=Q; + Syy/=Q; + Szz/=Q; + Sxy/=Q; + Sxz/=Q; + Syz/=Q; + Sxx-=(Xm*Xm); + Syy-=(Ym*Ym); + Szz-=(Zm*Zm); + Sxy-=(Xm*Ym); + Sxz-=(Xm*Zm); + Syz-=(Ym*Zm); + + theta=0.5*atan((2.*Sxy)/(Sxx-Syy)); + + K11=(Syy+Szz)*pow(cos(theta),2)+(Sxx+Szz)*pow(sin(theta),2)-2.*Sxy*cos(theta)*sin(theta); + K22=(Syy+Szz)*pow(sin(theta),2)+(Sxx+Szz)*pow(cos(theta),2)+2.*Sxy*cos(theta)*sin(theta); + K12=-Sxy*(pow(cos(theta),2)-pow(sin(theta),2))+(Sxx-Syy)*cos(theta)*sin(theta); + K10=Sxz*cos(theta)+Syz*sin(theta); + K01=-Sxz*sin(theta)+Syz*cos(theta); + K00=Sxx+Syy; + + c2=-K00-K11-K22; + c1=K00*K11+K00*K22+K11*K22-K01*K01-K10*K10; + c0=K01*K01*K11+K10*K10*K22-K00*K11*K22; + + + p=c1-pow(c2,2)/3.; + q=2.*pow(c2,3)/27.-c1*c2/3.+c0; + r=pow(q/2.,2)+pow(p,3)/27.; + + + if(r>0) dm2=-c2/3.+pow(-q/2.+sqrt(r),1./3.)+pow(-q/2.-sqrt(r),1./3.); + if(r<0) + { + rho=sqrt(-pow(p,3)/27.); + phi=acos(-q/(2.*rho)); + dm2=min(-c2/3.+2.*pow(rho,1./3.)*cos(phi/3.),min(-c2/3.+2.*pow(rho,1./3.)*cos((phi+2.*TMath::Pi())/3.),-c2/3.+2.*pow(rho,1./3.)*cos((phi+4.*TMath::Pi())/3.))); + } + + a=-K10*cos(theta)/(K11-dm2)+K01*sin(theta)/(K22-dm2); + b=-K10*sin(theta)/(K11-dm2)-K01*cos(theta)/(K22-dm2); + + Xh=((1.+b*b)*Xm-a*b*Ym+a*Zm)/(1.+a*a+b*b); + Yh=((1.+a*a)*Ym-a*b*Xm+b*Zm)/(1.+a*a+b*b); + Zh=((a*a+b*b)*Zm+a*Xm+b*Ym)/(1.+a*a+b*b); + + V1.SetXYZ(Xm,Ym,Zm); + V2.SetXYZ(Xh,Yh,Zh); + + return(fabs(dm2/Q)); +} diff --git a/NPLib/TrackReconstruction/NPRansac.h b/NPLib/TrackReconstruction/NPRansac.h new file mode 100644 index 0000000000000000000000000000000000000000..feb6451d7c43f6d93d4bbbff023f5ef28144fc1b --- /dev/null +++ b/NPLib/TrackReconstruction/NPRansac.h @@ -0,0 +1,120 @@ +#ifndef __RANSAC__ +#define __RANSAC__ +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * * + * Original Author : Pierre MORFOUACE contact address: morfouace@ganil.fr * + * * + * Creation Date : April 2018 * + * Last update : April 2018 * + *---------------------------------------------------------------------------* + * Decription: * + * This class deal with finding all the track event by event * + *****************************************************************************/ +//C++ Header +#include <stdio.h> +#include <vector> +#include <sstream> +#include <iostream> +#include <fstream> +#include <cmath> +#include <stdlib.h> +#include <limits> +#include <string> +#include <algorithm> + +//NPL +#include "NPTrack.h" +using namespace NPL; + +// ROOT Headers +#include <TLine.h> +#include <TH2F.h> +#include <TH3F.h> +#include <TGraph2D.h> +#include <TMath.h> +#include <TCanvas.h> +#include <TVector3.h> +#include <TRandom.h> +#include <TRandom3.h> +#include <TServerSocket.h> +#include <TSocket.h> +#include <TMonitor.h> +#include <TMessage.h> +#include <TList.h> +#include <TVector.h> + +using namespace std; + +namespace NPL{ + + class Ransac + { + public: + Ransac(); + Ransac(int NumberOfPadsX, int NumberOfPadsY, bool Visu); + ~Ransac(); + + public: + void Reset(); + void ReadParameterValue(string filename); + void Init(vector<int> v1, vector<int> v2, vector<double> v3, vector<double> v4); + vector<NPL::Track> SimpleRansac(); + bool CompareTracksWithBarycenter(NPL::Track track1, NPL::Track track2); + bool CompareTracksWithScalarProduct(NPL::Track track1, NPL::Track track2); + NPL::Track MergeTracks(vector<NPL::Track> tracks); + void DoMerge(string method); + //void CheckTracks(); + + vector<double> GetChargeOfTracks(); + vector<double> GetTrackLength(double PadSizeX, double PadSizeY, double DriftVelocity); + double Fit3D(vector<int> X, vector<int> Y, vector<double> Z, vector<double> Charge, vector<int> inliners, TVector3& V1, TVector3& V2); + + private: + TCanvas* c1; + vector<TLine*> vline; + vector<int> vX, vY; + vector<int> trackX, trackY, trackZ, trackQ; + vector<double> vZ, vQ; + TLine* L; + TGraph2D* h3D; + TGraph2D* pl; + vector<NPL::Track> vTrack; + vector<double> vTrackCharge; + TRandom3* Rand; + NPL::Track myTrack; + + private: + float fRANSACThreshold; + float fRANSACPointThreshold; + float fRANSACChargeThreshold; + float fRANSACDistance; + float fRANSACMaxIteration; + float fMAXBarycenterDistance; + float fAngleMax; + int fNumberOfTracksMax; + int fOriginalCloudSize; + double fTotalCharge; + int fNumberOfPadsX; + int fNumberOfPadsY; + int fVisu; + bool fMergeWithBarycenter; + bool fMergeWithScalarProduct; + + private: + TServerSocket* m_ServerSocket; + TSocket* m_Socket; + TMonitor* m_Monitor; + TList* m_Histo; + TList* m_Sockets; + + ClassDef(Ransac, 1) + }; +} +#endif diff --git a/NPLib/TrackReconstruction/NPTrack.cxx b/NPLib/TrackReconstruction/NPTrack.cxx new file mode 100644 index 0000000000000000000000000000000000000000..e1705b1b20481e0e685fa5e0f857ff58f483bad8 --- /dev/null +++ b/NPLib/TrackReconstruction/NPTrack.cxx @@ -0,0 +1,235 @@ +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * * + * Original Author : Pierre MORFOUACE contact address: morfouace@ganil.fr * + * * + * Creation Date : April 2018 * + * Last update : Apro; 2018 * + *---------------------------------------------------------------------------* + * Decription: * + * This class deal with track charactieristic from TPC analysis * + *****************************************************************************/ + + +#include "NPTrack.h" +using namespace NPL; + +using namespace std; + +//ClassImp(NPTrack) + +////////////////////////////////////////////////////// +Track::Track() +{ + /*L2DXY=new TLine(); + L2DXZ=new TLine(); + L2DYZ=new TLine(); + L3D=new TLine();*/ +} + +////////////////////////////////////////////////////// +Track::~Track() +{ + /*delete L2DXY; + delete L2DXZ; + delete L2DYZ; + delete L3D;*/ +} + +////////////////////////////////////////////////////// +TVector3 Track::GetDirectionVector() +{ + TVector3 vTrack = TVector3(Xh-Xm, Yh-Ym, Zh-Zm); + return vTrack; +} + +////////////////////////////////////////////////////// +TVector3 Track::GetVertexPostion(TVector3 vBeamDir, TVector3 vBeamPoint) +{ + //y_beam = Ay_beam*x_beam + By_beam + double Ay_beam = vBeamDir.Y()/vBeamDir.X(); + double By_beam = vBeamPoint.Y() - (vBeamDir.Y()/vBeamDir.X())*vBeamPoint.X(); + //z_beam = Az_beam*x_beam + Bz_beam + double Az_beam = vBeamDir.Z()/vBeamDir.X(); + double Bz_beam = vBeamPoint.Z() - (vBeamDir.Z()/vBeamDir.X())*vBeamPoint.X(); + + //y_track = Ay_track*x_track + By_track + double Ay_track = GetDirectionVector().Y()/GetDirectionVector().X(); + double By_track = Ym - (GetDirectionVector().Y()/GetDirectionVector().X())*Xm; + //z_track = Az_track*x_track + Bz_track + double Az_track = GetDirectionVector().Z()/GetDirectionVector().X(); + double Bz_track = Zm - (GetDirectionVector().Z()/GetDirectionVector().X())*Xm; + + double DBy = By_beam - By_track; + double DBz = Bz_beam - Bz_track; + double alpha = (-Ay_beam*DBy - Az_beam*DBz)/(Ay_beam*Ay_beam + Az_beam*Az_beam + 1); + double beta = (Ay_beam*Ay_track + Az_beam*Az_track + 1)/(Ay_beam*Ay_beam + Az_beam*Az_beam + 1); + + double A = beta*(Ay_beam*Ay_beam + Az_beam*Az_beam + 1) - (Ay_beam*Ay_track + Az_beam*Az_track + 1); + double B = (Ay_track*Ay_track + Az_track*Az_track + 1) - beta*(Ay_beam*Ay_track + Az_beam*Az_track + 1); + double C = beta*(Ay_beam*DBy + Az_beam*DBz) - Ay_track*DBy - Az_track*DBz; + + double xt = -(A*alpha+C)/(A*beta+B); + double xb = beta*xt+alpha; + + double yb = Ay_beam*xb + By_beam; + double zb = Az_beam*xb + Bz_beam; + + double yt = Ay_track*xt + By_track; + double zt = Az_track*xt + Bz_track; + + double xvertex = (xb+xt)/2; + double yvertex = (yb+yt)/2; + double zvertex = (zb+zt)/2; + + TVector3 vVertex = TVector3(xvertex,yvertex,zvertex); + + return vVertex; +} + +////////////////////////////////////////////////////// +TVector3 Track::GetChargeBarycenter() +{ + double bX=0; + double bY=0; + double bZ=0; + double Qtot=0; + + int size = vX.size(); + + for(int i=0; i<size; i++){ + Qtot += (double)vQ[i]; + bX += (double)vX[i]*vQ[i]; + bY += (double)vY[i]*vQ[i]; + bZ += (double)vZ[i]*vQ[i]; + } + + bX=bX/Qtot; + bY=bY/Qtot; + bZ=bZ/Qtot; + + TVector3 vBarycentre = TVector3(bX,bY,bZ); + + return vBarycentre; +} + +////////////////////////////////////////////////////// +TVector3 Track::GetPointBarycenter() +{ + double bX=0; + double bY=0; + double bZ=0; + + int size = vX.size(); + + for(int i=0; i<size; i++){ + bX += (double)vX[i]; + bY += (double)vY[i]; + bZ += (double)vZ[i]; + } + + bX=bX/size; + bY=bY/size; + bZ=bZ/size; + + TVector3 vBarycentre = TVector3(bX,bY,bZ); + + return vBarycentre; +} + +////////////////////////////////////////////////////// +double Track::GetTrackLengthX() +{ + double length; + + double Xmax = *max_element(vX.begin(), vX.end()); + double Xmin = *min_element(vX.begin(), vX.end()); + + length = sqrt(pow(Xmax-Xmin,2)); + + return length; + +} +////////////////////////////////////////////////////// +double Track::GetTrackLength(double PadSizeX, double PadSizeY, double DriftVelocity) +{ + double length; + + double Xmax = *max_element(vX.begin(), vX.end())*PadSizeX; + double Xmin = *min_element(vX.begin(), vX.end())*PadSizeX; + + double Ymax = *max_element(vY.begin(), vY.end())*PadSizeY; + double Ymin = *min_element(vY.begin(), vY.end())*PadSizeY; + + double Zmax = *max_element(vZ.begin(), vZ.end())*DriftVelocity; + double Zmin = *min_element(vZ.begin(), vZ.end())*DriftVelocity; + + length = sqrt(pow(Xmax-Xmin,2) + pow(Ymax-Ymin,2) + pow(Zmax-Zmin,2)); + + return length; +} + +////////////////////////////////////////////////////// +double Track::GetPartialCharge(double PadXmin, double PadXmax) +{ + double Q=0; + unsigned int size = vQ.size(); + for(unsigned int i=0; i<size; i++){ + if(vX[i]>=PadXmin && vX[i]<=PadXmax){ + Q += vQ[i]; + } + } + return Q; +} +////////////////////////////////////////////////////// +double Track::GetTotalCharge() +{ + double Qtot=0; + + int size = vQ.size(); + for(int i=0; i<size; i++){ + Qtot += vQ[i]; + } + Qtot = Qtot/size; + + return Qtot; +} + +////////////////////////////////////////////////////// +void Track::Clear() +{ + vX.clear(); + vY.clear(); + vZ.clear(); + vQ.clear(); +} + +////////////////////////////////////////////////////// +/*void Track::ResetLines() +{ + L2DXY->SetX1(-1); + L2DXY->SetY1(-1); + L2DXY->SetX2(-1); + L2DXY->SetY2(-1); + + L2DXZ->SetX1(-1); + L2DXZ->SetY1(-1); + L2DXZ->SetX2(-1); + L2DXZ->SetY2(-1); + + L2DYZ->SetX1(-1); + L2DYZ->SetY1(-1); + L2DYZ->SetX2(-1); + L2DYZ->SetY2(-1); + + L3D->SetX1(-1); + L3D->SetY1(-1); + L3D->SetX2(-1); + L3D->SetY2(-1); +}*/ diff --git a/NPLib/TrackReconstruction/NPTrack.h b/NPLib/TrackReconstruction/NPTrack.h new file mode 100644 index 0000000000000000000000000000000000000000..1da625e4546dcf2d462a9c7b4d030d96c08fa3a5 --- /dev/null +++ b/NPLib/TrackReconstruction/NPTrack.h @@ -0,0 +1,98 @@ +#ifndef __TRACK__ +#define __TRACK__ +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * * + * Original Author : Pierre MORFOUACE contact address: morfouace@ganil.fr * + * * + * Creation Date : April 2018 * + * Last update : Apro; 2018 * + *---------------------------------------------------------------------------* + * Decription: * + * This class deal with track charactieristic from TPC analysis * + *****************************************************************************/ + +#include <TLine.h> +#include <TVector3.h> +#include <stdio.h> +#include <iostream> +#include <vector> +#include <algorithm> +#include <cmath> + +using namespace std; + +namespace NPL{ + class Track{ + + public: + Track(); + ~Track(); + public: + double Xm; + double Ym; + double Zm; + double Xh; + double Yh; + double Zh; + + TLine* L2DXY; + TLine* L2DXZ; + TLine* L2DYZ; + TLine* L3D; + + private: + vector<int> vX; + vector<int> vY; + vector<int> vZ; + vector<int> vQ; + + public: + /////////////// + /// SETTERS /// + /////////////// + void SetXPoints(vector<int> vec) {vX=vec;} + void SetYPoints(vector<int> vec) {vY=vec;} + void SetZPoints(vector<int> vec) {vZ=vec;} + void SetQPoints(vector<int> vec) {vQ=vec;} + + /////////////// + /// GETTERS /// + /////////////// + vector<int> GetXPoints() {return vX;} + vector<int> GetYPoints() {return vY;} + vector<int> GetZPoints() {return vZ;} + vector<int> GetQPoints() {return vQ;} + + double GetXm() {return Xm;} + double GetXh() {return Xh;} + double GetYm() {return Ym;} + double GetYh() {return Yh;} + double GetZm() {return Zm;} + double GetZh() {return Zh;} + + public: + TVector3 GetDirectionVector(); + + TVector3 GetVertexPostion(TVector3 vBeamDir, TVector3 vBeamPoint); + + TVector3 GetChargeBarycenter(); + + TVector3 GetPointBarycenter(); + + double GetTrackLengthX(); + double GetTrackLength(double PadSizeX, double PadSizeY, double DriftVelocity); + double GetTotalCharge(); + double GetPartialCharge(double PadXmin, double PadXmax); + + //void ResetLines(); + void Clear(); + }; +} +#endif diff --git a/NPLib/TrackReconstruction/NPTrackReconstructionLinkDef.h b/NPLib/TrackReconstruction/NPTrackReconstructionLinkDef.h new file mode 100644 index 0000000000000000000000000000000000000000..058353da81f53e04e556ee641cc675b7e446cde1 --- /dev/null +++ b/NPLib/TrackReconstruction/NPTrackReconstructionLinkDef.h @@ -0,0 +1,4 @@ +#ifdef __CINT__ +#pragma link C++ defined_in "./NPRansac.h"; +#pragma link C++ defined_in "./NPTrack.h"; +#endif diff --git a/NPLib/ressources/CMake/NPAnalysis.cmake b/NPLib/ressources/CMake/NPAnalysis.cmake index 0a7f01ad127150f043bb2d37a247e4e220049a9c..5d69325cde45f8e871db753eb164b34de9996307 100644 --- a/NPLib/ressources/CMake/NPAnalysis.cmake +++ b/NPLib/ressources/CMake/NPAnalysis.cmake @@ -17,4 +17,4 @@ if(${CMAKE_CXX_COMPILER_ID} MATCHES ".*Clang.*") endif() add_library(NPAnalysis SHARED Analysis.cxx) -target_link_libraries(NPAnalysis ${ROOT_LIBRARIES} -L${NPLIB}/lib -lNPCore -lNPPhysics -lNPInteractionCoordinates -lNPInitialConditions) +target_link_libraries (NPAnalysis ${ROOT_LIBRARIES} -L${NPLIB}/lib -lNPCore -lNPPhysics -lNPInteractionCoordinates -lNPInitialConditions -lNPReactionConditions) diff --git a/NPLib/scripts/Style_nptool.C b/NPLib/scripts/Style_nptool.C index 60c8f49926f3e4e2d0831939d74a16a88076b15b..b3a1f196928ad73cdee2d3e12ddd6be4fb8eb21b 100644 --- a/NPLib/scripts/Style_nptool.C +++ b/NPLib/scripts/Style_nptool.C @@ -13,9 +13,9 @@ void Style_nptool(){ style->SetFrameFillColor(kWhite); style->SetFrameBorderMode(0); style->SetFrameLineColor(kWhite); - style->SetStatColor(kBlack); + style->SetStatColor(kWhite); style->SetTitleFillColor(kWhite); - style->SetTitleColor(kBlack,"pad"); + style->SetTitleColor(kWhite,"pad"); style->SetTitleBorderSize(0); style->SetTextColor(kBlack); diff --git a/NPLib/scripts/build_dict.sh b/NPLib/scripts/build_dict.sh index facd09f59e8be13d492f0801ec9b96a98e125889..c8ee5388cc0bef11879ed96bc36262ed0bcdbc3e 100755 --- a/NPLib/scripts/build_dict.sh +++ b/NPLib/scripts/build_dict.sh @@ -53,13 +53,13 @@ fi # Version 5 : generate the dictionnary then the libmap if [ $version_major -eq 5 ] then - rootcint -f $2 -c -I../Core -I../Physics -I../../Core -I../../Physics $1 $5 + rootcint -f $2 -c -I../Core -I../Physics -I../../Core -I../../Physics -I../TrackReconstruction -I../../TrackReconstruction $1 $5 fi # Version 6 or more : generate both at once if [ $version_major -gt 5 ] then - rootcint -f $2 -rmf $3 -rml $lib_name -I../Core -I../Physics -I../../Core -I../../Physics $1 $5 + rootcint -f $2 -rmf $3 -rml $lib_name -I../Core -I../Physics -I../../Core -I../../Physics -I../TrackReconstruction -I../../TrackReconstruction $1 $5 fi diff --git a/NPSimulation/Core/MaterialManager.cc b/NPSimulation/Core/MaterialManager.cc index 3fbd507c1f1d065f56cf18a3e67fcc0df6c65494..cae76ee0ace80bf563c11c79185e1a7cd13d8de1 100644 --- a/NPSimulation/Core/MaterialManager.cc +++ b/NPSimulation/Core/MaterialManager.cc @@ -910,18 +910,18 @@ G4Material* MaterialManager::GetGasFromLibrary(string Name, double Pressure, dou if(Name == "H2"){ density = (2*1.00794/Vm)*mg/cm3; - G4Material* material = new G4Material("NPS_"+newName,density,2,kStateGas,Temperature,Pressure); - material->AddElement(GetElementFromLibrary("H"), 1); - material->AddElement(GetElementFromLibrary("H"), 1); + G4Material* material = new G4Material("NPS_"+newName,density,1,kStateGas,Temperature,Pressure); + material->AddElement(GetElementFromLibrary("H"), 2); + //material->AddElement(GetElementFromLibrary("H"), 1); m_Material[Name]=material; return material; } if(Name == "D2"){ density = (2*2.0140/Vm)*mg/cm3; - G4Material* material = new G4Material("NPS_"+newName,density,2,kStateGas,Temperature,Pressure); - material->AddElement(GetElementFromLibrary("D"), 1); - material->AddElement(GetElementFromLibrary("D"), 1); + G4Material* material = new G4Material("NPS_"+newName,density,1,kStateGas,Temperature,Pressure); + material->AddElement(GetElementFromLibrary("D"), 2); + //material->AddElement(GetElementFromLibrary("D"), 1); m_Material[Name]=material; return material; } @@ -939,7 +939,7 @@ G4Material* MaterialManager::GetGasFromLibrary(string Name, double Pressure, dou void MaterialManager::WriteDEDXTable(G4ParticleDefinition* Particle ,G4double Emin,G4double Emax){ map<string,G4Material*>::iterator it; if(Particle->GetPDGCharge()==0) - return; + return; for(it = m_Material.begin() ; it != m_Material.end() ; it++){ // Opening hte output file G4String GlobalPath = getenv("NPTOOL"); @@ -983,7 +983,7 @@ void MaterialManager::WriteDEDXTable(std::set<string> Particle ,G4double Emin,G4 std::set<string>::iterator it; for(it=Particle.begin(); it!=Particle.end() ; it++){ G4ParticleDefinition* p = G4ParticleTable::GetParticleTable()->FindParticle((*it)); - WriteDEDXTable(p,Emin,Emax); + WriteDEDXTable(p,Emin,Emax); } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/NPSimulation/Core/PrimaryGeneratorAction.cc b/NPSimulation/Core/PrimaryGeneratorAction.cc index 4c761b3c19d9231c4edb6e5bfe57f828385323e9..0d41dabb44387e9181a45882ecfe9e2e515a5c1e 100644 --- a/NPSimulation/Core/PrimaryGeneratorAction.cc +++ b/NPSimulation/Core/PrimaryGeneratorAction.cc @@ -49,115 +49,118 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PrimaryGeneratorAction::PrimaryGeneratorAction(DetectorConstruction* det): m_detector(det){ - m_Messenger = new PrimaryGeneratorActionMessenger(this); - m_GenerateEvent = &NPS::VEventGenerator::GenerateEvent; - m_Target=NULL; - } + m_Messenger = new PrimaryGeneratorActionMessenger(this); + m_GenerateEvent = &NPS::VEventGenerator::GenerateEvent; + m_Target=NULL; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PrimaryGeneratorAction::~PrimaryGeneratorAction(){ - unsigned int mysize = m_EventGenerator.size(); - for (unsigned int i = 0 ; i < mysize; i++) { - delete m_EventGenerator[i]; - } - m_EventGenerator.clear(); + unsigned int mysize = m_EventGenerator.size(); + for (unsigned int i = 0 ; i < mysize; i++) { + delete m_EventGenerator[i]; + } + m_EventGenerator.clear(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent){ - // In case the target has changed - SetTarget(); - unsigned int mysize = m_EventGenerator.size(); - for (unsigned int i = 0 ; i < mysize; i++) { - //m_EventGenerator[i]->GenerateEvent(anEvent); - (m_EventGenerator[i]->*m_GenerateEvent)(anEvent); - } - - ParticleStack::getInstance()->ShootAllParticle(anEvent); - + // In case the target has changed + if(m_Target!=NULL) SetTarget(); + unsigned int mysize = m_EventGenerator.size(); + for (unsigned int i = 0 ; i < mysize; i++) { + //m_EventGenerator[i]->GenerateEvent(anEvent); + (m_EventGenerator[i]->*m_GenerateEvent)(anEvent); + } + + ParticleStack::getInstance()->ShootAllParticle(anEvent); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::ReadEventGeneratorFile(string Path){ - if(NPOptionManager::getInstance()->GetVerboseLevel()) - cout << endl << "\033[1;35m//// Reading event generator file "<< Path << endl; - - NPL::InputParser parser(Path); - - vector<NPL::InputBlock*> blocks; - - blocks.clear(); - blocks = parser.GetAllBlocksWithToken("Isotropic"); - if (blocks.size()>0) { - NPS::VEventGenerator* myEventGenerator = new EventGeneratorIsotropic(); - myEventGenerator->ReadConfiguration(parser); - myEventGenerator->InitializeRootOutput(); - m_EventGenerator.push_back(myEventGenerator); - } - blocks.clear(); - blocks = parser.GetAllBlocksWithToken("MultipleParticle"); - if (blocks.size()>0) { - NPS::VEventGenerator* myEventGenerator = new EventGeneratorMultipleParticle(); - myEventGenerator->ReadConfiguration(parser); - myEventGenerator->InitializeRootOutput(); - m_EventGenerator.push_back(myEventGenerator); - } - blocks.clear(); - blocks = parser.GetAllBlocksWithToken("Beam"); - if (blocks.size()>0) { - NPS::VEventGenerator* myEventGenerator = new EventGeneratorBeam(); - myEventGenerator->ReadConfiguration(parser); - myEventGenerator->InitializeRootOutput(); - myEventGenerator->SetTarget(m_detector->GetTarget()); - m_EventGenerator.push_back(myEventGenerator); - } -/* blocks.clear(); - blocks = parser.GetAllBlocksWithToken("TwoBodyReaction"); - if (blocks.size()>0) { - NPS::VEventGenerator* myEventGenerator = new EventGeneratorTwoBodyReaction(); - myEventGenerator->ReadConfiguration(parser); - myEventGenerator->InitializeRootOutput(); - myEventGenerator->SetTarget(m_detector->GetTarget()); - m_EventGenerator.push_back(myEventGenerator); - } - blocks.clear(); - blocks = parser.GetAllBlocksWithToken("GammaCascade"); - if (blocks.size()>0) { - NPS::VEventGenerator* myEventGenerator = new EventGeneratorGammaDecay(); - myEventGenerator->ReadConfiguration(parser); - myEventGenerator->InitializeRootOutput(); - myEventGenerator->SetTarget(m_detector->GetTarget()); - m_EventGenerator.push_back(myEventGenerator); - } - blocks.clear(); - blocks = parser.GetAllBlocksWithToken("ParticleDecay"); - if (blocks.size()>0) { - NPS::VEventGenerator* myEventGenerator = new EventGeneratorParticleDecay(); - myEventGenerator->ReadConfiguration(parser); - myEventGenerator->InitializeRootOutput(); - myEventGenerator->SetTarget(m_detector->GetTarget()); - m_EventGenerator.push_back(myEventGenerator); - } -*/ - m_Target=m_detector->GetTarget(); - m_Target->SetReactionRegion(); - + if(NPOptionManager::getInstance()->GetVerboseLevel()) + cout << endl << "\033[1;35m//// Reading event generator file "<< Path << endl; + + NPL::InputParser parser(Path); + + vector<NPL::InputBlock*> blocks; + + blocks.clear(); + blocks = parser.GetAllBlocksWithToken("Isotropic"); + if (blocks.size()>0) { + NPS::VEventGenerator* myEventGenerator = new EventGeneratorIsotropic(); + myEventGenerator->ReadConfiguration(parser); + myEventGenerator->InitializeRootOutput(); + m_EventGenerator.push_back(myEventGenerator); + } + blocks.clear(); + blocks = parser.GetAllBlocksWithToken("MultipleParticle"); + if (blocks.size()>0) { + NPS::VEventGenerator* myEventGenerator = new EventGeneratorMultipleParticle(); + myEventGenerator->ReadConfiguration(parser); + myEventGenerator->InitializeRootOutput(); + m_EventGenerator.push_back(myEventGenerator); + } + blocks.clear(); + blocks = parser.GetAllBlocksWithToken("Beam"); + if (blocks.size()>0) { + NPS::VEventGenerator* myEventGenerator = new EventGeneratorBeam(); + myEventGenerator->ReadConfiguration(parser); + myEventGenerator->InitializeRootOutput(); + if(m_detector->GetTarget()!=NULL)myEventGenerator->SetTarget(m_detector->GetTarget()); + m_EventGenerator.push_back(myEventGenerator); + } + /* blocks.clear(); + blocks = parser.GetAllBlocksWithToken("TwoBodyReaction"); + if (blocks.size()>0) { + NPS::VEventGenerator* myEventGenerator = new EventGeneratorTwoBodyReaction(); + myEventGenerator->ReadConfiguration(parser); + myEventGenerator->InitializeRootOutput(); + myEventGenerator->SetTarget(m_detector->GetTarget()); + m_EventGenerator.push_back(myEventGenerator); + } + blocks.clear(); + blocks = parser.GetAllBlocksWithToken("GammaCascade"); + if (blocks.size()>0) { + NPS::VEventGenerator* myEventGenerator = new EventGeneratorGammaDecay(); + myEventGenerator->ReadConfiguration(parser); + myEventGenerator->InitializeRootOutput(); + myEventGenerator->SetTarget(m_detector->GetTarget()); + m_EventGenerator.push_back(myEventGenerator); + } + blocks.clear(); + blocks = parser.GetAllBlocksWithToken("ParticleDecay"); + if (blocks.size()>0) { + NPS::VEventGenerator* myEventGenerator = new EventGeneratorParticleDecay(); + myEventGenerator->ReadConfiguration(parser); + myEventGenerator->InitializeRootOutput(); + myEventGenerator->SetTarget(m_detector->GetTarget()); + m_EventGenerator.push_back(myEventGenerator); + } + */ + + m_Target=m_detector->GetTarget(); + if(m_Target!=NULL){ + m_Target->SetReactionRegion(); + } + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::ClearEventGenerator(){ - unsigned int mysize = m_EventGenerator.size(); - for (unsigned int i = 0 ; i < mysize; i++) { - delete m_EventGenerator[i]; - } - - m_EventGenerator.clear(); - + unsigned int mysize = m_EventGenerator.size(); + for (unsigned int i = 0 ; i < mysize; i++) { + delete m_EventGenerator[i]; + } + + m_EventGenerator.clear(); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... void PrimaryGeneratorAction::SetTarget(){ - for (unsigned int i = 0 ; i < m_EventGenerator.size(); i++) { - m_EventGenerator[i]->SetTarget(m_Target); - } + for (unsigned int i = 0 ; i < m_EventGenerator.size(); i++) { + m_EventGenerator[i]->SetTarget(m_Target); + } } diff --git a/NPSimulation/Core/Target.cc b/NPSimulation/Core/Target.cc index 35b795c4cf2b32fbb062baccca64d86ad97ab402..1664079998d0a2680d6b13402e4f14398735febf 100644 --- a/NPSimulation/Core/Target.cc +++ b/NPSimulation/Core/Target.cc @@ -430,7 +430,7 @@ void Target::SetReactionRegion(){ if(!m_ReactionRegion){ m_ReactionRegion= new G4Region("NPSimulationProcess"); m_ReactionRegion->AddRootLogicalVolume(m_TargetLogic); - m_ReactionRegion->SetUserLimits(new G4UserLimits(m_TargetThickness/10.)); + m_ReactionRegion->SetUserLimits(new G4UserLimits(m_TargetThickness/10.)); } G4FastSimulationManager* mng = m_ReactionRegion->GetFastSimulationManager(); @@ -447,7 +447,7 @@ void Target::SetReactionRegion(){ fsm = new NPS::Decay("Decay",m_ReactionRegion); m_ReactionModel.push_back(fsm); -} +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Add Detector branch to the EventTree. diff --git a/NPSimulation/Detectors/Actar/Actar.cc b/NPSimulation/Detectors/Actar/Actar.cc index 741f247d34fc5ee8a031fd414568268824864a6c..cc373d3c058be3993aa2c167f7d17dc791834f2a 100644 --- a/NPSimulation/Detectors/Actar/Actar.cc +++ b/NPSimulation/Detectors/Actar/Actar.cc @@ -53,7 +53,7 @@ // NPTool header #include "Actar.hh" #include "SiliconScorers.hh" -#include "DriftElectronScorers.hh" +#include "TPCScorers.hh" #include "RootOutput.h" #include "MaterialManager.hh" #include "NPSDetectorFactory.hh" @@ -79,39 +79,50 @@ namespace Actar_NS{ // Energy and time Resolution const double ChargeThreshold = 0; const double ResoTime = 0.1*ns ; - //const double ResoEnergy = 1.0*MeV ; - const double ChamberThickness = 55*cm ; - const double ChamberWidth = 50*cm ; + const double ResoCharge = 5./100 ; + const double ChamberThickness = 376*mm ; + const double ChamberWidth = 376*mm ; const double ChamberHeight = 40*cm ; //const int NumberOfPads = 16384; - const int PadX = 128; - const int PadZ = 128; - + //const int PadX = 128; + //const int PadZ = 128; + const double Nose_Rmin = 2.5*cm; const double Nose_Rmax = 3.5*cm; const double Nose_Length = 12*cm; - + const double Mylar_Rmax = 3.5*cm; const double Mylar_Thickness = 7*micrometer; - + const double XGazVolume = 256.*mm; const double YGazVolume = 256.*mm; const double ZGazVolume = 256.*mm; - + const double SiliconHeight = 53.*mm; const double SiliconWidth = 53.*mm; const double SiliconThickness = 0.7*mm; const double DistInterSi = 1.*mm; - const double Si_PosZ=15.*cm; + const double Si_PosZ=175.*mm; const double ResoSilicon = 0.80/2.35; const double EnergyThreshold = 0.1; - + + const double VamosSiliconHeight = 70*mm; + const double VamosSiliconWidth = 50*mm; + const double VamosSiliconThickness = 0.5*mm; + const double VamosSiliconDistanInterSi = 1*mm; + const double VamosSilicon_PosZ = -160*mm; + const double CsIThickness = 1.*cm; const double CsIHeight = 2.5*cm; const double CsIWidth = 2.5*cm; const double DistInterCsI = 1.*mm; const double CsI_PosZ = 16.*cm; const double ResoCsI = 0.200/2.35; + + const double BeamDumpRadius = 30*mm; + const double BeamDumpThickness = 5*mm; + const double BeamDump_PosZ = 160*mm; + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -119,20 +130,52 @@ namespace Actar_NS{ // Actar Specific Method Actar::Actar(){ m_Event = new TActarData() ; + m_EventReduced = new MEventReduced(); m_ActarScorer = 0; m_SquareDetector = 0; - + // RGB Color + Transparency - m_VisChamber = new G4VisAttributes(G4Colour(0.7, 0.7, 0.7, 0.3)); - m_VisWindows = new G4VisAttributes(G4Colour(1, 0, 0, 0.25)); - m_VisGas = new G4VisAttributes(G4Colour(0, 0.5, 0.5, 0.3)); - m_VisPads = new G4VisAttributes(G4Colour(255, 223, 50, 0.8)); - m_SiliconVisAtt = new G4VisAttributes(G4Colour(0.529412, 0.807843, 0.980392, 0.95)) ; - m_CsIVisAtt = new G4VisAttributes(G4Colour(0.429412, 0.607843, 0.780392, 0.95)); + m_VisChamber = new G4VisAttributes(G4Colour(0.7, 0.7, 0.7, 0.3)); + m_VisWindows = new G4VisAttributes(G4Colour(1, 0, 0, 0.25)); + m_VisGas = new G4VisAttributes(G4Colour(0, 0.5, 0.5, 0.3)); + m_VisPads = new G4VisAttributes(G4Colour(255, 223, 50, 0.8)); + m_VisMicromegas = new G4VisAttributes(G4Colour(100, 100, 100, 0.4)); + m_SiliconVisAtt = new G4VisAttributes(G4Colour(0.529412, 0.807843, 0.980392, 0.95)) ; + m_CsIVisAtt = new G4VisAttributes(G4Colour(0.429412, 0.607843, 0.780392, 0.95)); + m_BeamDumpVisAtt = new G4VisAttributes(G4Colour(0.9, 0.5, 0.5)); m_VisPads->SetForceWireframe(true); - + + m_build_BeamDump= 0; m_build_Silicon=1; + m_build_Vamos_Silicon=0; m_build_CsI=1; + + // Lookup table // + bool ReadingLookupTable = false; + string LT_FileName = "./Detectors/Actar/LT.dat"; + ifstream LTConfigFile; + LTConfigFile.open(LT_FileName.c_str()); + if(!LTConfigFile.is_open()){ + cout << "No Lookup Table in " << LT_FileName << " found!" << endl; + return; + } + else{ + cout << "/// Using LookupTable from: " << LT_FileName << " ///" << endl; + int co, as, ag, ch; + int pX, pY; + for(int i=0;i<NumberOfCobo*NumberOfASAD*NumberOfAGET*NumberOfChannel;i++){ + LTConfigFile >> co >> as >> ag >> ch >> pX >> pY; + if(pX!=-1 && pY !=-1){ + m_PadToCobo[pX][pY] = co; + m_PadToAsad[pX][pY] = as; + m_PadToAGET[pX][pY] = ag; + m_PadToChannel[pX][pY] = ch; + } + } + ReadingLookupTable = true; + } + LTConfigFile.close(); + } Actar::~Actar(){ @@ -157,47 +200,51 @@ void Actar::AddDetector(double R, double Theta, double Phi, string Shape){ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4LogicalVolume* Actar::BuildDetector(){ - - G4Material* Cu= MaterialManager::getInstance()->GetMaterialFromLibrary("Cu"); - G4Material* Si= MaterialManager::getInstance()->GetMaterialFromLibrary("Si"); - G4Material* Al= MaterialManager::getInstance()->GetMaterialFromLibrary("Al"); - G4Material* Mylar= MaterialManager::getInstance()->GetMaterialFromLibrary("Mylar"); - G4Material* MaterialCsI = MaterialManager::getInstance()->GetMaterialFromLibrary("CsI"); - - if(!m_SquareDetector){ + + G4Material* Cu= MaterialManager::getInstance()->GetMaterialFromLibrary("Cu"); + G4Material* Si= MaterialManager::getInstance()->GetMaterialFromLibrary("Si"); + G4Material* Al= MaterialManager::getInstance()->GetMaterialFromLibrary("Al"); + G4Material* Mylar= MaterialManager::getInstance()->GetMaterialFromLibrary("Mylar"); + G4Material* MaterialCsI = MaterialManager::getInstance()->GetMaterialFromLibrary("CsI"); + + if(!m_SquareDetector){ // Main volume G4Box* sChamber = new G4Box("Actar_Box",Actar_NS::ChamberWidth*0.5, Actar_NS::ChamberHeight*0.5,Actar_NS::ChamberThickness*0.5); - + //Nose volume G4Tubs* sNose = new G4Tubs("Actar_Nose",Actar_NS::Nose_Rmin, Actar_NS::Nose_Rmax,Actar_NS::Nose_Length*0.5, - 0*deg, 360*deg); - + 0*deg, 360*deg); + //Mylar volume G4Tubs* sWindows = new G4Tubs("Actar_Windows",0, Actar_NS::Mylar_Rmax,Actar_NS::Mylar_Thickness*0.5, - 0*deg, 360*deg); - + 0*deg, 360*deg); + // Cage volume G4Box* sCage = new G4Box("Actar_Gas",Actar_NS::XGazVolume*0.5, - Actar_NS::YGazVolume*0.5,Actar_NS::ZGazVolume*0.5); - + Actar_NS::YGazVolume*0.5,Actar_NS::ZGazVolume*0.5); + // Pad - G4Box* sPad = new G4Box("Actar_Pad",2*mm*0.5, - 1*um*0.5,2*mm*0.5); - + G4Box* sPad = new G4Box("Actar_Pad",256*mm*0.5, + 2*mm*0.5,256*mm*0.5); + + // Micromegas + G4Box* sMicromegas = new G4Box("Actar_Micromegas",256*mm*0.5, + 220*micrometer*0.5,256*mm*0.5); + // Cathode G4Box* sCathode = new G4Box("Actar_Cathode",26.5*cm*0.5, 1*um*0.5,25.6*cm*0.5); - - - + + + unsigned const int NumberOfGasMix = m_GasMaterial.size(); - + double density=0; double density_sum=0; vector<G4Material*> GasComponent; vector<double> FractionMass; - + for(unsigned int i=0; i<NumberOfGasMix; i++){ GasComponent.push_back(MaterialManager::getInstance()->GetGasFromLibrary(m_GasMaterial[i],m_Pressure,m_Temperature) ); } @@ -206,188 +253,252 @@ G4LogicalVolume* Actar::BuildDetector(){ density_sum += GasComponent[i]->GetDensity(); } //cout << "density = " << density*cm3/g << endl; - + for(unsigned int i=0; i<NumberOfGasMix; i++){ FractionMass.push_back(GasComponent[i]->GetDensity()/density_sum); } - + G4Material* GasMaterial = new G4Material("GasMix", density, NumberOfGasMix, kStateGas, m_Temperature, m_Pressure); - G4Material* DriftGasMaterial = new G4Material("GasMix", density, NumberOfGasMix, kStateGas, m_Temperature, m_Pressure); - + G4Material* DriftGasMaterial = new G4Material("DriftGasMix", density, NumberOfGasMix, kStateGas, m_Temperature, m_Pressure); + for(unsigned int i=0; i<NumberOfGasMix; i++){ GasMaterial->AddMaterial(GasComponent[i], FractionMass[i]); DriftGasMaterial->AddMaterial(GasComponent[i], FractionMass[i]); + cout << GasComponent[i] << endl; } - + G4MaterialPropertiesTable* MPT = new G4MaterialPropertiesTable(); MPT->AddConstProperty("DE_PAIRENERGY",20*eV); - MPT->AddConstProperty("DE_YIELD",1e-2); - //MPT->AddConstProperty("DE_YIELD",1e-1); - //MPT->AddConstProperty("DE_AMPLIFICATION",5); + MPT->AddConstProperty("DE_YIELD",3e-1); + //MPT->AddConstProperty("DE_AMPLIFICATION",2); MPT->AddConstProperty("DE_ABSLENGTH",1*pc); - MPT->AddConstProperty("DE_DRIFTSPEED",5.*cm/microsecond); - //MPT->AddConstProperty("DE_TRANSVERSALSPREAD",5e-5*mm2/ns); - //MPT->AddConstProperty("DE_LONGITUDINALSPREAD",5e-5*mm2/ns); - MPT->AddConstProperty("DE_TRANSVERSALSPREAD",7e-6*mm2/ns); - MPT->AddConstProperty("DE_LONGITUDINALSPREAD",7e-6*mm2/ns); - + MPT->AddConstProperty("DE_DRIFTSPEED",0.8*cm/microsecond); + MPT->AddConstProperty("DE_TRANSVERSALSPREAD",2e-5*mm2/ns); + MPT->AddConstProperty("DE_LONGITUDINALSPREAD",7e-5*mm2/ns); + DriftGasMaterial->SetMaterialPropertiesTable(MPT); - + G4MaterialPropertiesTable* MPT2 = new G4MaterialPropertiesTable(); - MPT2->AddConstProperty("DE_YIELD",1); - MPT2->AddConstProperty("DE_AMPLIFICATION",2); + MPT2->AddConstProperty("DE_AMPLIFICATION",1000); MPT2->AddConstProperty("DE_ABSLENGTH",1*pc); - + Al->SetMaterialPropertiesTable(MPT2); - - m_SquareDetector = new G4LogicalVolume(sChamber,GasMaterial,"logic_Actar_Box",0,0,0); - G4LogicalVolume* logicGas = new G4LogicalVolume(sCage,DriftGasMaterial,"logic_Gas",0,0,0); - G4LogicalVolume* logicNose = new G4LogicalVolume(sNose,Al,"logic_Nose",0,0,0); + + m_SquareDetector = new G4LogicalVolume(sChamber,GasMaterial,"logic_Actar_Box",0,0,0); + m_logicGas = new G4LogicalVolume(sCage,DriftGasMaterial,"logic_Gas",0,0,0); G4LogicalVolume* logicPad = new G4LogicalVolume(sPad,Cu,"logic_Pad",0,0,0); + G4LogicalVolume* logicMicromegas = new G4LogicalVolume(sMicromegas,Al,"logic_Micromegas",0,0,0); + + G4LogicalVolume* logicNose = new G4LogicalVolume(sNose,Cu,"logic_Nose",0,0,0); G4LogicalVolume* logicCathode = new G4LogicalVolume(sCathode,Cu,"logic_Cathode",0,0,0); G4LogicalVolume* logicWindows = new G4LogicalVolume(sWindows,Mylar,"logic_Windows",0,0,0); - + G4RotationMatrix* Rot = new G4RotationMatrix(); - new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(0,0,-Actar_NS::ChamberThickness*0.5+Actar_NS::Nose_Length*0.5)), - logicNose, - "ActarNose",m_SquareDetector,false,0); - - new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(0,0,-Actar_NS::ChamberThickness*0.5+Actar_NS::Mylar_Thickness*0.5+Actar_NS::Nose_Length)), - logicWindows, - "ActarEntranceWindows",m_SquareDetector,false,0); - + //new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(0,0,-Actar_NS::ChamberThickness*0.5+Actar_NS::Nose_Length*0.5)), + // logicNose, + // "ActarNose",m_SquareDetector,false,0); + + //new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(0,0,-Actar_NS::ChamberThickness*0.5+Actar_NS::Mylar_Thickness*0.5+Actar_NS::Nose_Length)), + // logicWindows, + // "ActarEntranceWindows",m_SquareDetector,false,0); + new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(0,0,0)), - logicGas, + m_logicGas, "ActarGas",m_SquareDetector,false,0); - - int pad=0; - m_PadToXRow.clear(); - m_PadToZColumn.clear(); - for(int i=0; i<Actar_NS::PadX; i++){ - for(int j=0; j<Actar_NS::PadZ; j++){ - m_PadToXRow[pad] = i; - m_PadToZColumn[pad] = j; - double X=(i-64)*2*mm; - double Z=(j-64)*2*mm; - new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(X,Actar_NS::YGazVolume*0.5,Z)), - logicPad, - "ActarPad",logicGas,false,pad+1); - - pad++; - } - } - + + //new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(0,Actar_NS::YGazVolume*0.5-0.3*cm,0)), + // logicMicromegas, + // "ActarMicromegas",m_logicGas,false,0); + + new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(0,Actar_NS::YGazVolume*0.5,0)), + logicPad, + "ActarPad",m_logicGas,false,0); + + /*int pad=0; + m_PadToXRow.clear(); + m_PadToZColumn.clear(); + for(int i=0; i<Actar_NS::PadX; i++){ + for(int j=0; j<Actar_NS::PadZ; j++){ + m_PadToXRow[pad] = i; + m_PadToZColumn[pad] = j; + double X=(i-64)*2*mm; + double Z=(j-64)*2*mm; + new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(X,Actar_NS::YGazVolume*0.5,Z)), + logicPad, + "ActarPad",m_logicGas,false,pad+1); + + pad++; + } + }*/ + /*new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(3*cm-0.5*1*um,0,0)), - logicCathode, - "ActarCathode",logicGas,false,0); - - - - new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(0,0,-6*cm+6*micrometer)), - logicWindows, - "ActarEntranceWindows",m_SquareDetector,false,0);*/ - - G4ElectricField* field = new G4UniformElectricField(G4ThreeVector(0.0,-100*volt/cm,0.0)); + logicCathode, + "ActarCathode",m_logicGas,false,0); + + + + new G4PVPlacement(G4Transform3D(*Rot,G4ThreeVector(0,0,-6*cm+6*micrometer)), + logicWindows, + "ActarEntranceWindows",m_SquareDetector,false,0);*/ + + G4ElectricField* field = new G4UniformElectricField(G4ThreeVector(0.0,-400*volt/cm,0.0)); // Create an equation of motion for this field G4EqMagElectricField* Equation = new G4EqMagElectricField(field); G4MagIntegratorStepper* Stepper = new G4ClassicalRK4( Equation, 8 ); - + // Get the global field manager G4FieldManager* FieldManager= new G4FieldManager(); // Set this field to the global field manager FieldManager->SetDetectorField(field); - logicGas->SetFieldManager(FieldManager,true); - + m_logicGas->SetFieldManager(FieldManager,true); + G4MagInt_Driver* IntgrDriver = new G4MagInt_Driver(0.1*mm, Stepper, Stepper->GetNumberOfVariables() ); - + G4ChordFinder* ChordFinder = new G4ChordFinder(IntgrDriver); FieldManager->SetChordFinder( ChordFinder ); - - + + logicPad->SetSensitiveDetector(m_ActarScorer); logicNose->SetVisAttributes(m_VisChamber); m_SquareDetector->SetVisAttributes(m_VisChamber); - logicGas->SetVisAttributes(m_VisGas); + m_logicGas->SetVisAttributes(m_VisGas); logicWindows->SetVisAttributes(m_VisWindows); logicPad->SetVisAttributes(m_VisPads); + logicMicromegas->SetVisAttributes(m_VisMicromegas); //m_SquareDetector->SetSensitiveDetector(m_ActarScorer); } - - + + + //////////////////////////////////////////////////// + ///////////////////// Beam Dump //////////////////// + //////////////////////////////////////////////////// + if(m_build_BeamDump){ + G4Tubs* sBeamDump = new G4Tubs("Actar_BeamDump",0*mm, Actar_NS::BeamDumpRadius,Actar_NS::BeamDumpThickness*0.5, + 0*deg, 360*deg); + m_LogicBeamDump = new G4LogicalVolume(sBeamDump, Cu, "logicBeamDump",0,0,0); + + G4ThreeVector positionBeamDump = G4ThreeVector(0, 0, Actar_NS::BeamDump_PosZ); + new G4PVPlacement(new G4RotationMatrix(0,0,0), + positionBeamDump, + m_LogicBeamDump,"BeamDump", + m_SquareDetector,false,0); + + m_LogicBeamDump->SetVisAttributes(m_BeamDumpVisAtt) ; + + } /////////////////////////////////////////////////// ///////////////////// Thin Si ///////////////////// /////////////////////////////////////////////////// + int SiliconNumber=0; if(m_build_Silicon){ G4Box* solidSi = new G4Box("Si", 0.5*Actar_NS::SiliconWidth, 0.5*Actar_NS::SiliconHeight, 0.5*Actar_NS::SiliconThickness); ; m_LogicSilicon = new G4LogicalVolume(solidSi, Si, "logicSi", 0, 0, 0); - - int SiliconNumber=0; + for(int k=0;k<4; k++){ - for(int p=0; p<5; p++){ - double PosX; - double PosY; - if(k==0) PosY= -1.5*Actar_NS::SiliconHeight-2*Actar_NS::DistInterSi; - if(k==1) PosY= -0.5*Actar_NS::SiliconHeight-1*Actar_NS::DistInterSi; - if(k==2) PosY= 0.5*Actar_NS::SiliconHeight+1*Actar_NS::DistInterSi; - if(k==3) PosY= 1.5*Actar_NS::SiliconHeight+2*Actar_NS::DistInterSi; - if(p==0) PosX= -2*Actar_NS::SiliconWidth-2*Actar_NS::DistInterSi; - if(p==1) PosX= -1*Actar_NS::SiliconWidth-1*Actar_NS::DistInterSi; - if(p==2) PosX= 0; - if(p==3) PosX= 1*Actar_NS::SiliconWidth+2*Actar_NS::DistInterSi; - if(p==4) PosX= 2*Actar_NS::SiliconWidth+1*Actar_NS::DistInterSi; - - G4ThreeVector positionSi = G4ThreeVector(PosX, PosY, Actar_NS::Si_PosZ); - new G4PVPlacement(new G4RotationMatrix(0,0,0), - positionSi, - m_LogicSilicon,"Si", - m_SquareDetector,false,SiliconNumber); - SiliconNumber++; + for(int p=0; p<5; p++){ + double PosX; + double PosY; + if(k==0) PosY= -1.5*Actar_NS::SiliconHeight-2*Actar_NS::DistInterSi; + if(k==1) PosY= -0.5*Actar_NS::SiliconHeight-1*Actar_NS::DistInterSi; + if(k==2) PosY= 0.5*Actar_NS::SiliconHeight+1*Actar_NS::DistInterSi; + if(k==3) PosY= 1.5*Actar_NS::SiliconHeight+2*Actar_NS::DistInterSi; + if(p==0) PosX= -2*Actar_NS::SiliconWidth-2*Actar_NS::DistInterSi; + if(p==1) PosX= -1*Actar_NS::SiliconWidth-1*Actar_NS::DistInterSi; + if(p==2) PosX= 0; + if(p==3) PosX= 1*Actar_NS::SiliconWidth+2*Actar_NS::DistInterSi; + if(p==4) PosX= 2*Actar_NS::SiliconWidth+1*Actar_NS::DistInterSi; + + G4ThreeVector positionSi = G4ThreeVector(PosX, PosY, Actar_NS::Si_PosZ); + new G4PVPlacement(new G4RotationMatrix(0,0,0), + positionSi, + m_LogicSilicon,"Si", + m_SquareDetector,false,SiliconNumber); + SiliconNumber++; } - } - + } + // Set Si sensible m_LogicSilicon->SetSensitiveDetector(m_SiliconScorer); - + // Visualisation of ThinSi - m_LogicSilicon->SetVisAttributes(m_SiliconVisAtt) ; + m_LogicSilicon->SetVisAttributes(m_SiliconVisAtt); } - + + //////////////////////////////////////////////////// + ///////////////////// Vamos Si ///////////////////// + //////////////////////////////////////////////////// + if(m_build_Vamos_Silicon){ + G4Box* solidSi = new G4Box("Si", 0.5*Actar_NS::VamosSiliconWidth, 0.5*Actar_NS::VamosSiliconHeight, 0.5*Actar_NS::VamosSiliconThickness); ; + m_LogicVamosSilicon = new G4LogicalVolume(solidSi, Si, "logicVamosSi", 0, 0, 0); + + + int VamosSiliconNumber=0; + for(int k=0;k<4; k++){ + for(int p=0; p<3; p++){ + double PosX; + double PosY; + if(k==0) PosX= -35*mm -0.5*Actar_NS::VamosSiliconWidth - Actar_NS::VamosSiliconDistanInterSi; + if(k==1) PosX= -35*mm -1.5*Actar_NS::VamosSiliconWidth - Actar_NS::VamosSiliconDistanInterSi; + if(k==2) PosX= 35*mm + 0.5*Actar_NS::VamosSiliconWidth + Actar_NS::VamosSiliconDistanInterSi; + if(k==3) PosX= 35*mm + 1.5*Actar_NS::VamosSiliconWidth + Actar_NS::VamosSiliconDistanInterSi; + + if(p==0) PosY= -Actar_NS::VamosSiliconHeight-Actar_NS::VamosSiliconDistanInterSi; + if(p==1) PosY= 0; + if(p==2) PosY= Actar_NS::VamosSiliconHeight+Actar_NS::VamosSiliconDistanInterSi; + + G4ThreeVector positionSi = G4ThreeVector(PosX, PosY, Actar_NS::VamosSilicon_PosZ); + new G4PVPlacement(new G4RotationMatrix(0,0,0), + positionSi, + m_LogicVamosSilicon,"Si", + m_SquareDetector,false,SiliconNumber); + VamosSiliconNumber++; + SiliconNumber++; + } + } + + // Set Si sensible + m_LogicVamosSilicon->SetSensitiveDetector(m_SiliconScorer); + + // Visualisation of ThinSi + m_LogicVamosSilicon->SetVisAttributes(m_SiliconVisAtt); + } + /////////////////////////////////////////////// ///////////////////// CsI ///////////////////// /////////////////////////////////////////////// if(m_build_CsI){ G4Box* solidCsI = new G4Box("Si", 0.5*Actar_NS::CsIWidth, 0.5*Actar_NS::CsIHeight, 0.5*Actar_NS::CsIThickness); ; m_LogicCsICrystal = new G4LogicalVolume(solidCsI, MaterialCsI, "logicCsI", 0, 0, 0); - + int CsINumber=0; for(int k=0;k<8; k++){ - for(int p=0; p<10; p++){ - double PosX; - double PosY; - if(k<4) PosY= -0.5*Actar_NS::CsIHeight-0.5*Actar_NS::DistInterCsI+(k-3)*(Actar_NS::CsIHeight+Actar_NS::DistInterCsI); - if(k>3) PosY= 0.5*Actar_NS::CsIHeight+0.5*Actar_NS::DistInterCsI+(k-4)*(Actar_NS::CsIHeight+Actar_NS::DistInterCsI); - - if(p<5) PosX= 0.5*Actar_NS::CsIWidth+0.5*Actar_NS::DistInterCsI+(4-p)*(Actar_NS::CsIWidth+Actar_NS::DistInterCsI); - if(p>4) PosX= -0.5*Actar_NS::CsIWidth-0.5*Actar_NS::DistInterCsI+(5-p)*(Actar_NS::CsIWidth+Actar_NS::DistInterCsI); - - G4ThreeVector positionCsI = G4ThreeVector(PosX, PosY, Actar_NS::CsI_PosZ); - new G4PVPlacement(new G4RotationMatrix(0,0,0), - positionCsI, - m_LogicCsICrystal,"CsI", - m_SquareDetector,false,CsINumber); - CsINumber++; + for(int p=0; p<10; p++){ + double PosX; + double PosY; + if(k<4) PosY= -0.5*Actar_NS::CsIHeight-0.5*Actar_NS::DistInterCsI+(k-3)*(Actar_NS::CsIHeight+Actar_NS::DistInterCsI); + if(k>3) PosY= 0.5*Actar_NS::CsIHeight+0.5*Actar_NS::DistInterCsI+(k-4)*(Actar_NS::CsIHeight+Actar_NS::DistInterCsI); + + if(p<5) PosX= 0.5*Actar_NS::CsIWidth+0.5*Actar_NS::DistInterCsI+(4-p)*(Actar_NS::CsIWidth+Actar_NS::DistInterCsI); + if(p>4) PosX= -0.5*Actar_NS::CsIWidth-0.5*Actar_NS::DistInterCsI+(5-p)*(Actar_NS::CsIWidth+Actar_NS::DistInterCsI); + + G4ThreeVector positionCsI = G4ThreeVector(PosX, PosY, Actar_NS::CsI_PosZ); + new G4PVPlacement(new G4RotationMatrix(0,0,0), + positionCsI, + m_LogicCsICrystal,"CsI", + m_SquareDetector,false,CsINumber); + CsINumber++; } - } - + } + // Set Si sensible m_LogicCsICrystal->SetSensitiveDetector(m_CsIScorer); - + // Visualisation of ThinSi m_LogicCsICrystal->SetVisAttributes(m_CsIVisAtt) ; } - + return m_SquareDetector; } @@ -403,15 +514,15 @@ void Actar::ReadConfiguration(NPL::InputParser parser){ vector<NPL::InputBlock*> blocks = parser.GetAllBlocksWithToken("Actar"); if(NPOptionManager::getInstance()->GetVerboseLevel()) cout << "//// " << blocks.size() << " detectors found " << endl; - - vector<string> cart = {"POS","Shape","GasMaterial","GasFraction","Temperature","Pressure","Si","CsI"}; - vector<string> sphe = {"R","Theta","Phi","Shape","GasMaterial","GasFraction","Temperature","Pressure","Si","CsI"}; - + + vector<string> cart = {"POS","Shape","GasMaterial","GasFraction","Temperature","Pressure","Si","VamosSi","CsI","BeamDump"}; + //vector<string> sphe = {"R","Theta","Phi","Shape","GasMaterial","GasFraction","Temperature","Pressure","Si","CsI","BeamDump"}; + for(unsigned int i = 0 ; i < blocks.size() ; i++){ if(blocks[i]->HasTokenList(cart)){ if(NPOptionManager::getInstance()->GetVerboseLevel()) cout << endl << "//// Actar " << i+1 << endl; - + G4ThreeVector Pos = NPS::ConvertVector(blocks[i]->GetTVector3("POS","mm")); string Shape = blocks[i]->GetString("Shape"); vector<string> GasName = blocks[i]->GetVectorString("GasMaterial"); @@ -423,11 +534,13 @@ void Actar::ReadConfiguration(NPL::InputParser parser){ m_Temperature = blocks[i]->GetDouble("Temperature","kelvin"); m_Pressure = blocks[i]->GetDouble("Pressure","bar"); m_build_Silicon = blocks[i]->GetInt("Si"); + m_build_Vamos_Silicon = blocks[i]->GetInt("VamosSi"); m_build_CsI = blocks[i]->GetInt("CsI"); - + m_build_BeamDump = blocks[i]->GetInt("BeamDump"); + AddDetector(Pos,Shape); } - else if(blocks[i]->HasTokenList(sphe)){ + /*else if(blocks[i]->HasTokenList(sphe)){ if(NPOptionManager::getInstance()->GetVerboseLevel()) cout << endl << "//// Actar " << i+1 << endl; double R = blocks[i]->GetDouble("R","mm"); @@ -444,9 +557,9 @@ void Actar::ReadConfiguration(NPL::InputParser parser){ m_Pressure = blocks[i]->GetDouble("Pressure","bar"); m_build_Silicon = blocks[i]->GetInt("Si"); m_build_CsI = blocks[i]->GetInt("CsI"); - + AddDetector(R,Theta,Phi,Shape); - } + }*/ else{ cout << "ERROR: check your input file formatting " << endl; exit(1); @@ -461,7 +574,7 @@ void Actar::ReadConfiguration(NPL::InputParser parser){ // Called After DetecorConstruction::AddDetector Method void Actar::ConstructDetector(G4LogicalVolume* world){ for (unsigned short i = 0 ; i < m_R.size() ; i++) { - + G4double wX = m_R[i] * sin(m_Theta[i] ) * cos(m_Phi[i] ) ; G4double wY = m_R[i] * sin(m_Theta[i] ) * sin(m_Phi[i] ) ; G4double wZ = m_R[i] * cos(m_Theta[i] ) ; @@ -478,13 +591,42 @@ void Actar::ConstructDetector(G4LogicalVolume* world){ G4ThreeVector v = w.cross(u); v = v.unit(); u = u.unit(); - + G4RotationMatrix* Rot = new G4RotationMatrix(u,v,w); - + new G4PVPlacement(G4Transform3D(*Rot,Det_pos), - BuildDetector(), - "Actar",world,false,i+1); + BuildDetector(), + "Actar",world,false,i+1); } + + if(!m_ReactionRegion){ + G4ProductionCuts* ecut = new G4ProductionCuts(); + ecut->SetProductionCut(1000,"e-"); + + m_ReactionRegion= new G4Region("NPSimulationProcess"); + m_ReactionRegion->SetProductionCuts(ecut); + m_ReactionRegion->AddRootLogicalVolume(m_logicGas); + m_ReactionRegion->SetUserLimits(new G4UserLimits(1.2*mm)); + + G4Region* Region_cut = new G4Region("RegionCut"); + Region_cut->SetProductionCuts(ecut); + Region_cut->AddRootLogicalVolume(m_SquareDetector); + } + + G4FastSimulationManager* mng = m_ReactionRegion->GetFastSimulationManager(); + + unsigned int size = m_ReactionModel.size(); + for(unsigned int i = 0 ; i < size ; i++){ + mng->RemoveFastSimulationModel(m_ReactionModel[i]); + } + + m_ReactionModel.clear(); + G4VFastSimulationModel* fsm; + fsm = new NPS::BeamReaction("BeamReaction",m_ReactionRegion); + m_ReactionModel.push_back(fsm); + fsm = new NPS::Decay("Decay",m_ReactionRegion); + m_ReactionModel.push_back(fsm); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Add Detector branch to the EventTree. @@ -492,29 +634,32 @@ void Actar::ConstructDetector(G4LogicalVolume* world){ void Actar::InitializeRootOutput(){ RootOutput *pAnalysis = RootOutput::getInstance(); TTree *pTree = pAnalysis->GetTree(); - if(!pTree->FindBranch("Actar")){ - pTree->Branch("Actar", "TActarData", &m_Event) ; + if(!pTree->FindBranch("data")){ + //pTree->Branch("Actar", "TActarData", &m_Event) ; + pTree->Branch("data", "MEventReduced", &m_EventReduced) ; } - pTree->SetBranchAddress("Actar", &m_Event) ; + //pTree->SetBranchAddress("Actar", &m_Event) ; + pTree->SetBranchAddress("data", &m_EventReduced) ; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // Read sensitive part and fill the Root tree. // Called at in the EventAction::EndOfEventAvtion void Actar::ReadSensitive(const G4Event* event){ - m_Event->Clear(); - + m_EventReduced->CoboAsad.clear(); + + ////////////// // Pad scorer NPS::HitsMap<G4double*>* PadHitMap; std::map<G4int, G4double**>::iterator Pad_itr; - - G4int PadCollectionID = G4SDManager::GetSDMpointer()->GetCollectionID("ActarScorer/Actar_dig"); + + G4int PadCollectionID = G4SDManager::GetSDMpointer()->GetCollectionID(m_ActarCollectionID); PadHitMap = (NPS::HitsMap<G4double*>*)(event->GetHCofThisEvent()->GetHC(PadCollectionID)); - // Loop on the Pad map - TH1D* h = new TH1D("h","h",25000,0,25000); + //TH1D* h = new TH1D("h","h",25000,0,25000); for (Pad_itr = PadHitMap->GetMap()->begin() ; Pad_itr != PadHitMap->GetMap()->end() ; Pad_itr++){ + ReducedData DataReduced; G4double* Info = *(Pad_itr->second); // Interraction Coordinates ms_InterCoord->SetDetectedPositionX(Info[2]) ; @@ -522,145 +667,148 @@ void Actar::ReadSensitive(const G4Event* event){ ms_InterCoord->SetDetectedPositionZ(Info[4]) ; ms_InterCoord->SetDetectedAngleTheta(Info[5]/deg) ; ms_InterCoord->SetDetectedAnglePhi(Info[6]/deg) ; - - double Count = Info[0]; - double Time = RandGauss::shoot(Info[1],Actar_NS::ResoTime); + + float Count = RandGauss::shoot(Info[0],Actar_NS::ResoCharge*Info[0]); + float Time = Info[1];//RandGauss::shoot(Info[1],Actar_NS::ResoTime); //int iTime = ((int) Time*20/512)+1; int PadNbr = Info[7]; + int Pad_X = Info[8];//m_PadToXRow[PadNbr]; + int Pad_Y = Info[9];//m_PadToZColumn[PadNbr]; + + int co = m_PadToCobo[Pad_X][Pad_Y]; + int as = m_PadToAsad[Pad_X][Pad_Y]; + int ag = m_PadToAGET[Pad_X][Pad_Y]; + int ch = m_PadToChannel[Pad_X][Pad_Y]; + if(Count>Actar_NS::ChargeThreshold){ - m_Event->SetTime(Time); - m_Event->SetPadNumber(PadNbr); - m_Event->SetCharge(Count); - m_Event->SetRowNumber(m_PadToXRow[PadNbr]); - m_Event->SetColumnNumber(m_PadToZColumn[PadNbr]); - } - - if(Count){ - h->Fill(Info[1],Info[0]); + DataReduced.globalchannelid = ch+(ag<<7)+(as<<9)+(co<<11); + DataReduced.peakheight.push_back(Count); + DataReduced.peaktime.push_back(Time); } + m_EventReduced->CoboAsad.push_back(DataReduced); } - - vector<double> Q, T; - for(int i=0; i<h->GetNbinsX(); i++){ - double count = h->GetBinContent(i); - double time = h->GetBinCenter(i); - if(count){ - Q.push_back(count); - T.push_back(time+500); - - } - } - // clear map for next event - //SimulateDigitizer(Q,T,1.40*microsecond,0,8750,25,5); - delete h; PadHitMap->clear(); - + // Silicon // if(m_build_Silicon){ + ReducedData DataReduced; + NPS::HitsMap<G4double*>* SiHitMap; std::map<G4int, G4double**>::iterator Si_itr; - - G4int SiCollectionID = G4SDManager::GetSDMpointer()->GetCollectionID("SiliconScorer/SiliconScorer"); + + G4int SiCollectionID = G4SDManager::GetSDMpointer()->GetCollectionID(m_SiliconCollectionID); SiHitMap = (NPS::HitsMap<G4double*>*)(event->GetHCofThisEvent()->GetHC(SiCollectionID)); - + // Loop on the ThinSi map for (Si_itr = SiHitMap->GetMap()->begin() ; Si_itr != SiHitMap->GetMap()->end() ; Si_itr++){ G4double* Info = *(Si_itr->second); double E_Si = RandGauss::shoot(Info[0],Actar_NS::ResoSilicon); - + + int co=31; + int as=0; + int ag=0; + int ch=Info[7]; + if(E_Si>Actar_NS::EnergyThreshold){ - m_Event->SetSiliconEnergy(E_Si); - m_Event->SetSiliconDetectorNumber(Info[7]); - m_Event->SetSiliconTime(Info[1]); + DataReduced.globalchannelid = ch+(ag<<7)+(as<<9)+(co<<11); + DataReduced.peaktime.push_back(ch); + DataReduced.peakheight.push_back(E_Si); } + m_EventReduced->CoboAsad.push_back(DataReduced); } - // Clear Map for next event SiHitMap->clear(); } - + // CsI // if(m_build_CsI){ NPS::HitsMap<G4double*>* CsIHitMap; std::map<G4int, G4double**>::iterator CsI_itr; - - G4int CsICollectionID = G4SDManager::GetSDMpointer()->GetCollectionID("CsIScorer/CsI"); + + G4int CsICollectionID = G4SDManager::GetSDMpointer()->GetCollectionID(m_CsICollectionID); CsIHitMap = (NPS::HitsMap<G4double*>*)(event->GetHCofThisEvent()->GetHC(CsICollectionID)); - + // Loop on the CsI map for (CsI_itr = CsIHitMap->GetMap()->begin() ; CsI_itr !=CsIHitMap->GetMap()->end() ; CsI_itr++){ G4double* Info = *(CsI_itr->second); double E_CsI = RandGauss::shoot(Info[0],Actar_NS::ResoCsI); - - if(E_CsI>Actar_NS::EnergyThreshold){ - m_Event->SetCsIEnergy(E_CsI); - m_Event->SetCsICrystalNumber(Info[2]); - } + + /*if(E_CsI>Actar_NS::EnergyThreshold){ + m_Event->SetCsIEnergy(E_CsI); + m_Event->SetCsICrystalNumber(Info[2]); + } + m_EventReduced->CoboAsad.push_back(DataReduced);*/ } // Clear Map for next event CsIHitMap->clear(); } + + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void Actar::SimulateDigitizer(vector<double> E, vector<double> T, double fallTime,double start,double stop, double step,double noise){ - - static string formula; - formula= ""; - static string Es,Ts,var,cond; - static string fall; - fall=std::to_string(fallTime); - - for(unsigned int i = 0 ; i < E.size() ; i++){ - if(E[i]!=0 && T[i]!=0){ - Es = std::to_string(E[i]); - Ts = std::to_string(T[i]); - cond = ")*(x>"+Ts+")+"; - var = "(x-"+Ts+")"; - formula += Es+"*-1*exp(-"+var+"/"+fall+cond; - } - } - formula+="0"; - //cout << formula << endl; - TF1* f = new TF1("f",formula.c_str(),start,stop); - unsigned int size = (stop-start)/step; - for(unsigned int i = 0 ; i < size ; i++){ - double time = start+i*step; - double energy = f->Eval(time)+noise*(1-2*G4UniformRand()); - m_Event->AddEnergyPoint(energy,time); - } - - delete f; -} +/*void Actar::SimulateDigitizer(vector<double> E, vector<double> T, double fallTime,double start,double stop, double step,double noise){ + + static string formula; + formula= ""; + static string Es,Ts,var,cond; + static string fall; + fall=std::to_string(fallTime); + + for(unsigned int i = 0 ; i < E.size() ; i++){ + if(E[i]!=0 && T[i]!=0){ + Es = std::to_string(E[i]); + Ts = std::to_string(T[i]); + cond = ")*(x>"+Ts+")+"; + var = "(x-"+Ts+")"; + formula += Es+"*-1*exp(-"+var+"/"+fall+cond; + } + } + formula+="0"; + //cout << formula << endl; + TF1* f = new TF1("f",formula.c_str(),start,stop); + unsigned int size = (stop-start)/step; + for(unsigned int i = 0 ; i < size ; i++){ + double time = start+i*step; + double energy = f->Eval(time)+noise*(1-2*G4UniformRand()); + } + + delete f; + }*/ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //////////////////////////////////////////////////////////////// void Actar::InitializeScorers() { // This check is necessary in case the geometry is reloaded - + bool already_exist = false; vector<G4int> NestingLevel; NestingLevel.push_back(0); NestingLevel.push_back(2); - + m_ActarScorer = CheckScorer("ActarScorer",already_exist) ; m_SiliconScorer = CheckScorer("SiliconScorer",already_exist); + //m_VamosSiliconScorer = CheckScorer("VamosSiliconScorer",already_exist); m_CsIScorer = CheckScorer("CsIScorer",already_exist); - + if(already_exist) return; - - G4VPrimitiveScorer *SiScorer = new SILICONSCORERS::PS_Silicon_Rectangle("SiliconScorer",0,Actar_NS::SiliconHeight,Actar_NS::SiliconWidth,1,1); + + G4VPrimitiveScorer* SiScorer = new SILICONSCORERS::PS_Silicon_Rectangle("SiliconScorer",0,Actar_NS::SiliconHeight,Actar_NS::SiliconWidth,1,1); m_SiliconScorer->RegisterPrimitive(SiScorer); - + + /*G4VPrimitiveScorer* VamosSiScorer = new SILICONSCORERS::PS_Silicon_Rectangle("VamosSiliconScorer",0,Actar_NS::VamosSiliconHeight,Actar_NS::VamosSiliconWidth,1,1); + m_VamosSiliconScorer->RegisterPrimitive(VamosSiScorer);*/ + G4VPrimitiveScorer* CsIScorer= new CALORIMETERSCORERS::PS_Calorimeter("CsI",NestingLevel); m_CsIScorer->RegisterPrimitive(CsIScorer); - + vector<int> level; level.push_back(0); - G4VPrimitiveScorer* Actar_dig= new DRIFTELECTRONSCORERS::PS_DECathode("Actar_dig",0) ; + G4VPrimitiveScorer* Actar_dig= new TPCSCORERS::PS_TPCCathode("Actar_dig",0) ; m_ActarScorer->RegisterPrimitive(Actar_dig); - + G4SDManager::GetSDMpointer()->AddNewDetector(m_ActarScorer); G4SDManager::GetSDMpointer()->AddNewDetector(m_SiliconScorer); + //G4SDManager::GetSDMpointer()->AddNewDetector(m_VamosSiliconScorer); G4SDManager::GetSDMpointer()->AddNewDetector(m_CsIScorer) ; } @@ -686,6 +834,6 @@ extern"C" { NPS::DetectorFactory::getInstance()->AddDetector("Actar",Actar::Construct); } }; - + proxy_nps_Actar p_nps_Actar; } diff --git a/NPSimulation/Detectors/Actar/Actar.hh b/NPSimulation/Detectors/Actar/Actar.hh index 43aecfd54d1a928425bb60f9c4be53edc3825a04..5a05f531084fb5a8e6354577fa53afe5292fdbba 100644 --- a/NPSimulation/Detectors/Actar/Actar.hh +++ b/NPSimulation/Detectors/Actar/Actar.hh @@ -32,11 +32,23 @@ using namespace std; #include "G4RotationMatrix.hh" #include "G4LogicalVolume.hh" #include "G4MultiFunctionalDetector.hh" +#include "G4UserLimits.hh" +#include "G4VFastSimulationModel.hh" +#include "G4FastSimulationManager.hh" // NPTool header #include "NPSVDetector.hh" #include "TActarData.h" +#include "MEventReduced.h" #include "NPInputParser.h" +#include "Decay.hh" +#include "BeamReaction.hh" + +#define NumberOfCobo 16 +#define NumberOfASAD 4 +#define NumberOfAGET 4 +#define NumberOfChannel 68 + class Actar : public NPS::VDetector{ //////////////////////////////////////////////////// @@ -60,10 +72,19 @@ public: private: G4LogicalVolume* m_SquareDetector; + G4LogicalVolume* m_logicGas; bool m_build_Silicon; + bool m_build_Vamos_Silicon; bool m_build_CsI; + bool m_build_BeamDump; G4LogicalVolume* m_LogicSilicon; + G4LogicalVolume* m_LogicVamosSilicon; G4LogicalVolume* m_LogicCsICrystal; + G4LogicalVolume* m_LogicBeamDump; + + string m_ActarCollectionID = "ActarScorer/Actar_dig"; + string m_SiliconCollectionID = "SiliconScorer/SiliconScorer"; + string m_CsICollectionID = "CsIScorer/CsI"; //////////////////////////////////////////////////// ////// Inherite from NPS::VDetector class ///////// @@ -94,11 +115,13 @@ public: // Scorer G4MultiFunctionalDetector* m_ActarScorer ; G4MultiFunctionalDetector* m_CsIScorer ; G4MultiFunctionalDetector* m_SiliconScorer ; + //G4MultiFunctionalDetector* m_VamosSiliconScorer ; //////////////////////////////////////////////////// ///////////Event class to store Data//////////////// //////////////////////////////////////////////////// private: TActarData* m_Event ; + MEventReduced* m_EventReduced; //////////////////////////////////////////////////// ///////////////Private intern Data////////////////// @@ -110,12 +133,16 @@ private: // Geometry vector<double> m_Phi; // Shape type - vector<string> m_Shape ; + vector<string> m_Shape; // map map<int, int> m_PadToXRow; map<int, int> m_PadToZColumn; - + int m_PadToCobo[128][128]; //! + int m_PadToAsad[128][128]; //! + int m_PadToAGET[128][128]; //! + int m_PadToChannel[128][128]; //! + // token vector<string> m_GasMaterial; vector<int> m_GasFraction; @@ -125,11 +152,21 @@ private: // Geometry // Visualisation Attribute G4VisAttributes* m_VisChamber; G4VisAttributes* m_VisWindows; + G4VisAttributes* m_VisMicromegas; G4VisAttributes* m_VisGas; G4VisAttributes* m_VisPads; G4VisAttributes* m_SiliconVisAtt; G4VisAttributes* m_CsIVisAtt; + G4VisAttributes* m_BeamDumpVisAtt; + // Needed for dynamic loading of the library + +private: + // Region were reaction can occure: + G4Region* m_ReactionRegion; + vector<G4VFastSimulationModel*> m_ReactionModel; + + public: static NPS::VDetector* Construct(); }; diff --git a/NPSimulation/Detectors/Actar/LT.dat b/NPSimulation/Detectors/Actar/LT.dat new file mode 100644 index 0000000000000000000000000000000000000000..113841f3bf7fdac195df67d39c3fd71af9689bc7 --- /dev/null +++ b/NPSimulation/Detectors/Actar/LT.dat @@ -0,0 +1,17408 @@ +0 0 0 0 0 32 +0 0 0 1 1 32 +0 0 0 2 0 33 +0 0 0 3 1 33 +0 0 0 4 0 34 +0 0 0 5 1 34 +0 0 0 6 0 35 +0 0 0 7 1 35 +0 0 0 8 0 36 +0 0 0 9 1 36 +0 0 0 10 0 37 +0 0 0 11 -1 -1 +0 0 0 12 1 37 +0 0 0 13 0 38 +0 0 0 14 1 38 +0 0 0 15 0 39 +0 0 0 16 1 39 +0 0 0 17 0 40 +0 0 0 18 1 40 +0 0 0 19 0 41 +0 0 0 20 1 41 +0 0 0 21 0 42 +0 0 0 22 -1 -1 +0 0 0 23 1 42 +0 0 0 24 0 43 +0 0 0 25 1 43 +0 0 0 26 0 44 +0 0 0 27 1 44 +0 0 0 28 0 45 +0 0 0 29 1 45 +0 0 0 30 0 46 +0 0 0 31 1 46 +0 0 0 32 0 47 +0 0 0 33 1 47 +0 0 0 34 0 48 +0 0 0 35 1 48 +0 0 0 36 0 49 +0 0 0 37 1 49 +0 0 0 38 0 50 +0 0 0 39 1 50 +0 0 0 40 0 51 +0 0 0 41 1 51 +0 0 0 42 0 52 +0 0 0 43 1 52 +0 0 0 44 0 53 +0 0 0 45 -1 -1 +0 0 0 46 1 53 +0 0 0 47 0 54 +0 0 0 48 1 54 +0 0 0 49 0 55 +0 0 0 50 1 55 +0 0 0 51 0 56 +0 0 0 52 1 56 +0 0 0 53 0 57 +0 0 0 54 1 57 +0 0 0 55 0 58 +0 0 0 56 -1 -1 +0 0 0 57 1 58 +0 0 0 58 0 59 +0 0 0 59 1 59 +0 0 0 60 0 60 +0 0 0 61 1 60 +0 0 0 62 0 61 +0 0 0 63 1 61 +0 0 0 64 0 62 +0 0 0 65 1 62 +0 0 0 66 0 63 +0 0 0 67 1 63 +0 0 1 0 0 0 +0 0 1 1 1 0 +0 0 1 2 0 1 +0 0 1 3 1 1 +0 0 1 4 0 2 +0 0 1 5 1 2 +0 0 1 6 0 3 +0 0 1 7 1 3 +0 0 1 8 0 4 +0 0 1 9 1 4 +0 0 1 10 0 5 +0 0 1 11 -1 -1 +0 0 1 12 1 5 +0 0 1 13 0 6 +0 0 1 14 1 6 +0 0 1 15 0 7 +0 0 1 16 1 7 +0 0 1 17 0 8 +0 0 1 18 1 8 +0 0 1 19 0 9 +0 0 1 20 1 9 +0 0 1 21 0 10 +0 0 1 22 -1 -1 +0 0 1 23 1 10 +0 0 1 24 0 11 +0 0 1 25 1 11 +0 0 1 26 0 12 +0 0 1 27 1 12 +0 0 1 28 0 13 +0 0 1 29 1 13 +0 0 1 30 0 14 +0 0 1 31 1 14 +0 0 1 32 0 15 +0 0 1 33 1 15 +0 0 1 34 0 16 +0 0 1 35 1 16 +0 0 1 36 0 17 +0 0 1 37 1 17 +0 0 1 38 0 18 +0 0 1 39 1 18 +0 0 1 40 0 19 +0 0 1 41 1 19 +0 0 1 42 0 20 +0 0 1 43 1 20 +0 0 1 44 0 21 +0 0 1 45 -1 -1 +0 0 1 46 1 21 +0 0 1 47 0 22 +0 0 1 48 1 22 +0 0 1 49 0 23 +0 0 1 50 1 23 +0 0 1 51 0 24 +0 0 1 52 1 24 +0 0 1 53 0 25 +0 0 1 54 1 25 +0 0 1 55 0 26 +0 0 1 56 -1 -1 +0 0 1 57 1 26 +0 0 1 58 0 27 +0 0 1 59 1 27 +0 0 1 60 0 28 +0 0 1 61 1 28 +0 0 1 62 0 29 +0 0 1 63 1 29 +0 0 1 64 0 30 +0 0 1 65 1 30 +0 0 1 66 0 31 +0 0 1 67 1 31 +0 0 2 0 2 32 +0 0 2 1 3 32 +0 0 2 2 2 33 +0 0 2 3 3 33 +0 0 2 4 2 34 +0 0 2 5 3 34 +0 0 2 6 2 35 +0 0 2 7 3 35 +0 0 2 8 2 36 +0 0 2 9 3 36 +0 0 2 10 2 37 +0 0 2 11 -1 -1 +0 0 2 12 3 37 +0 0 2 13 2 38 +0 0 2 14 3 38 +0 0 2 15 2 39 +0 0 2 16 3 39 +0 0 2 17 2 40 +0 0 2 18 3 40 +0 0 2 19 2 41 +0 0 2 20 3 41 +0 0 2 21 2 42 +0 0 2 22 -1 -1 +0 0 2 23 3 42 +0 0 2 24 2 43 +0 0 2 25 3 43 +0 0 2 26 2 44 +0 0 2 27 3 44 +0 0 2 28 2 45 +0 0 2 29 3 45 +0 0 2 30 2 46 +0 0 2 31 3 46 +0 0 2 32 2 47 +0 0 2 33 3 47 +0 0 2 34 2 48 +0 0 2 35 3 48 +0 0 2 36 2 49 +0 0 2 37 3 49 +0 0 2 38 2 50 +0 0 2 39 3 50 +0 0 2 40 2 51 +0 0 2 41 3 51 +0 0 2 42 2 52 +0 0 2 43 3 52 +0 0 2 44 2 53 +0 0 2 45 -1 -1 +0 0 2 46 3 53 +0 0 2 47 2 54 +0 0 2 48 3 54 +0 0 2 49 2 55 +0 0 2 50 3 55 +0 0 2 51 2 56 +0 0 2 52 3 56 +0 0 2 53 2 57 +0 0 2 54 3 57 +0 0 2 55 2 58 +0 0 2 56 -1 -1 +0 0 2 57 3 58 +0 0 2 58 2 59 +0 0 2 59 3 59 +0 0 2 60 2 60 +0 0 2 61 3 60 +0 0 2 62 2 61 +0 0 2 63 3 61 +0 0 2 64 2 62 +0 0 2 65 3 62 +0 0 2 66 2 63 +0 0 2 67 3 63 +0 0 3 0 2 0 +0 0 3 1 3 0 +0 0 3 2 2 1 +0 0 3 3 3 1 +0 0 3 4 2 2 +0 0 3 5 3 2 +0 0 3 6 2 3 +0 0 3 7 3 3 +0 0 3 8 2 4 +0 0 3 9 3 4 +0 0 3 10 2 5 +0 0 3 11 -1 -1 +0 0 3 12 3 5 +0 0 3 13 2 6 +0 0 3 14 3 6 +0 0 3 15 2 7 +0 0 3 16 3 7 +0 0 3 17 2 8 +0 0 3 18 3 8 +0 0 3 19 2 9 +0 0 3 20 3 9 +0 0 3 21 2 10 +0 0 3 22 -1 -1 +0 0 3 23 3 10 +0 0 3 24 2 11 +0 0 3 25 3 11 +0 0 3 26 2 12 +0 0 3 27 3 12 +0 0 3 28 2 13 +0 0 3 29 3 13 +0 0 3 30 2 14 +0 0 3 31 3 14 +0 0 3 32 2 15 +0 0 3 33 3 15 +0 0 3 34 2 16 +0 0 3 35 3 16 +0 0 3 36 2 17 +0 0 3 37 3 17 +0 0 3 38 2 18 +0 0 3 39 3 18 +0 0 3 40 2 19 +0 0 3 41 3 19 +0 0 3 42 2 20 +0 0 3 43 3 20 +0 0 3 44 2 21 +0 0 3 45 -1 -1 +0 0 3 46 3 21 +0 0 3 47 2 22 +0 0 3 48 3 22 +0 0 3 49 2 23 +0 0 3 50 3 23 +0 0 3 51 2 24 +0 0 3 52 3 24 +0 0 3 53 2 25 +0 0 3 54 3 25 +0 0 3 55 2 26 +0 0 3 56 -1 -1 +0 0 3 57 3 26 +0 0 3 58 2 27 +0 0 3 59 3 27 +0 0 3 60 2 28 +0 0 3 61 3 28 +0 0 3 62 2 29 +0 0 3 63 3 29 +0 0 3 64 2 30 +0 0 3 65 3 30 +0 0 3 66 2 31 +0 0 3 67 3 31 +0 1 0 0 3 95 +0 1 0 1 2 95 +0 1 0 2 3 94 +0 1 0 3 2 94 +0 1 0 4 3 93 +0 1 0 5 2 93 +0 1 0 6 3 92 +0 1 0 7 2 92 +0 1 0 8 3 91 +0 1 0 9 2 91 +0 1 0 10 3 90 +0 1 0 11 -1 -1 +0 1 0 12 2 90 +0 1 0 13 3 89 +0 1 0 14 2 89 +0 1 0 15 3 88 +0 1 0 16 2 88 +0 1 0 17 3 87 +0 1 0 18 2 87 +0 1 0 19 3 86 +0 1 0 20 2 86 +0 1 0 21 3 85 +0 1 0 22 -1 -1 +0 1 0 23 2 85 +0 1 0 24 3 84 +0 1 0 25 2 84 +0 1 0 26 3 83 +0 1 0 27 2 83 +0 1 0 28 3 82 +0 1 0 29 2 82 +0 1 0 30 3 81 +0 1 0 31 2 81 +0 1 0 32 3 80 +0 1 0 33 2 80 +0 1 0 34 3 79 +0 1 0 35 2 79 +0 1 0 36 3 78 +0 1 0 37 2 78 +0 1 0 38 3 77 +0 1 0 39 2 77 +0 1 0 40 3 76 +0 1 0 41 2 76 +0 1 0 42 3 75 +0 1 0 43 2 75 +0 1 0 44 3 74 +0 1 0 45 -1 -1 +0 1 0 46 2 74 +0 1 0 47 3 73 +0 1 0 48 2 73 +0 1 0 49 3 72 +0 1 0 50 2 72 +0 1 0 51 3 71 +0 1 0 52 2 71 +0 1 0 53 3 70 +0 1 0 54 2 70 +0 1 0 55 3 69 +0 1 0 56 -1 -1 +0 1 0 57 2 69 +0 1 0 58 3 68 +0 1 0 59 2 68 +0 1 0 60 3 67 +0 1 0 61 2 67 +0 1 0 62 3 66 +0 1 0 63 2 66 +0 1 0 64 3 65 +0 1 0 65 2 65 +0 1 0 66 3 64 +0 1 0 67 2 64 +0 1 1 0 3 127 +0 1 1 1 2 127 +0 1 1 2 3 126 +0 1 1 3 2 126 +0 1 1 4 3 125 +0 1 1 5 2 125 +0 1 1 6 3 124 +0 1 1 7 2 124 +0 1 1 8 3 123 +0 1 1 9 2 123 +0 1 1 10 3 122 +0 1 1 11 -1 -1 +0 1 1 12 2 122 +0 1 1 13 3 121 +0 1 1 14 2 121 +0 1 1 15 3 120 +0 1 1 16 2 120 +0 1 1 17 3 119 +0 1 1 18 2 119 +0 1 1 19 3 118 +0 1 1 20 2 118 +0 1 1 21 3 117 +0 1 1 22 -1 -1 +0 1 1 23 2 117 +0 1 1 24 3 116 +0 1 1 25 2 116 +0 1 1 26 3 115 +0 1 1 27 2 115 +0 1 1 28 3 114 +0 1 1 29 2 114 +0 1 1 30 3 113 +0 1 1 31 2 113 +0 1 1 32 3 112 +0 1 1 33 2 112 +0 1 1 34 3 111 +0 1 1 35 2 111 +0 1 1 36 3 110 +0 1 1 37 2 110 +0 1 1 38 3 109 +0 1 1 39 2 109 +0 1 1 40 3 108 +0 1 1 41 2 108 +0 1 1 42 3 107 +0 1 1 43 2 107 +0 1 1 44 3 106 +0 1 1 45 -1 -1 +0 1 1 46 2 106 +0 1 1 47 3 105 +0 1 1 48 2 105 +0 1 1 49 3 104 +0 1 1 50 2 104 +0 1 1 51 3 103 +0 1 1 52 2 103 +0 1 1 53 3 102 +0 1 1 54 2 102 +0 1 1 55 3 101 +0 1 1 56 -1 -1 +0 1 1 57 2 101 +0 1 1 58 3 100 +0 1 1 59 2 100 +0 1 1 60 3 99 +0 1 1 61 2 99 +0 1 1 62 3 98 +0 1 1 63 2 98 +0 1 1 64 3 97 +0 1 1 65 2 97 +0 1 1 66 3 96 +0 1 1 67 2 96 +0 1 2 0 1 95 +0 1 2 1 0 95 +0 1 2 2 1 94 +0 1 2 3 0 94 +0 1 2 4 1 93 +0 1 2 5 0 93 +0 1 2 6 1 92 +0 1 2 7 0 92 +0 1 2 8 1 91 +0 1 2 9 0 91 +0 1 2 10 1 90 +0 1 2 11 -1 -1 +0 1 2 12 0 90 +0 1 2 13 1 89 +0 1 2 14 0 89 +0 1 2 15 1 88 +0 1 2 16 0 88 +0 1 2 17 1 87 +0 1 2 18 0 87 +0 1 2 19 1 86 +0 1 2 20 0 86 +0 1 2 21 1 85 +0 1 2 22 -1 -1 +0 1 2 23 0 85 +0 1 2 24 1 84 +0 1 2 25 0 84 +0 1 2 26 1 83 +0 1 2 27 0 83 +0 1 2 28 1 82 +0 1 2 29 0 82 +0 1 2 30 1 81 +0 1 2 31 0 81 +0 1 2 32 1 80 +0 1 2 33 0 80 +0 1 2 34 1 79 +0 1 2 35 0 79 +0 1 2 36 1 78 +0 1 2 37 0 78 +0 1 2 38 1 77 +0 1 2 39 0 77 +0 1 2 40 1 76 +0 1 2 41 0 76 +0 1 2 42 1 75 +0 1 2 43 0 75 +0 1 2 44 1 74 +0 1 2 45 -1 -1 +0 1 2 46 0 74 +0 1 2 47 1 73 +0 1 2 48 0 73 +0 1 2 49 1 72 +0 1 2 50 0 72 +0 1 2 51 1 71 +0 1 2 52 0 71 +0 1 2 53 1 70 +0 1 2 54 0 70 +0 1 2 55 1 69 +0 1 2 56 -1 -1 +0 1 2 57 0 69 +0 1 2 58 1 68 +0 1 2 59 0 68 +0 1 2 60 1 67 +0 1 2 61 0 67 +0 1 2 62 1 66 +0 1 2 63 0 66 +0 1 2 64 1 65 +0 1 2 65 0 65 +0 1 2 66 1 64 +0 1 2 67 0 64 +0 1 3 0 1 127 +0 1 3 1 0 127 +0 1 3 2 1 126 +0 1 3 3 0 126 +0 1 3 4 1 125 +0 1 3 5 0 125 +0 1 3 6 1 124 +0 1 3 7 0 124 +0 1 3 8 1 123 +0 1 3 9 0 123 +0 1 3 10 1 122 +0 1 3 11 -1 -1 +0 1 3 12 0 122 +0 1 3 13 1 121 +0 1 3 14 0 121 +0 1 3 15 1 120 +0 1 3 16 0 120 +0 1 3 17 1 119 +0 1 3 18 0 119 +0 1 3 19 1 118 +0 1 3 20 0 118 +0 1 3 21 1 117 +0 1 3 22 -1 -1 +0 1 3 23 0 117 +0 1 3 24 1 116 +0 1 3 25 0 116 +0 1 3 26 1 115 +0 1 3 27 0 115 +0 1 3 28 1 114 +0 1 3 29 0 114 +0 1 3 30 1 113 +0 1 3 31 0 113 +0 1 3 32 1 112 +0 1 3 33 0 112 +0 1 3 34 1 111 +0 1 3 35 0 111 +0 1 3 36 1 110 +0 1 3 37 0 110 +0 1 3 38 1 109 +0 1 3 39 0 109 +0 1 3 40 1 108 +0 1 3 41 0 108 +0 1 3 42 1 107 +0 1 3 43 0 107 +0 1 3 44 1 106 +0 1 3 45 -1 -1 +0 1 3 46 0 106 +0 1 3 47 1 105 +0 1 3 48 0 105 +0 1 3 49 1 104 +0 1 3 50 0 104 +0 1 3 51 1 103 +0 1 3 52 0 103 +0 1 3 53 1 102 +0 1 3 54 0 102 +0 1 3 55 1 101 +0 1 3 56 -1 -1 +0 1 3 57 0 101 +0 1 3 58 1 100 +0 1 3 59 0 100 +0 1 3 60 1 99 +0 1 3 61 0 99 +0 1 3 62 1 98 +0 1 3 63 0 98 +0 1 3 64 1 97 +0 1 3 65 0 97 +0 1 3 66 1 96 +0 1 3 67 0 96 +0 2 0 0 4 32 +0 2 0 1 5 32 +0 2 0 2 4 33 +0 2 0 3 5 33 +0 2 0 4 4 34 +0 2 0 5 5 34 +0 2 0 6 4 35 +0 2 0 7 5 35 +0 2 0 8 4 36 +0 2 0 9 5 36 +0 2 0 10 4 37 +0 2 0 11 -1 -1 +0 2 0 12 5 37 +0 2 0 13 4 38 +0 2 0 14 5 38 +0 2 0 15 4 39 +0 2 0 16 5 39 +0 2 0 17 4 40 +0 2 0 18 5 40 +0 2 0 19 4 41 +0 2 0 20 5 41 +0 2 0 21 4 42 +0 2 0 22 -1 -1 +0 2 0 23 5 42 +0 2 0 24 4 43 +0 2 0 25 5 43 +0 2 0 26 4 44 +0 2 0 27 5 44 +0 2 0 28 4 45 +0 2 0 29 5 45 +0 2 0 30 4 46 +0 2 0 31 5 46 +0 2 0 32 4 47 +0 2 0 33 5 47 +0 2 0 34 4 48 +0 2 0 35 5 48 +0 2 0 36 4 49 +0 2 0 37 5 49 +0 2 0 38 4 50 +0 2 0 39 5 50 +0 2 0 40 4 51 +0 2 0 41 5 51 +0 2 0 42 4 52 +0 2 0 43 5 52 +0 2 0 44 4 53 +0 2 0 45 -1 -1 +0 2 0 46 5 53 +0 2 0 47 4 54 +0 2 0 48 5 54 +0 2 0 49 4 55 +0 2 0 50 5 55 +0 2 0 51 4 56 +0 2 0 52 5 56 +0 2 0 53 4 57 +0 2 0 54 5 57 +0 2 0 55 4 58 +0 2 0 56 -1 -1 +0 2 0 57 5 58 +0 2 0 58 4 59 +0 2 0 59 5 59 +0 2 0 60 4 60 +0 2 0 61 5 60 +0 2 0 62 4 61 +0 2 0 63 5 61 +0 2 0 64 4 62 +0 2 0 65 5 62 +0 2 0 66 4 63 +0 2 0 67 5 63 +0 2 1 0 4 0 +0 2 1 1 5 0 +0 2 1 2 4 1 +0 2 1 3 5 1 +0 2 1 4 4 2 +0 2 1 5 5 2 +0 2 1 6 4 3 +0 2 1 7 5 3 +0 2 1 8 4 4 +0 2 1 9 5 4 +0 2 1 10 4 5 +0 2 1 11 -1 -1 +0 2 1 12 5 5 +0 2 1 13 4 6 +0 2 1 14 5 6 +0 2 1 15 4 7 +0 2 1 16 5 7 +0 2 1 17 4 8 +0 2 1 18 5 8 +0 2 1 19 4 9 +0 2 1 20 5 9 +0 2 1 21 4 10 +0 2 1 22 -1 -1 +0 2 1 23 5 10 +0 2 1 24 4 11 +0 2 1 25 5 11 +0 2 1 26 4 12 +0 2 1 27 5 12 +0 2 1 28 4 13 +0 2 1 29 5 13 +0 2 1 30 4 14 +0 2 1 31 5 14 +0 2 1 32 4 15 +0 2 1 33 5 15 +0 2 1 34 4 16 +0 2 1 35 5 16 +0 2 1 36 4 17 +0 2 1 37 5 17 +0 2 1 38 4 18 +0 2 1 39 5 18 +0 2 1 40 4 19 +0 2 1 41 5 19 +0 2 1 42 4 20 +0 2 1 43 5 20 +0 2 1 44 4 21 +0 2 1 45 -1 -1 +0 2 1 46 5 21 +0 2 1 47 4 22 +0 2 1 48 5 22 +0 2 1 49 4 23 +0 2 1 50 5 23 +0 2 1 51 4 24 +0 2 1 52 5 24 +0 2 1 53 4 25 +0 2 1 54 5 25 +0 2 1 55 4 26 +0 2 1 56 -1 -1 +0 2 1 57 5 26 +0 2 1 58 4 27 +0 2 1 59 5 27 +0 2 1 60 4 28 +0 2 1 61 5 28 +0 2 1 62 4 29 +0 2 1 63 5 29 +0 2 1 64 4 30 +0 2 1 65 5 30 +0 2 1 66 4 31 +0 2 1 67 5 31 +0 2 2 0 6 32 +0 2 2 1 7 32 +0 2 2 2 6 33 +0 2 2 3 7 33 +0 2 2 4 6 34 +0 2 2 5 7 34 +0 2 2 6 6 35 +0 2 2 7 7 35 +0 2 2 8 6 36 +0 2 2 9 7 36 +0 2 2 10 6 37 +0 2 2 11 -1 -1 +0 2 2 12 7 37 +0 2 2 13 6 38 +0 2 2 14 7 38 +0 2 2 15 6 39 +0 2 2 16 7 39 +0 2 2 17 6 40 +0 2 2 18 7 40 +0 2 2 19 6 41 +0 2 2 20 7 41 +0 2 2 21 6 42 +0 2 2 22 -1 -1 +0 2 2 23 7 42 +0 2 2 24 6 43 +0 2 2 25 7 43 +0 2 2 26 6 44 +0 2 2 27 7 44 +0 2 2 28 6 45 +0 2 2 29 7 45 +0 2 2 30 6 46 +0 2 2 31 7 46 +0 2 2 32 6 47 +0 2 2 33 7 47 +0 2 2 34 6 48 +0 2 2 35 7 48 +0 2 2 36 6 49 +0 2 2 37 7 49 +0 2 2 38 6 50 +0 2 2 39 7 50 +0 2 2 40 6 51 +0 2 2 41 7 51 +0 2 2 42 6 52 +0 2 2 43 7 52 +0 2 2 44 6 53 +0 2 2 45 -1 -1 +0 2 2 46 7 53 +0 2 2 47 6 54 +0 2 2 48 7 54 +0 2 2 49 6 55 +0 2 2 50 7 55 +0 2 2 51 6 56 +0 2 2 52 7 56 +0 2 2 53 6 57 +0 2 2 54 7 57 +0 2 2 55 6 58 +0 2 2 56 -1 -1 +0 2 2 57 7 58 +0 2 2 58 6 59 +0 2 2 59 7 59 +0 2 2 60 6 60 +0 2 2 61 7 60 +0 2 2 62 6 61 +0 2 2 63 7 61 +0 2 2 64 6 62 +0 2 2 65 7 62 +0 2 2 66 6 63 +0 2 2 67 7 63 +0 2 3 0 6 0 +0 2 3 1 7 0 +0 2 3 2 6 1 +0 2 3 3 7 1 +0 2 3 4 6 2 +0 2 3 5 7 2 +0 2 3 6 6 3 +0 2 3 7 7 3 +0 2 3 8 6 4 +0 2 3 9 7 4 +0 2 3 10 6 5 +0 2 3 11 -1 -1 +0 2 3 12 7 5 +0 2 3 13 6 6 +0 2 3 14 7 6 +0 2 3 15 6 7 +0 2 3 16 7 7 +0 2 3 17 6 8 +0 2 3 18 7 8 +0 2 3 19 6 9 +0 2 3 20 7 9 +0 2 3 21 6 10 +0 2 3 22 -1 -1 +0 2 3 23 7 10 +0 2 3 24 6 11 +0 2 3 25 7 11 +0 2 3 26 6 12 +0 2 3 27 7 12 +0 2 3 28 6 13 +0 2 3 29 7 13 +0 2 3 30 6 14 +0 2 3 31 7 14 +0 2 3 32 6 15 +0 2 3 33 7 15 +0 2 3 34 6 16 +0 2 3 35 7 16 +0 2 3 36 6 17 +0 2 3 37 7 17 +0 2 3 38 6 18 +0 2 3 39 7 18 +0 2 3 40 6 19 +0 2 3 41 7 19 +0 2 3 42 6 20 +0 2 3 43 7 20 +0 2 3 44 6 21 +0 2 3 45 -1 -1 +0 2 3 46 7 21 +0 2 3 47 6 22 +0 2 3 48 7 22 +0 2 3 49 6 23 +0 2 3 50 7 23 +0 2 3 51 6 24 +0 2 3 52 7 24 +0 2 3 53 6 25 +0 2 3 54 7 25 +0 2 3 55 6 26 +0 2 3 56 -1 -1 +0 2 3 57 7 26 +0 2 3 58 6 27 +0 2 3 59 7 27 +0 2 3 60 6 28 +0 2 3 61 7 28 +0 2 3 62 6 29 +0 2 3 63 7 29 +0 2 3 64 6 30 +0 2 3 65 7 30 +0 2 3 66 6 31 +0 2 3 67 7 31 +0 3 0 0 7 95 +0 3 0 1 6 95 +0 3 0 2 7 94 +0 3 0 3 6 94 +0 3 0 4 7 93 +0 3 0 5 6 93 +0 3 0 6 7 92 +0 3 0 7 6 92 +0 3 0 8 7 91 +0 3 0 9 6 91 +0 3 0 10 7 90 +0 3 0 11 -1 -1 +0 3 0 12 6 90 +0 3 0 13 7 89 +0 3 0 14 6 89 +0 3 0 15 7 88 +0 3 0 16 6 88 +0 3 0 17 7 87 +0 3 0 18 6 87 +0 3 0 19 7 86 +0 3 0 20 6 86 +0 3 0 21 7 85 +0 3 0 22 -1 -1 +0 3 0 23 6 85 +0 3 0 24 7 84 +0 3 0 25 6 84 +0 3 0 26 7 83 +0 3 0 27 6 83 +0 3 0 28 7 82 +0 3 0 29 6 82 +0 3 0 30 7 81 +0 3 0 31 6 81 +0 3 0 32 7 80 +0 3 0 33 6 80 +0 3 0 34 7 79 +0 3 0 35 6 79 +0 3 0 36 7 78 +0 3 0 37 6 78 +0 3 0 38 7 77 +0 3 0 39 6 77 +0 3 0 40 7 76 +0 3 0 41 6 76 +0 3 0 42 7 75 +0 3 0 43 6 75 +0 3 0 44 7 74 +0 3 0 45 -1 -1 +0 3 0 46 6 74 +0 3 0 47 7 73 +0 3 0 48 6 73 +0 3 0 49 7 72 +0 3 0 50 6 72 +0 3 0 51 7 71 +0 3 0 52 6 71 +0 3 0 53 7 70 +0 3 0 54 6 70 +0 3 0 55 7 69 +0 3 0 56 -1 -1 +0 3 0 57 6 69 +0 3 0 58 7 68 +0 3 0 59 6 68 +0 3 0 60 7 67 +0 3 0 61 6 67 +0 3 0 62 7 66 +0 3 0 63 6 66 +0 3 0 64 7 65 +0 3 0 65 6 65 +0 3 0 66 7 64 +0 3 0 67 6 64 +0 3 1 0 7 127 +0 3 1 1 6 127 +0 3 1 2 7 126 +0 3 1 3 6 126 +0 3 1 4 7 125 +0 3 1 5 6 125 +0 3 1 6 7 124 +0 3 1 7 6 124 +0 3 1 8 7 123 +0 3 1 9 6 123 +0 3 1 10 7 122 +0 3 1 11 -1 -1 +0 3 1 12 6 122 +0 3 1 13 7 121 +0 3 1 14 6 121 +0 3 1 15 7 120 +0 3 1 16 6 120 +0 3 1 17 7 119 +0 3 1 18 6 119 +0 3 1 19 7 118 +0 3 1 20 6 118 +0 3 1 21 7 117 +0 3 1 22 -1 -1 +0 3 1 23 6 117 +0 3 1 24 7 116 +0 3 1 25 6 116 +0 3 1 26 7 115 +0 3 1 27 6 115 +0 3 1 28 7 114 +0 3 1 29 6 114 +0 3 1 30 7 113 +0 3 1 31 6 113 +0 3 1 32 7 112 +0 3 1 33 6 112 +0 3 1 34 7 111 +0 3 1 35 6 111 +0 3 1 36 7 110 +0 3 1 37 6 110 +0 3 1 38 7 109 +0 3 1 39 6 109 +0 3 1 40 7 108 +0 3 1 41 6 108 +0 3 1 42 7 107 +0 3 1 43 6 107 +0 3 1 44 7 106 +0 3 1 45 -1 -1 +0 3 1 46 6 106 +0 3 1 47 7 105 +0 3 1 48 6 105 +0 3 1 49 7 104 +0 3 1 50 6 104 +0 3 1 51 7 103 +0 3 1 52 6 103 +0 3 1 53 7 102 +0 3 1 54 6 102 +0 3 1 55 7 101 +0 3 1 56 -1 -1 +0 3 1 57 6 101 +0 3 1 58 7 100 +0 3 1 59 6 100 +0 3 1 60 7 99 +0 3 1 61 6 99 +0 3 1 62 7 98 +0 3 1 63 6 98 +0 3 1 64 7 97 +0 3 1 65 6 97 +0 3 1 66 7 96 +0 3 1 67 6 96 +0 3 2 0 5 95 +0 3 2 1 4 95 +0 3 2 2 5 94 +0 3 2 3 4 94 +0 3 2 4 5 93 +0 3 2 5 4 93 +0 3 2 6 5 92 +0 3 2 7 4 92 +0 3 2 8 5 91 +0 3 2 9 4 91 +0 3 2 10 5 90 +0 3 2 11 -1 -1 +0 3 2 12 4 90 +0 3 2 13 5 89 +0 3 2 14 4 89 +0 3 2 15 5 88 +0 3 2 16 4 88 +0 3 2 17 5 87 +0 3 2 18 4 87 +0 3 2 19 5 86 +0 3 2 20 4 86 +0 3 2 21 5 85 +0 3 2 22 -1 -1 +0 3 2 23 4 85 +0 3 2 24 5 84 +0 3 2 25 4 84 +0 3 2 26 5 83 +0 3 2 27 4 83 +0 3 2 28 5 82 +0 3 2 29 4 82 +0 3 2 30 5 81 +0 3 2 31 4 81 +0 3 2 32 5 80 +0 3 2 33 4 80 +0 3 2 34 5 79 +0 3 2 35 4 79 +0 3 2 36 5 78 +0 3 2 37 4 78 +0 3 2 38 5 77 +0 3 2 39 4 77 +0 3 2 40 5 76 +0 3 2 41 4 76 +0 3 2 42 5 75 +0 3 2 43 4 75 +0 3 2 44 5 74 +0 3 2 45 -1 -1 +0 3 2 46 4 74 +0 3 2 47 5 73 +0 3 2 48 4 73 +0 3 2 49 5 72 +0 3 2 50 4 72 +0 3 2 51 5 71 +0 3 2 52 4 71 +0 3 2 53 5 70 +0 3 2 54 4 70 +0 3 2 55 5 69 +0 3 2 56 -1 -1 +0 3 2 57 4 69 +0 3 2 58 5 68 +0 3 2 59 4 68 +0 3 2 60 5 67 +0 3 2 61 4 67 +0 3 2 62 5 66 +0 3 2 63 4 66 +0 3 2 64 5 65 +0 3 2 65 4 65 +0 3 2 66 5 64 +0 3 2 67 4 64 +0 3 3 0 5 127 +0 3 3 1 4 127 +0 3 3 2 5 126 +0 3 3 3 4 126 +0 3 3 4 5 125 +0 3 3 5 4 125 +0 3 3 6 5 124 +0 3 3 7 4 124 +0 3 3 8 5 123 +0 3 3 9 4 123 +0 3 3 10 5 122 +0 3 3 11 -1 -1 +0 3 3 12 4 122 +0 3 3 13 5 121 +0 3 3 14 4 121 +0 3 3 15 5 120 +0 3 3 16 4 120 +0 3 3 17 5 119 +0 3 3 18 4 119 +0 3 3 19 5 118 +0 3 3 20 4 118 +0 3 3 21 5 117 +0 3 3 22 -1 -1 +0 3 3 23 4 117 +0 3 3 24 5 116 +0 3 3 25 4 116 +0 3 3 26 5 115 +0 3 3 27 4 115 +0 3 3 28 5 114 +0 3 3 29 4 114 +0 3 3 30 5 113 +0 3 3 31 4 113 +0 3 3 32 5 112 +0 3 3 33 4 112 +0 3 3 34 5 111 +0 3 3 35 4 111 +0 3 3 36 5 110 +0 3 3 37 4 110 +0 3 3 38 5 109 +0 3 3 39 4 109 +0 3 3 40 5 108 +0 3 3 41 4 108 +0 3 3 42 5 107 +0 3 3 43 4 107 +0 3 3 44 5 106 +0 3 3 45 -1 -1 +0 3 3 46 4 106 +0 3 3 47 5 105 +0 3 3 48 4 105 +0 3 3 49 5 104 +0 3 3 50 4 104 +0 3 3 51 5 103 +0 3 3 52 4 103 +0 3 3 53 5 102 +0 3 3 54 4 102 +0 3 3 55 5 101 +0 3 3 56 -1 -1 +0 3 3 57 4 101 +0 3 3 58 5 100 +0 3 3 59 4 100 +0 3 3 60 5 99 +0 3 3 61 4 99 +0 3 3 62 5 98 +0 3 3 63 4 98 +0 3 3 64 5 97 +0 3 3 65 4 97 +0 3 3 66 5 96 +0 3 3 67 4 96 +1 0 0 0 8 32 +1 0 0 1 9 32 +1 0 0 2 8 33 +1 0 0 3 9 33 +1 0 0 4 8 34 +1 0 0 5 9 34 +1 0 0 6 8 35 +1 0 0 7 9 35 +1 0 0 8 8 36 +1 0 0 9 9 36 +1 0 0 10 8 37 +1 0 0 11 -1 -1 +1 0 0 12 9 37 +1 0 0 13 8 38 +1 0 0 14 9 38 +1 0 0 15 8 39 +1 0 0 16 9 39 +1 0 0 17 8 40 +1 0 0 18 9 40 +1 0 0 19 8 41 +1 0 0 20 9 41 +1 0 0 21 8 42 +1 0 0 22 -1 -1 +1 0 0 23 9 42 +1 0 0 24 8 43 +1 0 0 25 9 43 +1 0 0 26 8 44 +1 0 0 27 9 44 +1 0 0 28 8 45 +1 0 0 29 9 45 +1 0 0 30 8 46 +1 0 0 31 9 46 +1 0 0 32 8 47 +1 0 0 33 9 47 +1 0 0 34 8 48 +1 0 0 35 9 48 +1 0 0 36 8 49 +1 0 0 37 9 49 +1 0 0 38 8 50 +1 0 0 39 9 50 +1 0 0 40 8 51 +1 0 0 41 9 51 +1 0 0 42 8 52 +1 0 0 43 9 52 +1 0 0 44 8 53 +1 0 0 45 -1 -1 +1 0 0 46 9 53 +1 0 0 47 8 54 +1 0 0 48 9 54 +1 0 0 49 8 55 +1 0 0 50 9 55 +1 0 0 51 8 56 +1 0 0 52 9 56 +1 0 0 53 8 57 +1 0 0 54 9 57 +1 0 0 55 8 58 +1 0 0 56 -1 -1 +1 0 0 57 9 58 +1 0 0 58 8 59 +1 0 0 59 9 59 +1 0 0 60 8 60 +1 0 0 61 9 60 +1 0 0 62 8 61 +1 0 0 63 9 61 +1 0 0 64 8 62 +1 0 0 65 9 62 +1 0 0 66 8 63 +1 0 0 67 9 63 +1 0 1 0 8 0 +1 0 1 1 9 0 +1 0 1 2 8 1 +1 0 1 3 9 1 +1 0 1 4 8 2 +1 0 1 5 9 2 +1 0 1 6 8 3 +1 0 1 7 9 3 +1 0 1 8 8 4 +1 0 1 9 9 4 +1 0 1 10 8 5 +1 0 1 11 -1 -1 +1 0 1 12 9 5 +1 0 1 13 8 6 +1 0 1 14 9 6 +1 0 1 15 8 7 +1 0 1 16 9 7 +1 0 1 17 8 8 +1 0 1 18 9 8 +1 0 1 19 8 9 +1 0 1 20 9 9 +1 0 1 21 8 10 +1 0 1 22 -1 -1 +1 0 1 23 9 10 +1 0 1 24 8 11 +1 0 1 25 9 11 +1 0 1 26 8 12 +1 0 1 27 9 12 +1 0 1 28 8 13 +1 0 1 29 9 13 +1 0 1 30 8 14 +1 0 1 31 9 14 +1 0 1 32 8 15 +1 0 1 33 9 15 +1 0 1 34 8 16 +1 0 1 35 9 16 +1 0 1 36 8 17 +1 0 1 37 9 17 +1 0 1 38 8 18 +1 0 1 39 9 18 +1 0 1 40 8 19 +1 0 1 41 9 19 +1 0 1 42 8 20 +1 0 1 43 9 20 +1 0 1 44 8 21 +1 0 1 45 -1 -1 +1 0 1 46 9 21 +1 0 1 47 8 22 +1 0 1 48 9 22 +1 0 1 49 8 23 +1 0 1 50 9 23 +1 0 1 51 8 24 +1 0 1 52 9 24 +1 0 1 53 8 25 +1 0 1 54 9 25 +1 0 1 55 8 26 +1 0 1 56 -1 -1 +1 0 1 57 9 26 +1 0 1 58 8 27 +1 0 1 59 9 27 +1 0 1 60 8 28 +1 0 1 61 9 28 +1 0 1 62 8 29 +1 0 1 63 9 29 +1 0 1 64 8 30 +1 0 1 65 9 30 +1 0 1 66 8 31 +1 0 1 67 9 31 +1 0 2 0 10 32 +1 0 2 1 11 32 +1 0 2 2 10 33 +1 0 2 3 11 33 +1 0 2 4 10 34 +1 0 2 5 11 34 +1 0 2 6 10 35 +1 0 2 7 11 35 +1 0 2 8 10 36 +1 0 2 9 11 36 +1 0 2 10 10 37 +1 0 2 11 -1 -1 +1 0 2 12 11 37 +1 0 2 13 10 38 +1 0 2 14 11 38 +1 0 2 15 10 39 +1 0 2 16 11 39 +1 0 2 17 10 40 +1 0 2 18 11 40 +1 0 2 19 10 41 +1 0 2 20 11 41 +1 0 2 21 10 42 +1 0 2 22 -1 -1 +1 0 2 23 11 42 +1 0 2 24 10 43 +1 0 2 25 11 43 +1 0 2 26 10 44 +1 0 2 27 11 44 +1 0 2 28 10 45 +1 0 2 29 11 45 +1 0 2 30 10 46 +1 0 2 31 11 46 +1 0 2 32 10 47 +1 0 2 33 11 47 +1 0 2 34 10 48 +1 0 2 35 11 48 +1 0 2 36 10 49 +1 0 2 37 11 49 +1 0 2 38 10 50 +1 0 2 39 11 50 +1 0 2 40 10 51 +1 0 2 41 11 51 +1 0 2 42 10 52 +1 0 2 43 11 52 +1 0 2 44 10 53 +1 0 2 45 -1 -1 +1 0 2 46 11 53 +1 0 2 47 10 54 +1 0 2 48 11 54 +1 0 2 49 10 55 +1 0 2 50 11 55 +1 0 2 51 10 56 +1 0 2 52 11 56 +1 0 2 53 10 57 +1 0 2 54 11 57 +1 0 2 55 10 58 +1 0 2 56 -1 -1 +1 0 2 57 11 58 +1 0 2 58 10 59 +1 0 2 59 11 59 +1 0 2 60 10 60 +1 0 2 61 11 60 +1 0 2 62 10 61 +1 0 2 63 11 61 +1 0 2 64 10 62 +1 0 2 65 11 62 +1 0 2 66 10 63 +1 0 2 67 11 63 +1 0 3 0 10 0 +1 0 3 1 11 0 +1 0 3 2 10 1 +1 0 3 3 11 1 +1 0 3 4 10 2 +1 0 3 5 11 2 +1 0 3 6 10 3 +1 0 3 7 11 3 +1 0 3 8 10 4 +1 0 3 9 11 4 +1 0 3 10 10 5 +1 0 3 11 -1 -1 +1 0 3 12 11 5 +1 0 3 13 10 6 +1 0 3 14 11 6 +1 0 3 15 10 7 +1 0 3 16 11 7 +1 0 3 17 10 8 +1 0 3 18 11 8 +1 0 3 19 10 9 +1 0 3 20 11 9 +1 0 3 21 10 10 +1 0 3 22 -1 -1 +1 0 3 23 11 10 +1 0 3 24 10 11 +1 0 3 25 11 11 +1 0 3 26 10 12 +1 0 3 27 11 12 +1 0 3 28 10 13 +1 0 3 29 11 13 +1 0 3 30 10 14 +1 0 3 31 11 14 +1 0 3 32 10 15 +1 0 3 33 11 15 +1 0 3 34 10 16 +1 0 3 35 11 16 +1 0 3 36 10 17 +1 0 3 37 11 17 +1 0 3 38 10 18 +1 0 3 39 11 18 +1 0 3 40 10 19 +1 0 3 41 11 19 +1 0 3 42 10 20 +1 0 3 43 11 20 +1 0 3 44 10 21 +1 0 3 45 -1 -1 +1 0 3 46 11 21 +1 0 3 47 10 22 +1 0 3 48 11 22 +1 0 3 49 10 23 +1 0 3 50 11 23 +1 0 3 51 10 24 +1 0 3 52 11 24 +1 0 3 53 10 25 +1 0 3 54 11 25 +1 0 3 55 10 26 +1 0 3 56 -1 -1 +1 0 3 57 11 26 +1 0 3 58 10 27 +1 0 3 59 11 27 +1 0 3 60 10 28 +1 0 3 61 11 28 +1 0 3 62 10 29 +1 0 3 63 11 29 +1 0 3 64 10 30 +1 0 3 65 11 30 +1 0 3 66 10 31 +1 0 3 67 11 31 +1 1 0 0 11 95 +1 1 0 1 10 95 +1 1 0 2 11 94 +1 1 0 3 10 94 +1 1 0 4 11 93 +1 1 0 5 10 93 +1 1 0 6 11 92 +1 1 0 7 10 92 +1 1 0 8 11 91 +1 1 0 9 10 91 +1 1 0 10 11 90 +1 1 0 11 -1 -1 +1 1 0 12 10 90 +1 1 0 13 11 89 +1 1 0 14 10 89 +1 1 0 15 11 88 +1 1 0 16 10 88 +1 1 0 17 11 87 +1 1 0 18 10 87 +1 1 0 19 11 86 +1 1 0 20 10 86 +1 1 0 21 11 85 +1 1 0 22 -1 -1 +1 1 0 23 10 85 +1 1 0 24 11 84 +1 1 0 25 10 84 +1 1 0 26 11 83 +1 1 0 27 10 83 +1 1 0 28 11 82 +1 1 0 29 10 82 +1 1 0 30 11 81 +1 1 0 31 10 81 +1 1 0 32 11 80 +1 1 0 33 10 80 +1 1 0 34 11 79 +1 1 0 35 10 79 +1 1 0 36 11 78 +1 1 0 37 10 78 +1 1 0 38 11 77 +1 1 0 39 10 77 +1 1 0 40 11 76 +1 1 0 41 10 76 +1 1 0 42 11 75 +1 1 0 43 10 75 +1 1 0 44 11 74 +1 1 0 45 -1 -1 +1 1 0 46 10 74 +1 1 0 47 11 73 +1 1 0 48 10 73 +1 1 0 49 11 72 +1 1 0 50 10 72 +1 1 0 51 11 71 +1 1 0 52 10 71 +1 1 0 53 11 70 +1 1 0 54 10 70 +1 1 0 55 11 69 +1 1 0 56 -1 -1 +1 1 0 57 10 69 +1 1 0 58 11 68 +1 1 0 59 10 68 +1 1 0 60 11 67 +1 1 0 61 10 67 +1 1 0 62 11 66 +1 1 0 63 10 66 +1 1 0 64 11 65 +1 1 0 65 10 65 +1 1 0 66 11 64 +1 1 0 67 10 64 +1 1 1 0 11 127 +1 1 1 1 10 127 +1 1 1 2 11 126 +1 1 1 3 10 126 +1 1 1 4 11 125 +1 1 1 5 10 125 +1 1 1 6 11 124 +1 1 1 7 10 124 +1 1 1 8 11 123 +1 1 1 9 10 123 +1 1 1 10 11 122 +1 1 1 11 -1 -1 +1 1 1 12 10 122 +1 1 1 13 11 121 +1 1 1 14 10 121 +1 1 1 15 11 120 +1 1 1 16 10 120 +1 1 1 17 11 119 +1 1 1 18 10 119 +1 1 1 19 11 118 +1 1 1 20 10 118 +1 1 1 21 11 117 +1 1 1 22 -1 -1 +1 1 1 23 10 117 +1 1 1 24 11 116 +1 1 1 25 10 116 +1 1 1 26 11 115 +1 1 1 27 10 115 +1 1 1 28 11 114 +1 1 1 29 10 114 +1 1 1 30 11 113 +1 1 1 31 10 113 +1 1 1 32 11 112 +1 1 1 33 10 112 +1 1 1 34 11 111 +1 1 1 35 10 111 +1 1 1 36 11 110 +1 1 1 37 10 110 +1 1 1 38 11 109 +1 1 1 39 10 109 +1 1 1 40 11 108 +1 1 1 41 10 108 +1 1 1 42 11 107 +1 1 1 43 10 107 +1 1 1 44 11 106 +1 1 1 45 -1 -1 +1 1 1 46 10 106 +1 1 1 47 11 105 +1 1 1 48 10 105 +1 1 1 49 11 104 +1 1 1 50 10 104 +1 1 1 51 11 103 +1 1 1 52 10 103 +1 1 1 53 11 102 +1 1 1 54 10 102 +1 1 1 55 11 101 +1 1 1 56 -1 -1 +1 1 1 57 10 101 +1 1 1 58 11 100 +1 1 1 59 10 100 +1 1 1 60 11 99 +1 1 1 61 10 99 +1 1 1 62 11 98 +1 1 1 63 10 98 +1 1 1 64 11 97 +1 1 1 65 10 97 +1 1 1 66 11 96 +1 1 1 67 10 96 +1 1 2 0 9 95 +1 1 2 1 8 95 +1 1 2 2 9 94 +1 1 2 3 8 94 +1 1 2 4 9 93 +1 1 2 5 8 93 +1 1 2 6 9 92 +1 1 2 7 8 92 +1 1 2 8 9 91 +1 1 2 9 8 91 +1 1 2 10 9 90 +1 1 2 11 -1 -1 +1 1 2 12 8 90 +1 1 2 13 9 89 +1 1 2 14 8 89 +1 1 2 15 9 88 +1 1 2 16 8 88 +1 1 2 17 9 87 +1 1 2 18 8 87 +1 1 2 19 9 86 +1 1 2 20 8 86 +1 1 2 21 9 85 +1 1 2 22 -1 -1 +1 1 2 23 8 85 +1 1 2 24 9 84 +1 1 2 25 8 84 +1 1 2 26 9 83 +1 1 2 27 8 83 +1 1 2 28 9 82 +1 1 2 29 8 82 +1 1 2 30 9 81 +1 1 2 31 8 81 +1 1 2 32 9 80 +1 1 2 33 8 80 +1 1 2 34 9 79 +1 1 2 35 8 79 +1 1 2 36 9 78 +1 1 2 37 8 78 +1 1 2 38 9 77 +1 1 2 39 8 77 +1 1 2 40 9 76 +1 1 2 41 8 76 +1 1 2 42 9 75 +1 1 2 43 8 75 +1 1 2 44 9 74 +1 1 2 45 -1 -1 +1 1 2 46 8 74 +1 1 2 47 9 73 +1 1 2 48 8 73 +1 1 2 49 9 72 +1 1 2 50 8 72 +1 1 2 51 9 71 +1 1 2 52 8 71 +1 1 2 53 9 70 +1 1 2 54 8 70 +1 1 2 55 9 69 +1 1 2 56 -1 -1 +1 1 2 57 8 69 +1 1 2 58 9 68 +1 1 2 59 8 68 +1 1 2 60 9 67 +1 1 2 61 8 67 +1 1 2 62 9 66 +1 1 2 63 8 66 +1 1 2 64 9 65 +1 1 2 65 8 65 +1 1 2 66 9 64 +1 1 2 67 8 64 +1 1 3 0 9 127 +1 1 3 1 8 127 +1 1 3 2 9 126 +1 1 3 3 8 126 +1 1 3 4 9 125 +1 1 3 5 8 125 +1 1 3 6 9 124 +1 1 3 7 8 124 +1 1 3 8 9 123 +1 1 3 9 8 123 +1 1 3 10 9 122 +1 1 3 11 -1 -1 +1 1 3 12 8 122 +1 1 3 13 9 121 +1 1 3 14 8 121 +1 1 3 15 9 120 +1 1 3 16 8 120 +1 1 3 17 9 119 +1 1 3 18 8 119 +1 1 3 19 9 118 +1 1 3 20 8 118 +1 1 3 21 9 117 +1 1 3 22 -1 -1 +1 1 3 23 8 117 +1 1 3 24 9 116 +1 1 3 25 8 116 +1 1 3 26 9 115 +1 1 3 27 8 115 +1 1 3 28 9 114 +1 1 3 29 8 114 +1 1 3 30 9 113 +1 1 3 31 8 113 +1 1 3 32 9 112 +1 1 3 33 8 112 +1 1 3 34 9 111 +1 1 3 35 8 111 +1 1 3 36 9 110 +1 1 3 37 8 110 +1 1 3 38 9 109 +1 1 3 39 8 109 +1 1 3 40 9 108 +1 1 3 41 8 108 +1 1 3 42 9 107 +1 1 3 43 8 107 +1 1 3 44 9 106 +1 1 3 45 -1 -1 +1 1 3 46 8 106 +1 1 3 47 9 105 +1 1 3 48 8 105 +1 1 3 49 9 104 +1 1 3 50 8 104 +1 1 3 51 9 103 +1 1 3 52 8 103 +1 1 3 53 9 102 +1 1 3 54 8 102 +1 1 3 55 9 101 +1 1 3 56 -1 -1 +1 1 3 57 8 101 +1 1 3 58 9 100 +1 1 3 59 8 100 +1 1 3 60 9 99 +1 1 3 61 8 99 +1 1 3 62 9 98 +1 1 3 63 8 98 +1 1 3 64 9 97 +1 1 3 65 8 97 +1 1 3 66 9 96 +1 1 3 67 8 96 +1 2 0 0 12 32 +1 2 0 1 13 32 +1 2 0 2 12 33 +1 2 0 3 13 33 +1 2 0 4 12 34 +1 2 0 5 13 34 +1 2 0 6 12 35 +1 2 0 7 13 35 +1 2 0 8 12 36 +1 2 0 9 13 36 +1 2 0 10 12 37 +1 2 0 11 -1 -1 +1 2 0 12 13 37 +1 2 0 13 12 38 +1 2 0 14 13 38 +1 2 0 15 12 39 +1 2 0 16 13 39 +1 2 0 17 12 40 +1 2 0 18 13 40 +1 2 0 19 12 41 +1 2 0 20 13 41 +1 2 0 21 12 42 +1 2 0 22 -1 -1 +1 2 0 23 13 42 +1 2 0 24 12 43 +1 2 0 25 13 43 +1 2 0 26 12 44 +1 2 0 27 13 44 +1 2 0 28 12 45 +1 2 0 29 13 45 +1 2 0 30 12 46 +1 2 0 31 13 46 +1 2 0 32 12 47 +1 2 0 33 13 47 +1 2 0 34 12 48 +1 2 0 35 13 48 +1 2 0 36 12 49 +1 2 0 37 13 49 +1 2 0 38 12 50 +1 2 0 39 13 50 +1 2 0 40 12 51 +1 2 0 41 13 51 +1 2 0 42 12 52 +1 2 0 43 13 52 +1 2 0 44 12 53 +1 2 0 45 -1 -1 +1 2 0 46 13 53 +1 2 0 47 12 54 +1 2 0 48 13 54 +1 2 0 49 12 55 +1 2 0 50 13 55 +1 2 0 51 12 56 +1 2 0 52 13 56 +1 2 0 53 12 57 +1 2 0 54 13 57 +1 2 0 55 12 58 +1 2 0 56 -1 -1 +1 2 0 57 13 58 +1 2 0 58 12 59 +1 2 0 59 13 59 +1 2 0 60 12 60 +1 2 0 61 13 60 +1 2 0 62 12 61 +1 2 0 63 13 61 +1 2 0 64 12 62 +1 2 0 65 13 62 +1 2 0 66 12 63 +1 2 0 67 13 63 +1 2 1 0 12 0 +1 2 1 1 13 0 +1 2 1 2 12 1 +1 2 1 3 13 1 +1 2 1 4 12 2 +1 2 1 5 13 2 +1 2 1 6 12 3 +1 2 1 7 13 3 +1 2 1 8 12 4 +1 2 1 9 13 4 +1 2 1 10 12 5 +1 2 1 11 -1 -1 +1 2 1 12 13 5 +1 2 1 13 12 6 +1 2 1 14 13 6 +1 2 1 15 12 7 +1 2 1 16 13 7 +1 2 1 17 12 8 +1 2 1 18 13 8 +1 2 1 19 12 9 +1 2 1 20 13 9 +1 2 1 21 12 10 +1 2 1 22 -1 -1 +1 2 1 23 13 10 +1 2 1 24 12 11 +1 2 1 25 13 11 +1 2 1 26 12 12 +1 2 1 27 13 12 +1 2 1 28 12 13 +1 2 1 29 13 13 +1 2 1 30 12 14 +1 2 1 31 13 14 +1 2 1 32 12 15 +1 2 1 33 13 15 +1 2 1 34 12 16 +1 2 1 35 13 16 +1 2 1 36 12 17 +1 2 1 37 13 17 +1 2 1 38 12 18 +1 2 1 39 13 18 +1 2 1 40 12 19 +1 2 1 41 13 19 +1 2 1 42 12 20 +1 2 1 43 13 20 +1 2 1 44 12 21 +1 2 1 45 -1 -1 +1 2 1 46 13 21 +1 2 1 47 12 22 +1 2 1 48 13 22 +1 2 1 49 12 23 +1 2 1 50 13 23 +1 2 1 51 12 24 +1 2 1 52 13 24 +1 2 1 53 12 25 +1 2 1 54 13 25 +1 2 1 55 12 26 +1 2 1 56 -1 -1 +1 2 1 57 13 26 +1 2 1 58 12 27 +1 2 1 59 13 27 +1 2 1 60 12 28 +1 2 1 61 13 28 +1 2 1 62 12 29 +1 2 1 63 13 29 +1 2 1 64 12 30 +1 2 1 65 13 30 +1 2 1 66 12 31 +1 2 1 67 13 31 +1 2 2 0 14 32 +1 2 2 1 15 32 +1 2 2 2 14 33 +1 2 2 3 15 33 +1 2 2 4 14 34 +1 2 2 5 15 34 +1 2 2 6 14 35 +1 2 2 7 15 35 +1 2 2 8 14 36 +1 2 2 9 15 36 +1 2 2 10 14 37 +1 2 2 11 -1 -1 +1 2 2 12 15 37 +1 2 2 13 14 38 +1 2 2 14 15 38 +1 2 2 15 14 39 +1 2 2 16 15 39 +1 2 2 17 14 40 +1 2 2 18 15 40 +1 2 2 19 14 41 +1 2 2 20 15 41 +1 2 2 21 14 42 +1 2 2 22 -1 -1 +1 2 2 23 15 42 +1 2 2 24 14 43 +1 2 2 25 15 43 +1 2 2 26 14 44 +1 2 2 27 15 44 +1 2 2 28 14 45 +1 2 2 29 15 45 +1 2 2 30 14 46 +1 2 2 31 15 46 +1 2 2 32 14 47 +1 2 2 33 15 47 +1 2 2 34 14 48 +1 2 2 35 15 48 +1 2 2 36 14 49 +1 2 2 37 15 49 +1 2 2 38 14 50 +1 2 2 39 15 50 +1 2 2 40 14 51 +1 2 2 41 15 51 +1 2 2 42 14 52 +1 2 2 43 15 52 +1 2 2 44 14 53 +1 2 2 45 -1 -1 +1 2 2 46 15 53 +1 2 2 47 14 54 +1 2 2 48 15 54 +1 2 2 49 14 55 +1 2 2 50 15 55 +1 2 2 51 14 56 +1 2 2 52 15 56 +1 2 2 53 14 57 +1 2 2 54 15 57 +1 2 2 55 14 58 +1 2 2 56 -1 -1 +1 2 2 57 15 58 +1 2 2 58 14 59 +1 2 2 59 15 59 +1 2 2 60 14 60 +1 2 2 61 15 60 +1 2 2 62 14 61 +1 2 2 63 15 61 +1 2 2 64 14 62 +1 2 2 65 15 62 +1 2 2 66 14 63 +1 2 2 67 15 63 +1 2 3 0 14 0 +1 2 3 1 15 0 +1 2 3 2 14 1 +1 2 3 3 15 1 +1 2 3 4 14 2 +1 2 3 5 15 2 +1 2 3 6 14 3 +1 2 3 7 15 3 +1 2 3 8 14 4 +1 2 3 9 15 4 +1 2 3 10 14 5 +1 2 3 11 -1 -1 +1 2 3 12 15 5 +1 2 3 13 14 6 +1 2 3 14 15 6 +1 2 3 15 14 7 +1 2 3 16 15 7 +1 2 3 17 14 8 +1 2 3 18 15 8 +1 2 3 19 14 9 +1 2 3 20 15 9 +1 2 3 21 14 10 +1 2 3 22 -1 -1 +1 2 3 23 15 10 +1 2 3 24 14 11 +1 2 3 25 15 11 +1 2 3 26 14 12 +1 2 3 27 15 12 +1 2 3 28 14 13 +1 2 3 29 15 13 +1 2 3 30 14 14 +1 2 3 31 15 14 +1 2 3 32 14 15 +1 2 3 33 15 15 +1 2 3 34 14 16 +1 2 3 35 15 16 +1 2 3 36 14 17 +1 2 3 37 15 17 +1 2 3 38 14 18 +1 2 3 39 15 18 +1 2 3 40 14 19 +1 2 3 41 15 19 +1 2 3 42 14 20 +1 2 3 43 15 20 +1 2 3 44 14 21 +1 2 3 45 -1 -1 +1 2 3 46 15 21 +1 2 3 47 14 22 +1 2 3 48 15 22 +1 2 3 49 14 23 +1 2 3 50 15 23 +1 2 3 51 14 24 +1 2 3 52 15 24 +1 2 3 53 14 25 +1 2 3 54 15 25 +1 2 3 55 14 26 +1 2 3 56 -1 -1 +1 2 3 57 15 26 +1 2 3 58 14 27 +1 2 3 59 15 27 +1 2 3 60 14 28 +1 2 3 61 15 28 +1 2 3 62 14 29 +1 2 3 63 15 29 +1 2 3 64 14 30 +1 2 3 65 15 30 +1 2 3 66 14 31 +1 2 3 67 15 31 +1 3 0 0 15 95 +1 3 0 1 14 95 +1 3 0 2 15 94 +1 3 0 3 14 94 +1 3 0 4 15 93 +1 3 0 5 14 93 +1 3 0 6 15 92 +1 3 0 7 14 92 +1 3 0 8 15 91 +1 3 0 9 14 91 +1 3 0 10 15 90 +1 3 0 11 -1 -1 +1 3 0 12 14 90 +1 3 0 13 15 89 +1 3 0 14 14 89 +1 3 0 15 15 88 +1 3 0 16 14 88 +1 3 0 17 15 87 +1 3 0 18 14 87 +1 3 0 19 15 86 +1 3 0 20 14 86 +1 3 0 21 15 85 +1 3 0 22 -1 -1 +1 3 0 23 14 85 +1 3 0 24 15 84 +1 3 0 25 14 84 +1 3 0 26 15 83 +1 3 0 27 14 83 +1 3 0 28 15 82 +1 3 0 29 14 82 +1 3 0 30 15 81 +1 3 0 31 14 81 +1 3 0 32 15 80 +1 3 0 33 14 80 +1 3 0 34 15 79 +1 3 0 35 14 79 +1 3 0 36 15 78 +1 3 0 37 14 78 +1 3 0 38 15 77 +1 3 0 39 14 77 +1 3 0 40 15 76 +1 3 0 41 14 76 +1 3 0 42 15 75 +1 3 0 43 14 75 +1 3 0 44 15 74 +1 3 0 45 -1 -1 +1 3 0 46 14 74 +1 3 0 47 15 73 +1 3 0 48 14 73 +1 3 0 49 15 72 +1 3 0 50 14 72 +1 3 0 51 15 71 +1 3 0 52 14 71 +1 3 0 53 15 70 +1 3 0 54 14 70 +1 3 0 55 15 69 +1 3 0 56 -1 -1 +1 3 0 57 14 69 +1 3 0 58 15 68 +1 3 0 59 14 68 +1 3 0 60 15 67 +1 3 0 61 14 67 +1 3 0 62 15 66 +1 3 0 63 14 66 +1 3 0 64 15 65 +1 3 0 65 14 65 +1 3 0 66 15 64 +1 3 0 67 14 64 +1 3 1 0 15 127 +1 3 1 1 14 127 +1 3 1 2 15 126 +1 3 1 3 14 126 +1 3 1 4 15 125 +1 3 1 5 14 125 +1 3 1 6 15 124 +1 3 1 7 14 124 +1 3 1 8 15 123 +1 3 1 9 14 123 +1 3 1 10 15 122 +1 3 1 11 -1 -1 +1 3 1 12 14 122 +1 3 1 13 15 121 +1 3 1 14 14 121 +1 3 1 15 15 120 +1 3 1 16 14 120 +1 3 1 17 15 119 +1 3 1 18 14 119 +1 3 1 19 15 118 +1 3 1 20 14 118 +1 3 1 21 15 117 +1 3 1 22 -1 -1 +1 3 1 23 14 117 +1 3 1 24 15 116 +1 3 1 25 14 116 +1 3 1 26 15 115 +1 3 1 27 14 115 +1 3 1 28 15 114 +1 3 1 29 14 114 +1 3 1 30 15 113 +1 3 1 31 14 113 +1 3 1 32 15 112 +1 3 1 33 14 112 +1 3 1 34 15 111 +1 3 1 35 14 111 +1 3 1 36 15 110 +1 3 1 37 14 110 +1 3 1 38 15 109 +1 3 1 39 14 109 +1 3 1 40 15 108 +1 3 1 41 14 108 +1 3 1 42 15 107 +1 3 1 43 14 107 +1 3 1 44 15 106 +1 3 1 45 -1 -1 +1 3 1 46 14 106 +1 3 1 47 15 105 +1 3 1 48 14 105 +1 3 1 49 15 104 +1 3 1 50 14 104 +1 3 1 51 15 103 +1 3 1 52 14 103 +1 3 1 53 15 102 +1 3 1 54 14 102 +1 3 1 55 15 101 +1 3 1 56 -1 -1 +1 3 1 57 14 101 +1 3 1 58 15 100 +1 3 1 59 14 100 +1 3 1 60 15 99 +1 3 1 61 14 99 +1 3 1 62 15 98 +1 3 1 63 14 98 +1 3 1 64 15 97 +1 3 1 65 14 97 +1 3 1 66 15 96 +1 3 1 67 14 96 +1 3 2 0 13 95 +1 3 2 1 12 95 +1 3 2 2 13 94 +1 3 2 3 12 94 +1 3 2 4 13 93 +1 3 2 5 12 93 +1 3 2 6 13 92 +1 3 2 7 12 92 +1 3 2 8 13 91 +1 3 2 9 12 91 +1 3 2 10 13 90 +1 3 2 11 -1 -1 +1 3 2 12 12 90 +1 3 2 13 13 89 +1 3 2 14 12 89 +1 3 2 15 13 88 +1 3 2 16 12 88 +1 3 2 17 13 87 +1 3 2 18 12 87 +1 3 2 19 13 86 +1 3 2 20 12 86 +1 3 2 21 13 85 +1 3 2 22 -1 -1 +1 3 2 23 12 85 +1 3 2 24 13 84 +1 3 2 25 12 84 +1 3 2 26 13 83 +1 3 2 27 12 83 +1 3 2 28 13 82 +1 3 2 29 12 82 +1 3 2 30 13 81 +1 3 2 31 12 81 +1 3 2 32 13 80 +1 3 2 33 12 80 +1 3 2 34 13 79 +1 3 2 35 12 79 +1 3 2 36 13 78 +1 3 2 37 12 78 +1 3 2 38 13 77 +1 3 2 39 12 77 +1 3 2 40 13 76 +1 3 2 41 12 76 +1 3 2 42 13 75 +1 3 2 43 12 75 +1 3 2 44 13 74 +1 3 2 45 -1 -1 +1 3 2 46 12 74 +1 3 2 47 13 73 +1 3 2 48 12 73 +1 3 2 49 13 72 +1 3 2 50 12 72 +1 3 2 51 13 71 +1 3 2 52 12 71 +1 3 2 53 13 70 +1 3 2 54 12 70 +1 3 2 55 13 69 +1 3 2 56 -1 -1 +1 3 2 57 12 69 +1 3 2 58 13 68 +1 3 2 59 12 68 +1 3 2 60 13 67 +1 3 2 61 12 67 +1 3 2 62 13 66 +1 3 2 63 12 66 +1 3 2 64 13 65 +1 3 2 65 12 65 +1 3 2 66 13 64 +1 3 2 67 12 64 +1 3 3 0 13 127 +1 3 3 1 12 127 +1 3 3 2 13 126 +1 3 3 3 12 126 +1 3 3 4 13 125 +1 3 3 5 12 125 +1 3 3 6 13 124 +1 3 3 7 12 124 +1 3 3 8 13 123 +1 3 3 9 12 123 +1 3 3 10 13 122 +1 3 3 11 -1 -1 +1 3 3 12 12 122 +1 3 3 13 13 121 +1 3 3 14 12 121 +1 3 3 15 13 120 +1 3 3 16 12 120 +1 3 3 17 13 119 +1 3 3 18 12 119 +1 3 3 19 13 118 +1 3 3 20 12 118 +1 3 3 21 13 117 +1 3 3 22 -1 -1 +1 3 3 23 12 117 +1 3 3 24 13 116 +1 3 3 25 12 116 +1 3 3 26 13 115 +1 3 3 27 12 115 +1 3 3 28 13 114 +1 3 3 29 12 114 +1 3 3 30 13 113 +1 3 3 31 12 113 +1 3 3 32 13 112 +1 3 3 33 12 112 +1 3 3 34 13 111 +1 3 3 35 12 111 +1 3 3 36 13 110 +1 3 3 37 12 110 +1 3 3 38 13 109 +1 3 3 39 12 109 +1 3 3 40 13 108 +1 3 3 41 12 108 +1 3 3 42 13 107 +1 3 3 43 12 107 +1 3 3 44 13 106 +1 3 3 45 -1 -1 +1 3 3 46 12 106 +1 3 3 47 13 105 +1 3 3 48 12 105 +1 3 3 49 13 104 +1 3 3 50 12 104 +1 3 3 51 13 103 +1 3 3 52 12 103 +1 3 3 53 13 102 +1 3 3 54 12 102 +1 3 3 55 13 101 +1 3 3 56 -1 -1 +1 3 3 57 12 101 +1 3 3 58 13 100 +1 3 3 59 12 100 +1 3 3 60 13 99 +1 3 3 61 12 99 +1 3 3 62 13 98 +1 3 3 63 12 98 +1 3 3 64 13 97 +1 3 3 65 12 97 +1 3 3 66 13 96 +1 3 3 67 12 96 +2 0 0 0 16 32 +2 0 0 1 17 32 +2 0 0 2 16 33 +2 0 0 3 17 33 +2 0 0 4 16 34 +2 0 0 5 17 34 +2 0 0 6 16 35 +2 0 0 7 17 35 +2 0 0 8 16 36 +2 0 0 9 17 36 +2 0 0 10 16 37 +2 0 0 11 -1 -1 +2 0 0 12 17 37 +2 0 0 13 16 38 +2 0 0 14 17 38 +2 0 0 15 16 39 +2 0 0 16 17 39 +2 0 0 17 16 40 +2 0 0 18 17 40 +2 0 0 19 16 41 +2 0 0 20 17 41 +2 0 0 21 16 42 +2 0 0 22 -1 -1 +2 0 0 23 17 42 +2 0 0 24 16 43 +2 0 0 25 17 43 +2 0 0 26 16 44 +2 0 0 27 17 44 +2 0 0 28 16 45 +2 0 0 29 17 45 +2 0 0 30 16 46 +2 0 0 31 17 46 +2 0 0 32 16 47 +2 0 0 33 17 47 +2 0 0 34 16 48 +2 0 0 35 17 48 +2 0 0 36 16 49 +2 0 0 37 17 49 +2 0 0 38 16 50 +2 0 0 39 17 50 +2 0 0 40 16 51 +2 0 0 41 17 51 +2 0 0 42 16 52 +2 0 0 43 17 52 +2 0 0 44 16 53 +2 0 0 45 -1 -1 +2 0 0 46 17 53 +2 0 0 47 16 54 +2 0 0 48 17 54 +2 0 0 49 16 55 +2 0 0 50 17 55 +2 0 0 51 16 56 +2 0 0 52 17 56 +2 0 0 53 16 57 +2 0 0 54 17 57 +2 0 0 55 16 58 +2 0 0 56 -1 -1 +2 0 0 57 17 58 +2 0 0 58 16 59 +2 0 0 59 17 59 +2 0 0 60 16 60 +2 0 0 61 17 60 +2 0 0 62 16 61 +2 0 0 63 17 61 +2 0 0 64 16 62 +2 0 0 65 17 62 +2 0 0 66 16 63 +2 0 0 67 17 63 +2 0 1 0 16 0 +2 0 1 1 17 0 +2 0 1 2 16 1 +2 0 1 3 17 1 +2 0 1 4 16 2 +2 0 1 5 17 2 +2 0 1 6 16 3 +2 0 1 7 17 3 +2 0 1 8 16 4 +2 0 1 9 17 4 +2 0 1 10 16 5 +2 0 1 11 -1 -1 +2 0 1 12 17 5 +2 0 1 13 16 6 +2 0 1 14 17 6 +2 0 1 15 16 7 +2 0 1 16 17 7 +2 0 1 17 16 8 +2 0 1 18 17 8 +2 0 1 19 16 9 +2 0 1 20 17 9 +2 0 1 21 16 10 +2 0 1 22 -1 -1 +2 0 1 23 17 10 +2 0 1 24 16 11 +2 0 1 25 17 11 +2 0 1 26 16 12 +2 0 1 27 17 12 +2 0 1 28 16 13 +2 0 1 29 17 13 +2 0 1 30 16 14 +2 0 1 31 17 14 +2 0 1 32 16 15 +2 0 1 33 17 15 +2 0 1 34 16 16 +2 0 1 35 17 16 +2 0 1 36 16 17 +2 0 1 37 17 17 +2 0 1 38 16 18 +2 0 1 39 17 18 +2 0 1 40 16 19 +2 0 1 41 17 19 +2 0 1 42 16 20 +2 0 1 43 17 20 +2 0 1 44 16 21 +2 0 1 45 -1 -1 +2 0 1 46 17 21 +2 0 1 47 16 22 +2 0 1 48 17 22 +2 0 1 49 16 23 +2 0 1 50 17 23 +2 0 1 51 16 24 +2 0 1 52 17 24 +2 0 1 53 16 25 +2 0 1 54 17 25 +2 0 1 55 16 26 +2 0 1 56 -1 -1 +2 0 1 57 17 26 +2 0 1 58 16 27 +2 0 1 59 17 27 +2 0 1 60 16 28 +2 0 1 61 17 28 +2 0 1 62 16 29 +2 0 1 63 17 29 +2 0 1 64 16 30 +2 0 1 65 17 30 +2 0 1 66 16 31 +2 0 1 67 17 31 +2 0 2 0 18 32 +2 0 2 1 19 32 +2 0 2 2 18 33 +2 0 2 3 19 33 +2 0 2 4 18 34 +2 0 2 5 19 34 +2 0 2 6 18 35 +2 0 2 7 19 35 +2 0 2 8 18 36 +2 0 2 9 19 36 +2 0 2 10 18 37 +2 0 2 11 -1 -1 +2 0 2 12 19 37 +2 0 2 13 18 38 +2 0 2 14 19 38 +2 0 2 15 18 39 +2 0 2 16 19 39 +2 0 2 17 18 40 +2 0 2 18 19 40 +2 0 2 19 18 41 +2 0 2 20 19 41 +2 0 2 21 18 42 +2 0 2 22 -1 -1 +2 0 2 23 19 42 +2 0 2 24 18 43 +2 0 2 25 19 43 +2 0 2 26 18 44 +2 0 2 27 19 44 +2 0 2 28 18 45 +2 0 2 29 19 45 +2 0 2 30 18 46 +2 0 2 31 19 46 +2 0 2 32 18 47 +2 0 2 33 19 47 +2 0 2 34 18 48 +2 0 2 35 19 48 +2 0 2 36 18 49 +2 0 2 37 19 49 +2 0 2 38 18 50 +2 0 2 39 19 50 +2 0 2 40 18 51 +2 0 2 41 19 51 +2 0 2 42 18 52 +2 0 2 43 19 52 +2 0 2 44 18 53 +2 0 2 45 -1 -1 +2 0 2 46 19 53 +2 0 2 47 18 54 +2 0 2 48 19 54 +2 0 2 49 18 55 +2 0 2 50 19 55 +2 0 2 51 18 56 +2 0 2 52 19 56 +2 0 2 53 18 57 +2 0 2 54 19 57 +2 0 2 55 18 58 +2 0 2 56 -1 -1 +2 0 2 57 19 58 +2 0 2 58 18 59 +2 0 2 59 19 59 +2 0 2 60 18 60 +2 0 2 61 19 60 +2 0 2 62 18 61 +2 0 2 63 19 61 +2 0 2 64 18 62 +2 0 2 65 19 62 +2 0 2 66 18 63 +2 0 2 67 19 63 +2 0 3 0 18 0 +2 0 3 1 19 0 +2 0 3 2 18 1 +2 0 3 3 19 1 +2 0 3 4 18 2 +2 0 3 5 19 2 +2 0 3 6 18 3 +2 0 3 7 19 3 +2 0 3 8 18 4 +2 0 3 9 19 4 +2 0 3 10 18 5 +2 0 3 11 -1 -1 +2 0 3 12 19 5 +2 0 3 13 18 6 +2 0 3 14 19 6 +2 0 3 15 18 7 +2 0 3 16 19 7 +2 0 3 17 18 8 +2 0 3 18 19 8 +2 0 3 19 18 9 +2 0 3 20 19 9 +2 0 3 21 18 10 +2 0 3 22 -1 -1 +2 0 3 23 19 10 +2 0 3 24 18 11 +2 0 3 25 19 11 +2 0 3 26 18 12 +2 0 3 27 19 12 +2 0 3 28 18 13 +2 0 3 29 19 13 +2 0 3 30 18 14 +2 0 3 31 19 14 +2 0 3 32 18 15 +2 0 3 33 19 15 +2 0 3 34 18 16 +2 0 3 35 19 16 +2 0 3 36 18 17 +2 0 3 37 19 17 +2 0 3 38 18 18 +2 0 3 39 19 18 +2 0 3 40 18 19 +2 0 3 41 19 19 +2 0 3 42 18 20 +2 0 3 43 19 20 +2 0 3 44 18 21 +2 0 3 45 -1 -1 +2 0 3 46 19 21 +2 0 3 47 18 22 +2 0 3 48 19 22 +2 0 3 49 18 23 +2 0 3 50 19 23 +2 0 3 51 18 24 +2 0 3 52 19 24 +2 0 3 53 18 25 +2 0 3 54 19 25 +2 0 3 55 18 26 +2 0 3 56 -1 -1 +2 0 3 57 19 26 +2 0 3 58 18 27 +2 0 3 59 19 27 +2 0 3 60 18 28 +2 0 3 61 19 28 +2 0 3 62 18 29 +2 0 3 63 19 29 +2 0 3 64 18 30 +2 0 3 65 19 30 +2 0 3 66 18 31 +2 0 3 67 19 31 +2 1 0 0 19 95 +2 1 0 1 18 95 +2 1 0 2 19 94 +2 1 0 3 18 94 +2 1 0 4 19 93 +2 1 0 5 18 93 +2 1 0 6 19 92 +2 1 0 7 18 92 +2 1 0 8 19 91 +2 1 0 9 18 91 +2 1 0 10 19 90 +2 1 0 11 -1 -1 +2 1 0 12 18 90 +2 1 0 13 19 89 +2 1 0 14 18 89 +2 1 0 15 19 88 +2 1 0 16 18 88 +2 1 0 17 19 87 +2 1 0 18 18 87 +2 1 0 19 19 86 +2 1 0 20 18 86 +2 1 0 21 19 85 +2 1 0 22 -1 -1 +2 1 0 23 18 85 +2 1 0 24 19 84 +2 1 0 25 18 84 +2 1 0 26 19 83 +2 1 0 27 18 83 +2 1 0 28 19 82 +2 1 0 29 18 82 +2 1 0 30 19 81 +2 1 0 31 18 81 +2 1 0 32 19 80 +2 1 0 33 18 80 +2 1 0 34 19 79 +2 1 0 35 18 79 +2 1 0 36 19 78 +2 1 0 37 18 78 +2 1 0 38 19 77 +2 1 0 39 18 77 +2 1 0 40 19 76 +2 1 0 41 18 76 +2 1 0 42 19 75 +2 1 0 43 18 75 +2 1 0 44 19 74 +2 1 0 45 -1 -1 +2 1 0 46 18 74 +2 1 0 47 19 73 +2 1 0 48 18 73 +2 1 0 49 19 72 +2 1 0 50 18 72 +2 1 0 51 19 71 +2 1 0 52 18 71 +2 1 0 53 19 70 +2 1 0 54 18 70 +2 1 0 55 19 69 +2 1 0 56 -1 -1 +2 1 0 57 18 69 +2 1 0 58 19 68 +2 1 0 59 18 68 +2 1 0 60 19 67 +2 1 0 61 18 67 +2 1 0 62 19 66 +2 1 0 63 18 66 +2 1 0 64 19 65 +2 1 0 65 18 65 +2 1 0 66 19 64 +2 1 0 67 18 64 +2 1 1 0 19 127 +2 1 1 1 18 127 +2 1 1 2 19 126 +2 1 1 3 18 126 +2 1 1 4 19 125 +2 1 1 5 18 125 +2 1 1 6 19 124 +2 1 1 7 18 124 +2 1 1 8 19 123 +2 1 1 9 18 123 +2 1 1 10 19 122 +2 1 1 11 -1 -1 +2 1 1 12 18 122 +2 1 1 13 19 121 +2 1 1 14 18 121 +2 1 1 15 19 120 +2 1 1 16 18 120 +2 1 1 17 19 119 +2 1 1 18 18 119 +2 1 1 19 19 118 +2 1 1 20 18 118 +2 1 1 21 19 117 +2 1 1 22 -1 -1 +2 1 1 23 18 117 +2 1 1 24 19 116 +2 1 1 25 18 116 +2 1 1 26 19 115 +2 1 1 27 18 115 +2 1 1 28 19 114 +2 1 1 29 18 114 +2 1 1 30 19 113 +2 1 1 31 18 113 +2 1 1 32 19 112 +2 1 1 33 18 112 +2 1 1 34 19 111 +2 1 1 35 18 111 +2 1 1 36 19 110 +2 1 1 37 18 110 +2 1 1 38 19 109 +2 1 1 39 18 109 +2 1 1 40 19 108 +2 1 1 41 18 108 +2 1 1 42 19 107 +2 1 1 43 18 107 +2 1 1 44 19 106 +2 1 1 45 -1 -1 +2 1 1 46 18 106 +2 1 1 47 19 105 +2 1 1 48 18 105 +2 1 1 49 19 104 +2 1 1 50 18 104 +2 1 1 51 19 103 +2 1 1 52 18 103 +2 1 1 53 19 102 +2 1 1 54 18 102 +2 1 1 55 19 101 +2 1 1 56 -1 -1 +2 1 1 57 18 101 +2 1 1 58 19 100 +2 1 1 59 18 100 +2 1 1 60 19 99 +2 1 1 61 18 99 +2 1 1 62 19 98 +2 1 1 63 18 98 +2 1 1 64 19 97 +2 1 1 65 18 97 +2 1 1 66 19 96 +2 1 1 67 18 96 +2 1 2 0 17 95 +2 1 2 1 16 95 +2 1 2 2 17 94 +2 1 2 3 16 94 +2 1 2 4 17 93 +2 1 2 5 16 93 +2 1 2 6 17 92 +2 1 2 7 16 92 +2 1 2 8 17 91 +2 1 2 9 16 91 +2 1 2 10 17 90 +2 1 2 11 -1 -1 +2 1 2 12 16 90 +2 1 2 13 17 89 +2 1 2 14 16 89 +2 1 2 15 17 88 +2 1 2 16 16 88 +2 1 2 17 17 87 +2 1 2 18 16 87 +2 1 2 19 17 86 +2 1 2 20 16 86 +2 1 2 21 17 85 +2 1 2 22 -1 -1 +2 1 2 23 16 85 +2 1 2 24 17 84 +2 1 2 25 16 84 +2 1 2 26 17 83 +2 1 2 27 16 83 +2 1 2 28 17 82 +2 1 2 29 16 82 +2 1 2 30 17 81 +2 1 2 31 16 81 +2 1 2 32 17 80 +2 1 2 33 16 80 +2 1 2 34 17 79 +2 1 2 35 16 79 +2 1 2 36 17 78 +2 1 2 37 16 78 +2 1 2 38 17 77 +2 1 2 39 16 77 +2 1 2 40 17 76 +2 1 2 41 16 76 +2 1 2 42 17 75 +2 1 2 43 16 75 +2 1 2 44 17 74 +2 1 2 45 -1 -1 +2 1 2 46 16 74 +2 1 2 47 17 73 +2 1 2 48 16 73 +2 1 2 49 17 72 +2 1 2 50 16 72 +2 1 2 51 17 71 +2 1 2 52 16 71 +2 1 2 53 17 70 +2 1 2 54 16 70 +2 1 2 55 17 69 +2 1 2 56 -1 -1 +2 1 2 57 16 69 +2 1 2 58 17 68 +2 1 2 59 16 68 +2 1 2 60 17 67 +2 1 2 61 16 67 +2 1 2 62 17 66 +2 1 2 63 16 66 +2 1 2 64 17 65 +2 1 2 65 16 65 +2 1 2 66 17 64 +2 1 2 67 16 64 +2 1 3 0 17 127 +2 1 3 1 16 127 +2 1 3 2 17 126 +2 1 3 3 16 126 +2 1 3 4 17 125 +2 1 3 5 16 125 +2 1 3 6 17 124 +2 1 3 7 16 124 +2 1 3 8 17 123 +2 1 3 9 16 123 +2 1 3 10 17 122 +2 1 3 11 -1 -1 +2 1 3 12 16 122 +2 1 3 13 17 121 +2 1 3 14 16 121 +2 1 3 15 17 120 +2 1 3 16 16 120 +2 1 3 17 17 119 +2 1 3 18 16 119 +2 1 3 19 17 118 +2 1 3 20 16 118 +2 1 3 21 17 117 +2 1 3 22 -1 -1 +2 1 3 23 16 117 +2 1 3 24 17 116 +2 1 3 25 16 116 +2 1 3 26 17 115 +2 1 3 27 16 115 +2 1 3 28 17 114 +2 1 3 29 16 114 +2 1 3 30 17 113 +2 1 3 31 16 113 +2 1 3 32 17 112 +2 1 3 33 16 112 +2 1 3 34 17 111 +2 1 3 35 16 111 +2 1 3 36 17 110 +2 1 3 37 16 110 +2 1 3 38 17 109 +2 1 3 39 16 109 +2 1 3 40 17 108 +2 1 3 41 16 108 +2 1 3 42 17 107 +2 1 3 43 16 107 +2 1 3 44 17 106 +2 1 3 45 -1 -1 +2 1 3 46 16 106 +2 1 3 47 17 105 +2 1 3 48 16 105 +2 1 3 49 17 104 +2 1 3 50 16 104 +2 1 3 51 17 103 +2 1 3 52 16 103 +2 1 3 53 17 102 +2 1 3 54 16 102 +2 1 3 55 17 101 +2 1 3 56 -1 -1 +2 1 3 57 16 101 +2 1 3 58 17 100 +2 1 3 59 16 100 +2 1 3 60 17 99 +2 1 3 61 16 99 +2 1 3 62 17 98 +2 1 3 63 16 98 +2 1 3 64 17 97 +2 1 3 65 16 97 +2 1 3 66 17 96 +2 1 3 67 16 96 +2 2 0 0 20 32 +2 2 0 1 21 32 +2 2 0 2 20 33 +2 2 0 3 21 33 +2 2 0 4 20 34 +2 2 0 5 21 34 +2 2 0 6 20 35 +2 2 0 7 21 35 +2 2 0 8 20 36 +2 2 0 9 21 36 +2 2 0 10 20 37 +2 2 0 11 -1 -1 +2 2 0 12 21 37 +2 2 0 13 20 38 +2 2 0 14 21 38 +2 2 0 15 20 39 +2 2 0 16 21 39 +2 2 0 17 20 40 +2 2 0 18 21 40 +2 2 0 19 20 41 +2 2 0 20 21 41 +2 2 0 21 20 42 +2 2 0 22 -1 -1 +2 2 0 23 21 42 +2 2 0 24 20 43 +2 2 0 25 21 43 +2 2 0 26 20 44 +2 2 0 27 21 44 +2 2 0 28 20 45 +2 2 0 29 21 45 +2 2 0 30 20 46 +2 2 0 31 21 46 +2 2 0 32 20 47 +2 2 0 33 21 47 +2 2 0 34 20 48 +2 2 0 35 21 48 +2 2 0 36 20 49 +2 2 0 37 21 49 +2 2 0 38 20 50 +2 2 0 39 21 50 +2 2 0 40 20 51 +2 2 0 41 21 51 +2 2 0 42 20 52 +2 2 0 43 21 52 +2 2 0 44 20 53 +2 2 0 45 -1 -1 +2 2 0 46 21 53 +2 2 0 47 20 54 +2 2 0 48 21 54 +2 2 0 49 20 55 +2 2 0 50 21 55 +2 2 0 51 20 56 +2 2 0 52 21 56 +2 2 0 53 20 57 +2 2 0 54 21 57 +2 2 0 55 20 58 +2 2 0 56 -1 -1 +2 2 0 57 21 58 +2 2 0 58 20 59 +2 2 0 59 21 59 +2 2 0 60 20 60 +2 2 0 61 21 60 +2 2 0 62 20 61 +2 2 0 63 21 61 +2 2 0 64 20 62 +2 2 0 65 21 62 +2 2 0 66 20 63 +2 2 0 67 21 63 +2 2 1 0 20 0 +2 2 1 1 21 0 +2 2 1 2 20 1 +2 2 1 3 21 1 +2 2 1 4 20 2 +2 2 1 5 21 2 +2 2 1 6 20 3 +2 2 1 7 21 3 +2 2 1 8 20 4 +2 2 1 9 21 4 +2 2 1 10 20 5 +2 2 1 11 -1 -1 +2 2 1 12 21 5 +2 2 1 13 20 6 +2 2 1 14 21 6 +2 2 1 15 20 7 +2 2 1 16 21 7 +2 2 1 17 20 8 +2 2 1 18 21 8 +2 2 1 19 20 9 +2 2 1 20 21 9 +2 2 1 21 20 10 +2 2 1 22 -1 -1 +2 2 1 23 21 10 +2 2 1 24 20 11 +2 2 1 25 21 11 +2 2 1 26 20 12 +2 2 1 27 21 12 +2 2 1 28 20 13 +2 2 1 29 21 13 +2 2 1 30 20 14 +2 2 1 31 21 14 +2 2 1 32 20 15 +2 2 1 33 21 15 +2 2 1 34 20 16 +2 2 1 35 21 16 +2 2 1 36 20 17 +2 2 1 37 21 17 +2 2 1 38 20 18 +2 2 1 39 21 18 +2 2 1 40 20 19 +2 2 1 41 21 19 +2 2 1 42 20 20 +2 2 1 43 21 20 +2 2 1 44 20 21 +2 2 1 45 -1 -1 +2 2 1 46 21 21 +2 2 1 47 20 22 +2 2 1 48 21 22 +2 2 1 49 20 23 +2 2 1 50 21 23 +2 2 1 51 20 24 +2 2 1 52 21 24 +2 2 1 53 20 25 +2 2 1 54 21 25 +2 2 1 55 20 26 +2 2 1 56 -1 -1 +2 2 1 57 21 26 +2 2 1 58 20 27 +2 2 1 59 21 27 +2 2 1 60 20 28 +2 2 1 61 21 28 +2 2 1 62 20 29 +2 2 1 63 21 29 +2 2 1 64 20 30 +2 2 1 65 21 30 +2 2 1 66 20 31 +2 2 1 67 21 31 +2 2 2 0 22 32 +2 2 2 1 23 32 +2 2 2 2 22 33 +2 2 2 3 23 33 +2 2 2 4 22 34 +2 2 2 5 23 34 +2 2 2 6 22 35 +2 2 2 7 23 35 +2 2 2 8 22 36 +2 2 2 9 23 36 +2 2 2 10 22 37 +2 2 2 11 -1 -1 +2 2 2 12 23 37 +2 2 2 13 22 38 +2 2 2 14 23 38 +2 2 2 15 22 39 +2 2 2 16 23 39 +2 2 2 17 22 40 +2 2 2 18 23 40 +2 2 2 19 22 41 +2 2 2 20 23 41 +2 2 2 21 22 42 +2 2 2 22 -1 -1 +2 2 2 23 23 42 +2 2 2 24 22 43 +2 2 2 25 23 43 +2 2 2 26 22 44 +2 2 2 27 23 44 +2 2 2 28 22 45 +2 2 2 29 23 45 +2 2 2 30 22 46 +2 2 2 31 23 46 +2 2 2 32 22 47 +2 2 2 33 23 47 +2 2 2 34 22 48 +2 2 2 35 23 48 +2 2 2 36 22 49 +2 2 2 37 23 49 +2 2 2 38 22 50 +2 2 2 39 23 50 +2 2 2 40 22 51 +2 2 2 41 23 51 +2 2 2 42 22 52 +2 2 2 43 23 52 +2 2 2 44 22 53 +2 2 2 45 -1 -1 +2 2 2 46 23 53 +2 2 2 47 22 54 +2 2 2 48 23 54 +2 2 2 49 22 55 +2 2 2 50 23 55 +2 2 2 51 22 56 +2 2 2 52 23 56 +2 2 2 53 22 57 +2 2 2 54 23 57 +2 2 2 55 22 58 +2 2 2 56 -1 -1 +2 2 2 57 23 58 +2 2 2 58 22 59 +2 2 2 59 23 59 +2 2 2 60 22 60 +2 2 2 61 23 60 +2 2 2 62 22 61 +2 2 2 63 23 61 +2 2 2 64 22 62 +2 2 2 65 23 62 +2 2 2 66 22 63 +2 2 2 67 23 63 +2 2 3 0 22 0 +2 2 3 1 23 0 +2 2 3 2 22 1 +2 2 3 3 23 1 +2 2 3 4 22 2 +2 2 3 5 23 2 +2 2 3 6 22 3 +2 2 3 7 23 3 +2 2 3 8 22 4 +2 2 3 9 23 4 +2 2 3 10 22 5 +2 2 3 11 -1 -1 +2 2 3 12 23 5 +2 2 3 13 22 6 +2 2 3 14 23 6 +2 2 3 15 22 7 +2 2 3 16 23 7 +2 2 3 17 22 8 +2 2 3 18 23 8 +2 2 3 19 22 9 +2 2 3 20 23 9 +2 2 3 21 22 10 +2 2 3 22 -1 -1 +2 2 3 23 23 10 +2 2 3 24 22 11 +2 2 3 25 23 11 +2 2 3 26 22 12 +2 2 3 27 23 12 +2 2 3 28 22 13 +2 2 3 29 23 13 +2 2 3 30 22 14 +2 2 3 31 23 14 +2 2 3 32 22 15 +2 2 3 33 23 15 +2 2 3 34 22 16 +2 2 3 35 23 16 +2 2 3 36 22 17 +2 2 3 37 23 17 +2 2 3 38 22 18 +2 2 3 39 23 18 +2 2 3 40 22 19 +2 2 3 41 23 19 +2 2 3 42 22 20 +2 2 3 43 23 20 +2 2 3 44 22 21 +2 2 3 45 -1 -1 +2 2 3 46 23 21 +2 2 3 47 22 22 +2 2 3 48 23 22 +2 2 3 49 22 23 +2 2 3 50 23 23 +2 2 3 51 22 24 +2 2 3 52 23 24 +2 2 3 53 22 25 +2 2 3 54 23 25 +2 2 3 55 22 26 +2 2 3 56 -1 -1 +2 2 3 57 23 26 +2 2 3 58 22 27 +2 2 3 59 23 27 +2 2 3 60 22 28 +2 2 3 61 23 28 +2 2 3 62 22 29 +2 2 3 63 23 29 +2 2 3 64 22 30 +2 2 3 65 23 30 +2 2 3 66 22 31 +2 2 3 67 23 31 +2 3 0 0 23 95 +2 3 0 1 22 95 +2 3 0 2 23 94 +2 3 0 3 22 94 +2 3 0 4 23 93 +2 3 0 5 22 93 +2 3 0 6 23 92 +2 3 0 7 22 92 +2 3 0 8 23 91 +2 3 0 9 22 91 +2 3 0 10 23 90 +2 3 0 11 -1 -1 +2 3 0 12 22 90 +2 3 0 13 23 89 +2 3 0 14 22 89 +2 3 0 15 23 88 +2 3 0 16 22 88 +2 3 0 17 23 87 +2 3 0 18 22 87 +2 3 0 19 23 86 +2 3 0 20 22 86 +2 3 0 21 23 85 +2 3 0 22 -1 -1 +2 3 0 23 22 85 +2 3 0 24 23 84 +2 3 0 25 22 84 +2 3 0 26 23 83 +2 3 0 27 22 83 +2 3 0 28 23 82 +2 3 0 29 22 82 +2 3 0 30 23 81 +2 3 0 31 22 81 +2 3 0 32 23 80 +2 3 0 33 22 80 +2 3 0 34 23 79 +2 3 0 35 22 79 +2 3 0 36 23 78 +2 3 0 37 22 78 +2 3 0 38 23 77 +2 3 0 39 22 77 +2 3 0 40 23 76 +2 3 0 41 22 76 +2 3 0 42 23 75 +2 3 0 43 22 75 +2 3 0 44 23 74 +2 3 0 45 -1 -1 +2 3 0 46 22 74 +2 3 0 47 23 73 +2 3 0 48 22 73 +2 3 0 49 23 72 +2 3 0 50 22 72 +2 3 0 51 23 71 +2 3 0 52 22 71 +2 3 0 53 23 70 +2 3 0 54 22 70 +2 3 0 55 23 69 +2 3 0 56 -1 -1 +2 3 0 57 22 69 +2 3 0 58 23 68 +2 3 0 59 22 68 +2 3 0 60 23 67 +2 3 0 61 22 67 +2 3 0 62 23 66 +2 3 0 63 22 66 +2 3 0 64 23 65 +2 3 0 65 22 65 +2 3 0 66 23 64 +2 3 0 67 22 64 +2 3 1 0 23 127 +2 3 1 1 22 127 +2 3 1 2 23 126 +2 3 1 3 22 126 +2 3 1 4 23 125 +2 3 1 5 22 125 +2 3 1 6 23 124 +2 3 1 7 22 124 +2 3 1 8 23 123 +2 3 1 9 22 123 +2 3 1 10 23 122 +2 3 1 11 -1 -1 +2 3 1 12 22 122 +2 3 1 13 23 121 +2 3 1 14 22 121 +2 3 1 15 23 120 +2 3 1 16 22 120 +2 3 1 17 23 119 +2 3 1 18 22 119 +2 3 1 19 23 118 +2 3 1 20 22 118 +2 3 1 21 23 117 +2 3 1 22 -1 -1 +2 3 1 23 22 117 +2 3 1 24 23 116 +2 3 1 25 22 116 +2 3 1 26 23 115 +2 3 1 27 22 115 +2 3 1 28 23 114 +2 3 1 29 22 114 +2 3 1 30 23 113 +2 3 1 31 22 113 +2 3 1 32 23 112 +2 3 1 33 22 112 +2 3 1 34 23 111 +2 3 1 35 22 111 +2 3 1 36 23 110 +2 3 1 37 22 110 +2 3 1 38 23 109 +2 3 1 39 22 109 +2 3 1 40 23 108 +2 3 1 41 22 108 +2 3 1 42 23 107 +2 3 1 43 22 107 +2 3 1 44 23 106 +2 3 1 45 -1 -1 +2 3 1 46 22 106 +2 3 1 47 23 105 +2 3 1 48 22 105 +2 3 1 49 23 104 +2 3 1 50 22 104 +2 3 1 51 23 103 +2 3 1 52 22 103 +2 3 1 53 23 102 +2 3 1 54 22 102 +2 3 1 55 23 101 +2 3 1 56 -1 -1 +2 3 1 57 22 101 +2 3 1 58 23 100 +2 3 1 59 22 100 +2 3 1 60 23 99 +2 3 1 61 22 99 +2 3 1 62 23 98 +2 3 1 63 22 98 +2 3 1 64 23 97 +2 3 1 65 22 97 +2 3 1 66 23 96 +2 3 1 67 22 96 +2 3 2 0 21 95 +2 3 2 1 20 95 +2 3 2 2 21 94 +2 3 2 3 20 94 +2 3 2 4 21 93 +2 3 2 5 20 93 +2 3 2 6 21 92 +2 3 2 7 20 92 +2 3 2 8 21 91 +2 3 2 9 20 91 +2 3 2 10 21 90 +2 3 2 11 -1 -1 +2 3 2 12 20 90 +2 3 2 13 21 89 +2 3 2 14 20 89 +2 3 2 15 21 88 +2 3 2 16 20 88 +2 3 2 17 21 87 +2 3 2 18 20 87 +2 3 2 19 21 86 +2 3 2 20 20 86 +2 3 2 21 21 85 +2 3 2 22 -1 -1 +2 3 2 23 20 85 +2 3 2 24 21 84 +2 3 2 25 20 84 +2 3 2 26 21 83 +2 3 2 27 20 83 +2 3 2 28 21 82 +2 3 2 29 20 82 +2 3 2 30 21 81 +2 3 2 31 20 81 +2 3 2 32 21 80 +2 3 2 33 20 80 +2 3 2 34 21 79 +2 3 2 35 20 79 +2 3 2 36 21 78 +2 3 2 37 20 78 +2 3 2 38 21 77 +2 3 2 39 20 77 +2 3 2 40 21 76 +2 3 2 41 20 76 +2 3 2 42 21 75 +2 3 2 43 20 75 +2 3 2 44 21 74 +2 3 2 45 -1 -1 +2 3 2 46 20 74 +2 3 2 47 21 73 +2 3 2 48 20 73 +2 3 2 49 21 72 +2 3 2 50 20 72 +2 3 2 51 21 71 +2 3 2 52 20 71 +2 3 2 53 21 70 +2 3 2 54 20 70 +2 3 2 55 21 69 +2 3 2 56 -1 -1 +2 3 2 57 20 69 +2 3 2 58 21 68 +2 3 2 59 20 68 +2 3 2 60 21 67 +2 3 2 61 20 67 +2 3 2 62 21 66 +2 3 2 63 20 66 +2 3 2 64 21 65 +2 3 2 65 20 65 +2 3 2 66 21 64 +2 3 2 67 20 64 +2 3 3 0 21 127 +2 3 3 1 20 127 +2 3 3 2 21 126 +2 3 3 3 20 126 +2 3 3 4 21 125 +2 3 3 5 20 125 +2 3 3 6 21 124 +2 3 3 7 20 124 +2 3 3 8 21 123 +2 3 3 9 20 123 +2 3 3 10 21 122 +2 3 3 11 -1 -1 +2 3 3 12 20 122 +2 3 3 13 21 121 +2 3 3 14 20 121 +2 3 3 15 21 120 +2 3 3 16 20 120 +2 3 3 17 21 119 +2 3 3 18 20 119 +2 3 3 19 21 118 +2 3 3 20 20 118 +2 3 3 21 21 117 +2 3 3 22 -1 -1 +2 3 3 23 20 117 +2 3 3 24 21 116 +2 3 3 25 20 116 +2 3 3 26 21 115 +2 3 3 27 20 115 +2 3 3 28 21 114 +2 3 3 29 20 114 +2 3 3 30 21 113 +2 3 3 31 20 113 +2 3 3 32 21 112 +2 3 3 33 20 112 +2 3 3 34 21 111 +2 3 3 35 20 111 +2 3 3 36 21 110 +2 3 3 37 20 110 +2 3 3 38 21 109 +2 3 3 39 20 109 +2 3 3 40 21 108 +2 3 3 41 20 108 +2 3 3 42 21 107 +2 3 3 43 20 107 +2 3 3 44 21 106 +2 3 3 45 -1 -1 +2 3 3 46 20 106 +2 3 3 47 21 105 +2 3 3 48 20 105 +2 3 3 49 21 104 +2 3 3 50 20 104 +2 3 3 51 21 103 +2 3 3 52 20 103 +2 3 3 53 21 102 +2 3 3 54 20 102 +2 3 3 55 21 101 +2 3 3 56 -1 -1 +2 3 3 57 20 101 +2 3 3 58 21 100 +2 3 3 59 20 100 +2 3 3 60 21 99 +2 3 3 61 20 99 +2 3 3 62 21 98 +2 3 3 63 20 98 +2 3 3 64 21 97 +2 3 3 65 20 97 +2 3 3 66 21 96 +2 3 3 67 20 96 +3 0 0 0 24 32 +3 0 0 1 25 32 +3 0 0 2 24 33 +3 0 0 3 25 33 +3 0 0 4 24 34 +3 0 0 5 25 34 +3 0 0 6 24 35 +3 0 0 7 25 35 +3 0 0 8 24 36 +3 0 0 9 25 36 +3 0 0 10 24 37 +3 0 0 11 -1 -1 +3 0 0 12 25 37 +3 0 0 13 24 38 +3 0 0 14 25 38 +3 0 0 15 24 39 +3 0 0 16 25 39 +3 0 0 17 24 40 +3 0 0 18 25 40 +3 0 0 19 24 41 +3 0 0 20 25 41 +3 0 0 21 24 42 +3 0 0 22 -1 -1 +3 0 0 23 25 42 +3 0 0 24 24 43 +3 0 0 25 25 43 +3 0 0 26 24 44 +3 0 0 27 25 44 +3 0 0 28 24 45 +3 0 0 29 25 45 +3 0 0 30 24 46 +3 0 0 31 25 46 +3 0 0 32 24 47 +3 0 0 33 25 47 +3 0 0 34 24 48 +3 0 0 35 25 48 +3 0 0 36 24 49 +3 0 0 37 25 49 +3 0 0 38 24 50 +3 0 0 39 25 50 +3 0 0 40 24 51 +3 0 0 41 25 51 +3 0 0 42 24 52 +3 0 0 43 25 52 +3 0 0 44 24 53 +3 0 0 45 -1 -1 +3 0 0 46 25 53 +3 0 0 47 24 54 +3 0 0 48 25 54 +3 0 0 49 24 55 +3 0 0 50 25 55 +3 0 0 51 24 56 +3 0 0 52 25 56 +3 0 0 53 24 57 +3 0 0 54 25 57 +3 0 0 55 24 58 +3 0 0 56 -1 -1 +3 0 0 57 25 58 +3 0 0 58 24 59 +3 0 0 59 25 59 +3 0 0 60 24 60 +3 0 0 61 25 60 +3 0 0 62 24 61 +3 0 0 63 25 61 +3 0 0 64 24 62 +3 0 0 65 25 62 +3 0 0 66 24 63 +3 0 0 67 25 63 +3 0 1 0 24 0 +3 0 1 1 25 0 +3 0 1 2 24 1 +3 0 1 3 25 1 +3 0 1 4 24 2 +3 0 1 5 25 2 +3 0 1 6 24 3 +3 0 1 7 25 3 +3 0 1 8 24 4 +3 0 1 9 25 4 +3 0 1 10 24 5 +3 0 1 11 -1 -1 +3 0 1 12 25 5 +3 0 1 13 24 6 +3 0 1 14 25 6 +3 0 1 15 24 7 +3 0 1 16 25 7 +3 0 1 17 24 8 +3 0 1 18 25 8 +3 0 1 19 24 9 +3 0 1 20 25 9 +3 0 1 21 24 10 +3 0 1 22 -1 -1 +3 0 1 23 25 10 +3 0 1 24 24 11 +3 0 1 25 25 11 +3 0 1 26 24 12 +3 0 1 27 25 12 +3 0 1 28 24 13 +3 0 1 29 25 13 +3 0 1 30 24 14 +3 0 1 31 25 14 +3 0 1 32 24 15 +3 0 1 33 25 15 +3 0 1 34 24 16 +3 0 1 35 25 16 +3 0 1 36 24 17 +3 0 1 37 25 17 +3 0 1 38 24 18 +3 0 1 39 25 18 +3 0 1 40 24 19 +3 0 1 41 25 19 +3 0 1 42 24 20 +3 0 1 43 25 20 +3 0 1 44 24 21 +3 0 1 45 -1 -1 +3 0 1 46 25 21 +3 0 1 47 24 22 +3 0 1 48 25 22 +3 0 1 49 24 23 +3 0 1 50 25 23 +3 0 1 51 24 24 +3 0 1 52 25 24 +3 0 1 53 24 25 +3 0 1 54 25 25 +3 0 1 55 24 26 +3 0 1 56 -1 -1 +3 0 1 57 25 26 +3 0 1 58 24 27 +3 0 1 59 25 27 +3 0 1 60 24 28 +3 0 1 61 25 28 +3 0 1 62 24 29 +3 0 1 63 25 29 +3 0 1 64 24 30 +3 0 1 65 25 30 +3 0 1 66 24 31 +3 0 1 67 25 31 +3 0 2 0 26 32 +3 0 2 1 27 32 +3 0 2 2 26 33 +3 0 2 3 27 33 +3 0 2 4 26 34 +3 0 2 5 27 34 +3 0 2 6 26 35 +3 0 2 7 27 35 +3 0 2 8 26 36 +3 0 2 9 27 36 +3 0 2 10 26 37 +3 0 2 11 -1 -1 +3 0 2 12 27 37 +3 0 2 13 26 38 +3 0 2 14 27 38 +3 0 2 15 26 39 +3 0 2 16 27 39 +3 0 2 17 26 40 +3 0 2 18 27 40 +3 0 2 19 26 41 +3 0 2 20 27 41 +3 0 2 21 26 42 +3 0 2 22 -1 -1 +3 0 2 23 27 42 +3 0 2 24 26 43 +3 0 2 25 27 43 +3 0 2 26 26 44 +3 0 2 27 27 44 +3 0 2 28 26 45 +3 0 2 29 27 45 +3 0 2 30 26 46 +3 0 2 31 27 46 +3 0 2 32 26 47 +3 0 2 33 27 47 +3 0 2 34 26 48 +3 0 2 35 27 48 +3 0 2 36 26 49 +3 0 2 37 27 49 +3 0 2 38 26 50 +3 0 2 39 27 50 +3 0 2 40 26 51 +3 0 2 41 27 51 +3 0 2 42 26 52 +3 0 2 43 27 52 +3 0 2 44 26 53 +3 0 2 45 -1 -1 +3 0 2 46 27 53 +3 0 2 47 26 54 +3 0 2 48 27 54 +3 0 2 49 26 55 +3 0 2 50 27 55 +3 0 2 51 26 56 +3 0 2 52 27 56 +3 0 2 53 26 57 +3 0 2 54 27 57 +3 0 2 55 26 58 +3 0 2 56 -1 -1 +3 0 2 57 27 58 +3 0 2 58 26 59 +3 0 2 59 27 59 +3 0 2 60 26 60 +3 0 2 61 27 60 +3 0 2 62 26 61 +3 0 2 63 27 61 +3 0 2 64 26 62 +3 0 2 65 27 62 +3 0 2 66 26 63 +3 0 2 67 27 63 +3 0 3 0 26 0 +3 0 3 1 27 0 +3 0 3 2 26 1 +3 0 3 3 27 1 +3 0 3 4 26 2 +3 0 3 5 27 2 +3 0 3 6 26 3 +3 0 3 7 27 3 +3 0 3 8 26 4 +3 0 3 9 27 4 +3 0 3 10 26 5 +3 0 3 11 -1 -1 +3 0 3 12 27 5 +3 0 3 13 26 6 +3 0 3 14 27 6 +3 0 3 15 26 7 +3 0 3 16 27 7 +3 0 3 17 26 8 +3 0 3 18 27 8 +3 0 3 19 26 9 +3 0 3 20 27 9 +3 0 3 21 26 10 +3 0 3 22 -1 -1 +3 0 3 23 27 10 +3 0 3 24 26 11 +3 0 3 25 27 11 +3 0 3 26 26 12 +3 0 3 27 27 12 +3 0 3 28 26 13 +3 0 3 29 27 13 +3 0 3 30 26 14 +3 0 3 31 27 14 +3 0 3 32 26 15 +3 0 3 33 27 15 +3 0 3 34 26 16 +3 0 3 35 27 16 +3 0 3 36 26 17 +3 0 3 37 27 17 +3 0 3 38 26 18 +3 0 3 39 27 18 +3 0 3 40 26 19 +3 0 3 41 27 19 +3 0 3 42 26 20 +3 0 3 43 27 20 +3 0 3 44 26 21 +3 0 3 45 -1 -1 +3 0 3 46 27 21 +3 0 3 47 26 22 +3 0 3 48 27 22 +3 0 3 49 26 23 +3 0 3 50 27 23 +3 0 3 51 26 24 +3 0 3 52 27 24 +3 0 3 53 26 25 +3 0 3 54 27 25 +3 0 3 55 26 26 +3 0 3 56 -1 -1 +3 0 3 57 27 26 +3 0 3 58 26 27 +3 0 3 59 27 27 +3 0 3 60 26 28 +3 0 3 61 27 28 +3 0 3 62 26 29 +3 0 3 63 27 29 +3 0 3 64 26 30 +3 0 3 65 27 30 +3 0 3 66 26 31 +3 0 3 67 27 31 +3 1 0 0 27 95 +3 1 0 1 26 95 +3 1 0 2 27 94 +3 1 0 3 26 94 +3 1 0 4 27 93 +3 1 0 5 26 93 +3 1 0 6 27 92 +3 1 0 7 26 92 +3 1 0 8 27 91 +3 1 0 9 26 91 +3 1 0 10 27 90 +3 1 0 11 -1 -1 +3 1 0 12 26 90 +3 1 0 13 27 89 +3 1 0 14 26 89 +3 1 0 15 27 88 +3 1 0 16 26 88 +3 1 0 17 27 87 +3 1 0 18 26 87 +3 1 0 19 27 86 +3 1 0 20 26 86 +3 1 0 21 27 85 +3 1 0 22 -1 -1 +3 1 0 23 26 85 +3 1 0 24 27 84 +3 1 0 25 26 84 +3 1 0 26 27 83 +3 1 0 27 26 83 +3 1 0 28 27 82 +3 1 0 29 26 82 +3 1 0 30 27 81 +3 1 0 31 26 81 +3 1 0 32 27 80 +3 1 0 33 26 80 +3 1 0 34 27 79 +3 1 0 35 26 79 +3 1 0 36 27 78 +3 1 0 37 26 78 +3 1 0 38 27 77 +3 1 0 39 26 77 +3 1 0 40 27 76 +3 1 0 41 26 76 +3 1 0 42 27 75 +3 1 0 43 26 75 +3 1 0 44 27 74 +3 1 0 45 -1 -1 +3 1 0 46 26 74 +3 1 0 47 27 73 +3 1 0 48 26 73 +3 1 0 49 27 72 +3 1 0 50 26 72 +3 1 0 51 27 71 +3 1 0 52 26 71 +3 1 0 53 27 70 +3 1 0 54 26 70 +3 1 0 55 27 69 +3 1 0 56 -1 -1 +3 1 0 57 26 69 +3 1 0 58 27 68 +3 1 0 59 26 68 +3 1 0 60 27 67 +3 1 0 61 26 67 +3 1 0 62 27 66 +3 1 0 63 26 66 +3 1 0 64 27 65 +3 1 0 65 26 65 +3 1 0 66 27 64 +3 1 0 67 26 64 +3 1 1 0 27 127 +3 1 1 1 26 127 +3 1 1 2 27 126 +3 1 1 3 26 126 +3 1 1 4 27 125 +3 1 1 5 26 125 +3 1 1 6 27 124 +3 1 1 7 26 124 +3 1 1 8 27 123 +3 1 1 9 26 123 +3 1 1 10 27 122 +3 1 1 11 -1 -1 +3 1 1 12 26 122 +3 1 1 13 27 121 +3 1 1 14 26 121 +3 1 1 15 27 120 +3 1 1 16 26 120 +3 1 1 17 27 119 +3 1 1 18 26 119 +3 1 1 19 27 118 +3 1 1 20 26 118 +3 1 1 21 27 117 +3 1 1 22 -1 -1 +3 1 1 23 26 117 +3 1 1 24 27 116 +3 1 1 25 26 116 +3 1 1 26 27 115 +3 1 1 27 26 115 +3 1 1 28 27 114 +3 1 1 29 26 114 +3 1 1 30 27 113 +3 1 1 31 26 113 +3 1 1 32 27 112 +3 1 1 33 26 112 +3 1 1 34 27 111 +3 1 1 35 26 111 +3 1 1 36 27 110 +3 1 1 37 26 110 +3 1 1 38 27 109 +3 1 1 39 26 109 +3 1 1 40 27 108 +3 1 1 41 26 108 +3 1 1 42 27 107 +3 1 1 43 26 107 +3 1 1 44 27 106 +3 1 1 45 -1 -1 +3 1 1 46 26 106 +3 1 1 47 27 105 +3 1 1 48 26 105 +3 1 1 49 27 104 +3 1 1 50 26 104 +3 1 1 51 27 103 +3 1 1 52 26 103 +3 1 1 53 27 102 +3 1 1 54 26 102 +3 1 1 55 27 101 +3 1 1 56 -1 -1 +3 1 1 57 26 101 +3 1 1 58 27 100 +3 1 1 59 26 100 +3 1 1 60 27 99 +3 1 1 61 26 99 +3 1 1 62 27 98 +3 1 1 63 26 98 +3 1 1 64 27 97 +3 1 1 65 26 97 +3 1 1 66 27 96 +3 1 1 67 26 96 +3 1 2 0 25 95 +3 1 2 1 24 95 +3 1 2 2 25 94 +3 1 2 3 24 94 +3 1 2 4 25 93 +3 1 2 5 24 93 +3 1 2 6 25 92 +3 1 2 7 24 92 +3 1 2 8 25 91 +3 1 2 9 24 91 +3 1 2 10 25 90 +3 1 2 11 -1 -1 +3 1 2 12 24 90 +3 1 2 13 25 89 +3 1 2 14 24 89 +3 1 2 15 25 88 +3 1 2 16 24 88 +3 1 2 17 25 87 +3 1 2 18 24 87 +3 1 2 19 25 86 +3 1 2 20 24 86 +3 1 2 21 25 85 +3 1 2 22 -1 -1 +3 1 2 23 24 85 +3 1 2 24 25 84 +3 1 2 25 24 84 +3 1 2 26 25 83 +3 1 2 27 24 83 +3 1 2 28 25 82 +3 1 2 29 24 82 +3 1 2 30 25 81 +3 1 2 31 24 81 +3 1 2 32 25 80 +3 1 2 33 24 80 +3 1 2 34 25 79 +3 1 2 35 24 79 +3 1 2 36 25 78 +3 1 2 37 24 78 +3 1 2 38 25 77 +3 1 2 39 24 77 +3 1 2 40 25 76 +3 1 2 41 24 76 +3 1 2 42 25 75 +3 1 2 43 24 75 +3 1 2 44 25 74 +3 1 2 45 -1 -1 +3 1 2 46 24 74 +3 1 2 47 25 73 +3 1 2 48 24 73 +3 1 2 49 25 72 +3 1 2 50 24 72 +3 1 2 51 25 71 +3 1 2 52 24 71 +3 1 2 53 25 70 +3 1 2 54 24 70 +3 1 2 55 25 69 +3 1 2 56 -1 -1 +3 1 2 57 24 69 +3 1 2 58 25 68 +3 1 2 59 24 68 +3 1 2 60 25 67 +3 1 2 61 24 67 +3 1 2 62 25 66 +3 1 2 63 24 66 +3 1 2 64 25 65 +3 1 2 65 24 65 +3 1 2 66 25 64 +3 1 2 67 24 64 +3 1 3 0 25 127 +3 1 3 1 24 127 +3 1 3 2 25 126 +3 1 3 3 24 126 +3 1 3 4 25 125 +3 1 3 5 24 125 +3 1 3 6 25 124 +3 1 3 7 24 124 +3 1 3 8 25 123 +3 1 3 9 24 123 +3 1 3 10 25 122 +3 1 3 11 -1 -1 +3 1 3 12 24 122 +3 1 3 13 25 121 +3 1 3 14 24 121 +3 1 3 15 25 120 +3 1 3 16 24 120 +3 1 3 17 25 119 +3 1 3 18 24 119 +3 1 3 19 25 118 +3 1 3 20 24 118 +3 1 3 21 25 117 +3 1 3 22 -1 -1 +3 1 3 23 24 117 +3 1 3 24 25 116 +3 1 3 25 24 116 +3 1 3 26 25 115 +3 1 3 27 24 115 +3 1 3 28 25 114 +3 1 3 29 24 114 +3 1 3 30 25 113 +3 1 3 31 24 113 +3 1 3 32 25 112 +3 1 3 33 24 112 +3 1 3 34 25 111 +3 1 3 35 24 111 +3 1 3 36 25 110 +3 1 3 37 24 110 +3 1 3 38 25 109 +3 1 3 39 24 109 +3 1 3 40 25 108 +3 1 3 41 24 108 +3 1 3 42 25 107 +3 1 3 43 24 107 +3 1 3 44 25 106 +3 1 3 45 -1 -1 +3 1 3 46 24 106 +3 1 3 47 25 105 +3 1 3 48 24 105 +3 1 3 49 25 104 +3 1 3 50 24 104 +3 1 3 51 25 103 +3 1 3 52 24 103 +3 1 3 53 25 102 +3 1 3 54 24 102 +3 1 3 55 25 101 +3 1 3 56 -1 -1 +3 1 3 57 24 101 +3 1 3 58 25 100 +3 1 3 59 24 100 +3 1 3 60 25 99 +3 1 3 61 24 99 +3 1 3 62 25 98 +3 1 3 63 24 98 +3 1 3 64 25 97 +3 1 3 65 24 97 +3 1 3 66 25 96 +3 1 3 67 24 96 +3 2 0 0 28 32 +3 2 0 1 29 32 +3 2 0 2 28 33 +3 2 0 3 29 33 +3 2 0 4 28 34 +3 2 0 5 29 34 +3 2 0 6 28 35 +3 2 0 7 29 35 +3 2 0 8 28 36 +3 2 0 9 29 36 +3 2 0 10 28 37 +3 2 0 11 -1 -1 +3 2 0 12 29 37 +3 2 0 13 28 38 +3 2 0 14 29 38 +3 2 0 15 28 39 +3 2 0 16 29 39 +3 2 0 17 28 40 +3 2 0 18 29 40 +3 2 0 19 28 41 +3 2 0 20 29 41 +3 2 0 21 28 42 +3 2 0 22 -1 -1 +3 2 0 23 29 42 +3 2 0 24 28 43 +3 2 0 25 29 43 +3 2 0 26 28 44 +3 2 0 27 29 44 +3 2 0 28 28 45 +3 2 0 29 29 45 +3 2 0 30 28 46 +3 2 0 31 29 46 +3 2 0 32 28 47 +3 2 0 33 29 47 +3 2 0 34 28 48 +3 2 0 35 29 48 +3 2 0 36 28 49 +3 2 0 37 29 49 +3 2 0 38 28 50 +3 2 0 39 29 50 +3 2 0 40 28 51 +3 2 0 41 29 51 +3 2 0 42 28 52 +3 2 0 43 29 52 +3 2 0 44 28 53 +3 2 0 45 -1 -1 +3 2 0 46 29 53 +3 2 0 47 28 54 +3 2 0 48 29 54 +3 2 0 49 28 55 +3 2 0 50 29 55 +3 2 0 51 28 56 +3 2 0 52 29 56 +3 2 0 53 28 57 +3 2 0 54 29 57 +3 2 0 55 28 58 +3 2 0 56 -1 -1 +3 2 0 57 29 58 +3 2 0 58 28 59 +3 2 0 59 29 59 +3 2 0 60 28 60 +3 2 0 61 29 60 +3 2 0 62 28 61 +3 2 0 63 29 61 +3 2 0 64 28 62 +3 2 0 65 29 62 +3 2 0 66 28 63 +3 2 0 67 29 63 +3 2 1 0 28 0 +3 2 1 1 29 0 +3 2 1 2 28 1 +3 2 1 3 29 1 +3 2 1 4 28 2 +3 2 1 5 29 2 +3 2 1 6 28 3 +3 2 1 7 29 3 +3 2 1 8 28 4 +3 2 1 9 29 4 +3 2 1 10 28 5 +3 2 1 11 -1 -1 +3 2 1 12 29 5 +3 2 1 13 28 6 +3 2 1 14 29 6 +3 2 1 15 28 7 +3 2 1 16 29 7 +3 2 1 17 28 8 +3 2 1 18 29 8 +3 2 1 19 28 9 +3 2 1 20 29 9 +3 2 1 21 28 10 +3 2 1 22 -1 -1 +3 2 1 23 29 10 +3 2 1 24 28 11 +3 2 1 25 29 11 +3 2 1 26 28 12 +3 2 1 27 29 12 +3 2 1 28 28 13 +3 2 1 29 29 13 +3 2 1 30 28 14 +3 2 1 31 29 14 +3 2 1 32 28 15 +3 2 1 33 29 15 +3 2 1 34 28 16 +3 2 1 35 29 16 +3 2 1 36 28 17 +3 2 1 37 29 17 +3 2 1 38 28 18 +3 2 1 39 29 18 +3 2 1 40 28 19 +3 2 1 41 29 19 +3 2 1 42 28 20 +3 2 1 43 29 20 +3 2 1 44 28 21 +3 2 1 45 -1 -1 +3 2 1 46 29 21 +3 2 1 47 28 22 +3 2 1 48 29 22 +3 2 1 49 28 23 +3 2 1 50 29 23 +3 2 1 51 28 24 +3 2 1 52 29 24 +3 2 1 53 28 25 +3 2 1 54 29 25 +3 2 1 55 28 26 +3 2 1 56 -1 -1 +3 2 1 57 29 26 +3 2 1 58 28 27 +3 2 1 59 29 27 +3 2 1 60 28 28 +3 2 1 61 29 28 +3 2 1 62 28 29 +3 2 1 63 29 29 +3 2 1 64 28 30 +3 2 1 65 29 30 +3 2 1 66 28 31 +3 2 1 67 29 31 +3 2 2 0 30 32 +3 2 2 1 31 32 +3 2 2 2 30 33 +3 2 2 3 31 33 +3 2 2 4 30 34 +3 2 2 5 31 34 +3 2 2 6 30 35 +3 2 2 7 31 35 +3 2 2 8 30 36 +3 2 2 9 31 36 +3 2 2 10 30 37 +3 2 2 11 -1 -1 +3 2 2 12 31 37 +3 2 2 13 30 38 +3 2 2 14 31 38 +3 2 2 15 30 39 +3 2 2 16 31 39 +3 2 2 17 30 40 +3 2 2 18 31 40 +3 2 2 19 30 41 +3 2 2 20 31 41 +3 2 2 21 30 42 +3 2 2 22 -1 -1 +3 2 2 23 31 42 +3 2 2 24 30 43 +3 2 2 25 31 43 +3 2 2 26 30 44 +3 2 2 27 31 44 +3 2 2 28 30 45 +3 2 2 29 31 45 +3 2 2 30 30 46 +3 2 2 31 31 46 +3 2 2 32 30 47 +3 2 2 33 31 47 +3 2 2 34 30 48 +3 2 2 35 31 48 +3 2 2 36 30 49 +3 2 2 37 31 49 +3 2 2 38 30 50 +3 2 2 39 31 50 +3 2 2 40 30 51 +3 2 2 41 31 51 +3 2 2 42 30 52 +3 2 2 43 31 52 +3 2 2 44 30 53 +3 2 2 45 -1 -1 +3 2 2 46 31 53 +3 2 2 47 30 54 +3 2 2 48 31 54 +3 2 2 49 30 55 +3 2 2 50 31 55 +3 2 2 51 30 56 +3 2 2 52 31 56 +3 2 2 53 30 57 +3 2 2 54 31 57 +3 2 2 55 30 58 +3 2 2 56 -1 -1 +3 2 2 57 31 58 +3 2 2 58 30 59 +3 2 2 59 31 59 +3 2 2 60 30 60 +3 2 2 61 31 60 +3 2 2 62 30 61 +3 2 2 63 31 61 +3 2 2 64 30 62 +3 2 2 65 31 62 +3 2 2 66 30 63 +3 2 2 67 31 63 +3 2 3 0 30 0 +3 2 3 1 31 0 +3 2 3 2 30 1 +3 2 3 3 31 1 +3 2 3 4 30 2 +3 2 3 5 31 2 +3 2 3 6 30 3 +3 2 3 7 31 3 +3 2 3 8 30 4 +3 2 3 9 31 4 +3 2 3 10 30 5 +3 2 3 11 -1 -1 +3 2 3 12 31 5 +3 2 3 13 30 6 +3 2 3 14 31 6 +3 2 3 15 30 7 +3 2 3 16 31 7 +3 2 3 17 30 8 +3 2 3 18 31 8 +3 2 3 19 30 9 +3 2 3 20 31 9 +3 2 3 21 30 10 +3 2 3 22 -1 -1 +3 2 3 23 31 10 +3 2 3 24 30 11 +3 2 3 25 31 11 +3 2 3 26 30 12 +3 2 3 27 31 12 +3 2 3 28 30 13 +3 2 3 29 31 13 +3 2 3 30 30 14 +3 2 3 31 31 14 +3 2 3 32 30 15 +3 2 3 33 31 15 +3 2 3 34 30 16 +3 2 3 35 31 16 +3 2 3 36 30 17 +3 2 3 37 31 17 +3 2 3 38 30 18 +3 2 3 39 31 18 +3 2 3 40 30 19 +3 2 3 41 31 19 +3 2 3 42 30 20 +3 2 3 43 31 20 +3 2 3 44 30 21 +3 2 3 45 -1 -1 +3 2 3 46 31 21 +3 2 3 47 30 22 +3 2 3 48 31 22 +3 2 3 49 30 23 +3 2 3 50 31 23 +3 2 3 51 30 24 +3 2 3 52 31 24 +3 2 3 53 30 25 +3 2 3 54 31 25 +3 2 3 55 30 26 +3 2 3 56 -1 -1 +3 2 3 57 31 26 +3 2 3 58 30 27 +3 2 3 59 31 27 +3 2 3 60 30 28 +3 2 3 61 31 28 +3 2 3 62 30 29 +3 2 3 63 31 29 +3 2 3 64 30 30 +3 2 3 65 31 30 +3 2 3 66 30 31 +3 2 3 67 31 31 +3 3 0 0 31 95 +3 3 0 1 30 95 +3 3 0 2 31 94 +3 3 0 3 30 94 +3 3 0 4 31 93 +3 3 0 5 30 93 +3 3 0 6 31 92 +3 3 0 7 30 92 +3 3 0 8 31 91 +3 3 0 9 30 91 +3 3 0 10 31 90 +3 3 0 11 -1 -1 +3 3 0 12 30 90 +3 3 0 13 31 89 +3 3 0 14 30 89 +3 3 0 15 31 88 +3 3 0 16 30 88 +3 3 0 17 31 87 +3 3 0 18 30 87 +3 3 0 19 31 86 +3 3 0 20 30 86 +3 3 0 21 31 85 +3 3 0 22 -1 -1 +3 3 0 23 30 85 +3 3 0 24 31 84 +3 3 0 25 30 84 +3 3 0 26 31 83 +3 3 0 27 30 83 +3 3 0 28 31 82 +3 3 0 29 30 82 +3 3 0 30 31 81 +3 3 0 31 30 81 +3 3 0 32 31 80 +3 3 0 33 30 80 +3 3 0 34 31 79 +3 3 0 35 30 79 +3 3 0 36 31 78 +3 3 0 37 30 78 +3 3 0 38 31 77 +3 3 0 39 30 77 +3 3 0 40 31 76 +3 3 0 41 30 76 +3 3 0 42 31 75 +3 3 0 43 30 75 +3 3 0 44 31 74 +3 3 0 45 -1 -1 +3 3 0 46 30 74 +3 3 0 47 31 73 +3 3 0 48 30 73 +3 3 0 49 31 72 +3 3 0 50 30 72 +3 3 0 51 31 71 +3 3 0 52 30 71 +3 3 0 53 31 70 +3 3 0 54 30 70 +3 3 0 55 31 69 +3 3 0 56 -1 -1 +3 3 0 57 30 69 +3 3 0 58 31 68 +3 3 0 59 30 68 +3 3 0 60 31 67 +3 3 0 61 30 67 +3 3 0 62 31 66 +3 3 0 63 30 66 +3 3 0 64 31 65 +3 3 0 65 30 65 +3 3 0 66 31 64 +3 3 0 67 30 64 +3 3 1 0 31 127 +3 3 1 1 30 127 +3 3 1 2 31 126 +3 3 1 3 30 126 +3 3 1 4 31 125 +3 3 1 5 30 125 +3 3 1 6 31 124 +3 3 1 7 30 124 +3 3 1 8 31 123 +3 3 1 9 30 123 +3 3 1 10 31 122 +3 3 1 11 -1 -1 +3 3 1 12 30 122 +3 3 1 13 31 121 +3 3 1 14 30 121 +3 3 1 15 31 120 +3 3 1 16 30 120 +3 3 1 17 31 119 +3 3 1 18 30 119 +3 3 1 19 31 118 +3 3 1 20 30 118 +3 3 1 21 31 117 +3 3 1 22 -1 -1 +3 3 1 23 30 117 +3 3 1 24 31 116 +3 3 1 25 30 116 +3 3 1 26 31 115 +3 3 1 27 30 115 +3 3 1 28 31 114 +3 3 1 29 30 114 +3 3 1 30 31 113 +3 3 1 31 30 113 +3 3 1 32 31 112 +3 3 1 33 30 112 +3 3 1 34 31 111 +3 3 1 35 30 111 +3 3 1 36 31 110 +3 3 1 37 30 110 +3 3 1 38 31 109 +3 3 1 39 30 109 +3 3 1 40 31 108 +3 3 1 41 30 108 +3 3 1 42 31 107 +3 3 1 43 30 107 +3 3 1 44 31 106 +3 3 1 45 -1 -1 +3 3 1 46 30 106 +3 3 1 47 31 105 +3 3 1 48 30 105 +3 3 1 49 31 104 +3 3 1 50 30 104 +3 3 1 51 31 103 +3 3 1 52 30 103 +3 3 1 53 31 102 +3 3 1 54 30 102 +3 3 1 55 31 101 +3 3 1 56 -1 -1 +3 3 1 57 30 101 +3 3 1 58 31 100 +3 3 1 59 30 100 +3 3 1 60 31 99 +3 3 1 61 30 99 +3 3 1 62 31 98 +3 3 1 63 30 98 +3 3 1 64 31 97 +3 3 1 65 30 97 +3 3 1 66 31 96 +3 3 1 67 30 96 +3 3 2 0 29 95 +3 3 2 1 28 95 +3 3 2 2 29 94 +3 3 2 3 28 94 +3 3 2 4 29 93 +3 3 2 5 28 93 +3 3 2 6 29 92 +3 3 2 7 28 92 +3 3 2 8 29 91 +3 3 2 9 28 91 +3 3 2 10 29 90 +3 3 2 11 -1 -1 +3 3 2 12 28 90 +3 3 2 13 29 89 +3 3 2 14 28 89 +3 3 2 15 29 88 +3 3 2 16 28 88 +3 3 2 17 29 87 +3 3 2 18 28 87 +3 3 2 19 29 86 +3 3 2 20 28 86 +3 3 2 21 29 85 +3 3 2 22 -1 -1 +3 3 2 23 28 85 +3 3 2 24 29 84 +3 3 2 25 28 84 +3 3 2 26 29 83 +3 3 2 27 28 83 +3 3 2 28 29 82 +3 3 2 29 28 82 +3 3 2 30 29 81 +3 3 2 31 28 81 +3 3 2 32 29 80 +3 3 2 33 28 80 +3 3 2 34 29 79 +3 3 2 35 28 79 +3 3 2 36 29 78 +3 3 2 37 28 78 +3 3 2 38 29 77 +3 3 2 39 28 77 +3 3 2 40 29 76 +3 3 2 41 28 76 +3 3 2 42 29 75 +3 3 2 43 28 75 +3 3 2 44 29 74 +3 3 2 45 -1 -1 +3 3 2 46 28 74 +3 3 2 47 29 73 +3 3 2 48 28 73 +3 3 2 49 29 72 +3 3 2 50 28 72 +3 3 2 51 29 71 +3 3 2 52 28 71 +3 3 2 53 29 70 +3 3 2 54 28 70 +3 3 2 55 29 69 +3 3 2 56 -1 -1 +3 3 2 57 28 69 +3 3 2 58 29 68 +3 3 2 59 28 68 +3 3 2 60 29 67 +3 3 2 61 28 67 +3 3 2 62 29 66 +3 3 2 63 28 66 +3 3 2 64 29 65 +3 3 2 65 28 65 +3 3 2 66 29 64 +3 3 2 67 28 64 +3 3 3 0 29 127 +3 3 3 1 28 127 +3 3 3 2 29 126 +3 3 3 3 28 126 +3 3 3 4 29 125 +3 3 3 5 28 125 +3 3 3 6 29 124 +3 3 3 7 28 124 +3 3 3 8 29 123 +3 3 3 9 28 123 +3 3 3 10 29 122 +3 3 3 11 -1 -1 +3 3 3 12 28 122 +3 3 3 13 29 121 +3 3 3 14 28 121 +3 3 3 15 29 120 +3 3 3 16 28 120 +3 3 3 17 29 119 +3 3 3 18 28 119 +3 3 3 19 29 118 +3 3 3 20 28 118 +3 3 3 21 29 117 +3 3 3 22 -1 -1 +3 3 3 23 28 117 +3 3 3 24 29 116 +3 3 3 25 28 116 +3 3 3 26 29 115 +3 3 3 27 28 115 +3 3 3 28 29 114 +3 3 3 29 28 114 +3 3 3 30 29 113 +3 3 3 31 28 113 +3 3 3 32 29 112 +3 3 3 33 28 112 +3 3 3 34 29 111 +3 3 3 35 28 111 +3 3 3 36 29 110 +3 3 3 37 28 110 +3 3 3 38 29 109 +3 3 3 39 28 109 +3 3 3 40 29 108 +3 3 3 41 28 108 +3 3 3 42 29 107 +3 3 3 43 28 107 +3 3 3 44 29 106 +3 3 3 45 -1 -1 +3 3 3 46 28 106 +3 3 3 47 29 105 +3 3 3 48 28 105 +3 3 3 49 29 104 +3 3 3 50 28 104 +3 3 3 51 29 103 +3 3 3 52 28 103 +3 3 3 53 29 102 +3 3 3 54 28 102 +3 3 3 55 29 101 +3 3 3 56 -1 -1 +3 3 3 57 28 101 +3 3 3 58 29 100 +3 3 3 59 28 100 +3 3 3 60 29 99 +3 3 3 61 28 99 +3 3 3 62 29 98 +3 3 3 63 28 98 +3 3 3 64 29 97 +3 3 3 65 28 97 +3 3 3 66 29 96 +3 3 3 67 28 96 +4 0 0 0 32 32 +4 0 0 1 33 32 +4 0 0 2 32 33 +4 0 0 3 33 33 +4 0 0 4 32 34 +4 0 0 5 33 34 +4 0 0 6 32 35 +4 0 0 7 33 35 +4 0 0 8 32 36 +4 0 0 9 33 36 +4 0 0 10 32 37 +4 0 0 11 -1 -1 +4 0 0 12 33 37 +4 0 0 13 32 38 +4 0 0 14 33 38 +4 0 0 15 32 39 +4 0 0 16 33 39 +4 0 0 17 32 40 +4 0 0 18 33 40 +4 0 0 19 32 41 +4 0 0 20 33 41 +4 0 0 21 32 42 +4 0 0 22 -1 -1 +4 0 0 23 33 42 +4 0 0 24 32 43 +4 0 0 25 33 43 +4 0 0 26 32 44 +4 0 0 27 33 44 +4 0 0 28 32 45 +4 0 0 29 33 45 +4 0 0 30 32 46 +4 0 0 31 33 46 +4 0 0 32 32 47 +4 0 0 33 33 47 +4 0 0 34 32 48 +4 0 0 35 33 48 +4 0 0 36 32 49 +4 0 0 37 33 49 +4 0 0 38 32 50 +4 0 0 39 33 50 +4 0 0 40 32 51 +4 0 0 41 33 51 +4 0 0 42 32 52 +4 0 0 43 33 52 +4 0 0 44 32 53 +4 0 0 45 -1 -1 +4 0 0 46 33 53 +4 0 0 47 32 54 +4 0 0 48 33 54 +4 0 0 49 32 55 +4 0 0 50 33 55 +4 0 0 51 32 56 +4 0 0 52 33 56 +4 0 0 53 32 57 +4 0 0 54 33 57 +4 0 0 55 32 58 +4 0 0 56 -1 -1 +4 0 0 57 33 58 +4 0 0 58 32 59 +4 0 0 59 33 59 +4 0 0 60 32 60 +4 0 0 61 33 60 +4 0 0 62 32 61 +4 0 0 63 33 61 +4 0 0 64 32 62 +4 0 0 65 33 62 +4 0 0 66 32 63 +4 0 0 67 33 63 +4 0 1 0 32 0 +4 0 1 1 33 0 +4 0 1 2 32 1 +4 0 1 3 33 1 +4 0 1 4 32 2 +4 0 1 5 33 2 +4 0 1 6 32 3 +4 0 1 7 33 3 +4 0 1 8 32 4 +4 0 1 9 33 4 +4 0 1 10 32 5 +4 0 1 11 -1 -1 +4 0 1 12 33 5 +4 0 1 13 32 6 +4 0 1 14 33 6 +4 0 1 15 32 7 +4 0 1 16 33 7 +4 0 1 17 32 8 +4 0 1 18 33 8 +4 0 1 19 32 9 +4 0 1 20 33 9 +4 0 1 21 32 10 +4 0 1 22 -1 -1 +4 0 1 23 33 10 +4 0 1 24 32 11 +4 0 1 25 33 11 +4 0 1 26 32 12 +4 0 1 27 33 12 +4 0 1 28 32 13 +4 0 1 29 33 13 +4 0 1 30 32 14 +4 0 1 31 33 14 +4 0 1 32 32 15 +4 0 1 33 33 15 +4 0 1 34 32 16 +4 0 1 35 33 16 +4 0 1 36 32 17 +4 0 1 37 33 17 +4 0 1 38 32 18 +4 0 1 39 33 18 +4 0 1 40 32 19 +4 0 1 41 33 19 +4 0 1 42 32 20 +4 0 1 43 33 20 +4 0 1 44 32 21 +4 0 1 45 -1 -1 +4 0 1 46 33 21 +4 0 1 47 32 22 +4 0 1 48 33 22 +4 0 1 49 32 23 +4 0 1 50 33 23 +4 0 1 51 32 24 +4 0 1 52 33 24 +4 0 1 53 32 25 +4 0 1 54 33 25 +4 0 1 55 32 26 +4 0 1 56 -1 -1 +4 0 1 57 33 26 +4 0 1 58 32 27 +4 0 1 59 33 27 +4 0 1 60 32 28 +4 0 1 61 33 28 +4 0 1 62 32 29 +4 0 1 63 33 29 +4 0 1 64 32 30 +4 0 1 65 33 30 +4 0 1 66 32 31 +4 0 1 67 33 31 +4 0 2 0 34 32 +4 0 2 1 35 32 +4 0 2 2 34 33 +4 0 2 3 35 33 +4 0 2 4 34 34 +4 0 2 5 35 34 +4 0 2 6 34 35 +4 0 2 7 35 35 +4 0 2 8 34 36 +4 0 2 9 35 36 +4 0 2 10 34 37 +4 0 2 11 -1 -1 +4 0 2 12 35 37 +4 0 2 13 34 38 +4 0 2 14 35 38 +4 0 2 15 34 39 +4 0 2 16 35 39 +4 0 2 17 34 40 +4 0 2 18 35 40 +4 0 2 19 34 41 +4 0 2 20 35 41 +4 0 2 21 34 42 +4 0 2 22 -1 -1 +4 0 2 23 35 42 +4 0 2 24 34 43 +4 0 2 25 35 43 +4 0 2 26 34 44 +4 0 2 27 35 44 +4 0 2 28 34 45 +4 0 2 29 35 45 +4 0 2 30 34 46 +4 0 2 31 35 46 +4 0 2 32 34 47 +4 0 2 33 35 47 +4 0 2 34 34 48 +4 0 2 35 35 48 +4 0 2 36 34 49 +4 0 2 37 35 49 +4 0 2 38 34 50 +4 0 2 39 35 50 +4 0 2 40 34 51 +4 0 2 41 35 51 +4 0 2 42 34 52 +4 0 2 43 35 52 +4 0 2 44 34 53 +4 0 2 45 -1 -1 +4 0 2 46 35 53 +4 0 2 47 34 54 +4 0 2 48 35 54 +4 0 2 49 34 55 +4 0 2 50 35 55 +4 0 2 51 34 56 +4 0 2 52 35 56 +4 0 2 53 34 57 +4 0 2 54 35 57 +4 0 2 55 34 58 +4 0 2 56 -1 -1 +4 0 2 57 35 58 +4 0 2 58 34 59 +4 0 2 59 35 59 +4 0 2 60 34 60 +4 0 2 61 35 60 +4 0 2 62 34 61 +4 0 2 63 35 61 +4 0 2 64 34 62 +4 0 2 65 35 62 +4 0 2 66 34 63 +4 0 2 67 35 63 +4 0 3 0 34 0 +4 0 3 1 35 0 +4 0 3 2 34 1 +4 0 3 3 35 1 +4 0 3 4 34 2 +4 0 3 5 35 2 +4 0 3 6 34 3 +4 0 3 7 35 3 +4 0 3 8 34 4 +4 0 3 9 35 4 +4 0 3 10 34 5 +4 0 3 11 -1 -1 +4 0 3 12 35 5 +4 0 3 13 34 6 +4 0 3 14 35 6 +4 0 3 15 34 7 +4 0 3 16 35 7 +4 0 3 17 34 8 +4 0 3 18 35 8 +4 0 3 19 34 9 +4 0 3 20 35 9 +4 0 3 21 34 10 +4 0 3 22 -1 -1 +4 0 3 23 35 10 +4 0 3 24 34 11 +4 0 3 25 35 11 +4 0 3 26 34 12 +4 0 3 27 35 12 +4 0 3 28 34 13 +4 0 3 29 35 13 +4 0 3 30 34 14 +4 0 3 31 35 14 +4 0 3 32 34 15 +4 0 3 33 35 15 +4 0 3 34 34 16 +4 0 3 35 35 16 +4 0 3 36 34 17 +4 0 3 37 35 17 +4 0 3 38 34 18 +4 0 3 39 35 18 +4 0 3 40 34 19 +4 0 3 41 35 19 +4 0 3 42 34 20 +4 0 3 43 35 20 +4 0 3 44 34 21 +4 0 3 45 -1 -1 +4 0 3 46 35 21 +4 0 3 47 34 22 +4 0 3 48 35 22 +4 0 3 49 34 23 +4 0 3 50 35 23 +4 0 3 51 34 24 +4 0 3 52 35 24 +4 0 3 53 34 25 +4 0 3 54 35 25 +4 0 3 55 34 26 +4 0 3 56 -1 -1 +4 0 3 57 35 26 +4 0 3 58 34 27 +4 0 3 59 35 27 +4 0 3 60 34 28 +4 0 3 61 35 28 +4 0 3 62 34 29 +4 0 3 63 35 29 +4 0 3 64 34 30 +4 0 3 65 35 30 +4 0 3 66 34 31 +4 0 3 67 35 31 +4 1 0 0 35 95 +4 1 0 1 34 95 +4 1 0 2 35 94 +4 1 0 3 34 94 +4 1 0 4 35 93 +4 1 0 5 34 93 +4 1 0 6 35 92 +4 1 0 7 34 92 +4 1 0 8 35 91 +4 1 0 9 34 91 +4 1 0 10 35 90 +4 1 0 11 -1 -1 +4 1 0 12 34 90 +4 1 0 13 35 89 +4 1 0 14 34 89 +4 1 0 15 35 88 +4 1 0 16 34 88 +4 1 0 17 35 87 +4 1 0 18 34 87 +4 1 0 19 35 86 +4 1 0 20 34 86 +4 1 0 21 35 85 +4 1 0 22 -1 -1 +4 1 0 23 34 85 +4 1 0 24 35 84 +4 1 0 25 34 84 +4 1 0 26 35 83 +4 1 0 27 34 83 +4 1 0 28 35 82 +4 1 0 29 34 82 +4 1 0 30 35 81 +4 1 0 31 34 81 +4 1 0 32 35 80 +4 1 0 33 34 80 +4 1 0 34 35 79 +4 1 0 35 34 79 +4 1 0 36 35 78 +4 1 0 37 34 78 +4 1 0 38 35 77 +4 1 0 39 34 77 +4 1 0 40 35 76 +4 1 0 41 34 76 +4 1 0 42 35 75 +4 1 0 43 34 75 +4 1 0 44 35 74 +4 1 0 45 -1 -1 +4 1 0 46 34 74 +4 1 0 47 35 73 +4 1 0 48 34 73 +4 1 0 49 35 72 +4 1 0 50 34 72 +4 1 0 51 35 71 +4 1 0 52 34 71 +4 1 0 53 35 70 +4 1 0 54 34 70 +4 1 0 55 35 69 +4 1 0 56 -1 -1 +4 1 0 57 34 69 +4 1 0 58 35 68 +4 1 0 59 34 68 +4 1 0 60 35 67 +4 1 0 61 34 67 +4 1 0 62 35 66 +4 1 0 63 34 66 +4 1 0 64 35 65 +4 1 0 65 34 65 +4 1 0 66 35 64 +4 1 0 67 34 64 +4 1 1 0 35 127 +4 1 1 1 34 127 +4 1 1 2 35 126 +4 1 1 3 34 126 +4 1 1 4 35 125 +4 1 1 5 34 125 +4 1 1 6 35 124 +4 1 1 7 34 124 +4 1 1 8 35 123 +4 1 1 9 34 123 +4 1 1 10 35 122 +4 1 1 11 -1 -1 +4 1 1 12 34 122 +4 1 1 13 35 121 +4 1 1 14 34 121 +4 1 1 15 35 120 +4 1 1 16 34 120 +4 1 1 17 35 119 +4 1 1 18 34 119 +4 1 1 19 35 118 +4 1 1 20 34 118 +4 1 1 21 35 117 +4 1 1 22 -1 -1 +4 1 1 23 34 117 +4 1 1 24 35 116 +4 1 1 25 34 116 +4 1 1 26 35 115 +4 1 1 27 34 115 +4 1 1 28 35 114 +4 1 1 29 34 114 +4 1 1 30 35 113 +4 1 1 31 34 113 +4 1 1 32 35 112 +4 1 1 33 34 112 +4 1 1 34 35 111 +4 1 1 35 34 111 +4 1 1 36 35 110 +4 1 1 37 34 110 +4 1 1 38 35 109 +4 1 1 39 34 109 +4 1 1 40 35 108 +4 1 1 41 34 108 +4 1 1 42 35 107 +4 1 1 43 34 107 +4 1 1 44 35 106 +4 1 1 45 -1 -1 +4 1 1 46 34 106 +4 1 1 47 35 105 +4 1 1 48 34 105 +4 1 1 49 35 104 +4 1 1 50 34 104 +4 1 1 51 35 103 +4 1 1 52 34 103 +4 1 1 53 35 102 +4 1 1 54 34 102 +4 1 1 55 35 101 +4 1 1 56 -1 -1 +4 1 1 57 34 101 +4 1 1 58 35 100 +4 1 1 59 34 100 +4 1 1 60 35 99 +4 1 1 61 34 99 +4 1 1 62 35 98 +4 1 1 63 34 98 +4 1 1 64 35 97 +4 1 1 65 34 97 +4 1 1 66 35 96 +4 1 1 67 34 96 +4 1 2 0 33 95 +4 1 2 1 32 95 +4 1 2 2 33 94 +4 1 2 3 32 94 +4 1 2 4 33 93 +4 1 2 5 32 93 +4 1 2 6 33 92 +4 1 2 7 32 92 +4 1 2 8 33 91 +4 1 2 9 32 91 +4 1 2 10 33 90 +4 1 2 11 -1 -1 +4 1 2 12 32 90 +4 1 2 13 33 89 +4 1 2 14 32 89 +4 1 2 15 33 88 +4 1 2 16 32 88 +4 1 2 17 33 87 +4 1 2 18 32 87 +4 1 2 19 33 86 +4 1 2 20 32 86 +4 1 2 21 33 85 +4 1 2 22 -1 -1 +4 1 2 23 32 85 +4 1 2 24 33 84 +4 1 2 25 32 84 +4 1 2 26 33 83 +4 1 2 27 32 83 +4 1 2 28 33 82 +4 1 2 29 32 82 +4 1 2 30 33 81 +4 1 2 31 32 81 +4 1 2 32 33 80 +4 1 2 33 32 80 +4 1 2 34 33 79 +4 1 2 35 32 79 +4 1 2 36 33 78 +4 1 2 37 32 78 +4 1 2 38 33 77 +4 1 2 39 32 77 +4 1 2 40 33 76 +4 1 2 41 32 76 +4 1 2 42 33 75 +4 1 2 43 32 75 +4 1 2 44 33 74 +4 1 2 45 -1 -1 +4 1 2 46 32 74 +4 1 2 47 33 73 +4 1 2 48 32 73 +4 1 2 49 33 72 +4 1 2 50 32 72 +4 1 2 51 33 71 +4 1 2 52 32 71 +4 1 2 53 33 70 +4 1 2 54 32 70 +4 1 2 55 33 69 +4 1 2 56 -1 -1 +4 1 2 57 32 69 +4 1 2 58 33 68 +4 1 2 59 32 68 +4 1 2 60 33 67 +4 1 2 61 32 67 +4 1 2 62 33 66 +4 1 2 63 32 66 +4 1 2 64 33 65 +4 1 2 65 32 65 +4 1 2 66 33 64 +4 1 2 67 32 64 +4 1 3 0 33 127 +4 1 3 1 32 127 +4 1 3 2 33 126 +4 1 3 3 32 126 +4 1 3 4 33 125 +4 1 3 5 32 125 +4 1 3 6 33 124 +4 1 3 7 32 124 +4 1 3 8 33 123 +4 1 3 9 32 123 +4 1 3 10 33 122 +4 1 3 11 -1 -1 +4 1 3 12 32 122 +4 1 3 13 33 121 +4 1 3 14 32 121 +4 1 3 15 33 120 +4 1 3 16 32 120 +4 1 3 17 33 119 +4 1 3 18 32 119 +4 1 3 19 33 118 +4 1 3 20 32 118 +4 1 3 21 33 117 +4 1 3 22 -1 -1 +4 1 3 23 32 117 +4 1 3 24 33 116 +4 1 3 25 32 116 +4 1 3 26 33 115 +4 1 3 27 32 115 +4 1 3 28 33 114 +4 1 3 29 32 114 +4 1 3 30 33 113 +4 1 3 31 32 113 +4 1 3 32 33 112 +4 1 3 33 32 112 +4 1 3 34 33 111 +4 1 3 35 32 111 +4 1 3 36 33 110 +4 1 3 37 32 110 +4 1 3 38 33 109 +4 1 3 39 32 109 +4 1 3 40 33 108 +4 1 3 41 32 108 +4 1 3 42 33 107 +4 1 3 43 32 107 +4 1 3 44 33 106 +4 1 3 45 -1 -1 +4 1 3 46 32 106 +4 1 3 47 33 105 +4 1 3 48 32 105 +4 1 3 49 33 104 +4 1 3 50 32 104 +4 1 3 51 33 103 +4 1 3 52 32 103 +4 1 3 53 33 102 +4 1 3 54 32 102 +4 1 3 55 33 101 +4 1 3 56 -1 -1 +4 1 3 57 32 101 +4 1 3 58 33 100 +4 1 3 59 32 100 +4 1 3 60 33 99 +4 1 3 61 32 99 +4 1 3 62 33 98 +4 1 3 63 32 98 +4 1 3 64 33 97 +4 1 3 65 32 97 +4 1 3 66 33 96 +4 1 3 67 32 96 +4 2 0 0 36 32 +4 2 0 1 37 32 +4 2 0 2 36 33 +4 2 0 3 37 33 +4 2 0 4 36 34 +4 2 0 5 37 34 +4 2 0 6 36 35 +4 2 0 7 37 35 +4 2 0 8 36 36 +4 2 0 9 37 36 +4 2 0 10 36 37 +4 2 0 11 -1 -1 +4 2 0 12 37 37 +4 2 0 13 36 38 +4 2 0 14 37 38 +4 2 0 15 36 39 +4 2 0 16 37 39 +4 2 0 17 36 40 +4 2 0 18 37 40 +4 2 0 19 36 41 +4 2 0 20 37 41 +4 2 0 21 36 42 +4 2 0 22 -1 -1 +4 2 0 23 37 42 +4 2 0 24 36 43 +4 2 0 25 37 43 +4 2 0 26 36 44 +4 2 0 27 37 44 +4 2 0 28 36 45 +4 2 0 29 37 45 +4 2 0 30 36 46 +4 2 0 31 37 46 +4 2 0 32 36 47 +4 2 0 33 37 47 +4 2 0 34 36 48 +4 2 0 35 37 48 +4 2 0 36 36 49 +4 2 0 37 37 49 +4 2 0 38 36 50 +4 2 0 39 37 50 +4 2 0 40 36 51 +4 2 0 41 37 51 +4 2 0 42 36 52 +4 2 0 43 37 52 +4 2 0 44 36 53 +4 2 0 45 -1 -1 +4 2 0 46 37 53 +4 2 0 47 36 54 +4 2 0 48 37 54 +4 2 0 49 36 55 +4 2 0 50 37 55 +4 2 0 51 36 56 +4 2 0 52 37 56 +4 2 0 53 36 57 +4 2 0 54 37 57 +4 2 0 55 36 58 +4 2 0 56 -1 -1 +4 2 0 57 37 58 +4 2 0 58 36 59 +4 2 0 59 37 59 +4 2 0 60 36 60 +4 2 0 61 37 60 +4 2 0 62 36 61 +4 2 0 63 37 61 +4 2 0 64 36 62 +4 2 0 65 37 62 +4 2 0 66 36 63 +4 2 0 67 37 63 +4 2 1 0 36 0 +4 2 1 1 37 0 +4 2 1 2 36 1 +4 2 1 3 37 1 +4 2 1 4 36 2 +4 2 1 5 37 2 +4 2 1 6 36 3 +4 2 1 7 37 3 +4 2 1 8 36 4 +4 2 1 9 37 4 +4 2 1 10 36 5 +4 2 1 11 -1 -1 +4 2 1 12 37 5 +4 2 1 13 36 6 +4 2 1 14 37 6 +4 2 1 15 36 7 +4 2 1 16 37 7 +4 2 1 17 36 8 +4 2 1 18 37 8 +4 2 1 19 36 9 +4 2 1 20 37 9 +4 2 1 21 36 10 +4 2 1 22 -1 -1 +4 2 1 23 37 10 +4 2 1 24 36 11 +4 2 1 25 37 11 +4 2 1 26 36 12 +4 2 1 27 37 12 +4 2 1 28 36 13 +4 2 1 29 37 13 +4 2 1 30 36 14 +4 2 1 31 37 14 +4 2 1 32 36 15 +4 2 1 33 37 15 +4 2 1 34 36 16 +4 2 1 35 37 16 +4 2 1 36 36 17 +4 2 1 37 37 17 +4 2 1 38 36 18 +4 2 1 39 37 18 +4 2 1 40 36 19 +4 2 1 41 37 19 +4 2 1 42 36 20 +4 2 1 43 37 20 +4 2 1 44 36 21 +4 2 1 45 -1 -1 +4 2 1 46 37 21 +4 2 1 47 36 22 +4 2 1 48 37 22 +4 2 1 49 36 23 +4 2 1 50 37 23 +4 2 1 51 36 24 +4 2 1 52 37 24 +4 2 1 53 36 25 +4 2 1 54 37 25 +4 2 1 55 36 26 +4 2 1 56 -1 -1 +4 2 1 57 37 26 +4 2 1 58 36 27 +4 2 1 59 37 27 +4 2 1 60 36 28 +4 2 1 61 37 28 +4 2 1 62 36 29 +4 2 1 63 37 29 +4 2 1 64 36 30 +4 2 1 65 37 30 +4 2 1 66 36 31 +4 2 1 67 37 31 +4 2 2 0 38 32 +4 2 2 1 39 32 +4 2 2 2 38 33 +4 2 2 3 39 33 +4 2 2 4 38 34 +4 2 2 5 39 34 +4 2 2 6 38 35 +4 2 2 7 39 35 +4 2 2 8 38 36 +4 2 2 9 39 36 +4 2 2 10 38 37 +4 2 2 11 -1 -1 +4 2 2 12 39 37 +4 2 2 13 38 38 +4 2 2 14 39 38 +4 2 2 15 38 39 +4 2 2 16 39 39 +4 2 2 17 38 40 +4 2 2 18 39 40 +4 2 2 19 38 41 +4 2 2 20 39 41 +4 2 2 21 38 42 +4 2 2 22 -1 -1 +4 2 2 23 39 42 +4 2 2 24 38 43 +4 2 2 25 39 43 +4 2 2 26 38 44 +4 2 2 27 39 44 +4 2 2 28 38 45 +4 2 2 29 39 45 +4 2 2 30 38 46 +4 2 2 31 39 46 +4 2 2 32 38 47 +4 2 2 33 39 47 +4 2 2 34 38 48 +4 2 2 35 39 48 +4 2 2 36 38 49 +4 2 2 37 39 49 +4 2 2 38 38 50 +4 2 2 39 39 50 +4 2 2 40 38 51 +4 2 2 41 39 51 +4 2 2 42 38 52 +4 2 2 43 39 52 +4 2 2 44 38 53 +4 2 2 45 -1 -1 +4 2 2 46 39 53 +4 2 2 47 38 54 +4 2 2 48 39 54 +4 2 2 49 38 55 +4 2 2 50 39 55 +4 2 2 51 38 56 +4 2 2 52 39 56 +4 2 2 53 38 57 +4 2 2 54 39 57 +4 2 2 55 38 58 +4 2 2 56 -1 -1 +4 2 2 57 39 58 +4 2 2 58 38 59 +4 2 2 59 39 59 +4 2 2 60 38 60 +4 2 2 61 39 60 +4 2 2 62 38 61 +4 2 2 63 39 61 +4 2 2 64 38 62 +4 2 2 65 39 62 +4 2 2 66 38 63 +4 2 2 67 39 63 +4 2 3 0 38 0 +4 2 3 1 39 0 +4 2 3 2 38 1 +4 2 3 3 39 1 +4 2 3 4 38 2 +4 2 3 5 39 2 +4 2 3 6 38 3 +4 2 3 7 39 3 +4 2 3 8 38 4 +4 2 3 9 39 4 +4 2 3 10 38 5 +4 2 3 11 -1 -1 +4 2 3 12 39 5 +4 2 3 13 38 6 +4 2 3 14 39 6 +4 2 3 15 38 7 +4 2 3 16 39 7 +4 2 3 17 38 8 +4 2 3 18 39 8 +4 2 3 19 38 9 +4 2 3 20 39 9 +4 2 3 21 38 10 +4 2 3 22 -1 -1 +4 2 3 23 39 10 +4 2 3 24 38 11 +4 2 3 25 39 11 +4 2 3 26 38 12 +4 2 3 27 39 12 +4 2 3 28 38 13 +4 2 3 29 39 13 +4 2 3 30 38 14 +4 2 3 31 39 14 +4 2 3 32 38 15 +4 2 3 33 39 15 +4 2 3 34 38 16 +4 2 3 35 39 16 +4 2 3 36 38 17 +4 2 3 37 39 17 +4 2 3 38 38 18 +4 2 3 39 39 18 +4 2 3 40 38 19 +4 2 3 41 39 19 +4 2 3 42 38 20 +4 2 3 43 39 20 +4 2 3 44 38 21 +4 2 3 45 -1 -1 +4 2 3 46 39 21 +4 2 3 47 38 22 +4 2 3 48 39 22 +4 2 3 49 38 23 +4 2 3 50 39 23 +4 2 3 51 38 24 +4 2 3 52 39 24 +4 2 3 53 38 25 +4 2 3 54 39 25 +4 2 3 55 38 26 +4 2 3 56 -1 -1 +4 2 3 57 39 26 +4 2 3 58 38 27 +4 2 3 59 39 27 +4 2 3 60 38 28 +4 2 3 61 39 28 +4 2 3 62 38 29 +4 2 3 63 39 29 +4 2 3 64 38 30 +4 2 3 65 39 30 +4 2 3 66 38 31 +4 2 3 67 39 31 +4 3 0 0 39 95 +4 3 0 1 38 95 +4 3 0 2 39 94 +4 3 0 3 38 94 +4 3 0 4 39 93 +4 3 0 5 38 93 +4 3 0 6 39 92 +4 3 0 7 38 92 +4 3 0 8 39 91 +4 3 0 9 38 91 +4 3 0 10 39 90 +4 3 0 11 -1 -1 +4 3 0 12 38 90 +4 3 0 13 39 89 +4 3 0 14 38 89 +4 3 0 15 39 88 +4 3 0 16 38 88 +4 3 0 17 39 87 +4 3 0 18 38 87 +4 3 0 19 39 86 +4 3 0 20 38 86 +4 3 0 21 39 85 +4 3 0 22 -1 -1 +4 3 0 23 38 85 +4 3 0 24 39 84 +4 3 0 25 38 84 +4 3 0 26 39 83 +4 3 0 27 38 83 +4 3 0 28 39 82 +4 3 0 29 38 82 +4 3 0 30 39 81 +4 3 0 31 38 81 +4 3 0 32 39 80 +4 3 0 33 38 80 +4 3 0 34 39 79 +4 3 0 35 38 79 +4 3 0 36 39 78 +4 3 0 37 38 78 +4 3 0 38 39 77 +4 3 0 39 38 77 +4 3 0 40 39 76 +4 3 0 41 38 76 +4 3 0 42 39 75 +4 3 0 43 38 75 +4 3 0 44 39 74 +4 3 0 45 -1 -1 +4 3 0 46 38 74 +4 3 0 47 39 73 +4 3 0 48 38 73 +4 3 0 49 39 72 +4 3 0 50 38 72 +4 3 0 51 39 71 +4 3 0 52 38 71 +4 3 0 53 39 70 +4 3 0 54 38 70 +4 3 0 55 39 69 +4 3 0 56 -1 -1 +4 3 0 57 38 69 +4 3 0 58 39 68 +4 3 0 59 38 68 +4 3 0 60 39 67 +4 3 0 61 38 67 +4 3 0 62 39 66 +4 3 0 63 38 66 +4 3 0 64 39 65 +4 3 0 65 38 65 +4 3 0 66 39 64 +4 3 0 67 38 64 +4 3 1 0 39 127 +4 3 1 1 38 127 +4 3 1 2 39 126 +4 3 1 3 38 126 +4 3 1 4 39 125 +4 3 1 5 38 125 +4 3 1 6 39 124 +4 3 1 7 38 124 +4 3 1 8 39 123 +4 3 1 9 38 123 +4 3 1 10 39 122 +4 3 1 11 -1 -1 +4 3 1 12 38 122 +4 3 1 13 39 121 +4 3 1 14 38 121 +4 3 1 15 39 120 +4 3 1 16 38 120 +4 3 1 17 39 119 +4 3 1 18 38 119 +4 3 1 19 39 118 +4 3 1 20 38 118 +4 3 1 21 39 117 +4 3 1 22 -1 -1 +4 3 1 23 38 117 +4 3 1 24 39 116 +4 3 1 25 38 116 +4 3 1 26 39 115 +4 3 1 27 38 115 +4 3 1 28 39 114 +4 3 1 29 38 114 +4 3 1 30 39 113 +4 3 1 31 38 113 +4 3 1 32 39 112 +4 3 1 33 38 112 +4 3 1 34 39 111 +4 3 1 35 38 111 +4 3 1 36 39 110 +4 3 1 37 38 110 +4 3 1 38 39 109 +4 3 1 39 38 109 +4 3 1 40 39 108 +4 3 1 41 38 108 +4 3 1 42 39 107 +4 3 1 43 38 107 +4 3 1 44 39 106 +4 3 1 45 -1 -1 +4 3 1 46 38 106 +4 3 1 47 39 105 +4 3 1 48 38 105 +4 3 1 49 39 104 +4 3 1 50 38 104 +4 3 1 51 39 103 +4 3 1 52 38 103 +4 3 1 53 39 102 +4 3 1 54 38 102 +4 3 1 55 39 101 +4 3 1 56 -1 -1 +4 3 1 57 38 101 +4 3 1 58 39 100 +4 3 1 59 38 100 +4 3 1 60 39 99 +4 3 1 61 38 99 +4 3 1 62 39 98 +4 3 1 63 38 98 +4 3 1 64 39 97 +4 3 1 65 38 97 +4 3 1 66 39 96 +4 3 1 67 38 96 +4 3 2 0 37 95 +4 3 2 1 36 95 +4 3 2 2 37 94 +4 3 2 3 36 94 +4 3 2 4 37 93 +4 3 2 5 36 93 +4 3 2 6 37 92 +4 3 2 7 36 92 +4 3 2 8 37 91 +4 3 2 9 36 91 +4 3 2 10 37 90 +4 3 2 11 -1 -1 +4 3 2 12 36 90 +4 3 2 13 37 89 +4 3 2 14 36 89 +4 3 2 15 37 88 +4 3 2 16 36 88 +4 3 2 17 37 87 +4 3 2 18 36 87 +4 3 2 19 37 86 +4 3 2 20 36 86 +4 3 2 21 37 85 +4 3 2 22 -1 -1 +4 3 2 23 36 85 +4 3 2 24 37 84 +4 3 2 25 36 84 +4 3 2 26 37 83 +4 3 2 27 36 83 +4 3 2 28 37 82 +4 3 2 29 36 82 +4 3 2 30 37 81 +4 3 2 31 36 81 +4 3 2 32 37 80 +4 3 2 33 36 80 +4 3 2 34 37 79 +4 3 2 35 36 79 +4 3 2 36 37 78 +4 3 2 37 36 78 +4 3 2 38 37 77 +4 3 2 39 36 77 +4 3 2 40 37 76 +4 3 2 41 36 76 +4 3 2 42 37 75 +4 3 2 43 36 75 +4 3 2 44 37 74 +4 3 2 45 -1 -1 +4 3 2 46 36 74 +4 3 2 47 37 73 +4 3 2 48 36 73 +4 3 2 49 37 72 +4 3 2 50 36 72 +4 3 2 51 37 71 +4 3 2 52 36 71 +4 3 2 53 37 70 +4 3 2 54 36 70 +4 3 2 55 37 69 +4 3 2 56 -1 -1 +4 3 2 57 36 69 +4 3 2 58 37 68 +4 3 2 59 36 68 +4 3 2 60 37 67 +4 3 2 61 36 67 +4 3 2 62 37 66 +4 3 2 63 36 66 +4 3 2 64 37 65 +4 3 2 65 36 65 +4 3 2 66 37 64 +4 3 2 67 36 64 +4 3 3 0 37 127 +4 3 3 1 36 127 +4 3 3 2 37 126 +4 3 3 3 36 126 +4 3 3 4 37 125 +4 3 3 5 36 125 +4 3 3 6 37 124 +4 3 3 7 36 124 +4 3 3 8 37 123 +4 3 3 9 36 123 +4 3 3 10 37 122 +4 3 3 11 -1 -1 +4 3 3 12 36 122 +4 3 3 13 37 121 +4 3 3 14 36 121 +4 3 3 15 37 120 +4 3 3 16 36 120 +4 3 3 17 37 119 +4 3 3 18 36 119 +4 3 3 19 37 118 +4 3 3 20 36 118 +4 3 3 21 37 117 +4 3 3 22 -1 -1 +4 3 3 23 36 117 +4 3 3 24 37 116 +4 3 3 25 36 116 +4 3 3 26 37 115 +4 3 3 27 36 115 +4 3 3 28 37 114 +4 3 3 29 36 114 +4 3 3 30 37 113 +4 3 3 31 36 113 +4 3 3 32 37 112 +4 3 3 33 36 112 +4 3 3 34 37 111 +4 3 3 35 36 111 +4 3 3 36 37 110 +4 3 3 37 36 110 +4 3 3 38 37 109 +4 3 3 39 36 109 +4 3 3 40 37 108 +4 3 3 41 36 108 +4 3 3 42 37 107 +4 3 3 43 36 107 +4 3 3 44 37 106 +4 3 3 45 -1 -1 +4 3 3 46 36 106 +4 3 3 47 37 105 +4 3 3 48 36 105 +4 3 3 49 37 104 +4 3 3 50 36 104 +4 3 3 51 37 103 +4 3 3 52 36 103 +4 3 3 53 37 102 +4 3 3 54 36 102 +4 3 3 55 37 101 +4 3 3 56 -1 -1 +4 3 3 57 36 101 +4 3 3 58 37 100 +4 3 3 59 36 100 +4 3 3 60 37 99 +4 3 3 61 36 99 +4 3 3 62 37 98 +4 3 3 63 36 98 +4 3 3 64 37 97 +4 3 3 65 36 97 +4 3 3 66 37 96 +4 3 3 67 36 96 +5 0 0 0 40 32 +5 0 0 1 41 32 +5 0 0 2 40 33 +5 0 0 3 41 33 +5 0 0 4 40 34 +5 0 0 5 41 34 +5 0 0 6 40 35 +5 0 0 7 41 35 +5 0 0 8 40 36 +5 0 0 9 41 36 +5 0 0 10 40 37 +5 0 0 11 -1 -1 +5 0 0 12 41 37 +5 0 0 13 40 38 +5 0 0 14 41 38 +5 0 0 15 40 39 +5 0 0 16 41 39 +5 0 0 17 40 40 +5 0 0 18 41 40 +5 0 0 19 40 41 +5 0 0 20 41 41 +5 0 0 21 40 42 +5 0 0 22 -1 -1 +5 0 0 23 41 42 +5 0 0 24 40 43 +5 0 0 25 41 43 +5 0 0 26 40 44 +5 0 0 27 41 44 +5 0 0 28 40 45 +5 0 0 29 41 45 +5 0 0 30 40 46 +5 0 0 31 41 46 +5 0 0 32 40 47 +5 0 0 33 41 47 +5 0 0 34 40 48 +5 0 0 35 41 48 +5 0 0 36 40 49 +5 0 0 37 41 49 +5 0 0 38 40 50 +5 0 0 39 41 50 +5 0 0 40 40 51 +5 0 0 41 41 51 +5 0 0 42 40 52 +5 0 0 43 41 52 +5 0 0 44 40 53 +5 0 0 45 -1 -1 +5 0 0 46 41 53 +5 0 0 47 40 54 +5 0 0 48 41 54 +5 0 0 49 40 55 +5 0 0 50 41 55 +5 0 0 51 40 56 +5 0 0 52 41 56 +5 0 0 53 40 57 +5 0 0 54 41 57 +5 0 0 55 40 58 +5 0 0 56 -1 -1 +5 0 0 57 41 58 +5 0 0 58 40 59 +5 0 0 59 41 59 +5 0 0 60 40 60 +5 0 0 61 41 60 +5 0 0 62 40 61 +5 0 0 63 41 61 +5 0 0 64 40 62 +5 0 0 65 41 62 +5 0 0 66 40 63 +5 0 0 67 41 63 +5 0 1 0 40 0 +5 0 1 1 41 0 +5 0 1 2 40 1 +5 0 1 3 41 1 +5 0 1 4 40 2 +5 0 1 5 41 2 +5 0 1 6 40 3 +5 0 1 7 41 3 +5 0 1 8 40 4 +5 0 1 9 41 4 +5 0 1 10 40 5 +5 0 1 11 -1 -1 +5 0 1 12 41 5 +5 0 1 13 40 6 +5 0 1 14 41 6 +5 0 1 15 40 7 +5 0 1 16 41 7 +5 0 1 17 40 8 +5 0 1 18 41 8 +5 0 1 19 40 9 +5 0 1 20 41 9 +5 0 1 21 40 10 +5 0 1 22 -1 -1 +5 0 1 23 41 10 +5 0 1 24 40 11 +5 0 1 25 41 11 +5 0 1 26 40 12 +5 0 1 27 41 12 +5 0 1 28 40 13 +5 0 1 29 41 13 +5 0 1 30 40 14 +5 0 1 31 41 14 +5 0 1 32 40 15 +5 0 1 33 41 15 +5 0 1 34 40 16 +5 0 1 35 41 16 +5 0 1 36 40 17 +5 0 1 37 41 17 +5 0 1 38 40 18 +5 0 1 39 41 18 +5 0 1 40 40 19 +5 0 1 41 41 19 +5 0 1 42 40 20 +5 0 1 43 41 20 +5 0 1 44 40 21 +5 0 1 45 -1 -1 +5 0 1 46 41 21 +5 0 1 47 40 22 +5 0 1 48 41 22 +5 0 1 49 40 23 +5 0 1 50 41 23 +5 0 1 51 40 24 +5 0 1 52 41 24 +5 0 1 53 40 25 +5 0 1 54 41 25 +5 0 1 55 40 26 +5 0 1 56 -1 -1 +5 0 1 57 41 26 +5 0 1 58 40 27 +5 0 1 59 41 27 +5 0 1 60 40 28 +5 0 1 61 41 28 +5 0 1 62 40 29 +5 0 1 63 41 29 +5 0 1 64 40 30 +5 0 1 65 41 30 +5 0 1 66 40 31 +5 0 1 67 41 31 +5 0 2 0 42 32 +5 0 2 1 43 32 +5 0 2 2 42 33 +5 0 2 3 43 33 +5 0 2 4 42 34 +5 0 2 5 43 34 +5 0 2 6 42 35 +5 0 2 7 43 35 +5 0 2 8 42 36 +5 0 2 9 43 36 +5 0 2 10 42 37 +5 0 2 11 -1 -1 +5 0 2 12 43 37 +5 0 2 13 42 38 +5 0 2 14 43 38 +5 0 2 15 42 39 +5 0 2 16 43 39 +5 0 2 17 42 40 +5 0 2 18 43 40 +5 0 2 19 42 41 +5 0 2 20 43 41 +5 0 2 21 42 42 +5 0 2 22 -1 -1 +5 0 2 23 43 42 +5 0 2 24 42 43 +5 0 2 25 43 43 +5 0 2 26 42 44 +5 0 2 27 43 44 +5 0 2 28 42 45 +5 0 2 29 43 45 +5 0 2 30 42 46 +5 0 2 31 43 46 +5 0 2 32 42 47 +5 0 2 33 43 47 +5 0 2 34 42 48 +5 0 2 35 43 48 +5 0 2 36 42 49 +5 0 2 37 43 49 +5 0 2 38 42 50 +5 0 2 39 43 50 +5 0 2 40 42 51 +5 0 2 41 43 51 +5 0 2 42 42 52 +5 0 2 43 43 52 +5 0 2 44 42 53 +5 0 2 45 -1 -1 +5 0 2 46 43 53 +5 0 2 47 42 54 +5 0 2 48 43 54 +5 0 2 49 42 55 +5 0 2 50 43 55 +5 0 2 51 42 56 +5 0 2 52 43 56 +5 0 2 53 42 57 +5 0 2 54 43 57 +5 0 2 55 42 58 +5 0 2 56 -1 -1 +5 0 2 57 43 58 +5 0 2 58 42 59 +5 0 2 59 43 59 +5 0 2 60 42 60 +5 0 2 61 43 60 +5 0 2 62 42 61 +5 0 2 63 43 61 +5 0 2 64 42 62 +5 0 2 65 43 62 +5 0 2 66 42 63 +5 0 2 67 43 63 +5 0 3 0 42 0 +5 0 3 1 43 0 +5 0 3 2 42 1 +5 0 3 3 43 1 +5 0 3 4 42 2 +5 0 3 5 43 2 +5 0 3 6 42 3 +5 0 3 7 43 3 +5 0 3 8 42 4 +5 0 3 9 43 4 +5 0 3 10 42 5 +5 0 3 11 -1 -1 +5 0 3 12 43 5 +5 0 3 13 42 6 +5 0 3 14 43 6 +5 0 3 15 42 7 +5 0 3 16 43 7 +5 0 3 17 42 8 +5 0 3 18 43 8 +5 0 3 19 42 9 +5 0 3 20 43 9 +5 0 3 21 42 10 +5 0 3 22 -1 -1 +5 0 3 23 43 10 +5 0 3 24 42 11 +5 0 3 25 43 11 +5 0 3 26 42 12 +5 0 3 27 43 12 +5 0 3 28 42 13 +5 0 3 29 43 13 +5 0 3 30 42 14 +5 0 3 31 43 14 +5 0 3 32 42 15 +5 0 3 33 43 15 +5 0 3 34 42 16 +5 0 3 35 43 16 +5 0 3 36 42 17 +5 0 3 37 43 17 +5 0 3 38 42 18 +5 0 3 39 43 18 +5 0 3 40 42 19 +5 0 3 41 43 19 +5 0 3 42 42 20 +5 0 3 43 43 20 +5 0 3 44 42 21 +5 0 3 45 -1 -1 +5 0 3 46 43 21 +5 0 3 47 42 22 +5 0 3 48 43 22 +5 0 3 49 42 23 +5 0 3 50 43 23 +5 0 3 51 42 24 +5 0 3 52 43 24 +5 0 3 53 42 25 +5 0 3 54 43 25 +5 0 3 55 42 26 +5 0 3 56 -1 -1 +5 0 3 57 43 26 +5 0 3 58 42 27 +5 0 3 59 43 27 +5 0 3 60 42 28 +5 0 3 61 43 28 +5 0 3 62 42 29 +5 0 3 63 43 29 +5 0 3 64 42 30 +5 0 3 65 43 30 +5 0 3 66 42 31 +5 0 3 67 43 31 +5 1 0 0 43 95 +5 1 0 1 42 95 +5 1 0 2 43 94 +5 1 0 3 42 94 +5 1 0 4 43 93 +5 1 0 5 42 93 +5 1 0 6 43 92 +5 1 0 7 42 92 +5 1 0 8 43 91 +5 1 0 9 42 91 +5 1 0 10 43 90 +5 1 0 11 -1 -1 +5 1 0 12 42 90 +5 1 0 13 43 89 +5 1 0 14 42 89 +5 1 0 15 43 88 +5 1 0 16 42 88 +5 1 0 17 43 87 +5 1 0 18 42 87 +5 1 0 19 43 86 +5 1 0 20 42 86 +5 1 0 21 43 85 +5 1 0 22 -1 -1 +5 1 0 23 42 85 +5 1 0 24 43 84 +5 1 0 25 42 84 +5 1 0 26 43 83 +5 1 0 27 42 83 +5 1 0 28 43 82 +5 1 0 29 42 82 +5 1 0 30 43 81 +5 1 0 31 42 81 +5 1 0 32 43 80 +5 1 0 33 42 80 +5 1 0 34 43 79 +5 1 0 35 42 79 +5 1 0 36 43 78 +5 1 0 37 42 78 +5 1 0 38 43 77 +5 1 0 39 42 77 +5 1 0 40 43 76 +5 1 0 41 42 76 +5 1 0 42 43 75 +5 1 0 43 42 75 +5 1 0 44 43 74 +5 1 0 45 -1 -1 +5 1 0 46 42 74 +5 1 0 47 43 73 +5 1 0 48 42 73 +5 1 0 49 43 72 +5 1 0 50 42 72 +5 1 0 51 43 71 +5 1 0 52 42 71 +5 1 0 53 43 70 +5 1 0 54 42 70 +5 1 0 55 43 69 +5 1 0 56 -1 -1 +5 1 0 57 42 69 +5 1 0 58 43 68 +5 1 0 59 42 68 +5 1 0 60 43 67 +5 1 0 61 42 67 +5 1 0 62 43 66 +5 1 0 63 42 66 +5 1 0 64 43 65 +5 1 0 65 42 65 +5 1 0 66 43 64 +5 1 0 67 42 64 +5 1 1 0 43 127 +5 1 1 1 42 127 +5 1 1 2 43 126 +5 1 1 3 42 126 +5 1 1 4 43 125 +5 1 1 5 42 125 +5 1 1 6 43 124 +5 1 1 7 42 124 +5 1 1 8 43 123 +5 1 1 9 42 123 +5 1 1 10 43 122 +5 1 1 11 -1 -1 +5 1 1 12 42 122 +5 1 1 13 43 121 +5 1 1 14 42 121 +5 1 1 15 43 120 +5 1 1 16 42 120 +5 1 1 17 43 119 +5 1 1 18 42 119 +5 1 1 19 43 118 +5 1 1 20 42 118 +5 1 1 21 43 117 +5 1 1 22 -1 -1 +5 1 1 23 42 117 +5 1 1 24 43 116 +5 1 1 25 42 116 +5 1 1 26 43 115 +5 1 1 27 42 115 +5 1 1 28 43 114 +5 1 1 29 42 114 +5 1 1 30 43 113 +5 1 1 31 42 113 +5 1 1 32 43 112 +5 1 1 33 42 112 +5 1 1 34 43 111 +5 1 1 35 42 111 +5 1 1 36 43 110 +5 1 1 37 42 110 +5 1 1 38 43 109 +5 1 1 39 42 109 +5 1 1 40 43 108 +5 1 1 41 42 108 +5 1 1 42 43 107 +5 1 1 43 42 107 +5 1 1 44 43 106 +5 1 1 45 -1 -1 +5 1 1 46 42 106 +5 1 1 47 43 105 +5 1 1 48 42 105 +5 1 1 49 43 104 +5 1 1 50 42 104 +5 1 1 51 43 103 +5 1 1 52 42 103 +5 1 1 53 43 102 +5 1 1 54 42 102 +5 1 1 55 43 101 +5 1 1 56 -1 -1 +5 1 1 57 42 101 +5 1 1 58 43 100 +5 1 1 59 42 100 +5 1 1 60 43 99 +5 1 1 61 42 99 +5 1 1 62 43 98 +5 1 1 63 42 98 +5 1 1 64 43 97 +5 1 1 65 42 97 +5 1 1 66 43 96 +5 1 1 67 42 96 +5 1 2 0 41 95 +5 1 2 1 40 95 +5 1 2 2 41 94 +5 1 2 3 40 94 +5 1 2 4 41 93 +5 1 2 5 40 93 +5 1 2 6 41 92 +5 1 2 7 40 92 +5 1 2 8 41 91 +5 1 2 9 40 91 +5 1 2 10 41 90 +5 1 2 11 -1 -1 +5 1 2 12 40 90 +5 1 2 13 41 89 +5 1 2 14 40 89 +5 1 2 15 41 88 +5 1 2 16 40 88 +5 1 2 17 41 87 +5 1 2 18 40 87 +5 1 2 19 41 86 +5 1 2 20 40 86 +5 1 2 21 41 85 +5 1 2 22 -1 -1 +5 1 2 23 40 85 +5 1 2 24 41 84 +5 1 2 25 40 84 +5 1 2 26 41 83 +5 1 2 27 40 83 +5 1 2 28 41 82 +5 1 2 29 40 82 +5 1 2 30 41 81 +5 1 2 31 40 81 +5 1 2 32 41 80 +5 1 2 33 40 80 +5 1 2 34 41 79 +5 1 2 35 40 79 +5 1 2 36 41 78 +5 1 2 37 40 78 +5 1 2 38 41 77 +5 1 2 39 40 77 +5 1 2 40 41 76 +5 1 2 41 40 76 +5 1 2 42 41 75 +5 1 2 43 40 75 +5 1 2 44 41 74 +5 1 2 45 -1 -1 +5 1 2 46 40 74 +5 1 2 47 41 73 +5 1 2 48 40 73 +5 1 2 49 41 72 +5 1 2 50 40 72 +5 1 2 51 41 71 +5 1 2 52 40 71 +5 1 2 53 41 70 +5 1 2 54 40 70 +5 1 2 55 41 69 +5 1 2 56 -1 -1 +5 1 2 57 40 69 +5 1 2 58 41 68 +5 1 2 59 40 68 +5 1 2 60 41 67 +5 1 2 61 40 67 +5 1 2 62 41 66 +5 1 2 63 40 66 +5 1 2 64 41 65 +5 1 2 65 40 65 +5 1 2 66 41 64 +5 1 2 67 40 64 +5 1 3 0 41 127 +5 1 3 1 40 127 +5 1 3 2 41 126 +5 1 3 3 40 126 +5 1 3 4 41 125 +5 1 3 5 40 125 +5 1 3 6 41 124 +5 1 3 7 40 124 +5 1 3 8 41 123 +5 1 3 9 40 123 +5 1 3 10 41 122 +5 1 3 11 -1 -1 +5 1 3 12 40 122 +5 1 3 13 41 121 +5 1 3 14 40 121 +5 1 3 15 41 120 +5 1 3 16 40 120 +5 1 3 17 41 119 +5 1 3 18 40 119 +5 1 3 19 41 118 +5 1 3 20 40 118 +5 1 3 21 41 117 +5 1 3 22 -1 -1 +5 1 3 23 40 117 +5 1 3 24 41 116 +5 1 3 25 40 116 +5 1 3 26 41 115 +5 1 3 27 40 115 +5 1 3 28 41 114 +5 1 3 29 40 114 +5 1 3 30 41 113 +5 1 3 31 40 113 +5 1 3 32 41 112 +5 1 3 33 40 112 +5 1 3 34 41 111 +5 1 3 35 40 111 +5 1 3 36 41 110 +5 1 3 37 40 110 +5 1 3 38 41 109 +5 1 3 39 40 109 +5 1 3 40 41 108 +5 1 3 41 40 108 +5 1 3 42 41 107 +5 1 3 43 40 107 +5 1 3 44 41 106 +5 1 3 45 -1 -1 +5 1 3 46 40 106 +5 1 3 47 41 105 +5 1 3 48 40 105 +5 1 3 49 41 104 +5 1 3 50 40 104 +5 1 3 51 41 103 +5 1 3 52 40 103 +5 1 3 53 41 102 +5 1 3 54 40 102 +5 1 3 55 41 101 +5 1 3 56 -1 -1 +5 1 3 57 40 101 +5 1 3 58 41 100 +5 1 3 59 40 100 +5 1 3 60 41 99 +5 1 3 61 40 99 +5 1 3 62 41 98 +5 1 3 63 40 98 +5 1 3 64 41 97 +5 1 3 65 40 97 +5 1 3 66 41 96 +5 1 3 67 40 96 +5 2 0 0 44 32 +5 2 0 1 45 32 +5 2 0 2 44 33 +5 2 0 3 45 33 +5 2 0 4 44 34 +5 2 0 5 45 34 +5 2 0 6 44 35 +5 2 0 7 45 35 +5 2 0 8 44 36 +5 2 0 9 45 36 +5 2 0 10 44 37 +5 2 0 11 -1 -1 +5 2 0 12 45 37 +5 2 0 13 44 38 +5 2 0 14 45 38 +5 2 0 15 44 39 +5 2 0 16 45 39 +5 2 0 17 44 40 +5 2 0 18 45 40 +5 2 0 19 44 41 +5 2 0 20 45 41 +5 2 0 21 44 42 +5 2 0 22 -1 -1 +5 2 0 23 45 42 +5 2 0 24 44 43 +5 2 0 25 45 43 +5 2 0 26 44 44 +5 2 0 27 45 44 +5 2 0 28 44 45 +5 2 0 29 45 45 +5 2 0 30 44 46 +5 2 0 31 45 46 +5 2 0 32 44 47 +5 2 0 33 45 47 +5 2 0 34 44 48 +5 2 0 35 45 48 +5 2 0 36 44 49 +5 2 0 37 45 49 +5 2 0 38 44 50 +5 2 0 39 45 50 +5 2 0 40 44 51 +5 2 0 41 45 51 +5 2 0 42 44 52 +5 2 0 43 45 52 +5 2 0 44 44 53 +5 2 0 45 -1 -1 +5 2 0 46 45 53 +5 2 0 47 44 54 +5 2 0 48 45 54 +5 2 0 49 44 55 +5 2 0 50 45 55 +5 2 0 51 44 56 +5 2 0 52 45 56 +5 2 0 53 44 57 +5 2 0 54 45 57 +5 2 0 55 44 58 +5 2 0 56 -1 -1 +5 2 0 57 45 58 +5 2 0 58 44 59 +5 2 0 59 45 59 +5 2 0 60 44 60 +5 2 0 61 45 60 +5 2 0 62 44 61 +5 2 0 63 45 61 +5 2 0 64 44 62 +5 2 0 65 45 62 +5 2 0 66 44 63 +5 2 0 67 45 63 +5 2 1 0 44 0 +5 2 1 1 45 0 +5 2 1 2 44 1 +5 2 1 3 45 1 +5 2 1 4 44 2 +5 2 1 5 45 2 +5 2 1 6 44 3 +5 2 1 7 45 3 +5 2 1 8 44 4 +5 2 1 9 45 4 +5 2 1 10 44 5 +5 2 1 11 -1 -1 +5 2 1 12 45 5 +5 2 1 13 44 6 +5 2 1 14 45 6 +5 2 1 15 44 7 +5 2 1 16 45 7 +5 2 1 17 44 8 +5 2 1 18 45 8 +5 2 1 19 44 9 +5 2 1 20 45 9 +5 2 1 21 44 10 +5 2 1 22 -1 -1 +5 2 1 23 45 10 +5 2 1 24 44 11 +5 2 1 25 45 11 +5 2 1 26 44 12 +5 2 1 27 45 12 +5 2 1 28 44 13 +5 2 1 29 45 13 +5 2 1 30 44 14 +5 2 1 31 45 14 +5 2 1 32 44 15 +5 2 1 33 45 15 +5 2 1 34 44 16 +5 2 1 35 45 16 +5 2 1 36 44 17 +5 2 1 37 45 17 +5 2 1 38 44 18 +5 2 1 39 45 18 +5 2 1 40 44 19 +5 2 1 41 45 19 +5 2 1 42 44 20 +5 2 1 43 45 20 +5 2 1 44 44 21 +5 2 1 45 -1 -1 +5 2 1 46 45 21 +5 2 1 47 44 22 +5 2 1 48 45 22 +5 2 1 49 44 23 +5 2 1 50 45 23 +5 2 1 51 44 24 +5 2 1 52 45 24 +5 2 1 53 44 25 +5 2 1 54 45 25 +5 2 1 55 44 26 +5 2 1 56 -1 -1 +5 2 1 57 45 26 +5 2 1 58 44 27 +5 2 1 59 45 27 +5 2 1 60 44 28 +5 2 1 61 45 28 +5 2 1 62 44 29 +5 2 1 63 45 29 +5 2 1 64 44 30 +5 2 1 65 45 30 +5 2 1 66 44 31 +5 2 1 67 45 31 +5 2 2 0 46 32 +5 2 2 1 47 32 +5 2 2 2 46 33 +5 2 2 3 47 33 +5 2 2 4 46 34 +5 2 2 5 47 34 +5 2 2 6 46 35 +5 2 2 7 47 35 +5 2 2 8 46 36 +5 2 2 9 47 36 +5 2 2 10 46 37 +5 2 2 11 -1 -1 +5 2 2 12 47 37 +5 2 2 13 46 38 +5 2 2 14 47 38 +5 2 2 15 46 39 +5 2 2 16 47 39 +5 2 2 17 46 40 +5 2 2 18 47 40 +5 2 2 19 46 41 +5 2 2 20 47 41 +5 2 2 21 46 42 +5 2 2 22 -1 -1 +5 2 2 23 47 42 +5 2 2 24 46 43 +5 2 2 25 47 43 +5 2 2 26 46 44 +5 2 2 27 47 44 +5 2 2 28 46 45 +5 2 2 29 47 45 +5 2 2 30 46 46 +5 2 2 31 47 46 +5 2 2 32 46 47 +5 2 2 33 47 47 +5 2 2 34 46 48 +5 2 2 35 47 48 +5 2 2 36 46 49 +5 2 2 37 47 49 +5 2 2 38 46 50 +5 2 2 39 47 50 +5 2 2 40 46 51 +5 2 2 41 47 51 +5 2 2 42 46 52 +5 2 2 43 47 52 +5 2 2 44 46 53 +5 2 2 45 -1 -1 +5 2 2 46 47 53 +5 2 2 47 46 54 +5 2 2 48 47 54 +5 2 2 49 46 55 +5 2 2 50 47 55 +5 2 2 51 46 56 +5 2 2 52 47 56 +5 2 2 53 46 57 +5 2 2 54 47 57 +5 2 2 55 46 58 +5 2 2 56 -1 -1 +5 2 2 57 47 58 +5 2 2 58 46 59 +5 2 2 59 47 59 +5 2 2 60 46 60 +5 2 2 61 47 60 +5 2 2 62 46 61 +5 2 2 63 47 61 +5 2 2 64 46 62 +5 2 2 65 47 62 +5 2 2 66 46 63 +5 2 2 67 47 63 +5 2 3 0 46 0 +5 2 3 1 47 0 +5 2 3 2 46 1 +5 2 3 3 47 1 +5 2 3 4 46 2 +5 2 3 5 47 2 +5 2 3 6 46 3 +5 2 3 7 47 3 +5 2 3 8 46 4 +5 2 3 9 47 4 +5 2 3 10 46 5 +5 2 3 11 -1 -1 +5 2 3 12 47 5 +5 2 3 13 46 6 +5 2 3 14 47 6 +5 2 3 15 46 7 +5 2 3 16 47 7 +5 2 3 17 46 8 +5 2 3 18 47 8 +5 2 3 19 46 9 +5 2 3 20 47 9 +5 2 3 21 46 10 +5 2 3 22 -1 -1 +5 2 3 23 47 10 +5 2 3 24 46 11 +5 2 3 25 47 11 +5 2 3 26 46 12 +5 2 3 27 47 12 +5 2 3 28 46 13 +5 2 3 29 47 13 +5 2 3 30 46 14 +5 2 3 31 47 14 +5 2 3 32 46 15 +5 2 3 33 47 15 +5 2 3 34 46 16 +5 2 3 35 47 16 +5 2 3 36 46 17 +5 2 3 37 47 17 +5 2 3 38 46 18 +5 2 3 39 47 18 +5 2 3 40 46 19 +5 2 3 41 47 19 +5 2 3 42 46 20 +5 2 3 43 47 20 +5 2 3 44 46 21 +5 2 3 45 -1 -1 +5 2 3 46 47 21 +5 2 3 47 46 22 +5 2 3 48 47 22 +5 2 3 49 46 23 +5 2 3 50 47 23 +5 2 3 51 46 24 +5 2 3 52 47 24 +5 2 3 53 46 25 +5 2 3 54 47 25 +5 2 3 55 46 26 +5 2 3 56 -1 -1 +5 2 3 57 47 26 +5 2 3 58 46 27 +5 2 3 59 47 27 +5 2 3 60 46 28 +5 2 3 61 47 28 +5 2 3 62 46 29 +5 2 3 63 47 29 +5 2 3 64 46 30 +5 2 3 65 47 30 +5 2 3 66 46 31 +5 2 3 67 47 31 +5 3 0 0 47 95 +5 3 0 1 46 95 +5 3 0 2 47 94 +5 3 0 3 46 94 +5 3 0 4 47 93 +5 3 0 5 46 93 +5 3 0 6 47 92 +5 3 0 7 46 92 +5 3 0 8 47 91 +5 3 0 9 46 91 +5 3 0 10 47 90 +5 3 0 11 -1 -1 +5 3 0 12 46 90 +5 3 0 13 47 89 +5 3 0 14 46 89 +5 3 0 15 47 88 +5 3 0 16 46 88 +5 3 0 17 47 87 +5 3 0 18 46 87 +5 3 0 19 47 86 +5 3 0 20 46 86 +5 3 0 21 47 85 +5 3 0 22 -1 -1 +5 3 0 23 46 85 +5 3 0 24 47 84 +5 3 0 25 46 84 +5 3 0 26 47 83 +5 3 0 27 46 83 +5 3 0 28 47 82 +5 3 0 29 46 82 +5 3 0 30 47 81 +5 3 0 31 46 81 +5 3 0 32 47 80 +5 3 0 33 46 80 +5 3 0 34 47 79 +5 3 0 35 46 79 +5 3 0 36 47 78 +5 3 0 37 46 78 +5 3 0 38 47 77 +5 3 0 39 46 77 +5 3 0 40 47 76 +5 3 0 41 46 76 +5 3 0 42 47 75 +5 3 0 43 46 75 +5 3 0 44 47 74 +5 3 0 45 -1 -1 +5 3 0 46 46 74 +5 3 0 47 47 73 +5 3 0 48 46 73 +5 3 0 49 47 72 +5 3 0 50 46 72 +5 3 0 51 47 71 +5 3 0 52 46 71 +5 3 0 53 47 70 +5 3 0 54 46 70 +5 3 0 55 47 69 +5 3 0 56 -1 -1 +5 3 0 57 46 69 +5 3 0 58 47 68 +5 3 0 59 46 68 +5 3 0 60 47 67 +5 3 0 61 46 67 +5 3 0 62 47 66 +5 3 0 63 46 66 +5 3 0 64 47 65 +5 3 0 65 46 65 +5 3 0 66 47 64 +5 3 0 67 46 64 +5 3 1 0 47 127 +5 3 1 1 46 127 +5 3 1 2 47 126 +5 3 1 3 46 126 +5 3 1 4 47 125 +5 3 1 5 46 125 +5 3 1 6 47 124 +5 3 1 7 46 124 +5 3 1 8 47 123 +5 3 1 9 46 123 +5 3 1 10 47 122 +5 3 1 11 -1 -1 +5 3 1 12 46 122 +5 3 1 13 47 121 +5 3 1 14 46 121 +5 3 1 15 47 120 +5 3 1 16 46 120 +5 3 1 17 47 119 +5 3 1 18 46 119 +5 3 1 19 47 118 +5 3 1 20 46 118 +5 3 1 21 47 117 +5 3 1 22 -1 -1 +5 3 1 23 46 117 +5 3 1 24 47 116 +5 3 1 25 46 116 +5 3 1 26 47 115 +5 3 1 27 46 115 +5 3 1 28 47 114 +5 3 1 29 46 114 +5 3 1 30 47 113 +5 3 1 31 46 113 +5 3 1 32 47 112 +5 3 1 33 46 112 +5 3 1 34 47 111 +5 3 1 35 46 111 +5 3 1 36 47 110 +5 3 1 37 46 110 +5 3 1 38 47 109 +5 3 1 39 46 109 +5 3 1 40 47 108 +5 3 1 41 46 108 +5 3 1 42 47 107 +5 3 1 43 46 107 +5 3 1 44 47 106 +5 3 1 45 -1 -1 +5 3 1 46 46 106 +5 3 1 47 47 105 +5 3 1 48 46 105 +5 3 1 49 47 104 +5 3 1 50 46 104 +5 3 1 51 47 103 +5 3 1 52 46 103 +5 3 1 53 47 102 +5 3 1 54 46 102 +5 3 1 55 47 101 +5 3 1 56 -1 -1 +5 3 1 57 46 101 +5 3 1 58 47 100 +5 3 1 59 46 100 +5 3 1 60 47 99 +5 3 1 61 46 99 +5 3 1 62 47 98 +5 3 1 63 46 98 +5 3 1 64 47 97 +5 3 1 65 46 97 +5 3 1 66 47 96 +5 3 1 67 46 96 +5 3 2 0 45 95 +5 3 2 1 44 95 +5 3 2 2 45 94 +5 3 2 3 44 94 +5 3 2 4 45 93 +5 3 2 5 44 93 +5 3 2 6 45 92 +5 3 2 7 44 92 +5 3 2 8 45 91 +5 3 2 9 44 91 +5 3 2 10 45 90 +5 3 2 11 -1 -1 +5 3 2 12 44 90 +5 3 2 13 45 89 +5 3 2 14 44 89 +5 3 2 15 45 88 +5 3 2 16 44 88 +5 3 2 17 45 87 +5 3 2 18 44 87 +5 3 2 19 45 86 +5 3 2 20 44 86 +5 3 2 21 45 85 +5 3 2 22 -1 -1 +5 3 2 23 44 85 +5 3 2 24 45 84 +5 3 2 25 44 84 +5 3 2 26 45 83 +5 3 2 27 44 83 +5 3 2 28 45 82 +5 3 2 29 44 82 +5 3 2 30 45 81 +5 3 2 31 44 81 +5 3 2 32 45 80 +5 3 2 33 44 80 +5 3 2 34 45 79 +5 3 2 35 44 79 +5 3 2 36 45 78 +5 3 2 37 44 78 +5 3 2 38 45 77 +5 3 2 39 44 77 +5 3 2 40 45 76 +5 3 2 41 44 76 +5 3 2 42 45 75 +5 3 2 43 44 75 +5 3 2 44 45 74 +5 3 2 45 -1 -1 +5 3 2 46 44 74 +5 3 2 47 45 73 +5 3 2 48 44 73 +5 3 2 49 45 72 +5 3 2 50 44 72 +5 3 2 51 45 71 +5 3 2 52 44 71 +5 3 2 53 45 70 +5 3 2 54 44 70 +5 3 2 55 45 69 +5 3 2 56 -1 -1 +5 3 2 57 44 69 +5 3 2 58 45 68 +5 3 2 59 44 68 +5 3 2 60 45 67 +5 3 2 61 44 67 +5 3 2 62 45 66 +5 3 2 63 44 66 +5 3 2 64 45 65 +5 3 2 65 44 65 +5 3 2 66 45 64 +5 3 2 67 44 64 +5 3 3 0 45 127 +5 3 3 1 44 127 +5 3 3 2 45 126 +5 3 3 3 44 126 +5 3 3 4 45 125 +5 3 3 5 44 125 +5 3 3 6 45 124 +5 3 3 7 44 124 +5 3 3 8 45 123 +5 3 3 9 44 123 +5 3 3 10 45 122 +5 3 3 11 -1 -1 +5 3 3 12 44 122 +5 3 3 13 45 121 +5 3 3 14 44 121 +5 3 3 15 45 120 +5 3 3 16 44 120 +5 3 3 17 45 119 +5 3 3 18 44 119 +5 3 3 19 45 118 +5 3 3 20 44 118 +5 3 3 21 45 117 +5 3 3 22 -1 -1 +5 3 3 23 44 117 +5 3 3 24 45 116 +5 3 3 25 44 116 +5 3 3 26 45 115 +5 3 3 27 44 115 +5 3 3 28 45 114 +5 3 3 29 44 114 +5 3 3 30 45 113 +5 3 3 31 44 113 +5 3 3 32 45 112 +5 3 3 33 44 112 +5 3 3 34 45 111 +5 3 3 35 44 111 +5 3 3 36 45 110 +5 3 3 37 44 110 +5 3 3 38 45 109 +5 3 3 39 44 109 +5 3 3 40 45 108 +5 3 3 41 44 108 +5 3 3 42 45 107 +5 3 3 43 44 107 +5 3 3 44 45 106 +5 3 3 45 -1 -1 +5 3 3 46 44 106 +5 3 3 47 45 105 +5 3 3 48 44 105 +5 3 3 49 45 104 +5 3 3 50 44 104 +5 3 3 51 45 103 +5 3 3 52 44 103 +5 3 3 53 45 102 +5 3 3 54 44 102 +5 3 3 55 45 101 +5 3 3 56 -1 -1 +5 3 3 57 44 101 +5 3 3 58 45 100 +5 3 3 59 44 100 +5 3 3 60 45 99 +5 3 3 61 44 99 +5 3 3 62 45 98 +5 3 3 63 44 98 +5 3 3 64 45 97 +5 3 3 65 44 97 +5 3 3 66 45 96 +5 3 3 67 44 96 +6 0 0 0 48 32 +6 0 0 1 49 32 +6 0 0 2 48 33 +6 0 0 3 49 33 +6 0 0 4 48 34 +6 0 0 5 49 34 +6 0 0 6 48 35 +6 0 0 7 49 35 +6 0 0 8 48 36 +6 0 0 9 49 36 +6 0 0 10 48 37 +6 0 0 11 -1 -1 +6 0 0 12 49 37 +6 0 0 13 48 38 +6 0 0 14 49 38 +6 0 0 15 48 39 +6 0 0 16 49 39 +6 0 0 17 48 40 +6 0 0 18 49 40 +6 0 0 19 48 41 +6 0 0 20 49 41 +6 0 0 21 48 42 +6 0 0 22 -1 -1 +6 0 0 23 49 42 +6 0 0 24 48 43 +6 0 0 25 49 43 +6 0 0 26 48 44 +6 0 0 27 49 44 +6 0 0 28 48 45 +6 0 0 29 49 45 +6 0 0 30 48 46 +6 0 0 31 49 46 +6 0 0 32 48 47 +6 0 0 33 49 47 +6 0 0 34 48 48 +6 0 0 35 49 48 +6 0 0 36 48 49 +6 0 0 37 49 49 +6 0 0 38 48 50 +6 0 0 39 49 50 +6 0 0 40 48 51 +6 0 0 41 49 51 +6 0 0 42 48 52 +6 0 0 43 49 52 +6 0 0 44 48 53 +6 0 0 45 -1 -1 +6 0 0 46 49 53 +6 0 0 47 48 54 +6 0 0 48 49 54 +6 0 0 49 48 55 +6 0 0 50 49 55 +6 0 0 51 48 56 +6 0 0 52 49 56 +6 0 0 53 48 57 +6 0 0 54 49 57 +6 0 0 55 48 58 +6 0 0 56 -1 -1 +6 0 0 57 49 58 +6 0 0 58 48 59 +6 0 0 59 49 59 +6 0 0 60 48 60 +6 0 0 61 49 60 +6 0 0 62 48 61 +6 0 0 63 49 61 +6 0 0 64 48 62 +6 0 0 65 49 62 +6 0 0 66 48 63 +6 0 0 67 49 63 +6 0 1 0 48 0 +6 0 1 1 49 0 +6 0 1 2 48 1 +6 0 1 3 49 1 +6 0 1 4 48 2 +6 0 1 5 49 2 +6 0 1 6 48 3 +6 0 1 7 49 3 +6 0 1 8 48 4 +6 0 1 9 49 4 +6 0 1 10 48 5 +6 0 1 11 -1 -1 +6 0 1 12 49 5 +6 0 1 13 48 6 +6 0 1 14 49 6 +6 0 1 15 48 7 +6 0 1 16 49 7 +6 0 1 17 48 8 +6 0 1 18 49 8 +6 0 1 19 48 9 +6 0 1 20 49 9 +6 0 1 21 48 10 +6 0 1 22 -1 -1 +6 0 1 23 49 10 +6 0 1 24 48 11 +6 0 1 25 49 11 +6 0 1 26 48 12 +6 0 1 27 49 12 +6 0 1 28 48 13 +6 0 1 29 49 13 +6 0 1 30 48 14 +6 0 1 31 49 14 +6 0 1 32 48 15 +6 0 1 33 49 15 +6 0 1 34 48 16 +6 0 1 35 49 16 +6 0 1 36 48 17 +6 0 1 37 49 17 +6 0 1 38 48 18 +6 0 1 39 49 18 +6 0 1 40 48 19 +6 0 1 41 49 19 +6 0 1 42 48 20 +6 0 1 43 49 20 +6 0 1 44 48 21 +6 0 1 45 -1 -1 +6 0 1 46 49 21 +6 0 1 47 48 22 +6 0 1 48 49 22 +6 0 1 49 48 23 +6 0 1 50 49 23 +6 0 1 51 48 24 +6 0 1 52 49 24 +6 0 1 53 48 25 +6 0 1 54 49 25 +6 0 1 55 48 26 +6 0 1 56 -1 -1 +6 0 1 57 49 26 +6 0 1 58 48 27 +6 0 1 59 49 27 +6 0 1 60 48 28 +6 0 1 61 49 28 +6 0 1 62 48 29 +6 0 1 63 49 29 +6 0 1 64 48 30 +6 0 1 65 49 30 +6 0 1 66 48 31 +6 0 1 67 49 31 +6 0 2 0 50 32 +6 0 2 1 51 32 +6 0 2 2 50 33 +6 0 2 3 51 33 +6 0 2 4 50 34 +6 0 2 5 51 34 +6 0 2 6 50 35 +6 0 2 7 51 35 +6 0 2 8 50 36 +6 0 2 9 51 36 +6 0 2 10 50 37 +6 0 2 11 -1 -1 +6 0 2 12 51 37 +6 0 2 13 50 38 +6 0 2 14 51 38 +6 0 2 15 50 39 +6 0 2 16 51 39 +6 0 2 17 50 40 +6 0 2 18 51 40 +6 0 2 19 50 41 +6 0 2 20 51 41 +6 0 2 21 50 42 +6 0 2 22 -1 -1 +6 0 2 23 51 42 +6 0 2 24 50 43 +6 0 2 25 51 43 +6 0 2 26 50 44 +6 0 2 27 51 44 +6 0 2 28 50 45 +6 0 2 29 51 45 +6 0 2 30 50 46 +6 0 2 31 51 46 +6 0 2 32 50 47 +6 0 2 33 51 47 +6 0 2 34 50 48 +6 0 2 35 51 48 +6 0 2 36 50 49 +6 0 2 37 51 49 +6 0 2 38 50 50 +6 0 2 39 51 50 +6 0 2 40 50 51 +6 0 2 41 51 51 +6 0 2 42 50 52 +6 0 2 43 51 52 +6 0 2 44 50 53 +6 0 2 45 -1 -1 +6 0 2 46 51 53 +6 0 2 47 50 54 +6 0 2 48 51 54 +6 0 2 49 50 55 +6 0 2 50 51 55 +6 0 2 51 50 56 +6 0 2 52 51 56 +6 0 2 53 50 57 +6 0 2 54 51 57 +6 0 2 55 50 58 +6 0 2 56 -1 -1 +6 0 2 57 51 58 +6 0 2 58 50 59 +6 0 2 59 51 59 +6 0 2 60 50 60 +6 0 2 61 51 60 +6 0 2 62 50 61 +6 0 2 63 51 61 +6 0 2 64 50 62 +6 0 2 65 51 62 +6 0 2 66 50 63 +6 0 2 67 51 63 +6 0 3 0 50 0 +6 0 3 1 51 0 +6 0 3 2 50 1 +6 0 3 3 51 1 +6 0 3 4 50 2 +6 0 3 5 51 2 +6 0 3 6 50 3 +6 0 3 7 51 3 +6 0 3 8 50 4 +6 0 3 9 51 4 +6 0 3 10 50 5 +6 0 3 11 -1 -1 +6 0 3 12 51 5 +6 0 3 13 50 6 +6 0 3 14 51 6 +6 0 3 15 50 7 +6 0 3 16 51 7 +6 0 3 17 50 8 +6 0 3 18 51 8 +6 0 3 19 50 9 +6 0 3 20 51 9 +6 0 3 21 50 10 +6 0 3 22 -1 -1 +6 0 3 23 51 10 +6 0 3 24 50 11 +6 0 3 25 51 11 +6 0 3 26 50 12 +6 0 3 27 51 12 +6 0 3 28 50 13 +6 0 3 29 51 13 +6 0 3 30 50 14 +6 0 3 31 51 14 +6 0 3 32 50 15 +6 0 3 33 51 15 +6 0 3 34 50 16 +6 0 3 35 51 16 +6 0 3 36 50 17 +6 0 3 37 51 17 +6 0 3 38 50 18 +6 0 3 39 51 18 +6 0 3 40 50 19 +6 0 3 41 51 19 +6 0 3 42 50 20 +6 0 3 43 51 20 +6 0 3 44 50 21 +6 0 3 45 -1 -1 +6 0 3 46 51 21 +6 0 3 47 50 22 +6 0 3 48 51 22 +6 0 3 49 50 23 +6 0 3 50 51 23 +6 0 3 51 50 24 +6 0 3 52 51 24 +6 0 3 53 50 25 +6 0 3 54 51 25 +6 0 3 55 50 26 +6 0 3 56 -1 -1 +6 0 3 57 51 26 +6 0 3 58 50 27 +6 0 3 59 51 27 +6 0 3 60 50 28 +6 0 3 61 51 28 +6 0 3 62 50 29 +6 0 3 63 51 29 +6 0 3 64 50 30 +6 0 3 65 51 30 +6 0 3 66 50 31 +6 0 3 67 51 31 +6 1 0 0 51 95 +6 1 0 1 50 95 +6 1 0 2 51 94 +6 1 0 3 50 94 +6 1 0 4 51 93 +6 1 0 5 50 93 +6 1 0 6 51 92 +6 1 0 7 50 92 +6 1 0 8 51 91 +6 1 0 9 50 91 +6 1 0 10 51 90 +6 1 0 11 -1 -1 +6 1 0 12 50 90 +6 1 0 13 51 89 +6 1 0 14 50 89 +6 1 0 15 51 88 +6 1 0 16 50 88 +6 1 0 17 51 87 +6 1 0 18 50 87 +6 1 0 19 51 86 +6 1 0 20 50 86 +6 1 0 21 51 85 +6 1 0 22 -1 -1 +6 1 0 23 50 85 +6 1 0 24 51 84 +6 1 0 25 50 84 +6 1 0 26 51 83 +6 1 0 27 50 83 +6 1 0 28 51 82 +6 1 0 29 50 82 +6 1 0 30 51 81 +6 1 0 31 50 81 +6 1 0 32 51 80 +6 1 0 33 50 80 +6 1 0 34 51 79 +6 1 0 35 50 79 +6 1 0 36 51 78 +6 1 0 37 50 78 +6 1 0 38 51 77 +6 1 0 39 50 77 +6 1 0 40 51 76 +6 1 0 41 50 76 +6 1 0 42 51 75 +6 1 0 43 50 75 +6 1 0 44 51 74 +6 1 0 45 -1 -1 +6 1 0 46 50 74 +6 1 0 47 51 73 +6 1 0 48 50 73 +6 1 0 49 51 72 +6 1 0 50 50 72 +6 1 0 51 51 71 +6 1 0 52 50 71 +6 1 0 53 51 70 +6 1 0 54 50 70 +6 1 0 55 51 69 +6 1 0 56 -1 -1 +6 1 0 57 50 69 +6 1 0 58 51 68 +6 1 0 59 50 68 +6 1 0 60 51 67 +6 1 0 61 50 67 +6 1 0 62 51 66 +6 1 0 63 50 66 +6 1 0 64 51 65 +6 1 0 65 50 65 +6 1 0 66 51 64 +6 1 0 67 50 64 +6 1 1 0 51 127 +6 1 1 1 50 127 +6 1 1 2 51 126 +6 1 1 3 50 126 +6 1 1 4 51 125 +6 1 1 5 50 125 +6 1 1 6 51 124 +6 1 1 7 50 124 +6 1 1 8 51 123 +6 1 1 9 50 123 +6 1 1 10 51 122 +6 1 1 11 -1 -1 +6 1 1 12 50 122 +6 1 1 13 51 121 +6 1 1 14 50 121 +6 1 1 15 51 120 +6 1 1 16 50 120 +6 1 1 17 51 119 +6 1 1 18 50 119 +6 1 1 19 51 118 +6 1 1 20 50 118 +6 1 1 21 51 117 +6 1 1 22 -1 -1 +6 1 1 23 50 117 +6 1 1 24 51 116 +6 1 1 25 50 116 +6 1 1 26 51 115 +6 1 1 27 50 115 +6 1 1 28 51 114 +6 1 1 29 50 114 +6 1 1 30 51 113 +6 1 1 31 50 113 +6 1 1 32 51 112 +6 1 1 33 50 112 +6 1 1 34 51 111 +6 1 1 35 50 111 +6 1 1 36 51 110 +6 1 1 37 50 110 +6 1 1 38 51 109 +6 1 1 39 50 109 +6 1 1 40 51 108 +6 1 1 41 50 108 +6 1 1 42 51 107 +6 1 1 43 50 107 +6 1 1 44 51 106 +6 1 1 45 -1 -1 +6 1 1 46 50 106 +6 1 1 47 51 105 +6 1 1 48 50 105 +6 1 1 49 51 104 +6 1 1 50 50 104 +6 1 1 51 51 103 +6 1 1 52 50 103 +6 1 1 53 51 102 +6 1 1 54 50 102 +6 1 1 55 51 101 +6 1 1 56 -1 -1 +6 1 1 57 50 101 +6 1 1 58 51 100 +6 1 1 59 50 100 +6 1 1 60 51 99 +6 1 1 61 50 99 +6 1 1 62 51 98 +6 1 1 63 50 98 +6 1 1 64 51 97 +6 1 1 65 50 97 +6 1 1 66 51 96 +6 1 1 67 50 96 +6 1 2 0 49 95 +6 1 2 1 48 95 +6 1 2 2 49 94 +6 1 2 3 48 94 +6 1 2 4 49 93 +6 1 2 5 48 93 +6 1 2 6 49 92 +6 1 2 7 48 92 +6 1 2 8 49 91 +6 1 2 9 48 91 +6 1 2 10 49 90 +6 1 2 11 -1 -1 +6 1 2 12 48 90 +6 1 2 13 49 89 +6 1 2 14 48 89 +6 1 2 15 49 88 +6 1 2 16 48 88 +6 1 2 17 49 87 +6 1 2 18 48 87 +6 1 2 19 49 86 +6 1 2 20 48 86 +6 1 2 21 49 85 +6 1 2 22 -1 -1 +6 1 2 23 48 85 +6 1 2 24 49 84 +6 1 2 25 48 84 +6 1 2 26 49 83 +6 1 2 27 48 83 +6 1 2 28 49 82 +6 1 2 29 48 82 +6 1 2 30 49 81 +6 1 2 31 48 81 +6 1 2 32 49 80 +6 1 2 33 48 80 +6 1 2 34 49 79 +6 1 2 35 48 79 +6 1 2 36 49 78 +6 1 2 37 48 78 +6 1 2 38 49 77 +6 1 2 39 48 77 +6 1 2 40 49 76 +6 1 2 41 48 76 +6 1 2 42 49 75 +6 1 2 43 48 75 +6 1 2 44 49 74 +6 1 2 45 -1 -1 +6 1 2 46 48 74 +6 1 2 47 49 73 +6 1 2 48 48 73 +6 1 2 49 49 72 +6 1 2 50 48 72 +6 1 2 51 49 71 +6 1 2 52 48 71 +6 1 2 53 49 70 +6 1 2 54 48 70 +6 1 2 55 49 69 +6 1 2 56 -1 -1 +6 1 2 57 48 69 +6 1 2 58 49 68 +6 1 2 59 48 68 +6 1 2 60 49 67 +6 1 2 61 48 67 +6 1 2 62 49 66 +6 1 2 63 48 66 +6 1 2 64 49 65 +6 1 2 65 48 65 +6 1 2 66 49 64 +6 1 2 67 48 64 +6 1 3 0 49 127 +6 1 3 1 48 127 +6 1 3 2 49 126 +6 1 3 3 48 126 +6 1 3 4 49 125 +6 1 3 5 48 125 +6 1 3 6 49 124 +6 1 3 7 48 124 +6 1 3 8 49 123 +6 1 3 9 48 123 +6 1 3 10 49 122 +6 1 3 11 -1 -1 +6 1 3 12 48 122 +6 1 3 13 49 121 +6 1 3 14 48 121 +6 1 3 15 49 120 +6 1 3 16 48 120 +6 1 3 17 49 119 +6 1 3 18 48 119 +6 1 3 19 49 118 +6 1 3 20 48 118 +6 1 3 21 49 117 +6 1 3 22 -1 -1 +6 1 3 23 48 117 +6 1 3 24 49 116 +6 1 3 25 48 116 +6 1 3 26 49 115 +6 1 3 27 48 115 +6 1 3 28 49 114 +6 1 3 29 48 114 +6 1 3 30 49 113 +6 1 3 31 48 113 +6 1 3 32 49 112 +6 1 3 33 48 112 +6 1 3 34 49 111 +6 1 3 35 48 111 +6 1 3 36 49 110 +6 1 3 37 48 110 +6 1 3 38 49 109 +6 1 3 39 48 109 +6 1 3 40 49 108 +6 1 3 41 48 108 +6 1 3 42 49 107 +6 1 3 43 48 107 +6 1 3 44 49 106 +6 1 3 45 -1 -1 +6 1 3 46 48 106 +6 1 3 47 49 105 +6 1 3 48 48 105 +6 1 3 49 49 104 +6 1 3 50 48 104 +6 1 3 51 49 103 +6 1 3 52 48 103 +6 1 3 53 49 102 +6 1 3 54 48 102 +6 1 3 55 49 101 +6 1 3 56 -1 -1 +6 1 3 57 48 101 +6 1 3 58 49 100 +6 1 3 59 48 100 +6 1 3 60 49 99 +6 1 3 61 48 99 +6 1 3 62 49 98 +6 1 3 63 48 98 +6 1 3 64 49 97 +6 1 3 65 48 97 +6 1 3 66 49 96 +6 1 3 67 48 96 +6 2 0 0 52 32 +6 2 0 1 53 32 +6 2 0 2 52 33 +6 2 0 3 53 33 +6 2 0 4 52 34 +6 2 0 5 53 34 +6 2 0 6 52 35 +6 2 0 7 53 35 +6 2 0 8 52 36 +6 2 0 9 53 36 +6 2 0 10 52 37 +6 2 0 11 -1 -1 +6 2 0 12 53 37 +6 2 0 13 52 38 +6 2 0 14 53 38 +6 2 0 15 52 39 +6 2 0 16 53 39 +6 2 0 17 52 40 +6 2 0 18 53 40 +6 2 0 19 52 41 +6 2 0 20 53 41 +6 2 0 21 52 42 +6 2 0 22 -1 -1 +6 2 0 23 53 42 +6 2 0 24 52 43 +6 2 0 25 53 43 +6 2 0 26 52 44 +6 2 0 27 53 44 +6 2 0 28 52 45 +6 2 0 29 53 45 +6 2 0 30 52 46 +6 2 0 31 53 46 +6 2 0 32 52 47 +6 2 0 33 53 47 +6 2 0 34 52 48 +6 2 0 35 53 48 +6 2 0 36 52 49 +6 2 0 37 53 49 +6 2 0 38 52 50 +6 2 0 39 53 50 +6 2 0 40 52 51 +6 2 0 41 53 51 +6 2 0 42 52 52 +6 2 0 43 53 52 +6 2 0 44 52 53 +6 2 0 45 -1 -1 +6 2 0 46 53 53 +6 2 0 47 52 54 +6 2 0 48 53 54 +6 2 0 49 52 55 +6 2 0 50 53 55 +6 2 0 51 52 56 +6 2 0 52 53 56 +6 2 0 53 52 57 +6 2 0 54 53 57 +6 2 0 55 52 58 +6 2 0 56 -1 -1 +6 2 0 57 53 58 +6 2 0 58 52 59 +6 2 0 59 53 59 +6 2 0 60 52 60 +6 2 0 61 53 60 +6 2 0 62 52 61 +6 2 0 63 53 61 +6 2 0 64 52 62 +6 2 0 65 53 62 +6 2 0 66 52 63 +6 2 0 67 53 63 +6 2 1 0 52 0 +6 2 1 1 53 0 +6 2 1 2 52 1 +6 2 1 3 53 1 +6 2 1 4 52 2 +6 2 1 5 53 2 +6 2 1 6 52 3 +6 2 1 7 53 3 +6 2 1 8 52 4 +6 2 1 9 53 4 +6 2 1 10 52 5 +6 2 1 11 -1 -1 +6 2 1 12 53 5 +6 2 1 13 52 6 +6 2 1 14 53 6 +6 2 1 15 52 7 +6 2 1 16 53 7 +6 2 1 17 52 8 +6 2 1 18 53 8 +6 2 1 19 52 9 +6 2 1 20 53 9 +6 2 1 21 52 10 +6 2 1 22 -1 -1 +6 2 1 23 53 10 +6 2 1 24 52 11 +6 2 1 25 53 11 +6 2 1 26 52 12 +6 2 1 27 53 12 +6 2 1 28 52 13 +6 2 1 29 53 13 +6 2 1 30 52 14 +6 2 1 31 53 14 +6 2 1 32 52 15 +6 2 1 33 53 15 +6 2 1 34 52 16 +6 2 1 35 53 16 +6 2 1 36 52 17 +6 2 1 37 53 17 +6 2 1 38 52 18 +6 2 1 39 53 18 +6 2 1 40 52 19 +6 2 1 41 53 19 +6 2 1 42 52 20 +6 2 1 43 53 20 +6 2 1 44 52 21 +6 2 1 45 -1 -1 +6 2 1 46 53 21 +6 2 1 47 52 22 +6 2 1 48 53 22 +6 2 1 49 52 23 +6 2 1 50 53 23 +6 2 1 51 52 24 +6 2 1 52 53 24 +6 2 1 53 52 25 +6 2 1 54 53 25 +6 2 1 55 52 26 +6 2 1 56 -1 -1 +6 2 1 57 53 26 +6 2 1 58 52 27 +6 2 1 59 53 27 +6 2 1 60 52 28 +6 2 1 61 53 28 +6 2 1 62 52 29 +6 2 1 63 53 29 +6 2 1 64 52 30 +6 2 1 65 53 30 +6 2 1 66 52 31 +6 2 1 67 53 31 +6 2 2 0 54 32 +6 2 2 1 55 32 +6 2 2 2 54 33 +6 2 2 3 55 33 +6 2 2 4 54 34 +6 2 2 5 55 34 +6 2 2 6 54 35 +6 2 2 7 55 35 +6 2 2 8 54 36 +6 2 2 9 55 36 +6 2 2 10 54 37 +6 2 2 11 -1 -1 +6 2 2 12 55 37 +6 2 2 13 54 38 +6 2 2 14 55 38 +6 2 2 15 54 39 +6 2 2 16 55 39 +6 2 2 17 54 40 +6 2 2 18 55 40 +6 2 2 19 54 41 +6 2 2 20 55 41 +6 2 2 21 54 42 +6 2 2 22 -1 -1 +6 2 2 23 55 42 +6 2 2 24 54 43 +6 2 2 25 55 43 +6 2 2 26 54 44 +6 2 2 27 55 44 +6 2 2 28 54 45 +6 2 2 29 55 45 +6 2 2 30 54 46 +6 2 2 31 55 46 +6 2 2 32 54 47 +6 2 2 33 55 47 +6 2 2 34 54 48 +6 2 2 35 55 48 +6 2 2 36 54 49 +6 2 2 37 55 49 +6 2 2 38 54 50 +6 2 2 39 55 50 +6 2 2 40 54 51 +6 2 2 41 55 51 +6 2 2 42 54 52 +6 2 2 43 55 52 +6 2 2 44 54 53 +6 2 2 45 -1 -1 +6 2 2 46 55 53 +6 2 2 47 54 54 +6 2 2 48 55 54 +6 2 2 49 54 55 +6 2 2 50 55 55 +6 2 2 51 54 56 +6 2 2 52 55 56 +6 2 2 53 54 57 +6 2 2 54 55 57 +6 2 2 55 54 58 +6 2 2 56 -1 -1 +6 2 2 57 55 58 +6 2 2 58 54 59 +6 2 2 59 55 59 +6 2 2 60 54 60 +6 2 2 61 55 60 +6 2 2 62 54 61 +6 2 2 63 55 61 +6 2 2 64 54 62 +6 2 2 65 55 62 +6 2 2 66 54 63 +6 2 2 67 55 63 +6 2 3 0 54 0 +6 2 3 1 55 0 +6 2 3 2 54 1 +6 2 3 3 55 1 +6 2 3 4 54 2 +6 2 3 5 55 2 +6 2 3 6 54 3 +6 2 3 7 55 3 +6 2 3 8 54 4 +6 2 3 9 55 4 +6 2 3 10 54 5 +6 2 3 11 -1 -1 +6 2 3 12 55 5 +6 2 3 13 54 6 +6 2 3 14 55 6 +6 2 3 15 54 7 +6 2 3 16 55 7 +6 2 3 17 54 8 +6 2 3 18 55 8 +6 2 3 19 54 9 +6 2 3 20 55 9 +6 2 3 21 54 10 +6 2 3 22 -1 -1 +6 2 3 23 55 10 +6 2 3 24 54 11 +6 2 3 25 55 11 +6 2 3 26 54 12 +6 2 3 27 55 12 +6 2 3 28 54 13 +6 2 3 29 55 13 +6 2 3 30 54 14 +6 2 3 31 55 14 +6 2 3 32 54 15 +6 2 3 33 55 15 +6 2 3 34 54 16 +6 2 3 35 55 16 +6 2 3 36 54 17 +6 2 3 37 55 17 +6 2 3 38 54 18 +6 2 3 39 55 18 +6 2 3 40 54 19 +6 2 3 41 55 19 +6 2 3 42 54 20 +6 2 3 43 55 20 +6 2 3 44 54 21 +6 2 3 45 -1 -1 +6 2 3 46 55 21 +6 2 3 47 54 22 +6 2 3 48 55 22 +6 2 3 49 54 23 +6 2 3 50 55 23 +6 2 3 51 54 24 +6 2 3 52 55 24 +6 2 3 53 54 25 +6 2 3 54 55 25 +6 2 3 55 54 26 +6 2 3 56 -1 -1 +6 2 3 57 55 26 +6 2 3 58 54 27 +6 2 3 59 55 27 +6 2 3 60 54 28 +6 2 3 61 55 28 +6 2 3 62 54 29 +6 2 3 63 55 29 +6 2 3 64 54 30 +6 2 3 65 55 30 +6 2 3 66 54 31 +6 2 3 67 55 31 +6 3 0 0 55 95 +6 3 0 1 54 95 +6 3 0 2 55 94 +6 3 0 3 54 94 +6 3 0 4 55 93 +6 3 0 5 54 93 +6 3 0 6 55 92 +6 3 0 7 54 92 +6 3 0 8 55 91 +6 3 0 9 54 91 +6 3 0 10 55 90 +6 3 0 11 -1 -1 +6 3 0 12 54 90 +6 3 0 13 55 89 +6 3 0 14 54 89 +6 3 0 15 55 88 +6 3 0 16 54 88 +6 3 0 17 55 87 +6 3 0 18 54 87 +6 3 0 19 55 86 +6 3 0 20 54 86 +6 3 0 21 55 85 +6 3 0 22 -1 -1 +6 3 0 23 54 85 +6 3 0 24 55 84 +6 3 0 25 54 84 +6 3 0 26 55 83 +6 3 0 27 54 83 +6 3 0 28 55 82 +6 3 0 29 54 82 +6 3 0 30 55 81 +6 3 0 31 54 81 +6 3 0 32 55 80 +6 3 0 33 54 80 +6 3 0 34 55 79 +6 3 0 35 54 79 +6 3 0 36 55 78 +6 3 0 37 54 78 +6 3 0 38 55 77 +6 3 0 39 54 77 +6 3 0 40 55 76 +6 3 0 41 54 76 +6 3 0 42 55 75 +6 3 0 43 54 75 +6 3 0 44 55 74 +6 3 0 45 -1 -1 +6 3 0 46 54 74 +6 3 0 47 55 73 +6 3 0 48 54 73 +6 3 0 49 55 72 +6 3 0 50 54 72 +6 3 0 51 55 71 +6 3 0 52 54 71 +6 3 0 53 55 70 +6 3 0 54 54 70 +6 3 0 55 55 69 +6 3 0 56 -1 -1 +6 3 0 57 54 69 +6 3 0 58 55 68 +6 3 0 59 54 68 +6 3 0 60 55 67 +6 3 0 61 54 67 +6 3 0 62 55 66 +6 3 0 63 54 66 +6 3 0 64 55 65 +6 3 0 65 54 65 +6 3 0 66 55 64 +6 3 0 67 54 64 +6 3 1 0 55 127 +6 3 1 1 54 127 +6 3 1 2 55 126 +6 3 1 3 54 126 +6 3 1 4 55 125 +6 3 1 5 54 125 +6 3 1 6 55 124 +6 3 1 7 54 124 +6 3 1 8 55 123 +6 3 1 9 54 123 +6 3 1 10 55 122 +6 3 1 11 -1 -1 +6 3 1 12 54 122 +6 3 1 13 55 121 +6 3 1 14 54 121 +6 3 1 15 55 120 +6 3 1 16 54 120 +6 3 1 17 55 119 +6 3 1 18 54 119 +6 3 1 19 55 118 +6 3 1 20 54 118 +6 3 1 21 55 117 +6 3 1 22 -1 -1 +6 3 1 23 54 117 +6 3 1 24 55 116 +6 3 1 25 54 116 +6 3 1 26 55 115 +6 3 1 27 54 115 +6 3 1 28 55 114 +6 3 1 29 54 114 +6 3 1 30 55 113 +6 3 1 31 54 113 +6 3 1 32 55 112 +6 3 1 33 54 112 +6 3 1 34 55 111 +6 3 1 35 54 111 +6 3 1 36 55 110 +6 3 1 37 54 110 +6 3 1 38 55 109 +6 3 1 39 54 109 +6 3 1 40 55 108 +6 3 1 41 54 108 +6 3 1 42 55 107 +6 3 1 43 54 107 +6 3 1 44 55 106 +6 3 1 45 -1 -1 +6 3 1 46 54 106 +6 3 1 47 55 105 +6 3 1 48 54 105 +6 3 1 49 55 104 +6 3 1 50 54 104 +6 3 1 51 55 103 +6 3 1 52 54 103 +6 3 1 53 55 102 +6 3 1 54 54 102 +6 3 1 55 55 101 +6 3 1 56 -1 -1 +6 3 1 57 54 101 +6 3 1 58 55 100 +6 3 1 59 54 100 +6 3 1 60 55 99 +6 3 1 61 54 99 +6 3 1 62 55 98 +6 3 1 63 54 98 +6 3 1 64 55 97 +6 3 1 65 54 97 +6 3 1 66 55 96 +6 3 1 67 54 96 +6 3 2 0 53 95 +6 3 2 1 52 95 +6 3 2 2 53 94 +6 3 2 3 52 94 +6 3 2 4 53 93 +6 3 2 5 52 93 +6 3 2 6 53 92 +6 3 2 7 52 92 +6 3 2 8 53 91 +6 3 2 9 52 91 +6 3 2 10 53 90 +6 3 2 11 -1 -1 +6 3 2 12 52 90 +6 3 2 13 53 89 +6 3 2 14 52 89 +6 3 2 15 53 88 +6 3 2 16 52 88 +6 3 2 17 53 87 +6 3 2 18 52 87 +6 3 2 19 53 86 +6 3 2 20 52 86 +6 3 2 21 53 85 +6 3 2 22 -1 -1 +6 3 2 23 52 85 +6 3 2 24 53 84 +6 3 2 25 52 84 +6 3 2 26 53 83 +6 3 2 27 52 83 +6 3 2 28 53 82 +6 3 2 29 52 82 +6 3 2 30 53 81 +6 3 2 31 52 81 +6 3 2 32 53 80 +6 3 2 33 52 80 +6 3 2 34 53 79 +6 3 2 35 52 79 +6 3 2 36 53 78 +6 3 2 37 52 78 +6 3 2 38 53 77 +6 3 2 39 52 77 +6 3 2 40 53 76 +6 3 2 41 52 76 +6 3 2 42 53 75 +6 3 2 43 52 75 +6 3 2 44 53 74 +6 3 2 45 -1 -1 +6 3 2 46 52 74 +6 3 2 47 53 73 +6 3 2 48 52 73 +6 3 2 49 53 72 +6 3 2 50 52 72 +6 3 2 51 53 71 +6 3 2 52 52 71 +6 3 2 53 53 70 +6 3 2 54 52 70 +6 3 2 55 53 69 +6 3 2 56 -1 -1 +6 3 2 57 52 69 +6 3 2 58 53 68 +6 3 2 59 52 68 +6 3 2 60 53 67 +6 3 2 61 52 67 +6 3 2 62 53 66 +6 3 2 63 52 66 +6 3 2 64 53 65 +6 3 2 65 52 65 +6 3 2 66 53 64 +6 3 2 67 52 64 +6 3 3 0 53 127 +6 3 3 1 52 127 +6 3 3 2 53 126 +6 3 3 3 52 126 +6 3 3 4 53 125 +6 3 3 5 52 125 +6 3 3 6 53 124 +6 3 3 7 52 124 +6 3 3 8 53 123 +6 3 3 9 52 123 +6 3 3 10 53 122 +6 3 3 11 -1 -1 +6 3 3 12 52 122 +6 3 3 13 53 121 +6 3 3 14 52 121 +6 3 3 15 53 120 +6 3 3 16 52 120 +6 3 3 17 53 119 +6 3 3 18 52 119 +6 3 3 19 53 118 +6 3 3 20 52 118 +6 3 3 21 53 117 +6 3 3 22 -1 -1 +6 3 3 23 52 117 +6 3 3 24 53 116 +6 3 3 25 52 116 +6 3 3 26 53 115 +6 3 3 27 52 115 +6 3 3 28 53 114 +6 3 3 29 52 114 +6 3 3 30 53 113 +6 3 3 31 52 113 +6 3 3 32 53 112 +6 3 3 33 52 112 +6 3 3 34 53 111 +6 3 3 35 52 111 +6 3 3 36 53 110 +6 3 3 37 52 110 +6 3 3 38 53 109 +6 3 3 39 52 109 +6 3 3 40 53 108 +6 3 3 41 52 108 +6 3 3 42 53 107 +6 3 3 43 52 107 +6 3 3 44 53 106 +6 3 3 45 -1 -1 +6 3 3 46 52 106 +6 3 3 47 53 105 +6 3 3 48 52 105 +6 3 3 49 53 104 +6 3 3 50 52 104 +6 3 3 51 53 103 +6 3 3 52 52 103 +6 3 3 53 53 102 +6 3 3 54 52 102 +6 3 3 55 53 101 +6 3 3 56 -1 -1 +6 3 3 57 52 101 +6 3 3 58 53 100 +6 3 3 59 52 100 +6 3 3 60 53 99 +6 3 3 61 52 99 +6 3 3 62 53 98 +6 3 3 63 52 98 +6 3 3 64 53 97 +6 3 3 65 52 97 +6 3 3 66 53 96 +6 3 3 67 52 96 +7 0 0 0 56 32 +7 0 0 1 57 32 +7 0 0 2 56 33 +7 0 0 3 57 33 +7 0 0 4 56 34 +7 0 0 5 57 34 +7 0 0 6 56 35 +7 0 0 7 57 35 +7 0 0 8 56 36 +7 0 0 9 57 36 +7 0 0 10 56 37 +7 0 0 11 -1 -1 +7 0 0 12 57 37 +7 0 0 13 56 38 +7 0 0 14 57 38 +7 0 0 15 56 39 +7 0 0 16 57 39 +7 0 0 17 56 40 +7 0 0 18 57 40 +7 0 0 19 56 41 +7 0 0 20 57 41 +7 0 0 21 56 42 +7 0 0 22 -1 -1 +7 0 0 23 57 42 +7 0 0 24 56 43 +7 0 0 25 57 43 +7 0 0 26 56 44 +7 0 0 27 57 44 +7 0 0 28 56 45 +7 0 0 29 57 45 +7 0 0 30 56 46 +7 0 0 31 57 46 +7 0 0 32 56 47 +7 0 0 33 57 47 +7 0 0 34 56 48 +7 0 0 35 57 48 +7 0 0 36 56 49 +7 0 0 37 57 49 +7 0 0 38 56 50 +7 0 0 39 57 50 +7 0 0 40 56 51 +7 0 0 41 57 51 +7 0 0 42 56 52 +7 0 0 43 57 52 +7 0 0 44 56 53 +7 0 0 45 -1 -1 +7 0 0 46 57 53 +7 0 0 47 56 54 +7 0 0 48 57 54 +7 0 0 49 56 55 +7 0 0 50 57 55 +7 0 0 51 56 56 +7 0 0 52 57 56 +7 0 0 53 56 57 +7 0 0 54 57 57 +7 0 0 55 56 58 +7 0 0 56 -1 -1 +7 0 0 57 57 58 +7 0 0 58 56 59 +7 0 0 59 57 59 +7 0 0 60 56 60 +7 0 0 61 57 60 +7 0 0 62 56 61 +7 0 0 63 57 61 +7 0 0 64 56 62 +7 0 0 65 57 62 +7 0 0 66 56 63 +7 0 0 67 57 63 +7 0 1 0 56 0 +7 0 1 1 57 0 +7 0 1 2 56 1 +7 0 1 3 57 1 +7 0 1 4 56 2 +7 0 1 5 57 2 +7 0 1 6 56 3 +7 0 1 7 57 3 +7 0 1 8 56 4 +7 0 1 9 57 4 +7 0 1 10 56 5 +7 0 1 11 -1 -1 +7 0 1 12 57 5 +7 0 1 13 56 6 +7 0 1 14 57 6 +7 0 1 15 56 7 +7 0 1 16 57 7 +7 0 1 17 56 8 +7 0 1 18 57 8 +7 0 1 19 56 9 +7 0 1 20 57 9 +7 0 1 21 56 10 +7 0 1 22 -1 -1 +7 0 1 23 57 10 +7 0 1 24 56 11 +7 0 1 25 57 11 +7 0 1 26 56 12 +7 0 1 27 57 12 +7 0 1 28 56 13 +7 0 1 29 57 13 +7 0 1 30 56 14 +7 0 1 31 57 14 +7 0 1 32 56 15 +7 0 1 33 57 15 +7 0 1 34 56 16 +7 0 1 35 57 16 +7 0 1 36 56 17 +7 0 1 37 57 17 +7 0 1 38 56 18 +7 0 1 39 57 18 +7 0 1 40 56 19 +7 0 1 41 57 19 +7 0 1 42 56 20 +7 0 1 43 57 20 +7 0 1 44 56 21 +7 0 1 45 -1 -1 +7 0 1 46 57 21 +7 0 1 47 56 22 +7 0 1 48 57 22 +7 0 1 49 56 23 +7 0 1 50 57 23 +7 0 1 51 56 24 +7 0 1 52 57 24 +7 0 1 53 56 25 +7 0 1 54 57 25 +7 0 1 55 56 26 +7 0 1 56 -1 -1 +7 0 1 57 57 26 +7 0 1 58 56 27 +7 0 1 59 57 27 +7 0 1 60 56 28 +7 0 1 61 57 28 +7 0 1 62 56 29 +7 0 1 63 57 29 +7 0 1 64 56 30 +7 0 1 65 57 30 +7 0 1 66 56 31 +7 0 1 67 57 31 +7 0 2 0 58 32 +7 0 2 1 59 32 +7 0 2 2 58 33 +7 0 2 3 59 33 +7 0 2 4 58 34 +7 0 2 5 59 34 +7 0 2 6 58 35 +7 0 2 7 59 35 +7 0 2 8 58 36 +7 0 2 9 59 36 +7 0 2 10 58 37 +7 0 2 11 -1 -1 +7 0 2 12 59 37 +7 0 2 13 58 38 +7 0 2 14 59 38 +7 0 2 15 58 39 +7 0 2 16 59 39 +7 0 2 17 58 40 +7 0 2 18 59 40 +7 0 2 19 58 41 +7 0 2 20 59 41 +7 0 2 21 58 42 +7 0 2 22 -1 -1 +7 0 2 23 59 42 +7 0 2 24 58 43 +7 0 2 25 59 43 +7 0 2 26 58 44 +7 0 2 27 59 44 +7 0 2 28 58 45 +7 0 2 29 59 45 +7 0 2 30 58 46 +7 0 2 31 59 46 +7 0 2 32 58 47 +7 0 2 33 59 47 +7 0 2 34 58 48 +7 0 2 35 59 48 +7 0 2 36 58 49 +7 0 2 37 59 49 +7 0 2 38 58 50 +7 0 2 39 59 50 +7 0 2 40 58 51 +7 0 2 41 59 51 +7 0 2 42 58 52 +7 0 2 43 59 52 +7 0 2 44 58 53 +7 0 2 45 -1 -1 +7 0 2 46 59 53 +7 0 2 47 58 54 +7 0 2 48 59 54 +7 0 2 49 58 55 +7 0 2 50 59 55 +7 0 2 51 58 56 +7 0 2 52 59 56 +7 0 2 53 58 57 +7 0 2 54 59 57 +7 0 2 55 58 58 +7 0 2 56 -1 -1 +7 0 2 57 59 58 +7 0 2 58 58 59 +7 0 2 59 59 59 +7 0 2 60 58 60 +7 0 2 61 59 60 +7 0 2 62 58 61 +7 0 2 63 59 61 +7 0 2 64 58 62 +7 0 2 65 59 62 +7 0 2 66 58 63 +7 0 2 67 59 63 +7 0 3 0 58 0 +7 0 3 1 59 0 +7 0 3 2 58 1 +7 0 3 3 59 1 +7 0 3 4 58 2 +7 0 3 5 59 2 +7 0 3 6 58 3 +7 0 3 7 59 3 +7 0 3 8 58 4 +7 0 3 9 59 4 +7 0 3 10 58 5 +7 0 3 11 -1 -1 +7 0 3 12 59 5 +7 0 3 13 58 6 +7 0 3 14 59 6 +7 0 3 15 58 7 +7 0 3 16 59 7 +7 0 3 17 58 8 +7 0 3 18 59 8 +7 0 3 19 58 9 +7 0 3 20 59 9 +7 0 3 21 58 10 +7 0 3 22 -1 -1 +7 0 3 23 59 10 +7 0 3 24 58 11 +7 0 3 25 59 11 +7 0 3 26 58 12 +7 0 3 27 59 12 +7 0 3 28 58 13 +7 0 3 29 59 13 +7 0 3 30 58 14 +7 0 3 31 59 14 +7 0 3 32 58 15 +7 0 3 33 59 15 +7 0 3 34 58 16 +7 0 3 35 59 16 +7 0 3 36 58 17 +7 0 3 37 59 17 +7 0 3 38 58 18 +7 0 3 39 59 18 +7 0 3 40 58 19 +7 0 3 41 59 19 +7 0 3 42 58 20 +7 0 3 43 59 20 +7 0 3 44 58 21 +7 0 3 45 -1 -1 +7 0 3 46 59 21 +7 0 3 47 58 22 +7 0 3 48 59 22 +7 0 3 49 58 23 +7 0 3 50 59 23 +7 0 3 51 58 24 +7 0 3 52 59 24 +7 0 3 53 58 25 +7 0 3 54 59 25 +7 0 3 55 58 26 +7 0 3 56 -1 -1 +7 0 3 57 59 26 +7 0 3 58 58 27 +7 0 3 59 59 27 +7 0 3 60 58 28 +7 0 3 61 59 28 +7 0 3 62 58 29 +7 0 3 63 59 29 +7 0 3 64 58 30 +7 0 3 65 59 30 +7 0 3 66 58 31 +7 0 3 67 59 31 +7 1 0 0 59 95 +7 1 0 1 58 95 +7 1 0 2 59 94 +7 1 0 3 58 94 +7 1 0 4 59 93 +7 1 0 5 58 93 +7 1 0 6 59 92 +7 1 0 7 58 92 +7 1 0 8 59 91 +7 1 0 9 58 91 +7 1 0 10 59 90 +7 1 0 11 -1 -1 +7 1 0 12 58 90 +7 1 0 13 59 89 +7 1 0 14 58 89 +7 1 0 15 59 88 +7 1 0 16 58 88 +7 1 0 17 59 87 +7 1 0 18 58 87 +7 1 0 19 59 86 +7 1 0 20 58 86 +7 1 0 21 59 85 +7 1 0 22 -1 -1 +7 1 0 23 58 85 +7 1 0 24 59 84 +7 1 0 25 58 84 +7 1 0 26 59 83 +7 1 0 27 58 83 +7 1 0 28 59 82 +7 1 0 29 58 82 +7 1 0 30 59 81 +7 1 0 31 58 81 +7 1 0 32 59 80 +7 1 0 33 58 80 +7 1 0 34 59 79 +7 1 0 35 58 79 +7 1 0 36 59 78 +7 1 0 37 58 78 +7 1 0 38 59 77 +7 1 0 39 58 77 +7 1 0 40 59 76 +7 1 0 41 58 76 +7 1 0 42 59 75 +7 1 0 43 58 75 +7 1 0 44 59 74 +7 1 0 45 -1 -1 +7 1 0 46 58 74 +7 1 0 47 59 73 +7 1 0 48 58 73 +7 1 0 49 59 72 +7 1 0 50 58 72 +7 1 0 51 59 71 +7 1 0 52 58 71 +7 1 0 53 59 70 +7 1 0 54 58 70 +7 1 0 55 59 69 +7 1 0 56 -1 -1 +7 1 0 57 58 69 +7 1 0 58 59 68 +7 1 0 59 58 68 +7 1 0 60 59 67 +7 1 0 61 58 67 +7 1 0 62 59 66 +7 1 0 63 58 66 +7 1 0 64 59 65 +7 1 0 65 58 65 +7 1 0 66 59 64 +7 1 0 67 58 64 +7 1 1 0 59 127 +7 1 1 1 58 127 +7 1 1 2 59 126 +7 1 1 3 58 126 +7 1 1 4 59 125 +7 1 1 5 58 125 +7 1 1 6 59 124 +7 1 1 7 58 124 +7 1 1 8 59 123 +7 1 1 9 58 123 +7 1 1 10 59 122 +7 1 1 11 -1 -1 +7 1 1 12 58 122 +7 1 1 13 59 121 +7 1 1 14 58 121 +7 1 1 15 59 120 +7 1 1 16 58 120 +7 1 1 17 59 119 +7 1 1 18 58 119 +7 1 1 19 59 118 +7 1 1 20 58 118 +7 1 1 21 59 117 +7 1 1 22 -1 -1 +7 1 1 23 58 117 +7 1 1 24 59 116 +7 1 1 25 58 116 +7 1 1 26 59 115 +7 1 1 27 58 115 +7 1 1 28 59 114 +7 1 1 29 58 114 +7 1 1 30 59 113 +7 1 1 31 58 113 +7 1 1 32 59 112 +7 1 1 33 58 112 +7 1 1 34 59 111 +7 1 1 35 58 111 +7 1 1 36 59 110 +7 1 1 37 58 110 +7 1 1 38 59 109 +7 1 1 39 58 109 +7 1 1 40 59 108 +7 1 1 41 58 108 +7 1 1 42 59 107 +7 1 1 43 58 107 +7 1 1 44 59 106 +7 1 1 45 -1 -1 +7 1 1 46 58 106 +7 1 1 47 59 105 +7 1 1 48 58 105 +7 1 1 49 59 104 +7 1 1 50 58 104 +7 1 1 51 59 103 +7 1 1 52 58 103 +7 1 1 53 59 102 +7 1 1 54 58 102 +7 1 1 55 59 101 +7 1 1 56 -1 -1 +7 1 1 57 58 101 +7 1 1 58 59 100 +7 1 1 59 58 100 +7 1 1 60 59 99 +7 1 1 61 58 99 +7 1 1 62 59 98 +7 1 1 63 58 98 +7 1 1 64 59 97 +7 1 1 65 58 97 +7 1 1 66 59 96 +7 1 1 67 58 96 +7 1 2 0 57 95 +7 1 2 1 56 95 +7 1 2 2 57 94 +7 1 2 3 56 94 +7 1 2 4 57 93 +7 1 2 5 56 93 +7 1 2 6 57 92 +7 1 2 7 56 92 +7 1 2 8 57 91 +7 1 2 9 56 91 +7 1 2 10 57 90 +7 1 2 11 -1 -1 +7 1 2 12 56 90 +7 1 2 13 57 89 +7 1 2 14 56 89 +7 1 2 15 57 88 +7 1 2 16 56 88 +7 1 2 17 57 87 +7 1 2 18 56 87 +7 1 2 19 57 86 +7 1 2 20 56 86 +7 1 2 21 57 85 +7 1 2 22 -1 -1 +7 1 2 23 56 85 +7 1 2 24 57 84 +7 1 2 25 56 84 +7 1 2 26 57 83 +7 1 2 27 56 83 +7 1 2 28 57 82 +7 1 2 29 56 82 +7 1 2 30 57 81 +7 1 2 31 56 81 +7 1 2 32 57 80 +7 1 2 33 56 80 +7 1 2 34 57 79 +7 1 2 35 56 79 +7 1 2 36 57 78 +7 1 2 37 56 78 +7 1 2 38 57 77 +7 1 2 39 56 77 +7 1 2 40 57 76 +7 1 2 41 56 76 +7 1 2 42 57 75 +7 1 2 43 56 75 +7 1 2 44 57 74 +7 1 2 45 -1 -1 +7 1 2 46 56 74 +7 1 2 47 57 73 +7 1 2 48 56 73 +7 1 2 49 57 72 +7 1 2 50 56 72 +7 1 2 51 57 71 +7 1 2 52 56 71 +7 1 2 53 57 70 +7 1 2 54 56 70 +7 1 2 55 57 69 +7 1 2 56 -1 -1 +7 1 2 57 56 69 +7 1 2 58 57 68 +7 1 2 59 56 68 +7 1 2 60 57 67 +7 1 2 61 56 67 +7 1 2 62 57 66 +7 1 2 63 56 66 +7 1 2 64 57 65 +7 1 2 65 56 65 +7 1 2 66 57 64 +7 1 2 67 56 64 +7 1 3 0 57 127 +7 1 3 1 56 127 +7 1 3 2 57 126 +7 1 3 3 56 126 +7 1 3 4 57 125 +7 1 3 5 56 125 +7 1 3 6 57 124 +7 1 3 7 56 124 +7 1 3 8 57 123 +7 1 3 9 56 123 +7 1 3 10 57 122 +7 1 3 11 -1 -1 +7 1 3 12 56 122 +7 1 3 13 57 121 +7 1 3 14 56 121 +7 1 3 15 57 120 +7 1 3 16 56 120 +7 1 3 17 57 119 +7 1 3 18 56 119 +7 1 3 19 57 118 +7 1 3 20 56 118 +7 1 3 21 57 117 +7 1 3 22 -1 -1 +7 1 3 23 56 117 +7 1 3 24 57 116 +7 1 3 25 56 116 +7 1 3 26 57 115 +7 1 3 27 56 115 +7 1 3 28 57 114 +7 1 3 29 56 114 +7 1 3 30 57 113 +7 1 3 31 56 113 +7 1 3 32 57 112 +7 1 3 33 56 112 +7 1 3 34 57 111 +7 1 3 35 56 111 +7 1 3 36 57 110 +7 1 3 37 56 110 +7 1 3 38 57 109 +7 1 3 39 56 109 +7 1 3 40 57 108 +7 1 3 41 56 108 +7 1 3 42 57 107 +7 1 3 43 56 107 +7 1 3 44 57 106 +7 1 3 45 -1 -1 +7 1 3 46 56 106 +7 1 3 47 57 105 +7 1 3 48 56 105 +7 1 3 49 57 104 +7 1 3 50 56 104 +7 1 3 51 57 103 +7 1 3 52 56 103 +7 1 3 53 57 102 +7 1 3 54 56 102 +7 1 3 55 57 101 +7 1 3 56 -1 -1 +7 1 3 57 56 101 +7 1 3 58 57 100 +7 1 3 59 56 100 +7 1 3 60 57 99 +7 1 3 61 56 99 +7 1 3 62 57 98 +7 1 3 63 56 98 +7 1 3 64 57 97 +7 1 3 65 56 97 +7 1 3 66 57 96 +7 1 3 67 56 96 +7 2 0 0 60 32 +7 2 0 1 61 32 +7 2 0 2 60 33 +7 2 0 3 61 33 +7 2 0 4 60 34 +7 2 0 5 61 34 +7 2 0 6 60 35 +7 2 0 7 61 35 +7 2 0 8 60 36 +7 2 0 9 61 36 +7 2 0 10 60 37 +7 2 0 11 -1 -1 +7 2 0 12 61 37 +7 2 0 13 60 38 +7 2 0 14 61 38 +7 2 0 15 60 39 +7 2 0 16 61 39 +7 2 0 17 60 40 +7 2 0 18 61 40 +7 2 0 19 60 41 +7 2 0 20 61 41 +7 2 0 21 60 42 +7 2 0 22 -1 -1 +7 2 0 23 61 42 +7 2 0 24 60 43 +7 2 0 25 61 43 +7 2 0 26 60 44 +7 2 0 27 61 44 +7 2 0 28 60 45 +7 2 0 29 61 45 +7 2 0 30 60 46 +7 2 0 31 61 46 +7 2 0 32 60 47 +7 2 0 33 61 47 +7 2 0 34 60 48 +7 2 0 35 61 48 +7 2 0 36 60 49 +7 2 0 37 61 49 +7 2 0 38 60 50 +7 2 0 39 61 50 +7 2 0 40 60 51 +7 2 0 41 61 51 +7 2 0 42 60 52 +7 2 0 43 61 52 +7 2 0 44 60 53 +7 2 0 45 -1 -1 +7 2 0 46 61 53 +7 2 0 47 60 54 +7 2 0 48 61 54 +7 2 0 49 60 55 +7 2 0 50 61 55 +7 2 0 51 60 56 +7 2 0 52 61 56 +7 2 0 53 60 57 +7 2 0 54 61 57 +7 2 0 55 60 58 +7 2 0 56 -1 -1 +7 2 0 57 61 58 +7 2 0 58 60 59 +7 2 0 59 61 59 +7 2 0 60 60 60 +7 2 0 61 61 60 +7 2 0 62 60 61 +7 2 0 63 61 61 +7 2 0 64 60 62 +7 2 0 65 61 62 +7 2 0 66 60 63 +7 2 0 67 61 63 +7 2 1 0 60 0 +7 2 1 1 61 0 +7 2 1 2 60 1 +7 2 1 3 61 1 +7 2 1 4 60 2 +7 2 1 5 61 2 +7 2 1 6 60 3 +7 2 1 7 61 3 +7 2 1 8 60 4 +7 2 1 9 61 4 +7 2 1 10 60 5 +7 2 1 11 -1 -1 +7 2 1 12 61 5 +7 2 1 13 60 6 +7 2 1 14 61 6 +7 2 1 15 60 7 +7 2 1 16 61 7 +7 2 1 17 60 8 +7 2 1 18 61 8 +7 2 1 19 60 9 +7 2 1 20 61 9 +7 2 1 21 60 10 +7 2 1 22 -1 -1 +7 2 1 23 61 10 +7 2 1 24 60 11 +7 2 1 25 61 11 +7 2 1 26 60 12 +7 2 1 27 61 12 +7 2 1 28 60 13 +7 2 1 29 61 13 +7 2 1 30 60 14 +7 2 1 31 61 14 +7 2 1 32 60 15 +7 2 1 33 61 15 +7 2 1 34 60 16 +7 2 1 35 61 16 +7 2 1 36 60 17 +7 2 1 37 61 17 +7 2 1 38 60 18 +7 2 1 39 61 18 +7 2 1 40 60 19 +7 2 1 41 61 19 +7 2 1 42 60 20 +7 2 1 43 61 20 +7 2 1 44 60 21 +7 2 1 45 -1 -1 +7 2 1 46 61 21 +7 2 1 47 60 22 +7 2 1 48 61 22 +7 2 1 49 60 23 +7 2 1 50 61 23 +7 2 1 51 60 24 +7 2 1 52 61 24 +7 2 1 53 60 25 +7 2 1 54 61 25 +7 2 1 55 60 26 +7 2 1 56 -1 -1 +7 2 1 57 61 26 +7 2 1 58 60 27 +7 2 1 59 61 27 +7 2 1 60 60 28 +7 2 1 61 61 28 +7 2 1 62 60 29 +7 2 1 63 61 29 +7 2 1 64 60 30 +7 2 1 65 61 30 +7 2 1 66 60 31 +7 2 1 67 61 31 +7 2 2 0 62 32 +7 2 2 1 63 32 +7 2 2 2 62 33 +7 2 2 3 63 33 +7 2 2 4 62 34 +7 2 2 5 63 34 +7 2 2 6 62 35 +7 2 2 7 63 35 +7 2 2 8 62 36 +7 2 2 9 63 36 +7 2 2 10 62 37 +7 2 2 11 -1 -1 +7 2 2 12 63 37 +7 2 2 13 62 38 +7 2 2 14 63 38 +7 2 2 15 62 39 +7 2 2 16 63 39 +7 2 2 17 62 40 +7 2 2 18 63 40 +7 2 2 19 62 41 +7 2 2 20 63 41 +7 2 2 21 62 42 +7 2 2 22 -1 -1 +7 2 2 23 63 42 +7 2 2 24 62 43 +7 2 2 25 63 43 +7 2 2 26 62 44 +7 2 2 27 63 44 +7 2 2 28 62 45 +7 2 2 29 63 45 +7 2 2 30 62 46 +7 2 2 31 63 46 +7 2 2 32 62 47 +7 2 2 33 63 47 +7 2 2 34 62 48 +7 2 2 35 63 48 +7 2 2 36 62 49 +7 2 2 37 63 49 +7 2 2 38 62 50 +7 2 2 39 63 50 +7 2 2 40 62 51 +7 2 2 41 63 51 +7 2 2 42 62 52 +7 2 2 43 63 52 +7 2 2 44 62 53 +7 2 2 45 -1 -1 +7 2 2 46 63 53 +7 2 2 47 62 54 +7 2 2 48 63 54 +7 2 2 49 62 55 +7 2 2 50 63 55 +7 2 2 51 62 56 +7 2 2 52 63 56 +7 2 2 53 62 57 +7 2 2 54 63 57 +7 2 2 55 62 58 +7 2 2 56 -1 -1 +7 2 2 57 63 58 +7 2 2 58 62 59 +7 2 2 59 63 59 +7 2 2 60 62 60 +7 2 2 61 63 60 +7 2 2 62 62 61 +7 2 2 63 63 61 +7 2 2 64 62 62 +7 2 2 65 63 62 +7 2 2 66 62 63 +7 2 2 67 63 63 +7 2 3 0 62 0 +7 2 3 1 63 0 +7 2 3 2 62 1 +7 2 3 3 63 1 +7 2 3 4 62 2 +7 2 3 5 63 2 +7 2 3 6 62 3 +7 2 3 7 63 3 +7 2 3 8 62 4 +7 2 3 9 63 4 +7 2 3 10 62 5 +7 2 3 11 -1 -1 +7 2 3 12 63 5 +7 2 3 13 62 6 +7 2 3 14 63 6 +7 2 3 15 62 7 +7 2 3 16 63 7 +7 2 3 17 62 8 +7 2 3 18 63 8 +7 2 3 19 62 9 +7 2 3 20 63 9 +7 2 3 21 62 10 +7 2 3 22 -1 -1 +7 2 3 23 63 10 +7 2 3 24 62 11 +7 2 3 25 63 11 +7 2 3 26 62 12 +7 2 3 27 63 12 +7 2 3 28 62 13 +7 2 3 29 63 13 +7 2 3 30 62 14 +7 2 3 31 63 14 +7 2 3 32 62 15 +7 2 3 33 63 15 +7 2 3 34 62 16 +7 2 3 35 63 16 +7 2 3 36 62 17 +7 2 3 37 63 17 +7 2 3 38 62 18 +7 2 3 39 63 18 +7 2 3 40 62 19 +7 2 3 41 63 19 +7 2 3 42 62 20 +7 2 3 43 63 20 +7 2 3 44 62 21 +7 2 3 45 -1 -1 +7 2 3 46 63 21 +7 2 3 47 62 22 +7 2 3 48 63 22 +7 2 3 49 62 23 +7 2 3 50 63 23 +7 2 3 51 62 24 +7 2 3 52 63 24 +7 2 3 53 62 25 +7 2 3 54 63 25 +7 2 3 55 62 26 +7 2 3 56 -1 -1 +7 2 3 57 63 26 +7 2 3 58 62 27 +7 2 3 59 63 27 +7 2 3 60 62 28 +7 2 3 61 63 28 +7 2 3 62 62 29 +7 2 3 63 63 29 +7 2 3 64 62 30 +7 2 3 65 63 30 +7 2 3 66 62 31 +7 2 3 67 63 31 +7 3 0 0 63 95 +7 3 0 1 62 95 +7 3 0 2 63 94 +7 3 0 3 62 94 +7 3 0 4 63 93 +7 3 0 5 62 93 +7 3 0 6 63 92 +7 3 0 7 62 92 +7 3 0 8 63 91 +7 3 0 9 62 91 +7 3 0 10 63 90 +7 3 0 11 -1 -1 +7 3 0 12 62 90 +7 3 0 13 63 89 +7 3 0 14 62 89 +7 3 0 15 63 88 +7 3 0 16 62 88 +7 3 0 17 63 87 +7 3 0 18 62 87 +7 3 0 19 63 86 +7 3 0 20 62 86 +7 3 0 21 63 85 +7 3 0 22 -1 -1 +7 3 0 23 62 85 +7 3 0 24 63 84 +7 3 0 25 62 84 +7 3 0 26 63 83 +7 3 0 27 62 83 +7 3 0 28 63 82 +7 3 0 29 62 82 +7 3 0 30 63 81 +7 3 0 31 62 81 +7 3 0 32 63 80 +7 3 0 33 62 80 +7 3 0 34 63 79 +7 3 0 35 62 79 +7 3 0 36 63 78 +7 3 0 37 62 78 +7 3 0 38 63 77 +7 3 0 39 62 77 +7 3 0 40 63 76 +7 3 0 41 62 76 +7 3 0 42 63 75 +7 3 0 43 62 75 +7 3 0 44 63 74 +7 3 0 45 -1 -1 +7 3 0 46 62 74 +7 3 0 47 63 73 +7 3 0 48 62 73 +7 3 0 49 63 72 +7 3 0 50 62 72 +7 3 0 51 63 71 +7 3 0 52 62 71 +7 3 0 53 63 70 +7 3 0 54 62 70 +7 3 0 55 63 69 +7 3 0 56 -1 -1 +7 3 0 57 62 69 +7 3 0 58 63 68 +7 3 0 59 62 68 +7 3 0 60 63 67 +7 3 0 61 62 67 +7 3 0 62 63 66 +7 3 0 63 62 66 +7 3 0 64 63 65 +7 3 0 65 62 65 +7 3 0 66 63 64 +7 3 0 67 62 64 +7 3 1 0 63 127 +7 3 1 1 62 127 +7 3 1 2 63 126 +7 3 1 3 62 126 +7 3 1 4 63 125 +7 3 1 5 62 125 +7 3 1 6 63 124 +7 3 1 7 62 124 +7 3 1 8 63 123 +7 3 1 9 62 123 +7 3 1 10 63 122 +7 3 1 11 -1 -1 +7 3 1 12 62 122 +7 3 1 13 63 121 +7 3 1 14 62 121 +7 3 1 15 63 120 +7 3 1 16 62 120 +7 3 1 17 63 119 +7 3 1 18 62 119 +7 3 1 19 63 118 +7 3 1 20 62 118 +7 3 1 21 63 117 +7 3 1 22 -1 -1 +7 3 1 23 62 117 +7 3 1 24 63 116 +7 3 1 25 62 116 +7 3 1 26 63 115 +7 3 1 27 62 115 +7 3 1 28 63 114 +7 3 1 29 62 114 +7 3 1 30 63 113 +7 3 1 31 62 113 +7 3 1 32 63 112 +7 3 1 33 62 112 +7 3 1 34 63 111 +7 3 1 35 62 111 +7 3 1 36 63 110 +7 3 1 37 62 110 +7 3 1 38 63 109 +7 3 1 39 62 109 +7 3 1 40 63 108 +7 3 1 41 62 108 +7 3 1 42 63 107 +7 3 1 43 62 107 +7 3 1 44 63 106 +7 3 1 45 -1 -1 +7 3 1 46 62 106 +7 3 1 47 63 105 +7 3 1 48 62 105 +7 3 1 49 63 104 +7 3 1 50 62 104 +7 3 1 51 63 103 +7 3 1 52 62 103 +7 3 1 53 63 102 +7 3 1 54 62 102 +7 3 1 55 63 101 +7 3 1 56 -1 -1 +7 3 1 57 62 101 +7 3 1 58 63 100 +7 3 1 59 62 100 +7 3 1 60 63 99 +7 3 1 61 62 99 +7 3 1 62 63 98 +7 3 1 63 62 98 +7 3 1 64 63 97 +7 3 1 65 62 97 +7 3 1 66 63 96 +7 3 1 67 62 96 +7 3 2 0 61 95 +7 3 2 1 60 95 +7 3 2 2 61 94 +7 3 2 3 60 94 +7 3 2 4 61 93 +7 3 2 5 60 93 +7 3 2 6 61 92 +7 3 2 7 60 92 +7 3 2 8 61 91 +7 3 2 9 60 91 +7 3 2 10 61 90 +7 3 2 11 -1 -1 +7 3 2 12 60 90 +7 3 2 13 61 89 +7 3 2 14 60 89 +7 3 2 15 61 88 +7 3 2 16 60 88 +7 3 2 17 61 87 +7 3 2 18 60 87 +7 3 2 19 61 86 +7 3 2 20 60 86 +7 3 2 21 61 85 +7 3 2 22 -1 -1 +7 3 2 23 60 85 +7 3 2 24 61 84 +7 3 2 25 60 84 +7 3 2 26 61 83 +7 3 2 27 60 83 +7 3 2 28 61 82 +7 3 2 29 60 82 +7 3 2 30 61 81 +7 3 2 31 60 81 +7 3 2 32 61 80 +7 3 2 33 60 80 +7 3 2 34 61 79 +7 3 2 35 60 79 +7 3 2 36 61 78 +7 3 2 37 60 78 +7 3 2 38 61 77 +7 3 2 39 60 77 +7 3 2 40 61 76 +7 3 2 41 60 76 +7 3 2 42 61 75 +7 3 2 43 60 75 +7 3 2 44 61 74 +7 3 2 45 -1 -1 +7 3 2 46 60 74 +7 3 2 47 61 73 +7 3 2 48 60 73 +7 3 2 49 61 72 +7 3 2 50 60 72 +7 3 2 51 61 71 +7 3 2 52 60 71 +7 3 2 53 61 70 +7 3 2 54 60 70 +7 3 2 55 61 69 +7 3 2 56 -1 -1 +7 3 2 57 60 69 +7 3 2 58 61 68 +7 3 2 59 60 68 +7 3 2 60 61 67 +7 3 2 61 60 67 +7 3 2 62 61 66 +7 3 2 63 60 66 +7 3 2 64 61 65 +7 3 2 65 60 65 +7 3 2 66 61 64 +7 3 2 67 60 64 +7 3 3 0 61 127 +7 3 3 1 60 127 +7 3 3 2 61 126 +7 3 3 3 60 126 +7 3 3 4 61 125 +7 3 3 5 60 125 +7 3 3 6 61 124 +7 3 3 7 60 124 +7 3 3 8 61 123 +7 3 3 9 60 123 +7 3 3 10 61 122 +7 3 3 11 -1 -1 +7 3 3 12 60 122 +7 3 3 13 61 121 +7 3 3 14 60 121 +7 3 3 15 61 120 +7 3 3 16 60 120 +7 3 3 17 61 119 +7 3 3 18 60 119 +7 3 3 19 61 118 +7 3 3 20 60 118 +7 3 3 21 61 117 +7 3 3 22 -1 -1 +7 3 3 23 60 117 +7 3 3 24 61 116 +7 3 3 25 60 116 +7 3 3 26 61 115 +7 3 3 27 60 115 +7 3 3 28 61 114 +7 3 3 29 60 114 +7 3 3 30 61 113 +7 3 3 31 60 113 +7 3 3 32 61 112 +7 3 3 33 60 112 +7 3 3 34 61 111 +7 3 3 35 60 111 +7 3 3 36 61 110 +7 3 3 37 60 110 +7 3 3 38 61 109 +7 3 3 39 60 109 +7 3 3 40 61 108 +7 3 3 41 60 108 +7 3 3 42 61 107 +7 3 3 43 60 107 +7 3 3 44 61 106 +7 3 3 45 -1 -1 +7 3 3 46 60 106 +7 3 3 47 61 105 +7 3 3 48 60 105 +7 3 3 49 61 104 +7 3 3 50 60 104 +7 3 3 51 61 103 +7 3 3 52 60 103 +7 3 3 53 61 102 +7 3 3 54 60 102 +7 3 3 55 61 101 +7 3 3 56 -1 -1 +7 3 3 57 60 101 +7 3 3 58 61 100 +7 3 3 59 60 100 +7 3 3 60 61 99 +7 3 3 61 60 99 +7 3 3 62 61 98 +7 3 3 63 60 98 +7 3 3 64 61 97 +7 3 3 65 60 97 +7 3 3 66 61 96 +7 3 3 67 60 96 +8 0 0 0 64 32 +8 0 0 1 65 32 +8 0 0 2 64 33 +8 0 0 3 65 33 +8 0 0 4 64 34 +8 0 0 5 65 34 +8 0 0 6 64 35 +8 0 0 7 65 35 +8 0 0 8 64 36 +8 0 0 9 65 36 +8 0 0 10 64 37 +8 0 0 11 -1 -1 +8 0 0 12 65 37 +8 0 0 13 64 38 +8 0 0 14 65 38 +8 0 0 15 64 39 +8 0 0 16 65 39 +8 0 0 17 64 40 +8 0 0 18 65 40 +8 0 0 19 64 41 +8 0 0 20 65 41 +8 0 0 21 64 42 +8 0 0 22 -1 -1 +8 0 0 23 65 42 +8 0 0 24 64 43 +8 0 0 25 65 43 +8 0 0 26 64 44 +8 0 0 27 65 44 +8 0 0 28 64 45 +8 0 0 29 65 45 +8 0 0 30 64 46 +8 0 0 31 65 46 +8 0 0 32 64 47 +8 0 0 33 65 47 +8 0 0 34 64 48 +8 0 0 35 65 48 +8 0 0 36 64 49 +8 0 0 37 65 49 +8 0 0 38 64 50 +8 0 0 39 65 50 +8 0 0 40 64 51 +8 0 0 41 65 51 +8 0 0 42 64 52 +8 0 0 43 65 52 +8 0 0 44 64 53 +8 0 0 45 -1 -1 +8 0 0 46 65 53 +8 0 0 47 64 54 +8 0 0 48 65 54 +8 0 0 49 64 55 +8 0 0 50 65 55 +8 0 0 51 64 56 +8 0 0 52 65 56 +8 0 0 53 64 57 +8 0 0 54 65 57 +8 0 0 55 64 58 +8 0 0 56 -1 -1 +8 0 0 57 65 58 +8 0 0 58 64 59 +8 0 0 59 65 59 +8 0 0 60 64 60 +8 0 0 61 65 60 +8 0 0 62 64 61 +8 0 0 63 65 61 +8 0 0 64 64 62 +8 0 0 65 65 62 +8 0 0 66 64 63 +8 0 0 67 65 63 +8 0 1 0 64 0 +8 0 1 1 65 0 +8 0 1 2 64 1 +8 0 1 3 65 1 +8 0 1 4 64 2 +8 0 1 5 65 2 +8 0 1 6 64 3 +8 0 1 7 65 3 +8 0 1 8 64 4 +8 0 1 9 65 4 +8 0 1 10 64 5 +8 0 1 11 -1 -1 +8 0 1 12 65 5 +8 0 1 13 64 6 +8 0 1 14 65 6 +8 0 1 15 64 7 +8 0 1 16 65 7 +8 0 1 17 64 8 +8 0 1 18 65 8 +8 0 1 19 64 9 +8 0 1 20 65 9 +8 0 1 21 64 10 +8 0 1 22 -1 -1 +8 0 1 23 65 10 +8 0 1 24 64 11 +8 0 1 25 65 11 +8 0 1 26 64 12 +8 0 1 27 65 12 +8 0 1 28 64 13 +8 0 1 29 65 13 +8 0 1 30 64 14 +8 0 1 31 65 14 +8 0 1 32 64 15 +8 0 1 33 65 15 +8 0 1 34 64 16 +8 0 1 35 65 16 +8 0 1 36 64 17 +8 0 1 37 65 17 +8 0 1 38 64 18 +8 0 1 39 65 18 +8 0 1 40 64 19 +8 0 1 41 65 19 +8 0 1 42 64 20 +8 0 1 43 65 20 +8 0 1 44 64 21 +8 0 1 45 -1 -1 +8 0 1 46 65 21 +8 0 1 47 64 22 +8 0 1 48 65 22 +8 0 1 49 64 23 +8 0 1 50 65 23 +8 0 1 51 64 24 +8 0 1 52 65 24 +8 0 1 53 64 25 +8 0 1 54 65 25 +8 0 1 55 64 26 +8 0 1 56 -1 -1 +8 0 1 57 65 26 +8 0 1 58 64 27 +8 0 1 59 65 27 +8 0 1 60 64 28 +8 0 1 61 65 28 +8 0 1 62 64 29 +8 0 1 63 65 29 +8 0 1 64 64 30 +8 0 1 65 65 30 +8 0 1 66 64 31 +8 0 1 67 65 31 +8 0 2 0 66 32 +8 0 2 1 67 32 +8 0 2 2 66 33 +8 0 2 3 67 33 +8 0 2 4 66 34 +8 0 2 5 67 34 +8 0 2 6 66 35 +8 0 2 7 67 35 +8 0 2 8 66 36 +8 0 2 9 67 36 +8 0 2 10 66 37 +8 0 2 11 -1 -1 +8 0 2 12 67 37 +8 0 2 13 66 38 +8 0 2 14 67 38 +8 0 2 15 66 39 +8 0 2 16 67 39 +8 0 2 17 66 40 +8 0 2 18 67 40 +8 0 2 19 66 41 +8 0 2 20 67 41 +8 0 2 21 66 42 +8 0 2 22 -1 -1 +8 0 2 23 67 42 +8 0 2 24 66 43 +8 0 2 25 67 43 +8 0 2 26 66 44 +8 0 2 27 67 44 +8 0 2 28 66 45 +8 0 2 29 67 45 +8 0 2 30 66 46 +8 0 2 31 67 46 +8 0 2 32 66 47 +8 0 2 33 67 47 +8 0 2 34 66 48 +8 0 2 35 67 48 +8 0 2 36 66 49 +8 0 2 37 67 49 +8 0 2 38 66 50 +8 0 2 39 67 50 +8 0 2 40 66 51 +8 0 2 41 67 51 +8 0 2 42 66 52 +8 0 2 43 67 52 +8 0 2 44 66 53 +8 0 2 45 -1 -1 +8 0 2 46 67 53 +8 0 2 47 66 54 +8 0 2 48 67 54 +8 0 2 49 66 55 +8 0 2 50 67 55 +8 0 2 51 66 56 +8 0 2 52 67 56 +8 0 2 53 66 57 +8 0 2 54 67 57 +8 0 2 55 66 58 +8 0 2 56 -1 -1 +8 0 2 57 67 58 +8 0 2 58 66 59 +8 0 2 59 67 59 +8 0 2 60 66 60 +8 0 2 61 67 60 +8 0 2 62 66 61 +8 0 2 63 67 61 +8 0 2 64 66 62 +8 0 2 65 67 62 +8 0 2 66 66 63 +8 0 2 67 67 63 +8 0 3 0 66 0 +8 0 3 1 67 0 +8 0 3 2 66 1 +8 0 3 3 67 1 +8 0 3 4 66 2 +8 0 3 5 67 2 +8 0 3 6 66 3 +8 0 3 7 67 3 +8 0 3 8 66 4 +8 0 3 9 67 4 +8 0 3 10 66 5 +8 0 3 11 -1 -1 +8 0 3 12 67 5 +8 0 3 13 66 6 +8 0 3 14 67 6 +8 0 3 15 66 7 +8 0 3 16 67 7 +8 0 3 17 66 8 +8 0 3 18 67 8 +8 0 3 19 66 9 +8 0 3 20 67 9 +8 0 3 21 66 10 +8 0 3 22 -1 -1 +8 0 3 23 67 10 +8 0 3 24 66 11 +8 0 3 25 67 11 +8 0 3 26 66 12 +8 0 3 27 67 12 +8 0 3 28 66 13 +8 0 3 29 67 13 +8 0 3 30 66 14 +8 0 3 31 67 14 +8 0 3 32 66 15 +8 0 3 33 67 15 +8 0 3 34 66 16 +8 0 3 35 67 16 +8 0 3 36 66 17 +8 0 3 37 67 17 +8 0 3 38 66 18 +8 0 3 39 67 18 +8 0 3 40 66 19 +8 0 3 41 67 19 +8 0 3 42 66 20 +8 0 3 43 67 20 +8 0 3 44 66 21 +8 0 3 45 -1 -1 +8 0 3 46 67 21 +8 0 3 47 66 22 +8 0 3 48 67 22 +8 0 3 49 66 23 +8 0 3 50 67 23 +8 0 3 51 66 24 +8 0 3 52 67 24 +8 0 3 53 66 25 +8 0 3 54 67 25 +8 0 3 55 66 26 +8 0 3 56 -1 -1 +8 0 3 57 67 26 +8 0 3 58 66 27 +8 0 3 59 67 27 +8 0 3 60 66 28 +8 0 3 61 67 28 +8 0 3 62 66 29 +8 0 3 63 67 29 +8 0 3 64 66 30 +8 0 3 65 67 30 +8 0 3 66 66 31 +8 0 3 67 67 31 +8 1 0 0 67 95 +8 1 0 1 66 95 +8 1 0 2 67 94 +8 1 0 3 66 94 +8 1 0 4 67 93 +8 1 0 5 66 93 +8 1 0 6 67 92 +8 1 0 7 66 92 +8 1 0 8 67 91 +8 1 0 9 66 91 +8 1 0 10 67 90 +8 1 0 11 -1 -1 +8 1 0 12 66 90 +8 1 0 13 67 89 +8 1 0 14 66 89 +8 1 0 15 67 88 +8 1 0 16 66 88 +8 1 0 17 67 87 +8 1 0 18 66 87 +8 1 0 19 67 86 +8 1 0 20 66 86 +8 1 0 21 67 85 +8 1 0 22 -1 -1 +8 1 0 23 66 85 +8 1 0 24 67 84 +8 1 0 25 66 84 +8 1 0 26 67 83 +8 1 0 27 66 83 +8 1 0 28 67 82 +8 1 0 29 66 82 +8 1 0 30 67 81 +8 1 0 31 66 81 +8 1 0 32 67 80 +8 1 0 33 66 80 +8 1 0 34 67 79 +8 1 0 35 66 79 +8 1 0 36 67 78 +8 1 0 37 66 78 +8 1 0 38 67 77 +8 1 0 39 66 77 +8 1 0 40 67 76 +8 1 0 41 66 76 +8 1 0 42 67 75 +8 1 0 43 66 75 +8 1 0 44 67 74 +8 1 0 45 -1 -1 +8 1 0 46 66 74 +8 1 0 47 67 73 +8 1 0 48 66 73 +8 1 0 49 67 72 +8 1 0 50 66 72 +8 1 0 51 67 71 +8 1 0 52 66 71 +8 1 0 53 67 70 +8 1 0 54 66 70 +8 1 0 55 67 69 +8 1 0 56 -1 -1 +8 1 0 57 66 69 +8 1 0 58 67 68 +8 1 0 59 66 68 +8 1 0 60 67 67 +8 1 0 61 66 67 +8 1 0 62 67 66 +8 1 0 63 66 66 +8 1 0 64 67 65 +8 1 0 65 66 65 +8 1 0 66 67 64 +8 1 0 67 66 64 +8 1 1 0 67 127 +8 1 1 1 66 127 +8 1 1 2 67 126 +8 1 1 3 66 126 +8 1 1 4 67 125 +8 1 1 5 66 125 +8 1 1 6 67 124 +8 1 1 7 66 124 +8 1 1 8 67 123 +8 1 1 9 66 123 +8 1 1 10 67 122 +8 1 1 11 -1 -1 +8 1 1 12 66 122 +8 1 1 13 67 121 +8 1 1 14 66 121 +8 1 1 15 67 120 +8 1 1 16 66 120 +8 1 1 17 67 119 +8 1 1 18 66 119 +8 1 1 19 67 118 +8 1 1 20 66 118 +8 1 1 21 67 117 +8 1 1 22 -1 -1 +8 1 1 23 66 117 +8 1 1 24 67 116 +8 1 1 25 66 116 +8 1 1 26 67 115 +8 1 1 27 66 115 +8 1 1 28 67 114 +8 1 1 29 66 114 +8 1 1 30 67 113 +8 1 1 31 66 113 +8 1 1 32 67 112 +8 1 1 33 66 112 +8 1 1 34 67 111 +8 1 1 35 66 111 +8 1 1 36 67 110 +8 1 1 37 66 110 +8 1 1 38 67 109 +8 1 1 39 66 109 +8 1 1 40 67 108 +8 1 1 41 66 108 +8 1 1 42 67 107 +8 1 1 43 66 107 +8 1 1 44 67 106 +8 1 1 45 -1 -1 +8 1 1 46 66 106 +8 1 1 47 67 105 +8 1 1 48 66 105 +8 1 1 49 67 104 +8 1 1 50 66 104 +8 1 1 51 67 103 +8 1 1 52 66 103 +8 1 1 53 67 102 +8 1 1 54 66 102 +8 1 1 55 67 101 +8 1 1 56 -1 -1 +8 1 1 57 66 101 +8 1 1 58 67 100 +8 1 1 59 66 100 +8 1 1 60 67 99 +8 1 1 61 66 99 +8 1 1 62 67 98 +8 1 1 63 66 98 +8 1 1 64 67 97 +8 1 1 65 66 97 +8 1 1 66 67 96 +8 1 1 67 66 96 +8 1 2 0 65 95 +8 1 2 1 64 95 +8 1 2 2 65 94 +8 1 2 3 64 94 +8 1 2 4 65 93 +8 1 2 5 64 93 +8 1 2 6 65 92 +8 1 2 7 64 92 +8 1 2 8 65 91 +8 1 2 9 64 91 +8 1 2 10 65 90 +8 1 2 11 -1 -1 +8 1 2 12 64 90 +8 1 2 13 65 89 +8 1 2 14 64 89 +8 1 2 15 65 88 +8 1 2 16 64 88 +8 1 2 17 65 87 +8 1 2 18 64 87 +8 1 2 19 65 86 +8 1 2 20 64 86 +8 1 2 21 65 85 +8 1 2 22 -1 -1 +8 1 2 23 64 85 +8 1 2 24 65 84 +8 1 2 25 64 84 +8 1 2 26 65 83 +8 1 2 27 64 83 +8 1 2 28 65 82 +8 1 2 29 64 82 +8 1 2 30 65 81 +8 1 2 31 64 81 +8 1 2 32 65 80 +8 1 2 33 64 80 +8 1 2 34 65 79 +8 1 2 35 64 79 +8 1 2 36 65 78 +8 1 2 37 64 78 +8 1 2 38 65 77 +8 1 2 39 64 77 +8 1 2 40 65 76 +8 1 2 41 64 76 +8 1 2 42 65 75 +8 1 2 43 64 75 +8 1 2 44 65 74 +8 1 2 45 -1 -1 +8 1 2 46 64 74 +8 1 2 47 65 73 +8 1 2 48 64 73 +8 1 2 49 65 72 +8 1 2 50 64 72 +8 1 2 51 65 71 +8 1 2 52 64 71 +8 1 2 53 65 70 +8 1 2 54 64 70 +8 1 2 55 65 69 +8 1 2 56 -1 -1 +8 1 2 57 64 69 +8 1 2 58 65 68 +8 1 2 59 64 68 +8 1 2 60 65 67 +8 1 2 61 64 67 +8 1 2 62 65 66 +8 1 2 63 64 66 +8 1 2 64 65 65 +8 1 2 65 64 65 +8 1 2 66 65 64 +8 1 2 67 64 64 +8 1 3 0 65 127 +8 1 3 1 64 127 +8 1 3 2 65 126 +8 1 3 3 64 126 +8 1 3 4 65 125 +8 1 3 5 64 125 +8 1 3 6 65 124 +8 1 3 7 64 124 +8 1 3 8 65 123 +8 1 3 9 64 123 +8 1 3 10 65 122 +8 1 3 11 -1 -1 +8 1 3 12 64 122 +8 1 3 13 65 121 +8 1 3 14 64 121 +8 1 3 15 65 120 +8 1 3 16 64 120 +8 1 3 17 65 119 +8 1 3 18 64 119 +8 1 3 19 65 118 +8 1 3 20 64 118 +8 1 3 21 65 117 +8 1 3 22 -1 -1 +8 1 3 23 64 117 +8 1 3 24 65 116 +8 1 3 25 64 116 +8 1 3 26 65 115 +8 1 3 27 64 115 +8 1 3 28 65 114 +8 1 3 29 64 114 +8 1 3 30 65 113 +8 1 3 31 64 113 +8 1 3 32 65 112 +8 1 3 33 64 112 +8 1 3 34 65 111 +8 1 3 35 64 111 +8 1 3 36 65 110 +8 1 3 37 64 110 +8 1 3 38 65 109 +8 1 3 39 64 109 +8 1 3 40 65 108 +8 1 3 41 64 108 +8 1 3 42 65 107 +8 1 3 43 64 107 +8 1 3 44 65 106 +8 1 3 45 -1 -1 +8 1 3 46 64 106 +8 1 3 47 65 105 +8 1 3 48 64 105 +8 1 3 49 65 104 +8 1 3 50 64 104 +8 1 3 51 65 103 +8 1 3 52 64 103 +8 1 3 53 65 102 +8 1 3 54 64 102 +8 1 3 55 65 101 +8 1 3 56 -1 -1 +8 1 3 57 64 101 +8 1 3 58 65 100 +8 1 3 59 64 100 +8 1 3 60 65 99 +8 1 3 61 64 99 +8 1 3 62 65 98 +8 1 3 63 64 98 +8 1 3 64 65 97 +8 1 3 65 64 97 +8 1 3 66 65 96 +8 1 3 67 64 96 +8 2 0 0 68 32 +8 2 0 1 69 32 +8 2 0 2 68 33 +8 2 0 3 69 33 +8 2 0 4 68 34 +8 2 0 5 69 34 +8 2 0 6 68 35 +8 2 0 7 69 35 +8 2 0 8 68 36 +8 2 0 9 69 36 +8 2 0 10 68 37 +8 2 0 11 -1 -1 +8 2 0 12 69 37 +8 2 0 13 68 38 +8 2 0 14 69 38 +8 2 0 15 68 39 +8 2 0 16 69 39 +8 2 0 17 68 40 +8 2 0 18 69 40 +8 2 0 19 68 41 +8 2 0 20 69 41 +8 2 0 21 68 42 +8 2 0 22 -1 -1 +8 2 0 23 69 42 +8 2 0 24 68 43 +8 2 0 25 69 43 +8 2 0 26 68 44 +8 2 0 27 69 44 +8 2 0 28 68 45 +8 2 0 29 69 45 +8 2 0 30 68 46 +8 2 0 31 69 46 +8 2 0 32 68 47 +8 2 0 33 69 47 +8 2 0 34 68 48 +8 2 0 35 69 48 +8 2 0 36 68 49 +8 2 0 37 69 49 +8 2 0 38 68 50 +8 2 0 39 69 50 +8 2 0 40 68 51 +8 2 0 41 69 51 +8 2 0 42 68 52 +8 2 0 43 69 52 +8 2 0 44 68 53 +8 2 0 45 -1 -1 +8 2 0 46 69 53 +8 2 0 47 68 54 +8 2 0 48 69 54 +8 2 0 49 68 55 +8 2 0 50 69 55 +8 2 0 51 68 56 +8 2 0 52 69 56 +8 2 0 53 68 57 +8 2 0 54 69 57 +8 2 0 55 68 58 +8 2 0 56 -1 -1 +8 2 0 57 69 58 +8 2 0 58 68 59 +8 2 0 59 69 59 +8 2 0 60 68 60 +8 2 0 61 69 60 +8 2 0 62 68 61 +8 2 0 63 69 61 +8 2 0 64 68 62 +8 2 0 65 69 62 +8 2 0 66 68 63 +8 2 0 67 69 63 +8 2 1 0 68 0 +8 2 1 1 69 0 +8 2 1 2 68 1 +8 2 1 3 69 1 +8 2 1 4 68 2 +8 2 1 5 69 2 +8 2 1 6 68 3 +8 2 1 7 69 3 +8 2 1 8 68 4 +8 2 1 9 69 4 +8 2 1 10 68 5 +8 2 1 11 -1 -1 +8 2 1 12 69 5 +8 2 1 13 68 6 +8 2 1 14 69 6 +8 2 1 15 68 7 +8 2 1 16 69 7 +8 2 1 17 68 8 +8 2 1 18 69 8 +8 2 1 19 68 9 +8 2 1 20 69 9 +8 2 1 21 68 10 +8 2 1 22 -1 -1 +8 2 1 23 69 10 +8 2 1 24 68 11 +8 2 1 25 69 11 +8 2 1 26 68 12 +8 2 1 27 69 12 +8 2 1 28 68 13 +8 2 1 29 69 13 +8 2 1 30 68 14 +8 2 1 31 69 14 +8 2 1 32 68 15 +8 2 1 33 69 15 +8 2 1 34 68 16 +8 2 1 35 69 16 +8 2 1 36 68 17 +8 2 1 37 69 17 +8 2 1 38 68 18 +8 2 1 39 69 18 +8 2 1 40 68 19 +8 2 1 41 69 19 +8 2 1 42 68 20 +8 2 1 43 69 20 +8 2 1 44 68 21 +8 2 1 45 -1 -1 +8 2 1 46 69 21 +8 2 1 47 68 22 +8 2 1 48 69 22 +8 2 1 49 68 23 +8 2 1 50 69 23 +8 2 1 51 68 24 +8 2 1 52 69 24 +8 2 1 53 68 25 +8 2 1 54 69 25 +8 2 1 55 68 26 +8 2 1 56 -1 -1 +8 2 1 57 69 26 +8 2 1 58 68 27 +8 2 1 59 69 27 +8 2 1 60 68 28 +8 2 1 61 69 28 +8 2 1 62 68 29 +8 2 1 63 69 29 +8 2 1 64 68 30 +8 2 1 65 69 30 +8 2 1 66 68 31 +8 2 1 67 69 31 +8 2 2 0 70 32 +8 2 2 1 71 32 +8 2 2 2 70 33 +8 2 2 3 71 33 +8 2 2 4 70 34 +8 2 2 5 71 34 +8 2 2 6 70 35 +8 2 2 7 71 35 +8 2 2 8 70 36 +8 2 2 9 71 36 +8 2 2 10 70 37 +8 2 2 11 -1 -1 +8 2 2 12 71 37 +8 2 2 13 70 38 +8 2 2 14 71 38 +8 2 2 15 70 39 +8 2 2 16 71 39 +8 2 2 17 70 40 +8 2 2 18 71 40 +8 2 2 19 70 41 +8 2 2 20 71 41 +8 2 2 21 70 42 +8 2 2 22 -1 -1 +8 2 2 23 71 42 +8 2 2 24 70 43 +8 2 2 25 71 43 +8 2 2 26 70 44 +8 2 2 27 71 44 +8 2 2 28 70 45 +8 2 2 29 71 45 +8 2 2 30 70 46 +8 2 2 31 71 46 +8 2 2 32 70 47 +8 2 2 33 71 47 +8 2 2 34 70 48 +8 2 2 35 71 48 +8 2 2 36 70 49 +8 2 2 37 71 49 +8 2 2 38 70 50 +8 2 2 39 71 50 +8 2 2 40 70 51 +8 2 2 41 71 51 +8 2 2 42 70 52 +8 2 2 43 71 52 +8 2 2 44 70 53 +8 2 2 45 -1 -1 +8 2 2 46 71 53 +8 2 2 47 70 54 +8 2 2 48 71 54 +8 2 2 49 70 55 +8 2 2 50 71 55 +8 2 2 51 70 56 +8 2 2 52 71 56 +8 2 2 53 70 57 +8 2 2 54 71 57 +8 2 2 55 70 58 +8 2 2 56 -1 -1 +8 2 2 57 71 58 +8 2 2 58 70 59 +8 2 2 59 71 59 +8 2 2 60 70 60 +8 2 2 61 71 60 +8 2 2 62 70 61 +8 2 2 63 71 61 +8 2 2 64 70 62 +8 2 2 65 71 62 +8 2 2 66 70 63 +8 2 2 67 71 63 +8 2 3 0 70 0 +8 2 3 1 71 0 +8 2 3 2 70 1 +8 2 3 3 71 1 +8 2 3 4 70 2 +8 2 3 5 71 2 +8 2 3 6 70 3 +8 2 3 7 71 3 +8 2 3 8 70 4 +8 2 3 9 71 4 +8 2 3 10 70 5 +8 2 3 11 -1 -1 +8 2 3 12 71 5 +8 2 3 13 70 6 +8 2 3 14 71 6 +8 2 3 15 70 7 +8 2 3 16 71 7 +8 2 3 17 70 8 +8 2 3 18 71 8 +8 2 3 19 70 9 +8 2 3 20 71 9 +8 2 3 21 70 10 +8 2 3 22 -1 -1 +8 2 3 23 71 10 +8 2 3 24 70 11 +8 2 3 25 71 11 +8 2 3 26 70 12 +8 2 3 27 71 12 +8 2 3 28 70 13 +8 2 3 29 71 13 +8 2 3 30 70 14 +8 2 3 31 71 14 +8 2 3 32 70 15 +8 2 3 33 71 15 +8 2 3 34 70 16 +8 2 3 35 71 16 +8 2 3 36 70 17 +8 2 3 37 71 17 +8 2 3 38 70 18 +8 2 3 39 71 18 +8 2 3 40 70 19 +8 2 3 41 71 19 +8 2 3 42 70 20 +8 2 3 43 71 20 +8 2 3 44 70 21 +8 2 3 45 -1 -1 +8 2 3 46 71 21 +8 2 3 47 70 22 +8 2 3 48 71 22 +8 2 3 49 70 23 +8 2 3 50 71 23 +8 2 3 51 70 24 +8 2 3 52 71 24 +8 2 3 53 70 25 +8 2 3 54 71 25 +8 2 3 55 70 26 +8 2 3 56 -1 -1 +8 2 3 57 71 26 +8 2 3 58 70 27 +8 2 3 59 71 27 +8 2 3 60 70 28 +8 2 3 61 71 28 +8 2 3 62 70 29 +8 2 3 63 71 29 +8 2 3 64 70 30 +8 2 3 65 71 30 +8 2 3 66 70 31 +8 2 3 67 71 31 +8 3 0 0 71 95 +8 3 0 1 70 95 +8 3 0 2 71 94 +8 3 0 3 70 94 +8 3 0 4 71 93 +8 3 0 5 70 93 +8 3 0 6 71 92 +8 3 0 7 70 92 +8 3 0 8 71 91 +8 3 0 9 70 91 +8 3 0 10 71 90 +8 3 0 11 -1 -1 +8 3 0 12 70 90 +8 3 0 13 71 89 +8 3 0 14 70 89 +8 3 0 15 71 88 +8 3 0 16 70 88 +8 3 0 17 71 87 +8 3 0 18 70 87 +8 3 0 19 71 86 +8 3 0 20 70 86 +8 3 0 21 71 85 +8 3 0 22 -1 -1 +8 3 0 23 70 85 +8 3 0 24 71 84 +8 3 0 25 70 84 +8 3 0 26 71 83 +8 3 0 27 70 83 +8 3 0 28 71 82 +8 3 0 29 70 82 +8 3 0 30 71 81 +8 3 0 31 70 81 +8 3 0 32 71 80 +8 3 0 33 70 80 +8 3 0 34 71 79 +8 3 0 35 70 79 +8 3 0 36 71 78 +8 3 0 37 70 78 +8 3 0 38 71 77 +8 3 0 39 70 77 +8 3 0 40 71 76 +8 3 0 41 70 76 +8 3 0 42 71 75 +8 3 0 43 70 75 +8 3 0 44 71 74 +8 3 0 45 -1 -1 +8 3 0 46 70 74 +8 3 0 47 71 73 +8 3 0 48 70 73 +8 3 0 49 71 72 +8 3 0 50 70 72 +8 3 0 51 71 71 +8 3 0 52 70 71 +8 3 0 53 71 70 +8 3 0 54 70 70 +8 3 0 55 71 69 +8 3 0 56 -1 -1 +8 3 0 57 70 69 +8 3 0 58 71 68 +8 3 0 59 70 68 +8 3 0 60 71 67 +8 3 0 61 70 67 +8 3 0 62 71 66 +8 3 0 63 70 66 +8 3 0 64 71 65 +8 3 0 65 70 65 +8 3 0 66 71 64 +8 3 0 67 70 64 +8 3 1 0 71 127 +8 3 1 1 70 127 +8 3 1 2 71 126 +8 3 1 3 70 126 +8 3 1 4 71 125 +8 3 1 5 70 125 +8 3 1 6 71 124 +8 3 1 7 70 124 +8 3 1 8 71 123 +8 3 1 9 70 123 +8 3 1 10 71 122 +8 3 1 11 -1 -1 +8 3 1 12 70 122 +8 3 1 13 71 121 +8 3 1 14 70 121 +8 3 1 15 71 120 +8 3 1 16 70 120 +8 3 1 17 71 119 +8 3 1 18 70 119 +8 3 1 19 71 118 +8 3 1 20 70 118 +8 3 1 21 71 117 +8 3 1 22 -1 -1 +8 3 1 23 70 117 +8 3 1 24 71 116 +8 3 1 25 70 116 +8 3 1 26 71 115 +8 3 1 27 70 115 +8 3 1 28 71 114 +8 3 1 29 70 114 +8 3 1 30 71 113 +8 3 1 31 70 113 +8 3 1 32 71 112 +8 3 1 33 70 112 +8 3 1 34 71 111 +8 3 1 35 70 111 +8 3 1 36 71 110 +8 3 1 37 70 110 +8 3 1 38 71 109 +8 3 1 39 70 109 +8 3 1 40 71 108 +8 3 1 41 70 108 +8 3 1 42 71 107 +8 3 1 43 70 107 +8 3 1 44 71 106 +8 3 1 45 -1 -1 +8 3 1 46 70 106 +8 3 1 47 71 105 +8 3 1 48 70 105 +8 3 1 49 71 104 +8 3 1 50 70 104 +8 3 1 51 71 103 +8 3 1 52 70 103 +8 3 1 53 71 102 +8 3 1 54 70 102 +8 3 1 55 71 101 +8 3 1 56 -1 -1 +8 3 1 57 70 101 +8 3 1 58 71 100 +8 3 1 59 70 100 +8 3 1 60 71 99 +8 3 1 61 70 99 +8 3 1 62 71 98 +8 3 1 63 70 98 +8 3 1 64 71 97 +8 3 1 65 70 97 +8 3 1 66 71 96 +8 3 1 67 70 96 +8 3 2 0 69 95 +8 3 2 1 68 95 +8 3 2 2 69 94 +8 3 2 3 68 94 +8 3 2 4 69 93 +8 3 2 5 68 93 +8 3 2 6 69 92 +8 3 2 7 68 92 +8 3 2 8 69 91 +8 3 2 9 68 91 +8 3 2 10 69 90 +8 3 2 11 -1 -1 +8 3 2 12 68 90 +8 3 2 13 69 89 +8 3 2 14 68 89 +8 3 2 15 69 88 +8 3 2 16 68 88 +8 3 2 17 69 87 +8 3 2 18 68 87 +8 3 2 19 69 86 +8 3 2 20 68 86 +8 3 2 21 69 85 +8 3 2 22 -1 -1 +8 3 2 23 68 85 +8 3 2 24 69 84 +8 3 2 25 68 84 +8 3 2 26 69 83 +8 3 2 27 68 83 +8 3 2 28 69 82 +8 3 2 29 68 82 +8 3 2 30 69 81 +8 3 2 31 68 81 +8 3 2 32 69 80 +8 3 2 33 68 80 +8 3 2 34 69 79 +8 3 2 35 68 79 +8 3 2 36 69 78 +8 3 2 37 68 78 +8 3 2 38 69 77 +8 3 2 39 68 77 +8 3 2 40 69 76 +8 3 2 41 68 76 +8 3 2 42 69 75 +8 3 2 43 68 75 +8 3 2 44 69 74 +8 3 2 45 -1 -1 +8 3 2 46 68 74 +8 3 2 47 69 73 +8 3 2 48 68 73 +8 3 2 49 69 72 +8 3 2 50 68 72 +8 3 2 51 69 71 +8 3 2 52 68 71 +8 3 2 53 69 70 +8 3 2 54 68 70 +8 3 2 55 69 69 +8 3 2 56 -1 -1 +8 3 2 57 68 69 +8 3 2 58 69 68 +8 3 2 59 68 68 +8 3 2 60 69 67 +8 3 2 61 68 67 +8 3 2 62 69 66 +8 3 2 63 68 66 +8 3 2 64 69 65 +8 3 2 65 68 65 +8 3 2 66 69 64 +8 3 2 67 68 64 +8 3 3 0 69 127 +8 3 3 1 68 127 +8 3 3 2 69 126 +8 3 3 3 68 126 +8 3 3 4 69 125 +8 3 3 5 68 125 +8 3 3 6 69 124 +8 3 3 7 68 124 +8 3 3 8 69 123 +8 3 3 9 68 123 +8 3 3 10 69 122 +8 3 3 11 -1 -1 +8 3 3 12 68 122 +8 3 3 13 69 121 +8 3 3 14 68 121 +8 3 3 15 69 120 +8 3 3 16 68 120 +8 3 3 17 69 119 +8 3 3 18 68 119 +8 3 3 19 69 118 +8 3 3 20 68 118 +8 3 3 21 69 117 +8 3 3 22 -1 -1 +8 3 3 23 68 117 +8 3 3 24 69 116 +8 3 3 25 68 116 +8 3 3 26 69 115 +8 3 3 27 68 115 +8 3 3 28 69 114 +8 3 3 29 68 114 +8 3 3 30 69 113 +8 3 3 31 68 113 +8 3 3 32 69 112 +8 3 3 33 68 112 +8 3 3 34 69 111 +8 3 3 35 68 111 +8 3 3 36 69 110 +8 3 3 37 68 110 +8 3 3 38 69 109 +8 3 3 39 68 109 +8 3 3 40 69 108 +8 3 3 41 68 108 +8 3 3 42 69 107 +8 3 3 43 68 107 +8 3 3 44 69 106 +8 3 3 45 -1 -1 +8 3 3 46 68 106 +8 3 3 47 69 105 +8 3 3 48 68 105 +8 3 3 49 69 104 +8 3 3 50 68 104 +8 3 3 51 69 103 +8 3 3 52 68 103 +8 3 3 53 69 102 +8 3 3 54 68 102 +8 3 3 55 69 101 +8 3 3 56 -1 -1 +8 3 3 57 68 101 +8 3 3 58 69 100 +8 3 3 59 68 100 +8 3 3 60 69 99 +8 3 3 61 68 99 +8 3 3 62 69 98 +8 3 3 63 68 98 +8 3 3 64 69 97 +8 3 3 65 68 97 +8 3 3 66 69 96 +8 3 3 67 68 96 +9 0 0 0 72 32 +9 0 0 1 73 32 +9 0 0 2 72 33 +9 0 0 3 73 33 +9 0 0 4 72 34 +9 0 0 5 73 34 +9 0 0 6 72 35 +9 0 0 7 73 35 +9 0 0 8 72 36 +9 0 0 9 73 36 +9 0 0 10 72 37 +9 0 0 11 -1 -1 +9 0 0 12 73 37 +9 0 0 13 72 38 +9 0 0 14 73 38 +9 0 0 15 72 39 +9 0 0 16 73 39 +9 0 0 17 72 40 +9 0 0 18 73 40 +9 0 0 19 72 41 +9 0 0 20 73 41 +9 0 0 21 72 42 +9 0 0 22 -1 -1 +9 0 0 23 73 42 +9 0 0 24 72 43 +9 0 0 25 73 43 +9 0 0 26 72 44 +9 0 0 27 73 44 +9 0 0 28 72 45 +9 0 0 29 73 45 +9 0 0 30 72 46 +9 0 0 31 73 46 +9 0 0 32 72 47 +9 0 0 33 73 47 +9 0 0 34 72 48 +9 0 0 35 73 48 +9 0 0 36 72 49 +9 0 0 37 73 49 +9 0 0 38 72 50 +9 0 0 39 73 50 +9 0 0 40 72 51 +9 0 0 41 73 51 +9 0 0 42 72 52 +9 0 0 43 73 52 +9 0 0 44 72 53 +9 0 0 45 -1 -1 +9 0 0 46 73 53 +9 0 0 47 72 54 +9 0 0 48 73 54 +9 0 0 49 72 55 +9 0 0 50 73 55 +9 0 0 51 72 56 +9 0 0 52 73 56 +9 0 0 53 72 57 +9 0 0 54 73 57 +9 0 0 55 72 58 +9 0 0 56 -1 -1 +9 0 0 57 73 58 +9 0 0 58 72 59 +9 0 0 59 73 59 +9 0 0 60 72 60 +9 0 0 61 73 60 +9 0 0 62 72 61 +9 0 0 63 73 61 +9 0 0 64 72 62 +9 0 0 65 73 62 +9 0 0 66 72 63 +9 0 0 67 73 63 +9 0 1 0 72 0 +9 0 1 1 73 0 +9 0 1 2 72 1 +9 0 1 3 73 1 +9 0 1 4 72 2 +9 0 1 5 73 2 +9 0 1 6 72 3 +9 0 1 7 73 3 +9 0 1 8 72 4 +9 0 1 9 73 4 +9 0 1 10 72 5 +9 0 1 11 -1 -1 +9 0 1 12 73 5 +9 0 1 13 72 6 +9 0 1 14 73 6 +9 0 1 15 72 7 +9 0 1 16 73 7 +9 0 1 17 72 8 +9 0 1 18 73 8 +9 0 1 19 72 9 +9 0 1 20 73 9 +9 0 1 21 72 10 +9 0 1 22 -1 -1 +9 0 1 23 73 10 +9 0 1 24 72 11 +9 0 1 25 73 11 +9 0 1 26 72 12 +9 0 1 27 73 12 +9 0 1 28 72 13 +9 0 1 29 73 13 +9 0 1 30 72 14 +9 0 1 31 73 14 +9 0 1 32 72 15 +9 0 1 33 73 15 +9 0 1 34 72 16 +9 0 1 35 73 16 +9 0 1 36 72 17 +9 0 1 37 73 17 +9 0 1 38 72 18 +9 0 1 39 73 18 +9 0 1 40 72 19 +9 0 1 41 73 19 +9 0 1 42 72 20 +9 0 1 43 73 20 +9 0 1 44 72 21 +9 0 1 45 -1 -1 +9 0 1 46 73 21 +9 0 1 47 72 22 +9 0 1 48 73 22 +9 0 1 49 72 23 +9 0 1 50 73 23 +9 0 1 51 72 24 +9 0 1 52 73 24 +9 0 1 53 72 25 +9 0 1 54 73 25 +9 0 1 55 72 26 +9 0 1 56 -1 -1 +9 0 1 57 73 26 +9 0 1 58 72 27 +9 0 1 59 73 27 +9 0 1 60 72 28 +9 0 1 61 73 28 +9 0 1 62 72 29 +9 0 1 63 73 29 +9 0 1 64 72 30 +9 0 1 65 73 30 +9 0 1 66 72 31 +9 0 1 67 73 31 +9 0 2 0 74 32 +9 0 2 1 75 32 +9 0 2 2 74 33 +9 0 2 3 75 33 +9 0 2 4 74 34 +9 0 2 5 75 34 +9 0 2 6 74 35 +9 0 2 7 75 35 +9 0 2 8 74 36 +9 0 2 9 75 36 +9 0 2 10 74 37 +9 0 2 11 -1 -1 +9 0 2 12 75 37 +9 0 2 13 74 38 +9 0 2 14 75 38 +9 0 2 15 74 39 +9 0 2 16 75 39 +9 0 2 17 74 40 +9 0 2 18 75 40 +9 0 2 19 74 41 +9 0 2 20 75 41 +9 0 2 21 74 42 +9 0 2 22 -1 -1 +9 0 2 23 75 42 +9 0 2 24 74 43 +9 0 2 25 75 43 +9 0 2 26 74 44 +9 0 2 27 75 44 +9 0 2 28 74 45 +9 0 2 29 75 45 +9 0 2 30 74 46 +9 0 2 31 75 46 +9 0 2 32 74 47 +9 0 2 33 75 47 +9 0 2 34 74 48 +9 0 2 35 75 48 +9 0 2 36 74 49 +9 0 2 37 75 49 +9 0 2 38 74 50 +9 0 2 39 75 50 +9 0 2 40 74 51 +9 0 2 41 75 51 +9 0 2 42 74 52 +9 0 2 43 75 52 +9 0 2 44 74 53 +9 0 2 45 -1 -1 +9 0 2 46 75 53 +9 0 2 47 74 54 +9 0 2 48 75 54 +9 0 2 49 74 55 +9 0 2 50 75 55 +9 0 2 51 74 56 +9 0 2 52 75 56 +9 0 2 53 74 57 +9 0 2 54 75 57 +9 0 2 55 74 58 +9 0 2 56 -1 -1 +9 0 2 57 75 58 +9 0 2 58 74 59 +9 0 2 59 75 59 +9 0 2 60 74 60 +9 0 2 61 75 60 +9 0 2 62 74 61 +9 0 2 63 75 61 +9 0 2 64 74 62 +9 0 2 65 75 62 +9 0 2 66 74 63 +9 0 2 67 75 63 +9 0 3 0 74 0 +9 0 3 1 75 0 +9 0 3 2 74 1 +9 0 3 3 75 1 +9 0 3 4 74 2 +9 0 3 5 75 2 +9 0 3 6 74 3 +9 0 3 7 75 3 +9 0 3 8 74 4 +9 0 3 9 75 4 +9 0 3 10 74 5 +9 0 3 11 -1 -1 +9 0 3 12 75 5 +9 0 3 13 74 6 +9 0 3 14 75 6 +9 0 3 15 74 7 +9 0 3 16 75 7 +9 0 3 17 74 8 +9 0 3 18 75 8 +9 0 3 19 74 9 +9 0 3 20 75 9 +9 0 3 21 74 10 +9 0 3 22 -1 -1 +9 0 3 23 75 10 +9 0 3 24 74 11 +9 0 3 25 75 11 +9 0 3 26 74 12 +9 0 3 27 75 12 +9 0 3 28 74 13 +9 0 3 29 75 13 +9 0 3 30 74 14 +9 0 3 31 75 14 +9 0 3 32 74 15 +9 0 3 33 75 15 +9 0 3 34 74 16 +9 0 3 35 75 16 +9 0 3 36 74 17 +9 0 3 37 75 17 +9 0 3 38 74 18 +9 0 3 39 75 18 +9 0 3 40 74 19 +9 0 3 41 75 19 +9 0 3 42 74 20 +9 0 3 43 75 20 +9 0 3 44 74 21 +9 0 3 45 -1 -1 +9 0 3 46 75 21 +9 0 3 47 74 22 +9 0 3 48 75 22 +9 0 3 49 74 23 +9 0 3 50 75 23 +9 0 3 51 74 24 +9 0 3 52 75 24 +9 0 3 53 74 25 +9 0 3 54 75 25 +9 0 3 55 74 26 +9 0 3 56 -1 -1 +9 0 3 57 75 26 +9 0 3 58 74 27 +9 0 3 59 75 27 +9 0 3 60 74 28 +9 0 3 61 75 28 +9 0 3 62 74 29 +9 0 3 63 75 29 +9 0 3 64 74 30 +9 0 3 65 75 30 +9 0 3 66 74 31 +9 0 3 67 75 31 +9 1 0 0 75 95 +9 1 0 1 74 95 +9 1 0 2 75 94 +9 1 0 3 74 94 +9 1 0 4 75 93 +9 1 0 5 74 93 +9 1 0 6 75 92 +9 1 0 7 74 92 +9 1 0 8 75 91 +9 1 0 9 74 91 +9 1 0 10 75 90 +9 1 0 11 -1 -1 +9 1 0 12 74 90 +9 1 0 13 75 89 +9 1 0 14 74 89 +9 1 0 15 75 88 +9 1 0 16 74 88 +9 1 0 17 75 87 +9 1 0 18 74 87 +9 1 0 19 75 86 +9 1 0 20 74 86 +9 1 0 21 75 85 +9 1 0 22 -1 -1 +9 1 0 23 74 85 +9 1 0 24 75 84 +9 1 0 25 74 84 +9 1 0 26 75 83 +9 1 0 27 74 83 +9 1 0 28 75 82 +9 1 0 29 74 82 +9 1 0 30 75 81 +9 1 0 31 74 81 +9 1 0 32 75 80 +9 1 0 33 74 80 +9 1 0 34 75 79 +9 1 0 35 74 79 +9 1 0 36 75 78 +9 1 0 37 74 78 +9 1 0 38 75 77 +9 1 0 39 74 77 +9 1 0 40 75 76 +9 1 0 41 74 76 +9 1 0 42 75 75 +9 1 0 43 74 75 +9 1 0 44 75 74 +9 1 0 45 -1 -1 +9 1 0 46 74 74 +9 1 0 47 75 73 +9 1 0 48 74 73 +9 1 0 49 75 72 +9 1 0 50 74 72 +9 1 0 51 75 71 +9 1 0 52 74 71 +9 1 0 53 75 70 +9 1 0 54 74 70 +9 1 0 55 75 69 +9 1 0 56 -1 -1 +9 1 0 57 74 69 +9 1 0 58 75 68 +9 1 0 59 74 68 +9 1 0 60 75 67 +9 1 0 61 74 67 +9 1 0 62 75 66 +9 1 0 63 74 66 +9 1 0 64 75 65 +9 1 0 65 74 65 +9 1 0 66 75 64 +9 1 0 67 74 64 +9 1 1 0 75 127 +9 1 1 1 74 127 +9 1 1 2 75 126 +9 1 1 3 74 126 +9 1 1 4 75 125 +9 1 1 5 74 125 +9 1 1 6 75 124 +9 1 1 7 74 124 +9 1 1 8 75 123 +9 1 1 9 74 123 +9 1 1 10 75 122 +9 1 1 11 -1 -1 +9 1 1 12 74 122 +9 1 1 13 75 121 +9 1 1 14 74 121 +9 1 1 15 75 120 +9 1 1 16 74 120 +9 1 1 17 75 119 +9 1 1 18 74 119 +9 1 1 19 75 118 +9 1 1 20 74 118 +9 1 1 21 75 117 +9 1 1 22 -1 -1 +9 1 1 23 74 117 +9 1 1 24 75 116 +9 1 1 25 74 116 +9 1 1 26 75 115 +9 1 1 27 74 115 +9 1 1 28 75 114 +9 1 1 29 74 114 +9 1 1 30 75 113 +9 1 1 31 74 113 +9 1 1 32 75 112 +9 1 1 33 74 112 +9 1 1 34 75 111 +9 1 1 35 74 111 +9 1 1 36 75 110 +9 1 1 37 74 110 +9 1 1 38 75 109 +9 1 1 39 74 109 +9 1 1 40 75 108 +9 1 1 41 74 108 +9 1 1 42 75 107 +9 1 1 43 74 107 +9 1 1 44 75 106 +9 1 1 45 -1 -1 +9 1 1 46 74 106 +9 1 1 47 75 105 +9 1 1 48 74 105 +9 1 1 49 75 104 +9 1 1 50 74 104 +9 1 1 51 75 103 +9 1 1 52 74 103 +9 1 1 53 75 102 +9 1 1 54 74 102 +9 1 1 55 75 101 +9 1 1 56 -1 -1 +9 1 1 57 74 101 +9 1 1 58 75 100 +9 1 1 59 74 100 +9 1 1 60 75 99 +9 1 1 61 74 99 +9 1 1 62 75 98 +9 1 1 63 74 98 +9 1 1 64 75 97 +9 1 1 65 74 97 +9 1 1 66 75 96 +9 1 1 67 74 96 +9 1 2 0 73 95 +9 1 2 1 72 95 +9 1 2 2 73 94 +9 1 2 3 72 94 +9 1 2 4 73 93 +9 1 2 5 72 93 +9 1 2 6 73 92 +9 1 2 7 72 92 +9 1 2 8 73 91 +9 1 2 9 72 91 +9 1 2 10 73 90 +9 1 2 11 -1 -1 +9 1 2 12 72 90 +9 1 2 13 73 89 +9 1 2 14 72 89 +9 1 2 15 73 88 +9 1 2 16 72 88 +9 1 2 17 73 87 +9 1 2 18 72 87 +9 1 2 19 73 86 +9 1 2 20 72 86 +9 1 2 21 73 85 +9 1 2 22 -1 -1 +9 1 2 23 72 85 +9 1 2 24 73 84 +9 1 2 25 72 84 +9 1 2 26 73 83 +9 1 2 27 72 83 +9 1 2 28 73 82 +9 1 2 29 72 82 +9 1 2 30 73 81 +9 1 2 31 72 81 +9 1 2 32 73 80 +9 1 2 33 72 80 +9 1 2 34 73 79 +9 1 2 35 72 79 +9 1 2 36 73 78 +9 1 2 37 72 78 +9 1 2 38 73 77 +9 1 2 39 72 77 +9 1 2 40 73 76 +9 1 2 41 72 76 +9 1 2 42 73 75 +9 1 2 43 72 75 +9 1 2 44 73 74 +9 1 2 45 -1 -1 +9 1 2 46 72 74 +9 1 2 47 73 73 +9 1 2 48 72 73 +9 1 2 49 73 72 +9 1 2 50 72 72 +9 1 2 51 73 71 +9 1 2 52 72 71 +9 1 2 53 73 70 +9 1 2 54 72 70 +9 1 2 55 73 69 +9 1 2 56 -1 -1 +9 1 2 57 72 69 +9 1 2 58 73 68 +9 1 2 59 72 68 +9 1 2 60 73 67 +9 1 2 61 72 67 +9 1 2 62 73 66 +9 1 2 63 72 66 +9 1 2 64 73 65 +9 1 2 65 72 65 +9 1 2 66 73 64 +9 1 2 67 72 64 +9 1 3 0 73 127 +9 1 3 1 72 127 +9 1 3 2 73 126 +9 1 3 3 72 126 +9 1 3 4 73 125 +9 1 3 5 72 125 +9 1 3 6 73 124 +9 1 3 7 72 124 +9 1 3 8 73 123 +9 1 3 9 72 123 +9 1 3 10 73 122 +9 1 3 11 -1 -1 +9 1 3 12 72 122 +9 1 3 13 73 121 +9 1 3 14 72 121 +9 1 3 15 73 120 +9 1 3 16 72 120 +9 1 3 17 73 119 +9 1 3 18 72 119 +9 1 3 19 73 118 +9 1 3 20 72 118 +9 1 3 21 73 117 +9 1 3 22 -1 -1 +9 1 3 23 72 117 +9 1 3 24 73 116 +9 1 3 25 72 116 +9 1 3 26 73 115 +9 1 3 27 72 115 +9 1 3 28 73 114 +9 1 3 29 72 114 +9 1 3 30 73 113 +9 1 3 31 72 113 +9 1 3 32 73 112 +9 1 3 33 72 112 +9 1 3 34 73 111 +9 1 3 35 72 111 +9 1 3 36 73 110 +9 1 3 37 72 110 +9 1 3 38 73 109 +9 1 3 39 72 109 +9 1 3 40 73 108 +9 1 3 41 72 108 +9 1 3 42 73 107 +9 1 3 43 72 107 +9 1 3 44 73 106 +9 1 3 45 -1 -1 +9 1 3 46 72 106 +9 1 3 47 73 105 +9 1 3 48 72 105 +9 1 3 49 73 104 +9 1 3 50 72 104 +9 1 3 51 73 103 +9 1 3 52 72 103 +9 1 3 53 73 102 +9 1 3 54 72 102 +9 1 3 55 73 101 +9 1 3 56 -1 -1 +9 1 3 57 72 101 +9 1 3 58 73 100 +9 1 3 59 72 100 +9 1 3 60 73 99 +9 1 3 61 72 99 +9 1 3 62 73 98 +9 1 3 63 72 98 +9 1 3 64 73 97 +9 1 3 65 72 97 +9 1 3 66 73 96 +9 1 3 67 72 96 +9 2 0 0 76 32 +9 2 0 1 77 32 +9 2 0 2 76 33 +9 2 0 3 77 33 +9 2 0 4 76 34 +9 2 0 5 77 34 +9 2 0 6 76 35 +9 2 0 7 77 35 +9 2 0 8 76 36 +9 2 0 9 77 36 +9 2 0 10 76 37 +9 2 0 11 -1 -1 +9 2 0 12 77 37 +9 2 0 13 76 38 +9 2 0 14 77 38 +9 2 0 15 76 39 +9 2 0 16 77 39 +9 2 0 17 76 40 +9 2 0 18 77 40 +9 2 0 19 76 41 +9 2 0 20 77 41 +9 2 0 21 76 42 +9 2 0 22 -1 -1 +9 2 0 23 77 42 +9 2 0 24 76 43 +9 2 0 25 77 43 +9 2 0 26 76 44 +9 2 0 27 77 44 +9 2 0 28 76 45 +9 2 0 29 77 45 +9 2 0 30 76 46 +9 2 0 31 77 46 +9 2 0 32 76 47 +9 2 0 33 77 47 +9 2 0 34 76 48 +9 2 0 35 77 48 +9 2 0 36 76 49 +9 2 0 37 77 49 +9 2 0 38 76 50 +9 2 0 39 77 50 +9 2 0 40 76 51 +9 2 0 41 77 51 +9 2 0 42 76 52 +9 2 0 43 77 52 +9 2 0 44 76 53 +9 2 0 45 -1 -1 +9 2 0 46 77 53 +9 2 0 47 76 54 +9 2 0 48 77 54 +9 2 0 49 76 55 +9 2 0 50 77 55 +9 2 0 51 76 56 +9 2 0 52 77 56 +9 2 0 53 76 57 +9 2 0 54 77 57 +9 2 0 55 76 58 +9 2 0 56 -1 -1 +9 2 0 57 77 58 +9 2 0 58 76 59 +9 2 0 59 77 59 +9 2 0 60 76 60 +9 2 0 61 77 60 +9 2 0 62 76 61 +9 2 0 63 77 61 +9 2 0 64 76 62 +9 2 0 65 77 62 +9 2 0 66 76 63 +9 2 0 67 77 63 +9 2 1 0 76 0 +9 2 1 1 77 0 +9 2 1 2 76 1 +9 2 1 3 77 1 +9 2 1 4 76 2 +9 2 1 5 77 2 +9 2 1 6 76 3 +9 2 1 7 77 3 +9 2 1 8 76 4 +9 2 1 9 77 4 +9 2 1 10 76 5 +9 2 1 11 -1 -1 +9 2 1 12 77 5 +9 2 1 13 76 6 +9 2 1 14 77 6 +9 2 1 15 76 7 +9 2 1 16 77 7 +9 2 1 17 76 8 +9 2 1 18 77 8 +9 2 1 19 76 9 +9 2 1 20 77 9 +9 2 1 21 76 10 +9 2 1 22 -1 -1 +9 2 1 23 77 10 +9 2 1 24 76 11 +9 2 1 25 77 11 +9 2 1 26 76 12 +9 2 1 27 77 12 +9 2 1 28 76 13 +9 2 1 29 77 13 +9 2 1 30 76 14 +9 2 1 31 77 14 +9 2 1 32 76 15 +9 2 1 33 77 15 +9 2 1 34 76 16 +9 2 1 35 77 16 +9 2 1 36 76 17 +9 2 1 37 77 17 +9 2 1 38 76 18 +9 2 1 39 77 18 +9 2 1 40 76 19 +9 2 1 41 77 19 +9 2 1 42 76 20 +9 2 1 43 77 20 +9 2 1 44 76 21 +9 2 1 45 -1 -1 +9 2 1 46 77 21 +9 2 1 47 76 22 +9 2 1 48 77 22 +9 2 1 49 76 23 +9 2 1 50 77 23 +9 2 1 51 76 24 +9 2 1 52 77 24 +9 2 1 53 76 25 +9 2 1 54 77 25 +9 2 1 55 76 26 +9 2 1 56 -1 -1 +9 2 1 57 77 26 +9 2 1 58 76 27 +9 2 1 59 77 27 +9 2 1 60 76 28 +9 2 1 61 77 28 +9 2 1 62 76 29 +9 2 1 63 77 29 +9 2 1 64 76 30 +9 2 1 65 77 30 +9 2 1 66 76 31 +9 2 1 67 77 31 +9 2 2 0 78 32 +9 2 2 1 79 32 +9 2 2 2 78 33 +9 2 2 3 79 33 +9 2 2 4 78 34 +9 2 2 5 79 34 +9 2 2 6 78 35 +9 2 2 7 79 35 +9 2 2 8 78 36 +9 2 2 9 79 36 +9 2 2 10 78 37 +9 2 2 11 -1 -1 +9 2 2 12 79 37 +9 2 2 13 78 38 +9 2 2 14 79 38 +9 2 2 15 78 39 +9 2 2 16 79 39 +9 2 2 17 78 40 +9 2 2 18 79 40 +9 2 2 19 78 41 +9 2 2 20 79 41 +9 2 2 21 78 42 +9 2 2 22 -1 -1 +9 2 2 23 79 42 +9 2 2 24 78 43 +9 2 2 25 79 43 +9 2 2 26 78 44 +9 2 2 27 79 44 +9 2 2 28 78 45 +9 2 2 29 79 45 +9 2 2 30 78 46 +9 2 2 31 79 46 +9 2 2 32 78 47 +9 2 2 33 79 47 +9 2 2 34 78 48 +9 2 2 35 79 48 +9 2 2 36 78 49 +9 2 2 37 79 49 +9 2 2 38 78 50 +9 2 2 39 79 50 +9 2 2 40 78 51 +9 2 2 41 79 51 +9 2 2 42 78 52 +9 2 2 43 79 52 +9 2 2 44 78 53 +9 2 2 45 -1 -1 +9 2 2 46 79 53 +9 2 2 47 78 54 +9 2 2 48 79 54 +9 2 2 49 78 55 +9 2 2 50 79 55 +9 2 2 51 78 56 +9 2 2 52 79 56 +9 2 2 53 78 57 +9 2 2 54 79 57 +9 2 2 55 78 58 +9 2 2 56 -1 -1 +9 2 2 57 79 58 +9 2 2 58 78 59 +9 2 2 59 79 59 +9 2 2 60 78 60 +9 2 2 61 79 60 +9 2 2 62 78 61 +9 2 2 63 79 61 +9 2 2 64 78 62 +9 2 2 65 79 62 +9 2 2 66 78 63 +9 2 2 67 79 63 +9 2 3 0 78 0 +9 2 3 1 79 0 +9 2 3 2 78 1 +9 2 3 3 79 1 +9 2 3 4 78 2 +9 2 3 5 79 2 +9 2 3 6 78 3 +9 2 3 7 79 3 +9 2 3 8 78 4 +9 2 3 9 79 4 +9 2 3 10 78 5 +9 2 3 11 -1 -1 +9 2 3 12 79 5 +9 2 3 13 78 6 +9 2 3 14 79 6 +9 2 3 15 78 7 +9 2 3 16 79 7 +9 2 3 17 78 8 +9 2 3 18 79 8 +9 2 3 19 78 9 +9 2 3 20 79 9 +9 2 3 21 78 10 +9 2 3 22 -1 -1 +9 2 3 23 79 10 +9 2 3 24 78 11 +9 2 3 25 79 11 +9 2 3 26 78 12 +9 2 3 27 79 12 +9 2 3 28 78 13 +9 2 3 29 79 13 +9 2 3 30 78 14 +9 2 3 31 79 14 +9 2 3 32 78 15 +9 2 3 33 79 15 +9 2 3 34 78 16 +9 2 3 35 79 16 +9 2 3 36 78 17 +9 2 3 37 79 17 +9 2 3 38 78 18 +9 2 3 39 79 18 +9 2 3 40 78 19 +9 2 3 41 79 19 +9 2 3 42 78 20 +9 2 3 43 79 20 +9 2 3 44 78 21 +9 2 3 45 -1 -1 +9 2 3 46 79 21 +9 2 3 47 78 22 +9 2 3 48 79 22 +9 2 3 49 78 23 +9 2 3 50 79 23 +9 2 3 51 78 24 +9 2 3 52 79 24 +9 2 3 53 78 25 +9 2 3 54 79 25 +9 2 3 55 78 26 +9 2 3 56 -1 -1 +9 2 3 57 79 26 +9 2 3 58 78 27 +9 2 3 59 79 27 +9 2 3 60 78 28 +9 2 3 61 79 28 +9 2 3 62 78 29 +9 2 3 63 79 29 +9 2 3 64 78 30 +9 2 3 65 79 30 +9 2 3 66 78 31 +9 2 3 67 79 31 +9 3 0 0 79 95 +9 3 0 1 78 95 +9 3 0 2 79 94 +9 3 0 3 78 94 +9 3 0 4 79 93 +9 3 0 5 78 93 +9 3 0 6 79 92 +9 3 0 7 78 92 +9 3 0 8 79 91 +9 3 0 9 78 91 +9 3 0 10 79 90 +9 3 0 11 -1 -1 +9 3 0 12 78 90 +9 3 0 13 79 89 +9 3 0 14 78 89 +9 3 0 15 79 88 +9 3 0 16 78 88 +9 3 0 17 79 87 +9 3 0 18 78 87 +9 3 0 19 79 86 +9 3 0 20 78 86 +9 3 0 21 79 85 +9 3 0 22 -1 -1 +9 3 0 23 78 85 +9 3 0 24 79 84 +9 3 0 25 78 84 +9 3 0 26 79 83 +9 3 0 27 78 83 +9 3 0 28 79 82 +9 3 0 29 78 82 +9 3 0 30 79 81 +9 3 0 31 78 81 +9 3 0 32 79 80 +9 3 0 33 78 80 +9 3 0 34 79 79 +9 3 0 35 78 79 +9 3 0 36 79 78 +9 3 0 37 78 78 +9 3 0 38 79 77 +9 3 0 39 78 77 +9 3 0 40 79 76 +9 3 0 41 78 76 +9 3 0 42 79 75 +9 3 0 43 78 75 +9 3 0 44 79 74 +9 3 0 45 -1 -1 +9 3 0 46 78 74 +9 3 0 47 79 73 +9 3 0 48 78 73 +9 3 0 49 79 72 +9 3 0 50 78 72 +9 3 0 51 79 71 +9 3 0 52 78 71 +9 3 0 53 79 70 +9 3 0 54 78 70 +9 3 0 55 79 69 +9 3 0 56 -1 -1 +9 3 0 57 78 69 +9 3 0 58 79 68 +9 3 0 59 78 68 +9 3 0 60 79 67 +9 3 0 61 78 67 +9 3 0 62 79 66 +9 3 0 63 78 66 +9 3 0 64 79 65 +9 3 0 65 78 65 +9 3 0 66 79 64 +9 3 0 67 78 64 +9 3 1 0 79 127 +9 3 1 1 78 127 +9 3 1 2 79 126 +9 3 1 3 78 126 +9 3 1 4 79 125 +9 3 1 5 78 125 +9 3 1 6 79 124 +9 3 1 7 78 124 +9 3 1 8 79 123 +9 3 1 9 78 123 +9 3 1 10 79 122 +9 3 1 11 -1 -1 +9 3 1 12 78 122 +9 3 1 13 79 121 +9 3 1 14 78 121 +9 3 1 15 79 120 +9 3 1 16 78 120 +9 3 1 17 79 119 +9 3 1 18 78 119 +9 3 1 19 79 118 +9 3 1 20 78 118 +9 3 1 21 79 117 +9 3 1 22 -1 -1 +9 3 1 23 78 117 +9 3 1 24 79 116 +9 3 1 25 78 116 +9 3 1 26 79 115 +9 3 1 27 78 115 +9 3 1 28 79 114 +9 3 1 29 78 114 +9 3 1 30 79 113 +9 3 1 31 78 113 +9 3 1 32 79 112 +9 3 1 33 78 112 +9 3 1 34 79 111 +9 3 1 35 78 111 +9 3 1 36 79 110 +9 3 1 37 78 110 +9 3 1 38 79 109 +9 3 1 39 78 109 +9 3 1 40 79 108 +9 3 1 41 78 108 +9 3 1 42 79 107 +9 3 1 43 78 107 +9 3 1 44 79 106 +9 3 1 45 -1 -1 +9 3 1 46 78 106 +9 3 1 47 79 105 +9 3 1 48 78 105 +9 3 1 49 79 104 +9 3 1 50 78 104 +9 3 1 51 79 103 +9 3 1 52 78 103 +9 3 1 53 79 102 +9 3 1 54 78 102 +9 3 1 55 79 101 +9 3 1 56 -1 -1 +9 3 1 57 78 101 +9 3 1 58 79 100 +9 3 1 59 78 100 +9 3 1 60 79 99 +9 3 1 61 78 99 +9 3 1 62 79 98 +9 3 1 63 78 98 +9 3 1 64 79 97 +9 3 1 65 78 97 +9 3 1 66 79 96 +9 3 1 67 78 96 +9 3 2 0 77 95 +9 3 2 1 76 95 +9 3 2 2 77 94 +9 3 2 3 76 94 +9 3 2 4 77 93 +9 3 2 5 76 93 +9 3 2 6 77 92 +9 3 2 7 76 92 +9 3 2 8 77 91 +9 3 2 9 76 91 +9 3 2 10 77 90 +9 3 2 11 -1 -1 +9 3 2 12 76 90 +9 3 2 13 77 89 +9 3 2 14 76 89 +9 3 2 15 77 88 +9 3 2 16 76 88 +9 3 2 17 77 87 +9 3 2 18 76 87 +9 3 2 19 77 86 +9 3 2 20 76 86 +9 3 2 21 77 85 +9 3 2 22 -1 -1 +9 3 2 23 76 85 +9 3 2 24 77 84 +9 3 2 25 76 84 +9 3 2 26 77 83 +9 3 2 27 76 83 +9 3 2 28 77 82 +9 3 2 29 76 82 +9 3 2 30 77 81 +9 3 2 31 76 81 +9 3 2 32 77 80 +9 3 2 33 76 80 +9 3 2 34 77 79 +9 3 2 35 76 79 +9 3 2 36 77 78 +9 3 2 37 76 78 +9 3 2 38 77 77 +9 3 2 39 76 77 +9 3 2 40 77 76 +9 3 2 41 76 76 +9 3 2 42 77 75 +9 3 2 43 76 75 +9 3 2 44 77 74 +9 3 2 45 -1 -1 +9 3 2 46 76 74 +9 3 2 47 77 73 +9 3 2 48 76 73 +9 3 2 49 77 72 +9 3 2 50 76 72 +9 3 2 51 77 71 +9 3 2 52 76 71 +9 3 2 53 77 70 +9 3 2 54 76 70 +9 3 2 55 77 69 +9 3 2 56 -1 -1 +9 3 2 57 76 69 +9 3 2 58 77 68 +9 3 2 59 76 68 +9 3 2 60 77 67 +9 3 2 61 76 67 +9 3 2 62 77 66 +9 3 2 63 76 66 +9 3 2 64 77 65 +9 3 2 65 76 65 +9 3 2 66 77 64 +9 3 2 67 76 64 +9 3 3 0 77 127 +9 3 3 1 76 127 +9 3 3 2 77 126 +9 3 3 3 76 126 +9 3 3 4 77 125 +9 3 3 5 76 125 +9 3 3 6 77 124 +9 3 3 7 76 124 +9 3 3 8 77 123 +9 3 3 9 76 123 +9 3 3 10 77 122 +9 3 3 11 -1 -1 +9 3 3 12 76 122 +9 3 3 13 77 121 +9 3 3 14 76 121 +9 3 3 15 77 120 +9 3 3 16 76 120 +9 3 3 17 77 119 +9 3 3 18 76 119 +9 3 3 19 77 118 +9 3 3 20 76 118 +9 3 3 21 77 117 +9 3 3 22 -1 -1 +9 3 3 23 76 117 +9 3 3 24 77 116 +9 3 3 25 76 116 +9 3 3 26 77 115 +9 3 3 27 76 115 +9 3 3 28 77 114 +9 3 3 29 76 114 +9 3 3 30 77 113 +9 3 3 31 76 113 +9 3 3 32 77 112 +9 3 3 33 76 112 +9 3 3 34 77 111 +9 3 3 35 76 111 +9 3 3 36 77 110 +9 3 3 37 76 110 +9 3 3 38 77 109 +9 3 3 39 76 109 +9 3 3 40 77 108 +9 3 3 41 76 108 +9 3 3 42 77 107 +9 3 3 43 76 107 +9 3 3 44 77 106 +9 3 3 45 -1 -1 +9 3 3 46 76 106 +9 3 3 47 77 105 +9 3 3 48 76 105 +9 3 3 49 77 104 +9 3 3 50 76 104 +9 3 3 51 77 103 +9 3 3 52 76 103 +9 3 3 53 77 102 +9 3 3 54 76 102 +9 3 3 55 77 101 +9 3 3 56 -1 -1 +9 3 3 57 76 101 +9 3 3 58 77 100 +9 3 3 59 76 100 +9 3 3 60 77 99 +9 3 3 61 76 99 +9 3 3 62 77 98 +9 3 3 63 76 98 +9 3 3 64 77 97 +9 3 3 65 76 97 +9 3 3 66 77 96 +9 3 3 67 76 96 +10 0 0 0 80 32 +10 0 0 1 81 32 +10 0 0 2 80 33 +10 0 0 3 81 33 +10 0 0 4 80 34 +10 0 0 5 81 34 +10 0 0 6 80 35 +10 0 0 7 81 35 +10 0 0 8 80 36 +10 0 0 9 81 36 +10 0 0 10 80 37 +10 0 0 11 -1 -1 +10 0 0 12 81 37 +10 0 0 13 80 38 +10 0 0 14 81 38 +10 0 0 15 80 39 +10 0 0 16 81 39 +10 0 0 17 80 40 +10 0 0 18 81 40 +10 0 0 19 80 41 +10 0 0 20 81 41 +10 0 0 21 80 42 +10 0 0 22 -1 -1 +10 0 0 23 81 42 +10 0 0 24 80 43 +10 0 0 25 81 43 +10 0 0 26 80 44 +10 0 0 27 81 44 +10 0 0 28 80 45 +10 0 0 29 81 45 +10 0 0 30 80 46 +10 0 0 31 81 46 +10 0 0 32 80 47 +10 0 0 33 81 47 +10 0 0 34 80 48 +10 0 0 35 81 48 +10 0 0 36 80 49 +10 0 0 37 81 49 +10 0 0 38 80 50 +10 0 0 39 81 50 +10 0 0 40 80 51 +10 0 0 41 81 51 +10 0 0 42 80 52 +10 0 0 43 81 52 +10 0 0 44 80 53 +10 0 0 45 -1 -1 +10 0 0 46 81 53 +10 0 0 47 80 54 +10 0 0 48 81 54 +10 0 0 49 80 55 +10 0 0 50 81 55 +10 0 0 51 80 56 +10 0 0 52 81 56 +10 0 0 53 80 57 +10 0 0 54 81 57 +10 0 0 55 80 58 +10 0 0 56 -1 -1 +10 0 0 57 81 58 +10 0 0 58 80 59 +10 0 0 59 81 59 +10 0 0 60 80 60 +10 0 0 61 81 60 +10 0 0 62 80 61 +10 0 0 63 81 61 +10 0 0 64 80 62 +10 0 0 65 81 62 +10 0 0 66 80 63 +10 0 0 67 81 63 +10 0 1 0 80 0 +10 0 1 1 81 0 +10 0 1 2 80 1 +10 0 1 3 81 1 +10 0 1 4 80 2 +10 0 1 5 81 2 +10 0 1 6 80 3 +10 0 1 7 81 3 +10 0 1 8 80 4 +10 0 1 9 81 4 +10 0 1 10 80 5 +10 0 1 11 -1 -1 +10 0 1 12 81 5 +10 0 1 13 80 6 +10 0 1 14 81 6 +10 0 1 15 80 7 +10 0 1 16 81 7 +10 0 1 17 80 8 +10 0 1 18 81 8 +10 0 1 19 80 9 +10 0 1 20 81 9 +10 0 1 21 80 10 +10 0 1 22 -1 -1 +10 0 1 23 81 10 +10 0 1 24 80 11 +10 0 1 25 81 11 +10 0 1 26 80 12 +10 0 1 27 81 12 +10 0 1 28 80 13 +10 0 1 29 81 13 +10 0 1 30 80 14 +10 0 1 31 81 14 +10 0 1 32 80 15 +10 0 1 33 81 15 +10 0 1 34 80 16 +10 0 1 35 81 16 +10 0 1 36 80 17 +10 0 1 37 81 17 +10 0 1 38 80 18 +10 0 1 39 81 18 +10 0 1 40 80 19 +10 0 1 41 81 19 +10 0 1 42 80 20 +10 0 1 43 81 20 +10 0 1 44 80 21 +10 0 1 45 -1 -1 +10 0 1 46 81 21 +10 0 1 47 80 22 +10 0 1 48 81 22 +10 0 1 49 80 23 +10 0 1 50 81 23 +10 0 1 51 80 24 +10 0 1 52 81 24 +10 0 1 53 80 25 +10 0 1 54 81 25 +10 0 1 55 80 26 +10 0 1 56 -1 -1 +10 0 1 57 81 26 +10 0 1 58 80 27 +10 0 1 59 81 27 +10 0 1 60 80 28 +10 0 1 61 81 28 +10 0 1 62 80 29 +10 0 1 63 81 29 +10 0 1 64 80 30 +10 0 1 65 81 30 +10 0 1 66 80 31 +10 0 1 67 81 31 +10 0 2 0 82 32 +10 0 2 1 83 32 +10 0 2 2 82 33 +10 0 2 3 83 33 +10 0 2 4 82 34 +10 0 2 5 83 34 +10 0 2 6 82 35 +10 0 2 7 83 35 +10 0 2 8 82 36 +10 0 2 9 83 36 +10 0 2 10 82 37 +10 0 2 11 -1 -1 +10 0 2 12 83 37 +10 0 2 13 82 38 +10 0 2 14 83 38 +10 0 2 15 82 39 +10 0 2 16 83 39 +10 0 2 17 82 40 +10 0 2 18 83 40 +10 0 2 19 82 41 +10 0 2 20 83 41 +10 0 2 21 82 42 +10 0 2 22 -1 -1 +10 0 2 23 83 42 +10 0 2 24 82 43 +10 0 2 25 83 43 +10 0 2 26 82 44 +10 0 2 27 83 44 +10 0 2 28 82 45 +10 0 2 29 83 45 +10 0 2 30 82 46 +10 0 2 31 83 46 +10 0 2 32 82 47 +10 0 2 33 83 47 +10 0 2 34 82 48 +10 0 2 35 83 48 +10 0 2 36 82 49 +10 0 2 37 83 49 +10 0 2 38 82 50 +10 0 2 39 83 50 +10 0 2 40 82 51 +10 0 2 41 83 51 +10 0 2 42 82 52 +10 0 2 43 83 52 +10 0 2 44 82 53 +10 0 2 45 -1 -1 +10 0 2 46 83 53 +10 0 2 47 82 54 +10 0 2 48 83 54 +10 0 2 49 82 55 +10 0 2 50 83 55 +10 0 2 51 82 56 +10 0 2 52 83 56 +10 0 2 53 82 57 +10 0 2 54 83 57 +10 0 2 55 82 58 +10 0 2 56 -1 -1 +10 0 2 57 83 58 +10 0 2 58 82 59 +10 0 2 59 83 59 +10 0 2 60 82 60 +10 0 2 61 83 60 +10 0 2 62 82 61 +10 0 2 63 83 61 +10 0 2 64 82 62 +10 0 2 65 83 62 +10 0 2 66 82 63 +10 0 2 67 83 63 +10 0 3 0 82 0 +10 0 3 1 83 0 +10 0 3 2 82 1 +10 0 3 3 83 1 +10 0 3 4 82 2 +10 0 3 5 83 2 +10 0 3 6 82 3 +10 0 3 7 83 3 +10 0 3 8 82 4 +10 0 3 9 83 4 +10 0 3 10 82 5 +10 0 3 11 -1 -1 +10 0 3 12 83 5 +10 0 3 13 82 6 +10 0 3 14 83 6 +10 0 3 15 82 7 +10 0 3 16 83 7 +10 0 3 17 82 8 +10 0 3 18 83 8 +10 0 3 19 82 9 +10 0 3 20 83 9 +10 0 3 21 82 10 +10 0 3 22 -1 -1 +10 0 3 23 83 10 +10 0 3 24 82 11 +10 0 3 25 83 11 +10 0 3 26 82 12 +10 0 3 27 83 12 +10 0 3 28 82 13 +10 0 3 29 83 13 +10 0 3 30 82 14 +10 0 3 31 83 14 +10 0 3 32 82 15 +10 0 3 33 83 15 +10 0 3 34 82 16 +10 0 3 35 83 16 +10 0 3 36 82 17 +10 0 3 37 83 17 +10 0 3 38 82 18 +10 0 3 39 83 18 +10 0 3 40 82 19 +10 0 3 41 83 19 +10 0 3 42 82 20 +10 0 3 43 83 20 +10 0 3 44 82 21 +10 0 3 45 -1 -1 +10 0 3 46 83 21 +10 0 3 47 82 22 +10 0 3 48 83 22 +10 0 3 49 82 23 +10 0 3 50 83 23 +10 0 3 51 82 24 +10 0 3 52 83 24 +10 0 3 53 82 25 +10 0 3 54 83 25 +10 0 3 55 82 26 +10 0 3 56 -1 -1 +10 0 3 57 83 26 +10 0 3 58 82 27 +10 0 3 59 83 27 +10 0 3 60 82 28 +10 0 3 61 83 28 +10 0 3 62 82 29 +10 0 3 63 83 29 +10 0 3 64 82 30 +10 0 3 65 83 30 +10 0 3 66 82 31 +10 0 3 67 83 31 +10 1 0 0 83 95 +10 1 0 1 82 95 +10 1 0 2 83 94 +10 1 0 3 82 94 +10 1 0 4 83 93 +10 1 0 5 82 93 +10 1 0 6 83 92 +10 1 0 7 82 92 +10 1 0 8 83 91 +10 1 0 9 82 91 +10 1 0 10 83 90 +10 1 0 11 -1 -1 +10 1 0 12 82 90 +10 1 0 13 83 89 +10 1 0 14 82 89 +10 1 0 15 83 88 +10 1 0 16 82 88 +10 1 0 17 83 87 +10 1 0 18 82 87 +10 1 0 19 83 86 +10 1 0 20 82 86 +10 1 0 21 83 85 +10 1 0 22 -1 -1 +10 1 0 23 82 85 +10 1 0 24 83 84 +10 1 0 25 82 84 +10 1 0 26 83 83 +10 1 0 27 82 83 +10 1 0 28 83 82 +10 1 0 29 82 82 +10 1 0 30 83 81 +10 1 0 31 82 81 +10 1 0 32 83 80 +10 1 0 33 82 80 +10 1 0 34 83 79 +10 1 0 35 82 79 +10 1 0 36 83 78 +10 1 0 37 82 78 +10 1 0 38 83 77 +10 1 0 39 82 77 +10 1 0 40 83 76 +10 1 0 41 82 76 +10 1 0 42 83 75 +10 1 0 43 82 75 +10 1 0 44 83 74 +10 1 0 45 -1 -1 +10 1 0 46 82 74 +10 1 0 47 83 73 +10 1 0 48 82 73 +10 1 0 49 83 72 +10 1 0 50 82 72 +10 1 0 51 83 71 +10 1 0 52 82 71 +10 1 0 53 83 70 +10 1 0 54 82 70 +10 1 0 55 83 69 +10 1 0 56 -1 -1 +10 1 0 57 82 69 +10 1 0 58 83 68 +10 1 0 59 82 68 +10 1 0 60 83 67 +10 1 0 61 82 67 +10 1 0 62 83 66 +10 1 0 63 82 66 +10 1 0 64 83 65 +10 1 0 65 82 65 +10 1 0 66 83 64 +10 1 0 67 82 64 +10 1 1 0 83 127 +10 1 1 1 82 127 +10 1 1 2 83 126 +10 1 1 3 82 126 +10 1 1 4 83 125 +10 1 1 5 82 125 +10 1 1 6 83 124 +10 1 1 7 82 124 +10 1 1 8 83 123 +10 1 1 9 82 123 +10 1 1 10 83 122 +10 1 1 11 -1 -1 +10 1 1 12 82 122 +10 1 1 13 83 121 +10 1 1 14 82 121 +10 1 1 15 83 120 +10 1 1 16 82 120 +10 1 1 17 83 119 +10 1 1 18 82 119 +10 1 1 19 83 118 +10 1 1 20 82 118 +10 1 1 21 83 117 +10 1 1 22 -1 -1 +10 1 1 23 82 117 +10 1 1 24 83 116 +10 1 1 25 82 116 +10 1 1 26 83 115 +10 1 1 27 82 115 +10 1 1 28 83 114 +10 1 1 29 82 114 +10 1 1 30 83 113 +10 1 1 31 82 113 +10 1 1 32 83 112 +10 1 1 33 82 112 +10 1 1 34 83 111 +10 1 1 35 82 111 +10 1 1 36 83 110 +10 1 1 37 82 110 +10 1 1 38 83 109 +10 1 1 39 82 109 +10 1 1 40 83 108 +10 1 1 41 82 108 +10 1 1 42 83 107 +10 1 1 43 82 107 +10 1 1 44 83 106 +10 1 1 45 -1 -1 +10 1 1 46 82 106 +10 1 1 47 83 105 +10 1 1 48 82 105 +10 1 1 49 83 104 +10 1 1 50 82 104 +10 1 1 51 83 103 +10 1 1 52 82 103 +10 1 1 53 83 102 +10 1 1 54 82 102 +10 1 1 55 83 101 +10 1 1 56 -1 -1 +10 1 1 57 82 101 +10 1 1 58 83 100 +10 1 1 59 82 100 +10 1 1 60 83 99 +10 1 1 61 82 99 +10 1 1 62 83 98 +10 1 1 63 82 98 +10 1 1 64 83 97 +10 1 1 65 82 97 +10 1 1 66 83 96 +10 1 1 67 82 96 +10 1 2 0 81 95 +10 1 2 1 80 95 +10 1 2 2 81 94 +10 1 2 3 80 94 +10 1 2 4 81 93 +10 1 2 5 80 93 +10 1 2 6 81 92 +10 1 2 7 80 92 +10 1 2 8 81 91 +10 1 2 9 80 91 +10 1 2 10 81 90 +10 1 2 11 -1 -1 +10 1 2 12 80 90 +10 1 2 13 81 89 +10 1 2 14 80 89 +10 1 2 15 81 88 +10 1 2 16 80 88 +10 1 2 17 81 87 +10 1 2 18 80 87 +10 1 2 19 81 86 +10 1 2 20 80 86 +10 1 2 21 81 85 +10 1 2 22 -1 -1 +10 1 2 23 80 85 +10 1 2 24 81 84 +10 1 2 25 80 84 +10 1 2 26 81 83 +10 1 2 27 80 83 +10 1 2 28 81 82 +10 1 2 29 80 82 +10 1 2 30 81 81 +10 1 2 31 80 81 +10 1 2 32 81 80 +10 1 2 33 80 80 +10 1 2 34 81 79 +10 1 2 35 80 79 +10 1 2 36 81 78 +10 1 2 37 80 78 +10 1 2 38 81 77 +10 1 2 39 80 77 +10 1 2 40 81 76 +10 1 2 41 80 76 +10 1 2 42 81 75 +10 1 2 43 80 75 +10 1 2 44 81 74 +10 1 2 45 -1 -1 +10 1 2 46 80 74 +10 1 2 47 81 73 +10 1 2 48 80 73 +10 1 2 49 81 72 +10 1 2 50 80 72 +10 1 2 51 81 71 +10 1 2 52 80 71 +10 1 2 53 81 70 +10 1 2 54 80 70 +10 1 2 55 81 69 +10 1 2 56 -1 -1 +10 1 2 57 80 69 +10 1 2 58 81 68 +10 1 2 59 80 68 +10 1 2 60 81 67 +10 1 2 61 80 67 +10 1 2 62 81 66 +10 1 2 63 80 66 +10 1 2 64 81 65 +10 1 2 65 80 65 +10 1 2 66 81 64 +10 1 2 67 80 64 +10 1 3 0 81 127 +10 1 3 1 80 127 +10 1 3 2 81 126 +10 1 3 3 80 126 +10 1 3 4 81 125 +10 1 3 5 80 125 +10 1 3 6 81 124 +10 1 3 7 80 124 +10 1 3 8 81 123 +10 1 3 9 80 123 +10 1 3 10 81 122 +10 1 3 11 -1 -1 +10 1 3 12 80 122 +10 1 3 13 81 121 +10 1 3 14 80 121 +10 1 3 15 81 120 +10 1 3 16 80 120 +10 1 3 17 81 119 +10 1 3 18 80 119 +10 1 3 19 81 118 +10 1 3 20 80 118 +10 1 3 21 81 117 +10 1 3 22 -1 -1 +10 1 3 23 80 117 +10 1 3 24 81 116 +10 1 3 25 80 116 +10 1 3 26 81 115 +10 1 3 27 80 115 +10 1 3 28 81 114 +10 1 3 29 80 114 +10 1 3 30 81 113 +10 1 3 31 80 113 +10 1 3 32 81 112 +10 1 3 33 80 112 +10 1 3 34 81 111 +10 1 3 35 80 111 +10 1 3 36 81 110 +10 1 3 37 80 110 +10 1 3 38 81 109 +10 1 3 39 80 109 +10 1 3 40 81 108 +10 1 3 41 80 108 +10 1 3 42 81 107 +10 1 3 43 80 107 +10 1 3 44 81 106 +10 1 3 45 -1 -1 +10 1 3 46 80 106 +10 1 3 47 81 105 +10 1 3 48 80 105 +10 1 3 49 81 104 +10 1 3 50 80 104 +10 1 3 51 81 103 +10 1 3 52 80 103 +10 1 3 53 81 102 +10 1 3 54 80 102 +10 1 3 55 81 101 +10 1 3 56 -1 -1 +10 1 3 57 80 101 +10 1 3 58 81 100 +10 1 3 59 80 100 +10 1 3 60 81 99 +10 1 3 61 80 99 +10 1 3 62 81 98 +10 1 3 63 80 98 +10 1 3 64 81 97 +10 1 3 65 80 97 +10 1 3 66 81 96 +10 1 3 67 80 96 +10 2 0 0 84 32 +10 2 0 1 85 32 +10 2 0 2 84 33 +10 2 0 3 85 33 +10 2 0 4 84 34 +10 2 0 5 85 34 +10 2 0 6 84 35 +10 2 0 7 85 35 +10 2 0 8 84 36 +10 2 0 9 85 36 +10 2 0 10 84 37 +10 2 0 11 -1 -1 +10 2 0 12 85 37 +10 2 0 13 84 38 +10 2 0 14 85 38 +10 2 0 15 84 39 +10 2 0 16 85 39 +10 2 0 17 84 40 +10 2 0 18 85 40 +10 2 0 19 84 41 +10 2 0 20 85 41 +10 2 0 21 84 42 +10 2 0 22 -1 -1 +10 2 0 23 85 42 +10 2 0 24 84 43 +10 2 0 25 85 43 +10 2 0 26 84 44 +10 2 0 27 85 44 +10 2 0 28 84 45 +10 2 0 29 85 45 +10 2 0 30 84 46 +10 2 0 31 85 46 +10 2 0 32 84 47 +10 2 0 33 85 47 +10 2 0 34 84 48 +10 2 0 35 85 48 +10 2 0 36 84 49 +10 2 0 37 85 49 +10 2 0 38 84 50 +10 2 0 39 85 50 +10 2 0 40 84 51 +10 2 0 41 85 51 +10 2 0 42 84 52 +10 2 0 43 85 52 +10 2 0 44 84 53 +10 2 0 45 -1 -1 +10 2 0 46 85 53 +10 2 0 47 84 54 +10 2 0 48 85 54 +10 2 0 49 84 55 +10 2 0 50 85 55 +10 2 0 51 84 56 +10 2 0 52 85 56 +10 2 0 53 84 57 +10 2 0 54 85 57 +10 2 0 55 84 58 +10 2 0 56 -1 -1 +10 2 0 57 85 58 +10 2 0 58 84 59 +10 2 0 59 85 59 +10 2 0 60 84 60 +10 2 0 61 85 60 +10 2 0 62 84 61 +10 2 0 63 85 61 +10 2 0 64 84 62 +10 2 0 65 85 62 +10 2 0 66 84 63 +10 2 0 67 85 63 +10 2 1 0 84 0 +10 2 1 1 85 0 +10 2 1 2 84 1 +10 2 1 3 85 1 +10 2 1 4 84 2 +10 2 1 5 85 2 +10 2 1 6 84 3 +10 2 1 7 85 3 +10 2 1 8 84 4 +10 2 1 9 85 4 +10 2 1 10 84 5 +10 2 1 11 -1 -1 +10 2 1 12 85 5 +10 2 1 13 84 6 +10 2 1 14 85 6 +10 2 1 15 84 7 +10 2 1 16 85 7 +10 2 1 17 84 8 +10 2 1 18 85 8 +10 2 1 19 84 9 +10 2 1 20 85 9 +10 2 1 21 84 10 +10 2 1 22 -1 -1 +10 2 1 23 85 10 +10 2 1 24 84 11 +10 2 1 25 85 11 +10 2 1 26 84 12 +10 2 1 27 85 12 +10 2 1 28 84 13 +10 2 1 29 85 13 +10 2 1 30 84 14 +10 2 1 31 85 14 +10 2 1 32 84 15 +10 2 1 33 85 15 +10 2 1 34 84 16 +10 2 1 35 85 16 +10 2 1 36 84 17 +10 2 1 37 85 17 +10 2 1 38 84 18 +10 2 1 39 85 18 +10 2 1 40 84 19 +10 2 1 41 85 19 +10 2 1 42 84 20 +10 2 1 43 85 20 +10 2 1 44 84 21 +10 2 1 45 -1 -1 +10 2 1 46 85 21 +10 2 1 47 84 22 +10 2 1 48 85 22 +10 2 1 49 84 23 +10 2 1 50 85 23 +10 2 1 51 84 24 +10 2 1 52 85 24 +10 2 1 53 84 25 +10 2 1 54 85 25 +10 2 1 55 84 26 +10 2 1 56 -1 -1 +10 2 1 57 85 26 +10 2 1 58 84 27 +10 2 1 59 85 27 +10 2 1 60 84 28 +10 2 1 61 85 28 +10 2 1 62 84 29 +10 2 1 63 85 29 +10 2 1 64 84 30 +10 2 1 65 85 30 +10 2 1 66 84 31 +10 2 1 67 85 31 +10 2 2 0 86 32 +10 2 2 1 87 32 +10 2 2 2 86 33 +10 2 2 3 87 33 +10 2 2 4 86 34 +10 2 2 5 87 34 +10 2 2 6 86 35 +10 2 2 7 87 35 +10 2 2 8 86 36 +10 2 2 9 87 36 +10 2 2 10 86 37 +10 2 2 11 -1 -1 +10 2 2 12 87 37 +10 2 2 13 86 38 +10 2 2 14 87 38 +10 2 2 15 86 39 +10 2 2 16 87 39 +10 2 2 17 86 40 +10 2 2 18 87 40 +10 2 2 19 86 41 +10 2 2 20 87 41 +10 2 2 21 86 42 +10 2 2 22 -1 -1 +10 2 2 23 87 42 +10 2 2 24 86 43 +10 2 2 25 87 43 +10 2 2 26 86 44 +10 2 2 27 87 44 +10 2 2 28 86 45 +10 2 2 29 87 45 +10 2 2 30 86 46 +10 2 2 31 87 46 +10 2 2 32 86 47 +10 2 2 33 87 47 +10 2 2 34 86 48 +10 2 2 35 87 48 +10 2 2 36 86 49 +10 2 2 37 87 49 +10 2 2 38 86 50 +10 2 2 39 87 50 +10 2 2 40 86 51 +10 2 2 41 87 51 +10 2 2 42 86 52 +10 2 2 43 87 52 +10 2 2 44 86 53 +10 2 2 45 -1 -1 +10 2 2 46 87 53 +10 2 2 47 86 54 +10 2 2 48 87 54 +10 2 2 49 86 55 +10 2 2 50 87 55 +10 2 2 51 86 56 +10 2 2 52 87 56 +10 2 2 53 86 57 +10 2 2 54 87 57 +10 2 2 55 86 58 +10 2 2 56 -1 -1 +10 2 2 57 87 58 +10 2 2 58 86 59 +10 2 2 59 87 59 +10 2 2 60 86 60 +10 2 2 61 87 60 +10 2 2 62 86 61 +10 2 2 63 87 61 +10 2 2 64 86 62 +10 2 2 65 87 62 +10 2 2 66 86 63 +10 2 2 67 87 63 +10 2 3 0 86 0 +10 2 3 1 87 0 +10 2 3 2 86 1 +10 2 3 3 87 1 +10 2 3 4 86 2 +10 2 3 5 87 2 +10 2 3 6 86 3 +10 2 3 7 87 3 +10 2 3 8 86 4 +10 2 3 9 87 4 +10 2 3 10 86 5 +10 2 3 11 -1 -1 +10 2 3 12 87 5 +10 2 3 13 86 6 +10 2 3 14 87 6 +10 2 3 15 86 7 +10 2 3 16 87 7 +10 2 3 17 86 8 +10 2 3 18 87 8 +10 2 3 19 86 9 +10 2 3 20 87 9 +10 2 3 21 86 10 +10 2 3 22 -1 -1 +10 2 3 23 87 10 +10 2 3 24 86 11 +10 2 3 25 87 11 +10 2 3 26 86 12 +10 2 3 27 87 12 +10 2 3 28 86 13 +10 2 3 29 87 13 +10 2 3 30 86 14 +10 2 3 31 87 14 +10 2 3 32 86 15 +10 2 3 33 87 15 +10 2 3 34 86 16 +10 2 3 35 87 16 +10 2 3 36 86 17 +10 2 3 37 87 17 +10 2 3 38 86 18 +10 2 3 39 87 18 +10 2 3 40 86 19 +10 2 3 41 87 19 +10 2 3 42 86 20 +10 2 3 43 87 20 +10 2 3 44 86 21 +10 2 3 45 -1 -1 +10 2 3 46 87 21 +10 2 3 47 86 22 +10 2 3 48 87 22 +10 2 3 49 86 23 +10 2 3 50 87 23 +10 2 3 51 86 24 +10 2 3 52 87 24 +10 2 3 53 86 25 +10 2 3 54 87 25 +10 2 3 55 86 26 +10 2 3 56 -1 -1 +10 2 3 57 87 26 +10 2 3 58 86 27 +10 2 3 59 87 27 +10 2 3 60 86 28 +10 2 3 61 87 28 +10 2 3 62 86 29 +10 2 3 63 87 29 +10 2 3 64 86 30 +10 2 3 65 87 30 +10 2 3 66 86 31 +10 2 3 67 87 31 +10 3 0 0 87 95 +10 3 0 1 86 95 +10 3 0 2 87 94 +10 3 0 3 86 94 +10 3 0 4 87 93 +10 3 0 5 86 93 +10 3 0 6 87 92 +10 3 0 7 86 92 +10 3 0 8 87 91 +10 3 0 9 86 91 +10 3 0 10 87 90 +10 3 0 11 -1 -1 +10 3 0 12 86 90 +10 3 0 13 87 89 +10 3 0 14 86 89 +10 3 0 15 87 88 +10 3 0 16 86 88 +10 3 0 17 87 87 +10 3 0 18 86 87 +10 3 0 19 87 86 +10 3 0 20 86 86 +10 3 0 21 87 85 +10 3 0 22 -1 -1 +10 3 0 23 86 85 +10 3 0 24 87 84 +10 3 0 25 86 84 +10 3 0 26 87 83 +10 3 0 27 86 83 +10 3 0 28 87 82 +10 3 0 29 86 82 +10 3 0 30 87 81 +10 3 0 31 86 81 +10 3 0 32 87 80 +10 3 0 33 86 80 +10 3 0 34 87 79 +10 3 0 35 86 79 +10 3 0 36 87 78 +10 3 0 37 86 78 +10 3 0 38 87 77 +10 3 0 39 86 77 +10 3 0 40 87 76 +10 3 0 41 86 76 +10 3 0 42 87 75 +10 3 0 43 86 75 +10 3 0 44 87 74 +10 3 0 45 -1 -1 +10 3 0 46 86 74 +10 3 0 47 87 73 +10 3 0 48 86 73 +10 3 0 49 87 72 +10 3 0 50 86 72 +10 3 0 51 87 71 +10 3 0 52 86 71 +10 3 0 53 87 70 +10 3 0 54 86 70 +10 3 0 55 87 69 +10 3 0 56 -1 -1 +10 3 0 57 86 69 +10 3 0 58 87 68 +10 3 0 59 86 68 +10 3 0 60 87 67 +10 3 0 61 86 67 +10 3 0 62 87 66 +10 3 0 63 86 66 +10 3 0 64 87 65 +10 3 0 65 86 65 +10 3 0 66 87 64 +10 3 0 67 86 64 +10 3 1 0 87 127 +10 3 1 1 86 127 +10 3 1 2 87 126 +10 3 1 3 86 126 +10 3 1 4 87 125 +10 3 1 5 86 125 +10 3 1 6 87 124 +10 3 1 7 86 124 +10 3 1 8 87 123 +10 3 1 9 86 123 +10 3 1 10 87 122 +10 3 1 11 -1 -1 +10 3 1 12 86 122 +10 3 1 13 87 121 +10 3 1 14 86 121 +10 3 1 15 87 120 +10 3 1 16 86 120 +10 3 1 17 87 119 +10 3 1 18 86 119 +10 3 1 19 87 118 +10 3 1 20 86 118 +10 3 1 21 87 117 +10 3 1 22 -1 -1 +10 3 1 23 86 117 +10 3 1 24 87 116 +10 3 1 25 86 116 +10 3 1 26 87 115 +10 3 1 27 86 115 +10 3 1 28 87 114 +10 3 1 29 86 114 +10 3 1 30 87 113 +10 3 1 31 86 113 +10 3 1 32 87 112 +10 3 1 33 86 112 +10 3 1 34 87 111 +10 3 1 35 86 111 +10 3 1 36 87 110 +10 3 1 37 86 110 +10 3 1 38 87 109 +10 3 1 39 86 109 +10 3 1 40 87 108 +10 3 1 41 86 108 +10 3 1 42 87 107 +10 3 1 43 86 107 +10 3 1 44 87 106 +10 3 1 45 -1 -1 +10 3 1 46 86 106 +10 3 1 47 87 105 +10 3 1 48 86 105 +10 3 1 49 87 104 +10 3 1 50 86 104 +10 3 1 51 87 103 +10 3 1 52 86 103 +10 3 1 53 87 102 +10 3 1 54 86 102 +10 3 1 55 87 101 +10 3 1 56 -1 -1 +10 3 1 57 86 101 +10 3 1 58 87 100 +10 3 1 59 86 100 +10 3 1 60 87 99 +10 3 1 61 86 99 +10 3 1 62 87 98 +10 3 1 63 86 98 +10 3 1 64 87 97 +10 3 1 65 86 97 +10 3 1 66 87 96 +10 3 1 67 86 96 +10 3 2 0 85 95 +10 3 2 1 84 95 +10 3 2 2 85 94 +10 3 2 3 84 94 +10 3 2 4 85 93 +10 3 2 5 84 93 +10 3 2 6 85 92 +10 3 2 7 84 92 +10 3 2 8 85 91 +10 3 2 9 84 91 +10 3 2 10 85 90 +10 3 2 11 -1 -1 +10 3 2 12 84 90 +10 3 2 13 85 89 +10 3 2 14 84 89 +10 3 2 15 85 88 +10 3 2 16 84 88 +10 3 2 17 85 87 +10 3 2 18 84 87 +10 3 2 19 85 86 +10 3 2 20 84 86 +10 3 2 21 85 85 +10 3 2 22 -1 -1 +10 3 2 23 84 85 +10 3 2 24 85 84 +10 3 2 25 84 84 +10 3 2 26 85 83 +10 3 2 27 84 83 +10 3 2 28 85 82 +10 3 2 29 84 82 +10 3 2 30 85 81 +10 3 2 31 84 81 +10 3 2 32 85 80 +10 3 2 33 84 80 +10 3 2 34 85 79 +10 3 2 35 84 79 +10 3 2 36 85 78 +10 3 2 37 84 78 +10 3 2 38 85 77 +10 3 2 39 84 77 +10 3 2 40 85 76 +10 3 2 41 84 76 +10 3 2 42 85 75 +10 3 2 43 84 75 +10 3 2 44 85 74 +10 3 2 45 -1 -1 +10 3 2 46 84 74 +10 3 2 47 85 73 +10 3 2 48 84 73 +10 3 2 49 85 72 +10 3 2 50 84 72 +10 3 2 51 85 71 +10 3 2 52 84 71 +10 3 2 53 85 70 +10 3 2 54 84 70 +10 3 2 55 85 69 +10 3 2 56 -1 -1 +10 3 2 57 84 69 +10 3 2 58 85 68 +10 3 2 59 84 68 +10 3 2 60 85 67 +10 3 2 61 84 67 +10 3 2 62 85 66 +10 3 2 63 84 66 +10 3 2 64 85 65 +10 3 2 65 84 65 +10 3 2 66 85 64 +10 3 2 67 84 64 +10 3 3 0 85 127 +10 3 3 1 84 127 +10 3 3 2 85 126 +10 3 3 3 84 126 +10 3 3 4 85 125 +10 3 3 5 84 125 +10 3 3 6 85 124 +10 3 3 7 84 124 +10 3 3 8 85 123 +10 3 3 9 84 123 +10 3 3 10 85 122 +10 3 3 11 -1 -1 +10 3 3 12 84 122 +10 3 3 13 85 121 +10 3 3 14 84 121 +10 3 3 15 85 120 +10 3 3 16 84 120 +10 3 3 17 85 119 +10 3 3 18 84 119 +10 3 3 19 85 118 +10 3 3 20 84 118 +10 3 3 21 85 117 +10 3 3 22 -1 -1 +10 3 3 23 84 117 +10 3 3 24 85 116 +10 3 3 25 84 116 +10 3 3 26 85 115 +10 3 3 27 84 115 +10 3 3 28 85 114 +10 3 3 29 84 114 +10 3 3 30 85 113 +10 3 3 31 84 113 +10 3 3 32 85 112 +10 3 3 33 84 112 +10 3 3 34 85 111 +10 3 3 35 84 111 +10 3 3 36 85 110 +10 3 3 37 84 110 +10 3 3 38 85 109 +10 3 3 39 84 109 +10 3 3 40 85 108 +10 3 3 41 84 108 +10 3 3 42 85 107 +10 3 3 43 84 107 +10 3 3 44 85 106 +10 3 3 45 -1 -1 +10 3 3 46 84 106 +10 3 3 47 85 105 +10 3 3 48 84 105 +10 3 3 49 85 104 +10 3 3 50 84 104 +10 3 3 51 85 103 +10 3 3 52 84 103 +10 3 3 53 85 102 +10 3 3 54 84 102 +10 3 3 55 85 101 +10 3 3 56 -1 -1 +10 3 3 57 84 101 +10 3 3 58 85 100 +10 3 3 59 84 100 +10 3 3 60 85 99 +10 3 3 61 84 99 +10 3 3 62 85 98 +10 3 3 63 84 98 +10 3 3 64 85 97 +10 3 3 65 84 97 +10 3 3 66 85 96 +10 3 3 67 84 96 +11 0 0 0 88 32 +11 0 0 1 89 32 +11 0 0 2 88 33 +11 0 0 3 89 33 +11 0 0 4 88 34 +11 0 0 5 89 34 +11 0 0 6 88 35 +11 0 0 7 89 35 +11 0 0 8 88 36 +11 0 0 9 89 36 +11 0 0 10 88 37 +11 0 0 11 -1 -1 +11 0 0 12 89 37 +11 0 0 13 88 38 +11 0 0 14 89 38 +11 0 0 15 88 39 +11 0 0 16 89 39 +11 0 0 17 88 40 +11 0 0 18 89 40 +11 0 0 19 88 41 +11 0 0 20 89 41 +11 0 0 21 88 42 +11 0 0 22 -1 -1 +11 0 0 23 89 42 +11 0 0 24 88 43 +11 0 0 25 89 43 +11 0 0 26 88 44 +11 0 0 27 89 44 +11 0 0 28 88 45 +11 0 0 29 89 45 +11 0 0 30 88 46 +11 0 0 31 89 46 +11 0 0 32 88 47 +11 0 0 33 89 47 +11 0 0 34 88 48 +11 0 0 35 89 48 +11 0 0 36 88 49 +11 0 0 37 89 49 +11 0 0 38 88 50 +11 0 0 39 89 50 +11 0 0 40 88 51 +11 0 0 41 89 51 +11 0 0 42 88 52 +11 0 0 43 89 52 +11 0 0 44 88 53 +11 0 0 45 -1 -1 +11 0 0 46 89 53 +11 0 0 47 88 54 +11 0 0 48 89 54 +11 0 0 49 88 55 +11 0 0 50 89 55 +11 0 0 51 88 56 +11 0 0 52 89 56 +11 0 0 53 88 57 +11 0 0 54 89 57 +11 0 0 55 88 58 +11 0 0 56 -1 -1 +11 0 0 57 89 58 +11 0 0 58 88 59 +11 0 0 59 89 59 +11 0 0 60 88 60 +11 0 0 61 89 60 +11 0 0 62 88 61 +11 0 0 63 89 61 +11 0 0 64 88 62 +11 0 0 65 89 62 +11 0 0 66 88 63 +11 0 0 67 89 63 +11 0 1 0 88 0 +11 0 1 1 89 0 +11 0 1 2 88 1 +11 0 1 3 89 1 +11 0 1 4 88 2 +11 0 1 5 89 2 +11 0 1 6 88 3 +11 0 1 7 89 3 +11 0 1 8 88 4 +11 0 1 9 89 4 +11 0 1 10 88 5 +11 0 1 11 -1 -1 +11 0 1 12 89 5 +11 0 1 13 88 6 +11 0 1 14 89 6 +11 0 1 15 88 7 +11 0 1 16 89 7 +11 0 1 17 88 8 +11 0 1 18 89 8 +11 0 1 19 88 9 +11 0 1 20 89 9 +11 0 1 21 88 10 +11 0 1 22 -1 -1 +11 0 1 23 89 10 +11 0 1 24 88 11 +11 0 1 25 89 11 +11 0 1 26 88 12 +11 0 1 27 89 12 +11 0 1 28 88 13 +11 0 1 29 89 13 +11 0 1 30 88 14 +11 0 1 31 89 14 +11 0 1 32 88 15 +11 0 1 33 89 15 +11 0 1 34 88 16 +11 0 1 35 89 16 +11 0 1 36 88 17 +11 0 1 37 89 17 +11 0 1 38 88 18 +11 0 1 39 89 18 +11 0 1 40 88 19 +11 0 1 41 89 19 +11 0 1 42 88 20 +11 0 1 43 89 20 +11 0 1 44 88 21 +11 0 1 45 -1 -1 +11 0 1 46 89 21 +11 0 1 47 88 22 +11 0 1 48 89 22 +11 0 1 49 88 23 +11 0 1 50 89 23 +11 0 1 51 88 24 +11 0 1 52 89 24 +11 0 1 53 88 25 +11 0 1 54 89 25 +11 0 1 55 88 26 +11 0 1 56 -1 -1 +11 0 1 57 89 26 +11 0 1 58 88 27 +11 0 1 59 89 27 +11 0 1 60 88 28 +11 0 1 61 89 28 +11 0 1 62 88 29 +11 0 1 63 89 29 +11 0 1 64 88 30 +11 0 1 65 89 30 +11 0 1 66 88 31 +11 0 1 67 89 31 +11 0 2 0 90 32 +11 0 2 1 91 32 +11 0 2 2 90 33 +11 0 2 3 91 33 +11 0 2 4 90 34 +11 0 2 5 91 34 +11 0 2 6 90 35 +11 0 2 7 91 35 +11 0 2 8 90 36 +11 0 2 9 91 36 +11 0 2 10 90 37 +11 0 2 11 -1 -1 +11 0 2 12 91 37 +11 0 2 13 90 38 +11 0 2 14 91 38 +11 0 2 15 90 39 +11 0 2 16 91 39 +11 0 2 17 90 40 +11 0 2 18 91 40 +11 0 2 19 90 41 +11 0 2 20 91 41 +11 0 2 21 90 42 +11 0 2 22 -1 -1 +11 0 2 23 91 42 +11 0 2 24 90 43 +11 0 2 25 91 43 +11 0 2 26 90 44 +11 0 2 27 91 44 +11 0 2 28 90 45 +11 0 2 29 91 45 +11 0 2 30 90 46 +11 0 2 31 91 46 +11 0 2 32 90 47 +11 0 2 33 91 47 +11 0 2 34 90 48 +11 0 2 35 91 48 +11 0 2 36 90 49 +11 0 2 37 91 49 +11 0 2 38 90 50 +11 0 2 39 91 50 +11 0 2 40 90 51 +11 0 2 41 91 51 +11 0 2 42 90 52 +11 0 2 43 91 52 +11 0 2 44 90 53 +11 0 2 45 -1 -1 +11 0 2 46 91 53 +11 0 2 47 90 54 +11 0 2 48 91 54 +11 0 2 49 90 55 +11 0 2 50 91 55 +11 0 2 51 90 56 +11 0 2 52 91 56 +11 0 2 53 90 57 +11 0 2 54 91 57 +11 0 2 55 90 58 +11 0 2 56 -1 -1 +11 0 2 57 91 58 +11 0 2 58 90 59 +11 0 2 59 91 59 +11 0 2 60 90 60 +11 0 2 61 91 60 +11 0 2 62 90 61 +11 0 2 63 91 61 +11 0 2 64 90 62 +11 0 2 65 91 62 +11 0 2 66 90 63 +11 0 2 67 91 63 +11 0 3 0 90 0 +11 0 3 1 91 0 +11 0 3 2 90 1 +11 0 3 3 91 1 +11 0 3 4 90 2 +11 0 3 5 91 2 +11 0 3 6 90 3 +11 0 3 7 91 3 +11 0 3 8 90 4 +11 0 3 9 91 4 +11 0 3 10 90 5 +11 0 3 11 -1 -1 +11 0 3 12 91 5 +11 0 3 13 90 6 +11 0 3 14 91 6 +11 0 3 15 90 7 +11 0 3 16 91 7 +11 0 3 17 90 8 +11 0 3 18 91 8 +11 0 3 19 90 9 +11 0 3 20 91 9 +11 0 3 21 90 10 +11 0 3 22 -1 -1 +11 0 3 23 91 10 +11 0 3 24 90 11 +11 0 3 25 91 11 +11 0 3 26 90 12 +11 0 3 27 91 12 +11 0 3 28 90 13 +11 0 3 29 91 13 +11 0 3 30 90 14 +11 0 3 31 91 14 +11 0 3 32 90 15 +11 0 3 33 91 15 +11 0 3 34 90 16 +11 0 3 35 91 16 +11 0 3 36 90 17 +11 0 3 37 91 17 +11 0 3 38 90 18 +11 0 3 39 91 18 +11 0 3 40 90 19 +11 0 3 41 91 19 +11 0 3 42 90 20 +11 0 3 43 91 20 +11 0 3 44 90 21 +11 0 3 45 -1 -1 +11 0 3 46 91 21 +11 0 3 47 90 22 +11 0 3 48 91 22 +11 0 3 49 90 23 +11 0 3 50 91 23 +11 0 3 51 90 24 +11 0 3 52 91 24 +11 0 3 53 90 25 +11 0 3 54 91 25 +11 0 3 55 90 26 +11 0 3 56 -1 -1 +11 0 3 57 91 26 +11 0 3 58 90 27 +11 0 3 59 91 27 +11 0 3 60 90 28 +11 0 3 61 91 28 +11 0 3 62 90 29 +11 0 3 63 91 29 +11 0 3 64 90 30 +11 0 3 65 91 30 +11 0 3 66 90 31 +11 0 3 67 91 31 +11 1 0 0 91 95 +11 1 0 1 90 95 +11 1 0 2 91 94 +11 1 0 3 90 94 +11 1 0 4 91 93 +11 1 0 5 90 93 +11 1 0 6 91 92 +11 1 0 7 90 92 +11 1 0 8 91 91 +11 1 0 9 90 91 +11 1 0 10 91 90 +11 1 0 11 -1 -1 +11 1 0 12 90 90 +11 1 0 13 91 89 +11 1 0 14 90 89 +11 1 0 15 91 88 +11 1 0 16 90 88 +11 1 0 17 91 87 +11 1 0 18 90 87 +11 1 0 19 91 86 +11 1 0 20 90 86 +11 1 0 21 91 85 +11 1 0 22 -1 -1 +11 1 0 23 90 85 +11 1 0 24 91 84 +11 1 0 25 90 84 +11 1 0 26 91 83 +11 1 0 27 90 83 +11 1 0 28 91 82 +11 1 0 29 90 82 +11 1 0 30 91 81 +11 1 0 31 90 81 +11 1 0 32 91 80 +11 1 0 33 90 80 +11 1 0 34 91 79 +11 1 0 35 90 79 +11 1 0 36 91 78 +11 1 0 37 90 78 +11 1 0 38 91 77 +11 1 0 39 90 77 +11 1 0 40 91 76 +11 1 0 41 90 76 +11 1 0 42 91 75 +11 1 0 43 90 75 +11 1 0 44 91 74 +11 1 0 45 -1 -1 +11 1 0 46 90 74 +11 1 0 47 91 73 +11 1 0 48 90 73 +11 1 0 49 91 72 +11 1 0 50 90 72 +11 1 0 51 91 71 +11 1 0 52 90 71 +11 1 0 53 91 70 +11 1 0 54 90 70 +11 1 0 55 91 69 +11 1 0 56 -1 -1 +11 1 0 57 90 69 +11 1 0 58 91 68 +11 1 0 59 90 68 +11 1 0 60 91 67 +11 1 0 61 90 67 +11 1 0 62 91 66 +11 1 0 63 90 66 +11 1 0 64 91 65 +11 1 0 65 90 65 +11 1 0 66 91 64 +11 1 0 67 90 64 +11 1 1 0 91 127 +11 1 1 1 90 127 +11 1 1 2 91 126 +11 1 1 3 90 126 +11 1 1 4 91 125 +11 1 1 5 90 125 +11 1 1 6 91 124 +11 1 1 7 90 124 +11 1 1 8 91 123 +11 1 1 9 90 123 +11 1 1 10 91 122 +11 1 1 11 -1 -1 +11 1 1 12 90 122 +11 1 1 13 91 121 +11 1 1 14 90 121 +11 1 1 15 91 120 +11 1 1 16 90 120 +11 1 1 17 91 119 +11 1 1 18 90 119 +11 1 1 19 91 118 +11 1 1 20 90 118 +11 1 1 21 91 117 +11 1 1 22 -1 -1 +11 1 1 23 90 117 +11 1 1 24 91 116 +11 1 1 25 90 116 +11 1 1 26 91 115 +11 1 1 27 90 115 +11 1 1 28 91 114 +11 1 1 29 90 114 +11 1 1 30 91 113 +11 1 1 31 90 113 +11 1 1 32 91 112 +11 1 1 33 90 112 +11 1 1 34 91 111 +11 1 1 35 90 111 +11 1 1 36 91 110 +11 1 1 37 90 110 +11 1 1 38 91 109 +11 1 1 39 90 109 +11 1 1 40 91 108 +11 1 1 41 90 108 +11 1 1 42 91 107 +11 1 1 43 90 107 +11 1 1 44 91 106 +11 1 1 45 -1 -1 +11 1 1 46 90 106 +11 1 1 47 91 105 +11 1 1 48 90 105 +11 1 1 49 91 104 +11 1 1 50 90 104 +11 1 1 51 91 103 +11 1 1 52 90 103 +11 1 1 53 91 102 +11 1 1 54 90 102 +11 1 1 55 91 101 +11 1 1 56 -1 -1 +11 1 1 57 90 101 +11 1 1 58 91 100 +11 1 1 59 90 100 +11 1 1 60 91 99 +11 1 1 61 90 99 +11 1 1 62 91 98 +11 1 1 63 90 98 +11 1 1 64 91 97 +11 1 1 65 90 97 +11 1 1 66 91 96 +11 1 1 67 90 96 +11 1 2 0 89 95 +11 1 2 1 88 95 +11 1 2 2 89 94 +11 1 2 3 88 94 +11 1 2 4 89 93 +11 1 2 5 88 93 +11 1 2 6 89 92 +11 1 2 7 88 92 +11 1 2 8 89 91 +11 1 2 9 88 91 +11 1 2 10 89 90 +11 1 2 11 -1 -1 +11 1 2 12 88 90 +11 1 2 13 89 89 +11 1 2 14 88 89 +11 1 2 15 89 88 +11 1 2 16 88 88 +11 1 2 17 89 87 +11 1 2 18 88 87 +11 1 2 19 89 86 +11 1 2 20 88 86 +11 1 2 21 89 85 +11 1 2 22 -1 -1 +11 1 2 23 88 85 +11 1 2 24 89 84 +11 1 2 25 88 84 +11 1 2 26 89 83 +11 1 2 27 88 83 +11 1 2 28 89 82 +11 1 2 29 88 82 +11 1 2 30 89 81 +11 1 2 31 88 81 +11 1 2 32 89 80 +11 1 2 33 88 80 +11 1 2 34 89 79 +11 1 2 35 88 79 +11 1 2 36 89 78 +11 1 2 37 88 78 +11 1 2 38 89 77 +11 1 2 39 88 77 +11 1 2 40 89 76 +11 1 2 41 88 76 +11 1 2 42 89 75 +11 1 2 43 88 75 +11 1 2 44 89 74 +11 1 2 45 -1 -1 +11 1 2 46 88 74 +11 1 2 47 89 73 +11 1 2 48 88 73 +11 1 2 49 89 72 +11 1 2 50 88 72 +11 1 2 51 89 71 +11 1 2 52 88 71 +11 1 2 53 89 70 +11 1 2 54 88 70 +11 1 2 55 89 69 +11 1 2 56 -1 -1 +11 1 2 57 88 69 +11 1 2 58 89 68 +11 1 2 59 88 68 +11 1 2 60 89 67 +11 1 2 61 88 67 +11 1 2 62 89 66 +11 1 2 63 88 66 +11 1 2 64 89 65 +11 1 2 65 88 65 +11 1 2 66 89 64 +11 1 2 67 88 64 +11 1 3 0 89 127 +11 1 3 1 88 127 +11 1 3 2 89 126 +11 1 3 3 88 126 +11 1 3 4 89 125 +11 1 3 5 88 125 +11 1 3 6 89 124 +11 1 3 7 88 124 +11 1 3 8 89 123 +11 1 3 9 88 123 +11 1 3 10 89 122 +11 1 3 11 -1 -1 +11 1 3 12 88 122 +11 1 3 13 89 121 +11 1 3 14 88 121 +11 1 3 15 89 120 +11 1 3 16 88 120 +11 1 3 17 89 119 +11 1 3 18 88 119 +11 1 3 19 89 118 +11 1 3 20 88 118 +11 1 3 21 89 117 +11 1 3 22 -1 -1 +11 1 3 23 88 117 +11 1 3 24 89 116 +11 1 3 25 88 116 +11 1 3 26 89 115 +11 1 3 27 88 115 +11 1 3 28 89 114 +11 1 3 29 88 114 +11 1 3 30 89 113 +11 1 3 31 88 113 +11 1 3 32 89 112 +11 1 3 33 88 112 +11 1 3 34 89 111 +11 1 3 35 88 111 +11 1 3 36 89 110 +11 1 3 37 88 110 +11 1 3 38 89 109 +11 1 3 39 88 109 +11 1 3 40 89 108 +11 1 3 41 88 108 +11 1 3 42 89 107 +11 1 3 43 88 107 +11 1 3 44 89 106 +11 1 3 45 -1 -1 +11 1 3 46 88 106 +11 1 3 47 89 105 +11 1 3 48 88 105 +11 1 3 49 89 104 +11 1 3 50 88 104 +11 1 3 51 89 103 +11 1 3 52 88 103 +11 1 3 53 89 102 +11 1 3 54 88 102 +11 1 3 55 89 101 +11 1 3 56 -1 -1 +11 1 3 57 88 101 +11 1 3 58 89 100 +11 1 3 59 88 100 +11 1 3 60 89 99 +11 1 3 61 88 99 +11 1 3 62 89 98 +11 1 3 63 88 98 +11 1 3 64 89 97 +11 1 3 65 88 97 +11 1 3 66 89 96 +11 1 3 67 88 96 +11 2 0 0 92 32 +11 2 0 1 93 32 +11 2 0 2 92 33 +11 2 0 3 93 33 +11 2 0 4 92 34 +11 2 0 5 93 34 +11 2 0 6 92 35 +11 2 0 7 93 35 +11 2 0 8 92 36 +11 2 0 9 93 36 +11 2 0 10 92 37 +11 2 0 11 -1 -1 +11 2 0 12 93 37 +11 2 0 13 92 38 +11 2 0 14 93 38 +11 2 0 15 92 39 +11 2 0 16 93 39 +11 2 0 17 92 40 +11 2 0 18 93 40 +11 2 0 19 92 41 +11 2 0 20 93 41 +11 2 0 21 92 42 +11 2 0 22 -1 -1 +11 2 0 23 93 42 +11 2 0 24 92 43 +11 2 0 25 93 43 +11 2 0 26 92 44 +11 2 0 27 93 44 +11 2 0 28 92 45 +11 2 0 29 93 45 +11 2 0 30 92 46 +11 2 0 31 93 46 +11 2 0 32 92 47 +11 2 0 33 93 47 +11 2 0 34 92 48 +11 2 0 35 93 48 +11 2 0 36 92 49 +11 2 0 37 93 49 +11 2 0 38 92 50 +11 2 0 39 93 50 +11 2 0 40 92 51 +11 2 0 41 93 51 +11 2 0 42 92 52 +11 2 0 43 93 52 +11 2 0 44 92 53 +11 2 0 45 -1 -1 +11 2 0 46 93 53 +11 2 0 47 92 54 +11 2 0 48 93 54 +11 2 0 49 92 55 +11 2 0 50 93 55 +11 2 0 51 92 56 +11 2 0 52 93 56 +11 2 0 53 92 57 +11 2 0 54 93 57 +11 2 0 55 92 58 +11 2 0 56 -1 -1 +11 2 0 57 93 58 +11 2 0 58 92 59 +11 2 0 59 93 59 +11 2 0 60 92 60 +11 2 0 61 93 60 +11 2 0 62 92 61 +11 2 0 63 93 61 +11 2 0 64 92 62 +11 2 0 65 93 62 +11 2 0 66 92 63 +11 2 0 67 93 63 +11 2 1 0 92 0 +11 2 1 1 93 0 +11 2 1 2 92 1 +11 2 1 3 93 1 +11 2 1 4 92 2 +11 2 1 5 93 2 +11 2 1 6 92 3 +11 2 1 7 93 3 +11 2 1 8 92 4 +11 2 1 9 93 4 +11 2 1 10 92 5 +11 2 1 11 -1 -1 +11 2 1 12 93 5 +11 2 1 13 92 6 +11 2 1 14 93 6 +11 2 1 15 92 7 +11 2 1 16 93 7 +11 2 1 17 92 8 +11 2 1 18 93 8 +11 2 1 19 92 9 +11 2 1 20 93 9 +11 2 1 21 92 10 +11 2 1 22 -1 -1 +11 2 1 23 93 10 +11 2 1 24 92 11 +11 2 1 25 93 11 +11 2 1 26 92 12 +11 2 1 27 93 12 +11 2 1 28 92 13 +11 2 1 29 93 13 +11 2 1 30 92 14 +11 2 1 31 93 14 +11 2 1 32 92 15 +11 2 1 33 93 15 +11 2 1 34 92 16 +11 2 1 35 93 16 +11 2 1 36 92 17 +11 2 1 37 93 17 +11 2 1 38 92 18 +11 2 1 39 93 18 +11 2 1 40 92 19 +11 2 1 41 93 19 +11 2 1 42 92 20 +11 2 1 43 93 20 +11 2 1 44 92 21 +11 2 1 45 -1 -1 +11 2 1 46 93 21 +11 2 1 47 92 22 +11 2 1 48 93 22 +11 2 1 49 92 23 +11 2 1 50 93 23 +11 2 1 51 92 24 +11 2 1 52 93 24 +11 2 1 53 92 25 +11 2 1 54 93 25 +11 2 1 55 92 26 +11 2 1 56 -1 -1 +11 2 1 57 93 26 +11 2 1 58 92 27 +11 2 1 59 93 27 +11 2 1 60 92 28 +11 2 1 61 93 28 +11 2 1 62 92 29 +11 2 1 63 93 29 +11 2 1 64 92 30 +11 2 1 65 93 30 +11 2 1 66 92 31 +11 2 1 67 93 31 +11 2 2 0 94 32 +11 2 2 1 95 32 +11 2 2 2 94 33 +11 2 2 3 95 33 +11 2 2 4 94 34 +11 2 2 5 95 34 +11 2 2 6 94 35 +11 2 2 7 95 35 +11 2 2 8 94 36 +11 2 2 9 95 36 +11 2 2 10 94 37 +11 2 2 11 -1 -1 +11 2 2 12 95 37 +11 2 2 13 94 38 +11 2 2 14 95 38 +11 2 2 15 94 39 +11 2 2 16 95 39 +11 2 2 17 94 40 +11 2 2 18 95 40 +11 2 2 19 94 41 +11 2 2 20 95 41 +11 2 2 21 94 42 +11 2 2 22 -1 -1 +11 2 2 23 95 42 +11 2 2 24 94 43 +11 2 2 25 95 43 +11 2 2 26 94 44 +11 2 2 27 95 44 +11 2 2 28 94 45 +11 2 2 29 95 45 +11 2 2 30 94 46 +11 2 2 31 95 46 +11 2 2 32 94 47 +11 2 2 33 95 47 +11 2 2 34 94 48 +11 2 2 35 95 48 +11 2 2 36 94 49 +11 2 2 37 95 49 +11 2 2 38 94 50 +11 2 2 39 95 50 +11 2 2 40 94 51 +11 2 2 41 95 51 +11 2 2 42 94 52 +11 2 2 43 95 52 +11 2 2 44 94 53 +11 2 2 45 -1 -1 +11 2 2 46 95 53 +11 2 2 47 94 54 +11 2 2 48 95 54 +11 2 2 49 94 55 +11 2 2 50 95 55 +11 2 2 51 94 56 +11 2 2 52 95 56 +11 2 2 53 94 57 +11 2 2 54 95 57 +11 2 2 55 94 58 +11 2 2 56 -1 -1 +11 2 2 57 95 58 +11 2 2 58 94 59 +11 2 2 59 95 59 +11 2 2 60 94 60 +11 2 2 61 95 60 +11 2 2 62 94 61 +11 2 2 63 95 61 +11 2 2 64 94 62 +11 2 2 65 95 62 +11 2 2 66 94 63 +11 2 2 67 95 63 +11 2 3 0 94 0 +11 2 3 1 95 0 +11 2 3 2 94 1 +11 2 3 3 95 1 +11 2 3 4 94 2 +11 2 3 5 95 2 +11 2 3 6 94 3 +11 2 3 7 95 3 +11 2 3 8 94 4 +11 2 3 9 95 4 +11 2 3 10 94 5 +11 2 3 11 -1 -1 +11 2 3 12 95 5 +11 2 3 13 94 6 +11 2 3 14 95 6 +11 2 3 15 94 7 +11 2 3 16 95 7 +11 2 3 17 94 8 +11 2 3 18 95 8 +11 2 3 19 94 9 +11 2 3 20 95 9 +11 2 3 21 94 10 +11 2 3 22 -1 -1 +11 2 3 23 95 10 +11 2 3 24 94 11 +11 2 3 25 95 11 +11 2 3 26 94 12 +11 2 3 27 95 12 +11 2 3 28 94 13 +11 2 3 29 95 13 +11 2 3 30 94 14 +11 2 3 31 95 14 +11 2 3 32 94 15 +11 2 3 33 95 15 +11 2 3 34 94 16 +11 2 3 35 95 16 +11 2 3 36 94 17 +11 2 3 37 95 17 +11 2 3 38 94 18 +11 2 3 39 95 18 +11 2 3 40 94 19 +11 2 3 41 95 19 +11 2 3 42 94 20 +11 2 3 43 95 20 +11 2 3 44 94 21 +11 2 3 45 -1 -1 +11 2 3 46 95 21 +11 2 3 47 94 22 +11 2 3 48 95 22 +11 2 3 49 94 23 +11 2 3 50 95 23 +11 2 3 51 94 24 +11 2 3 52 95 24 +11 2 3 53 94 25 +11 2 3 54 95 25 +11 2 3 55 94 26 +11 2 3 56 -1 -1 +11 2 3 57 95 26 +11 2 3 58 94 27 +11 2 3 59 95 27 +11 2 3 60 94 28 +11 2 3 61 95 28 +11 2 3 62 94 29 +11 2 3 63 95 29 +11 2 3 64 94 30 +11 2 3 65 95 30 +11 2 3 66 94 31 +11 2 3 67 95 31 +11 3 0 0 95 95 +11 3 0 1 94 95 +11 3 0 2 95 94 +11 3 0 3 94 94 +11 3 0 4 95 93 +11 3 0 5 94 93 +11 3 0 6 95 92 +11 3 0 7 94 92 +11 3 0 8 95 91 +11 3 0 9 94 91 +11 3 0 10 95 90 +11 3 0 11 -1 -1 +11 3 0 12 94 90 +11 3 0 13 95 89 +11 3 0 14 94 89 +11 3 0 15 95 88 +11 3 0 16 94 88 +11 3 0 17 95 87 +11 3 0 18 94 87 +11 3 0 19 95 86 +11 3 0 20 94 86 +11 3 0 21 95 85 +11 3 0 22 -1 -1 +11 3 0 23 94 85 +11 3 0 24 95 84 +11 3 0 25 94 84 +11 3 0 26 95 83 +11 3 0 27 94 83 +11 3 0 28 95 82 +11 3 0 29 94 82 +11 3 0 30 95 81 +11 3 0 31 94 81 +11 3 0 32 95 80 +11 3 0 33 94 80 +11 3 0 34 95 79 +11 3 0 35 94 79 +11 3 0 36 95 78 +11 3 0 37 94 78 +11 3 0 38 95 77 +11 3 0 39 94 77 +11 3 0 40 95 76 +11 3 0 41 94 76 +11 3 0 42 95 75 +11 3 0 43 94 75 +11 3 0 44 95 74 +11 3 0 45 -1 -1 +11 3 0 46 94 74 +11 3 0 47 95 73 +11 3 0 48 94 73 +11 3 0 49 95 72 +11 3 0 50 94 72 +11 3 0 51 95 71 +11 3 0 52 94 71 +11 3 0 53 95 70 +11 3 0 54 94 70 +11 3 0 55 95 69 +11 3 0 56 -1 -1 +11 3 0 57 94 69 +11 3 0 58 95 68 +11 3 0 59 94 68 +11 3 0 60 95 67 +11 3 0 61 94 67 +11 3 0 62 95 66 +11 3 0 63 94 66 +11 3 0 64 95 65 +11 3 0 65 94 65 +11 3 0 66 95 64 +11 3 0 67 94 64 +11 3 1 0 95 127 +11 3 1 1 94 127 +11 3 1 2 95 126 +11 3 1 3 94 126 +11 3 1 4 95 125 +11 3 1 5 94 125 +11 3 1 6 95 124 +11 3 1 7 94 124 +11 3 1 8 95 123 +11 3 1 9 94 123 +11 3 1 10 95 122 +11 3 1 11 -1 -1 +11 3 1 12 94 122 +11 3 1 13 95 121 +11 3 1 14 94 121 +11 3 1 15 95 120 +11 3 1 16 94 120 +11 3 1 17 95 119 +11 3 1 18 94 119 +11 3 1 19 95 118 +11 3 1 20 94 118 +11 3 1 21 95 117 +11 3 1 22 -1 -1 +11 3 1 23 94 117 +11 3 1 24 95 116 +11 3 1 25 94 116 +11 3 1 26 95 115 +11 3 1 27 94 115 +11 3 1 28 95 114 +11 3 1 29 94 114 +11 3 1 30 95 113 +11 3 1 31 94 113 +11 3 1 32 95 112 +11 3 1 33 94 112 +11 3 1 34 95 111 +11 3 1 35 94 111 +11 3 1 36 95 110 +11 3 1 37 94 110 +11 3 1 38 95 109 +11 3 1 39 94 109 +11 3 1 40 95 108 +11 3 1 41 94 108 +11 3 1 42 95 107 +11 3 1 43 94 107 +11 3 1 44 95 106 +11 3 1 45 -1 -1 +11 3 1 46 94 106 +11 3 1 47 95 105 +11 3 1 48 94 105 +11 3 1 49 95 104 +11 3 1 50 94 104 +11 3 1 51 95 103 +11 3 1 52 94 103 +11 3 1 53 95 102 +11 3 1 54 94 102 +11 3 1 55 95 101 +11 3 1 56 -1 -1 +11 3 1 57 94 101 +11 3 1 58 95 100 +11 3 1 59 94 100 +11 3 1 60 95 99 +11 3 1 61 94 99 +11 3 1 62 95 98 +11 3 1 63 94 98 +11 3 1 64 95 97 +11 3 1 65 94 97 +11 3 1 66 95 96 +11 3 1 67 94 96 +11 3 2 0 93 95 +11 3 2 1 92 95 +11 3 2 2 93 94 +11 3 2 3 92 94 +11 3 2 4 93 93 +11 3 2 5 92 93 +11 3 2 6 93 92 +11 3 2 7 92 92 +11 3 2 8 93 91 +11 3 2 9 92 91 +11 3 2 10 93 90 +11 3 2 11 -1 -1 +11 3 2 12 92 90 +11 3 2 13 93 89 +11 3 2 14 92 89 +11 3 2 15 93 88 +11 3 2 16 92 88 +11 3 2 17 93 87 +11 3 2 18 92 87 +11 3 2 19 93 86 +11 3 2 20 92 86 +11 3 2 21 93 85 +11 3 2 22 -1 -1 +11 3 2 23 92 85 +11 3 2 24 93 84 +11 3 2 25 92 84 +11 3 2 26 93 83 +11 3 2 27 92 83 +11 3 2 28 93 82 +11 3 2 29 92 82 +11 3 2 30 93 81 +11 3 2 31 92 81 +11 3 2 32 93 80 +11 3 2 33 92 80 +11 3 2 34 93 79 +11 3 2 35 92 79 +11 3 2 36 93 78 +11 3 2 37 92 78 +11 3 2 38 93 77 +11 3 2 39 92 77 +11 3 2 40 93 76 +11 3 2 41 92 76 +11 3 2 42 93 75 +11 3 2 43 92 75 +11 3 2 44 93 74 +11 3 2 45 -1 -1 +11 3 2 46 92 74 +11 3 2 47 93 73 +11 3 2 48 92 73 +11 3 2 49 93 72 +11 3 2 50 92 72 +11 3 2 51 93 71 +11 3 2 52 92 71 +11 3 2 53 93 70 +11 3 2 54 92 70 +11 3 2 55 93 69 +11 3 2 56 -1 -1 +11 3 2 57 92 69 +11 3 2 58 93 68 +11 3 2 59 92 68 +11 3 2 60 93 67 +11 3 2 61 92 67 +11 3 2 62 93 66 +11 3 2 63 92 66 +11 3 2 64 93 65 +11 3 2 65 92 65 +11 3 2 66 93 64 +11 3 2 67 92 64 +11 3 3 0 93 127 +11 3 3 1 92 127 +11 3 3 2 93 126 +11 3 3 3 92 126 +11 3 3 4 93 125 +11 3 3 5 92 125 +11 3 3 6 93 124 +11 3 3 7 92 124 +11 3 3 8 93 123 +11 3 3 9 92 123 +11 3 3 10 93 122 +11 3 3 11 -1 -1 +11 3 3 12 92 122 +11 3 3 13 93 121 +11 3 3 14 92 121 +11 3 3 15 93 120 +11 3 3 16 92 120 +11 3 3 17 93 119 +11 3 3 18 92 119 +11 3 3 19 93 118 +11 3 3 20 92 118 +11 3 3 21 93 117 +11 3 3 22 -1 -1 +11 3 3 23 92 117 +11 3 3 24 93 116 +11 3 3 25 92 116 +11 3 3 26 93 115 +11 3 3 27 92 115 +11 3 3 28 93 114 +11 3 3 29 92 114 +11 3 3 30 93 113 +11 3 3 31 92 113 +11 3 3 32 93 112 +11 3 3 33 92 112 +11 3 3 34 93 111 +11 3 3 35 92 111 +11 3 3 36 93 110 +11 3 3 37 92 110 +11 3 3 38 93 109 +11 3 3 39 92 109 +11 3 3 40 93 108 +11 3 3 41 92 108 +11 3 3 42 93 107 +11 3 3 43 92 107 +11 3 3 44 93 106 +11 3 3 45 -1 -1 +11 3 3 46 92 106 +11 3 3 47 93 105 +11 3 3 48 92 105 +11 3 3 49 93 104 +11 3 3 50 92 104 +11 3 3 51 93 103 +11 3 3 52 92 103 +11 3 3 53 93 102 +11 3 3 54 92 102 +11 3 3 55 93 101 +11 3 3 56 -1 -1 +11 3 3 57 92 101 +11 3 3 58 93 100 +11 3 3 59 92 100 +11 3 3 60 93 99 +11 3 3 61 92 99 +11 3 3 62 93 98 +11 3 3 63 92 98 +11 3 3 64 93 97 +11 3 3 65 92 97 +11 3 3 66 93 96 +11 3 3 67 92 96 +12 0 0 0 96 32 +12 0 0 1 97 32 +12 0 0 2 96 33 +12 0 0 3 97 33 +12 0 0 4 96 34 +12 0 0 5 97 34 +12 0 0 6 96 35 +12 0 0 7 97 35 +12 0 0 8 96 36 +12 0 0 9 97 36 +12 0 0 10 96 37 +12 0 0 11 -1 -1 +12 0 0 12 97 37 +12 0 0 13 96 38 +12 0 0 14 97 38 +12 0 0 15 96 39 +12 0 0 16 97 39 +12 0 0 17 96 40 +12 0 0 18 97 40 +12 0 0 19 96 41 +12 0 0 20 97 41 +12 0 0 21 96 42 +12 0 0 22 -1 -1 +12 0 0 23 97 42 +12 0 0 24 96 43 +12 0 0 25 97 43 +12 0 0 26 96 44 +12 0 0 27 97 44 +12 0 0 28 96 45 +12 0 0 29 97 45 +12 0 0 30 96 46 +12 0 0 31 97 46 +12 0 0 32 96 47 +12 0 0 33 97 47 +12 0 0 34 96 48 +12 0 0 35 97 48 +12 0 0 36 96 49 +12 0 0 37 97 49 +12 0 0 38 96 50 +12 0 0 39 97 50 +12 0 0 40 96 51 +12 0 0 41 97 51 +12 0 0 42 96 52 +12 0 0 43 97 52 +12 0 0 44 96 53 +12 0 0 45 -1 -1 +12 0 0 46 97 53 +12 0 0 47 96 54 +12 0 0 48 97 54 +12 0 0 49 96 55 +12 0 0 50 97 55 +12 0 0 51 96 56 +12 0 0 52 97 56 +12 0 0 53 96 57 +12 0 0 54 97 57 +12 0 0 55 96 58 +12 0 0 56 -1 -1 +12 0 0 57 97 58 +12 0 0 58 96 59 +12 0 0 59 97 59 +12 0 0 60 96 60 +12 0 0 61 97 60 +12 0 0 62 96 61 +12 0 0 63 97 61 +12 0 0 64 96 62 +12 0 0 65 97 62 +12 0 0 66 96 63 +12 0 0 67 97 63 +12 0 1 0 96 0 +12 0 1 1 97 0 +12 0 1 2 96 1 +12 0 1 3 97 1 +12 0 1 4 96 2 +12 0 1 5 97 2 +12 0 1 6 96 3 +12 0 1 7 97 3 +12 0 1 8 96 4 +12 0 1 9 97 4 +12 0 1 10 96 5 +12 0 1 11 -1 -1 +12 0 1 12 97 5 +12 0 1 13 96 6 +12 0 1 14 97 6 +12 0 1 15 96 7 +12 0 1 16 97 7 +12 0 1 17 96 8 +12 0 1 18 97 8 +12 0 1 19 96 9 +12 0 1 20 97 9 +12 0 1 21 96 10 +12 0 1 22 -1 -1 +12 0 1 23 97 10 +12 0 1 24 96 11 +12 0 1 25 97 11 +12 0 1 26 96 12 +12 0 1 27 97 12 +12 0 1 28 96 13 +12 0 1 29 97 13 +12 0 1 30 96 14 +12 0 1 31 97 14 +12 0 1 32 96 15 +12 0 1 33 97 15 +12 0 1 34 96 16 +12 0 1 35 97 16 +12 0 1 36 96 17 +12 0 1 37 97 17 +12 0 1 38 96 18 +12 0 1 39 97 18 +12 0 1 40 96 19 +12 0 1 41 97 19 +12 0 1 42 96 20 +12 0 1 43 97 20 +12 0 1 44 96 21 +12 0 1 45 -1 -1 +12 0 1 46 97 21 +12 0 1 47 96 22 +12 0 1 48 97 22 +12 0 1 49 96 23 +12 0 1 50 97 23 +12 0 1 51 96 24 +12 0 1 52 97 24 +12 0 1 53 96 25 +12 0 1 54 97 25 +12 0 1 55 96 26 +12 0 1 56 -1 -1 +12 0 1 57 97 26 +12 0 1 58 96 27 +12 0 1 59 97 27 +12 0 1 60 96 28 +12 0 1 61 97 28 +12 0 1 62 96 29 +12 0 1 63 97 29 +12 0 1 64 96 30 +12 0 1 65 97 30 +12 0 1 66 96 31 +12 0 1 67 97 31 +12 0 2 0 98 32 +12 0 2 1 99 32 +12 0 2 2 98 33 +12 0 2 3 99 33 +12 0 2 4 98 34 +12 0 2 5 99 34 +12 0 2 6 98 35 +12 0 2 7 99 35 +12 0 2 8 98 36 +12 0 2 9 99 36 +12 0 2 10 98 37 +12 0 2 11 -1 -1 +12 0 2 12 99 37 +12 0 2 13 98 38 +12 0 2 14 99 38 +12 0 2 15 98 39 +12 0 2 16 99 39 +12 0 2 17 98 40 +12 0 2 18 99 40 +12 0 2 19 98 41 +12 0 2 20 99 41 +12 0 2 21 98 42 +12 0 2 22 -1 -1 +12 0 2 23 99 42 +12 0 2 24 98 43 +12 0 2 25 99 43 +12 0 2 26 98 44 +12 0 2 27 99 44 +12 0 2 28 98 45 +12 0 2 29 99 45 +12 0 2 30 98 46 +12 0 2 31 99 46 +12 0 2 32 98 47 +12 0 2 33 99 47 +12 0 2 34 98 48 +12 0 2 35 99 48 +12 0 2 36 98 49 +12 0 2 37 99 49 +12 0 2 38 98 50 +12 0 2 39 99 50 +12 0 2 40 98 51 +12 0 2 41 99 51 +12 0 2 42 98 52 +12 0 2 43 99 52 +12 0 2 44 98 53 +12 0 2 45 -1 -1 +12 0 2 46 99 53 +12 0 2 47 98 54 +12 0 2 48 99 54 +12 0 2 49 98 55 +12 0 2 50 99 55 +12 0 2 51 98 56 +12 0 2 52 99 56 +12 0 2 53 98 57 +12 0 2 54 99 57 +12 0 2 55 98 58 +12 0 2 56 -1 -1 +12 0 2 57 99 58 +12 0 2 58 98 59 +12 0 2 59 99 59 +12 0 2 60 98 60 +12 0 2 61 99 60 +12 0 2 62 98 61 +12 0 2 63 99 61 +12 0 2 64 98 62 +12 0 2 65 99 62 +12 0 2 66 98 63 +12 0 2 67 99 63 +12 0 3 0 98 0 +12 0 3 1 99 0 +12 0 3 2 98 1 +12 0 3 3 99 1 +12 0 3 4 98 2 +12 0 3 5 99 2 +12 0 3 6 98 3 +12 0 3 7 99 3 +12 0 3 8 98 4 +12 0 3 9 99 4 +12 0 3 10 98 5 +12 0 3 11 -1 -1 +12 0 3 12 99 5 +12 0 3 13 98 6 +12 0 3 14 99 6 +12 0 3 15 98 7 +12 0 3 16 99 7 +12 0 3 17 98 8 +12 0 3 18 99 8 +12 0 3 19 98 9 +12 0 3 20 99 9 +12 0 3 21 98 10 +12 0 3 22 -1 -1 +12 0 3 23 99 10 +12 0 3 24 98 11 +12 0 3 25 99 11 +12 0 3 26 98 12 +12 0 3 27 99 12 +12 0 3 28 98 13 +12 0 3 29 99 13 +12 0 3 30 98 14 +12 0 3 31 99 14 +12 0 3 32 98 15 +12 0 3 33 99 15 +12 0 3 34 98 16 +12 0 3 35 99 16 +12 0 3 36 98 17 +12 0 3 37 99 17 +12 0 3 38 98 18 +12 0 3 39 99 18 +12 0 3 40 98 19 +12 0 3 41 99 19 +12 0 3 42 98 20 +12 0 3 43 99 20 +12 0 3 44 98 21 +12 0 3 45 -1 -1 +12 0 3 46 99 21 +12 0 3 47 98 22 +12 0 3 48 99 22 +12 0 3 49 98 23 +12 0 3 50 99 23 +12 0 3 51 98 24 +12 0 3 52 99 24 +12 0 3 53 98 25 +12 0 3 54 99 25 +12 0 3 55 98 26 +12 0 3 56 -1 -1 +12 0 3 57 99 26 +12 0 3 58 98 27 +12 0 3 59 99 27 +12 0 3 60 98 28 +12 0 3 61 99 28 +12 0 3 62 98 29 +12 0 3 63 99 29 +12 0 3 64 98 30 +12 0 3 65 99 30 +12 0 3 66 98 31 +12 0 3 67 99 31 +12 1 0 0 99 95 +12 1 0 1 98 95 +12 1 0 2 99 94 +12 1 0 3 98 94 +12 1 0 4 99 93 +12 1 0 5 98 93 +12 1 0 6 99 92 +12 1 0 7 98 92 +12 1 0 8 99 91 +12 1 0 9 98 91 +12 1 0 10 99 90 +12 1 0 11 -1 -1 +12 1 0 12 98 90 +12 1 0 13 99 89 +12 1 0 14 98 89 +12 1 0 15 99 88 +12 1 0 16 98 88 +12 1 0 17 99 87 +12 1 0 18 98 87 +12 1 0 19 99 86 +12 1 0 20 98 86 +12 1 0 21 99 85 +12 1 0 22 -1 -1 +12 1 0 23 98 85 +12 1 0 24 99 84 +12 1 0 25 98 84 +12 1 0 26 99 83 +12 1 0 27 98 83 +12 1 0 28 99 82 +12 1 0 29 98 82 +12 1 0 30 99 81 +12 1 0 31 98 81 +12 1 0 32 99 80 +12 1 0 33 98 80 +12 1 0 34 99 79 +12 1 0 35 98 79 +12 1 0 36 99 78 +12 1 0 37 98 78 +12 1 0 38 99 77 +12 1 0 39 98 77 +12 1 0 40 99 76 +12 1 0 41 98 76 +12 1 0 42 99 75 +12 1 0 43 98 75 +12 1 0 44 99 74 +12 1 0 45 -1 -1 +12 1 0 46 98 74 +12 1 0 47 99 73 +12 1 0 48 98 73 +12 1 0 49 99 72 +12 1 0 50 98 72 +12 1 0 51 99 71 +12 1 0 52 98 71 +12 1 0 53 99 70 +12 1 0 54 98 70 +12 1 0 55 99 69 +12 1 0 56 -1 -1 +12 1 0 57 98 69 +12 1 0 58 99 68 +12 1 0 59 98 68 +12 1 0 60 99 67 +12 1 0 61 98 67 +12 1 0 62 99 66 +12 1 0 63 98 66 +12 1 0 64 99 65 +12 1 0 65 98 65 +12 1 0 66 99 64 +12 1 0 67 98 64 +12 1 1 0 99 127 +12 1 1 1 98 127 +12 1 1 2 99 126 +12 1 1 3 98 126 +12 1 1 4 99 125 +12 1 1 5 98 125 +12 1 1 6 99 124 +12 1 1 7 98 124 +12 1 1 8 99 123 +12 1 1 9 98 123 +12 1 1 10 99 122 +12 1 1 11 -1 -1 +12 1 1 12 98 122 +12 1 1 13 99 121 +12 1 1 14 98 121 +12 1 1 15 99 120 +12 1 1 16 98 120 +12 1 1 17 99 119 +12 1 1 18 98 119 +12 1 1 19 99 118 +12 1 1 20 98 118 +12 1 1 21 99 117 +12 1 1 22 -1 -1 +12 1 1 23 98 117 +12 1 1 24 99 116 +12 1 1 25 98 116 +12 1 1 26 99 115 +12 1 1 27 98 115 +12 1 1 28 99 114 +12 1 1 29 98 114 +12 1 1 30 99 113 +12 1 1 31 98 113 +12 1 1 32 99 112 +12 1 1 33 98 112 +12 1 1 34 99 111 +12 1 1 35 98 111 +12 1 1 36 99 110 +12 1 1 37 98 110 +12 1 1 38 99 109 +12 1 1 39 98 109 +12 1 1 40 99 108 +12 1 1 41 98 108 +12 1 1 42 99 107 +12 1 1 43 98 107 +12 1 1 44 99 106 +12 1 1 45 -1 -1 +12 1 1 46 98 106 +12 1 1 47 99 105 +12 1 1 48 98 105 +12 1 1 49 99 104 +12 1 1 50 98 104 +12 1 1 51 99 103 +12 1 1 52 98 103 +12 1 1 53 99 102 +12 1 1 54 98 102 +12 1 1 55 99 101 +12 1 1 56 -1 -1 +12 1 1 57 98 101 +12 1 1 58 99 100 +12 1 1 59 98 100 +12 1 1 60 99 99 +12 1 1 61 98 99 +12 1 1 62 99 98 +12 1 1 63 98 98 +12 1 1 64 99 97 +12 1 1 65 98 97 +12 1 1 66 99 96 +12 1 1 67 98 96 +12 1 2 0 97 95 +12 1 2 1 96 95 +12 1 2 2 97 94 +12 1 2 3 96 94 +12 1 2 4 97 93 +12 1 2 5 96 93 +12 1 2 6 97 92 +12 1 2 7 96 92 +12 1 2 8 97 91 +12 1 2 9 96 91 +12 1 2 10 97 90 +12 1 2 11 -1 -1 +12 1 2 12 96 90 +12 1 2 13 97 89 +12 1 2 14 96 89 +12 1 2 15 97 88 +12 1 2 16 96 88 +12 1 2 17 97 87 +12 1 2 18 96 87 +12 1 2 19 97 86 +12 1 2 20 96 86 +12 1 2 21 97 85 +12 1 2 22 -1 -1 +12 1 2 23 96 85 +12 1 2 24 97 84 +12 1 2 25 96 84 +12 1 2 26 97 83 +12 1 2 27 96 83 +12 1 2 28 97 82 +12 1 2 29 96 82 +12 1 2 30 97 81 +12 1 2 31 96 81 +12 1 2 32 97 80 +12 1 2 33 96 80 +12 1 2 34 97 79 +12 1 2 35 96 79 +12 1 2 36 97 78 +12 1 2 37 96 78 +12 1 2 38 97 77 +12 1 2 39 96 77 +12 1 2 40 97 76 +12 1 2 41 96 76 +12 1 2 42 97 75 +12 1 2 43 96 75 +12 1 2 44 97 74 +12 1 2 45 -1 -1 +12 1 2 46 96 74 +12 1 2 47 97 73 +12 1 2 48 96 73 +12 1 2 49 97 72 +12 1 2 50 96 72 +12 1 2 51 97 71 +12 1 2 52 96 71 +12 1 2 53 97 70 +12 1 2 54 96 70 +12 1 2 55 97 69 +12 1 2 56 -1 -1 +12 1 2 57 96 69 +12 1 2 58 97 68 +12 1 2 59 96 68 +12 1 2 60 97 67 +12 1 2 61 96 67 +12 1 2 62 97 66 +12 1 2 63 96 66 +12 1 2 64 97 65 +12 1 2 65 96 65 +12 1 2 66 97 64 +12 1 2 67 96 64 +12 1 3 0 97 127 +12 1 3 1 96 127 +12 1 3 2 97 126 +12 1 3 3 96 126 +12 1 3 4 97 125 +12 1 3 5 96 125 +12 1 3 6 97 124 +12 1 3 7 96 124 +12 1 3 8 97 123 +12 1 3 9 96 123 +12 1 3 10 97 122 +12 1 3 11 -1 -1 +12 1 3 12 96 122 +12 1 3 13 97 121 +12 1 3 14 96 121 +12 1 3 15 97 120 +12 1 3 16 96 120 +12 1 3 17 97 119 +12 1 3 18 96 119 +12 1 3 19 97 118 +12 1 3 20 96 118 +12 1 3 21 97 117 +12 1 3 22 -1 -1 +12 1 3 23 96 117 +12 1 3 24 97 116 +12 1 3 25 96 116 +12 1 3 26 97 115 +12 1 3 27 96 115 +12 1 3 28 97 114 +12 1 3 29 96 114 +12 1 3 30 97 113 +12 1 3 31 96 113 +12 1 3 32 97 112 +12 1 3 33 96 112 +12 1 3 34 97 111 +12 1 3 35 96 111 +12 1 3 36 97 110 +12 1 3 37 96 110 +12 1 3 38 97 109 +12 1 3 39 96 109 +12 1 3 40 97 108 +12 1 3 41 96 108 +12 1 3 42 97 107 +12 1 3 43 96 107 +12 1 3 44 97 106 +12 1 3 45 -1 -1 +12 1 3 46 96 106 +12 1 3 47 97 105 +12 1 3 48 96 105 +12 1 3 49 97 104 +12 1 3 50 96 104 +12 1 3 51 97 103 +12 1 3 52 96 103 +12 1 3 53 97 102 +12 1 3 54 96 102 +12 1 3 55 97 101 +12 1 3 56 -1 -1 +12 1 3 57 96 101 +12 1 3 58 97 100 +12 1 3 59 96 100 +12 1 3 60 97 99 +12 1 3 61 96 99 +12 1 3 62 97 98 +12 1 3 63 96 98 +12 1 3 64 97 97 +12 1 3 65 96 97 +12 1 3 66 97 96 +12 1 3 67 96 96 +12 2 0 0 100 32 +12 2 0 1 101 32 +12 2 0 2 100 33 +12 2 0 3 101 33 +12 2 0 4 100 34 +12 2 0 5 101 34 +12 2 0 6 100 35 +12 2 0 7 101 35 +12 2 0 8 100 36 +12 2 0 9 101 36 +12 2 0 10 100 37 +12 2 0 11 -1 -1 +12 2 0 12 101 37 +12 2 0 13 100 38 +12 2 0 14 101 38 +12 2 0 15 100 39 +12 2 0 16 101 39 +12 2 0 17 100 40 +12 2 0 18 101 40 +12 2 0 19 100 41 +12 2 0 20 101 41 +12 2 0 21 100 42 +12 2 0 22 -1 -1 +12 2 0 23 101 42 +12 2 0 24 100 43 +12 2 0 25 101 43 +12 2 0 26 100 44 +12 2 0 27 101 44 +12 2 0 28 100 45 +12 2 0 29 101 45 +12 2 0 30 100 46 +12 2 0 31 101 46 +12 2 0 32 100 47 +12 2 0 33 101 47 +12 2 0 34 100 48 +12 2 0 35 101 48 +12 2 0 36 100 49 +12 2 0 37 101 49 +12 2 0 38 100 50 +12 2 0 39 101 50 +12 2 0 40 100 51 +12 2 0 41 101 51 +12 2 0 42 100 52 +12 2 0 43 101 52 +12 2 0 44 100 53 +12 2 0 45 -1 -1 +12 2 0 46 101 53 +12 2 0 47 100 54 +12 2 0 48 101 54 +12 2 0 49 100 55 +12 2 0 50 101 55 +12 2 0 51 100 56 +12 2 0 52 101 56 +12 2 0 53 100 57 +12 2 0 54 101 57 +12 2 0 55 100 58 +12 2 0 56 -1 -1 +12 2 0 57 101 58 +12 2 0 58 100 59 +12 2 0 59 101 59 +12 2 0 60 100 60 +12 2 0 61 101 60 +12 2 0 62 100 61 +12 2 0 63 101 61 +12 2 0 64 100 62 +12 2 0 65 101 62 +12 2 0 66 100 63 +12 2 0 67 101 63 +12 2 1 0 100 0 +12 2 1 1 101 0 +12 2 1 2 100 1 +12 2 1 3 101 1 +12 2 1 4 100 2 +12 2 1 5 101 2 +12 2 1 6 100 3 +12 2 1 7 101 3 +12 2 1 8 100 4 +12 2 1 9 101 4 +12 2 1 10 100 5 +12 2 1 11 -1 -1 +12 2 1 12 101 5 +12 2 1 13 100 6 +12 2 1 14 101 6 +12 2 1 15 100 7 +12 2 1 16 101 7 +12 2 1 17 100 8 +12 2 1 18 101 8 +12 2 1 19 100 9 +12 2 1 20 101 9 +12 2 1 21 100 10 +12 2 1 22 -1 -1 +12 2 1 23 101 10 +12 2 1 24 100 11 +12 2 1 25 101 11 +12 2 1 26 100 12 +12 2 1 27 101 12 +12 2 1 28 100 13 +12 2 1 29 101 13 +12 2 1 30 100 14 +12 2 1 31 101 14 +12 2 1 32 100 15 +12 2 1 33 101 15 +12 2 1 34 100 16 +12 2 1 35 101 16 +12 2 1 36 100 17 +12 2 1 37 101 17 +12 2 1 38 100 18 +12 2 1 39 101 18 +12 2 1 40 100 19 +12 2 1 41 101 19 +12 2 1 42 100 20 +12 2 1 43 101 20 +12 2 1 44 100 21 +12 2 1 45 -1 -1 +12 2 1 46 101 21 +12 2 1 47 100 22 +12 2 1 48 101 22 +12 2 1 49 100 23 +12 2 1 50 101 23 +12 2 1 51 100 24 +12 2 1 52 101 24 +12 2 1 53 100 25 +12 2 1 54 101 25 +12 2 1 55 100 26 +12 2 1 56 -1 -1 +12 2 1 57 101 26 +12 2 1 58 100 27 +12 2 1 59 101 27 +12 2 1 60 100 28 +12 2 1 61 101 28 +12 2 1 62 100 29 +12 2 1 63 101 29 +12 2 1 64 100 30 +12 2 1 65 101 30 +12 2 1 66 100 31 +12 2 1 67 101 31 +12 2 2 0 102 32 +12 2 2 1 103 32 +12 2 2 2 102 33 +12 2 2 3 103 33 +12 2 2 4 102 34 +12 2 2 5 103 34 +12 2 2 6 102 35 +12 2 2 7 103 35 +12 2 2 8 102 36 +12 2 2 9 103 36 +12 2 2 10 102 37 +12 2 2 11 -1 -1 +12 2 2 12 103 37 +12 2 2 13 102 38 +12 2 2 14 103 38 +12 2 2 15 102 39 +12 2 2 16 103 39 +12 2 2 17 102 40 +12 2 2 18 103 40 +12 2 2 19 102 41 +12 2 2 20 103 41 +12 2 2 21 102 42 +12 2 2 22 -1 -1 +12 2 2 23 103 42 +12 2 2 24 102 43 +12 2 2 25 103 43 +12 2 2 26 102 44 +12 2 2 27 103 44 +12 2 2 28 102 45 +12 2 2 29 103 45 +12 2 2 30 102 46 +12 2 2 31 103 46 +12 2 2 32 102 47 +12 2 2 33 103 47 +12 2 2 34 102 48 +12 2 2 35 103 48 +12 2 2 36 102 49 +12 2 2 37 103 49 +12 2 2 38 102 50 +12 2 2 39 103 50 +12 2 2 40 102 51 +12 2 2 41 103 51 +12 2 2 42 102 52 +12 2 2 43 103 52 +12 2 2 44 102 53 +12 2 2 45 -1 -1 +12 2 2 46 103 53 +12 2 2 47 102 54 +12 2 2 48 103 54 +12 2 2 49 102 55 +12 2 2 50 103 55 +12 2 2 51 102 56 +12 2 2 52 103 56 +12 2 2 53 102 57 +12 2 2 54 103 57 +12 2 2 55 102 58 +12 2 2 56 -1 -1 +12 2 2 57 103 58 +12 2 2 58 102 59 +12 2 2 59 103 59 +12 2 2 60 102 60 +12 2 2 61 103 60 +12 2 2 62 102 61 +12 2 2 63 103 61 +12 2 2 64 102 62 +12 2 2 65 103 62 +12 2 2 66 102 63 +12 2 2 67 103 63 +12 2 3 0 102 0 +12 2 3 1 103 0 +12 2 3 2 102 1 +12 2 3 3 103 1 +12 2 3 4 102 2 +12 2 3 5 103 2 +12 2 3 6 102 3 +12 2 3 7 103 3 +12 2 3 8 102 4 +12 2 3 9 103 4 +12 2 3 10 102 5 +12 2 3 11 -1 -1 +12 2 3 12 103 5 +12 2 3 13 102 6 +12 2 3 14 103 6 +12 2 3 15 102 7 +12 2 3 16 103 7 +12 2 3 17 102 8 +12 2 3 18 103 8 +12 2 3 19 102 9 +12 2 3 20 103 9 +12 2 3 21 102 10 +12 2 3 22 -1 -1 +12 2 3 23 103 10 +12 2 3 24 102 11 +12 2 3 25 103 11 +12 2 3 26 102 12 +12 2 3 27 103 12 +12 2 3 28 102 13 +12 2 3 29 103 13 +12 2 3 30 102 14 +12 2 3 31 103 14 +12 2 3 32 102 15 +12 2 3 33 103 15 +12 2 3 34 102 16 +12 2 3 35 103 16 +12 2 3 36 102 17 +12 2 3 37 103 17 +12 2 3 38 102 18 +12 2 3 39 103 18 +12 2 3 40 102 19 +12 2 3 41 103 19 +12 2 3 42 102 20 +12 2 3 43 103 20 +12 2 3 44 102 21 +12 2 3 45 -1 -1 +12 2 3 46 103 21 +12 2 3 47 102 22 +12 2 3 48 103 22 +12 2 3 49 102 23 +12 2 3 50 103 23 +12 2 3 51 102 24 +12 2 3 52 103 24 +12 2 3 53 102 25 +12 2 3 54 103 25 +12 2 3 55 102 26 +12 2 3 56 -1 -1 +12 2 3 57 103 26 +12 2 3 58 102 27 +12 2 3 59 103 27 +12 2 3 60 102 28 +12 2 3 61 103 28 +12 2 3 62 102 29 +12 2 3 63 103 29 +12 2 3 64 102 30 +12 2 3 65 103 30 +12 2 3 66 102 31 +12 2 3 67 103 31 +12 3 0 0 103 95 +12 3 0 1 102 95 +12 3 0 2 103 94 +12 3 0 3 102 94 +12 3 0 4 103 93 +12 3 0 5 102 93 +12 3 0 6 103 92 +12 3 0 7 102 92 +12 3 0 8 103 91 +12 3 0 9 102 91 +12 3 0 10 103 90 +12 3 0 11 -1 -1 +12 3 0 12 102 90 +12 3 0 13 103 89 +12 3 0 14 102 89 +12 3 0 15 103 88 +12 3 0 16 102 88 +12 3 0 17 103 87 +12 3 0 18 102 87 +12 3 0 19 103 86 +12 3 0 20 102 86 +12 3 0 21 103 85 +12 3 0 22 -1 -1 +12 3 0 23 102 85 +12 3 0 24 103 84 +12 3 0 25 102 84 +12 3 0 26 103 83 +12 3 0 27 102 83 +12 3 0 28 103 82 +12 3 0 29 102 82 +12 3 0 30 103 81 +12 3 0 31 102 81 +12 3 0 32 103 80 +12 3 0 33 102 80 +12 3 0 34 103 79 +12 3 0 35 102 79 +12 3 0 36 103 78 +12 3 0 37 102 78 +12 3 0 38 103 77 +12 3 0 39 102 77 +12 3 0 40 103 76 +12 3 0 41 102 76 +12 3 0 42 103 75 +12 3 0 43 102 75 +12 3 0 44 103 74 +12 3 0 45 -1 -1 +12 3 0 46 102 74 +12 3 0 47 103 73 +12 3 0 48 102 73 +12 3 0 49 103 72 +12 3 0 50 102 72 +12 3 0 51 103 71 +12 3 0 52 102 71 +12 3 0 53 103 70 +12 3 0 54 102 70 +12 3 0 55 103 69 +12 3 0 56 -1 -1 +12 3 0 57 102 69 +12 3 0 58 103 68 +12 3 0 59 102 68 +12 3 0 60 103 67 +12 3 0 61 102 67 +12 3 0 62 103 66 +12 3 0 63 102 66 +12 3 0 64 103 65 +12 3 0 65 102 65 +12 3 0 66 103 64 +12 3 0 67 102 64 +12 3 1 0 103 127 +12 3 1 1 102 127 +12 3 1 2 103 126 +12 3 1 3 102 126 +12 3 1 4 103 125 +12 3 1 5 102 125 +12 3 1 6 103 124 +12 3 1 7 102 124 +12 3 1 8 103 123 +12 3 1 9 102 123 +12 3 1 10 103 122 +12 3 1 11 -1 -1 +12 3 1 12 102 122 +12 3 1 13 103 121 +12 3 1 14 102 121 +12 3 1 15 103 120 +12 3 1 16 102 120 +12 3 1 17 103 119 +12 3 1 18 102 119 +12 3 1 19 103 118 +12 3 1 20 102 118 +12 3 1 21 103 117 +12 3 1 22 -1 -1 +12 3 1 23 102 117 +12 3 1 24 103 116 +12 3 1 25 102 116 +12 3 1 26 103 115 +12 3 1 27 102 115 +12 3 1 28 103 114 +12 3 1 29 102 114 +12 3 1 30 103 113 +12 3 1 31 102 113 +12 3 1 32 103 112 +12 3 1 33 102 112 +12 3 1 34 103 111 +12 3 1 35 102 111 +12 3 1 36 103 110 +12 3 1 37 102 110 +12 3 1 38 103 109 +12 3 1 39 102 109 +12 3 1 40 103 108 +12 3 1 41 102 108 +12 3 1 42 103 107 +12 3 1 43 102 107 +12 3 1 44 103 106 +12 3 1 45 -1 -1 +12 3 1 46 102 106 +12 3 1 47 103 105 +12 3 1 48 102 105 +12 3 1 49 103 104 +12 3 1 50 102 104 +12 3 1 51 103 103 +12 3 1 52 102 103 +12 3 1 53 103 102 +12 3 1 54 102 102 +12 3 1 55 103 101 +12 3 1 56 -1 -1 +12 3 1 57 102 101 +12 3 1 58 103 100 +12 3 1 59 102 100 +12 3 1 60 103 99 +12 3 1 61 102 99 +12 3 1 62 103 98 +12 3 1 63 102 98 +12 3 1 64 103 97 +12 3 1 65 102 97 +12 3 1 66 103 96 +12 3 1 67 102 96 +12 3 2 0 101 95 +12 3 2 1 100 95 +12 3 2 2 101 94 +12 3 2 3 100 94 +12 3 2 4 101 93 +12 3 2 5 100 93 +12 3 2 6 101 92 +12 3 2 7 100 92 +12 3 2 8 101 91 +12 3 2 9 100 91 +12 3 2 10 101 90 +12 3 2 11 -1 -1 +12 3 2 12 100 90 +12 3 2 13 101 89 +12 3 2 14 100 89 +12 3 2 15 101 88 +12 3 2 16 100 88 +12 3 2 17 101 87 +12 3 2 18 100 87 +12 3 2 19 101 86 +12 3 2 20 100 86 +12 3 2 21 101 85 +12 3 2 22 -1 -1 +12 3 2 23 100 85 +12 3 2 24 101 84 +12 3 2 25 100 84 +12 3 2 26 101 83 +12 3 2 27 100 83 +12 3 2 28 101 82 +12 3 2 29 100 82 +12 3 2 30 101 81 +12 3 2 31 100 81 +12 3 2 32 101 80 +12 3 2 33 100 80 +12 3 2 34 101 79 +12 3 2 35 100 79 +12 3 2 36 101 78 +12 3 2 37 100 78 +12 3 2 38 101 77 +12 3 2 39 100 77 +12 3 2 40 101 76 +12 3 2 41 100 76 +12 3 2 42 101 75 +12 3 2 43 100 75 +12 3 2 44 101 74 +12 3 2 45 -1 -1 +12 3 2 46 100 74 +12 3 2 47 101 73 +12 3 2 48 100 73 +12 3 2 49 101 72 +12 3 2 50 100 72 +12 3 2 51 101 71 +12 3 2 52 100 71 +12 3 2 53 101 70 +12 3 2 54 100 70 +12 3 2 55 101 69 +12 3 2 56 -1 -1 +12 3 2 57 100 69 +12 3 2 58 101 68 +12 3 2 59 100 68 +12 3 2 60 101 67 +12 3 2 61 100 67 +12 3 2 62 101 66 +12 3 2 63 100 66 +12 3 2 64 101 65 +12 3 2 65 100 65 +12 3 2 66 101 64 +12 3 2 67 100 64 +12 3 3 0 101 127 +12 3 3 1 100 127 +12 3 3 2 101 126 +12 3 3 3 100 126 +12 3 3 4 101 125 +12 3 3 5 100 125 +12 3 3 6 101 124 +12 3 3 7 100 124 +12 3 3 8 101 123 +12 3 3 9 100 123 +12 3 3 10 101 122 +12 3 3 11 -1 -1 +12 3 3 12 100 122 +12 3 3 13 101 121 +12 3 3 14 100 121 +12 3 3 15 101 120 +12 3 3 16 100 120 +12 3 3 17 101 119 +12 3 3 18 100 119 +12 3 3 19 101 118 +12 3 3 20 100 118 +12 3 3 21 101 117 +12 3 3 22 -1 -1 +12 3 3 23 100 117 +12 3 3 24 101 116 +12 3 3 25 100 116 +12 3 3 26 101 115 +12 3 3 27 100 115 +12 3 3 28 101 114 +12 3 3 29 100 114 +12 3 3 30 101 113 +12 3 3 31 100 113 +12 3 3 32 101 112 +12 3 3 33 100 112 +12 3 3 34 101 111 +12 3 3 35 100 111 +12 3 3 36 101 110 +12 3 3 37 100 110 +12 3 3 38 101 109 +12 3 3 39 100 109 +12 3 3 40 101 108 +12 3 3 41 100 108 +12 3 3 42 101 107 +12 3 3 43 100 107 +12 3 3 44 101 106 +12 3 3 45 -1 -1 +12 3 3 46 100 106 +12 3 3 47 101 105 +12 3 3 48 100 105 +12 3 3 49 101 104 +12 3 3 50 100 104 +12 3 3 51 101 103 +12 3 3 52 100 103 +12 3 3 53 101 102 +12 3 3 54 100 102 +12 3 3 55 101 101 +12 3 3 56 -1 -1 +12 3 3 57 100 101 +12 3 3 58 101 100 +12 3 3 59 100 100 +12 3 3 60 101 99 +12 3 3 61 100 99 +12 3 3 62 101 98 +12 3 3 63 100 98 +12 3 3 64 101 97 +12 3 3 65 100 97 +12 3 3 66 101 96 +12 3 3 67 100 96 +13 0 0 0 104 32 +13 0 0 1 105 32 +13 0 0 2 104 33 +13 0 0 3 105 33 +13 0 0 4 104 34 +13 0 0 5 105 34 +13 0 0 6 104 35 +13 0 0 7 105 35 +13 0 0 8 104 36 +13 0 0 9 105 36 +13 0 0 10 104 37 +13 0 0 11 -1 -1 +13 0 0 12 105 37 +13 0 0 13 104 38 +13 0 0 14 105 38 +13 0 0 15 104 39 +13 0 0 16 105 39 +13 0 0 17 104 40 +13 0 0 18 105 40 +13 0 0 19 104 41 +13 0 0 20 105 41 +13 0 0 21 104 42 +13 0 0 22 -1 -1 +13 0 0 23 105 42 +13 0 0 24 104 43 +13 0 0 25 105 43 +13 0 0 26 104 44 +13 0 0 27 105 44 +13 0 0 28 104 45 +13 0 0 29 105 45 +13 0 0 30 104 46 +13 0 0 31 105 46 +13 0 0 32 104 47 +13 0 0 33 105 47 +13 0 0 34 104 48 +13 0 0 35 105 48 +13 0 0 36 104 49 +13 0 0 37 105 49 +13 0 0 38 104 50 +13 0 0 39 105 50 +13 0 0 40 104 51 +13 0 0 41 105 51 +13 0 0 42 104 52 +13 0 0 43 105 52 +13 0 0 44 104 53 +13 0 0 45 -1 -1 +13 0 0 46 105 53 +13 0 0 47 104 54 +13 0 0 48 105 54 +13 0 0 49 104 55 +13 0 0 50 105 55 +13 0 0 51 104 56 +13 0 0 52 105 56 +13 0 0 53 104 57 +13 0 0 54 105 57 +13 0 0 55 104 58 +13 0 0 56 -1 -1 +13 0 0 57 105 58 +13 0 0 58 104 59 +13 0 0 59 105 59 +13 0 0 60 104 60 +13 0 0 61 105 60 +13 0 0 62 104 61 +13 0 0 63 105 61 +13 0 0 64 104 62 +13 0 0 65 105 62 +13 0 0 66 104 63 +13 0 0 67 105 63 +13 0 1 0 104 0 +13 0 1 1 105 0 +13 0 1 2 104 1 +13 0 1 3 105 1 +13 0 1 4 104 2 +13 0 1 5 105 2 +13 0 1 6 104 3 +13 0 1 7 105 3 +13 0 1 8 104 4 +13 0 1 9 105 4 +13 0 1 10 104 5 +13 0 1 11 -1 -1 +13 0 1 12 105 5 +13 0 1 13 104 6 +13 0 1 14 105 6 +13 0 1 15 104 7 +13 0 1 16 105 7 +13 0 1 17 104 8 +13 0 1 18 105 8 +13 0 1 19 104 9 +13 0 1 20 105 9 +13 0 1 21 104 10 +13 0 1 22 -1 -1 +13 0 1 23 105 10 +13 0 1 24 104 11 +13 0 1 25 105 11 +13 0 1 26 104 12 +13 0 1 27 105 12 +13 0 1 28 104 13 +13 0 1 29 105 13 +13 0 1 30 104 14 +13 0 1 31 105 14 +13 0 1 32 104 15 +13 0 1 33 105 15 +13 0 1 34 104 16 +13 0 1 35 105 16 +13 0 1 36 104 17 +13 0 1 37 105 17 +13 0 1 38 104 18 +13 0 1 39 105 18 +13 0 1 40 104 19 +13 0 1 41 105 19 +13 0 1 42 104 20 +13 0 1 43 105 20 +13 0 1 44 104 21 +13 0 1 45 -1 -1 +13 0 1 46 105 21 +13 0 1 47 104 22 +13 0 1 48 105 22 +13 0 1 49 104 23 +13 0 1 50 105 23 +13 0 1 51 104 24 +13 0 1 52 105 24 +13 0 1 53 104 25 +13 0 1 54 105 25 +13 0 1 55 104 26 +13 0 1 56 -1 -1 +13 0 1 57 105 26 +13 0 1 58 104 27 +13 0 1 59 105 27 +13 0 1 60 104 28 +13 0 1 61 105 28 +13 0 1 62 104 29 +13 0 1 63 105 29 +13 0 1 64 104 30 +13 0 1 65 105 30 +13 0 1 66 104 31 +13 0 1 67 105 31 +13 0 2 0 106 32 +13 0 2 1 107 32 +13 0 2 2 106 33 +13 0 2 3 107 33 +13 0 2 4 106 34 +13 0 2 5 107 34 +13 0 2 6 106 35 +13 0 2 7 107 35 +13 0 2 8 106 36 +13 0 2 9 107 36 +13 0 2 10 106 37 +13 0 2 11 -1 -1 +13 0 2 12 107 37 +13 0 2 13 106 38 +13 0 2 14 107 38 +13 0 2 15 106 39 +13 0 2 16 107 39 +13 0 2 17 106 40 +13 0 2 18 107 40 +13 0 2 19 106 41 +13 0 2 20 107 41 +13 0 2 21 106 42 +13 0 2 22 -1 -1 +13 0 2 23 107 42 +13 0 2 24 106 43 +13 0 2 25 107 43 +13 0 2 26 106 44 +13 0 2 27 107 44 +13 0 2 28 106 45 +13 0 2 29 107 45 +13 0 2 30 106 46 +13 0 2 31 107 46 +13 0 2 32 106 47 +13 0 2 33 107 47 +13 0 2 34 106 48 +13 0 2 35 107 48 +13 0 2 36 106 49 +13 0 2 37 107 49 +13 0 2 38 106 50 +13 0 2 39 107 50 +13 0 2 40 106 51 +13 0 2 41 107 51 +13 0 2 42 106 52 +13 0 2 43 107 52 +13 0 2 44 106 53 +13 0 2 45 -1 -1 +13 0 2 46 107 53 +13 0 2 47 106 54 +13 0 2 48 107 54 +13 0 2 49 106 55 +13 0 2 50 107 55 +13 0 2 51 106 56 +13 0 2 52 107 56 +13 0 2 53 106 57 +13 0 2 54 107 57 +13 0 2 55 106 58 +13 0 2 56 -1 -1 +13 0 2 57 107 58 +13 0 2 58 106 59 +13 0 2 59 107 59 +13 0 2 60 106 60 +13 0 2 61 107 60 +13 0 2 62 106 61 +13 0 2 63 107 61 +13 0 2 64 106 62 +13 0 2 65 107 62 +13 0 2 66 106 63 +13 0 2 67 107 63 +13 0 3 0 106 0 +13 0 3 1 107 0 +13 0 3 2 106 1 +13 0 3 3 107 1 +13 0 3 4 106 2 +13 0 3 5 107 2 +13 0 3 6 106 3 +13 0 3 7 107 3 +13 0 3 8 106 4 +13 0 3 9 107 4 +13 0 3 10 106 5 +13 0 3 11 -1 -1 +13 0 3 12 107 5 +13 0 3 13 106 6 +13 0 3 14 107 6 +13 0 3 15 106 7 +13 0 3 16 107 7 +13 0 3 17 106 8 +13 0 3 18 107 8 +13 0 3 19 106 9 +13 0 3 20 107 9 +13 0 3 21 106 10 +13 0 3 22 -1 -1 +13 0 3 23 107 10 +13 0 3 24 106 11 +13 0 3 25 107 11 +13 0 3 26 106 12 +13 0 3 27 107 12 +13 0 3 28 106 13 +13 0 3 29 107 13 +13 0 3 30 106 14 +13 0 3 31 107 14 +13 0 3 32 106 15 +13 0 3 33 107 15 +13 0 3 34 106 16 +13 0 3 35 107 16 +13 0 3 36 106 17 +13 0 3 37 107 17 +13 0 3 38 106 18 +13 0 3 39 107 18 +13 0 3 40 106 19 +13 0 3 41 107 19 +13 0 3 42 106 20 +13 0 3 43 107 20 +13 0 3 44 106 21 +13 0 3 45 -1 -1 +13 0 3 46 107 21 +13 0 3 47 106 22 +13 0 3 48 107 22 +13 0 3 49 106 23 +13 0 3 50 107 23 +13 0 3 51 106 24 +13 0 3 52 107 24 +13 0 3 53 106 25 +13 0 3 54 107 25 +13 0 3 55 106 26 +13 0 3 56 -1 -1 +13 0 3 57 107 26 +13 0 3 58 106 27 +13 0 3 59 107 27 +13 0 3 60 106 28 +13 0 3 61 107 28 +13 0 3 62 106 29 +13 0 3 63 107 29 +13 0 3 64 106 30 +13 0 3 65 107 30 +13 0 3 66 106 31 +13 0 3 67 107 31 +13 1 0 0 107 95 +13 1 0 1 106 95 +13 1 0 2 107 94 +13 1 0 3 106 94 +13 1 0 4 107 93 +13 1 0 5 106 93 +13 1 0 6 107 92 +13 1 0 7 106 92 +13 1 0 8 107 91 +13 1 0 9 106 91 +13 1 0 10 107 90 +13 1 0 11 -1 -1 +13 1 0 12 106 90 +13 1 0 13 107 89 +13 1 0 14 106 89 +13 1 0 15 107 88 +13 1 0 16 106 88 +13 1 0 17 107 87 +13 1 0 18 106 87 +13 1 0 19 107 86 +13 1 0 20 106 86 +13 1 0 21 107 85 +13 1 0 22 -1 -1 +13 1 0 23 106 85 +13 1 0 24 107 84 +13 1 0 25 106 84 +13 1 0 26 107 83 +13 1 0 27 106 83 +13 1 0 28 107 82 +13 1 0 29 106 82 +13 1 0 30 107 81 +13 1 0 31 106 81 +13 1 0 32 107 80 +13 1 0 33 106 80 +13 1 0 34 107 79 +13 1 0 35 106 79 +13 1 0 36 107 78 +13 1 0 37 106 78 +13 1 0 38 107 77 +13 1 0 39 106 77 +13 1 0 40 107 76 +13 1 0 41 106 76 +13 1 0 42 107 75 +13 1 0 43 106 75 +13 1 0 44 107 74 +13 1 0 45 -1 -1 +13 1 0 46 106 74 +13 1 0 47 107 73 +13 1 0 48 106 73 +13 1 0 49 107 72 +13 1 0 50 106 72 +13 1 0 51 107 71 +13 1 0 52 106 71 +13 1 0 53 107 70 +13 1 0 54 106 70 +13 1 0 55 107 69 +13 1 0 56 -1 -1 +13 1 0 57 106 69 +13 1 0 58 107 68 +13 1 0 59 106 68 +13 1 0 60 107 67 +13 1 0 61 106 67 +13 1 0 62 107 66 +13 1 0 63 106 66 +13 1 0 64 107 65 +13 1 0 65 106 65 +13 1 0 66 107 64 +13 1 0 67 106 64 +13 1 1 0 107 127 +13 1 1 1 106 127 +13 1 1 2 107 126 +13 1 1 3 106 126 +13 1 1 4 107 125 +13 1 1 5 106 125 +13 1 1 6 107 124 +13 1 1 7 106 124 +13 1 1 8 107 123 +13 1 1 9 106 123 +13 1 1 10 107 122 +13 1 1 11 -1 -1 +13 1 1 12 106 122 +13 1 1 13 107 121 +13 1 1 14 106 121 +13 1 1 15 107 120 +13 1 1 16 106 120 +13 1 1 17 107 119 +13 1 1 18 106 119 +13 1 1 19 107 118 +13 1 1 20 106 118 +13 1 1 21 107 117 +13 1 1 22 -1 -1 +13 1 1 23 106 117 +13 1 1 24 107 116 +13 1 1 25 106 116 +13 1 1 26 107 115 +13 1 1 27 106 115 +13 1 1 28 107 114 +13 1 1 29 106 114 +13 1 1 30 107 113 +13 1 1 31 106 113 +13 1 1 32 107 112 +13 1 1 33 106 112 +13 1 1 34 107 111 +13 1 1 35 106 111 +13 1 1 36 107 110 +13 1 1 37 106 110 +13 1 1 38 107 109 +13 1 1 39 106 109 +13 1 1 40 107 108 +13 1 1 41 106 108 +13 1 1 42 107 107 +13 1 1 43 106 107 +13 1 1 44 107 106 +13 1 1 45 -1 -1 +13 1 1 46 106 106 +13 1 1 47 107 105 +13 1 1 48 106 105 +13 1 1 49 107 104 +13 1 1 50 106 104 +13 1 1 51 107 103 +13 1 1 52 106 103 +13 1 1 53 107 102 +13 1 1 54 106 102 +13 1 1 55 107 101 +13 1 1 56 -1 -1 +13 1 1 57 106 101 +13 1 1 58 107 100 +13 1 1 59 106 100 +13 1 1 60 107 99 +13 1 1 61 106 99 +13 1 1 62 107 98 +13 1 1 63 106 98 +13 1 1 64 107 97 +13 1 1 65 106 97 +13 1 1 66 107 96 +13 1 1 67 106 96 +13 1 2 0 105 95 +13 1 2 1 104 95 +13 1 2 2 105 94 +13 1 2 3 104 94 +13 1 2 4 105 93 +13 1 2 5 104 93 +13 1 2 6 105 92 +13 1 2 7 104 92 +13 1 2 8 105 91 +13 1 2 9 104 91 +13 1 2 10 105 90 +13 1 2 11 -1 -1 +13 1 2 12 104 90 +13 1 2 13 105 89 +13 1 2 14 104 89 +13 1 2 15 105 88 +13 1 2 16 104 88 +13 1 2 17 105 87 +13 1 2 18 104 87 +13 1 2 19 105 86 +13 1 2 20 104 86 +13 1 2 21 105 85 +13 1 2 22 -1 -1 +13 1 2 23 104 85 +13 1 2 24 105 84 +13 1 2 25 104 84 +13 1 2 26 105 83 +13 1 2 27 104 83 +13 1 2 28 105 82 +13 1 2 29 104 82 +13 1 2 30 105 81 +13 1 2 31 104 81 +13 1 2 32 105 80 +13 1 2 33 104 80 +13 1 2 34 105 79 +13 1 2 35 104 79 +13 1 2 36 105 78 +13 1 2 37 104 78 +13 1 2 38 105 77 +13 1 2 39 104 77 +13 1 2 40 105 76 +13 1 2 41 104 76 +13 1 2 42 105 75 +13 1 2 43 104 75 +13 1 2 44 105 74 +13 1 2 45 -1 -1 +13 1 2 46 104 74 +13 1 2 47 105 73 +13 1 2 48 104 73 +13 1 2 49 105 72 +13 1 2 50 104 72 +13 1 2 51 105 71 +13 1 2 52 104 71 +13 1 2 53 105 70 +13 1 2 54 104 70 +13 1 2 55 105 69 +13 1 2 56 -1 -1 +13 1 2 57 104 69 +13 1 2 58 105 68 +13 1 2 59 104 68 +13 1 2 60 105 67 +13 1 2 61 104 67 +13 1 2 62 105 66 +13 1 2 63 104 66 +13 1 2 64 105 65 +13 1 2 65 104 65 +13 1 2 66 105 64 +13 1 2 67 104 64 +13 1 3 0 105 127 +13 1 3 1 104 127 +13 1 3 2 105 126 +13 1 3 3 104 126 +13 1 3 4 105 125 +13 1 3 5 104 125 +13 1 3 6 105 124 +13 1 3 7 104 124 +13 1 3 8 105 123 +13 1 3 9 104 123 +13 1 3 10 105 122 +13 1 3 11 -1 -1 +13 1 3 12 104 122 +13 1 3 13 105 121 +13 1 3 14 104 121 +13 1 3 15 105 120 +13 1 3 16 104 120 +13 1 3 17 105 119 +13 1 3 18 104 119 +13 1 3 19 105 118 +13 1 3 20 104 118 +13 1 3 21 105 117 +13 1 3 22 -1 -1 +13 1 3 23 104 117 +13 1 3 24 105 116 +13 1 3 25 104 116 +13 1 3 26 105 115 +13 1 3 27 104 115 +13 1 3 28 105 114 +13 1 3 29 104 114 +13 1 3 30 105 113 +13 1 3 31 104 113 +13 1 3 32 105 112 +13 1 3 33 104 112 +13 1 3 34 105 111 +13 1 3 35 104 111 +13 1 3 36 105 110 +13 1 3 37 104 110 +13 1 3 38 105 109 +13 1 3 39 104 109 +13 1 3 40 105 108 +13 1 3 41 104 108 +13 1 3 42 105 107 +13 1 3 43 104 107 +13 1 3 44 105 106 +13 1 3 45 -1 -1 +13 1 3 46 104 106 +13 1 3 47 105 105 +13 1 3 48 104 105 +13 1 3 49 105 104 +13 1 3 50 104 104 +13 1 3 51 105 103 +13 1 3 52 104 103 +13 1 3 53 105 102 +13 1 3 54 104 102 +13 1 3 55 105 101 +13 1 3 56 -1 -1 +13 1 3 57 104 101 +13 1 3 58 105 100 +13 1 3 59 104 100 +13 1 3 60 105 99 +13 1 3 61 104 99 +13 1 3 62 105 98 +13 1 3 63 104 98 +13 1 3 64 105 97 +13 1 3 65 104 97 +13 1 3 66 105 96 +13 1 3 67 104 96 +13 2 0 0 108 32 +13 2 0 1 109 32 +13 2 0 2 108 33 +13 2 0 3 109 33 +13 2 0 4 108 34 +13 2 0 5 109 34 +13 2 0 6 108 35 +13 2 0 7 109 35 +13 2 0 8 108 36 +13 2 0 9 109 36 +13 2 0 10 108 37 +13 2 0 11 -1 -1 +13 2 0 12 109 37 +13 2 0 13 108 38 +13 2 0 14 109 38 +13 2 0 15 108 39 +13 2 0 16 109 39 +13 2 0 17 108 40 +13 2 0 18 109 40 +13 2 0 19 108 41 +13 2 0 20 109 41 +13 2 0 21 108 42 +13 2 0 22 -1 -1 +13 2 0 23 109 42 +13 2 0 24 108 43 +13 2 0 25 109 43 +13 2 0 26 108 44 +13 2 0 27 109 44 +13 2 0 28 108 45 +13 2 0 29 109 45 +13 2 0 30 108 46 +13 2 0 31 109 46 +13 2 0 32 108 47 +13 2 0 33 109 47 +13 2 0 34 108 48 +13 2 0 35 109 48 +13 2 0 36 108 49 +13 2 0 37 109 49 +13 2 0 38 108 50 +13 2 0 39 109 50 +13 2 0 40 108 51 +13 2 0 41 109 51 +13 2 0 42 108 52 +13 2 0 43 109 52 +13 2 0 44 108 53 +13 2 0 45 -1 -1 +13 2 0 46 109 53 +13 2 0 47 108 54 +13 2 0 48 109 54 +13 2 0 49 108 55 +13 2 0 50 109 55 +13 2 0 51 108 56 +13 2 0 52 109 56 +13 2 0 53 108 57 +13 2 0 54 109 57 +13 2 0 55 108 58 +13 2 0 56 -1 -1 +13 2 0 57 109 58 +13 2 0 58 108 59 +13 2 0 59 109 59 +13 2 0 60 108 60 +13 2 0 61 109 60 +13 2 0 62 108 61 +13 2 0 63 109 61 +13 2 0 64 108 62 +13 2 0 65 109 62 +13 2 0 66 108 63 +13 2 0 67 109 63 +13 2 1 0 108 0 +13 2 1 1 109 0 +13 2 1 2 108 1 +13 2 1 3 109 1 +13 2 1 4 108 2 +13 2 1 5 109 2 +13 2 1 6 108 3 +13 2 1 7 109 3 +13 2 1 8 108 4 +13 2 1 9 109 4 +13 2 1 10 108 5 +13 2 1 11 -1 -1 +13 2 1 12 109 5 +13 2 1 13 108 6 +13 2 1 14 109 6 +13 2 1 15 108 7 +13 2 1 16 109 7 +13 2 1 17 108 8 +13 2 1 18 109 8 +13 2 1 19 108 9 +13 2 1 20 109 9 +13 2 1 21 108 10 +13 2 1 22 -1 -1 +13 2 1 23 109 10 +13 2 1 24 108 11 +13 2 1 25 109 11 +13 2 1 26 108 12 +13 2 1 27 109 12 +13 2 1 28 108 13 +13 2 1 29 109 13 +13 2 1 30 108 14 +13 2 1 31 109 14 +13 2 1 32 108 15 +13 2 1 33 109 15 +13 2 1 34 108 16 +13 2 1 35 109 16 +13 2 1 36 108 17 +13 2 1 37 109 17 +13 2 1 38 108 18 +13 2 1 39 109 18 +13 2 1 40 108 19 +13 2 1 41 109 19 +13 2 1 42 108 20 +13 2 1 43 109 20 +13 2 1 44 108 21 +13 2 1 45 -1 -1 +13 2 1 46 109 21 +13 2 1 47 108 22 +13 2 1 48 109 22 +13 2 1 49 108 23 +13 2 1 50 109 23 +13 2 1 51 108 24 +13 2 1 52 109 24 +13 2 1 53 108 25 +13 2 1 54 109 25 +13 2 1 55 108 26 +13 2 1 56 -1 -1 +13 2 1 57 109 26 +13 2 1 58 108 27 +13 2 1 59 109 27 +13 2 1 60 108 28 +13 2 1 61 109 28 +13 2 1 62 108 29 +13 2 1 63 109 29 +13 2 1 64 108 30 +13 2 1 65 109 30 +13 2 1 66 108 31 +13 2 1 67 109 31 +13 2 2 0 110 32 +13 2 2 1 111 32 +13 2 2 2 110 33 +13 2 2 3 111 33 +13 2 2 4 110 34 +13 2 2 5 111 34 +13 2 2 6 110 35 +13 2 2 7 111 35 +13 2 2 8 110 36 +13 2 2 9 111 36 +13 2 2 10 110 37 +13 2 2 11 -1 -1 +13 2 2 12 111 37 +13 2 2 13 110 38 +13 2 2 14 111 38 +13 2 2 15 110 39 +13 2 2 16 111 39 +13 2 2 17 110 40 +13 2 2 18 111 40 +13 2 2 19 110 41 +13 2 2 20 111 41 +13 2 2 21 110 42 +13 2 2 22 -1 -1 +13 2 2 23 111 42 +13 2 2 24 110 43 +13 2 2 25 111 43 +13 2 2 26 110 44 +13 2 2 27 111 44 +13 2 2 28 110 45 +13 2 2 29 111 45 +13 2 2 30 110 46 +13 2 2 31 111 46 +13 2 2 32 110 47 +13 2 2 33 111 47 +13 2 2 34 110 48 +13 2 2 35 111 48 +13 2 2 36 110 49 +13 2 2 37 111 49 +13 2 2 38 110 50 +13 2 2 39 111 50 +13 2 2 40 110 51 +13 2 2 41 111 51 +13 2 2 42 110 52 +13 2 2 43 111 52 +13 2 2 44 110 53 +13 2 2 45 -1 -1 +13 2 2 46 111 53 +13 2 2 47 110 54 +13 2 2 48 111 54 +13 2 2 49 110 55 +13 2 2 50 111 55 +13 2 2 51 110 56 +13 2 2 52 111 56 +13 2 2 53 110 57 +13 2 2 54 111 57 +13 2 2 55 110 58 +13 2 2 56 -1 -1 +13 2 2 57 111 58 +13 2 2 58 110 59 +13 2 2 59 111 59 +13 2 2 60 110 60 +13 2 2 61 111 60 +13 2 2 62 110 61 +13 2 2 63 111 61 +13 2 2 64 110 62 +13 2 2 65 111 62 +13 2 2 66 110 63 +13 2 2 67 111 63 +13 2 3 0 110 0 +13 2 3 1 111 0 +13 2 3 2 110 1 +13 2 3 3 111 1 +13 2 3 4 110 2 +13 2 3 5 111 2 +13 2 3 6 110 3 +13 2 3 7 111 3 +13 2 3 8 110 4 +13 2 3 9 111 4 +13 2 3 10 110 5 +13 2 3 11 -1 -1 +13 2 3 12 111 5 +13 2 3 13 110 6 +13 2 3 14 111 6 +13 2 3 15 110 7 +13 2 3 16 111 7 +13 2 3 17 110 8 +13 2 3 18 111 8 +13 2 3 19 110 9 +13 2 3 20 111 9 +13 2 3 21 110 10 +13 2 3 22 -1 -1 +13 2 3 23 111 10 +13 2 3 24 110 11 +13 2 3 25 111 11 +13 2 3 26 110 12 +13 2 3 27 111 12 +13 2 3 28 110 13 +13 2 3 29 111 13 +13 2 3 30 110 14 +13 2 3 31 111 14 +13 2 3 32 110 15 +13 2 3 33 111 15 +13 2 3 34 110 16 +13 2 3 35 111 16 +13 2 3 36 110 17 +13 2 3 37 111 17 +13 2 3 38 110 18 +13 2 3 39 111 18 +13 2 3 40 110 19 +13 2 3 41 111 19 +13 2 3 42 110 20 +13 2 3 43 111 20 +13 2 3 44 110 21 +13 2 3 45 -1 -1 +13 2 3 46 111 21 +13 2 3 47 110 22 +13 2 3 48 111 22 +13 2 3 49 110 23 +13 2 3 50 111 23 +13 2 3 51 110 24 +13 2 3 52 111 24 +13 2 3 53 110 25 +13 2 3 54 111 25 +13 2 3 55 110 26 +13 2 3 56 -1 -1 +13 2 3 57 111 26 +13 2 3 58 110 27 +13 2 3 59 111 27 +13 2 3 60 110 28 +13 2 3 61 111 28 +13 2 3 62 110 29 +13 2 3 63 111 29 +13 2 3 64 110 30 +13 2 3 65 111 30 +13 2 3 66 110 31 +13 2 3 67 111 31 +13 3 0 0 111 95 +13 3 0 1 110 95 +13 3 0 2 111 94 +13 3 0 3 110 94 +13 3 0 4 111 93 +13 3 0 5 110 93 +13 3 0 6 111 92 +13 3 0 7 110 92 +13 3 0 8 111 91 +13 3 0 9 110 91 +13 3 0 10 111 90 +13 3 0 11 -1 -1 +13 3 0 12 110 90 +13 3 0 13 111 89 +13 3 0 14 110 89 +13 3 0 15 111 88 +13 3 0 16 110 88 +13 3 0 17 111 87 +13 3 0 18 110 87 +13 3 0 19 111 86 +13 3 0 20 110 86 +13 3 0 21 111 85 +13 3 0 22 -1 -1 +13 3 0 23 110 85 +13 3 0 24 111 84 +13 3 0 25 110 84 +13 3 0 26 111 83 +13 3 0 27 110 83 +13 3 0 28 111 82 +13 3 0 29 110 82 +13 3 0 30 111 81 +13 3 0 31 110 81 +13 3 0 32 111 80 +13 3 0 33 110 80 +13 3 0 34 111 79 +13 3 0 35 110 79 +13 3 0 36 111 78 +13 3 0 37 110 78 +13 3 0 38 111 77 +13 3 0 39 110 77 +13 3 0 40 111 76 +13 3 0 41 110 76 +13 3 0 42 111 75 +13 3 0 43 110 75 +13 3 0 44 111 74 +13 3 0 45 -1 -1 +13 3 0 46 110 74 +13 3 0 47 111 73 +13 3 0 48 110 73 +13 3 0 49 111 72 +13 3 0 50 110 72 +13 3 0 51 111 71 +13 3 0 52 110 71 +13 3 0 53 111 70 +13 3 0 54 110 70 +13 3 0 55 111 69 +13 3 0 56 -1 -1 +13 3 0 57 110 69 +13 3 0 58 111 68 +13 3 0 59 110 68 +13 3 0 60 111 67 +13 3 0 61 110 67 +13 3 0 62 111 66 +13 3 0 63 110 66 +13 3 0 64 111 65 +13 3 0 65 110 65 +13 3 0 66 111 64 +13 3 0 67 110 64 +13 3 1 0 111 127 +13 3 1 1 110 127 +13 3 1 2 111 126 +13 3 1 3 110 126 +13 3 1 4 111 125 +13 3 1 5 110 125 +13 3 1 6 111 124 +13 3 1 7 110 124 +13 3 1 8 111 123 +13 3 1 9 110 123 +13 3 1 10 111 122 +13 3 1 11 -1 -1 +13 3 1 12 110 122 +13 3 1 13 111 121 +13 3 1 14 110 121 +13 3 1 15 111 120 +13 3 1 16 110 120 +13 3 1 17 111 119 +13 3 1 18 110 119 +13 3 1 19 111 118 +13 3 1 20 110 118 +13 3 1 21 111 117 +13 3 1 22 -1 -1 +13 3 1 23 110 117 +13 3 1 24 111 116 +13 3 1 25 110 116 +13 3 1 26 111 115 +13 3 1 27 110 115 +13 3 1 28 111 114 +13 3 1 29 110 114 +13 3 1 30 111 113 +13 3 1 31 110 113 +13 3 1 32 111 112 +13 3 1 33 110 112 +13 3 1 34 111 111 +13 3 1 35 110 111 +13 3 1 36 111 110 +13 3 1 37 110 110 +13 3 1 38 111 109 +13 3 1 39 110 109 +13 3 1 40 111 108 +13 3 1 41 110 108 +13 3 1 42 111 107 +13 3 1 43 110 107 +13 3 1 44 111 106 +13 3 1 45 -1 -1 +13 3 1 46 110 106 +13 3 1 47 111 105 +13 3 1 48 110 105 +13 3 1 49 111 104 +13 3 1 50 110 104 +13 3 1 51 111 103 +13 3 1 52 110 103 +13 3 1 53 111 102 +13 3 1 54 110 102 +13 3 1 55 111 101 +13 3 1 56 -1 -1 +13 3 1 57 110 101 +13 3 1 58 111 100 +13 3 1 59 110 100 +13 3 1 60 111 99 +13 3 1 61 110 99 +13 3 1 62 111 98 +13 3 1 63 110 98 +13 3 1 64 111 97 +13 3 1 65 110 97 +13 3 1 66 111 96 +13 3 1 67 110 96 +13 3 2 0 109 95 +13 3 2 1 108 95 +13 3 2 2 109 94 +13 3 2 3 108 94 +13 3 2 4 109 93 +13 3 2 5 108 93 +13 3 2 6 109 92 +13 3 2 7 108 92 +13 3 2 8 109 91 +13 3 2 9 108 91 +13 3 2 10 109 90 +13 3 2 11 -1 -1 +13 3 2 12 108 90 +13 3 2 13 109 89 +13 3 2 14 108 89 +13 3 2 15 109 88 +13 3 2 16 108 88 +13 3 2 17 109 87 +13 3 2 18 108 87 +13 3 2 19 109 86 +13 3 2 20 108 86 +13 3 2 21 109 85 +13 3 2 22 -1 -1 +13 3 2 23 108 85 +13 3 2 24 109 84 +13 3 2 25 108 84 +13 3 2 26 109 83 +13 3 2 27 108 83 +13 3 2 28 109 82 +13 3 2 29 108 82 +13 3 2 30 109 81 +13 3 2 31 108 81 +13 3 2 32 109 80 +13 3 2 33 108 80 +13 3 2 34 109 79 +13 3 2 35 108 79 +13 3 2 36 109 78 +13 3 2 37 108 78 +13 3 2 38 109 77 +13 3 2 39 108 77 +13 3 2 40 109 76 +13 3 2 41 108 76 +13 3 2 42 109 75 +13 3 2 43 108 75 +13 3 2 44 109 74 +13 3 2 45 -1 -1 +13 3 2 46 108 74 +13 3 2 47 109 73 +13 3 2 48 108 73 +13 3 2 49 109 72 +13 3 2 50 108 72 +13 3 2 51 109 71 +13 3 2 52 108 71 +13 3 2 53 109 70 +13 3 2 54 108 70 +13 3 2 55 109 69 +13 3 2 56 -1 -1 +13 3 2 57 108 69 +13 3 2 58 109 68 +13 3 2 59 108 68 +13 3 2 60 109 67 +13 3 2 61 108 67 +13 3 2 62 109 66 +13 3 2 63 108 66 +13 3 2 64 109 65 +13 3 2 65 108 65 +13 3 2 66 109 64 +13 3 2 67 108 64 +13 3 3 0 109 127 +13 3 3 1 108 127 +13 3 3 2 109 126 +13 3 3 3 108 126 +13 3 3 4 109 125 +13 3 3 5 108 125 +13 3 3 6 109 124 +13 3 3 7 108 124 +13 3 3 8 109 123 +13 3 3 9 108 123 +13 3 3 10 109 122 +13 3 3 11 -1 -1 +13 3 3 12 108 122 +13 3 3 13 109 121 +13 3 3 14 108 121 +13 3 3 15 109 120 +13 3 3 16 108 120 +13 3 3 17 109 119 +13 3 3 18 108 119 +13 3 3 19 109 118 +13 3 3 20 108 118 +13 3 3 21 109 117 +13 3 3 22 -1 -1 +13 3 3 23 108 117 +13 3 3 24 109 116 +13 3 3 25 108 116 +13 3 3 26 109 115 +13 3 3 27 108 115 +13 3 3 28 109 114 +13 3 3 29 108 114 +13 3 3 30 109 113 +13 3 3 31 108 113 +13 3 3 32 109 112 +13 3 3 33 108 112 +13 3 3 34 109 111 +13 3 3 35 108 111 +13 3 3 36 109 110 +13 3 3 37 108 110 +13 3 3 38 109 109 +13 3 3 39 108 109 +13 3 3 40 109 108 +13 3 3 41 108 108 +13 3 3 42 109 107 +13 3 3 43 108 107 +13 3 3 44 109 106 +13 3 3 45 -1 -1 +13 3 3 46 108 106 +13 3 3 47 109 105 +13 3 3 48 108 105 +13 3 3 49 109 104 +13 3 3 50 108 104 +13 3 3 51 109 103 +13 3 3 52 108 103 +13 3 3 53 109 102 +13 3 3 54 108 102 +13 3 3 55 109 101 +13 3 3 56 -1 -1 +13 3 3 57 108 101 +13 3 3 58 109 100 +13 3 3 59 108 100 +13 3 3 60 109 99 +13 3 3 61 108 99 +13 3 3 62 109 98 +13 3 3 63 108 98 +13 3 3 64 109 97 +13 3 3 65 108 97 +13 3 3 66 109 96 +13 3 3 67 108 96 +14 0 0 0 112 32 +14 0 0 1 113 32 +14 0 0 2 112 33 +14 0 0 3 113 33 +14 0 0 4 112 34 +14 0 0 5 113 34 +14 0 0 6 112 35 +14 0 0 7 113 35 +14 0 0 8 112 36 +14 0 0 9 113 36 +14 0 0 10 112 37 +14 0 0 11 -1 -1 +14 0 0 12 113 37 +14 0 0 13 112 38 +14 0 0 14 113 38 +14 0 0 15 112 39 +14 0 0 16 113 39 +14 0 0 17 112 40 +14 0 0 18 113 40 +14 0 0 19 112 41 +14 0 0 20 113 41 +14 0 0 21 112 42 +14 0 0 22 -1 -1 +14 0 0 23 113 42 +14 0 0 24 112 43 +14 0 0 25 113 43 +14 0 0 26 112 44 +14 0 0 27 113 44 +14 0 0 28 112 45 +14 0 0 29 113 45 +14 0 0 30 112 46 +14 0 0 31 113 46 +14 0 0 32 112 47 +14 0 0 33 113 47 +14 0 0 34 112 48 +14 0 0 35 113 48 +14 0 0 36 112 49 +14 0 0 37 113 49 +14 0 0 38 112 50 +14 0 0 39 113 50 +14 0 0 40 112 51 +14 0 0 41 113 51 +14 0 0 42 112 52 +14 0 0 43 113 52 +14 0 0 44 112 53 +14 0 0 45 -1 -1 +14 0 0 46 113 53 +14 0 0 47 112 54 +14 0 0 48 113 54 +14 0 0 49 112 55 +14 0 0 50 113 55 +14 0 0 51 112 56 +14 0 0 52 113 56 +14 0 0 53 112 57 +14 0 0 54 113 57 +14 0 0 55 112 58 +14 0 0 56 -1 -1 +14 0 0 57 113 58 +14 0 0 58 112 59 +14 0 0 59 113 59 +14 0 0 60 112 60 +14 0 0 61 113 60 +14 0 0 62 112 61 +14 0 0 63 113 61 +14 0 0 64 112 62 +14 0 0 65 113 62 +14 0 0 66 112 63 +14 0 0 67 113 63 +14 0 1 0 112 0 +14 0 1 1 113 0 +14 0 1 2 112 1 +14 0 1 3 113 1 +14 0 1 4 112 2 +14 0 1 5 113 2 +14 0 1 6 112 3 +14 0 1 7 113 3 +14 0 1 8 112 4 +14 0 1 9 113 4 +14 0 1 10 112 5 +14 0 1 11 -1 -1 +14 0 1 12 113 5 +14 0 1 13 112 6 +14 0 1 14 113 6 +14 0 1 15 112 7 +14 0 1 16 113 7 +14 0 1 17 112 8 +14 0 1 18 113 8 +14 0 1 19 112 9 +14 0 1 20 113 9 +14 0 1 21 112 10 +14 0 1 22 -1 -1 +14 0 1 23 113 10 +14 0 1 24 112 11 +14 0 1 25 113 11 +14 0 1 26 112 12 +14 0 1 27 113 12 +14 0 1 28 112 13 +14 0 1 29 113 13 +14 0 1 30 112 14 +14 0 1 31 113 14 +14 0 1 32 112 15 +14 0 1 33 113 15 +14 0 1 34 112 16 +14 0 1 35 113 16 +14 0 1 36 112 17 +14 0 1 37 113 17 +14 0 1 38 112 18 +14 0 1 39 113 18 +14 0 1 40 112 19 +14 0 1 41 113 19 +14 0 1 42 112 20 +14 0 1 43 113 20 +14 0 1 44 112 21 +14 0 1 45 -1 -1 +14 0 1 46 113 21 +14 0 1 47 112 22 +14 0 1 48 113 22 +14 0 1 49 112 23 +14 0 1 50 113 23 +14 0 1 51 112 24 +14 0 1 52 113 24 +14 0 1 53 112 25 +14 0 1 54 113 25 +14 0 1 55 112 26 +14 0 1 56 -1 -1 +14 0 1 57 113 26 +14 0 1 58 112 27 +14 0 1 59 113 27 +14 0 1 60 112 28 +14 0 1 61 113 28 +14 0 1 62 112 29 +14 0 1 63 113 29 +14 0 1 64 112 30 +14 0 1 65 113 30 +14 0 1 66 112 31 +14 0 1 67 113 31 +14 0 2 0 114 32 +14 0 2 1 115 32 +14 0 2 2 114 33 +14 0 2 3 115 33 +14 0 2 4 114 34 +14 0 2 5 115 34 +14 0 2 6 114 35 +14 0 2 7 115 35 +14 0 2 8 114 36 +14 0 2 9 115 36 +14 0 2 10 114 37 +14 0 2 11 -1 -1 +14 0 2 12 115 37 +14 0 2 13 114 38 +14 0 2 14 115 38 +14 0 2 15 114 39 +14 0 2 16 115 39 +14 0 2 17 114 40 +14 0 2 18 115 40 +14 0 2 19 114 41 +14 0 2 20 115 41 +14 0 2 21 114 42 +14 0 2 22 -1 -1 +14 0 2 23 115 42 +14 0 2 24 114 43 +14 0 2 25 115 43 +14 0 2 26 114 44 +14 0 2 27 115 44 +14 0 2 28 114 45 +14 0 2 29 115 45 +14 0 2 30 114 46 +14 0 2 31 115 46 +14 0 2 32 114 47 +14 0 2 33 115 47 +14 0 2 34 114 48 +14 0 2 35 115 48 +14 0 2 36 114 49 +14 0 2 37 115 49 +14 0 2 38 114 50 +14 0 2 39 115 50 +14 0 2 40 114 51 +14 0 2 41 115 51 +14 0 2 42 114 52 +14 0 2 43 115 52 +14 0 2 44 114 53 +14 0 2 45 -1 -1 +14 0 2 46 115 53 +14 0 2 47 114 54 +14 0 2 48 115 54 +14 0 2 49 114 55 +14 0 2 50 115 55 +14 0 2 51 114 56 +14 0 2 52 115 56 +14 0 2 53 114 57 +14 0 2 54 115 57 +14 0 2 55 114 58 +14 0 2 56 -1 -1 +14 0 2 57 115 58 +14 0 2 58 114 59 +14 0 2 59 115 59 +14 0 2 60 114 60 +14 0 2 61 115 60 +14 0 2 62 114 61 +14 0 2 63 115 61 +14 0 2 64 114 62 +14 0 2 65 115 62 +14 0 2 66 114 63 +14 0 2 67 115 63 +14 0 3 0 114 0 +14 0 3 1 115 0 +14 0 3 2 114 1 +14 0 3 3 115 1 +14 0 3 4 114 2 +14 0 3 5 115 2 +14 0 3 6 114 3 +14 0 3 7 115 3 +14 0 3 8 114 4 +14 0 3 9 115 4 +14 0 3 10 114 5 +14 0 3 11 -1 -1 +14 0 3 12 115 5 +14 0 3 13 114 6 +14 0 3 14 115 6 +14 0 3 15 114 7 +14 0 3 16 115 7 +14 0 3 17 114 8 +14 0 3 18 115 8 +14 0 3 19 114 9 +14 0 3 20 115 9 +14 0 3 21 114 10 +14 0 3 22 -1 -1 +14 0 3 23 115 10 +14 0 3 24 114 11 +14 0 3 25 115 11 +14 0 3 26 114 12 +14 0 3 27 115 12 +14 0 3 28 114 13 +14 0 3 29 115 13 +14 0 3 30 114 14 +14 0 3 31 115 14 +14 0 3 32 114 15 +14 0 3 33 115 15 +14 0 3 34 114 16 +14 0 3 35 115 16 +14 0 3 36 114 17 +14 0 3 37 115 17 +14 0 3 38 114 18 +14 0 3 39 115 18 +14 0 3 40 114 19 +14 0 3 41 115 19 +14 0 3 42 114 20 +14 0 3 43 115 20 +14 0 3 44 114 21 +14 0 3 45 -1 -1 +14 0 3 46 115 21 +14 0 3 47 114 22 +14 0 3 48 115 22 +14 0 3 49 114 23 +14 0 3 50 115 23 +14 0 3 51 114 24 +14 0 3 52 115 24 +14 0 3 53 114 25 +14 0 3 54 115 25 +14 0 3 55 114 26 +14 0 3 56 -1 -1 +14 0 3 57 115 26 +14 0 3 58 114 27 +14 0 3 59 115 27 +14 0 3 60 114 28 +14 0 3 61 115 28 +14 0 3 62 114 29 +14 0 3 63 115 29 +14 0 3 64 114 30 +14 0 3 65 115 30 +14 0 3 66 114 31 +14 0 3 67 115 31 +14 1 0 0 115 95 +14 1 0 1 114 95 +14 1 0 2 115 94 +14 1 0 3 114 94 +14 1 0 4 115 93 +14 1 0 5 114 93 +14 1 0 6 115 92 +14 1 0 7 114 92 +14 1 0 8 115 91 +14 1 0 9 114 91 +14 1 0 10 115 90 +14 1 0 11 -1 -1 +14 1 0 12 114 90 +14 1 0 13 115 89 +14 1 0 14 114 89 +14 1 0 15 115 88 +14 1 0 16 114 88 +14 1 0 17 115 87 +14 1 0 18 114 87 +14 1 0 19 115 86 +14 1 0 20 114 86 +14 1 0 21 115 85 +14 1 0 22 -1 -1 +14 1 0 23 114 85 +14 1 0 24 115 84 +14 1 0 25 114 84 +14 1 0 26 115 83 +14 1 0 27 114 83 +14 1 0 28 115 82 +14 1 0 29 114 82 +14 1 0 30 115 81 +14 1 0 31 114 81 +14 1 0 32 115 80 +14 1 0 33 114 80 +14 1 0 34 115 79 +14 1 0 35 114 79 +14 1 0 36 115 78 +14 1 0 37 114 78 +14 1 0 38 115 77 +14 1 0 39 114 77 +14 1 0 40 115 76 +14 1 0 41 114 76 +14 1 0 42 115 75 +14 1 0 43 114 75 +14 1 0 44 115 74 +14 1 0 45 -1 -1 +14 1 0 46 114 74 +14 1 0 47 115 73 +14 1 0 48 114 73 +14 1 0 49 115 72 +14 1 0 50 114 72 +14 1 0 51 115 71 +14 1 0 52 114 71 +14 1 0 53 115 70 +14 1 0 54 114 70 +14 1 0 55 115 69 +14 1 0 56 -1 -1 +14 1 0 57 114 69 +14 1 0 58 115 68 +14 1 0 59 114 68 +14 1 0 60 115 67 +14 1 0 61 114 67 +14 1 0 62 115 66 +14 1 0 63 114 66 +14 1 0 64 115 65 +14 1 0 65 114 65 +14 1 0 66 115 64 +14 1 0 67 114 64 +14 1 1 0 115 127 +14 1 1 1 114 127 +14 1 1 2 115 126 +14 1 1 3 114 126 +14 1 1 4 115 125 +14 1 1 5 114 125 +14 1 1 6 115 124 +14 1 1 7 114 124 +14 1 1 8 115 123 +14 1 1 9 114 123 +14 1 1 10 115 122 +14 1 1 11 -1 -1 +14 1 1 12 114 122 +14 1 1 13 115 121 +14 1 1 14 114 121 +14 1 1 15 115 120 +14 1 1 16 114 120 +14 1 1 17 115 119 +14 1 1 18 114 119 +14 1 1 19 115 118 +14 1 1 20 114 118 +14 1 1 21 115 117 +14 1 1 22 -1 -1 +14 1 1 23 114 117 +14 1 1 24 115 116 +14 1 1 25 114 116 +14 1 1 26 115 115 +14 1 1 27 114 115 +14 1 1 28 115 114 +14 1 1 29 114 114 +14 1 1 30 115 113 +14 1 1 31 114 113 +14 1 1 32 115 112 +14 1 1 33 114 112 +14 1 1 34 115 111 +14 1 1 35 114 111 +14 1 1 36 115 110 +14 1 1 37 114 110 +14 1 1 38 115 109 +14 1 1 39 114 109 +14 1 1 40 115 108 +14 1 1 41 114 108 +14 1 1 42 115 107 +14 1 1 43 114 107 +14 1 1 44 115 106 +14 1 1 45 -1 -1 +14 1 1 46 114 106 +14 1 1 47 115 105 +14 1 1 48 114 105 +14 1 1 49 115 104 +14 1 1 50 114 104 +14 1 1 51 115 103 +14 1 1 52 114 103 +14 1 1 53 115 102 +14 1 1 54 114 102 +14 1 1 55 115 101 +14 1 1 56 -1 -1 +14 1 1 57 114 101 +14 1 1 58 115 100 +14 1 1 59 114 100 +14 1 1 60 115 99 +14 1 1 61 114 99 +14 1 1 62 115 98 +14 1 1 63 114 98 +14 1 1 64 115 97 +14 1 1 65 114 97 +14 1 1 66 115 96 +14 1 1 67 114 96 +14 1 2 0 113 95 +14 1 2 1 112 95 +14 1 2 2 113 94 +14 1 2 3 112 94 +14 1 2 4 113 93 +14 1 2 5 112 93 +14 1 2 6 113 92 +14 1 2 7 112 92 +14 1 2 8 113 91 +14 1 2 9 112 91 +14 1 2 10 113 90 +14 1 2 11 -1 -1 +14 1 2 12 112 90 +14 1 2 13 113 89 +14 1 2 14 112 89 +14 1 2 15 113 88 +14 1 2 16 112 88 +14 1 2 17 113 87 +14 1 2 18 112 87 +14 1 2 19 113 86 +14 1 2 20 112 86 +14 1 2 21 113 85 +14 1 2 22 -1 -1 +14 1 2 23 112 85 +14 1 2 24 113 84 +14 1 2 25 112 84 +14 1 2 26 113 83 +14 1 2 27 112 83 +14 1 2 28 113 82 +14 1 2 29 112 82 +14 1 2 30 113 81 +14 1 2 31 112 81 +14 1 2 32 113 80 +14 1 2 33 112 80 +14 1 2 34 113 79 +14 1 2 35 112 79 +14 1 2 36 113 78 +14 1 2 37 112 78 +14 1 2 38 113 77 +14 1 2 39 112 77 +14 1 2 40 113 76 +14 1 2 41 112 76 +14 1 2 42 113 75 +14 1 2 43 112 75 +14 1 2 44 113 74 +14 1 2 45 -1 -1 +14 1 2 46 112 74 +14 1 2 47 113 73 +14 1 2 48 112 73 +14 1 2 49 113 72 +14 1 2 50 112 72 +14 1 2 51 113 71 +14 1 2 52 112 71 +14 1 2 53 113 70 +14 1 2 54 112 70 +14 1 2 55 113 69 +14 1 2 56 -1 -1 +14 1 2 57 112 69 +14 1 2 58 113 68 +14 1 2 59 112 68 +14 1 2 60 113 67 +14 1 2 61 112 67 +14 1 2 62 113 66 +14 1 2 63 112 66 +14 1 2 64 113 65 +14 1 2 65 112 65 +14 1 2 66 113 64 +14 1 2 67 112 64 +14 1 3 0 113 127 +14 1 3 1 112 127 +14 1 3 2 113 126 +14 1 3 3 112 126 +14 1 3 4 113 125 +14 1 3 5 112 125 +14 1 3 6 113 124 +14 1 3 7 112 124 +14 1 3 8 113 123 +14 1 3 9 112 123 +14 1 3 10 113 122 +14 1 3 11 -1 -1 +14 1 3 12 112 122 +14 1 3 13 113 121 +14 1 3 14 112 121 +14 1 3 15 113 120 +14 1 3 16 112 120 +14 1 3 17 113 119 +14 1 3 18 112 119 +14 1 3 19 113 118 +14 1 3 20 112 118 +14 1 3 21 113 117 +14 1 3 22 -1 -1 +14 1 3 23 112 117 +14 1 3 24 113 116 +14 1 3 25 112 116 +14 1 3 26 113 115 +14 1 3 27 112 115 +14 1 3 28 113 114 +14 1 3 29 112 114 +14 1 3 30 113 113 +14 1 3 31 112 113 +14 1 3 32 113 112 +14 1 3 33 112 112 +14 1 3 34 113 111 +14 1 3 35 112 111 +14 1 3 36 113 110 +14 1 3 37 112 110 +14 1 3 38 113 109 +14 1 3 39 112 109 +14 1 3 40 113 108 +14 1 3 41 112 108 +14 1 3 42 113 107 +14 1 3 43 112 107 +14 1 3 44 113 106 +14 1 3 45 -1 -1 +14 1 3 46 112 106 +14 1 3 47 113 105 +14 1 3 48 112 105 +14 1 3 49 113 104 +14 1 3 50 112 104 +14 1 3 51 113 103 +14 1 3 52 112 103 +14 1 3 53 113 102 +14 1 3 54 112 102 +14 1 3 55 113 101 +14 1 3 56 -1 -1 +14 1 3 57 112 101 +14 1 3 58 113 100 +14 1 3 59 112 100 +14 1 3 60 113 99 +14 1 3 61 112 99 +14 1 3 62 113 98 +14 1 3 63 112 98 +14 1 3 64 113 97 +14 1 3 65 112 97 +14 1 3 66 113 96 +14 1 3 67 112 96 +14 2 0 0 116 32 +14 2 0 1 117 32 +14 2 0 2 116 33 +14 2 0 3 117 33 +14 2 0 4 116 34 +14 2 0 5 117 34 +14 2 0 6 116 35 +14 2 0 7 117 35 +14 2 0 8 116 36 +14 2 0 9 117 36 +14 2 0 10 116 37 +14 2 0 11 -1 -1 +14 2 0 12 117 37 +14 2 0 13 116 38 +14 2 0 14 117 38 +14 2 0 15 116 39 +14 2 0 16 117 39 +14 2 0 17 116 40 +14 2 0 18 117 40 +14 2 0 19 116 41 +14 2 0 20 117 41 +14 2 0 21 116 42 +14 2 0 22 -1 -1 +14 2 0 23 117 42 +14 2 0 24 116 43 +14 2 0 25 117 43 +14 2 0 26 116 44 +14 2 0 27 117 44 +14 2 0 28 116 45 +14 2 0 29 117 45 +14 2 0 30 116 46 +14 2 0 31 117 46 +14 2 0 32 116 47 +14 2 0 33 117 47 +14 2 0 34 116 48 +14 2 0 35 117 48 +14 2 0 36 116 49 +14 2 0 37 117 49 +14 2 0 38 116 50 +14 2 0 39 117 50 +14 2 0 40 116 51 +14 2 0 41 117 51 +14 2 0 42 116 52 +14 2 0 43 117 52 +14 2 0 44 116 53 +14 2 0 45 -1 -1 +14 2 0 46 117 53 +14 2 0 47 116 54 +14 2 0 48 117 54 +14 2 0 49 116 55 +14 2 0 50 117 55 +14 2 0 51 116 56 +14 2 0 52 117 56 +14 2 0 53 116 57 +14 2 0 54 117 57 +14 2 0 55 116 58 +14 2 0 56 -1 -1 +14 2 0 57 117 58 +14 2 0 58 116 59 +14 2 0 59 117 59 +14 2 0 60 116 60 +14 2 0 61 117 60 +14 2 0 62 116 61 +14 2 0 63 117 61 +14 2 0 64 116 62 +14 2 0 65 117 62 +14 2 0 66 116 63 +14 2 0 67 117 63 +14 2 1 0 116 0 +14 2 1 1 117 0 +14 2 1 2 116 1 +14 2 1 3 117 1 +14 2 1 4 116 2 +14 2 1 5 117 2 +14 2 1 6 116 3 +14 2 1 7 117 3 +14 2 1 8 116 4 +14 2 1 9 117 4 +14 2 1 10 116 5 +14 2 1 11 -1 -1 +14 2 1 12 117 5 +14 2 1 13 116 6 +14 2 1 14 117 6 +14 2 1 15 116 7 +14 2 1 16 117 7 +14 2 1 17 116 8 +14 2 1 18 117 8 +14 2 1 19 116 9 +14 2 1 20 117 9 +14 2 1 21 116 10 +14 2 1 22 -1 -1 +14 2 1 23 117 10 +14 2 1 24 116 11 +14 2 1 25 117 11 +14 2 1 26 116 12 +14 2 1 27 117 12 +14 2 1 28 116 13 +14 2 1 29 117 13 +14 2 1 30 116 14 +14 2 1 31 117 14 +14 2 1 32 116 15 +14 2 1 33 117 15 +14 2 1 34 116 16 +14 2 1 35 117 16 +14 2 1 36 116 17 +14 2 1 37 117 17 +14 2 1 38 116 18 +14 2 1 39 117 18 +14 2 1 40 116 19 +14 2 1 41 117 19 +14 2 1 42 116 20 +14 2 1 43 117 20 +14 2 1 44 116 21 +14 2 1 45 -1 -1 +14 2 1 46 117 21 +14 2 1 47 116 22 +14 2 1 48 117 22 +14 2 1 49 116 23 +14 2 1 50 117 23 +14 2 1 51 116 24 +14 2 1 52 117 24 +14 2 1 53 116 25 +14 2 1 54 117 25 +14 2 1 55 116 26 +14 2 1 56 -1 -1 +14 2 1 57 117 26 +14 2 1 58 116 27 +14 2 1 59 117 27 +14 2 1 60 116 28 +14 2 1 61 117 28 +14 2 1 62 116 29 +14 2 1 63 117 29 +14 2 1 64 116 30 +14 2 1 65 117 30 +14 2 1 66 116 31 +14 2 1 67 117 31 +14 2 2 0 118 32 +14 2 2 1 119 32 +14 2 2 2 118 33 +14 2 2 3 119 33 +14 2 2 4 118 34 +14 2 2 5 119 34 +14 2 2 6 118 35 +14 2 2 7 119 35 +14 2 2 8 118 36 +14 2 2 9 119 36 +14 2 2 10 118 37 +14 2 2 11 -1 -1 +14 2 2 12 119 37 +14 2 2 13 118 38 +14 2 2 14 119 38 +14 2 2 15 118 39 +14 2 2 16 119 39 +14 2 2 17 118 40 +14 2 2 18 119 40 +14 2 2 19 118 41 +14 2 2 20 119 41 +14 2 2 21 118 42 +14 2 2 22 -1 -1 +14 2 2 23 119 42 +14 2 2 24 118 43 +14 2 2 25 119 43 +14 2 2 26 118 44 +14 2 2 27 119 44 +14 2 2 28 118 45 +14 2 2 29 119 45 +14 2 2 30 118 46 +14 2 2 31 119 46 +14 2 2 32 118 47 +14 2 2 33 119 47 +14 2 2 34 118 48 +14 2 2 35 119 48 +14 2 2 36 118 49 +14 2 2 37 119 49 +14 2 2 38 118 50 +14 2 2 39 119 50 +14 2 2 40 118 51 +14 2 2 41 119 51 +14 2 2 42 118 52 +14 2 2 43 119 52 +14 2 2 44 118 53 +14 2 2 45 -1 -1 +14 2 2 46 119 53 +14 2 2 47 118 54 +14 2 2 48 119 54 +14 2 2 49 118 55 +14 2 2 50 119 55 +14 2 2 51 118 56 +14 2 2 52 119 56 +14 2 2 53 118 57 +14 2 2 54 119 57 +14 2 2 55 118 58 +14 2 2 56 -1 -1 +14 2 2 57 119 58 +14 2 2 58 118 59 +14 2 2 59 119 59 +14 2 2 60 118 60 +14 2 2 61 119 60 +14 2 2 62 118 61 +14 2 2 63 119 61 +14 2 2 64 118 62 +14 2 2 65 119 62 +14 2 2 66 118 63 +14 2 2 67 119 63 +14 2 3 0 118 0 +14 2 3 1 119 0 +14 2 3 2 118 1 +14 2 3 3 119 1 +14 2 3 4 118 2 +14 2 3 5 119 2 +14 2 3 6 118 3 +14 2 3 7 119 3 +14 2 3 8 118 4 +14 2 3 9 119 4 +14 2 3 10 118 5 +14 2 3 11 -1 -1 +14 2 3 12 119 5 +14 2 3 13 118 6 +14 2 3 14 119 6 +14 2 3 15 118 7 +14 2 3 16 119 7 +14 2 3 17 118 8 +14 2 3 18 119 8 +14 2 3 19 118 9 +14 2 3 20 119 9 +14 2 3 21 118 10 +14 2 3 22 -1 -1 +14 2 3 23 119 10 +14 2 3 24 118 11 +14 2 3 25 119 11 +14 2 3 26 118 12 +14 2 3 27 119 12 +14 2 3 28 118 13 +14 2 3 29 119 13 +14 2 3 30 118 14 +14 2 3 31 119 14 +14 2 3 32 118 15 +14 2 3 33 119 15 +14 2 3 34 118 16 +14 2 3 35 119 16 +14 2 3 36 118 17 +14 2 3 37 119 17 +14 2 3 38 118 18 +14 2 3 39 119 18 +14 2 3 40 118 19 +14 2 3 41 119 19 +14 2 3 42 118 20 +14 2 3 43 119 20 +14 2 3 44 118 21 +14 2 3 45 -1 -1 +14 2 3 46 119 21 +14 2 3 47 118 22 +14 2 3 48 119 22 +14 2 3 49 118 23 +14 2 3 50 119 23 +14 2 3 51 118 24 +14 2 3 52 119 24 +14 2 3 53 118 25 +14 2 3 54 119 25 +14 2 3 55 118 26 +14 2 3 56 -1 -1 +14 2 3 57 119 26 +14 2 3 58 118 27 +14 2 3 59 119 27 +14 2 3 60 118 28 +14 2 3 61 119 28 +14 2 3 62 118 29 +14 2 3 63 119 29 +14 2 3 64 118 30 +14 2 3 65 119 30 +14 2 3 66 118 31 +14 2 3 67 119 31 +14 3 0 0 119 95 +14 3 0 1 118 95 +14 3 0 2 119 94 +14 3 0 3 118 94 +14 3 0 4 119 93 +14 3 0 5 118 93 +14 3 0 6 119 92 +14 3 0 7 118 92 +14 3 0 8 119 91 +14 3 0 9 118 91 +14 3 0 10 119 90 +14 3 0 11 -1 -1 +14 3 0 12 118 90 +14 3 0 13 119 89 +14 3 0 14 118 89 +14 3 0 15 119 88 +14 3 0 16 118 88 +14 3 0 17 119 87 +14 3 0 18 118 87 +14 3 0 19 119 86 +14 3 0 20 118 86 +14 3 0 21 119 85 +14 3 0 22 -1 -1 +14 3 0 23 118 85 +14 3 0 24 119 84 +14 3 0 25 118 84 +14 3 0 26 119 83 +14 3 0 27 118 83 +14 3 0 28 119 82 +14 3 0 29 118 82 +14 3 0 30 119 81 +14 3 0 31 118 81 +14 3 0 32 119 80 +14 3 0 33 118 80 +14 3 0 34 119 79 +14 3 0 35 118 79 +14 3 0 36 119 78 +14 3 0 37 118 78 +14 3 0 38 119 77 +14 3 0 39 118 77 +14 3 0 40 119 76 +14 3 0 41 118 76 +14 3 0 42 119 75 +14 3 0 43 118 75 +14 3 0 44 119 74 +14 3 0 45 -1 -1 +14 3 0 46 118 74 +14 3 0 47 119 73 +14 3 0 48 118 73 +14 3 0 49 119 72 +14 3 0 50 118 72 +14 3 0 51 119 71 +14 3 0 52 118 71 +14 3 0 53 119 70 +14 3 0 54 118 70 +14 3 0 55 119 69 +14 3 0 56 -1 -1 +14 3 0 57 118 69 +14 3 0 58 119 68 +14 3 0 59 118 68 +14 3 0 60 119 67 +14 3 0 61 118 67 +14 3 0 62 119 66 +14 3 0 63 118 66 +14 3 0 64 119 65 +14 3 0 65 118 65 +14 3 0 66 119 64 +14 3 0 67 118 64 +14 3 1 0 119 127 +14 3 1 1 118 127 +14 3 1 2 119 126 +14 3 1 3 118 126 +14 3 1 4 119 125 +14 3 1 5 118 125 +14 3 1 6 119 124 +14 3 1 7 118 124 +14 3 1 8 119 123 +14 3 1 9 118 123 +14 3 1 10 119 122 +14 3 1 11 -1 -1 +14 3 1 12 118 122 +14 3 1 13 119 121 +14 3 1 14 118 121 +14 3 1 15 119 120 +14 3 1 16 118 120 +14 3 1 17 119 119 +14 3 1 18 118 119 +14 3 1 19 119 118 +14 3 1 20 118 118 +14 3 1 21 119 117 +14 3 1 22 -1 -1 +14 3 1 23 118 117 +14 3 1 24 119 116 +14 3 1 25 118 116 +14 3 1 26 119 115 +14 3 1 27 118 115 +14 3 1 28 119 114 +14 3 1 29 118 114 +14 3 1 30 119 113 +14 3 1 31 118 113 +14 3 1 32 119 112 +14 3 1 33 118 112 +14 3 1 34 119 111 +14 3 1 35 118 111 +14 3 1 36 119 110 +14 3 1 37 118 110 +14 3 1 38 119 109 +14 3 1 39 118 109 +14 3 1 40 119 108 +14 3 1 41 118 108 +14 3 1 42 119 107 +14 3 1 43 118 107 +14 3 1 44 119 106 +14 3 1 45 -1 -1 +14 3 1 46 118 106 +14 3 1 47 119 105 +14 3 1 48 118 105 +14 3 1 49 119 104 +14 3 1 50 118 104 +14 3 1 51 119 103 +14 3 1 52 118 103 +14 3 1 53 119 102 +14 3 1 54 118 102 +14 3 1 55 119 101 +14 3 1 56 -1 -1 +14 3 1 57 118 101 +14 3 1 58 119 100 +14 3 1 59 118 100 +14 3 1 60 119 99 +14 3 1 61 118 99 +14 3 1 62 119 98 +14 3 1 63 118 98 +14 3 1 64 119 97 +14 3 1 65 118 97 +14 3 1 66 119 96 +14 3 1 67 118 96 +14 3 2 0 117 95 +14 3 2 1 116 95 +14 3 2 2 117 94 +14 3 2 3 116 94 +14 3 2 4 117 93 +14 3 2 5 116 93 +14 3 2 6 117 92 +14 3 2 7 116 92 +14 3 2 8 117 91 +14 3 2 9 116 91 +14 3 2 10 117 90 +14 3 2 11 -1 -1 +14 3 2 12 116 90 +14 3 2 13 117 89 +14 3 2 14 116 89 +14 3 2 15 117 88 +14 3 2 16 116 88 +14 3 2 17 117 87 +14 3 2 18 116 87 +14 3 2 19 117 86 +14 3 2 20 116 86 +14 3 2 21 117 85 +14 3 2 22 -1 -1 +14 3 2 23 116 85 +14 3 2 24 117 84 +14 3 2 25 116 84 +14 3 2 26 117 83 +14 3 2 27 116 83 +14 3 2 28 117 82 +14 3 2 29 116 82 +14 3 2 30 117 81 +14 3 2 31 116 81 +14 3 2 32 117 80 +14 3 2 33 116 80 +14 3 2 34 117 79 +14 3 2 35 116 79 +14 3 2 36 117 78 +14 3 2 37 116 78 +14 3 2 38 117 77 +14 3 2 39 116 77 +14 3 2 40 117 76 +14 3 2 41 116 76 +14 3 2 42 117 75 +14 3 2 43 116 75 +14 3 2 44 117 74 +14 3 2 45 -1 -1 +14 3 2 46 116 74 +14 3 2 47 117 73 +14 3 2 48 116 73 +14 3 2 49 117 72 +14 3 2 50 116 72 +14 3 2 51 117 71 +14 3 2 52 116 71 +14 3 2 53 117 70 +14 3 2 54 116 70 +14 3 2 55 117 69 +14 3 2 56 -1 -1 +14 3 2 57 116 69 +14 3 2 58 117 68 +14 3 2 59 116 68 +14 3 2 60 117 67 +14 3 2 61 116 67 +14 3 2 62 117 66 +14 3 2 63 116 66 +14 3 2 64 117 65 +14 3 2 65 116 65 +14 3 2 66 117 64 +14 3 2 67 116 64 +14 3 3 0 117 127 +14 3 3 1 116 127 +14 3 3 2 117 126 +14 3 3 3 116 126 +14 3 3 4 117 125 +14 3 3 5 116 125 +14 3 3 6 117 124 +14 3 3 7 116 124 +14 3 3 8 117 123 +14 3 3 9 116 123 +14 3 3 10 117 122 +14 3 3 11 -1 -1 +14 3 3 12 116 122 +14 3 3 13 117 121 +14 3 3 14 116 121 +14 3 3 15 117 120 +14 3 3 16 116 120 +14 3 3 17 117 119 +14 3 3 18 116 119 +14 3 3 19 117 118 +14 3 3 20 116 118 +14 3 3 21 117 117 +14 3 3 22 -1 -1 +14 3 3 23 116 117 +14 3 3 24 117 116 +14 3 3 25 116 116 +14 3 3 26 117 115 +14 3 3 27 116 115 +14 3 3 28 117 114 +14 3 3 29 116 114 +14 3 3 30 117 113 +14 3 3 31 116 113 +14 3 3 32 117 112 +14 3 3 33 116 112 +14 3 3 34 117 111 +14 3 3 35 116 111 +14 3 3 36 117 110 +14 3 3 37 116 110 +14 3 3 38 117 109 +14 3 3 39 116 109 +14 3 3 40 117 108 +14 3 3 41 116 108 +14 3 3 42 117 107 +14 3 3 43 116 107 +14 3 3 44 117 106 +14 3 3 45 -1 -1 +14 3 3 46 116 106 +14 3 3 47 117 105 +14 3 3 48 116 105 +14 3 3 49 117 104 +14 3 3 50 116 104 +14 3 3 51 117 103 +14 3 3 52 116 103 +14 3 3 53 117 102 +14 3 3 54 116 102 +14 3 3 55 117 101 +14 3 3 56 -1 -1 +14 3 3 57 116 101 +14 3 3 58 117 100 +14 3 3 59 116 100 +14 3 3 60 117 99 +14 3 3 61 116 99 +14 3 3 62 117 98 +14 3 3 63 116 98 +14 3 3 64 117 97 +14 3 3 65 116 97 +14 3 3 66 117 96 +14 3 3 67 116 96 +15 0 0 0 120 32 +15 0 0 1 121 32 +15 0 0 2 120 33 +15 0 0 3 121 33 +15 0 0 4 120 34 +15 0 0 5 121 34 +15 0 0 6 120 35 +15 0 0 7 121 35 +15 0 0 8 120 36 +15 0 0 9 121 36 +15 0 0 10 120 37 +15 0 0 11 -1 -1 +15 0 0 12 121 37 +15 0 0 13 120 38 +15 0 0 14 121 38 +15 0 0 15 120 39 +15 0 0 16 121 39 +15 0 0 17 120 40 +15 0 0 18 121 40 +15 0 0 19 120 41 +15 0 0 20 121 41 +15 0 0 21 120 42 +15 0 0 22 -1 -1 +15 0 0 23 121 42 +15 0 0 24 120 43 +15 0 0 25 121 43 +15 0 0 26 120 44 +15 0 0 27 121 44 +15 0 0 28 120 45 +15 0 0 29 121 45 +15 0 0 30 120 46 +15 0 0 31 121 46 +15 0 0 32 120 47 +15 0 0 33 121 47 +15 0 0 34 120 48 +15 0 0 35 121 48 +15 0 0 36 120 49 +15 0 0 37 121 49 +15 0 0 38 120 50 +15 0 0 39 121 50 +15 0 0 40 120 51 +15 0 0 41 121 51 +15 0 0 42 120 52 +15 0 0 43 121 52 +15 0 0 44 120 53 +15 0 0 45 -1 -1 +15 0 0 46 121 53 +15 0 0 47 120 54 +15 0 0 48 121 54 +15 0 0 49 120 55 +15 0 0 50 121 55 +15 0 0 51 120 56 +15 0 0 52 121 56 +15 0 0 53 120 57 +15 0 0 54 121 57 +15 0 0 55 120 58 +15 0 0 56 -1 -1 +15 0 0 57 121 58 +15 0 0 58 120 59 +15 0 0 59 121 59 +15 0 0 60 120 60 +15 0 0 61 121 60 +15 0 0 62 120 61 +15 0 0 63 121 61 +15 0 0 64 120 62 +15 0 0 65 121 62 +15 0 0 66 120 63 +15 0 0 67 121 63 +15 0 1 0 120 0 +15 0 1 1 121 0 +15 0 1 2 120 1 +15 0 1 3 121 1 +15 0 1 4 120 2 +15 0 1 5 121 2 +15 0 1 6 120 3 +15 0 1 7 121 3 +15 0 1 8 120 4 +15 0 1 9 121 4 +15 0 1 10 120 5 +15 0 1 11 -1 -1 +15 0 1 12 121 5 +15 0 1 13 120 6 +15 0 1 14 121 6 +15 0 1 15 120 7 +15 0 1 16 121 7 +15 0 1 17 120 8 +15 0 1 18 121 8 +15 0 1 19 120 9 +15 0 1 20 121 9 +15 0 1 21 120 10 +15 0 1 22 -1 -1 +15 0 1 23 121 10 +15 0 1 24 120 11 +15 0 1 25 121 11 +15 0 1 26 120 12 +15 0 1 27 121 12 +15 0 1 28 120 13 +15 0 1 29 121 13 +15 0 1 30 120 14 +15 0 1 31 121 14 +15 0 1 32 120 15 +15 0 1 33 121 15 +15 0 1 34 120 16 +15 0 1 35 121 16 +15 0 1 36 120 17 +15 0 1 37 121 17 +15 0 1 38 120 18 +15 0 1 39 121 18 +15 0 1 40 120 19 +15 0 1 41 121 19 +15 0 1 42 120 20 +15 0 1 43 121 20 +15 0 1 44 120 21 +15 0 1 45 -1 -1 +15 0 1 46 121 21 +15 0 1 47 120 22 +15 0 1 48 121 22 +15 0 1 49 120 23 +15 0 1 50 121 23 +15 0 1 51 120 24 +15 0 1 52 121 24 +15 0 1 53 120 25 +15 0 1 54 121 25 +15 0 1 55 120 26 +15 0 1 56 -1 -1 +15 0 1 57 121 26 +15 0 1 58 120 27 +15 0 1 59 121 27 +15 0 1 60 120 28 +15 0 1 61 121 28 +15 0 1 62 120 29 +15 0 1 63 121 29 +15 0 1 64 120 30 +15 0 1 65 121 30 +15 0 1 66 120 31 +15 0 1 67 121 31 +15 0 2 0 122 32 +15 0 2 1 123 32 +15 0 2 2 122 33 +15 0 2 3 123 33 +15 0 2 4 122 34 +15 0 2 5 123 34 +15 0 2 6 122 35 +15 0 2 7 123 35 +15 0 2 8 122 36 +15 0 2 9 123 36 +15 0 2 10 122 37 +15 0 2 11 -1 -1 +15 0 2 12 123 37 +15 0 2 13 122 38 +15 0 2 14 123 38 +15 0 2 15 122 39 +15 0 2 16 123 39 +15 0 2 17 122 40 +15 0 2 18 123 40 +15 0 2 19 122 41 +15 0 2 20 123 41 +15 0 2 21 122 42 +15 0 2 22 -1 -1 +15 0 2 23 123 42 +15 0 2 24 122 43 +15 0 2 25 123 43 +15 0 2 26 122 44 +15 0 2 27 123 44 +15 0 2 28 122 45 +15 0 2 29 123 45 +15 0 2 30 122 46 +15 0 2 31 123 46 +15 0 2 32 122 47 +15 0 2 33 123 47 +15 0 2 34 122 48 +15 0 2 35 123 48 +15 0 2 36 122 49 +15 0 2 37 123 49 +15 0 2 38 122 50 +15 0 2 39 123 50 +15 0 2 40 122 51 +15 0 2 41 123 51 +15 0 2 42 122 52 +15 0 2 43 123 52 +15 0 2 44 122 53 +15 0 2 45 -1 -1 +15 0 2 46 123 53 +15 0 2 47 122 54 +15 0 2 48 123 54 +15 0 2 49 122 55 +15 0 2 50 123 55 +15 0 2 51 122 56 +15 0 2 52 123 56 +15 0 2 53 122 57 +15 0 2 54 123 57 +15 0 2 55 122 58 +15 0 2 56 -1 -1 +15 0 2 57 123 58 +15 0 2 58 122 59 +15 0 2 59 123 59 +15 0 2 60 122 60 +15 0 2 61 123 60 +15 0 2 62 122 61 +15 0 2 63 123 61 +15 0 2 64 122 62 +15 0 2 65 123 62 +15 0 2 66 122 63 +15 0 2 67 123 63 +15 0 3 0 122 0 +15 0 3 1 123 0 +15 0 3 2 122 1 +15 0 3 3 123 1 +15 0 3 4 122 2 +15 0 3 5 123 2 +15 0 3 6 122 3 +15 0 3 7 123 3 +15 0 3 8 122 4 +15 0 3 9 123 4 +15 0 3 10 122 5 +15 0 3 11 -1 -1 +15 0 3 12 123 5 +15 0 3 13 122 6 +15 0 3 14 123 6 +15 0 3 15 122 7 +15 0 3 16 123 7 +15 0 3 17 122 8 +15 0 3 18 123 8 +15 0 3 19 122 9 +15 0 3 20 123 9 +15 0 3 21 122 10 +15 0 3 22 -1 -1 +15 0 3 23 123 10 +15 0 3 24 122 11 +15 0 3 25 123 11 +15 0 3 26 122 12 +15 0 3 27 123 12 +15 0 3 28 122 13 +15 0 3 29 123 13 +15 0 3 30 122 14 +15 0 3 31 123 14 +15 0 3 32 122 15 +15 0 3 33 123 15 +15 0 3 34 122 16 +15 0 3 35 123 16 +15 0 3 36 122 17 +15 0 3 37 123 17 +15 0 3 38 122 18 +15 0 3 39 123 18 +15 0 3 40 122 19 +15 0 3 41 123 19 +15 0 3 42 122 20 +15 0 3 43 123 20 +15 0 3 44 122 21 +15 0 3 45 -1 -1 +15 0 3 46 123 21 +15 0 3 47 122 22 +15 0 3 48 123 22 +15 0 3 49 122 23 +15 0 3 50 123 23 +15 0 3 51 122 24 +15 0 3 52 123 24 +15 0 3 53 122 25 +15 0 3 54 123 25 +15 0 3 55 122 26 +15 0 3 56 -1 -1 +15 0 3 57 123 26 +15 0 3 58 122 27 +15 0 3 59 123 27 +15 0 3 60 122 28 +15 0 3 61 123 28 +15 0 3 62 122 29 +15 0 3 63 123 29 +15 0 3 64 122 30 +15 0 3 65 123 30 +15 0 3 66 122 31 +15 0 3 67 123 31 +15 1 0 0 123 95 +15 1 0 1 122 95 +15 1 0 2 123 94 +15 1 0 3 122 94 +15 1 0 4 123 93 +15 1 0 5 122 93 +15 1 0 6 123 92 +15 1 0 7 122 92 +15 1 0 8 123 91 +15 1 0 9 122 91 +15 1 0 10 123 90 +15 1 0 11 -1 -1 +15 1 0 12 122 90 +15 1 0 13 123 89 +15 1 0 14 122 89 +15 1 0 15 123 88 +15 1 0 16 122 88 +15 1 0 17 123 87 +15 1 0 18 122 87 +15 1 0 19 123 86 +15 1 0 20 122 86 +15 1 0 21 123 85 +15 1 0 22 -1 -1 +15 1 0 23 122 85 +15 1 0 24 123 84 +15 1 0 25 122 84 +15 1 0 26 123 83 +15 1 0 27 122 83 +15 1 0 28 123 82 +15 1 0 29 122 82 +15 1 0 30 123 81 +15 1 0 31 122 81 +15 1 0 32 123 80 +15 1 0 33 122 80 +15 1 0 34 123 79 +15 1 0 35 122 79 +15 1 0 36 123 78 +15 1 0 37 122 78 +15 1 0 38 123 77 +15 1 0 39 122 77 +15 1 0 40 123 76 +15 1 0 41 122 76 +15 1 0 42 123 75 +15 1 0 43 122 75 +15 1 0 44 123 74 +15 1 0 45 -1 -1 +15 1 0 46 122 74 +15 1 0 47 123 73 +15 1 0 48 122 73 +15 1 0 49 123 72 +15 1 0 50 122 72 +15 1 0 51 123 71 +15 1 0 52 122 71 +15 1 0 53 123 70 +15 1 0 54 122 70 +15 1 0 55 123 69 +15 1 0 56 -1 -1 +15 1 0 57 122 69 +15 1 0 58 123 68 +15 1 0 59 122 68 +15 1 0 60 123 67 +15 1 0 61 122 67 +15 1 0 62 123 66 +15 1 0 63 122 66 +15 1 0 64 123 65 +15 1 0 65 122 65 +15 1 0 66 123 64 +15 1 0 67 122 64 +15 1 1 0 123 127 +15 1 1 1 122 127 +15 1 1 2 123 126 +15 1 1 3 122 126 +15 1 1 4 123 125 +15 1 1 5 122 125 +15 1 1 6 123 124 +15 1 1 7 122 124 +15 1 1 8 123 123 +15 1 1 9 122 123 +15 1 1 10 123 122 +15 1 1 11 -1 -1 +15 1 1 12 122 122 +15 1 1 13 123 121 +15 1 1 14 122 121 +15 1 1 15 123 120 +15 1 1 16 122 120 +15 1 1 17 123 119 +15 1 1 18 122 119 +15 1 1 19 123 118 +15 1 1 20 122 118 +15 1 1 21 123 117 +15 1 1 22 -1 -1 +15 1 1 23 122 117 +15 1 1 24 123 116 +15 1 1 25 122 116 +15 1 1 26 123 115 +15 1 1 27 122 115 +15 1 1 28 123 114 +15 1 1 29 122 114 +15 1 1 30 123 113 +15 1 1 31 122 113 +15 1 1 32 123 112 +15 1 1 33 122 112 +15 1 1 34 123 111 +15 1 1 35 122 111 +15 1 1 36 123 110 +15 1 1 37 122 110 +15 1 1 38 123 109 +15 1 1 39 122 109 +15 1 1 40 123 108 +15 1 1 41 122 108 +15 1 1 42 123 107 +15 1 1 43 122 107 +15 1 1 44 123 106 +15 1 1 45 -1 -1 +15 1 1 46 122 106 +15 1 1 47 123 105 +15 1 1 48 122 105 +15 1 1 49 123 104 +15 1 1 50 122 104 +15 1 1 51 123 103 +15 1 1 52 122 103 +15 1 1 53 123 102 +15 1 1 54 122 102 +15 1 1 55 123 101 +15 1 1 56 -1 -1 +15 1 1 57 122 101 +15 1 1 58 123 100 +15 1 1 59 122 100 +15 1 1 60 123 99 +15 1 1 61 122 99 +15 1 1 62 123 98 +15 1 1 63 122 98 +15 1 1 64 123 97 +15 1 1 65 122 97 +15 1 1 66 123 96 +15 1 1 67 122 96 +15 1 2 0 121 95 +15 1 2 1 120 95 +15 1 2 2 121 94 +15 1 2 3 120 94 +15 1 2 4 121 93 +15 1 2 5 120 93 +15 1 2 6 121 92 +15 1 2 7 120 92 +15 1 2 8 121 91 +15 1 2 9 120 91 +15 1 2 10 121 90 +15 1 2 11 -1 -1 +15 1 2 12 120 90 +15 1 2 13 121 89 +15 1 2 14 120 89 +15 1 2 15 121 88 +15 1 2 16 120 88 +15 1 2 17 121 87 +15 1 2 18 120 87 +15 1 2 19 121 86 +15 1 2 20 120 86 +15 1 2 21 121 85 +15 1 2 22 -1 -1 +15 1 2 23 120 85 +15 1 2 24 121 84 +15 1 2 25 120 84 +15 1 2 26 121 83 +15 1 2 27 120 83 +15 1 2 28 121 82 +15 1 2 29 120 82 +15 1 2 30 121 81 +15 1 2 31 120 81 +15 1 2 32 121 80 +15 1 2 33 120 80 +15 1 2 34 121 79 +15 1 2 35 120 79 +15 1 2 36 121 78 +15 1 2 37 120 78 +15 1 2 38 121 77 +15 1 2 39 120 77 +15 1 2 40 121 76 +15 1 2 41 120 76 +15 1 2 42 121 75 +15 1 2 43 120 75 +15 1 2 44 121 74 +15 1 2 45 -1 -1 +15 1 2 46 120 74 +15 1 2 47 121 73 +15 1 2 48 120 73 +15 1 2 49 121 72 +15 1 2 50 120 72 +15 1 2 51 121 71 +15 1 2 52 120 71 +15 1 2 53 121 70 +15 1 2 54 120 70 +15 1 2 55 121 69 +15 1 2 56 -1 -1 +15 1 2 57 120 69 +15 1 2 58 121 68 +15 1 2 59 120 68 +15 1 2 60 121 67 +15 1 2 61 120 67 +15 1 2 62 121 66 +15 1 2 63 120 66 +15 1 2 64 121 65 +15 1 2 65 120 65 +15 1 2 66 121 64 +15 1 2 67 120 64 +15 1 3 0 121 127 +15 1 3 1 120 127 +15 1 3 2 121 126 +15 1 3 3 120 126 +15 1 3 4 121 125 +15 1 3 5 120 125 +15 1 3 6 121 124 +15 1 3 7 120 124 +15 1 3 8 121 123 +15 1 3 9 120 123 +15 1 3 10 121 122 +15 1 3 11 -1 -1 +15 1 3 12 120 122 +15 1 3 13 121 121 +15 1 3 14 120 121 +15 1 3 15 121 120 +15 1 3 16 120 120 +15 1 3 17 121 119 +15 1 3 18 120 119 +15 1 3 19 121 118 +15 1 3 20 120 118 +15 1 3 21 121 117 +15 1 3 22 -1 -1 +15 1 3 23 120 117 +15 1 3 24 121 116 +15 1 3 25 120 116 +15 1 3 26 121 115 +15 1 3 27 120 115 +15 1 3 28 121 114 +15 1 3 29 120 114 +15 1 3 30 121 113 +15 1 3 31 120 113 +15 1 3 32 121 112 +15 1 3 33 120 112 +15 1 3 34 121 111 +15 1 3 35 120 111 +15 1 3 36 121 110 +15 1 3 37 120 110 +15 1 3 38 121 109 +15 1 3 39 120 109 +15 1 3 40 121 108 +15 1 3 41 120 108 +15 1 3 42 121 107 +15 1 3 43 120 107 +15 1 3 44 121 106 +15 1 3 45 -1 -1 +15 1 3 46 120 106 +15 1 3 47 121 105 +15 1 3 48 120 105 +15 1 3 49 121 104 +15 1 3 50 120 104 +15 1 3 51 121 103 +15 1 3 52 120 103 +15 1 3 53 121 102 +15 1 3 54 120 102 +15 1 3 55 121 101 +15 1 3 56 -1 -1 +15 1 3 57 120 101 +15 1 3 58 121 100 +15 1 3 59 120 100 +15 1 3 60 121 99 +15 1 3 61 120 99 +15 1 3 62 121 98 +15 1 3 63 120 98 +15 1 3 64 121 97 +15 1 3 65 120 97 +15 1 3 66 121 96 +15 1 3 67 120 96 +15 2 0 0 124 32 +15 2 0 1 125 32 +15 2 0 2 124 33 +15 2 0 3 125 33 +15 2 0 4 124 34 +15 2 0 5 125 34 +15 2 0 6 124 35 +15 2 0 7 125 35 +15 2 0 8 124 36 +15 2 0 9 125 36 +15 2 0 10 124 37 +15 2 0 11 -1 -1 +15 2 0 12 125 37 +15 2 0 13 124 38 +15 2 0 14 125 38 +15 2 0 15 124 39 +15 2 0 16 125 39 +15 2 0 17 124 40 +15 2 0 18 125 40 +15 2 0 19 124 41 +15 2 0 20 125 41 +15 2 0 21 124 42 +15 2 0 22 -1 -1 +15 2 0 23 125 42 +15 2 0 24 124 43 +15 2 0 25 125 43 +15 2 0 26 124 44 +15 2 0 27 125 44 +15 2 0 28 124 45 +15 2 0 29 125 45 +15 2 0 30 124 46 +15 2 0 31 125 46 +15 2 0 32 124 47 +15 2 0 33 125 47 +15 2 0 34 124 48 +15 2 0 35 125 48 +15 2 0 36 124 49 +15 2 0 37 125 49 +15 2 0 38 124 50 +15 2 0 39 125 50 +15 2 0 40 124 51 +15 2 0 41 125 51 +15 2 0 42 124 52 +15 2 0 43 125 52 +15 2 0 44 124 53 +15 2 0 45 -1 -1 +15 2 0 46 125 53 +15 2 0 47 124 54 +15 2 0 48 125 54 +15 2 0 49 124 55 +15 2 0 50 125 55 +15 2 0 51 124 56 +15 2 0 52 125 56 +15 2 0 53 124 57 +15 2 0 54 125 57 +15 2 0 55 124 58 +15 2 0 56 -1 -1 +15 2 0 57 125 58 +15 2 0 58 124 59 +15 2 0 59 125 59 +15 2 0 60 124 60 +15 2 0 61 125 60 +15 2 0 62 124 61 +15 2 0 63 125 61 +15 2 0 64 124 62 +15 2 0 65 125 62 +15 2 0 66 124 63 +15 2 0 67 125 63 +15 2 1 0 124 0 +15 2 1 1 125 0 +15 2 1 2 124 1 +15 2 1 3 125 1 +15 2 1 4 124 2 +15 2 1 5 125 2 +15 2 1 6 124 3 +15 2 1 7 125 3 +15 2 1 8 124 4 +15 2 1 9 125 4 +15 2 1 10 124 5 +15 2 1 11 -1 -1 +15 2 1 12 125 5 +15 2 1 13 124 6 +15 2 1 14 125 6 +15 2 1 15 124 7 +15 2 1 16 125 7 +15 2 1 17 124 8 +15 2 1 18 125 8 +15 2 1 19 124 9 +15 2 1 20 125 9 +15 2 1 21 124 10 +15 2 1 22 -1 -1 +15 2 1 23 125 10 +15 2 1 24 124 11 +15 2 1 25 125 11 +15 2 1 26 124 12 +15 2 1 27 125 12 +15 2 1 28 124 13 +15 2 1 29 125 13 +15 2 1 30 124 14 +15 2 1 31 125 14 +15 2 1 32 124 15 +15 2 1 33 125 15 +15 2 1 34 124 16 +15 2 1 35 125 16 +15 2 1 36 124 17 +15 2 1 37 125 17 +15 2 1 38 124 18 +15 2 1 39 125 18 +15 2 1 40 124 19 +15 2 1 41 125 19 +15 2 1 42 124 20 +15 2 1 43 125 20 +15 2 1 44 124 21 +15 2 1 45 -1 -1 +15 2 1 46 125 21 +15 2 1 47 124 22 +15 2 1 48 125 22 +15 2 1 49 124 23 +15 2 1 50 125 23 +15 2 1 51 124 24 +15 2 1 52 125 24 +15 2 1 53 124 25 +15 2 1 54 125 25 +15 2 1 55 124 26 +15 2 1 56 -1 -1 +15 2 1 57 125 26 +15 2 1 58 124 27 +15 2 1 59 125 27 +15 2 1 60 124 28 +15 2 1 61 125 28 +15 2 1 62 124 29 +15 2 1 63 125 29 +15 2 1 64 124 30 +15 2 1 65 125 30 +15 2 1 66 124 31 +15 2 1 67 125 31 +15 2 2 0 126 32 +15 2 2 1 127 32 +15 2 2 2 126 33 +15 2 2 3 127 33 +15 2 2 4 126 34 +15 2 2 5 127 34 +15 2 2 6 126 35 +15 2 2 7 127 35 +15 2 2 8 126 36 +15 2 2 9 127 36 +15 2 2 10 126 37 +15 2 2 11 -1 -1 +15 2 2 12 127 37 +15 2 2 13 126 38 +15 2 2 14 127 38 +15 2 2 15 126 39 +15 2 2 16 127 39 +15 2 2 17 126 40 +15 2 2 18 127 40 +15 2 2 19 126 41 +15 2 2 20 127 41 +15 2 2 21 126 42 +15 2 2 22 -1 -1 +15 2 2 23 127 42 +15 2 2 24 126 43 +15 2 2 25 127 43 +15 2 2 26 126 44 +15 2 2 27 127 44 +15 2 2 28 126 45 +15 2 2 29 127 45 +15 2 2 30 126 46 +15 2 2 31 127 46 +15 2 2 32 126 47 +15 2 2 33 127 47 +15 2 2 34 126 48 +15 2 2 35 127 48 +15 2 2 36 126 49 +15 2 2 37 127 49 +15 2 2 38 126 50 +15 2 2 39 127 50 +15 2 2 40 126 51 +15 2 2 41 127 51 +15 2 2 42 126 52 +15 2 2 43 127 52 +15 2 2 44 126 53 +15 2 2 45 -1 -1 +15 2 2 46 127 53 +15 2 2 47 126 54 +15 2 2 48 127 54 +15 2 2 49 126 55 +15 2 2 50 127 55 +15 2 2 51 126 56 +15 2 2 52 127 56 +15 2 2 53 126 57 +15 2 2 54 127 57 +15 2 2 55 126 58 +15 2 2 56 -1 -1 +15 2 2 57 127 58 +15 2 2 58 126 59 +15 2 2 59 127 59 +15 2 2 60 126 60 +15 2 2 61 127 60 +15 2 2 62 126 61 +15 2 2 63 127 61 +15 2 2 64 126 62 +15 2 2 65 127 62 +15 2 2 66 126 63 +15 2 2 67 127 63 +15 2 3 0 126 0 +15 2 3 1 127 0 +15 2 3 2 126 1 +15 2 3 3 127 1 +15 2 3 4 126 2 +15 2 3 5 127 2 +15 2 3 6 126 3 +15 2 3 7 127 3 +15 2 3 8 126 4 +15 2 3 9 127 4 +15 2 3 10 126 5 +15 2 3 11 -1 -1 +15 2 3 12 127 5 +15 2 3 13 126 6 +15 2 3 14 127 6 +15 2 3 15 126 7 +15 2 3 16 127 7 +15 2 3 17 126 8 +15 2 3 18 127 8 +15 2 3 19 126 9 +15 2 3 20 127 9 +15 2 3 21 126 10 +15 2 3 22 -1 -1 +15 2 3 23 127 10 +15 2 3 24 126 11 +15 2 3 25 127 11 +15 2 3 26 126 12 +15 2 3 27 127 12 +15 2 3 28 126 13 +15 2 3 29 127 13 +15 2 3 30 126 14 +15 2 3 31 127 14 +15 2 3 32 126 15 +15 2 3 33 127 15 +15 2 3 34 126 16 +15 2 3 35 127 16 +15 2 3 36 126 17 +15 2 3 37 127 17 +15 2 3 38 126 18 +15 2 3 39 127 18 +15 2 3 40 126 19 +15 2 3 41 127 19 +15 2 3 42 126 20 +15 2 3 43 127 20 +15 2 3 44 126 21 +15 2 3 45 -1 -1 +15 2 3 46 127 21 +15 2 3 47 126 22 +15 2 3 48 127 22 +15 2 3 49 126 23 +15 2 3 50 127 23 +15 2 3 51 126 24 +15 2 3 52 127 24 +15 2 3 53 126 25 +15 2 3 54 127 25 +15 2 3 55 126 26 +15 2 3 56 -1 -1 +15 2 3 57 127 26 +15 2 3 58 126 27 +15 2 3 59 127 27 +15 2 3 60 126 28 +15 2 3 61 127 28 +15 2 3 62 126 29 +15 2 3 63 127 29 +15 2 3 64 126 30 +15 2 3 65 127 30 +15 2 3 66 126 31 +15 2 3 67 127 31 +15 3 0 0 127 95 +15 3 0 1 126 95 +15 3 0 2 127 94 +15 3 0 3 126 94 +15 3 0 4 127 93 +15 3 0 5 126 93 +15 3 0 6 127 92 +15 3 0 7 126 92 +15 3 0 8 127 91 +15 3 0 9 126 91 +15 3 0 10 127 90 +15 3 0 11 -1 -1 +15 3 0 12 126 90 +15 3 0 13 127 89 +15 3 0 14 126 89 +15 3 0 15 127 88 +15 3 0 16 126 88 +15 3 0 17 127 87 +15 3 0 18 126 87 +15 3 0 19 127 86 +15 3 0 20 126 86 +15 3 0 21 127 85 +15 3 0 22 -1 -1 +15 3 0 23 126 85 +15 3 0 24 127 84 +15 3 0 25 126 84 +15 3 0 26 127 83 +15 3 0 27 126 83 +15 3 0 28 127 82 +15 3 0 29 126 82 +15 3 0 30 127 81 +15 3 0 31 126 81 +15 3 0 32 127 80 +15 3 0 33 126 80 +15 3 0 34 127 79 +15 3 0 35 126 79 +15 3 0 36 127 78 +15 3 0 37 126 78 +15 3 0 38 127 77 +15 3 0 39 126 77 +15 3 0 40 127 76 +15 3 0 41 126 76 +15 3 0 42 127 75 +15 3 0 43 126 75 +15 3 0 44 127 74 +15 3 0 45 -1 -1 +15 3 0 46 126 74 +15 3 0 47 127 73 +15 3 0 48 126 73 +15 3 0 49 127 72 +15 3 0 50 126 72 +15 3 0 51 127 71 +15 3 0 52 126 71 +15 3 0 53 127 70 +15 3 0 54 126 70 +15 3 0 55 127 69 +15 3 0 56 -1 -1 +15 3 0 57 126 69 +15 3 0 58 127 68 +15 3 0 59 126 68 +15 3 0 60 127 67 +15 3 0 61 126 67 +15 3 0 62 127 66 +15 3 0 63 126 66 +15 3 0 64 127 65 +15 3 0 65 126 65 +15 3 0 66 127 64 +15 3 0 67 126 64 +15 3 1 0 127 127 +15 3 1 1 126 127 +15 3 1 2 127 126 +15 3 1 3 126 126 +15 3 1 4 127 125 +15 3 1 5 126 125 +15 3 1 6 127 124 +15 3 1 7 126 124 +15 3 1 8 127 123 +15 3 1 9 126 123 +15 3 1 10 127 122 +15 3 1 11 -1 -1 +15 3 1 12 126 122 +15 3 1 13 127 121 +15 3 1 14 126 121 +15 3 1 15 127 120 +15 3 1 16 126 120 +15 3 1 17 127 119 +15 3 1 18 126 119 +15 3 1 19 127 118 +15 3 1 20 126 118 +15 3 1 21 127 117 +15 3 1 22 -1 -1 +15 3 1 23 126 117 +15 3 1 24 127 116 +15 3 1 25 126 116 +15 3 1 26 127 115 +15 3 1 27 126 115 +15 3 1 28 127 114 +15 3 1 29 126 114 +15 3 1 30 127 113 +15 3 1 31 126 113 +15 3 1 32 127 112 +15 3 1 33 126 112 +15 3 1 34 127 111 +15 3 1 35 126 111 +15 3 1 36 127 110 +15 3 1 37 126 110 +15 3 1 38 127 109 +15 3 1 39 126 109 +15 3 1 40 127 108 +15 3 1 41 126 108 +15 3 1 42 127 107 +15 3 1 43 126 107 +15 3 1 44 127 106 +15 3 1 45 -1 -1 +15 3 1 46 126 106 +15 3 1 47 127 105 +15 3 1 48 126 105 +15 3 1 49 127 104 +15 3 1 50 126 104 +15 3 1 51 127 103 +15 3 1 52 126 103 +15 3 1 53 127 102 +15 3 1 54 126 102 +15 3 1 55 127 101 +15 3 1 56 -1 -1 +15 3 1 57 126 101 +15 3 1 58 127 100 +15 3 1 59 126 100 +15 3 1 60 127 99 +15 3 1 61 126 99 +15 3 1 62 127 98 +15 3 1 63 126 98 +15 3 1 64 127 97 +15 3 1 65 126 97 +15 3 1 66 127 96 +15 3 1 67 126 96 +15 3 2 0 125 95 +15 3 2 1 124 95 +15 3 2 2 125 94 +15 3 2 3 124 94 +15 3 2 4 125 93 +15 3 2 5 124 93 +15 3 2 6 125 92 +15 3 2 7 124 92 +15 3 2 8 125 91 +15 3 2 9 124 91 +15 3 2 10 125 90 +15 3 2 11 -1 -1 +15 3 2 12 124 90 +15 3 2 13 125 89 +15 3 2 14 124 89 +15 3 2 15 125 88 +15 3 2 16 124 88 +15 3 2 17 125 87 +15 3 2 18 124 87 +15 3 2 19 125 86 +15 3 2 20 124 86 +15 3 2 21 125 85 +15 3 2 22 -1 -1 +15 3 2 23 124 85 +15 3 2 24 125 84 +15 3 2 25 124 84 +15 3 2 26 125 83 +15 3 2 27 124 83 +15 3 2 28 125 82 +15 3 2 29 124 82 +15 3 2 30 125 81 +15 3 2 31 124 81 +15 3 2 32 125 80 +15 3 2 33 124 80 +15 3 2 34 125 79 +15 3 2 35 124 79 +15 3 2 36 125 78 +15 3 2 37 124 78 +15 3 2 38 125 77 +15 3 2 39 124 77 +15 3 2 40 125 76 +15 3 2 41 124 76 +15 3 2 42 125 75 +15 3 2 43 124 75 +15 3 2 44 125 74 +15 3 2 45 -1 -1 +15 3 2 46 124 74 +15 3 2 47 125 73 +15 3 2 48 124 73 +15 3 2 49 125 72 +15 3 2 50 124 72 +15 3 2 51 125 71 +15 3 2 52 124 71 +15 3 2 53 125 70 +15 3 2 54 124 70 +15 3 2 55 125 69 +15 3 2 56 -1 -1 +15 3 2 57 124 69 +15 3 2 58 125 68 +15 3 2 59 124 68 +15 3 2 60 125 67 +15 3 2 61 124 67 +15 3 2 62 125 66 +15 3 2 63 124 66 +15 3 2 64 125 65 +15 3 2 65 124 65 +15 3 2 66 125 64 +15 3 2 67 124 64 +15 3 3 0 125 127 +15 3 3 1 124 127 +15 3 3 2 125 126 +15 3 3 3 124 126 +15 3 3 4 125 125 +15 3 3 5 124 125 +15 3 3 6 125 124 +15 3 3 7 124 124 +15 3 3 8 125 123 +15 3 3 9 124 123 +15 3 3 10 125 122 +15 3 3 11 -1 -1 +15 3 3 12 124 122 +15 3 3 13 125 121 +15 3 3 14 124 121 +15 3 3 15 125 120 +15 3 3 16 124 120 +15 3 3 17 125 119 +15 3 3 18 124 119 +15 3 3 19 125 118 +15 3 3 20 124 118 +15 3 3 21 125 117 +15 3 3 22 -1 -1 +15 3 3 23 124 117 +15 3 3 24 125 116 +15 3 3 25 124 116 +15 3 3 26 125 115 +15 3 3 27 124 115 +15 3 3 28 125 114 +15 3 3 29 124 114 +15 3 3 30 125 113 +15 3 3 31 124 113 +15 3 3 32 125 112 +15 3 3 33 124 112 +15 3 3 34 125 111 +15 3 3 35 124 111 +15 3 3 36 125 110 +15 3 3 37 124 110 +15 3 3 38 125 109 +15 3 3 39 124 109 +15 3 3 40 125 108 +15 3 3 41 124 108 +15 3 3 42 125 107 +15 3 3 43 124 107 +15 3 3 44 125 106 +15 3 3 45 -1 -1 +15 3 3 46 124 106 +15 3 3 47 125 105 +15 3 3 48 124 105 +15 3 3 49 125 104 +15 3 3 50 124 104 +15 3 3 51 125 103 +15 3 3 52 124 103 +15 3 3 53 125 102 +15 3 3 54 124 102 +15 3 3 55 125 101 +15 3 3 56 -1 -1 +15 3 3 57 124 101 +15 3 3 58 125 100 +15 3 3 59 124 100 +15 3 3 60 125 99 +15 3 3 61 124 99 +15 3 3 62 125 98 +15 3 3 63 124 98 +15 3 3 64 125 97 +15 3 3 65 124 97 +15 3 3 66 125 96 +15 3 3 67 124 96 diff --git a/NPSimulation/Detectors/GeTAMU/GeTAMUScorers.cc b/NPSimulation/Detectors/GeTAMU/GeTAMUScorers.cc index 5f373ac8f4ef41094d3882eaf5905807c96c3c06..17ae2b0621bfd0d51d8bb93a7c03873a1d58a4de 100644 --- a/NPSimulation/Detectors/GeTAMU/GeTAMUScorers.cc +++ b/NPSimulation/Detectors/GeTAMU/GeTAMUScorers.cc @@ -15,8 +15,9 @@ using namespace GETAMUSCORERS; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PS_GeTAMU::PS_GeTAMU(G4String name,G4int Level,G4int depth) - :G4VPrimitiveScorer(name, depth),HCID(-1){ +PS_GeTAMU::PS_GeTAMU(G4String name,G4int ,G4int depth) + :G4VPrimitiveScorer(name, depth){ + HCID=-1; m_Position = G4ThreeVector(-1000,-1000,-1000); m_LocalPosition = G4ThreeVector(-1000,-1000,-1000); m_CloverNumber = -1; diff --git a/NPSimulation/Detectors/MUST2/MUST2Array.cc b/NPSimulation/Detectors/MUST2/MUST2Array.cc index 6796a6dfac3206508ac163a23905c90f850df6df..950046182d705c9fb0bafc476bf1046bda5d1340 100644 --- a/NPSimulation/Detectors/MUST2/MUST2Array.cc +++ b/NPSimulation/Detectors/MUST2/MUST2Array.cc @@ -44,7 +44,8 @@ #include "SiliconScorers.hh" #include "CalorimeterScorers.hh" #include "NPOptionManager.h" - +// NPL +#include "NPCore.h" //ROOT #include "RootOutput.h" @@ -758,9 +759,10 @@ void MUST2Array::ReadSensitive(const G4Event* event){ if(r==0){ trig.insert(detectorNbr); // Energy - m_Event->SetStripXE(detectorNbr,b+1,energyX); + m_Event->SetStripXE(detectorNbr,b+1,NPL::EnergyToADC(energyX,0,63,8192,16384)); // Time - m_Event->SetStripXT(detectorNbr,b+1,RandGauss::shoot(time, ResoTimeMust)); + double timeX = TimeOffset - RandGauss::shoot(time, ResoTimeMust); + m_Event->SetStripXT(detectorNbr,b+1,NPL::EnergyToADC(timeX,0,1000,8192,16384)); } else{ // Interstrip X, keep maximum shared energy double rand = G4UniformRand(); @@ -769,9 +771,10 @@ void MUST2Array::ReadSensitive(const G4Event* event){ if(energyX>0.1*keV){ trig.insert(detectorNbr); // Energy - m_Event->SetStripXE(detectorNbr,b+1,energyX) ; + m_Event->SetStripXE(detectorNbr,b+1,NPL::EnergyToADC(energyX,0,63,8192,16384)) ; // Time - m_Event->SetStripXT(detectorNbr,b+1,RandGauss::shoot(time, ResoTimeMust)); + double timeX = TimeOffset - RandGauss::shoot(time, ResoTimeMust); + m_Event->SetStripXT(detectorNbr,b+1,NPL::EnergyToADC(timeX,0,1000,8192,16384)); } } else{ @@ -780,10 +783,11 @@ void MUST2Array::ReadSensitive(const G4Event* event){ trig.insert(detectorNbr); // Energy - m_Event->SetStripXE(detectorNbr,g+1,energyX) ; + m_Event->SetStripXE(detectorNbr,g+1,NPL::EnergyToADC(energyX,0,63,8192,16384)) ; // Time - m_Event->SetStripXT(detectorNbr,g+1,RandGauss::shoot(time, ResoTimeMust)); - } + double timeX = TimeOffset - RandGauss::shoot(time, ResoTimeMust); + m_Event->SetStripXT(detectorNbr,b+1,NPL::EnergyToADC(timeX,0,1000,8192,16384)); + } } } } @@ -799,10 +803,11 @@ void MUST2Array::ReadSensitive(const G4Event* event){ if(r==0){ trig.insert(detectorNbr); // Energy - m_Event->SetStripYE(detectorNbr,b+1,energyY); + m_Event->SetStripYE(detectorNbr,b+1,NPL::EnergyToADC(energyY,0,63,8192,0)); // Time - m_Event->SetStripYT(detectorNbr,b+1,RandGauss::shoot(time, ResoTimeMust)); - } + double timeY = TimeOffset - RandGauss::shoot(time, ResoTimeMust); + m_Event->SetStripYT(detectorNbr,b+1,NPL::EnergyToADC(timeY,0,1000,8192,16384)); + } else{ // Interstrip Y, keep both strip with shared energy double rand = G4UniformRand(); double energyY1 = rand*energyY; @@ -810,19 +815,22 @@ void MUST2Array::ReadSensitive(const G4Event* event){ trig.insert(detectorNbr); // Energy - m_Event->SetStripYE(detectorNbr,b+1,energyY1); + m_Event->SetStripYE(detectorNbr,b+1,NPL::EnergyToADC(energyY1,0,63,8192,0)); + // Time - m_Event->SetStripYT(detectorNbr,b+1,RandGauss::shoot(time, ResoTimeMust)); - } + double timeY = TimeOffset - RandGauss::shoot(time, ResoTimeMust); + m_Event->SetStripYT(detectorNbr,b+1,NPL::EnergyToADC(timeY,0,1000,8192,16384)); + } if(energyY1>0.1*keV){ trig.insert(detectorNbr); double energyY2 = (1-rand)*energyY; // Energy - m_Event->SetStripYE(detectorNbr,g+1,energyY2); + m_Event->SetStripYE(detectorNbr,g+1,NPL::EnergyToADC(energyY2,0,63,8192,0)); // Time - m_Event->SetStripYT(detectorNbr,g+1,RandGauss::shoot(time, ResoTimeMust)); - } + double timeY = TimeOffset - RandGauss::shoot(time, ResoTimeMust); + m_Event->SetStripYT(detectorNbr,b+1,NPL::EnergyToADC(timeY,0,1000,8192,16384)); + } } } @@ -859,8 +867,10 @@ void MUST2Array::ReadSensitive(const G4Event* event){ for(SiLi_itr = SiLiHitMap->GetMap()->begin(); SiLi_itr!=SiLiHitMap->GetMap()->end() ; SiLi_itr++){ G4double* Info = *(SiLi_itr->second); if(Info[7]==*itr){//matching telescope number - m_Event->SetSiLiE(Info[7],Info[8],RandGauss::shoot(Info[0],ResoSiLi)); - m_Event->SetSiLiT(Info[7],Info[8],RandGauss::shoot(Info[1],ResoTimeMust)); + double ESiLi = RandGauss::shoot(Info[0],ResoSiLi); + m_Event->SetSiLiE(Info[7],Info[8],NPL::EnergyToADC(ESiLi,0,250,8192,16384)); + double timeSiLi = RandGauss::shoot(Info[1],ResoTimeMust); + m_Event->SetSiLiT(Info[7],Info[8],NPL::EnergyToADC(timeSiLi,0,1000,16384,8192)); } } } @@ -871,8 +881,10 @@ void MUST2Array::ReadSensitive(const G4Event* event){ G4double* Info = *(CsI_itr->second); if(Info[7]==*itr){//matching telescope number - m_Event->SetCsIE(Info[7],Info[8],RandGauss::shoot(Info[0],ResoCsI)); - m_Event->SetCsIT(Info[7],Info[8],RandGauss::shoot(Info[1],ResoTimeMust)); + double ECsI = RandGauss::shoot(Info[0],ResoCsI); + m_Event->SetCsIE(Info[7],Info[8],NPL::EnergyToADC(ECsI,0,250,8192,16384)); + double timeCsI = RandGauss::shoot(Info[1],ResoTimeMust); + m_Event->SetCsIT(Info[7],Info[8],NPL::EnergyToADC(timeCsI,0,1000,16384,8192)); } } } diff --git a/NPSimulation/Detectors/MUST2/MUST2Array.hh b/NPSimulation/Detectors/MUST2/MUST2Array.hh index ad42412f731a20931131f46bbdb6638afcec0899..883b62a014f0a5f593fcf54d3be2c750052f6e86 100644 --- a/NPSimulation/Detectors/MUST2/MUST2Array.hh +++ b/NPSimulation/Detectors/MUST2/MUST2Array.hh @@ -39,7 +39,7 @@ namespace MUST2 const G4double ResoSiLi = 0.028 ;// = 130 keV of resolution // Unit is MeV/2.35 const G4double ResoCsI = 0.08 ;// = 188 kev of resolution // Unit is MeV/2.35 const G4double ResoStrip = 0.0149 ;// 0.0223 = 52keV of Resolution // Unit is MeV/2.35 14.861996 - + const G4double TimeOffset = 500 ;// 500 ns stop // Geometry const G4double FaceFront = 11.*cm ; const G4double FaceBack = 16.5*cm ; diff --git a/NPSimulation/Detectors/Tigress/Tigress.cc b/NPSimulation/Detectors/Tigress/Tigress.cc index c0aa303e3b724f97366952897b03d64e11c1046f..95d0be9285d315222cea3e943585ba586f904a8a 100644 --- a/NPSimulation/Detectors/Tigress/Tigress.cc +++ b/NPSimulation/Detectors/Tigress/Tigress.cc @@ -592,11 +592,11 @@ void Tigress::ReadSensitive(const G4Event* event){ G4double* Info = *(HPGE_itr->second); - G4double Energy = Info[0]; // RandGauss::shoot(Info[0], ResoEnergy/2.334); - G4double Time = Info[1]; - G4int CloverNbr = (int)Info[7]; +// G4double Energy = Info[0]; // RandGauss::shoot(Info[0], ResoEnergy/2.334); +// G4double Time = Info[1]; +// G4int CloverNbr = (int)Info[7]; G4int CrystalNbr = (int)Info[8]; - + // Figure out segment number, in progress G4int SegmentNbr = 0; G4double zpos = Info[4]; // mm @@ -604,13 +604,6 @@ void Tigress::ReadSensitive(const G4Event* event){ else if(CrystalNbr == 1 || CrystalNbr == 4) { SegmentNbr = 1; } // RIGHT else { SegmentNbr = 3; } // LEFT - // To avoid warning for now, in progress - Energy=Energy; - Time=Time; - CloverNbr=CloverNbr; - CrystalNbr=CrystalNbr; - SegmentNbr=SegmentNbr; - //m_TigressData->SetCoreE(CloverNbr, CrystalNbr, Energy/keV); //m_TigressData->SetCoreT(CloverNbr, CrystalNbr, Time/ns); //m_TigressData->SetSegmentE(CloverNbr, SegmentNbr, Energy/keV); diff --git a/NPSimulation/Detectors/Tigress/Tigress.hh b/NPSimulation/Detectors/Tigress/Tigress.hh index 807b35640d66c7114c3c6ed2c798edb13c0f0af2..ca56bc9b7f535b40bee52d92d75ae93beffe45c4 100644 --- a/NPSimulation/Detectors/Tigress/Tigress.hh +++ b/NPSimulation/Detectors/Tigress/Tigress.hh @@ -161,8 +161,8 @@ private: vector<double> m_BetaZ; // Frame: true if the frame is to be done - bool m_LeftFrame; - bool m_RightFrame; + // bool m_LeftFrame; + // bool m_RightFrame; private:/// Visualisation Attribute: G4VisAttributes* BlueVisAtt; diff --git a/NPSimulation/Detectors/Tigress/TigressScorers.cc b/NPSimulation/Detectors/Tigress/TigressScorers.cc index 2bbf0ca9def2120c5983d19fbd6a3ce23aa22a79..b4b78912a98f1093d0597e0b29a76420676dbdf3 100644 --- a/NPSimulation/Detectors/Tigress/TigressScorers.cc +++ b/NPSimulation/Detectors/Tigress/TigressScorers.cc @@ -15,7 +15,7 @@ using namespace TIGRESSSCORERS; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PS_Tigress::PS_Tigress(G4String name,G4int Level,G4int depth) +PS_Tigress::PS_Tigress(G4String name,G4int ,G4int depth) :G4VPrimitiveScorer(name, depth),HCID(-1){ m_Position = G4ThreeVector(-1000,-1000,-1000); m_CloverNumber = -1; diff --git a/NPSimulation/EventGenerator/EventGeneratorIsotropic.cc b/NPSimulation/EventGenerator/EventGeneratorIsotropic.cc index 96397b44b152b84a131a9737fa52d1c5822e3791..f56243e198b2c259791b4c159d21533ccca1e932 100644 --- a/NPSimulation/EventGenerator/EventGeneratorIsotropic.cc +++ b/NPSimulation/EventGenerator/EventGeneratorIsotropic.cc @@ -41,6 +41,7 @@ using namespace CLHEP; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... EventGeneratorIsotropic::EventGeneratorIsotropic(){ m_ParticleStack = ParticleStack::getInstance(); + event_ID=0; } @@ -59,7 +60,7 @@ EventGeneratorIsotropic::SourceParameters::SourceParameters(){ m_z0 = 0 ; m_SigmaX = 0 ; m_SigmaY = 0 ; - m_particle = NULL; + m_particle = NULL; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -144,6 +145,10 @@ void EventGeneratorIsotropic::GenerateEvent(G4Event*){ G4double theta = acos(cos_theta) ; G4double phi = RandFlat::shoot() * 2 * pi ; G4double particle_energy = par.m_EnergyLow + RandFlat::shoot() * (par.m_EnergyHigh - par.m_EnergyLow) ; + + cout << "Event ID= " << event_ID << " / theta= " << theta*180/3.1415 << " / energy= " << particle_energy << endl; + event_ID++; + // Direction of particle, energy and laboratory angle G4double momentum_x = sin(theta) * cos(phi) ; diff --git a/NPSimulation/EventGenerator/EventGeneratorIsotropic.hh b/NPSimulation/EventGenerator/EventGeneratorIsotropic.hh index d509f84096159cc0996969f40601bbb97384c745..c3e18be43be694fcac32223b72165e3897e9627f 100644 --- a/NPSimulation/EventGenerator/EventGeneratorIsotropic.hh +++ b/NPSimulation/EventGenerator/EventGeneratorIsotropic.hh @@ -46,6 +46,7 @@ public: // Inherit from VEventGenerator Class void InitializeRootOutput() ; private: // Source parameter from input file + G4int event_ID; struct SourceParameters { SourceParameters() ; G4double m_EnergyLow ; // Lower limit of energy range diff --git a/NPSimulation/Process/BeamReaction.cc b/NPSimulation/Process/BeamReaction.cc index 5798ec4daa09f26e2649db1f8d8f2f713a56f85b..b7f7c4e521a745b1de717ea86ba4fe710ea048bc 100644 --- a/NPSimulation/Process/BeamReaction.cc +++ b/NPSimulation/Process/BeamReaction.cc @@ -34,22 +34,21 @@ #include "G4SystemOfUnits.hh" //////////////////////////////////////////////////////////////////////////////// NPS::BeamReaction::BeamReaction(G4String modelName,G4Region* envelope) : - G4VFastSimulationModel(modelName, envelope) { +G4VFastSimulationModel(modelName, envelope) { ReadConfiguration(); m_PreviousEnergy=0 ; m_PreviousLength=0 ; - m_active = true; m_ReactionConditions = new TReactionConditions(); AttachReactionConditions(); if(!RootOutput::getInstance()->GetTree()->FindBranch("ReactionConditions")) - RootOutput::getInstance()->GetTree()->Branch("ReactionConditions","TReactionConditions",&m_ReactionConditions); - } + RootOutput::getInstance()->GetTree()->Branch("ReactionConditions","TReactionConditions",&m_ReactionConditions); +} //////////////////////////////////////////////////////////////////////////////// NPS::BeamReaction::BeamReaction(G4String modelName) : - G4VFastSimulationModel(modelName) { - } +G4VFastSimulationModel(modelName) { +} //////////////////////////////////////////////////////////////////////////////// NPS::BeamReaction::~BeamReaction() { @@ -65,80 +64,83 @@ void NPS::BeamReaction::AttachReactionConditions(){ //////////////////////////////////////////////////////////////////////////////// void NPS::BeamReaction::ReadConfiguration(){ - NPL::InputParser input(NPOptionManager::getInstance()->GetReactionFile()); - m_Reaction.ReadConfigurationFile(input); - m_BeamName=NPL::ChangeNameToG4Standard(m_Reaction.GetNucleus1().GetName()); - if(m_Reaction.GetNucleus3().GetName()!=""){ - m_active = true; - } - else{ - m_active = false; - - } + NPL::InputParser input(NPOptionManager::getInstance()->GetReactionFile()); + m_Reaction.ReadConfigurationFile(input); + m_BeamName=NPL::ChangeNameToG4Standard(m_Reaction.GetNucleus1().GetName()); + if(m_Reaction.GetNucleus3().GetName()!=""){ + m_active = true; + } + else{ + m_active = false; + + } } //////////////////////////////////////////////////////////////////////////////// G4bool NPS::BeamReaction::IsApplicable( const G4ParticleDefinition& particleType) { - if(!m_active) + if(!m_active) + return false; + + static std::string particleName; + particleName = particleType.GetParticleName(); + if (particleName.find(m_BeamName)!=std::string::npos) { + return true; + } return false; - - static std::string particleName; - particleName = particleType.GetParticleName(); - if (particleName.find(m_BeamName)!=std::string::npos) { - return true; - } - return false; } //////////////////////////////////////////////////////////////////////////////// G4bool NPS::BeamReaction::ModelTrigger(const G4FastTrack& fastTrack) { - //static bool shoot = false; - static double rand = 0; - const G4Track* PrimaryTrack = fastTrack.GetPrimaryTrack(); - G4ThreeVector V = PrimaryTrack->GetMomentum().unit(); - G4ThreeVector P = fastTrack.GetPrimaryTrackLocalPosition(); - G4VSolid* solid = + static bool shoot = false; + static double rand = 0; + const G4Track* PrimaryTrack = fastTrack.GetPrimaryTrack(); + G4ThreeVector V = PrimaryTrack->GetMomentum().unit(); + G4ThreeVector P = fastTrack.GetPrimaryTrackLocalPosition(); + G4VSolid* solid = fastTrack.GetPrimaryTrack()->GetVolume()->GetLogicalVolume()->GetSolid(); - double in = solid->DistanceToOut(P,V); - double out = solid->DistanceToOut(P,-V); - double ratio = in / (out+in) ; - - if(out == 0){// first step of current event - rand = G4RandFlat::shoot(); - m_PreviousLength = m_StepSize ; - m_PreviousEnergy = PrimaryTrack->GetKineticEnergy() ; + double in = solid->DistanceToOut(P,V); + double out = solid->DistanceToOut(P,-V); + double ratio = in / (out+in) ; + + if(out == 0){// first step of current event + rand = G4RandFlat::shoot(); + m_PreviousLength = m_StepSize ; + m_PreviousEnergy = PrimaryTrack->GetKineticEnergy() ; + shoot = true; } - - else if(in==0){// last step - return true; + + else if(in==0){// last step + return true; } - - // If the condition is met, the event is generated - if(ratio<rand){ - // Reset the static for next event - // shoot = false; - if(m_Reaction.IsAllowed(PrimaryTrack->GetKineticEnergy())){ - return true; - - } - else{ - return false; - } - } - - // Record the situation of the current step - // so it can be used in the next one - if(!PrimaryTrack->GetStep()->IsLastStepInVolume()){ - m_PreviousLength = PrimaryTrack->GetStep()->GetStepLength(); - m_PreviousEnergy = PrimaryTrack->GetKineticEnergy(); - } - - return false; + + // If the condition is met, the event is generated + if(ratio<rand){ + // Reset the static for next event + // shoot = false; + if(shoot && m_Reaction.IsAllowed(PrimaryTrack->GetKineticEnergy())){ + shoot = false; + return true; + + } + else{ + return false; + } + } + + // Record the situation of the current step + // so it can be used in the next one + if(!PrimaryTrack->GetStep()->IsLastStepInVolume()){ + m_PreviousLength = PrimaryTrack->GetStep()->GetStepLength(); + m_PreviousEnergy = PrimaryTrack->GetKineticEnergy(); + } + + return false; } //////////////////////////////////////////////////////////////////////////////// void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep) { + // Clear Previous Event m_ReactionConditions->Clear(); // Get the track info @@ -201,7 +203,7 @@ void NPS::BeamReaction::DoIt(const G4FastTrack& fastTrack,G4FastStep& fastStep) ///// Beam Parameters ///// /////////////////////////// m_ReactionConditions->SetBeamParticleName(PrimaryTrack->GetParticleDefinition()->GetParticleName()); - + m_ReactionConditions->SetBeamReactionEnergy(energy); m_ReactionConditions->SetVertexPositionX(localPosition.x()); m_ReactionConditions->SetVertexPositionY(localPosition.y()); diff --git a/NPSimulation/Process/G4DETransport.cc b/NPSimulation/Process/G4DETransport.cc index f37b3995d7f919140a20bb80f560c9b8f43181f0..2266b7e512a4b1266658a469ff22985e22dfa031 100644 --- a/NPSimulation/Process/G4DETransport.cc +++ b/NPSimulation/Process/G4DETransport.cc @@ -27,20 +27,20 @@ // $Id: G4DETransport.hh 69576 2016-12-19 13:48:13Z gcosmo $ // //////////////////////////////////////////////////////////////////////// -// Optical DriftElectron Transport Implementation +// Optical DriftElectron Transport Implementation //////////////////////////////////////////////////////////////////////// // // File: G4DETransport.cc // Description: Discrete Process -- Bulk transport of Drift Electron // Version: 1.0 -// Created: 2016-12-19 +// Created: 2016-12-19 // Author: Adrien Matta -// Updated: -// -// -// -// -// mail: matta@lpccaen.in2p3.fr +// Updated: +// +// +// +// +// mail: matta@lpccaen.in2p3.fr // //////////////////////////////////////////////////////////////////////// @@ -69,15 +69,15 @@ ///////////////// G4DETransport::G4DETransport(const G4String& processName, G4ProcessType type) - : G4VDiscreteProcess(processName, type) +: G4VDiscreteProcess(processName, type) { - if (verboseLevel>0) { - G4cout << GetProcessName() << " is created " << G4endl; - } - - SetProcessSubType(fDETransport); - G4TransportationManager* TransportationManager = G4TransportationManager::GetTransportationManager(); - m_SafetyHelper = TransportationManager->GetSafetyHelper(); + if (verboseLevel>0) { + G4cout << GetProcessName() << " is created " << G4endl; + } + + SetProcessSubType(fDETransport); + G4TransportationManager* TransportationManager = G4TransportationManager::GetTransportationManager(); + m_SafetyHelper = TransportationManager->GetSafetyHelper(); } // G4DETransport::G4DETransport(const G4OpAbsorpton &right) @@ -99,92 +99,93 @@ G4DETransport::~G4DETransport(){} G4VParticleChange* G4DETransport::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) { - aParticleChange.Initialize(aTrack); - - G4StepPoint* pPreStepPoint = aStep.GetPreStepPoint(); - - G4ThreeVector x0 = pPreStepPoint->GetPosition(); - G4ThreeVector p0 = aStep.GetDeltaPosition().unit(); - G4double t0 = pPreStepPoint->GetGlobalTime(); - - G4double Energy = pPreStepPoint->GetKineticEnergy(); - - // The time scale is imposed by the distance travelled - G4double step_length = aStep.GetDeltaPosition().mag(); - - // allow internal relocation of the track by the kernel taking a 0 length intermediate step - // suppress also parasite infinetismal step that slow down the tracking - if(step_length<100*micrometer){ - return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); - } - - // Get the material table - const G4Material* aMaterial = aTrack.GetMaterial(); - - G4MaterialPropertiesTable* aMaterialPropertiesTable = + aParticleChange.Initialize(aTrack); + + G4StepPoint* pPreStepPoint = aStep.GetPreStepPoint(); + + G4ThreeVector x0 = pPreStepPoint->GetPosition(); + G4ThreeVector p0 = aStep.GetDeltaPosition().unit(); + G4double t0 = pPreStepPoint->GetGlobalTime(); + + G4double Energy = pPreStepPoint->GetKineticEnergy(); + + // The time scale is imposed by the distance travelled + G4double step_length = aStep.GetDeltaPosition().mag(); + + // allow internal relocation of the track by the kernel taking a 0 length intermediate step + // suppress also parasite infinetismal step that slow down the tracking + if(step_length<100*micrometer){ + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); + } + + // Get the material table + const G4Material* aMaterial = aTrack.GetMaterial(); + + G4MaterialPropertiesTable* aMaterialPropertiesTable = aMaterial->GetMaterialPropertiesTable(); - if (!aMaterialPropertiesTable) - return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); - - - if(!aMaterialPropertiesTable->ConstPropertyExists("DE_PAIRENERGY") || - !aMaterialPropertiesTable->ConstPropertyExists("DE_TRANSVERSALSPREAD") || - !aMaterialPropertiesTable->ConstPropertyExists("DE_LONGITUDINALSPREAD") || - !aMaterialPropertiesTable->ConstPropertyExists("DE_DRIFTSPEED") ) - return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); - - - // Electron follow the field direction - // The field direction is taken from the field manager - G4double* fieldArr = new G4double[6]; - G4double Point[4]={x0.x(),x0.y(),x0.z(),t0}; - G4FieldManager* fMng = pPreStepPoint->GetTouchableHandle()->GetVolume()->GetLogicalVolume()-> + if (!aMaterialPropertiesTable) + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); + + + if(!aMaterialPropertiesTable->ConstPropertyExists("DE_PAIRENERGY") || + !aMaterialPropertiesTable->ConstPropertyExists("DE_TRANSVERSALSPREAD") || + !aMaterialPropertiesTable->ConstPropertyExists("DE_LONGITUDINALSPREAD") || + !aMaterialPropertiesTable->ConstPropertyExists("DE_DRIFTSPEED") ) + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); + + + // Electron follow the field direction + // The field direction is taken from the field manager + static G4double* fieldArr = new G4double[6]; + G4double Point[4]={x0.x(),x0.y(),x0.z(),t0}; + G4FieldManager* fMng = pPreStepPoint->GetTouchableHandle()->GetVolume()->GetLogicalVolume()-> GetFieldManager(); - - G4ElectroMagneticField* field = (G4ElectroMagneticField*)fMng->GetDetectorField(); - field->GetFieldValue(Point,fieldArr) ; - - // Electron move opposite to the field direction, hance the minus sign - G4ThreeVector driftDir(-fieldArr[3],-fieldArr[4],-fieldArr[5]); - // Normalised the drift direction - driftDir = driftDir.unit(); - G4double v_drift = aMaterialPropertiesTable->GetConstProperty("DE_DRIFTSPEED"); - - G4double sigmaTrans = sqrt(2*step_length*aMaterialPropertiesTable->GetConstProperty("DE_TRANSVERSALSPREAD")/v_drift); - G4double sigmaLong = sqrt(2*step_length*aMaterialPropertiesTable->GetConstProperty("DE_LONGITUDINALSPREAD")/v_drift); - - G4double d_long = G4RandGauss::shoot(0,sigmaLong); - G4double d_trans = G4RandGauss::shoot(0,sigmaTrans); - G4double d_drift = step_length+d_long; - - G4ThreeVector trans(G4RandGauss::shoot(0,d_trans),0,0); - trans.rotateY(twopi*G4UniformRand()); - G4ThreeVector d_Pos = (d_drift)*driftDir+trans; - - // Should be equal to delta length - G4double step = (d_drift)/v_drift; - - // New particle Position with matching time - G4ThreeVector pos = x0 + d_Pos; - G4double time = t0 + step; - - // Garanty that the electron does not jump outside the current volume - G4double safety = m_SafetyHelper->ComputeSafety(x0,d_Pos.mag()); - - // If the distance travelled if above safety, the step is not taken - if(d_Pos.mag()>safety){ - return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); - } - - aParticleChange.ProposeMomentumDirection(d_Pos.unit()); - aParticleChange.ProposeEnergy(Energy); - aParticleChange.ProposePosition(pos); - aParticleChange.ProposeGlobalTime(time); - aParticleChange.ProposeLocalTime(time); - - aParticleChange.ProposeVelocity(v_drift/c_light); - m_SafetyHelper->ReLocateWithinVolume(pos); - return &aParticleChange; + + G4ElectroMagneticField* field = (G4ElectroMagneticField*)fMng->GetDetectorField(); + field->GetFieldValue(Point,fieldArr) ; + + // Electron move opposite to the field direction, hance the minus sign + G4ThreeVector driftDir(-fieldArr[3],-fieldArr[4],-fieldArr[5]); + // Normalised the drift direction + driftDir = driftDir.unit(); + G4double v_drift = aMaterialPropertiesTable->GetConstProperty("DE_DRIFTSPEED"); + + G4double sigmaTrans = sqrt(2*step_length*aMaterialPropertiesTable->GetConstProperty("DE_TRANSVERSALSPREAD")/v_drift); + G4double sigmaLong = sqrt(2*step_length*aMaterialPropertiesTable->GetConstProperty("DE_LONGITUDINALSPREAD")/v_drift); + + G4double d_long = G4RandGauss::shoot(0,sigmaLong); + G4double d_trans = G4RandGauss::shoot(0,sigmaTrans); + G4double d_drift = step_length+d_long; + + G4ThreeVector trans(G4RandGauss::shoot(0,d_trans),0,0); + trans.rotateY(twopi*G4UniformRand()); + G4ThreeVector d_Pos = (d_drift)*driftDir+trans; + + // Should be equal to delta length + G4double step = (d_drift)/v_drift; + + // New particle Position with matching time + G4ThreeVector pos = x0 + d_Pos; + G4double time = t0 + step; + + // Garanty that the electron does not jump outside the current volume + G4double safety = m_SafetyHelper->ComputeSafety(x0,d_Pos.mag()); + + // If the distance travelled if above safety, the step is not taken + if(d_Pos.mag()>safety){ + return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); + } + + aParticleChange.ProposeMomentumDirection(d_Pos.unit()); + aParticleChange.ProposeEnergy(Energy); + aParticleChange.ProposePosition(pos); + aParticleChange.ProposeGlobalTime(time); + aParticleChange.ProposeLocalTime(time); + + + aParticleChange.ProposeVelocity(v_drift/c_light); + m_SafetyHelper->ReLocateWithinVolume(pos); + return &aParticleChange; } @@ -192,11 +193,11 @@ G4DETransport::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) // --------------- // G4double G4DETransport::GetMeanFreePath(const G4Track& , - G4double , - G4ForceCondition* ) + G4double , + G4ForceCondition* ) { - // Typical distance after which the electron position should be reevaluated - // to take into account the diffusivity of the charge cloud inside the - // medium - return 1*mm; + // Typical distance after which the electron position should be reevaluated + // to take into account the diffusivity of the charge cloud inside the + // medium + return 1.5*mm; } diff --git a/NPSimulation/Process/G4IonizationWithDE.cc b/NPSimulation/Process/G4IonizationWithDE.cc index 94dae397adfcebc5f04b1ade056942297a759085..85829b076cdfb34705168cc36545cef47653109e 100644 --- a/NPSimulation/Process/G4IonizationWithDE.cc +++ b/NPSimulation/Process/G4IonizationWithDE.cc @@ -26,18 +26,18 @@ // // $Id: G4IonizationWithDE.hh 98002 2016-06-30 13:03:36Z gcosmo $ // -// +// //////////////////////////////////////////////////////////////////////// -// IonizationWithDE Light Class Definition +// IonizationWithDE Light Class Definition //////////////////////////////////////////////////////////////////////// // -// File: G4IonizationWithDE.hh -// Description: Discrete Process - Generation of Drift Electron +// File: G4IonizationWithDE.hh +// Description: Discrete Process - Generation of Drift Electron // Version: 1.0 // Created: 2016-12-19 -// Author: Adrien Matta -// Updated: -// +// Author: Adrien Matta +// Updated: +// // // mail: matta@lpccaen.in2p3.fr // @@ -81,18 +81,18 @@ using namespace std; ///////////////// G4IonizationWithDE::G4IonizationWithDE(const G4String& processName, - G4ProcessType type) - : G4VRestDiscreteProcess(processName, type) , - fTrackSecondariesFirst(false), - fStackingFlag(true), - fNumDriftElectron(1e6), - fEmSaturation(nullptr) + G4ProcessType type) +: G4VRestDiscreteProcess(processName, type) , +fTrackSecondariesFirst(false), +fStackingFlag(true), +fNumDriftElectron(1e6), +fEmSaturation(nullptr) { - SetProcessSubType(fIonisation); // left as it is - - if (verboseLevel>0) { - G4cout << GetProcessName() << " is created " << G4endl; - } + SetProcessSubType(fIonisation); // left as it is + + if (verboseLevel>0) { + G4cout << GetProcessName() << " is created " << G4endl; + } } //////////////// @@ -115,125 +115,127 @@ void G4IonizationWithDE::BuildPhysicsTable(const G4ParticleDefinition&) // AtRestDoIt // ---------- // - G4VParticleChange* +G4VParticleChange* G4IonizationWithDE::AtRestDoIt(const G4Track& aTrack, const G4Step& aStep) - // This routine simply calls the equivalent PostStepDoIt since all the - // necessary information resides in aStep.GetTotalEnergyDeposit() +// This routine simply calls the equivalent PostStepDoIt since all the +// necessary information resides in aStep.GetTotalEnergyDeposit() { - return G4IonizationWithDE::PostStepDoIt(aTrack, aStep); + return G4IonizationWithDE::PostStepDoIt(aTrack, aStep); } // PostStepDoIt // ------------- // - G4VParticleChange* +G4VParticleChange* G4IonizationWithDE::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep) - // This routine is called for each tracking step of a charged particle - // in a drift chamber gas. an electron is created for each pair energy deposited in - // the material. +// This routine is called for each tracking step of a charged particle +// in a drift chamber gas. an electron is created for each pair energy deposited in +// the material. { - // Get the primary track - aParticleChange.Initialize(aTrack); - - const G4Material* aMaterial = aTrack.GetMaterial(); - // Get the material table - G4MaterialPropertiesTable* aMaterialPropertiesTable = + aParticleChange.Clear(); + // Get the primary track + aParticleChange.Initialize(aTrack); + + const G4Material* aMaterial = aTrack.GetMaterial(); + // Get the material table + G4MaterialPropertiesTable* aMaterialPropertiesTable = aMaterial->GetMaterialPropertiesTable(); - if (!aMaterialPropertiesTable) - return G4VRestDiscreteProcess::PostStepDoIt(aTrack, aStep); - - - if(!aMaterialPropertiesTable->ConstPropertyExists("DE_PAIRENERGY") || - !aMaterialPropertiesTable->ConstPropertyExists("DE_TRANSVERSALSPREAD") || - !aMaterialPropertiesTable->ConstPropertyExists("DE_LONGITUDINALSPREAD") || - !aMaterialPropertiesTable->ConstPropertyExists("DE_DRIFTSPEED") ) - return G4VRestDiscreteProcess::PostStepDoIt(aTrack, aStep); - - - G4StepPoint* pPreStepPoint = aStep.GetPreStepPoint(); - const G4TouchableHandle& handle = pPreStepPoint->GetTouchableHandle(); - - G4ThreeVector x0 = pPreStepPoint->GetPosition(); - G4ThreeVector p0 = aStep.GetDeltaPosition().unit(); - G4double t0 = pPreStepPoint->GetGlobalTime(); - - G4double TotalEnergyDeposit = aStep.GetTotalEnergyDeposit(); - - - G4double v_drift= + if (!aMaterialPropertiesTable) + return G4VRestDiscreteProcess::PostStepDoIt(aTrack, aStep); + + + if(!aMaterialPropertiesTable->ConstPropertyExists("DE_PAIRENERGY") || + !aMaterialPropertiesTable->ConstPropertyExists("DE_TRANSVERSALSPREAD") || + !aMaterialPropertiesTable->ConstPropertyExists("DE_LONGITUDINALSPREAD") || + !aMaterialPropertiesTable->ConstPropertyExists("DE_DRIFTSPEED") ) + return G4VRestDiscreteProcess::PostStepDoIt(aTrack, aStep); + + + G4StepPoint* pPreStepPoint = aStep.GetPreStepPoint(); + const G4TouchableHandle& handle = pPreStepPoint->GetTouchableHandle(); + + G4ThreeVector x0 = pPreStepPoint->GetPosition(); + G4ThreeVector p0 = aStep.GetDeltaPosition().unit(); + G4double t0 = pPreStepPoint->GetGlobalTime(); + + G4double TotalEnergyDeposit = aStep.GetTotalEnergyDeposit(); + + + G4double v_drift= aMaterialPropertiesTable->GetConstProperty("DE_DRIFTSPEED"); - G4double pair_energy= + G4double pair_energy= aMaterialPropertiesTable->GetConstProperty("DE_PAIRENERGY"); - - // Physical number of electron produced - G4int number_electron = TotalEnergyDeposit/pair_energy; - number_electron = G4Poisson(number_electron); - - // Tracked electron produced - // 100 per mm per step to have a good statistical accuracy - - G4int tracked_electron = (aStep.GetStepLength()/mm)*5; - - //if no electron leave - if(tracked_electron<1){ - aParticleChange.SetNumberOfSecondaries(0); + + // Physical number of electron produced + G4int number_electron = TotalEnergyDeposit/pair_energy; + number_electron = G4Poisson(number_electron); + + // Tracked electron produced + // 100 per mm per step to have a good statistical accuracy + + G4int tracked_electron = (aStep.GetStepLength()/mm)*5; + + //if no electron leave + if(tracked_electron<1){ + aParticleChange.SetNumberOfSecondaries(0); + return G4VRestDiscreteProcess::PostStepDoIt(aTrack, aStep); + } + + aParticleChange.SetNumberOfSecondaries(tracked_electron); + aParticleChange.SetSecondaryWeightByProcess(true); + + // Electron follow the field direction + // The field direction is taken from the field manager + //Everything common to all created DE: + static G4double fieldArr[6]; + static G4double Point[4]; + Point[0] = x0.x(); + Point[1] = x0.y(); + Point[2] = x0.z(); + Point[3] = t0; + + G4FieldManager* fMng = handle->GetVolume()->GetLogicalVolume()->GetFieldManager(); + + G4ElectroMagneticField* field = (G4ElectroMagneticField*)fMng->GetDetectorField(); + field->GetFieldValue(Point,&fieldArr[0]) ; + + // Electron move opposite to the field direction, hance the minus sign + G4ThreeVector p(-fieldArr[3],-fieldArr[4],-fieldArr[5]); + // Normalised the drift direction + p = p.unit(); + + G4ThreeVector delta = aStep.GetDeltaPosition(); + G4double deltaT = aStep.GetDeltaTime(); + static G4ParticleDefinition* DEDefinition = G4DriftElectron::DriftElectron(); + G4double velocity = v_drift/c_light; + G4int parentID = aTrack.GetTrackID(); + + // Create the secondary tracks + for(G4int i = 0 ; i < tracked_electron ; i++){ // always create 100 electron, but with weight + // Random Position along the step with matching time + G4double rand = G4UniformRand(); + G4ThreeVector pos = x0 + rand * delta; + G4double time = t0 + rand* deltaT; + + G4DynamicParticle* particle = new G4DynamicParticle(DEDefinition,p, pair_energy); + G4Track* aSecondaryTrack = new G4Track(particle,time,pos); + aSecondaryTrack->SetVelocity(velocity); + aSecondaryTrack->SetParentID(parentID); + aSecondaryTrack->SetTouchableHandle(handle); + // Set the weight, ie, how many electron the track represents + aSecondaryTrack->SetWeight(number_electron/tracked_electron); + aParticleChange.AddSecondary(aSecondaryTrack); + } + + + if (fTrackSecondariesFirst) { + if (aTrack.GetTrackStatus() == fAlive ) + aParticleChange.ProposeTrackStatus(fSuspend); + } return G4VRestDiscreteProcess::PostStepDoIt(aTrack, aStep); - } - - aParticleChange.SetNumberOfSecondaries(tracked_electron); - aParticleChange.SetSecondaryWeightByProcess(true); - - // Electron follow the field direction - // The field direction is taken from the field manager - //Everything common to all created DE: - static G4double fieldArr[6]; - static G4double Point[4]; - Point[0] = x0.x(); - Point[1] = x0.y(); - Point[2] = x0.z(); - Point[3] = t0; - - G4FieldManager* fMng = handle->GetVolume()->GetLogicalVolume()->GetFieldManager(); - - G4ElectroMagneticField* field = (G4ElectroMagneticField*)fMng->GetDetectorField(); - field->GetFieldValue(Point,&fieldArr[0]) ; - - // Electron move opposite to the field direction, hance the minus sign - G4ThreeVector p(-fieldArr[3],-fieldArr[4],-fieldArr[5]); - // Normalised the drift direction - p = p.unit(); - - G4ThreeVector delta = aStep.GetDeltaPosition(); - G4double deltaT = aStep.GetDeltaTime(); - static G4ParticleDefinition* DEDefinition = G4DriftElectron::DriftElectron(); - G4double velocity = v_drift/c_light; - G4int parentID = aTrack.GetTrackID(); - - // Create the secondary tracks - for(G4int i = 0 ; i < tracked_electron ; i++){ // always create 100 electron, but with weight - // Random Position along the step with matching time - G4double rand = G4UniformRand(); - G4ThreeVector pos = x0 + rand * delta; - G4double time = t0 + rand* deltaT; - - G4DynamicParticle* particle = new G4DynamicParticle(DEDefinition,p, pair_energy); - G4Track* aSecondaryTrack = new G4Track(particle,time,pos); - aSecondaryTrack->SetVelocity(velocity); - aSecondaryTrack->SetParentID(parentID); - aSecondaryTrack->SetTouchableHandle(handle); - // Set the weight, ie, how many electron the track represents - aSecondaryTrack->SetWeight(number_electron/tracked_electron); - aParticleChange.AddSecondary(aSecondaryTrack); - } - - if (fTrackSecondariesFirst) { - if (aTrack.GetTrackStatus() == fAlive ) - aParticleChange.ProposeTrackStatus(fSuspend); - } - return G4VRestDiscreteProcess::PostStepDoIt(aTrack, aStep); } // BuildThePhysicsTable for the scintillation process @@ -249,13 +251,13 @@ void G4IonizationWithDE::BuildThePhysicsTable() // G4double G4IonizationWithDE::GetMeanFreePath(const G4Track&, - G4double , - G4ForceCondition* condition) + G4double , + G4ForceCondition* condition) { - *condition = StronglyForced; - - return DBL_MAX; - + *condition = StronglyForced; + + return DBL_MAX; + } // GetMeanLifeTime @@ -263,11 +265,11 @@ G4double G4IonizationWithDE::GetMeanFreePath(const G4Track&, // G4double G4IonizationWithDE::GetMeanLifeTime(const G4Track&, - G4ForceCondition* condition) + G4ForceCondition* condition) { - *condition = StronglyForced; - - return DBL_MAX; - + *condition = StronglyForced; + + return DBL_MAX; + } diff --git a/NPSimulation/Scorers/CMakeLists.txt b/NPSimulation/Scorers/CMakeLists.txt index de493f8a6ad743470eff3e804a30811fe6ba532f..a0fb63975b2ffd1f435cb0a9a394f26f93fc3d6a 100644 --- a/NPSimulation/Scorers/CMakeLists.txt +++ b/NPSimulation/Scorers/CMakeLists.txt @@ -1,2 +1,2 @@ -add_library(NPSScorers SHARED NPSHitsMap.hh CalorimeterScorers.cc SiliconScorers.cc PhotoDiodeScorers.cc ObsoleteGeneralScorers.cc DriftElectronScorers.cc MDMScorer.cc ) +add_library(NPSScorers SHARED NPSHitsMap.hh CalorimeterScorers.cc SiliconScorers.cc PhotoDiodeScorers.cc ObsoleteGeneralScorers.cc DriftElectronScorers.cc TPCScorers.cc MDMScorer.cc ) target_link_libraries(NPSScorers ${ROOT_LIBRARIES} ${Geant4_LIBRARIES} ${NPLib_LIBRARIES} -lNPInitialConditions -lNPInteractionCoordinates) diff --git a/NPSimulation/Scorers/DriftElectronScorers.cc b/NPSimulation/Scorers/DriftElectronScorers.cc index a09a905c9e0a7256789c2272ce65231795d5197e..81c12c928d2969937aa6909d24ffe6ac2791c68e 100644 --- a/NPSimulation/Scorers/DriftElectronScorers.cc +++ b/NPSimulation/Scorers/DriftElectronScorers.cc @@ -67,6 +67,7 @@ G4bool PS_DECathode::ProcessHits(G4Step* aStep, G4TouchableHistory*){ G4double* dummy = *(it->second); Infos[0]+=dummy[0]; Infos[1]=dummy[1]; + delete dummy; } EvtMap->set(m_Index, Infos); diff --git a/NPSimulation/Scorers/SiliconScorers.cc b/NPSimulation/Scorers/SiliconScorers.cc index 961783ee1852f188c182819752d3fdb65d862830..34d58090aadbf82e89161b05eadfb06e3d4e8770 100644 --- a/NPSimulation/Scorers/SiliconScorers.cc +++ b/NPSimulation/Scorers/SiliconScorers.cc @@ -23,7 +23,8 @@ #include "G4UnitsTable.hh" using namespace SILICONSCORERS ; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -PS_Silicon_Images::PS_Silicon_Images(G4String name, string imageFront,string imageBack,double scalingFront, double scalingBack, double centerOffsetX,double centerOffsetY,unsigned int ignoreValue, G4int depth) :G4VPrimitiveScorer(name, depth),HCID(-1){ +PS_Silicon_Images::PS_Silicon_Images(G4String name, string imageFront,string imageBack,double scalingFront, double scalingBack, double centerOffsetX,double centerOffsetY,unsigned int ignoreValue, G4int depth) :G4VPrimitiveScorer(name, depth){ + HCID=-1; m_ImageFront = new NPL::Image(imageFront,scalingFront,scalingFront); m_ImageBack = new NPL::Image(imageBack,scalingBack,scalingBack); m_ScalingFront = scalingFront; @@ -61,7 +62,7 @@ G4bool PS_Silicon_Images::ProcessHits(G4Step* aStep, G4TouchableHistory*){ if(t_PixelFront == m_IgnoreValue && t_PixelBack == m_IgnoreValue) return FALSE; - t_Index = aStep->GetTrack()->GetTrackID() + t_DetectorNbr * 1e3 ; + t_Index = t_DetectorNbr * 1e3 + t_PixelFront * 1e6 + t_PixelBack * 1e9 ; // Check if the particle has interact before, if yes, add up the energies. map<unsigned int, double>::iterator it; it= m_Energy.find(t_Index); @@ -237,7 +238,7 @@ G4bool PS_Silicon_Rectangle::ProcessHits(G4Step* aStep, G4TouchableHistory*){ Infos[8] = m_StripLengthNumber; Infos[9] = m_StripWidthNumber; - m_Index = aStep->GetTrack()->GetTrackID() + m_DetectorNumber * 1e3 + m_StripLengthNumber * 1e6 + m_StripWidthNumber * 1e9; + m_Index = m_DetectorNumber * 1e3 + m_StripLengthNumber * 1e6 + m_StripWidthNumber * 1e9; // Check if the particle has interact before, if yes, add up the energies. map<G4int, G4double**>::iterator it; @@ -245,6 +246,7 @@ G4bool PS_Silicon_Rectangle::ProcessHits(G4Step* aStep, G4TouchableHistory*){ if(it!=EvtMap->GetMap()->end()){ G4double* dummy = *(it->second); Infos[0]+=dummy[0]; + delete dummy; } EvtMap->set(m_Index, Infos); @@ -357,7 +359,7 @@ G4bool PS_Silicon_Annular::ProcessHits(G4Step* aStep, G4TouchableHistory*){ Infos[9] = m_StripSectorNumber; Infos[10] = m_StripQuadrantNumber; - m_Index = aStep->GetTrack()->GetTrackID() + m_DetectorNumber * 1e3 + m_StripRingNumber * 1e6 + m_NumberOfStripSector * 1e9; + m_Index = m_DetectorNumber * 1e3 + m_StripRingNumber * 1e6 + m_NumberOfStripSector * 1e9; // Check if the particle has interact before, if yes, add up the energies. map<G4int, G4double**>::iterator it; @@ -462,7 +464,7 @@ G4bool PS_Silicon_Resistive::ProcessHits(G4Step* aStep, G4TouchableHistory*){ //Rare case where particle is close to edge of silicon plan if (m_StripWidthNumber > m_NumberOfStripWidth) m_StripWidthNumber = m_NumberOfStripWidth; - m_Index = aStep->GetTrack()->GetTrackID() + m_DetectorNumber * 1e3 + m_StripWidthNumber * 1e6; + m_Index = m_DetectorNumber * 1e3 + m_StripWidthNumber * 1e6; // Check if the particle has interact before, if yes, add up the energies. map<G4int, G4double**>::iterator it; diff --git a/NPSimulation/Scorers/TPCScorers.cc b/NPSimulation/Scorers/TPCScorers.cc new file mode 100644 index 0000000000000000000000000000000000000000..29b4557181ad5edb45a0052b27ce7d0a21feb305 --- /dev/null +++ b/NPSimulation/Scorers/TPCScorers.cc @@ -0,0 +1,120 @@ +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Pierre MORFOUACE contact address: morfouace@ganil.fr * + * * + * Creation Date : June 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * Scorer for TPC Drift Electron collector * + * * + *---------------------------------------------------------------------------* + * Comment: * + * This new type of scorer to count drift electron in the cathode * + * * + *****************************************************************************/ +#include "TPCScorers.hh" +#include "G4UnitsTable.hh" +using namespace TPCSCORERS ; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +PS_TPCCathode::PS_TPCCathode(G4String name,G4int depth) +:G4VPrimitiveScorer(name, depth),HCID(-1){ + m_Index = -1 ; + m_Level = depth; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +PS_TPCCathode::~PS_TPCCathode(){ +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +G4bool PS_TPCCathode::ProcessHits(G4Step* aStep, G4TouchableHistory*){ + + // contain Energy Time, DetNbr, StripFront and StripBack + G4double* Infos = new G4double[10]; + Infos[0] = 0; + Infos[1] = aStep->GetPreStepPoint()->GetProperTime(); + + m_DetectorNumber = aStep->GetPreStepPoint()->GetTouchableHandle()->GetCopyNumber(m_Level); + m_Position = aStep->GetPreStepPoint()->GetPosition(); + + // Interaction coordinates (used to fill the InteractionCoordinates branch) + Infos[2] = m_Position.x(); + Infos[3] = m_Position.y(); + Infos[4] = m_Position.z(); + Infos[5] = m_Position.theta(); + Infos[6] = m_Position.phi(); + Infos[7] = m_DetectorNumber; + + + G4String PID = aStep->GetTrack()->GetDefinition()->GetParticleName(); + + m_Position = aStep->GetPreStepPoint()->GetTouchableHandle()->GetHistory()->GetTopTransform().TransformPoint(m_Position); + + + Infos[8] = (int)((m_Position.z()+128)/2); + Infos[9] = (int)((m_Position.x()+128)/2); + + m_Index = Infos[8] + 128*Infos[9] ; + + + if(PID=="driftelectron"){ + Infos[0] = aStep->GetTrack()->GetWeight(); + } + + // Check if the particle has interact before, if yes, add up the number of electron. + map<G4int, G4double**>::iterator it; + it= EvtMap->GetMap()->find(m_Index); + if(it!=EvtMap->GetMap()->end()){ + G4double* dummy = *(it->second); + Infos[0]+=dummy[0]; + Infos[1]=dummy[1]; + delete dummy; + } + + EvtMap->set(m_Index, Infos); + return TRUE; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PS_TPCCathode::Initialize(G4HCofThisEvent* HCE){ + EvtMap = new NPS::HitsMap<G4double*>(GetMultiFunctionalDetector()->GetName(), GetName()); + if (HCID < 0) { + HCID = GetCollectionID(0); + } + HCE->AddHitsCollection(HCID, (G4VHitsCollection*)EvtMap); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PS_TPCCathode::EndOfEvent(G4HCofThisEvent*){ +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PS_TPCCathode::clear(){ + std::map<G4int, G4double**>::iterator MapIterator; + for (MapIterator = EvtMap->GetMap()->begin() ; MapIterator != EvtMap->GetMap()->end() ; MapIterator++){ + delete *(MapIterator->second); + } + + EvtMap->clear(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PS_TPCCathode::DrawAll(){ + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void PS_TPCCathode::PrintAll(){ + G4cout << " MultiFunctionalDet " << detector->GetName() << G4endl ; + G4cout << " PrimitiveScorer " << GetName() << G4endl ; + G4cout << " Number of entries " << EvtMap->entries() << G4endl ; +} +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/NPSimulation/Scorers/TPCScorers.hh b/NPSimulation/Scorers/TPCScorers.hh new file mode 100644 index 0000000000000000000000000000000000000000..6a3bc6db43e35d97a891b0535a412382d4d3f036 --- /dev/null +++ b/NPSimulation/Scorers/TPCScorers.hh @@ -0,0 +1,94 @@ +#ifndef DECathodeScorers_h +/***************************************************************************** + * Copyright (C) 2009-2016 this file is part of the NPTool Project * + * * + * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * + * For the list of contributors see $NPTOOL/Licence/Contributors * + *****************************************************************************/ + +/***************************************************************************** + * Original Author: Pierre MORFOUACE contact address: morfouace@ganil.fr * + * * + * Creation Date : July 2018 * + * Last update : * + *---------------------------------------------------------------------------* + * Decription: * + * File old the scorer specific to the Silicon Detector * + * * + *---------------------------------------------------------------------------* + * Comment: * + * This new style of scorer is aim to become the standard way of doing scorer* + * in NPTool. * + *The index is build using the TrackID, Detector Number and Strip Number. * + *The scorer Hold Energy and time together * + *Only one scorer is needed for a detector * + *****************************************************************************/ +#include "G4VPrimitiveScorer.hh" +#include "NPSHitsMap.hh" + +#include <map> +using namespace std; +using namespace CLHEP; + +namespace TPCSCORERS { +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + class PS_TPCCathode : public G4VPrimitiveScorer{ + + public: // with description + PS_TPCCathode(G4String name,G4int depth=0); + ~PS_TPCCathode(); + + protected: // with description + G4bool ProcessHits(G4Step*, G4TouchableHistory*); + + public: + void Initialize(G4HCofThisEvent*); + void EndOfEvent(G4HCofThisEvent*); + void clear(); + void DrawAll(); + void PrintAll(); + +private: // inherited from G4VPrimitiveScorer + G4int HCID; + NPS::HitsMap<G4double*>* EvtMap; + + private: // Needed for intermediate calculation (avoid multiple instantiation in Processing Hit) + G4int m_Index; + G4int m_Level; + G4int m_DetectorNumber; + G4ThreeVector m_Position; + + }; +//////////////////////////////////////////////////////////////////////////////// + class PS_DEDigitizer : public G4VPrimitiveScorer{ + + public: // with description + PS_DEDigitizer(G4String name,G4int depth=0); + ~PS_DEDigitizer(); + + protected: // with description + G4bool ProcessHits(G4Step*, G4TouchableHistory*); + + public: + void Initialize(G4HCofThisEvent*); + void EndOfEvent(G4HCofThisEvent*); + void clear(); + void DrawAll(); + void PrintAll(); + +private: // inherited from G4VPrimitiveScorer + G4int HCID; + NPS::HitsMap<G4double*>* EvtMap; + + private: // Needed for intermediate calculation (avoid multiple instantiation in Processing Hit) + G4int m_Index; + G4int m_Level; + G4int m_DetectorNumber; + G4ThreeVector m_Position; + + }; + + +} + +#endif diff --git a/NPSimulation/ressources/macro/vis.mac.in b/NPSimulation/ressources/macro/vis.mac.in index 917270438f7a089a30f5507f5d1670c5a2e9fc59..1f5278571fefb39eff468cba0f429b8e3b83c887 100644 --- a/NPSimulation/ressources/macro/vis.mac.in +++ b/NPSimulation/ressources/macro/vis.mac.in @@ -35,8 +35,18 @@ # Draw smooth trajectories at end of event, showing trajectory points /vis/scene/add/trajectories smooth -# Select colour by particle ID: -/vis/modeling/trajectories/create/drawByParticleID +# Select colour by parent ID: +/vis/modeling/trajectories/create/drawByAttribute DrawByParentID +/vis/modeling/trajectories/DrawByParentID/setAttribute PID +/vis/modeling/trajectories/DrawByParentID/addInterval Beam 0 1 +/vis/modeling/trajectories/DrawByParentID/Beam/setLineColourRGBA 0 0 1 1 +/vis/modeling/trajectories/DrawByParentID/addInterval Reaction 1 2 +/vis/modeling/trajectories/DrawByParentID/Reaction/setLineColourRGBA 0 1 0.5 1 +/vis/modeling/trajectories/DrawByParentID/addInterval Decay 2 10 +/vis/modeling/trajectories/DrawByParentID/Decay/setLineColourRGBA 1 0 1 1 + + +/vis/modeling/trajectories/select DrawByParentID # To superimpose all of the events from a given run: /vis/scene/endOfEventAction accumulate diff --git a/Projects/Actar/Analysis.cxx b/Projects/Actar/Analysis.cxx index 23c45664f868629cba52cf075ca4231dab73cd85..871dc451858b90a42ee543559542a2325ca1bdea 100644 --- a/Projects/Actar/Analysis.cxx +++ b/Projects/Actar/Analysis.cxx @@ -6,13 +6,13 @@ *****************************************************************************/ /***************************************************************************** - * Original Author: XAUTHORX contact address: XMAILX * + * Original Author: Morfouace Pierre contact address: morfouace@ganil.fr * * * - * Creation Date : XMONTHX XYEARX * + * Creation Date : April 2018 * * Last update : * *---------------------------------------------------------------------------* * Decription: * - * This class describe Actar analysis project * + * This class describe Actar analysis project * * * *---------------------------------------------------------------------------* * Comment: * @@ -20,10 +20,15 @@ *****************************************************************************/ #include<iostream> + using namespace std; #include"Analysis.h" #include"NPAnalysisFactory.h" #include"NPDetectorManager.h" +#include"RootOutput.h" +#include"RootInput.h" + + //////////////////////////////////////////////////////////////////////////////// Analysis::Analysis(){ } @@ -33,39 +38,196 @@ Analysis::~Analysis(){ //////////////////////////////////////////////////////////////////////////////// void Analysis::Init(){ - Actar= (TActarPhysics*) m_DetectorManager->GetDetector("Actar"); + Actar= (TActarPhysics*) m_DetectorManager->GetDetector("Actar"); + + Actar->ReadAnalysisConfig(); + if(Actar->GetRansacStatus()){ + Actar->SetRansacParameter("./configs/RansacConfig.dat"); + } + + DriftVelocity = Actar->GetDriftVelocity(); + PadSizeX = Actar->GetPadSizeX(); + PadSizeY = Actar->GetPadSizeY(); + NumberOfPadsX = Actar->GetNumberOfPadsX(); + NumberOfPadsY = Actar->GetNumberOfPadsY(); + + EnergyLoss_3He = NPL::EnergyLoss("EnergyLossTable/He3_D2_6.24151e+08_295.G4table","G4Table",100); + EnergyLoss_17C = NPL::EnergyLoss("EnergyLossTable/C17_D2_6.24151e+08_295.G4table","G4Table",100); + TheReaction = new NPL::Reaction("17C(d,3He)16B@510"); + + InitOutputBranch(); } //////////////////////////////////////////////////////////////////////////////// void Analysis::TreatEvent(){ - //cout << "/// Size=" << Actar->PadRow.size() << endl; - for(unsigned int i=0; i<Actar->PadRow.size(); i++){ - //cout << "Row= " << Actar->PadRow[i] << endl; - } + ReInitValue(); + + int TrackMult = Actar->GetTrackMult(); + + TVector3 vX = TVector3(1,0,0); + TVector3 aTrack, vB; + + if(TrackMult>1){ + vTrack = Actar->GetTracks(); + double scalarproduct=0; + int BeamTrack=0; + for(unsigned int i=0; i<TrackMult; i++){ + TVector3 vtest = TVector3(vTrack[i].GetDirectionVector().X(),vTrack[i].GetDirectionVector().Y(),vTrack[i].GetDirectionVector().Z()); + TVector3 vunit = vtest.Unit(); + double scalar = abs(vunit.Dot(vX)); + vScalar.push_back(scalar); + //cout << scalar << endl; + //cout << scalarproduct << endl; + if(scalar>scalarproduct){ + BeamTrack=i; + scalarproduct=scalar; + } + } + + double XBeam = vTrack[BeamTrack].GetDirectionVector().X(); + double YBeam = vTrack[BeamTrack].GetDirectionVector().Y(); + double ZBeam = vTrack[BeamTrack].GetDirectionVector().Z(); + TVector3 vBeam = TVector3(XBeam,YBeam,ZBeam); + + double XBeamPoint = vTrack[BeamTrack].GetXh(); + double YBeamPoint = vTrack[BeamTrack].GetYh(); + double ZBeamPoint = vTrack[BeamTrack].GetZh(); + TVector3 vBeamPos = TVector3(XBeamPoint,YBeamPoint,ZBeamPoint); + + vB = TVector3(XBeam*PadSizeX, YBeam*PadSizeY,ZBeam*DriftVelocity); + BeamAngle = (vX.Angle(vB))*180/TMath::Pi(); + + for(unsigned int i=0; i<TrackMult; i++){ + if(i!=BeamTrack){ + double Xdir = vTrack[i].GetDirectionVector().X(); + double Ydir = vTrack[i].GetDirectionVector().Y(); + double Zdir = vTrack[i].GetDirectionVector().Z(); + + XVertex.push_back(vTrack[i].GetVertexPostion(vBeam,vBeamPos).X()*PadSizeX); + YVertex.push_back(vTrack[i].GetVertexPostion(vBeam,vBeamPos).Y()*PadSizeY); + ZVertex.push_back(vTrack[i].GetVertexPostion(vBeam,vBeamPos).Z()*DriftVelocity); + + aTrack = TVector3(Xdir*PadSizeX, Ydir*PadSizeY, Zdir*DriftVelocity); + + + double angle = vX.Angle(aTrack)*180/TMath::Pi(); + //double angle = vX.Angle(aTrack)*180/TMath::Pi(); + if(angle>90) angle = 180-angle; + + double x1 = vTrack[i].GetXm()*PadSizeX; + double x2 = vTrack[i].GetXh()*PadSizeX; + double y1 = vTrack[i].GetYm()*PadSizeY-0.5*NumberOfPadsY*PadSizeY; + double y2 = vTrack[i].GetYh()*PadSizeY-0.5*NumberOfPadsY*PadSizeY; + //double z1 = -(vTrack[i].GetZm()-256)*DriftVelocity; + //double z2 = -(vTrack[i].GetZh()-256)*DriftVelocity; + double z1 = vTrack[i].GetZm()*DriftVelocity; + double z2 = vTrack[i].GetZh()*DriftVelocity; + + GetMayaSiHitPosition(x1,x2,y1,y2,z1,z2); + + if(XVertex[i]>0 && XVertex[i]<256){ + double SiDistanceToPadPlane = 47*mm; + double LengthInGas = 256-XVertex[i] + SiDistanceToPadPlane; + for(unsigned int k=0; k<Actar->Si_E.size(); k++){ + ESi.push_back(Actar->Si_E[k]); + SiNumber.push_back(Actar->Si_Number[k]); + DE.push_back(vTrack[i].GetPartialCharge(108,128)/(20./cos(angle*TMath::Pi()/180))); + double E3 = EnergyLoss_3He.EvaluateInitialEnergy(Actar->Si_E[k]*MeV,LengthInGas*mm,angle*TMath::Pi()/180); + double BeamEnergy = EnergyLoss_17C.Slow(510*MeV,(XVertex[i]+60)*mm, BeamAngle*TMath::Pi()/180); + TheReaction->SetBeamEnergy(BeamEnergy); + ELab.push_back(E3); + ThetaLab.push_back(angle); + TheReaction->SetNuclei3(E3,angle*TMath::Pi()/180); + Ex.push_back(TheReaction->GetExcitation4()); + ThetaCM.push_back(TheReaction->GetThetaCM()*180./TMath::Pi()); + } + } + } + } + } + + //for(unsigned int i=0; i<Actar->PadX.size(); i++){ + //cout << "X= " << Actar->PadX[i] << endl; + //} +} + +//////////////////////////////////////////////////////////////////////////////// +void Analysis::GetMayaSiHitPosition(double xm, double xh, double ym, double yh, double zm, double zh) +{ + double l = xm-xh; + double L = fSiDistanceX-xm; + + double t = (l+L)/l; + //double t = L/l; + + double zf = zh + (zm-zh)*t; + double yf = yh + (ym-yh)*t; + + //cout << zf << " " << yf << endl; + + SiPosY.push_back(yf); + SiPosZ.push_back(zf); } //////////////////////////////////////////////////////////////////////////////// void Analysis::End(){ } +//////////////////////////////////////////////////////////////////////////////// +void Analysis::InitOutputBranch() { + RootOutput::getInstance()->GetTree()->Branch("DE",&DE); + RootOutput::getInstance()->GetTree()->Branch("SiNumber",&SiNumber); + RootOutput::getInstance()->GetTree()->Branch("ESi",&ESi); + RootOutput::getInstance()->GetTree()->Branch("ELab",&ELab); + RootOutput::getInstance()->GetTree()->Branch("ThetaLab",&ThetaLab); + RootOutput::getInstance()->GetTree()->Branch("Ex",&Ex); + RootOutput::getInstance()->GetTree()->Branch("ThetaCM",&ThetaCM); + RootOutput::getInstance()->GetTree()->Branch("vScalar",&vScalar); + RootOutput::getInstance()->GetTree()->Branch("XVertex",&XVertex); + RootOutput::getInstance()->GetTree()->Branch("YVertex",&YVertex); + RootOutput::getInstance()->GetTree()->Branch("ZVertex",&ZVertex); + RootOutput::getInstance()->GetTree()->Branch("BeamAngle",&BeamAngle,"BeamAngle/D"); + RootOutput::getInstance()->GetTree()->Branch("SiPosY",&SiPosY); + RootOutput::getInstance()->GetTree()->Branch("SiPosZ",&SiPosZ); + +} + +//////////////////////////////////////////////////////////////////////////////// +void Analysis::ReInitValue(){ + DE.clear(); + SiNumber.clear(); + ESi.clear(); + ELab.clear(); + ThetaLab.clear(); + Ex.clear(); + ThetaCM.clear(); + vScalar.clear(); + XVertex.clear(); + YVertex.clear(); + ZVertex.clear(); + SiPosY.clear(); + SiPosZ.clear(); + BeamAngle=-1000; + +} //////////////////////////////////////////////////////////////////////////////// // Construct Method to be pass to the DetectorFactory // //////////////////////////////////////////////////////////////////////////////// NPL::VAnalysis* Analysis::Construct(){ - return (NPL::VAnalysis*) new Analysis(); + return (NPL::VAnalysis*) new Analysis(); } //////////////////////////////////////////////////////////////////////////////// // Registering the construct method to the factory // //////////////////////////////////////////////////////////////////////////////// extern "C"{ -class proxy{ - public: - proxy(){ - NPL::AnalysisFactory::getInstance()->SetConstructor(Analysis::Construct); - } -}; - -proxy p; + class proxy{ + public: + proxy(){ + NPL::AnalysisFactory::getInstance()->SetConstructor(Analysis::Construct); + } + }; + + proxy p; } diff --git a/Projects/Actar/Analysis.h b/Projects/Actar/Analysis.h index 075b9abe68fd6c3255f58bd01f22acbddee18ffd..f7b74f42e40fe1c2b10285358372898c8fee2d46 100644 --- a/Projects/Actar/Analysis.h +++ b/Projects/Actar/Analysis.h @@ -1,4 +1,4 @@ -#ifndef Analysis_h +#ifndef Analysis_h #define Analysis_h /***************************************************************************** * Copyright (C) 2009-2016 this file is part of the NPTool Project * @@ -21,22 +21,65 @@ * * *****************************************************************************/ -#include"NPVAnalysis.h" -#include"TActarPhysics.h" +#include "NPVAnalysis.h" +#include "TActarPhysics.h" +#include "NPEnergyLoss.h" +#include "NPReaction.h" +#include "NPTrack.h" + + + class Analysis: public NPL::VAnalysis{ - public: +public: Analysis(); ~Analysis(); - - public: + +public: void Init(); void TreatEvent(); void End(); + void InitOutputBranch(); + void ReInitValue(); + void GetMayaSiHitPosition(double xm, double xh, double ym, double yh, double zm, double zh); - static NPL::VAnalysis* Construct(); - - private: - TActarPhysics* Actar; - + + + static NPL::VAnalysis* Construct(); + +public: + double DriftVelocity; + double PadSizeX; + double PadSizeY; + int NumberOfPadsX; + int NumberOfPadsY; + + +private: + double fSiDistanceX=128+47; + + TActarPhysics* Actar; + + vector<NPL::Track> vTrack; + + double BeamAngle; + vector<double> vScalar; + vector<double> ThetaLab; + vector<double> ELab; + vector<int> SiNumber; + vector<double> ESi; + vector<double> DE; + vector<double> Ex; + vector<double> ThetaCM; + vector<double> XVertex; + vector<double> YVertex; + vector<double> ZVertex; + vector<double> SiPosY; + vector<double> SiPosZ; + + NPL::EnergyLoss EnergyLoss_3He; + NPL::EnergyLoss EnergyLoss_17C; + NPL::Reaction* TheReaction; + + }; #endif diff --git a/Projects/Actar/EnergyLossTable/C17_D2_6.24151e+08_295.G4table b/Projects/Actar/EnergyLossTable/C17_D2_6.24151e+08_295.G4table new file mode 100644 index 0000000000000000000000000000000000000000..264e41329be63ed05c7019e4a7056e5ac2c259fd --- /dev/null +++ b/Projects/Actar/EnergyLossTable/C17_D2_6.24151e+08_295.G4table @@ -0,0 +1,561 @@ +Table from Geant4 generate using NPSimulation Particle: C17 Material: NPS_D2_6.24151e+08_295 +1e-09 2.93389e-07 +0.001 4.43707e-05 +0.002 4.74888e-05 +0.003 4.91594e-05 +0.004 5.03793e-05 +0.005 5.14806e-05 +0.006 5.24301e-05 +0.007 5.3321e-05 +0.008 5.42261e-05 +0.009 5.50831e-05 +0.01 5.60504e-05 +0.011 5.69329e-05 +0.012 5.77419e-05 +0.013 5.84865e-05 +0.014 5.93718e-05 +0.015 6.02336e-05 +0.016 6.10493e-05 +0.017 6.18232e-05 +0.018 6.26274e-05 +0.019 6.34641e-05 +0.02 6.42685e-05 +0.021 6.50431e-05 +0.022 6.58011e-05 +0.023 6.66092e-05 +0.024 6.73931e-05 +0.025 6.81542e-05 +0.026 6.8894e-05 +0.027 6.96749e-05 +0.028 7.04566e-05 +0.029 7.12203e-05 +0.03 7.19669e-05 +0.031 7.26972e-05 +0.032 7.3412e-05 +0.034 7.4798e-05 +0.036 7.61985e-05 +0.038 7.7617e-05 +0.04 7.89899e-05 +0.042 8.03204e-05 +0.044 8.16274e-05 +0.046 8.30039e-05 +0.048 8.43462e-05 +0.05 8.56562e-05 +0.052 8.6936e-05 +0.054 8.81873e-05 +0.056 8.94116e-05 +0.058 9.06104e-05 +0.06 9.1785e-05 +0.062 9.29366e-05 +0.064 9.40663e-05 +0.066 9.51987e-05 +0.068 9.64094e-05 +0.07 9.7601e-05 +0.072 9.87744e-05 +0.074 9.99302e-05 +0.076 0.000101069 +0.078 0.000102192 +0.08 0.0001033 +0.082 0.000104392 +0.084 0.00010547 +0.086 0.000106534 +0.088 0.000107585 +0.092 0.000109648 +0.096 0.000111663 +0.1 0.000113632 +0.104 0.000115558 +0.108 0.000117444 +0.112 0.000119292 +0.116 0.000121104 +0.12 0.000122881 +0.124 0.000124627 +0.128 0.000126341 +0.132 0.000128045 +0.136 0.000129802 +0.14 0.000131533 +0.144 0.000133237 +0.148 0.000134917 +0.152 0.000136574 +0.156 0.000138207 +0.16 0.000139818 +0.164 0.000141409 +0.168 0.000142979 +0.172 0.000144529 +0.176 0.000146068 +0.18 0.000147611 +0.184 0.000149137 +0.188 0.000150646 +0.192 0.000152137 +0.2 0.000155073 +0.208 0.000157949 +0.216 0.000160767 +0.224 0.000163554 +0.232 0.000166302 +0.24 0.000169001 +0.248 0.000171654 +0.256 0.000174263 +0.264 0.000176835 +0.272 0.00017939 +0.28 0.000181907 +0.288 0.000184388 +0.296 0.000186833 +0.304 0.000189245 +0.312 0.000191624 +0.32 0.000193973 +0.328 0.000196291 +0.336 0.000198581 +0.344 0.000200843 +0.352 0.000203084 +0.36 0.000205313 +0.368 0.000207517 +0.376 0.000209697 +0.384 0.000211854 +0.392 0.000213988 +0.4 0.0002161 +0.416 0.00022026 +0.432 0.000224357 +0.448 0.00022846 +0.464 0.000232551 +0.48 0.000236615 +0.496 0.000240649 +0.512 0.000244612 +0.528 0.000248263 +0.544 0.000251876 +0.56 0.000255448 +0.576 0.000258976 +0.592 0.000262458 +0.608 0.00026589 +0.624 0.00026927 +0.64 0.000272595 +0.656 0.000275862 +0.672 0.000279087 +0.688 0.000282217 +0.704 0.000285251 +0.72 0.000288221 +0.736 0.000291129 +0.752 0.000293975 +0.784 0.000299491 +0.816 0.000304776 +0.848 0.000309841 +0.88 0.000314694 +0.912 0.000319358 +0.944 0.000323822 +0.976 0.00032809 +1.008 0.000332166 +1.04 0.000336056 +1.072 0.000339768 +1.104 0.00034331 +1.136 0.000346694 +1.2 0.000353021 +1.264 0.000358813 +1.328 0.0003641 +1.392 0.000368915 +1.456 0.000373276 +1.52 0.000377239 +1.584 0.000380854 +1.712 0.000387166 +1.84 0.000392424 +1.968 0.000396734 +2.096 0.000400208 +2.352 0.00040514 +2.608 0.000408106 +3.12 0.000410273 +4.144 0.000405802 +5.168 0.000396515 +6.192 0.000385474 +7.216 0.000373848 +8.24 0.00036074 +9.264 0.000347182 +10.288 0.000334629 +11.312 0.00032303 +12.336 0.000312242 +13.36 0.00030213 +14.384 0.0002926 +15.408 0.00028366 +16.432 0.000275332 +17.456 0.000267505 +18.48 0.000260095 +19.504 0.000253072 +20.528 0.000246408 +21.552 0.00024008 +22.576 0.000234063 +23.6 0.000228335 +24.624 0.000222875 +25.648 0.000217671 +26.672 0.000212744 +27.696 0.000208034 +28.72 0.000203529 +29.744 0.000199216 +30.768 0.000195085 +31.792 0.000191126 +32.816 0.000187327 +33.84 0.000183679 +34.864 0.000180159 +35.888 0.00017677 +36.912 0.000173509 +37.936 0.000170368 +38.96 0.000167341 +39.984 0.000164423 +41.008 0.000161607 +42.032 0.000158887 +43.056 0.000156258 +44.08 0.000153715 +45.104 0.000151254 +46.128 0.000148872 +47.152 0.000146566 +48.176 0.000144332 +49.2 0.000142166 +50.224 0.000140065 +51.248 0.000138025 +52.272 0.000136042 +53.296 0.000134114 +54.32 0.000132242 +55.344 0.000130423 +56.368 0.000128654 +57.392 0.000126935 +58.416 0.000125263 +59.44 0.000123637 +60.464 0.000122054 +61.488 0.000120513 +62.512 0.000119012 +63.536 0.000117549 +64.56 0.000116122 +65.584 0.00011473 +66.608 0.000113371 +67.632 0.000112042 +68.656 0.000110749 +69.68 0.000109487 +70.704 0.000108252 +71.728 0.000107044 +72.752 0.000105862 +73.776 0.000104705 +74.8 0.000103574 +75.824 0.000102467 +76.848 0.000101384 +77.872 0.000100324 +78.896 9.92862e-05 +79.92 9.82707e-05 +80.944 9.72765e-05 +81.968 9.63031e-05 +82.992 9.53498e-05 +85.04 9.35013e-05 +87.088 9.17227e-05 +89.136 9.00143e-05 +91.184 8.83722e-05 +93.232 8.67929e-05 +95.28 8.52729e-05 +97.328 8.38084e-05 +99.376 8.23959e-05 +101.424 8.1032e-05 +103.472 7.97129e-05 +105.52 7.84366e-05 +107.568 7.72014e-05 +109.616 7.6006e-05 +111.664 7.48487e-05 +113.712 7.3728e-05 +115.76 7.26423e-05 +117.808 7.15901e-05 +119.856 7.05698e-05 +121.904 6.958e-05 +123.952 6.86194e-05 +126 6.76868e-05 +128.048 6.67808e-05 +130.096 6.59003e-05 +132.144 6.50439e-05 +134.192 6.42105e-05 +136.24 6.33986e-05 +138.288 6.26072e-05 +140.336 6.18357e-05 +142.384 6.10836e-05 +144.432 6.03505e-05 +146.48 5.96357e-05 +148.528 5.89388e-05 +150.576 5.82594e-05 +152.624 5.75969e-05 +154.672 5.69508e-05 +156.72 5.63204e-05 +158.768 5.57052e-05 +160.816 5.51044e-05 +162.864 5.45174e-05 +164.912 5.39435e-05 +166.96 5.3382e-05 +169.008 5.28322e-05 +171.056 5.22928e-05 +173.104 5.17635e-05 +175.152 5.12446e-05 +177.2 5.07361e-05 +181.296 4.97491e-05 +185.392 4.88011e-05 +189.488 4.78905e-05 +193.584 4.70159e-05 +197.68 4.61758e-05 +201.776 4.53687e-05 +205.872 4.4593e-05 +209.968 4.38473e-05 +214.064 4.313e-05 +218.16 4.24397e-05 +222.256 4.17748e-05 +226.352 4.11337e-05 +230.448 4.0515e-05 +234.544 3.99171e-05 +238.64 3.93383e-05 +242.736 3.87773e-05 +246.832 3.82323e-05 +250.928 3.77019e-05 +255.024 3.71847e-05 +259.12 3.66958e-05 +263.216 3.62183e-05 +267.312 3.57518e-05 +271.408 3.52962e-05 +275.504 3.48513e-05 +279.6 3.44168e-05 +283.696 3.39926e-05 +287.792 3.35784e-05 +291.888 3.31741e-05 +295.984 3.27794e-05 +300.08 3.23942e-05 +304.176 3.20181e-05 +308.272 3.16511e-05 +312.368 3.12928e-05 +316.464 3.09432e-05 +320.56 3.06018e-05 +324.656 3.02686e-05 +328.752 2.99434e-05 +332.848 2.96258e-05 +336.944 2.93157e-05 +341.04 2.90124e-05 +345.136 2.87146e-05 +349.232 2.84236e-05 +353.328 2.81394e-05 +357.424 2.78616e-05 +365.616 2.73249e-05 +373.808 2.6812e-05 +382 2.63215e-05 +390.192 2.58517e-05 +398.384 2.54013e-05 +406.576 2.49686e-05 +414.768 2.45523e-05 +422.96 2.41508e-05 +431.152 2.37625e-05 +439.344 2.33867e-05 +447.536 2.3023e-05 +455.728 2.26711e-05 +463.92 2.23305e-05 +472.112 2.20007e-05 +480.304 2.16813e-05 +488.496 2.13719e-05 +496.688 2.1072e-05 +504.88 2.07811e-05 +513.072 2.04986e-05 +521.264 2.02239e-05 +529.456 1.99572e-05 +537.648 1.96983e-05 +545.84 1.94469e-05 +554.032 1.92028e-05 +562.224 1.89657e-05 +570.416 1.87354e-05 +578.608 1.85117e-05 +586.8 1.82942e-05 +594.992 1.80828e-05 +603.184 1.78771e-05 +611.376 1.7677e-05 +619.568 1.74822e-05 +627.76 1.72924e-05 +635.952 1.71073e-05 +644.144 1.69268e-05 +652.336 1.67505e-05 +660.528 1.65782e-05 +668.72 1.64097e-05 +676.912 1.62446e-05 +685.104 1.60838e-05 +701.488 1.57727e-05 +717.872 1.54735e-05 +734.256 1.51859e-05 +750.64 1.49093e-05 +767.024 1.46434e-05 +783.408 1.43877e-05 +799.792 1.41419e-05 +816.176 1.39054e-05 +832.56 1.36778e-05 +848.944 1.34587e-05 +865.328 1.32471e-05 +881.712 1.30431e-05 +898.096 1.28465e-05 +914.48 1.26568e-05 +930.864 1.24738e-05 +947.248 1.2297e-05 +963.632 1.21262e-05 +980.016 1.19609e-05 +996.4 1.18009e-05 +1012.78 1.16456e-05 +1029.17 1.14949e-05 +1045.55 1.13484e-05 +1061.94 1.12061e-05 +1078.32 1.10677e-05 +1094.7 1.09332e-05 +1111.09 1.08025e-05 +1127.47 1.06753e-05 +1143.86 1.05516e-05 +1160.24 1.04313e-05 +1176.62 1.03142e-05 +1193.01 1.02002e-05 +1209.39 1.00891e-05 +1225.78 9.98082e-06 +1242.16 9.87533e-06 +1258.54 9.77249e-06 +1274.93 9.67223e-06 +1291.31 9.57442e-06 +1307.7 9.47899e-06 +1340.46 9.29485e-06 +1373.23 9.11901e-06 +1406 8.95084e-06 +1438.77 8.78994e-06 +1471.54 8.63592e-06 +1504.3 8.48837e-06 +1537.07 8.34688e-06 +1569.84 8.21108e-06 +1602.61 8.08058e-06 +1635.38 7.95502e-06 +1668.14 7.83404e-06 +1700.91 7.71724e-06 +1733.68 7.60402e-06 +1766.45 7.49453e-06 +1799.22 7.38869e-06 +1831.98 7.28637e-06 +1864.75 7.18748e-06 +1897.52 7.09192e-06 +1930.29 6.99957e-06 +1963.06 6.91033e-06 +1995.82 6.82409e-06 +2028.59 6.74074e-06 +2061.36 6.66017e-06 +2094.13 6.58226e-06 +2126.9 6.50691e-06 +2159.66 6.43399e-06 +2192.43 6.3634e-06 +2225.2 6.29502e-06 +2257.97 6.22874e-06 +2290.74 6.16443e-06 +2323.5 6.10198e-06 +2356.27 6.04126e-06 +2421.81 5.92458e-06 +2487.34 5.81343e-06 +2552.88 5.70703e-06 +2618.42 5.60822e-06 +2683.95 5.51299e-06 +2749.49 5.42125e-06 +2815.02 5.33294e-06 +2880.56 5.24795e-06 +2946.1 5.16621e-06 +3011.63 5.08763e-06 +3077.17 5.01211e-06 +3142.7 4.93956e-06 +3208.24 4.86988e-06 +3273.78 4.80297e-06 +3339.31 4.73874e-06 +3404.85 4.67703e-06 +3470.38 4.61739e-06 +3535.92 4.5601e-06 +3601.46 4.50507e-06 +3666.99 4.45218e-06 +3732.53 4.40132e-06 +3798.06 4.35238e-06 +3863.6 4.30525e-06 +3929.14 4.25982e-06 +3994.67 4.21597e-06 +4060.21 4.17359e-06 +4125.74 4.13257e-06 +4256.82 4.05414e-06 +4387.89 3.97985e-06 +4518.96 3.90945e-06 +4650.03 3.84275e-06 +4781.1 3.77954e-06 +4912.18 3.71962e-06 +5043.25 3.66277e-06 +5174.32 3.6087e-06 +5305.39 3.55727e-06 +5436.46 3.50841e-06 +5567.54 3.46198e-06 +5698.61 3.41785e-06 +5829.68 3.37588e-06 +5960.75 3.33594e-06 +6091.82 3.29789e-06 +6222.9 3.26158e-06 +6353.97 3.22687e-06 +6485.04 3.19361e-06 +6616.11 3.16167e-06 +6747.18 3.13089e-06 +7009.33 3.07292e-06 +7271.47 3.01879e-06 +7533.62 2.96817e-06 +7795.76 2.9209e-06 +8057.9 2.87676e-06 +8320.05 2.83556e-06 +8582.19 2.79705e-06 +8844.34 2.761e-06 +9106.48 2.7273e-06 +9368.62 2.69575e-06 +9630.77 2.66617e-06 +9892.91 2.63837e-06 +10155.1 2.61214e-06 +10679.3 2.56374e-06 +11203.6 2.52018e-06 +11727.9 2.48084e-06 +12252.2 2.44513e-06 +12776.5 2.41265e-06 +13300.8 2.38319e-06 +13825.1 2.35649e-06 +14349.4 2.33227e-06 +14873.6 2.31015e-06 +15922.2 2.27076e-06 +16970.8 2.23534e-06 +18019.4 2.13003e-06 +19068 2.03684e-06 +20116.5 1.95541e-06 +21165.1 1.88373e-06 +22213.7 1.82021e-06 +23262.3 1.76358e-06 +24310.8 1.71282e-06 +25359.4 1.66708e-06 +26408 1.6257e-06 +27456.6 1.5881e-06 +28505.1 1.5538e-06 +29553.7 1.52241e-06 +30602.3 1.49358e-06 +31650.9 1.46703e-06 +32699.4 1.4425e-06 +33748 1.41979e-06 +34796.6 1.39871e-06 +35845.2 1.3791e-06 +36893.7 1.36082e-06 +37942.3 1.34373e-06 +38990.9 1.32775e-06 +40039.5 1.31276e-06 +41088 1.29868e-06 +42136.6 1.28544e-06 +43185.2 1.27296e-06 +45282.4 1.25008e-06 +47379.5 1.2296e-06 +49476.7 1.2112e-06 +51573.8 1.19459e-06 +53671 1.17953e-06 +55768.1 1.16584e-06 +57865.3 1.15334e-06 +59962.4 1.1419e-06 +64156.7 1.12174e-06 +68351 1.10459e-06 +72545.3 1.08987e-06 +76739.6 1.07714e-06 +80933.9 1.06606e-06 +85128.2 1.05637e-06 +93516.8 1.0403e-06 +101905 1.02765e-06 +110294 1.01756e-06 +127071 1.00282e-06 +143848 9.92985e-07 +177403 9.81827e-07 +210957 9.76931e-07 +278066 9.75541e-07 +412284 9.83821e-07 +680719 1.00627e-06 +949155 1.02607e-06 diff --git a/Projects/Actar/EnergyLossTable/He3_D2_6.24151e+08_295.G4table b/Projects/Actar/EnergyLossTable/He3_D2_6.24151e+08_295.G4table new file mode 100644 index 0000000000000000000000000000000000000000..766ab3f4a031342e145361d6eb64f1bc1ee57acd --- /dev/null +++ b/Projects/Actar/EnergyLossTable/He3_D2_6.24151e+08_295.G4table @@ -0,0 +1,534 @@ +Table from Geant4 generate using NPSimulation Particle: He3 Material: NPS_D2_6.24151e+08_295 +0 0 +0.001 7.21734e-06 +0.002 6.96692e-06 +0.003 7.21774e-06 +0.004 7.64835e-06 +0.005 8.07352e-06 +0.006 8.64959e-06 +0.007 9.18344e-06 +0.008 9.68265e-06 +0.009 1.01529e-05 +0.01 1.05986e-05 +0.011 1.1108e-05 +0.012 1.15991e-05 +0.013 1.20734e-05 +0.014 1.25495e-05 +0.015 1.30208e-05 +0.016 1.34796e-05 +0.017 1.39316e-05 +0.018 1.43827e-05 +0.019 1.4824e-05 +0.02 1.52562e-05 +0.021 1.56914e-05 +0.022 1.61187e-05 +0.023 1.65385e-05 +0.024 1.69512e-05 +0.025 1.73571e-05 +0.026 1.77567e-05 +0.027 1.81529e-05 +0.028 1.8549e-05 +0.029 1.89397e-05 +0.03 1.9325e-05 +0.031 1.97052e-05 +0.032 2.00806e-05 +0.033 2.04513e-05 +0.034 2.08217e-05 +0.035 2.11902e-05 +0.036 2.15544e-05 +0.037 2.19145e-05 +0.038 2.22707e-05 +0.039 2.26231e-05 +0.04 2.29719e-05 +0.041 2.3317e-05 +0.042 2.36587e-05 +0.043 2.3997e-05 +0.044 2.43321e-05 +0.045 2.46639e-05 +0.046 2.49926e-05 +0.047 2.53183e-05 +0.048 2.5641e-05 +0.049 2.59608e-05 +0.05 2.62778e-05 +0.051 2.6596e-05 +0.052 2.69116e-05 +0.053 2.72245e-05 +0.054 2.75349e-05 +0.055 2.78427e-05 +0.056 2.8148e-05 +0.057 2.84509e-05 +0.058 2.87514e-05 +0.059 2.90496e-05 +0.06 2.93454e-05 +0.061 2.96389e-05 +0.062 2.99303e-05 +0.064 3.05063e-05 +0.066 3.10739e-05 +0.068 3.16362e-05 +0.07 3.21921e-05 +0.072 3.27403e-05 +0.074 3.32808e-05 +0.076 3.3814e-05 +0.078 3.434e-05 +0.08 3.4859e-05 +0.082 3.53711e-05 +0.084 3.58765e-05 +0.086 3.63753e-05 +0.088 3.68678e-05 +0.09 3.73539e-05 +0.092 3.78338e-05 +0.094 3.83076e-05 +0.096 3.87755e-05 +0.098 3.92376e-05 +0.1 3.96938e-05 +0.102 4.01469e-05 +0.104 4.05944e-05 +0.106 4.10364e-05 +0.108 4.1473e-05 +0.11 4.19042e-05 +0.112 4.23302e-05 +0.114 4.2751e-05 +0.118 4.35774e-05 +0.122 4.43838e-05 +0.126 4.51707e-05 +0.13 4.59385e-05 +0.134 4.66881e-05 +0.138 4.74213e-05 +0.142 4.81366e-05 +0.146 4.88345e-05 +0.15 4.95151e-05 +0.154 5.0179e-05 +0.158 5.08263e-05 +0.162 5.14574e-05 +0.166 5.20725e-05 +0.17 5.26728e-05 +0.174 5.3258e-05 +0.178 5.38279e-05 +0.182 5.43829e-05 +0.186 5.49233e-05 +0.194 5.59608e-05 +0.202 5.69427e-05 +0.21 5.78717e-05 +0.218 5.8748e-05 +0.226 5.95734e-05 +0.234 6.03493e-05 +0.242 6.10774e-05 +0.25 6.17591e-05 +0.258 6.23959e-05 +0.266 6.29892e-05 +0.282 6.40536e-05 +0.298 6.49611e-05 +0.314 6.57222e-05 +0.33 6.63474e-05 +0.362 6.72327e-05 +0.394 6.76887e-05 +0.458 6.75774e-05 +0.586 6.47399e-05 +0.714 6.03224e-05 +0.842 5.55963e-05 +0.97 5.11208e-05 +1.098 4.70998e-05 +1.226 4.35687e-05 +1.354 4.04951e-05 +1.482 3.7825e-05 +1.61 3.54992e-05 +1.738 3.34647e-05 +1.866 3.16752e-05 +1.994 3.00916e-05 +2.122 2.86821e-05 +2.25 2.74199e-05 +2.378 2.62831e-05 +2.506 2.52537e-05 +2.634 2.43169e-05 +2.762 2.34606e-05 +2.89 2.26742e-05 +3.018 2.19491e-05 +3.146 2.12781e-05 +3.274 2.06549e-05 +3.402 2.00743e-05 +3.53 1.9532e-05 +3.658 1.90237e-05 +3.786 1.85463e-05 +3.914 1.8097e-05 +4.042 1.76727e-05 +4.17 1.72714e-05 +4.298 1.68913e-05 +4.426 1.65305e-05 +4.554 1.61875e-05 +4.682 1.58609e-05 +4.81 1.55494e-05 +4.938 1.5252e-05 +5.066 1.49677e-05 +5.194 1.46955e-05 +5.322 1.44347e-05 +5.45 1.41844e-05 +5.578 1.3944e-05 +5.706 1.37129e-05 +5.834 1.34905e-05 +5.962 1.32762e-05 +6.09 1.3048e-05 +6.218 1.28232e-05 +6.346 1.26065e-05 +6.474 1.23976e-05 +6.602 1.21958e-05 +6.73 1.2001e-05 +6.858 1.18128e-05 +6.986 1.16308e-05 +7.114 1.14547e-05 +7.242 1.12841e-05 +7.37 1.11189e-05 +7.498 1.09588e-05 +7.626 1.08036e-05 +7.754 1.0653e-05 +7.882 1.05068e-05 +8.01 1.03648e-05 +8.138 1.02269e-05 +8.266 1.00928e-05 +8.394 9.96244e-06 +8.522 9.83563e-06 +8.65 9.71223e-06 +8.778 9.59209e-06 +8.906 9.4751e-06 +9.034 9.36112e-06 +9.162 9.25005e-06 +9.29 9.14176e-06 +9.418 9.03615e-06 +9.546 8.93294e-06 +9.674 8.83238e-06 +9.802 8.73421e-06 +9.93 8.63835e-06 +10.058 8.54474e-06 +10.186 8.45329e-06 +10.314 8.36392e-06 +10.442 8.27656e-06 +10.57 8.19113e-06 +10.698 8.10757e-06 +10.826 8.02583e-06 +10.954 7.94583e-06 +11.21 7.79088e-06 +11.466 7.64229e-06 +11.722 7.49966e-06 +11.978 7.36265e-06 +12.234 7.23092e-06 +12.49 7.10417e-06 +12.746 6.98212e-06 +13.002 6.86451e-06 +13.258 6.75109e-06 +13.514 6.64166e-06 +13.77 6.53601e-06 +14.026 6.43392e-06 +14.282 6.33522e-06 +14.538 6.23975e-06 +14.794 6.14734e-06 +15.05 6.05784e-06 +15.306 5.97111e-06 +15.562 5.88704e-06 +15.818 5.80549e-06 +16.074 5.72635e-06 +16.33 5.64952e-06 +16.586 5.57489e-06 +16.842 5.50237e-06 +17.098 5.43188e-06 +17.354 5.36333e-06 +17.61 5.29662e-06 +17.866 5.23169e-06 +18.122 5.16847e-06 +18.378 5.10689e-06 +18.634 5.04688e-06 +18.89 4.98838e-06 +19.146 4.93134e-06 +19.402 4.8757e-06 +19.658 4.82141e-06 +19.914 4.76842e-06 +20.17 4.71668e-06 +20.426 4.66616e-06 +20.682 4.61679e-06 +20.938 4.56856e-06 +21.194 4.52141e-06 +21.45 4.4753e-06 +21.706 4.43021e-06 +21.962 4.38609e-06 +22.474 4.30067e-06 +22.986 4.2188e-06 +23.498 4.14024e-06 +24.01 4.06481e-06 +24.522 3.99231e-06 +25.034 3.92257e-06 +25.546 3.85544e-06 +26.058 3.79076e-06 +26.57 3.7284e-06 +27.082 3.66825e-06 +27.594 3.61017e-06 +28.106 3.55407e-06 +28.618 3.49984e-06 +29.13 3.44738e-06 +29.642 3.3966e-06 +30.154 3.34743e-06 +30.666 3.29979e-06 +31.178 3.2536e-06 +31.69 3.2088e-06 +32.202 3.16533e-06 +32.714 3.12312e-06 +33.226 3.08212e-06 +33.738 3.04229e-06 +34.25 3.00356e-06 +34.762 2.9659e-06 +35.274 2.92925e-06 +35.786 2.89358e-06 +36.298 2.85885e-06 +36.81 2.82501e-06 +37.322 2.79204e-06 +37.834 2.7599e-06 +38.346 2.72855e-06 +38.858 2.69798e-06 +39.37 2.66814e-06 +39.882 2.63901e-06 +40.394 2.61058e-06 +40.906 2.5828e-06 +41.418 2.55566e-06 +41.93 2.52914e-06 +42.442 2.50321e-06 +42.954 2.47786e-06 +43.466 2.45307e-06 +43.978 2.42881e-06 +45.002 2.38183e-06 +46.026 2.33679e-06 +47.05 2.29359e-06 +48.074 2.25209e-06 +49.098 2.21221e-06 +50.122 2.17384e-06 +51.146 2.13691e-06 +52.17 2.10134e-06 +53.194 2.06704e-06 +54.218 2.03394e-06 +55.242 2.00199e-06 +56.266 1.97112e-06 +57.29 1.94128e-06 +58.314 1.91242e-06 +59.338 1.88448e-06 +60.362 1.85743e-06 +61.386 1.83122e-06 +62.41 1.80581e-06 +63.434 1.78116e-06 +64.458 1.75724e-06 +65.482 1.73402e-06 +66.506 1.71147e-06 +67.53 1.68956e-06 +68.554 1.66826e-06 +69.578 1.64755e-06 +70.602 1.6274e-06 +71.626 1.60778e-06 +72.65 1.58868e-06 +73.674 1.57008e-06 +74.698 1.55195e-06 +75.722 1.53428e-06 +76.746 1.51705e-06 +77.77 1.50024e-06 +78.794 1.48385e-06 +79.818 1.46784e-06 +80.842 1.45221e-06 +81.866 1.43695e-06 +82.89 1.42204e-06 +83.914 1.40747e-06 +84.938 1.39323e-06 +85.962 1.37931e-06 +88.01 1.35237e-06 +90.058 1.32658e-06 +92.106 1.30186e-06 +94.154 1.27815e-06 +96.202 1.25538e-06 +98.25 1.2335e-06 +100.298 1.21246e-06 +102.346 1.19221e-06 +104.394 1.17271e-06 +106.442 1.15391e-06 +108.49 1.13578e-06 +110.538 1.11828e-06 +112.586 1.10137e-06 +114.634 1.08503e-06 +116.682 1.06923e-06 +118.73 1.05394e-06 +120.778 1.03914e-06 +122.826 1.0248e-06 +124.874 1.0109e-06 +126.922 9.97425e-07 +128.97 9.84351e-07 +131.018 9.71661e-07 +133.066 9.59338e-07 +135.114 9.47368e-07 +137.162 9.35735e-07 +139.21 9.24424e-07 +141.258 9.13421e-07 +143.306 9.02714e-07 +145.354 8.92291e-07 +147.402 8.8214e-07 +149.45 8.72252e-07 +151.498 8.62615e-07 +153.546 8.5322e-07 +155.594 8.44058e-07 +157.642 8.3512e-07 +159.69 8.26398e-07 +161.738 8.17885e-07 +163.786 8.09572e-07 +165.834 8.01452e-07 +167.882 7.9352e-07 +171.978 7.78192e-07 +176.074 7.63537e-07 +180.17 7.49511e-07 +184.266 7.36075e-07 +188.362 7.2319e-07 +192.458 7.10824e-07 +196.554 6.98945e-07 +200.65 6.87525e-07 +204.746 6.76539e-07 +208.842 6.65961e-07 +212.938 6.55769e-07 +217.034 6.4594e-07 +221.13 6.36457e-07 +225.226 6.273e-07 +229.322 6.18454e-07 +233.418 6.09902e-07 +237.514 6.0163e-07 +241.61 5.93623e-07 +245.706 5.85871e-07 +249.802 5.78359e-07 +253.898 5.71078e-07 +257.994 5.64016e-07 +262.09 5.57164e-07 +266.186 5.50513e-07 +270.282 5.44054e-07 +274.378 5.37779e-07 +278.474 5.31679e-07 +282.57 5.25748e-07 +286.666 5.19978e-07 +290.762 5.14363e-07 +294.858 5.08897e-07 +298.954 5.03573e-07 +303.05 4.98387e-07 +307.146 4.93332e-07 +311.242 4.88405e-07 +319.434 4.78911e-07 +327.626 4.69871e-07 +335.818 4.61253e-07 +344.01 4.53029e-07 +352.202 4.45171e-07 +360.394 4.37655e-07 +368.586 4.30459e-07 +376.778 4.23563e-07 +384.97 4.16948e-07 +393.162 4.10598e-07 +401.354 4.04497e-07 +409.546 3.98631e-07 +417.738 3.92986e-07 +425.93 3.87549e-07 +434.122 3.8231e-07 +442.314 3.77258e-07 +450.506 3.72383e-07 +458.698 3.67676e-07 +466.89 3.63128e-07 +475.082 3.58732e-07 +483.274 3.54479e-07 +491.466 3.50364e-07 +499.658 3.46379e-07 +507.85 3.4252e-07 +516.042 3.38779e-07 +524.234 3.35151e-07 +532.426 3.31632e-07 +540.618 3.28217e-07 +548.81 3.249e-07 +557.002 3.21678e-07 +573.386 3.15503e-07 +589.77 3.09661e-07 +606.154 3.04128e-07 +622.538 2.98879e-07 +638.922 2.93893e-07 +655.306 2.89151e-07 +671.69 2.84636e-07 +688.074 2.80332e-07 +704.458 2.76226e-07 +720.842 2.72302e-07 +737.226 2.68551e-07 +753.61 2.64961e-07 +769.994 2.61521e-07 +786.378 2.58224e-07 +802.762 2.55059e-07 +819.146 2.5202e-07 +835.53 2.491e-07 +851.914 2.46291e-07 +868.298 2.43588e-07 +884.682 2.40984e-07 +901.066 2.38475e-07 +917.45 2.36056e-07 +933.834 2.33722e-07 +966.602 2.29291e-07 +999.37 2.25153e-07 +1032.14 2.21281e-07 +1064.91 2.1765e-07 +1097.67 2.14239e-07 +1130.44 2.11029e-07 +1163.21 2.08004e-07 +1195.98 2.05149e-07 +1228.75 2.0245e-07 +1261.51 1.99896e-07 +1294.28 1.97475e-07 +1327.05 1.95178e-07 +1359.82 1.92997e-07 +1392.59 1.90923e-07 +1425.35 1.88949e-07 +1458.12 1.87068e-07 +1523.66 1.83563e-07 +1589.19 1.80364e-07 +1654.73 1.77435e-07 +1720.27 1.74747e-07 +1785.8 1.72272e-07 +1851.34 1.69989e-07 +1916.87 1.67877e-07 +1982.41 1.6592e-07 +2047.95 1.64103e-07 +2113.48 1.62412e-07 +2179.02 1.60837e-07 +2310.09 1.57993e-07 +2441.16 1.55501e-07 +2572.23 1.53309e-07 +2703.31 1.5137e-07 +2834.38 1.4965e-07 +2965.45 1.48119e-07 +3096.52 1.46751e-07 +3358.67 1.44428e-07 +3620.81 1.42551e-07 +3882.95 1.41025e-07 +4145.1 1.39779e-07 +4669.39 1.37926e-07 +5193.67 1.36691e-07 +6242.25 1.35386e-07 +8339.4 1.35123e-07 +12533.7 1.37558e-07 +16728 1.40691e-07 +20922.3 1.43684e-07 +25116.6 1.46405e-07 +29310.9 1.48857e-07 +33505.2 1.51072e-07 +37699.5 1.53086e-07 +41893.8 1.54927e-07 +46088.1 1.56621e-07 +50282.4 1.58187e-07 +54476.7 1.59643e-07 +62865.4 1.62278e-07 +71254 1.6461e-07 +79642.6 1.667e-07 +88031.2 1.68593e-07 +96419.8 1.70322e-07 +104808 1.71912e-07 +121586 1.74756e-07 +138363 1.77241e-07 +155140 1.79446e-07 +171917 1.81429e-07 +188694 1.83228e-07 +222249 1.86255e-07 +255803 1.88565e-07 +289358 1.90428e-07 +356467 1.93294e-07 +423575 1.95441e-07 +490684 1.97142e-07 +624902 1.99736e-07 +759120 2.01679e-07 diff --git a/Projects/Actar/EnergyLossTable/Lise_dedx_Ne.txt b/Projects/Actar/EnergyLossTable/Lise_dedx_Ne.txt new file mode 100644 index 0000000000000000000000000000000000000000..55fbe17022b5fe854d8c8a0e772828da5cbae35f --- /dev/null +++ b/Projects/Actar/EnergyLossTable/Lise_dedx_Ne.txt @@ -0,0 +1,219 @@ +Energy (MeV/u)1 0 - [He-base] F.Hubert et al, AD&ND Tables 46(1990)1 Energy (MeV/u)2 1 - [H -base] J.F.Ziegler et al, Pergamon Press, NY (low energy) Energy (MeV/u)3 2 - ATIMA 1.2 LS-theory (recommended for high energy) Energy (MeV/u)4 3 - ATIMA 1.2 without LS-correction Energy (MeV/u)5 4 - electrical component of [1] - J.F.Ziegler et al Energy (MeV/u)6 5 - nuclear component of [1] - J.F.Ziegler et al +0.001000 6.55588e-05 0.001000 8.86718e-05 0.001000 9.30638e-05 0.001000 9.30638e-05 0.001000 3.28191e-05 0.001000 5.58527e-05 +0.002000 6.5901e-05 0.002000 8.73453e-05 0.002000 9.38681e-05 0.002000 9.38681e-05 0.002000 4.25737e-05 0.002000 4.47716e-05 +0.005000 6.9691e-05 0.005000 8.92671e-05 0.005000 0.000100303 0.005000 0.000100303 0.005000 6.00554e-05 0.005000 2.92117e-05 +0.008000 7.46193e-05 0.008000 9.39857e-05 0.008000 0.000108443 0.008000 0.000108443 0.008000 7.16469e-05 0.008000 2.23388e-05 +0.010000 7.78705e-05 0.010000 9.73887e-05 0.010000 0.000113822 0.010000 0.000113822 0.010000 7.7909e-05 0.010000 1.94797e-05 +0.015000 8.56279e-05 0.015000 0.000108414 0.015000 0.000127049 0.015000 0.000127049 0.015000 9.34317e-05 0.015000 1.49821e-05 +0.020000 9.41919e-05 0.020000 0.00012292 0.020000 0.000142509 0.020000 0.000142509 0.020000 0.0001106 0.020000 1.23194e-05 +0.025000 0.000105376 0.025000 0.000140066 0.025000 0.000158406 0.025000 0.000158406 0.025000 0.000129585 0.025000 1.04804e-05 +0.030000 0.000116373 0.030000 0.000157308 0.030000 0.000175699 0.030000 0.000175699 0.030000 0.000148148 0.030000 9.16023e-06 +0.035000 0.000126941 0.035000 0.000174386 0.035000 0.000192757 0.035000 0.000192757 0.035000 0.000166198 0.035000 8.18813e-06 +0.040000 0.00013699 0.040000 0.000191077 0.040000 0.000209405 0.040000 0.000209405 0.040000 0.000183657 0.040000 7.41968e-06 +0.045000 0.000146464 0.045000 0.000207255 0.045000 0.000225557 0.045000 0.000225557 0.045000 0.00020046 0.045000 6.79525e-06 +0.050000 0.000154281 0.050000 0.000221215 0.050000 0.000241152 0.050000 0.000241152 0.050000 0.000214938 0.050000 6.27672e-06 +0.055000 0.000163329 0.055000 0.000235863 0.055000 0.000256148 0.055000 0.000256148 0.055000 0.000230025 0.055000 5.83851e-06 +0.060000 0.000172064 0.060000 0.000250052 0.060000 0.000270516 0.060000 0.000270516 0.060000 0.00024459 0.060000 5.46277e-06 +0.070000 0.000188554 0.070000 0.000276926 0.070000 0.000297303 0.070000 0.000297303 0.070000 0.000272076 0.070000 4.85063e-06 +0.080000 0.000203335 0.080000 0.000301352 0.080000 0.000321465 0.080000 0.000321465 0.080000 0.000296981 0.080000 4.37183e-06 +0.090000 0.000216737 0.090000 0.000323517 0.090000 0.000343049 0.090000 0.000343049 0.090000 0.000319531 0.090000 3.98606e-06 +0.100000 0.000228549 0.100000 0.000342962 0.100000 0.000362168 0.100000 0.000362168 0.100000 0.000339294 0.100000 3.66795e-06 +0.120000 0.000246558 0.120000 0.000372088 0.120000 0.000393653 0.120000 0.000393653 0.120000 0.000368915 0.120000 3.17271e-06 +0.140000 0.000261135 0.140000 0.000394728 0.140000 0.000417365 0.140000 0.000417365 0.140000 0.000391924 0.140000 2.80359e-06 +0.160000 0.000272889 0.160000 0.00041196 0.160000 0.000434789 0.160000 0.000434789 0.160000 0.000409443 0.160000 2.51691e-06 +0.180000 0.000282391 0.180000 0.000424857 0.180000 0.000447269 0.180000 0.000447269 0.180000 0.00042257 0.180000 2.28725e-06 +0.200000 0.000292079 0.200000 0.000437315 0.200000 0.00045594 0.200000 0.00045594 0.200000 0.000435216 0.200000 2.09877e-06 +0.250000 0.000306741 0.250000 0.000453933 0.250000 0.000466511 0.250000 0.000466511 0.250000 0.000452186 0.250000 1.74721e-06 +0.300000 0.000315168 0.300000 0.000459696 0.300000 0.000468117 0.300000 0.000468117 0.300000 0.000458194 0.300000 1.50244e-06 +0.350000 0.000322339 0.350000 0.000463087 0.350000 0.000465641 0.350000 0.000465641 0.350000 0.000461766 0.350000 1.32146e-06 +0.400000 0.000328334 0.400000 0.000464728 0.400000 0.000464609 0.400000 0.000464609 0.400000 0.000463546 0.400000 1.18178e-06 +0.450000 0.000332955 0.450000 0.000464661 0.450000 0.000465507 0.450000 0.000465507 0.450000 0.00046359 0.450000 1.07047e-06 +0.500000 0.000336748 0.500000 0.000463798 0.500000 0.000464665 0.500000 0.000464665 0.500000 0.000462818 0.500000 9.79525e-07 +0.600000 0.000329833 0.600000 0.000451309 0.600000 0.000460014 0.600000 0.000460014 0.600000 0.000450469 0.600000 8.39487e-07 +0.700000 0.000322408 0.700000 0.000439312 0.700000 0.000453219 0.700000 0.000453219 0.700000 0.000438575 0.700000 7.36386e-07 +0.800000 0.00031451 0.800000 0.000427304 0.800000 0.000442911 0.800000 0.000442911 0.800000 0.000426647 0.800000 6.57091e-07 +0.900000 0.000306015 0.900000 0.000415169 0.900000 0.000432578 0.900000 0.000432578 0.900000 0.000414575 0.900000 5.9408e-07 +1.000000 0.000297701 1.000000 0.000403778 1.000000 0.000422524 1.000000 0.000422524 1.000000 0.000403236 1.000000 5.42722e-07 +1.250000 0.000289167 1.250000 0.000386412 1.250000 0.000398566 1.250000 0.000398566 1.250000 0.000385964 1.250000 4.47816e-07 +1.500000 0.000277942 1.500000 0.000367124 1.500000 0.000374083 1.500000 0.000374083 1.500000 0.000366741 1.500000 3.82467e-07 +1.750000 0.000267042 1.750000 0.000349334 1.750000 0.000353085 1.750000 0.000353085 1.750000 0.000349 1.750000 3.34559e-07 +2.000000 0.000256541 2.000000 0.000332799 2.000000 0.000334625 2.000000 0.000334625 2.000000 0.000332501 2.000000 2.9784e-07 +2.250000 0.000244318 2.250000 0.000315815 2.250000 0.000318158 2.250000 0.000318158 2.250000 0.000315546 2.250000 2.68747e-07 +2.500000 0.000240055 2.500000 0.000300213 2.500000 0.000303328 2.500000 0.000303328 2.500000 0.000299968 2.500000 2.45092e-07 +3.000000 0.000218432 3.000000 0.000273043 3.000000 0.00027761 3.000000 0.00027761 3.000000 0.000272834 3.000000 2.08887e-07 +3.500000 0.00020046 3.500000 0.000250638 3.500000 0.00025603 3.500000 0.00025603 3.500000 0.000250455 3.500000 1.82411e-07 +4.000000 0.000185332 4.000000 0.000231543 4.000000 0.000237644 4.000000 0.000237644 4.000000 0.000231381 4.000000 1.6216e-07 +4.500000 0.000172436 4.500000 0.000215292 4.500000 0.000221784 4.500000 0.000221784 4.500000 0.000215146 4.500000 1.46142e-07 +5.000000 0.000161315 5.000000 0.000201277 5.000000 0.000207958 5.000000 0.000207958 5.000000 0.000201144 5.000000 1.33138e-07 +5.500000 0.000151627 5.500000 0.000189242 5.500000 0.000195797 5.500000 0.000195797 5.500000 0.000189119 5.500000 1.22358e-07 +6.000000 0.00014311 6.000000 0.000178625 6.000000 0.000185014 6.000000 0.000185014 6.000000 0.000178511 6.000000 1.1327e-07 +6.500000 0.000135562 6.500000 0.000169174 6.500000 0.000175387 6.500000 0.000175387 6.500000 0.000169068 6.500000 1.05498e-07 +7.000000 0.000128825 7.000000 0.000160704 7.000000 0.000166738 7.000000 0.000166738 7.000000 0.000160605 7.000000 9.87709e-08 +7.500000 0.000122774 7.500000 0.00015307 7.500000 0.000158923 7.500000 0.000158923 7.500000 0.000152977 7.500000 9.28891e-08 +8.000000 0.000117307 8.000000 0.000146151 8.000000 0.000151827 8.000000 0.000151827 8.000000 0.000146064 8.000000 8.76999e-08 +8.500000 0.000112342 8.500000 0.00013985 8.500000 0.000145355 8.500000 0.000145355 8.500000 0.000139767 8.500000 8.3086e-08 +9.000000 0.000107813 9.000000 0.000134084 9.000000 0.000139427 9.000000 0.000139427 9.000000 0.000134005 9.000000 7.89553e-08 +9.500000 0.000103664 9.500000 0.000128788 9.500000 0.000133976 9.500000 0.000133976 9.500000 0.000128713 9.500000 7.52346e-08 +10.000000 9.98471e-05 10.000000 0.00012566 10.000000 0.000128948 10.000000 0.000128948 10.000000 0.000125589 10.000000 7.18648e-08 +11.000000 9.30626e-05 11.000000 0.00011737 11.000000 0.000119791 11.000000 0.000119993 11.000000 0.000117304 11.000000 6.59936e-08 +12.000000 8.72112e-05 12.000000 0.000110141 12.000000 0.000111889 12.000000 0.00011223 12.000000 0.00011008 12.000000 6.10482e-08 +13.000000 8.21101e-05 13.000000 0.000103785 13.000000 0.000105003 13.000000 0.00010544 13.000000 0.000103728 13.000000 5.68226e-08 +14.000000 7.76216e-05 14.000000 9.81533e-05 14.000000 9.89514e-05 14.000000 9.94534e-05 14.000000 9.81002e-05 14.000000 5.31683e-08 +15.000000 7.364e-05 15.000000 9.313e-05 15.000000 9.35914e-05 15.000000 9.41387e-05 15.000000 9.308e-05 15.000000 4.99751e-08 +16.000000 7.00826e-05 16.000000 8.8622e-05 16.000000 8.88162e-05 16.000000 8.93912e-05 16.000000 8.85749e-05 16.000000 4.71599e-08 +17.000000 6.68841e-05 17.000000 8.45544e-05 17.000000 8.45384e-05 17.000000 8.51269e-05 17.000000 8.45097e-05 17.000000 4.46582e-08 +18.000000 6.3992e-05 18.000000 8.08657e-05 18.000000 8.0683e-05 18.000000 8.12777e-05 18.000000 8.08233e-05 18.000000 4.24198e-08 +19.000000 6.13634e-05 19.000000 7.75056e-05 19.000000 7.71914e-05 19.000000 7.77876e-05 19.000000 7.74652e-05 19.000000 4.04046e-08 +20.000000 5.89635e-05 20.000000 7.44321e-05 20.000000 7.4017e-05 20.000000 7.46104e-05 20.000000 7.43935e-05 20.000000 3.85804e-08 +21.000000 5.67631e-05 21.000000 7.161e-05 21.000000 7.11207e-05 21.000000 7.17074e-05 21.000000 7.15731e-05 21.000000 3.69207e-08 +22.000000 5.4738e-05 22.000000 6.90098e-05 22.000000 6.84694e-05 22.000000 6.9046e-05 22.000000 6.89744e-05 22.000000 3.5404e-08 +23.000000 5.28676e-05 23.000000 6.66062e-05 23.000000 6.60348e-05 23.000000 6.65987e-05 23.000000 6.65722e-05 23.000000 3.40124e-08 +24.000000 5.11346e-05 24.000000 6.43777e-05 24.000000 6.37926e-05 24.000000 6.43419e-05 24.000000 6.4345e-05 24.000000 3.27307e-08 +25.000000 4.95241e-05 25.000000 6.23059e-05 25.000000 6.17221e-05 25.000000 6.22554e-05 25.000000 6.22744e-05 25.000000 3.15462e-08 +27.000000 4.66214e-05 27.000000 5.85704e-05 27.000000 5.80268e-05 27.000000 5.85257e-05 27.000000 5.85409e-05 27.000000 2.94273e-08 +29.000000 4.40763e-05 29.000000 5.52949e-05 29.000000 5.48324e-05 29.000000 5.52956e-05 29.000000 5.52673e-05 29.000000 2.75861e-08 +31.000000 4.18257e-05 31.000000 5.23991e-05 31.000000 5.20129e-05 31.000000 5.24202e-05 31.000000 5.23732e-05 31.000000 2.59707e-08 +33.000000 3.98203e-05 33.000000 4.98204e-05 33.000000 4.94756e-05 33.000000 4.98178e-05 33.000000 4.97959e-05 33.000000 2.45415e-08 +35.000000 3.80216e-05 35.000000 4.75092e-05 35.000000 4.7199e-05 35.000000 4.74889e-05 35.000000 4.74859e-05 35.000000 2.32675e-08 +38.000000 3.5645e-05 38.000000 4.44589e-05 38.000000 4.41968e-05 38.000000 4.442e-05 38.000000 4.44373e-05 38.000000 2.1596e-08 +41.000000 3.35845e-05 41.000000 4.18183e-05 41.000000 4.15946e-05 41.000000 4.17671e-05 41.000000 4.17981e-05 41.000000 2.01574e-08 +44.000000 3.17798e-05 44.000000 3.95096e-05 44.000000 3.93193e-05 44.000000 3.945e-05 44.000000 3.94907e-05 44.000000 1.89056e-08 +47.000000 3.01853e-05 47.000000 3.74734e-05 47.000000 3.73095e-05 47.000000 3.74081e-05 47.000000 3.74556e-05 47.000000 1.78061e-08 +50.000000 2.87657e-05 50.000000 3.56639e-05 50.000000 3.55224e-05 50.000000 3.55945e-05 50.000000 3.5647e-05 50.000000 1.68323e-08 +55.000000 2.67155e-05 55.000000 3.30568e-05 55.000000 3.29428e-05 55.000000 3.29829e-05 55.000000 3.30414e-05 55.000000 1.54345e-08 +60.000000 2.49796e-05 60.000000 3.08563e-05 60.000000 3.07679e-05 60.000000 3.07793e-05 60.000000 3.0842e-05 60.000000 1.42591e-08 +65.000000 2.34896e-05 65.000000 2.89732e-05 65.000000 2.8902e-05 65.000000 2.8894e-05 65.000000 2.896e-05 65.000000 1.32563e-08 +70.000000 2.21959e-05 70.000000 2.7343e-05 70.000000 2.72831e-05 70.000000 2.72619e-05 70.000000 2.73306e-05 70.000000 1.23903e-08 +75.000000 2.10614e-05 75.000000 2.59175e-05 75.000000 2.58689e-05 75.000000 2.58347e-05 75.000000 2.59059e-05 75.000000 1.16346e-08 +80.000000 2.00578e-05 80.000000 2.46601e-05 80.000000 2.46184e-05 80.000000 2.45757e-05 80.000000 2.46492e-05 80.000000 1.09691e-08 +85.000000 1.91632e-05 85.000000 2.35425e-05 85.000000 2.35062e-05 85.000000 2.34566e-05 85.000000 2.35321e-05 85.000000 1.03783e-08 +90.000000 1.83605e-05 90.000000 2.25423e-05 90.000000 2.25106e-05 90.000000 2.24549e-05 90.000000 2.25325e-05 90.000000 9.85027e-09 +95.000000 1.76359e-05 95.000000 2.16418e-05 95.000000 2.16138e-05 95.000000 2.1553e-05 95.000000 2.16325e-05 95.000000 9.37532e-09 +100.000000 1.69782e-05 100.000000 2.08268e-05 100.000000 2.08019e-05 100.000000 2.07366e-05 100.000000 2.08178e-05 100.000000 8.94574e-09 +105.000000 1.63785e-05 105.000000 2.00854e-05 105.000000 2.00633e-05 105.000000 1.99939e-05 105.000000 2.00768e-05 105.000000 8.55526e-09 +110.000000 1.58292e-05 110.000000 1.9408e-05 110.000000 1.93861e-05 110.000000 1.93154e-05 110.000000 1.93998e-05 110.000000 8.19869e-09 +115.000000 1.5324e-05 115.000000 1.87867e-05 115.000000 1.87662e-05 115.000000 1.86929e-05 115.000000 1.87788e-05 115.000000 7.87176e-09 +120.000000 1.48577e-05 120.000000 1.82146e-05 120.000000 1.81953e-05 120.000000 1.81198e-05 120.000000 1.82071e-05 120.000000 7.57087e-09 +125.000000 1.4426e-05 125.000000 1.76862e-05 125.000000 1.76663e-05 125.000000 1.75903e-05 125.000000 1.76789e-05 125.000000 7.29299e-09 +130.000000 1.40249e-05 130.000000 1.71965e-05 130.000000 1.71764e-05 130.000000 1.70997e-05 130.000000 1.71895e-05 130.000000 7.03554e-09 +135.000000 1.36513e-05 135.000000 1.67415e-05 135.000000 1.67227e-05 135.000000 1.66439e-05 135.000000 1.67347e-05 135.000000 6.79632e-09 +140.000000 1.33023e-05 140.000000 1.63175e-05 140.000000 1.62991e-05 140.000000 1.62191e-05 140.000000 1.63109e-05 140.000000 6.57344e-09 +145.000000 1.29756e-05 145.000000 1.59214e-05 145.000000 1.59025e-05 145.000000 1.58224e-05 145.000000 1.59151e-05 145.000000 6.36526e-09 +150.000000 1.2669e-05 150.000000 1.55507e-05 150.000000 1.55315e-05 150.000000 1.5451e-05 150.000000 1.55445e-05 150.000000 6.17036e-09 +155.000000 1.23657e-05 155.000000 1.52028e-05 155.000000 1.51834e-05 155.000000 1.51026e-05 155.000000 1.51968e-05 155.000000 5.98747e-09 +160.000000 1.21094e-05 160.000000 1.48758e-05 160.000000 1.48561e-05 160.000000 1.47752e-05 160.000000 1.487e-05 160.000000 5.81553e-09 +165.000000 1.18677e-05 165.000000 1.45678e-05 165.000000 1.45479e-05 165.000000 1.44668e-05 165.000000 1.45621e-05 165.000000 5.65355e-09 +170.000000 1.16393e-05 170.000000 1.42772e-05 170.000000 1.42572e-05 170.000000 1.41758e-05 170.000000 1.42717e-05 170.000000 5.50068e-09 +175.000000 1.14232e-05 175.000000 1.40025e-05 175.000000 1.39824e-05 175.000000 1.39009e-05 175.000000 1.39972e-05 175.000000 5.35618e-09 +180.000000 1.12183e-05 180.000000 1.37426e-05 180.000000 1.37223e-05 180.000000 1.36408e-05 180.000000 1.37374e-05 180.000000 5.21935e-09 +185.000000 1.10238e-05 185.000000 1.34961e-05 185.000000 1.34758e-05 185.000000 1.33942e-05 185.000000 1.3491e-05 185.000000 5.0896e-09 +190.000000 1.0839e-05 190.000000 1.32622e-05 190.000000 1.32418e-05 190.000000 1.31601e-05 190.000000 1.32572e-05 190.000000 4.96639e-09 +195.000000 1.0663e-05 195.000000 1.30398e-05 195.000000 1.30195e-05 195.000000 1.29377e-05 195.000000 1.3035e-05 195.000000 4.84923e-09 +200.000000 1.04953e-05 200.000000 1.28282e-05 200.000000 1.28079e-05 200.000000 1.27261e-05 200.000000 1.28234e-05 200.000000 4.73767e-09 +210.000000 1.01825e-05 210.000000 1.24341e-05 210.000000 1.24127e-05 210.000000 1.23322e-05 210.000000 1.24296e-05 210.000000 4.52981e-09 +220.000000 9.89659e-06 220.000000 1.20748e-05 220.000000 1.20534e-05 220.000000 1.19732e-05 220.000000 1.20705e-05 220.000000 4.34007e-09 +230.000000 9.63414e-06 230.000000 1.17458e-05 230.000000 1.17248e-05 230.000000 1.16446e-05 230.000000 1.17416e-05 230.000000 4.16614e-09 +240.000000 9.39238e-06 240.000000 1.14434e-05 240.000000 1.14231e-05 240.000000 1.13429e-05 240.000000 1.14394e-05 240.000000 4.0061e-09 +250.000000 9.16895e-06 250.000000 1.11646e-05 250.000000 1.11442e-05 250.000000 1.10648e-05 250.000000 1.11607e-05 250.000000 3.85833e-09 +260.000000 8.96184e-06 260.000000 1.09067e-05 260.000000 1.08862e-05 260.000000 1.08077e-05 260.000000 1.0903e-05 260.000000 3.72146e-09 +270.000000 8.76932e-06 270.000000 1.06675e-05 270.000000 1.0648e-05 270.000000 1.05694e-05 270.000000 1.06639e-05 270.000000 3.59431e-09 +280.000000 8.58989e-06 280.000000 1.0445e-05 280.000000 1.04264e-05 280.000000 1.03479e-05 280.000000 1.04415e-05 280.000000 3.47586e-09 +290.000000 8.42227e-06 290.000000 1.02376e-05 290.000000 1.0219e-05 290.000000 1.01415e-05 290.000000 1.02342e-05 290.000000 3.36525e-09 +300.000000 8.26534e-06 300.000000 1.00438e-05 300.000000 1.00258e-05 300.000000 9.94877e-06 300.000000 1.00405e-05 300.000000 3.26171e-09 +310.000000 8.11811e-06 310.000000 9.8623e-06 310.000000 9.84532e-06 310.000000 9.76843e-06 310.000000 9.85913e-06 310.000000 3.16457e-09 +320.000000 7.97971e-06 320.000000 9.69202e-06 320.000000 9.67533e-06 320.000000 9.59934e-06 320.000000 9.68895e-06 320.000000 3.07326e-09 +330.000000 7.84938e-06 330.000000 9.53197e-06 330.000000 9.51601e-06 330.000000 9.4405e-06 330.000000 9.52898e-06 330.000000 2.98726e-09 +340.000000 7.72644e-06 340.000000 9.38126e-06 340.000000 9.36658e-06 340.000000 9.29103e-06 340.000000 9.37835e-06 340.000000 2.9061e-09 +350.000000 7.61029e-06 350.000000 9.23912e-06 350.000000 9.22568e-06 350.000000 9.15015e-06 350.000000 9.23629e-06 350.000000 2.8294e-09 +360.000000 7.5004e-06 360.000000 9.10486e-06 360.000000 9.0922e-06 360.000000 9.01718e-06 360.000000 9.1021e-06 360.000000 2.75678e-09 +370.000000 7.39627e-06 370.000000 8.97785e-06 370.000000 8.965e-06 370.000000 8.89072e-06 370.000000 8.97516e-06 370.000000 2.68793e-09 +380.000000 7.29748e-06 380.000000 8.85754e-06 380.000000 8.84503e-06 380.000000 8.771e-06 380.000000 8.85492e-06 380.000000 2.62256e-09 +390.000000 7.20363e-06 390.000000 8.74344e-06 390.000000 8.73147e-06 390.000000 8.65752e-06 390.000000 8.74088e-06 390.000000 2.56041e-09 +400.000000 7.11438e-06 400.000000 8.63509e-06 400.000000 8.62327e-06 400.000000 8.54982e-06 400.000000 8.63259e-06 400.000000 2.50123e-09 +410.000000 7.02941e-06 410.000000 8.53208e-06 410.000000 8.5203e-06 410.000000 8.44749e-06 410.000000 8.52963e-06 410.000000 2.44483e-09 +420.000000 6.94841e-06 420.000000 8.43404e-06 420.000000 8.42259e-06 420.000000 8.35015e-06 420.000000 8.43165e-06 420.000000 2.391e-09 +430.000000 6.87114e-06 430.000000 8.34063e-06 430.000000 8.3297e-06 430.000000 8.25746e-06 430.000000 8.33829e-06 430.000000 2.33958e-09 +440.000000 6.79735e-06 440.000000 8.25155e-06 440.000000 8.2411e-06 440.000000 8.16912e-06 440.000000 8.24926e-06 440.000000 2.2904e-09 +450.000000 6.72681e-06 450.000000 8.16653e-06 450.000000 8.15644e-06 450.000000 8.08483e-06 450.000000 8.16428e-06 450.000000 2.24331e-09 +460.000000 6.65934e-06 460.000000 8.08529e-06 460.000000 8.07544e-06 460.000000 8.00435e-06 460.000000 8.08309e-06 460.000000 2.1982e-09 +470.000000 6.59473e-06 470.000000 8.00761e-06 470.000000 7.99802e-06 470.000000 7.92742e-06 470.000000 8.00545e-06 470.000000 2.15492e-09 +480.000000 6.53283e-06 480.000000 7.93326e-06 480.000000 7.92416e-06 480.000000 7.85384e-06 480.000000 7.93115e-06 480.000000 2.11338e-09 +490.000000 6.47347e-06 490.000000 7.86206e-06 490.000000 7.85368e-06 490.000000 7.7834e-06 490.000000 7.85999e-06 490.000000 2.07347e-09 +500.000000 6.41651e-06 500.000000 7.79382e-06 500.000000 7.7861e-06 500.000000 7.71591e-06 500.000000 7.79179e-06 500.000000 2.03508e-09 +520.000000 6.30927e-06 520.000000 7.66555e-06 520.000000 7.65856e-06 520.000000 7.58915e-06 520.000000 7.66359e-06 520.000000 1.96257e-09 +540.000000 6.21014e-06 540.000000 7.54725e-06 540.000000 7.5413e-06 540.000000 7.47231e-06 540.000000 7.54535e-06 540.000000 1.89523e-09 +560.000000 6.11831e-06 560.000000 7.43786e-06 560.000000 7.4332e-06 560.000000 7.36436e-06 560.000000 7.43603e-06 560.000000 1.8325e-09 +580.000000 6.03305e-06 580.000000 7.33651e-06 580.000000 7.33259e-06 580.000000 7.26438e-06 580.000000 7.33473e-06 580.000000 1.77393e-09 +600.000000 5.95375e-06 600.000000 7.24239e-06 600.000000 7.23904e-06 600.000000 7.17158e-06 600.000000 7.24067e-06 600.000000 1.71912e-09 +620.000000 5.87985e-06 620.000000 7.15484e-06 620.000000 7.15224e-06 620.000000 7.08528e-06 620.000000 7.15317e-06 620.000000 1.6677e-09 +640.000000 5.81087e-06 640.000000 7.07325e-06 640.000000 7.07173e-06 640.000000 7.00487e-06 640.000000 7.07163e-06 640.000000 1.61938e-09 +660.000000 5.7464e-06 660.000000 6.9971e-06 660.000000 6.99648e-06 660.000000 6.92981e-06 660.000000 6.99553e-06 660.000000 1.57387e-09 +680.000000 5.68605e-06 680.000000 6.92591e-06 680.000000 6.92579e-06 680.000000 6.85964e-06 680.000000 6.92438e-06 680.000000 1.53093e-09 +700.000000 5.6295e-06 700.000000 6.85928e-06 700.000000 6.85969e-06 700.000000 6.79393e-06 700.000000 6.85779e-06 700.000000 1.49036e-09 +720.000000 5.57644e-06 720.000000 6.79683e-06 720.000000 6.79799e-06 720.000000 6.73232e-06 720.000000 6.79537e-06 720.000000 1.45195e-09 +740.000000 5.5266e-06 740.000000 6.73822e-06 740.000000 6.74004e-06 740.000000 6.67447e-06 740.000000 6.73681e-06 740.000000 1.41553e-09 +760.000000 5.47975e-06 760.000000 6.68318e-06 760.000000 6.68533e-06 760.000000 6.62009e-06 760.000000 6.6818e-06 760.000000 1.38096e-09 +780.000000 5.43566e-06 780.000000 6.63142e-06 780.000000 6.6337e-06 780.000000 6.56889e-06 780.000000 6.63007e-06 780.000000 1.3481e-09 +800.000000 5.39414e-06 800.000000 6.58271e-06 800.000000 6.58502e-06 800.000000 6.52065e-06 800.000000 6.5814e-06 800.000000 1.31681e-09 +820.000000 5.35502e-06 820.000000 6.53683e-06 820.000000 6.53915e-06 820.000000 6.47514e-06 820.000000 6.53555e-06 820.000000 1.287e-09 +840.000000 5.31813e-06 840.000000 6.49359e-06 840.000000 6.49597e-06 840.000000 6.43217e-06 840.000000 6.49233e-06 840.000000 1.25855e-09 +860.000000 5.28333e-06 860.000000 6.45279e-06 860.000000 6.45528e-06 860.000000 6.39156e-06 860.000000 6.45156e-06 860.000000 1.23137e-09 +880.000000 5.25047e-06 880.000000 6.41429e-06 880.000000 6.41681e-06 880.000000 6.35314e-06 880.000000 6.41308e-06 880.000000 1.20538e-09 +900.000000 5.21945e-06 900.000000 6.37792e-06 900.000000 6.38031e-06 900.000000 6.31676e-06 900.000000 6.37674e-06 900.000000 1.1805e-09 +920.000000 5.19014e-06 920.000000 6.34356e-06 920.000000 6.34562e-06 920.000000 6.28229e-06 920.000000 6.34241e-06 920.000000 1.15666e-09 +940.000000 5.16245e-06 940.000000 6.31108e-06 940.000000 6.31264e-06 940.000000 6.24961e-06 940.000000 6.30995e-06 940.000000 1.1338e-09 +960.000000 5.13627e-06 960.000000 6.28037e-06 960.000000 6.28132e-06 960.000000 6.21859e-06 960.000000 6.27926e-06 960.000000 1.11186e-09 +980.000000 5.11153e-06 980.000000 6.25131e-06 980.000000 6.25157e-06 980.000000 6.18914e-06 980.000000 6.25022e-06 980.000000 1.09077e-09 +1000.000000 5.08813e-06 1000.000000 6.22381e-06 1000.000000 6.22334e-06 1000.000000 6.16115e-06 1000.000000 6.22274e-06 1000.000000 1.0705e-09 +1020.000000 5.06602e-06 1020.000000 6.19779e-06 1020.000000 6.19655e-06 1020.000000 6.13454e-06 1020.000000 6.19674e-06 1020.000000 1.05099e-09 +1040.000000 5.0451e-06 1040.000000 6.17315e-06 1040.000000 6.17113e-06 1040.000000 6.10923e-06 1040.000000 6.17212e-06 1040.000000 1.03221e-09 +1060.000000 5.02534e-06 1060.000000 6.14983e-06 1060.000000 6.14699e-06 1060.000000 6.08514e-06 1060.000000 6.14881e-06 1060.000000 1.01411e-09 +1080.000000 5.00665e-06 1080.000000 6.12774e-06 1080.000000 6.12402e-06 1080.000000 6.06219e-06 1080.000000 6.12674e-06 1080.000000 9.96649e-10 +1100.000000 4.98899e-06 1100.000000 6.10683e-06 1100.000000 6.10211e-06 1100.000000 6.04033e-06 1100.000000 6.10585e-06 1100.000000 9.79802e-10 +1120.000000 4.97231e-06 1120.000000 6.08703e-06 1120.000000 6.08119e-06 1120.000000 6.01949e-06 1120.000000 6.08606e-06 1120.000000 9.63535e-10 +1140.000000 4.95656e-06 1140.000000 6.06828e-06 1140.000000 6.06117e-06 1140.000000 5.99962e-06 1140.000000 6.06733e-06 1140.000000 9.47817e-10 +1160.000000 4.94169e-06 1160.000000 6.05054e-06 1160.000000 6.04204e-06 1160.000000 5.98067e-06 1160.000000 6.04961e-06 1160.000000 9.32621e-10 +1180.000000 4.92766e-06 1180.000000 6.03374e-06 1180.000000 6.02376e-06 1180.000000 5.96258e-06 1180.000000 6.03283e-06 1180.000000 9.17921e-10 +1200.000000 4.91444e-06 1200.000000 6.01786e-06 1200.000000 6.0063e-06 1200.000000 5.9453e-06 1200.000000 6.01695e-06 1200.000000 9.03692e-10 +1220.000000 4.90198e-06 1220.000000 6.00283e-06 1220.000000 5.98963e-06 1220.000000 5.92881e-06 1220.000000 6.00194e-06 1220.000000 8.89913e-10 +1240.000000 4.89025e-06 1240.000000 5.98862e-06 1240.000000 5.9737e-06 1240.000000 5.91305e-06 1240.000000 5.98774e-06 1240.000000 8.76561e-10 +1260.000000 4.87922e-06 1260.000000 5.97519e-06 1260.000000 5.95849e-06 1260.000000 5.89799e-06 1260.000000 5.97433e-06 1260.000000 8.63618e-10 +1280.000000 4.86886e-06 1280.000000 5.96251e-06 1280.000000 5.94397e-06 1280.000000 5.8836e-06 1280.000000 5.96166e-06 1280.000000 8.51064e-10 +1300.000000 4.85914e-06 1300.000000 5.95054e-06 1300.000000 5.93009e-06 1300.000000 5.86984e-06 1300.000000 5.9497e-06 1300.000000 8.38882e-10 +1320.000000 4.85002e-06 1320.000000 5.93925e-06 1320.000000 5.91683e-06 1320.000000 5.85668e-06 1320.000000 5.93843e-06 1320.000000 8.27055e-10 +1340.000000 4.8415e-06 1340.000000 5.92861e-06 1340.000000 5.90416e-06 1340.000000 5.84409e-06 1340.000000 5.9278e-06 1340.000000 8.15568e-10 +1360.000000 4.83354e-06 1360.000000 5.9186e-06 1360.000000 5.89205e-06 1360.000000 5.83205e-06 1360.000000 5.91779e-06 1360.000000 8.04407e-10 +1380.000000 4.82612e-06 1380.000000 5.90917e-06 1380.000000 5.88047e-06 1380.000000 5.82052e-06 1380.000000 5.90838e-06 1380.000000 7.93557e-10 +1400.000000 4.81922e-06 1400.000000 5.90032e-06 1400.000000 5.86939e-06 1400.000000 5.80949e-06 1400.000000 5.89954e-06 1400.000000 7.83006e-10 +1420.000000 4.81281e-06 1420.000000 5.89202e-06 1420.000000 5.85878e-06 1420.000000 5.79894e-06 1420.000000 5.89124e-06 1420.000000 7.72741e-10 +1440.000000 4.80689e-06 1440.000000 5.88423e-06 1440.000000 5.84862e-06 1440.000000 5.78884e-06 1440.000000 5.88347e-06 1440.000000 7.62751e-10 +1460.000000 4.80143e-06 1460.000000 5.87696e-06 1460.000000 5.83889e-06 1460.000000 5.77916e-06 1460.000000 5.8762e-06 1460.000000 7.53024e-10 +1480.000000 4.79641e-06 1480.000000 5.87016e-06 1480.000000 5.82956e-06 1480.000000 5.7699e-06 1480.000000 5.86941e-06 1480.000000 7.4355e-10 +1500.000000 4.79182e-06 1500.000000 5.86382e-06 1500.000000 5.82063e-06 1500.000000 5.76103e-06 1500.000000 5.86309e-06 1500.000000 7.3432e-10 +1520.000000 4.78764e-06 1520.000000 5.85794e-06 1520.000000 5.81207e-06 1520.000000 5.75254e-06 1520.000000 5.85721e-06 1520.000000 7.25323e-10 +1540.000000 4.78386e-06 1540.000000 5.85248e-06 1540.000000 5.80387e-06 1540.000000 5.74441e-06 1540.000000 5.85176e-06 1540.000000 7.16552e-10 +1560.000000 4.78046e-06 1560.000000 5.84743e-06 1560.000000 5.79602e-06 1560.000000 5.73663e-06 1560.000000 5.84672e-06 1560.000000 7.07998e-10 +1580.000000 4.77743e-06 1580.000000 5.84278e-06 1580.000000 5.78849e-06 1580.000000 5.72917e-06 1580.000000 5.84208e-06 1580.000000 6.99652e-10 +1600.000000 4.77476e-06 1600.000000 5.83851e-06 1600.000000 5.78128e-06 1600.000000 5.72204e-06 1600.000000 5.83782e-06 1600.000000 6.91507e-10 +1620.000000 4.77243e-06 1620.000000 5.83461e-06 1620.000000 5.77437e-06 1620.000000 5.7152e-06 1620.000000 5.83393e-06 1620.000000 6.83555e-10 +1640.000000 4.77044e-06 1640.000000 5.83106e-06 1640.000000 5.76776e-06 1640.000000 5.70866e-06 1640.000000 5.83039e-06 1640.000000 6.75791e-10 +1660.000000 4.76877e-06 1660.000000 5.82786e-06 1660.000000 5.76142e-06 1660.000000 5.7024e-06 1660.000000 5.82719e-06 1660.000000 6.68207e-10 +1680.000000 4.76741e-06 1680.000000 5.82499e-06 1680.000000 5.75535e-06 1680.000000 5.6964e-06 1680.000000 5.82433e-06 1680.000000 6.60797e-10 +1700.000000 4.76636e-06 1700.000000 5.82243e-06 1700.000000 5.74954e-06 1700.000000 5.69067e-06 1700.000000 5.82178e-06 1700.000000 6.53555e-10 +1750.000000 4.76498e-06 1750.000000 5.81736e-06 1750.000000 5.73607e-06 1750.000000 5.67739e-06 1750.000000 5.81673e-06 1750.000000 6.36147e-10 +1800.000000 4.76529e-06 1800.000000 5.81406e-06 1800.000000 5.72401e-06 1800.000000 5.66551e-06 1800.000000 5.81344e-06 1800.000000 6.19672e-10 +1850.000000 4.76717e-06 1850.000000 5.81237e-06 1850.000000 5.71323e-06 1850.000000 5.6549e-06 1850.000000 5.81177e-06 1850.000000 6.04056e-10 +1900.000000 4.7705e-06 1900.000000 5.81219e-06 1900.000000 5.70362e-06 1900.000000 5.64545e-06 1900.000000 5.8116e-06 1900.000000 5.89232e-10 +1950.000000 4.77519e-06 1950.000000 5.81338e-06 1950.000000 5.69508e-06 1950.000000 5.63705e-06 1950.000000 5.8128e-06 1950.000000 5.75141e-10 +2000.000000 4.78115e-06 2000.000000 5.81585e-06 2000.000000 5.68752e-06 2000.000000 5.62961e-06 2000.000000 5.81529e-06 2000.000000 5.6173e-10 +2100.000000 4.79652e-06 2100.000000 5.82425e-06 2100.000000 5.67502e-06 2100.000000 5.6173e-06 2100.000000 5.82372e-06 2100.000000 5.36756e-10 +2200.000000 4.81606e-06 2200.000000 5.83676e-06 2200.000000 5.66553e-06 2200.000000 5.60793e-06 2200.000000 5.83624e-06 2200.000000 5.13974e-10 +2300.000000 4.83928e-06 2300.000000 5.85283e-06 2300.000000 5.65856e-06 2300.000000 5.60105e-06 2300.000000 5.85233e-06 2300.000000 4.93104e-10 +2400.000000 4.86578e-06 2400.000000 5.87201e-06 2400.000000 5.65369e-06 2400.000000 5.59628e-06 2400.000000 5.87154e-06 2400.000000 4.73912e-10 +2500.000000 4.89523e-06 2500.000000 5.89394e-06 2500.000000 5.65062e-06 2500.000000 5.5933e-06 2500.000000 5.89348e-06 2500.000000 4.56204e-10 +2600.000000 4.92733e-06 2600.000000 5.91829e-06 2600.000000 5.64907e-06 2600.000000 5.59185e-06 2600.000000 5.91785e-06 2600.000000 4.3981e-10 +2700.000000 4.96185e-06 2700.000000 5.94479e-06 2700.000000 5.64882e-06 2700.000000 5.5917e-06 2700.000000 5.94437e-06 2700.000000 4.24588e-10 +2800.000000 4.99855e-06 2800.000000 5.97321e-06 2800.000000 5.6497e-06 2800.000000 5.59268e-06 2800.000000 5.9728e-06 2800.000000 4.10417e-10 +2900.000000 5.03727e-06 2900.000000 6.00335e-06 2900.000000 5.65155e-06 2900.000000 5.59463e-06 2900.000000 6.00295e-06 2900.000000 3.97189e-10 +3000.000000 5.07783e-06 3000.000000 6.03502e-06 3000.000000 5.65423e-06 3000.000000 5.5974e-06 3000.000000 6.03464e-06 3000.000000 3.84813e-10 + diff --git a/Projects/Actar/RunToTreat.txt b/Projects/Actar/RunToTreat.txt new file mode 100644 index 0000000000000000000000000000000000000000..bd09840d77f0853eeda228d342348b103544aaa0 --- /dev/null +++ b/Projects/Actar/RunToTreat.txt @@ -0,0 +1,4 @@ +TTreeName + SimulatedTree +RootFileName + ../../Outputs/Simulation/18Opp.root diff --git a/Projects/Actar/configs/ConfigActar.dat b/Projects/Actar/configs/ConfigActar.dat new file mode 100644 index 0000000000000000000000000000000000000000..f05aaed2abe78979e80a3c9bfe018d46dafc7001 --- /dev/null +++ b/Projects/Actar/configs/ConfigActar.dat @@ -0,0 +1,16 @@ +ConfigActar +RecoRansac= 1 +RecoVisu= 0 +HIT_THRESHOLD= 2 +Q_THRESHOLD= 0 +T_THRESHOLD= 0 +NumberOfPadsX= 128 +NumberOfPadsY= 128 +PadSizeX= 2 +PadSizeY= 2 +%Gas= iC4H10 +Gas= D2 +%Pressure in mbar +Pressure= 1000 +%mm/time bucket +DriftVelocity= 2.66 diff --git a/Projects/Actar/configs/LT.dat b/Projects/Actar/configs/LT.dat new file mode 100644 index 0000000000000000000000000000000000000000..113841f3bf7fdac195df67d39c3fd71af9689bc7 --- /dev/null +++ b/Projects/Actar/configs/LT.dat @@ -0,0 +1,17408 @@ +0 0 0 0 0 32 +0 0 0 1 1 32 +0 0 0 2 0 33 +0 0 0 3 1 33 +0 0 0 4 0 34 +0 0 0 5 1 34 +0 0 0 6 0 35 +0 0 0 7 1 35 +0 0 0 8 0 36 +0 0 0 9 1 36 +0 0 0 10 0 37 +0 0 0 11 -1 -1 +0 0 0 12 1 37 +0 0 0 13 0 38 +0 0 0 14 1 38 +0 0 0 15 0 39 +0 0 0 16 1 39 +0 0 0 17 0 40 +0 0 0 18 1 40 +0 0 0 19 0 41 +0 0 0 20 1 41 +0 0 0 21 0 42 +0 0 0 22 -1 -1 +0 0 0 23 1 42 +0 0 0 24 0 43 +0 0 0 25 1 43 +0 0 0 26 0 44 +0 0 0 27 1 44 +0 0 0 28 0 45 +0 0 0 29 1 45 +0 0 0 30 0 46 +0 0 0 31 1 46 +0 0 0 32 0 47 +0 0 0 33 1 47 +0 0 0 34 0 48 +0 0 0 35 1 48 +0 0 0 36 0 49 +0 0 0 37 1 49 +0 0 0 38 0 50 +0 0 0 39 1 50 +0 0 0 40 0 51 +0 0 0 41 1 51 +0 0 0 42 0 52 +0 0 0 43 1 52 +0 0 0 44 0 53 +0 0 0 45 -1 -1 +0 0 0 46 1 53 +0 0 0 47 0 54 +0 0 0 48 1 54 +0 0 0 49 0 55 +0 0 0 50 1 55 +0 0 0 51 0 56 +0 0 0 52 1 56 +0 0 0 53 0 57 +0 0 0 54 1 57 +0 0 0 55 0 58 +0 0 0 56 -1 -1 +0 0 0 57 1 58 +0 0 0 58 0 59 +0 0 0 59 1 59 +0 0 0 60 0 60 +0 0 0 61 1 60 +0 0 0 62 0 61 +0 0 0 63 1 61 +0 0 0 64 0 62 +0 0 0 65 1 62 +0 0 0 66 0 63 +0 0 0 67 1 63 +0 0 1 0 0 0 +0 0 1 1 1 0 +0 0 1 2 0 1 +0 0 1 3 1 1 +0 0 1 4 0 2 +0 0 1 5 1 2 +0 0 1 6 0 3 +0 0 1 7 1 3 +0 0 1 8 0 4 +0 0 1 9 1 4 +0 0 1 10 0 5 +0 0 1 11 -1 -1 +0 0 1 12 1 5 +0 0 1 13 0 6 +0 0 1 14 1 6 +0 0 1 15 0 7 +0 0 1 16 1 7 +0 0 1 17 0 8 +0 0 1 18 1 8 +0 0 1 19 0 9 +0 0 1 20 1 9 +0 0 1 21 0 10 +0 0 1 22 -1 -1 +0 0 1 23 1 10 +0 0 1 24 0 11 +0 0 1 25 1 11 +0 0 1 26 0 12 +0 0 1 27 1 12 +0 0 1 28 0 13 +0 0 1 29 1 13 +0 0 1 30 0 14 +0 0 1 31 1 14 +0 0 1 32 0 15 +0 0 1 33 1 15 +0 0 1 34 0 16 +0 0 1 35 1 16 +0 0 1 36 0 17 +0 0 1 37 1 17 +0 0 1 38 0 18 +0 0 1 39 1 18 +0 0 1 40 0 19 +0 0 1 41 1 19 +0 0 1 42 0 20 +0 0 1 43 1 20 +0 0 1 44 0 21 +0 0 1 45 -1 -1 +0 0 1 46 1 21 +0 0 1 47 0 22 +0 0 1 48 1 22 +0 0 1 49 0 23 +0 0 1 50 1 23 +0 0 1 51 0 24 +0 0 1 52 1 24 +0 0 1 53 0 25 +0 0 1 54 1 25 +0 0 1 55 0 26 +0 0 1 56 -1 -1 +0 0 1 57 1 26 +0 0 1 58 0 27 +0 0 1 59 1 27 +0 0 1 60 0 28 +0 0 1 61 1 28 +0 0 1 62 0 29 +0 0 1 63 1 29 +0 0 1 64 0 30 +0 0 1 65 1 30 +0 0 1 66 0 31 +0 0 1 67 1 31 +0 0 2 0 2 32 +0 0 2 1 3 32 +0 0 2 2 2 33 +0 0 2 3 3 33 +0 0 2 4 2 34 +0 0 2 5 3 34 +0 0 2 6 2 35 +0 0 2 7 3 35 +0 0 2 8 2 36 +0 0 2 9 3 36 +0 0 2 10 2 37 +0 0 2 11 -1 -1 +0 0 2 12 3 37 +0 0 2 13 2 38 +0 0 2 14 3 38 +0 0 2 15 2 39 +0 0 2 16 3 39 +0 0 2 17 2 40 +0 0 2 18 3 40 +0 0 2 19 2 41 +0 0 2 20 3 41 +0 0 2 21 2 42 +0 0 2 22 -1 -1 +0 0 2 23 3 42 +0 0 2 24 2 43 +0 0 2 25 3 43 +0 0 2 26 2 44 +0 0 2 27 3 44 +0 0 2 28 2 45 +0 0 2 29 3 45 +0 0 2 30 2 46 +0 0 2 31 3 46 +0 0 2 32 2 47 +0 0 2 33 3 47 +0 0 2 34 2 48 +0 0 2 35 3 48 +0 0 2 36 2 49 +0 0 2 37 3 49 +0 0 2 38 2 50 +0 0 2 39 3 50 +0 0 2 40 2 51 +0 0 2 41 3 51 +0 0 2 42 2 52 +0 0 2 43 3 52 +0 0 2 44 2 53 +0 0 2 45 -1 -1 +0 0 2 46 3 53 +0 0 2 47 2 54 +0 0 2 48 3 54 +0 0 2 49 2 55 +0 0 2 50 3 55 +0 0 2 51 2 56 +0 0 2 52 3 56 +0 0 2 53 2 57 +0 0 2 54 3 57 +0 0 2 55 2 58 +0 0 2 56 -1 -1 +0 0 2 57 3 58 +0 0 2 58 2 59 +0 0 2 59 3 59 +0 0 2 60 2 60 +0 0 2 61 3 60 +0 0 2 62 2 61 +0 0 2 63 3 61 +0 0 2 64 2 62 +0 0 2 65 3 62 +0 0 2 66 2 63 +0 0 2 67 3 63 +0 0 3 0 2 0 +0 0 3 1 3 0 +0 0 3 2 2 1 +0 0 3 3 3 1 +0 0 3 4 2 2 +0 0 3 5 3 2 +0 0 3 6 2 3 +0 0 3 7 3 3 +0 0 3 8 2 4 +0 0 3 9 3 4 +0 0 3 10 2 5 +0 0 3 11 -1 -1 +0 0 3 12 3 5 +0 0 3 13 2 6 +0 0 3 14 3 6 +0 0 3 15 2 7 +0 0 3 16 3 7 +0 0 3 17 2 8 +0 0 3 18 3 8 +0 0 3 19 2 9 +0 0 3 20 3 9 +0 0 3 21 2 10 +0 0 3 22 -1 -1 +0 0 3 23 3 10 +0 0 3 24 2 11 +0 0 3 25 3 11 +0 0 3 26 2 12 +0 0 3 27 3 12 +0 0 3 28 2 13 +0 0 3 29 3 13 +0 0 3 30 2 14 +0 0 3 31 3 14 +0 0 3 32 2 15 +0 0 3 33 3 15 +0 0 3 34 2 16 +0 0 3 35 3 16 +0 0 3 36 2 17 +0 0 3 37 3 17 +0 0 3 38 2 18 +0 0 3 39 3 18 +0 0 3 40 2 19 +0 0 3 41 3 19 +0 0 3 42 2 20 +0 0 3 43 3 20 +0 0 3 44 2 21 +0 0 3 45 -1 -1 +0 0 3 46 3 21 +0 0 3 47 2 22 +0 0 3 48 3 22 +0 0 3 49 2 23 +0 0 3 50 3 23 +0 0 3 51 2 24 +0 0 3 52 3 24 +0 0 3 53 2 25 +0 0 3 54 3 25 +0 0 3 55 2 26 +0 0 3 56 -1 -1 +0 0 3 57 3 26 +0 0 3 58 2 27 +0 0 3 59 3 27 +0 0 3 60 2 28 +0 0 3 61 3 28 +0 0 3 62 2 29 +0 0 3 63 3 29 +0 0 3 64 2 30 +0 0 3 65 3 30 +0 0 3 66 2 31 +0 0 3 67 3 31 +0 1 0 0 3 95 +0 1 0 1 2 95 +0 1 0 2 3 94 +0 1 0 3 2 94 +0 1 0 4 3 93 +0 1 0 5 2 93 +0 1 0 6 3 92 +0 1 0 7 2 92 +0 1 0 8 3 91 +0 1 0 9 2 91 +0 1 0 10 3 90 +0 1 0 11 -1 -1 +0 1 0 12 2 90 +0 1 0 13 3 89 +0 1 0 14 2 89 +0 1 0 15 3 88 +0 1 0 16 2 88 +0 1 0 17 3 87 +0 1 0 18 2 87 +0 1 0 19 3 86 +0 1 0 20 2 86 +0 1 0 21 3 85 +0 1 0 22 -1 -1 +0 1 0 23 2 85 +0 1 0 24 3 84 +0 1 0 25 2 84 +0 1 0 26 3 83 +0 1 0 27 2 83 +0 1 0 28 3 82 +0 1 0 29 2 82 +0 1 0 30 3 81 +0 1 0 31 2 81 +0 1 0 32 3 80 +0 1 0 33 2 80 +0 1 0 34 3 79 +0 1 0 35 2 79 +0 1 0 36 3 78 +0 1 0 37 2 78 +0 1 0 38 3 77 +0 1 0 39 2 77 +0 1 0 40 3 76 +0 1 0 41 2 76 +0 1 0 42 3 75 +0 1 0 43 2 75 +0 1 0 44 3 74 +0 1 0 45 -1 -1 +0 1 0 46 2 74 +0 1 0 47 3 73 +0 1 0 48 2 73 +0 1 0 49 3 72 +0 1 0 50 2 72 +0 1 0 51 3 71 +0 1 0 52 2 71 +0 1 0 53 3 70 +0 1 0 54 2 70 +0 1 0 55 3 69 +0 1 0 56 -1 -1 +0 1 0 57 2 69 +0 1 0 58 3 68 +0 1 0 59 2 68 +0 1 0 60 3 67 +0 1 0 61 2 67 +0 1 0 62 3 66 +0 1 0 63 2 66 +0 1 0 64 3 65 +0 1 0 65 2 65 +0 1 0 66 3 64 +0 1 0 67 2 64 +0 1 1 0 3 127 +0 1 1 1 2 127 +0 1 1 2 3 126 +0 1 1 3 2 126 +0 1 1 4 3 125 +0 1 1 5 2 125 +0 1 1 6 3 124 +0 1 1 7 2 124 +0 1 1 8 3 123 +0 1 1 9 2 123 +0 1 1 10 3 122 +0 1 1 11 -1 -1 +0 1 1 12 2 122 +0 1 1 13 3 121 +0 1 1 14 2 121 +0 1 1 15 3 120 +0 1 1 16 2 120 +0 1 1 17 3 119 +0 1 1 18 2 119 +0 1 1 19 3 118 +0 1 1 20 2 118 +0 1 1 21 3 117 +0 1 1 22 -1 -1 +0 1 1 23 2 117 +0 1 1 24 3 116 +0 1 1 25 2 116 +0 1 1 26 3 115 +0 1 1 27 2 115 +0 1 1 28 3 114 +0 1 1 29 2 114 +0 1 1 30 3 113 +0 1 1 31 2 113 +0 1 1 32 3 112 +0 1 1 33 2 112 +0 1 1 34 3 111 +0 1 1 35 2 111 +0 1 1 36 3 110 +0 1 1 37 2 110 +0 1 1 38 3 109 +0 1 1 39 2 109 +0 1 1 40 3 108 +0 1 1 41 2 108 +0 1 1 42 3 107 +0 1 1 43 2 107 +0 1 1 44 3 106 +0 1 1 45 -1 -1 +0 1 1 46 2 106 +0 1 1 47 3 105 +0 1 1 48 2 105 +0 1 1 49 3 104 +0 1 1 50 2 104 +0 1 1 51 3 103 +0 1 1 52 2 103 +0 1 1 53 3 102 +0 1 1 54 2 102 +0 1 1 55 3 101 +0 1 1 56 -1 -1 +0 1 1 57 2 101 +0 1 1 58 3 100 +0 1 1 59 2 100 +0 1 1 60 3 99 +0 1 1 61 2 99 +0 1 1 62 3 98 +0 1 1 63 2 98 +0 1 1 64 3 97 +0 1 1 65 2 97 +0 1 1 66 3 96 +0 1 1 67 2 96 +0 1 2 0 1 95 +0 1 2 1 0 95 +0 1 2 2 1 94 +0 1 2 3 0 94 +0 1 2 4 1 93 +0 1 2 5 0 93 +0 1 2 6 1 92 +0 1 2 7 0 92 +0 1 2 8 1 91 +0 1 2 9 0 91 +0 1 2 10 1 90 +0 1 2 11 -1 -1 +0 1 2 12 0 90 +0 1 2 13 1 89 +0 1 2 14 0 89 +0 1 2 15 1 88 +0 1 2 16 0 88 +0 1 2 17 1 87 +0 1 2 18 0 87 +0 1 2 19 1 86 +0 1 2 20 0 86 +0 1 2 21 1 85 +0 1 2 22 -1 -1 +0 1 2 23 0 85 +0 1 2 24 1 84 +0 1 2 25 0 84 +0 1 2 26 1 83 +0 1 2 27 0 83 +0 1 2 28 1 82 +0 1 2 29 0 82 +0 1 2 30 1 81 +0 1 2 31 0 81 +0 1 2 32 1 80 +0 1 2 33 0 80 +0 1 2 34 1 79 +0 1 2 35 0 79 +0 1 2 36 1 78 +0 1 2 37 0 78 +0 1 2 38 1 77 +0 1 2 39 0 77 +0 1 2 40 1 76 +0 1 2 41 0 76 +0 1 2 42 1 75 +0 1 2 43 0 75 +0 1 2 44 1 74 +0 1 2 45 -1 -1 +0 1 2 46 0 74 +0 1 2 47 1 73 +0 1 2 48 0 73 +0 1 2 49 1 72 +0 1 2 50 0 72 +0 1 2 51 1 71 +0 1 2 52 0 71 +0 1 2 53 1 70 +0 1 2 54 0 70 +0 1 2 55 1 69 +0 1 2 56 -1 -1 +0 1 2 57 0 69 +0 1 2 58 1 68 +0 1 2 59 0 68 +0 1 2 60 1 67 +0 1 2 61 0 67 +0 1 2 62 1 66 +0 1 2 63 0 66 +0 1 2 64 1 65 +0 1 2 65 0 65 +0 1 2 66 1 64 +0 1 2 67 0 64 +0 1 3 0 1 127 +0 1 3 1 0 127 +0 1 3 2 1 126 +0 1 3 3 0 126 +0 1 3 4 1 125 +0 1 3 5 0 125 +0 1 3 6 1 124 +0 1 3 7 0 124 +0 1 3 8 1 123 +0 1 3 9 0 123 +0 1 3 10 1 122 +0 1 3 11 -1 -1 +0 1 3 12 0 122 +0 1 3 13 1 121 +0 1 3 14 0 121 +0 1 3 15 1 120 +0 1 3 16 0 120 +0 1 3 17 1 119 +0 1 3 18 0 119 +0 1 3 19 1 118 +0 1 3 20 0 118 +0 1 3 21 1 117 +0 1 3 22 -1 -1 +0 1 3 23 0 117 +0 1 3 24 1 116 +0 1 3 25 0 116 +0 1 3 26 1 115 +0 1 3 27 0 115 +0 1 3 28 1 114 +0 1 3 29 0 114 +0 1 3 30 1 113 +0 1 3 31 0 113 +0 1 3 32 1 112 +0 1 3 33 0 112 +0 1 3 34 1 111 +0 1 3 35 0 111 +0 1 3 36 1 110 +0 1 3 37 0 110 +0 1 3 38 1 109 +0 1 3 39 0 109 +0 1 3 40 1 108 +0 1 3 41 0 108 +0 1 3 42 1 107 +0 1 3 43 0 107 +0 1 3 44 1 106 +0 1 3 45 -1 -1 +0 1 3 46 0 106 +0 1 3 47 1 105 +0 1 3 48 0 105 +0 1 3 49 1 104 +0 1 3 50 0 104 +0 1 3 51 1 103 +0 1 3 52 0 103 +0 1 3 53 1 102 +0 1 3 54 0 102 +0 1 3 55 1 101 +0 1 3 56 -1 -1 +0 1 3 57 0 101 +0 1 3 58 1 100 +0 1 3 59 0 100 +0 1 3 60 1 99 +0 1 3 61 0 99 +0 1 3 62 1 98 +0 1 3 63 0 98 +0 1 3 64 1 97 +0 1 3 65 0 97 +0 1 3 66 1 96 +0 1 3 67 0 96 +0 2 0 0 4 32 +0 2 0 1 5 32 +0 2 0 2 4 33 +0 2 0 3 5 33 +0 2 0 4 4 34 +0 2 0 5 5 34 +0 2 0 6 4 35 +0 2 0 7 5 35 +0 2 0 8 4 36 +0 2 0 9 5 36 +0 2 0 10 4 37 +0 2 0 11 -1 -1 +0 2 0 12 5 37 +0 2 0 13 4 38 +0 2 0 14 5 38 +0 2 0 15 4 39 +0 2 0 16 5 39 +0 2 0 17 4 40 +0 2 0 18 5 40 +0 2 0 19 4 41 +0 2 0 20 5 41 +0 2 0 21 4 42 +0 2 0 22 -1 -1 +0 2 0 23 5 42 +0 2 0 24 4 43 +0 2 0 25 5 43 +0 2 0 26 4 44 +0 2 0 27 5 44 +0 2 0 28 4 45 +0 2 0 29 5 45 +0 2 0 30 4 46 +0 2 0 31 5 46 +0 2 0 32 4 47 +0 2 0 33 5 47 +0 2 0 34 4 48 +0 2 0 35 5 48 +0 2 0 36 4 49 +0 2 0 37 5 49 +0 2 0 38 4 50 +0 2 0 39 5 50 +0 2 0 40 4 51 +0 2 0 41 5 51 +0 2 0 42 4 52 +0 2 0 43 5 52 +0 2 0 44 4 53 +0 2 0 45 -1 -1 +0 2 0 46 5 53 +0 2 0 47 4 54 +0 2 0 48 5 54 +0 2 0 49 4 55 +0 2 0 50 5 55 +0 2 0 51 4 56 +0 2 0 52 5 56 +0 2 0 53 4 57 +0 2 0 54 5 57 +0 2 0 55 4 58 +0 2 0 56 -1 -1 +0 2 0 57 5 58 +0 2 0 58 4 59 +0 2 0 59 5 59 +0 2 0 60 4 60 +0 2 0 61 5 60 +0 2 0 62 4 61 +0 2 0 63 5 61 +0 2 0 64 4 62 +0 2 0 65 5 62 +0 2 0 66 4 63 +0 2 0 67 5 63 +0 2 1 0 4 0 +0 2 1 1 5 0 +0 2 1 2 4 1 +0 2 1 3 5 1 +0 2 1 4 4 2 +0 2 1 5 5 2 +0 2 1 6 4 3 +0 2 1 7 5 3 +0 2 1 8 4 4 +0 2 1 9 5 4 +0 2 1 10 4 5 +0 2 1 11 -1 -1 +0 2 1 12 5 5 +0 2 1 13 4 6 +0 2 1 14 5 6 +0 2 1 15 4 7 +0 2 1 16 5 7 +0 2 1 17 4 8 +0 2 1 18 5 8 +0 2 1 19 4 9 +0 2 1 20 5 9 +0 2 1 21 4 10 +0 2 1 22 -1 -1 +0 2 1 23 5 10 +0 2 1 24 4 11 +0 2 1 25 5 11 +0 2 1 26 4 12 +0 2 1 27 5 12 +0 2 1 28 4 13 +0 2 1 29 5 13 +0 2 1 30 4 14 +0 2 1 31 5 14 +0 2 1 32 4 15 +0 2 1 33 5 15 +0 2 1 34 4 16 +0 2 1 35 5 16 +0 2 1 36 4 17 +0 2 1 37 5 17 +0 2 1 38 4 18 +0 2 1 39 5 18 +0 2 1 40 4 19 +0 2 1 41 5 19 +0 2 1 42 4 20 +0 2 1 43 5 20 +0 2 1 44 4 21 +0 2 1 45 -1 -1 +0 2 1 46 5 21 +0 2 1 47 4 22 +0 2 1 48 5 22 +0 2 1 49 4 23 +0 2 1 50 5 23 +0 2 1 51 4 24 +0 2 1 52 5 24 +0 2 1 53 4 25 +0 2 1 54 5 25 +0 2 1 55 4 26 +0 2 1 56 -1 -1 +0 2 1 57 5 26 +0 2 1 58 4 27 +0 2 1 59 5 27 +0 2 1 60 4 28 +0 2 1 61 5 28 +0 2 1 62 4 29 +0 2 1 63 5 29 +0 2 1 64 4 30 +0 2 1 65 5 30 +0 2 1 66 4 31 +0 2 1 67 5 31 +0 2 2 0 6 32 +0 2 2 1 7 32 +0 2 2 2 6 33 +0 2 2 3 7 33 +0 2 2 4 6 34 +0 2 2 5 7 34 +0 2 2 6 6 35 +0 2 2 7 7 35 +0 2 2 8 6 36 +0 2 2 9 7 36 +0 2 2 10 6 37 +0 2 2 11 -1 -1 +0 2 2 12 7 37 +0 2 2 13 6 38 +0 2 2 14 7 38 +0 2 2 15 6 39 +0 2 2 16 7 39 +0 2 2 17 6 40 +0 2 2 18 7 40 +0 2 2 19 6 41 +0 2 2 20 7 41 +0 2 2 21 6 42 +0 2 2 22 -1 -1 +0 2 2 23 7 42 +0 2 2 24 6 43 +0 2 2 25 7 43 +0 2 2 26 6 44 +0 2 2 27 7 44 +0 2 2 28 6 45 +0 2 2 29 7 45 +0 2 2 30 6 46 +0 2 2 31 7 46 +0 2 2 32 6 47 +0 2 2 33 7 47 +0 2 2 34 6 48 +0 2 2 35 7 48 +0 2 2 36 6 49 +0 2 2 37 7 49 +0 2 2 38 6 50 +0 2 2 39 7 50 +0 2 2 40 6 51 +0 2 2 41 7 51 +0 2 2 42 6 52 +0 2 2 43 7 52 +0 2 2 44 6 53 +0 2 2 45 -1 -1 +0 2 2 46 7 53 +0 2 2 47 6 54 +0 2 2 48 7 54 +0 2 2 49 6 55 +0 2 2 50 7 55 +0 2 2 51 6 56 +0 2 2 52 7 56 +0 2 2 53 6 57 +0 2 2 54 7 57 +0 2 2 55 6 58 +0 2 2 56 -1 -1 +0 2 2 57 7 58 +0 2 2 58 6 59 +0 2 2 59 7 59 +0 2 2 60 6 60 +0 2 2 61 7 60 +0 2 2 62 6 61 +0 2 2 63 7 61 +0 2 2 64 6 62 +0 2 2 65 7 62 +0 2 2 66 6 63 +0 2 2 67 7 63 +0 2 3 0 6 0 +0 2 3 1 7 0 +0 2 3 2 6 1 +0 2 3 3 7 1 +0 2 3 4 6 2 +0 2 3 5 7 2 +0 2 3 6 6 3 +0 2 3 7 7 3 +0 2 3 8 6 4 +0 2 3 9 7 4 +0 2 3 10 6 5 +0 2 3 11 -1 -1 +0 2 3 12 7 5 +0 2 3 13 6 6 +0 2 3 14 7 6 +0 2 3 15 6 7 +0 2 3 16 7 7 +0 2 3 17 6 8 +0 2 3 18 7 8 +0 2 3 19 6 9 +0 2 3 20 7 9 +0 2 3 21 6 10 +0 2 3 22 -1 -1 +0 2 3 23 7 10 +0 2 3 24 6 11 +0 2 3 25 7 11 +0 2 3 26 6 12 +0 2 3 27 7 12 +0 2 3 28 6 13 +0 2 3 29 7 13 +0 2 3 30 6 14 +0 2 3 31 7 14 +0 2 3 32 6 15 +0 2 3 33 7 15 +0 2 3 34 6 16 +0 2 3 35 7 16 +0 2 3 36 6 17 +0 2 3 37 7 17 +0 2 3 38 6 18 +0 2 3 39 7 18 +0 2 3 40 6 19 +0 2 3 41 7 19 +0 2 3 42 6 20 +0 2 3 43 7 20 +0 2 3 44 6 21 +0 2 3 45 -1 -1 +0 2 3 46 7 21 +0 2 3 47 6 22 +0 2 3 48 7 22 +0 2 3 49 6 23 +0 2 3 50 7 23 +0 2 3 51 6 24 +0 2 3 52 7 24 +0 2 3 53 6 25 +0 2 3 54 7 25 +0 2 3 55 6 26 +0 2 3 56 -1 -1 +0 2 3 57 7 26 +0 2 3 58 6 27 +0 2 3 59 7 27 +0 2 3 60 6 28 +0 2 3 61 7 28 +0 2 3 62 6 29 +0 2 3 63 7 29 +0 2 3 64 6 30 +0 2 3 65 7 30 +0 2 3 66 6 31 +0 2 3 67 7 31 +0 3 0 0 7 95 +0 3 0 1 6 95 +0 3 0 2 7 94 +0 3 0 3 6 94 +0 3 0 4 7 93 +0 3 0 5 6 93 +0 3 0 6 7 92 +0 3 0 7 6 92 +0 3 0 8 7 91 +0 3 0 9 6 91 +0 3 0 10 7 90 +0 3 0 11 -1 -1 +0 3 0 12 6 90 +0 3 0 13 7 89 +0 3 0 14 6 89 +0 3 0 15 7 88 +0 3 0 16 6 88 +0 3 0 17 7 87 +0 3 0 18 6 87 +0 3 0 19 7 86 +0 3 0 20 6 86 +0 3 0 21 7 85 +0 3 0 22 -1 -1 +0 3 0 23 6 85 +0 3 0 24 7 84 +0 3 0 25 6 84 +0 3 0 26 7 83 +0 3 0 27 6 83 +0 3 0 28 7 82 +0 3 0 29 6 82 +0 3 0 30 7 81 +0 3 0 31 6 81 +0 3 0 32 7 80 +0 3 0 33 6 80 +0 3 0 34 7 79 +0 3 0 35 6 79 +0 3 0 36 7 78 +0 3 0 37 6 78 +0 3 0 38 7 77 +0 3 0 39 6 77 +0 3 0 40 7 76 +0 3 0 41 6 76 +0 3 0 42 7 75 +0 3 0 43 6 75 +0 3 0 44 7 74 +0 3 0 45 -1 -1 +0 3 0 46 6 74 +0 3 0 47 7 73 +0 3 0 48 6 73 +0 3 0 49 7 72 +0 3 0 50 6 72 +0 3 0 51 7 71 +0 3 0 52 6 71 +0 3 0 53 7 70 +0 3 0 54 6 70 +0 3 0 55 7 69 +0 3 0 56 -1 -1 +0 3 0 57 6 69 +0 3 0 58 7 68 +0 3 0 59 6 68 +0 3 0 60 7 67 +0 3 0 61 6 67 +0 3 0 62 7 66 +0 3 0 63 6 66 +0 3 0 64 7 65 +0 3 0 65 6 65 +0 3 0 66 7 64 +0 3 0 67 6 64 +0 3 1 0 7 127 +0 3 1 1 6 127 +0 3 1 2 7 126 +0 3 1 3 6 126 +0 3 1 4 7 125 +0 3 1 5 6 125 +0 3 1 6 7 124 +0 3 1 7 6 124 +0 3 1 8 7 123 +0 3 1 9 6 123 +0 3 1 10 7 122 +0 3 1 11 -1 -1 +0 3 1 12 6 122 +0 3 1 13 7 121 +0 3 1 14 6 121 +0 3 1 15 7 120 +0 3 1 16 6 120 +0 3 1 17 7 119 +0 3 1 18 6 119 +0 3 1 19 7 118 +0 3 1 20 6 118 +0 3 1 21 7 117 +0 3 1 22 -1 -1 +0 3 1 23 6 117 +0 3 1 24 7 116 +0 3 1 25 6 116 +0 3 1 26 7 115 +0 3 1 27 6 115 +0 3 1 28 7 114 +0 3 1 29 6 114 +0 3 1 30 7 113 +0 3 1 31 6 113 +0 3 1 32 7 112 +0 3 1 33 6 112 +0 3 1 34 7 111 +0 3 1 35 6 111 +0 3 1 36 7 110 +0 3 1 37 6 110 +0 3 1 38 7 109 +0 3 1 39 6 109 +0 3 1 40 7 108 +0 3 1 41 6 108 +0 3 1 42 7 107 +0 3 1 43 6 107 +0 3 1 44 7 106 +0 3 1 45 -1 -1 +0 3 1 46 6 106 +0 3 1 47 7 105 +0 3 1 48 6 105 +0 3 1 49 7 104 +0 3 1 50 6 104 +0 3 1 51 7 103 +0 3 1 52 6 103 +0 3 1 53 7 102 +0 3 1 54 6 102 +0 3 1 55 7 101 +0 3 1 56 -1 -1 +0 3 1 57 6 101 +0 3 1 58 7 100 +0 3 1 59 6 100 +0 3 1 60 7 99 +0 3 1 61 6 99 +0 3 1 62 7 98 +0 3 1 63 6 98 +0 3 1 64 7 97 +0 3 1 65 6 97 +0 3 1 66 7 96 +0 3 1 67 6 96 +0 3 2 0 5 95 +0 3 2 1 4 95 +0 3 2 2 5 94 +0 3 2 3 4 94 +0 3 2 4 5 93 +0 3 2 5 4 93 +0 3 2 6 5 92 +0 3 2 7 4 92 +0 3 2 8 5 91 +0 3 2 9 4 91 +0 3 2 10 5 90 +0 3 2 11 -1 -1 +0 3 2 12 4 90 +0 3 2 13 5 89 +0 3 2 14 4 89 +0 3 2 15 5 88 +0 3 2 16 4 88 +0 3 2 17 5 87 +0 3 2 18 4 87 +0 3 2 19 5 86 +0 3 2 20 4 86 +0 3 2 21 5 85 +0 3 2 22 -1 -1 +0 3 2 23 4 85 +0 3 2 24 5 84 +0 3 2 25 4 84 +0 3 2 26 5 83 +0 3 2 27 4 83 +0 3 2 28 5 82 +0 3 2 29 4 82 +0 3 2 30 5 81 +0 3 2 31 4 81 +0 3 2 32 5 80 +0 3 2 33 4 80 +0 3 2 34 5 79 +0 3 2 35 4 79 +0 3 2 36 5 78 +0 3 2 37 4 78 +0 3 2 38 5 77 +0 3 2 39 4 77 +0 3 2 40 5 76 +0 3 2 41 4 76 +0 3 2 42 5 75 +0 3 2 43 4 75 +0 3 2 44 5 74 +0 3 2 45 -1 -1 +0 3 2 46 4 74 +0 3 2 47 5 73 +0 3 2 48 4 73 +0 3 2 49 5 72 +0 3 2 50 4 72 +0 3 2 51 5 71 +0 3 2 52 4 71 +0 3 2 53 5 70 +0 3 2 54 4 70 +0 3 2 55 5 69 +0 3 2 56 -1 -1 +0 3 2 57 4 69 +0 3 2 58 5 68 +0 3 2 59 4 68 +0 3 2 60 5 67 +0 3 2 61 4 67 +0 3 2 62 5 66 +0 3 2 63 4 66 +0 3 2 64 5 65 +0 3 2 65 4 65 +0 3 2 66 5 64 +0 3 2 67 4 64 +0 3 3 0 5 127 +0 3 3 1 4 127 +0 3 3 2 5 126 +0 3 3 3 4 126 +0 3 3 4 5 125 +0 3 3 5 4 125 +0 3 3 6 5 124 +0 3 3 7 4 124 +0 3 3 8 5 123 +0 3 3 9 4 123 +0 3 3 10 5 122 +0 3 3 11 -1 -1 +0 3 3 12 4 122 +0 3 3 13 5 121 +0 3 3 14 4 121 +0 3 3 15 5 120 +0 3 3 16 4 120 +0 3 3 17 5 119 +0 3 3 18 4 119 +0 3 3 19 5 118 +0 3 3 20 4 118 +0 3 3 21 5 117 +0 3 3 22 -1 -1 +0 3 3 23 4 117 +0 3 3 24 5 116 +0 3 3 25 4 116 +0 3 3 26 5 115 +0 3 3 27 4 115 +0 3 3 28 5 114 +0 3 3 29 4 114 +0 3 3 30 5 113 +0 3 3 31 4 113 +0 3 3 32 5 112 +0 3 3 33 4 112 +0 3 3 34 5 111 +0 3 3 35 4 111 +0 3 3 36 5 110 +0 3 3 37 4 110 +0 3 3 38 5 109 +0 3 3 39 4 109 +0 3 3 40 5 108 +0 3 3 41 4 108 +0 3 3 42 5 107 +0 3 3 43 4 107 +0 3 3 44 5 106 +0 3 3 45 -1 -1 +0 3 3 46 4 106 +0 3 3 47 5 105 +0 3 3 48 4 105 +0 3 3 49 5 104 +0 3 3 50 4 104 +0 3 3 51 5 103 +0 3 3 52 4 103 +0 3 3 53 5 102 +0 3 3 54 4 102 +0 3 3 55 5 101 +0 3 3 56 -1 -1 +0 3 3 57 4 101 +0 3 3 58 5 100 +0 3 3 59 4 100 +0 3 3 60 5 99 +0 3 3 61 4 99 +0 3 3 62 5 98 +0 3 3 63 4 98 +0 3 3 64 5 97 +0 3 3 65 4 97 +0 3 3 66 5 96 +0 3 3 67 4 96 +1 0 0 0 8 32 +1 0 0 1 9 32 +1 0 0 2 8 33 +1 0 0 3 9 33 +1 0 0 4 8 34 +1 0 0 5 9 34 +1 0 0 6 8 35 +1 0 0 7 9 35 +1 0 0 8 8 36 +1 0 0 9 9 36 +1 0 0 10 8 37 +1 0 0 11 -1 -1 +1 0 0 12 9 37 +1 0 0 13 8 38 +1 0 0 14 9 38 +1 0 0 15 8 39 +1 0 0 16 9 39 +1 0 0 17 8 40 +1 0 0 18 9 40 +1 0 0 19 8 41 +1 0 0 20 9 41 +1 0 0 21 8 42 +1 0 0 22 -1 -1 +1 0 0 23 9 42 +1 0 0 24 8 43 +1 0 0 25 9 43 +1 0 0 26 8 44 +1 0 0 27 9 44 +1 0 0 28 8 45 +1 0 0 29 9 45 +1 0 0 30 8 46 +1 0 0 31 9 46 +1 0 0 32 8 47 +1 0 0 33 9 47 +1 0 0 34 8 48 +1 0 0 35 9 48 +1 0 0 36 8 49 +1 0 0 37 9 49 +1 0 0 38 8 50 +1 0 0 39 9 50 +1 0 0 40 8 51 +1 0 0 41 9 51 +1 0 0 42 8 52 +1 0 0 43 9 52 +1 0 0 44 8 53 +1 0 0 45 -1 -1 +1 0 0 46 9 53 +1 0 0 47 8 54 +1 0 0 48 9 54 +1 0 0 49 8 55 +1 0 0 50 9 55 +1 0 0 51 8 56 +1 0 0 52 9 56 +1 0 0 53 8 57 +1 0 0 54 9 57 +1 0 0 55 8 58 +1 0 0 56 -1 -1 +1 0 0 57 9 58 +1 0 0 58 8 59 +1 0 0 59 9 59 +1 0 0 60 8 60 +1 0 0 61 9 60 +1 0 0 62 8 61 +1 0 0 63 9 61 +1 0 0 64 8 62 +1 0 0 65 9 62 +1 0 0 66 8 63 +1 0 0 67 9 63 +1 0 1 0 8 0 +1 0 1 1 9 0 +1 0 1 2 8 1 +1 0 1 3 9 1 +1 0 1 4 8 2 +1 0 1 5 9 2 +1 0 1 6 8 3 +1 0 1 7 9 3 +1 0 1 8 8 4 +1 0 1 9 9 4 +1 0 1 10 8 5 +1 0 1 11 -1 -1 +1 0 1 12 9 5 +1 0 1 13 8 6 +1 0 1 14 9 6 +1 0 1 15 8 7 +1 0 1 16 9 7 +1 0 1 17 8 8 +1 0 1 18 9 8 +1 0 1 19 8 9 +1 0 1 20 9 9 +1 0 1 21 8 10 +1 0 1 22 -1 -1 +1 0 1 23 9 10 +1 0 1 24 8 11 +1 0 1 25 9 11 +1 0 1 26 8 12 +1 0 1 27 9 12 +1 0 1 28 8 13 +1 0 1 29 9 13 +1 0 1 30 8 14 +1 0 1 31 9 14 +1 0 1 32 8 15 +1 0 1 33 9 15 +1 0 1 34 8 16 +1 0 1 35 9 16 +1 0 1 36 8 17 +1 0 1 37 9 17 +1 0 1 38 8 18 +1 0 1 39 9 18 +1 0 1 40 8 19 +1 0 1 41 9 19 +1 0 1 42 8 20 +1 0 1 43 9 20 +1 0 1 44 8 21 +1 0 1 45 -1 -1 +1 0 1 46 9 21 +1 0 1 47 8 22 +1 0 1 48 9 22 +1 0 1 49 8 23 +1 0 1 50 9 23 +1 0 1 51 8 24 +1 0 1 52 9 24 +1 0 1 53 8 25 +1 0 1 54 9 25 +1 0 1 55 8 26 +1 0 1 56 -1 -1 +1 0 1 57 9 26 +1 0 1 58 8 27 +1 0 1 59 9 27 +1 0 1 60 8 28 +1 0 1 61 9 28 +1 0 1 62 8 29 +1 0 1 63 9 29 +1 0 1 64 8 30 +1 0 1 65 9 30 +1 0 1 66 8 31 +1 0 1 67 9 31 +1 0 2 0 10 32 +1 0 2 1 11 32 +1 0 2 2 10 33 +1 0 2 3 11 33 +1 0 2 4 10 34 +1 0 2 5 11 34 +1 0 2 6 10 35 +1 0 2 7 11 35 +1 0 2 8 10 36 +1 0 2 9 11 36 +1 0 2 10 10 37 +1 0 2 11 -1 -1 +1 0 2 12 11 37 +1 0 2 13 10 38 +1 0 2 14 11 38 +1 0 2 15 10 39 +1 0 2 16 11 39 +1 0 2 17 10 40 +1 0 2 18 11 40 +1 0 2 19 10 41 +1 0 2 20 11 41 +1 0 2 21 10 42 +1 0 2 22 -1 -1 +1 0 2 23 11 42 +1 0 2 24 10 43 +1 0 2 25 11 43 +1 0 2 26 10 44 +1 0 2 27 11 44 +1 0 2 28 10 45 +1 0 2 29 11 45 +1 0 2 30 10 46 +1 0 2 31 11 46 +1 0 2 32 10 47 +1 0 2 33 11 47 +1 0 2 34 10 48 +1 0 2 35 11 48 +1 0 2 36 10 49 +1 0 2 37 11 49 +1 0 2 38 10 50 +1 0 2 39 11 50 +1 0 2 40 10 51 +1 0 2 41 11 51 +1 0 2 42 10 52 +1 0 2 43 11 52 +1 0 2 44 10 53 +1 0 2 45 -1 -1 +1 0 2 46 11 53 +1 0 2 47 10 54 +1 0 2 48 11 54 +1 0 2 49 10 55 +1 0 2 50 11 55 +1 0 2 51 10 56 +1 0 2 52 11 56 +1 0 2 53 10 57 +1 0 2 54 11 57 +1 0 2 55 10 58 +1 0 2 56 -1 -1 +1 0 2 57 11 58 +1 0 2 58 10 59 +1 0 2 59 11 59 +1 0 2 60 10 60 +1 0 2 61 11 60 +1 0 2 62 10 61 +1 0 2 63 11 61 +1 0 2 64 10 62 +1 0 2 65 11 62 +1 0 2 66 10 63 +1 0 2 67 11 63 +1 0 3 0 10 0 +1 0 3 1 11 0 +1 0 3 2 10 1 +1 0 3 3 11 1 +1 0 3 4 10 2 +1 0 3 5 11 2 +1 0 3 6 10 3 +1 0 3 7 11 3 +1 0 3 8 10 4 +1 0 3 9 11 4 +1 0 3 10 10 5 +1 0 3 11 -1 -1 +1 0 3 12 11 5 +1 0 3 13 10 6 +1 0 3 14 11 6 +1 0 3 15 10 7 +1 0 3 16 11 7 +1 0 3 17 10 8 +1 0 3 18 11 8 +1 0 3 19 10 9 +1 0 3 20 11 9 +1 0 3 21 10 10 +1 0 3 22 -1 -1 +1 0 3 23 11 10 +1 0 3 24 10 11 +1 0 3 25 11 11 +1 0 3 26 10 12 +1 0 3 27 11 12 +1 0 3 28 10 13 +1 0 3 29 11 13 +1 0 3 30 10 14 +1 0 3 31 11 14 +1 0 3 32 10 15 +1 0 3 33 11 15 +1 0 3 34 10 16 +1 0 3 35 11 16 +1 0 3 36 10 17 +1 0 3 37 11 17 +1 0 3 38 10 18 +1 0 3 39 11 18 +1 0 3 40 10 19 +1 0 3 41 11 19 +1 0 3 42 10 20 +1 0 3 43 11 20 +1 0 3 44 10 21 +1 0 3 45 -1 -1 +1 0 3 46 11 21 +1 0 3 47 10 22 +1 0 3 48 11 22 +1 0 3 49 10 23 +1 0 3 50 11 23 +1 0 3 51 10 24 +1 0 3 52 11 24 +1 0 3 53 10 25 +1 0 3 54 11 25 +1 0 3 55 10 26 +1 0 3 56 -1 -1 +1 0 3 57 11 26 +1 0 3 58 10 27 +1 0 3 59 11 27 +1 0 3 60 10 28 +1 0 3 61 11 28 +1 0 3 62 10 29 +1 0 3 63 11 29 +1 0 3 64 10 30 +1 0 3 65 11 30 +1 0 3 66 10 31 +1 0 3 67 11 31 +1 1 0 0 11 95 +1 1 0 1 10 95 +1 1 0 2 11 94 +1 1 0 3 10 94 +1 1 0 4 11 93 +1 1 0 5 10 93 +1 1 0 6 11 92 +1 1 0 7 10 92 +1 1 0 8 11 91 +1 1 0 9 10 91 +1 1 0 10 11 90 +1 1 0 11 -1 -1 +1 1 0 12 10 90 +1 1 0 13 11 89 +1 1 0 14 10 89 +1 1 0 15 11 88 +1 1 0 16 10 88 +1 1 0 17 11 87 +1 1 0 18 10 87 +1 1 0 19 11 86 +1 1 0 20 10 86 +1 1 0 21 11 85 +1 1 0 22 -1 -1 +1 1 0 23 10 85 +1 1 0 24 11 84 +1 1 0 25 10 84 +1 1 0 26 11 83 +1 1 0 27 10 83 +1 1 0 28 11 82 +1 1 0 29 10 82 +1 1 0 30 11 81 +1 1 0 31 10 81 +1 1 0 32 11 80 +1 1 0 33 10 80 +1 1 0 34 11 79 +1 1 0 35 10 79 +1 1 0 36 11 78 +1 1 0 37 10 78 +1 1 0 38 11 77 +1 1 0 39 10 77 +1 1 0 40 11 76 +1 1 0 41 10 76 +1 1 0 42 11 75 +1 1 0 43 10 75 +1 1 0 44 11 74 +1 1 0 45 -1 -1 +1 1 0 46 10 74 +1 1 0 47 11 73 +1 1 0 48 10 73 +1 1 0 49 11 72 +1 1 0 50 10 72 +1 1 0 51 11 71 +1 1 0 52 10 71 +1 1 0 53 11 70 +1 1 0 54 10 70 +1 1 0 55 11 69 +1 1 0 56 -1 -1 +1 1 0 57 10 69 +1 1 0 58 11 68 +1 1 0 59 10 68 +1 1 0 60 11 67 +1 1 0 61 10 67 +1 1 0 62 11 66 +1 1 0 63 10 66 +1 1 0 64 11 65 +1 1 0 65 10 65 +1 1 0 66 11 64 +1 1 0 67 10 64 +1 1 1 0 11 127 +1 1 1 1 10 127 +1 1 1 2 11 126 +1 1 1 3 10 126 +1 1 1 4 11 125 +1 1 1 5 10 125 +1 1 1 6 11 124 +1 1 1 7 10 124 +1 1 1 8 11 123 +1 1 1 9 10 123 +1 1 1 10 11 122 +1 1 1 11 -1 -1 +1 1 1 12 10 122 +1 1 1 13 11 121 +1 1 1 14 10 121 +1 1 1 15 11 120 +1 1 1 16 10 120 +1 1 1 17 11 119 +1 1 1 18 10 119 +1 1 1 19 11 118 +1 1 1 20 10 118 +1 1 1 21 11 117 +1 1 1 22 -1 -1 +1 1 1 23 10 117 +1 1 1 24 11 116 +1 1 1 25 10 116 +1 1 1 26 11 115 +1 1 1 27 10 115 +1 1 1 28 11 114 +1 1 1 29 10 114 +1 1 1 30 11 113 +1 1 1 31 10 113 +1 1 1 32 11 112 +1 1 1 33 10 112 +1 1 1 34 11 111 +1 1 1 35 10 111 +1 1 1 36 11 110 +1 1 1 37 10 110 +1 1 1 38 11 109 +1 1 1 39 10 109 +1 1 1 40 11 108 +1 1 1 41 10 108 +1 1 1 42 11 107 +1 1 1 43 10 107 +1 1 1 44 11 106 +1 1 1 45 -1 -1 +1 1 1 46 10 106 +1 1 1 47 11 105 +1 1 1 48 10 105 +1 1 1 49 11 104 +1 1 1 50 10 104 +1 1 1 51 11 103 +1 1 1 52 10 103 +1 1 1 53 11 102 +1 1 1 54 10 102 +1 1 1 55 11 101 +1 1 1 56 -1 -1 +1 1 1 57 10 101 +1 1 1 58 11 100 +1 1 1 59 10 100 +1 1 1 60 11 99 +1 1 1 61 10 99 +1 1 1 62 11 98 +1 1 1 63 10 98 +1 1 1 64 11 97 +1 1 1 65 10 97 +1 1 1 66 11 96 +1 1 1 67 10 96 +1 1 2 0 9 95 +1 1 2 1 8 95 +1 1 2 2 9 94 +1 1 2 3 8 94 +1 1 2 4 9 93 +1 1 2 5 8 93 +1 1 2 6 9 92 +1 1 2 7 8 92 +1 1 2 8 9 91 +1 1 2 9 8 91 +1 1 2 10 9 90 +1 1 2 11 -1 -1 +1 1 2 12 8 90 +1 1 2 13 9 89 +1 1 2 14 8 89 +1 1 2 15 9 88 +1 1 2 16 8 88 +1 1 2 17 9 87 +1 1 2 18 8 87 +1 1 2 19 9 86 +1 1 2 20 8 86 +1 1 2 21 9 85 +1 1 2 22 -1 -1 +1 1 2 23 8 85 +1 1 2 24 9 84 +1 1 2 25 8 84 +1 1 2 26 9 83 +1 1 2 27 8 83 +1 1 2 28 9 82 +1 1 2 29 8 82 +1 1 2 30 9 81 +1 1 2 31 8 81 +1 1 2 32 9 80 +1 1 2 33 8 80 +1 1 2 34 9 79 +1 1 2 35 8 79 +1 1 2 36 9 78 +1 1 2 37 8 78 +1 1 2 38 9 77 +1 1 2 39 8 77 +1 1 2 40 9 76 +1 1 2 41 8 76 +1 1 2 42 9 75 +1 1 2 43 8 75 +1 1 2 44 9 74 +1 1 2 45 -1 -1 +1 1 2 46 8 74 +1 1 2 47 9 73 +1 1 2 48 8 73 +1 1 2 49 9 72 +1 1 2 50 8 72 +1 1 2 51 9 71 +1 1 2 52 8 71 +1 1 2 53 9 70 +1 1 2 54 8 70 +1 1 2 55 9 69 +1 1 2 56 -1 -1 +1 1 2 57 8 69 +1 1 2 58 9 68 +1 1 2 59 8 68 +1 1 2 60 9 67 +1 1 2 61 8 67 +1 1 2 62 9 66 +1 1 2 63 8 66 +1 1 2 64 9 65 +1 1 2 65 8 65 +1 1 2 66 9 64 +1 1 2 67 8 64 +1 1 3 0 9 127 +1 1 3 1 8 127 +1 1 3 2 9 126 +1 1 3 3 8 126 +1 1 3 4 9 125 +1 1 3 5 8 125 +1 1 3 6 9 124 +1 1 3 7 8 124 +1 1 3 8 9 123 +1 1 3 9 8 123 +1 1 3 10 9 122 +1 1 3 11 -1 -1 +1 1 3 12 8 122 +1 1 3 13 9 121 +1 1 3 14 8 121 +1 1 3 15 9 120 +1 1 3 16 8 120 +1 1 3 17 9 119 +1 1 3 18 8 119 +1 1 3 19 9 118 +1 1 3 20 8 118 +1 1 3 21 9 117 +1 1 3 22 -1 -1 +1 1 3 23 8 117 +1 1 3 24 9 116 +1 1 3 25 8 116 +1 1 3 26 9 115 +1 1 3 27 8 115 +1 1 3 28 9 114 +1 1 3 29 8 114 +1 1 3 30 9 113 +1 1 3 31 8 113 +1 1 3 32 9 112 +1 1 3 33 8 112 +1 1 3 34 9 111 +1 1 3 35 8 111 +1 1 3 36 9 110 +1 1 3 37 8 110 +1 1 3 38 9 109 +1 1 3 39 8 109 +1 1 3 40 9 108 +1 1 3 41 8 108 +1 1 3 42 9 107 +1 1 3 43 8 107 +1 1 3 44 9 106 +1 1 3 45 -1 -1 +1 1 3 46 8 106 +1 1 3 47 9 105 +1 1 3 48 8 105 +1 1 3 49 9 104 +1 1 3 50 8 104 +1 1 3 51 9 103 +1 1 3 52 8 103 +1 1 3 53 9 102 +1 1 3 54 8 102 +1 1 3 55 9 101 +1 1 3 56 -1 -1 +1 1 3 57 8 101 +1 1 3 58 9 100 +1 1 3 59 8 100 +1 1 3 60 9 99 +1 1 3 61 8 99 +1 1 3 62 9 98 +1 1 3 63 8 98 +1 1 3 64 9 97 +1 1 3 65 8 97 +1 1 3 66 9 96 +1 1 3 67 8 96 +1 2 0 0 12 32 +1 2 0 1 13 32 +1 2 0 2 12 33 +1 2 0 3 13 33 +1 2 0 4 12 34 +1 2 0 5 13 34 +1 2 0 6 12 35 +1 2 0 7 13 35 +1 2 0 8 12 36 +1 2 0 9 13 36 +1 2 0 10 12 37 +1 2 0 11 -1 -1 +1 2 0 12 13 37 +1 2 0 13 12 38 +1 2 0 14 13 38 +1 2 0 15 12 39 +1 2 0 16 13 39 +1 2 0 17 12 40 +1 2 0 18 13 40 +1 2 0 19 12 41 +1 2 0 20 13 41 +1 2 0 21 12 42 +1 2 0 22 -1 -1 +1 2 0 23 13 42 +1 2 0 24 12 43 +1 2 0 25 13 43 +1 2 0 26 12 44 +1 2 0 27 13 44 +1 2 0 28 12 45 +1 2 0 29 13 45 +1 2 0 30 12 46 +1 2 0 31 13 46 +1 2 0 32 12 47 +1 2 0 33 13 47 +1 2 0 34 12 48 +1 2 0 35 13 48 +1 2 0 36 12 49 +1 2 0 37 13 49 +1 2 0 38 12 50 +1 2 0 39 13 50 +1 2 0 40 12 51 +1 2 0 41 13 51 +1 2 0 42 12 52 +1 2 0 43 13 52 +1 2 0 44 12 53 +1 2 0 45 -1 -1 +1 2 0 46 13 53 +1 2 0 47 12 54 +1 2 0 48 13 54 +1 2 0 49 12 55 +1 2 0 50 13 55 +1 2 0 51 12 56 +1 2 0 52 13 56 +1 2 0 53 12 57 +1 2 0 54 13 57 +1 2 0 55 12 58 +1 2 0 56 -1 -1 +1 2 0 57 13 58 +1 2 0 58 12 59 +1 2 0 59 13 59 +1 2 0 60 12 60 +1 2 0 61 13 60 +1 2 0 62 12 61 +1 2 0 63 13 61 +1 2 0 64 12 62 +1 2 0 65 13 62 +1 2 0 66 12 63 +1 2 0 67 13 63 +1 2 1 0 12 0 +1 2 1 1 13 0 +1 2 1 2 12 1 +1 2 1 3 13 1 +1 2 1 4 12 2 +1 2 1 5 13 2 +1 2 1 6 12 3 +1 2 1 7 13 3 +1 2 1 8 12 4 +1 2 1 9 13 4 +1 2 1 10 12 5 +1 2 1 11 -1 -1 +1 2 1 12 13 5 +1 2 1 13 12 6 +1 2 1 14 13 6 +1 2 1 15 12 7 +1 2 1 16 13 7 +1 2 1 17 12 8 +1 2 1 18 13 8 +1 2 1 19 12 9 +1 2 1 20 13 9 +1 2 1 21 12 10 +1 2 1 22 -1 -1 +1 2 1 23 13 10 +1 2 1 24 12 11 +1 2 1 25 13 11 +1 2 1 26 12 12 +1 2 1 27 13 12 +1 2 1 28 12 13 +1 2 1 29 13 13 +1 2 1 30 12 14 +1 2 1 31 13 14 +1 2 1 32 12 15 +1 2 1 33 13 15 +1 2 1 34 12 16 +1 2 1 35 13 16 +1 2 1 36 12 17 +1 2 1 37 13 17 +1 2 1 38 12 18 +1 2 1 39 13 18 +1 2 1 40 12 19 +1 2 1 41 13 19 +1 2 1 42 12 20 +1 2 1 43 13 20 +1 2 1 44 12 21 +1 2 1 45 -1 -1 +1 2 1 46 13 21 +1 2 1 47 12 22 +1 2 1 48 13 22 +1 2 1 49 12 23 +1 2 1 50 13 23 +1 2 1 51 12 24 +1 2 1 52 13 24 +1 2 1 53 12 25 +1 2 1 54 13 25 +1 2 1 55 12 26 +1 2 1 56 -1 -1 +1 2 1 57 13 26 +1 2 1 58 12 27 +1 2 1 59 13 27 +1 2 1 60 12 28 +1 2 1 61 13 28 +1 2 1 62 12 29 +1 2 1 63 13 29 +1 2 1 64 12 30 +1 2 1 65 13 30 +1 2 1 66 12 31 +1 2 1 67 13 31 +1 2 2 0 14 32 +1 2 2 1 15 32 +1 2 2 2 14 33 +1 2 2 3 15 33 +1 2 2 4 14 34 +1 2 2 5 15 34 +1 2 2 6 14 35 +1 2 2 7 15 35 +1 2 2 8 14 36 +1 2 2 9 15 36 +1 2 2 10 14 37 +1 2 2 11 -1 -1 +1 2 2 12 15 37 +1 2 2 13 14 38 +1 2 2 14 15 38 +1 2 2 15 14 39 +1 2 2 16 15 39 +1 2 2 17 14 40 +1 2 2 18 15 40 +1 2 2 19 14 41 +1 2 2 20 15 41 +1 2 2 21 14 42 +1 2 2 22 -1 -1 +1 2 2 23 15 42 +1 2 2 24 14 43 +1 2 2 25 15 43 +1 2 2 26 14 44 +1 2 2 27 15 44 +1 2 2 28 14 45 +1 2 2 29 15 45 +1 2 2 30 14 46 +1 2 2 31 15 46 +1 2 2 32 14 47 +1 2 2 33 15 47 +1 2 2 34 14 48 +1 2 2 35 15 48 +1 2 2 36 14 49 +1 2 2 37 15 49 +1 2 2 38 14 50 +1 2 2 39 15 50 +1 2 2 40 14 51 +1 2 2 41 15 51 +1 2 2 42 14 52 +1 2 2 43 15 52 +1 2 2 44 14 53 +1 2 2 45 -1 -1 +1 2 2 46 15 53 +1 2 2 47 14 54 +1 2 2 48 15 54 +1 2 2 49 14 55 +1 2 2 50 15 55 +1 2 2 51 14 56 +1 2 2 52 15 56 +1 2 2 53 14 57 +1 2 2 54 15 57 +1 2 2 55 14 58 +1 2 2 56 -1 -1 +1 2 2 57 15 58 +1 2 2 58 14 59 +1 2 2 59 15 59 +1 2 2 60 14 60 +1 2 2 61 15 60 +1 2 2 62 14 61 +1 2 2 63 15 61 +1 2 2 64 14 62 +1 2 2 65 15 62 +1 2 2 66 14 63 +1 2 2 67 15 63 +1 2 3 0 14 0 +1 2 3 1 15 0 +1 2 3 2 14 1 +1 2 3 3 15 1 +1 2 3 4 14 2 +1 2 3 5 15 2 +1 2 3 6 14 3 +1 2 3 7 15 3 +1 2 3 8 14 4 +1 2 3 9 15 4 +1 2 3 10 14 5 +1 2 3 11 -1 -1 +1 2 3 12 15 5 +1 2 3 13 14 6 +1 2 3 14 15 6 +1 2 3 15 14 7 +1 2 3 16 15 7 +1 2 3 17 14 8 +1 2 3 18 15 8 +1 2 3 19 14 9 +1 2 3 20 15 9 +1 2 3 21 14 10 +1 2 3 22 -1 -1 +1 2 3 23 15 10 +1 2 3 24 14 11 +1 2 3 25 15 11 +1 2 3 26 14 12 +1 2 3 27 15 12 +1 2 3 28 14 13 +1 2 3 29 15 13 +1 2 3 30 14 14 +1 2 3 31 15 14 +1 2 3 32 14 15 +1 2 3 33 15 15 +1 2 3 34 14 16 +1 2 3 35 15 16 +1 2 3 36 14 17 +1 2 3 37 15 17 +1 2 3 38 14 18 +1 2 3 39 15 18 +1 2 3 40 14 19 +1 2 3 41 15 19 +1 2 3 42 14 20 +1 2 3 43 15 20 +1 2 3 44 14 21 +1 2 3 45 -1 -1 +1 2 3 46 15 21 +1 2 3 47 14 22 +1 2 3 48 15 22 +1 2 3 49 14 23 +1 2 3 50 15 23 +1 2 3 51 14 24 +1 2 3 52 15 24 +1 2 3 53 14 25 +1 2 3 54 15 25 +1 2 3 55 14 26 +1 2 3 56 -1 -1 +1 2 3 57 15 26 +1 2 3 58 14 27 +1 2 3 59 15 27 +1 2 3 60 14 28 +1 2 3 61 15 28 +1 2 3 62 14 29 +1 2 3 63 15 29 +1 2 3 64 14 30 +1 2 3 65 15 30 +1 2 3 66 14 31 +1 2 3 67 15 31 +1 3 0 0 15 95 +1 3 0 1 14 95 +1 3 0 2 15 94 +1 3 0 3 14 94 +1 3 0 4 15 93 +1 3 0 5 14 93 +1 3 0 6 15 92 +1 3 0 7 14 92 +1 3 0 8 15 91 +1 3 0 9 14 91 +1 3 0 10 15 90 +1 3 0 11 -1 -1 +1 3 0 12 14 90 +1 3 0 13 15 89 +1 3 0 14 14 89 +1 3 0 15 15 88 +1 3 0 16 14 88 +1 3 0 17 15 87 +1 3 0 18 14 87 +1 3 0 19 15 86 +1 3 0 20 14 86 +1 3 0 21 15 85 +1 3 0 22 -1 -1 +1 3 0 23 14 85 +1 3 0 24 15 84 +1 3 0 25 14 84 +1 3 0 26 15 83 +1 3 0 27 14 83 +1 3 0 28 15 82 +1 3 0 29 14 82 +1 3 0 30 15 81 +1 3 0 31 14 81 +1 3 0 32 15 80 +1 3 0 33 14 80 +1 3 0 34 15 79 +1 3 0 35 14 79 +1 3 0 36 15 78 +1 3 0 37 14 78 +1 3 0 38 15 77 +1 3 0 39 14 77 +1 3 0 40 15 76 +1 3 0 41 14 76 +1 3 0 42 15 75 +1 3 0 43 14 75 +1 3 0 44 15 74 +1 3 0 45 -1 -1 +1 3 0 46 14 74 +1 3 0 47 15 73 +1 3 0 48 14 73 +1 3 0 49 15 72 +1 3 0 50 14 72 +1 3 0 51 15 71 +1 3 0 52 14 71 +1 3 0 53 15 70 +1 3 0 54 14 70 +1 3 0 55 15 69 +1 3 0 56 -1 -1 +1 3 0 57 14 69 +1 3 0 58 15 68 +1 3 0 59 14 68 +1 3 0 60 15 67 +1 3 0 61 14 67 +1 3 0 62 15 66 +1 3 0 63 14 66 +1 3 0 64 15 65 +1 3 0 65 14 65 +1 3 0 66 15 64 +1 3 0 67 14 64 +1 3 1 0 15 127 +1 3 1 1 14 127 +1 3 1 2 15 126 +1 3 1 3 14 126 +1 3 1 4 15 125 +1 3 1 5 14 125 +1 3 1 6 15 124 +1 3 1 7 14 124 +1 3 1 8 15 123 +1 3 1 9 14 123 +1 3 1 10 15 122 +1 3 1 11 -1 -1 +1 3 1 12 14 122 +1 3 1 13 15 121 +1 3 1 14 14 121 +1 3 1 15 15 120 +1 3 1 16 14 120 +1 3 1 17 15 119 +1 3 1 18 14 119 +1 3 1 19 15 118 +1 3 1 20 14 118 +1 3 1 21 15 117 +1 3 1 22 -1 -1 +1 3 1 23 14 117 +1 3 1 24 15 116 +1 3 1 25 14 116 +1 3 1 26 15 115 +1 3 1 27 14 115 +1 3 1 28 15 114 +1 3 1 29 14 114 +1 3 1 30 15 113 +1 3 1 31 14 113 +1 3 1 32 15 112 +1 3 1 33 14 112 +1 3 1 34 15 111 +1 3 1 35 14 111 +1 3 1 36 15 110 +1 3 1 37 14 110 +1 3 1 38 15 109 +1 3 1 39 14 109 +1 3 1 40 15 108 +1 3 1 41 14 108 +1 3 1 42 15 107 +1 3 1 43 14 107 +1 3 1 44 15 106 +1 3 1 45 -1 -1 +1 3 1 46 14 106 +1 3 1 47 15 105 +1 3 1 48 14 105 +1 3 1 49 15 104 +1 3 1 50 14 104 +1 3 1 51 15 103 +1 3 1 52 14 103 +1 3 1 53 15 102 +1 3 1 54 14 102 +1 3 1 55 15 101 +1 3 1 56 -1 -1 +1 3 1 57 14 101 +1 3 1 58 15 100 +1 3 1 59 14 100 +1 3 1 60 15 99 +1 3 1 61 14 99 +1 3 1 62 15 98 +1 3 1 63 14 98 +1 3 1 64 15 97 +1 3 1 65 14 97 +1 3 1 66 15 96 +1 3 1 67 14 96 +1 3 2 0 13 95 +1 3 2 1 12 95 +1 3 2 2 13 94 +1 3 2 3 12 94 +1 3 2 4 13 93 +1 3 2 5 12 93 +1 3 2 6 13 92 +1 3 2 7 12 92 +1 3 2 8 13 91 +1 3 2 9 12 91 +1 3 2 10 13 90 +1 3 2 11 -1 -1 +1 3 2 12 12 90 +1 3 2 13 13 89 +1 3 2 14 12 89 +1 3 2 15 13 88 +1 3 2 16 12 88 +1 3 2 17 13 87 +1 3 2 18 12 87 +1 3 2 19 13 86 +1 3 2 20 12 86 +1 3 2 21 13 85 +1 3 2 22 -1 -1 +1 3 2 23 12 85 +1 3 2 24 13 84 +1 3 2 25 12 84 +1 3 2 26 13 83 +1 3 2 27 12 83 +1 3 2 28 13 82 +1 3 2 29 12 82 +1 3 2 30 13 81 +1 3 2 31 12 81 +1 3 2 32 13 80 +1 3 2 33 12 80 +1 3 2 34 13 79 +1 3 2 35 12 79 +1 3 2 36 13 78 +1 3 2 37 12 78 +1 3 2 38 13 77 +1 3 2 39 12 77 +1 3 2 40 13 76 +1 3 2 41 12 76 +1 3 2 42 13 75 +1 3 2 43 12 75 +1 3 2 44 13 74 +1 3 2 45 -1 -1 +1 3 2 46 12 74 +1 3 2 47 13 73 +1 3 2 48 12 73 +1 3 2 49 13 72 +1 3 2 50 12 72 +1 3 2 51 13 71 +1 3 2 52 12 71 +1 3 2 53 13 70 +1 3 2 54 12 70 +1 3 2 55 13 69 +1 3 2 56 -1 -1 +1 3 2 57 12 69 +1 3 2 58 13 68 +1 3 2 59 12 68 +1 3 2 60 13 67 +1 3 2 61 12 67 +1 3 2 62 13 66 +1 3 2 63 12 66 +1 3 2 64 13 65 +1 3 2 65 12 65 +1 3 2 66 13 64 +1 3 2 67 12 64 +1 3 3 0 13 127 +1 3 3 1 12 127 +1 3 3 2 13 126 +1 3 3 3 12 126 +1 3 3 4 13 125 +1 3 3 5 12 125 +1 3 3 6 13 124 +1 3 3 7 12 124 +1 3 3 8 13 123 +1 3 3 9 12 123 +1 3 3 10 13 122 +1 3 3 11 -1 -1 +1 3 3 12 12 122 +1 3 3 13 13 121 +1 3 3 14 12 121 +1 3 3 15 13 120 +1 3 3 16 12 120 +1 3 3 17 13 119 +1 3 3 18 12 119 +1 3 3 19 13 118 +1 3 3 20 12 118 +1 3 3 21 13 117 +1 3 3 22 -1 -1 +1 3 3 23 12 117 +1 3 3 24 13 116 +1 3 3 25 12 116 +1 3 3 26 13 115 +1 3 3 27 12 115 +1 3 3 28 13 114 +1 3 3 29 12 114 +1 3 3 30 13 113 +1 3 3 31 12 113 +1 3 3 32 13 112 +1 3 3 33 12 112 +1 3 3 34 13 111 +1 3 3 35 12 111 +1 3 3 36 13 110 +1 3 3 37 12 110 +1 3 3 38 13 109 +1 3 3 39 12 109 +1 3 3 40 13 108 +1 3 3 41 12 108 +1 3 3 42 13 107 +1 3 3 43 12 107 +1 3 3 44 13 106 +1 3 3 45 -1 -1 +1 3 3 46 12 106 +1 3 3 47 13 105 +1 3 3 48 12 105 +1 3 3 49 13 104 +1 3 3 50 12 104 +1 3 3 51 13 103 +1 3 3 52 12 103 +1 3 3 53 13 102 +1 3 3 54 12 102 +1 3 3 55 13 101 +1 3 3 56 -1 -1 +1 3 3 57 12 101 +1 3 3 58 13 100 +1 3 3 59 12 100 +1 3 3 60 13 99 +1 3 3 61 12 99 +1 3 3 62 13 98 +1 3 3 63 12 98 +1 3 3 64 13 97 +1 3 3 65 12 97 +1 3 3 66 13 96 +1 3 3 67 12 96 +2 0 0 0 16 32 +2 0 0 1 17 32 +2 0 0 2 16 33 +2 0 0 3 17 33 +2 0 0 4 16 34 +2 0 0 5 17 34 +2 0 0 6 16 35 +2 0 0 7 17 35 +2 0 0 8 16 36 +2 0 0 9 17 36 +2 0 0 10 16 37 +2 0 0 11 -1 -1 +2 0 0 12 17 37 +2 0 0 13 16 38 +2 0 0 14 17 38 +2 0 0 15 16 39 +2 0 0 16 17 39 +2 0 0 17 16 40 +2 0 0 18 17 40 +2 0 0 19 16 41 +2 0 0 20 17 41 +2 0 0 21 16 42 +2 0 0 22 -1 -1 +2 0 0 23 17 42 +2 0 0 24 16 43 +2 0 0 25 17 43 +2 0 0 26 16 44 +2 0 0 27 17 44 +2 0 0 28 16 45 +2 0 0 29 17 45 +2 0 0 30 16 46 +2 0 0 31 17 46 +2 0 0 32 16 47 +2 0 0 33 17 47 +2 0 0 34 16 48 +2 0 0 35 17 48 +2 0 0 36 16 49 +2 0 0 37 17 49 +2 0 0 38 16 50 +2 0 0 39 17 50 +2 0 0 40 16 51 +2 0 0 41 17 51 +2 0 0 42 16 52 +2 0 0 43 17 52 +2 0 0 44 16 53 +2 0 0 45 -1 -1 +2 0 0 46 17 53 +2 0 0 47 16 54 +2 0 0 48 17 54 +2 0 0 49 16 55 +2 0 0 50 17 55 +2 0 0 51 16 56 +2 0 0 52 17 56 +2 0 0 53 16 57 +2 0 0 54 17 57 +2 0 0 55 16 58 +2 0 0 56 -1 -1 +2 0 0 57 17 58 +2 0 0 58 16 59 +2 0 0 59 17 59 +2 0 0 60 16 60 +2 0 0 61 17 60 +2 0 0 62 16 61 +2 0 0 63 17 61 +2 0 0 64 16 62 +2 0 0 65 17 62 +2 0 0 66 16 63 +2 0 0 67 17 63 +2 0 1 0 16 0 +2 0 1 1 17 0 +2 0 1 2 16 1 +2 0 1 3 17 1 +2 0 1 4 16 2 +2 0 1 5 17 2 +2 0 1 6 16 3 +2 0 1 7 17 3 +2 0 1 8 16 4 +2 0 1 9 17 4 +2 0 1 10 16 5 +2 0 1 11 -1 -1 +2 0 1 12 17 5 +2 0 1 13 16 6 +2 0 1 14 17 6 +2 0 1 15 16 7 +2 0 1 16 17 7 +2 0 1 17 16 8 +2 0 1 18 17 8 +2 0 1 19 16 9 +2 0 1 20 17 9 +2 0 1 21 16 10 +2 0 1 22 -1 -1 +2 0 1 23 17 10 +2 0 1 24 16 11 +2 0 1 25 17 11 +2 0 1 26 16 12 +2 0 1 27 17 12 +2 0 1 28 16 13 +2 0 1 29 17 13 +2 0 1 30 16 14 +2 0 1 31 17 14 +2 0 1 32 16 15 +2 0 1 33 17 15 +2 0 1 34 16 16 +2 0 1 35 17 16 +2 0 1 36 16 17 +2 0 1 37 17 17 +2 0 1 38 16 18 +2 0 1 39 17 18 +2 0 1 40 16 19 +2 0 1 41 17 19 +2 0 1 42 16 20 +2 0 1 43 17 20 +2 0 1 44 16 21 +2 0 1 45 -1 -1 +2 0 1 46 17 21 +2 0 1 47 16 22 +2 0 1 48 17 22 +2 0 1 49 16 23 +2 0 1 50 17 23 +2 0 1 51 16 24 +2 0 1 52 17 24 +2 0 1 53 16 25 +2 0 1 54 17 25 +2 0 1 55 16 26 +2 0 1 56 -1 -1 +2 0 1 57 17 26 +2 0 1 58 16 27 +2 0 1 59 17 27 +2 0 1 60 16 28 +2 0 1 61 17 28 +2 0 1 62 16 29 +2 0 1 63 17 29 +2 0 1 64 16 30 +2 0 1 65 17 30 +2 0 1 66 16 31 +2 0 1 67 17 31 +2 0 2 0 18 32 +2 0 2 1 19 32 +2 0 2 2 18 33 +2 0 2 3 19 33 +2 0 2 4 18 34 +2 0 2 5 19 34 +2 0 2 6 18 35 +2 0 2 7 19 35 +2 0 2 8 18 36 +2 0 2 9 19 36 +2 0 2 10 18 37 +2 0 2 11 -1 -1 +2 0 2 12 19 37 +2 0 2 13 18 38 +2 0 2 14 19 38 +2 0 2 15 18 39 +2 0 2 16 19 39 +2 0 2 17 18 40 +2 0 2 18 19 40 +2 0 2 19 18 41 +2 0 2 20 19 41 +2 0 2 21 18 42 +2 0 2 22 -1 -1 +2 0 2 23 19 42 +2 0 2 24 18 43 +2 0 2 25 19 43 +2 0 2 26 18 44 +2 0 2 27 19 44 +2 0 2 28 18 45 +2 0 2 29 19 45 +2 0 2 30 18 46 +2 0 2 31 19 46 +2 0 2 32 18 47 +2 0 2 33 19 47 +2 0 2 34 18 48 +2 0 2 35 19 48 +2 0 2 36 18 49 +2 0 2 37 19 49 +2 0 2 38 18 50 +2 0 2 39 19 50 +2 0 2 40 18 51 +2 0 2 41 19 51 +2 0 2 42 18 52 +2 0 2 43 19 52 +2 0 2 44 18 53 +2 0 2 45 -1 -1 +2 0 2 46 19 53 +2 0 2 47 18 54 +2 0 2 48 19 54 +2 0 2 49 18 55 +2 0 2 50 19 55 +2 0 2 51 18 56 +2 0 2 52 19 56 +2 0 2 53 18 57 +2 0 2 54 19 57 +2 0 2 55 18 58 +2 0 2 56 -1 -1 +2 0 2 57 19 58 +2 0 2 58 18 59 +2 0 2 59 19 59 +2 0 2 60 18 60 +2 0 2 61 19 60 +2 0 2 62 18 61 +2 0 2 63 19 61 +2 0 2 64 18 62 +2 0 2 65 19 62 +2 0 2 66 18 63 +2 0 2 67 19 63 +2 0 3 0 18 0 +2 0 3 1 19 0 +2 0 3 2 18 1 +2 0 3 3 19 1 +2 0 3 4 18 2 +2 0 3 5 19 2 +2 0 3 6 18 3 +2 0 3 7 19 3 +2 0 3 8 18 4 +2 0 3 9 19 4 +2 0 3 10 18 5 +2 0 3 11 -1 -1 +2 0 3 12 19 5 +2 0 3 13 18 6 +2 0 3 14 19 6 +2 0 3 15 18 7 +2 0 3 16 19 7 +2 0 3 17 18 8 +2 0 3 18 19 8 +2 0 3 19 18 9 +2 0 3 20 19 9 +2 0 3 21 18 10 +2 0 3 22 -1 -1 +2 0 3 23 19 10 +2 0 3 24 18 11 +2 0 3 25 19 11 +2 0 3 26 18 12 +2 0 3 27 19 12 +2 0 3 28 18 13 +2 0 3 29 19 13 +2 0 3 30 18 14 +2 0 3 31 19 14 +2 0 3 32 18 15 +2 0 3 33 19 15 +2 0 3 34 18 16 +2 0 3 35 19 16 +2 0 3 36 18 17 +2 0 3 37 19 17 +2 0 3 38 18 18 +2 0 3 39 19 18 +2 0 3 40 18 19 +2 0 3 41 19 19 +2 0 3 42 18 20 +2 0 3 43 19 20 +2 0 3 44 18 21 +2 0 3 45 -1 -1 +2 0 3 46 19 21 +2 0 3 47 18 22 +2 0 3 48 19 22 +2 0 3 49 18 23 +2 0 3 50 19 23 +2 0 3 51 18 24 +2 0 3 52 19 24 +2 0 3 53 18 25 +2 0 3 54 19 25 +2 0 3 55 18 26 +2 0 3 56 -1 -1 +2 0 3 57 19 26 +2 0 3 58 18 27 +2 0 3 59 19 27 +2 0 3 60 18 28 +2 0 3 61 19 28 +2 0 3 62 18 29 +2 0 3 63 19 29 +2 0 3 64 18 30 +2 0 3 65 19 30 +2 0 3 66 18 31 +2 0 3 67 19 31 +2 1 0 0 19 95 +2 1 0 1 18 95 +2 1 0 2 19 94 +2 1 0 3 18 94 +2 1 0 4 19 93 +2 1 0 5 18 93 +2 1 0 6 19 92 +2 1 0 7 18 92 +2 1 0 8 19 91 +2 1 0 9 18 91 +2 1 0 10 19 90 +2 1 0 11 -1 -1 +2 1 0 12 18 90 +2 1 0 13 19 89 +2 1 0 14 18 89 +2 1 0 15 19 88 +2 1 0 16 18 88 +2 1 0 17 19 87 +2 1 0 18 18 87 +2 1 0 19 19 86 +2 1 0 20 18 86 +2 1 0 21 19 85 +2 1 0 22 -1 -1 +2 1 0 23 18 85 +2 1 0 24 19 84 +2 1 0 25 18 84 +2 1 0 26 19 83 +2 1 0 27 18 83 +2 1 0 28 19 82 +2 1 0 29 18 82 +2 1 0 30 19 81 +2 1 0 31 18 81 +2 1 0 32 19 80 +2 1 0 33 18 80 +2 1 0 34 19 79 +2 1 0 35 18 79 +2 1 0 36 19 78 +2 1 0 37 18 78 +2 1 0 38 19 77 +2 1 0 39 18 77 +2 1 0 40 19 76 +2 1 0 41 18 76 +2 1 0 42 19 75 +2 1 0 43 18 75 +2 1 0 44 19 74 +2 1 0 45 -1 -1 +2 1 0 46 18 74 +2 1 0 47 19 73 +2 1 0 48 18 73 +2 1 0 49 19 72 +2 1 0 50 18 72 +2 1 0 51 19 71 +2 1 0 52 18 71 +2 1 0 53 19 70 +2 1 0 54 18 70 +2 1 0 55 19 69 +2 1 0 56 -1 -1 +2 1 0 57 18 69 +2 1 0 58 19 68 +2 1 0 59 18 68 +2 1 0 60 19 67 +2 1 0 61 18 67 +2 1 0 62 19 66 +2 1 0 63 18 66 +2 1 0 64 19 65 +2 1 0 65 18 65 +2 1 0 66 19 64 +2 1 0 67 18 64 +2 1 1 0 19 127 +2 1 1 1 18 127 +2 1 1 2 19 126 +2 1 1 3 18 126 +2 1 1 4 19 125 +2 1 1 5 18 125 +2 1 1 6 19 124 +2 1 1 7 18 124 +2 1 1 8 19 123 +2 1 1 9 18 123 +2 1 1 10 19 122 +2 1 1 11 -1 -1 +2 1 1 12 18 122 +2 1 1 13 19 121 +2 1 1 14 18 121 +2 1 1 15 19 120 +2 1 1 16 18 120 +2 1 1 17 19 119 +2 1 1 18 18 119 +2 1 1 19 19 118 +2 1 1 20 18 118 +2 1 1 21 19 117 +2 1 1 22 -1 -1 +2 1 1 23 18 117 +2 1 1 24 19 116 +2 1 1 25 18 116 +2 1 1 26 19 115 +2 1 1 27 18 115 +2 1 1 28 19 114 +2 1 1 29 18 114 +2 1 1 30 19 113 +2 1 1 31 18 113 +2 1 1 32 19 112 +2 1 1 33 18 112 +2 1 1 34 19 111 +2 1 1 35 18 111 +2 1 1 36 19 110 +2 1 1 37 18 110 +2 1 1 38 19 109 +2 1 1 39 18 109 +2 1 1 40 19 108 +2 1 1 41 18 108 +2 1 1 42 19 107 +2 1 1 43 18 107 +2 1 1 44 19 106 +2 1 1 45 -1 -1 +2 1 1 46 18 106 +2 1 1 47 19 105 +2 1 1 48 18 105 +2 1 1 49 19 104 +2 1 1 50 18 104 +2 1 1 51 19 103 +2 1 1 52 18 103 +2 1 1 53 19 102 +2 1 1 54 18 102 +2 1 1 55 19 101 +2 1 1 56 -1 -1 +2 1 1 57 18 101 +2 1 1 58 19 100 +2 1 1 59 18 100 +2 1 1 60 19 99 +2 1 1 61 18 99 +2 1 1 62 19 98 +2 1 1 63 18 98 +2 1 1 64 19 97 +2 1 1 65 18 97 +2 1 1 66 19 96 +2 1 1 67 18 96 +2 1 2 0 17 95 +2 1 2 1 16 95 +2 1 2 2 17 94 +2 1 2 3 16 94 +2 1 2 4 17 93 +2 1 2 5 16 93 +2 1 2 6 17 92 +2 1 2 7 16 92 +2 1 2 8 17 91 +2 1 2 9 16 91 +2 1 2 10 17 90 +2 1 2 11 -1 -1 +2 1 2 12 16 90 +2 1 2 13 17 89 +2 1 2 14 16 89 +2 1 2 15 17 88 +2 1 2 16 16 88 +2 1 2 17 17 87 +2 1 2 18 16 87 +2 1 2 19 17 86 +2 1 2 20 16 86 +2 1 2 21 17 85 +2 1 2 22 -1 -1 +2 1 2 23 16 85 +2 1 2 24 17 84 +2 1 2 25 16 84 +2 1 2 26 17 83 +2 1 2 27 16 83 +2 1 2 28 17 82 +2 1 2 29 16 82 +2 1 2 30 17 81 +2 1 2 31 16 81 +2 1 2 32 17 80 +2 1 2 33 16 80 +2 1 2 34 17 79 +2 1 2 35 16 79 +2 1 2 36 17 78 +2 1 2 37 16 78 +2 1 2 38 17 77 +2 1 2 39 16 77 +2 1 2 40 17 76 +2 1 2 41 16 76 +2 1 2 42 17 75 +2 1 2 43 16 75 +2 1 2 44 17 74 +2 1 2 45 -1 -1 +2 1 2 46 16 74 +2 1 2 47 17 73 +2 1 2 48 16 73 +2 1 2 49 17 72 +2 1 2 50 16 72 +2 1 2 51 17 71 +2 1 2 52 16 71 +2 1 2 53 17 70 +2 1 2 54 16 70 +2 1 2 55 17 69 +2 1 2 56 -1 -1 +2 1 2 57 16 69 +2 1 2 58 17 68 +2 1 2 59 16 68 +2 1 2 60 17 67 +2 1 2 61 16 67 +2 1 2 62 17 66 +2 1 2 63 16 66 +2 1 2 64 17 65 +2 1 2 65 16 65 +2 1 2 66 17 64 +2 1 2 67 16 64 +2 1 3 0 17 127 +2 1 3 1 16 127 +2 1 3 2 17 126 +2 1 3 3 16 126 +2 1 3 4 17 125 +2 1 3 5 16 125 +2 1 3 6 17 124 +2 1 3 7 16 124 +2 1 3 8 17 123 +2 1 3 9 16 123 +2 1 3 10 17 122 +2 1 3 11 -1 -1 +2 1 3 12 16 122 +2 1 3 13 17 121 +2 1 3 14 16 121 +2 1 3 15 17 120 +2 1 3 16 16 120 +2 1 3 17 17 119 +2 1 3 18 16 119 +2 1 3 19 17 118 +2 1 3 20 16 118 +2 1 3 21 17 117 +2 1 3 22 -1 -1 +2 1 3 23 16 117 +2 1 3 24 17 116 +2 1 3 25 16 116 +2 1 3 26 17 115 +2 1 3 27 16 115 +2 1 3 28 17 114 +2 1 3 29 16 114 +2 1 3 30 17 113 +2 1 3 31 16 113 +2 1 3 32 17 112 +2 1 3 33 16 112 +2 1 3 34 17 111 +2 1 3 35 16 111 +2 1 3 36 17 110 +2 1 3 37 16 110 +2 1 3 38 17 109 +2 1 3 39 16 109 +2 1 3 40 17 108 +2 1 3 41 16 108 +2 1 3 42 17 107 +2 1 3 43 16 107 +2 1 3 44 17 106 +2 1 3 45 -1 -1 +2 1 3 46 16 106 +2 1 3 47 17 105 +2 1 3 48 16 105 +2 1 3 49 17 104 +2 1 3 50 16 104 +2 1 3 51 17 103 +2 1 3 52 16 103 +2 1 3 53 17 102 +2 1 3 54 16 102 +2 1 3 55 17 101 +2 1 3 56 -1 -1 +2 1 3 57 16 101 +2 1 3 58 17 100 +2 1 3 59 16 100 +2 1 3 60 17 99 +2 1 3 61 16 99 +2 1 3 62 17 98 +2 1 3 63 16 98 +2 1 3 64 17 97 +2 1 3 65 16 97 +2 1 3 66 17 96 +2 1 3 67 16 96 +2 2 0 0 20 32 +2 2 0 1 21 32 +2 2 0 2 20 33 +2 2 0 3 21 33 +2 2 0 4 20 34 +2 2 0 5 21 34 +2 2 0 6 20 35 +2 2 0 7 21 35 +2 2 0 8 20 36 +2 2 0 9 21 36 +2 2 0 10 20 37 +2 2 0 11 -1 -1 +2 2 0 12 21 37 +2 2 0 13 20 38 +2 2 0 14 21 38 +2 2 0 15 20 39 +2 2 0 16 21 39 +2 2 0 17 20 40 +2 2 0 18 21 40 +2 2 0 19 20 41 +2 2 0 20 21 41 +2 2 0 21 20 42 +2 2 0 22 -1 -1 +2 2 0 23 21 42 +2 2 0 24 20 43 +2 2 0 25 21 43 +2 2 0 26 20 44 +2 2 0 27 21 44 +2 2 0 28 20 45 +2 2 0 29 21 45 +2 2 0 30 20 46 +2 2 0 31 21 46 +2 2 0 32 20 47 +2 2 0 33 21 47 +2 2 0 34 20 48 +2 2 0 35 21 48 +2 2 0 36 20 49 +2 2 0 37 21 49 +2 2 0 38 20 50 +2 2 0 39 21 50 +2 2 0 40 20 51 +2 2 0 41 21 51 +2 2 0 42 20 52 +2 2 0 43 21 52 +2 2 0 44 20 53 +2 2 0 45 -1 -1 +2 2 0 46 21 53 +2 2 0 47 20 54 +2 2 0 48 21 54 +2 2 0 49 20 55 +2 2 0 50 21 55 +2 2 0 51 20 56 +2 2 0 52 21 56 +2 2 0 53 20 57 +2 2 0 54 21 57 +2 2 0 55 20 58 +2 2 0 56 -1 -1 +2 2 0 57 21 58 +2 2 0 58 20 59 +2 2 0 59 21 59 +2 2 0 60 20 60 +2 2 0 61 21 60 +2 2 0 62 20 61 +2 2 0 63 21 61 +2 2 0 64 20 62 +2 2 0 65 21 62 +2 2 0 66 20 63 +2 2 0 67 21 63 +2 2 1 0 20 0 +2 2 1 1 21 0 +2 2 1 2 20 1 +2 2 1 3 21 1 +2 2 1 4 20 2 +2 2 1 5 21 2 +2 2 1 6 20 3 +2 2 1 7 21 3 +2 2 1 8 20 4 +2 2 1 9 21 4 +2 2 1 10 20 5 +2 2 1 11 -1 -1 +2 2 1 12 21 5 +2 2 1 13 20 6 +2 2 1 14 21 6 +2 2 1 15 20 7 +2 2 1 16 21 7 +2 2 1 17 20 8 +2 2 1 18 21 8 +2 2 1 19 20 9 +2 2 1 20 21 9 +2 2 1 21 20 10 +2 2 1 22 -1 -1 +2 2 1 23 21 10 +2 2 1 24 20 11 +2 2 1 25 21 11 +2 2 1 26 20 12 +2 2 1 27 21 12 +2 2 1 28 20 13 +2 2 1 29 21 13 +2 2 1 30 20 14 +2 2 1 31 21 14 +2 2 1 32 20 15 +2 2 1 33 21 15 +2 2 1 34 20 16 +2 2 1 35 21 16 +2 2 1 36 20 17 +2 2 1 37 21 17 +2 2 1 38 20 18 +2 2 1 39 21 18 +2 2 1 40 20 19 +2 2 1 41 21 19 +2 2 1 42 20 20 +2 2 1 43 21 20 +2 2 1 44 20 21 +2 2 1 45 -1 -1 +2 2 1 46 21 21 +2 2 1 47 20 22 +2 2 1 48 21 22 +2 2 1 49 20 23 +2 2 1 50 21 23 +2 2 1 51 20 24 +2 2 1 52 21 24 +2 2 1 53 20 25 +2 2 1 54 21 25 +2 2 1 55 20 26 +2 2 1 56 -1 -1 +2 2 1 57 21 26 +2 2 1 58 20 27 +2 2 1 59 21 27 +2 2 1 60 20 28 +2 2 1 61 21 28 +2 2 1 62 20 29 +2 2 1 63 21 29 +2 2 1 64 20 30 +2 2 1 65 21 30 +2 2 1 66 20 31 +2 2 1 67 21 31 +2 2 2 0 22 32 +2 2 2 1 23 32 +2 2 2 2 22 33 +2 2 2 3 23 33 +2 2 2 4 22 34 +2 2 2 5 23 34 +2 2 2 6 22 35 +2 2 2 7 23 35 +2 2 2 8 22 36 +2 2 2 9 23 36 +2 2 2 10 22 37 +2 2 2 11 -1 -1 +2 2 2 12 23 37 +2 2 2 13 22 38 +2 2 2 14 23 38 +2 2 2 15 22 39 +2 2 2 16 23 39 +2 2 2 17 22 40 +2 2 2 18 23 40 +2 2 2 19 22 41 +2 2 2 20 23 41 +2 2 2 21 22 42 +2 2 2 22 -1 -1 +2 2 2 23 23 42 +2 2 2 24 22 43 +2 2 2 25 23 43 +2 2 2 26 22 44 +2 2 2 27 23 44 +2 2 2 28 22 45 +2 2 2 29 23 45 +2 2 2 30 22 46 +2 2 2 31 23 46 +2 2 2 32 22 47 +2 2 2 33 23 47 +2 2 2 34 22 48 +2 2 2 35 23 48 +2 2 2 36 22 49 +2 2 2 37 23 49 +2 2 2 38 22 50 +2 2 2 39 23 50 +2 2 2 40 22 51 +2 2 2 41 23 51 +2 2 2 42 22 52 +2 2 2 43 23 52 +2 2 2 44 22 53 +2 2 2 45 -1 -1 +2 2 2 46 23 53 +2 2 2 47 22 54 +2 2 2 48 23 54 +2 2 2 49 22 55 +2 2 2 50 23 55 +2 2 2 51 22 56 +2 2 2 52 23 56 +2 2 2 53 22 57 +2 2 2 54 23 57 +2 2 2 55 22 58 +2 2 2 56 -1 -1 +2 2 2 57 23 58 +2 2 2 58 22 59 +2 2 2 59 23 59 +2 2 2 60 22 60 +2 2 2 61 23 60 +2 2 2 62 22 61 +2 2 2 63 23 61 +2 2 2 64 22 62 +2 2 2 65 23 62 +2 2 2 66 22 63 +2 2 2 67 23 63 +2 2 3 0 22 0 +2 2 3 1 23 0 +2 2 3 2 22 1 +2 2 3 3 23 1 +2 2 3 4 22 2 +2 2 3 5 23 2 +2 2 3 6 22 3 +2 2 3 7 23 3 +2 2 3 8 22 4 +2 2 3 9 23 4 +2 2 3 10 22 5 +2 2 3 11 -1 -1 +2 2 3 12 23 5 +2 2 3 13 22 6 +2 2 3 14 23 6 +2 2 3 15 22 7 +2 2 3 16 23 7 +2 2 3 17 22 8 +2 2 3 18 23 8 +2 2 3 19 22 9 +2 2 3 20 23 9 +2 2 3 21 22 10 +2 2 3 22 -1 -1 +2 2 3 23 23 10 +2 2 3 24 22 11 +2 2 3 25 23 11 +2 2 3 26 22 12 +2 2 3 27 23 12 +2 2 3 28 22 13 +2 2 3 29 23 13 +2 2 3 30 22 14 +2 2 3 31 23 14 +2 2 3 32 22 15 +2 2 3 33 23 15 +2 2 3 34 22 16 +2 2 3 35 23 16 +2 2 3 36 22 17 +2 2 3 37 23 17 +2 2 3 38 22 18 +2 2 3 39 23 18 +2 2 3 40 22 19 +2 2 3 41 23 19 +2 2 3 42 22 20 +2 2 3 43 23 20 +2 2 3 44 22 21 +2 2 3 45 -1 -1 +2 2 3 46 23 21 +2 2 3 47 22 22 +2 2 3 48 23 22 +2 2 3 49 22 23 +2 2 3 50 23 23 +2 2 3 51 22 24 +2 2 3 52 23 24 +2 2 3 53 22 25 +2 2 3 54 23 25 +2 2 3 55 22 26 +2 2 3 56 -1 -1 +2 2 3 57 23 26 +2 2 3 58 22 27 +2 2 3 59 23 27 +2 2 3 60 22 28 +2 2 3 61 23 28 +2 2 3 62 22 29 +2 2 3 63 23 29 +2 2 3 64 22 30 +2 2 3 65 23 30 +2 2 3 66 22 31 +2 2 3 67 23 31 +2 3 0 0 23 95 +2 3 0 1 22 95 +2 3 0 2 23 94 +2 3 0 3 22 94 +2 3 0 4 23 93 +2 3 0 5 22 93 +2 3 0 6 23 92 +2 3 0 7 22 92 +2 3 0 8 23 91 +2 3 0 9 22 91 +2 3 0 10 23 90 +2 3 0 11 -1 -1 +2 3 0 12 22 90 +2 3 0 13 23 89 +2 3 0 14 22 89 +2 3 0 15 23 88 +2 3 0 16 22 88 +2 3 0 17 23 87 +2 3 0 18 22 87 +2 3 0 19 23 86 +2 3 0 20 22 86 +2 3 0 21 23 85 +2 3 0 22 -1 -1 +2 3 0 23 22 85 +2 3 0 24 23 84 +2 3 0 25 22 84 +2 3 0 26 23 83 +2 3 0 27 22 83 +2 3 0 28 23 82 +2 3 0 29 22 82 +2 3 0 30 23 81 +2 3 0 31 22 81 +2 3 0 32 23 80 +2 3 0 33 22 80 +2 3 0 34 23 79 +2 3 0 35 22 79 +2 3 0 36 23 78 +2 3 0 37 22 78 +2 3 0 38 23 77 +2 3 0 39 22 77 +2 3 0 40 23 76 +2 3 0 41 22 76 +2 3 0 42 23 75 +2 3 0 43 22 75 +2 3 0 44 23 74 +2 3 0 45 -1 -1 +2 3 0 46 22 74 +2 3 0 47 23 73 +2 3 0 48 22 73 +2 3 0 49 23 72 +2 3 0 50 22 72 +2 3 0 51 23 71 +2 3 0 52 22 71 +2 3 0 53 23 70 +2 3 0 54 22 70 +2 3 0 55 23 69 +2 3 0 56 -1 -1 +2 3 0 57 22 69 +2 3 0 58 23 68 +2 3 0 59 22 68 +2 3 0 60 23 67 +2 3 0 61 22 67 +2 3 0 62 23 66 +2 3 0 63 22 66 +2 3 0 64 23 65 +2 3 0 65 22 65 +2 3 0 66 23 64 +2 3 0 67 22 64 +2 3 1 0 23 127 +2 3 1 1 22 127 +2 3 1 2 23 126 +2 3 1 3 22 126 +2 3 1 4 23 125 +2 3 1 5 22 125 +2 3 1 6 23 124 +2 3 1 7 22 124 +2 3 1 8 23 123 +2 3 1 9 22 123 +2 3 1 10 23 122 +2 3 1 11 -1 -1 +2 3 1 12 22 122 +2 3 1 13 23 121 +2 3 1 14 22 121 +2 3 1 15 23 120 +2 3 1 16 22 120 +2 3 1 17 23 119 +2 3 1 18 22 119 +2 3 1 19 23 118 +2 3 1 20 22 118 +2 3 1 21 23 117 +2 3 1 22 -1 -1 +2 3 1 23 22 117 +2 3 1 24 23 116 +2 3 1 25 22 116 +2 3 1 26 23 115 +2 3 1 27 22 115 +2 3 1 28 23 114 +2 3 1 29 22 114 +2 3 1 30 23 113 +2 3 1 31 22 113 +2 3 1 32 23 112 +2 3 1 33 22 112 +2 3 1 34 23 111 +2 3 1 35 22 111 +2 3 1 36 23 110 +2 3 1 37 22 110 +2 3 1 38 23 109 +2 3 1 39 22 109 +2 3 1 40 23 108 +2 3 1 41 22 108 +2 3 1 42 23 107 +2 3 1 43 22 107 +2 3 1 44 23 106 +2 3 1 45 -1 -1 +2 3 1 46 22 106 +2 3 1 47 23 105 +2 3 1 48 22 105 +2 3 1 49 23 104 +2 3 1 50 22 104 +2 3 1 51 23 103 +2 3 1 52 22 103 +2 3 1 53 23 102 +2 3 1 54 22 102 +2 3 1 55 23 101 +2 3 1 56 -1 -1 +2 3 1 57 22 101 +2 3 1 58 23 100 +2 3 1 59 22 100 +2 3 1 60 23 99 +2 3 1 61 22 99 +2 3 1 62 23 98 +2 3 1 63 22 98 +2 3 1 64 23 97 +2 3 1 65 22 97 +2 3 1 66 23 96 +2 3 1 67 22 96 +2 3 2 0 21 95 +2 3 2 1 20 95 +2 3 2 2 21 94 +2 3 2 3 20 94 +2 3 2 4 21 93 +2 3 2 5 20 93 +2 3 2 6 21 92 +2 3 2 7 20 92 +2 3 2 8 21 91 +2 3 2 9 20 91 +2 3 2 10 21 90 +2 3 2 11 -1 -1 +2 3 2 12 20 90 +2 3 2 13 21 89 +2 3 2 14 20 89 +2 3 2 15 21 88 +2 3 2 16 20 88 +2 3 2 17 21 87 +2 3 2 18 20 87 +2 3 2 19 21 86 +2 3 2 20 20 86 +2 3 2 21 21 85 +2 3 2 22 -1 -1 +2 3 2 23 20 85 +2 3 2 24 21 84 +2 3 2 25 20 84 +2 3 2 26 21 83 +2 3 2 27 20 83 +2 3 2 28 21 82 +2 3 2 29 20 82 +2 3 2 30 21 81 +2 3 2 31 20 81 +2 3 2 32 21 80 +2 3 2 33 20 80 +2 3 2 34 21 79 +2 3 2 35 20 79 +2 3 2 36 21 78 +2 3 2 37 20 78 +2 3 2 38 21 77 +2 3 2 39 20 77 +2 3 2 40 21 76 +2 3 2 41 20 76 +2 3 2 42 21 75 +2 3 2 43 20 75 +2 3 2 44 21 74 +2 3 2 45 -1 -1 +2 3 2 46 20 74 +2 3 2 47 21 73 +2 3 2 48 20 73 +2 3 2 49 21 72 +2 3 2 50 20 72 +2 3 2 51 21 71 +2 3 2 52 20 71 +2 3 2 53 21 70 +2 3 2 54 20 70 +2 3 2 55 21 69 +2 3 2 56 -1 -1 +2 3 2 57 20 69 +2 3 2 58 21 68 +2 3 2 59 20 68 +2 3 2 60 21 67 +2 3 2 61 20 67 +2 3 2 62 21 66 +2 3 2 63 20 66 +2 3 2 64 21 65 +2 3 2 65 20 65 +2 3 2 66 21 64 +2 3 2 67 20 64 +2 3 3 0 21 127 +2 3 3 1 20 127 +2 3 3 2 21 126 +2 3 3 3 20 126 +2 3 3 4 21 125 +2 3 3 5 20 125 +2 3 3 6 21 124 +2 3 3 7 20 124 +2 3 3 8 21 123 +2 3 3 9 20 123 +2 3 3 10 21 122 +2 3 3 11 -1 -1 +2 3 3 12 20 122 +2 3 3 13 21 121 +2 3 3 14 20 121 +2 3 3 15 21 120 +2 3 3 16 20 120 +2 3 3 17 21 119 +2 3 3 18 20 119 +2 3 3 19 21 118 +2 3 3 20 20 118 +2 3 3 21 21 117 +2 3 3 22 -1 -1 +2 3 3 23 20 117 +2 3 3 24 21 116 +2 3 3 25 20 116 +2 3 3 26 21 115 +2 3 3 27 20 115 +2 3 3 28 21 114 +2 3 3 29 20 114 +2 3 3 30 21 113 +2 3 3 31 20 113 +2 3 3 32 21 112 +2 3 3 33 20 112 +2 3 3 34 21 111 +2 3 3 35 20 111 +2 3 3 36 21 110 +2 3 3 37 20 110 +2 3 3 38 21 109 +2 3 3 39 20 109 +2 3 3 40 21 108 +2 3 3 41 20 108 +2 3 3 42 21 107 +2 3 3 43 20 107 +2 3 3 44 21 106 +2 3 3 45 -1 -1 +2 3 3 46 20 106 +2 3 3 47 21 105 +2 3 3 48 20 105 +2 3 3 49 21 104 +2 3 3 50 20 104 +2 3 3 51 21 103 +2 3 3 52 20 103 +2 3 3 53 21 102 +2 3 3 54 20 102 +2 3 3 55 21 101 +2 3 3 56 -1 -1 +2 3 3 57 20 101 +2 3 3 58 21 100 +2 3 3 59 20 100 +2 3 3 60 21 99 +2 3 3 61 20 99 +2 3 3 62 21 98 +2 3 3 63 20 98 +2 3 3 64 21 97 +2 3 3 65 20 97 +2 3 3 66 21 96 +2 3 3 67 20 96 +3 0 0 0 24 32 +3 0 0 1 25 32 +3 0 0 2 24 33 +3 0 0 3 25 33 +3 0 0 4 24 34 +3 0 0 5 25 34 +3 0 0 6 24 35 +3 0 0 7 25 35 +3 0 0 8 24 36 +3 0 0 9 25 36 +3 0 0 10 24 37 +3 0 0 11 -1 -1 +3 0 0 12 25 37 +3 0 0 13 24 38 +3 0 0 14 25 38 +3 0 0 15 24 39 +3 0 0 16 25 39 +3 0 0 17 24 40 +3 0 0 18 25 40 +3 0 0 19 24 41 +3 0 0 20 25 41 +3 0 0 21 24 42 +3 0 0 22 -1 -1 +3 0 0 23 25 42 +3 0 0 24 24 43 +3 0 0 25 25 43 +3 0 0 26 24 44 +3 0 0 27 25 44 +3 0 0 28 24 45 +3 0 0 29 25 45 +3 0 0 30 24 46 +3 0 0 31 25 46 +3 0 0 32 24 47 +3 0 0 33 25 47 +3 0 0 34 24 48 +3 0 0 35 25 48 +3 0 0 36 24 49 +3 0 0 37 25 49 +3 0 0 38 24 50 +3 0 0 39 25 50 +3 0 0 40 24 51 +3 0 0 41 25 51 +3 0 0 42 24 52 +3 0 0 43 25 52 +3 0 0 44 24 53 +3 0 0 45 -1 -1 +3 0 0 46 25 53 +3 0 0 47 24 54 +3 0 0 48 25 54 +3 0 0 49 24 55 +3 0 0 50 25 55 +3 0 0 51 24 56 +3 0 0 52 25 56 +3 0 0 53 24 57 +3 0 0 54 25 57 +3 0 0 55 24 58 +3 0 0 56 -1 -1 +3 0 0 57 25 58 +3 0 0 58 24 59 +3 0 0 59 25 59 +3 0 0 60 24 60 +3 0 0 61 25 60 +3 0 0 62 24 61 +3 0 0 63 25 61 +3 0 0 64 24 62 +3 0 0 65 25 62 +3 0 0 66 24 63 +3 0 0 67 25 63 +3 0 1 0 24 0 +3 0 1 1 25 0 +3 0 1 2 24 1 +3 0 1 3 25 1 +3 0 1 4 24 2 +3 0 1 5 25 2 +3 0 1 6 24 3 +3 0 1 7 25 3 +3 0 1 8 24 4 +3 0 1 9 25 4 +3 0 1 10 24 5 +3 0 1 11 -1 -1 +3 0 1 12 25 5 +3 0 1 13 24 6 +3 0 1 14 25 6 +3 0 1 15 24 7 +3 0 1 16 25 7 +3 0 1 17 24 8 +3 0 1 18 25 8 +3 0 1 19 24 9 +3 0 1 20 25 9 +3 0 1 21 24 10 +3 0 1 22 -1 -1 +3 0 1 23 25 10 +3 0 1 24 24 11 +3 0 1 25 25 11 +3 0 1 26 24 12 +3 0 1 27 25 12 +3 0 1 28 24 13 +3 0 1 29 25 13 +3 0 1 30 24 14 +3 0 1 31 25 14 +3 0 1 32 24 15 +3 0 1 33 25 15 +3 0 1 34 24 16 +3 0 1 35 25 16 +3 0 1 36 24 17 +3 0 1 37 25 17 +3 0 1 38 24 18 +3 0 1 39 25 18 +3 0 1 40 24 19 +3 0 1 41 25 19 +3 0 1 42 24 20 +3 0 1 43 25 20 +3 0 1 44 24 21 +3 0 1 45 -1 -1 +3 0 1 46 25 21 +3 0 1 47 24 22 +3 0 1 48 25 22 +3 0 1 49 24 23 +3 0 1 50 25 23 +3 0 1 51 24 24 +3 0 1 52 25 24 +3 0 1 53 24 25 +3 0 1 54 25 25 +3 0 1 55 24 26 +3 0 1 56 -1 -1 +3 0 1 57 25 26 +3 0 1 58 24 27 +3 0 1 59 25 27 +3 0 1 60 24 28 +3 0 1 61 25 28 +3 0 1 62 24 29 +3 0 1 63 25 29 +3 0 1 64 24 30 +3 0 1 65 25 30 +3 0 1 66 24 31 +3 0 1 67 25 31 +3 0 2 0 26 32 +3 0 2 1 27 32 +3 0 2 2 26 33 +3 0 2 3 27 33 +3 0 2 4 26 34 +3 0 2 5 27 34 +3 0 2 6 26 35 +3 0 2 7 27 35 +3 0 2 8 26 36 +3 0 2 9 27 36 +3 0 2 10 26 37 +3 0 2 11 -1 -1 +3 0 2 12 27 37 +3 0 2 13 26 38 +3 0 2 14 27 38 +3 0 2 15 26 39 +3 0 2 16 27 39 +3 0 2 17 26 40 +3 0 2 18 27 40 +3 0 2 19 26 41 +3 0 2 20 27 41 +3 0 2 21 26 42 +3 0 2 22 -1 -1 +3 0 2 23 27 42 +3 0 2 24 26 43 +3 0 2 25 27 43 +3 0 2 26 26 44 +3 0 2 27 27 44 +3 0 2 28 26 45 +3 0 2 29 27 45 +3 0 2 30 26 46 +3 0 2 31 27 46 +3 0 2 32 26 47 +3 0 2 33 27 47 +3 0 2 34 26 48 +3 0 2 35 27 48 +3 0 2 36 26 49 +3 0 2 37 27 49 +3 0 2 38 26 50 +3 0 2 39 27 50 +3 0 2 40 26 51 +3 0 2 41 27 51 +3 0 2 42 26 52 +3 0 2 43 27 52 +3 0 2 44 26 53 +3 0 2 45 -1 -1 +3 0 2 46 27 53 +3 0 2 47 26 54 +3 0 2 48 27 54 +3 0 2 49 26 55 +3 0 2 50 27 55 +3 0 2 51 26 56 +3 0 2 52 27 56 +3 0 2 53 26 57 +3 0 2 54 27 57 +3 0 2 55 26 58 +3 0 2 56 -1 -1 +3 0 2 57 27 58 +3 0 2 58 26 59 +3 0 2 59 27 59 +3 0 2 60 26 60 +3 0 2 61 27 60 +3 0 2 62 26 61 +3 0 2 63 27 61 +3 0 2 64 26 62 +3 0 2 65 27 62 +3 0 2 66 26 63 +3 0 2 67 27 63 +3 0 3 0 26 0 +3 0 3 1 27 0 +3 0 3 2 26 1 +3 0 3 3 27 1 +3 0 3 4 26 2 +3 0 3 5 27 2 +3 0 3 6 26 3 +3 0 3 7 27 3 +3 0 3 8 26 4 +3 0 3 9 27 4 +3 0 3 10 26 5 +3 0 3 11 -1 -1 +3 0 3 12 27 5 +3 0 3 13 26 6 +3 0 3 14 27 6 +3 0 3 15 26 7 +3 0 3 16 27 7 +3 0 3 17 26 8 +3 0 3 18 27 8 +3 0 3 19 26 9 +3 0 3 20 27 9 +3 0 3 21 26 10 +3 0 3 22 -1 -1 +3 0 3 23 27 10 +3 0 3 24 26 11 +3 0 3 25 27 11 +3 0 3 26 26 12 +3 0 3 27 27 12 +3 0 3 28 26 13 +3 0 3 29 27 13 +3 0 3 30 26 14 +3 0 3 31 27 14 +3 0 3 32 26 15 +3 0 3 33 27 15 +3 0 3 34 26 16 +3 0 3 35 27 16 +3 0 3 36 26 17 +3 0 3 37 27 17 +3 0 3 38 26 18 +3 0 3 39 27 18 +3 0 3 40 26 19 +3 0 3 41 27 19 +3 0 3 42 26 20 +3 0 3 43 27 20 +3 0 3 44 26 21 +3 0 3 45 -1 -1 +3 0 3 46 27 21 +3 0 3 47 26 22 +3 0 3 48 27 22 +3 0 3 49 26 23 +3 0 3 50 27 23 +3 0 3 51 26 24 +3 0 3 52 27 24 +3 0 3 53 26 25 +3 0 3 54 27 25 +3 0 3 55 26 26 +3 0 3 56 -1 -1 +3 0 3 57 27 26 +3 0 3 58 26 27 +3 0 3 59 27 27 +3 0 3 60 26 28 +3 0 3 61 27 28 +3 0 3 62 26 29 +3 0 3 63 27 29 +3 0 3 64 26 30 +3 0 3 65 27 30 +3 0 3 66 26 31 +3 0 3 67 27 31 +3 1 0 0 27 95 +3 1 0 1 26 95 +3 1 0 2 27 94 +3 1 0 3 26 94 +3 1 0 4 27 93 +3 1 0 5 26 93 +3 1 0 6 27 92 +3 1 0 7 26 92 +3 1 0 8 27 91 +3 1 0 9 26 91 +3 1 0 10 27 90 +3 1 0 11 -1 -1 +3 1 0 12 26 90 +3 1 0 13 27 89 +3 1 0 14 26 89 +3 1 0 15 27 88 +3 1 0 16 26 88 +3 1 0 17 27 87 +3 1 0 18 26 87 +3 1 0 19 27 86 +3 1 0 20 26 86 +3 1 0 21 27 85 +3 1 0 22 -1 -1 +3 1 0 23 26 85 +3 1 0 24 27 84 +3 1 0 25 26 84 +3 1 0 26 27 83 +3 1 0 27 26 83 +3 1 0 28 27 82 +3 1 0 29 26 82 +3 1 0 30 27 81 +3 1 0 31 26 81 +3 1 0 32 27 80 +3 1 0 33 26 80 +3 1 0 34 27 79 +3 1 0 35 26 79 +3 1 0 36 27 78 +3 1 0 37 26 78 +3 1 0 38 27 77 +3 1 0 39 26 77 +3 1 0 40 27 76 +3 1 0 41 26 76 +3 1 0 42 27 75 +3 1 0 43 26 75 +3 1 0 44 27 74 +3 1 0 45 -1 -1 +3 1 0 46 26 74 +3 1 0 47 27 73 +3 1 0 48 26 73 +3 1 0 49 27 72 +3 1 0 50 26 72 +3 1 0 51 27 71 +3 1 0 52 26 71 +3 1 0 53 27 70 +3 1 0 54 26 70 +3 1 0 55 27 69 +3 1 0 56 -1 -1 +3 1 0 57 26 69 +3 1 0 58 27 68 +3 1 0 59 26 68 +3 1 0 60 27 67 +3 1 0 61 26 67 +3 1 0 62 27 66 +3 1 0 63 26 66 +3 1 0 64 27 65 +3 1 0 65 26 65 +3 1 0 66 27 64 +3 1 0 67 26 64 +3 1 1 0 27 127 +3 1 1 1 26 127 +3 1 1 2 27 126 +3 1 1 3 26 126 +3 1 1 4 27 125 +3 1 1 5 26 125 +3 1 1 6 27 124 +3 1 1 7 26 124 +3 1 1 8 27 123 +3 1 1 9 26 123 +3 1 1 10 27 122 +3 1 1 11 -1 -1 +3 1 1 12 26 122 +3 1 1 13 27 121 +3 1 1 14 26 121 +3 1 1 15 27 120 +3 1 1 16 26 120 +3 1 1 17 27 119 +3 1 1 18 26 119 +3 1 1 19 27 118 +3 1 1 20 26 118 +3 1 1 21 27 117 +3 1 1 22 -1 -1 +3 1 1 23 26 117 +3 1 1 24 27 116 +3 1 1 25 26 116 +3 1 1 26 27 115 +3 1 1 27 26 115 +3 1 1 28 27 114 +3 1 1 29 26 114 +3 1 1 30 27 113 +3 1 1 31 26 113 +3 1 1 32 27 112 +3 1 1 33 26 112 +3 1 1 34 27 111 +3 1 1 35 26 111 +3 1 1 36 27 110 +3 1 1 37 26 110 +3 1 1 38 27 109 +3 1 1 39 26 109 +3 1 1 40 27 108 +3 1 1 41 26 108 +3 1 1 42 27 107 +3 1 1 43 26 107 +3 1 1 44 27 106 +3 1 1 45 -1 -1 +3 1 1 46 26 106 +3 1 1 47 27 105 +3 1 1 48 26 105 +3 1 1 49 27 104 +3 1 1 50 26 104 +3 1 1 51 27 103 +3 1 1 52 26 103 +3 1 1 53 27 102 +3 1 1 54 26 102 +3 1 1 55 27 101 +3 1 1 56 -1 -1 +3 1 1 57 26 101 +3 1 1 58 27 100 +3 1 1 59 26 100 +3 1 1 60 27 99 +3 1 1 61 26 99 +3 1 1 62 27 98 +3 1 1 63 26 98 +3 1 1 64 27 97 +3 1 1 65 26 97 +3 1 1 66 27 96 +3 1 1 67 26 96 +3 1 2 0 25 95 +3 1 2 1 24 95 +3 1 2 2 25 94 +3 1 2 3 24 94 +3 1 2 4 25 93 +3 1 2 5 24 93 +3 1 2 6 25 92 +3 1 2 7 24 92 +3 1 2 8 25 91 +3 1 2 9 24 91 +3 1 2 10 25 90 +3 1 2 11 -1 -1 +3 1 2 12 24 90 +3 1 2 13 25 89 +3 1 2 14 24 89 +3 1 2 15 25 88 +3 1 2 16 24 88 +3 1 2 17 25 87 +3 1 2 18 24 87 +3 1 2 19 25 86 +3 1 2 20 24 86 +3 1 2 21 25 85 +3 1 2 22 -1 -1 +3 1 2 23 24 85 +3 1 2 24 25 84 +3 1 2 25 24 84 +3 1 2 26 25 83 +3 1 2 27 24 83 +3 1 2 28 25 82 +3 1 2 29 24 82 +3 1 2 30 25 81 +3 1 2 31 24 81 +3 1 2 32 25 80 +3 1 2 33 24 80 +3 1 2 34 25 79 +3 1 2 35 24 79 +3 1 2 36 25 78 +3 1 2 37 24 78 +3 1 2 38 25 77 +3 1 2 39 24 77 +3 1 2 40 25 76 +3 1 2 41 24 76 +3 1 2 42 25 75 +3 1 2 43 24 75 +3 1 2 44 25 74 +3 1 2 45 -1 -1 +3 1 2 46 24 74 +3 1 2 47 25 73 +3 1 2 48 24 73 +3 1 2 49 25 72 +3 1 2 50 24 72 +3 1 2 51 25 71 +3 1 2 52 24 71 +3 1 2 53 25 70 +3 1 2 54 24 70 +3 1 2 55 25 69 +3 1 2 56 -1 -1 +3 1 2 57 24 69 +3 1 2 58 25 68 +3 1 2 59 24 68 +3 1 2 60 25 67 +3 1 2 61 24 67 +3 1 2 62 25 66 +3 1 2 63 24 66 +3 1 2 64 25 65 +3 1 2 65 24 65 +3 1 2 66 25 64 +3 1 2 67 24 64 +3 1 3 0 25 127 +3 1 3 1 24 127 +3 1 3 2 25 126 +3 1 3 3 24 126 +3 1 3 4 25 125 +3 1 3 5 24 125 +3 1 3 6 25 124 +3 1 3 7 24 124 +3 1 3 8 25 123 +3 1 3 9 24 123 +3 1 3 10 25 122 +3 1 3 11 -1 -1 +3 1 3 12 24 122 +3 1 3 13 25 121 +3 1 3 14 24 121 +3 1 3 15 25 120 +3 1 3 16 24 120 +3 1 3 17 25 119 +3 1 3 18 24 119 +3 1 3 19 25 118 +3 1 3 20 24 118 +3 1 3 21 25 117 +3 1 3 22 -1 -1 +3 1 3 23 24 117 +3 1 3 24 25 116 +3 1 3 25 24 116 +3 1 3 26 25 115 +3 1 3 27 24 115 +3 1 3 28 25 114 +3 1 3 29 24 114 +3 1 3 30 25 113 +3 1 3 31 24 113 +3 1 3 32 25 112 +3 1 3 33 24 112 +3 1 3 34 25 111 +3 1 3 35 24 111 +3 1 3 36 25 110 +3 1 3 37 24 110 +3 1 3 38 25 109 +3 1 3 39 24 109 +3 1 3 40 25 108 +3 1 3 41 24 108 +3 1 3 42 25 107 +3 1 3 43 24 107 +3 1 3 44 25 106 +3 1 3 45 -1 -1 +3 1 3 46 24 106 +3 1 3 47 25 105 +3 1 3 48 24 105 +3 1 3 49 25 104 +3 1 3 50 24 104 +3 1 3 51 25 103 +3 1 3 52 24 103 +3 1 3 53 25 102 +3 1 3 54 24 102 +3 1 3 55 25 101 +3 1 3 56 -1 -1 +3 1 3 57 24 101 +3 1 3 58 25 100 +3 1 3 59 24 100 +3 1 3 60 25 99 +3 1 3 61 24 99 +3 1 3 62 25 98 +3 1 3 63 24 98 +3 1 3 64 25 97 +3 1 3 65 24 97 +3 1 3 66 25 96 +3 1 3 67 24 96 +3 2 0 0 28 32 +3 2 0 1 29 32 +3 2 0 2 28 33 +3 2 0 3 29 33 +3 2 0 4 28 34 +3 2 0 5 29 34 +3 2 0 6 28 35 +3 2 0 7 29 35 +3 2 0 8 28 36 +3 2 0 9 29 36 +3 2 0 10 28 37 +3 2 0 11 -1 -1 +3 2 0 12 29 37 +3 2 0 13 28 38 +3 2 0 14 29 38 +3 2 0 15 28 39 +3 2 0 16 29 39 +3 2 0 17 28 40 +3 2 0 18 29 40 +3 2 0 19 28 41 +3 2 0 20 29 41 +3 2 0 21 28 42 +3 2 0 22 -1 -1 +3 2 0 23 29 42 +3 2 0 24 28 43 +3 2 0 25 29 43 +3 2 0 26 28 44 +3 2 0 27 29 44 +3 2 0 28 28 45 +3 2 0 29 29 45 +3 2 0 30 28 46 +3 2 0 31 29 46 +3 2 0 32 28 47 +3 2 0 33 29 47 +3 2 0 34 28 48 +3 2 0 35 29 48 +3 2 0 36 28 49 +3 2 0 37 29 49 +3 2 0 38 28 50 +3 2 0 39 29 50 +3 2 0 40 28 51 +3 2 0 41 29 51 +3 2 0 42 28 52 +3 2 0 43 29 52 +3 2 0 44 28 53 +3 2 0 45 -1 -1 +3 2 0 46 29 53 +3 2 0 47 28 54 +3 2 0 48 29 54 +3 2 0 49 28 55 +3 2 0 50 29 55 +3 2 0 51 28 56 +3 2 0 52 29 56 +3 2 0 53 28 57 +3 2 0 54 29 57 +3 2 0 55 28 58 +3 2 0 56 -1 -1 +3 2 0 57 29 58 +3 2 0 58 28 59 +3 2 0 59 29 59 +3 2 0 60 28 60 +3 2 0 61 29 60 +3 2 0 62 28 61 +3 2 0 63 29 61 +3 2 0 64 28 62 +3 2 0 65 29 62 +3 2 0 66 28 63 +3 2 0 67 29 63 +3 2 1 0 28 0 +3 2 1 1 29 0 +3 2 1 2 28 1 +3 2 1 3 29 1 +3 2 1 4 28 2 +3 2 1 5 29 2 +3 2 1 6 28 3 +3 2 1 7 29 3 +3 2 1 8 28 4 +3 2 1 9 29 4 +3 2 1 10 28 5 +3 2 1 11 -1 -1 +3 2 1 12 29 5 +3 2 1 13 28 6 +3 2 1 14 29 6 +3 2 1 15 28 7 +3 2 1 16 29 7 +3 2 1 17 28 8 +3 2 1 18 29 8 +3 2 1 19 28 9 +3 2 1 20 29 9 +3 2 1 21 28 10 +3 2 1 22 -1 -1 +3 2 1 23 29 10 +3 2 1 24 28 11 +3 2 1 25 29 11 +3 2 1 26 28 12 +3 2 1 27 29 12 +3 2 1 28 28 13 +3 2 1 29 29 13 +3 2 1 30 28 14 +3 2 1 31 29 14 +3 2 1 32 28 15 +3 2 1 33 29 15 +3 2 1 34 28 16 +3 2 1 35 29 16 +3 2 1 36 28 17 +3 2 1 37 29 17 +3 2 1 38 28 18 +3 2 1 39 29 18 +3 2 1 40 28 19 +3 2 1 41 29 19 +3 2 1 42 28 20 +3 2 1 43 29 20 +3 2 1 44 28 21 +3 2 1 45 -1 -1 +3 2 1 46 29 21 +3 2 1 47 28 22 +3 2 1 48 29 22 +3 2 1 49 28 23 +3 2 1 50 29 23 +3 2 1 51 28 24 +3 2 1 52 29 24 +3 2 1 53 28 25 +3 2 1 54 29 25 +3 2 1 55 28 26 +3 2 1 56 -1 -1 +3 2 1 57 29 26 +3 2 1 58 28 27 +3 2 1 59 29 27 +3 2 1 60 28 28 +3 2 1 61 29 28 +3 2 1 62 28 29 +3 2 1 63 29 29 +3 2 1 64 28 30 +3 2 1 65 29 30 +3 2 1 66 28 31 +3 2 1 67 29 31 +3 2 2 0 30 32 +3 2 2 1 31 32 +3 2 2 2 30 33 +3 2 2 3 31 33 +3 2 2 4 30 34 +3 2 2 5 31 34 +3 2 2 6 30 35 +3 2 2 7 31 35 +3 2 2 8 30 36 +3 2 2 9 31 36 +3 2 2 10 30 37 +3 2 2 11 -1 -1 +3 2 2 12 31 37 +3 2 2 13 30 38 +3 2 2 14 31 38 +3 2 2 15 30 39 +3 2 2 16 31 39 +3 2 2 17 30 40 +3 2 2 18 31 40 +3 2 2 19 30 41 +3 2 2 20 31 41 +3 2 2 21 30 42 +3 2 2 22 -1 -1 +3 2 2 23 31 42 +3 2 2 24 30 43 +3 2 2 25 31 43 +3 2 2 26 30 44 +3 2 2 27 31 44 +3 2 2 28 30 45 +3 2 2 29 31 45 +3 2 2 30 30 46 +3 2 2 31 31 46 +3 2 2 32 30 47 +3 2 2 33 31 47 +3 2 2 34 30 48 +3 2 2 35 31 48 +3 2 2 36 30 49 +3 2 2 37 31 49 +3 2 2 38 30 50 +3 2 2 39 31 50 +3 2 2 40 30 51 +3 2 2 41 31 51 +3 2 2 42 30 52 +3 2 2 43 31 52 +3 2 2 44 30 53 +3 2 2 45 -1 -1 +3 2 2 46 31 53 +3 2 2 47 30 54 +3 2 2 48 31 54 +3 2 2 49 30 55 +3 2 2 50 31 55 +3 2 2 51 30 56 +3 2 2 52 31 56 +3 2 2 53 30 57 +3 2 2 54 31 57 +3 2 2 55 30 58 +3 2 2 56 -1 -1 +3 2 2 57 31 58 +3 2 2 58 30 59 +3 2 2 59 31 59 +3 2 2 60 30 60 +3 2 2 61 31 60 +3 2 2 62 30 61 +3 2 2 63 31 61 +3 2 2 64 30 62 +3 2 2 65 31 62 +3 2 2 66 30 63 +3 2 2 67 31 63 +3 2 3 0 30 0 +3 2 3 1 31 0 +3 2 3 2 30 1 +3 2 3 3 31 1 +3 2 3 4 30 2 +3 2 3 5 31 2 +3 2 3 6 30 3 +3 2 3 7 31 3 +3 2 3 8 30 4 +3 2 3 9 31 4 +3 2 3 10 30 5 +3 2 3 11 -1 -1 +3 2 3 12 31 5 +3 2 3 13 30 6 +3 2 3 14 31 6 +3 2 3 15 30 7 +3 2 3 16 31 7 +3 2 3 17 30 8 +3 2 3 18 31 8 +3 2 3 19 30 9 +3 2 3 20 31 9 +3 2 3 21 30 10 +3 2 3 22 -1 -1 +3 2 3 23 31 10 +3 2 3 24 30 11 +3 2 3 25 31 11 +3 2 3 26 30 12 +3 2 3 27 31 12 +3 2 3 28 30 13 +3 2 3 29 31 13 +3 2 3 30 30 14 +3 2 3 31 31 14 +3 2 3 32 30 15 +3 2 3 33 31 15 +3 2 3 34 30 16 +3 2 3 35 31 16 +3 2 3 36 30 17 +3 2 3 37 31 17 +3 2 3 38 30 18 +3 2 3 39 31 18 +3 2 3 40 30 19 +3 2 3 41 31 19 +3 2 3 42 30 20 +3 2 3 43 31 20 +3 2 3 44 30 21 +3 2 3 45 -1 -1 +3 2 3 46 31 21 +3 2 3 47 30 22 +3 2 3 48 31 22 +3 2 3 49 30 23 +3 2 3 50 31 23 +3 2 3 51 30 24 +3 2 3 52 31 24 +3 2 3 53 30 25 +3 2 3 54 31 25 +3 2 3 55 30 26 +3 2 3 56 -1 -1 +3 2 3 57 31 26 +3 2 3 58 30 27 +3 2 3 59 31 27 +3 2 3 60 30 28 +3 2 3 61 31 28 +3 2 3 62 30 29 +3 2 3 63 31 29 +3 2 3 64 30 30 +3 2 3 65 31 30 +3 2 3 66 30 31 +3 2 3 67 31 31 +3 3 0 0 31 95 +3 3 0 1 30 95 +3 3 0 2 31 94 +3 3 0 3 30 94 +3 3 0 4 31 93 +3 3 0 5 30 93 +3 3 0 6 31 92 +3 3 0 7 30 92 +3 3 0 8 31 91 +3 3 0 9 30 91 +3 3 0 10 31 90 +3 3 0 11 -1 -1 +3 3 0 12 30 90 +3 3 0 13 31 89 +3 3 0 14 30 89 +3 3 0 15 31 88 +3 3 0 16 30 88 +3 3 0 17 31 87 +3 3 0 18 30 87 +3 3 0 19 31 86 +3 3 0 20 30 86 +3 3 0 21 31 85 +3 3 0 22 -1 -1 +3 3 0 23 30 85 +3 3 0 24 31 84 +3 3 0 25 30 84 +3 3 0 26 31 83 +3 3 0 27 30 83 +3 3 0 28 31 82 +3 3 0 29 30 82 +3 3 0 30 31 81 +3 3 0 31 30 81 +3 3 0 32 31 80 +3 3 0 33 30 80 +3 3 0 34 31 79 +3 3 0 35 30 79 +3 3 0 36 31 78 +3 3 0 37 30 78 +3 3 0 38 31 77 +3 3 0 39 30 77 +3 3 0 40 31 76 +3 3 0 41 30 76 +3 3 0 42 31 75 +3 3 0 43 30 75 +3 3 0 44 31 74 +3 3 0 45 -1 -1 +3 3 0 46 30 74 +3 3 0 47 31 73 +3 3 0 48 30 73 +3 3 0 49 31 72 +3 3 0 50 30 72 +3 3 0 51 31 71 +3 3 0 52 30 71 +3 3 0 53 31 70 +3 3 0 54 30 70 +3 3 0 55 31 69 +3 3 0 56 -1 -1 +3 3 0 57 30 69 +3 3 0 58 31 68 +3 3 0 59 30 68 +3 3 0 60 31 67 +3 3 0 61 30 67 +3 3 0 62 31 66 +3 3 0 63 30 66 +3 3 0 64 31 65 +3 3 0 65 30 65 +3 3 0 66 31 64 +3 3 0 67 30 64 +3 3 1 0 31 127 +3 3 1 1 30 127 +3 3 1 2 31 126 +3 3 1 3 30 126 +3 3 1 4 31 125 +3 3 1 5 30 125 +3 3 1 6 31 124 +3 3 1 7 30 124 +3 3 1 8 31 123 +3 3 1 9 30 123 +3 3 1 10 31 122 +3 3 1 11 -1 -1 +3 3 1 12 30 122 +3 3 1 13 31 121 +3 3 1 14 30 121 +3 3 1 15 31 120 +3 3 1 16 30 120 +3 3 1 17 31 119 +3 3 1 18 30 119 +3 3 1 19 31 118 +3 3 1 20 30 118 +3 3 1 21 31 117 +3 3 1 22 -1 -1 +3 3 1 23 30 117 +3 3 1 24 31 116 +3 3 1 25 30 116 +3 3 1 26 31 115 +3 3 1 27 30 115 +3 3 1 28 31 114 +3 3 1 29 30 114 +3 3 1 30 31 113 +3 3 1 31 30 113 +3 3 1 32 31 112 +3 3 1 33 30 112 +3 3 1 34 31 111 +3 3 1 35 30 111 +3 3 1 36 31 110 +3 3 1 37 30 110 +3 3 1 38 31 109 +3 3 1 39 30 109 +3 3 1 40 31 108 +3 3 1 41 30 108 +3 3 1 42 31 107 +3 3 1 43 30 107 +3 3 1 44 31 106 +3 3 1 45 -1 -1 +3 3 1 46 30 106 +3 3 1 47 31 105 +3 3 1 48 30 105 +3 3 1 49 31 104 +3 3 1 50 30 104 +3 3 1 51 31 103 +3 3 1 52 30 103 +3 3 1 53 31 102 +3 3 1 54 30 102 +3 3 1 55 31 101 +3 3 1 56 -1 -1 +3 3 1 57 30 101 +3 3 1 58 31 100 +3 3 1 59 30 100 +3 3 1 60 31 99 +3 3 1 61 30 99 +3 3 1 62 31 98 +3 3 1 63 30 98 +3 3 1 64 31 97 +3 3 1 65 30 97 +3 3 1 66 31 96 +3 3 1 67 30 96 +3 3 2 0 29 95 +3 3 2 1 28 95 +3 3 2 2 29 94 +3 3 2 3 28 94 +3 3 2 4 29 93 +3 3 2 5 28 93 +3 3 2 6 29 92 +3 3 2 7 28 92 +3 3 2 8 29 91 +3 3 2 9 28 91 +3 3 2 10 29 90 +3 3 2 11 -1 -1 +3 3 2 12 28 90 +3 3 2 13 29 89 +3 3 2 14 28 89 +3 3 2 15 29 88 +3 3 2 16 28 88 +3 3 2 17 29 87 +3 3 2 18 28 87 +3 3 2 19 29 86 +3 3 2 20 28 86 +3 3 2 21 29 85 +3 3 2 22 -1 -1 +3 3 2 23 28 85 +3 3 2 24 29 84 +3 3 2 25 28 84 +3 3 2 26 29 83 +3 3 2 27 28 83 +3 3 2 28 29 82 +3 3 2 29 28 82 +3 3 2 30 29 81 +3 3 2 31 28 81 +3 3 2 32 29 80 +3 3 2 33 28 80 +3 3 2 34 29 79 +3 3 2 35 28 79 +3 3 2 36 29 78 +3 3 2 37 28 78 +3 3 2 38 29 77 +3 3 2 39 28 77 +3 3 2 40 29 76 +3 3 2 41 28 76 +3 3 2 42 29 75 +3 3 2 43 28 75 +3 3 2 44 29 74 +3 3 2 45 -1 -1 +3 3 2 46 28 74 +3 3 2 47 29 73 +3 3 2 48 28 73 +3 3 2 49 29 72 +3 3 2 50 28 72 +3 3 2 51 29 71 +3 3 2 52 28 71 +3 3 2 53 29 70 +3 3 2 54 28 70 +3 3 2 55 29 69 +3 3 2 56 -1 -1 +3 3 2 57 28 69 +3 3 2 58 29 68 +3 3 2 59 28 68 +3 3 2 60 29 67 +3 3 2 61 28 67 +3 3 2 62 29 66 +3 3 2 63 28 66 +3 3 2 64 29 65 +3 3 2 65 28 65 +3 3 2 66 29 64 +3 3 2 67 28 64 +3 3 3 0 29 127 +3 3 3 1 28 127 +3 3 3 2 29 126 +3 3 3 3 28 126 +3 3 3 4 29 125 +3 3 3 5 28 125 +3 3 3 6 29 124 +3 3 3 7 28 124 +3 3 3 8 29 123 +3 3 3 9 28 123 +3 3 3 10 29 122 +3 3 3 11 -1 -1 +3 3 3 12 28 122 +3 3 3 13 29 121 +3 3 3 14 28 121 +3 3 3 15 29 120 +3 3 3 16 28 120 +3 3 3 17 29 119 +3 3 3 18 28 119 +3 3 3 19 29 118 +3 3 3 20 28 118 +3 3 3 21 29 117 +3 3 3 22 -1 -1 +3 3 3 23 28 117 +3 3 3 24 29 116 +3 3 3 25 28 116 +3 3 3 26 29 115 +3 3 3 27 28 115 +3 3 3 28 29 114 +3 3 3 29 28 114 +3 3 3 30 29 113 +3 3 3 31 28 113 +3 3 3 32 29 112 +3 3 3 33 28 112 +3 3 3 34 29 111 +3 3 3 35 28 111 +3 3 3 36 29 110 +3 3 3 37 28 110 +3 3 3 38 29 109 +3 3 3 39 28 109 +3 3 3 40 29 108 +3 3 3 41 28 108 +3 3 3 42 29 107 +3 3 3 43 28 107 +3 3 3 44 29 106 +3 3 3 45 -1 -1 +3 3 3 46 28 106 +3 3 3 47 29 105 +3 3 3 48 28 105 +3 3 3 49 29 104 +3 3 3 50 28 104 +3 3 3 51 29 103 +3 3 3 52 28 103 +3 3 3 53 29 102 +3 3 3 54 28 102 +3 3 3 55 29 101 +3 3 3 56 -1 -1 +3 3 3 57 28 101 +3 3 3 58 29 100 +3 3 3 59 28 100 +3 3 3 60 29 99 +3 3 3 61 28 99 +3 3 3 62 29 98 +3 3 3 63 28 98 +3 3 3 64 29 97 +3 3 3 65 28 97 +3 3 3 66 29 96 +3 3 3 67 28 96 +4 0 0 0 32 32 +4 0 0 1 33 32 +4 0 0 2 32 33 +4 0 0 3 33 33 +4 0 0 4 32 34 +4 0 0 5 33 34 +4 0 0 6 32 35 +4 0 0 7 33 35 +4 0 0 8 32 36 +4 0 0 9 33 36 +4 0 0 10 32 37 +4 0 0 11 -1 -1 +4 0 0 12 33 37 +4 0 0 13 32 38 +4 0 0 14 33 38 +4 0 0 15 32 39 +4 0 0 16 33 39 +4 0 0 17 32 40 +4 0 0 18 33 40 +4 0 0 19 32 41 +4 0 0 20 33 41 +4 0 0 21 32 42 +4 0 0 22 -1 -1 +4 0 0 23 33 42 +4 0 0 24 32 43 +4 0 0 25 33 43 +4 0 0 26 32 44 +4 0 0 27 33 44 +4 0 0 28 32 45 +4 0 0 29 33 45 +4 0 0 30 32 46 +4 0 0 31 33 46 +4 0 0 32 32 47 +4 0 0 33 33 47 +4 0 0 34 32 48 +4 0 0 35 33 48 +4 0 0 36 32 49 +4 0 0 37 33 49 +4 0 0 38 32 50 +4 0 0 39 33 50 +4 0 0 40 32 51 +4 0 0 41 33 51 +4 0 0 42 32 52 +4 0 0 43 33 52 +4 0 0 44 32 53 +4 0 0 45 -1 -1 +4 0 0 46 33 53 +4 0 0 47 32 54 +4 0 0 48 33 54 +4 0 0 49 32 55 +4 0 0 50 33 55 +4 0 0 51 32 56 +4 0 0 52 33 56 +4 0 0 53 32 57 +4 0 0 54 33 57 +4 0 0 55 32 58 +4 0 0 56 -1 -1 +4 0 0 57 33 58 +4 0 0 58 32 59 +4 0 0 59 33 59 +4 0 0 60 32 60 +4 0 0 61 33 60 +4 0 0 62 32 61 +4 0 0 63 33 61 +4 0 0 64 32 62 +4 0 0 65 33 62 +4 0 0 66 32 63 +4 0 0 67 33 63 +4 0 1 0 32 0 +4 0 1 1 33 0 +4 0 1 2 32 1 +4 0 1 3 33 1 +4 0 1 4 32 2 +4 0 1 5 33 2 +4 0 1 6 32 3 +4 0 1 7 33 3 +4 0 1 8 32 4 +4 0 1 9 33 4 +4 0 1 10 32 5 +4 0 1 11 -1 -1 +4 0 1 12 33 5 +4 0 1 13 32 6 +4 0 1 14 33 6 +4 0 1 15 32 7 +4 0 1 16 33 7 +4 0 1 17 32 8 +4 0 1 18 33 8 +4 0 1 19 32 9 +4 0 1 20 33 9 +4 0 1 21 32 10 +4 0 1 22 -1 -1 +4 0 1 23 33 10 +4 0 1 24 32 11 +4 0 1 25 33 11 +4 0 1 26 32 12 +4 0 1 27 33 12 +4 0 1 28 32 13 +4 0 1 29 33 13 +4 0 1 30 32 14 +4 0 1 31 33 14 +4 0 1 32 32 15 +4 0 1 33 33 15 +4 0 1 34 32 16 +4 0 1 35 33 16 +4 0 1 36 32 17 +4 0 1 37 33 17 +4 0 1 38 32 18 +4 0 1 39 33 18 +4 0 1 40 32 19 +4 0 1 41 33 19 +4 0 1 42 32 20 +4 0 1 43 33 20 +4 0 1 44 32 21 +4 0 1 45 -1 -1 +4 0 1 46 33 21 +4 0 1 47 32 22 +4 0 1 48 33 22 +4 0 1 49 32 23 +4 0 1 50 33 23 +4 0 1 51 32 24 +4 0 1 52 33 24 +4 0 1 53 32 25 +4 0 1 54 33 25 +4 0 1 55 32 26 +4 0 1 56 -1 -1 +4 0 1 57 33 26 +4 0 1 58 32 27 +4 0 1 59 33 27 +4 0 1 60 32 28 +4 0 1 61 33 28 +4 0 1 62 32 29 +4 0 1 63 33 29 +4 0 1 64 32 30 +4 0 1 65 33 30 +4 0 1 66 32 31 +4 0 1 67 33 31 +4 0 2 0 34 32 +4 0 2 1 35 32 +4 0 2 2 34 33 +4 0 2 3 35 33 +4 0 2 4 34 34 +4 0 2 5 35 34 +4 0 2 6 34 35 +4 0 2 7 35 35 +4 0 2 8 34 36 +4 0 2 9 35 36 +4 0 2 10 34 37 +4 0 2 11 -1 -1 +4 0 2 12 35 37 +4 0 2 13 34 38 +4 0 2 14 35 38 +4 0 2 15 34 39 +4 0 2 16 35 39 +4 0 2 17 34 40 +4 0 2 18 35 40 +4 0 2 19 34 41 +4 0 2 20 35 41 +4 0 2 21 34 42 +4 0 2 22 -1 -1 +4 0 2 23 35 42 +4 0 2 24 34 43 +4 0 2 25 35 43 +4 0 2 26 34 44 +4 0 2 27 35 44 +4 0 2 28 34 45 +4 0 2 29 35 45 +4 0 2 30 34 46 +4 0 2 31 35 46 +4 0 2 32 34 47 +4 0 2 33 35 47 +4 0 2 34 34 48 +4 0 2 35 35 48 +4 0 2 36 34 49 +4 0 2 37 35 49 +4 0 2 38 34 50 +4 0 2 39 35 50 +4 0 2 40 34 51 +4 0 2 41 35 51 +4 0 2 42 34 52 +4 0 2 43 35 52 +4 0 2 44 34 53 +4 0 2 45 -1 -1 +4 0 2 46 35 53 +4 0 2 47 34 54 +4 0 2 48 35 54 +4 0 2 49 34 55 +4 0 2 50 35 55 +4 0 2 51 34 56 +4 0 2 52 35 56 +4 0 2 53 34 57 +4 0 2 54 35 57 +4 0 2 55 34 58 +4 0 2 56 -1 -1 +4 0 2 57 35 58 +4 0 2 58 34 59 +4 0 2 59 35 59 +4 0 2 60 34 60 +4 0 2 61 35 60 +4 0 2 62 34 61 +4 0 2 63 35 61 +4 0 2 64 34 62 +4 0 2 65 35 62 +4 0 2 66 34 63 +4 0 2 67 35 63 +4 0 3 0 34 0 +4 0 3 1 35 0 +4 0 3 2 34 1 +4 0 3 3 35 1 +4 0 3 4 34 2 +4 0 3 5 35 2 +4 0 3 6 34 3 +4 0 3 7 35 3 +4 0 3 8 34 4 +4 0 3 9 35 4 +4 0 3 10 34 5 +4 0 3 11 -1 -1 +4 0 3 12 35 5 +4 0 3 13 34 6 +4 0 3 14 35 6 +4 0 3 15 34 7 +4 0 3 16 35 7 +4 0 3 17 34 8 +4 0 3 18 35 8 +4 0 3 19 34 9 +4 0 3 20 35 9 +4 0 3 21 34 10 +4 0 3 22 -1 -1 +4 0 3 23 35 10 +4 0 3 24 34 11 +4 0 3 25 35 11 +4 0 3 26 34 12 +4 0 3 27 35 12 +4 0 3 28 34 13 +4 0 3 29 35 13 +4 0 3 30 34 14 +4 0 3 31 35 14 +4 0 3 32 34 15 +4 0 3 33 35 15 +4 0 3 34 34 16 +4 0 3 35 35 16 +4 0 3 36 34 17 +4 0 3 37 35 17 +4 0 3 38 34 18 +4 0 3 39 35 18 +4 0 3 40 34 19 +4 0 3 41 35 19 +4 0 3 42 34 20 +4 0 3 43 35 20 +4 0 3 44 34 21 +4 0 3 45 -1 -1 +4 0 3 46 35 21 +4 0 3 47 34 22 +4 0 3 48 35 22 +4 0 3 49 34 23 +4 0 3 50 35 23 +4 0 3 51 34 24 +4 0 3 52 35 24 +4 0 3 53 34 25 +4 0 3 54 35 25 +4 0 3 55 34 26 +4 0 3 56 -1 -1 +4 0 3 57 35 26 +4 0 3 58 34 27 +4 0 3 59 35 27 +4 0 3 60 34 28 +4 0 3 61 35 28 +4 0 3 62 34 29 +4 0 3 63 35 29 +4 0 3 64 34 30 +4 0 3 65 35 30 +4 0 3 66 34 31 +4 0 3 67 35 31 +4 1 0 0 35 95 +4 1 0 1 34 95 +4 1 0 2 35 94 +4 1 0 3 34 94 +4 1 0 4 35 93 +4 1 0 5 34 93 +4 1 0 6 35 92 +4 1 0 7 34 92 +4 1 0 8 35 91 +4 1 0 9 34 91 +4 1 0 10 35 90 +4 1 0 11 -1 -1 +4 1 0 12 34 90 +4 1 0 13 35 89 +4 1 0 14 34 89 +4 1 0 15 35 88 +4 1 0 16 34 88 +4 1 0 17 35 87 +4 1 0 18 34 87 +4 1 0 19 35 86 +4 1 0 20 34 86 +4 1 0 21 35 85 +4 1 0 22 -1 -1 +4 1 0 23 34 85 +4 1 0 24 35 84 +4 1 0 25 34 84 +4 1 0 26 35 83 +4 1 0 27 34 83 +4 1 0 28 35 82 +4 1 0 29 34 82 +4 1 0 30 35 81 +4 1 0 31 34 81 +4 1 0 32 35 80 +4 1 0 33 34 80 +4 1 0 34 35 79 +4 1 0 35 34 79 +4 1 0 36 35 78 +4 1 0 37 34 78 +4 1 0 38 35 77 +4 1 0 39 34 77 +4 1 0 40 35 76 +4 1 0 41 34 76 +4 1 0 42 35 75 +4 1 0 43 34 75 +4 1 0 44 35 74 +4 1 0 45 -1 -1 +4 1 0 46 34 74 +4 1 0 47 35 73 +4 1 0 48 34 73 +4 1 0 49 35 72 +4 1 0 50 34 72 +4 1 0 51 35 71 +4 1 0 52 34 71 +4 1 0 53 35 70 +4 1 0 54 34 70 +4 1 0 55 35 69 +4 1 0 56 -1 -1 +4 1 0 57 34 69 +4 1 0 58 35 68 +4 1 0 59 34 68 +4 1 0 60 35 67 +4 1 0 61 34 67 +4 1 0 62 35 66 +4 1 0 63 34 66 +4 1 0 64 35 65 +4 1 0 65 34 65 +4 1 0 66 35 64 +4 1 0 67 34 64 +4 1 1 0 35 127 +4 1 1 1 34 127 +4 1 1 2 35 126 +4 1 1 3 34 126 +4 1 1 4 35 125 +4 1 1 5 34 125 +4 1 1 6 35 124 +4 1 1 7 34 124 +4 1 1 8 35 123 +4 1 1 9 34 123 +4 1 1 10 35 122 +4 1 1 11 -1 -1 +4 1 1 12 34 122 +4 1 1 13 35 121 +4 1 1 14 34 121 +4 1 1 15 35 120 +4 1 1 16 34 120 +4 1 1 17 35 119 +4 1 1 18 34 119 +4 1 1 19 35 118 +4 1 1 20 34 118 +4 1 1 21 35 117 +4 1 1 22 -1 -1 +4 1 1 23 34 117 +4 1 1 24 35 116 +4 1 1 25 34 116 +4 1 1 26 35 115 +4 1 1 27 34 115 +4 1 1 28 35 114 +4 1 1 29 34 114 +4 1 1 30 35 113 +4 1 1 31 34 113 +4 1 1 32 35 112 +4 1 1 33 34 112 +4 1 1 34 35 111 +4 1 1 35 34 111 +4 1 1 36 35 110 +4 1 1 37 34 110 +4 1 1 38 35 109 +4 1 1 39 34 109 +4 1 1 40 35 108 +4 1 1 41 34 108 +4 1 1 42 35 107 +4 1 1 43 34 107 +4 1 1 44 35 106 +4 1 1 45 -1 -1 +4 1 1 46 34 106 +4 1 1 47 35 105 +4 1 1 48 34 105 +4 1 1 49 35 104 +4 1 1 50 34 104 +4 1 1 51 35 103 +4 1 1 52 34 103 +4 1 1 53 35 102 +4 1 1 54 34 102 +4 1 1 55 35 101 +4 1 1 56 -1 -1 +4 1 1 57 34 101 +4 1 1 58 35 100 +4 1 1 59 34 100 +4 1 1 60 35 99 +4 1 1 61 34 99 +4 1 1 62 35 98 +4 1 1 63 34 98 +4 1 1 64 35 97 +4 1 1 65 34 97 +4 1 1 66 35 96 +4 1 1 67 34 96 +4 1 2 0 33 95 +4 1 2 1 32 95 +4 1 2 2 33 94 +4 1 2 3 32 94 +4 1 2 4 33 93 +4 1 2 5 32 93 +4 1 2 6 33 92 +4 1 2 7 32 92 +4 1 2 8 33 91 +4 1 2 9 32 91 +4 1 2 10 33 90 +4 1 2 11 -1 -1 +4 1 2 12 32 90 +4 1 2 13 33 89 +4 1 2 14 32 89 +4 1 2 15 33 88 +4 1 2 16 32 88 +4 1 2 17 33 87 +4 1 2 18 32 87 +4 1 2 19 33 86 +4 1 2 20 32 86 +4 1 2 21 33 85 +4 1 2 22 -1 -1 +4 1 2 23 32 85 +4 1 2 24 33 84 +4 1 2 25 32 84 +4 1 2 26 33 83 +4 1 2 27 32 83 +4 1 2 28 33 82 +4 1 2 29 32 82 +4 1 2 30 33 81 +4 1 2 31 32 81 +4 1 2 32 33 80 +4 1 2 33 32 80 +4 1 2 34 33 79 +4 1 2 35 32 79 +4 1 2 36 33 78 +4 1 2 37 32 78 +4 1 2 38 33 77 +4 1 2 39 32 77 +4 1 2 40 33 76 +4 1 2 41 32 76 +4 1 2 42 33 75 +4 1 2 43 32 75 +4 1 2 44 33 74 +4 1 2 45 -1 -1 +4 1 2 46 32 74 +4 1 2 47 33 73 +4 1 2 48 32 73 +4 1 2 49 33 72 +4 1 2 50 32 72 +4 1 2 51 33 71 +4 1 2 52 32 71 +4 1 2 53 33 70 +4 1 2 54 32 70 +4 1 2 55 33 69 +4 1 2 56 -1 -1 +4 1 2 57 32 69 +4 1 2 58 33 68 +4 1 2 59 32 68 +4 1 2 60 33 67 +4 1 2 61 32 67 +4 1 2 62 33 66 +4 1 2 63 32 66 +4 1 2 64 33 65 +4 1 2 65 32 65 +4 1 2 66 33 64 +4 1 2 67 32 64 +4 1 3 0 33 127 +4 1 3 1 32 127 +4 1 3 2 33 126 +4 1 3 3 32 126 +4 1 3 4 33 125 +4 1 3 5 32 125 +4 1 3 6 33 124 +4 1 3 7 32 124 +4 1 3 8 33 123 +4 1 3 9 32 123 +4 1 3 10 33 122 +4 1 3 11 -1 -1 +4 1 3 12 32 122 +4 1 3 13 33 121 +4 1 3 14 32 121 +4 1 3 15 33 120 +4 1 3 16 32 120 +4 1 3 17 33 119 +4 1 3 18 32 119 +4 1 3 19 33 118 +4 1 3 20 32 118 +4 1 3 21 33 117 +4 1 3 22 -1 -1 +4 1 3 23 32 117 +4 1 3 24 33 116 +4 1 3 25 32 116 +4 1 3 26 33 115 +4 1 3 27 32 115 +4 1 3 28 33 114 +4 1 3 29 32 114 +4 1 3 30 33 113 +4 1 3 31 32 113 +4 1 3 32 33 112 +4 1 3 33 32 112 +4 1 3 34 33 111 +4 1 3 35 32 111 +4 1 3 36 33 110 +4 1 3 37 32 110 +4 1 3 38 33 109 +4 1 3 39 32 109 +4 1 3 40 33 108 +4 1 3 41 32 108 +4 1 3 42 33 107 +4 1 3 43 32 107 +4 1 3 44 33 106 +4 1 3 45 -1 -1 +4 1 3 46 32 106 +4 1 3 47 33 105 +4 1 3 48 32 105 +4 1 3 49 33 104 +4 1 3 50 32 104 +4 1 3 51 33 103 +4 1 3 52 32 103 +4 1 3 53 33 102 +4 1 3 54 32 102 +4 1 3 55 33 101 +4 1 3 56 -1 -1 +4 1 3 57 32 101 +4 1 3 58 33 100 +4 1 3 59 32 100 +4 1 3 60 33 99 +4 1 3 61 32 99 +4 1 3 62 33 98 +4 1 3 63 32 98 +4 1 3 64 33 97 +4 1 3 65 32 97 +4 1 3 66 33 96 +4 1 3 67 32 96 +4 2 0 0 36 32 +4 2 0 1 37 32 +4 2 0 2 36 33 +4 2 0 3 37 33 +4 2 0 4 36 34 +4 2 0 5 37 34 +4 2 0 6 36 35 +4 2 0 7 37 35 +4 2 0 8 36 36 +4 2 0 9 37 36 +4 2 0 10 36 37 +4 2 0 11 -1 -1 +4 2 0 12 37 37 +4 2 0 13 36 38 +4 2 0 14 37 38 +4 2 0 15 36 39 +4 2 0 16 37 39 +4 2 0 17 36 40 +4 2 0 18 37 40 +4 2 0 19 36 41 +4 2 0 20 37 41 +4 2 0 21 36 42 +4 2 0 22 -1 -1 +4 2 0 23 37 42 +4 2 0 24 36 43 +4 2 0 25 37 43 +4 2 0 26 36 44 +4 2 0 27 37 44 +4 2 0 28 36 45 +4 2 0 29 37 45 +4 2 0 30 36 46 +4 2 0 31 37 46 +4 2 0 32 36 47 +4 2 0 33 37 47 +4 2 0 34 36 48 +4 2 0 35 37 48 +4 2 0 36 36 49 +4 2 0 37 37 49 +4 2 0 38 36 50 +4 2 0 39 37 50 +4 2 0 40 36 51 +4 2 0 41 37 51 +4 2 0 42 36 52 +4 2 0 43 37 52 +4 2 0 44 36 53 +4 2 0 45 -1 -1 +4 2 0 46 37 53 +4 2 0 47 36 54 +4 2 0 48 37 54 +4 2 0 49 36 55 +4 2 0 50 37 55 +4 2 0 51 36 56 +4 2 0 52 37 56 +4 2 0 53 36 57 +4 2 0 54 37 57 +4 2 0 55 36 58 +4 2 0 56 -1 -1 +4 2 0 57 37 58 +4 2 0 58 36 59 +4 2 0 59 37 59 +4 2 0 60 36 60 +4 2 0 61 37 60 +4 2 0 62 36 61 +4 2 0 63 37 61 +4 2 0 64 36 62 +4 2 0 65 37 62 +4 2 0 66 36 63 +4 2 0 67 37 63 +4 2 1 0 36 0 +4 2 1 1 37 0 +4 2 1 2 36 1 +4 2 1 3 37 1 +4 2 1 4 36 2 +4 2 1 5 37 2 +4 2 1 6 36 3 +4 2 1 7 37 3 +4 2 1 8 36 4 +4 2 1 9 37 4 +4 2 1 10 36 5 +4 2 1 11 -1 -1 +4 2 1 12 37 5 +4 2 1 13 36 6 +4 2 1 14 37 6 +4 2 1 15 36 7 +4 2 1 16 37 7 +4 2 1 17 36 8 +4 2 1 18 37 8 +4 2 1 19 36 9 +4 2 1 20 37 9 +4 2 1 21 36 10 +4 2 1 22 -1 -1 +4 2 1 23 37 10 +4 2 1 24 36 11 +4 2 1 25 37 11 +4 2 1 26 36 12 +4 2 1 27 37 12 +4 2 1 28 36 13 +4 2 1 29 37 13 +4 2 1 30 36 14 +4 2 1 31 37 14 +4 2 1 32 36 15 +4 2 1 33 37 15 +4 2 1 34 36 16 +4 2 1 35 37 16 +4 2 1 36 36 17 +4 2 1 37 37 17 +4 2 1 38 36 18 +4 2 1 39 37 18 +4 2 1 40 36 19 +4 2 1 41 37 19 +4 2 1 42 36 20 +4 2 1 43 37 20 +4 2 1 44 36 21 +4 2 1 45 -1 -1 +4 2 1 46 37 21 +4 2 1 47 36 22 +4 2 1 48 37 22 +4 2 1 49 36 23 +4 2 1 50 37 23 +4 2 1 51 36 24 +4 2 1 52 37 24 +4 2 1 53 36 25 +4 2 1 54 37 25 +4 2 1 55 36 26 +4 2 1 56 -1 -1 +4 2 1 57 37 26 +4 2 1 58 36 27 +4 2 1 59 37 27 +4 2 1 60 36 28 +4 2 1 61 37 28 +4 2 1 62 36 29 +4 2 1 63 37 29 +4 2 1 64 36 30 +4 2 1 65 37 30 +4 2 1 66 36 31 +4 2 1 67 37 31 +4 2 2 0 38 32 +4 2 2 1 39 32 +4 2 2 2 38 33 +4 2 2 3 39 33 +4 2 2 4 38 34 +4 2 2 5 39 34 +4 2 2 6 38 35 +4 2 2 7 39 35 +4 2 2 8 38 36 +4 2 2 9 39 36 +4 2 2 10 38 37 +4 2 2 11 -1 -1 +4 2 2 12 39 37 +4 2 2 13 38 38 +4 2 2 14 39 38 +4 2 2 15 38 39 +4 2 2 16 39 39 +4 2 2 17 38 40 +4 2 2 18 39 40 +4 2 2 19 38 41 +4 2 2 20 39 41 +4 2 2 21 38 42 +4 2 2 22 -1 -1 +4 2 2 23 39 42 +4 2 2 24 38 43 +4 2 2 25 39 43 +4 2 2 26 38 44 +4 2 2 27 39 44 +4 2 2 28 38 45 +4 2 2 29 39 45 +4 2 2 30 38 46 +4 2 2 31 39 46 +4 2 2 32 38 47 +4 2 2 33 39 47 +4 2 2 34 38 48 +4 2 2 35 39 48 +4 2 2 36 38 49 +4 2 2 37 39 49 +4 2 2 38 38 50 +4 2 2 39 39 50 +4 2 2 40 38 51 +4 2 2 41 39 51 +4 2 2 42 38 52 +4 2 2 43 39 52 +4 2 2 44 38 53 +4 2 2 45 -1 -1 +4 2 2 46 39 53 +4 2 2 47 38 54 +4 2 2 48 39 54 +4 2 2 49 38 55 +4 2 2 50 39 55 +4 2 2 51 38 56 +4 2 2 52 39 56 +4 2 2 53 38 57 +4 2 2 54 39 57 +4 2 2 55 38 58 +4 2 2 56 -1 -1 +4 2 2 57 39 58 +4 2 2 58 38 59 +4 2 2 59 39 59 +4 2 2 60 38 60 +4 2 2 61 39 60 +4 2 2 62 38 61 +4 2 2 63 39 61 +4 2 2 64 38 62 +4 2 2 65 39 62 +4 2 2 66 38 63 +4 2 2 67 39 63 +4 2 3 0 38 0 +4 2 3 1 39 0 +4 2 3 2 38 1 +4 2 3 3 39 1 +4 2 3 4 38 2 +4 2 3 5 39 2 +4 2 3 6 38 3 +4 2 3 7 39 3 +4 2 3 8 38 4 +4 2 3 9 39 4 +4 2 3 10 38 5 +4 2 3 11 -1 -1 +4 2 3 12 39 5 +4 2 3 13 38 6 +4 2 3 14 39 6 +4 2 3 15 38 7 +4 2 3 16 39 7 +4 2 3 17 38 8 +4 2 3 18 39 8 +4 2 3 19 38 9 +4 2 3 20 39 9 +4 2 3 21 38 10 +4 2 3 22 -1 -1 +4 2 3 23 39 10 +4 2 3 24 38 11 +4 2 3 25 39 11 +4 2 3 26 38 12 +4 2 3 27 39 12 +4 2 3 28 38 13 +4 2 3 29 39 13 +4 2 3 30 38 14 +4 2 3 31 39 14 +4 2 3 32 38 15 +4 2 3 33 39 15 +4 2 3 34 38 16 +4 2 3 35 39 16 +4 2 3 36 38 17 +4 2 3 37 39 17 +4 2 3 38 38 18 +4 2 3 39 39 18 +4 2 3 40 38 19 +4 2 3 41 39 19 +4 2 3 42 38 20 +4 2 3 43 39 20 +4 2 3 44 38 21 +4 2 3 45 -1 -1 +4 2 3 46 39 21 +4 2 3 47 38 22 +4 2 3 48 39 22 +4 2 3 49 38 23 +4 2 3 50 39 23 +4 2 3 51 38 24 +4 2 3 52 39 24 +4 2 3 53 38 25 +4 2 3 54 39 25 +4 2 3 55 38 26 +4 2 3 56 -1 -1 +4 2 3 57 39 26 +4 2 3 58 38 27 +4 2 3 59 39 27 +4 2 3 60 38 28 +4 2 3 61 39 28 +4 2 3 62 38 29 +4 2 3 63 39 29 +4 2 3 64 38 30 +4 2 3 65 39 30 +4 2 3 66 38 31 +4 2 3 67 39 31 +4 3 0 0 39 95 +4 3 0 1 38 95 +4 3 0 2 39 94 +4 3 0 3 38 94 +4 3 0 4 39 93 +4 3 0 5 38 93 +4 3 0 6 39 92 +4 3 0 7 38 92 +4 3 0 8 39 91 +4 3 0 9 38 91 +4 3 0 10 39 90 +4 3 0 11 -1 -1 +4 3 0 12 38 90 +4 3 0 13 39 89 +4 3 0 14 38 89 +4 3 0 15 39 88 +4 3 0 16 38 88 +4 3 0 17 39 87 +4 3 0 18 38 87 +4 3 0 19 39 86 +4 3 0 20 38 86 +4 3 0 21 39 85 +4 3 0 22 -1 -1 +4 3 0 23 38 85 +4 3 0 24 39 84 +4 3 0 25 38 84 +4 3 0 26 39 83 +4 3 0 27 38 83 +4 3 0 28 39 82 +4 3 0 29 38 82 +4 3 0 30 39 81 +4 3 0 31 38 81 +4 3 0 32 39 80 +4 3 0 33 38 80 +4 3 0 34 39 79 +4 3 0 35 38 79 +4 3 0 36 39 78 +4 3 0 37 38 78 +4 3 0 38 39 77 +4 3 0 39 38 77 +4 3 0 40 39 76 +4 3 0 41 38 76 +4 3 0 42 39 75 +4 3 0 43 38 75 +4 3 0 44 39 74 +4 3 0 45 -1 -1 +4 3 0 46 38 74 +4 3 0 47 39 73 +4 3 0 48 38 73 +4 3 0 49 39 72 +4 3 0 50 38 72 +4 3 0 51 39 71 +4 3 0 52 38 71 +4 3 0 53 39 70 +4 3 0 54 38 70 +4 3 0 55 39 69 +4 3 0 56 -1 -1 +4 3 0 57 38 69 +4 3 0 58 39 68 +4 3 0 59 38 68 +4 3 0 60 39 67 +4 3 0 61 38 67 +4 3 0 62 39 66 +4 3 0 63 38 66 +4 3 0 64 39 65 +4 3 0 65 38 65 +4 3 0 66 39 64 +4 3 0 67 38 64 +4 3 1 0 39 127 +4 3 1 1 38 127 +4 3 1 2 39 126 +4 3 1 3 38 126 +4 3 1 4 39 125 +4 3 1 5 38 125 +4 3 1 6 39 124 +4 3 1 7 38 124 +4 3 1 8 39 123 +4 3 1 9 38 123 +4 3 1 10 39 122 +4 3 1 11 -1 -1 +4 3 1 12 38 122 +4 3 1 13 39 121 +4 3 1 14 38 121 +4 3 1 15 39 120 +4 3 1 16 38 120 +4 3 1 17 39 119 +4 3 1 18 38 119 +4 3 1 19 39 118 +4 3 1 20 38 118 +4 3 1 21 39 117 +4 3 1 22 -1 -1 +4 3 1 23 38 117 +4 3 1 24 39 116 +4 3 1 25 38 116 +4 3 1 26 39 115 +4 3 1 27 38 115 +4 3 1 28 39 114 +4 3 1 29 38 114 +4 3 1 30 39 113 +4 3 1 31 38 113 +4 3 1 32 39 112 +4 3 1 33 38 112 +4 3 1 34 39 111 +4 3 1 35 38 111 +4 3 1 36 39 110 +4 3 1 37 38 110 +4 3 1 38 39 109 +4 3 1 39 38 109 +4 3 1 40 39 108 +4 3 1 41 38 108 +4 3 1 42 39 107 +4 3 1 43 38 107 +4 3 1 44 39 106 +4 3 1 45 -1 -1 +4 3 1 46 38 106 +4 3 1 47 39 105 +4 3 1 48 38 105 +4 3 1 49 39 104 +4 3 1 50 38 104 +4 3 1 51 39 103 +4 3 1 52 38 103 +4 3 1 53 39 102 +4 3 1 54 38 102 +4 3 1 55 39 101 +4 3 1 56 -1 -1 +4 3 1 57 38 101 +4 3 1 58 39 100 +4 3 1 59 38 100 +4 3 1 60 39 99 +4 3 1 61 38 99 +4 3 1 62 39 98 +4 3 1 63 38 98 +4 3 1 64 39 97 +4 3 1 65 38 97 +4 3 1 66 39 96 +4 3 1 67 38 96 +4 3 2 0 37 95 +4 3 2 1 36 95 +4 3 2 2 37 94 +4 3 2 3 36 94 +4 3 2 4 37 93 +4 3 2 5 36 93 +4 3 2 6 37 92 +4 3 2 7 36 92 +4 3 2 8 37 91 +4 3 2 9 36 91 +4 3 2 10 37 90 +4 3 2 11 -1 -1 +4 3 2 12 36 90 +4 3 2 13 37 89 +4 3 2 14 36 89 +4 3 2 15 37 88 +4 3 2 16 36 88 +4 3 2 17 37 87 +4 3 2 18 36 87 +4 3 2 19 37 86 +4 3 2 20 36 86 +4 3 2 21 37 85 +4 3 2 22 -1 -1 +4 3 2 23 36 85 +4 3 2 24 37 84 +4 3 2 25 36 84 +4 3 2 26 37 83 +4 3 2 27 36 83 +4 3 2 28 37 82 +4 3 2 29 36 82 +4 3 2 30 37 81 +4 3 2 31 36 81 +4 3 2 32 37 80 +4 3 2 33 36 80 +4 3 2 34 37 79 +4 3 2 35 36 79 +4 3 2 36 37 78 +4 3 2 37 36 78 +4 3 2 38 37 77 +4 3 2 39 36 77 +4 3 2 40 37 76 +4 3 2 41 36 76 +4 3 2 42 37 75 +4 3 2 43 36 75 +4 3 2 44 37 74 +4 3 2 45 -1 -1 +4 3 2 46 36 74 +4 3 2 47 37 73 +4 3 2 48 36 73 +4 3 2 49 37 72 +4 3 2 50 36 72 +4 3 2 51 37 71 +4 3 2 52 36 71 +4 3 2 53 37 70 +4 3 2 54 36 70 +4 3 2 55 37 69 +4 3 2 56 -1 -1 +4 3 2 57 36 69 +4 3 2 58 37 68 +4 3 2 59 36 68 +4 3 2 60 37 67 +4 3 2 61 36 67 +4 3 2 62 37 66 +4 3 2 63 36 66 +4 3 2 64 37 65 +4 3 2 65 36 65 +4 3 2 66 37 64 +4 3 2 67 36 64 +4 3 3 0 37 127 +4 3 3 1 36 127 +4 3 3 2 37 126 +4 3 3 3 36 126 +4 3 3 4 37 125 +4 3 3 5 36 125 +4 3 3 6 37 124 +4 3 3 7 36 124 +4 3 3 8 37 123 +4 3 3 9 36 123 +4 3 3 10 37 122 +4 3 3 11 -1 -1 +4 3 3 12 36 122 +4 3 3 13 37 121 +4 3 3 14 36 121 +4 3 3 15 37 120 +4 3 3 16 36 120 +4 3 3 17 37 119 +4 3 3 18 36 119 +4 3 3 19 37 118 +4 3 3 20 36 118 +4 3 3 21 37 117 +4 3 3 22 -1 -1 +4 3 3 23 36 117 +4 3 3 24 37 116 +4 3 3 25 36 116 +4 3 3 26 37 115 +4 3 3 27 36 115 +4 3 3 28 37 114 +4 3 3 29 36 114 +4 3 3 30 37 113 +4 3 3 31 36 113 +4 3 3 32 37 112 +4 3 3 33 36 112 +4 3 3 34 37 111 +4 3 3 35 36 111 +4 3 3 36 37 110 +4 3 3 37 36 110 +4 3 3 38 37 109 +4 3 3 39 36 109 +4 3 3 40 37 108 +4 3 3 41 36 108 +4 3 3 42 37 107 +4 3 3 43 36 107 +4 3 3 44 37 106 +4 3 3 45 -1 -1 +4 3 3 46 36 106 +4 3 3 47 37 105 +4 3 3 48 36 105 +4 3 3 49 37 104 +4 3 3 50 36 104 +4 3 3 51 37 103 +4 3 3 52 36 103 +4 3 3 53 37 102 +4 3 3 54 36 102 +4 3 3 55 37 101 +4 3 3 56 -1 -1 +4 3 3 57 36 101 +4 3 3 58 37 100 +4 3 3 59 36 100 +4 3 3 60 37 99 +4 3 3 61 36 99 +4 3 3 62 37 98 +4 3 3 63 36 98 +4 3 3 64 37 97 +4 3 3 65 36 97 +4 3 3 66 37 96 +4 3 3 67 36 96 +5 0 0 0 40 32 +5 0 0 1 41 32 +5 0 0 2 40 33 +5 0 0 3 41 33 +5 0 0 4 40 34 +5 0 0 5 41 34 +5 0 0 6 40 35 +5 0 0 7 41 35 +5 0 0 8 40 36 +5 0 0 9 41 36 +5 0 0 10 40 37 +5 0 0 11 -1 -1 +5 0 0 12 41 37 +5 0 0 13 40 38 +5 0 0 14 41 38 +5 0 0 15 40 39 +5 0 0 16 41 39 +5 0 0 17 40 40 +5 0 0 18 41 40 +5 0 0 19 40 41 +5 0 0 20 41 41 +5 0 0 21 40 42 +5 0 0 22 -1 -1 +5 0 0 23 41 42 +5 0 0 24 40 43 +5 0 0 25 41 43 +5 0 0 26 40 44 +5 0 0 27 41 44 +5 0 0 28 40 45 +5 0 0 29 41 45 +5 0 0 30 40 46 +5 0 0 31 41 46 +5 0 0 32 40 47 +5 0 0 33 41 47 +5 0 0 34 40 48 +5 0 0 35 41 48 +5 0 0 36 40 49 +5 0 0 37 41 49 +5 0 0 38 40 50 +5 0 0 39 41 50 +5 0 0 40 40 51 +5 0 0 41 41 51 +5 0 0 42 40 52 +5 0 0 43 41 52 +5 0 0 44 40 53 +5 0 0 45 -1 -1 +5 0 0 46 41 53 +5 0 0 47 40 54 +5 0 0 48 41 54 +5 0 0 49 40 55 +5 0 0 50 41 55 +5 0 0 51 40 56 +5 0 0 52 41 56 +5 0 0 53 40 57 +5 0 0 54 41 57 +5 0 0 55 40 58 +5 0 0 56 -1 -1 +5 0 0 57 41 58 +5 0 0 58 40 59 +5 0 0 59 41 59 +5 0 0 60 40 60 +5 0 0 61 41 60 +5 0 0 62 40 61 +5 0 0 63 41 61 +5 0 0 64 40 62 +5 0 0 65 41 62 +5 0 0 66 40 63 +5 0 0 67 41 63 +5 0 1 0 40 0 +5 0 1 1 41 0 +5 0 1 2 40 1 +5 0 1 3 41 1 +5 0 1 4 40 2 +5 0 1 5 41 2 +5 0 1 6 40 3 +5 0 1 7 41 3 +5 0 1 8 40 4 +5 0 1 9 41 4 +5 0 1 10 40 5 +5 0 1 11 -1 -1 +5 0 1 12 41 5 +5 0 1 13 40 6 +5 0 1 14 41 6 +5 0 1 15 40 7 +5 0 1 16 41 7 +5 0 1 17 40 8 +5 0 1 18 41 8 +5 0 1 19 40 9 +5 0 1 20 41 9 +5 0 1 21 40 10 +5 0 1 22 -1 -1 +5 0 1 23 41 10 +5 0 1 24 40 11 +5 0 1 25 41 11 +5 0 1 26 40 12 +5 0 1 27 41 12 +5 0 1 28 40 13 +5 0 1 29 41 13 +5 0 1 30 40 14 +5 0 1 31 41 14 +5 0 1 32 40 15 +5 0 1 33 41 15 +5 0 1 34 40 16 +5 0 1 35 41 16 +5 0 1 36 40 17 +5 0 1 37 41 17 +5 0 1 38 40 18 +5 0 1 39 41 18 +5 0 1 40 40 19 +5 0 1 41 41 19 +5 0 1 42 40 20 +5 0 1 43 41 20 +5 0 1 44 40 21 +5 0 1 45 -1 -1 +5 0 1 46 41 21 +5 0 1 47 40 22 +5 0 1 48 41 22 +5 0 1 49 40 23 +5 0 1 50 41 23 +5 0 1 51 40 24 +5 0 1 52 41 24 +5 0 1 53 40 25 +5 0 1 54 41 25 +5 0 1 55 40 26 +5 0 1 56 -1 -1 +5 0 1 57 41 26 +5 0 1 58 40 27 +5 0 1 59 41 27 +5 0 1 60 40 28 +5 0 1 61 41 28 +5 0 1 62 40 29 +5 0 1 63 41 29 +5 0 1 64 40 30 +5 0 1 65 41 30 +5 0 1 66 40 31 +5 0 1 67 41 31 +5 0 2 0 42 32 +5 0 2 1 43 32 +5 0 2 2 42 33 +5 0 2 3 43 33 +5 0 2 4 42 34 +5 0 2 5 43 34 +5 0 2 6 42 35 +5 0 2 7 43 35 +5 0 2 8 42 36 +5 0 2 9 43 36 +5 0 2 10 42 37 +5 0 2 11 -1 -1 +5 0 2 12 43 37 +5 0 2 13 42 38 +5 0 2 14 43 38 +5 0 2 15 42 39 +5 0 2 16 43 39 +5 0 2 17 42 40 +5 0 2 18 43 40 +5 0 2 19 42 41 +5 0 2 20 43 41 +5 0 2 21 42 42 +5 0 2 22 -1 -1 +5 0 2 23 43 42 +5 0 2 24 42 43 +5 0 2 25 43 43 +5 0 2 26 42 44 +5 0 2 27 43 44 +5 0 2 28 42 45 +5 0 2 29 43 45 +5 0 2 30 42 46 +5 0 2 31 43 46 +5 0 2 32 42 47 +5 0 2 33 43 47 +5 0 2 34 42 48 +5 0 2 35 43 48 +5 0 2 36 42 49 +5 0 2 37 43 49 +5 0 2 38 42 50 +5 0 2 39 43 50 +5 0 2 40 42 51 +5 0 2 41 43 51 +5 0 2 42 42 52 +5 0 2 43 43 52 +5 0 2 44 42 53 +5 0 2 45 -1 -1 +5 0 2 46 43 53 +5 0 2 47 42 54 +5 0 2 48 43 54 +5 0 2 49 42 55 +5 0 2 50 43 55 +5 0 2 51 42 56 +5 0 2 52 43 56 +5 0 2 53 42 57 +5 0 2 54 43 57 +5 0 2 55 42 58 +5 0 2 56 -1 -1 +5 0 2 57 43 58 +5 0 2 58 42 59 +5 0 2 59 43 59 +5 0 2 60 42 60 +5 0 2 61 43 60 +5 0 2 62 42 61 +5 0 2 63 43 61 +5 0 2 64 42 62 +5 0 2 65 43 62 +5 0 2 66 42 63 +5 0 2 67 43 63 +5 0 3 0 42 0 +5 0 3 1 43 0 +5 0 3 2 42 1 +5 0 3 3 43 1 +5 0 3 4 42 2 +5 0 3 5 43 2 +5 0 3 6 42 3 +5 0 3 7 43 3 +5 0 3 8 42 4 +5 0 3 9 43 4 +5 0 3 10 42 5 +5 0 3 11 -1 -1 +5 0 3 12 43 5 +5 0 3 13 42 6 +5 0 3 14 43 6 +5 0 3 15 42 7 +5 0 3 16 43 7 +5 0 3 17 42 8 +5 0 3 18 43 8 +5 0 3 19 42 9 +5 0 3 20 43 9 +5 0 3 21 42 10 +5 0 3 22 -1 -1 +5 0 3 23 43 10 +5 0 3 24 42 11 +5 0 3 25 43 11 +5 0 3 26 42 12 +5 0 3 27 43 12 +5 0 3 28 42 13 +5 0 3 29 43 13 +5 0 3 30 42 14 +5 0 3 31 43 14 +5 0 3 32 42 15 +5 0 3 33 43 15 +5 0 3 34 42 16 +5 0 3 35 43 16 +5 0 3 36 42 17 +5 0 3 37 43 17 +5 0 3 38 42 18 +5 0 3 39 43 18 +5 0 3 40 42 19 +5 0 3 41 43 19 +5 0 3 42 42 20 +5 0 3 43 43 20 +5 0 3 44 42 21 +5 0 3 45 -1 -1 +5 0 3 46 43 21 +5 0 3 47 42 22 +5 0 3 48 43 22 +5 0 3 49 42 23 +5 0 3 50 43 23 +5 0 3 51 42 24 +5 0 3 52 43 24 +5 0 3 53 42 25 +5 0 3 54 43 25 +5 0 3 55 42 26 +5 0 3 56 -1 -1 +5 0 3 57 43 26 +5 0 3 58 42 27 +5 0 3 59 43 27 +5 0 3 60 42 28 +5 0 3 61 43 28 +5 0 3 62 42 29 +5 0 3 63 43 29 +5 0 3 64 42 30 +5 0 3 65 43 30 +5 0 3 66 42 31 +5 0 3 67 43 31 +5 1 0 0 43 95 +5 1 0 1 42 95 +5 1 0 2 43 94 +5 1 0 3 42 94 +5 1 0 4 43 93 +5 1 0 5 42 93 +5 1 0 6 43 92 +5 1 0 7 42 92 +5 1 0 8 43 91 +5 1 0 9 42 91 +5 1 0 10 43 90 +5 1 0 11 -1 -1 +5 1 0 12 42 90 +5 1 0 13 43 89 +5 1 0 14 42 89 +5 1 0 15 43 88 +5 1 0 16 42 88 +5 1 0 17 43 87 +5 1 0 18 42 87 +5 1 0 19 43 86 +5 1 0 20 42 86 +5 1 0 21 43 85 +5 1 0 22 -1 -1 +5 1 0 23 42 85 +5 1 0 24 43 84 +5 1 0 25 42 84 +5 1 0 26 43 83 +5 1 0 27 42 83 +5 1 0 28 43 82 +5 1 0 29 42 82 +5 1 0 30 43 81 +5 1 0 31 42 81 +5 1 0 32 43 80 +5 1 0 33 42 80 +5 1 0 34 43 79 +5 1 0 35 42 79 +5 1 0 36 43 78 +5 1 0 37 42 78 +5 1 0 38 43 77 +5 1 0 39 42 77 +5 1 0 40 43 76 +5 1 0 41 42 76 +5 1 0 42 43 75 +5 1 0 43 42 75 +5 1 0 44 43 74 +5 1 0 45 -1 -1 +5 1 0 46 42 74 +5 1 0 47 43 73 +5 1 0 48 42 73 +5 1 0 49 43 72 +5 1 0 50 42 72 +5 1 0 51 43 71 +5 1 0 52 42 71 +5 1 0 53 43 70 +5 1 0 54 42 70 +5 1 0 55 43 69 +5 1 0 56 -1 -1 +5 1 0 57 42 69 +5 1 0 58 43 68 +5 1 0 59 42 68 +5 1 0 60 43 67 +5 1 0 61 42 67 +5 1 0 62 43 66 +5 1 0 63 42 66 +5 1 0 64 43 65 +5 1 0 65 42 65 +5 1 0 66 43 64 +5 1 0 67 42 64 +5 1 1 0 43 127 +5 1 1 1 42 127 +5 1 1 2 43 126 +5 1 1 3 42 126 +5 1 1 4 43 125 +5 1 1 5 42 125 +5 1 1 6 43 124 +5 1 1 7 42 124 +5 1 1 8 43 123 +5 1 1 9 42 123 +5 1 1 10 43 122 +5 1 1 11 -1 -1 +5 1 1 12 42 122 +5 1 1 13 43 121 +5 1 1 14 42 121 +5 1 1 15 43 120 +5 1 1 16 42 120 +5 1 1 17 43 119 +5 1 1 18 42 119 +5 1 1 19 43 118 +5 1 1 20 42 118 +5 1 1 21 43 117 +5 1 1 22 -1 -1 +5 1 1 23 42 117 +5 1 1 24 43 116 +5 1 1 25 42 116 +5 1 1 26 43 115 +5 1 1 27 42 115 +5 1 1 28 43 114 +5 1 1 29 42 114 +5 1 1 30 43 113 +5 1 1 31 42 113 +5 1 1 32 43 112 +5 1 1 33 42 112 +5 1 1 34 43 111 +5 1 1 35 42 111 +5 1 1 36 43 110 +5 1 1 37 42 110 +5 1 1 38 43 109 +5 1 1 39 42 109 +5 1 1 40 43 108 +5 1 1 41 42 108 +5 1 1 42 43 107 +5 1 1 43 42 107 +5 1 1 44 43 106 +5 1 1 45 -1 -1 +5 1 1 46 42 106 +5 1 1 47 43 105 +5 1 1 48 42 105 +5 1 1 49 43 104 +5 1 1 50 42 104 +5 1 1 51 43 103 +5 1 1 52 42 103 +5 1 1 53 43 102 +5 1 1 54 42 102 +5 1 1 55 43 101 +5 1 1 56 -1 -1 +5 1 1 57 42 101 +5 1 1 58 43 100 +5 1 1 59 42 100 +5 1 1 60 43 99 +5 1 1 61 42 99 +5 1 1 62 43 98 +5 1 1 63 42 98 +5 1 1 64 43 97 +5 1 1 65 42 97 +5 1 1 66 43 96 +5 1 1 67 42 96 +5 1 2 0 41 95 +5 1 2 1 40 95 +5 1 2 2 41 94 +5 1 2 3 40 94 +5 1 2 4 41 93 +5 1 2 5 40 93 +5 1 2 6 41 92 +5 1 2 7 40 92 +5 1 2 8 41 91 +5 1 2 9 40 91 +5 1 2 10 41 90 +5 1 2 11 -1 -1 +5 1 2 12 40 90 +5 1 2 13 41 89 +5 1 2 14 40 89 +5 1 2 15 41 88 +5 1 2 16 40 88 +5 1 2 17 41 87 +5 1 2 18 40 87 +5 1 2 19 41 86 +5 1 2 20 40 86 +5 1 2 21 41 85 +5 1 2 22 -1 -1 +5 1 2 23 40 85 +5 1 2 24 41 84 +5 1 2 25 40 84 +5 1 2 26 41 83 +5 1 2 27 40 83 +5 1 2 28 41 82 +5 1 2 29 40 82 +5 1 2 30 41 81 +5 1 2 31 40 81 +5 1 2 32 41 80 +5 1 2 33 40 80 +5 1 2 34 41 79 +5 1 2 35 40 79 +5 1 2 36 41 78 +5 1 2 37 40 78 +5 1 2 38 41 77 +5 1 2 39 40 77 +5 1 2 40 41 76 +5 1 2 41 40 76 +5 1 2 42 41 75 +5 1 2 43 40 75 +5 1 2 44 41 74 +5 1 2 45 -1 -1 +5 1 2 46 40 74 +5 1 2 47 41 73 +5 1 2 48 40 73 +5 1 2 49 41 72 +5 1 2 50 40 72 +5 1 2 51 41 71 +5 1 2 52 40 71 +5 1 2 53 41 70 +5 1 2 54 40 70 +5 1 2 55 41 69 +5 1 2 56 -1 -1 +5 1 2 57 40 69 +5 1 2 58 41 68 +5 1 2 59 40 68 +5 1 2 60 41 67 +5 1 2 61 40 67 +5 1 2 62 41 66 +5 1 2 63 40 66 +5 1 2 64 41 65 +5 1 2 65 40 65 +5 1 2 66 41 64 +5 1 2 67 40 64 +5 1 3 0 41 127 +5 1 3 1 40 127 +5 1 3 2 41 126 +5 1 3 3 40 126 +5 1 3 4 41 125 +5 1 3 5 40 125 +5 1 3 6 41 124 +5 1 3 7 40 124 +5 1 3 8 41 123 +5 1 3 9 40 123 +5 1 3 10 41 122 +5 1 3 11 -1 -1 +5 1 3 12 40 122 +5 1 3 13 41 121 +5 1 3 14 40 121 +5 1 3 15 41 120 +5 1 3 16 40 120 +5 1 3 17 41 119 +5 1 3 18 40 119 +5 1 3 19 41 118 +5 1 3 20 40 118 +5 1 3 21 41 117 +5 1 3 22 -1 -1 +5 1 3 23 40 117 +5 1 3 24 41 116 +5 1 3 25 40 116 +5 1 3 26 41 115 +5 1 3 27 40 115 +5 1 3 28 41 114 +5 1 3 29 40 114 +5 1 3 30 41 113 +5 1 3 31 40 113 +5 1 3 32 41 112 +5 1 3 33 40 112 +5 1 3 34 41 111 +5 1 3 35 40 111 +5 1 3 36 41 110 +5 1 3 37 40 110 +5 1 3 38 41 109 +5 1 3 39 40 109 +5 1 3 40 41 108 +5 1 3 41 40 108 +5 1 3 42 41 107 +5 1 3 43 40 107 +5 1 3 44 41 106 +5 1 3 45 -1 -1 +5 1 3 46 40 106 +5 1 3 47 41 105 +5 1 3 48 40 105 +5 1 3 49 41 104 +5 1 3 50 40 104 +5 1 3 51 41 103 +5 1 3 52 40 103 +5 1 3 53 41 102 +5 1 3 54 40 102 +5 1 3 55 41 101 +5 1 3 56 -1 -1 +5 1 3 57 40 101 +5 1 3 58 41 100 +5 1 3 59 40 100 +5 1 3 60 41 99 +5 1 3 61 40 99 +5 1 3 62 41 98 +5 1 3 63 40 98 +5 1 3 64 41 97 +5 1 3 65 40 97 +5 1 3 66 41 96 +5 1 3 67 40 96 +5 2 0 0 44 32 +5 2 0 1 45 32 +5 2 0 2 44 33 +5 2 0 3 45 33 +5 2 0 4 44 34 +5 2 0 5 45 34 +5 2 0 6 44 35 +5 2 0 7 45 35 +5 2 0 8 44 36 +5 2 0 9 45 36 +5 2 0 10 44 37 +5 2 0 11 -1 -1 +5 2 0 12 45 37 +5 2 0 13 44 38 +5 2 0 14 45 38 +5 2 0 15 44 39 +5 2 0 16 45 39 +5 2 0 17 44 40 +5 2 0 18 45 40 +5 2 0 19 44 41 +5 2 0 20 45 41 +5 2 0 21 44 42 +5 2 0 22 -1 -1 +5 2 0 23 45 42 +5 2 0 24 44 43 +5 2 0 25 45 43 +5 2 0 26 44 44 +5 2 0 27 45 44 +5 2 0 28 44 45 +5 2 0 29 45 45 +5 2 0 30 44 46 +5 2 0 31 45 46 +5 2 0 32 44 47 +5 2 0 33 45 47 +5 2 0 34 44 48 +5 2 0 35 45 48 +5 2 0 36 44 49 +5 2 0 37 45 49 +5 2 0 38 44 50 +5 2 0 39 45 50 +5 2 0 40 44 51 +5 2 0 41 45 51 +5 2 0 42 44 52 +5 2 0 43 45 52 +5 2 0 44 44 53 +5 2 0 45 -1 -1 +5 2 0 46 45 53 +5 2 0 47 44 54 +5 2 0 48 45 54 +5 2 0 49 44 55 +5 2 0 50 45 55 +5 2 0 51 44 56 +5 2 0 52 45 56 +5 2 0 53 44 57 +5 2 0 54 45 57 +5 2 0 55 44 58 +5 2 0 56 -1 -1 +5 2 0 57 45 58 +5 2 0 58 44 59 +5 2 0 59 45 59 +5 2 0 60 44 60 +5 2 0 61 45 60 +5 2 0 62 44 61 +5 2 0 63 45 61 +5 2 0 64 44 62 +5 2 0 65 45 62 +5 2 0 66 44 63 +5 2 0 67 45 63 +5 2 1 0 44 0 +5 2 1 1 45 0 +5 2 1 2 44 1 +5 2 1 3 45 1 +5 2 1 4 44 2 +5 2 1 5 45 2 +5 2 1 6 44 3 +5 2 1 7 45 3 +5 2 1 8 44 4 +5 2 1 9 45 4 +5 2 1 10 44 5 +5 2 1 11 -1 -1 +5 2 1 12 45 5 +5 2 1 13 44 6 +5 2 1 14 45 6 +5 2 1 15 44 7 +5 2 1 16 45 7 +5 2 1 17 44 8 +5 2 1 18 45 8 +5 2 1 19 44 9 +5 2 1 20 45 9 +5 2 1 21 44 10 +5 2 1 22 -1 -1 +5 2 1 23 45 10 +5 2 1 24 44 11 +5 2 1 25 45 11 +5 2 1 26 44 12 +5 2 1 27 45 12 +5 2 1 28 44 13 +5 2 1 29 45 13 +5 2 1 30 44 14 +5 2 1 31 45 14 +5 2 1 32 44 15 +5 2 1 33 45 15 +5 2 1 34 44 16 +5 2 1 35 45 16 +5 2 1 36 44 17 +5 2 1 37 45 17 +5 2 1 38 44 18 +5 2 1 39 45 18 +5 2 1 40 44 19 +5 2 1 41 45 19 +5 2 1 42 44 20 +5 2 1 43 45 20 +5 2 1 44 44 21 +5 2 1 45 -1 -1 +5 2 1 46 45 21 +5 2 1 47 44 22 +5 2 1 48 45 22 +5 2 1 49 44 23 +5 2 1 50 45 23 +5 2 1 51 44 24 +5 2 1 52 45 24 +5 2 1 53 44 25 +5 2 1 54 45 25 +5 2 1 55 44 26 +5 2 1 56 -1 -1 +5 2 1 57 45 26 +5 2 1 58 44 27 +5 2 1 59 45 27 +5 2 1 60 44 28 +5 2 1 61 45 28 +5 2 1 62 44 29 +5 2 1 63 45 29 +5 2 1 64 44 30 +5 2 1 65 45 30 +5 2 1 66 44 31 +5 2 1 67 45 31 +5 2 2 0 46 32 +5 2 2 1 47 32 +5 2 2 2 46 33 +5 2 2 3 47 33 +5 2 2 4 46 34 +5 2 2 5 47 34 +5 2 2 6 46 35 +5 2 2 7 47 35 +5 2 2 8 46 36 +5 2 2 9 47 36 +5 2 2 10 46 37 +5 2 2 11 -1 -1 +5 2 2 12 47 37 +5 2 2 13 46 38 +5 2 2 14 47 38 +5 2 2 15 46 39 +5 2 2 16 47 39 +5 2 2 17 46 40 +5 2 2 18 47 40 +5 2 2 19 46 41 +5 2 2 20 47 41 +5 2 2 21 46 42 +5 2 2 22 -1 -1 +5 2 2 23 47 42 +5 2 2 24 46 43 +5 2 2 25 47 43 +5 2 2 26 46 44 +5 2 2 27 47 44 +5 2 2 28 46 45 +5 2 2 29 47 45 +5 2 2 30 46 46 +5 2 2 31 47 46 +5 2 2 32 46 47 +5 2 2 33 47 47 +5 2 2 34 46 48 +5 2 2 35 47 48 +5 2 2 36 46 49 +5 2 2 37 47 49 +5 2 2 38 46 50 +5 2 2 39 47 50 +5 2 2 40 46 51 +5 2 2 41 47 51 +5 2 2 42 46 52 +5 2 2 43 47 52 +5 2 2 44 46 53 +5 2 2 45 -1 -1 +5 2 2 46 47 53 +5 2 2 47 46 54 +5 2 2 48 47 54 +5 2 2 49 46 55 +5 2 2 50 47 55 +5 2 2 51 46 56 +5 2 2 52 47 56 +5 2 2 53 46 57 +5 2 2 54 47 57 +5 2 2 55 46 58 +5 2 2 56 -1 -1 +5 2 2 57 47 58 +5 2 2 58 46 59 +5 2 2 59 47 59 +5 2 2 60 46 60 +5 2 2 61 47 60 +5 2 2 62 46 61 +5 2 2 63 47 61 +5 2 2 64 46 62 +5 2 2 65 47 62 +5 2 2 66 46 63 +5 2 2 67 47 63 +5 2 3 0 46 0 +5 2 3 1 47 0 +5 2 3 2 46 1 +5 2 3 3 47 1 +5 2 3 4 46 2 +5 2 3 5 47 2 +5 2 3 6 46 3 +5 2 3 7 47 3 +5 2 3 8 46 4 +5 2 3 9 47 4 +5 2 3 10 46 5 +5 2 3 11 -1 -1 +5 2 3 12 47 5 +5 2 3 13 46 6 +5 2 3 14 47 6 +5 2 3 15 46 7 +5 2 3 16 47 7 +5 2 3 17 46 8 +5 2 3 18 47 8 +5 2 3 19 46 9 +5 2 3 20 47 9 +5 2 3 21 46 10 +5 2 3 22 -1 -1 +5 2 3 23 47 10 +5 2 3 24 46 11 +5 2 3 25 47 11 +5 2 3 26 46 12 +5 2 3 27 47 12 +5 2 3 28 46 13 +5 2 3 29 47 13 +5 2 3 30 46 14 +5 2 3 31 47 14 +5 2 3 32 46 15 +5 2 3 33 47 15 +5 2 3 34 46 16 +5 2 3 35 47 16 +5 2 3 36 46 17 +5 2 3 37 47 17 +5 2 3 38 46 18 +5 2 3 39 47 18 +5 2 3 40 46 19 +5 2 3 41 47 19 +5 2 3 42 46 20 +5 2 3 43 47 20 +5 2 3 44 46 21 +5 2 3 45 -1 -1 +5 2 3 46 47 21 +5 2 3 47 46 22 +5 2 3 48 47 22 +5 2 3 49 46 23 +5 2 3 50 47 23 +5 2 3 51 46 24 +5 2 3 52 47 24 +5 2 3 53 46 25 +5 2 3 54 47 25 +5 2 3 55 46 26 +5 2 3 56 -1 -1 +5 2 3 57 47 26 +5 2 3 58 46 27 +5 2 3 59 47 27 +5 2 3 60 46 28 +5 2 3 61 47 28 +5 2 3 62 46 29 +5 2 3 63 47 29 +5 2 3 64 46 30 +5 2 3 65 47 30 +5 2 3 66 46 31 +5 2 3 67 47 31 +5 3 0 0 47 95 +5 3 0 1 46 95 +5 3 0 2 47 94 +5 3 0 3 46 94 +5 3 0 4 47 93 +5 3 0 5 46 93 +5 3 0 6 47 92 +5 3 0 7 46 92 +5 3 0 8 47 91 +5 3 0 9 46 91 +5 3 0 10 47 90 +5 3 0 11 -1 -1 +5 3 0 12 46 90 +5 3 0 13 47 89 +5 3 0 14 46 89 +5 3 0 15 47 88 +5 3 0 16 46 88 +5 3 0 17 47 87 +5 3 0 18 46 87 +5 3 0 19 47 86 +5 3 0 20 46 86 +5 3 0 21 47 85 +5 3 0 22 -1 -1 +5 3 0 23 46 85 +5 3 0 24 47 84 +5 3 0 25 46 84 +5 3 0 26 47 83 +5 3 0 27 46 83 +5 3 0 28 47 82 +5 3 0 29 46 82 +5 3 0 30 47 81 +5 3 0 31 46 81 +5 3 0 32 47 80 +5 3 0 33 46 80 +5 3 0 34 47 79 +5 3 0 35 46 79 +5 3 0 36 47 78 +5 3 0 37 46 78 +5 3 0 38 47 77 +5 3 0 39 46 77 +5 3 0 40 47 76 +5 3 0 41 46 76 +5 3 0 42 47 75 +5 3 0 43 46 75 +5 3 0 44 47 74 +5 3 0 45 -1 -1 +5 3 0 46 46 74 +5 3 0 47 47 73 +5 3 0 48 46 73 +5 3 0 49 47 72 +5 3 0 50 46 72 +5 3 0 51 47 71 +5 3 0 52 46 71 +5 3 0 53 47 70 +5 3 0 54 46 70 +5 3 0 55 47 69 +5 3 0 56 -1 -1 +5 3 0 57 46 69 +5 3 0 58 47 68 +5 3 0 59 46 68 +5 3 0 60 47 67 +5 3 0 61 46 67 +5 3 0 62 47 66 +5 3 0 63 46 66 +5 3 0 64 47 65 +5 3 0 65 46 65 +5 3 0 66 47 64 +5 3 0 67 46 64 +5 3 1 0 47 127 +5 3 1 1 46 127 +5 3 1 2 47 126 +5 3 1 3 46 126 +5 3 1 4 47 125 +5 3 1 5 46 125 +5 3 1 6 47 124 +5 3 1 7 46 124 +5 3 1 8 47 123 +5 3 1 9 46 123 +5 3 1 10 47 122 +5 3 1 11 -1 -1 +5 3 1 12 46 122 +5 3 1 13 47 121 +5 3 1 14 46 121 +5 3 1 15 47 120 +5 3 1 16 46 120 +5 3 1 17 47 119 +5 3 1 18 46 119 +5 3 1 19 47 118 +5 3 1 20 46 118 +5 3 1 21 47 117 +5 3 1 22 -1 -1 +5 3 1 23 46 117 +5 3 1 24 47 116 +5 3 1 25 46 116 +5 3 1 26 47 115 +5 3 1 27 46 115 +5 3 1 28 47 114 +5 3 1 29 46 114 +5 3 1 30 47 113 +5 3 1 31 46 113 +5 3 1 32 47 112 +5 3 1 33 46 112 +5 3 1 34 47 111 +5 3 1 35 46 111 +5 3 1 36 47 110 +5 3 1 37 46 110 +5 3 1 38 47 109 +5 3 1 39 46 109 +5 3 1 40 47 108 +5 3 1 41 46 108 +5 3 1 42 47 107 +5 3 1 43 46 107 +5 3 1 44 47 106 +5 3 1 45 -1 -1 +5 3 1 46 46 106 +5 3 1 47 47 105 +5 3 1 48 46 105 +5 3 1 49 47 104 +5 3 1 50 46 104 +5 3 1 51 47 103 +5 3 1 52 46 103 +5 3 1 53 47 102 +5 3 1 54 46 102 +5 3 1 55 47 101 +5 3 1 56 -1 -1 +5 3 1 57 46 101 +5 3 1 58 47 100 +5 3 1 59 46 100 +5 3 1 60 47 99 +5 3 1 61 46 99 +5 3 1 62 47 98 +5 3 1 63 46 98 +5 3 1 64 47 97 +5 3 1 65 46 97 +5 3 1 66 47 96 +5 3 1 67 46 96 +5 3 2 0 45 95 +5 3 2 1 44 95 +5 3 2 2 45 94 +5 3 2 3 44 94 +5 3 2 4 45 93 +5 3 2 5 44 93 +5 3 2 6 45 92 +5 3 2 7 44 92 +5 3 2 8 45 91 +5 3 2 9 44 91 +5 3 2 10 45 90 +5 3 2 11 -1 -1 +5 3 2 12 44 90 +5 3 2 13 45 89 +5 3 2 14 44 89 +5 3 2 15 45 88 +5 3 2 16 44 88 +5 3 2 17 45 87 +5 3 2 18 44 87 +5 3 2 19 45 86 +5 3 2 20 44 86 +5 3 2 21 45 85 +5 3 2 22 -1 -1 +5 3 2 23 44 85 +5 3 2 24 45 84 +5 3 2 25 44 84 +5 3 2 26 45 83 +5 3 2 27 44 83 +5 3 2 28 45 82 +5 3 2 29 44 82 +5 3 2 30 45 81 +5 3 2 31 44 81 +5 3 2 32 45 80 +5 3 2 33 44 80 +5 3 2 34 45 79 +5 3 2 35 44 79 +5 3 2 36 45 78 +5 3 2 37 44 78 +5 3 2 38 45 77 +5 3 2 39 44 77 +5 3 2 40 45 76 +5 3 2 41 44 76 +5 3 2 42 45 75 +5 3 2 43 44 75 +5 3 2 44 45 74 +5 3 2 45 -1 -1 +5 3 2 46 44 74 +5 3 2 47 45 73 +5 3 2 48 44 73 +5 3 2 49 45 72 +5 3 2 50 44 72 +5 3 2 51 45 71 +5 3 2 52 44 71 +5 3 2 53 45 70 +5 3 2 54 44 70 +5 3 2 55 45 69 +5 3 2 56 -1 -1 +5 3 2 57 44 69 +5 3 2 58 45 68 +5 3 2 59 44 68 +5 3 2 60 45 67 +5 3 2 61 44 67 +5 3 2 62 45 66 +5 3 2 63 44 66 +5 3 2 64 45 65 +5 3 2 65 44 65 +5 3 2 66 45 64 +5 3 2 67 44 64 +5 3 3 0 45 127 +5 3 3 1 44 127 +5 3 3 2 45 126 +5 3 3 3 44 126 +5 3 3 4 45 125 +5 3 3 5 44 125 +5 3 3 6 45 124 +5 3 3 7 44 124 +5 3 3 8 45 123 +5 3 3 9 44 123 +5 3 3 10 45 122 +5 3 3 11 -1 -1 +5 3 3 12 44 122 +5 3 3 13 45 121 +5 3 3 14 44 121 +5 3 3 15 45 120 +5 3 3 16 44 120 +5 3 3 17 45 119 +5 3 3 18 44 119 +5 3 3 19 45 118 +5 3 3 20 44 118 +5 3 3 21 45 117 +5 3 3 22 -1 -1 +5 3 3 23 44 117 +5 3 3 24 45 116 +5 3 3 25 44 116 +5 3 3 26 45 115 +5 3 3 27 44 115 +5 3 3 28 45 114 +5 3 3 29 44 114 +5 3 3 30 45 113 +5 3 3 31 44 113 +5 3 3 32 45 112 +5 3 3 33 44 112 +5 3 3 34 45 111 +5 3 3 35 44 111 +5 3 3 36 45 110 +5 3 3 37 44 110 +5 3 3 38 45 109 +5 3 3 39 44 109 +5 3 3 40 45 108 +5 3 3 41 44 108 +5 3 3 42 45 107 +5 3 3 43 44 107 +5 3 3 44 45 106 +5 3 3 45 -1 -1 +5 3 3 46 44 106 +5 3 3 47 45 105 +5 3 3 48 44 105 +5 3 3 49 45 104 +5 3 3 50 44 104 +5 3 3 51 45 103 +5 3 3 52 44 103 +5 3 3 53 45 102 +5 3 3 54 44 102 +5 3 3 55 45 101 +5 3 3 56 -1 -1 +5 3 3 57 44 101 +5 3 3 58 45 100 +5 3 3 59 44 100 +5 3 3 60 45 99 +5 3 3 61 44 99 +5 3 3 62 45 98 +5 3 3 63 44 98 +5 3 3 64 45 97 +5 3 3 65 44 97 +5 3 3 66 45 96 +5 3 3 67 44 96 +6 0 0 0 48 32 +6 0 0 1 49 32 +6 0 0 2 48 33 +6 0 0 3 49 33 +6 0 0 4 48 34 +6 0 0 5 49 34 +6 0 0 6 48 35 +6 0 0 7 49 35 +6 0 0 8 48 36 +6 0 0 9 49 36 +6 0 0 10 48 37 +6 0 0 11 -1 -1 +6 0 0 12 49 37 +6 0 0 13 48 38 +6 0 0 14 49 38 +6 0 0 15 48 39 +6 0 0 16 49 39 +6 0 0 17 48 40 +6 0 0 18 49 40 +6 0 0 19 48 41 +6 0 0 20 49 41 +6 0 0 21 48 42 +6 0 0 22 -1 -1 +6 0 0 23 49 42 +6 0 0 24 48 43 +6 0 0 25 49 43 +6 0 0 26 48 44 +6 0 0 27 49 44 +6 0 0 28 48 45 +6 0 0 29 49 45 +6 0 0 30 48 46 +6 0 0 31 49 46 +6 0 0 32 48 47 +6 0 0 33 49 47 +6 0 0 34 48 48 +6 0 0 35 49 48 +6 0 0 36 48 49 +6 0 0 37 49 49 +6 0 0 38 48 50 +6 0 0 39 49 50 +6 0 0 40 48 51 +6 0 0 41 49 51 +6 0 0 42 48 52 +6 0 0 43 49 52 +6 0 0 44 48 53 +6 0 0 45 -1 -1 +6 0 0 46 49 53 +6 0 0 47 48 54 +6 0 0 48 49 54 +6 0 0 49 48 55 +6 0 0 50 49 55 +6 0 0 51 48 56 +6 0 0 52 49 56 +6 0 0 53 48 57 +6 0 0 54 49 57 +6 0 0 55 48 58 +6 0 0 56 -1 -1 +6 0 0 57 49 58 +6 0 0 58 48 59 +6 0 0 59 49 59 +6 0 0 60 48 60 +6 0 0 61 49 60 +6 0 0 62 48 61 +6 0 0 63 49 61 +6 0 0 64 48 62 +6 0 0 65 49 62 +6 0 0 66 48 63 +6 0 0 67 49 63 +6 0 1 0 48 0 +6 0 1 1 49 0 +6 0 1 2 48 1 +6 0 1 3 49 1 +6 0 1 4 48 2 +6 0 1 5 49 2 +6 0 1 6 48 3 +6 0 1 7 49 3 +6 0 1 8 48 4 +6 0 1 9 49 4 +6 0 1 10 48 5 +6 0 1 11 -1 -1 +6 0 1 12 49 5 +6 0 1 13 48 6 +6 0 1 14 49 6 +6 0 1 15 48 7 +6 0 1 16 49 7 +6 0 1 17 48 8 +6 0 1 18 49 8 +6 0 1 19 48 9 +6 0 1 20 49 9 +6 0 1 21 48 10 +6 0 1 22 -1 -1 +6 0 1 23 49 10 +6 0 1 24 48 11 +6 0 1 25 49 11 +6 0 1 26 48 12 +6 0 1 27 49 12 +6 0 1 28 48 13 +6 0 1 29 49 13 +6 0 1 30 48 14 +6 0 1 31 49 14 +6 0 1 32 48 15 +6 0 1 33 49 15 +6 0 1 34 48 16 +6 0 1 35 49 16 +6 0 1 36 48 17 +6 0 1 37 49 17 +6 0 1 38 48 18 +6 0 1 39 49 18 +6 0 1 40 48 19 +6 0 1 41 49 19 +6 0 1 42 48 20 +6 0 1 43 49 20 +6 0 1 44 48 21 +6 0 1 45 -1 -1 +6 0 1 46 49 21 +6 0 1 47 48 22 +6 0 1 48 49 22 +6 0 1 49 48 23 +6 0 1 50 49 23 +6 0 1 51 48 24 +6 0 1 52 49 24 +6 0 1 53 48 25 +6 0 1 54 49 25 +6 0 1 55 48 26 +6 0 1 56 -1 -1 +6 0 1 57 49 26 +6 0 1 58 48 27 +6 0 1 59 49 27 +6 0 1 60 48 28 +6 0 1 61 49 28 +6 0 1 62 48 29 +6 0 1 63 49 29 +6 0 1 64 48 30 +6 0 1 65 49 30 +6 0 1 66 48 31 +6 0 1 67 49 31 +6 0 2 0 50 32 +6 0 2 1 51 32 +6 0 2 2 50 33 +6 0 2 3 51 33 +6 0 2 4 50 34 +6 0 2 5 51 34 +6 0 2 6 50 35 +6 0 2 7 51 35 +6 0 2 8 50 36 +6 0 2 9 51 36 +6 0 2 10 50 37 +6 0 2 11 -1 -1 +6 0 2 12 51 37 +6 0 2 13 50 38 +6 0 2 14 51 38 +6 0 2 15 50 39 +6 0 2 16 51 39 +6 0 2 17 50 40 +6 0 2 18 51 40 +6 0 2 19 50 41 +6 0 2 20 51 41 +6 0 2 21 50 42 +6 0 2 22 -1 -1 +6 0 2 23 51 42 +6 0 2 24 50 43 +6 0 2 25 51 43 +6 0 2 26 50 44 +6 0 2 27 51 44 +6 0 2 28 50 45 +6 0 2 29 51 45 +6 0 2 30 50 46 +6 0 2 31 51 46 +6 0 2 32 50 47 +6 0 2 33 51 47 +6 0 2 34 50 48 +6 0 2 35 51 48 +6 0 2 36 50 49 +6 0 2 37 51 49 +6 0 2 38 50 50 +6 0 2 39 51 50 +6 0 2 40 50 51 +6 0 2 41 51 51 +6 0 2 42 50 52 +6 0 2 43 51 52 +6 0 2 44 50 53 +6 0 2 45 -1 -1 +6 0 2 46 51 53 +6 0 2 47 50 54 +6 0 2 48 51 54 +6 0 2 49 50 55 +6 0 2 50 51 55 +6 0 2 51 50 56 +6 0 2 52 51 56 +6 0 2 53 50 57 +6 0 2 54 51 57 +6 0 2 55 50 58 +6 0 2 56 -1 -1 +6 0 2 57 51 58 +6 0 2 58 50 59 +6 0 2 59 51 59 +6 0 2 60 50 60 +6 0 2 61 51 60 +6 0 2 62 50 61 +6 0 2 63 51 61 +6 0 2 64 50 62 +6 0 2 65 51 62 +6 0 2 66 50 63 +6 0 2 67 51 63 +6 0 3 0 50 0 +6 0 3 1 51 0 +6 0 3 2 50 1 +6 0 3 3 51 1 +6 0 3 4 50 2 +6 0 3 5 51 2 +6 0 3 6 50 3 +6 0 3 7 51 3 +6 0 3 8 50 4 +6 0 3 9 51 4 +6 0 3 10 50 5 +6 0 3 11 -1 -1 +6 0 3 12 51 5 +6 0 3 13 50 6 +6 0 3 14 51 6 +6 0 3 15 50 7 +6 0 3 16 51 7 +6 0 3 17 50 8 +6 0 3 18 51 8 +6 0 3 19 50 9 +6 0 3 20 51 9 +6 0 3 21 50 10 +6 0 3 22 -1 -1 +6 0 3 23 51 10 +6 0 3 24 50 11 +6 0 3 25 51 11 +6 0 3 26 50 12 +6 0 3 27 51 12 +6 0 3 28 50 13 +6 0 3 29 51 13 +6 0 3 30 50 14 +6 0 3 31 51 14 +6 0 3 32 50 15 +6 0 3 33 51 15 +6 0 3 34 50 16 +6 0 3 35 51 16 +6 0 3 36 50 17 +6 0 3 37 51 17 +6 0 3 38 50 18 +6 0 3 39 51 18 +6 0 3 40 50 19 +6 0 3 41 51 19 +6 0 3 42 50 20 +6 0 3 43 51 20 +6 0 3 44 50 21 +6 0 3 45 -1 -1 +6 0 3 46 51 21 +6 0 3 47 50 22 +6 0 3 48 51 22 +6 0 3 49 50 23 +6 0 3 50 51 23 +6 0 3 51 50 24 +6 0 3 52 51 24 +6 0 3 53 50 25 +6 0 3 54 51 25 +6 0 3 55 50 26 +6 0 3 56 -1 -1 +6 0 3 57 51 26 +6 0 3 58 50 27 +6 0 3 59 51 27 +6 0 3 60 50 28 +6 0 3 61 51 28 +6 0 3 62 50 29 +6 0 3 63 51 29 +6 0 3 64 50 30 +6 0 3 65 51 30 +6 0 3 66 50 31 +6 0 3 67 51 31 +6 1 0 0 51 95 +6 1 0 1 50 95 +6 1 0 2 51 94 +6 1 0 3 50 94 +6 1 0 4 51 93 +6 1 0 5 50 93 +6 1 0 6 51 92 +6 1 0 7 50 92 +6 1 0 8 51 91 +6 1 0 9 50 91 +6 1 0 10 51 90 +6 1 0 11 -1 -1 +6 1 0 12 50 90 +6 1 0 13 51 89 +6 1 0 14 50 89 +6 1 0 15 51 88 +6 1 0 16 50 88 +6 1 0 17 51 87 +6 1 0 18 50 87 +6 1 0 19 51 86 +6 1 0 20 50 86 +6 1 0 21 51 85 +6 1 0 22 -1 -1 +6 1 0 23 50 85 +6 1 0 24 51 84 +6 1 0 25 50 84 +6 1 0 26 51 83 +6 1 0 27 50 83 +6 1 0 28 51 82 +6 1 0 29 50 82 +6 1 0 30 51 81 +6 1 0 31 50 81 +6 1 0 32 51 80 +6 1 0 33 50 80 +6 1 0 34 51 79 +6 1 0 35 50 79 +6 1 0 36 51 78 +6 1 0 37 50 78 +6 1 0 38 51 77 +6 1 0 39 50 77 +6 1 0 40 51 76 +6 1 0 41 50 76 +6 1 0 42 51 75 +6 1 0 43 50 75 +6 1 0 44 51 74 +6 1 0 45 -1 -1 +6 1 0 46 50 74 +6 1 0 47 51 73 +6 1 0 48 50 73 +6 1 0 49 51 72 +6 1 0 50 50 72 +6 1 0 51 51 71 +6 1 0 52 50 71 +6 1 0 53 51 70 +6 1 0 54 50 70 +6 1 0 55 51 69 +6 1 0 56 -1 -1 +6 1 0 57 50 69 +6 1 0 58 51 68 +6 1 0 59 50 68 +6 1 0 60 51 67 +6 1 0 61 50 67 +6 1 0 62 51 66 +6 1 0 63 50 66 +6 1 0 64 51 65 +6 1 0 65 50 65 +6 1 0 66 51 64 +6 1 0 67 50 64 +6 1 1 0 51 127 +6 1 1 1 50 127 +6 1 1 2 51 126 +6 1 1 3 50 126 +6 1 1 4 51 125 +6 1 1 5 50 125 +6 1 1 6 51 124 +6 1 1 7 50 124 +6 1 1 8 51 123 +6 1 1 9 50 123 +6 1 1 10 51 122 +6 1 1 11 -1 -1 +6 1 1 12 50 122 +6 1 1 13 51 121 +6 1 1 14 50 121 +6 1 1 15 51 120 +6 1 1 16 50 120 +6 1 1 17 51 119 +6 1 1 18 50 119 +6 1 1 19 51 118 +6 1 1 20 50 118 +6 1 1 21 51 117 +6 1 1 22 -1 -1 +6 1 1 23 50 117 +6 1 1 24 51 116 +6 1 1 25 50 116 +6 1 1 26 51 115 +6 1 1 27 50 115 +6 1 1 28 51 114 +6 1 1 29 50 114 +6 1 1 30 51 113 +6 1 1 31 50 113 +6 1 1 32 51 112 +6 1 1 33 50 112 +6 1 1 34 51 111 +6 1 1 35 50 111 +6 1 1 36 51 110 +6 1 1 37 50 110 +6 1 1 38 51 109 +6 1 1 39 50 109 +6 1 1 40 51 108 +6 1 1 41 50 108 +6 1 1 42 51 107 +6 1 1 43 50 107 +6 1 1 44 51 106 +6 1 1 45 -1 -1 +6 1 1 46 50 106 +6 1 1 47 51 105 +6 1 1 48 50 105 +6 1 1 49 51 104 +6 1 1 50 50 104 +6 1 1 51 51 103 +6 1 1 52 50 103 +6 1 1 53 51 102 +6 1 1 54 50 102 +6 1 1 55 51 101 +6 1 1 56 -1 -1 +6 1 1 57 50 101 +6 1 1 58 51 100 +6 1 1 59 50 100 +6 1 1 60 51 99 +6 1 1 61 50 99 +6 1 1 62 51 98 +6 1 1 63 50 98 +6 1 1 64 51 97 +6 1 1 65 50 97 +6 1 1 66 51 96 +6 1 1 67 50 96 +6 1 2 0 49 95 +6 1 2 1 48 95 +6 1 2 2 49 94 +6 1 2 3 48 94 +6 1 2 4 49 93 +6 1 2 5 48 93 +6 1 2 6 49 92 +6 1 2 7 48 92 +6 1 2 8 49 91 +6 1 2 9 48 91 +6 1 2 10 49 90 +6 1 2 11 -1 -1 +6 1 2 12 48 90 +6 1 2 13 49 89 +6 1 2 14 48 89 +6 1 2 15 49 88 +6 1 2 16 48 88 +6 1 2 17 49 87 +6 1 2 18 48 87 +6 1 2 19 49 86 +6 1 2 20 48 86 +6 1 2 21 49 85 +6 1 2 22 -1 -1 +6 1 2 23 48 85 +6 1 2 24 49 84 +6 1 2 25 48 84 +6 1 2 26 49 83 +6 1 2 27 48 83 +6 1 2 28 49 82 +6 1 2 29 48 82 +6 1 2 30 49 81 +6 1 2 31 48 81 +6 1 2 32 49 80 +6 1 2 33 48 80 +6 1 2 34 49 79 +6 1 2 35 48 79 +6 1 2 36 49 78 +6 1 2 37 48 78 +6 1 2 38 49 77 +6 1 2 39 48 77 +6 1 2 40 49 76 +6 1 2 41 48 76 +6 1 2 42 49 75 +6 1 2 43 48 75 +6 1 2 44 49 74 +6 1 2 45 -1 -1 +6 1 2 46 48 74 +6 1 2 47 49 73 +6 1 2 48 48 73 +6 1 2 49 49 72 +6 1 2 50 48 72 +6 1 2 51 49 71 +6 1 2 52 48 71 +6 1 2 53 49 70 +6 1 2 54 48 70 +6 1 2 55 49 69 +6 1 2 56 -1 -1 +6 1 2 57 48 69 +6 1 2 58 49 68 +6 1 2 59 48 68 +6 1 2 60 49 67 +6 1 2 61 48 67 +6 1 2 62 49 66 +6 1 2 63 48 66 +6 1 2 64 49 65 +6 1 2 65 48 65 +6 1 2 66 49 64 +6 1 2 67 48 64 +6 1 3 0 49 127 +6 1 3 1 48 127 +6 1 3 2 49 126 +6 1 3 3 48 126 +6 1 3 4 49 125 +6 1 3 5 48 125 +6 1 3 6 49 124 +6 1 3 7 48 124 +6 1 3 8 49 123 +6 1 3 9 48 123 +6 1 3 10 49 122 +6 1 3 11 -1 -1 +6 1 3 12 48 122 +6 1 3 13 49 121 +6 1 3 14 48 121 +6 1 3 15 49 120 +6 1 3 16 48 120 +6 1 3 17 49 119 +6 1 3 18 48 119 +6 1 3 19 49 118 +6 1 3 20 48 118 +6 1 3 21 49 117 +6 1 3 22 -1 -1 +6 1 3 23 48 117 +6 1 3 24 49 116 +6 1 3 25 48 116 +6 1 3 26 49 115 +6 1 3 27 48 115 +6 1 3 28 49 114 +6 1 3 29 48 114 +6 1 3 30 49 113 +6 1 3 31 48 113 +6 1 3 32 49 112 +6 1 3 33 48 112 +6 1 3 34 49 111 +6 1 3 35 48 111 +6 1 3 36 49 110 +6 1 3 37 48 110 +6 1 3 38 49 109 +6 1 3 39 48 109 +6 1 3 40 49 108 +6 1 3 41 48 108 +6 1 3 42 49 107 +6 1 3 43 48 107 +6 1 3 44 49 106 +6 1 3 45 -1 -1 +6 1 3 46 48 106 +6 1 3 47 49 105 +6 1 3 48 48 105 +6 1 3 49 49 104 +6 1 3 50 48 104 +6 1 3 51 49 103 +6 1 3 52 48 103 +6 1 3 53 49 102 +6 1 3 54 48 102 +6 1 3 55 49 101 +6 1 3 56 -1 -1 +6 1 3 57 48 101 +6 1 3 58 49 100 +6 1 3 59 48 100 +6 1 3 60 49 99 +6 1 3 61 48 99 +6 1 3 62 49 98 +6 1 3 63 48 98 +6 1 3 64 49 97 +6 1 3 65 48 97 +6 1 3 66 49 96 +6 1 3 67 48 96 +6 2 0 0 52 32 +6 2 0 1 53 32 +6 2 0 2 52 33 +6 2 0 3 53 33 +6 2 0 4 52 34 +6 2 0 5 53 34 +6 2 0 6 52 35 +6 2 0 7 53 35 +6 2 0 8 52 36 +6 2 0 9 53 36 +6 2 0 10 52 37 +6 2 0 11 -1 -1 +6 2 0 12 53 37 +6 2 0 13 52 38 +6 2 0 14 53 38 +6 2 0 15 52 39 +6 2 0 16 53 39 +6 2 0 17 52 40 +6 2 0 18 53 40 +6 2 0 19 52 41 +6 2 0 20 53 41 +6 2 0 21 52 42 +6 2 0 22 -1 -1 +6 2 0 23 53 42 +6 2 0 24 52 43 +6 2 0 25 53 43 +6 2 0 26 52 44 +6 2 0 27 53 44 +6 2 0 28 52 45 +6 2 0 29 53 45 +6 2 0 30 52 46 +6 2 0 31 53 46 +6 2 0 32 52 47 +6 2 0 33 53 47 +6 2 0 34 52 48 +6 2 0 35 53 48 +6 2 0 36 52 49 +6 2 0 37 53 49 +6 2 0 38 52 50 +6 2 0 39 53 50 +6 2 0 40 52 51 +6 2 0 41 53 51 +6 2 0 42 52 52 +6 2 0 43 53 52 +6 2 0 44 52 53 +6 2 0 45 -1 -1 +6 2 0 46 53 53 +6 2 0 47 52 54 +6 2 0 48 53 54 +6 2 0 49 52 55 +6 2 0 50 53 55 +6 2 0 51 52 56 +6 2 0 52 53 56 +6 2 0 53 52 57 +6 2 0 54 53 57 +6 2 0 55 52 58 +6 2 0 56 -1 -1 +6 2 0 57 53 58 +6 2 0 58 52 59 +6 2 0 59 53 59 +6 2 0 60 52 60 +6 2 0 61 53 60 +6 2 0 62 52 61 +6 2 0 63 53 61 +6 2 0 64 52 62 +6 2 0 65 53 62 +6 2 0 66 52 63 +6 2 0 67 53 63 +6 2 1 0 52 0 +6 2 1 1 53 0 +6 2 1 2 52 1 +6 2 1 3 53 1 +6 2 1 4 52 2 +6 2 1 5 53 2 +6 2 1 6 52 3 +6 2 1 7 53 3 +6 2 1 8 52 4 +6 2 1 9 53 4 +6 2 1 10 52 5 +6 2 1 11 -1 -1 +6 2 1 12 53 5 +6 2 1 13 52 6 +6 2 1 14 53 6 +6 2 1 15 52 7 +6 2 1 16 53 7 +6 2 1 17 52 8 +6 2 1 18 53 8 +6 2 1 19 52 9 +6 2 1 20 53 9 +6 2 1 21 52 10 +6 2 1 22 -1 -1 +6 2 1 23 53 10 +6 2 1 24 52 11 +6 2 1 25 53 11 +6 2 1 26 52 12 +6 2 1 27 53 12 +6 2 1 28 52 13 +6 2 1 29 53 13 +6 2 1 30 52 14 +6 2 1 31 53 14 +6 2 1 32 52 15 +6 2 1 33 53 15 +6 2 1 34 52 16 +6 2 1 35 53 16 +6 2 1 36 52 17 +6 2 1 37 53 17 +6 2 1 38 52 18 +6 2 1 39 53 18 +6 2 1 40 52 19 +6 2 1 41 53 19 +6 2 1 42 52 20 +6 2 1 43 53 20 +6 2 1 44 52 21 +6 2 1 45 -1 -1 +6 2 1 46 53 21 +6 2 1 47 52 22 +6 2 1 48 53 22 +6 2 1 49 52 23 +6 2 1 50 53 23 +6 2 1 51 52 24 +6 2 1 52 53 24 +6 2 1 53 52 25 +6 2 1 54 53 25 +6 2 1 55 52 26 +6 2 1 56 -1 -1 +6 2 1 57 53 26 +6 2 1 58 52 27 +6 2 1 59 53 27 +6 2 1 60 52 28 +6 2 1 61 53 28 +6 2 1 62 52 29 +6 2 1 63 53 29 +6 2 1 64 52 30 +6 2 1 65 53 30 +6 2 1 66 52 31 +6 2 1 67 53 31 +6 2 2 0 54 32 +6 2 2 1 55 32 +6 2 2 2 54 33 +6 2 2 3 55 33 +6 2 2 4 54 34 +6 2 2 5 55 34 +6 2 2 6 54 35 +6 2 2 7 55 35 +6 2 2 8 54 36 +6 2 2 9 55 36 +6 2 2 10 54 37 +6 2 2 11 -1 -1 +6 2 2 12 55 37 +6 2 2 13 54 38 +6 2 2 14 55 38 +6 2 2 15 54 39 +6 2 2 16 55 39 +6 2 2 17 54 40 +6 2 2 18 55 40 +6 2 2 19 54 41 +6 2 2 20 55 41 +6 2 2 21 54 42 +6 2 2 22 -1 -1 +6 2 2 23 55 42 +6 2 2 24 54 43 +6 2 2 25 55 43 +6 2 2 26 54 44 +6 2 2 27 55 44 +6 2 2 28 54 45 +6 2 2 29 55 45 +6 2 2 30 54 46 +6 2 2 31 55 46 +6 2 2 32 54 47 +6 2 2 33 55 47 +6 2 2 34 54 48 +6 2 2 35 55 48 +6 2 2 36 54 49 +6 2 2 37 55 49 +6 2 2 38 54 50 +6 2 2 39 55 50 +6 2 2 40 54 51 +6 2 2 41 55 51 +6 2 2 42 54 52 +6 2 2 43 55 52 +6 2 2 44 54 53 +6 2 2 45 -1 -1 +6 2 2 46 55 53 +6 2 2 47 54 54 +6 2 2 48 55 54 +6 2 2 49 54 55 +6 2 2 50 55 55 +6 2 2 51 54 56 +6 2 2 52 55 56 +6 2 2 53 54 57 +6 2 2 54 55 57 +6 2 2 55 54 58 +6 2 2 56 -1 -1 +6 2 2 57 55 58 +6 2 2 58 54 59 +6 2 2 59 55 59 +6 2 2 60 54 60 +6 2 2 61 55 60 +6 2 2 62 54 61 +6 2 2 63 55 61 +6 2 2 64 54 62 +6 2 2 65 55 62 +6 2 2 66 54 63 +6 2 2 67 55 63 +6 2 3 0 54 0 +6 2 3 1 55 0 +6 2 3 2 54 1 +6 2 3 3 55 1 +6 2 3 4 54 2 +6 2 3 5 55 2 +6 2 3 6 54 3 +6 2 3 7 55 3 +6 2 3 8 54 4 +6 2 3 9 55 4 +6 2 3 10 54 5 +6 2 3 11 -1 -1 +6 2 3 12 55 5 +6 2 3 13 54 6 +6 2 3 14 55 6 +6 2 3 15 54 7 +6 2 3 16 55 7 +6 2 3 17 54 8 +6 2 3 18 55 8 +6 2 3 19 54 9 +6 2 3 20 55 9 +6 2 3 21 54 10 +6 2 3 22 -1 -1 +6 2 3 23 55 10 +6 2 3 24 54 11 +6 2 3 25 55 11 +6 2 3 26 54 12 +6 2 3 27 55 12 +6 2 3 28 54 13 +6 2 3 29 55 13 +6 2 3 30 54 14 +6 2 3 31 55 14 +6 2 3 32 54 15 +6 2 3 33 55 15 +6 2 3 34 54 16 +6 2 3 35 55 16 +6 2 3 36 54 17 +6 2 3 37 55 17 +6 2 3 38 54 18 +6 2 3 39 55 18 +6 2 3 40 54 19 +6 2 3 41 55 19 +6 2 3 42 54 20 +6 2 3 43 55 20 +6 2 3 44 54 21 +6 2 3 45 -1 -1 +6 2 3 46 55 21 +6 2 3 47 54 22 +6 2 3 48 55 22 +6 2 3 49 54 23 +6 2 3 50 55 23 +6 2 3 51 54 24 +6 2 3 52 55 24 +6 2 3 53 54 25 +6 2 3 54 55 25 +6 2 3 55 54 26 +6 2 3 56 -1 -1 +6 2 3 57 55 26 +6 2 3 58 54 27 +6 2 3 59 55 27 +6 2 3 60 54 28 +6 2 3 61 55 28 +6 2 3 62 54 29 +6 2 3 63 55 29 +6 2 3 64 54 30 +6 2 3 65 55 30 +6 2 3 66 54 31 +6 2 3 67 55 31 +6 3 0 0 55 95 +6 3 0 1 54 95 +6 3 0 2 55 94 +6 3 0 3 54 94 +6 3 0 4 55 93 +6 3 0 5 54 93 +6 3 0 6 55 92 +6 3 0 7 54 92 +6 3 0 8 55 91 +6 3 0 9 54 91 +6 3 0 10 55 90 +6 3 0 11 -1 -1 +6 3 0 12 54 90 +6 3 0 13 55 89 +6 3 0 14 54 89 +6 3 0 15 55 88 +6 3 0 16 54 88 +6 3 0 17 55 87 +6 3 0 18 54 87 +6 3 0 19 55 86 +6 3 0 20 54 86 +6 3 0 21 55 85 +6 3 0 22 -1 -1 +6 3 0 23 54 85 +6 3 0 24 55 84 +6 3 0 25 54 84 +6 3 0 26 55 83 +6 3 0 27 54 83 +6 3 0 28 55 82 +6 3 0 29 54 82 +6 3 0 30 55 81 +6 3 0 31 54 81 +6 3 0 32 55 80 +6 3 0 33 54 80 +6 3 0 34 55 79 +6 3 0 35 54 79 +6 3 0 36 55 78 +6 3 0 37 54 78 +6 3 0 38 55 77 +6 3 0 39 54 77 +6 3 0 40 55 76 +6 3 0 41 54 76 +6 3 0 42 55 75 +6 3 0 43 54 75 +6 3 0 44 55 74 +6 3 0 45 -1 -1 +6 3 0 46 54 74 +6 3 0 47 55 73 +6 3 0 48 54 73 +6 3 0 49 55 72 +6 3 0 50 54 72 +6 3 0 51 55 71 +6 3 0 52 54 71 +6 3 0 53 55 70 +6 3 0 54 54 70 +6 3 0 55 55 69 +6 3 0 56 -1 -1 +6 3 0 57 54 69 +6 3 0 58 55 68 +6 3 0 59 54 68 +6 3 0 60 55 67 +6 3 0 61 54 67 +6 3 0 62 55 66 +6 3 0 63 54 66 +6 3 0 64 55 65 +6 3 0 65 54 65 +6 3 0 66 55 64 +6 3 0 67 54 64 +6 3 1 0 55 127 +6 3 1 1 54 127 +6 3 1 2 55 126 +6 3 1 3 54 126 +6 3 1 4 55 125 +6 3 1 5 54 125 +6 3 1 6 55 124 +6 3 1 7 54 124 +6 3 1 8 55 123 +6 3 1 9 54 123 +6 3 1 10 55 122 +6 3 1 11 -1 -1 +6 3 1 12 54 122 +6 3 1 13 55 121 +6 3 1 14 54 121 +6 3 1 15 55 120 +6 3 1 16 54 120 +6 3 1 17 55 119 +6 3 1 18 54 119 +6 3 1 19 55 118 +6 3 1 20 54 118 +6 3 1 21 55 117 +6 3 1 22 -1 -1 +6 3 1 23 54 117 +6 3 1 24 55 116 +6 3 1 25 54 116 +6 3 1 26 55 115 +6 3 1 27 54 115 +6 3 1 28 55 114 +6 3 1 29 54 114 +6 3 1 30 55 113 +6 3 1 31 54 113 +6 3 1 32 55 112 +6 3 1 33 54 112 +6 3 1 34 55 111 +6 3 1 35 54 111 +6 3 1 36 55 110 +6 3 1 37 54 110 +6 3 1 38 55 109 +6 3 1 39 54 109 +6 3 1 40 55 108 +6 3 1 41 54 108 +6 3 1 42 55 107 +6 3 1 43 54 107 +6 3 1 44 55 106 +6 3 1 45 -1 -1 +6 3 1 46 54 106 +6 3 1 47 55 105 +6 3 1 48 54 105 +6 3 1 49 55 104 +6 3 1 50 54 104 +6 3 1 51 55 103 +6 3 1 52 54 103 +6 3 1 53 55 102 +6 3 1 54 54 102 +6 3 1 55 55 101 +6 3 1 56 -1 -1 +6 3 1 57 54 101 +6 3 1 58 55 100 +6 3 1 59 54 100 +6 3 1 60 55 99 +6 3 1 61 54 99 +6 3 1 62 55 98 +6 3 1 63 54 98 +6 3 1 64 55 97 +6 3 1 65 54 97 +6 3 1 66 55 96 +6 3 1 67 54 96 +6 3 2 0 53 95 +6 3 2 1 52 95 +6 3 2 2 53 94 +6 3 2 3 52 94 +6 3 2 4 53 93 +6 3 2 5 52 93 +6 3 2 6 53 92 +6 3 2 7 52 92 +6 3 2 8 53 91 +6 3 2 9 52 91 +6 3 2 10 53 90 +6 3 2 11 -1 -1 +6 3 2 12 52 90 +6 3 2 13 53 89 +6 3 2 14 52 89 +6 3 2 15 53 88 +6 3 2 16 52 88 +6 3 2 17 53 87 +6 3 2 18 52 87 +6 3 2 19 53 86 +6 3 2 20 52 86 +6 3 2 21 53 85 +6 3 2 22 -1 -1 +6 3 2 23 52 85 +6 3 2 24 53 84 +6 3 2 25 52 84 +6 3 2 26 53 83 +6 3 2 27 52 83 +6 3 2 28 53 82 +6 3 2 29 52 82 +6 3 2 30 53 81 +6 3 2 31 52 81 +6 3 2 32 53 80 +6 3 2 33 52 80 +6 3 2 34 53 79 +6 3 2 35 52 79 +6 3 2 36 53 78 +6 3 2 37 52 78 +6 3 2 38 53 77 +6 3 2 39 52 77 +6 3 2 40 53 76 +6 3 2 41 52 76 +6 3 2 42 53 75 +6 3 2 43 52 75 +6 3 2 44 53 74 +6 3 2 45 -1 -1 +6 3 2 46 52 74 +6 3 2 47 53 73 +6 3 2 48 52 73 +6 3 2 49 53 72 +6 3 2 50 52 72 +6 3 2 51 53 71 +6 3 2 52 52 71 +6 3 2 53 53 70 +6 3 2 54 52 70 +6 3 2 55 53 69 +6 3 2 56 -1 -1 +6 3 2 57 52 69 +6 3 2 58 53 68 +6 3 2 59 52 68 +6 3 2 60 53 67 +6 3 2 61 52 67 +6 3 2 62 53 66 +6 3 2 63 52 66 +6 3 2 64 53 65 +6 3 2 65 52 65 +6 3 2 66 53 64 +6 3 2 67 52 64 +6 3 3 0 53 127 +6 3 3 1 52 127 +6 3 3 2 53 126 +6 3 3 3 52 126 +6 3 3 4 53 125 +6 3 3 5 52 125 +6 3 3 6 53 124 +6 3 3 7 52 124 +6 3 3 8 53 123 +6 3 3 9 52 123 +6 3 3 10 53 122 +6 3 3 11 -1 -1 +6 3 3 12 52 122 +6 3 3 13 53 121 +6 3 3 14 52 121 +6 3 3 15 53 120 +6 3 3 16 52 120 +6 3 3 17 53 119 +6 3 3 18 52 119 +6 3 3 19 53 118 +6 3 3 20 52 118 +6 3 3 21 53 117 +6 3 3 22 -1 -1 +6 3 3 23 52 117 +6 3 3 24 53 116 +6 3 3 25 52 116 +6 3 3 26 53 115 +6 3 3 27 52 115 +6 3 3 28 53 114 +6 3 3 29 52 114 +6 3 3 30 53 113 +6 3 3 31 52 113 +6 3 3 32 53 112 +6 3 3 33 52 112 +6 3 3 34 53 111 +6 3 3 35 52 111 +6 3 3 36 53 110 +6 3 3 37 52 110 +6 3 3 38 53 109 +6 3 3 39 52 109 +6 3 3 40 53 108 +6 3 3 41 52 108 +6 3 3 42 53 107 +6 3 3 43 52 107 +6 3 3 44 53 106 +6 3 3 45 -1 -1 +6 3 3 46 52 106 +6 3 3 47 53 105 +6 3 3 48 52 105 +6 3 3 49 53 104 +6 3 3 50 52 104 +6 3 3 51 53 103 +6 3 3 52 52 103 +6 3 3 53 53 102 +6 3 3 54 52 102 +6 3 3 55 53 101 +6 3 3 56 -1 -1 +6 3 3 57 52 101 +6 3 3 58 53 100 +6 3 3 59 52 100 +6 3 3 60 53 99 +6 3 3 61 52 99 +6 3 3 62 53 98 +6 3 3 63 52 98 +6 3 3 64 53 97 +6 3 3 65 52 97 +6 3 3 66 53 96 +6 3 3 67 52 96 +7 0 0 0 56 32 +7 0 0 1 57 32 +7 0 0 2 56 33 +7 0 0 3 57 33 +7 0 0 4 56 34 +7 0 0 5 57 34 +7 0 0 6 56 35 +7 0 0 7 57 35 +7 0 0 8 56 36 +7 0 0 9 57 36 +7 0 0 10 56 37 +7 0 0 11 -1 -1 +7 0 0 12 57 37 +7 0 0 13 56 38 +7 0 0 14 57 38 +7 0 0 15 56 39 +7 0 0 16 57 39 +7 0 0 17 56 40 +7 0 0 18 57 40 +7 0 0 19 56 41 +7 0 0 20 57 41 +7 0 0 21 56 42 +7 0 0 22 -1 -1 +7 0 0 23 57 42 +7 0 0 24 56 43 +7 0 0 25 57 43 +7 0 0 26 56 44 +7 0 0 27 57 44 +7 0 0 28 56 45 +7 0 0 29 57 45 +7 0 0 30 56 46 +7 0 0 31 57 46 +7 0 0 32 56 47 +7 0 0 33 57 47 +7 0 0 34 56 48 +7 0 0 35 57 48 +7 0 0 36 56 49 +7 0 0 37 57 49 +7 0 0 38 56 50 +7 0 0 39 57 50 +7 0 0 40 56 51 +7 0 0 41 57 51 +7 0 0 42 56 52 +7 0 0 43 57 52 +7 0 0 44 56 53 +7 0 0 45 -1 -1 +7 0 0 46 57 53 +7 0 0 47 56 54 +7 0 0 48 57 54 +7 0 0 49 56 55 +7 0 0 50 57 55 +7 0 0 51 56 56 +7 0 0 52 57 56 +7 0 0 53 56 57 +7 0 0 54 57 57 +7 0 0 55 56 58 +7 0 0 56 -1 -1 +7 0 0 57 57 58 +7 0 0 58 56 59 +7 0 0 59 57 59 +7 0 0 60 56 60 +7 0 0 61 57 60 +7 0 0 62 56 61 +7 0 0 63 57 61 +7 0 0 64 56 62 +7 0 0 65 57 62 +7 0 0 66 56 63 +7 0 0 67 57 63 +7 0 1 0 56 0 +7 0 1 1 57 0 +7 0 1 2 56 1 +7 0 1 3 57 1 +7 0 1 4 56 2 +7 0 1 5 57 2 +7 0 1 6 56 3 +7 0 1 7 57 3 +7 0 1 8 56 4 +7 0 1 9 57 4 +7 0 1 10 56 5 +7 0 1 11 -1 -1 +7 0 1 12 57 5 +7 0 1 13 56 6 +7 0 1 14 57 6 +7 0 1 15 56 7 +7 0 1 16 57 7 +7 0 1 17 56 8 +7 0 1 18 57 8 +7 0 1 19 56 9 +7 0 1 20 57 9 +7 0 1 21 56 10 +7 0 1 22 -1 -1 +7 0 1 23 57 10 +7 0 1 24 56 11 +7 0 1 25 57 11 +7 0 1 26 56 12 +7 0 1 27 57 12 +7 0 1 28 56 13 +7 0 1 29 57 13 +7 0 1 30 56 14 +7 0 1 31 57 14 +7 0 1 32 56 15 +7 0 1 33 57 15 +7 0 1 34 56 16 +7 0 1 35 57 16 +7 0 1 36 56 17 +7 0 1 37 57 17 +7 0 1 38 56 18 +7 0 1 39 57 18 +7 0 1 40 56 19 +7 0 1 41 57 19 +7 0 1 42 56 20 +7 0 1 43 57 20 +7 0 1 44 56 21 +7 0 1 45 -1 -1 +7 0 1 46 57 21 +7 0 1 47 56 22 +7 0 1 48 57 22 +7 0 1 49 56 23 +7 0 1 50 57 23 +7 0 1 51 56 24 +7 0 1 52 57 24 +7 0 1 53 56 25 +7 0 1 54 57 25 +7 0 1 55 56 26 +7 0 1 56 -1 -1 +7 0 1 57 57 26 +7 0 1 58 56 27 +7 0 1 59 57 27 +7 0 1 60 56 28 +7 0 1 61 57 28 +7 0 1 62 56 29 +7 0 1 63 57 29 +7 0 1 64 56 30 +7 0 1 65 57 30 +7 0 1 66 56 31 +7 0 1 67 57 31 +7 0 2 0 58 32 +7 0 2 1 59 32 +7 0 2 2 58 33 +7 0 2 3 59 33 +7 0 2 4 58 34 +7 0 2 5 59 34 +7 0 2 6 58 35 +7 0 2 7 59 35 +7 0 2 8 58 36 +7 0 2 9 59 36 +7 0 2 10 58 37 +7 0 2 11 -1 -1 +7 0 2 12 59 37 +7 0 2 13 58 38 +7 0 2 14 59 38 +7 0 2 15 58 39 +7 0 2 16 59 39 +7 0 2 17 58 40 +7 0 2 18 59 40 +7 0 2 19 58 41 +7 0 2 20 59 41 +7 0 2 21 58 42 +7 0 2 22 -1 -1 +7 0 2 23 59 42 +7 0 2 24 58 43 +7 0 2 25 59 43 +7 0 2 26 58 44 +7 0 2 27 59 44 +7 0 2 28 58 45 +7 0 2 29 59 45 +7 0 2 30 58 46 +7 0 2 31 59 46 +7 0 2 32 58 47 +7 0 2 33 59 47 +7 0 2 34 58 48 +7 0 2 35 59 48 +7 0 2 36 58 49 +7 0 2 37 59 49 +7 0 2 38 58 50 +7 0 2 39 59 50 +7 0 2 40 58 51 +7 0 2 41 59 51 +7 0 2 42 58 52 +7 0 2 43 59 52 +7 0 2 44 58 53 +7 0 2 45 -1 -1 +7 0 2 46 59 53 +7 0 2 47 58 54 +7 0 2 48 59 54 +7 0 2 49 58 55 +7 0 2 50 59 55 +7 0 2 51 58 56 +7 0 2 52 59 56 +7 0 2 53 58 57 +7 0 2 54 59 57 +7 0 2 55 58 58 +7 0 2 56 -1 -1 +7 0 2 57 59 58 +7 0 2 58 58 59 +7 0 2 59 59 59 +7 0 2 60 58 60 +7 0 2 61 59 60 +7 0 2 62 58 61 +7 0 2 63 59 61 +7 0 2 64 58 62 +7 0 2 65 59 62 +7 0 2 66 58 63 +7 0 2 67 59 63 +7 0 3 0 58 0 +7 0 3 1 59 0 +7 0 3 2 58 1 +7 0 3 3 59 1 +7 0 3 4 58 2 +7 0 3 5 59 2 +7 0 3 6 58 3 +7 0 3 7 59 3 +7 0 3 8 58 4 +7 0 3 9 59 4 +7 0 3 10 58 5 +7 0 3 11 -1 -1 +7 0 3 12 59 5 +7 0 3 13 58 6 +7 0 3 14 59 6 +7 0 3 15 58 7 +7 0 3 16 59 7 +7 0 3 17 58 8 +7 0 3 18 59 8 +7 0 3 19 58 9 +7 0 3 20 59 9 +7 0 3 21 58 10 +7 0 3 22 -1 -1 +7 0 3 23 59 10 +7 0 3 24 58 11 +7 0 3 25 59 11 +7 0 3 26 58 12 +7 0 3 27 59 12 +7 0 3 28 58 13 +7 0 3 29 59 13 +7 0 3 30 58 14 +7 0 3 31 59 14 +7 0 3 32 58 15 +7 0 3 33 59 15 +7 0 3 34 58 16 +7 0 3 35 59 16 +7 0 3 36 58 17 +7 0 3 37 59 17 +7 0 3 38 58 18 +7 0 3 39 59 18 +7 0 3 40 58 19 +7 0 3 41 59 19 +7 0 3 42 58 20 +7 0 3 43 59 20 +7 0 3 44 58 21 +7 0 3 45 -1 -1 +7 0 3 46 59 21 +7 0 3 47 58 22 +7 0 3 48 59 22 +7 0 3 49 58 23 +7 0 3 50 59 23 +7 0 3 51 58 24 +7 0 3 52 59 24 +7 0 3 53 58 25 +7 0 3 54 59 25 +7 0 3 55 58 26 +7 0 3 56 -1 -1 +7 0 3 57 59 26 +7 0 3 58 58 27 +7 0 3 59 59 27 +7 0 3 60 58 28 +7 0 3 61 59 28 +7 0 3 62 58 29 +7 0 3 63 59 29 +7 0 3 64 58 30 +7 0 3 65 59 30 +7 0 3 66 58 31 +7 0 3 67 59 31 +7 1 0 0 59 95 +7 1 0 1 58 95 +7 1 0 2 59 94 +7 1 0 3 58 94 +7 1 0 4 59 93 +7 1 0 5 58 93 +7 1 0 6 59 92 +7 1 0 7 58 92 +7 1 0 8 59 91 +7 1 0 9 58 91 +7 1 0 10 59 90 +7 1 0 11 -1 -1 +7 1 0 12 58 90 +7 1 0 13 59 89 +7 1 0 14 58 89 +7 1 0 15 59 88 +7 1 0 16 58 88 +7 1 0 17 59 87 +7 1 0 18 58 87 +7 1 0 19 59 86 +7 1 0 20 58 86 +7 1 0 21 59 85 +7 1 0 22 -1 -1 +7 1 0 23 58 85 +7 1 0 24 59 84 +7 1 0 25 58 84 +7 1 0 26 59 83 +7 1 0 27 58 83 +7 1 0 28 59 82 +7 1 0 29 58 82 +7 1 0 30 59 81 +7 1 0 31 58 81 +7 1 0 32 59 80 +7 1 0 33 58 80 +7 1 0 34 59 79 +7 1 0 35 58 79 +7 1 0 36 59 78 +7 1 0 37 58 78 +7 1 0 38 59 77 +7 1 0 39 58 77 +7 1 0 40 59 76 +7 1 0 41 58 76 +7 1 0 42 59 75 +7 1 0 43 58 75 +7 1 0 44 59 74 +7 1 0 45 -1 -1 +7 1 0 46 58 74 +7 1 0 47 59 73 +7 1 0 48 58 73 +7 1 0 49 59 72 +7 1 0 50 58 72 +7 1 0 51 59 71 +7 1 0 52 58 71 +7 1 0 53 59 70 +7 1 0 54 58 70 +7 1 0 55 59 69 +7 1 0 56 -1 -1 +7 1 0 57 58 69 +7 1 0 58 59 68 +7 1 0 59 58 68 +7 1 0 60 59 67 +7 1 0 61 58 67 +7 1 0 62 59 66 +7 1 0 63 58 66 +7 1 0 64 59 65 +7 1 0 65 58 65 +7 1 0 66 59 64 +7 1 0 67 58 64 +7 1 1 0 59 127 +7 1 1 1 58 127 +7 1 1 2 59 126 +7 1 1 3 58 126 +7 1 1 4 59 125 +7 1 1 5 58 125 +7 1 1 6 59 124 +7 1 1 7 58 124 +7 1 1 8 59 123 +7 1 1 9 58 123 +7 1 1 10 59 122 +7 1 1 11 -1 -1 +7 1 1 12 58 122 +7 1 1 13 59 121 +7 1 1 14 58 121 +7 1 1 15 59 120 +7 1 1 16 58 120 +7 1 1 17 59 119 +7 1 1 18 58 119 +7 1 1 19 59 118 +7 1 1 20 58 118 +7 1 1 21 59 117 +7 1 1 22 -1 -1 +7 1 1 23 58 117 +7 1 1 24 59 116 +7 1 1 25 58 116 +7 1 1 26 59 115 +7 1 1 27 58 115 +7 1 1 28 59 114 +7 1 1 29 58 114 +7 1 1 30 59 113 +7 1 1 31 58 113 +7 1 1 32 59 112 +7 1 1 33 58 112 +7 1 1 34 59 111 +7 1 1 35 58 111 +7 1 1 36 59 110 +7 1 1 37 58 110 +7 1 1 38 59 109 +7 1 1 39 58 109 +7 1 1 40 59 108 +7 1 1 41 58 108 +7 1 1 42 59 107 +7 1 1 43 58 107 +7 1 1 44 59 106 +7 1 1 45 -1 -1 +7 1 1 46 58 106 +7 1 1 47 59 105 +7 1 1 48 58 105 +7 1 1 49 59 104 +7 1 1 50 58 104 +7 1 1 51 59 103 +7 1 1 52 58 103 +7 1 1 53 59 102 +7 1 1 54 58 102 +7 1 1 55 59 101 +7 1 1 56 -1 -1 +7 1 1 57 58 101 +7 1 1 58 59 100 +7 1 1 59 58 100 +7 1 1 60 59 99 +7 1 1 61 58 99 +7 1 1 62 59 98 +7 1 1 63 58 98 +7 1 1 64 59 97 +7 1 1 65 58 97 +7 1 1 66 59 96 +7 1 1 67 58 96 +7 1 2 0 57 95 +7 1 2 1 56 95 +7 1 2 2 57 94 +7 1 2 3 56 94 +7 1 2 4 57 93 +7 1 2 5 56 93 +7 1 2 6 57 92 +7 1 2 7 56 92 +7 1 2 8 57 91 +7 1 2 9 56 91 +7 1 2 10 57 90 +7 1 2 11 -1 -1 +7 1 2 12 56 90 +7 1 2 13 57 89 +7 1 2 14 56 89 +7 1 2 15 57 88 +7 1 2 16 56 88 +7 1 2 17 57 87 +7 1 2 18 56 87 +7 1 2 19 57 86 +7 1 2 20 56 86 +7 1 2 21 57 85 +7 1 2 22 -1 -1 +7 1 2 23 56 85 +7 1 2 24 57 84 +7 1 2 25 56 84 +7 1 2 26 57 83 +7 1 2 27 56 83 +7 1 2 28 57 82 +7 1 2 29 56 82 +7 1 2 30 57 81 +7 1 2 31 56 81 +7 1 2 32 57 80 +7 1 2 33 56 80 +7 1 2 34 57 79 +7 1 2 35 56 79 +7 1 2 36 57 78 +7 1 2 37 56 78 +7 1 2 38 57 77 +7 1 2 39 56 77 +7 1 2 40 57 76 +7 1 2 41 56 76 +7 1 2 42 57 75 +7 1 2 43 56 75 +7 1 2 44 57 74 +7 1 2 45 -1 -1 +7 1 2 46 56 74 +7 1 2 47 57 73 +7 1 2 48 56 73 +7 1 2 49 57 72 +7 1 2 50 56 72 +7 1 2 51 57 71 +7 1 2 52 56 71 +7 1 2 53 57 70 +7 1 2 54 56 70 +7 1 2 55 57 69 +7 1 2 56 -1 -1 +7 1 2 57 56 69 +7 1 2 58 57 68 +7 1 2 59 56 68 +7 1 2 60 57 67 +7 1 2 61 56 67 +7 1 2 62 57 66 +7 1 2 63 56 66 +7 1 2 64 57 65 +7 1 2 65 56 65 +7 1 2 66 57 64 +7 1 2 67 56 64 +7 1 3 0 57 127 +7 1 3 1 56 127 +7 1 3 2 57 126 +7 1 3 3 56 126 +7 1 3 4 57 125 +7 1 3 5 56 125 +7 1 3 6 57 124 +7 1 3 7 56 124 +7 1 3 8 57 123 +7 1 3 9 56 123 +7 1 3 10 57 122 +7 1 3 11 -1 -1 +7 1 3 12 56 122 +7 1 3 13 57 121 +7 1 3 14 56 121 +7 1 3 15 57 120 +7 1 3 16 56 120 +7 1 3 17 57 119 +7 1 3 18 56 119 +7 1 3 19 57 118 +7 1 3 20 56 118 +7 1 3 21 57 117 +7 1 3 22 -1 -1 +7 1 3 23 56 117 +7 1 3 24 57 116 +7 1 3 25 56 116 +7 1 3 26 57 115 +7 1 3 27 56 115 +7 1 3 28 57 114 +7 1 3 29 56 114 +7 1 3 30 57 113 +7 1 3 31 56 113 +7 1 3 32 57 112 +7 1 3 33 56 112 +7 1 3 34 57 111 +7 1 3 35 56 111 +7 1 3 36 57 110 +7 1 3 37 56 110 +7 1 3 38 57 109 +7 1 3 39 56 109 +7 1 3 40 57 108 +7 1 3 41 56 108 +7 1 3 42 57 107 +7 1 3 43 56 107 +7 1 3 44 57 106 +7 1 3 45 -1 -1 +7 1 3 46 56 106 +7 1 3 47 57 105 +7 1 3 48 56 105 +7 1 3 49 57 104 +7 1 3 50 56 104 +7 1 3 51 57 103 +7 1 3 52 56 103 +7 1 3 53 57 102 +7 1 3 54 56 102 +7 1 3 55 57 101 +7 1 3 56 -1 -1 +7 1 3 57 56 101 +7 1 3 58 57 100 +7 1 3 59 56 100 +7 1 3 60 57 99 +7 1 3 61 56 99 +7 1 3 62 57 98 +7 1 3 63 56 98 +7 1 3 64 57 97 +7 1 3 65 56 97 +7 1 3 66 57 96 +7 1 3 67 56 96 +7 2 0 0 60 32 +7 2 0 1 61 32 +7 2 0 2 60 33 +7 2 0 3 61 33 +7 2 0 4 60 34 +7 2 0 5 61 34 +7 2 0 6 60 35 +7 2 0 7 61 35 +7 2 0 8 60 36 +7 2 0 9 61 36 +7 2 0 10 60 37 +7 2 0 11 -1 -1 +7 2 0 12 61 37 +7 2 0 13 60 38 +7 2 0 14 61 38 +7 2 0 15 60 39 +7 2 0 16 61 39 +7 2 0 17 60 40 +7 2 0 18 61 40 +7 2 0 19 60 41 +7 2 0 20 61 41 +7 2 0 21 60 42 +7 2 0 22 -1 -1 +7 2 0 23 61 42 +7 2 0 24 60 43 +7 2 0 25 61 43 +7 2 0 26 60 44 +7 2 0 27 61 44 +7 2 0 28 60 45 +7 2 0 29 61 45 +7 2 0 30 60 46 +7 2 0 31 61 46 +7 2 0 32 60 47 +7 2 0 33 61 47 +7 2 0 34 60 48 +7 2 0 35 61 48 +7 2 0 36 60 49 +7 2 0 37 61 49 +7 2 0 38 60 50 +7 2 0 39 61 50 +7 2 0 40 60 51 +7 2 0 41 61 51 +7 2 0 42 60 52 +7 2 0 43 61 52 +7 2 0 44 60 53 +7 2 0 45 -1 -1 +7 2 0 46 61 53 +7 2 0 47 60 54 +7 2 0 48 61 54 +7 2 0 49 60 55 +7 2 0 50 61 55 +7 2 0 51 60 56 +7 2 0 52 61 56 +7 2 0 53 60 57 +7 2 0 54 61 57 +7 2 0 55 60 58 +7 2 0 56 -1 -1 +7 2 0 57 61 58 +7 2 0 58 60 59 +7 2 0 59 61 59 +7 2 0 60 60 60 +7 2 0 61 61 60 +7 2 0 62 60 61 +7 2 0 63 61 61 +7 2 0 64 60 62 +7 2 0 65 61 62 +7 2 0 66 60 63 +7 2 0 67 61 63 +7 2 1 0 60 0 +7 2 1 1 61 0 +7 2 1 2 60 1 +7 2 1 3 61 1 +7 2 1 4 60 2 +7 2 1 5 61 2 +7 2 1 6 60 3 +7 2 1 7 61 3 +7 2 1 8 60 4 +7 2 1 9 61 4 +7 2 1 10 60 5 +7 2 1 11 -1 -1 +7 2 1 12 61 5 +7 2 1 13 60 6 +7 2 1 14 61 6 +7 2 1 15 60 7 +7 2 1 16 61 7 +7 2 1 17 60 8 +7 2 1 18 61 8 +7 2 1 19 60 9 +7 2 1 20 61 9 +7 2 1 21 60 10 +7 2 1 22 -1 -1 +7 2 1 23 61 10 +7 2 1 24 60 11 +7 2 1 25 61 11 +7 2 1 26 60 12 +7 2 1 27 61 12 +7 2 1 28 60 13 +7 2 1 29 61 13 +7 2 1 30 60 14 +7 2 1 31 61 14 +7 2 1 32 60 15 +7 2 1 33 61 15 +7 2 1 34 60 16 +7 2 1 35 61 16 +7 2 1 36 60 17 +7 2 1 37 61 17 +7 2 1 38 60 18 +7 2 1 39 61 18 +7 2 1 40 60 19 +7 2 1 41 61 19 +7 2 1 42 60 20 +7 2 1 43 61 20 +7 2 1 44 60 21 +7 2 1 45 -1 -1 +7 2 1 46 61 21 +7 2 1 47 60 22 +7 2 1 48 61 22 +7 2 1 49 60 23 +7 2 1 50 61 23 +7 2 1 51 60 24 +7 2 1 52 61 24 +7 2 1 53 60 25 +7 2 1 54 61 25 +7 2 1 55 60 26 +7 2 1 56 -1 -1 +7 2 1 57 61 26 +7 2 1 58 60 27 +7 2 1 59 61 27 +7 2 1 60 60 28 +7 2 1 61 61 28 +7 2 1 62 60 29 +7 2 1 63 61 29 +7 2 1 64 60 30 +7 2 1 65 61 30 +7 2 1 66 60 31 +7 2 1 67 61 31 +7 2 2 0 62 32 +7 2 2 1 63 32 +7 2 2 2 62 33 +7 2 2 3 63 33 +7 2 2 4 62 34 +7 2 2 5 63 34 +7 2 2 6 62 35 +7 2 2 7 63 35 +7 2 2 8 62 36 +7 2 2 9 63 36 +7 2 2 10 62 37 +7 2 2 11 -1 -1 +7 2 2 12 63 37 +7 2 2 13 62 38 +7 2 2 14 63 38 +7 2 2 15 62 39 +7 2 2 16 63 39 +7 2 2 17 62 40 +7 2 2 18 63 40 +7 2 2 19 62 41 +7 2 2 20 63 41 +7 2 2 21 62 42 +7 2 2 22 -1 -1 +7 2 2 23 63 42 +7 2 2 24 62 43 +7 2 2 25 63 43 +7 2 2 26 62 44 +7 2 2 27 63 44 +7 2 2 28 62 45 +7 2 2 29 63 45 +7 2 2 30 62 46 +7 2 2 31 63 46 +7 2 2 32 62 47 +7 2 2 33 63 47 +7 2 2 34 62 48 +7 2 2 35 63 48 +7 2 2 36 62 49 +7 2 2 37 63 49 +7 2 2 38 62 50 +7 2 2 39 63 50 +7 2 2 40 62 51 +7 2 2 41 63 51 +7 2 2 42 62 52 +7 2 2 43 63 52 +7 2 2 44 62 53 +7 2 2 45 -1 -1 +7 2 2 46 63 53 +7 2 2 47 62 54 +7 2 2 48 63 54 +7 2 2 49 62 55 +7 2 2 50 63 55 +7 2 2 51 62 56 +7 2 2 52 63 56 +7 2 2 53 62 57 +7 2 2 54 63 57 +7 2 2 55 62 58 +7 2 2 56 -1 -1 +7 2 2 57 63 58 +7 2 2 58 62 59 +7 2 2 59 63 59 +7 2 2 60 62 60 +7 2 2 61 63 60 +7 2 2 62 62 61 +7 2 2 63 63 61 +7 2 2 64 62 62 +7 2 2 65 63 62 +7 2 2 66 62 63 +7 2 2 67 63 63 +7 2 3 0 62 0 +7 2 3 1 63 0 +7 2 3 2 62 1 +7 2 3 3 63 1 +7 2 3 4 62 2 +7 2 3 5 63 2 +7 2 3 6 62 3 +7 2 3 7 63 3 +7 2 3 8 62 4 +7 2 3 9 63 4 +7 2 3 10 62 5 +7 2 3 11 -1 -1 +7 2 3 12 63 5 +7 2 3 13 62 6 +7 2 3 14 63 6 +7 2 3 15 62 7 +7 2 3 16 63 7 +7 2 3 17 62 8 +7 2 3 18 63 8 +7 2 3 19 62 9 +7 2 3 20 63 9 +7 2 3 21 62 10 +7 2 3 22 -1 -1 +7 2 3 23 63 10 +7 2 3 24 62 11 +7 2 3 25 63 11 +7 2 3 26 62 12 +7 2 3 27 63 12 +7 2 3 28 62 13 +7 2 3 29 63 13 +7 2 3 30 62 14 +7 2 3 31 63 14 +7 2 3 32 62 15 +7 2 3 33 63 15 +7 2 3 34 62 16 +7 2 3 35 63 16 +7 2 3 36 62 17 +7 2 3 37 63 17 +7 2 3 38 62 18 +7 2 3 39 63 18 +7 2 3 40 62 19 +7 2 3 41 63 19 +7 2 3 42 62 20 +7 2 3 43 63 20 +7 2 3 44 62 21 +7 2 3 45 -1 -1 +7 2 3 46 63 21 +7 2 3 47 62 22 +7 2 3 48 63 22 +7 2 3 49 62 23 +7 2 3 50 63 23 +7 2 3 51 62 24 +7 2 3 52 63 24 +7 2 3 53 62 25 +7 2 3 54 63 25 +7 2 3 55 62 26 +7 2 3 56 -1 -1 +7 2 3 57 63 26 +7 2 3 58 62 27 +7 2 3 59 63 27 +7 2 3 60 62 28 +7 2 3 61 63 28 +7 2 3 62 62 29 +7 2 3 63 63 29 +7 2 3 64 62 30 +7 2 3 65 63 30 +7 2 3 66 62 31 +7 2 3 67 63 31 +7 3 0 0 63 95 +7 3 0 1 62 95 +7 3 0 2 63 94 +7 3 0 3 62 94 +7 3 0 4 63 93 +7 3 0 5 62 93 +7 3 0 6 63 92 +7 3 0 7 62 92 +7 3 0 8 63 91 +7 3 0 9 62 91 +7 3 0 10 63 90 +7 3 0 11 -1 -1 +7 3 0 12 62 90 +7 3 0 13 63 89 +7 3 0 14 62 89 +7 3 0 15 63 88 +7 3 0 16 62 88 +7 3 0 17 63 87 +7 3 0 18 62 87 +7 3 0 19 63 86 +7 3 0 20 62 86 +7 3 0 21 63 85 +7 3 0 22 -1 -1 +7 3 0 23 62 85 +7 3 0 24 63 84 +7 3 0 25 62 84 +7 3 0 26 63 83 +7 3 0 27 62 83 +7 3 0 28 63 82 +7 3 0 29 62 82 +7 3 0 30 63 81 +7 3 0 31 62 81 +7 3 0 32 63 80 +7 3 0 33 62 80 +7 3 0 34 63 79 +7 3 0 35 62 79 +7 3 0 36 63 78 +7 3 0 37 62 78 +7 3 0 38 63 77 +7 3 0 39 62 77 +7 3 0 40 63 76 +7 3 0 41 62 76 +7 3 0 42 63 75 +7 3 0 43 62 75 +7 3 0 44 63 74 +7 3 0 45 -1 -1 +7 3 0 46 62 74 +7 3 0 47 63 73 +7 3 0 48 62 73 +7 3 0 49 63 72 +7 3 0 50 62 72 +7 3 0 51 63 71 +7 3 0 52 62 71 +7 3 0 53 63 70 +7 3 0 54 62 70 +7 3 0 55 63 69 +7 3 0 56 -1 -1 +7 3 0 57 62 69 +7 3 0 58 63 68 +7 3 0 59 62 68 +7 3 0 60 63 67 +7 3 0 61 62 67 +7 3 0 62 63 66 +7 3 0 63 62 66 +7 3 0 64 63 65 +7 3 0 65 62 65 +7 3 0 66 63 64 +7 3 0 67 62 64 +7 3 1 0 63 127 +7 3 1 1 62 127 +7 3 1 2 63 126 +7 3 1 3 62 126 +7 3 1 4 63 125 +7 3 1 5 62 125 +7 3 1 6 63 124 +7 3 1 7 62 124 +7 3 1 8 63 123 +7 3 1 9 62 123 +7 3 1 10 63 122 +7 3 1 11 -1 -1 +7 3 1 12 62 122 +7 3 1 13 63 121 +7 3 1 14 62 121 +7 3 1 15 63 120 +7 3 1 16 62 120 +7 3 1 17 63 119 +7 3 1 18 62 119 +7 3 1 19 63 118 +7 3 1 20 62 118 +7 3 1 21 63 117 +7 3 1 22 -1 -1 +7 3 1 23 62 117 +7 3 1 24 63 116 +7 3 1 25 62 116 +7 3 1 26 63 115 +7 3 1 27 62 115 +7 3 1 28 63 114 +7 3 1 29 62 114 +7 3 1 30 63 113 +7 3 1 31 62 113 +7 3 1 32 63 112 +7 3 1 33 62 112 +7 3 1 34 63 111 +7 3 1 35 62 111 +7 3 1 36 63 110 +7 3 1 37 62 110 +7 3 1 38 63 109 +7 3 1 39 62 109 +7 3 1 40 63 108 +7 3 1 41 62 108 +7 3 1 42 63 107 +7 3 1 43 62 107 +7 3 1 44 63 106 +7 3 1 45 -1 -1 +7 3 1 46 62 106 +7 3 1 47 63 105 +7 3 1 48 62 105 +7 3 1 49 63 104 +7 3 1 50 62 104 +7 3 1 51 63 103 +7 3 1 52 62 103 +7 3 1 53 63 102 +7 3 1 54 62 102 +7 3 1 55 63 101 +7 3 1 56 -1 -1 +7 3 1 57 62 101 +7 3 1 58 63 100 +7 3 1 59 62 100 +7 3 1 60 63 99 +7 3 1 61 62 99 +7 3 1 62 63 98 +7 3 1 63 62 98 +7 3 1 64 63 97 +7 3 1 65 62 97 +7 3 1 66 63 96 +7 3 1 67 62 96 +7 3 2 0 61 95 +7 3 2 1 60 95 +7 3 2 2 61 94 +7 3 2 3 60 94 +7 3 2 4 61 93 +7 3 2 5 60 93 +7 3 2 6 61 92 +7 3 2 7 60 92 +7 3 2 8 61 91 +7 3 2 9 60 91 +7 3 2 10 61 90 +7 3 2 11 -1 -1 +7 3 2 12 60 90 +7 3 2 13 61 89 +7 3 2 14 60 89 +7 3 2 15 61 88 +7 3 2 16 60 88 +7 3 2 17 61 87 +7 3 2 18 60 87 +7 3 2 19 61 86 +7 3 2 20 60 86 +7 3 2 21 61 85 +7 3 2 22 -1 -1 +7 3 2 23 60 85 +7 3 2 24 61 84 +7 3 2 25 60 84 +7 3 2 26 61 83 +7 3 2 27 60 83 +7 3 2 28 61 82 +7 3 2 29 60 82 +7 3 2 30 61 81 +7 3 2 31 60 81 +7 3 2 32 61 80 +7 3 2 33 60 80 +7 3 2 34 61 79 +7 3 2 35 60 79 +7 3 2 36 61 78 +7 3 2 37 60 78 +7 3 2 38 61 77 +7 3 2 39 60 77 +7 3 2 40 61 76 +7 3 2 41 60 76 +7 3 2 42 61 75 +7 3 2 43 60 75 +7 3 2 44 61 74 +7 3 2 45 -1 -1 +7 3 2 46 60 74 +7 3 2 47 61 73 +7 3 2 48 60 73 +7 3 2 49 61 72 +7 3 2 50 60 72 +7 3 2 51 61 71 +7 3 2 52 60 71 +7 3 2 53 61 70 +7 3 2 54 60 70 +7 3 2 55 61 69 +7 3 2 56 -1 -1 +7 3 2 57 60 69 +7 3 2 58 61 68 +7 3 2 59 60 68 +7 3 2 60 61 67 +7 3 2 61 60 67 +7 3 2 62 61 66 +7 3 2 63 60 66 +7 3 2 64 61 65 +7 3 2 65 60 65 +7 3 2 66 61 64 +7 3 2 67 60 64 +7 3 3 0 61 127 +7 3 3 1 60 127 +7 3 3 2 61 126 +7 3 3 3 60 126 +7 3 3 4 61 125 +7 3 3 5 60 125 +7 3 3 6 61 124 +7 3 3 7 60 124 +7 3 3 8 61 123 +7 3 3 9 60 123 +7 3 3 10 61 122 +7 3 3 11 -1 -1 +7 3 3 12 60 122 +7 3 3 13 61 121 +7 3 3 14 60 121 +7 3 3 15 61 120 +7 3 3 16 60 120 +7 3 3 17 61 119 +7 3 3 18 60 119 +7 3 3 19 61 118 +7 3 3 20 60 118 +7 3 3 21 61 117 +7 3 3 22 -1 -1 +7 3 3 23 60 117 +7 3 3 24 61 116 +7 3 3 25 60 116 +7 3 3 26 61 115 +7 3 3 27 60 115 +7 3 3 28 61 114 +7 3 3 29 60 114 +7 3 3 30 61 113 +7 3 3 31 60 113 +7 3 3 32 61 112 +7 3 3 33 60 112 +7 3 3 34 61 111 +7 3 3 35 60 111 +7 3 3 36 61 110 +7 3 3 37 60 110 +7 3 3 38 61 109 +7 3 3 39 60 109 +7 3 3 40 61 108 +7 3 3 41 60 108 +7 3 3 42 61 107 +7 3 3 43 60 107 +7 3 3 44 61 106 +7 3 3 45 -1 -1 +7 3 3 46 60 106 +7 3 3 47 61 105 +7 3 3 48 60 105 +7 3 3 49 61 104 +7 3 3 50 60 104 +7 3 3 51 61 103 +7 3 3 52 60 103 +7 3 3 53 61 102 +7 3 3 54 60 102 +7 3 3 55 61 101 +7 3 3 56 -1 -1 +7 3 3 57 60 101 +7 3 3 58 61 100 +7 3 3 59 60 100 +7 3 3 60 61 99 +7 3 3 61 60 99 +7 3 3 62 61 98 +7 3 3 63 60 98 +7 3 3 64 61 97 +7 3 3 65 60 97 +7 3 3 66 61 96 +7 3 3 67 60 96 +8 0 0 0 64 32 +8 0 0 1 65 32 +8 0 0 2 64 33 +8 0 0 3 65 33 +8 0 0 4 64 34 +8 0 0 5 65 34 +8 0 0 6 64 35 +8 0 0 7 65 35 +8 0 0 8 64 36 +8 0 0 9 65 36 +8 0 0 10 64 37 +8 0 0 11 -1 -1 +8 0 0 12 65 37 +8 0 0 13 64 38 +8 0 0 14 65 38 +8 0 0 15 64 39 +8 0 0 16 65 39 +8 0 0 17 64 40 +8 0 0 18 65 40 +8 0 0 19 64 41 +8 0 0 20 65 41 +8 0 0 21 64 42 +8 0 0 22 -1 -1 +8 0 0 23 65 42 +8 0 0 24 64 43 +8 0 0 25 65 43 +8 0 0 26 64 44 +8 0 0 27 65 44 +8 0 0 28 64 45 +8 0 0 29 65 45 +8 0 0 30 64 46 +8 0 0 31 65 46 +8 0 0 32 64 47 +8 0 0 33 65 47 +8 0 0 34 64 48 +8 0 0 35 65 48 +8 0 0 36 64 49 +8 0 0 37 65 49 +8 0 0 38 64 50 +8 0 0 39 65 50 +8 0 0 40 64 51 +8 0 0 41 65 51 +8 0 0 42 64 52 +8 0 0 43 65 52 +8 0 0 44 64 53 +8 0 0 45 -1 -1 +8 0 0 46 65 53 +8 0 0 47 64 54 +8 0 0 48 65 54 +8 0 0 49 64 55 +8 0 0 50 65 55 +8 0 0 51 64 56 +8 0 0 52 65 56 +8 0 0 53 64 57 +8 0 0 54 65 57 +8 0 0 55 64 58 +8 0 0 56 -1 -1 +8 0 0 57 65 58 +8 0 0 58 64 59 +8 0 0 59 65 59 +8 0 0 60 64 60 +8 0 0 61 65 60 +8 0 0 62 64 61 +8 0 0 63 65 61 +8 0 0 64 64 62 +8 0 0 65 65 62 +8 0 0 66 64 63 +8 0 0 67 65 63 +8 0 1 0 64 0 +8 0 1 1 65 0 +8 0 1 2 64 1 +8 0 1 3 65 1 +8 0 1 4 64 2 +8 0 1 5 65 2 +8 0 1 6 64 3 +8 0 1 7 65 3 +8 0 1 8 64 4 +8 0 1 9 65 4 +8 0 1 10 64 5 +8 0 1 11 -1 -1 +8 0 1 12 65 5 +8 0 1 13 64 6 +8 0 1 14 65 6 +8 0 1 15 64 7 +8 0 1 16 65 7 +8 0 1 17 64 8 +8 0 1 18 65 8 +8 0 1 19 64 9 +8 0 1 20 65 9 +8 0 1 21 64 10 +8 0 1 22 -1 -1 +8 0 1 23 65 10 +8 0 1 24 64 11 +8 0 1 25 65 11 +8 0 1 26 64 12 +8 0 1 27 65 12 +8 0 1 28 64 13 +8 0 1 29 65 13 +8 0 1 30 64 14 +8 0 1 31 65 14 +8 0 1 32 64 15 +8 0 1 33 65 15 +8 0 1 34 64 16 +8 0 1 35 65 16 +8 0 1 36 64 17 +8 0 1 37 65 17 +8 0 1 38 64 18 +8 0 1 39 65 18 +8 0 1 40 64 19 +8 0 1 41 65 19 +8 0 1 42 64 20 +8 0 1 43 65 20 +8 0 1 44 64 21 +8 0 1 45 -1 -1 +8 0 1 46 65 21 +8 0 1 47 64 22 +8 0 1 48 65 22 +8 0 1 49 64 23 +8 0 1 50 65 23 +8 0 1 51 64 24 +8 0 1 52 65 24 +8 0 1 53 64 25 +8 0 1 54 65 25 +8 0 1 55 64 26 +8 0 1 56 -1 -1 +8 0 1 57 65 26 +8 0 1 58 64 27 +8 0 1 59 65 27 +8 0 1 60 64 28 +8 0 1 61 65 28 +8 0 1 62 64 29 +8 0 1 63 65 29 +8 0 1 64 64 30 +8 0 1 65 65 30 +8 0 1 66 64 31 +8 0 1 67 65 31 +8 0 2 0 66 32 +8 0 2 1 67 32 +8 0 2 2 66 33 +8 0 2 3 67 33 +8 0 2 4 66 34 +8 0 2 5 67 34 +8 0 2 6 66 35 +8 0 2 7 67 35 +8 0 2 8 66 36 +8 0 2 9 67 36 +8 0 2 10 66 37 +8 0 2 11 -1 -1 +8 0 2 12 67 37 +8 0 2 13 66 38 +8 0 2 14 67 38 +8 0 2 15 66 39 +8 0 2 16 67 39 +8 0 2 17 66 40 +8 0 2 18 67 40 +8 0 2 19 66 41 +8 0 2 20 67 41 +8 0 2 21 66 42 +8 0 2 22 -1 -1 +8 0 2 23 67 42 +8 0 2 24 66 43 +8 0 2 25 67 43 +8 0 2 26 66 44 +8 0 2 27 67 44 +8 0 2 28 66 45 +8 0 2 29 67 45 +8 0 2 30 66 46 +8 0 2 31 67 46 +8 0 2 32 66 47 +8 0 2 33 67 47 +8 0 2 34 66 48 +8 0 2 35 67 48 +8 0 2 36 66 49 +8 0 2 37 67 49 +8 0 2 38 66 50 +8 0 2 39 67 50 +8 0 2 40 66 51 +8 0 2 41 67 51 +8 0 2 42 66 52 +8 0 2 43 67 52 +8 0 2 44 66 53 +8 0 2 45 -1 -1 +8 0 2 46 67 53 +8 0 2 47 66 54 +8 0 2 48 67 54 +8 0 2 49 66 55 +8 0 2 50 67 55 +8 0 2 51 66 56 +8 0 2 52 67 56 +8 0 2 53 66 57 +8 0 2 54 67 57 +8 0 2 55 66 58 +8 0 2 56 -1 -1 +8 0 2 57 67 58 +8 0 2 58 66 59 +8 0 2 59 67 59 +8 0 2 60 66 60 +8 0 2 61 67 60 +8 0 2 62 66 61 +8 0 2 63 67 61 +8 0 2 64 66 62 +8 0 2 65 67 62 +8 0 2 66 66 63 +8 0 2 67 67 63 +8 0 3 0 66 0 +8 0 3 1 67 0 +8 0 3 2 66 1 +8 0 3 3 67 1 +8 0 3 4 66 2 +8 0 3 5 67 2 +8 0 3 6 66 3 +8 0 3 7 67 3 +8 0 3 8 66 4 +8 0 3 9 67 4 +8 0 3 10 66 5 +8 0 3 11 -1 -1 +8 0 3 12 67 5 +8 0 3 13 66 6 +8 0 3 14 67 6 +8 0 3 15 66 7 +8 0 3 16 67 7 +8 0 3 17 66 8 +8 0 3 18 67 8 +8 0 3 19 66 9 +8 0 3 20 67 9 +8 0 3 21 66 10 +8 0 3 22 -1 -1 +8 0 3 23 67 10 +8 0 3 24 66 11 +8 0 3 25 67 11 +8 0 3 26 66 12 +8 0 3 27 67 12 +8 0 3 28 66 13 +8 0 3 29 67 13 +8 0 3 30 66 14 +8 0 3 31 67 14 +8 0 3 32 66 15 +8 0 3 33 67 15 +8 0 3 34 66 16 +8 0 3 35 67 16 +8 0 3 36 66 17 +8 0 3 37 67 17 +8 0 3 38 66 18 +8 0 3 39 67 18 +8 0 3 40 66 19 +8 0 3 41 67 19 +8 0 3 42 66 20 +8 0 3 43 67 20 +8 0 3 44 66 21 +8 0 3 45 -1 -1 +8 0 3 46 67 21 +8 0 3 47 66 22 +8 0 3 48 67 22 +8 0 3 49 66 23 +8 0 3 50 67 23 +8 0 3 51 66 24 +8 0 3 52 67 24 +8 0 3 53 66 25 +8 0 3 54 67 25 +8 0 3 55 66 26 +8 0 3 56 -1 -1 +8 0 3 57 67 26 +8 0 3 58 66 27 +8 0 3 59 67 27 +8 0 3 60 66 28 +8 0 3 61 67 28 +8 0 3 62 66 29 +8 0 3 63 67 29 +8 0 3 64 66 30 +8 0 3 65 67 30 +8 0 3 66 66 31 +8 0 3 67 67 31 +8 1 0 0 67 95 +8 1 0 1 66 95 +8 1 0 2 67 94 +8 1 0 3 66 94 +8 1 0 4 67 93 +8 1 0 5 66 93 +8 1 0 6 67 92 +8 1 0 7 66 92 +8 1 0 8 67 91 +8 1 0 9 66 91 +8 1 0 10 67 90 +8 1 0 11 -1 -1 +8 1 0 12 66 90 +8 1 0 13 67 89 +8 1 0 14 66 89 +8 1 0 15 67 88 +8 1 0 16 66 88 +8 1 0 17 67 87 +8 1 0 18 66 87 +8 1 0 19 67 86 +8 1 0 20 66 86 +8 1 0 21 67 85 +8 1 0 22 -1 -1 +8 1 0 23 66 85 +8 1 0 24 67 84 +8 1 0 25 66 84 +8 1 0 26 67 83 +8 1 0 27 66 83 +8 1 0 28 67 82 +8 1 0 29 66 82 +8 1 0 30 67 81 +8 1 0 31 66 81 +8 1 0 32 67 80 +8 1 0 33 66 80 +8 1 0 34 67 79 +8 1 0 35 66 79 +8 1 0 36 67 78 +8 1 0 37 66 78 +8 1 0 38 67 77 +8 1 0 39 66 77 +8 1 0 40 67 76 +8 1 0 41 66 76 +8 1 0 42 67 75 +8 1 0 43 66 75 +8 1 0 44 67 74 +8 1 0 45 -1 -1 +8 1 0 46 66 74 +8 1 0 47 67 73 +8 1 0 48 66 73 +8 1 0 49 67 72 +8 1 0 50 66 72 +8 1 0 51 67 71 +8 1 0 52 66 71 +8 1 0 53 67 70 +8 1 0 54 66 70 +8 1 0 55 67 69 +8 1 0 56 -1 -1 +8 1 0 57 66 69 +8 1 0 58 67 68 +8 1 0 59 66 68 +8 1 0 60 67 67 +8 1 0 61 66 67 +8 1 0 62 67 66 +8 1 0 63 66 66 +8 1 0 64 67 65 +8 1 0 65 66 65 +8 1 0 66 67 64 +8 1 0 67 66 64 +8 1 1 0 67 127 +8 1 1 1 66 127 +8 1 1 2 67 126 +8 1 1 3 66 126 +8 1 1 4 67 125 +8 1 1 5 66 125 +8 1 1 6 67 124 +8 1 1 7 66 124 +8 1 1 8 67 123 +8 1 1 9 66 123 +8 1 1 10 67 122 +8 1 1 11 -1 -1 +8 1 1 12 66 122 +8 1 1 13 67 121 +8 1 1 14 66 121 +8 1 1 15 67 120 +8 1 1 16 66 120 +8 1 1 17 67 119 +8 1 1 18 66 119 +8 1 1 19 67 118 +8 1 1 20 66 118 +8 1 1 21 67 117 +8 1 1 22 -1 -1 +8 1 1 23 66 117 +8 1 1 24 67 116 +8 1 1 25 66 116 +8 1 1 26 67 115 +8 1 1 27 66 115 +8 1 1 28 67 114 +8 1 1 29 66 114 +8 1 1 30 67 113 +8 1 1 31 66 113 +8 1 1 32 67 112 +8 1 1 33 66 112 +8 1 1 34 67 111 +8 1 1 35 66 111 +8 1 1 36 67 110 +8 1 1 37 66 110 +8 1 1 38 67 109 +8 1 1 39 66 109 +8 1 1 40 67 108 +8 1 1 41 66 108 +8 1 1 42 67 107 +8 1 1 43 66 107 +8 1 1 44 67 106 +8 1 1 45 -1 -1 +8 1 1 46 66 106 +8 1 1 47 67 105 +8 1 1 48 66 105 +8 1 1 49 67 104 +8 1 1 50 66 104 +8 1 1 51 67 103 +8 1 1 52 66 103 +8 1 1 53 67 102 +8 1 1 54 66 102 +8 1 1 55 67 101 +8 1 1 56 -1 -1 +8 1 1 57 66 101 +8 1 1 58 67 100 +8 1 1 59 66 100 +8 1 1 60 67 99 +8 1 1 61 66 99 +8 1 1 62 67 98 +8 1 1 63 66 98 +8 1 1 64 67 97 +8 1 1 65 66 97 +8 1 1 66 67 96 +8 1 1 67 66 96 +8 1 2 0 65 95 +8 1 2 1 64 95 +8 1 2 2 65 94 +8 1 2 3 64 94 +8 1 2 4 65 93 +8 1 2 5 64 93 +8 1 2 6 65 92 +8 1 2 7 64 92 +8 1 2 8 65 91 +8 1 2 9 64 91 +8 1 2 10 65 90 +8 1 2 11 -1 -1 +8 1 2 12 64 90 +8 1 2 13 65 89 +8 1 2 14 64 89 +8 1 2 15 65 88 +8 1 2 16 64 88 +8 1 2 17 65 87 +8 1 2 18 64 87 +8 1 2 19 65 86 +8 1 2 20 64 86 +8 1 2 21 65 85 +8 1 2 22 -1 -1 +8 1 2 23 64 85 +8 1 2 24 65 84 +8 1 2 25 64 84 +8 1 2 26 65 83 +8 1 2 27 64 83 +8 1 2 28 65 82 +8 1 2 29 64 82 +8 1 2 30 65 81 +8 1 2 31 64 81 +8 1 2 32 65 80 +8 1 2 33 64 80 +8 1 2 34 65 79 +8 1 2 35 64 79 +8 1 2 36 65 78 +8 1 2 37 64 78 +8 1 2 38 65 77 +8 1 2 39 64 77 +8 1 2 40 65 76 +8 1 2 41 64 76 +8 1 2 42 65 75 +8 1 2 43 64 75 +8 1 2 44 65 74 +8 1 2 45 -1 -1 +8 1 2 46 64 74 +8 1 2 47 65 73 +8 1 2 48 64 73 +8 1 2 49 65 72 +8 1 2 50 64 72 +8 1 2 51 65 71 +8 1 2 52 64 71 +8 1 2 53 65 70 +8 1 2 54 64 70 +8 1 2 55 65 69 +8 1 2 56 -1 -1 +8 1 2 57 64 69 +8 1 2 58 65 68 +8 1 2 59 64 68 +8 1 2 60 65 67 +8 1 2 61 64 67 +8 1 2 62 65 66 +8 1 2 63 64 66 +8 1 2 64 65 65 +8 1 2 65 64 65 +8 1 2 66 65 64 +8 1 2 67 64 64 +8 1 3 0 65 127 +8 1 3 1 64 127 +8 1 3 2 65 126 +8 1 3 3 64 126 +8 1 3 4 65 125 +8 1 3 5 64 125 +8 1 3 6 65 124 +8 1 3 7 64 124 +8 1 3 8 65 123 +8 1 3 9 64 123 +8 1 3 10 65 122 +8 1 3 11 -1 -1 +8 1 3 12 64 122 +8 1 3 13 65 121 +8 1 3 14 64 121 +8 1 3 15 65 120 +8 1 3 16 64 120 +8 1 3 17 65 119 +8 1 3 18 64 119 +8 1 3 19 65 118 +8 1 3 20 64 118 +8 1 3 21 65 117 +8 1 3 22 -1 -1 +8 1 3 23 64 117 +8 1 3 24 65 116 +8 1 3 25 64 116 +8 1 3 26 65 115 +8 1 3 27 64 115 +8 1 3 28 65 114 +8 1 3 29 64 114 +8 1 3 30 65 113 +8 1 3 31 64 113 +8 1 3 32 65 112 +8 1 3 33 64 112 +8 1 3 34 65 111 +8 1 3 35 64 111 +8 1 3 36 65 110 +8 1 3 37 64 110 +8 1 3 38 65 109 +8 1 3 39 64 109 +8 1 3 40 65 108 +8 1 3 41 64 108 +8 1 3 42 65 107 +8 1 3 43 64 107 +8 1 3 44 65 106 +8 1 3 45 -1 -1 +8 1 3 46 64 106 +8 1 3 47 65 105 +8 1 3 48 64 105 +8 1 3 49 65 104 +8 1 3 50 64 104 +8 1 3 51 65 103 +8 1 3 52 64 103 +8 1 3 53 65 102 +8 1 3 54 64 102 +8 1 3 55 65 101 +8 1 3 56 -1 -1 +8 1 3 57 64 101 +8 1 3 58 65 100 +8 1 3 59 64 100 +8 1 3 60 65 99 +8 1 3 61 64 99 +8 1 3 62 65 98 +8 1 3 63 64 98 +8 1 3 64 65 97 +8 1 3 65 64 97 +8 1 3 66 65 96 +8 1 3 67 64 96 +8 2 0 0 68 32 +8 2 0 1 69 32 +8 2 0 2 68 33 +8 2 0 3 69 33 +8 2 0 4 68 34 +8 2 0 5 69 34 +8 2 0 6 68 35 +8 2 0 7 69 35 +8 2 0 8 68 36 +8 2 0 9 69 36 +8 2 0 10 68 37 +8 2 0 11 -1 -1 +8 2 0 12 69 37 +8 2 0 13 68 38 +8 2 0 14 69 38 +8 2 0 15 68 39 +8 2 0 16 69 39 +8 2 0 17 68 40 +8 2 0 18 69 40 +8 2 0 19 68 41 +8 2 0 20 69 41 +8 2 0 21 68 42 +8 2 0 22 -1 -1 +8 2 0 23 69 42 +8 2 0 24 68 43 +8 2 0 25 69 43 +8 2 0 26 68 44 +8 2 0 27 69 44 +8 2 0 28 68 45 +8 2 0 29 69 45 +8 2 0 30 68 46 +8 2 0 31 69 46 +8 2 0 32 68 47 +8 2 0 33 69 47 +8 2 0 34 68 48 +8 2 0 35 69 48 +8 2 0 36 68 49 +8 2 0 37 69 49 +8 2 0 38 68 50 +8 2 0 39 69 50 +8 2 0 40 68 51 +8 2 0 41 69 51 +8 2 0 42 68 52 +8 2 0 43 69 52 +8 2 0 44 68 53 +8 2 0 45 -1 -1 +8 2 0 46 69 53 +8 2 0 47 68 54 +8 2 0 48 69 54 +8 2 0 49 68 55 +8 2 0 50 69 55 +8 2 0 51 68 56 +8 2 0 52 69 56 +8 2 0 53 68 57 +8 2 0 54 69 57 +8 2 0 55 68 58 +8 2 0 56 -1 -1 +8 2 0 57 69 58 +8 2 0 58 68 59 +8 2 0 59 69 59 +8 2 0 60 68 60 +8 2 0 61 69 60 +8 2 0 62 68 61 +8 2 0 63 69 61 +8 2 0 64 68 62 +8 2 0 65 69 62 +8 2 0 66 68 63 +8 2 0 67 69 63 +8 2 1 0 68 0 +8 2 1 1 69 0 +8 2 1 2 68 1 +8 2 1 3 69 1 +8 2 1 4 68 2 +8 2 1 5 69 2 +8 2 1 6 68 3 +8 2 1 7 69 3 +8 2 1 8 68 4 +8 2 1 9 69 4 +8 2 1 10 68 5 +8 2 1 11 -1 -1 +8 2 1 12 69 5 +8 2 1 13 68 6 +8 2 1 14 69 6 +8 2 1 15 68 7 +8 2 1 16 69 7 +8 2 1 17 68 8 +8 2 1 18 69 8 +8 2 1 19 68 9 +8 2 1 20 69 9 +8 2 1 21 68 10 +8 2 1 22 -1 -1 +8 2 1 23 69 10 +8 2 1 24 68 11 +8 2 1 25 69 11 +8 2 1 26 68 12 +8 2 1 27 69 12 +8 2 1 28 68 13 +8 2 1 29 69 13 +8 2 1 30 68 14 +8 2 1 31 69 14 +8 2 1 32 68 15 +8 2 1 33 69 15 +8 2 1 34 68 16 +8 2 1 35 69 16 +8 2 1 36 68 17 +8 2 1 37 69 17 +8 2 1 38 68 18 +8 2 1 39 69 18 +8 2 1 40 68 19 +8 2 1 41 69 19 +8 2 1 42 68 20 +8 2 1 43 69 20 +8 2 1 44 68 21 +8 2 1 45 -1 -1 +8 2 1 46 69 21 +8 2 1 47 68 22 +8 2 1 48 69 22 +8 2 1 49 68 23 +8 2 1 50 69 23 +8 2 1 51 68 24 +8 2 1 52 69 24 +8 2 1 53 68 25 +8 2 1 54 69 25 +8 2 1 55 68 26 +8 2 1 56 -1 -1 +8 2 1 57 69 26 +8 2 1 58 68 27 +8 2 1 59 69 27 +8 2 1 60 68 28 +8 2 1 61 69 28 +8 2 1 62 68 29 +8 2 1 63 69 29 +8 2 1 64 68 30 +8 2 1 65 69 30 +8 2 1 66 68 31 +8 2 1 67 69 31 +8 2 2 0 70 32 +8 2 2 1 71 32 +8 2 2 2 70 33 +8 2 2 3 71 33 +8 2 2 4 70 34 +8 2 2 5 71 34 +8 2 2 6 70 35 +8 2 2 7 71 35 +8 2 2 8 70 36 +8 2 2 9 71 36 +8 2 2 10 70 37 +8 2 2 11 -1 -1 +8 2 2 12 71 37 +8 2 2 13 70 38 +8 2 2 14 71 38 +8 2 2 15 70 39 +8 2 2 16 71 39 +8 2 2 17 70 40 +8 2 2 18 71 40 +8 2 2 19 70 41 +8 2 2 20 71 41 +8 2 2 21 70 42 +8 2 2 22 -1 -1 +8 2 2 23 71 42 +8 2 2 24 70 43 +8 2 2 25 71 43 +8 2 2 26 70 44 +8 2 2 27 71 44 +8 2 2 28 70 45 +8 2 2 29 71 45 +8 2 2 30 70 46 +8 2 2 31 71 46 +8 2 2 32 70 47 +8 2 2 33 71 47 +8 2 2 34 70 48 +8 2 2 35 71 48 +8 2 2 36 70 49 +8 2 2 37 71 49 +8 2 2 38 70 50 +8 2 2 39 71 50 +8 2 2 40 70 51 +8 2 2 41 71 51 +8 2 2 42 70 52 +8 2 2 43 71 52 +8 2 2 44 70 53 +8 2 2 45 -1 -1 +8 2 2 46 71 53 +8 2 2 47 70 54 +8 2 2 48 71 54 +8 2 2 49 70 55 +8 2 2 50 71 55 +8 2 2 51 70 56 +8 2 2 52 71 56 +8 2 2 53 70 57 +8 2 2 54 71 57 +8 2 2 55 70 58 +8 2 2 56 -1 -1 +8 2 2 57 71 58 +8 2 2 58 70 59 +8 2 2 59 71 59 +8 2 2 60 70 60 +8 2 2 61 71 60 +8 2 2 62 70 61 +8 2 2 63 71 61 +8 2 2 64 70 62 +8 2 2 65 71 62 +8 2 2 66 70 63 +8 2 2 67 71 63 +8 2 3 0 70 0 +8 2 3 1 71 0 +8 2 3 2 70 1 +8 2 3 3 71 1 +8 2 3 4 70 2 +8 2 3 5 71 2 +8 2 3 6 70 3 +8 2 3 7 71 3 +8 2 3 8 70 4 +8 2 3 9 71 4 +8 2 3 10 70 5 +8 2 3 11 -1 -1 +8 2 3 12 71 5 +8 2 3 13 70 6 +8 2 3 14 71 6 +8 2 3 15 70 7 +8 2 3 16 71 7 +8 2 3 17 70 8 +8 2 3 18 71 8 +8 2 3 19 70 9 +8 2 3 20 71 9 +8 2 3 21 70 10 +8 2 3 22 -1 -1 +8 2 3 23 71 10 +8 2 3 24 70 11 +8 2 3 25 71 11 +8 2 3 26 70 12 +8 2 3 27 71 12 +8 2 3 28 70 13 +8 2 3 29 71 13 +8 2 3 30 70 14 +8 2 3 31 71 14 +8 2 3 32 70 15 +8 2 3 33 71 15 +8 2 3 34 70 16 +8 2 3 35 71 16 +8 2 3 36 70 17 +8 2 3 37 71 17 +8 2 3 38 70 18 +8 2 3 39 71 18 +8 2 3 40 70 19 +8 2 3 41 71 19 +8 2 3 42 70 20 +8 2 3 43 71 20 +8 2 3 44 70 21 +8 2 3 45 -1 -1 +8 2 3 46 71 21 +8 2 3 47 70 22 +8 2 3 48 71 22 +8 2 3 49 70 23 +8 2 3 50 71 23 +8 2 3 51 70 24 +8 2 3 52 71 24 +8 2 3 53 70 25 +8 2 3 54 71 25 +8 2 3 55 70 26 +8 2 3 56 -1 -1 +8 2 3 57 71 26 +8 2 3 58 70 27 +8 2 3 59 71 27 +8 2 3 60 70 28 +8 2 3 61 71 28 +8 2 3 62 70 29 +8 2 3 63 71 29 +8 2 3 64 70 30 +8 2 3 65 71 30 +8 2 3 66 70 31 +8 2 3 67 71 31 +8 3 0 0 71 95 +8 3 0 1 70 95 +8 3 0 2 71 94 +8 3 0 3 70 94 +8 3 0 4 71 93 +8 3 0 5 70 93 +8 3 0 6 71 92 +8 3 0 7 70 92 +8 3 0 8 71 91 +8 3 0 9 70 91 +8 3 0 10 71 90 +8 3 0 11 -1 -1 +8 3 0 12 70 90 +8 3 0 13 71 89 +8 3 0 14 70 89 +8 3 0 15 71 88 +8 3 0 16 70 88 +8 3 0 17 71 87 +8 3 0 18 70 87 +8 3 0 19 71 86 +8 3 0 20 70 86 +8 3 0 21 71 85 +8 3 0 22 -1 -1 +8 3 0 23 70 85 +8 3 0 24 71 84 +8 3 0 25 70 84 +8 3 0 26 71 83 +8 3 0 27 70 83 +8 3 0 28 71 82 +8 3 0 29 70 82 +8 3 0 30 71 81 +8 3 0 31 70 81 +8 3 0 32 71 80 +8 3 0 33 70 80 +8 3 0 34 71 79 +8 3 0 35 70 79 +8 3 0 36 71 78 +8 3 0 37 70 78 +8 3 0 38 71 77 +8 3 0 39 70 77 +8 3 0 40 71 76 +8 3 0 41 70 76 +8 3 0 42 71 75 +8 3 0 43 70 75 +8 3 0 44 71 74 +8 3 0 45 -1 -1 +8 3 0 46 70 74 +8 3 0 47 71 73 +8 3 0 48 70 73 +8 3 0 49 71 72 +8 3 0 50 70 72 +8 3 0 51 71 71 +8 3 0 52 70 71 +8 3 0 53 71 70 +8 3 0 54 70 70 +8 3 0 55 71 69 +8 3 0 56 -1 -1 +8 3 0 57 70 69 +8 3 0 58 71 68 +8 3 0 59 70 68 +8 3 0 60 71 67 +8 3 0 61 70 67 +8 3 0 62 71 66 +8 3 0 63 70 66 +8 3 0 64 71 65 +8 3 0 65 70 65 +8 3 0 66 71 64 +8 3 0 67 70 64 +8 3 1 0 71 127 +8 3 1 1 70 127 +8 3 1 2 71 126 +8 3 1 3 70 126 +8 3 1 4 71 125 +8 3 1 5 70 125 +8 3 1 6 71 124 +8 3 1 7 70 124 +8 3 1 8 71 123 +8 3 1 9 70 123 +8 3 1 10 71 122 +8 3 1 11 -1 -1 +8 3 1 12 70 122 +8 3 1 13 71 121 +8 3 1 14 70 121 +8 3 1 15 71 120 +8 3 1 16 70 120 +8 3 1 17 71 119 +8 3 1 18 70 119 +8 3 1 19 71 118 +8 3 1 20 70 118 +8 3 1 21 71 117 +8 3 1 22 -1 -1 +8 3 1 23 70 117 +8 3 1 24 71 116 +8 3 1 25 70 116 +8 3 1 26 71 115 +8 3 1 27 70 115 +8 3 1 28 71 114 +8 3 1 29 70 114 +8 3 1 30 71 113 +8 3 1 31 70 113 +8 3 1 32 71 112 +8 3 1 33 70 112 +8 3 1 34 71 111 +8 3 1 35 70 111 +8 3 1 36 71 110 +8 3 1 37 70 110 +8 3 1 38 71 109 +8 3 1 39 70 109 +8 3 1 40 71 108 +8 3 1 41 70 108 +8 3 1 42 71 107 +8 3 1 43 70 107 +8 3 1 44 71 106 +8 3 1 45 -1 -1 +8 3 1 46 70 106 +8 3 1 47 71 105 +8 3 1 48 70 105 +8 3 1 49 71 104 +8 3 1 50 70 104 +8 3 1 51 71 103 +8 3 1 52 70 103 +8 3 1 53 71 102 +8 3 1 54 70 102 +8 3 1 55 71 101 +8 3 1 56 -1 -1 +8 3 1 57 70 101 +8 3 1 58 71 100 +8 3 1 59 70 100 +8 3 1 60 71 99 +8 3 1 61 70 99 +8 3 1 62 71 98 +8 3 1 63 70 98 +8 3 1 64 71 97 +8 3 1 65 70 97 +8 3 1 66 71 96 +8 3 1 67 70 96 +8 3 2 0 69 95 +8 3 2 1 68 95 +8 3 2 2 69 94 +8 3 2 3 68 94 +8 3 2 4 69 93 +8 3 2 5 68 93 +8 3 2 6 69 92 +8 3 2 7 68 92 +8 3 2 8 69 91 +8 3 2 9 68 91 +8 3 2 10 69 90 +8 3 2 11 -1 -1 +8 3 2 12 68 90 +8 3 2 13 69 89 +8 3 2 14 68 89 +8 3 2 15 69 88 +8 3 2 16 68 88 +8 3 2 17 69 87 +8 3 2 18 68 87 +8 3 2 19 69 86 +8 3 2 20 68 86 +8 3 2 21 69 85 +8 3 2 22 -1 -1 +8 3 2 23 68 85 +8 3 2 24 69 84 +8 3 2 25 68 84 +8 3 2 26 69 83 +8 3 2 27 68 83 +8 3 2 28 69 82 +8 3 2 29 68 82 +8 3 2 30 69 81 +8 3 2 31 68 81 +8 3 2 32 69 80 +8 3 2 33 68 80 +8 3 2 34 69 79 +8 3 2 35 68 79 +8 3 2 36 69 78 +8 3 2 37 68 78 +8 3 2 38 69 77 +8 3 2 39 68 77 +8 3 2 40 69 76 +8 3 2 41 68 76 +8 3 2 42 69 75 +8 3 2 43 68 75 +8 3 2 44 69 74 +8 3 2 45 -1 -1 +8 3 2 46 68 74 +8 3 2 47 69 73 +8 3 2 48 68 73 +8 3 2 49 69 72 +8 3 2 50 68 72 +8 3 2 51 69 71 +8 3 2 52 68 71 +8 3 2 53 69 70 +8 3 2 54 68 70 +8 3 2 55 69 69 +8 3 2 56 -1 -1 +8 3 2 57 68 69 +8 3 2 58 69 68 +8 3 2 59 68 68 +8 3 2 60 69 67 +8 3 2 61 68 67 +8 3 2 62 69 66 +8 3 2 63 68 66 +8 3 2 64 69 65 +8 3 2 65 68 65 +8 3 2 66 69 64 +8 3 2 67 68 64 +8 3 3 0 69 127 +8 3 3 1 68 127 +8 3 3 2 69 126 +8 3 3 3 68 126 +8 3 3 4 69 125 +8 3 3 5 68 125 +8 3 3 6 69 124 +8 3 3 7 68 124 +8 3 3 8 69 123 +8 3 3 9 68 123 +8 3 3 10 69 122 +8 3 3 11 -1 -1 +8 3 3 12 68 122 +8 3 3 13 69 121 +8 3 3 14 68 121 +8 3 3 15 69 120 +8 3 3 16 68 120 +8 3 3 17 69 119 +8 3 3 18 68 119 +8 3 3 19 69 118 +8 3 3 20 68 118 +8 3 3 21 69 117 +8 3 3 22 -1 -1 +8 3 3 23 68 117 +8 3 3 24 69 116 +8 3 3 25 68 116 +8 3 3 26 69 115 +8 3 3 27 68 115 +8 3 3 28 69 114 +8 3 3 29 68 114 +8 3 3 30 69 113 +8 3 3 31 68 113 +8 3 3 32 69 112 +8 3 3 33 68 112 +8 3 3 34 69 111 +8 3 3 35 68 111 +8 3 3 36 69 110 +8 3 3 37 68 110 +8 3 3 38 69 109 +8 3 3 39 68 109 +8 3 3 40 69 108 +8 3 3 41 68 108 +8 3 3 42 69 107 +8 3 3 43 68 107 +8 3 3 44 69 106 +8 3 3 45 -1 -1 +8 3 3 46 68 106 +8 3 3 47 69 105 +8 3 3 48 68 105 +8 3 3 49 69 104 +8 3 3 50 68 104 +8 3 3 51 69 103 +8 3 3 52 68 103 +8 3 3 53 69 102 +8 3 3 54 68 102 +8 3 3 55 69 101 +8 3 3 56 -1 -1 +8 3 3 57 68 101 +8 3 3 58 69 100 +8 3 3 59 68 100 +8 3 3 60 69 99 +8 3 3 61 68 99 +8 3 3 62 69 98 +8 3 3 63 68 98 +8 3 3 64 69 97 +8 3 3 65 68 97 +8 3 3 66 69 96 +8 3 3 67 68 96 +9 0 0 0 72 32 +9 0 0 1 73 32 +9 0 0 2 72 33 +9 0 0 3 73 33 +9 0 0 4 72 34 +9 0 0 5 73 34 +9 0 0 6 72 35 +9 0 0 7 73 35 +9 0 0 8 72 36 +9 0 0 9 73 36 +9 0 0 10 72 37 +9 0 0 11 -1 -1 +9 0 0 12 73 37 +9 0 0 13 72 38 +9 0 0 14 73 38 +9 0 0 15 72 39 +9 0 0 16 73 39 +9 0 0 17 72 40 +9 0 0 18 73 40 +9 0 0 19 72 41 +9 0 0 20 73 41 +9 0 0 21 72 42 +9 0 0 22 -1 -1 +9 0 0 23 73 42 +9 0 0 24 72 43 +9 0 0 25 73 43 +9 0 0 26 72 44 +9 0 0 27 73 44 +9 0 0 28 72 45 +9 0 0 29 73 45 +9 0 0 30 72 46 +9 0 0 31 73 46 +9 0 0 32 72 47 +9 0 0 33 73 47 +9 0 0 34 72 48 +9 0 0 35 73 48 +9 0 0 36 72 49 +9 0 0 37 73 49 +9 0 0 38 72 50 +9 0 0 39 73 50 +9 0 0 40 72 51 +9 0 0 41 73 51 +9 0 0 42 72 52 +9 0 0 43 73 52 +9 0 0 44 72 53 +9 0 0 45 -1 -1 +9 0 0 46 73 53 +9 0 0 47 72 54 +9 0 0 48 73 54 +9 0 0 49 72 55 +9 0 0 50 73 55 +9 0 0 51 72 56 +9 0 0 52 73 56 +9 0 0 53 72 57 +9 0 0 54 73 57 +9 0 0 55 72 58 +9 0 0 56 -1 -1 +9 0 0 57 73 58 +9 0 0 58 72 59 +9 0 0 59 73 59 +9 0 0 60 72 60 +9 0 0 61 73 60 +9 0 0 62 72 61 +9 0 0 63 73 61 +9 0 0 64 72 62 +9 0 0 65 73 62 +9 0 0 66 72 63 +9 0 0 67 73 63 +9 0 1 0 72 0 +9 0 1 1 73 0 +9 0 1 2 72 1 +9 0 1 3 73 1 +9 0 1 4 72 2 +9 0 1 5 73 2 +9 0 1 6 72 3 +9 0 1 7 73 3 +9 0 1 8 72 4 +9 0 1 9 73 4 +9 0 1 10 72 5 +9 0 1 11 -1 -1 +9 0 1 12 73 5 +9 0 1 13 72 6 +9 0 1 14 73 6 +9 0 1 15 72 7 +9 0 1 16 73 7 +9 0 1 17 72 8 +9 0 1 18 73 8 +9 0 1 19 72 9 +9 0 1 20 73 9 +9 0 1 21 72 10 +9 0 1 22 -1 -1 +9 0 1 23 73 10 +9 0 1 24 72 11 +9 0 1 25 73 11 +9 0 1 26 72 12 +9 0 1 27 73 12 +9 0 1 28 72 13 +9 0 1 29 73 13 +9 0 1 30 72 14 +9 0 1 31 73 14 +9 0 1 32 72 15 +9 0 1 33 73 15 +9 0 1 34 72 16 +9 0 1 35 73 16 +9 0 1 36 72 17 +9 0 1 37 73 17 +9 0 1 38 72 18 +9 0 1 39 73 18 +9 0 1 40 72 19 +9 0 1 41 73 19 +9 0 1 42 72 20 +9 0 1 43 73 20 +9 0 1 44 72 21 +9 0 1 45 -1 -1 +9 0 1 46 73 21 +9 0 1 47 72 22 +9 0 1 48 73 22 +9 0 1 49 72 23 +9 0 1 50 73 23 +9 0 1 51 72 24 +9 0 1 52 73 24 +9 0 1 53 72 25 +9 0 1 54 73 25 +9 0 1 55 72 26 +9 0 1 56 -1 -1 +9 0 1 57 73 26 +9 0 1 58 72 27 +9 0 1 59 73 27 +9 0 1 60 72 28 +9 0 1 61 73 28 +9 0 1 62 72 29 +9 0 1 63 73 29 +9 0 1 64 72 30 +9 0 1 65 73 30 +9 0 1 66 72 31 +9 0 1 67 73 31 +9 0 2 0 74 32 +9 0 2 1 75 32 +9 0 2 2 74 33 +9 0 2 3 75 33 +9 0 2 4 74 34 +9 0 2 5 75 34 +9 0 2 6 74 35 +9 0 2 7 75 35 +9 0 2 8 74 36 +9 0 2 9 75 36 +9 0 2 10 74 37 +9 0 2 11 -1 -1 +9 0 2 12 75 37 +9 0 2 13 74 38 +9 0 2 14 75 38 +9 0 2 15 74 39 +9 0 2 16 75 39 +9 0 2 17 74 40 +9 0 2 18 75 40 +9 0 2 19 74 41 +9 0 2 20 75 41 +9 0 2 21 74 42 +9 0 2 22 -1 -1 +9 0 2 23 75 42 +9 0 2 24 74 43 +9 0 2 25 75 43 +9 0 2 26 74 44 +9 0 2 27 75 44 +9 0 2 28 74 45 +9 0 2 29 75 45 +9 0 2 30 74 46 +9 0 2 31 75 46 +9 0 2 32 74 47 +9 0 2 33 75 47 +9 0 2 34 74 48 +9 0 2 35 75 48 +9 0 2 36 74 49 +9 0 2 37 75 49 +9 0 2 38 74 50 +9 0 2 39 75 50 +9 0 2 40 74 51 +9 0 2 41 75 51 +9 0 2 42 74 52 +9 0 2 43 75 52 +9 0 2 44 74 53 +9 0 2 45 -1 -1 +9 0 2 46 75 53 +9 0 2 47 74 54 +9 0 2 48 75 54 +9 0 2 49 74 55 +9 0 2 50 75 55 +9 0 2 51 74 56 +9 0 2 52 75 56 +9 0 2 53 74 57 +9 0 2 54 75 57 +9 0 2 55 74 58 +9 0 2 56 -1 -1 +9 0 2 57 75 58 +9 0 2 58 74 59 +9 0 2 59 75 59 +9 0 2 60 74 60 +9 0 2 61 75 60 +9 0 2 62 74 61 +9 0 2 63 75 61 +9 0 2 64 74 62 +9 0 2 65 75 62 +9 0 2 66 74 63 +9 0 2 67 75 63 +9 0 3 0 74 0 +9 0 3 1 75 0 +9 0 3 2 74 1 +9 0 3 3 75 1 +9 0 3 4 74 2 +9 0 3 5 75 2 +9 0 3 6 74 3 +9 0 3 7 75 3 +9 0 3 8 74 4 +9 0 3 9 75 4 +9 0 3 10 74 5 +9 0 3 11 -1 -1 +9 0 3 12 75 5 +9 0 3 13 74 6 +9 0 3 14 75 6 +9 0 3 15 74 7 +9 0 3 16 75 7 +9 0 3 17 74 8 +9 0 3 18 75 8 +9 0 3 19 74 9 +9 0 3 20 75 9 +9 0 3 21 74 10 +9 0 3 22 -1 -1 +9 0 3 23 75 10 +9 0 3 24 74 11 +9 0 3 25 75 11 +9 0 3 26 74 12 +9 0 3 27 75 12 +9 0 3 28 74 13 +9 0 3 29 75 13 +9 0 3 30 74 14 +9 0 3 31 75 14 +9 0 3 32 74 15 +9 0 3 33 75 15 +9 0 3 34 74 16 +9 0 3 35 75 16 +9 0 3 36 74 17 +9 0 3 37 75 17 +9 0 3 38 74 18 +9 0 3 39 75 18 +9 0 3 40 74 19 +9 0 3 41 75 19 +9 0 3 42 74 20 +9 0 3 43 75 20 +9 0 3 44 74 21 +9 0 3 45 -1 -1 +9 0 3 46 75 21 +9 0 3 47 74 22 +9 0 3 48 75 22 +9 0 3 49 74 23 +9 0 3 50 75 23 +9 0 3 51 74 24 +9 0 3 52 75 24 +9 0 3 53 74 25 +9 0 3 54 75 25 +9 0 3 55 74 26 +9 0 3 56 -1 -1 +9 0 3 57 75 26 +9 0 3 58 74 27 +9 0 3 59 75 27 +9 0 3 60 74 28 +9 0 3 61 75 28 +9 0 3 62 74 29 +9 0 3 63 75 29 +9 0 3 64 74 30 +9 0 3 65 75 30 +9 0 3 66 74 31 +9 0 3 67 75 31 +9 1 0 0 75 95 +9 1 0 1 74 95 +9 1 0 2 75 94 +9 1 0 3 74 94 +9 1 0 4 75 93 +9 1 0 5 74 93 +9 1 0 6 75 92 +9 1 0 7 74 92 +9 1 0 8 75 91 +9 1 0 9 74 91 +9 1 0 10 75 90 +9 1 0 11 -1 -1 +9 1 0 12 74 90 +9 1 0 13 75 89 +9 1 0 14 74 89 +9 1 0 15 75 88 +9 1 0 16 74 88 +9 1 0 17 75 87 +9 1 0 18 74 87 +9 1 0 19 75 86 +9 1 0 20 74 86 +9 1 0 21 75 85 +9 1 0 22 -1 -1 +9 1 0 23 74 85 +9 1 0 24 75 84 +9 1 0 25 74 84 +9 1 0 26 75 83 +9 1 0 27 74 83 +9 1 0 28 75 82 +9 1 0 29 74 82 +9 1 0 30 75 81 +9 1 0 31 74 81 +9 1 0 32 75 80 +9 1 0 33 74 80 +9 1 0 34 75 79 +9 1 0 35 74 79 +9 1 0 36 75 78 +9 1 0 37 74 78 +9 1 0 38 75 77 +9 1 0 39 74 77 +9 1 0 40 75 76 +9 1 0 41 74 76 +9 1 0 42 75 75 +9 1 0 43 74 75 +9 1 0 44 75 74 +9 1 0 45 -1 -1 +9 1 0 46 74 74 +9 1 0 47 75 73 +9 1 0 48 74 73 +9 1 0 49 75 72 +9 1 0 50 74 72 +9 1 0 51 75 71 +9 1 0 52 74 71 +9 1 0 53 75 70 +9 1 0 54 74 70 +9 1 0 55 75 69 +9 1 0 56 -1 -1 +9 1 0 57 74 69 +9 1 0 58 75 68 +9 1 0 59 74 68 +9 1 0 60 75 67 +9 1 0 61 74 67 +9 1 0 62 75 66 +9 1 0 63 74 66 +9 1 0 64 75 65 +9 1 0 65 74 65 +9 1 0 66 75 64 +9 1 0 67 74 64 +9 1 1 0 75 127 +9 1 1 1 74 127 +9 1 1 2 75 126 +9 1 1 3 74 126 +9 1 1 4 75 125 +9 1 1 5 74 125 +9 1 1 6 75 124 +9 1 1 7 74 124 +9 1 1 8 75 123 +9 1 1 9 74 123 +9 1 1 10 75 122 +9 1 1 11 -1 -1 +9 1 1 12 74 122 +9 1 1 13 75 121 +9 1 1 14 74 121 +9 1 1 15 75 120 +9 1 1 16 74 120 +9 1 1 17 75 119 +9 1 1 18 74 119 +9 1 1 19 75 118 +9 1 1 20 74 118 +9 1 1 21 75 117 +9 1 1 22 -1 -1 +9 1 1 23 74 117 +9 1 1 24 75 116 +9 1 1 25 74 116 +9 1 1 26 75 115 +9 1 1 27 74 115 +9 1 1 28 75 114 +9 1 1 29 74 114 +9 1 1 30 75 113 +9 1 1 31 74 113 +9 1 1 32 75 112 +9 1 1 33 74 112 +9 1 1 34 75 111 +9 1 1 35 74 111 +9 1 1 36 75 110 +9 1 1 37 74 110 +9 1 1 38 75 109 +9 1 1 39 74 109 +9 1 1 40 75 108 +9 1 1 41 74 108 +9 1 1 42 75 107 +9 1 1 43 74 107 +9 1 1 44 75 106 +9 1 1 45 -1 -1 +9 1 1 46 74 106 +9 1 1 47 75 105 +9 1 1 48 74 105 +9 1 1 49 75 104 +9 1 1 50 74 104 +9 1 1 51 75 103 +9 1 1 52 74 103 +9 1 1 53 75 102 +9 1 1 54 74 102 +9 1 1 55 75 101 +9 1 1 56 -1 -1 +9 1 1 57 74 101 +9 1 1 58 75 100 +9 1 1 59 74 100 +9 1 1 60 75 99 +9 1 1 61 74 99 +9 1 1 62 75 98 +9 1 1 63 74 98 +9 1 1 64 75 97 +9 1 1 65 74 97 +9 1 1 66 75 96 +9 1 1 67 74 96 +9 1 2 0 73 95 +9 1 2 1 72 95 +9 1 2 2 73 94 +9 1 2 3 72 94 +9 1 2 4 73 93 +9 1 2 5 72 93 +9 1 2 6 73 92 +9 1 2 7 72 92 +9 1 2 8 73 91 +9 1 2 9 72 91 +9 1 2 10 73 90 +9 1 2 11 -1 -1 +9 1 2 12 72 90 +9 1 2 13 73 89 +9 1 2 14 72 89 +9 1 2 15 73 88 +9 1 2 16 72 88 +9 1 2 17 73 87 +9 1 2 18 72 87 +9 1 2 19 73 86 +9 1 2 20 72 86 +9 1 2 21 73 85 +9 1 2 22 -1 -1 +9 1 2 23 72 85 +9 1 2 24 73 84 +9 1 2 25 72 84 +9 1 2 26 73 83 +9 1 2 27 72 83 +9 1 2 28 73 82 +9 1 2 29 72 82 +9 1 2 30 73 81 +9 1 2 31 72 81 +9 1 2 32 73 80 +9 1 2 33 72 80 +9 1 2 34 73 79 +9 1 2 35 72 79 +9 1 2 36 73 78 +9 1 2 37 72 78 +9 1 2 38 73 77 +9 1 2 39 72 77 +9 1 2 40 73 76 +9 1 2 41 72 76 +9 1 2 42 73 75 +9 1 2 43 72 75 +9 1 2 44 73 74 +9 1 2 45 -1 -1 +9 1 2 46 72 74 +9 1 2 47 73 73 +9 1 2 48 72 73 +9 1 2 49 73 72 +9 1 2 50 72 72 +9 1 2 51 73 71 +9 1 2 52 72 71 +9 1 2 53 73 70 +9 1 2 54 72 70 +9 1 2 55 73 69 +9 1 2 56 -1 -1 +9 1 2 57 72 69 +9 1 2 58 73 68 +9 1 2 59 72 68 +9 1 2 60 73 67 +9 1 2 61 72 67 +9 1 2 62 73 66 +9 1 2 63 72 66 +9 1 2 64 73 65 +9 1 2 65 72 65 +9 1 2 66 73 64 +9 1 2 67 72 64 +9 1 3 0 73 127 +9 1 3 1 72 127 +9 1 3 2 73 126 +9 1 3 3 72 126 +9 1 3 4 73 125 +9 1 3 5 72 125 +9 1 3 6 73 124 +9 1 3 7 72 124 +9 1 3 8 73 123 +9 1 3 9 72 123 +9 1 3 10 73 122 +9 1 3 11 -1 -1 +9 1 3 12 72 122 +9 1 3 13 73 121 +9 1 3 14 72 121 +9 1 3 15 73 120 +9 1 3 16 72 120 +9 1 3 17 73 119 +9 1 3 18 72 119 +9 1 3 19 73 118 +9 1 3 20 72 118 +9 1 3 21 73 117 +9 1 3 22 -1 -1 +9 1 3 23 72 117 +9 1 3 24 73 116 +9 1 3 25 72 116 +9 1 3 26 73 115 +9 1 3 27 72 115 +9 1 3 28 73 114 +9 1 3 29 72 114 +9 1 3 30 73 113 +9 1 3 31 72 113 +9 1 3 32 73 112 +9 1 3 33 72 112 +9 1 3 34 73 111 +9 1 3 35 72 111 +9 1 3 36 73 110 +9 1 3 37 72 110 +9 1 3 38 73 109 +9 1 3 39 72 109 +9 1 3 40 73 108 +9 1 3 41 72 108 +9 1 3 42 73 107 +9 1 3 43 72 107 +9 1 3 44 73 106 +9 1 3 45 -1 -1 +9 1 3 46 72 106 +9 1 3 47 73 105 +9 1 3 48 72 105 +9 1 3 49 73 104 +9 1 3 50 72 104 +9 1 3 51 73 103 +9 1 3 52 72 103 +9 1 3 53 73 102 +9 1 3 54 72 102 +9 1 3 55 73 101 +9 1 3 56 -1 -1 +9 1 3 57 72 101 +9 1 3 58 73 100 +9 1 3 59 72 100 +9 1 3 60 73 99 +9 1 3 61 72 99 +9 1 3 62 73 98 +9 1 3 63 72 98 +9 1 3 64 73 97 +9 1 3 65 72 97 +9 1 3 66 73 96 +9 1 3 67 72 96 +9 2 0 0 76 32 +9 2 0 1 77 32 +9 2 0 2 76 33 +9 2 0 3 77 33 +9 2 0 4 76 34 +9 2 0 5 77 34 +9 2 0 6 76 35 +9 2 0 7 77 35 +9 2 0 8 76 36 +9 2 0 9 77 36 +9 2 0 10 76 37 +9 2 0 11 -1 -1 +9 2 0 12 77 37 +9 2 0 13 76 38 +9 2 0 14 77 38 +9 2 0 15 76 39 +9 2 0 16 77 39 +9 2 0 17 76 40 +9 2 0 18 77 40 +9 2 0 19 76 41 +9 2 0 20 77 41 +9 2 0 21 76 42 +9 2 0 22 -1 -1 +9 2 0 23 77 42 +9 2 0 24 76 43 +9 2 0 25 77 43 +9 2 0 26 76 44 +9 2 0 27 77 44 +9 2 0 28 76 45 +9 2 0 29 77 45 +9 2 0 30 76 46 +9 2 0 31 77 46 +9 2 0 32 76 47 +9 2 0 33 77 47 +9 2 0 34 76 48 +9 2 0 35 77 48 +9 2 0 36 76 49 +9 2 0 37 77 49 +9 2 0 38 76 50 +9 2 0 39 77 50 +9 2 0 40 76 51 +9 2 0 41 77 51 +9 2 0 42 76 52 +9 2 0 43 77 52 +9 2 0 44 76 53 +9 2 0 45 -1 -1 +9 2 0 46 77 53 +9 2 0 47 76 54 +9 2 0 48 77 54 +9 2 0 49 76 55 +9 2 0 50 77 55 +9 2 0 51 76 56 +9 2 0 52 77 56 +9 2 0 53 76 57 +9 2 0 54 77 57 +9 2 0 55 76 58 +9 2 0 56 -1 -1 +9 2 0 57 77 58 +9 2 0 58 76 59 +9 2 0 59 77 59 +9 2 0 60 76 60 +9 2 0 61 77 60 +9 2 0 62 76 61 +9 2 0 63 77 61 +9 2 0 64 76 62 +9 2 0 65 77 62 +9 2 0 66 76 63 +9 2 0 67 77 63 +9 2 1 0 76 0 +9 2 1 1 77 0 +9 2 1 2 76 1 +9 2 1 3 77 1 +9 2 1 4 76 2 +9 2 1 5 77 2 +9 2 1 6 76 3 +9 2 1 7 77 3 +9 2 1 8 76 4 +9 2 1 9 77 4 +9 2 1 10 76 5 +9 2 1 11 -1 -1 +9 2 1 12 77 5 +9 2 1 13 76 6 +9 2 1 14 77 6 +9 2 1 15 76 7 +9 2 1 16 77 7 +9 2 1 17 76 8 +9 2 1 18 77 8 +9 2 1 19 76 9 +9 2 1 20 77 9 +9 2 1 21 76 10 +9 2 1 22 -1 -1 +9 2 1 23 77 10 +9 2 1 24 76 11 +9 2 1 25 77 11 +9 2 1 26 76 12 +9 2 1 27 77 12 +9 2 1 28 76 13 +9 2 1 29 77 13 +9 2 1 30 76 14 +9 2 1 31 77 14 +9 2 1 32 76 15 +9 2 1 33 77 15 +9 2 1 34 76 16 +9 2 1 35 77 16 +9 2 1 36 76 17 +9 2 1 37 77 17 +9 2 1 38 76 18 +9 2 1 39 77 18 +9 2 1 40 76 19 +9 2 1 41 77 19 +9 2 1 42 76 20 +9 2 1 43 77 20 +9 2 1 44 76 21 +9 2 1 45 -1 -1 +9 2 1 46 77 21 +9 2 1 47 76 22 +9 2 1 48 77 22 +9 2 1 49 76 23 +9 2 1 50 77 23 +9 2 1 51 76 24 +9 2 1 52 77 24 +9 2 1 53 76 25 +9 2 1 54 77 25 +9 2 1 55 76 26 +9 2 1 56 -1 -1 +9 2 1 57 77 26 +9 2 1 58 76 27 +9 2 1 59 77 27 +9 2 1 60 76 28 +9 2 1 61 77 28 +9 2 1 62 76 29 +9 2 1 63 77 29 +9 2 1 64 76 30 +9 2 1 65 77 30 +9 2 1 66 76 31 +9 2 1 67 77 31 +9 2 2 0 78 32 +9 2 2 1 79 32 +9 2 2 2 78 33 +9 2 2 3 79 33 +9 2 2 4 78 34 +9 2 2 5 79 34 +9 2 2 6 78 35 +9 2 2 7 79 35 +9 2 2 8 78 36 +9 2 2 9 79 36 +9 2 2 10 78 37 +9 2 2 11 -1 -1 +9 2 2 12 79 37 +9 2 2 13 78 38 +9 2 2 14 79 38 +9 2 2 15 78 39 +9 2 2 16 79 39 +9 2 2 17 78 40 +9 2 2 18 79 40 +9 2 2 19 78 41 +9 2 2 20 79 41 +9 2 2 21 78 42 +9 2 2 22 -1 -1 +9 2 2 23 79 42 +9 2 2 24 78 43 +9 2 2 25 79 43 +9 2 2 26 78 44 +9 2 2 27 79 44 +9 2 2 28 78 45 +9 2 2 29 79 45 +9 2 2 30 78 46 +9 2 2 31 79 46 +9 2 2 32 78 47 +9 2 2 33 79 47 +9 2 2 34 78 48 +9 2 2 35 79 48 +9 2 2 36 78 49 +9 2 2 37 79 49 +9 2 2 38 78 50 +9 2 2 39 79 50 +9 2 2 40 78 51 +9 2 2 41 79 51 +9 2 2 42 78 52 +9 2 2 43 79 52 +9 2 2 44 78 53 +9 2 2 45 -1 -1 +9 2 2 46 79 53 +9 2 2 47 78 54 +9 2 2 48 79 54 +9 2 2 49 78 55 +9 2 2 50 79 55 +9 2 2 51 78 56 +9 2 2 52 79 56 +9 2 2 53 78 57 +9 2 2 54 79 57 +9 2 2 55 78 58 +9 2 2 56 -1 -1 +9 2 2 57 79 58 +9 2 2 58 78 59 +9 2 2 59 79 59 +9 2 2 60 78 60 +9 2 2 61 79 60 +9 2 2 62 78 61 +9 2 2 63 79 61 +9 2 2 64 78 62 +9 2 2 65 79 62 +9 2 2 66 78 63 +9 2 2 67 79 63 +9 2 3 0 78 0 +9 2 3 1 79 0 +9 2 3 2 78 1 +9 2 3 3 79 1 +9 2 3 4 78 2 +9 2 3 5 79 2 +9 2 3 6 78 3 +9 2 3 7 79 3 +9 2 3 8 78 4 +9 2 3 9 79 4 +9 2 3 10 78 5 +9 2 3 11 -1 -1 +9 2 3 12 79 5 +9 2 3 13 78 6 +9 2 3 14 79 6 +9 2 3 15 78 7 +9 2 3 16 79 7 +9 2 3 17 78 8 +9 2 3 18 79 8 +9 2 3 19 78 9 +9 2 3 20 79 9 +9 2 3 21 78 10 +9 2 3 22 -1 -1 +9 2 3 23 79 10 +9 2 3 24 78 11 +9 2 3 25 79 11 +9 2 3 26 78 12 +9 2 3 27 79 12 +9 2 3 28 78 13 +9 2 3 29 79 13 +9 2 3 30 78 14 +9 2 3 31 79 14 +9 2 3 32 78 15 +9 2 3 33 79 15 +9 2 3 34 78 16 +9 2 3 35 79 16 +9 2 3 36 78 17 +9 2 3 37 79 17 +9 2 3 38 78 18 +9 2 3 39 79 18 +9 2 3 40 78 19 +9 2 3 41 79 19 +9 2 3 42 78 20 +9 2 3 43 79 20 +9 2 3 44 78 21 +9 2 3 45 -1 -1 +9 2 3 46 79 21 +9 2 3 47 78 22 +9 2 3 48 79 22 +9 2 3 49 78 23 +9 2 3 50 79 23 +9 2 3 51 78 24 +9 2 3 52 79 24 +9 2 3 53 78 25 +9 2 3 54 79 25 +9 2 3 55 78 26 +9 2 3 56 -1 -1 +9 2 3 57 79 26 +9 2 3 58 78 27 +9 2 3 59 79 27 +9 2 3 60 78 28 +9 2 3 61 79 28 +9 2 3 62 78 29 +9 2 3 63 79 29 +9 2 3 64 78 30 +9 2 3 65 79 30 +9 2 3 66 78 31 +9 2 3 67 79 31 +9 3 0 0 79 95 +9 3 0 1 78 95 +9 3 0 2 79 94 +9 3 0 3 78 94 +9 3 0 4 79 93 +9 3 0 5 78 93 +9 3 0 6 79 92 +9 3 0 7 78 92 +9 3 0 8 79 91 +9 3 0 9 78 91 +9 3 0 10 79 90 +9 3 0 11 -1 -1 +9 3 0 12 78 90 +9 3 0 13 79 89 +9 3 0 14 78 89 +9 3 0 15 79 88 +9 3 0 16 78 88 +9 3 0 17 79 87 +9 3 0 18 78 87 +9 3 0 19 79 86 +9 3 0 20 78 86 +9 3 0 21 79 85 +9 3 0 22 -1 -1 +9 3 0 23 78 85 +9 3 0 24 79 84 +9 3 0 25 78 84 +9 3 0 26 79 83 +9 3 0 27 78 83 +9 3 0 28 79 82 +9 3 0 29 78 82 +9 3 0 30 79 81 +9 3 0 31 78 81 +9 3 0 32 79 80 +9 3 0 33 78 80 +9 3 0 34 79 79 +9 3 0 35 78 79 +9 3 0 36 79 78 +9 3 0 37 78 78 +9 3 0 38 79 77 +9 3 0 39 78 77 +9 3 0 40 79 76 +9 3 0 41 78 76 +9 3 0 42 79 75 +9 3 0 43 78 75 +9 3 0 44 79 74 +9 3 0 45 -1 -1 +9 3 0 46 78 74 +9 3 0 47 79 73 +9 3 0 48 78 73 +9 3 0 49 79 72 +9 3 0 50 78 72 +9 3 0 51 79 71 +9 3 0 52 78 71 +9 3 0 53 79 70 +9 3 0 54 78 70 +9 3 0 55 79 69 +9 3 0 56 -1 -1 +9 3 0 57 78 69 +9 3 0 58 79 68 +9 3 0 59 78 68 +9 3 0 60 79 67 +9 3 0 61 78 67 +9 3 0 62 79 66 +9 3 0 63 78 66 +9 3 0 64 79 65 +9 3 0 65 78 65 +9 3 0 66 79 64 +9 3 0 67 78 64 +9 3 1 0 79 127 +9 3 1 1 78 127 +9 3 1 2 79 126 +9 3 1 3 78 126 +9 3 1 4 79 125 +9 3 1 5 78 125 +9 3 1 6 79 124 +9 3 1 7 78 124 +9 3 1 8 79 123 +9 3 1 9 78 123 +9 3 1 10 79 122 +9 3 1 11 -1 -1 +9 3 1 12 78 122 +9 3 1 13 79 121 +9 3 1 14 78 121 +9 3 1 15 79 120 +9 3 1 16 78 120 +9 3 1 17 79 119 +9 3 1 18 78 119 +9 3 1 19 79 118 +9 3 1 20 78 118 +9 3 1 21 79 117 +9 3 1 22 -1 -1 +9 3 1 23 78 117 +9 3 1 24 79 116 +9 3 1 25 78 116 +9 3 1 26 79 115 +9 3 1 27 78 115 +9 3 1 28 79 114 +9 3 1 29 78 114 +9 3 1 30 79 113 +9 3 1 31 78 113 +9 3 1 32 79 112 +9 3 1 33 78 112 +9 3 1 34 79 111 +9 3 1 35 78 111 +9 3 1 36 79 110 +9 3 1 37 78 110 +9 3 1 38 79 109 +9 3 1 39 78 109 +9 3 1 40 79 108 +9 3 1 41 78 108 +9 3 1 42 79 107 +9 3 1 43 78 107 +9 3 1 44 79 106 +9 3 1 45 -1 -1 +9 3 1 46 78 106 +9 3 1 47 79 105 +9 3 1 48 78 105 +9 3 1 49 79 104 +9 3 1 50 78 104 +9 3 1 51 79 103 +9 3 1 52 78 103 +9 3 1 53 79 102 +9 3 1 54 78 102 +9 3 1 55 79 101 +9 3 1 56 -1 -1 +9 3 1 57 78 101 +9 3 1 58 79 100 +9 3 1 59 78 100 +9 3 1 60 79 99 +9 3 1 61 78 99 +9 3 1 62 79 98 +9 3 1 63 78 98 +9 3 1 64 79 97 +9 3 1 65 78 97 +9 3 1 66 79 96 +9 3 1 67 78 96 +9 3 2 0 77 95 +9 3 2 1 76 95 +9 3 2 2 77 94 +9 3 2 3 76 94 +9 3 2 4 77 93 +9 3 2 5 76 93 +9 3 2 6 77 92 +9 3 2 7 76 92 +9 3 2 8 77 91 +9 3 2 9 76 91 +9 3 2 10 77 90 +9 3 2 11 -1 -1 +9 3 2 12 76 90 +9 3 2 13 77 89 +9 3 2 14 76 89 +9 3 2 15 77 88 +9 3 2 16 76 88 +9 3 2 17 77 87 +9 3 2 18 76 87 +9 3 2 19 77 86 +9 3 2 20 76 86 +9 3 2 21 77 85 +9 3 2 22 -1 -1 +9 3 2 23 76 85 +9 3 2 24 77 84 +9 3 2 25 76 84 +9 3 2 26 77 83 +9 3 2 27 76 83 +9 3 2 28 77 82 +9 3 2 29 76 82 +9 3 2 30 77 81 +9 3 2 31 76 81 +9 3 2 32 77 80 +9 3 2 33 76 80 +9 3 2 34 77 79 +9 3 2 35 76 79 +9 3 2 36 77 78 +9 3 2 37 76 78 +9 3 2 38 77 77 +9 3 2 39 76 77 +9 3 2 40 77 76 +9 3 2 41 76 76 +9 3 2 42 77 75 +9 3 2 43 76 75 +9 3 2 44 77 74 +9 3 2 45 -1 -1 +9 3 2 46 76 74 +9 3 2 47 77 73 +9 3 2 48 76 73 +9 3 2 49 77 72 +9 3 2 50 76 72 +9 3 2 51 77 71 +9 3 2 52 76 71 +9 3 2 53 77 70 +9 3 2 54 76 70 +9 3 2 55 77 69 +9 3 2 56 -1 -1 +9 3 2 57 76 69 +9 3 2 58 77 68 +9 3 2 59 76 68 +9 3 2 60 77 67 +9 3 2 61 76 67 +9 3 2 62 77 66 +9 3 2 63 76 66 +9 3 2 64 77 65 +9 3 2 65 76 65 +9 3 2 66 77 64 +9 3 2 67 76 64 +9 3 3 0 77 127 +9 3 3 1 76 127 +9 3 3 2 77 126 +9 3 3 3 76 126 +9 3 3 4 77 125 +9 3 3 5 76 125 +9 3 3 6 77 124 +9 3 3 7 76 124 +9 3 3 8 77 123 +9 3 3 9 76 123 +9 3 3 10 77 122 +9 3 3 11 -1 -1 +9 3 3 12 76 122 +9 3 3 13 77 121 +9 3 3 14 76 121 +9 3 3 15 77 120 +9 3 3 16 76 120 +9 3 3 17 77 119 +9 3 3 18 76 119 +9 3 3 19 77 118 +9 3 3 20 76 118 +9 3 3 21 77 117 +9 3 3 22 -1 -1 +9 3 3 23 76 117 +9 3 3 24 77 116 +9 3 3 25 76 116 +9 3 3 26 77 115 +9 3 3 27 76 115 +9 3 3 28 77 114 +9 3 3 29 76 114 +9 3 3 30 77 113 +9 3 3 31 76 113 +9 3 3 32 77 112 +9 3 3 33 76 112 +9 3 3 34 77 111 +9 3 3 35 76 111 +9 3 3 36 77 110 +9 3 3 37 76 110 +9 3 3 38 77 109 +9 3 3 39 76 109 +9 3 3 40 77 108 +9 3 3 41 76 108 +9 3 3 42 77 107 +9 3 3 43 76 107 +9 3 3 44 77 106 +9 3 3 45 -1 -1 +9 3 3 46 76 106 +9 3 3 47 77 105 +9 3 3 48 76 105 +9 3 3 49 77 104 +9 3 3 50 76 104 +9 3 3 51 77 103 +9 3 3 52 76 103 +9 3 3 53 77 102 +9 3 3 54 76 102 +9 3 3 55 77 101 +9 3 3 56 -1 -1 +9 3 3 57 76 101 +9 3 3 58 77 100 +9 3 3 59 76 100 +9 3 3 60 77 99 +9 3 3 61 76 99 +9 3 3 62 77 98 +9 3 3 63 76 98 +9 3 3 64 77 97 +9 3 3 65 76 97 +9 3 3 66 77 96 +9 3 3 67 76 96 +10 0 0 0 80 32 +10 0 0 1 81 32 +10 0 0 2 80 33 +10 0 0 3 81 33 +10 0 0 4 80 34 +10 0 0 5 81 34 +10 0 0 6 80 35 +10 0 0 7 81 35 +10 0 0 8 80 36 +10 0 0 9 81 36 +10 0 0 10 80 37 +10 0 0 11 -1 -1 +10 0 0 12 81 37 +10 0 0 13 80 38 +10 0 0 14 81 38 +10 0 0 15 80 39 +10 0 0 16 81 39 +10 0 0 17 80 40 +10 0 0 18 81 40 +10 0 0 19 80 41 +10 0 0 20 81 41 +10 0 0 21 80 42 +10 0 0 22 -1 -1 +10 0 0 23 81 42 +10 0 0 24 80 43 +10 0 0 25 81 43 +10 0 0 26 80 44 +10 0 0 27 81 44 +10 0 0 28 80 45 +10 0 0 29 81 45 +10 0 0 30 80 46 +10 0 0 31 81 46 +10 0 0 32 80 47 +10 0 0 33 81 47 +10 0 0 34 80 48 +10 0 0 35 81 48 +10 0 0 36 80 49 +10 0 0 37 81 49 +10 0 0 38 80 50 +10 0 0 39 81 50 +10 0 0 40 80 51 +10 0 0 41 81 51 +10 0 0 42 80 52 +10 0 0 43 81 52 +10 0 0 44 80 53 +10 0 0 45 -1 -1 +10 0 0 46 81 53 +10 0 0 47 80 54 +10 0 0 48 81 54 +10 0 0 49 80 55 +10 0 0 50 81 55 +10 0 0 51 80 56 +10 0 0 52 81 56 +10 0 0 53 80 57 +10 0 0 54 81 57 +10 0 0 55 80 58 +10 0 0 56 -1 -1 +10 0 0 57 81 58 +10 0 0 58 80 59 +10 0 0 59 81 59 +10 0 0 60 80 60 +10 0 0 61 81 60 +10 0 0 62 80 61 +10 0 0 63 81 61 +10 0 0 64 80 62 +10 0 0 65 81 62 +10 0 0 66 80 63 +10 0 0 67 81 63 +10 0 1 0 80 0 +10 0 1 1 81 0 +10 0 1 2 80 1 +10 0 1 3 81 1 +10 0 1 4 80 2 +10 0 1 5 81 2 +10 0 1 6 80 3 +10 0 1 7 81 3 +10 0 1 8 80 4 +10 0 1 9 81 4 +10 0 1 10 80 5 +10 0 1 11 -1 -1 +10 0 1 12 81 5 +10 0 1 13 80 6 +10 0 1 14 81 6 +10 0 1 15 80 7 +10 0 1 16 81 7 +10 0 1 17 80 8 +10 0 1 18 81 8 +10 0 1 19 80 9 +10 0 1 20 81 9 +10 0 1 21 80 10 +10 0 1 22 -1 -1 +10 0 1 23 81 10 +10 0 1 24 80 11 +10 0 1 25 81 11 +10 0 1 26 80 12 +10 0 1 27 81 12 +10 0 1 28 80 13 +10 0 1 29 81 13 +10 0 1 30 80 14 +10 0 1 31 81 14 +10 0 1 32 80 15 +10 0 1 33 81 15 +10 0 1 34 80 16 +10 0 1 35 81 16 +10 0 1 36 80 17 +10 0 1 37 81 17 +10 0 1 38 80 18 +10 0 1 39 81 18 +10 0 1 40 80 19 +10 0 1 41 81 19 +10 0 1 42 80 20 +10 0 1 43 81 20 +10 0 1 44 80 21 +10 0 1 45 -1 -1 +10 0 1 46 81 21 +10 0 1 47 80 22 +10 0 1 48 81 22 +10 0 1 49 80 23 +10 0 1 50 81 23 +10 0 1 51 80 24 +10 0 1 52 81 24 +10 0 1 53 80 25 +10 0 1 54 81 25 +10 0 1 55 80 26 +10 0 1 56 -1 -1 +10 0 1 57 81 26 +10 0 1 58 80 27 +10 0 1 59 81 27 +10 0 1 60 80 28 +10 0 1 61 81 28 +10 0 1 62 80 29 +10 0 1 63 81 29 +10 0 1 64 80 30 +10 0 1 65 81 30 +10 0 1 66 80 31 +10 0 1 67 81 31 +10 0 2 0 82 32 +10 0 2 1 83 32 +10 0 2 2 82 33 +10 0 2 3 83 33 +10 0 2 4 82 34 +10 0 2 5 83 34 +10 0 2 6 82 35 +10 0 2 7 83 35 +10 0 2 8 82 36 +10 0 2 9 83 36 +10 0 2 10 82 37 +10 0 2 11 -1 -1 +10 0 2 12 83 37 +10 0 2 13 82 38 +10 0 2 14 83 38 +10 0 2 15 82 39 +10 0 2 16 83 39 +10 0 2 17 82 40 +10 0 2 18 83 40 +10 0 2 19 82 41 +10 0 2 20 83 41 +10 0 2 21 82 42 +10 0 2 22 -1 -1 +10 0 2 23 83 42 +10 0 2 24 82 43 +10 0 2 25 83 43 +10 0 2 26 82 44 +10 0 2 27 83 44 +10 0 2 28 82 45 +10 0 2 29 83 45 +10 0 2 30 82 46 +10 0 2 31 83 46 +10 0 2 32 82 47 +10 0 2 33 83 47 +10 0 2 34 82 48 +10 0 2 35 83 48 +10 0 2 36 82 49 +10 0 2 37 83 49 +10 0 2 38 82 50 +10 0 2 39 83 50 +10 0 2 40 82 51 +10 0 2 41 83 51 +10 0 2 42 82 52 +10 0 2 43 83 52 +10 0 2 44 82 53 +10 0 2 45 -1 -1 +10 0 2 46 83 53 +10 0 2 47 82 54 +10 0 2 48 83 54 +10 0 2 49 82 55 +10 0 2 50 83 55 +10 0 2 51 82 56 +10 0 2 52 83 56 +10 0 2 53 82 57 +10 0 2 54 83 57 +10 0 2 55 82 58 +10 0 2 56 -1 -1 +10 0 2 57 83 58 +10 0 2 58 82 59 +10 0 2 59 83 59 +10 0 2 60 82 60 +10 0 2 61 83 60 +10 0 2 62 82 61 +10 0 2 63 83 61 +10 0 2 64 82 62 +10 0 2 65 83 62 +10 0 2 66 82 63 +10 0 2 67 83 63 +10 0 3 0 82 0 +10 0 3 1 83 0 +10 0 3 2 82 1 +10 0 3 3 83 1 +10 0 3 4 82 2 +10 0 3 5 83 2 +10 0 3 6 82 3 +10 0 3 7 83 3 +10 0 3 8 82 4 +10 0 3 9 83 4 +10 0 3 10 82 5 +10 0 3 11 -1 -1 +10 0 3 12 83 5 +10 0 3 13 82 6 +10 0 3 14 83 6 +10 0 3 15 82 7 +10 0 3 16 83 7 +10 0 3 17 82 8 +10 0 3 18 83 8 +10 0 3 19 82 9 +10 0 3 20 83 9 +10 0 3 21 82 10 +10 0 3 22 -1 -1 +10 0 3 23 83 10 +10 0 3 24 82 11 +10 0 3 25 83 11 +10 0 3 26 82 12 +10 0 3 27 83 12 +10 0 3 28 82 13 +10 0 3 29 83 13 +10 0 3 30 82 14 +10 0 3 31 83 14 +10 0 3 32 82 15 +10 0 3 33 83 15 +10 0 3 34 82 16 +10 0 3 35 83 16 +10 0 3 36 82 17 +10 0 3 37 83 17 +10 0 3 38 82 18 +10 0 3 39 83 18 +10 0 3 40 82 19 +10 0 3 41 83 19 +10 0 3 42 82 20 +10 0 3 43 83 20 +10 0 3 44 82 21 +10 0 3 45 -1 -1 +10 0 3 46 83 21 +10 0 3 47 82 22 +10 0 3 48 83 22 +10 0 3 49 82 23 +10 0 3 50 83 23 +10 0 3 51 82 24 +10 0 3 52 83 24 +10 0 3 53 82 25 +10 0 3 54 83 25 +10 0 3 55 82 26 +10 0 3 56 -1 -1 +10 0 3 57 83 26 +10 0 3 58 82 27 +10 0 3 59 83 27 +10 0 3 60 82 28 +10 0 3 61 83 28 +10 0 3 62 82 29 +10 0 3 63 83 29 +10 0 3 64 82 30 +10 0 3 65 83 30 +10 0 3 66 82 31 +10 0 3 67 83 31 +10 1 0 0 83 95 +10 1 0 1 82 95 +10 1 0 2 83 94 +10 1 0 3 82 94 +10 1 0 4 83 93 +10 1 0 5 82 93 +10 1 0 6 83 92 +10 1 0 7 82 92 +10 1 0 8 83 91 +10 1 0 9 82 91 +10 1 0 10 83 90 +10 1 0 11 -1 -1 +10 1 0 12 82 90 +10 1 0 13 83 89 +10 1 0 14 82 89 +10 1 0 15 83 88 +10 1 0 16 82 88 +10 1 0 17 83 87 +10 1 0 18 82 87 +10 1 0 19 83 86 +10 1 0 20 82 86 +10 1 0 21 83 85 +10 1 0 22 -1 -1 +10 1 0 23 82 85 +10 1 0 24 83 84 +10 1 0 25 82 84 +10 1 0 26 83 83 +10 1 0 27 82 83 +10 1 0 28 83 82 +10 1 0 29 82 82 +10 1 0 30 83 81 +10 1 0 31 82 81 +10 1 0 32 83 80 +10 1 0 33 82 80 +10 1 0 34 83 79 +10 1 0 35 82 79 +10 1 0 36 83 78 +10 1 0 37 82 78 +10 1 0 38 83 77 +10 1 0 39 82 77 +10 1 0 40 83 76 +10 1 0 41 82 76 +10 1 0 42 83 75 +10 1 0 43 82 75 +10 1 0 44 83 74 +10 1 0 45 -1 -1 +10 1 0 46 82 74 +10 1 0 47 83 73 +10 1 0 48 82 73 +10 1 0 49 83 72 +10 1 0 50 82 72 +10 1 0 51 83 71 +10 1 0 52 82 71 +10 1 0 53 83 70 +10 1 0 54 82 70 +10 1 0 55 83 69 +10 1 0 56 -1 -1 +10 1 0 57 82 69 +10 1 0 58 83 68 +10 1 0 59 82 68 +10 1 0 60 83 67 +10 1 0 61 82 67 +10 1 0 62 83 66 +10 1 0 63 82 66 +10 1 0 64 83 65 +10 1 0 65 82 65 +10 1 0 66 83 64 +10 1 0 67 82 64 +10 1 1 0 83 127 +10 1 1 1 82 127 +10 1 1 2 83 126 +10 1 1 3 82 126 +10 1 1 4 83 125 +10 1 1 5 82 125 +10 1 1 6 83 124 +10 1 1 7 82 124 +10 1 1 8 83 123 +10 1 1 9 82 123 +10 1 1 10 83 122 +10 1 1 11 -1 -1 +10 1 1 12 82 122 +10 1 1 13 83 121 +10 1 1 14 82 121 +10 1 1 15 83 120 +10 1 1 16 82 120 +10 1 1 17 83 119 +10 1 1 18 82 119 +10 1 1 19 83 118 +10 1 1 20 82 118 +10 1 1 21 83 117 +10 1 1 22 -1 -1 +10 1 1 23 82 117 +10 1 1 24 83 116 +10 1 1 25 82 116 +10 1 1 26 83 115 +10 1 1 27 82 115 +10 1 1 28 83 114 +10 1 1 29 82 114 +10 1 1 30 83 113 +10 1 1 31 82 113 +10 1 1 32 83 112 +10 1 1 33 82 112 +10 1 1 34 83 111 +10 1 1 35 82 111 +10 1 1 36 83 110 +10 1 1 37 82 110 +10 1 1 38 83 109 +10 1 1 39 82 109 +10 1 1 40 83 108 +10 1 1 41 82 108 +10 1 1 42 83 107 +10 1 1 43 82 107 +10 1 1 44 83 106 +10 1 1 45 -1 -1 +10 1 1 46 82 106 +10 1 1 47 83 105 +10 1 1 48 82 105 +10 1 1 49 83 104 +10 1 1 50 82 104 +10 1 1 51 83 103 +10 1 1 52 82 103 +10 1 1 53 83 102 +10 1 1 54 82 102 +10 1 1 55 83 101 +10 1 1 56 -1 -1 +10 1 1 57 82 101 +10 1 1 58 83 100 +10 1 1 59 82 100 +10 1 1 60 83 99 +10 1 1 61 82 99 +10 1 1 62 83 98 +10 1 1 63 82 98 +10 1 1 64 83 97 +10 1 1 65 82 97 +10 1 1 66 83 96 +10 1 1 67 82 96 +10 1 2 0 81 95 +10 1 2 1 80 95 +10 1 2 2 81 94 +10 1 2 3 80 94 +10 1 2 4 81 93 +10 1 2 5 80 93 +10 1 2 6 81 92 +10 1 2 7 80 92 +10 1 2 8 81 91 +10 1 2 9 80 91 +10 1 2 10 81 90 +10 1 2 11 -1 -1 +10 1 2 12 80 90 +10 1 2 13 81 89 +10 1 2 14 80 89 +10 1 2 15 81 88 +10 1 2 16 80 88 +10 1 2 17 81 87 +10 1 2 18 80 87 +10 1 2 19 81 86 +10 1 2 20 80 86 +10 1 2 21 81 85 +10 1 2 22 -1 -1 +10 1 2 23 80 85 +10 1 2 24 81 84 +10 1 2 25 80 84 +10 1 2 26 81 83 +10 1 2 27 80 83 +10 1 2 28 81 82 +10 1 2 29 80 82 +10 1 2 30 81 81 +10 1 2 31 80 81 +10 1 2 32 81 80 +10 1 2 33 80 80 +10 1 2 34 81 79 +10 1 2 35 80 79 +10 1 2 36 81 78 +10 1 2 37 80 78 +10 1 2 38 81 77 +10 1 2 39 80 77 +10 1 2 40 81 76 +10 1 2 41 80 76 +10 1 2 42 81 75 +10 1 2 43 80 75 +10 1 2 44 81 74 +10 1 2 45 -1 -1 +10 1 2 46 80 74 +10 1 2 47 81 73 +10 1 2 48 80 73 +10 1 2 49 81 72 +10 1 2 50 80 72 +10 1 2 51 81 71 +10 1 2 52 80 71 +10 1 2 53 81 70 +10 1 2 54 80 70 +10 1 2 55 81 69 +10 1 2 56 -1 -1 +10 1 2 57 80 69 +10 1 2 58 81 68 +10 1 2 59 80 68 +10 1 2 60 81 67 +10 1 2 61 80 67 +10 1 2 62 81 66 +10 1 2 63 80 66 +10 1 2 64 81 65 +10 1 2 65 80 65 +10 1 2 66 81 64 +10 1 2 67 80 64 +10 1 3 0 81 127 +10 1 3 1 80 127 +10 1 3 2 81 126 +10 1 3 3 80 126 +10 1 3 4 81 125 +10 1 3 5 80 125 +10 1 3 6 81 124 +10 1 3 7 80 124 +10 1 3 8 81 123 +10 1 3 9 80 123 +10 1 3 10 81 122 +10 1 3 11 -1 -1 +10 1 3 12 80 122 +10 1 3 13 81 121 +10 1 3 14 80 121 +10 1 3 15 81 120 +10 1 3 16 80 120 +10 1 3 17 81 119 +10 1 3 18 80 119 +10 1 3 19 81 118 +10 1 3 20 80 118 +10 1 3 21 81 117 +10 1 3 22 -1 -1 +10 1 3 23 80 117 +10 1 3 24 81 116 +10 1 3 25 80 116 +10 1 3 26 81 115 +10 1 3 27 80 115 +10 1 3 28 81 114 +10 1 3 29 80 114 +10 1 3 30 81 113 +10 1 3 31 80 113 +10 1 3 32 81 112 +10 1 3 33 80 112 +10 1 3 34 81 111 +10 1 3 35 80 111 +10 1 3 36 81 110 +10 1 3 37 80 110 +10 1 3 38 81 109 +10 1 3 39 80 109 +10 1 3 40 81 108 +10 1 3 41 80 108 +10 1 3 42 81 107 +10 1 3 43 80 107 +10 1 3 44 81 106 +10 1 3 45 -1 -1 +10 1 3 46 80 106 +10 1 3 47 81 105 +10 1 3 48 80 105 +10 1 3 49 81 104 +10 1 3 50 80 104 +10 1 3 51 81 103 +10 1 3 52 80 103 +10 1 3 53 81 102 +10 1 3 54 80 102 +10 1 3 55 81 101 +10 1 3 56 -1 -1 +10 1 3 57 80 101 +10 1 3 58 81 100 +10 1 3 59 80 100 +10 1 3 60 81 99 +10 1 3 61 80 99 +10 1 3 62 81 98 +10 1 3 63 80 98 +10 1 3 64 81 97 +10 1 3 65 80 97 +10 1 3 66 81 96 +10 1 3 67 80 96 +10 2 0 0 84 32 +10 2 0 1 85 32 +10 2 0 2 84 33 +10 2 0 3 85 33 +10 2 0 4 84 34 +10 2 0 5 85 34 +10 2 0 6 84 35 +10 2 0 7 85 35 +10 2 0 8 84 36 +10 2 0 9 85 36 +10 2 0 10 84 37 +10 2 0 11 -1 -1 +10 2 0 12 85 37 +10 2 0 13 84 38 +10 2 0 14 85 38 +10 2 0 15 84 39 +10 2 0 16 85 39 +10 2 0 17 84 40 +10 2 0 18 85 40 +10 2 0 19 84 41 +10 2 0 20 85 41 +10 2 0 21 84 42 +10 2 0 22 -1 -1 +10 2 0 23 85 42 +10 2 0 24 84 43 +10 2 0 25 85 43 +10 2 0 26 84 44 +10 2 0 27 85 44 +10 2 0 28 84 45 +10 2 0 29 85 45 +10 2 0 30 84 46 +10 2 0 31 85 46 +10 2 0 32 84 47 +10 2 0 33 85 47 +10 2 0 34 84 48 +10 2 0 35 85 48 +10 2 0 36 84 49 +10 2 0 37 85 49 +10 2 0 38 84 50 +10 2 0 39 85 50 +10 2 0 40 84 51 +10 2 0 41 85 51 +10 2 0 42 84 52 +10 2 0 43 85 52 +10 2 0 44 84 53 +10 2 0 45 -1 -1 +10 2 0 46 85 53 +10 2 0 47 84 54 +10 2 0 48 85 54 +10 2 0 49 84 55 +10 2 0 50 85 55 +10 2 0 51 84 56 +10 2 0 52 85 56 +10 2 0 53 84 57 +10 2 0 54 85 57 +10 2 0 55 84 58 +10 2 0 56 -1 -1 +10 2 0 57 85 58 +10 2 0 58 84 59 +10 2 0 59 85 59 +10 2 0 60 84 60 +10 2 0 61 85 60 +10 2 0 62 84 61 +10 2 0 63 85 61 +10 2 0 64 84 62 +10 2 0 65 85 62 +10 2 0 66 84 63 +10 2 0 67 85 63 +10 2 1 0 84 0 +10 2 1 1 85 0 +10 2 1 2 84 1 +10 2 1 3 85 1 +10 2 1 4 84 2 +10 2 1 5 85 2 +10 2 1 6 84 3 +10 2 1 7 85 3 +10 2 1 8 84 4 +10 2 1 9 85 4 +10 2 1 10 84 5 +10 2 1 11 -1 -1 +10 2 1 12 85 5 +10 2 1 13 84 6 +10 2 1 14 85 6 +10 2 1 15 84 7 +10 2 1 16 85 7 +10 2 1 17 84 8 +10 2 1 18 85 8 +10 2 1 19 84 9 +10 2 1 20 85 9 +10 2 1 21 84 10 +10 2 1 22 -1 -1 +10 2 1 23 85 10 +10 2 1 24 84 11 +10 2 1 25 85 11 +10 2 1 26 84 12 +10 2 1 27 85 12 +10 2 1 28 84 13 +10 2 1 29 85 13 +10 2 1 30 84 14 +10 2 1 31 85 14 +10 2 1 32 84 15 +10 2 1 33 85 15 +10 2 1 34 84 16 +10 2 1 35 85 16 +10 2 1 36 84 17 +10 2 1 37 85 17 +10 2 1 38 84 18 +10 2 1 39 85 18 +10 2 1 40 84 19 +10 2 1 41 85 19 +10 2 1 42 84 20 +10 2 1 43 85 20 +10 2 1 44 84 21 +10 2 1 45 -1 -1 +10 2 1 46 85 21 +10 2 1 47 84 22 +10 2 1 48 85 22 +10 2 1 49 84 23 +10 2 1 50 85 23 +10 2 1 51 84 24 +10 2 1 52 85 24 +10 2 1 53 84 25 +10 2 1 54 85 25 +10 2 1 55 84 26 +10 2 1 56 -1 -1 +10 2 1 57 85 26 +10 2 1 58 84 27 +10 2 1 59 85 27 +10 2 1 60 84 28 +10 2 1 61 85 28 +10 2 1 62 84 29 +10 2 1 63 85 29 +10 2 1 64 84 30 +10 2 1 65 85 30 +10 2 1 66 84 31 +10 2 1 67 85 31 +10 2 2 0 86 32 +10 2 2 1 87 32 +10 2 2 2 86 33 +10 2 2 3 87 33 +10 2 2 4 86 34 +10 2 2 5 87 34 +10 2 2 6 86 35 +10 2 2 7 87 35 +10 2 2 8 86 36 +10 2 2 9 87 36 +10 2 2 10 86 37 +10 2 2 11 -1 -1 +10 2 2 12 87 37 +10 2 2 13 86 38 +10 2 2 14 87 38 +10 2 2 15 86 39 +10 2 2 16 87 39 +10 2 2 17 86 40 +10 2 2 18 87 40 +10 2 2 19 86 41 +10 2 2 20 87 41 +10 2 2 21 86 42 +10 2 2 22 -1 -1 +10 2 2 23 87 42 +10 2 2 24 86 43 +10 2 2 25 87 43 +10 2 2 26 86 44 +10 2 2 27 87 44 +10 2 2 28 86 45 +10 2 2 29 87 45 +10 2 2 30 86 46 +10 2 2 31 87 46 +10 2 2 32 86 47 +10 2 2 33 87 47 +10 2 2 34 86 48 +10 2 2 35 87 48 +10 2 2 36 86 49 +10 2 2 37 87 49 +10 2 2 38 86 50 +10 2 2 39 87 50 +10 2 2 40 86 51 +10 2 2 41 87 51 +10 2 2 42 86 52 +10 2 2 43 87 52 +10 2 2 44 86 53 +10 2 2 45 -1 -1 +10 2 2 46 87 53 +10 2 2 47 86 54 +10 2 2 48 87 54 +10 2 2 49 86 55 +10 2 2 50 87 55 +10 2 2 51 86 56 +10 2 2 52 87 56 +10 2 2 53 86 57 +10 2 2 54 87 57 +10 2 2 55 86 58 +10 2 2 56 -1 -1 +10 2 2 57 87 58 +10 2 2 58 86 59 +10 2 2 59 87 59 +10 2 2 60 86 60 +10 2 2 61 87 60 +10 2 2 62 86 61 +10 2 2 63 87 61 +10 2 2 64 86 62 +10 2 2 65 87 62 +10 2 2 66 86 63 +10 2 2 67 87 63 +10 2 3 0 86 0 +10 2 3 1 87 0 +10 2 3 2 86 1 +10 2 3 3 87 1 +10 2 3 4 86 2 +10 2 3 5 87 2 +10 2 3 6 86 3 +10 2 3 7 87 3 +10 2 3 8 86 4 +10 2 3 9 87 4 +10 2 3 10 86 5 +10 2 3 11 -1 -1 +10 2 3 12 87 5 +10 2 3 13 86 6 +10 2 3 14 87 6 +10 2 3 15 86 7 +10 2 3 16 87 7 +10 2 3 17 86 8 +10 2 3 18 87 8 +10 2 3 19 86 9 +10 2 3 20 87 9 +10 2 3 21 86 10 +10 2 3 22 -1 -1 +10 2 3 23 87 10 +10 2 3 24 86 11 +10 2 3 25 87 11 +10 2 3 26 86 12 +10 2 3 27 87 12 +10 2 3 28 86 13 +10 2 3 29 87 13 +10 2 3 30 86 14 +10 2 3 31 87 14 +10 2 3 32 86 15 +10 2 3 33 87 15 +10 2 3 34 86 16 +10 2 3 35 87 16 +10 2 3 36 86 17 +10 2 3 37 87 17 +10 2 3 38 86 18 +10 2 3 39 87 18 +10 2 3 40 86 19 +10 2 3 41 87 19 +10 2 3 42 86 20 +10 2 3 43 87 20 +10 2 3 44 86 21 +10 2 3 45 -1 -1 +10 2 3 46 87 21 +10 2 3 47 86 22 +10 2 3 48 87 22 +10 2 3 49 86 23 +10 2 3 50 87 23 +10 2 3 51 86 24 +10 2 3 52 87 24 +10 2 3 53 86 25 +10 2 3 54 87 25 +10 2 3 55 86 26 +10 2 3 56 -1 -1 +10 2 3 57 87 26 +10 2 3 58 86 27 +10 2 3 59 87 27 +10 2 3 60 86 28 +10 2 3 61 87 28 +10 2 3 62 86 29 +10 2 3 63 87 29 +10 2 3 64 86 30 +10 2 3 65 87 30 +10 2 3 66 86 31 +10 2 3 67 87 31 +10 3 0 0 87 95 +10 3 0 1 86 95 +10 3 0 2 87 94 +10 3 0 3 86 94 +10 3 0 4 87 93 +10 3 0 5 86 93 +10 3 0 6 87 92 +10 3 0 7 86 92 +10 3 0 8 87 91 +10 3 0 9 86 91 +10 3 0 10 87 90 +10 3 0 11 -1 -1 +10 3 0 12 86 90 +10 3 0 13 87 89 +10 3 0 14 86 89 +10 3 0 15 87 88 +10 3 0 16 86 88 +10 3 0 17 87 87 +10 3 0 18 86 87 +10 3 0 19 87 86 +10 3 0 20 86 86 +10 3 0 21 87 85 +10 3 0 22 -1 -1 +10 3 0 23 86 85 +10 3 0 24 87 84 +10 3 0 25 86 84 +10 3 0 26 87 83 +10 3 0 27 86 83 +10 3 0 28 87 82 +10 3 0 29 86 82 +10 3 0 30 87 81 +10 3 0 31 86 81 +10 3 0 32 87 80 +10 3 0 33 86 80 +10 3 0 34 87 79 +10 3 0 35 86 79 +10 3 0 36 87 78 +10 3 0 37 86 78 +10 3 0 38 87 77 +10 3 0 39 86 77 +10 3 0 40 87 76 +10 3 0 41 86 76 +10 3 0 42 87 75 +10 3 0 43 86 75 +10 3 0 44 87 74 +10 3 0 45 -1 -1 +10 3 0 46 86 74 +10 3 0 47 87 73 +10 3 0 48 86 73 +10 3 0 49 87 72 +10 3 0 50 86 72 +10 3 0 51 87 71 +10 3 0 52 86 71 +10 3 0 53 87 70 +10 3 0 54 86 70 +10 3 0 55 87 69 +10 3 0 56 -1 -1 +10 3 0 57 86 69 +10 3 0 58 87 68 +10 3 0 59 86 68 +10 3 0 60 87 67 +10 3 0 61 86 67 +10 3 0 62 87 66 +10 3 0 63 86 66 +10 3 0 64 87 65 +10 3 0 65 86 65 +10 3 0 66 87 64 +10 3 0 67 86 64 +10 3 1 0 87 127 +10 3 1 1 86 127 +10 3 1 2 87 126 +10 3 1 3 86 126 +10 3 1 4 87 125 +10 3 1 5 86 125 +10 3 1 6 87 124 +10 3 1 7 86 124 +10 3 1 8 87 123 +10 3 1 9 86 123 +10 3 1 10 87 122 +10 3 1 11 -1 -1 +10 3 1 12 86 122 +10 3 1 13 87 121 +10 3 1 14 86 121 +10 3 1 15 87 120 +10 3 1 16 86 120 +10 3 1 17 87 119 +10 3 1 18 86 119 +10 3 1 19 87 118 +10 3 1 20 86 118 +10 3 1 21 87 117 +10 3 1 22 -1 -1 +10 3 1 23 86 117 +10 3 1 24 87 116 +10 3 1 25 86 116 +10 3 1 26 87 115 +10 3 1 27 86 115 +10 3 1 28 87 114 +10 3 1 29 86 114 +10 3 1 30 87 113 +10 3 1 31 86 113 +10 3 1 32 87 112 +10 3 1 33 86 112 +10 3 1 34 87 111 +10 3 1 35 86 111 +10 3 1 36 87 110 +10 3 1 37 86 110 +10 3 1 38 87 109 +10 3 1 39 86 109 +10 3 1 40 87 108 +10 3 1 41 86 108 +10 3 1 42 87 107 +10 3 1 43 86 107 +10 3 1 44 87 106 +10 3 1 45 -1 -1 +10 3 1 46 86 106 +10 3 1 47 87 105 +10 3 1 48 86 105 +10 3 1 49 87 104 +10 3 1 50 86 104 +10 3 1 51 87 103 +10 3 1 52 86 103 +10 3 1 53 87 102 +10 3 1 54 86 102 +10 3 1 55 87 101 +10 3 1 56 -1 -1 +10 3 1 57 86 101 +10 3 1 58 87 100 +10 3 1 59 86 100 +10 3 1 60 87 99 +10 3 1 61 86 99 +10 3 1 62 87 98 +10 3 1 63 86 98 +10 3 1 64 87 97 +10 3 1 65 86 97 +10 3 1 66 87 96 +10 3 1 67 86 96 +10 3 2 0 85 95 +10 3 2 1 84 95 +10 3 2 2 85 94 +10 3 2 3 84 94 +10 3 2 4 85 93 +10 3 2 5 84 93 +10 3 2 6 85 92 +10 3 2 7 84 92 +10 3 2 8 85 91 +10 3 2 9 84 91 +10 3 2 10 85 90 +10 3 2 11 -1 -1 +10 3 2 12 84 90 +10 3 2 13 85 89 +10 3 2 14 84 89 +10 3 2 15 85 88 +10 3 2 16 84 88 +10 3 2 17 85 87 +10 3 2 18 84 87 +10 3 2 19 85 86 +10 3 2 20 84 86 +10 3 2 21 85 85 +10 3 2 22 -1 -1 +10 3 2 23 84 85 +10 3 2 24 85 84 +10 3 2 25 84 84 +10 3 2 26 85 83 +10 3 2 27 84 83 +10 3 2 28 85 82 +10 3 2 29 84 82 +10 3 2 30 85 81 +10 3 2 31 84 81 +10 3 2 32 85 80 +10 3 2 33 84 80 +10 3 2 34 85 79 +10 3 2 35 84 79 +10 3 2 36 85 78 +10 3 2 37 84 78 +10 3 2 38 85 77 +10 3 2 39 84 77 +10 3 2 40 85 76 +10 3 2 41 84 76 +10 3 2 42 85 75 +10 3 2 43 84 75 +10 3 2 44 85 74 +10 3 2 45 -1 -1 +10 3 2 46 84 74 +10 3 2 47 85 73 +10 3 2 48 84 73 +10 3 2 49 85 72 +10 3 2 50 84 72 +10 3 2 51 85 71 +10 3 2 52 84 71 +10 3 2 53 85 70 +10 3 2 54 84 70 +10 3 2 55 85 69 +10 3 2 56 -1 -1 +10 3 2 57 84 69 +10 3 2 58 85 68 +10 3 2 59 84 68 +10 3 2 60 85 67 +10 3 2 61 84 67 +10 3 2 62 85 66 +10 3 2 63 84 66 +10 3 2 64 85 65 +10 3 2 65 84 65 +10 3 2 66 85 64 +10 3 2 67 84 64 +10 3 3 0 85 127 +10 3 3 1 84 127 +10 3 3 2 85 126 +10 3 3 3 84 126 +10 3 3 4 85 125 +10 3 3 5 84 125 +10 3 3 6 85 124 +10 3 3 7 84 124 +10 3 3 8 85 123 +10 3 3 9 84 123 +10 3 3 10 85 122 +10 3 3 11 -1 -1 +10 3 3 12 84 122 +10 3 3 13 85 121 +10 3 3 14 84 121 +10 3 3 15 85 120 +10 3 3 16 84 120 +10 3 3 17 85 119 +10 3 3 18 84 119 +10 3 3 19 85 118 +10 3 3 20 84 118 +10 3 3 21 85 117 +10 3 3 22 -1 -1 +10 3 3 23 84 117 +10 3 3 24 85 116 +10 3 3 25 84 116 +10 3 3 26 85 115 +10 3 3 27 84 115 +10 3 3 28 85 114 +10 3 3 29 84 114 +10 3 3 30 85 113 +10 3 3 31 84 113 +10 3 3 32 85 112 +10 3 3 33 84 112 +10 3 3 34 85 111 +10 3 3 35 84 111 +10 3 3 36 85 110 +10 3 3 37 84 110 +10 3 3 38 85 109 +10 3 3 39 84 109 +10 3 3 40 85 108 +10 3 3 41 84 108 +10 3 3 42 85 107 +10 3 3 43 84 107 +10 3 3 44 85 106 +10 3 3 45 -1 -1 +10 3 3 46 84 106 +10 3 3 47 85 105 +10 3 3 48 84 105 +10 3 3 49 85 104 +10 3 3 50 84 104 +10 3 3 51 85 103 +10 3 3 52 84 103 +10 3 3 53 85 102 +10 3 3 54 84 102 +10 3 3 55 85 101 +10 3 3 56 -1 -1 +10 3 3 57 84 101 +10 3 3 58 85 100 +10 3 3 59 84 100 +10 3 3 60 85 99 +10 3 3 61 84 99 +10 3 3 62 85 98 +10 3 3 63 84 98 +10 3 3 64 85 97 +10 3 3 65 84 97 +10 3 3 66 85 96 +10 3 3 67 84 96 +11 0 0 0 88 32 +11 0 0 1 89 32 +11 0 0 2 88 33 +11 0 0 3 89 33 +11 0 0 4 88 34 +11 0 0 5 89 34 +11 0 0 6 88 35 +11 0 0 7 89 35 +11 0 0 8 88 36 +11 0 0 9 89 36 +11 0 0 10 88 37 +11 0 0 11 -1 -1 +11 0 0 12 89 37 +11 0 0 13 88 38 +11 0 0 14 89 38 +11 0 0 15 88 39 +11 0 0 16 89 39 +11 0 0 17 88 40 +11 0 0 18 89 40 +11 0 0 19 88 41 +11 0 0 20 89 41 +11 0 0 21 88 42 +11 0 0 22 -1 -1 +11 0 0 23 89 42 +11 0 0 24 88 43 +11 0 0 25 89 43 +11 0 0 26 88 44 +11 0 0 27 89 44 +11 0 0 28 88 45 +11 0 0 29 89 45 +11 0 0 30 88 46 +11 0 0 31 89 46 +11 0 0 32 88 47 +11 0 0 33 89 47 +11 0 0 34 88 48 +11 0 0 35 89 48 +11 0 0 36 88 49 +11 0 0 37 89 49 +11 0 0 38 88 50 +11 0 0 39 89 50 +11 0 0 40 88 51 +11 0 0 41 89 51 +11 0 0 42 88 52 +11 0 0 43 89 52 +11 0 0 44 88 53 +11 0 0 45 -1 -1 +11 0 0 46 89 53 +11 0 0 47 88 54 +11 0 0 48 89 54 +11 0 0 49 88 55 +11 0 0 50 89 55 +11 0 0 51 88 56 +11 0 0 52 89 56 +11 0 0 53 88 57 +11 0 0 54 89 57 +11 0 0 55 88 58 +11 0 0 56 -1 -1 +11 0 0 57 89 58 +11 0 0 58 88 59 +11 0 0 59 89 59 +11 0 0 60 88 60 +11 0 0 61 89 60 +11 0 0 62 88 61 +11 0 0 63 89 61 +11 0 0 64 88 62 +11 0 0 65 89 62 +11 0 0 66 88 63 +11 0 0 67 89 63 +11 0 1 0 88 0 +11 0 1 1 89 0 +11 0 1 2 88 1 +11 0 1 3 89 1 +11 0 1 4 88 2 +11 0 1 5 89 2 +11 0 1 6 88 3 +11 0 1 7 89 3 +11 0 1 8 88 4 +11 0 1 9 89 4 +11 0 1 10 88 5 +11 0 1 11 -1 -1 +11 0 1 12 89 5 +11 0 1 13 88 6 +11 0 1 14 89 6 +11 0 1 15 88 7 +11 0 1 16 89 7 +11 0 1 17 88 8 +11 0 1 18 89 8 +11 0 1 19 88 9 +11 0 1 20 89 9 +11 0 1 21 88 10 +11 0 1 22 -1 -1 +11 0 1 23 89 10 +11 0 1 24 88 11 +11 0 1 25 89 11 +11 0 1 26 88 12 +11 0 1 27 89 12 +11 0 1 28 88 13 +11 0 1 29 89 13 +11 0 1 30 88 14 +11 0 1 31 89 14 +11 0 1 32 88 15 +11 0 1 33 89 15 +11 0 1 34 88 16 +11 0 1 35 89 16 +11 0 1 36 88 17 +11 0 1 37 89 17 +11 0 1 38 88 18 +11 0 1 39 89 18 +11 0 1 40 88 19 +11 0 1 41 89 19 +11 0 1 42 88 20 +11 0 1 43 89 20 +11 0 1 44 88 21 +11 0 1 45 -1 -1 +11 0 1 46 89 21 +11 0 1 47 88 22 +11 0 1 48 89 22 +11 0 1 49 88 23 +11 0 1 50 89 23 +11 0 1 51 88 24 +11 0 1 52 89 24 +11 0 1 53 88 25 +11 0 1 54 89 25 +11 0 1 55 88 26 +11 0 1 56 -1 -1 +11 0 1 57 89 26 +11 0 1 58 88 27 +11 0 1 59 89 27 +11 0 1 60 88 28 +11 0 1 61 89 28 +11 0 1 62 88 29 +11 0 1 63 89 29 +11 0 1 64 88 30 +11 0 1 65 89 30 +11 0 1 66 88 31 +11 0 1 67 89 31 +11 0 2 0 90 32 +11 0 2 1 91 32 +11 0 2 2 90 33 +11 0 2 3 91 33 +11 0 2 4 90 34 +11 0 2 5 91 34 +11 0 2 6 90 35 +11 0 2 7 91 35 +11 0 2 8 90 36 +11 0 2 9 91 36 +11 0 2 10 90 37 +11 0 2 11 -1 -1 +11 0 2 12 91 37 +11 0 2 13 90 38 +11 0 2 14 91 38 +11 0 2 15 90 39 +11 0 2 16 91 39 +11 0 2 17 90 40 +11 0 2 18 91 40 +11 0 2 19 90 41 +11 0 2 20 91 41 +11 0 2 21 90 42 +11 0 2 22 -1 -1 +11 0 2 23 91 42 +11 0 2 24 90 43 +11 0 2 25 91 43 +11 0 2 26 90 44 +11 0 2 27 91 44 +11 0 2 28 90 45 +11 0 2 29 91 45 +11 0 2 30 90 46 +11 0 2 31 91 46 +11 0 2 32 90 47 +11 0 2 33 91 47 +11 0 2 34 90 48 +11 0 2 35 91 48 +11 0 2 36 90 49 +11 0 2 37 91 49 +11 0 2 38 90 50 +11 0 2 39 91 50 +11 0 2 40 90 51 +11 0 2 41 91 51 +11 0 2 42 90 52 +11 0 2 43 91 52 +11 0 2 44 90 53 +11 0 2 45 -1 -1 +11 0 2 46 91 53 +11 0 2 47 90 54 +11 0 2 48 91 54 +11 0 2 49 90 55 +11 0 2 50 91 55 +11 0 2 51 90 56 +11 0 2 52 91 56 +11 0 2 53 90 57 +11 0 2 54 91 57 +11 0 2 55 90 58 +11 0 2 56 -1 -1 +11 0 2 57 91 58 +11 0 2 58 90 59 +11 0 2 59 91 59 +11 0 2 60 90 60 +11 0 2 61 91 60 +11 0 2 62 90 61 +11 0 2 63 91 61 +11 0 2 64 90 62 +11 0 2 65 91 62 +11 0 2 66 90 63 +11 0 2 67 91 63 +11 0 3 0 90 0 +11 0 3 1 91 0 +11 0 3 2 90 1 +11 0 3 3 91 1 +11 0 3 4 90 2 +11 0 3 5 91 2 +11 0 3 6 90 3 +11 0 3 7 91 3 +11 0 3 8 90 4 +11 0 3 9 91 4 +11 0 3 10 90 5 +11 0 3 11 -1 -1 +11 0 3 12 91 5 +11 0 3 13 90 6 +11 0 3 14 91 6 +11 0 3 15 90 7 +11 0 3 16 91 7 +11 0 3 17 90 8 +11 0 3 18 91 8 +11 0 3 19 90 9 +11 0 3 20 91 9 +11 0 3 21 90 10 +11 0 3 22 -1 -1 +11 0 3 23 91 10 +11 0 3 24 90 11 +11 0 3 25 91 11 +11 0 3 26 90 12 +11 0 3 27 91 12 +11 0 3 28 90 13 +11 0 3 29 91 13 +11 0 3 30 90 14 +11 0 3 31 91 14 +11 0 3 32 90 15 +11 0 3 33 91 15 +11 0 3 34 90 16 +11 0 3 35 91 16 +11 0 3 36 90 17 +11 0 3 37 91 17 +11 0 3 38 90 18 +11 0 3 39 91 18 +11 0 3 40 90 19 +11 0 3 41 91 19 +11 0 3 42 90 20 +11 0 3 43 91 20 +11 0 3 44 90 21 +11 0 3 45 -1 -1 +11 0 3 46 91 21 +11 0 3 47 90 22 +11 0 3 48 91 22 +11 0 3 49 90 23 +11 0 3 50 91 23 +11 0 3 51 90 24 +11 0 3 52 91 24 +11 0 3 53 90 25 +11 0 3 54 91 25 +11 0 3 55 90 26 +11 0 3 56 -1 -1 +11 0 3 57 91 26 +11 0 3 58 90 27 +11 0 3 59 91 27 +11 0 3 60 90 28 +11 0 3 61 91 28 +11 0 3 62 90 29 +11 0 3 63 91 29 +11 0 3 64 90 30 +11 0 3 65 91 30 +11 0 3 66 90 31 +11 0 3 67 91 31 +11 1 0 0 91 95 +11 1 0 1 90 95 +11 1 0 2 91 94 +11 1 0 3 90 94 +11 1 0 4 91 93 +11 1 0 5 90 93 +11 1 0 6 91 92 +11 1 0 7 90 92 +11 1 0 8 91 91 +11 1 0 9 90 91 +11 1 0 10 91 90 +11 1 0 11 -1 -1 +11 1 0 12 90 90 +11 1 0 13 91 89 +11 1 0 14 90 89 +11 1 0 15 91 88 +11 1 0 16 90 88 +11 1 0 17 91 87 +11 1 0 18 90 87 +11 1 0 19 91 86 +11 1 0 20 90 86 +11 1 0 21 91 85 +11 1 0 22 -1 -1 +11 1 0 23 90 85 +11 1 0 24 91 84 +11 1 0 25 90 84 +11 1 0 26 91 83 +11 1 0 27 90 83 +11 1 0 28 91 82 +11 1 0 29 90 82 +11 1 0 30 91 81 +11 1 0 31 90 81 +11 1 0 32 91 80 +11 1 0 33 90 80 +11 1 0 34 91 79 +11 1 0 35 90 79 +11 1 0 36 91 78 +11 1 0 37 90 78 +11 1 0 38 91 77 +11 1 0 39 90 77 +11 1 0 40 91 76 +11 1 0 41 90 76 +11 1 0 42 91 75 +11 1 0 43 90 75 +11 1 0 44 91 74 +11 1 0 45 -1 -1 +11 1 0 46 90 74 +11 1 0 47 91 73 +11 1 0 48 90 73 +11 1 0 49 91 72 +11 1 0 50 90 72 +11 1 0 51 91 71 +11 1 0 52 90 71 +11 1 0 53 91 70 +11 1 0 54 90 70 +11 1 0 55 91 69 +11 1 0 56 -1 -1 +11 1 0 57 90 69 +11 1 0 58 91 68 +11 1 0 59 90 68 +11 1 0 60 91 67 +11 1 0 61 90 67 +11 1 0 62 91 66 +11 1 0 63 90 66 +11 1 0 64 91 65 +11 1 0 65 90 65 +11 1 0 66 91 64 +11 1 0 67 90 64 +11 1 1 0 91 127 +11 1 1 1 90 127 +11 1 1 2 91 126 +11 1 1 3 90 126 +11 1 1 4 91 125 +11 1 1 5 90 125 +11 1 1 6 91 124 +11 1 1 7 90 124 +11 1 1 8 91 123 +11 1 1 9 90 123 +11 1 1 10 91 122 +11 1 1 11 -1 -1 +11 1 1 12 90 122 +11 1 1 13 91 121 +11 1 1 14 90 121 +11 1 1 15 91 120 +11 1 1 16 90 120 +11 1 1 17 91 119 +11 1 1 18 90 119 +11 1 1 19 91 118 +11 1 1 20 90 118 +11 1 1 21 91 117 +11 1 1 22 -1 -1 +11 1 1 23 90 117 +11 1 1 24 91 116 +11 1 1 25 90 116 +11 1 1 26 91 115 +11 1 1 27 90 115 +11 1 1 28 91 114 +11 1 1 29 90 114 +11 1 1 30 91 113 +11 1 1 31 90 113 +11 1 1 32 91 112 +11 1 1 33 90 112 +11 1 1 34 91 111 +11 1 1 35 90 111 +11 1 1 36 91 110 +11 1 1 37 90 110 +11 1 1 38 91 109 +11 1 1 39 90 109 +11 1 1 40 91 108 +11 1 1 41 90 108 +11 1 1 42 91 107 +11 1 1 43 90 107 +11 1 1 44 91 106 +11 1 1 45 -1 -1 +11 1 1 46 90 106 +11 1 1 47 91 105 +11 1 1 48 90 105 +11 1 1 49 91 104 +11 1 1 50 90 104 +11 1 1 51 91 103 +11 1 1 52 90 103 +11 1 1 53 91 102 +11 1 1 54 90 102 +11 1 1 55 91 101 +11 1 1 56 -1 -1 +11 1 1 57 90 101 +11 1 1 58 91 100 +11 1 1 59 90 100 +11 1 1 60 91 99 +11 1 1 61 90 99 +11 1 1 62 91 98 +11 1 1 63 90 98 +11 1 1 64 91 97 +11 1 1 65 90 97 +11 1 1 66 91 96 +11 1 1 67 90 96 +11 1 2 0 89 95 +11 1 2 1 88 95 +11 1 2 2 89 94 +11 1 2 3 88 94 +11 1 2 4 89 93 +11 1 2 5 88 93 +11 1 2 6 89 92 +11 1 2 7 88 92 +11 1 2 8 89 91 +11 1 2 9 88 91 +11 1 2 10 89 90 +11 1 2 11 -1 -1 +11 1 2 12 88 90 +11 1 2 13 89 89 +11 1 2 14 88 89 +11 1 2 15 89 88 +11 1 2 16 88 88 +11 1 2 17 89 87 +11 1 2 18 88 87 +11 1 2 19 89 86 +11 1 2 20 88 86 +11 1 2 21 89 85 +11 1 2 22 -1 -1 +11 1 2 23 88 85 +11 1 2 24 89 84 +11 1 2 25 88 84 +11 1 2 26 89 83 +11 1 2 27 88 83 +11 1 2 28 89 82 +11 1 2 29 88 82 +11 1 2 30 89 81 +11 1 2 31 88 81 +11 1 2 32 89 80 +11 1 2 33 88 80 +11 1 2 34 89 79 +11 1 2 35 88 79 +11 1 2 36 89 78 +11 1 2 37 88 78 +11 1 2 38 89 77 +11 1 2 39 88 77 +11 1 2 40 89 76 +11 1 2 41 88 76 +11 1 2 42 89 75 +11 1 2 43 88 75 +11 1 2 44 89 74 +11 1 2 45 -1 -1 +11 1 2 46 88 74 +11 1 2 47 89 73 +11 1 2 48 88 73 +11 1 2 49 89 72 +11 1 2 50 88 72 +11 1 2 51 89 71 +11 1 2 52 88 71 +11 1 2 53 89 70 +11 1 2 54 88 70 +11 1 2 55 89 69 +11 1 2 56 -1 -1 +11 1 2 57 88 69 +11 1 2 58 89 68 +11 1 2 59 88 68 +11 1 2 60 89 67 +11 1 2 61 88 67 +11 1 2 62 89 66 +11 1 2 63 88 66 +11 1 2 64 89 65 +11 1 2 65 88 65 +11 1 2 66 89 64 +11 1 2 67 88 64 +11 1 3 0 89 127 +11 1 3 1 88 127 +11 1 3 2 89 126 +11 1 3 3 88 126 +11 1 3 4 89 125 +11 1 3 5 88 125 +11 1 3 6 89 124 +11 1 3 7 88 124 +11 1 3 8 89 123 +11 1 3 9 88 123 +11 1 3 10 89 122 +11 1 3 11 -1 -1 +11 1 3 12 88 122 +11 1 3 13 89 121 +11 1 3 14 88 121 +11 1 3 15 89 120 +11 1 3 16 88 120 +11 1 3 17 89 119 +11 1 3 18 88 119 +11 1 3 19 89 118 +11 1 3 20 88 118 +11 1 3 21 89 117 +11 1 3 22 -1 -1 +11 1 3 23 88 117 +11 1 3 24 89 116 +11 1 3 25 88 116 +11 1 3 26 89 115 +11 1 3 27 88 115 +11 1 3 28 89 114 +11 1 3 29 88 114 +11 1 3 30 89 113 +11 1 3 31 88 113 +11 1 3 32 89 112 +11 1 3 33 88 112 +11 1 3 34 89 111 +11 1 3 35 88 111 +11 1 3 36 89 110 +11 1 3 37 88 110 +11 1 3 38 89 109 +11 1 3 39 88 109 +11 1 3 40 89 108 +11 1 3 41 88 108 +11 1 3 42 89 107 +11 1 3 43 88 107 +11 1 3 44 89 106 +11 1 3 45 -1 -1 +11 1 3 46 88 106 +11 1 3 47 89 105 +11 1 3 48 88 105 +11 1 3 49 89 104 +11 1 3 50 88 104 +11 1 3 51 89 103 +11 1 3 52 88 103 +11 1 3 53 89 102 +11 1 3 54 88 102 +11 1 3 55 89 101 +11 1 3 56 -1 -1 +11 1 3 57 88 101 +11 1 3 58 89 100 +11 1 3 59 88 100 +11 1 3 60 89 99 +11 1 3 61 88 99 +11 1 3 62 89 98 +11 1 3 63 88 98 +11 1 3 64 89 97 +11 1 3 65 88 97 +11 1 3 66 89 96 +11 1 3 67 88 96 +11 2 0 0 92 32 +11 2 0 1 93 32 +11 2 0 2 92 33 +11 2 0 3 93 33 +11 2 0 4 92 34 +11 2 0 5 93 34 +11 2 0 6 92 35 +11 2 0 7 93 35 +11 2 0 8 92 36 +11 2 0 9 93 36 +11 2 0 10 92 37 +11 2 0 11 -1 -1 +11 2 0 12 93 37 +11 2 0 13 92 38 +11 2 0 14 93 38 +11 2 0 15 92 39 +11 2 0 16 93 39 +11 2 0 17 92 40 +11 2 0 18 93 40 +11 2 0 19 92 41 +11 2 0 20 93 41 +11 2 0 21 92 42 +11 2 0 22 -1 -1 +11 2 0 23 93 42 +11 2 0 24 92 43 +11 2 0 25 93 43 +11 2 0 26 92 44 +11 2 0 27 93 44 +11 2 0 28 92 45 +11 2 0 29 93 45 +11 2 0 30 92 46 +11 2 0 31 93 46 +11 2 0 32 92 47 +11 2 0 33 93 47 +11 2 0 34 92 48 +11 2 0 35 93 48 +11 2 0 36 92 49 +11 2 0 37 93 49 +11 2 0 38 92 50 +11 2 0 39 93 50 +11 2 0 40 92 51 +11 2 0 41 93 51 +11 2 0 42 92 52 +11 2 0 43 93 52 +11 2 0 44 92 53 +11 2 0 45 -1 -1 +11 2 0 46 93 53 +11 2 0 47 92 54 +11 2 0 48 93 54 +11 2 0 49 92 55 +11 2 0 50 93 55 +11 2 0 51 92 56 +11 2 0 52 93 56 +11 2 0 53 92 57 +11 2 0 54 93 57 +11 2 0 55 92 58 +11 2 0 56 -1 -1 +11 2 0 57 93 58 +11 2 0 58 92 59 +11 2 0 59 93 59 +11 2 0 60 92 60 +11 2 0 61 93 60 +11 2 0 62 92 61 +11 2 0 63 93 61 +11 2 0 64 92 62 +11 2 0 65 93 62 +11 2 0 66 92 63 +11 2 0 67 93 63 +11 2 1 0 92 0 +11 2 1 1 93 0 +11 2 1 2 92 1 +11 2 1 3 93 1 +11 2 1 4 92 2 +11 2 1 5 93 2 +11 2 1 6 92 3 +11 2 1 7 93 3 +11 2 1 8 92 4 +11 2 1 9 93 4 +11 2 1 10 92 5 +11 2 1 11 -1 -1 +11 2 1 12 93 5 +11 2 1 13 92 6 +11 2 1 14 93 6 +11 2 1 15 92 7 +11 2 1 16 93 7 +11 2 1 17 92 8 +11 2 1 18 93 8 +11 2 1 19 92 9 +11 2 1 20 93 9 +11 2 1 21 92 10 +11 2 1 22 -1 -1 +11 2 1 23 93 10 +11 2 1 24 92 11 +11 2 1 25 93 11 +11 2 1 26 92 12 +11 2 1 27 93 12 +11 2 1 28 92 13 +11 2 1 29 93 13 +11 2 1 30 92 14 +11 2 1 31 93 14 +11 2 1 32 92 15 +11 2 1 33 93 15 +11 2 1 34 92 16 +11 2 1 35 93 16 +11 2 1 36 92 17 +11 2 1 37 93 17 +11 2 1 38 92 18 +11 2 1 39 93 18 +11 2 1 40 92 19 +11 2 1 41 93 19 +11 2 1 42 92 20 +11 2 1 43 93 20 +11 2 1 44 92 21 +11 2 1 45 -1 -1 +11 2 1 46 93 21 +11 2 1 47 92 22 +11 2 1 48 93 22 +11 2 1 49 92 23 +11 2 1 50 93 23 +11 2 1 51 92 24 +11 2 1 52 93 24 +11 2 1 53 92 25 +11 2 1 54 93 25 +11 2 1 55 92 26 +11 2 1 56 -1 -1 +11 2 1 57 93 26 +11 2 1 58 92 27 +11 2 1 59 93 27 +11 2 1 60 92 28 +11 2 1 61 93 28 +11 2 1 62 92 29 +11 2 1 63 93 29 +11 2 1 64 92 30 +11 2 1 65 93 30 +11 2 1 66 92 31 +11 2 1 67 93 31 +11 2 2 0 94 32 +11 2 2 1 95 32 +11 2 2 2 94 33 +11 2 2 3 95 33 +11 2 2 4 94 34 +11 2 2 5 95 34 +11 2 2 6 94 35 +11 2 2 7 95 35 +11 2 2 8 94 36 +11 2 2 9 95 36 +11 2 2 10 94 37 +11 2 2 11 -1 -1 +11 2 2 12 95 37 +11 2 2 13 94 38 +11 2 2 14 95 38 +11 2 2 15 94 39 +11 2 2 16 95 39 +11 2 2 17 94 40 +11 2 2 18 95 40 +11 2 2 19 94 41 +11 2 2 20 95 41 +11 2 2 21 94 42 +11 2 2 22 -1 -1 +11 2 2 23 95 42 +11 2 2 24 94 43 +11 2 2 25 95 43 +11 2 2 26 94 44 +11 2 2 27 95 44 +11 2 2 28 94 45 +11 2 2 29 95 45 +11 2 2 30 94 46 +11 2 2 31 95 46 +11 2 2 32 94 47 +11 2 2 33 95 47 +11 2 2 34 94 48 +11 2 2 35 95 48 +11 2 2 36 94 49 +11 2 2 37 95 49 +11 2 2 38 94 50 +11 2 2 39 95 50 +11 2 2 40 94 51 +11 2 2 41 95 51 +11 2 2 42 94 52 +11 2 2 43 95 52 +11 2 2 44 94 53 +11 2 2 45 -1 -1 +11 2 2 46 95 53 +11 2 2 47 94 54 +11 2 2 48 95 54 +11 2 2 49 94 55 +11 2 2 50 95 55 +11 2 2 51 94 56 +11 2 2 52 95 56 +11 2 2 53 94 57 +11 2 2 54 95 57 +11 2 2 55 94 58 +11 2 2 56 -1 -1 +11 2 2 57 95 58 +11 2 2 58 94 59 +11 2 2 59 95 59 +11 2 2 60 94 60 +11 2 2 61 95 60 +11 2 2 62 94 61 +11 2 2 63 95 61 +11 2 2 64 94 62 +11 2 2 65 95 62 +11 2 2 66 94 63 +11 2 2 67 95 63 +11 2 3 0 94 0 +11 2 3 1 95 0 +11 2 3 2 94 1 +11 2 3 3 95 1 +11 2 3 4 94 2 +11 2 3 5 95 2 +11 2 3 6 94 3 +11 2 3 7 95 3 +11 2 3 8 94 4 +11 2 3 9 95 4 +11 2 3 10 94 5 +11 2 3 11 -1 -1 +11 2 3 12 95 5 +11 2 3 13 94 6 +11 2 3 14 95 6 +11 2 3 15 94 7 +11 2 3 16 95 7 +11 2 3 17 94 8 +11 2 3 18 95 8 +11 2 3 19 94 9 +11 2 3 20 95 9 +11 2 3 21 94 10 +11 2 3 22 -1 -1 +11 2 3 23 95 10 +11 2 3 24 94 11 +11 2 3 25 95 11 +11 2 3 26 94 12 +11 2 3 27 95 12 +11 2 3 28 94 13 +11 2 3 29 95 13 +11 2 3 30 94 14 +11 2 3 31 95 14 +11 2 3 32 94 15 +11 2 3 33 95 15 +11 2 3 34 94 16 +11 2 3 35 95 16 +11 2 3 36 94 17 +11 2 3 37 95 17 +11 2 3 38 94 18 +11 2 3 39 95 18 +11 2 3 40 94 19 +11 2 3 41 95 19 +11 2 3 42 94 20 +11 2 3 43 95 20 +11 2 3 44 94 21 +11 2 3 45 -1 -1 +11 2 3 46 95 21 +11 2 3 47 94 22 +11 2 3 48 95 22 +11 2 3 49 94 23 +11 2 3 50 95 23 +11 2 3 51 94 24 +11 2 3 52 95 24 +11 2 3 53 94 25 +11 2 3 54 95 25 +11 2 3 55 94 26 +11 2 3 56 -1 -1 +11 2 3 57 95 26 +11 2 3 58 94 27 +11 2 3 59 95 27 +11 2 3 60 94 28 +11 2 3 61 95 28 +11 2 3 62 94 29 +11 2 3 63 95 29 +11 2 3 64 94 30 +11 2 3 65 95 30 +11 2 3 66 94 31 +11 2 3 67 95 31 +11 3 0 0 95 95 +11 3 0 1 94 95 +11 3 0 2 95 94 +11 3 0 3 94 94 +11 3 0 4 95 93 +11 3 0 5 94 93 +11 3 0 6 95 92 +11 3 0 7 94 92 +11 3 0 8 95 91 +11 3 0 9 94 91 +11 3 0 10 95 90 +11 3 0 11 -1 -1 +11 3 0 12 94 90 +11 3 0 13 95 89 +11 3 0 14 94 89 +11 3 0 15 95 88 +11 3 0 16 94 88 +11 3 0 17 95 87 +11 3 0 18 94 87 +11 3 0 19 95 86 +11 3 0 20 94 86 +11 3 0 21 95 85 +11 3 0 22 -1 -1 +11 3 0 23 94 85 +11 3 0 24 95 84 +11 3 0 25 94 84 +11 3 0 26 95 83 +11 3 0 27 94 83 +11 3 0 28 95 82 +11 3 0 29 94 82 +11 3 0 30 95 81 +11 3 0 31 94 81 +11 3 0 32 95 80 +11 3 0 33 94 80 +11 3 0 34 95 79 +11 3 0 35 94 79 +11 3 0 36 95 78 +11 3 0 37 94 78 +11 3 0 38 95 77 +11 3 0 39 94 77 +11 3 0 40 95 76 +11 3 0 41 94 76 +11 3 0 42 95 75 +11 3 0 43 94 75 +11 3 0 44 95 74 +11 3 0 45 -1 -1 +11 3 0 46 94 74 +11 3 0 47 95 73 +11 3 0 48 94 73 +11 3 0 49 95 72 +11 3 0 50 94 72 +11 3 0 51 95 71 +11 3 0 52 94 71 +11 3 0 53 95 70 +11 3 0 54 94 70 +11 3 0 55 95 69 +11 3 0 56 -1 -1 +11 3 0 57 94 69 +11 3 0 58 95 68 +11 3 0 59 94 68 +11 3 0 60 95 67 +11 3 0 61 94 67 +11 3 0 62 95 66 +11 3 0 63 94 66 +11 3 0 64 95 65 +11 3 0 65 94 65 +11 3 0 66 95 64 +11 3 0 67 94 64 +11 3 1 0 95 127 +11 3 1 1 94 127 +11 3 1 2 95 126 +11 3 1 3 94 126 +11 3 1 4 95 125 +11 3 1 5 94 125 +11 3 1 6 95 124 +11 3 1 7 94 124 +11 3 1 8 95 123 +11 3 1 9 94 123 +11 3 1 10 95 122 +11 3 1 11 -1 -1 +11 3 1 12 94 122 +11 3 1 13 95 121 +11 3 1 14 94 121 +11 3 1 15 95 120 +11 3 1 16 94 120 +11 3 1 17 95 119 +11 3 1 18 94 119 +11 3 1 19 95 118 +11 3 1 20 94 118 +11 3 1 21 95 117 +11 3 1 22 -1 -1 +11 3 1 23 94 117 +11 3 1 24 95 116 +11 3 1 25 94 116 +11 3 1 26 95 115 +11 3 1 27 94 115 +11 3 1 28 95 114 +11 3 1 29 94 114 +11 3 1 30 95 113 +11 3 1 31 94 113 +11 3 1 32 95 112 +11 3 1 33 94 112 +11 3 1 34 95 111 +11 3 1 35 94 111 +11 3 1 36 95 110 +11 3 1 37 94 110 +11 3 1 38 95 109 +11 3 1 39 94 109 +11 3 1 40 95 108 +11 3 1 41 94 108 +11 3 1 42 95 107 +11 3 1 43 94 107 +11 3 1 44 95 106 +11 3 1 45 -1 -1 +11 3 1 46 94 106 +11 3 1 47 95 105 +11 3 1 48 94 105 +11 3 1 49 95 104 +11 3 1 50 94 104 +11 3 1 51 95 103 +11 3 1 52 94 103 +11 3 1 53 95 102 +11 3 1 54 94 102 +11 3 1 55 95 101 +11 3 1 56 -1 -1 +11 3 1 57 94 101 +11 3 1 58 95 100 +11 3 1 59 94 100 +11 3 1 60 95 99 +11 3 1 61 94 99 +11 3 1 62 95 98 +11 3 1 63 94 98 +11 3 1 64 95 97 +11 3 1 65 94 97 +11 3 1 66 95 96 +11 3 1 67 94 96 +11 3 2 0 93 95 +11 3 2 1 92 95 +11 3 2 2 93 94 +11 3 2 3 92 94 +11 3 2 4 93 93 +11 3 2 5 92 93 +11 3 2 6 93 92 +11 3 2 7 92 92 +11 3 2 8 93 91 +11 3 2 9 92 91 +11 3 2 10 93 90 +11 3 2 11 -1 -1 +11 3 2 12 92 90 +11 3 2 13 93 89 +11 3 2 14 92 89 +11 3 2 15 93 88 +11 3 2 16 92 88 +11 3 2 17 93 87 +11 3 2 18 92 87 +11 3 2 19 93 86 +11 3 2 20 92 86 +11 3 2 21 93 85 +11 3 2 22 -1 -1 +11 3 2 23 92 85 +11 3 2 24 93 84 +11 3 2 25 92 84 +11 3 2 26 93 83 +11 3 2 27 92 83 +11 3 2 28 93 82 +11 3 2 29 92 82 +11 3 2 30 93 81 +11 3 2 31 92 81 +11 3 2 32 93 80 +11 3 2 33 92 80 +11 3 2 34 93 79 +11 3 2 35 92 79 +11 3 2 36 93 78 +11 3 2 37 92 78 +11 3 2 38 93 77 +11 3 2 39 92 77 +11 3 2 40 93 76 +11 3 2 41 92 76 +11 3 2 42 93 75 +11 3 2 43 92 75 +11 3 2 44 93 74 +11 3 2 45 -1 -1 +11 3 2 46 92 74 +11 3 2 47 93 73 +11 3 2 48 92 73 +11 3 2 49 93 72 +11 3 2 50 92 72 +11 3 2 51 93 71 +11 3 2 52 92 71 +11 3 2 53 93 70 +11 3 2 54 92 70 +11 3 2 55 93 69 +11 3 2 56 -1 -1 +11 3 2 57 92 69 +11 3 2 58 93 68 +11 3 2 59 92 68 +11 3 2 60 93 67 +11 3 2 61 92 67 +11 3 2 62 93 66 +11 3 2 63 92 66 +11 3 2 64 93 65 +11 3 2 65 92 65 +11 3 2 66 93 64 +11 3 2 67 92 64 +11 3 3 0 93 127 +11 3 3 1 92 127 +11 3 3 2 93 126 +11 3 3 3 92 126 +11 3 3 4 93 125 +11 3 3 5 92 125 +11 3 3 6 93 124 +11 3 3 7 92 124 +11 3 3 8 93 123 +11 3 3 9 92 123 +11 3 3 10 93 122 +11 3 3 11 -1 -1 +11 3 3 12 92 122 +11 3 3 13 93 121 +11 3 3 14 92 121 +11 3 3 15 93 120 +11 3 3 16 92 120 +11 3 3 17 93 119 +11 3 3 18 92 119 +11 3 3 19 93 118 +11 3 3 20 92 118 +11 3 3 21 93 117 +11 3 3 22 -1 -1 +11 3 3 23 92 117 +11 3 3 24 93 116 +11 3 3 25 92 116 +11 3 3 26 93 115 +11 3 3 27 92 115 +11 3 3 28 93 114 +11 3 3 29 92 114 +11 3 3 30 93 113 +11 3 3 31 92 113 +11 3 3 32 93 112 +11 3 3 33 92 112 +11 3 3 34 93 111 +11 3 3 35 92 111 +11 3 3 36 93 110 +11 3 3 37 92 110 +11 3 3 38 93 109 +11 3 3 39 92 109 +11 3 3 40 93 108 +11 3 3 41 92 108 +11 3 3 42 93 107 +11 3 3 43 92 107 +11 3 3 44 93 106 +11 3 3 45 -1 -1 +11 3 3 46 92 106 +11 3 3 47 93 105 +11 3 3 48 92 105 +11 3 3 49 93 104 +11 3 3 50 92 104 +11 3 3 51 93 103 +11 3 3 52 92 103 +11 3 3 53 93 102 +11 3 3 54 92 102 +11 3 3 55 93 101 +11 3 3 56 -1 -1 +11 3 3 57 92 101 +11 3 3 58 93 100 +11 3 3 59 92 100 +11 3 3 60 93 99 +11 3 3 61 92 99 +11 3 3 62 93 98 +11 3 3 63 92 98 +11 3 3 64 93 97 +11 3 3 65 92 97 +11 3 3 66 93 96 +11 3 3 67 92 96 +12 0 0 0 96 32 +12 0 0 1 97 32 +12 0 0 2 96 33 +12 0 0 3 97 33 +12 0 0 4 96 34 +12 0 0 5 97 34 +12 0 0 6 96 35 +12 0 0 7 97 35 +12 0 0 8 96 36 +12 0 0 9 97 36 +12 0 0 10 96 37 +12 0 0 11 -1 -1 +12 0 0 12 97 37 +12 0 0 13 96 38 +12 0 0 14 97 38 +12 0 0 15 96 39 +12 0 0 16 97 39 +12 0 0 17 96 40 +12 0 0 18 97 40 +12 0 0 19 96 41 +12 0 0 20 97 41 +12 0 0 21 96 42 +12 0 0 22 -1 -1 +12 0 0 23 97 42 +12 0 0 24 96 43 +12 0 0 25 97 43 +12 0 0 26 96 44 +12 0 0 27 97 44 +12 0 0 28 96 45 +12 0 0 29 97 45 +12 0 0 30 96 46 +12 0 0 31 97 46 +12 0 0 32 96 47 +12 0 0 33 97 47 +12 0 0 34 96 48 +12 0 0 35 97 48 +12 0 0 36 96 49 +12 0 0 37 97 49 +12 0 0 38 96 50 +12 0 0 39 97 50 +12 0 0 40 96 51 +12 0 0 41 97 51 +12 0 0 42 96 52 +12 0 0 43 97 52 +12 0 0 44 96 53 +12 0 0 45 -1 -1 +12 0 0 46 97 53 +12 0 0 47 96 54 +12 0 0 48 97 54 +12 0 0 49 96 55 +12 0 0 50 97 55 +12 0 0 51 96 56 +12 0 0 52 97 56 +12 0 0 53 96 57 +12 0 0 54 97 57 +12 0 0 55 96 58 +12 0 0 56 -1 -1 +12 0 0 57 97 58 +12 0 0 58 96 59 +12 0 0 59 97 59 +12 0 0 60 96 60 +12 0 0 61 97 60 +12 0 0 62 96 61 +12 0 0 63 97 61 +12 0 0 64 96 62 +12 0 0 65 97 62 +12 0 0 66 96 63 +12 0 0 67 97 63 +12 0 1 0 96 0 +12 0 1 1 97 0 +12 0 1 2 96 1 +12 0 1 3 97 1 +12 0 1 4 96 2 +12 0 1 5 97 2 +12 0 1 6 96 3 +12 0 1 7 97 3 +12 0 1 8 96 4 +12 0 1 9 97 4 +12 0 1 10 96 5 +12 0 1 11 -1 -1 +12 0 1 12 97 5 +12 0 1 13 96 6 +12 0 1 14 97 6 +12 0 1 15 96 7 +12 0 1 16 97 7 +12 0 1 17 96 8 +12 0 1 18 97 8 +12 0 1 19 96 9 +12 0 1 20 97 9 +12 0 1 21 96 10 +12 0 1 22 -1 -1 +12 0 1 23 97 10 +12 0 1 24 96 11 +12 0 1 25 97 11 +12 0 1 26 96 12 +12 0 1 27 97 12 +12 0 1 28 96 13 +12 0 1 29 97 13 +12 0 1 30 96 14 +12 0 1 31 97 14 +12 0 1 32 96 15 +12 0 1 33 97 15 +12 0 1 34 96 16 +12 0 1 35 97 16 +12 0 1 36 96 17 +12 0 1 37 97 17 +12 0 1 38 96 18 +12 0 1 39 97 18 +12 0 1 40 96 19 +12 0 1 41 97 19 +12 0 1 42 96 20 +12 0 1 43 97 20 +12 0 1 44 96 21 +12 0 1 45 -1 -1 +12 0 1 46 97 21 +12 0 1 47 96 22 +12 0 1 48 97 22 +12 0 1 49 96 23 +12 0 1 50 97 23 +12 0 1 51 96 24 +12 0 1 52 97 24 +12 0 1 53 96 25 +12 0 1 54 97 25 +12 0 1 55 96 26 +12 0 1 56 -1 -1 +12 0 1 57 97 26 +12 0 1 58 96 27 +12 0 1 59 97 27 +12 0 1 60 96 28 +12 0 1 61 97 28 +12 0 1 62 96 29 +12 0 1 63 97 29 +12 0 1 64 96 30 +12 0 1 65 97 30 +12 0 1 66 96 31 +12 0 1 67 97 31 +12 0 2 0 98 32 +12 0 2 1 99 32 +12 0 2 2 98 33 +12 0 2 3 99 33 +12 0 2 4 98 34 +12 0 2 5 99 34 +12 0 2 6 98 35 +12 0 2 7 99 35 +12 0 2 8 98 36 +12 0 2 9 99 36 +12 0 2 10 98 37 +12 0 2 11 -1 -1 +12 0 2 12 99 37 +12 0 2 13 98 38 +12 0 2 14 99 38 +12 0 2 15 98 39 +12 0 2 16 99 39 +12 0 2 17 98 40 +12 0 2 18 99 40 +12 0 2 19 98 41 +12 0 2 20 99 41 +12 0 2 21 98 42 +12 0 2 22 -1 -1 +12 0 2 23 99 42 +12 0 2 24 98 43 +12 0 2 25 99 43 +12 0 2 26 98 44 +12 0 2 27 99 44 +12 0 2 28 98 45 +12 0 2 29 99 45 +12 0 2 30 98 46 +12 0 2 31 99 46 +12 0 2 32 98 47 +12 0 2 33 99 47 +12 0 2 34 98 48 +12 0 2 35 99 48 +12 0 2 36 98 49 +12 0 2 37 99 49 +12 0 2 38 98 50 +12 0 2 39 99 50 +12 0 2 40 98 51 +12 0 2 41 99 51 +12 0 2 42 98 52 +12 0 2 43 99 52 +12 0 2 44 98 53 +12 0 2 45 -1 -1 +12 0 2 46 99 53 +12 0 2 47 98 54 +12 0 2 48 99 54 +12 0 2 49 98 55 +12 0 2 50 99 55 +12 0 2 51 98 56 +12 0 2 52 99 56 +12 0 2 53 98 57 +12 0 2 54 99 57 +12 0 2 55 98 58 +12 0 2 56 -1 -1 +12 0 2 57 99 58 +12 0 2 58 98 59 +12 0 2 59 99 59 +12 0 2 60 98 60 +12 0 2 61 99 60 +12 0 2 62 98 61 +12 0 2 63 99 61 +12 0 2 64 98 62 +12 0 2 65 99 62 +12 0 2 66 98 63 +12 0 2 67 99 63 +12 0 3 0 98 0 +12 0 3 1 99 0 +12 0 3 2 98 1 +12 0 3 3 99 1 +12 0 3 4 98 2 +12 0 3 5 99 2 +12 0 3 6 98 3 +12 0 3 7 99 3 +12 0 3 8 98 4 +12 0 3 9 99 4 +12 0 3 10 98 5 +12 0 3 11 -1 -1 +12 0 3 12 99 5 +12 0 3 13 98 6 +12 0 3 14 99 6 +12 0 3 15 98 7 +12 0 3 16 99 7 +12 0 3 17 98 8 +12 0 3 18 99 8 +12 0 3 19 98 9 +12 0 3 20 99 9 +12 0 3 21 98 10 +12 0 3 22 -1 -1 +12 0 3 23 99 10 +12 0 3 24 98 11 +12 0 3 25 99 11 +12 0 3 26 98 12 +12 0 3 27 99 12 +12 0 3 28 98 13 +12 0 3 29 99 13 +12 0 3 30 98 14 +12 0 3 31 99 14 +12 0 3 32 98 15 +12 0 3 33 99 15 +12 0 3 34 98 16 +12 0 3 35 99 16 +12 0 3 36 98 17 +12 0 3 37 99 17 +12 0 3 38 98 18 +12 0 3 39 99 18 +12 0 3 40 98 19 +12 0 3 41 99 19 +12 0 3 42 98 20 +12 0 3 43 99 20 +12 0 3 44 98 21 +12 0 3 45 -1 -1 +12 0 3 46 99 21 +12 0 3 47 98 22 +12 0 3 48 99 22 +12 0 3 49 98 23 +12 0 3 50 99 23 +12 0 3 51 98 24 +12 0 3 52 99 24 +12 0 3 53 98 25 +12 0 3 54 99 25 +12 0 3 55 98 26 +12 0 3 56 -1 -1 +12 0 3 57 99 26 +12 0 3 58 98 27 +12 0 3 59 99 27 +12 0 3 60 98 28 +12 0 3 61 99 28 +12 0 3 62 98 29 +12 0 3 63 99 29 +12 0 3 64 98 30 +12 0 3 65 99 30 +12 0 3 66 98 31 +12 0 3 67 99 31 +12 1 0 0 99 95 +12 1 0 1 98 95 +12 1 0 2 99 94 +12 1 0 3 98 94 +12 1 0 4 99 93 +12 1 0 5 98 93 +12 1 0 6 99 92 +12 1 0 7 98 92 +12 1 0 8 99 91 +12 1 0 9 98 91 +12 1 0 10 99 90 +12 1 0 11 -1 -1 +12 1 0 12 98 90 +12 1 0 13 99 89 +12 1 0 14 98 89 +12 1 0 15 99 88 +12 1 0 16 98 88 +12 1 0 17 99 87 +12 1 0 18 98 87 +12 1 0 19 99 86 +12 1 0 20 98 86 +12 1 0 21 99 85 +12 1 0 22 -1 -1 +12 1 0 23 98 85 +12 1 0 24 99 84 +12 1 0 25 98 84 +12 1 0 26 99 83 +12 1 0 27 98 83 +12 1 0 28 99 82 +12 1 0 29 98 82 +12 1 0 30 99 81 +12 1 0 31 98 81 +12 1 0 32 99 80 +12 1 0 33 98 80 +12 1 0 34 99 79 +12 1 0 35 98 79 +12 1 0 36 99 78 +12 1 0 37 98 78 +12 1 0 38 99 77 +12 1 0 39 98 77 +12 1 0 40 99 76 +12 1 0 41 98 76 +12 1 0 42 99 75 +12 1 0 43 98 75 +12 1 0 44 99 74 +12 1 0 45 -1 -1 +12 1 0 46 98 74 +12 1 0 47 99 73 +12 1 0 48 98 73 +12 1 0 49 99 72 +12 1 0 50 98 72 +12 1 0 51 99 71 +12 1 0 52 98 71 +12 1 0 53 99 70 +12 1 0 54 98 70 +12 1 0 55 99 69 +12 1 0 56 -1 -1 +12 1 0 57 98 69 +12 1 0 58 99 68 +12 1 0 59 98 68 +12 1 0 60 99 67 +12 1 0 61 98 67 +12 1 0 62 99 66 +12 1 0 63 98 66 +12 1 0 64 99 65 +12 1 0 65 98 65 +12 1 0 66 99 64 +12 1 0 67 98 64 +12 1 1 0 99 127 +12 1 1 1 98 127 +12 1 1 2 99 126 +12 1 1 3 98 126 +12 1 1 4 99 125 +12 1 1 5 98 125 +12 1 1 6 99 124 +12 1 1 7 98 124 +12 1 1 8 99 123 +12 1 1 9 98 123 +12 1 1 10 99 122 +12 1 1 11 -1 -1 +12 1 1 12 98 122 +12 1 1 13 99 121 +12 1 1 14 98 121 +12 1 1 15 99 120 +12 1 1 16 98 120 +12 1 1 17 99 119 +12 1 1 18 98 119 +12 1 1 19 99 118 +12 1 1 20 98 118 +12 1 1 21 99 117 +12 1 1 22 -1 -1 +12 1 1 23 98 117 +12 1 1 24 99 116 +12 1 1 25 98 116 +12 1 1 26 99 115 +12 1 1 27 98 115 +12 1 1 28 99 114 +12 1 1 29 98 114 +12 1 1 30 99 113 +12 1 1 31 98 113 +12 1 1 32 99 112 +12 1 1 33 98 112 +12 1 1 34 99 111 +12 1 1 35 98 111 +12 1 1 36 99 110 +12 1 1 37 98 110 +12 1 1 38 99 109 +12 1 1 39 98 109 +12 1 1 40 99 108 +12 1 1 41 98 108 +12 1 1 42 99 107 +12 1 1 43 98 107 +12 1 1 44 99 106 +12 1 1 45 -1 -1 +12 1 1 46 98 106 +12 1 1 47 99 105 +12 1 1 48 98 105 +12 1 1 49 99 104 +12 1 1 50 98 104 +12 1 1 51 99 103 +12 1 1 52 98 103 +12 1 1 53 99 102 +12 1 1 54 98 102 +12 1 1 55 99 101 +12 1 1 56 -1 -1 +12 1 1 57 98 101 +12 1 1 58 99 100 +12 1 1 59 98 100 +12 1 1 60 99 99 +12 1 1 61 98 99 +12 1 1 62 99 98 +12 1 1 63 98 98 +12 1 1 64 99 97 +12 1 1 65 98 97 +12 1 1 66 99 96 +12 1 1 67 98 96 +12 1 2 0 97 95 +12 1 2 1 96 95 +12 1 2 2 97 94 +12 1 2 3 96 94 +12 1 2 4 97 93 +12 1 2 5 96 93 +12 1 2 6 97 92 +12 1 2 7 96 92 +12 1 2 8 97 91 +12 1 2 9 96 91 +12 1 2 10 97 90 +12 1 2 11 -1 -1 +12 1 2 12 96 90 +12 1 2 13 97 89 +12 1 2 14 96 89 +12 1 2 15 97 88 +12 1 2 16 96 88 +12 1 2 17 97 87 +12 1 2 18 96 87 +12 1 2 19 97 86 +12 1 2 20 96 86 +12 1 2 21 97 85 +12 1 2 22 -1 -1 +12 1 2 23 96 85 +12 1 2 24 97 84 +12 1 2 25 96 84 +12 1 2 26 97 83 +12 1 2 27 96 83 +12 1 2 28 97 82 +12 1 2 29 96 82 +12 1 2 30 97 81 +12 1 2 31 96 81 +12 1 2 32 97 80 +12 1 2 33 96 80 +12 1 2 34 97 79 +12 1 2 35 96 79 +12 1 2 36 97 78 +12 1 2 37 96 78 +12 1 2 38 97 77 +12 1 2 39 96 77 +12 1 2 40 97 76 +12 1 2 41 96 76 +12 1 2 42 97 75 +12 1 2 43 96 75 +12 1 2 44 97 74 +12 1 2 45 -1 -1 +12 1 2 46 96 74 +12 1 2 47 97 73 +12 1 2 48 96 73 +12 1 2 49 97 72 +12 1 2 50 96 72 +12 1 2 51 97 71 +12 1 2 52 96 71 +12 1 2 53 97 70 +12 1 2 54 96 70 +12 1 2 55 97 69 +12 1 2 56 -1 -1 +12 1 2 57 96 69 +12 1 2 58 97 68 +12 1 2 59 96 68 +12 1 2 60 97 67 +12 1 2 61 96 67 +12 1 2 62 97 66 +12 1 2 63 96 66 +12 1 2 64 97 65 +12 1 2 65 96 65 +12 1 2 66 97 64 +12 1 2 67 96 64 +12 1 3 0 97 127 +12 1 3 1 96 127 +12 1 3 2 97 126 +12 1 3 3 96 126 +12 1 3 4 97 125 +12 1 3 5 96 125 +12 1 3 6 97 124 +12 1 3 7 96 124 +12 1 3 8 97 123 +12 1 3 9 96 123 +12 1 3 10 97 122 +12 1 3 11 -1 -1 +12 1 3 12 96 122 +12 1 3 13 97 121 +12 1 3 14 96 121 +12 1 3 15 97 120 +12 1 3 16 96 120 +12 1 3 17 97 119 +12 1 3 18 96 119 +12 1 3 19 97 118 +12 1 3 20 96 118 +12 1 3 21 97 117 +12 1 3 22 -1 -1 +12 1 3 23 96 117 +12 1 3 24 97 116 +12 1 3 25 96 116 +12 1 3 26 97 115 +12 1 3 27 96 115 +12 1 3 28 97 114 +12 1 3 29 96 114 +12 1 3 30 97 113 +12 1 3 31 96 113 +12 1 3 32 97 112 +12 1 3 33 96 112 +12 1 3 34 97 111 +12 1 3 35 96 111 +12 1 3 36 97 110 +12 1 3 37 96 110 +12 1 3 38 97 109 +12 1 3 39 96 109 +12 1 3 40 97 108 +12 1 3 41 96 108 +12 1 3 42 97 107 +12 1 3 43 96 107 +12 1 3 44 97 106 +12 1 3 45 -1 -1 +12 1 3 46 96 106 +12 1 3 47 97 105 +12 1 3 48 96 105 +12 1 3 49 97 104 +12 1 3 50 96 104 +12 1 3 51 97 103 +12 1 3 52 96 103 +12 1 3 53 97 102 +12 1 3 54 96 102 +12 1 3 55 97 101 +12 1 3 56 -1 -1 +12 1 3 57 96 101 +12 1 3 58 97 100 +12 1 3 59 96 100 +12 1 3 60 97 99 +12 1 3 61 96 99 +12 1 3 62 97 98 +12 1 3 63 96 98 +12 1 3 64 97 97 +12 1 3 65 96 97 +12 1 3 66 97 96 +12 1 3 67 96 96 +12 2 0 0 100 32 +12 2 0 1 101 32 +12 2 0 2 100 33 +12 2 0 3 101 33 +12 2 0 4 100 34 +12 2 0 5 101 34 +12 2 0 6 100 35 +12 2 0 7 101 35 +12 2 0 8 100 36 +12 2 0 9 101 36 +12 2 0 10 100 37 +12 2 0 11 -1 -1 +12 2 0 12 101 37 +12 2 0 13 100 38 +12 2 0 14 101 38 +12 2 0 15 100 39 +12 2 0 16 101 39 +12 2 0 17 100 40 +12 2 0 18 101 40 +12 2 0 19 100 41 +12 2 0 20 101 41 +12 2 0 21 100 42 +12 2 0 22 -1 -1 +12 2 0 23 101 42 +12 2 0 24 100 43 +12 2 0 25 101 43 +12 2 0 26 100 44 +12 2 0 27 101 44 +12 2 0 28 100 45 +12 2 0 29 101 45 +12 2 0 30 100 46 +12 2 0 31 101 46 +12 2 0 32 100 47 +12 2 0 33 101 47 +12 2 0 34 100 48 +12 2 0 35 101 48 +12 2 0 36 100 49 +12 2 0 37 101 49 +12 2 0 38 100 50 +12 2 0 39 101 50 +12 2 0 40 100 51 +12 2 0 41 101 51 +12 2 0 42 100 52 +12 2 0 43 101 52 +12 2 0 44 100 53 +12 2 0 45 -1 -1 +12 2 0 46 101 53 +12 2 0 47 100 54 +12 2 0 48 101 54 +12 2 0 49 100 55 +12 2 0 50 101 55 +12 2 0 51 100 56 +12 2 0 52 101 56 +12 2 0 53 100 57 +12 2 0 54 101 57 +12 2 0 55 100 58 +12 2 0 56 -1 -1 +12 2 0 57 101 58 +12 2 0 58 100 59 +12 2 0 59 101 59 +12 2 0 60 100 60 +12 2 0 61 101 60 +12 2 0 62 100 61 +12 2 0 63 101 61 +12 2 0 64 100 62 +12 2 0 65 101 62 +12 2 0 66 100 63 +12 2 0 67 101 63 +12 2 1 0 100 0 +12 2 1 1 101 0 +12 2 1 2 100 1 +12 2 1 3 101 1 +12 2 1 4 100 2 +12 2 1 5 101 2 +12 2 1 6 100 3 +12 2 1 7 101 3 +12 2 1 8 100 4 +12 2 1 9 101 4 +12 2 1 10 100 5 +12 2 1 11 -1 -1 +12 2 1 12 101 5 +12 2 1 13 100 6 +12 2 1 14 101 6 +12 2 1 15 100 7 +12 2 1 16 101 7 +12 2 1 17 100 8 +12 2 1 18 101 8 +12 2 1 19 100 9 +12 2 1 20 101 9 +12 2 1 21 100 10 +12 2 1 22 -1 -1 +12 2 1 23 101 10 +12 2 1 24 100 11 +12 2 1 25 101 11 +12 2 1 26 100 12 +12 2 1 27 101 12 +12 2 1 28 100 13 +12 2 1 29 101 13 +12 2 1 30 100 14 +12 2 1 31 101 14 +12 2 1 32 100 15 +12 2 1 33 101 15 +12 2 1 34 100 16 +12 2 1 35 101 16 +12 2 1 36 100 17 +12 2 1 37 101 17 +12 2 1 38 100 18 +12 2 1 39 101 18 +12 2 1 40 100 19 +12 2 1 41 101 19 +12 2 1 42 100 20 +12 2 1 43 101 20 +12 2 1 44 100 21 +12 2 1 45 -1 -1 +12 2 1 46 101 21 +12 2 1 47 100 22 +12 2 1 48 101 22 +12 2 1 49 100 23 +12 2 1 50 101 23 +12 2 1 51 100 24 +12 2 1 52 101 24 +12 2 1 53 100 25 +12 2 1 54 101 25 +12 2 1 55 100 26 +12 2 1 56 -1 -1 +12 2 1 57 101 26 +12 2 1 58 100 27 +12 2 1 59 101 27 +12 2 1 60 100 28 +12 2 1 61 101 28 +12 2 1 62 100 29 +12 2 1 63 101 29 +12 2 1 64 100 30 +12 2 1 65 101 30 +12 2 1 66 100 31 +12 2 1 67 101 31 +12 2 2 0 102 32 +12 2 2 1 103 32 +12 2 2 2 102 33 +12 2 2 3 103 33 +12 2 2 4 102 34 +12 2 2 5 103 34 +12 2 2 6 102 35 +12 2 2 7 103 35 +12 2 2 8 102 36 +12 2 2 9 103 36 +12 2 2 10 102 37 +12 2 2 11 -1 -1 +12 2 2 12 103 37 +12 2 2 13 102 38 +12 2 2 14 103 38 +12 2 2 15 102 39 +12 2 2 16 103 39 +12 2 2 17 102 40 +12 2 2 18 103 40 +12 2 2 19 102 41 +12 2 2 20 103 41 +12 2 2 21 102 42 +12 2 2 22 -1 -1 +12 2 2 23 103 42 +12 2 2 24 102 43 +12 2 2 25 103 43 +12 2 2 26 102 44 +12 2 2 27 103 44 +12 2 2 28 102 45 +12 2 2 29 103 45 +12 2 2 30 102 46 +12 2 2 31 103 46 +12 2 2 32 102 47 +12 2 2 33 103 47 +12 2 2 34 102 48 +12 2 2 35 103 48 +12 2 2 36 102 49 +12 2 2 37 103 49 +12 2 2 38 102 50 +12 2 2 39 103 50 +12 2 2 40 102 51 +12 2 2 41 103 51 +12 2 2 42 102 52 +12 2 2 43 103 52 +12 2 2 44 102 53 +12 2 2 45 -1 -1 +12 2 2 46 103 53 +12 2 2 47 102 54 +12 2 2 48 103 54 +12 2 2 49 102 55 +12 2 2 50 103 55 +12 2 2 51 102 56 +12 2 2 52 103 56 +12 2 2 53 102 57 +12 2 2 54 103 57 +12 2 2 55 102 58 +12 2 2 56 -1 -1 +12 2 2 57 103 58 +12 2 2 58 102 59 +12 2 2 59 103 59 +12 2 2 60 102 60 +12 2 2 61 103 60 +12 2 2 62 102 61 +12 2 2 63 103 61 +12 2 2 64 102 62 +12 2 2 65 103 62 +12 2 2 66 102 63 +12 2 2 67 103 63 +12 2 3 0 102 0 +12 2 3 1 103 0 +12 2 3 2 102 1 +12 2 3 3 103 1 +12 2 3 4 102 2 +12 2 3 5 103 2 +12 2 3 6 102 3 +12 2 3 7 103 3 +12 2 3 8 102 4 +12 2 3 9 103 4 +12 2 3 10 102 5 +12 2 3 11 -1 -1 +12 2 3 12 103 5 +12 2 3 13 102 6 +12 2 3 14 103 6 +12 2 3 15 102 7 +12 2 3 16 103 7 +12 2 3 17 102 8 +12 2 3 18 103 8 +12 2 3 19 102 9 +12 2 3 20 103 9 +12 2 3 21 102 10 +12 2 3 22 -1 -1 +12 2 3 23 103 10 +12 2 3 24 102 11 +12 2 3 25 103 11 +12 2 3 26 102 12 +12 2 3 27 103 12 +12 2 3 28 102 13 +12 2 3 29 103 13 +12 2 3 30 102 14 +12 2 3 31 103 14 +12 2 3 32 102 15 +12 2 3 33 103 15 +12 2 3 34 102 16 +12 2 3 35 103 16 +12 2 3 36 102 17 +12 2 3 37 103 17 +12 2 3 38 102 18 +12 2 3 39 103 18 +12 2 3 40 102 19 +12 2 3 41 103 19 +12 2 3 42 102 20 +12 2 3 43 103 20 +12 2 3 44 102 21 +12 2 3 45 -1 -1 +12 2 3 46 103 21 +12 2 3 47 102 22 +12 2 3 48 103 22 +12 2 3 49 102 23 +12 2 3 50 103 23 +12 2 3 51 102 24 +12 2 3 52 103 24 +12 2 3 53 102 25 +12 2 3 54 103 25 +12 2 3 55 102 26 +12 2 3 56 -1 -1 +12 2 3 57 103 26 +12 2 3 58 102 27 +12 2 3 59 103 27 +12 2 3 60 102 28 +12 2 3 61 103 28 +12 2 3 62 102 29 +12 2 3 63 103 29 +12 2 3 64 102 30 +12 2 3 65 103 30 +12 2 3 66 102 31 +12 2 3 67 103 31 +12 3 0 0 103 95 +12 3 0 1 102 95 +12 3 0 2 103 94 +12 3 0 3 102 94 +12 3 0 4 103 93 +12 3 0 5 102 93 +12 3 0 6 103 92 +12 3 0 7 102 92 +12 3 0 8 103 91 +12 3 0 9 102 91 +12 3 0 10 103 90 +12 3 0 11 -1 -1 +12 3 0 12 102 90 +12 3 0 13 103 89 +12 3 0 14 102 89 +12 3 0 15 103 88 +12 3 0 16 102 88 +12 3 0 17 103 87 +12 3 0 18 102 87 +12 3 0 19 103 86 +12 3 0 20 102 86 +12 3 0 21 103 85 +12 3 0 22 -1 -1 +12 3 0 23 102 85 +12 3 0 24 103 84 +12 3 0 25 102 84 +12 3 0 26 103 83 +12 3 0 27 102 83 +12 3 0 28 103 82 +12 3 0 29 102 82 +12 3 0 30 103 81 +12 3 0 31 102 81 +12 3 0 32 103 80 +12 3 0 33 102 80 +12 3 0 34 103 79 +12 3 0 35 102 79 +12 3 0 36 103 78 +12 3 0 37 102 78 +12 3 0 38 103 77 +12 3 0 39 102 77 +12 3 0 40 103 76 +12 3 0 41 102 76 +12 3 0 42 103 75 +12 3 0 43 102 75 +12 3 0 44 103 74 +12 3 0 45 -1 -1 +12 3 0 46 102 74 +12 3 0 47 103 73 +12 3 0 48 102 73 +12 3 0 49 103 72 +12 3 0 50 102 72 +12 3 0 51 103 71 +12 3 0 52 102 71 +12 3 0 53 103 70 +12 3 0 54 102 70 +12 3 0 55 103 69 +12 3 0 56 -1 -1 +12 3 0 57 102 69 +12 3 0 58 103 68 +12 3 0 59 102 68 +12 3 0 60 103 67 +12 3 0 61 102 67 +12 3 0 62 103 66 +12 3 0 63 102 66 +12 3 0 64 103 65 +12 3 0 65 102 65 +12 3 0 66 103 64 +12 3 0 67 102 64 +12 3 1 0 103 127 +12 3 1 1 102 127 +12 3 1 2 103 126 +12 3 1 3 102 126 +12 3 1 4 103 125 +12 3 1 5 102 125 +12 3 1 6 103 124 +12 3 1 7 102 124 +12 3 1 8 103 123 +12 3 1 9 102 123 +12 3 1 10 103 122 +12 3 1 11 -1 -1 +12 3 1 12 102 122 +12 3 1 13 103 121 +12 3 1 14 102 121 +12 3 1 15 103 120 +12 3 1 16 102 120 +12 3 1 17 103 119 +12 3 1 18 102 119 +12 3 1 19 103 118 +12 3 1 20 102 118 +12 3 1 21 103 117 +12 3 1 22 -1 -1 +12 3 1 23 102 117 +12 3 1 24 103 116 +12 3 1 25 102 116 +12 3 1 26 103 115 +12 3 1 27 102 115 +12 3 1 28 103 114 +12 3 1 29 102 114 +12 3 1 30 103 113 +12 3 1 31 102 113 +12 3 1 32 103 112 +12 3 1 33 102 112 +12 3 1 34 103 111 +12 3 1 35 102 111 +12 3 1 36 103 110 +12 3 1 37 102 110 +12 3 1 38 103 109 +12 3 1 39 102 109 +12 3 1 40 103 108 +12 3 1 41 102 108 +12 3 1 42 103 107 +12 3 1 43 102 107 +12 3 1 44 103 106 +12 3 1 45 -1 -1 +12 3 1 46 102 106 +12 3 1 47 103 105 +12 3 1 48 102 105 +12 3 1 49 103 104 +12 3 1 50 102 104 +12 3 1 51 103 103 +12 3 1 52 102 103 +12 3 1 53 103 102 +12 3 1 54 102 102 +12 3 1 55 103 101 +12 3 1 56 -1 -1 +12 3 1 57 102 101 +12 3 1 58 103 100 +12 3 1 59 102 100 +12 3 1 60 103 99 +12 3 1 61 102 99 +12 3 1 62 103 98 +12 3 1 63 102 98 +12 3 1 64 103 97 +12 3 1 65 102 97 +12 3 1 66 103 96 +12 3 1 67 102 96 +12 3 2 0 101 95 +12 3 2 1 100 95 +12 3 2 2 101 94 +12 3 2 3 100 94 +12 3 2 4 101 93 +12 3 2 5 100 93 +12 3 2 6 101 92 +12 3 2 7 100 92 +12 3 2 8 101 91 +12 3 2 9 100 91 +12 3 2 10 101 90 +12 3 2 11 -1 -1 +12 3 2 12 100 90 +12 3 2 13 101 89 +12 3 2 14 100 89 +12 3 2 15 101 88 +12 3 2 16 100 88 +12 3 2 17 101 87 +12 3 2 18 100 87 +12 3 2 19 101 86 +12 3 2 20 100 86 +12 3 2 21 101 85 +12 3 2 22 -1 -1 +12 3 2 23 100 85 +12 3 2 24 101 84 +12 3 2 25 100 84 +12 3 2 26 101 83 +12 3 2 27 100 83 +12 3 2 28 101 82 +12 3 2 29 100 82 +12 3 2 30 101 81 +12 3 2 31 100 81 +12 3 2 32 101 80 +12 3 2 33 100 80 +12 3 2 34 101 79 +12 3 2 35 100 79 +12 3 2 36 101 78 +12 3 2 37 100 78 +12 3 2 38 101 77 +12 3 2 39 100 77 +12 3 2 40 101 76 +12 3 2 41 100 76 +12 3 2 42 101 75 +12 3 2 43 100 75 +12 3 2 44 101 74 +12 3 2 45 -1 -1 +12 3 2 46 100 74 +12 3 2 47 101 73 +12 3 2 48 100 73 +12 3 2 49 101 72 +12 3 2 50 100 72 +12 3 2 51 101 71 +12 3 2 52 100 71 +12 3 2 53 101 70 +12 3 2 54 100 70 +12 3 2 55 101 69 +12 3 2 56 -1 -1 +12 3 2 57 100 69 +12 3 2 58 101 68 +12 3 2 59 100 68 +12 3 2 60 101 67 +12 3 2 61 100 67 +12 3 2 62 101 66 +12 3 2 63 100 66 +12 3 2 64 101 65 +12 3 2 65 100 65 +12 3 2 66 101 64 +12 3 2 67 100 64 +12 3 3 0 101 127 +12 3 3 1 100 127 +12 3 3 2 101 126 +12 3 3 3 100 126 +12 3 3 4 101 125 +12 3 3 5 100 125 +12 3 3 6 101 124 +12 3 3 7 100 124 +12 3 3 8 101 123 +12 3 3 9 100 123 +12 3 3 10 101 122 +12 3 3 11 -1 -1 +12 3 3 12 100 122 +12 3 3 13 101 121 +12 3 3 14 100 121 +12 3 3 15 101 120 +12 3 3 16 100 120 +12 3 3 17 101 119 +12 3 3 18 100 119 +12 3 3 19 101 118 +12 3 3 20 100 118 +12 3 3 21 101 117 +12 3 3 22 -1 -1 +12 3 3 23 100 117 +12 3 3 24 101 116 +12 3 3 25 100 116 +12 3 3 26 101 115 +12 3 3 27 100 115 +12 3 3 28 101 114 +12 3 3 29 100 114 +12 3 3 30 101 113 +12 3 3 31 100 113 +12 3 3 32 101 112 +12 3 3 33 100 112 +12 3 3 34 101 111 +12 3 3 35 100 111 +12 3 3 36 101 110 +12 3 3 37 100 110 +12 3 3 38 101 109 +12 3 3 39 100 109 +12 3 3 40 101 108 +12 3 3 41 100 108 +12 3 3 42 101 107 +12 3 3 43 100 107 +12 3 3 44 101 106 +12 3 3 45 -1 -1 +12 3 3 46 100 106 +12 3 3 47 101 105 +12 3 3 48 100 105 +12 3 3 49 101 104 +12 3 3 50 100 104 +12 3 3 51 101 103 +12 3 3 52 100 103 +12 3 3 53 101 102 +12 3 3 54 100 102 +12 3 3 55 101 101 +12 3 3 56 -1 -1 +12 3 3 57 100 101 +12 3 3 58 101 100 +12 3 3 59 100 100 +12 3 3 60 101 99 +12 3 3 61 100 99 +12 3 3 62 101 98 +12 3 3 63 100 98 +12 3 3 64 101 97 +12 3 3 65 100 97 +12 3 3 66 101 96 +12 3 3 67 100 96 +13 0 0 0 104 32 +13 0 0 1 105 32 +13 0 0 2 104 33 +13 0 0 3 105 33 +13 0 0 4 104 34 +13 0 0 5 105 34 +13 0 0 6 104 35 +13 0 0 7 105 35 +13 0 0 8 104 36 +13 0 0 9 105 36 +13 0 0 10 104 37 +13 0 0 11 -1 -1 +13 0 0 12 105 37 +13 0 0 13 104 38 +13 0 0 14 105 38 +13 0 0 15 104 39 +13 0 0 16 105 39 +13 0 0 17 104 40 +13 0 0 18 105 40 +13 0 0 19 104 41 +13 0 0 20 105 41 +13 0 0 21 104 42 +13 0 0 22 -1 -1 +13 0 0 23 105 42 +13 0 0 24 104 43 +13 0 0 25 105 43 +13 0 0 26 104 44 +13 0 0 27 105 44 +13 0 0 28 104 45 +13 0 0 29 105 45 +13 0 0 30 104 46 +13 0 0 31 105 46 +13 0 0 32 104 47 +13 0 0 33 105 47 +13 0 0 34 104 48 +13 0 0 35 105 48 +13 0 0 36 104 49 +13 0 0 37 105 49 +13 0 0 38 104 50 +13 0 0 39 105 50 +13 0 0 40 104 51 +13 0 0 41 105 51 +13 0 0 42 104 52 +13 0 0 43 105 52 +13 0 0 44 104 53 +13 0 0 45 -1 -1 +13 0 0 46 105 53 +13 0 0 47 104 54 +13 0 0 48 105 54 +13 0 0 49 104 55 +13 0 0 50 105 55 +13 0 0 51 104 56 +13 0 0 52 105 56 +13 0 0 53 104 57 +13 0 0 54 105 57 +13 0 0 55 104 58 +13 0 0 56 -1 -1 +13 0 0 57 105 58 +13 0 0 58 104 59 +13 0 0 59 105 59 +13 0 0 60 104 60 +13 0 0 61 105 60 +13 0 0 62 104 61 +13 0 0 63 105 61 +13 0 0 64 104 62 +13 0 0 65 105 62 +13 0 0 66 104 63 +13 0 0 67 105 63 +13 0 1 0 104 0 +13 0 1 1 105 0 +13 0 1 2 104 1 +13 0 1 3 105 1 +13 0 1 4 104 2 +13 0 1 5 105 2 +13 0 1 6 104 3 +13 0 1 7 105 3 +13 0 1 8 104 4 +13 0 1 9 105 4 +13 0 1 10 104 5 +13 0 1 11 -1 -1 +13 0 1 12 105 5 +13 0 1 13 104 6 +13 0 1 14 105 6 +13 0 1 15 104 7 +13 0 1 16 105 7 +13 0 1 17 104 8 +13 0 1 18 105 8 +13 0 1 19 104 9 +13 0 1 20 105 9 +13 0 1 21 104 10 +13 0 1 22 -1 -1 +13 0 1 23 105 10 +13 0 1 24 104 11 +13 0 1 25 105 11 +13 0 1 26 104 12 +13 0 1 27 105 12 +13 0 1 28 104 13 +13 0 1 29 105 13 +13 0 1 30 104 14 +13 0 1 31 105 14 +13 0 1 32 104 15 +13 0 1 33 105 15 +13 0 1 34 104 16 +13 0 1 35 105 16 +13 0 1 36 104 17 +13 0 1 37 105 17 +13 0 1 38 104 18 +13 0 1 39 105 18 +13 0 1 40 104 19 +13 0 1 41 105 19 +13 0 1 42 104 20 +13 0 1 43 105 20 +13 0 1 44 104 21 +13 0 1 45 -1 -1 +13 0 1 46 105 21 +13 0 1 47 104 22 +13 0 1 48 105 22 +13 0 1 49 104 23 +13 0 1 50 105 23 +13 0 1 51 104 24 +13 0 1 52 105 24 +13 0 1 53 104 25 +13 0 1 54 105 25 +13 0 1 55 104 26 +13 0 1 56 -1 -1 +13 0 1 57 105 26 +13 0 1 58 104 27 +13 0 1 59 105 27 +13 0 1 60 104 28 +13 0 1 61 105 28 +13 0 1 62 104 29 +13 0 1 63 105 29 +13 0 1 64 104 30 +13 0 1 65 105 30 +13 0 1 66 104 31 +13 0 1 67 105 31 +13 0 2 0 106 32 +13 0 2 1 107 32 +13 0 2 2 106 33 +13 0 2 3 107 33 +13 0 2 4 106 34 +13 0 2 5 107 34 +13 0 2 6 106 35 +13 0 2 7 107 35 +13 0 2 8 106 36 +13 0 2 9 107 36 +13 0 2 10 106 37 +13 0 2 11 -1 -1 +13 0 2 12 107 37 +13 0 2 13 106 38 +13 0 2 14 107 38 +13 0 2 15 106 39 +13 0 2 16 107 39 +13 0 2 17 106 40 +13 0 2 18 107 40 +13 0 2 19 106 41 +13 0 2 20 107 41 +13 0 2 21 106 42 +13 0 2 22 -1 -1 +13 0 2 23 107 42 +13 0 2 24 106 43 +13 0 2 25 107 43 +13 0 2 26 106 44 +13 0 2 27 107 44 +13 0 2 28 106 45 +13 0 2 29 107 45 +13 0 2 30 106 46 +13 0 2 31 107 46 +13 0 2 32 106 47 +13 0 2 33 107 47 +13 0 2 34 106 48 +13 0 2 35 107 48 +13 0 2 36 106 49 +13 0 2 37 107 49 +13 0 2 38 106 50 +13 0 2 39 107 50 +13 0 2 40 106 51 +13 0 2 41 107 51 +13 0 2 42 106 52 +13 0 2 43 107 52 +13 0 2 44 106 53 +13 0 2 45 -1 -1 +13 0 2 46 107 53 +13 0 2 47 106 54 +13 0 2 48 107 54 +13 0 2 49 106 55 +13 0 2 50 107 55 +13 0 2 51 106 56 +13 0 2 52 107 56 +13 0 2 53 106 57 +13 0 2 54 107 57 +13 0 2 55 106 58 +13 0 2 56 -1 -1 +13 0 2 57 107 58 +13 0 2 58 106 59 +13 0 2 59 107 59 +13 0 2 60 106 60 +13 0 2 61 107 60 +13 0 2 62 106 61 +13 0 2 63 107 61 +13 0 2 64 106 62 +13 0 2 65 107 62 +13 0 2 66 106 63 +13 0 2 67 107 63 +13 0 3 0 106 0 +13 0 3 1 107 0 +13 0 3 2 106 1 +13 0 3 3 107 1 +13 0 3 4 106 2 +13 0 3 5 107 2 +13 0 3 6 106 3 +13 0 3 7 107 3 +13 0 3 8 106 4 +13 0 3 9 107 4 +13 0 3 10 106 5 +13 0 3 11 -1 -1 +13 0 3 12 107 5 +13 0 3 13 106 6 +13 0 3 14 107 6 +13 0 3 15 106 7 +13 0 3 16 107 7 +13 0 3 17 106 8 +13 0 3 18 107 8 +13 0 3 19 106 9 +13 0 3 20 107 9 +13 0 3 21 106 10 +13 0 3 22 -1 -1 +13 0 3 23 107 10 +13 0 3 24 106 11 +13 0 3 25 107 11 +13 0 3 26 106 12 +13 0 3 27 107 12 +13 0 3 28 106 13 +13 0 3 29 107 13 +13 0 3 30 106 14 +13 0 3 31 107 14 +13 0 3 32 106 15 +13 0 3 33 107 15 +13 0 3 34 106 16 +13 0 3 35 107 16 +13 0 3 36 106 17 +13 0 3 37 107 17 +13 0 3 38 106 18 +13 0 3 39 107 18 +13 0 3 40 106 19 +13 0 3 41 107 19 +13 0 3 42 106 20 +13 0 3 43 107 20 +13 0 3 44 106 21 +13 0 3 45 -1 -1 +13 0 3 46 107 21 +13 0 3 47 106 22 +13 0 3 48 107 22 +13 0 3 49 106 23 +13 0 3 50 107 23 +13 0 3 51 106 24 +13 0 3 52 107 24 +13 0 3 53 106 25 +13 0 3 54 107 25 +13 0 3 55 106 26 +13 0 3 56 -1 -1 +13 0 3 57 107 26 +13 0 3 58 106 27 +13 0 3 59 107 27 +13 0 3 60 106 28 +13 0 3 61 107 28 +13 0 3 62 106 29 +13 0 3 63 107 29 +13 0 3 64 106 30 +13 0 3 65 107 30 +13 0 3 66 106 31 +13 0 3 67 107 31 +13 1 0 0 107 95 +13 1 0 1 106 95 +13 1 0 2 107 94 +13 1 0 3 106 94 +13 1 0 4 107 93 +13 1 0 5 106 93 +13 1 0 6 107 92 +13 1 0 7 106 92 +13 1 0 8 107 91 +13 1 0 9 106 91 +13 1 0 10 107 90 +13 1 0 11 -1 -1 +13 1 0 12 106 90 +13 1 0 13 107 89 +13 1 0 14 106 89 +13 1 0 15 107 88 +13 1 0 16 106 88 +13 1 0 17 107 87 +13 1 0 18 106 87 +13 1 0 19 107 86 +13 1 0 20 106 86 +13 1 0 21 107 85 +13 1 0 22 -1 -1 +13 1 0 23 106 85 +13 1 0 24 107 84 +13 1 0 25 106 84 +13 1 0 26 107 83 +13 1 0 27 106 83 +13 1 0 28 107 82 +13 1 0 29 106 82 +13 1 0 30 107 81 +13 1 0 31 106 81 +13 1 0 32 107 80 +13 1 0 33 106 80 +13 1 0 34 107 79 +13 1 0 35 106 79 +13 1 0 36 107 78 +13 1 0 37 106 78 +13 1 0 38 107 77 +13 1 0 39 106 77 +13 1 0 40 107 76 +13 1 0 41 106 76 +13 1 0 42 107 75 +13 1 0 43 106 75 +13 1 0 44 107 74 +13 1 0 45 -1 -1 +13 1 0 46 106 74 +13 1 0 47 107 73 +13 1 0 48 106 73 +13 1 0 49 107 72 +13 1 0 50 106 72 +13 1 0 51 107 71 +13 1 0 52 106 71 +13 1 0 53 107 70 +13 1 0 54 106 70 +13 1 0 55 107 69 +13 1 0 56 -1 -1 +13 1 0 57 106 69 +13 1 0 58 107 68 +13 1 0 59 106 68 +13 1 0 60 107 67 +13 1 0 61 106 67 +13 1 0 62 107 66 +13 1 0 63 106 66 +13 1 0 64 107 65 +13 1 0 65 106 65 +13 1 0 66 107 64 +13 1 0 67 106 64 +13 1 1 0 107 127 +13 1 1 1 106 127 +13 1 1 2 107 126 +13 1 1 3 106 126 +13 1 1 4 107 125 +13 1 1 5 106 125 +13 1 1 6 107 124 +13 1 1 7 106 124 +13 1 1 8 107 123 +13 1 1 9 106 123 +13 1 1 10 107 122 +13 1 1 11 -1 -1 +13 1 1 12 106 122 +13 1 1 13 107 121 +13 1 1 14 106 121 +13 1 1 15 107 120 +13 1 1 16 106 120 +13 1 1 17 107 119 +13 1 1 18 106 119 +13 1 1 19 107 118 +13 1 1 20 106 118 +13 1 1 21 107 117 +13 1 1 22 -1 -1 +13 1 1 23 106 117 +13 1 1 24 107 116 +13 1 1 25 106 116 +13 1 1 26 107 115 +13 1 1 27 106 115 +13 1 1 28 107 114 +13 1 1 29 106 114 +13 1 1 30 107 113 +13 1 1 31 106 113 +13 1 1 32 107 112 +13 1 1 33 106 112 +13 1 1 34 107 111 +13 1 1 35 106 111 +13 1 1 36 107 110 +13 1 1 37 106 110 +13 1 1 38 107 109 +13 1 1 39 106 109 +13 1 1 40 107 108 +13 1 1 41 106 108 +13 1 1 42 107 107 +13 1 1 43 106 107 +13 1 1 44 107 106 +13 1 1 45 -1 -1 +13 1 1 46 106 106 +13 1 1 47 107 105 +13 1 1 48 106 105 +13 1 1 49 107 104 +13 1 1 50 106 104 +13 1 1 51 107 103 +13 1 1 52 106 103 +13 1 1 53 107 102 +13 1 1 54 106 102 +13 1 1 55 107 101 +13 1 1 56 -1 -1 +13 1 1 57 106 101 +13 1 1 58 107 100 +13 1 1 59 106 100 +13 1 1 60 107 99 +13 1 1 61 106 99 +13 1 1 62 107 98 +13 1 1 63 106 98 +13 1 1 64 107 97 +13 1 1 65 106 97 +13 1 1 66 107 96 +13 1 1 67 106 96 +13 1 2 0 105 95 +13 1 2 1 104 95 +13 1 2 2 105 94 +13 1 2 3 104 94 +13 1 2 4 105 93 +13 1 2 5 104 93 +13 1 2 6 105 92 +13 1 2 7 104 92 +13 1 2 8 105 91 +13 1 2 9 104 91 +13 1 2 10 105 90 +13 1 2 11 -1 -1 +13 1 2 12 104 90 +13 1 2 13 105 89 +13 1 2 14 104 89 +13 1 2 15 105 88 +13 1 2 16 104 88 +13 1 2 17 105 87 +13 1 2 18 104 87 +13 1 2 19 105 86 +13 1 2 20 104 86 +13 1 2 21 105 85 +13 1 2 22 -1 -1 +13 1 2 23 104 85 +13 1 2 24 105 84 +13 1 2 25 104 84 +13 1 2 26 105 83 +13 1 2 27 104 83 +13 1 2 28 105 82 +13 1 2 29 104 82 +13 1 2 30 105 81 +13 1 2 31 104 81 +13 1 2 32 105 80 +13 1 2 33 104 80 +13 1 2 34 105 79 +13 1 2 35 104 79 +13 1 2 36 105 78 +13 1 2 37 104 78 +13 1 2 38 105 77 +13 1 2 39 104 77 +13 1 2 40 105 76 +13 1 2 41 104 76 +13 1 2 42 105 75 +13 1 2 43 104 75 +13 1 2 44 105 74 +13 1 2 45 -1 -1 +13 1 2 46 104 74 +13 1 2 47 105 73 +13 1 2 48 104 73 +13 1 2 49 105 72 +13 1 2 50 104 72 +13 1 2 51 105 71 +13 1 2 52 104 71 +13 1 2 53 105 70 +13 1 2 54 104 70 +13 1 2 55 105 69 +13 1 2 56 -1 -1 +13 1 2 57 104 69 +13 1 2 58 105 68 +13 1 2 59 104 68 +13 1 2 60 105 67 +13 1 2 61 104 67 +13 1 2 62 105 66 +13 1 2 63 104 66 +13 1 2 64 105 65 +13 1 2 65 104 65 +13 1 2 66 105 64 +13 1 2 67 104 64 +13 1 3 0 105 127 +13 1 3 1 104 127 +13 1 3 2 105 126 +13 1 3 3 104 126 +13 1 3 4 105 125 +13 1 3 5 104 125 +13 1 3 6 105 124 +13 1 3 7 104 124 +13 1 3 8 105 123 +13 1 3 9 104 123 +13 1 3 10 105 122 +13 1 3 11 -1 -1 +13 1 3 12 104 122 +13 1 3 13 105 121 +13 1 3 14 104 121 +13 1 3 15 105 120 +13 1 3 16 104 120 +13 1 3 17 105 119 +13 1 3 18 104 119 +13 1 3 19 105 118 +13 1 3 20 104 118 +13 1 3 21 105 117 +13 1 3 22 -1 -1 +13 1 3 23 104 117 +13 1 3 24 105 116 +13 1 3 25 104 116 +13 1 3 26 105 115 +13 1 3 27 104 115 +13 1 3 28 105 114 +13 1 3 29 104 114 +13 1 3 30 105 113 +13 1 3 31 104 113 +13 1 3 32 105 112 +13 1 3 33 104 112 +13 1 3 34 105 111 +13 1 3 35 104 111 +13 1 3 36 105 110 +13 1 3 37 104 110 +13 1 3 38 105 109 +13 1 3 39 104 109 +13 1 3 40 105 108 +13 1 3 41 104 108 +13 1 3 42 105 107 +13 1 3 43 104 107 +13 1 3 44 105 106 +13 1 3 45 -1 -1 +13 1 3 46 104 106 +13 1 3 47 105 105 +13 1 3 48 104 105 +13 1 3 49 105 104 +13 1 3 50 104 104 +13 1 3 51 105 103 +13 1 3 52 104 103 +13 1 3 53 105 102 +13 1 3 54 104 102 +13 1 3 55 105 101 +13 1 3 56 -1 -1 +13 1 3 57 104 101 +13 1 3 58 105 100 +13 1 3 59 104 100 +13 1 3 60 105 99 +13 1 3 61 104 99 +13 1 3 62 105 98 +13 1 3 63 104 98 +13 1 3 64 105 97 +13 1 3 65 104 97 +13 1 3 66 105 96 +13 1 3 67 104 96 +13 2 0 0 108 32 +13 2 0 1 109 32 +13 2 0 2 108 33 +13 2 0 3 109 33 +13 2 0 4 108 34 +13 2 0 5 109 34 +13 2 0 6 108 35 +13 2 0 7 109 35 +13 2 0 8 108 36 +13 2 0 9 109 36 +13 2 0 10 108 37 +13 2 0 11 -1 -1 +13 2 0 12 109 37 +13 2 0 13 108 38 +13 2 0 14 109 38 +13 2 0 15 108 39 +13 2 0 16 109 39 +13 2 0 17 108 40 +13 2 0 18 109 40 +13 2 0 19 108 41 +13 2 0 20 109 41 +13 2 0 21 108 42 +13 2 0 22 -1 -1 +13 2 0 23 109 42 +13 2 0 24 108 43 +13 2 0 25 109 43 +13 2 0 26 108 44 +13 2 0 27 109 44 +13 2 0 28 108 45 +13 2 0 29 109 45 +13 2 0 30 108 46 +13 2 0 31 109 46 +13 2 0 32 108 47 +13 2 0 33 109 47 +13 2 0 34 108 48 +13 2 0 35 109 48 +13 2 0 36 108 49 +13 2 0 37 109 49 +13 2 0 38 108 50 +13 2 0 39 109 50 +13 2 0 40 108 51 +13 2 0 41 109 51 +13 2 0 42 108 52 +13 2 0 43 109 52 +13 2 0 44 108 53 +13 2 0 45 -1 -1 +13 2 0 46 109 53 +13 2 0 47 108 54 +13 2 0 48 109 54 +13 2 0 49 108 55 +13 2 0 50 109 55 +13 2 0 51 108 56 +13 2 0 52 109 56 +13 2 0 53 108 57 +13 2 0 54 109 57 +13 2 0 55 108 58 +13 2 0 56 -1 -1 +13 2 0 57 109 58 +13 2 0 58 108 59 +13 2 0 59 109 59 +13 2 0 60 108 60 +13 2 0 61 109 60 +13 2 0 62 108 61 +13 2 0 63 109 61 +13 2 0 64 108 62 +13 2 0 65 109 62 +13 2 0 66 108 63 +13 2 0 67 109 63 +13 2 1 0 108 0 +13 2 1 1 109 0 +13 2 1 2 108 1 +13 2 1 3 109 1 +13 2 1 4 108 2 +13 2 1 5 109 2 +13 2 1 6 108 3 +13 2 1 7 109 3 +13 2 1 8 108 4 +13 2 1 9 109 4 +13 2 1 10 108 5 +13 2 1 11 -1 -1 +13 2 1 12 109 5 +13 2 1 13 108 6 +13 2 1 14 109 6 +13 2 1 15 108 7 +13 2 1 16 109 7 +13 2 1 17 108 8 +13 2 1 18 109 8 +13 2 1 19 108 9 +13 2 1 20 109 9 +13 2 1 21 108 10 +13 2 1 22 -1 -1 +13 2 1 23 109 10 +13 2 1 24 108 11 +13 2 1 25 109 11 +13 2 1 26 108 12 +13 2 1 27 109 12 +13 2 1 28 108 13 +13 2 1 29 109 13 +13 2 1 30 108 14 +13 2 1 31 109 14 +13 2 1 32 108 15 +13 2 1 33 109 15 +13 2 1 34 108 16 +13 2 1 35 109 16 +13 2 1 36 108 17 +13 2 1 37 109 17 +13 2 1 38 108 18 +13 2 1 39 109 18 +13 2 1 40 108 19 +13 2 1 41 109 19 +13 2 1 42 108 20 +13 2 1 43 109 20 +13 2 1 44 108 21 +13 2 1 45 -1 -1 +13 2 1 46 109 21 +13 2 1 47 108 22 +13 2 1 48 109 22 +13 2 1 49 108 23 +13 2 1 50 109 23 +13 2 1 51 108 24 +13 2 1 52 109 24 +13 2 1 53 108 25 +13 2 1 54 109 25 +13 2 1 55 108 26 +13 2 1 56 -1 -1 +13 2 1 57 109 26 +13 2 1 58 108 27 +13 2 1 59 109 27 +13 2 1 60 108 28 +13 2 1 61 109 28 +13 2 1 62 108 29 +13 2 1 63 109 29 +13 2 1 64 108 30 +13 2 1 65 109 30 +13 2 1 66 108 31 +13 2 1 67 109 31 +13 2 2 0 110 32 +13 2 2 1 111 32 +13 2 2 2 110 33 +13 2 2 3 111 33 +13 2 2 4 110 34 +13 2 2 5 111 34 +13 2 2 6 110 35 +13 2 2 7 111 35 +13 2 2 8 110 36 +13 2 2 9 111 36 +13 2 2 10 110 37 +13 2 2 11 -1 -1 +13 2 2 12 111 37 +13 2 2 13 110 38 +13 2 2 14 111 38 +13 2 2 15 110 39 +13 2 2 16 111 39 +13 2 2 17 110 40 +13 2 2 18 111 40 +13 2 2 19 110 41 +13 2 2 20 111 41 +13 2 2 21 110 42 +13 2 2 22 -1 -1 +13 2 2 23 111 42 +13 2 2 24 110 43 +13 2 2 25 111 43 +13 2 2 26 110 44 +13 2 2 27 111 44 +13 2 2 28 110 45 +13 2 2 29 111 45 +13 2 2 30 110 46 +13 2 2 31 111 46 +13 2 2 32 110 47 +13 2 2 33 111 47 +13 2 2 34 110 48 +13 2 2 35 111 48 +13 2 2 36 110 49 +13 2 2 37 111 49 +13 2 2 38 110 50 +13 2 2 39 111 50 +13 2 2 40 110 51 +13 2 2 41 111 51 +13 2 2 42 110 52 +13 2 2 43 111 52 +13 2 2 44 110 53 +13 2 2 45 -1 -1 +13 2 2 46 111 53 +13 2 2 47 110 54 +13 2 2 48 111 54 +13 2 2 49 110 55 +13 2 2 50 111 55 +13 2 2 51 110 56 +13 2 2 52 111 56 +13 2 2 53 110 57 +13 2 2 54 111 57 +13 2 2 55 110 58 +13 2 2 56 -1 -1 +13 2 2 57 111 58 +13 2 2 58 110 59 +13 2 2 59 111 59 +13 2 2 60 110 60 +13 2 2 61 111 60 +13 2 2 62 110 61 +13 2 2 63 111 61 +13 2 2 64 110 62 +13 2 2 65 111 62 +13 2 2 66 110 63 +13 2 2 67 111 63 +13 2 3 0 110 0 +13 2 3 1 111 0 +13 2 3 2 110 1 +13 2 3 3 111 1 +13 2 3 4 110 2 +13 2 3 5 111 2 +13 2 3 6 110 3 +13 2 3 7 111 3 +13 2 3 8 110 4 +13 2 3 9 111 4 +13 2 3 10 110 5 +13 2 3 11 -1 -1 +13 2 3 12 111 5 +13 2 3 13 110 6 +13 2 3 14 111 6 +13 2 3 15 110 7 +13 2 3 16 111 7 +13 2 3 17 110 8 +13 2 3 18 111 8 +13 2 3 19 110 9 +13 2 3 20 111 9 +13 2 3 21 110 10 +13 2 3 22 -1 -1 +13 2 3 23 111 10 +13 2 3 24 110 11 +13 2 3 25 111 11 +13 2 3 26 110 12 +13 2 3 27 111 12 +13 2 3 28 110 13 +13 2 3 29 111 13 +13 2 3 30 110 14 +13 2 3 31 111 14 +13 2 3 32 110 15 +13 2 3 33 111 15 +13 2 3 34 110 16 +13 2 3 35 111 16 +13 2 3 36 110 17 +13 2 3 37 111 17 +13 2 3 38 110 18 +13 2 3 39 111 18 +13 2 3 40 110 19 +13 2 3 41 111 19 +13 2 3 42 110 20 +13 2 3 43 111 20 +13 2 3 44 110 21 +13 2 3 45 -1 -1 +13 2 3 46 111 21 +13 2 3 47 110 22 +13 2 3 48 111 22 +13 2 3 49 110 23 +13 2 3 50 111 23 +13 2 3 51 110 24 +13 2 3 52 111 24 +13 2 3 53 110 25 +13 2 3 54 111 25 +13 2 3 55 110 26 +13 2 3 56 -1 -1 +13 2 3 57 111 26 +13 2 3 58 110 27 +13 2 3 59 111 27 +13 2 3 60 110 28 +13 2 3 61 111 28 +13 2 3 62 110 29 +13 2 3 63 111 29 +13 2 3 64 110 30 +13 2 3 65 111 30 +13 2 3 66 110 31 +13 2 3 67 111 31 +13 3 0 0 111 95 +13 3 0 1 110 95 +13 3 0 2 111 94 +13 3 0 3 110 94 +13 3 0 4 111 93 +13 3 0 5 110 93 +13 3 0 6 111 92 +13 3 0 7 110 92 +13 3 0 8 111 91 +13 3 0 9 110 91 +13 3 0 10 111 90 +13 3 0 11 -1 -1 +13 3 0 12 110 90 +13 3 0 13 111 89 +13 3 0 14 110 89 +13 3 0 15 111 88 +13 3 0 16 110 88 +13 3 0 17 111 87 +13 3 0 18 110 87 +13 3 0 19 111 86 +13 3 0 20 110 86 +13 3 0 21 111 85 +13 3 0 22 -1 -1 +13 3 0 23 110 85 +13 3 0 24 111 84 +13 3 0 25 110 84 +13 3 0 26 111 83 +13 3 0 27 110 83 +13 3 0 28 111 82 +13 3 0 29 110 82 +13 3 0 30 111 81 +13 3 0 31 110 81 +13 3 0 32 111 80 +13 3 0 33 110 80 +13 3 0 34 111 79 +13 3 0 35 110 79 +13 3 0 36 111 78 +13 3 0 37 110 78 +13 3 0 38 111 77 +13 3 0 39 110 77 +13 3 0 40 111 76 +13 3 0 41 110 76 +13 3 0 42 111 75 +13 3 0 43 110 75 +13 3 0 44 111 74 +13 3 0 45 -1 -1 +13 3 0 46 110 74 +13 3 0 47 111 73 +13 3 0 48 110 73 +13 3 0 49 111 72 +13 3 0 50 110 72 +13 3 0 51 111 71 +13 3 0 52 110 71 +13 3 0 53 111 70 +13 3 0 54 110 70 +13 3 0 55 111 69 +13 3 0 56 -1 -1 +13 3 0 57 110 69 +13 3 0 58 111 68 +13 3 0 59 110 68 +13 3 0 60 111 67 +13 3 0 61 110 67 +13 3 0 62 111 66 +13 3 0 63 110 66 +13 3 0 64 111 65 +13 3 0 65 110 65 +13 3 0 66 111 64 +13 3 0 67 110 64 +13 3 1 0 111 127 +13 3 1 1 110 127 +13 3 1 2 111 126 +13 3 1 3 110 126 +13 3 1 4 111 125 +13 3 1 5 110 125 +13 3 1 6 111 124 +13 3 1 7 110 124 +13 3 1 8 111 123 +13 3 1 9 110 123 +13 3 1 10 111 122 +13 3 1 11 -1 -1 +13 3 1 12 110 122 +13 3 1 13 111 121 +13 3 1 14 110 121 +13 3 1 15 111 120 +13 3 1 16 110 120 +13 3 1 17 111 119 +13 3 1 18 110 119 +13 3 1 19 111 118 +13 3 1 20 110 118 +13 3 1 21 111 117 +13 3 1 22 -1 -1 +13 3 1 23 110 117 +13 3 1 24 111 116 +13 3 1 25 110 116 +13 3 1 26 111 115 +13 3 1 27 110 115 +13 3 1 28 111 114 +13 3 1 29 110 114 +13 3 1 30 111 113 +13 3 1 31 110 113 +13 3 1 32 111 112 +13 3 1 33 110 112 +13 3 1 34 111 111 +13 3 1 35 110 111 +13 3 1 36 111 110 +13 3 1 37 110 110 +13 3 1 38 111 109 +13 3 1 39 110 109 +13 3 1 40 111 108 +13 3 1 41 110 108 +13 3 1 42 111 107 +13 3 1 43 110 107 +13 3 1 44 111 106 +13 3 1 45 -1 -1 +13 3 1 46 110 106 +13 3 1 47 111 105 +13 3 1 48 110 105 +13 3 1 49 111 104 +13 3 1 50 110 104 +13 3 1 51 111 103 +13 3 1 52 110 103 +13 3 1 53 111 102 +13 3 1 54 110 102 +13 3 1 55 111 101 +13 3 1 56 -1 -1 +13 3 1 57 110 101 +13 3 1 58 111 100 +13 3 1 59 110 100 +13 3 1 60 111 99 +13 3 1 61 110 99 +13 3 1 62 111 98 +13 3 1 63 110 98 +13 3 1 64 111 97 +13 3 1 65 110 97 +13 3 1 66 111 96 +13 3 1 67 110 96 +13 3 2 0 109 95 +13 3 2 1 108 95 +13 3 2 2 109 94 +13 3 2 3 108 94 +13 3 2 4 109 93 +13 3 2 5 108 93 +13 3 2 6 109 92 +13 3 2 7 108 92 +13 3 2 8 109 91 +13 3 2 9 108 91 +13 3 2 10 109 90 +13 3 2 11 -1 -1 +13 3 2 12 108 90 +13 3 2 13 109 89 +13 3 2 14 108 89 +13 3 2 15 109 88 +13 3 2 16 108 88 +13 3 2 17 109 87 +13 3 2 18 108 87 +13 3 2 19 109 86 +13 3 2 20 108 86 +13 3 2 21 109 85 +13 3 2 22 -1 -1 +13 3 2 23 108 85 +13 3 2 24 109 84 +13 3 2 25 108 84 +13 3 2 26 109 83 +13 3 2 27 108 83 +13 3 2 28 109 82 +13 3 2 29 108 82 +13 3 2 30 109 81 +13 3 2 31 108 81 +13 3 2 32 109 80 +13 3 2 33 108 80 +13 3 2 34 109 79 +13 3 2 35 108 79 +13 3 2 36 109 78 +13 3 2 37 108 78 +13 3 2 38 109 77 +13 3 2 39 108 77 +13 3 2 40 109 76 +13 3 2 41 108 76 +13 3 2 42 109 75 +13 3 2 43 108 75 +13 3 2 44 109 74 +13 3 2 45 -1 -1 +13 3 2 46 108 74 +13 3 2 47 109 73 +13 3 2 48 108 73 +13 3 2 49 109 72 +13 3 2 50 108 72 +13 3 2 51 109 71 +13 3 2 52 108 71 +13 3 2 53 109 70 +13 3 2 54 108 70 +13 3 2 55 109 69 +13 3 2 56 -1 -1 +13 3 2 57 108 69 +13 3 2 58 109 68 +13 3 2 59 108 68 +13 3 2 60 109 67 +13 3 2 61 108 67 +13 3 2 62 109 66 +13 3 2 63 108 66 +13 3 2 64 109 65 +13 3 2 65 108 65 +13 3 2 66 109 64 +13 3 2 67 108 64 +13 3 3 0 109 127 +13 3 3 1 108 127 +13 3 3 2 109 126 +13 3 3 3 108 126 +13 3 3 4 109 125 +13 3 3 5 108 125 +13 3 3 6 109 124 +13 3 3 7 108 124 +13 3 3 8 109 123 +13 3 3 9 108 123 +13 3 3 10 109 122 +13 3 3 11 -1 -1 +13 3 3 12 108 122 +13 3 3 13 109 121 +13 3 3 14 108 121 +13 3 3 15 109 120 +13 3 3 16 108 120 +13 3 3 17 109 119 +13 3 3 18 108 119 +13 3 3 19 109 118 +13 3 3 20 108 118 +13 3 3 21 109 117 +13 3 3 22 -1 -1 +13 3 3 23 108 117 +13 3 3 24 109 116 +13 3 3 25 108 116 +13 3 3 26 109 115 +13 3 3 27 108 115 +13 3 3 28 109 114 +13 3 3 29 108 114 +13 3 3 30 109 113 +13 3 3 31 108 113 +13 3 3 32 109 112 +13 3 3 33 108 112 +13 3 3 34 109 111 +13 3 3 35 108 111 +13 3 3 36 109 110 +13 3 3 37 108 110 +13 3 3 38 109 109 +13 3 3 39 108 109 +13 3 3 40 109 108 +13 3 3 41 108 108 +13 3 3 42 109 107 +13 3 3 43 108 107 +13 3 3 44 109 106 +13 3 3 45 -1 -1 +13 3 3 46 108 106 +13 3 3 47 109 105 +13 3 3 48 108 105 +13 3 3 49 109 104 +13 3 3 50 108 104 +13 3 3 51 109 103 +13 3 3 52 108 103 +13 3 3 53 109 102 +13 3 3 54 108 102 +13 3 3 55 109 101 +13 3 3 56 -1 -1 +13 3 3 57 108 101 +13 3 3 58 109 100 +13 3 3 59 108 100 +13 3 3 60 109 99 +13 3 3 61 108 99 +13 3 3 62 109 98 +13 3 3 63 108 98 +13 3 3 64 109 97 +13 3 3 65 108 97 +13 3 3 66 109 96 +13 3 3 67 108 96 +14 0 0 0 112 32 +14 0 0 1 113 32 +14 0 0 2 112 33 +14 0 0 3 113 33 +14 0 0 4 112 34 +14 0 0 5 113 34 +14 0 0 6 112 35 +14 0 0 7 113 35 +14 0 0 8 112 36 +14 0 0 9 113 36 +14 0 0 10 112 37 +14 0 0 11 -1 -1 +14 0 0 12 113 37 +14 0 0 13 112 38 +14 0 0 14 113 38 +14 0 0 15 112 39 +14 0 0 16 113 39 +14 0 0 17 112 40 +14 0 0 18 113 40 +14 0 0 19 112 41 +14 0 0 20 113 41 +14 0 0 21 112 42 +14 0 0 22 -1 -1 +14 0 0 23 113 42 +14 0 0 24 112 43 +14 0 0 25 113 43 +14 0 0 26 112 44 +14 0 0 27 113 44 +14 0 0 28 112 45 +14 0 0 29 113 45 +14 0 0 30 112 46 +14 0 0 31 113 46 +14 0 0 32 112 47 +14 0 0 33 113 47 +14 0 0 34 112 48 +14 0 0 35 113 48 +14 0 0 36 112 49 +14 0 0 37 113 49 +14 0 0 38 112 50 +14 0 0 39 113 50 +14 0 0 40 112 51 +14 0 0 41 113 51 +14 0 0 42 112 52 +14 0 0 43 113 52 +14 0 0 44 112 53 +14 0 0 45 -1 -1 +14 0 0 46 113 53 +14 0 0 47 112 54 +14 0 0 48 113 54 +14 0 0 49 112 55 +14 0 0 50 113 55 +14 0 0 51 112 56 +14 0 0 52 113 56 +14 0 0 53 112 57 +14 0 0 54 113 57 +14 0 0 55 112 58 +14 0 0 56 -1 -1 +14 0 0 57 113 58 +14 0 0 58 112 59 +14 0 0 59 113 59 +14 0 0 60 112 60 +14 0 0 61 113 60 +14 0 0 62 112 61 +14 0 0 63 113 61 +14 0 0 64 112 62 +14 0 0 65 113 62 +14 0 0 66 112 63 +14 0 0 67 113 63 +14 0 1 0 112 0 +14 0 1 1 113 0 +14 0 1 2 112 1 +14 0 1 3 113 1 +14 0 1 4 112 2 +14 0 1 5 113 2 +14 0 1 6 112 3 +14 0 1 7 113 3 +14 0 1 8 112 4 +14 0 1 9 113 4 +14 0 1 10 112 5 +14 0 1 11 -1 -1 +14 0 1 12 113 5 +14 0 1 13 112 6 +14 0 1 14 113 6 +14 0 1 15 112 7 +14 0 1 16 113 7 +14 0 1 17 112 8 +14 0 1 18 113 8 +14 0 1 19 112 9 +14 0 1 20 113 9 +14 0 1 21 112 10 +14 0 1 22 -1 -1 +14 0 1 23 113 10 +14 0 1 24 112 11 +14 0 1 25 113 11 +14 0 1 26 112 12 +14 0 1 27 113 12 +14 0 1 28 112 13 +14 0 1 29 113 13 +14 0 1 30 112 14 +14 0 1 31 113 14 +14 0 1 32 112 15 +14 0 1 33 113 15 +14 0 1 34 112 16 +14 0 1 35 113 16 +14 0 1 36 112 17 +14 0 1 37 113 17 +14 0 1 38 112 18 +14 0 1 39 113 18 +14 0 1 40 112 19 +14 0 1 41 113 19 +14 0 1 42 112 20 +14 0 1 43 113 20 +14 0 1 44 112 21 +14 0 1 45 -1 -1 +14 0 1 46 113 21 +14 0 1 47 112 22 +14 0 1 48 113 22 +14 0 1 49 112 23 +14 0 1 50 113 23 +14 0 1 51 112 24 +14 0 1 52 113 24 +14 0 1 53 112 25 +14 0 1 54 113 25 +14 0 1 55 112 26 +14 0 1 56 -1 -1 +14 0 1 57 113 26 +14 0 1 58 112 27 +14 0 1 59 113 27 +14 0 1 60 112 28 +14 0 1 61 113 28 +14 0 1 62 112 29 +14 0 1 63 113 29 +14 0 1 64 112 30 +14 0 1 65 113 30 +14 0 1 66 112 31 +14 0 1 67 113 31 +14 0 2 0 114 32 +14 0 2 1 115 32 +14 0 2 2 114 33 +14 0 2 3 115 33 +14 0 2 4 114 34 +14 0 2 5 115 34 +14 0 2 6 114 35 +14 0 2 7 115 35 +14 0 2 8 114 36 +14 0 2 9 115 36 +14 0 2 10 114 37 +14 0 2 11 -1 -1 +14 0 2 12 115 37 +14 0 2 13 114 38 +14 0 2 14 115 38 +14 0 2 15 114 39 +14 0 2 16 115 39 +14 0 2 17 114 40 +14 0 2 18 115 40 +14 0 2 19 114 41 +14 0 2 20 115 41 +14 0 2 21 114 42 +14 0 2 22 -1 -1 +14 0 2 23 115 42 +14 0 2 24 114 43 +14 0 2 25 115 43 +14 0 2 26 114 44 +14 0 2 27 115 44 +14 0 2 28 114 45 +14 0 2 29 115 45 +14 0 2 30 114 46 +14 0 2 31 115 46 +14 0 2 32 114 47 +14 0 2 33 115 47 +14 0 2 34 114 48 +14 0 2 35 115 48 +14 0 2 36 114 49 +14 0 2 37 115 49 +14 0 2 38 114 50 +14 0 2 39 115 50 +14 0 2 40 114 51 +14 0 2 41 115 51 +14 0 2 42 114 52 +14 0 2 43 115 52 +14 0 2 44 114 53 +14 0 2 45 -1 -1 +14 0 2 46 115 53 +14 0 2 47 114 54 +14 0 2 48 115 54 +14 0 2 49 114 55 +14 0 2 50 115 55 +14 0 2 51 114 56 +14 0 2 52 115 56 +14 0 2 53 114 57 +14 0 2 54 115 57 +14 0 2 55 114 58 +14 0 2 56 -1 -1 +14 0 2 57 115 58 +14 0 2 58 114 59 +14 0 2 59 115 59 +14 0 2 60 114 60 +14 0 2 61 115 60 +14 0 2 62 114 61 +14 0 2 63 115 61 +14 0 2 64 114 62 +14 0 2 65 115 62 +14 0 2 66 114 63 +14 0 2 67 115 63 +14 0 3 0 114 0 +14 0 3 1 115 0 +14 0 3 2 114 1 +14 0 3 3 115 1 +14 0 3 4 114 2 +14 0 3 5 115 2 +14 0 3 6 114 3 +14 0 3 7 115 3 +14 0 3 8 114 4 +14 0 3 9 115 4 +14 0 3 10 114 5 +14 0 3 11 -1 -1 +14 0 3 12 115 5 +14 0 3 13 114 6 +14 0 3 14 115 6 +14 0 3 15 114 7 +14 0 3 16 115 7 +14 0 3 17 114 8 +14 0 3 18 115 8 +14 0 3 19 114 9 +14 0 3 20 115 9 +14 0 3 21 114 10 +14 0 3 22 -1 -1 +14 0 3 23 115 10 +14 0 3 24 114 11 +14 0 3 25 115 11 +14 0 3 26 114 12 +14 0 3 27 115 12 +14 0 3 28 114 13 +14 0 3 29 115 13 +14 0 3 30 114 14 +14 0 3 31 115 14 +14 0 3 32 114 15 +14 0 3 33 115 15 +14 0 3 34 114 16 +14 0 3 35 115 16 +14 0 3 36 114 17 +14 0 3 37 115 17 +14 0 3 38 114 18 +14 0 3 39 115 18 +14 0 3 40 114 19 +14 0 3 41 115 19 +14 0 3 42 114 20 +14 0 3 43 115 20 +14 0 3 44 114 21 +14 0 3 45 -1 -1 +14 0 3 46 115 21 +14 0 3 47 114 22 +14 0 3 48 115 22 +14 0 3 49 114 23 +14 0 3 50 115 23 +14 0 3 51 114 24 +14 0 3 52 115 24 +14 0 3 53 114 25 +14 0 3 54 115 25 +14 0 3 55 114 26 +14 0 3 56 -1 -1 +14 0 3 57 115 26 +14 0 3 58 114 27 +14 0 3 59 115 27 +14 0 3 60 114 28 +14 0 3 61 115 28 +14 0 3 62 114 29 +14 0 3 63 115 29 +14 0 3 64 114 30 +14 0 3 65 115 30 +14 0 3 66 114 31 +14 0 3 67 115 31 +14 1 0 0 115 95 +14 1 0 1 114 95 +14 1 0 2 115 94 +14 1 0 3 114 94 +14 1 0 4 115 93 +14 1 0 5 114 93 +14 1 0 6 115 92 +14 1 0 7 114 92 +14 1 0 8 115 91 +14 1 0 9 114 91 +14 1 0 10 115 90 +14 1 0 11 -1 -1 +14 1 0 12 114 90 +14 1 0 13 115 89 +14 1 0 14 114 89 +14 1 0 15 115 88 +14 1 0 16 114 88 +14 1 0 17 115 87 +14 1 0 18 114 87 +14 1 0 19 115 86 +14 1 0 20 114 86 +14 1 0 21 115 85 +14 1 0 22 -1 -1 +14 1 0 23 114 85 +14 1 0 24 115 84 +14 1 0 25 114 84 +14 1 0 26 115 83 +14 1 0 27 114 83 +14 1 0 28 115 82 +14 1 0 29 114 82 +14 1 0 30 115 81 +14 1 0 31 114 81 +14 1 0 32 115 80 +14 1 0 33 114 80 +14 1 0 34 115 79 +14 1 0 35 114 79 +14 1 0 36 115 78 +14 1 0 37 114 78 +14 1 0 38 115 77 +14 1 0 39 114 77 +14 1 0 40 115 76 +14 1 0 41 114 76 +14 1 0 42 115 75 +14 1 0 43 114 75 +14 1 0 44 115 74 +14 1 0 45 -1 -1 +14 1 0 46 114 74 +14 1 0 47 115 73 +14 1 0 48 114 73 +14 1 0 49 115 72 +14 1 0 50 114 72 +14 1 0 51 115 71 +14 1 0 52 114 71 +14 1 0 53 115 70 +14 1 0 54 114 70 +14 1 0 55 115 69 +14 1 0 56 -1 -1 +14 1 0 57 114 69 +14 1 0 58 115 68 +14 1 0 59 114 68 +14 1 0 60 115 67 +14 1 0 61 114 67 +14 1 0 62 115 66 +14 1 0 63 114 66 +14 1 0 64 115 65 +14 1 0 65 114 65 +14 1 0 66 115 64 +14 1 0 67 114 64 +14 1 1 0 115 127 +14 1 1 1 114 127 +14 1 1 2 115 126 +14 1 1 3 114 126 +14 1 1 4 115 125 +14 1 1 5 114 125 +14 1 1 6 115 124 +14 1 1 7 114 124 +14 1 1 8 115 123 +14 1 1 9 114 123 +14 1 1 10 115 122 +14 1 1 11 -1 -1 +14 1 1 12 114 122 +14 1 1 13 115 121 +14 1 1 14 114 121 +14 1 1 15 115 120 +14 1 1 16 114 120 +14 1 1 17 115 119 +14 1 1 18 114 119 +14 1 1 19 115 118 +14 1 1 20 114 118 +14 1 1 21 115 117 +14 1 1 22 -1 -1 +14 1 1 23 114 117 +14 1 1 24 115 116 +14 1 1 25 114 116 +14 1 1 26 115 115 +14 1 1 27 114 115 +14 1 1 28 115 114 +14 1 1 29 114 114 +14 1 1 30 115 113 +14 1 1 31 114 113 +14 1 1 32 115 112 +14 1 1 33 114 112 +14 1 1 34 115 111 +14 1 1 35 114 111 +14 1 1 36 115 110 +14 1 1 37 114 110 +14 1 1 38 115 109 +14 1 1 39 114 109 +14 1 1 40 115 108 +14 1 1 41 114 108 +14 1 1 42 115 107 +14 1 1 43 114 107 +14 1 1 44 115 106 +14 1 1 45 -1 -1 +14 1 1 46 114 106 +14 1 1 47 115 105 +14 1 1 48 114 105 +14 1 1 49 115 104 +14 1 1 50 114 104 +14 1 1 51 115 103 +14 1 1 52 114 103 +14 1 1 53 115 102 +14 1 1 54 114 102 +14 1 1 55 115 101 +14 1 1 56 -1 -1 +14 1 1 57 114 101 +14 1 1 58 115 100 +14 1 1 59 114 100 +14 1 1 60 115 99 +14 1 1 61 114 99 +14 1 1 62 115 98 +14 1 1 63 114 98 +14 1 1 64 115 97 +14 1 1 65 114 97 +14 1 1 66 115 96 +14 1 1 67 114 96 +14 1 2 0 113 95 +14 1 2 1 112 95 +14 1 2 2 113 94 +14 1 2 3 112 94 +14 1 2 4 113 93 +14 1 2 5 112 93 +14 1 2 6 113 92 +14 1 2 7 112 92 +14 1 2 8 113 91 +14 1 2 9 112 91 +14 1 2 10 113 90 +14 1 2 11 -1 -1 +14 1 2 12 112 90 +14 1 2 13 113 89 +14 1 2 14 112 89 +14 1 2 15 113 88 +14 1 2 16 112 88 +14 1 2 17 113 87 +14 1 2 18 112 87 +14 1 2 19 113 86 +14 1 2 20 112 86 +14 1 2 21 113 85 +14 1 2 22 -1 -1 +14 1 2 23 112 85 +14 1 2 24 113 84 +14 1 2 25 112 84 +14 1 2 26 113 83 +14 1 2 27 112 83 +14 1 2 28 113 82 +14 1 2 29 112 82 +14 1 2 30 113 81 +14 1 2 31 112 81 +14 1 2 32 113 80 +14 1 2 33 112 80 +14 1 2 34 113 79 +14 1 2 35 112 79 +14 1 2 36 113 78 +14 1 2 37 112 78 +14 1 2 38 113 77 +14 1 2 39 112 77 +14 1 2 40 113 76 +14 1 2 41 112 76 +14 1 2 42 113 75 +14 1 2 43 112 75 +14 1 2 44 113 74 +14 1 2 45 -1 -1 +14 1 2 46 112 74 +14 1 2 47 113 73 +14 1 2 48 112 73 +14 1 2 49 113 72 +14 1 2 50 112 72 +14 1 2 51 113 71 +14 1 2 52 112 71 +14 1 2 53 113 70 +14 1 2 54 112 70 +14 1 2 55 113 69 +14 1 2 56 -1 -1 +14 1 2 57 112 69 +14 1 2 58 113 68 +14 1 2 59 112 68 +14 1 2 60 113 67 +14 1 2 61 112 67 +14 1 2 62 113 66 +14 1 2 63 112 66 +14 1 2 64 113 65 +14 1 2 65 112 65 +14 1 2 66 113 64 +14 1 2 67 112 64 +14 1 3 0 113 127 +14 1 3 1 112 127 +14 1 3 2 113 126 +14 1 3 3 112 126 +14 1 3 4 113 125 +14 1 3 5 112 125 +14 1 3 6 113 124 +14 1 3 7 112 124 +14 1 3 8 113 123 +14 1 3 9 112 123 +14 1 3 10 113 122 +14 1 3 11 -1 -1 +14 1 3 12 112 122 +14 1 3 13 113 121 +14 1 3 14 112 121 +14 1 3 15 113 120 +14 1 3 16 112 120 +14 1 3 17 113 119 +14 1 3 18 112 119 +14 1 3 19 113 118 +14 1 3 20 112 118 +14 1 3 21 113 117 +14 1 3 22 -1 -1 +14 1 3 23 112 117 +14 1 3 24 113 116 +14 1 3 25 112 116 +14 1 3 26 113 115 +14 1 3 27 112 115 +14 1 3 28 113 114 +14 1 3 29 112 114 +14 1 3 30 113 113 +14 1 3 31 112 113 +14 1 3 32 113 112 +14 1 3 33 112 112 +14 1 3 34 113 111 +14 1 3 35 112 111 +14 1 3 36 113 110 +14 1 3 37 112 110 +14 1 3 38 113 109 +14 1 3 39 112 109 +14 1 3 40 113 108 +14 1 3 41 112 108 +14 1 3 42 113 107 +14 1 3 43 112 107 +14 1 3 44 113 106 +14 1 3 45 -1 -1 +14 1 3 46 112 106 +14 1 3 47 113 105 +14 1 3 48 112 105 +14 1 3 49 113 104 +14 1 3 50 112 104 +14 1 3 51 113 103 +14 1 3 52 112 103 +14 1 3 53 113 102 +14 1 3 54 112 102 +14 1 3 55 113 101 +14 1 3 56 -1 -1 +14 1 3 57 112 101 +14 1 3 58 113 100 +14 1 3 59 112 100 +14 1 3 60 113 99 +14 1 3 61 112 99 +14 1 3 62 113 98 +14 1 3 63 112 98 +14 1 3 64 113 97 +14 1 3 65 112 97 +14 1 3 66 113 96 +14 1 3 67 112 96 +14 2 0 0 116 32 +14 2 0 1 117 32 +14 2 0 2 116 33 +14 2 0 3 117 33 +14 2 0 4 116 34 +14 2 0 5 117 34 +14 2 0 6 116 35 +14 2 0 7 117 35 +14 2 0 8 116 36 +14 2 0 9 117 36 +14 2 0 10 116 37 +14 2 0 11 -1 -1 +14 2 0 12 117 37 +14 2 0 13 116 38 +14 2 0 14 117 38 +14 2 0 15 116 39 +14 2 0 16 117 39 +14 2 0 17 116 40 +14 2 0 18 117 40 +14 2 0 19 116 41 +14 2 0 20 117 41 +14 2 0 21 116 42 +14 2 0 22 -1 -1 +14 2 0 23 117 42 +14 2 0 24 116 43 +14 2 0 25 117 43 +14 2 0 26 116 44 +14 2 0 27 117 44 +14 2 0 28 116 45 +14 2 0 29 117 45 +14 2 0 30 116 46 +14 2 0 31 117 46 +14 2 0 32 116 47 +14 2 0 33 117 47 +14 2 0 34 116 48 +14 2 0 35 117 48 +14 2 0 36 116 49 +14 2 0 37 117 49 +14 2 0 38 116 50 +14 2 0 39 117 50 +14 2 0 40 116 51 +14 2 0 41 117 51 +14 2 0 42 116 52 +14 2 0 43 117 52 +14 2 0 44 116 53 +14 2 0 45 -1 -1 +14 2 0 46 117 53 +14 2 0 47 116 54 +14 2 0 48 117 54 +14 2 0 49 116 55 +14 2 0 50 117 55 +14 2 0 51 116 56 +14 2 0 52 117 56 +14 2 0 53 116 57 +14 2 0 54 117 57 +14 2 0 55 116 58 +14 2 0 56 -1 -1 +14 2 0 57 117 58 +14 2 0 58 116 59 +14 2 0 59 117 59 +14 2 0 60 116 60 +14 2 0 61 117 60 +14 2 0 62 116 61 +14 2 0 63 117 61 +14 2 0 64 116 62 +14 2 0 65 117 62 +14 2 0 66 116 63 +14 2 0 67 117 63 +14 2 1 0 116 0 +14 2 1 1 117 0 +14 2 1 2 116 1 +14 2 1 3 117 1 +14 2 1 4 116 2 +14 2 1 5 117 2 +14 2 1 6 116 3 +14 2 1 7 117 3 +14 2 1 8 116 4 +14 2 1 9 117 4 +14 2 1 10 116 5 +14 2 1 11 -1 -1 +14 2 1 12 117 5 +14 2 1 13 116 6 +14 2 1 14 117 6 +14 2 1 15 116 7 +14 2 1 16 117 7 +14 2 1 17 116 8 +14 2 1 18 117 8 +14 2 1 19 116 9 +14 2 1 20 117 9 +14 2 1 21 116 10 +14 2 1 22 -1 -1 +14 2 1 23 117 10 +14 2 1 24 116 11 +14 2 1 25 117 11 +14 2 1 26 116 12 +14 2 1 27 117 12 +14 2 1 28 116 13 +14 2 1 29 117 13 +14 2 1 30 116 14 +14 2 1 31 117 14 +14 2 1 32 116 15 +14 2 1 33 117 15 +14 2 1 34 116 16 +14 2 1 35 117 16 +14 2 1 36 116 17 +14 2 1 37 117 17 +14 2 1 38 116 18 +14 2 1 39 117 18 +14 2 1 40 116 19 +14 2 1 41 117 19 +14 2 1 42 116 20 +14 2 1 43 117 20 +14 2 1 44 116 21 +14 2 1 45 -1 -1 +14 2 1 46 117 21 +14 2 1 47 116 22 +14 2 1 48 117 22 +14 2 1 49 116 23 +14 2 1 50 117 23 +14 2 1 51 116 24 +14 2 1 52 117 24 +14 2 1 53 116 25 +14 2 1 54 117 25 +14 2 1 55 116 26 +14 2 1 56 -1 -1 +14 2 1 57 117 26 +14 2 1 58 116 27 +14 2 1 59 117 27 +14 2 1 60 116 28 +14 2 1 61 117 28 +14 2 1 62 116 29 +14 2 1 63 117 29 +14 2 1 64 116 30 +14 2 1 65 117 30 +14 2 1 66 116 31 +14 2 1 67 117 31 +14 2 2 0 118 32 +14 2 2 1 119 32 +14 2 2 2 118 33 +14 2 2 3 119 33 +14 2 2 4 118 34 +14 2 2 5 119 34 +14 2 2 6 118 35 +14 2 2 7 119 35 +14 2 2 8 118 36 +14 2 2 9 119 36 +14 2 2 10 118 37 +14 2 2 11 -1 -1 +14 2 2 12 119 37 +14 2 2 13 118 38 +14 2 2 14 119 38 +14 2 2 15 118 39 +14 2 2 16 119 39 +14 2 2 17 118 40 +14 2 2 18 119 40 +14 2 2 19 118 41 +14 2 2 20 119 41 +14 2 2 21 118 42 +14 2 2 22 -1 -1 +14 2 2 23 119 42 +14 2 2 24 118 43 +14 2 2 25 119 43 +14 2 2 26 118 44 +14 2 2 27 119 44 +14 2 2 28 118 45 +14 2 2 29 119 45 +14 2 2 30 118 46 +14 2 2 31 119 46 +14 2 2 32 118 47 +14 2 2 33 119 47 +14 2 2 34 118 48 +14 2 2 35 119 48 +14 2 2 36 118 49 +14 2 2 37 119 49 +14 2 2 38 118 50 +14 2 2 39 119 50 +14 2 2 40 118 51 +14 2 2 41 119 51 +14 2 2 42 118 52 +14 2 2 43 119 52 +14 2 2 44 118 53 +14 2 2 45 -1 -1 +14 2 2 46 119 53 +14 2 2 47 118 54 +14 2 2 48 119 54 +14 2 2 49 118 55 +14 2 2 50 119 55 +14 2 2 51 118 56 +14 2 2 52 119 56 +14 2 2 53 118 57 +14 2 2 54 119 57 +14 2 2 55 118 58 +14 2 2 56 -1 -1 +14 2 2 57 119 58 +14 2 2 58 118 59 +14 2 2 59 119 59 +14 2 2 60 118 60 +14 2 2 61 119 60 +14 2 2 62 118 61 +14 2 2 63 119 61 +14 2 2 64 118 62 +14 2 2 65 119 62 +14 2 2 66 118 63 +14 2 2 67 119 63 +14 2 3 0 118 0 +14 2 3 1 119 0 +14 2 3 2 118 1 +14 2 3 3 119 1 +14 2 3 4 118 2 +14 2 3 5 119 2 +14 2 3 6 118 3 +14 2 3 7 119 3 +14 2 3 8 118 4 +14 2 3 9 119 4 +14 2 3 10 118 5 +14 2 3 11 -1 -1 +14 2 3 12 119 5 +14 2 3 13 118 6 +14 2 3 14 119 6 +14 2 3 15 118 7 +14 2 3 16 119 7 +14 2 3 17 118 8 +14 2 3 18 119 8 +14 2 3 19 118 9 +14 2 3 20 119 9 +14 2 3 21 118 10 +14 2 3 22 -1 -1 +14 2 3 23 119 10 +14 2 3 24 118 11 +14 2 3 25 119 11 +14 2 3 26 118 12 +14 2 3 27 119 12 +14 2 3 28 118 13 +14 2 3 29 119 13 +14 2 3 30 118 14 +14 2 3 31 119 14 +14 2 3 32 118 15 +14 2 3 33 119 15 +14 2 3 34 118 16 +14 2 3 35 119 16 +14 2 3 36 118 17 +14 2 3 37 119 17 +14 2 3 38 118 18 +14 2 3 39 119 18 +14 2 3 40 118 19 +14 2 3 41 119 19 +14 2 3 42 118 20 +14 2 3 43 119 20 +14 2 3 44 118 21 +14 2 3 45 -1 -1 +14 2 3 46 119 21 +14 2 3 47 118 22 +14 2 3 48 119 22 +14 2 3 49 118 23 +14 2 3 50 119 23 +14 2 3 51 118 24 +14 2 3 52 119 24 +14 2 3 53 118 25 +14 2 3 54 119 25 +14 2 3 55 118 26 +14 2 3 56 -1 -1 +14 2 3 57 119 26 +14 2 3 58 118 27 +14 2 3 59 119 27 +14 2 3 60 118 28 +14 2 3 61 119 28 +14 2 3 62 118 29 +14 2 3 63 119 29 +14 2 3 64 118 30 +14 2 3 65 119 30 +14 2 3 66 118 31 +14 2 3 67 119 31 +14 3 0 0 119 95 +14 3 0 1 118 95 +14 3 0 2 119 94 +14 3 0 3 118 94 +14 3 0 4 119 93 +14 3 0 5 118 93 +14 3 0 6 119 92 +14 3 0 7 118 92 +14 3 0 8 119 91 +14 3 0 9 118 91 +14 3 0 10 119 90 +14 3 0 11 -1 -1 +14 3 0 12 118 90 +14 3 0 13 119 89 +14 3 0 14 118 89 +14 3 0 15 119 88 +14 3 0 16 118 88 +14 3 0 17 119 87 +14 3 0 18 118 87 +14 3 0 19 119 86 +14 3 0 20 118 86 +14 3 0 21 119 85 +14 3 0 22 -1 -1 +14 3 0 23 118 85 +14 3 0 24 119 84 +14 3 0 25 118 84 +14 3 0 26 119 83 +14 3 0 27 118 83 +14 3 0 28 119 82 +14 3 0 29 118 82 +14 3 0 30 119 81 +14 3 0 31 118 81 +14 3 0 32 119 80 +14 3 0 33 118 80 +14 3 0 34 119 79 +14 3 0 35 118 79 +14 3 0 36 119 78 +14 3 0 37 118 78 +14 3 0 38 119 77 +14 3 0 39 118 77 +14 3 0 40 119 76 +14 3 0 41 118 76 +14 3 0 42 119 75 +14 3 0 43 118 75 +14 3 0 44 119 74 +14 3 0 45 -1 -1 +14 3 0 46 118 74 +14 3 0 47 119 73 +14 3 0 48 118 73 +14 3 0 49 119 72 +14 3 0 50 118 72 +14 3 0 51 119 71 +14 3 0 52 118 71 +14 3 0 53 119 70 +14 3 0 54 118 70 +14 3 0 55 119 69 +14 3 0 56 -1 -1 +14 3 0 57 118 69 +14 3 0 58 119 68 +14 3 0 59 118 68 +14 3 0 60 119 67 +14 3 0 61 118 67 +14 3 0 62 119 66 +14 3 0 63 118 66 +14 3 0 64 119 65 +14 3 0 65 118 65 +14 3 0 66 119 64 +14 3 0 67 118 64 +14 3 1 0 119 127 +14 3 1 1 118 127 +14 3 1 2 119 126 +14 3 1 3 118 126 +14 3 1 4 119 125 +14 3 1 5 118 125 +14 3 1 6 119 124 +14 3 1 7 118 124 +14 3 1 8 119 123 +14 3 1 9 118 123 +14 3 1 10 119 122 +14 3 1 11 -1 -1 +14 3 1 12 118 122 +14 3 1 13 119 121 +14 3 1 14 118 121 +14 3 1 15 119 120 +14 3 1 16 118 120 +14 3 1 17 119 119 +14 3 1 18 118 119 +14 3 1 19 119 118 +14 3 1 20 118 118 +14 3 1 21 119 117 +14 3 1 22 -1 -1 +14 3 1 23 118 117 +14 3 1 24 119 116 +14 3 1 25 118 116 +14 3 1 26 119 115 +14 3 1 27 118 115 +14 3 1 28 119 114 +14 3 1 29 118 114 +14 3 1 30 119 113 +14 3 1 31 118 113 +14 3 1 32 119 112 +14 3 1 33 118 112 +14 3 1 34 119 111 +14 3 1 35 118 111 +14 3 1 36 119 110 +14 3 1 37 118 110 +14 3 1 38 119 109 +14 3 1 39 118 109 +14 3 1 40 119 108 +14 3 1 41 118 108 +14 3 1 42 119 107 +14 3 1 43 118 107 +14 3 1 44 119 106 +14 3 1 45 -1 -1 +14 3 1 46 118 106 +14 3 1 47 119 105 +14 3 1 48 118 105 +14 3 1 49 119 104 +14 3 1 50 118 104 +14 3 1 51 119 103 +14 3 1 52 118 103 +14 3 1 53 119 102 +14 3 1 54 118 102 +14 3 1 55 119 101 +14 3 1 56 -1 -1 +14 3 1 57 118 101 +14 3 1 58 119 100 +14 3 1 59 118 100 +14 3 1 60 119 99 +14 3 1 61 118 99 +14 3 1 62 119 98 +14 3 1 63 118 98 +14 3 1 64 119 97 +14 3 1 65 118 97 +14 3 1 66 119 96 +14 3 1 67 118 96 +14 3 2 0 117 95 +14 3 2 1 116 95 +14 3 2 2 117 94 +14 3 2 3 116 94 +14 3 2 4 117 93 +14 3 2 5 116 93 +14 3 2 6 117 92 +14 3 2 7 116 92 +14 3 2 8 117 91 +14 3 2 9 116 91 +14 3 2 10 117 90 +14 3 2 11 -1 -1 +14 3 2 12 116 90 +14 3 2 13 117 89 +14 3 2 14 116 89 +14 3 2 15 117 88 +14 3 2 16 116 88 +14 3 2 17 117 87 +14 3 2 18 116 87 +14 3 2 19 117 86 +14 3 2 20 116 86 +14 3 2 21 117 85 +14 3 2 22 -1 -1 +14 3 2 23 116 85 +14 3 2 24 117 84 +14 3 2 25 116 84 +14 3 2 26 117 83 +14 3 2 27 116 83 +14 3 2 28 117 82 +14 3 2 29 116 82 +14 3 2 30 117 81 +14 3 2 31 116 81 +14 3 2 32 117 80 +14 3 2 33 116 80 +14 3 2 34 117 79 +14 3 2 35 116 79 +14 3 2 36 117 78 +14 3 2 37 116 78 +14 3 2 38 117 77 +14 3 2 39 116 77 +14 3 2 40 117 76 +14 3 2 41 116 76 +14 3 2 42 117 75 +14 3 2 43 116 75 +14 3 2 44 117 74 +14 3 2 45 -1 -1 +14 3 2 46 116 74 +14 3 2 47 117 73 +14 3 2 48 116 73 +14 3 2 49 117 72 +14 3 2 50 116 72 +14 3 2 51 117 71 +14 3 2 52 116 71 +14 3 2 53 117 70 +14 3 2 54 116 70 +14 3 2 55 117 69 +14 3 2 56 -1 -1 +14 3 2 57 116 69 +14 3 2 58 117 68 +14 3 2 59 116 68 +14 3 2 60 117 67 +14 3 2 61 116 67 +14 3 2 62 117 66 +14 3 2 63 116 66 +14 3 2 64 117 65 +14 3 2 65 116 65 +14 3 2 66 117 64 +14 3 2 67 116 64 +14 3 3 0 117 127 +14 3 3 1 116 127 +14 3 3 2 117 126 +14 3 3 3 116 126 +14 3 3 4 117 125 +14 3 3 5 116 125 +14 3 3 6 117 124 +14 3 3 7 116 124 +14 3 3 8 117 123 +14 3 3 9 116 123 +14 3 3 10 117 122 +14 3 3 11 -1 -1 +14 3 3 12 116 122 +14 3 3 13 117 121 +14 3 3 14 116 121 +14 3 3 15 117 120 +14 3 3 16 116 120 +14 3 3 17 117 119 +14 3 3 18 116 119 +14 3 3 19 117 118 +14 3 3 20 116 118 +14 3 3 21 117 117 +14 3 3 22 -1 -1 +14 3 3 23 116 117 +14 3 3 24 117 116 +14 3 3 25 116 116 +14 3 3 26 117 115 +14 3 3 27 116 115 +14 3 3 28 117 114 +14 3 3 29 116 114 +14 3 3 30 117 113 +14 3 3 31 116 113 +14 3 3 32 117 112 +14 3 3 33 116 112 +14 3 3 34 117 111 +14 3 3 35 116 111 +14 3 3 36 117 110 +14 3 3 37 116 110 +14 3 3 38 117 109 +14 3 3 39 116 109 +14 3 3 40 117 108 +14 3 3 41 116 108 +14 3 3 42 117 107 +14 3 3 43 116 107 +14 3 3 44 117 106 +14 3 3 45 -1 -1 +14 3 3 46 116 106 +14 3 3 47 117 105 +14 3 3 48 116 105 +14 3 3 49 117 104 +14 3 3 50 116 104 +14 3 3 51 117 103 +14 3 3 52 116 103 +14 3 3 53 117 102 +14 3 3 54 116 102 +14 3 3 55 117 101 +14 3 3 56 -1 -1 +14 3 3 57 116 101 +14 3 3 58 117 100 +14 3 3 59 116 100 +14 3 3 60 117 99 +14 3 3 61 116 99 +14 3 3 62 117 98 +14 3 3 63 116 98 +14 3 3 64 117 97 +14 3 3 65 116 97 +14 3 3 66 117 96 +14 3 3 67 116 96 +15 0 0 0 120 32 +15 0 0 1 121 32 +15 0 0 2 120 33 +15 0 0 3 121 33 +15 0 0 4 120 34 +15 0 0 5 121 34 +15 0 0 6 120 35 +15 0 0 7 121 35 +15 0 0 8 120 36 +15 0 0 9 121 36 +15 0 0 10 120 37 +15 0 0 11 -1 -1 +15 0 0 12 121 37 +15 0 0 13 120 38 +15 0 0 14 121 38 +15 0 0 15 120 39 +15 0 0 16 121 39 +15 0 0 17 120 40 +15 0 0 18 121 40 +15 0 0 19 120 41 +15 0 0 20 121 41 +15 0 0 21 120 42 +15 0 0 22 -1 -1 +15 0 0 23 121 42 +15 0 0 24 120 43 +15 0 0 25 121 43 +15 0 0 26 120 44 +15 0 0 27 121 44 +15 0 0 28 120 45 +15 0 0 29 121 45 +15 0 0 30 120 46 +15 0 0 31 121 46 +15 0 0 32 120 47 +15 0 0 33 121 47 +15 0 0 34 120 48 +15 0 0 35 121 48 +15 0 0 36 120 49 +15 0 0 37 121 49 +15 0 0 38 120 50 +15 0 0 39 121 50 +15 0 0 40 120 51 +15 0 0 41 121 51 +15 0 0 42 120 52 +15 0 0 43 121 52 +15 0 0 44 120 53 +15 0 0 45 -1 -1 +15 0 0 46 121 53 +15 0 0 47 120 54 +15 0 0 48 121 54 +15 0 0 49 120 55 +15 0 0 50 121 55 +15 0 0 51 120 56 +15 0 0 52 121 56 +15 0 0 53 120 57 +15 0 0 54 121 57 +15 0 0 55 120 58 +15 0 0 56 -1 -1 +15 0 0 57 121 58 +15 0 0 58 120 59 +15 0 0 59 121 59 +15 0 0 60 120 60 +15 0 0 61 121 60 +15 0 0 62 120 61 +15 0 0 63 121 61 +15 0 0 64 120 62 +15 0 0 65 121 62 +15 0 0 66 120 63 +15 0 0 67 121 63 +15 0 1 0 120 0 +15 0 1 1 121 0 +15 0 1 2 120 1 +15 0 1 3 121 1 +15 0 1 4 120 2 +15 0 1 5 121 2 +15 0 1 6 120 3 +15 0 1 7 121 3 +15 0 1 8 120 4 +15 0 1 9 121 4 +15 0 1 10 120 5 +15 0 1 11 -1 -1 +15 0 1 12 121 5 +15 0 1 13 120 6 +15 0 1 14 121 6 +15 0 1 15 120 7 +15 0 1 16 121 7 +15 0 1 17 120 8 +15 0 1 18 121 8 +15 0 1 19 120 9 +15 0 1 20 121 9 +15 0 1 21 120 10 +15 0 1 22 -1 -1 +15 0 1 23 121 10 +15 0 1 24 120 11 +15 0 1 25 121 11 +15 0 1 26 120 12 +15 0 1 27 121 12 +15 0 1 28 120 13 +15 0 1 29 121 13 +15 0 1 30 120 14 +15 0 1 31 121 14 +15 0 1 32 120 15 +15 0 1 33 121 15 +15 0 1 34 120 16 +15 0 1 35 121 16 +15 0 1 36 120 17 +15 0 1 37 121 17 +15 0 1 38 120 18 +15 0 1 39 121 18 +15 0 1 40 120 19 +15 0 1 41 121 19 +15 0 1 42 120 20 +15 0 1 43 121 20 +15 0 1 44 120 21 +15 0 1 45 -1 -1 +15 0 1 46 121 21 +15 0 1 47 120 22 +15 0 1 48 121 22 +15 0 1 49 120 23 +15 0 1 50 121 23 +15 0 1 51 120 24 +15 0 1 52 121 24 +15 0 1 53 120 25 +15 0 1 54 121 25 +15 0 1 55 120 26 +15 0 1 56 -1 -1 +15 0 1 57 121 26 +15 0 1 58 120 27 +15 0 1 59 121 27 +15 0 1 60 120 28 +15 0 1 61 121 28 +15 0 1 62 120 29 +15 0 1 63 121 29 +15 0 1 64 120 30 +15 0 1 65 121 30 +15 0 1 66 120 31 +15 0 1 67 121 31 +15 0 2 0 122 32 +15 0 2 1 123 32 +15 0 2 2 122 33 +15 0 2 3 123 33 +15 0 2 4 122 34 +15 0 2 5 123 34 +15 0 2 6 122 35 +15 0 2 7 123 35 +15 0 2 8 122 36 +15 0 2 9 123 36 +15 0 2 10 122 37 +15 0 2 11 -1 -1 +15 0 2 12 123 37 +15 0 2 13 122 38 +15 0 2 14 123 38 +15 0 2 15 122 39 +15 0 2 16 123 39 +15 0 2 17 122 40 +15 0 2 18 123 40 +15 0 2 19 122 41 +15 0 2 20 123 41 +15 0 2 21 122 42 +15 0 2 22 -1 -1 +15 0 2 23 123 42 +15 0 2 24 122 43 +15 0 2 25 123 43 +15 0 2 26 122 44 +15 0 2 27 123 44 +15 0 2 28 122 45 +15 0 2 29 123 45 +15 0 2 30 122 46 +15 0 2 31 123 46 +15 0 2 32 122 47 +15 0 2 33 123 47 +15 0 2 34 122 48 +15 0 2 35 123 48 +15 0 2 36 122 49 +15 0 2 37 123 49 +15 0 2 38 122 50 +15 0 2 39 123 50 +15 0 2 40 122 51 +15 0 2 41 123 51 +15 0 2 42 122 52 +15 0 2 43 123 52 +15 0 2 44 122 53 +15 0 2 45 -1 -1 +15 0 2 46 123 53 +15 0 2 47 122 54 +15 0 2 48 123 54 +15 0 2 49 122 55 +15 0 2 50 123 55 +15 0 2 51 122 56 +15 0 2 52 123 56 +15 0 2 53 122 57 +15 0 2 54 123 57 +15 0 2 55 122 58 +15 0 2 56 -1 -1 +15 0 2 57 123 58 +15 0 2 58 122 59 +15 0 2 59 123 59 +15 0 2 60 122 60 +15 0 2 61 123 60 +15 0 2 62 122 61 +15 0 2 63 123 61 +15 0 2 64 122 62 +15 0 2 65 123 62 +15 0 2 66 122 63 +15 0 2 67 123 63 +15 0 3 0 122 0 +15 0 3 1 123 0 +15 0 3 2 122 1 +15 0 3 3 123 1 +15 0 3 4 122 2 +15 0 3 5 123 2 +15 0 3 6 122 3 +15 0 3 7 123 3 +15 0 3 8 122 4 +15 0 3 9 123 4 +15 0 3 10 122 5 +15 0 3 11 -1 -1 +15 0 3 12 123 5 +15 0 3 13 122 6 +15 0 3 14 123 6 +15 0 3 15 122 7 +15 0 3 16 123 7 +15 0 3 17 122 8 +15 0 3 18 123 8 +15 0 3 19 122 9 +15 0 3 20 123 9 +15 0 3 21 122 10 +15 0 3 22 -1 -1 +15 0 3 23 123 10 +15 0 3 24 122 11 +15 0 3 25 123 11 +15 0 3 26 122 12 +15 0 3 27 123 12 +15 0 3 28 122 13 +15 0 3 29 123 13 +15 0 3 30 122 14 +15 0 3 31 123 14 +15 0 3 32 122 15 +15 0 3 33 123 15 +15 0 3 34 122 16 +15 0 3 35 123 16 +15 0 3 36 122 17 +15 0 3 37 123 17 +15 0 3 38 122 18 +15 0 3 39 123 18 +15 0 3 40 122 19 +15 0 3 41 123 19 +15 0 3 42 122 20 +15 0 3 43 123 20 +15 0 3 44 122 21 +15 0 3 45 -1 -1 +15 0 3 46 123 21 +15 0 3 47 122 22 +15 0 3 48 123 22 +15 0 3 49 122 23 +15 0 3 50 123 23 +15 0 3 51 122 24 +15 0 3 52 123 24 +15 0 3 53 122 25 +15 0 3 54 123 25 +15 0 3 55 122 26 +15 0 3 56 -1 -1 +15 0 3 57 123 26 +15 0 3 58 122 27 +15 0 3 59 123 27 +15 0 3 60 122 28 +15 0 3 61 123 28 +15 0 3 62 122 29 +15 0 3 63 123 29 +15 0 3 64 122 30 +15 0 3 65 123 30 +15 0 3 66 122 31 +15 0 3 67 123 31 +15 1 0 0 123 95 +15 1 0 1 122 95 +15 1 0 2 123 94 +15 1 0 3 122 94 +15 1 0 4 123 93 +15 1 0 5 122 93 +15 1 0 6 123 92 +15 1 0 7 122 92 +15 1 0 8 123 91 +15 1 0 9 122 91 +15 1 0 10 123 90 +15 1 0 11 -1 -1 +15 1 0 12 122 90 +15 1 0 13 123 89 +15 1 0 14 122 89 +15 1 0 15 123 88 +15 1 0 16 122 88 +15 1 0 17 123 87 +15 1 0 18 122 87 +15 1 0 19 123 86 +15 1 0 20 122 86 +15 1 0 21 123 85 +15 1 0 22 -1 -1 +15 1 0 23 122 85 +15 1 0 24 123 84 +15 1 0 25 122 84 +15 1 0 26 123 83 +15 1 0 27 122 83 +15 1 0 28 123 82 +15 1 0 29 122 82 +15 1 0 30 123 81 +15 1 0 31 122 81 +15 1 0 32 123 80 +15 1 0 33 122 80 +15 1 0 34 123 79 +15 1 0 35 122 79 +15 1 0 36 123 78 +15 1 0 37 122 78 +15 1 0 38 123 77 +15 1 0 39 122 77 +15 1 0 40 123 76 +15 1 0 41 122 76 +15 1 0 42 123 75 +15 1 0 43 122 75 +15 1 0 44 123 74 +15 1 0 45 -1 -1 +15 1 0 46 122 74 +15 1 0 47 123 73 +15 1 0 48 122 73 +15 1 0 49 123 72 +15 1 0 50 122 72 +15 1 0 51 123 71 +15 1 0 52 122 71 +15 1 0 53 123 70 +15 1 0 54 122 70 +15 1 0 55 123 69 +15 1 0 56 -1 -1 +15 1 0 57 122 69 +15 1 0 58 123 68 +15 1 0 59 122 68 +15 1 0 60 123 67 +15 1 0 61 122 67 +15 1 0 62 123 66 +15 1 0 63 122 66 +15 1 0 64 123 65 +15 1 0 65 122 65 +15 1 0 66 123 64 +15 1 0 67 122 64 +15 1 1 0 123 127 +15 1 1 1 122 127 +15 1 1 2 123 126 +15 1 1 3 122 126 +15 1 1 4 123 125 +15 1 1 5 122 125 +15 1 1 6 123 124 +15 1 1 7 122 124 +15 1 1 8 123 123 +15 1 1 9 122 123 +15 1 1 10 123 122 +15 1 1 11 -1 -1 +15 1 1 12 122 122 +15 1 1 13 123 121 +15 1 1 14 122 121 +15 1 1 15 123 120 +15 1 1 16 122 120 +15 1 1 17 123 119 +15 1 1 18 122 119 +15 1 1 19 123 118 +15 1 1 20 122 118 +15 1 1 21 123 117 +15 1 1 22 -1 -1 +15 1 1 23 122 117 +15 1 1 24 123 116 +15 1 1 25 122 116 +15 1 1 26 123 115 +15 1 1 27 122 115 +15 1 1 28 123 114 +15 1 1 29 122 114 +15 1 1 30 123 113 +15 1 1 31 122 113 +15 1 1 32 123 112 +15 1 1 33 122 112 +15 1 1 34 123 111 +15 1 1 35 122 111 +15 1 1 36 123 110 +15 1 1 37 122 110 +15 1 1 38 123 109 +15 1 1 39 122 109 +15 1 1 40 123 108 +15 1 1 41 122 108 +15 1 1 42 123 107 +15 1 1 43 122 107 +15 1 1 44 123 106 +15 1 1 45 -1 -1 +15 1 1 46 122 106 +15 1 1 47 123 105 +15 1 1 48 122 105 +15 1 1 49 123 104 +15 1 1 50 122 104 +15 1 1 51 123 103 +15 1 1 52 122 103 +15 1 1 53 123 102 +15 1 1 54 122 102 +15 1 1 55 123 101 +15 1 1 56 -1 -1 +15 1 1 57 122 101 +15 1 1 58 123 100 +15 1 1 59 122 100 +15 1 1 60 123 99 +15 1 1 61 122 99 +15 1 1 62 123 98 +15 1 1 63 122 98 +15 1 1 64 123 97 +15 1 1 65 122 97 +15 1 1 66 123 96 +15 1 1 67 122 96 +15 1 2 0 121 95 +15 1 2 1 120 95 +15 1 2 2 121 94 +15 1 2 3 120 94 +15 1 2 4 121 93 +15 1 2 5 120 93 +15 1 2 6 121 92 +15 1 2 7 120 92 +15 1 2 8 121 91 +15 1 2 9 120 91 +15 1 2 10 121 90 +15 1 2 11 -1 -1 +15 1 2 12 120 90 +15 1 2 13 121 89 +15 1 2 14 120 89 +15 1 2 15 121 88 +15 1 2 16 120 88 +15 1 2 17 121 87 +15 1 2 18 120 87 +15 1 2 19 121 86 +15 1 2 20 120 86 +15 1 2 21 121 85 +15 1 2 22 -1 -1 +15 1 2 23 120 85 +15 1 2 24 121 84 +15 1 2 25 120 84 +15 1 2 26 121 83 +15 1 2 27 120 83 +15 1 2 28 121 82 +15 1 2 29 120 82 +15 1 2 30 121 81 +15 1 2 31 120 81 +15 1 2 32 121 80 +15 1 2 33 120 80 +15 1 2 34 121 79 +15 1 2 35 120 79 +15 1 2 36 121 78 +15 1 2 37 120 78 +15 1 2 38 121 77 +15 1 2 39 120 77 +15 1 2 40 121 76 +15 1 2 41 120 76 +15 1 2 42 121 75 +15 1 2 43 120 75 +15 1 2 44 121 74 +15 1 2 45 -1 -1 +15 1 2 46 120 74 +15 1 2 47 121 73 +15 1 2 48 120 73 +15 1 2 49 121 72 +15 1 2 50 120 72 +15 1 2 51 121 71 +15 1 2 52 120 71 +15 1 2 53 121 70 +15 1 2 54 120 70 +15 1 2 55 121 69 +15 1 2 56 -1 -1 +15 1 2 57 120 69 +15 1 2 58 121 68 +15 1 2 59 120 68 +15 1 2 60 121 67 +15 1 2 61 120 67 +15 1 2 62 121 66 +15 1 2 63 120 66 +15 1 2 64 121 65 +15 1 2 65 120 65 +15 1 2 66 121 64 +15 1 2 67 120 64 +15 1 3 0 121 127 +15 1 3 1 120 127 +15 1 3 2 121 126 +15 1 3 3 120 126 +15 1 3 4 121 125 +15 1 3 5 120 125 +15 1 3 6 121 124 +15 1 3 7 120 124 +15 1 3 8 121 123 +15 1 3 9 120 123 +15 1 3 10 121 122 +15 1 3 11 -1 -1 +15 1 3 12 120 122 +15 1 3 13 121 121 +15 1 3 14 120 121 +15 1 3 15 121 120 +15 1 3 16 120 120 +15 1 3 17 121 119 +15 1 3 18 120 119 +15 1 3 19 121 118 +15 1 3 20 120 118 +15 1 3 21 121 117 +15 1 3 22 -1 -1 +15 1 3 23 120 117 +15 1 3 24 121 116 +15 1 3 25 120 116 +15 1 3 26 121 115 +15 1 3 27 120 115 +15 1 3 28 121 114 +15 1 3 29 120 114 +15 1 3 30 121 113 +15 1 3 31 120 113 +15 1 3 32 121 112 +15 1 3 33 120 112 +15 1 3 34 121 111 +15 1 3 35 120 111 +15 1 3 36 121 110 +15 1 3 37 120 110 +15 1 3 38 121 109 +15 1 3 39 120 109 +15 1 3 40 121 108 +15 1 3 41 120 108 +15 1 3 42 121 107 +15 1 3 43 120 107 +15 1 3 44 121 106 +15 1 3 45 -1 -1 +15 1 3 46 120 106 +15 1 3 47 121 105 +15 1 3 48 120 105 +15 1 3 49 121 104 +15 1 3 50 120 104 +15 1 3 51 121 103 +15 1 3 52 120 103 +15 1 3 53 121 102 +15 1 3 54 120 102 +15 1 3 55 121 101 +15 1 3 56 -1 -1 +15 1 3 57 120 101 +15 1 3 58 121 100 +15 1 3 59 120 100 +15 1 3 60 121 99 +15 1 3 61 120 99 +15 1 3 62 121 98 +15 1 3 63 120 98 +15 1 3 64 121 97 +15 1 3 65 120 97 +15 1 3 66 121 96 +15 1 3 67 120 96 +15 2 0 0 124 32 +15 2 0 1 125 32 +15 2 0 2 124 33 +15 2 0 3 125 33 +15 2 0 4 124 34 +15 2 0 5 125 34 +15 2 0 6 124 35 +15 2 0 7 125 35 +15 2 0 8 124 36 +15 2 0 9 125 36 +15 2 0 10 124 37 +15 2 0 11 -1 -1 +15 2 0 12 125 37 +15 2 0 13 124 38 +15 2 0 14 125 38 +15 2 0 15 124 39 +15 2 0 16 125 39 +15 2 0 17 124 40 +15 2 0 18 125 40 +15 2 0 19 124 41 +15 2 0 20 125 41 +15 2 0 21 124 42 +15 2 0 22 -1 -1 +15 2 0 23 125 42 +15 2 0 24 124 43 +15 2 0 25 125 43 +15 2 0 26 124 44 +15 2 0 27 125 44 +15 2 0 28 124 45 +15 2 0 29 125 45 +15 2 0 30 124 46 +15 2 0 31 125 46 +15 2 0 32 124 47 +15 2 0 33 125 47 +15 2 0 34 124 48 +15 2 0 35 125 48 +15 2 0 36 124 49 +15 2 0 37 125 49 +15 2 0 38 124 50 +15 2 0 39 125 50 +15 2 0 40 124 51 +15 2 0 41 125 51 +15 2 0 42 124 52 +15 2 0 43 125 52 +15 2 0 44 124 53 +15 2 0 45 -1 -1 +15 2 0 46 125 53 +15 2 0 47 124 54 +15 2 0 48 125 54 +15 2 0 49 124 55 +15 2 0 50 125 55 +15 2 0 51 124 56 +15 2 0 52 125 56 +15 2 0 53 124 57 +15 2 0 54 125 57 +15 2 0 55 124 58 +15 2 0 56 -1 -1 +15 2 0 57 125 58 +15 2 0 58 124 59 +15 2 0 59 125 59 +15 2 0 60 124 60 +15 2 0 61 125 60 +15 2 0 62 124 61 +15 2 0 63 125 61 +15 2 0 64 124 62 +15 2 0 65 125 62 +15 2 0 66 124 63 +15 2 0 67 125 63 +15 2 1 0 124 0 +15 2 1 1 125 0 +15 2 1 2 124 1 +15 2 1 3 125 1 +15 2 1 4 124 2 +15 2 1 5 125 2 +15 2 1 6 124 3 +15 2 1 7 125 3 +15 2 1 8 124 4 +15 2 1 9 125 4 +15 2 1 10 124 5 +15 2 1 11 -1 -1 +15 2 1 12 125 5 +15 2 1 13 124 6 +15 2 1 14 125 6 +15 2 1 15 124 7 +15 2 1 16 125 7 +15 2 1 17 124 8 +15 2 1 18 125 8 +15 2 1 19 124 9 +15 2 1 20 125 9 +15 2 1 21 124 10 +15 2 1 22 -1 -1 +15 2 1 23 125 10 +15 2 1 24 124 11 +15 2 1 25 125 11 +15 2 1 26 124 12 +15 2 1 27 125 12 +15 2 1 28 124 13 +15 2 1 29 125 13 +15 2 1 30 124 14 +15 2 1 31 125 14 +15 2 1 32 124 15 +15 2 1 33 125 15 +15 2 1 34 124 16 +15 2 1 35 125 16 +15 2 1 36 124 17 +15 2 1 37 125 17 +15 2 1 38 124 18 +15 2 1 39 125 18 +15 2 1 40 124 19 +15 2 1 41 125 19 +15 2 1 42 124 20 +15 2 1 43 125 20 +15 2 1 44 124 21 +15 2 1 45 -1 -1 +15 2 1 46 125 21 +15 2 1 47 124 22 +15 2 1 48 125 22 +15 2 1 49 124 23 +15 2 1 50 125 23 +15 2 1 51 124 24 +15 2 1 52 125 24 +15 2 1 53 124 25 +15 2 1 54 125 25 +15 2 1 55 124 26 +15 2 1 56 -1 -1 +15 2 1 57 125 26 +15 2 1 58 124 27 +15 2 1 59 125 27 +15 2 1 60 124 28 +15 2 1 61 125 28 +15 2 1 62 124 29 +15 2 1 63 125 29 +15 2 1 64 124 30 +15 2 1 65 125 30 +15 2 1 66 124 31 +15 2 1 67 125 31 +15 2 2 0 126 32 +15 2 2 1 127 32 +15 2 2 2 126 33 +15 2 2 3 127 33 +15 2 2 4 126 34 +15 2 2 5 127 34 +15 2 2 6 126 35 +15 2 2 7 127 35 +15 2 2 8 126 36 +15 2 2 9 127 36 +15 2 2 10 126 37 +15 2 2 11 -1 -1 +15 2 2 12 127 37 +15 2 2 13 126 38 +15 2 2 14 127 38 +15 2 2 15 126 39 +15 2 2 16 127 39 +15 2 2 17 126 40 +15 2 2 18 127 40 +15 2 2 19 126 41 +15 2 2 20 127 41 +15 2 2 21 126 42 +15 2 2 22 -1 -1 +15 2 2 23 127 42 +15 2 2 24 126 43 +15 2 2 25 127 43 +15 2 2 26 126 44 +15 2 2 27 127 44 +15 2 2 28 126 45 +15 2 2 29 127 45 +15 2 2 30 126 46 +15 2 2 31 127 46 +15 2 2 32 126 47 +15 2 2 33 127 47 +15 2 2 34 126 48 +15 2 2 35 127 48 +15 2 2 36 126 49 +15 2 2 37 127 49 +15 2 2 38 126 50 +15 2 2 39 127 50 +15 2 2 40 126 51 +15 2 2 41 127 51 +15 2 2 42 126 52 +15 2 2 43 127 52 +15 2 2 44 126 53 +15 2 2 45 -1 -1 +15 2 2 46 127 53 +15 2 2 47 126 54 +15 2 2 48 127 54 +15 2 2 49 126 55 +15 2 2 50 127 55 +15 2 2 51 126 56 +15 2 2 52 127 56 +15 2 2 53 126 57 +15 2 2 54 127 57 +15 2 2 55 126 58 +15 2 2 56 -1 -1 +15 2 2 57 127 58 +15 2 2 58 126 59 +15 2 2 59 127 59 +15 2 2 60 126 60 +15 2 2 61 127 60 +15 2 2 62 126 61 +15 2 2 63 127 61 +15 2 2 64 126 62 +15 2 2 65 127 62 +15 2 2 66 126 63 +15 2 2 67 127 63 +15 2 3 0 126 0 +15 2 3 1 127 0 +15 2 3 2 126 1 +15 2 3 3 127 1 +15 2 3 4 126 2 +15 2 3 5 127 2 +15 2 3 6 126 3 +15 2 3 7 127 3 +15 2 3 8 126 4 +15 2 3 9 127 4 +15 2 3 10 126 5 +15 2 3 11 -1 -1 +15 2 3 12 127 5 +15 2 3 13 126 6 +15 2 3 14 127 6 +15 2 3 15 126 7 +15 2 3 16 127 7 +15 2 3 17 126 8 +15 2 3 18 127 8 +15 2 3 19 126 9 +15 2 3 20 127 9 +15 2 3 21 126 10 +15 2 3 22 -1 -1 +15 2 3 23 127 10 +15 2 3 24 126 11 +15 2 3 25 127 11 +15 2 3 26 126 12 +15 2 3 27 127 12 +15 2 3 28 126 13 +15 2 3 29 127 13 +15 2 3 30 126 14 +15 2 3 31 127 14 +15 2 3 32 126 15 +15 2 3 33 127 15 +15 2 3 34 126 16 +15 2 3 35 127 16 +15 2 3 36 126 17 +15 2 3 37 127 17 +15 2 3 38 126 18 +15 2 3 39 127 18 +15 2 3 40 126 19 +15 2 3 41 127 19 +15 2 3 42 126 20 +15 2 3 43 127 20 +15 2 3 44 126 21 +15 2 3 45 -1 -1 +15 2 3 46 127 21 +15 2 3 47 126 22 +15 2 3 48 127 22 +15 2 3 49 126 23 +15 2 3 50 127 23 +15 2 3 51 126 24 +15 2 3 52 127 24 +15 2 3 53 126 25 +15 2 3 54 127 25 +15 2 3 55 126 26 +15 2 3 56 -1 -1 +15 2 3 57 127 26 +15 2 3 58 126 27 +15 2 3 59 127 27 +15 2 3 60 126 28 +15 2 3 61 127 28 +15 2 3 62 126 29 +15 2 3 63 127 29 +15 2 3 64 126 30 +15 2 3 65 127 30 +15 2 3 66 126 31 +15 2 3 67 127 31 +15 3 0 0 127 95 +15 3 0 1 126 95 +15 3 0 2 127 94 +15 3 0 3 126 94 +15 3 0 4 127 93 +15 3 0 5 126 93 +15 3 0 6 127 92 +15 3 0 7 126 92 +15 3 0 8 127 91 +15 3 0 9 126 91 +15 3 0 10 127 90 +15 3 0 11 -1 -1 +15 3 0 12 126 90 +15 3 0 13 127 89 +15 3 0 14 126 89 +15 3 0 15 127 88 +15 3 0 16 126 88 +15 3 0 17 127 87 +15 3 0 18 126 87 +15 3 0 19 127 86 +15 3 0 20 126 86 +15 3 0 21 127 85 +15 3 0 22 -1 -1 +15 3 0 23 126 85 +15 3 0 24 127 84 +15 3 0 25 126 84 +15 3 0 26 127 83 +15 3 0 27 126 83 +15 3 0 28 127 82 +15 3 0 29 126 82 +15 3 0 30 127 81 +15 3 0 31 126 81 +15 3 0 32 127 80 +15 3 0 33 126 80 +15 3 0 34 127 79 +15 3 0 35 126 79 +15 3 0 36 127 78 +15 3 0 37 126 78 +15 3 0 38 127 77 +15 3 0 39 126 77 +15 3 0 40 127 76 +15 3 0 41 126 76 +15 3 0 42 127 75 +15 3 0 43 126 75 +15 3 0 44 127 74 +15 3 0 45 -1 -1 +15 3 0 46 126 74 +15 3 0 47 127 73 +15 3 0 48 126 73 +15 3 0 49 127 72 +15 3 0 50 126 72 +15 3 0 51 127 71 +15 3 0 52 126 71 +15 3 0 53 127 70 +15 3 0 54 126 70 +15 3 0 55 127 69 +15 3 0 56 -1 -1 +15 3 0 57 126 69 +15 3 0 58 127 68 +15 3 0 59 126 68 +15 3 0 60 127 67 +15 3 0 61 126 67 +15 3 0 62 127 66 +15 3 0 63 126 66 +15 3 0 64 127 65 +15 3 0 65 126 65 +15 3 0 66 127 64 +15 3 0 67 126 64 +15 3 1 0 127 127 +15 3 1 1 126 127 +15 3 1 2 127 126 +15 3 1 3 126 126 +15 3 1 4 127 125 +15 3 1 5 126 125 +15 3 1 6 127 124 +15 3 1 7 126 124 +15 3 1 8 127 123 +15 3 1 9 126 123 +15 3 1 10 127 122 +15 3 1 11 -1 -1 +15 3 1 12 126 122 +15 3 1 13 127 121 +15 3 1 14 126 121 +15 3 1 15 127 120 +15 3 1 16 126 120 +15 3 1 17 127 119 +15 3 1 18 126 119 +15 3 1 19 127 118 +15 3 1 20 126 118 +15 3 1 21 127 117 +15 3 1 22 -1 -1 +15 3 1 23 126 117 +15 3 1 24 127 116 +15 3 1 25 126 116 +15 3 1 26 127 115 +15 3 1 27 126 115 +15 3 1 28 127 114 +15 3 1 29 126 114 +15 3 1 30 127 113 +15 3 1 31 126 113 +15 3 1 32 127 112 +15 3 1 33 126 112 +15 3 1 34 127 111 +15 3 1 35 126 111 +15 3 1 36 127 110 +15 3 1 37 126 110 +15 3 1 38 127 109 +15 3 1 39 126 109 +15 3 1 40 127 108 +15 3 1 41 126 108 +15 3 1 42 127 107 +15 3 1 43 126 107 +15 3 1 44 127 106 +15 3 1 45 -1 -1 +15 3 1 46 126 106 +15 3 1 47 127 105 +15 3 1 48 126 105 +15 3 1 49 127 104 +15 3 1 50 126 104 +15 3 1 51 127 103 +15 3 1 52 126 103 +15 3 1 53 127 102 +15 3 1 54 126 102 +15 3 1 55 127 101 +15 3 1 56 -1 -1 +15 3 1 57 126 101 +15 3 1 58 127 100 +15 3 1 59 126 100 +15 3 1 60 127 99 +15 3 1 61 126 99 +15 3 1 62 127 98 +15 3 1 63 126 98 +15 3 1 64 127 97 +15 3 1 65 126 97 +15 3 1 66 127 96 +15 3 1 67 126 96 +15 3 2 0 125 95 +15 3 2 1 124 95 +15 3 2 2 125 94 +15 3 2 3 124 94 +15 3 2 4 125 93 +15 3 2 5 124 93 +15 3 2 6 125 92 +15 3 2 7 124 92 +15 3 2 8 125 91 +15 3 2 9 124 91 +15 3 2 10 125 90 +15 3 2 11 -1 -1 +15 3 2 12 124 90 +15 3 2 13 125 89 +15 3 2 14 124 89 +15 3 2 15 125 88 +15 3 2 16 124 88 +15 3 2 17 125 87 +15 3 2 18 124 87 +15 3 2 19 125 86 +15 3 2 20 124 86 +15 3 2 21 125 85 +15 3 2 22 -1 -1 +15 3 2 23 124 85 +15 3 2 24 125 84 +15 3 2 25 124 84 +15 3 2 26 125 83 +15 3 2 27 124 83 +15 3 2 28 125 82 +15 3 2 29 124 82 +15 3 2 30 125 81 +15 3 2 31 124 81 +15 3 2 32 125 80 +15 3 2 33 124 80 +15 3 2 34 125 79 +15 3 2 35 124 79 +15 3 2 36 125 78 +15 3 2 37 124 78 +15 3 2 38 125 77 +15 3 2 39 124 77 +15 3 2 40 125 76 +15 3 2 41 124 76 +15 3 2 42 125 75 +15 3 2 43 124 75 +15 3 2 44 125 74 +15 3 2 45 -1 -1 +15 3 2 46 124 74 +15 3 2 47 125 73 +15 3 2 48 124 73 +15 3 2 49 125 72 +15 3 2 50 124 72 +15 3 2 51 125 71 +15 3 2 52 124 71 +15 3 2 53 125 70 +15 3 2 54 124 70 +15 3 2 55 125 69 +15 3 2 56 -1 -1 +15 3 2 57 124 69 +15 3 2 58 125 68 +15 3 2 59 124 68 +15 3 2 60 125 67 +15 3 2 61 124 67 +15 3 2 62 125 66 +15 3 2 63 124 66 +15 3 2 64 125 65 +15 3 2 65 124 65 +15 3 2 66 125 64 +15 3 2 67 124 64 +15 3 3 0 125 127 +15 3 3 1 124 127 +15 3 3 2 125 126 +15 3 3 3 124 126 +15 3 3 4 125 125 +15 3 3 5 124 125 +15 3 3 6 125 124 +15 3 3 7 124 124 +15 3 3 8 125 123 +15 3 3 9 124 123 +15 3 3 10 125 122 +15 3 3 11 -1 -1 +15 3 3 12 124 122 +15 3 3 13 125 121 +15 3 3 14 124 121 +15 3 3 15 125 120 +15 3 3 16 124 120 +15 3 3 17 125 119 +15 3 3 18 124 119 +15 3 3 19 125 118 +15 3 3 20 124 118 +15 3 3 21 125 117 +15 3 3 22 -1 -1 +15 3 3 23 124 117 +15 3 3 24 125 116 +15 3 3 25 124 116 +15 3 3 26 125 115 +15 3 3 27 124 115 +15 3 3 28 125 114 +15 3 3 29 124 114 +15 3 3 30 125 113 +15 3 3 31 124 113 +15 3 3 32 125 112 +15 3 3 33 124 112 +15 3 3 34 125 111 +15 3 3 35 124 111 +15 3 3 36 125 110 +15 3 3 37 124 110 +15 3 3 38 125 109 +15 3 3 39 124 109 +15 3 3 40 125 108 +15 3 3 41 124 108 +15 3 3 42 125 107 +15 3 3 43 124 107 +15 3 3 44 125 106 +15 3 3 45 -1 -1 +15 3 3 46 124 106 +15 3 3 47 125 105 +15 3 3 48 124 105 +15 3 3 49 125 104 +15 3 3 50 124 104 +15 3 3 51 125 103 +15 3 3 52 124 103 +15 3 3 53 125 102 +15 3 3 54 124 102 +15 3 3 55 125 101 +15 3 3 56 -1 -1 +15 3 3 57 124 101 +15 3 3 58 125 100 +15 3 3 59 124 100 +15 3 3 60 125 99 +15 3 3 61 124 99 +15 3 3 62 125 98 +15 3 3 63 124 98 +15 3 3 64 125 97 +15 3 3 65 124 97 +15 3 3 66 125 96 +15 3 3 67 124 96 diff --git a/Projects/Actar/configs/RansacConfig_data.dat b/Projects/Actar/configs/RansacConfig_data.dat new file mode 100644 index 0000000000000000000000000000000000000000..c5dc002a0a1ee759242b8cf7ea5e17e558af408b --- /dev/null +++ b/Projects/Actar/configs/RansacConfig_data.dat @@ -0,0 +1,10 @@ +ConfigRansac +RANSACMaxIteration= 1200 +RANSACDistance= 18 +RANSACThreshold= 30 +RANSACChargeThreshold= 0.05 +RANSACPointThreshold= 0.1 +MAXBarycenterDistance= 6 +AngleMaxToMerge= 1 +MergeWithBarycenter= 1 +MergeWithScalarProduct= 1 diff --git a/Projects/Actar/configs/RansacConfig_simu.dat b/Projects/Actar/configs/RansacConfig_simu.dat new file mode 100644 index 0000000000000000000000000000000000000000..e8d2c58bf00bf8b80651599724ac2473f471d651 --- /dev/null +++ b/Projects/Actar/configs/RansacConfig_simu.dat @@ -0,0 +1,10 @@ +ConfigRansac +RANSACMaxIteration= 1200 +RANSACDistance= 5 +RANSACThreshold= 10 +RANSACChargeThreshold= 0.01 +RANSACPointThreshold= 0.1 +MAXBarycenterDistance= 6 +AngleMaxToMerge= 1 +MergeWithBarycenter= 1 +MergeWithScalarProduct= 1 diff --git a/Projects/Actar/hclient.C b/Projects/Actar/hclient.C new file mode 100644 index 0000000000000000000000000000000000000000..5095ac08f2a2164456a8c60ee4764180d7560ca1 --- /dev/null +++ b/Projects/Actar/hclient.C @@ -0,0 +1,164 @@ +void Sync(); + +int m_Port = 9092; +TSocket *m_Sock; +TCanvas* c1; +TH3F* hXYZ; +TH3F* h3D; + +TList* m_Histo; + +int i; + +////////////////////////////////////////////////////// +void hclient() +{ + gROOT->SetStyle("pierre_style"); + // Open connection to server + m_Sock = new TSocket("localhost", m_Port); + + //hXYZ = new TH3F("hXYZ","hXYZ",128,0,128,128,0,128,512,0,512); + hXYZ = new TH3F("hXYZ","hXYZ",128,0,128,128,0,128,128,0,128); + hXYZ->GetXaxis()->SetTitle("Pad X"); + hXYZ->GetYaxis()->SetTitle("Pad Y"); + hXYZ->GetZaxis()->SetTitle("Time (a.u.)"); + hXYZ->GetXaxis()->CenterTitle(); + hXYZ->GetYaxis()->CenterTitle(); + hXYZ->GetZaxis()->CenterTitle(); + + hXYZ->GetXaxis()->SetTitleOffset(1.3); + hXYZ->GetYaxis()->SetTitleOffset(1.6); + hXYZ->GetZaxis()->SetTitleOffset(1.3); + + //h3D = new TH3F("h3D","h3D",128,0,128,128,0,128,512,0,512); + c1 = new TCanvas("c1","c1",600,600); + + i=0; + if(m_Sock->IsValid()){ + cout << "/// Successful connection to spectra server ///" << endl; + while(1) + Sync(); + } + + return; +} + +////////////////////////////////////////////////////// +void Sync() +{ + i++; + if(!m_Sock || !(m_Sock->IsValid())){ + if(m_Sock){ + m_Sock->Close("force"); + delete m_Sock; + m_Sock = NULL; + } + cout << "/// Sync failed: Connection lost ///" << endl; + } + + TMessage* message=NULL; + m_Sock->Send("RequestHisto"); + cout << "Sending RequestHisto..." << endl; + if(m_Sock->Recv(message)<=0){ + if(m_Sock){ + m_Sock->Close("force"); + delete m_Sock; + m_Sock = NULL; + } + cout << "/// Sync failed: message return unreadable ///" << endl; + } + + if(message){ + m_Histo = (TList*) message->ReadObject(message->GetClass()); + if(m_Histo){ + cout << "/// Successful sync of histo list ///" << endl; + vector<TGraph2D*> vg2d; + vg2d.clear(); + + vector<TH3F*> vh3; + vector<TGraph2D*> vg3; + vh3.clear(); + //cout << "+++++++++++++++++++++++++++++" << endl; + for(int i=0; i<m_Histo->GetSize(); i++){ + //cout << i << " / " << i%2 << endl; + + //if((i%2) == 0) vh3.push_back( (TH3F*) m_Histo->At(i)); + if((i%2) == 0) vg3.push_back( (TGraph2D *) m_Histo->At(i)); + + else vg2d.push_back( (TGraph2D *) m_Histo->At(i) ); + + } + + for(int i=0; i<vg3.size(); i++){ + //h3D = new TH3F("h3D","h3D",128,0,128,128,0,128,512,0,512); + h3D = new TH3F("h3D","h3D",128,0,128,128,0,128,128,0,128); + + double *X = vg3[i]->GetX(); + double *Y = vg3[i]->GetY(); + double *Z = vg3[i]->GetZ(); + for(int p=0; p<vg3[i]->GetN(); p++){ + //cout << i << " / " << p << " / " << X[p] << " / " << Y[p] << " / " << Z[p] <<endl; + h3D->Fill(X[p],Y[p],Z[p]); + } + vh3.push_back(h3D); + } + + + c1->cd(); + hXYZ->Draw(); + for(int i=0; i<vh3.size(); i++){ + vh3[i]->SetMarkerStyle(8); + vh3[i]->SetMarkerSize(0.7); + vh3[i]->SetMarkerColor(kAzure+i); + vh3[i]->Draw("same"); + } + + + for(int i=0; i<vg2d.size(); i++){ + vg2d[i]->SetLineWidth(4); + vg2d[i]->SetLineColor(kAzure+i); + vg2d[i]->Draw("tri1 same"); + } + + TString SaveCanvas = Form("png/canvas_%d.png",i); + //gPad->SetPhi(110); + gPad->Update(); + //TString MakeGif = Form("gif/canvas_%d.gif+0.1",i); + //c1->SaveAs(SaveCanvas); + c1->Print("gif/canvas.gif+70"); + //c1->Update(); + + } + else cout << "/// Sync return a NULL spectra list ///" << endl; + + /*m_Histo->First()->Draw(); + m_Histo->Last()->Draw("tri1 same"); + gPad->Update();*/ + } + + +} + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/BeLise/9Be.reaction b/Projects/BeLise/9Be.reaction index f079f75f180244d4f8e565b2d6a97bb99cfc1a09..e62d42652ae6b5fa5c0127ef6bf8cc63d42a770f 100644 --- a/Projects/BeLise/9Be.reaction +++ b/Projects/BeLise/9Be.reaction @@ -18,15 +18,15 @@ Beam %YPhiYProfilePath= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -TwoBodyReaction - Beam= 10Be - Target= 2H - Light= 3H - Heavy= 9Be - ExcitationEnergyLight= 0.0 MeV - ExcitationEnergyHeavy= 0.0 MeV - CrossSectionPath= 11Li(d,3He)10He.txt CS2 - ShootLight= 1 - ShootHeavy= 1 - +%TwoBodyReaction +% Beam= 10Be +% Target= 2H +% Light= 3H +% Heavy= 9Be +% ExcitationEnergyLight= 0.0 MeV +% ExcitationEnergyHeavy= 0.0 MeV +% CrossSectionPath= 11Li(d,3He)10He.txt CS2 +% ShootLight= 1 +% ShootHeavy= 1 +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Projects/BeLise/PhysicsListOption.txt b/Projects/BeLise/PhysicsListOption.txt index 712fc12ed971fa6a50d08dc3a60ce0d64daee696..bd23343dce132511f2f6d6cdd3df3caf20501bac 100644 --- a/Projects/BeLise/PhysicsListOption.txt +++ b/Projects/BeLise/PhysicsListOption.txt @@ -6,7 +6,7 @@ EmExtraPhysics 0 HadronElasticPhysics 0 StoppingPhysics 0 OpticalPhysics 0 -DriftElectronPhysics 0 +DriftElectronPhysics 1 HadronPhysicsINCLXX 0 HadronPhysicsQGSP_BIC_HP 0 Decay 0 diff --git a/Projects/BeLise/chio.detector b/Projects/BeLise/chio.detector index 7c249a657b9cb7893bea3471564c537c5067d0bc..e86eab9267c7207d5382011ed1f369f6a76ca2ac 100644 --- a/Projects/BeLise/chio.detector +++ b/Projects/BeLise/chio.detector @@ -9,7 +9,7 @@ Target Z= 0 mm %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Chio - POS= 0 0 400 mm + POS= 0 0 10 mm Shape= Square %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Projects/T40/Analysis.cxx b/Projects/T40/Analysis.cxx deleted file mode 100644 index fd2d2fda8f37e4a1027c2067412f0965ef1b7b10..0000000000000000000000000000000000000000 --- a/Projects/T40/Analysis.cxx +++ /dev/null @@ -1,955 +0,0 @@ -/***************************************************************************** - * Copyright (C) 2009-2014 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Adrien MATTA contact address: a.matta@surrey.ac.uk * - * * - * Creation Date : march 2015 * - * Last update : December 2016 [m.moukaddam@surrey.ac.uk] * - *---------------------------------------------------------------------------* - * Decription: * - * Class describing the property of an Analysis object * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - * * - *****************************************************************************/ -#include <cassert> -#include <iostream> - -using namespace std; - -#include "Analysis.h" -#include "NPAnalysisFactory.h" -#include "NPDetectorManager.h" -#include "NPOptionManager.h" -#include "NPFunction.h" -#include "RootOutput.h" -#include "RootInput.h" -#include "TMath.h" -#include "TGraph.h" -#include "TFitResult.h" -#include "TFitResultPtr.h" - -////// INTERNAL FUNCTIONS ////////// -namespace { -double calculate_fit_slope(int len, double* Aw_X, double* Aw_Z, double& R2) -{ - vector<double> X, Z; - for(int i=0; i< len; ++i) { - if(Aw_X[i] != -1000) { X.push_back(Aw_X[i]); } - if(Aw_Z[i] != -1000) { Z.push_back(Aw_Z[i]); } - } - - Long64_t N = X.size(); - double meanZ = TMath::Mean(N, &Z[0]); - double meanX = TMath::Mean(N, &X[0]); - double meanZ2 = 0, meanXZ = 0, meanX2 = 0; - for(size_t i=0; i< N; ++i) { - meanZ2 += Z[i]*Z[i]; - meanX2 += X[i]*X[i]; - meanXZ += Z[i]*X[i]; - } - meanZ2 /= N; - meanXZ /= N; - - double slope = (meanXZ - meanX*meanZ) / (meanZ2 - meanZ*meanZ); - R2 = pow(meanXZ - meanX*meanZ, 2) / - ((meanZ2 - meanZ*meanZ) * (meanX2 - meanX*meanX)); - - /// TODO::: R2 doesn't seem to make sense... look into it! - - return slope; -} - -} -//////////////////////////////////////////////////////////////////////////////// -Analysis::Analysis(){ -} -//////////////////////////////////////////////////////////////////////////////// -Analysis::~Analysis(){ -} - -namespace { - -NPL::EnergyLoss check_energy_loss(const string& particle, const string& target){ - string globalPath = getenv("NPTOOL"); - string standardPath = globalPath + "/Inputs/EnergyLoss/"; - string srimPath = particle+"_"+target+".SRIM"; - string geantPath = particle+"_"+target+".G4table"; - - string pathList[4] = { - srimPath, // SRIM in PWD - standardPath + srimPath, // SRIM in standard location - geantPath, // GEANT in PWD - standardPath + geantPath // GEANT in standard location - }; - - int i=0; - for(;i<4;++i){ - std::ifstream ifs(pathList[i].c_str()); - if(ifs.good()) { break; } - } - - int nstep; - string type; - switch(i){ - case 0: - cout << "Using SRIM energy loss file in \"Projects/T40\"\n"; - nstep = 10; - type = "SRIM"; - break; - case 1: - cout << "Using SRIM energy loss file in \"Inputs/EnergyLoss\"\n"; - nstep = 10; - type = "SRIM"; - break; - case 2: - cout << "Using GEANT energy loss file in \"Projects/T40\"\n"; - nstep = 100; - type = "G4table"; - break; - case 3: - cout << "Using GEANT energy loss file in \"Inputs/EnergyLoss\"\n"; - nstep = 100; - type = "G4table"; - break; - default: - cerr << "FATAL ERROR:: Energy Loss file not found for particle: \"" << particle - << "\", and material: \"" << target << "\" (neither SRIM nor GEANT)\n"; - exit(1); - break; - } - - return NPL::EnergyLoss(pathList[i], type.c_str(), nstep); -} } - - -//////////////////////////////////////////////////////////////////////////////// -void Analysis::Init(){ - TH = (TTiaraHyballPhysics*) m_DetectorManager -> GetDetector("HyballWedge"); assert(TH); - TB = (TTiaraBarrelPhysics*) m_DetectorManager -> GetDetector("Tiara"); assert(TB); - TF = (TFPDTamuPhysics*) m_DetectorManager -> GetDetector("FPDTamu"); assert(TF); - TG = (TGeTAMUPhysics*) m_DetectorManager -> GetDetector("GeTAMU"); assert(TG); - MDM = (TMDMPhysics*) m_DetectorManager -> GetDetector("MDM"); assert(MDM); - - // get reaction information - myReaction = new NPL::Reaction(); - myReaction->ReadConfigurationFile(NPOptionManager::getInstance()->GetReactionFile()); - OriginalBeamEnergy = myReaction->GetBeamEnergy(); - cout << "Original Beam energy (entrance of target): " << OriginalBeamEnergy << endl ; - if(MDM) { MDM->SetReaction(myReaction); } - - // target thickness - TargetThickness = m_DetectorManager->GetTargetThickness(); - string TargetMaterial = m_DetectorManager->GetTargetMaterial(); - - // energy losses -/*Original Files - string light=NPL::ChangeNameToG4Standard(myReaction->GetNucleus3().GetName()); - string beam=NPL::ChangeNameToG4Standard(myReaction->GetNucleus1().GetName()); - LightTarget = NPL::EnergyLoss(light+"_"+TargetMaterial+".SRIM","SRIM",10 ); - //LightSi = NPL::EnergyLoss(light+"_Si.G4table","SRIM",10); - LightSi = NPL::EnergyLoss("He4_Si.SRIM","SRIM",100); - - BeamTarget = NPL::EnergyLoss(beam+"_"+TargetMaterial+".SRIM","SRIM",10); - FinalBeamEnergy = BeamTarget.Slow(OriginalBeamEnergy, TargetThickness*0.5, 0); - myReaction->SetBeamEnergy(FinalBeamEnergy); - cout << "Final Beam energy (middle of target): " << FinalBeamEnergy << endl; -*/ - -//Copied from Momo's Slack 170222. -//GAC 171003 - check for existence of SRIM file, use that if available; if not, -//default to G4table -// - string light=NPL::ChangeNameToG4Standard(myReaction->GetNucleus3().GetName()); - string beam=NPL::ChangeNameToG4Standard(myReaction->GetNucleus1().GetName()); - - LightTarget = check_energy_loss(light,TargetMaterial); - -//by Shuya 170505 -//Note when you analyze the triple alpha calibration run, use He4_Al and He4_Si - LightAl = check_energy_loss(light,"Al"); - - //LightAl = NPL::EnergyLoss("He4_Al.SRIM","SRIM",10); - LightSi = check_energy_loss(light,"Si"); - //LightSi = NPL::EnergyLoss("He4_Si.SRIM","SRIM",10); - -//by Shuya 170530 - //LightCBacking = NPL::EnergyLoss(light+"_C.SRIM","SRIM",10); - - BeamTarget = check_energy_loss(beam,TargetMaterial); - - FinalBeamEnergy = BeamTarget.Slow(OriginalBeamEnergy, TargetThickness*0.5, 0); - myReaction->SetBeamEnergy(FinalBeamEnergy); - cout << "Final Beam energy (middle of target): " << FinalBeamEnergy << endl; - - Initial = new TInitialConditions(); - Rand = new TRandom3(); - ThetaNormalTarget = 0 ; - ThetaTHSurface = 0; - ThetaTBSurface = 0; - Si_E_TH = 0 ; - Si_E_InnerTB = 0; - Si_E_OuterTB = 0; - Si_E_TB = 0 ; - Energy = 0; - - - //Original_ELab=0; - //Original_ThetaLab=0; - XTarget =0; - YTarget =0; - BeamDirection = TVector3(0,0,1); - InitOutputBranch(); - InitInputBranch(); - - //Ge - GammaSinglesE=0; - - //FPD - Delta_E = 0; // Energy ionisation chamber - Micro2_E = 0; // Energy from micromega total - Micro1_E_row1_2 = 0; // Energy from micromega rows 1 & 2 ("delta E in stopping mode") - Micro2_E_row1_2 = 0; // Energy from micromega rows 1-2 ("E in stopping mode") - Micro1_E_row1 = 0 ;// Energy from micromega row 1 -//by Shuya 170912 - //Micro1_E_col4 = 0 ;// energy from micromega col 4 - Micro1_E_col4_sum = 0 ;// energy from micromega col 4 - Plast_E = 0; // Energy Plastic - for(int i=0; i< kNumAw; ++i) { - Aw_X[i] = -1000; - Aw_Z[i] = -1000; - } - Aw_Theta1_2 = -1000; - Aw_ThetaFit = -1000; - Aw_ThetaFit_R2 = -1000; -//by Shuya 170516 -//by Shuya 170912 - Micro1_E_col1_sum = 0. ;// energy from micromega col 1 - Micro1_E_col2_sum = 0. ;// energy from micromega col 2 - Micro1_E_col3_sum = 0. ;// energy from micromega col 3 - Micro1_E_col5_sum = 0. ;// energy from micromega col 5 - Micro1_E_col6_sum = 0. ;// energy from micromega col 6 - Micro1_E_col7_sum = 0. ;// energy from micromega col 7 - Micro2_E_col1_sum = 0. ;// energy from micromega2 col 1 - Micro2_E_col2_sum = 0. ;// energy from micromega2 col 2 - Micro2_E_col3_sum = 0. ;// energy from micromega2 col 3 - Micro2_E_col4_sum = 0. ;// energy from micromega2 col 3 - Micro2_E_col5_sum = 0. ;// energy from micromega2 col 5 - Micro2_E_col6_sum = 0. ;// energy from micromega2 col 6 - Micro2_E_col7_sum = 0. ;// energy from micromega2 col 7 -//by Shuya 170912 - Micro1_E_col1_mult = 0. ;// energy from micromega col 1 - Micro1_E_col2_mult = 0. ;// energy from micromega col 2 - Micro1_E_col3_mult = 0. ;// energy from micromega col 3 - Micro1_E_col4_mult = 0. ;// energy from micromega col 3 - Micro1_E_col5_mult = 0. ;// energy from micromega col 5 - Micro1_E_col6_mult = 0. ;// energy from micromega col 6 - Micro1_E_col7_mult = 0. ;// energy from micromega col 7 - Micro2_E_col1_mult = 0. ;// energy from micromega2 col 1 - Micro2_E_col2_mult = 0. ;// energy from micromega2 col 2 - Micro2_E_col3_mult = 0. ;// energy from micromega2 col 3 - Micro2_E_col4_mult = 0. ;// energy from micromega2 col 3 - Micro2_E_col5_mult = 0. ;// energy from micromega2 col 5 - Micro2_E_col6_mult = 0. ;// energy from micromega2 col 6 - Micro2_E_col7_mult = 0. ;// energy from micromega2 col 7 - - //TAC - TacSiGeOR = -1000; - TacSiMicro = -1000; - TacSiMicro_E = -1000; - TacSiMicro_dE = -1000; - TacSiPlastLeft = -1000; - TacSiPlastRight = -1000; - - //by Shuya 170524 - //RunNumber = 0; - RunNumber = -1; - - //by Shuya 170524 - entry = 0; - EntryNumber = 0; -} - -//////////////////////////////////////////////////////////////////////////////// -void Analysis::TreatEvent(){ - - // Reinitiate calculated variable - ReInitValue(); - - ////////////////////////////////////////// LOOP on TiaraHyball + SSSD Hit ////////////////////////////////////////// - for(unsigned int countTiaraHyball = 0 ; countTiaraHyball < TH->Strip_E.size() ; countTiaraHyball++){ - ///////////////////////////// - // Part 1 : Impact Angle - ThetaTHSurface = 0; - ThetaNormalTarget = 0; - if(XTarget>-1000 && YTarget>-1000){ - TVector3 BeamImpact(XTarget,YTarget,0); - - //by Shuya 171218 (because of T40 meeting's discussion) - //TVector3 HitDirection = TH -> GetRandomisedPositionOfInteraction(countTiaraHyball) - BeamImpact ; - TVector3 HitDirection = TH -> GetPositionOfInteraction(countTiaraHyball) - BeamImpact ; - - ThetaLab = HitDirection.Angle( BeamDirection ); - ThetaTHSurface = HitDirection.Angle(TVector3(0,0,-1)); // vector Normal on Hyball - ThetaNormalTarget = HitDirection.Angle( TVector3(0,0,1) ) ; - - //by Shuya 171019 - PhiLab = HitDirection.Phi(); - PhiLab = PhiLab/(TMath::Pi())*180.0; - PhiLab_Hyball = PhiLab; - // GAC 171020 - { - TVector3 v; - v.SetMagThetaPhi(1,ThetaLab*deg,PhiLab*deg); - ThetaXLab = atan(v.X()/v.Z()) / deg; - ThetaYLab = atan(v.Y()/v.z()) / deg; - } - } - else{ - BeamDirection = TVector3(-1000,-1000,-1000); - ThetaTHSurface = -1000 ; - ThetaNormalTarget = -1000 ; - } - - ///////////////////////////// - // Part 2 : Impact Energy - Energy = ELab = 0; -//by Shuya 171206 - ELab_Hyball = 0; - - Si_E_TH = TH->Strip_E[countTiaraHyball]; - Energy = Si_E_TH; // calibration for hyball is in MeV - // Correct for energy loss using the thickness of the target and the dead layer - ELab = LightSi.EvaluateInitialEnergy( Energy ,0.61*micrometer , ThetaTHSurface); // equivalent to 0.1 um of Aluminum -//by Shuya 170530. If there is any backing material (such as C) on your target. - //if(ThetaNormalTarget < halfpi) ELab = LightCBacking.EvaluateInitialEnergy( ELab ,0.044*micrometer , ThetaNormalTarget); //10 ug/cm2 carbon - ELab = LightTarget.EvaluateInitialEnergy( ELab ,TargetThickness/2., ThetaNormalTarget); - - ///////////////////////////// - // Part 3 : Excitation Energy Calculation - Ex = myReaction -> ReconstructRelativistic( ELab , ThetaLab ); - // Part 4 : Theta CM Calculation - ThetaCM = myReaction -> EnergyLabToThetaCM( ELab , ThetaLab)/deg; - ThetaLab=ThetaLab/deg; - -//by Shuya 171206 - ELab_Hyball = ELab; - ThetaLab_Hyball = ThetaLab; -//by Shuya 170703 - Ex_Hyball = Ex; - - ///////////////////////////// - // Part 5 : Implementing randomised position impact matrix for the Hyball - TVector3 HyballRandomImpactPosition = TH -> GetRandomisedPositionOfInteraction(countTiaraHyball); - TiaraIMX = HyballRandomImpactPosition.X(); - TiaraIMY = HyballRandomImpactPosition.Y(); - TiaraIMZ = HyballRandomImpactPosition.Z(); - LightParticleDetected = true ; - } // end loop TiaraHyball - - /////////////////////////// LOOP on TiaraBarrel ///////////////////////////// - for(unsigned int countTiaraBarrel = 0 ; countTiaraBarrel < TB->Strip_E.size() ; countTiaraBarrel++){ - ///////////////////////////// - // Part 1 : Impact Angle - ThetaTBSurface = 0; - ThetaNormalTarget = 0; - if(XTarget>-1000 && YTarget>-1000){ - TVector3 BeamImpact(XTarget,YTarget,0); - - //by Shuya 171218 (because of T40 meeting's discussion) - //TVector3 HitDirection = TB -> GetRandomisedPositionOfInteraction(countTiaraBarrel) - BeamImpact ; - TVector3 HitDirection = TB -> GetPositionOfInteraction(countTiaraBarrel) - BeamImpact ; - - //Angle of emission wrt to beam - ThetaLab = HitDirection.Angle( BeamDirection ); - ThetaNormalTarget = HitDirection.Angle( TVector3(0,0,1) ) ; - //angle of impact on detector - TVector3 NormalOnBarrel(0,1,0); // Normal on detector 3 - int det = TB->Detector_N[countTiaraBarrel]; - NormalOnBarrel.RotateZ((3-det)*45*deg); - ThetaTBSurface = HitDirection.Angle(NormalOnBarrel); - - //by Shuya 171019 - PhiLab = HitDirection.Phi(); - PhiLab = PhiLab/(TMath::Pi())*180.0; - PhiLab_Barrel = PhiLab; - //GAC 171020 - { - TVector3 v; - v.SetMagThetaPhi(1,ThetaLab*deg,PhiLab*deg); - ThetaXLab = atan(v.X()/v.Z()) / deg; - ThetaYLab = atan(v.Y()/v.z()) / deg; - } - - } - else{ - BeamDirection = TVector3(-1000,-1000,-1000); - ThetaTBSurface = -1000 ; - ThetaNormalTarget = -1000 ; - } - - ///////////////////////////// - // Part 2 : Impact Energy - Energy = ELab = 0; -//by Shuya 171206 - ELab_Barrel = 0; - - Si_E_InnerTB = TB->Strip_E[countTiaraBarrel]; - Energy = Si_E_InnerTB*keV;// calibration for barrel is in keV - - //treat the back detector (in progress) - if(false && TB->Outer_Strip_E.size()>0) - if(TB->Outer_Strip_E[countTiaraBarrel]>0){ - Si_E_OuterTB = TB->Outer_Strip_E[countTiaraBarrel]; - Energy = Si_E_InnerTB*keV + Si_E_OuterTB*keV; - } - - //by Shuya 171208. If you need E+dE for Barrel. Use this only when you calibrate OuterBarrel. And actually you need to correct for energy losses in Deadlayers of backside of IB and frontside of OB. -/* - for(unsigned int countTiaraOuterBarrel = 0 ; countTiaraOuterBarrel < TB->Outer_Strip_E.size() ; countTiaraOuterBarrel++){ - if(TB->Outer_Detector_N[countTiaraOuterBarrel]==TB->Detector_N[countTiaraBarrel] && TB->Outer_Strip_E[countTiaraOuterBarrel]>0){ - Si_E_OuterTB = TB->Outer_Strip_E[countTiaraOuterBarrel]; - Energy = Si_E_InnerTB*keV + Si_E_OuterTB*keV; - } - } -*/ - - // Evaluate energy using the thickness, Target and Si dead layer Correction - ELab = LightSi.EvaluateInitialEnergy( Energy ,0.3*micrometer, ThetaTBSurface); //Equivalent to deadlayer thickness in Al. - ELab = LightTarget.EvaluateInitialEnergy( ELab ,TargetThickness/2., ThetaNormalTarget); - - ///////////////////////////// - // Part 3 : Excitation Energy Calculation - Ex = myReaction -> ReconstructRelativistic( ELab , ThetaLab ); -//by Shuya 170703 - Ex_Barrel = Ex; - - ////////////////////////////// - // Part 4 : Theta CM Calculation - ThetaCM = myReaction -> EnergyLabToThetaCM( ELab , ThetaLab)/deg; - ThetaLab=ThetaLab/deg; - -//by Shuya 171206 - ELab_Barrel = ELab; - ThetaLab_Barrel = ThetaLab; - - ///////////////////////////// - // Part 5 : Implementing randomised position impact matrix for both the entire Barrel (all 8 strips) and each strip making up the octagonal Barrel individually - TVector3 BarrelRandomImpactPosition = TB -> GetRandomisedPositionOfInteraction(countTiaraBarrel); - TiaraIMX = BarrelRandomImpactPosition.X(); - TiaraIMY = BarrelRandomImpactPosition.Y(); - TiaraIMZ = BarrelRandomImpactPosition.Z(); - LightParticleDetected = true ; - } // end loop TiaraBarrel - -/////////////////////////// GENERAL treatment on Ge TAMU ///////////////////////////// - - ///////////////////////////// - // Part 1 : Get the recoil beta vetor - TLorentzVector Recoil_LV; - TVector3 RecoilBeta; - if (LightParticleDetected) Recoil_LV = myReaction -> GetEnergyImpulsionLab_4(); - else Recoil_LV = myReaction -> GetEnergyImpulsionLab_1(); - RecoilBeta = Recoil_LV.Vect(); - RecoilBeta *= (1/Recoil_LV.E());// divide by the total energy (T+M) to get the velocity (beta) vector - - ///////////////////////////// - // Part 2 : Calculate Doppler-Corrected energies for singles, and addback spectra - TG->DCSingles(RecoilBeta); - TG->AddBack(RecoilBeta); - - /////////////////////////// LOOP on Ge TAMU ///////////////////////////// - //for(unsigned int countGe = 0 ; countGe < TG->Singles_E.size() ; countGe++){ // multiplicity treated for now is zero - // - //Event by event treatment goes here - // - //} - - - ////////////////////////////////////////// LOOP on FPD ////////////////////////////////////////// - // Micromega energy - // Sums across various rows & columns - if(TF->MicroRowNumber.size()) - { - Micro1_E_row1 = TF->GetMicroGroupEnergy(1,1,1,1,7); // energy sum from the row 1 - //by Shuya 170912 - Micro1_E_col4_sum = TF->GetMicroGroupEnergy(1,1,4,4,4); // energy sum from the col 4 - //by Shuya 170516. Since Micro2_E is dE detector, we always expect the particles penetrate through the whole rows. That is why you should use GetMicroRowGeomEnergy() instead of GetMicroGroupEnergy(). - //Micro2_E = TF->GetMicroGroupEnergy(2,1,4,1,7); // energy sum from all the pads - Micro2_E = TF->GetMicroRowGeomEnergy(2,1,4,0); // energy sum from all the pads - Micro1_E_row1_2 = TF->GetMicroGroupEnergy(1,1,2,1,7); // energy sum from row 1-2 - Micro2_E_row1_2 = TF->GetMicroGroupEnergy(2,1,2,1,7); // energy sum from row 3-6 - - //by Shuya 170516. For Micro1's energy sum, you need to choose which of GetMicroGroupEnergy() and GetMicroRowGeomEnergy(). If you're using the particles penetrate the Micro1, better to use GetMicroRowGeomEnergy(). - //by Shuya 170912 - Micro1_E_col1_sum = TF->GetMicroGroupEnergy(1,1,4,1,1); // energy sum from the col 1 - Micro1_E_col2_sum = TF->GetMicroGroupEnergy(1,1,4,2,2); // energy sum from the col 2 - Micro1_E_col3_sum = TF->GetMicroGroupEnergy(1,1,4,3,3); // energy sum from the col 3 - Micro1_E_col5_sum = TF->GetMicroGroupEnergy(1,1,4,5,5); // energy sum from the col 5 - Micro1_E_col6_sum = TF->GetMicroGroupEnergy(1,1,4,6,6); // energy sum from the col 6 - Micro1_E_col7_sum = TF->GetMicroGroupEnergy(1,1,4,7,7); // energy sum from the col 7 - Micro2_E_col1_mult = TF->GetMicroRowGeomEnergy(2,1,4,1); // energy sum from the col1. - Micro2_E_col2_mult = TF->GetMicroRowGeomEnergy(2,1,4,2); // energy sum from the col2. - Micro2_E_col3_mult = TF->GetMicroRowGeomEnergy(2,1,4,3); // energy sum from the col3. - Micro2_E_col4_mult = TF->GetMicroRowGeomEnergy(2,1,4,4); // energy sum from the col4. - Micro2_E_col5_mult = TF->GetMicroRowGeomEnergy(2,1,4,5); // energy sum from the col5. - Micro2_E_col6_mult = TF->GetMicroRowGeomEnergy(2,1,4,6); // energy sum from the col6. - Micro2_E_col7_mult = TF->GetMicroRowGeomEnergy(2,1,4,7); // energy sum from the col7. - - //by Shuya 170912 - Micro1_E_col1_mult = TF->GetMicroRowGeomEnergy(1,1,4,1); // energy sum from the col1. - Micro1_E_col2_mult = TF->GetMicroRowGeomEnergy(1,1,4,2); // energy sum from the col2. - Micro1_E_col3_mult = TF->GetMicroRowGeomEnergy(1,1,4,3); // energy sum from the col3. - Micro1_E_col4_mult = TF->GetMicroRowGeomEnergy(1,1,4,4); // energy sum from the col4. - Micro1_E_col5_mult = TF->GetMicroRowGeomEnergy(1,1,4,5); // energy sum from the col5. - Micro1_E_col6_mult = TF->GetMicroRowGeomEnergy(1,1,4,6); // energy sum from the col6. - Micro1_E_col7_mult = TF->GetMicroRowGeomEnergy(1,1,4,7); // energy sum from the col7. - Micro2_E_col1_sum = TF->GetMicroGroupEnergy(2,1,4,1,1); // energy sum from the col 1 - Micro2_E_col2_sum = TF->GetMicroGroupEnergy(2,1,4,2,2); // energy sum from the col 2 - Micro2_E_col3_sum = TF->GetMicroGroupEnergy(2,1,4,3,3); // energy sum from the col 3 - Micro2_E_col4_sum = TF->GetMicroGroupEnergy(2,1,4,4,4); // energy sum from the col 3 - Micro2_E_col5_sum = TF->GetMicroGroupEnergy(2,1,4,5,5); // energy sum from the col 5 - Micro2_E_col6_sum = TF->GetMicroGroupEnergy(2,1,4,6,6); // energy sum from the col 6 - Micro2_E_col7_sum = TF->GetMicroGroupEnergy(2,1,4,7,7); // energy sum from the col 7 - } - else - { - Micro1_E_row1 = -1000; - //by Shuya 170912 - Micro1_E_col4_sum = -1000; - Micro1_E_row1_2 = -1000; - Micro2_E_row1_2 = -1000; - Micro2_E = -1000; - //by Shuya 170516 - //by Shuya 170912 - Micro1_E_col1_sum = -1000; - Micro1_E_col2_sum = -1000; - Micro1_E_col3_sum = -1000; - Micro1_E_col5_sum = -1000; - Micro1_E_col6_sum = -1000; - Micro1_E_col7_sum = -1000; - Micro2_E_col1_sum = -1000; - Micro2_E_col2_sum = -1000; - Micro2_E_col3_sum = -1000; - Micro2_E_col4_sum = -1000; - Micro2_E_col5_sum = -1000; - Micro2_E_col6_sum = -1000; - Micro2_E_col7_sum = -1000; - - //by Shuya 170912 - Micro1_E_col1_mult = -1000; - Micro1_E_col2_mult = -1000; - Micro1_E_col3_mult = -1000; - Micro1_E_col4_mult = -1000; - Micro1_E_col5_mult = -1000; - Micro1_E_col6_mult = -1000; - Micro1_E_col7_mult = -1000; - Micro2_E_col1_mult = -1000; - Micro2_E_col2_mult = -1000; - Micro2_E_col3_mult = -1000; - Micro2_E_col4_mult = -1000; - Micro2_E_col5_mult = -1000; - Micro2_E_col6_mult = -1000; - Micro2_E_col7_mult = -1000; - } - - // Delta E ion chamber - Delta_E = TF->DeltaEnergy.empty() ? -1000 : TF->DeltaEnergy[0]; - - // Energy in plastic - Plast_E = TF->PlastCharge.empty() ? -1000 : TF->PlastCharge[0]; - - // Avalanche wire - for(size_t iw=0; iw< TF->AWireDetNumber.size(); ++iw) { - int detNumber = TF->AWireDetNumber[iw]; - - if(detNumber >=0 && detNumber< 4) { - Aw_X[detNumber] = TF->AWirePositionX[iw]; - Aw_Z[detNumber] = TF->AWirePositionZ[iw]; - - // Fill MDM class with FPD data - // Only do this if it's not there already - // (e.g. data files, not similation) - //if(RootInput::getInstance()->GetChain()->GetBranch("MDM")) cout << detNumber << endl; - - if(MDM && RootInput::getInstance()->GetChain()->GetBranch("MDM") == 0) { - MDM->DetectorNumber.push_back(detNumber); - MDM->Xpos.push_back(Aw_X[detNumber]); - MDM->Ypos.push_back(0); - MDM->Zpos.push_back(Aw_Z[detNumber]); - } - } - else { - cerr << "WARNING:: Wire number not bewtween 0 and 4!\n"; - } - } - - // (calculate angles) - if(Aw_X[0] != -1000 && Aw_X[1] != -1000) { - Aw_Theta1_2 = TMath::ATan((Aw_X[1] - Aw_X[0]) / (Aw_Z[1] - Aw_Z[0])); - Aw_Theta1_2 *= (180/TMath::Pi()); - } - - int numValid = 0; - for(int i=0; i< kNumAw; ++i) { - if(Aw_X[i] != -1000) { ++numValid; } - if(numValid == 2) { // at least 2 points to calculate an angle - Aw_ThetaFit = TF->AWireAngle*(180/TMath::Pi()); - Aw_ThetaFit_R2 = TF->AWireFitR2; - break; - - } - } - - ////////////////////////////////////////// TAC ////////////////////////////////////////// - // The Physics classes for FPDTamu are made to hold the time information from every channel - // i.e. there can not be channels providing time more than channels providing energies - // In Tiara@TAMU campaign the times are provided as OR from the Micro and the Germanium - // i.e. one time channel per detector. Typically this information is given to the first channel - // of the detector, e.g. for micro: FpdTAMU MICRO_R1_C1_T and for HPGe: GeTamu CLOVER01_CRYSTAL01_T - - if(TF->MicroTimeOR.size()){ - TacSiMicro = TF->MicroTimeOR[0]; - - for(UInt_t ti = 0; ti< TF->MicroTimeOR.size(); ++ti) { - //by Shuya 170905 - uncomment the second one and comment out the first one if you want to have a MicroMegas_dE Timing data in an appropriate Tree (not PlastLeftTime). - //Note with this, you can't get timing data in neither TacSiMicro_dE or TacSiMicro_E. Only TacSiMicro take the data equivalent to TacSiMicro_E, and TacSiMicro_dE goes to PlastLeftTime due to the setting in t40.txt configuration file. - switch(TF->MicroTimeRowNumber[ti]) { - //switch(TF->MicroTimeDetNumber[ti]) { - case 0: - //case 2: - TacSiMicro_dE = TF->MicroTimeOR[ti]; - break; - case 5: - //case 1: - TacSiMicro_E = TF->MicroTimeOR[ti]; - break; - default: - break; - } - } - } - -//by Shuya 170912 - if(TacSiMicro_dE<-1000 || TacSiMicro_dE>5000.0) TacSiMicro_dE=-500.0; - if(TacSiMicro_E<-1000 || TacSiMicro_E>5000.0) TacSiMicro_E=-500.0; - - // For the plastic there's two ways to calculate the times, both ar OR. - // The two available time channels i.e. Plast Right and Plast left are used in this case - if(TF->PlastRightTime.size()==1) - TacSiPlastRight = TF->PlastRightTime[0]; - else - TacSiPlastRight = -999; - -//by Shuya 170906 - if(TacSiPlastRight<-999.0 || TacSiPlastRight>5000.0) TacSiPlastRight=-500.0; - - if(TF->PlastLeftTime.size()==1) - TacSiPlastLeft = TF->PlastLeftTime[0]; - else - TacSiPlastLeft = -999; - -//by Shuya 170906 - if(TacSiPlastLeft<-999.0 || TacSiPlastLeft>5000.0) TacSiPlastLeft=-500.0; - - - if(TG->GeTime.size()==1) - TacSiGeOR = TG->GeTime[0]; - else - TacSiGeOR = -999; - - ///////////////////////////////////////////////////////////// - // MDM RECONSTRUCTION OF TARGET PARAMETERS ////////////////// - ///////////////////////////////////////////////////////////// - if(MDM){ - if(Ex != -1000) MDM->SetEx4(Ex); - else MDM->SetEx4(0); - MDM->SetLightParticleAngles(ThetaLab, PhiLab); - - // do target parameter minimization - MDM->MinimizeTarget(); - - //GAC 180305 - //Calculate excitation energy from lab energy of heavy particle - //See http://people.physics.tamu.edu/christian/files/transfer-momentum-conservation.pdf - // - double T4 = MDM->Target_Ekin; // kinetic energy, MeV - double M4 = myReaction->GetNucleus4().Mass(); // rest mass, MeV/c^2 - double P4 = sqrt(pow(T4+M4,2) - M4*M4); // momentum, MeV/c - - double Theta4 = // calculate from dummy vector w/ Pz == 1 - TVector3(tan(MDM->Target_Xang), tan(MDM->Target_Yang), 1.).Theta(); - ThetaLab_MDM = Theta4/deg; - ELab_MDM = T4; - - double T1 = myReaction->GetBeamEnergy(); - double M1 = myReaction->GetNucleus1().Mass(); - double P1 = sqrt(pow(T1+M1,2) - M1*M1); - double M2 = myReaction->GetNucleus2().Mass(); - double M3 = myReaction->GetNucleus3().Mass(); - - double P3_2 = P4*P4+P1*P1-2*P1*P4*cos(Theta4); - double E3 = sqrt(M3*M3 + P3_2); - double T3 = E3 - M3; - - Ex_MDM = sqrt(pow(T1+M1+M2-E3, 2) - P4*P4) - M4; - } - - - //by Shuya 170524 - //RunNumber = RootInput::getInstance()->GetChain()->GetFileNumber() + 1; - if(currentfilename != RootInput::getInstance()->GetChain()->GetCurrentFile()->GetName()) - { - RunNumber++; - currentfilename = RootInput::getInstance()->GetChain()->GetCurrentFile()->GetName(); - } - - //by Shuya 170524 - EntryNumber = RootInput::getInstance()->GetChain()->GetEntryNumber(entry); - entry++; - -} - - -//////////////////////////////////////////////////////////////////////////////// -void Analysis::End(){ -} - - -void Analysis::ReInitValue(){ - //Silicon - Ex = -1000 ; - ELab = -1000; -//by Shuya 171206 - ELab_Hyball = -1000; - ELab_Barrel = -1000; - ThetaLab_Hyball = -1000; - ThetaLab_Barrel = -1000; - - ThetaLab = -1000; -//GAC 180305 - ThetaLab_MDM = -1000; - ELab_MDM = -1000; - - ThetaCM = -1000; - LightParticleDetected = false ; -//by Shuya 170703 - Ex_Hyball = -1000 ; - Ex_Barrel = -1000 ; -//GAC 180305 - Ex_MDM = -1000; -//by Shuya 171019 - PhiLab = -1000; -//by Shuya 171208 - PhiLab_Hyball = -1000; - PhiLab_Barrel = -1000; - ThetaXLab = ThetaYLab = -1000; - - //Simu - //Original_ELab = -1000; - //Original_ThetaLab = -1000; - - //FPD - Delta_E = -1000; - Micro1_E_row1 = -1000; -//by Shuya 170912 - Micro1_E_col4_sum = -1000; - Micro1_E_row1_2 = -1000; - Micro2_E_row1_2 = -1000; - Micro2_E = -1000; - Plast_E = -1000; -//by Shuya 170516 -//by Shuya 170912 - Micro1_E_col1_sum = -1000; - Micro1_E_col2_sum = -1000; - Micro1_E_col3_sum = -1000; - Micro1_E_col5_sum = -1000; - Micro1_E_col6_sum = -1000; - Micro1_E_col7_sum = -1000; - Micro2_E_col1_sum = -1000; - Micro2_E_col2_sum = -1000; - Micro2_E_col3_sum = -1000; - Micro2_E_col4_sum = -1000; - Micro2_E_col5_sum = -1000; - Micro2_E_col6_sum = -1000; - Micro2_E_col7_sum = -1000; - - Micro1_E_col1_mult = -1000; - Micro1_E_col2_mult = -1000; - Micro1_E_col3_mult = -1000; - Micro1_E_col4_mult = -1000; - Micro1_E_col5_mult = -1000; - Micro1_E_col6_mult = -1000; - Micro1_E_col7_mult = -1000; - Micro2_E_col1_mult = -1000; - Micro2_E_col2_mult = -1000; - Micro2_E_col3_mult = -1000; - Micro2_E_col4_mult = -1000; - Micro2_E_col5_mult = -1000; - Micro2_E_col6_mult = -1000; - Micro2_E_col7_mult = -1000; - - - for(int i=0; i< kNumAw; ++i) { - Aw_X[i] = -1000; - Aw_X[i] = -1000; - } - Aw_Theta1_2 = -1000; - Aw_ThetaFit = -1000; - Aw_ThetaFit_R2 = -1000; - - //TAC - TacSiGeOR = -1000; - TacSiMicro = -1000; - TacSiMicro_E = -1000; - TacSiMicro_dE = -1000; - TacSiPlastLeft = -1000; - TacSiPlastRight = -1000; - - //by Shuya 170524 - //RunNumber = 0; -} - -///////////////////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////////////////// - -void Analysis::InitOutputBranch() { - //Tiara - RootOutput::getInstance()->GetTree()->Branch("Ex",&Ex,"Ex/D"); -//by Shuya 170703 - RootOutput::getInstance()->GetTree()->Branch("Ex_Hyball",&Ex_Hyball,"Ex_Hyball/D"); - RootOutput::getInstance()->GetTree()->Branch("Ex_Barrel",&Ex_Barrel,"Ex_Barrel/D"); -//GAC 180305 - RootOutput::getInstance()->GetTree()->Branch("Ex_MDM",&Ex_MDM,"Ex_MDM/D"); - - RootOutput::getInstance()->GetTree()->Branch("ELab",&ELab,"ELab/D"); -//by Shuya 171206 - RootOutput::getInstance()->GetTree()->Branch("ELab_Hyball",&ELab_Hyball,"ELab_Hyball/D"); - RootOutput::getInstance()->GetTree()->Branch("ELab_Barrel",&ELab_Barrel,"ELab_Barrel/D"); - - RootOutput::getInstance()->GetTree()->Branch("ThetaLab",&ThetaLab,"ThetaLab/D"); -//by Shuya 171206 - RootOutput::getInstance()->GetTree()->Branch("ThetaLab_Hyball",&ThetaLab_Hyball,"ThetaLab_Hyball/D"); - RootOutput::getInstance()->GetTree()->Branch("ThetaLab_Barrel",&ThetaLab_Barrel,"ThetaLab_Barrel/D"); -//GAC 180305 - RootOutput::getInstance()->GetTree()->Branch("ThetaLab_MDM",&ThetaLab_MDM,"ThetaLab_MDM/D"); - RootOutput::getInstance()->GetTree()->Branch("ELab_MDM",&ELab_MDM,"ELab_MDM/D"); - - RootOutput::getInstance()->GetTree()->Branch("ThetaCM",&ThetaCM,"ThetaCM/D"); -//by Shuya 171019 - RootOutput::getInstance()->GetTree()->Branch("PhiLab",&PhiLab,"PhiLab/D"); - RootOutput::getInstance()->GetTree()->Branch("PhiLab_Hyball",&PhiLab_Hyball,"PhiLab_Hyball/D"); - RootOutput::getInstance()->GetTree()->Branch("PhiLab_Barrel",&PhiLab_Barrel,"PhiLab_Barrel/D"); - RootOutput::getInstance()->GetTree()->Branch("ThetaXLab",&ThetaXLab,"ThetaXLab/D"); - RootOutput::getInstance()->GetTree()->Branch("ThetaYLab",&ThetaYLab,"ThetaYLab/D"); - - RootOutput::getInstance()->GetTree()->Branch("TiaraImpactMatrixX",&TiaraIMX,"TiaraImpactMatrixX/D"); - RootOutput::getInstance()->GetTree()->Branch("TiaraImpactMatrixY",&TiaraIMY,"TiaraImpactMatrixY/D"); - RootOutput::getInstance()->GetTree()->Branch("TiaraImpactMatrixZ",&TiaraIMZ,"TiaraImpactMatrixZ/D"); - - //GeTamu - // stuff goes here - RootOutput::getInstance()->GetTree()->Branch("GammaSinglesE",&GammaSinglesE,"GammaSinglesE/D"); - - - //FPD - RootOutput::getInstance()->GetTree()->Branch("Delta_E",&Delta_E,"Delta_E/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_row1",&Micro1_E_row1,"Micro1_E_row1/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_row1_2", &Micro1_E_row1_2, "Micro1_E_row1_2/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_row1_2", &Micro2_E_row1_2, "Micro2_E_row1_2/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E",&Micro2_E,"Micro2_E/D"); - RootOutput::getInstance()->GetTree()->Branch("Plast_E",&Plast_E,"Plast_E/D"); - RootOutput::getInstance()->GetTree()->Branch("Aw_X",Aw_X,Form("Aw_X[%i]/D", kNumAw)); - RootOutput::getInstance()->GetTree()->Branch("Aw_Z",Aw_Z,Form("Aw_Z[%i]/D", kNumAw)); - RootOutput::getInstance()->GetTree()->Branch("Aw_Theta1_2",&Aw_Theta1_2,"Aw_Theta1_2/D"); - RootOutput::getInstance()->GetTree()->Branch("Aw_ThetaFit",&Aw_ThetaFit,"Aw_ThetaFit/D"); - RootOutput::getInstance()->GetTree()->Branch("Aw_ThetaFit_R2",&Aw_ThetaFit_R2,"Aw_ThetaFit_R2/D"); - //by Shuya 170516 -//by Shuya 170912 - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col1_sum",&Micro1_E_col1_sum,"Micro1_E_col1_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col2_sum",&Micro1_E_col2_sum,"Micro1_E_col2_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col3_sum",&Micro1_E_col3_sum,"Micro1_E_col3_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col4_sum",&Micro1_E_col4_sum,"Micro1_E_col4_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col5_sum",&Micro1_E_col5_sum,"Micro1_E_col5_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col6_sum",&Micro1_E_col6_sum,"Micro1_E_col6_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col7_sum",&Micro1_E_col7_sum,"Micro1_E_col7_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col1_sum",&Micro2_E_col1_sum,"Micro2_E_col1_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col2_sum",&Micro2_E_col2_sum,"Micro2_E_col2_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col3_sum",&Micro2_E_col3_sum,"Micro2_E_col3_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col4_sum",&Micro2_E_col4_sum,"Micro2_E_col4_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col5_sum",&Micro2_E_col5_sum,"Micro2_E_col5_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col6_sum",&Micro2_E_col6_sum,"Micro2_E_col6_sum/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col7_sum",&Micro2_E_col7_sum,"Micro2_E_col7_sum/D"); - - //by Shuya 170912 - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col1_mult",&Micro1_E_col1_mult,"Micro1_E_col1_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col2_mult",&Micro1_E_col2_mult,"Micro1_E_col2_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col3_mult",&Micro1_E_col3_mult,"Micro1_E_col3_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col4_mult",&Micro1_E_col4_mult,"Micro1_E_col4_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col5_mult",&Micro1_E_col5_mult,"Micro1_E_col5_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col6_mult",&Micro1_E_col6_mult,"Micro1_E_col6_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro1_E_col7_mult",&Micro1_E_col7_mult,"Micro1_E_col7_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col1_mult",&Micro2_E_col1_mult,"Micro2_E_col1_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col2_mult",&Micro2_E_col2_mult,"Micro2_E_col2_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col3_mult",&Micro2_E_col3_mult,"Micro2_E_col3_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col4_mult",&Micro2_E_col4_mult,"Micro2_E_col4_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col5_mult",&Micro2_E_col5_mult,"Micro2_E_col5_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col6_mult",&Micro2_E_col6_mult,"Micro2_E_col6_mult/D"); - RootOutput::getInstance()->GetTree()->Branch("Micro2_E_col7_mult",&Micro2_E_col7_mult,"Micro2_E_col7_mult/D"); - -//TACS - RootOutput::getInstance()->GetTree()->Branch("TacSiGeOR",&TacSiGeOR,"TacSiGeOR/D"); - RootOutput::getInstance()->GetTree()->Branch("TacSiMicro",&TacSiMicro,"TacSiMicro/D"); - - - RootOutput::getInstance()->GetTree()->Branch("TacSiMicro_E",&TacSiMicro_E,"TacSiMicro_E/D"); - RootOutput::getInstance()->GetTree()->Branch("TacSiMicro_dE",&TacSiMicro_dE,"TacSiMicro_dE/D"); - - RootOutput::getInstance()->GetTree()->Branch("TacSiPlastLeft",&TacSiPlastLeft,"TacSiPlastLeft/D"); - RootOutput::getInstance()->GetTree()->Branch("TacSiPlastRight",&TacSiPlastRight,"TacSiPlastRight/D"); - - -// Other - RootOutput::getInstance()->GetTree()->Branch("RunNumber", &RunNumber,"RunNumber/I"); -// by Shuya 170524. - RootOutput::getInstance()->GetTree()->Branch("EntryNumber", &EntryNumber,"EntryNumber/I"); - - //Simulation - //RootOutput::getInstance()->GetTree()->Branch("Original_ELab",&Original_ELab,"Original_ELab/D"); - //RootOutput::getInstance()->GetTree()->Branch("Original_ThetaLab",&Original_ThetaLab,"Original_ThetaLab/D"); - -} -///////////////////////////////////////////////////////////////////////////// -void Analysis::InitInputBranch(){ - //RootInput:: getInstance()->GetChain()->SetBranchStatus("InitialConditions",true ); - //RootInput:: getInstance()->GetChain()->SetBranchAddress("InitialConditions",&Initial ); - //RootInput:: getInstance()->GetChain()->SetBranchStatus("fIC_*",true ); -} - -//////////////////////////////////////////////////////////////////////////////// -// Construct Method to be pass to the DetectorFactory // -//////////////////////////////////////////////////////////////////////////////// -NPL::VAnalysis* Analysis::Construct(){ - return (NPL::VAnalysis*) new Analysis(); -} - -//////////////////////////////////////////////////////////////////////////////// -// Registering the construct method to the factory // -//////////////////////////////////////////////////////////////////////////////// -extern "C"{ -class proxy{ - public: - proxy(){ - NPL::AnalysisFactory::getInstance()->SetConstructor(Analysis::Construct); - } -}; - -proxy p; -} diff --git a/Projects/T40/Analysis.h b/Projects/T40/Analysis.h deleted file mode 100644 index eba1fc1dfc7b0a5007fc110a7d5759aeb9583747..0000000000000000000000000000000000000000 --- a/Projects/T40/Analysis.h +++ /dev/null @@ -1,197 +0,0 @@ -#ifndef Analysis_h -#define Analysis_h -/***************************************************************************** - * Copyright (C) 2009-2014 this file is part of the NPTool Project * - * * - * For the licensing terms see $NPTOOL/Licence/NPTool_Licence * - * For the list of contributors see $NPTOOL/Licence/Contributors * - *****************************************************************************/ - -/***************************************************************************** - * Original Author: Adrien MATTA contact address: a.matta@surrey.ac.uk * - * * - * Creation Date : march 2015 * - * Last update : December 2016 [m.moukaddam@surrey.ac.uk] * - *---------------------------------------------------------------------------* - * Decription: * - * Class describing the property of an Analysis object * - * * - *---------------------------------------------------------------------------* - * Comment: * - * * - * * - *****************************************************************************/ -//NPTOOL -#include "NPVAnalysis.h" -#include "TTiaraHyballPhysics.h" -#include "TTiaraBarrelPhysics.h" -#include "TFPDTamuPhysics.h" -#include "TGeTAMUPhysics.h" -#include "TMDMPhysics.h" -#include "TInitialConditions.h" -#include "NPEnergyLoss.h" -#include "NPReaction.h" -//ROOT -#include <TVector3.h> -#include <TRandom3.h> -#include <TMath.h> -#include <TObject.h> - -namespace NPL { class VDetector; } - - -class Analysis: public NPL::VAnalysis{ - public: - Analysis(); - ~Analysis(); - - public: - void Init(); - void TreatEvent(); - void End(); - void ReInitValue(); - void InitOutputBranch(); - void InitInputBranch(); - static NPL::VAnalysis* Construct(); - - private: - double Ex; -//by Shuya 170703 - double Ex_Hyball; - double Ex_Barrel; -//GAC 180305 - double Ex_MDM; - - double ELab; -//by Shuya 171206 - double ELab_Hyball; - double ELab_Barrel; - - double ThetaLab; -//by Shuya 171206 - double ThetaLab_Hyball; - double ThetaLab_Barrel; -//GAC 180305 - double ThetaLab_MDM; - double ELab_MDM; - - double ThetaCM; - double TiaraIMX; - double TiaraIMY; - double TiaraIMZ; - TInitialConditions* Initial; - NPL::Reaction* myReaction; - bool LightParticleDetected; -//by Shuya 171019 - double PhiLab; -//by Shuya 171206 - double PhiLab_Hyball; - double PhiLab_Barrel; - -// GAC 171020 - double ThetaXLab; - double ThetaYLab; - - - // Energy loss table: the G4Table are generated by the simulation - NPL::EnergyLoss LightTarget; - NPL::EnergyLoss LightAl ; - NPL::EnergyLoss LightSi; - NPL::EnergyLoss BeamTarget ; -//by Shuya 170530 - NPL::EnergyLoss LightCBacking; - - double OriginalBeamEnergy; - double FinalBeamEnergy; - - TTiaraHyballPhysics* TH; - TTiaraBarrelPhysics* TB; - TFPDTamuPhysics* TF; - TGeTAMUPhysics* TG; - TMDMPhysics* MDM; - bool MDM_in_file; //! - - TRandom *Rand ; - double ThetaNormalTarget ; - double ThetaTHSurface ; - double ThetaTBSurface ; - double Si_E_TH ; - double Si_E_InnerTB; - double Si_E_OuterTB; - double Si_E_TB ; - double Energy ; - double TargetThickness ; - - double Original_ThetaLab; - double Original_ELab; - - double XTarget ; - double YTarget ; - TVector3 BeamDirection ; - - //Gamma - double GammaSinglesE; - - //FPD - static const Int_t kNumAw = 4; // number of wires - double Delta_E ; - double Micro1_E_row1 ; - //by Shuya 170912 - double Micro1_E_col4_sum ; - double Micro1_E_row1_2; - double Micro2_E ; - double Micro2_E_row1_2; - double Plast_E ; - double Aw_X[kNumAw] ; - double Aw_Z[kNumAw] ; - double Aw_Theta1_2 ; // Theta calculated from wire 1 & wire 2 - double Aw_ThetaFit ; // Theta calculated from FITTING all wires - double Aw_ThetaFit_R2; // Goodness of fit value of theta from fitting - //by Shuya 170516 - //by Shuya 170912 - double Micro1_E_col1_sum ; - double Micro1_E_col2_sum ; - double Micro1_E_col3_sum ; - double Micro1_E_col5_sum ; - double Micro1_E_col6_sum ; - double Micro1_E_col7_sum ; - double Micro2_E_col1_sum ; - double Micro2_E_col2_sum ; - double Micro2_E_col3_sum ; - double Micro2_E_col4_sum ; - double Micro2_E_col5_sum ; - double Micro2_E_col6_sum ; - double Micro2_E_col7_sum ; - //by Shuya 170912 - double Micro1_E_col1_mult ; - double Micro1_E_col2_mult ; - double Micro1_E_col3_mult ; - double Micro1_E_col4_mult ; - double Micro1_E_col5_mult ; - double Micro1_E_col6_mult ; - double Micro1_E_col7_mult ; - double Micro2_E_col1_mult ; - double Micro2_E_col2_mult ; - double Micro2_E_col3_mult ; - double Micro2_E_col4_mult ; - double Micro2_E_col5_mult ; - double Micro2_E_col6_mult ; - double Micro2_E_col7_mult ; - - //TACS - double TacSiGeOR ; - double TacSiMicro ; - double TacSiMicro_E; - double TacSiMicro_dE; - double TacSiPlastLeft ; - double TacSiPlastRight ; - - // Other - int RunNumber; - // by Shuya 170524 - Long_t EntryNumber; - Long_t entry; - string currentfilename; - -}; -#endif diff --git a/Projects/T40/T40.detector b/Projects/T40/T40.detector deleted file mode 100644 index 61418ca7d8fc99d4beb4b8b1d0aa493e8fc498b8..0000000000000000000000000000000000000000 --- a/Projects/T40/T40.detector +++ /dev/null @@ -1,112 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -GeneralTarget -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%0.03mg/cm2 -Target - THICKNESS= 0.1132 micrometer - RADIUS=10 mm - MATERIAL= CD2 - ANGLE= 0 deg - X= 0 mm - Y= 0 mm - Z= 0 mm -MDM - Angle= 0 deg - Field= 6248.26 gauss - XAccept= 2.0 deg - YAccept= 2.0 deg - Rayin= ../../Inputs/DetectorConfiguration/rayin-t4t.dat -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Tiara Barrel - InnerBarrel= 1 - OuterBarrel= 1 - Chamber= 1 - X= 0 mm - Y= 0 mm - Z= 0 mm -HyballWedge - Z= -147 mm - R= 0 mm - Phi= 210 deg -HyballWedge - Z= -147 mm - R= 0 mm - Phi= 150 deg -HyballWedge - Z= -147 mm - R= 0 mm - Phi= 90 deg -HyballWedge - Z= -147 mm - R= 0 mm - Phi= 30 deg -HyballWedge - Z= -147 mm - R= 0 mm - Phi= 330 deg -HyballWedge - Z= -147 mm - R= 0 mm - Phi= 270 deg -%%%%%%%%%%%%%%%%%%%%%%%%%%% FPD TAMU -% All DELTA detectors -FPDTamu DELTA - UPSTREAM-LEFT= +150 00 20 mm - UPSTREAM-RIGHT= -150 00 20 mm -%%%%%%%%%%%%%%%%%%%%% -% All MICRO detectors -FPDTamu MICRO - UPSTREAM-LEFT= +154 +00 +340 mm - UPSTREAM-RIGHT= -154 +00 +340 mm -% position of second micro not verified -FPDTamu MICRO - UPSTREAM-LEFT= +154 +00 +360 mm - UPSTREAM-RIGHT= -154 +00 +360 mm -%%%%%%%%%%%%%%%%%%%%% -% All AWIRE detectors -FPDTamu AWIRE - LEFT= +200 +00 +20 mm - RIGHT= -200 +00 +20 mm -FPDTamu AWIRE - LEFT= +200 +00 +171 mm - RIGHT= -200 +00 +171 mm -FPDTamu AWIRE - LEFT= +200 +00 +334 mm - RIGHT= -200 +00 +334 mm -FPDTamu AWIRE - LEFT= +200 +00 +497 mm - RIGHT= -200 +00 +497 mm -%%%%%%%%%%%%%%%%%%%%% -% Focal Plane -FPDTamu FOCUS - POS= +30 mm -%%%%%%%%%%%%%%%%%%%%% -% All Plastic detectors -FPDTamu PLAST - UPSTREAM-LEFT= +198 +00 +547 mm - UPSTREAM-RIGHT= -198 +00 +547 mm -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -GeTAMU GeTAMUClover - CloverID= 1 - R= 60 mm - Theta= 90 deg - Phi= 45 deg - Beta= 0 0 0 deg -GeTAMU GeTAMUClover - CloverID= 2 - R= 60 mm - Theta= 90 deg - Phi= 135 deg - Beta= 0 0 0 deg -GeTAMU GeTAMUClover - CloverID= 3 - R= 60 mm - Theta= 90 deg - Phi= 225 deg - Beta= 0 0 0 deg -GeTAMU GeTAMUClover - CloverID= 4 - R= 60 mm - Theta= 90 deg - Phi= 315 deg - Beta= 0 0 0 deg diff --git a/Projects/T40/configs/ConfigGeTamu.dat b/Projects/T40/configs/ConfigGeTamu.dat index 52af7baae72f2da9bb2bc74debade14a49165141..ae3308970f3f2082732226e61771c1a9f89d8b08 100644 --- a/Projects/T40/configs/ConfigGeTamu.dat +++ b/Projects/T40/configs/ConfigGeTamu.dat @@ -6,12 +6,19 @@ ConfigGeTamu %DISABLE_ALL CLOVER04 %DISABLE_CHANNEL CLOVER01_SEG01 %%%%%%%% Thresh. in "channels" for Raw, in keV for Calibrated - %CRY_E_RAW_THRESHOLD 300 - %SEG_E_RAW_THRESHOLD 300 CRY_E_RAW_THRESHOLD 50 SEG_E_RAW_THRESHOLD 50 CRY_E_THRESHOLD 50 SEG_E_THRESHOLD 50 + + %%%%%%%% Flag to remove ADC overflow channel + CRY_E_RAW_ADC_OVERFLOW 4096 + SEG_E_RAW_ADC_OVERFLOW 4096 + + %%%%%%%% Crossover Point for low/high gain ADCs in "channels". 5000 = all high gain, 0 = all low gain + CRY_E_GAIN_CROSSOVER 5000 + SEG_E_GAIN_CROSSOVER 5000 + %%%%%%%% ADD Back scheme for the analysis ADD_BACK_CLOVER %ADD_BACK_ARRAY