123289689810942458297997093350152472515169922428095134311591297748460898756311708613799333828110195874665668239929341200948603514935558862553734064670968815937982216491113322188248269049601300466439743572722320733114067981476978284029422412381293992197953804529346414847922326888521538934624855381269996606321722037101295045247124480759944168885272733167109204724658486632136183222301414172319504134748585802914821749622688384652902765590541782563382372327321796839172367879293197695560441654510481331513880544551460730151294396037981327834827406381053242887648483517191438118770815170873668361567419609885686760003867501634438074074980364674312988469207908461599021221315230246810386744632130616933823728509146936475137880738695941677834092118316884953180590887669405751479532603638330328774602487493702289063622156554325184711971442202464209995403184693017655206111399742712869616156301853051726365154465177668114937179489404697589992878955313226794257924721143730744989243339681472821250555036719498880857343930629219234386789527157586235141715612956681343927015312786740549228107254378366886145939359246265585145828447984741214592216114179068073268782817915530796141974996515928430621176731640668984571530982821735967443528602573830543888715086525988428172925931912555842417382736262621318488612061182147218857292399887103434847758186573793575311339745157743503265965721201514408156935615303890548258477701712493952411442271119103404366920056621365715675322767375456807358877657231159252667157789589850912237291198917243549839028313464252687082173591983231716545296747721443940287420127143955411651518347001817553927316093101909893760965711132575445528630770344800202069775008110418134719293963097243831391328902800790477424005929010127315159415232036133367802602270992385719364889709550217947478427403232287753829566492087729411179866729488943236721736212255930054875581698921051742567543266406165468888878259000929418534348985510906356123311596373578697846637995667220239255517312885012309688094464112608928756122442459495078566371506723589579172126966847457743449703894362133809265123444313696668017953483684881777568845121612381838391281272436257361257327053032832230077843944807134387129538166878752038919189875516109878144088635415922667342173349299387597587936840054637324761808397582583428997504131605154882683201938846365567166890077446509845861286665996754969869722749505319083868077124141843317357074319836795465075374671345908378971817636022299322409907380451818279257349391423741341310853577427745582176516223832993278226738094198098181959508697614237388315531918182963749837072134391763687594807874854313606821720627399426677442142767683991153385351277434304260685156291688959696513869867994939554475687600745148767882951443187337793391516144666462945764160216332565239595012861803045368078878549380932474598667074912681558570823531973790284853489198338794465651685987391272605761726045479780764823473864976900621985983721489584336505514258539471385340126875165143887614304923246852427772890973040607932662470831362930030711103816753189586762838344843912641697581129739179929930062849650594197652753387952168451662326199163195751408829841162892561363366914136870879781589416358388717103819334947959439454240889437391830244724849055505580707680315587486032921177207567704063630533886145466587693757661793444965759328814753776205132885741123773942680396961875315342721452148964617206473689885266651120359920035882228564361034188230785837603014233992181869829284023149147037333787721079113023666599814996866453489204119275845068786256246222373546415877341575398366184082854865365747356861524214340765288893393765717659383904906574077124847558134263655142584317389645115118152051258421675025161687475984021687193322315493198323982314727388739626069501378705643679180921603756386797304385773053031904538498727739573894666517691533302954220954458944587095242304108002842529267636462464117766347246647861495720624644807041541374718810975553985919008735104746851155567321016136334960692369757129391073836254699965787948753461496826488342555965631161135265715154121468891162540729958889748020158887587615795824464394214799209391222409913914471908895367625608929656032222039160374824865198338365439116186155606931681271392555599673045667317657725572383956788581717932789179079973574268673720452140882636143407875673575496898513587946836616251326159363889878269006582625044331347593763946692071722744428556754918482877399951587669113493274856924414668426948753103069540964655442675875117979776940833326727975862249653101913755181898618582960549815243640085143666461633452909135686055738196825821706782554286369931821087561783760588101069215932786937776835360676991452646784888959906252408998115627000313220215206264225147981229500134376523357413296036921237536130928919866040477786333453981008884447306855367899800992126965494536615542425123217130542948460167738997707407672540132394280526831059196456382702379812841886807703511656614130845567757308907136437133281495731174589371741888726554684474170720592281287746358956252060515923906368636579679710733067263121209647442658951789604240915316591871408183559692986336988807124566055726829614509349364101013386675485286955181632983263464131951789238974625413462749424026749747120025748231922800845459569868722266936271216227214639693195184383055518720671141515598166302465813945381223699883796236893015389130856443152353854337998303172692297041463212244492226925953450752182944162967003964156229454911382405384243855863139518875982907576874592300820165330283416712022703831216937838307820299639528013459567840889543384478638144994231207741294599478281287132589766827407202532032005293535572764698921217158739335862246656284150147724570179758001736157258844326745986549495477426042833074625414489077107467491791997185930184558951085471086664079720622337255