752219412557773257403118291396075557776420672800736491105524986327713540093784043344899647132769415424053715559318624016414946927177616261662648640913865746292035482930858815825238918440679444362548397612469293125417824979541333703067751345698260042028510624465338053335131337206525652522933853537569031570747949993232692996725635242116631821822903752224215561347997176422579944128645693971283295293722164552999057871112063393001592480173527189888448446202373072224633734956793784757558385597476558256837703531529481847631962897941756507089936121278077521347724637231451312794271900652307339803260607511404412134229340418695817644230375835298548776576937318934615685985717817573754653274608595941004613856464705207724624631474548371361779150888978765448362116067455079102524348972878419705616790371098342673649948900485335376364622891605781994939478224098677149954056088263151165347331247798979173870942601563463138444694242380113783058563607520853057786703296885926763505687841327802900756493934584288351772903433833183635577281190459361246468942732545323959461587745309942139020297975976384482293228841491178749931222859733296267392659637773852526745566190953135161652550528656800399448756975326939467190791337648118798843148719901639642627919960963627689967655103451429344557458660668920496143589462702116126848421573342161083186518674595704485242761133695087917692965936555520718663700778241376331673297285089614719097313360801391185998920918983137073917152139819460320659801367583875213470316364008983238552228354093164996995143921079274649856185461869899430821582714338289247721957168663582965627276868247184118252985127763498575628442274223991791447116975937367724586801664983798016469603873352988187866604789122640223253456659292476498267532812997785905412178286205463970761533038752315143600746957491464260246206223742592227684407957699315352683874679647871917168258363074890527758847095785832564643119748288474436937898108287134355724305958640818613668072617278650849182279469223618888270773592727081606029198885258522225739767449218609624622784375878500261276567941490070932401969972192765404428595058685124543789373167048747816068839550305537915458298026694459917554435609346479779192003366398493048159795223884458791578008963689379513916613836023797037788969240928033317427636690184477951656491350616271002796860482847238069131915436750267999266671775159421863432595707003490480754108143747790059039988730485642219869179924369220813954151134630482802790727859583718173854187911762571790414367806119696929786679453048597884112938025556972525654299032998873158700897972583215762384588678288717811097787791776278610383249534491016374673445346820956270534360149361233509151617612226051397145671227147281685571451648785117539581519959892377295828692988191635503691564942503194845259159258985770362045039464455594851640510235349281755797097544497223395892476238676400626653992150984091924284437549971331731723688401561601930616992125420248247792656696610708464026883676223193073510290313762924043874610684095352193585123695503205917197384853463724673598970140237317578763234751935365800615319304529190743472955222588580214472686398134489308057439702104924191037480139112654885683859977352768516838021542255127041351206510279268567236390948287651296875561857611623476248291153881257129202444019751941996568591857419962383385286648499593567494313452575451367441058261908713027262996520899928883593150164355713898975410049724974291964526726315652273858371122643930645844947264975582293131710013915369902569893742633394936697017779192269843282455750385224250948789439814871568388687674801626861692985397466083525328561851899983584494724585656186122336315192598216727816665117404615983874644878911994319867327176519965478015903108466983773059181143596623836872512994494966796633791344460431091898426459632568753972617170932759778617768672769613821388768854040612269422917141867248155964568173105149628772972978335974417714544846881268264998474430513216635226081937766967369696121264424332102360816175894557877656115665260241169783376663858428545127162955331350128551965858818001947055553124402011451233051099551789265055731316923527269062118003720017714404404050223066745186504051119329728801400081518250619370493855498464495847688872086271290449083944349284627594994633632873468953676673620276300925499213069435360265619285566383658157003296201498869355710232753388021896212526606940448441618193842668948261270951963438318406345948553701898068423833056639276751951153789658345327789950446523257231058363812897496369525891685611686199959946721446498686989369034574753380122946357832254045026604442692989279807383265069097927439876199608524199616531041864090432416036755040836165456366192475513283124560998036619521860815159077741282197587579870898924641145406323869461852315803921133722686224518038201360742035639924767096786121492091442355947377979398939982081406278667795606526193986376830852665804443201699101399578755121592919535152997241488550484352214642078434548769232328438685347684006882264887984206250806958431018022534552744755775343430462626074696474442138433716714740728946705591159571180338455113236281328360629283670588613349657250373469584278869130130115967839442620879292386125198502759440616079319368784511770450278713427915584056256143342359267559341837916422318153375761461255873342220059442918110775269058762216569072701293644242141364452183892613736493621748013855165744928234929842324598068539095906422679139272593538760964737783528707623198722135897318783414263403810744775484662376309031777290428960834902805453567128652328572341329521451679902604464967345758410817202465537895078582351965331504757811070688422696709447952232248699265373876484674773837838525997658198752528760658541417487629419182610168436922595661276883932455141777960736312352149733113724014531772294662044