3998219239302510163615295516513141694691293596790781568805413285624356268321004277945277051642237299599494985999973445922500762615242792941442367756677658036039378024756021123317711814350886640054607063354765943086995697461063586236295498519428080087552897654074441867460998489567847395025738464354907405991834809895218245629824354484724263632575797779831648824172030495161510644169625386528028885329186192832384144494872311687516987844987487668015402221691197625302791979225152871892681304172996774588604875265130729218592886758781766066754865388343494433948136246118997834316486339469449264487993249191920595802580878056570157222721436166968718892167277245253532104527916405307414939989708045389586753158972933863166537727655952765285240551983735847839264904427908481822841325432855215419104773074551285937985914344246525021188139475609332804521966554196934317452481388457786828073764666732786259746643776474941999073416749270888435805861616785122047566249334251120611146141950764789222593395884587523205358311201952214240935785417463629750752467460685312078938571740422102448494187196695975435007414633641621904318414979882118614276379585811789748434756296671213791401245739441684086218525526697358965767539519832185274833666505932448963235282362013246297709446479889086691648193423146280816440153138005607384739843065498286225683634967979323797200194961833130759827376016312650869482541053752373185488466791116686926157243605939256175239114365954932601282313303073689701247177397977127499916056678258034049093597955294643943368466002678064597556578772469784696911044933532185094745336551687125796518292681592841297525243602314777170375975356765260413518349877485526920830196979195956404354648667746835010977850564853361421202421967033486680612621655260234240475364662741959412124941133337352609594951247876967542542979942816244465933076263014749615493668521614942914325891449884268033353715183962219577121534071055615282299578265762803812365714172756098166191382862582182775406854429398853988244049217376381849254078217498142885694270627122119322136655087633453429141281656754039041562383561434940984913126650500122279618667073171377287414914312393943729601837961588456077238934390528670438720038041167147535152814538012671380395114336759557873278482248386283978865118761041484859420736724828342992371753073580978189444548767019296468391386636041312760721292450553217224078655791508272186473205807202924694293339576383518288575592489131982475931678997059006698666439367890519074592651376390526060962193889651673381073880297964164371318554288487367168867782590393514859957652043858616765812611503545633009759538531956990523151474223994393012431984475947737231257364016358429079209233877197671604654588921891374499499656038145043650014221974829353424896059774357722348696981622888560343686342238553015804206884635634608118156374506643236267996100762411174713339129227977973341013900847739922030742726885278531728157082946542418629454583927153032719618864478899633211863215920689646415065061223489523221547329369233744674123669357111443650963503484336734481397541638127946203750313784936033394270135817339512249397708043732628569483505362941621761300597796468629007297352983121165026595653969239801835627530397446954246015742789593094404684162548705705303622233620790759913484674153724155682489194199463492595024471088874634174242615294032889358775084945514710717402736088181855443611875975393641503284016546793759623906152830044129318354346997306441567064744189696648571062702821178525135226812701597743905856204055239996714007168353523727333712443881173388623118175791142548897127927275866444803728426284648463494142165109776262308937828239202893459665966932046850454840637319884276548597969311446061381830475644957960985754410391314202937943473070526319029094934728156993730018199993609884314674392882088072306837208738312748132258399615434451679723668378010968779767179627500235266358426985365777812879737482792459753833678293369079555755882739927378102292428723040787993055386585206879815047387981323818766533786379308855907334600262568348761822625946125880466994904185116734121284147699077799772003652491296922062854668529019874685283072357322869795984848704594145927363842737238986139105929224062965058498443832184829510413449881618737214145917645915167749715364672631366517448713262357603395129451844384199914602913599999847642967871104671774395527643823424898313542975052127309572862518204641528421879450987462325367953244687364985080319298769710495966801602429273667182659256855497274556945995813386307830074092145628555353690829832551104771535584372346775169642673836497207977991073365818687783998691212666273366855323763172232407291171713878253426526333849395374558515522671585351727723972136003889396016759030873329570068793128607154303899108052357022099453671740341851240096894986489424484053076924243436914964349319341071391193965995673482384590991402445730949667983115951901375943121174457269280237674474267613514598448928564881206103230926024275171570686892298596912708548376351247829794647635996586268890386163329116543314553313915694715074778394191758402023301289444620219274494197965812399445146445167207886514454638132870362848109877908372569683126276530113360520371829915713739431983658620361674704257321232224429586691468584584641136515487973549533050112948691091832120810437058830949551454217219316718762460137165736197172535638244358726609692621091717769177476413115447570758330215146205936752773524608159330344004261967333650531652939700126242198168566012913566197158801353675642624523218060587433298271418600967563115614512610973375076257207810309848487116661293570026231329907354538145726686594341485282484226358435324804271825237017917093222674257300143832229295825686458954886707523224535144565891172420234505171653943566678913931429753622109286469284128775815878428280240037676136384439269437460737499372865567586566