108287293216933040707988363563179039397751889214944387313065613426156675485793470093175633619143349400178502424331107839717470606647833082673373347294774843716881579567699518164784989123945047273756636142828505478239392280239156599134789285914333965311077545981108353640931960495946542093734134552037529663756477907363280630491247196779323058316742654202622813404739011197160229294899985245621237789138367615976476987374076453176278632223524704910886838461931076397617525815293704294940984063888439365565286679514654167431179954541703307259351749097487433604486858496554451855557320141561733869637698449488534134982943092668524336618554442037136884364416421146468412799283175598624659256988356814754194956866769494708312455413904748649212443358875532804644347081201055857577737626033776254051692480658142756829940538680491924946250945211916391431291758486622164158178505446493084385699337391122540837282423618582947750723796703385231523278559286675810427710483568145134929660198260678498296497167517682992457943916175778184293375106612727928844113195561088329754278495454995245244526062574169138057781089857281455493466429107375863030688648607416395605608327815715783262682814908425061892242527461024198619521648735703548726322151082491153816365034896155453009347126930063281981017323508258479421941199289875300811335659722627453384789623964181143512609151806497161951367741287643135165967615715579864821734632362274083413901496921929632533229631065199119868972211892920978019151393732265114450274317318508467043241496451625994312623087548410228512309264591052106257930954152191250081116413973372303814169884538147193595216716772565428650855119774269490814617632352538076064533829581281579175814681616575675054447823126669351817114938931383676628268407359944275872549751626381942833178041417819982513575917156916876948077655756362191119841494691739638929344279389597234861005563768988053781997462267616757789521576690656983694686741566497088665023546444271133042861403378785495986532641971684981583335928166839497357113813218713057286161028203089131795789458130483959293851662442828640315807327135362559608244608125711382445463445021911626713126549016661593802598313827913648951686649343832319864398327673982348650654022234220456395344254148839484772761931153747956768258424814124524689745842296318482508143701643242354815285868579200758893345503231589155834714499424718991568674253832876303171953063543720053929598774141924348178431620475053921233128815243737304080178593291173985059216557738008269937616634135487615385198876339579006246431293235233953536857023984120195326018985707145333585534765338091419830339926209246691084977531607932662784140258641978750520144116435426937545285743731403232912167237888663057846270479360547864393357367648387393429102187255444042571378996221345948398727043932489235298386765909285356597464527769785368970335058559714437635697173812234697597409910917062878957148214995021607671440496158146608723997249136850623087486534525962032401156041992469970451853048749790874856674090139168579014457121734793630416897895823916006130866080534789970494236983589246134090803587295533745788801347429015266185821532775952609372067578556267312093352156175495618128110612756897210587390263095400944743804836440712296155828611505579172159388824982086359204846974093535772345536519376157275955324125646384228103429496503493396188085923838173637396914443092108182250321593543904148850534104758398968694090571549606210480357017789492853287204642377167918937440153098652914925031228647183029991381695711602693094274968351798988922494622536635549139970358174173644464187628047951707966781054909432456355403995953108670956440472155405840189453885521915507721110366322665439872822303536430431809694874091179825343444453327938514998009497340618640154512852406119253382861392589307916474717478268768935341179663867113694081296261450180058069104676863368149100879973238543468228564163470432114757909033474208272951776540601316013314314096075831588879567974278958817435859626458771861243088829308737156863864808428921685566216352874705965836482980206223962718049453258298719580293733429185815082186653337709465493384573894261384042164720938255550627548406940067788832697310848050118928881990833894312646475959656278681817439179128597161985404376773197176501607532688396917392534947305680538396843880067007329765666733798657011752476118569653086591656099693685536813892365481541649733906179343639795413732978288991377812550079374466524927908811158357874628536923829522888388913951235539918784280997129568992157183971312699830664621186264446165937509886709354982555887783334146566049325393339605941753314369979086608729211346872356724915696349186613271436095751183284211837771938083329747501961038512910986058566485295551349478361316821132572238552741425879637504414953945918633243983430534221034623121696657043232407120915544915779254580329217873466864109776181983202850614515371498296011258745261032714940643389983180080434467699276077591706258378343814750324047782277654199696703303967368191951414330812735220532264873766264239655906741158331238462849083480331535583957129191537193105634526169505716018343419441219129159525898996327916304350972184099840488183781812100948683475649989098581640416937302547104870347864507124496722649025831692995648958533722264452088238289392844734723466107381939453049565831223529359716404666243439939256307109138233720657495408640302546788427340545284271214266942948533928653456758439725577797892969512457912555580109208264193771752623260957916672585453595222261699224804650651030263818255589517079269946854027224965127598907730094740438766648692504794711827983335861617085505314999956677401980973441336206713028806862927674932741160424713298495606146455770655825479949615438475389079047309510953282419232273547589795471205115674111133664933336262654385683355967247142458165227249686