64812748913076022124977136872057734554899139967568846382050335762295941449434522646882598509309124110933760895530269872899589138106403102799740539419651281769411361467338301353015662093198525999197957044039155979681217493306506134195906698423311317181243356059898362191097839278714229926709537687783866321529828731792361117792645874267723536154927976267867939488048380936266449691535273492357845771521893316032343271246067832183911351946469591748443332876163739685413941370228914994991390587170562592177152467109951789147889396772953745054436789190776817311488715315627224144967991053275412954954854724431576579832245023832294996874273480895691685910677116745251422596798167499646914061520507828711216105175218022537440543148668966198844047368873571916832482374805710635781515997824205423156906448217954989235154705562108195692549264810948512333453064098953951724236203345652672385811571517852272732872476956105649204512798842211368185732443840761251609226583924097883917901575754733999451658334323575762357571833162684455786062116133669431397047125226160782566570501183472998552689773894794295037812098726953525308781803324229931318938176964232432744665043802489882641413487405917669476291658276151486209581446882152962538292725548301130463392426312795047476150274212506164448525117383636898577648981743947813129045846538154104020978066925799158906340656646322707924734790211474935906322667922975005667224052750284628671680427648904188848133333594091851866776790337567932476695766122685363022719822031933149255126648327896391995571144454819723337550868163046258933762941418688839068997763624422021274641965138758698798177931411722954962874266113010589093856294510285880246983349498409249711666194257252291434307882724135662256868076927546783711624625477157232779126496053489345175621378809195574048359258602690502131558129548832599666337851612518415897545661338372387583685051150635644526464468634961642171431496997838111119550676787613316554652644839559589761012773501391740851587776364407225312141539921278884825692866724157629162414128035769891124325528929989988789984220132267898426262887771537560105267630580704532874123646741780268026134123467436797213419129856495539364372834842642631927227249786112081002776321976579693732976388787405259424668849508293370989103135981124905531561388300668506891466567741288732520956237547895091713884410446261208703334229018469311896284318603916706659598196769126448400957944451312894746249531222551743352618689601411231723584865808011923841693179126450825127525154351413095790848887075712769336843258673857087948486028745688626773496728729759507679865095719756869136785014422350871444941957510456191732875488444652111164858754960568820786532376712333262522440335777500411656852318777824969644533717543298147515678946874957301434944926229176727218095795810823032400677566494614602486037249939150328706919270821161192454274039211325771632774354848699712422816493137720788520606124757941416517467446721918904310413411045983445445061925473418157615706299877635665435310027296983088968563622060406887401813998061395721907416789836557262237777479692547837524129458180197035322759449804360236368671884903580629883870241594605944322276322567973322861948875024801685953978689269748517106757814467206122619993286216297886311041335937859637234155417402476588445132749037749918199143196443811143511452184339358364920923767024209243340852739124689151193174112801304526952517964667997510976667814160671108149048878542267858818467695583925452875223029271552754043525895348163963953825382012484767551696275455825633297381919491304554842828844982239868951685103446242481929603430560359861506553733267364687566123427396960934326110514541392871374245039955538855850653283255215198585819110333650805854530750728808618173973903977339186744739726887855868933747626681557356377385623532480728997560332086576156249533393891691378191872479815752241790161761893533599410894298729266181569531657639596446269419199480874011057267077349512491462625238453912471249470278884041987258023517397477557378776693716841873235333564317442842233222347451402390761329185416677527134595614432555726247126632391845821101358190312336323946446289546862467577135071152206956488849241194468769885347651570325699394150586693301785722493427236499174855565630952725585217491538439148637254654234255298426712896349176464653724521223783577830764949515826897438481061495846997317029171926336069651623342425933220499226642465092306749906153077163307523947633545861269889856854785562021435064807862129893324659949979943814941263913921934926472740538798572138355231262411246488855783038429945943608677285512267550526929483176798758062061463947425741068053720014996394908524929083339693411637486836947862745950202310847025701363151782199198858515729324256763184077683238768957885774600421889057155843321841933422361104986619614114862508796732052865447243704906186788962558846534650360899355243360576429937719599422827943554918662056795523081465545934769613363485741534352988017767968463196152045497249477696341312882493492828423922166850288622766048570929268574136567338444945444841362936766882927029203535641331432167753403457293771315450781293357489563697935155998781755745878719527058686034232527062711455272385490167441985770136423222040488853285919216273795246673349827769072350641171981995393442994910965093394108859864966722722547475613589243834343682137651337454882213041419100466618915700195423967117810198857568093754143696936684461853752953725113186052315959328136144429450163889550114327401202255218502600135657928360726245816143408368923734235563769997441766448176839936656923888511172919665649161359678290722282747560691484502528926535651930789531231623182926008052491481439975737426834655410149795098992486521628622301685072091110096514815341288152910367424855929210822044852275326188514042230287375230303114342002