356296625962093407160646547624486281432881964826120306478970953553490129457072092109579798683211951668105018277340009205835969227976705396530108046493342644875149760116154783574663244974458950369707013373742786572327232290488650897637153538545893686086360149452762588223838046033769471216665788303298457283321119473088296961610376686248482971929865502151538015811481071653207732099878598267507388199972682236938326813581296656678207774443096814880701779646198686788124810381778633685297978731988422864182269420625111662217178186854823813319389482117535986966394825206895278016452749352358076379090091157278380121337382724153118568292246954009184346758234510458327200587062124620264686588608595779039511549536542303926216219394765938596346348152543136304182729986036846177893884748946585231666157545612482265509428585839629944897737702257913587116117987443744395840694113881465430811925466866726865777478676743920732457551985810411696727213353673750981933075043966499864995700230524929875341186974789774310017785020312955765819474138774998043818776212981131718821374331572822032692582737260283116473346589350340774814172362941340338093269446101024324382027171377087505202406189192228604976539959462634838644832121993338968636068135953117556725448636804706346989873488660114635829371463134934603863389125782335698921335737743474749983386028237762834900755726426120885035863111828344614832372217168362202162445523074030242711139251871515459256784594949978668326196918132343077181290916858433158926547286118324286321728157599914569357427305555727382802470962220851040791999425059528895934272114349452660847587451487386559414542526206924955672119320853491964347980129323339250309561114310364947191163231862732094477555751644571429986107663021930432450399712723937217824838826272814007363087479698251649515037348379237034828900146827487457605287014288516587695572716974017439852513116294519321584461977360810654862505071505101119110289642923992715841463583190083462826614963923796351755696951528126252288030596278455061632482943569912930718646808849233264608473737027836585261794989580505791853631160810327722324142429134124187235283831085164446652855124855934526060459645710932371745632582560485112550258307242611899362836545288591593183192463214952919643291746552543422510265764581477242005812566483325678699321820713655787711168081034178404209772833836801726996231707367361982686487464227543386139738472923944066184565459669697999232849802356407569512576715661121026785668154830152945831761053783464660515326017901059756288883766185770205350157096405552785111337387165202286835547456069462544561184678747673775840876707110725095897523210669361199564843118094362626739276213540627682739377818745336925159423149259437624923083330522963278519393875686905900434939766801637588275241694713736405715711519949633159374651758332059387351249016740092696275875858654153876957073451318199417919012907210443782697608386696569876565787959935607190828822771579176375792164857922234395553231719518168114487538773636970974915327888167391803971588713529484681156012988683688479822291618461097117350322247442003592350641604340070996615577076149349753685942636795409625839864674835488880526477298836067433286832962193645627438819967136407742380451284871355924308616914352117967396795102926930367581736769276904144875731027801315790508110162771947198365412934823565042167272594593294514175152743025168447464372686686764014047870431424357325994512038111254936626268986796865335067847473349836861748598163317942758381373595713698903158227858213276026261971502453808910482620961535731310537518665917827355597427183103260998349785390192812324099641739212630417889386511573187726235615415604843521587698451088715998086872774275421856823538232195397210597596934195912517381862955986736187452413159489404048879491635723177873805483482716697343873919951029881654718387179527079738933376623590673987722438440504038980189285306791640518348508185337349252785249864365732248174407278984371681824373641532952444576730395230233323313837387012690064548622327925119782028714927723928479896862483362597292415582551876460912306483672336207919764763764443591285617909507359753549725559510736921265316825752420371680732311640851254596519725404558312591946212043224505234409948857094279931215353448993567261970616051364230915410378471217873978752375897021389528063957309644262074597431429032905594292478309413380911232826566306967774492769901355494546265926290029559145224852380839542123856288621418288332914692494281079912702232793452712659429669007541323579531082618283964923522934217820567239854726948755946481254627571679547816530638883189120724534703664531188371334840644399741267974515347465386820404765586189583594514204718375044907422220626316412025289792263098054411396195977771100031892893226812978853957787719846190652596615163531977616120538418418143778986498705797942474996738604774636133271161914889548775709141389819820965356495458672905162588418958362868768540398022694700500246099522311925616218856740557227229619196150280431551978303483098451630898033324598450051374498253742952264620603935220994163484020338263487161261371643661685109126328752102367405821430869504625693579696748347471655384215451158089719032291495378664427514589522233642817966494339541560661285658861417881613879894945626363131625831061196637166672367002503718464439200971384732877811690466472468554811617327074242090423498016218589832079391818961415848718070537169474073836112707552392663376753708122932683215122246092713527669224624733653133995616316609732889571403129444863205552143575906544184694271734744747232421073876650420196606515915226703527492663842402490819415717859523502742291023186388418531623359026824726540486580487792545123423951954896550681814085369469162909520728215241316518155677615084695953147423574373357431733778410182563204836935262379546292325213