271799132334953297775764032481581234827617618575937919032674834095821552580139356884234684256451533510479018537577954634894226152316377042105884753871507175687039657297958381223003002259223897470506677361219513870078013111526408224670158341319083544796629191463970891751591223212007165458681402714869809299457357308903535750901211266762998833643598688518701703697022869323013651990180858875589643510112624913637831266666849768020710633289440256492809089717398407549754365584589439946764976481019267767831166169574946252773058760132824048880908248437413857547067044505463477892287265919186842359544104275259378866608553882951334355308724298957339172811115174983264170736096447969553077661347710050095320589083415573249252552677512859962242631665572208446192498615326398211847261069011017890990399822343090824348768911137319767813891203245367221742782429811268528307174365121916293699232268796350251811681889263061750348692836568947323316255274239595071546459173377954757599601807871235608422805946209361383817713190978171019049410139632243108013585630387232162492131774680119143127591393105945175570919564074753824992854513806033753364042438677539718725833716787414787546329563933009435312079500767267961692915966457559856269431176952175089315803203875277554139926704153830977706984160971188351943381875731738079897765253180513592368618441617354311118341810867030157578199923926738264380551484044841484849569789169658888248451473081562157403213253131761505770587138231227398935462475987340397912704458755078461429237092723278725926514362393774177263902417798688078535121808914231539272872590834171107645343445436745407834318184183039826256044713979429126852045201175062543512280119762312173677126707210455393763737014991894932821777101233336690105928886492133845926463289744793825633085036177205243575623080347831197716543863861172053702471227094129647350281659413646238518321859146343253237121667259121199711913330928275567577240079937329976404930262766622437266149589853997247642112326013157564424864712973795839212177894593980501312180521950951876199963508712143559103293842135777762247996134557909617827337757736067301996340708420760199973264721158733312137836661713236362494284008530336661528961301536486746756318386352917237278068993474187132140239782087989667135317852450511479763780047431742825309123253407650127695826439622655601813845934887196172985935485155924211861804577381351422596062713223864874935082911803844396330876822663116209317686674723865807213946295173011513479166978890434469235930918046714325920814698262342125989295353174991616989555997484907687898849007610643735740941576481065680814626521492998155002995720306468717925948601906976341438981113117330696400204523097548732618180251567991061297737612599931995842703621469841992957181768617271335571611713689743480908521812094745848880541759722743786677504198938675825857713181545540731670899852505497195965016773414827572657738870471324715855608116775703886929219723867826382538963121213958931090839221655442531530237735607600762418609899482108224985188856926355570713069852297815947172729544186392684157366903489853124677305998033947525315972141137539397949889205628623536357253771775484995895708983065316844132642428748690333666122444793192862879401958197221507736643272810746948871176944203495529395319444043452633924581019781855722417851254518341439167543015709710860033569338987978513798934678201309730392052104410526160034573746411964953296485912364680370968396915979686153532351592458289390821420702765064402432806656884990992766182015271341688795601743442944003510328582118397019521255292147286051793212922823643477180437417492817639268622610039916617668522437919702671318686633220532417826808266649978307288676132404213628688169613570395309224498422949413749608231011416962984716308416979416484758960453869057106239584055552765298124474681132938431905747273163975857749543160887481930518882989396912834050465498607871871178326822888726107958870820181929785446115287469323178911264794051447496656918848934930743235306638159728439777848666787422797579424943371962967333812040880791553108715278784385293866573640377592105065251463958411988984628174809200558084747698582231622638979355762893854120610887109621843640233404429132386790819364218918626246228289857669769838948514518536760495047930747219974010830512239013940546144602424688449725809091855244641883556373966044928866003586295434540566357361108331296512371345354482656961583839323537536229647284080633464581237669143044575371237222116743094712175965014593037767244613434196476360263234281848512711871574642237914701036349413086575305402787986364214338525315890167224174226819203782868575918888385921046054036708829256808805345953051435786379559565113325372589677830623202696621646734663625385847039929754910585695859976746991673939824346901390918381027965282152481319085881286883357301615084433128690785678527065241160355423833261640231694219495041475582933779618396541581843761384924961681705686647449451525772867122154368604202346168295108308925287167687283697678426730502194129812844074408333774669766368974431213480018614915839622038056595432312936246260301871764516510153273162211090214823235646285976105156942832779927055976447215186524160623943513826733131384404617628217997584205221954586663909092348490173403705381414486666121633243501858212033720063629062739468596854255626376015347759394524897524676325896082158961559757353948154136724487014381609671513863996635386002423199924077543845306126924166853182846446563139255898719011683981861652013266299317190062176651421091754709431416952379858760519564481486696794442149555449807872473817807992538921987057878672091890755463995277829738561018251641671918274144946549314401932232423151585558552146068278505978043949652440134755824955023662096624510499549285851002589767995108319425464092766453253574028