407743667298103146991007909593186743331172471762091425297222007212637016703679122564016114064799769848069059919269556865697421330154735994482718738911142901964224569187157910519889311937550745026987184104294634161829101843642829767560174353740535048591519735392548099402378428433871700155734084558071755086308786169491334337652738400354611144716278961329191236901719881539541143295418303112587668666299626824774113876620860943789533637871745855122949876110417397833223684216379757503419643662691165649249409767837678960482249234744648694423188372163390734394712192228539231555436407290928216708326889836882670726176552027334319429485619483482666950894689742499916763862338249574739792061347210701648640074413164262342845849242872067425345960579571302158042728273366465159339251868361696712438767974334542553644587922411479926758572784467335745076337214256599208499504827141400629556442144838872458228624454209307720747557722635975994161404567653101894877822161165313932090407079238709659643546217657849291541317187713957071827964254046538128280181035686660870536965593094424456344916726483740747025540432359538445821675778348356822642822643493678843755721002752354917898017667898275454792375252563667630539267285963279297547699038083331182480682707835766774022606995830856873073633136147637704073979855945543297913582942159003349666679311585017404315165925789601330540924988889671857323246505508779075705206302543592181757617421245945554785529425070460648767353148657225598639664356078773127962193695187872017925866446105400760146860118253709102695997696894584224627285158122278051937210302942435975942536734684450473870251168475894798508427299789902959466535772642177714870621017669246384772233279251816450157234724121022773035573795567610633809683267319663005068584988758851864239832556508391574267267785579322317625479815942930302056863920981889753326199265797537532960127092615449092717827735601882721598793659391054747571442225637113839741161542465791312699965537011666618223540348928566432701432479774557701138632754615114083423508112814242875557175989278386164995970352279725039574843355482938848094916782677736895950160270932634417324238129574415307610458018983716392274476880947734956045326151246982051126488146546141163100494130923229435130397350330785319340995718513864792240629616995308477963747016345176889652882286258125292840692647427547418314430217556708597263431651522485384998808216744601369883337536170467482365276207166039874380537431572516365566546291441083911057375791412933395262795169833244781885984983292931582251917251155706581091092891279285398435928891338268508524025414604105268904818461256343016656220915889812589802607456447269598810784696257155915942313745221088486977895666108026721415144677440553154883215495055155907647349372846761859077791151654594569290790941464601388034303568714726478163847565889456756020407485697469758409945862725022215437822791165735926235894141989163893028808595714018341364649525909270783845472646266123422391235254028850275556078264915529748719343680022467418403265785399659238144650531703702821235223284865781778549426727901570407866473624874135576695148393831693887810231391424689254983821363215828816783166989270198861791170698792348491917247873254841482787487531626325132252164788091335431292679778676312596109473032296706468575279277292157146135971876419098630457576592745791638549640654527375422667131025646984103678339312166186355805564097108127876398949415823360821524371243289781952459620873323087386636497770118734195234622461287274202337263119167378614733624573464250135891649542497549425337081593062531229172477965480793146394559328358031604837991867294321691392447532457753173680852266219650338053042230730194741597361421839215357114041467177800929781167926397567389991682225402186896527647377132621308506387047205613918079106116982929920573652414601286124387339877878318064472869944774739633378336725571029876307294613768120550288998255490863351291326848814473172182426339491051349784071955297170745349386925028223267261189787553219535141807738413982249364939553622706891754821304487299357799399462939167804684237014686990661607392258278860828099348174905312466848228233297075341855440273750741051102679219062343191979811043028459091349045325418509927774023015627237149307139921377591475989062274083072963586051175664266363458554941974144021166892998513941564360328347500476871503736800684378945297749873586831292676957949368475138965723183477775355627004735036566945537514974750622177478225619741795340847297167276771495322539159864785787423636777239236426238402231147556048380910102386255912839256859676538795858300547894394179715517025510634944986473159937031891886046026928657490141363751890329465605728893939241180757468144700595261175640161092634209444608205542742843516667273737640643361112976532443266733522698671786933566295348450810896661445538805033269254965483063312011018041494109320297933120740730412918259860344414124182099781545059741415632158510693449368071187739368013552734595383101521133669945582465421579573671121714511316366674728767359541205798577712866287343391178513641014041788937525017894340186353394337834027487844968326959154963662702961433087372682485496649440381333212538243622182490491362219750422889660165671731681166337468751348663417039885137465546223876909781524931984938284285252730591115072983570569081927529929665659892341237338613211139522073130611334436637451748602234324493884495741505259921814185963943591285696292787329573868493016478868772531576450761424808817266329448959164592362739555213616541129026439660637929371744624363403037654328942274911174575713437693495971770515156735547289321721691652433729177531620799699495709849357211451716754256658241123988431427265580418291734175057231118077583738354069458802502380449185719177499655654799736157451787690491071718153962257886823176660959792344091586780528939