249684117097651431825018691329468608540793487686880515873044727731173321068384538657442297606067980143551839152896951233785223968593671762841876621732442866618272195158873846287440129090166307374029925491508395620852074410739532344889871100165987928835400141162882341496746597954125214623386441624213110336485329977956019243029618290061224892712466613478143250508734524409269622592383776770351814721856461878426627419737800443553740268739549211450594053511225169395069104956486932376658789207252903429264772551298808792735795548450628131499335074762662298568974147196724481141271540151219828703179044952876142984318569463638666500635833455047074603389569593357440905791669474878939881314708795850314510252168213391753332626316861302325847676939740271101649716333043641229886327562632982977596595417342587035221367418583579463132589887406784786235700869239670547958138099607535375263747453135818281992631753443386375826662502846662414978596739573085878223562282500520222473705126467379303765461825941851482143625399659334431384229937915493348396923182490474652115413822714538283891386786227913232914768364441796368704913870150343707744298809836192213894277980700492883953296247245846697917582519216805513137648796617355567963464479345013153619732021842326541481603579672769255100462930442541907582385098085998360272655475341619027920318786936817150728038947852983067621720112896854329168625161049546558578727552165686526999089645255492656882553807089517999577657016801001621274483599129773489780678534377993300728322953924447299537855228246879877124456295402730232602192164742779855676268712014965396279838873684530264092937455384629729322709649171786377526285957649861045632032198828498152696780943574366580857951639328417538933658665184127533345825477414920272148545574452719284520740643462777396047225584783754825535469475221621849271562385351483437146368020734615322000106575708905664885656062085502610521717304580303063104990479613142022976472561112676874997018212202166826113092424265769388407517129089943767162637562719358745958807413959423042546222901565681274932605361959856393238415911388233197621821582573570012695288224543712326435131526322993114699373157499821004061321747936698588440709291933823558512075413667246514397932739315479881470296930245817674460164221911719512656369861454602133907955928959235725764416166855758758825036782732713970749765106080549202988119705845412560131215853060412262207180621192360412718038175646431119725762175751735638745583229498262669073213883372745969463406324186258257202643157780674811002826041266801490998172748943538039384304731159755141848872769648942973626607599646207261114143616265969777925186793356687412300816675023610565215691298249981269181623674217363528642968568270192431179613781639254613977748029837936295758611984513925625516803214533132434333974634374769041048277528754080930779979884673548964054216718271493781243655896956525231612591892957992315966745449569127454127995747769159309633685927397080976761444488691359587672238880817782547362546034164191296498652007571932412844907531486072216565827459483675572256164410117509664717147940882687234424680749032194711899661215834497453893719276653162314288857827367326764787342286492525724871345902865818875167086822784943161449320206952164291453957378660364218832347878214935696128091397847697665675183103265198433634688841407866934124212492095427106235211827933588713727434828171733845394424967179098377756939575447865289824871211858526477160958807338424812184678955893826099513308465618361559617842112380670826353623031024747447797669463416258143357523679157576301668336355440538431609997193482233898671219664341112431752197369444867099847260567771334148433461070767319204135183387751987980487579181682903280382254656600386151075529947469308465435373884432148694623180248672633056630468651366996203314815734604726834691109795531871602216261851911264277859271181855753490180827940762543256466218166130832341821711864848358614854759789538264936185931313400958510215224482339029784200284934093046489240031481582154099202471485058088934851812588899117334563651153295257302988379654667092010362178951530419021463272721241103402270754457013620861037748227135505177895826285097769314210742232406287407824169880942329210716196031710149029493525573545175206517012595488692236354519675801950986007391598836915120762489519751874336156850175642355452320676098456448347770658445775364467293906862461964885552341830167439791192581616178253970941197716836773722089919676066111184943984582565219880124692572615844274257313748420795712241751852612133805157694853913819525012308812179496188271012254533797155475323248989832413512862268854268406248515504147360374435946217080377122491323682728515315649483288765836388533541472124513255280886607334696284224524364353362719964554241697880750049968837398964197159565595913969661968382935365837056054519199571727187949221727399108876246498875238856243456195972670607793799747551244660665973205795052181815018595123232026864157206906274636155070938306382295345337485525168386151371823631896370297188652730702030660687079628136576274177822215276156086256435137340273535168377954630797087883309526735293239709071955823057137183506948556884257383120953816028261939245025287941244868376346389439699876663645600809774137012662175250673481102729221964517642040741080688287712610895878536132302155317704280682017341224069683554648390385333290622725975231337187218465008376326539807193895979577168154711904189207585532385465296857238086141799765471712793069123193793653297753134362566956485720846837192798899357748317122284782454715471884685275981265992730340859632753255126215517852945006208765698436899168651597204425697449238795402091442370767682522776217575564224189558089429945144566467237279555633701515189199224422378001891636936482993098550311251351861590508549474146373605586795577865691