633522067717621867121562300811228529811490879536512937300587844163687946121132431271401892014977468746921746614866242235577374663834293410432396803187261905281854775178672146481203510637354354298354202453169942589665525276215522881622482538661655853873270166623712406434345062261465729036475273970794457918165637726113655450592845872802367529012843337757743696559016007698411545141798878333222794378787381657384298358255492635577384566762655661249007514121910562102156229257987864554081973670690474712586898578918540285728443621962738384328985818188036972769619396714729151924818700531627246787351655619225526658094703439104097246865711307608451916570498352405944136782506157841308406848186549224454442023305613386476100741645685660910745745215190453645520450389910339771300217377935328410749305978286234569664285594857149376136658398859204315164441601451145016605698310376757785491812363690269076979384892265705231220824974300180644142301253294884869969248743414488750105557157158957540523421936966758392116739153102734526651705933451256311456058841270189112895379857270127719551836932818355247644874689634864456084118886247023339283451963565664274986659422141954567124706128842769833691971237916908468685459015458759871776322810181570956743458467021632907350561528588146943472417894846945897748154809960202818973559551471918027507906392453015688865123381914443898322927138172644777289611815577149540411235124861516512114482443638988631849151753618194200816541318013608530973558955143893727151726767158554044516880594761351928168762235946345784138130196772236439445327119064694726459269988770777320176846143917190843947721602713692327245582552141588334935191362332157972696798829062065843332439433842839347287643507287967862454360388359244979142539339974377251152100293243825724857584685449404851369689948424196832044361695337011167260879416362410071432957744578450969569957894025989411138182981269659245054920452789290648553672331751296017137530047849325800403987710194029992430769756010434296195868159166633975165704313957797133430285029687662991871650166421913156701635465087592932864139642962631991684183580399179132083329677503626381676852579856988178056278728954366308338222896451884257271014555917854053698999329409933162732362058269322214819939036681741701211982294984115274813322521552155502645022222335715323790293811106655682447342622161179818874320033377798359892453197304106546275443760139511253609688951216861388642813474560378736630697838543144427693606540637134977869685712391472812956590792014545320904489100481162363521627760521379708853378179186468272172417524632296749927566378460195941515202293541113523590618658519259113995900559243464173999593574935519440539269845642727489544867050600189457990920064583446901562101858874648371804756381089149934737441366764198619584144189813439835589071358199106927848356995385339206733165385651282126088201988755212333854420899135244140025491424242388785288319871578741911423165764891458575081418572056725479366760942651365584651189232610851958744844151219455628280532542696824738129612457759375666933136817970740852943922997457648863431920049624694264930829734886094757777273207549292812170759581253840946594938678064383801373560347352517276899809938826392735280947175668635002847716152287606332951877857847852949482323233755286381387270245088038207790351505625856592502729713896345335878835483432099358172735817775258116069514544606977537313507041851386683838286452704636449489634275801852227145028142744758325970813474964012243303149880991172897847365586963537455874073313636647428970404861917869754269536021265765159511996713402062498382483275604860485983735467155575147674774287971726394797782424235265714655021335361149488155544297983828863461466682670744842293955924804357976883935603235892559616455805860816183027347122481343957361248828818687462348855830988026131371764980551569766687424216876378186483600413907791426742803931162066455434843186342842536811909599348424428204991795391886074298156633369339513196273788893987745676965571786695997145243715232621123068856482398098958351942691822761966847208141517857627810890597355179484964135969214628982042268424974792825870263149941130883608575453960164207646492634197602524183421358581057802331511405280415017354581806917343035277822735499892197502563704197120225841394342529960569259345266923993764633557558654238365539113124349579274135537234368844729722210072044270545264876189858427201557359767631687403140072931657794079403548320550562827773034793936671926853575332964446242603228998690953457686051498634469637661366497410841922608887884732727328851437375988767960575364424889965851440746190099787426313357567709647752013282255981958084545247477357744117481578995219632651944984598127226756933907182574332885725353839304559926333205166815607709443152481547427336219405948521838475338558618872547410344525793645933595878514158779919140262298902779232147240305722792952370996761339878418270209139651619349053365691176481917020208094938056987981928464873776918656337067017826098923772288997852718286402678686072590787283949918892135188327420594654264119481822265822792359706239118413359481431734256413740849393802668281329763363920847953509486332701805494834735297518390760230006723830654819712735930383385119487601050290447488067920231699692918333139587715899713751753437777743858615551153945275379523878637695263425475854828931264733944086634173714768802226167839861677912097697405379899546380179805288362166053571905173988716930953481462807312880131593957435722625129389624457048967921485419443777265190293571797624490679882255797983470673585142895323712146797335739350656540972239957084873810798963671253237996667760445930093566803567106941599956478425660627797632922723067078792164827966842010192383256557819135182155675732541074328273350690671748496163907813659755544343472293193112962569691694