311378604523982968251376535436166866812495631618054822999296011638586964448013536869754299435750129671179453012196139484151716445864825718326442345188900100388479634261685668553789696835185521433429228927606071189890033707538768335211689770503007741448718148455132750704701520283541397566421285763445424585595290624860609412147172951600755828154704641157599291680566455153656769261996521455213805121362601539290111082837114360181688360644555118539934828632993796389389163439135776636684783427274615513197456202354623949446017777899514135808908210395848945961111483897011565325823253702587856909472787010723433879115808573811171837387692733380697449979997557480468127955163361055946026551855421308080174849464290317713214136008969260498025319702762817495548445378755018726359259621068202766989641139167449454006315737233172837503958037414347703553335684622378910538481351905552885180803989776482633552834138768497577550356669022232249268074882223835071881719250294212655133564158324947671968761372810372515605933047831999043835041739947618340305466392721908428636394360928593999170667187509255158691358896120414847594198269169022446669052325792620479668692543442964546040593538589177508080225622644402985851570566627127296216489417539856174498824639272151311881861195322726869448997368491298407331061394510160908453989268888935392848637162480394481773372722512774542145459296750140326527205750229940812064372959828836133449409770796476829624031707643899167849060373392494835406310958211853579412606366378947763858927248841439977084633218452668449945509912982263615225861989221542116769290739666735804259245277245461456459594282525578943613223844928990097627292389457266444348253673735949788724077846463706115318758128960372119698287769508474240744083829833533767320918257110146576385348218399663213540326944703370593079192123113740527466910437257288596525163671722060209711197690456418671070592841321715336129739570214910177331278043743315930614877128098675176623881415687871527388426146187858209330028896751548060086795738395748809341148015087542733359298440928744609968539081742657832477581019933672098755311561923906321712215997008847276898976653149759316926735937642616157192526180760382127456856992637356887168395061001207821182671413564512575968299990946379809023912219506575174859823750577440341790807635878023916420124521777387420194670731278817490629233103498608158134475477293934926121584824116842852871313561341075304781447595280384521821792243953717678052748552398162668489899814124978293752017084792376040463114652728969714213162284913895403216387993809746103264430823498854547492459107837401487951745685155857211951672202614353765875088488685539652862691612637438837250195357151748251693249171008538214480661973392776956356232632915888534425092797423196716092193256163557379136342454362309375034138019942874540155293531327603175395996404757173718402905532024764177978126077978713719996337542146369136233735537327991756370279577037439186485813252775065456807148735884569752342052530233478965880925456055399980753268883675662611696186239830368158662997510235286067314621923965492324262862718437382573008644788585839230590411532801545617181110546929552860233744355550576026011257445826237355986346180411540183221638410761368425615673407550122917857229155359405502935502728691654562582667829735083847830760727742726415254652299632396446902831224191482982656243913111995692371972274157548986477510440493121646547627367296430485148216644356162233204404142218408662223566762809917848653552942839620252480319774583479006498438997645390476910980344564758940621365707623446096632211484157649102633824598685759479981925807399011905956042444900869087257207973660388548190500492442542347570570897951802549067063644410622862046357482651069645192590583251694890491453685678045236173369213576203798594711219137412742146007465615034335668619785698920442333961398571888535146503921987806029117893788353244842195681489078348394363026631778342972886206731688776477836173365468864224803826822019968692950401415869079223555642657945556909522247412798170728543553630977389828771277083228816537410383838097352821301839558586246520763325144181838139636255685561959558415050591152323144084316488543568234525154336038584084680069861889753877663261712543096832717270946663581660352287505259072441794111183067791180245006238443785439224063349712608511327568384557580938155671246011693351945790015469833997394523759739957724721578979622975059673927744429869150842775595111882044138418590114158679880857579371773460912412866297519900505636449916523419754322336299269433157890103668758820944144344948463574560829663718917792596985134281610875655080722455114781138999598715535177393517527801734075955983683211918160793758144548937931610998170636181694722648450425036864654318135328146098666615632133708028829853876450625759661814968336345567423224882066533822261902742708055811723357378818635205565732430886891891289177038745839667499321694144536605737428603225444811402299464080576070342513796548149079119411813927261105716991172190291998963589382985649922233270956281207543488446520598818505073902946697160368830366165279646179051292468796825431327490353148023902837420974829407056511763610878976569618432494707251838483318746557177205245673593154584275064063405520648688176446911072192352311183415381934265272367876766255872775783394449725881071817231340640917048816085851998962766622865293034158478192001287213983989422047441831477173782977800493532000971618266226566397533745798551256824643473398321922249669383957864360432351607788402182383586774370576533521080416624574177947162977176315955248489707492213288370657284589975426309992424073766712402924318720748916214445750653831422280980081128197556287016193352033511459348319960756944593147431966602900768881207087732417412945686651686222391516261551713121542722843849077120408438176050202139047777739