12016172999147825287216576713799857614851766424124827972362123620805257590511180164312362772336578257472556309704455822289258671226129836514664699076462399727212741146862836168927427667567514002211601739287088472526432536301055664774994521975469636268445844648177975883648344797397721504743923645434075537060442840934209213043104227228656841561670996374725684025838310901773119842104516949525554396411654140982646560572544993523573794681102584162677523473769635748154598447813645536172045855139217526123059411855801547437000354244948254401337729937589500712879507420418091426260593169554725976341682791924684678373869894749223502273365845260972857702979125972668500205681243211661976693146022925823781053998855249120141957974365560767134965974524140301690622083958052747721316486880993689970485547422004924456462705412838169221113863822336893576571500941161086700386939324888163366217955402424961946113324015975459813531528348033846296533599917413169416013575409353488021972272856897434212491795987893136762816637665341728552165646742658314803286638881607164467942107584904014775756762307729297311228636563032812941316610913502834948073862425532216508925997939119502445741842948924235932405082760295068571535033267818222487969249364717841211822950696361632091582183289478327641625451418462777464861282519956703469274084492928457153524925518117204110634598583415860052042721390063102888162041233178999711353176811716682593483246105069223725138591346277898097540491034786161387138161616368235545294468154077419325743692385557256142432747178726506496365752905191611288582914648942961835333253910221570599072649110479364015645544387899745135982742119212413888780668673664267463580585391808540379348652839098619988328131180920698299852388869222152049118715530116559700541098243562883959434768292031079844933044973316854777882799212083588492484173849743688242456125438571315783625372142112559241568077421513819104157686147562077230055242919501207167551549889340074606692103457772212531314898852800521076665380107946694073802729372037605157479023378421341297529900632217526032363539757762635145009703446028981597816199088087476313536929021371820307451672783646670669535873581453668353842027537337235641677814152218216860718954107349599179205175099105894331723575622155485178543215075848584617075760118436671218912786629363195015715371570179546219232453111621558634895887140795597876736841524517884419544791670358827204796489248464667734627216644981096356844398623287159320336173745586473243664593116908283018525395525376478822447070665019270253503099372169549709319107570361288685421212286173612992245637243784840655279218740528516224754276165526311425984554353744266598262664457914965234714714608281961482603327036996219594974854555865325180345136264387271352279206031901489779163323468418523632285316665370253133853952805762859378196498378978192077884368999366117604759048020191899558443331614592512433483274424848619645122750176674876481429294250556888189106722826309358245047869253744101236265537271248183512484960757874955324237938954538124283635624982984587469886942333438516710625358170367223375975954190742335531203632476433958498979579486171466736975467564727626594151323181658941112448927872594822193859463146458915153512749893534107798268921922658983258816688378355949565890317266733857471360373213479602483924511951878025820167213221843930957238431333142584188560921031945955935622606296166147921210976768737046295740652103754401323401706413261817258524783618228761478378041532642288781191173307393329063933487678558023719660929602214065763523814633022708927019897916582164179176383366486581355472326053669445735165433391341492692022692499831579752993017633165408258637266319458545856823983105098639417984174497089785510129537997044457238658711362115423125638573918800976451122278510391413035346960436086598993182357177795442739272929119983620602032449365873717605499754212958052145240414198333206153982641603240868344289157417696011133355236118365871895582301477145972609973662665582136114838700683309217120074314568229058555118887852638428328651547578874963187496548055383138474331588671616669796780063975197647718573424365512531665938833758056808919699262289010014506179819384150336329126268468547387980819894782934270846395217529250034596719503429656314655715139807417158447974795223120018377987426204804266225775525386035196325725241816986654713274797435444477597097110300749993571545941526569252528731060605170957557507881008211370253149155592979828445045168597631382881913473408704116668669009589620346765499518328542907245878356399846498479366725975039545633124582221691943315000215151221578606370121007716717151002229587231106571645323664600382213641194150893584511128355994296660301319234423545382361334395843557498942621950568675673455204211191733759677323111401809170421929860776516576448529651865247806665624560720396881189283947158749509243876069737622220212982906990944364167405694056362006876429843838468338309180536566542563304220814144870229114675546664979282615870178818356091337783663818894507954568724975556557107501719121325487924757839545452696222762503889185445415666038823467005115081838967688459223417376143628842380112665779229977888183005905003634893453206690803859967332771750128147492420401549137381198286517309848870319880279762638084927834832846707864786118762387625154851331943788684213139404367288056864294991583429648207879099308230914538814345918356123276621406171223449179285424200140995355396894198267411128074626252768552498161512537975782842429279852260911124323210728932993472897018739705764097653648630581454572717712069696052733147765277537075010716132116435103045877745281256661834024719587159351036757887749875697684427731171818806233498064826276940094022676899342277738654527411202748239802548913838187277838133691606436292319104930968518581064833811571115205966233988110638075473072738385199657260