371224271008232281926993333360709547446419278513643667675888882319771076344500997170494248356377866344246234984058358967793852789635314860698652602777268849832269781738974097235958917313298275898844374714395965522977638344664823143969086330217139422738429876858565173264212124495673278376898619831975127972222777454714815966869731211377124257078723304156280894551082709549517362600132331587325538470960890284770962544245066239969539697901385915117824803184374987921385089308136276490562347599670787597234925397453355282584205125939843669378160367916310859531198578834274680277213622009476920793125175573154854560826132288904730534965904853089742776508625551721266329748740156295223266705621296098094094955247591308187659633723689762956760504186817272658931470259079700378263621919259030706590869917544508894926867272510286737721725171243410988639909483504121911686674204991684523691221202446149863222220293828618118114773581652289239925503620964651099760692635584685639910506471604577032639596661446692332563705117616286146667642407038677323567893693712004413453959447183415561108103817478689651515441647320884978027582951558063869677571535080329178335797459433066244148103613993627192337482014112964640711971400444411978090982488566018675096382248203388065913035473224783317129068195069345112175209228495145453472571069569736769206829881311245649245664348311788016247606545221042154326313103509391583319384932827917426384393014407510320419463570708187582043995397875186239609360933138008185371227341839560118490309942991125467043419937408435902565125643034069969294998315549552132584248858139121439030530235793987079927242792652886344252159770753455171687439029523436460244359721424588155272438549543788703660965855142673065009290652511016193501959225817092787249719182408484487883162689924885535339434664899780096389439479498297085060866651673795936279073725724862765022208518857505584587483387107678722314184648299762132108630667125167280863163882111726727705275119588339564587172424294321105187147188502611185128793027214938779374798319049685114775834973588145376036606351079163855309329947166578299543160522196186087426984743680617324058314157060366324161038092302742404069082785301418023847465662028120086786758556599686391501928675805632676041771826469921656864719501954405554297014356675703273428392664798554324551818808958962049075705612205876810657913855780293556345576875220663572246157424764646232136867830606761469719873663554945712339836452266334023391953819006544379292126299774581284408665692255245787139582758842481672064510960714232590214978050750067999369428640616850751654068579524097171865513893214880230650841047395095778978811625398519101406737506883807344555198328448171416864216048194757685778344032154604351931466397977855495513361887321993100622843588253602159997513223763534574236157203873762519824112253133776835122170555692404258198247861055782848874735127523603666427301893394175968149416891996090202022576687572577409093151474810727164953160380756682175133153658548930798108346982997117437241085603555498272639471136056343484332941012954530481891301194602706824835614760129711846332345269380785728820114159517621311225955926437975049874661982651154600458163797475877185063575360607279881131970301567198216012889875125970098868616794661584480875413520184047943490463719880740849577380676458891100399134581479676002677193942379899620683688526700361163888494765663439898268282641415219678786893745976691191077747349557953126441702499924804318681765354649540034979427070938500319748069796871392880756031935457884761540834715299784783964625008380285430326556797445696703945572546738254131965678943856094232985347539665719814566459925894423813970665939963182101836249774419911208932668089277669989745935802521411659547654214794915418639032155700532290193547941017273276771145682282789311045368824666017974318943180866938820696070579147273124942969498521994144639213092963278874097288631821195548010287350700584639318847576464179584774532452630571660492762283912735259847774057618974680720635036437699538758657794501222542352797449705159593764707415335774372431305430451135457256581795833296111073104854369517266162375592257825758655090145734285853688628511115939817356447367187998740012592028893917643818531089196874902061822830688477282251777400894644315577762426678768188866356248593805761485458796265656950586587961477084847627961727457346800661627686644449644965206740389338893805447253698472918251024248619199359737916637116728627512449915497275577617003479503602671225833969575617742755671424146382774243832326979105441770565472318340690415457617775665357757705452097269100612497431746440576557273769573123977427570397248135414690623526683831699651247600066556177176141398275179481265286877640653429738178970212689126239432936759421112081215421136179815640465434543200835910538025465014691224161977498243637939508006905112279368242090464776491766552869779741246536680381596268867623402806856275767344692633567433709659924022648223886386306075593382976216717804473221534780389733616032057291558380873911192795964424629840317119291247891936751484430103702780360555995829154266621352237813586831140256730393224469790669972131257870743741216394873893528166142148232120329434297351778959189197720628742459222225741406655916927052685246081448480199923969025896650556348921555053001152917779211027078340818072313569193846839447633332933894781325839463480627291849339666763628619151943141923117797633963819495176862222698563213404135354843382465944474025793341873101376284671621638537169218329714284416812795350432617930538117485113715685716586557742441865689707625378396347983081768172130103929557239104578722267144552268555104147727420225619843958574872963745188742257311109261138579777462261379779422815485624396010706911742251677856379980635319257603866585909720550846368249173578593