774045502839592449615186207799979798852066718959777298146199094284746788412219680151507275617659968507761238259488870679525839848087808755413666032618762011538592385969562497205997664763519364472486248810171526348255876251109729920393186995838274394114806506215503959348737431202556440835436129232088638760932805978904174410935351820324463497269597594616666126204020448537511088671799472236971348755530823163059312128583621336950781389795702852311922555383901687325270012067329904681528174376975175376263973377163945134612542121276971434110217323607010905381027165344632736078742151654959833920554913225357982155837514642731566714444976828338924263414161879701276566041242432581393510755194694952137968332537173983261116389286891655663045668118736153532751029944481474133688150318408338765083798474250223875751170851981067808518921344877379899355074896456362502828823851912687511880958306154929802761674683137140176845493819209138626397739898380087352958651924687418220925438479956698852258833959238383800857328381080936216005050241414884122102788428421167296598597335935061421802327113678538797541975398226367654188770872336311375876743898956262259696393738646092101637903275495051236373140547493436407248467904310572877265027103162837487478071427684456496529043639517949658081864487575054159202844785288971326923414557511694596280955172834091102918414021361696051366652289030412124617063017445924382959899737579219882873239795109221993189683783843631163960809439337365371531569264828479545966390530185783599393699329329199369563230439252359442303969561379999495231494999401851040507776414670802697953480754614165459564046526197705761063738482822098994166151408419150609028666485146867702887760098770353586509015224942788071786850199592585471740812584312821851837107316225591639633229356521986828714011296472357472400225878829396858134527201614482231876587387923565694204693988093048385666179809424737154915753755241642534215674718702537540387826471453977855666619684773420188634281762260908530084254556394422988772240641767449630692183944254881955341608754341178701851249516575571656104118334747803146498483879124297694518515231075391868930645927061221343811222249474311045448034444675503596771239187168855355505388868206844845761869576877131534368209279379398254295291425260415483663820717654381744971304934606715748180842992226818573250565273124537185936132622355050296897460372005127309077871355102965537867236026117830767274838882516438759146425738952588755692598713826469389463886619860695278791655052081443460485823474127835902934735747359940878711974397098394814763025319626403368184953657688623908518520550813691528446841845525211512364880252135228396766296896782493823610286749829132287053616174359941969617307046049844913515139561401250423796840963410463220297245532643811378963536675691094218775462231571400919371880147717349823943820509567379360313195760198080151655494938678969463984382174284615270398553986663837644561098729860710930701434927527330717580539677803945545723826038712150156134008175748450654722912603523864349224240299429726909699625913017029992661073689885990362675226991531078226839783669387545987815686912413140439754744611315517551586142410281983050064003723735969513515932077189613485531155830810409627486944706540901396432459878169465960775243358666789288246364909631687848557448821393425674814347325396652358770342454813710915146932286797623917773744595886202615614943641426594772563098695731730541610457611925133695277846421281665548657624460976266196864127579819230460475215232819534259185405535171152630711610015684300341857913932561717806726935762826378810139565263997396787512786906350716286016833781923636945597343208972775057011815912549222520955773360312482265358271252227556390982191707527459317816824524939447292445839071988277419865058122661832118069447474231679565490589062948305330839151069877057455384599944765670985848923909263783048092218213215699335752518269352267867625637290163339916115040817428758931549542550854249957729097629436075446534773706287830586552420422151290781914157788742794874435711232392817785159635644715601685165823512520333874124119753162560330077639540710642358836548813305731293155054946665305973516434521404486482230922631484613896079966157340082571586885116201990886136414761616076204016168438588688653577674767425375515005792548601381384278947119242766436477214987203453305856425721519661288582209384539047319313110797026904657583543022405210531603754181015751288193287579064893641933038180092383203347448162344309814179971548182158419206990235044214994983844897918146755918156504926964434834916743106579106659139868929646879033633629128589797657182820774128933365718264256914623262313875825282948735931122705803963281145894182477442944717112312937243154418621166980555416926338909852260387223757260507560971147723371753478134880055165469108321266102470292964036355891368961161383713250245529213226284127827233045028430794853998908657375153275435852923334223565423333019933204078277163255148882832624154044253452529903440617631926317848031915012282474816866591326377146115445011872285331024091444539372245684282384043198721310111499557848459385179361947223741364751825654750111552895646296913774562554418462848453298435533487365845162321274951398753748042958960135967331870467153324336029575352204845763966362587188892598053525219867250241708561709174950773531169519258976041967693698984803583139615534222101540407404769074052720123646791029953052338071518039746005568270719467113136491259683253059625566172823790562869975639338752848099110017668979816915715335128249909780401848633162335141561370562136445193124052388188732858555992254335963836355911717923232589093273629205369453483986998945639106180899502907485029615636078751184750363335109477182256883682387454703816988066724398204039599727807224966488156112885378255376920517786396299147324229