885665624185310636628831744680073728535877145852166931313431204998499214862914914638891719873623032999093176305361922515029131668986480899893175082420512204717551313417198665173186175276828016902033179730985460056954548031145029427254961663908744985777377987278218460751054789274719712161558428465785425108547389225585525248557337926587851611687632174667251847842696050572498013506104559262781304542403794834273908986795677492304261337744812965420064314901155926610885269681733942836832398937186600192630139745176963533715331460145248486371598461854779104183895101410441197728291794744820279251914849726781673303249449467820679722133517644085282275629764356227910793568435229723858477361122619611432134457859471836741786326713324916412465067361226782934643984151292540563942142564676453382221038551670141993559760338013334167092933600978363869246141061925189036289534659363372451654232649812737366149257645359104188547535115228458246318143876641608101167500553190226888470658689332301728538241796508768744237168013656729305670532883744771405316656823350429996362425113415418716460689761998984983934255524618747197096708570709625845658789503636428562006512361178523846141645510703735903908816373695024650310463422945136215024907680690815460120467588904155943697322994865275099175876236248194137119400594064986781105158225367229294124751392316369818110950147350763023701263231866667781280516767386945162179435681349687613640675006664404749443144276561267273470574428380877381758379088239376853609286379326806548654830673552706195595442206257874746166076802351074049781296697579860291428448887725480258435551729265226714727786974803881902973379621938840762393067699219809883939692536484785106466799378436622197848744428982898266551984814798654354402732468573106480867329308475213675282760918180847055709491983212342056362143399347259293617230889449975599454553538342483721273897527441761484628536597261224171578858895188556252881797143689762260406009489037942487511224987628843083189801405228749981178722548032629140233293656959508388590175931108029448726179525730582707172698517641284629514509976635756582058583369373211279711094476792274322819141821662756541783714892254348560223311595098503924588234167875160444184574391830509248910082552717615690577843284597687730770550718071784753058014305880322044357646140155444086755427250964401682479569822517446129476692970697228202391666779755598396565662034350745564343233130544608547239253278978823739182394588665690240230302503294427701509995315095642039540627781961062157216299925341756179599702761667506249981334849743127095303847352201863677595132578746461129995932479701052581123265626852923585008322402954901918799837325493171877347116445351814387511027902825308389850096562919165587567147548924911426531284707823943128297202069886343785598397771818715713782211840987018402142381756305475321391538551357570543007173309886907933587175335298830024732022245394151048705662051562952569314639151267517761726497974993562759573191585703307742506064263139382299054965202561331138136099246397957381595814296067981727546771183567428356752031587700829923823175599676326668332262098398959858779121350648487936785876534548398149947631313166751341106702553341949021405299157859848397462795288816411883745828650262801848882907696437457123569929137546244899564823692083163263667816784833733985492472462808651124985095935486193326183291797086261949495208972926297787474146572098970394657718153803779140384262554922441632718162371583066297341085426145355568032308680525695417761770253476363654695528593312906603659372095714675507413115716814865418278372428779476385051929685508679171251361648387715219076117579935826063245438867284382889298571264680292355207891383263652735328205996620677024089502595761924982748419606245561794759183559184515991633366983364103372781225117795141157918504178466592182051827137042005561587616388985747361576284874172829619570238853574869149138853651862248727035989247883154676994470398651507184860876186424976139119681636856405175306556188907648869877782536116687841514654621839915104467126545511847993475862162912932793307969775584970861298301827390235647471550571315235685989591896783952210016068184321420474488439194165391373745064771899394694522976039513978702228909978739250658845705047127655901958495307915783203913555918995023400578988912025885814153695548943934405297746456184577582614478624058703233576720683656266933170689119519191582256147836725598832525816209299350244934249303783914998853833648369205518112630337483103568874766577766947258350484874373998446925667715169852197981213393839083859836028336853711711613714297286964125409238145614218946807636480210939241571837805030636364119721829551525612967534871867617466558575115986936685381771412401668930315860479421612768954270256113847711978753918838289428524613153959808928477930394136810157512084330488271201635591680137513750734467470535420748328549120814195113387537675825038512315042858799801049467417655835718099332975086937457320952012249361898789119712585302964843490438802122050468271517053833100516423031431288720432482583821174632222941220841075917058622730751730194866441518244210409578027743221844185543144802224433598999309564540625660219647778086619385759511615368004935732128316591737011672840831480598101190767961595180031483365745762891025618891625909762236342784846490753474591961203534891620964198891896463525728949029686821792671088343573301042567434104885304139263221820512256127714730767150574812843004144945358097044249274015528579959149404360950937143539833907216719074202269463598396543342705166831882258832420815409570364995521756524732076853473418391719559566062492559817663843154198388561466105641526790217674405715838362133325481295860596607507597548229376860921152929560162748947142789263775626605796183214280292480770773750726578664562857821470234889620065265964424031335977664786678949846741