56033903780978797822358354663808350215735765271810598558003600899123536305876423541087117057418871885626853037995754227211718896228673353025543424477035669775441849876577740589744373475982939169566098853276849812012447436266769755318470261781343870247352548653982193372268053512330183112991615416190452973515689487410478204424729659193551074917207622620141581842172294139553425826133139449191492565140831010366368072903747394922689144153486511795580711428742137626967578296505718881492663107053731591675969097853354578181809539868681971184024611589551273629701285464873190404521622937631996395165097901682401037575441700479794134846818257173843186531186342136666500474144112818914236429711055987691226259125292020444446245985479219891625126674817276155374911795678182028582985638762841712043329839450801718785734249499478687514384163602662491791573255325973872847093476185220852548644244353931839815093589639310917301759160273056805237198263741242127307825215485952903188258678639686984824539232390962441619963678712934723859549038570510582905366876153831457773601755135424525675305812402653670967655530212562570760242187024408016035595738823050733763332010873243609778385146469115681608129955996589259429136469760739093417966536298414065585498084877421135272768683862775242685363796625509664639247383020616170412795605492350898637200458232038155879380646499532593717893829731225126767426199574835693950724848479833462283687194691841879393918148407437491073800229725711899583429627980959033577599410879676239960049196180039892868045456232939686804134476837578888292778374248353532821613816150578440358646504195806636925191852953012157609184763442387514129280472722041021674768730837798258284010546883353879727688266697578741877971295539666449517104725780773979786813330013298581528578607278218571867536622512568121467478647360264634215096094137156291611102316572665094645048279968829298186449741508554829582668037585428790644612659683284476192655275619471267693836757997577648591540116496935265591352337341504653216772975549684483221388474902665161715971242638996608280211356001914895102232706453114771664687310623443395811521828435749260078334905386068972007733144206111198649174624768041272335535720554867384541209168240010315994364040128546108589241586799641011139978247191459556504289932159254456565554199222521672897889981098793215189386414716213226513595488299588486028558172325454329488976106142900369423427381252759381873618728603451591343774720587135113019488943559945919798075952172393581351081935485829322855173739683053015828565251003305183504304635944096450599367391199162017928734437124248967460601956265445025656958885032011689554379831932588030345657465340532544626868043604246453195532327715887316314489886796375642612479138368816474411292247238164221812979295365331645230167883975379414926285414128123439892346998279386404393197555340263121891084871035386445481519811890506679569221459315934626422061311778075421996467311605171873255164144776666915083768818307840174016800018475029586130502206417016778818699078360244367726853042446041742136998739659475309465572665776577510381030174936967184376593283921486239641636397519473145363384445217032826506421637749375546507527674691070906429374190519981363831902766267142298027734041801375652043983293324692758569487896853703618606975727445237766033679165061707904635334175778767157533756417954859045916431206675322854715328851451715546842930938040736372107236829925299737003435937156325068035375447922326295957560393556828223240878144377559165179547749179863933453831662586341554025768177616748196166357773617201856368001849905986492174847234042782280256052485738558817990102670705904112894777784421728850857769255197925914248386213085549509339594232395760075333971366457402997162890949000145890757259453432166914213111287322985620525959716934976454783436562636721965166949424871315205176828656680522764502848652703971950779972675835797960664511407001344798196159831342644243848861446572380675877108328408732791796899993910834517987245755063791976857972449405630196848321168756116767206571784396748264926925803375666398727390247735196558994184671432321182697319968530881475543934649107683141582458667573733346277157436886887426159919866167611953327559139148149643914861285641694396355438129796468384398224339009335997307778252333613187519824339506984509092671074209412683237272626091297707185258584459272437529265717268474635863993637514516376611692845445502368677702195353634338512496827973086093548937560545060111865887580974477134747558199656770598426282892552276291752234778568138868409891209716443056590971550475186507557499481577953287203460935903892792366359381911461113839207440896995133376412540537904814783715377687954498546672355809340491107957850966355289283663456358462313562699785146808334040246487406426181785956315934466299599742134612733939441832537366382009439660948857947445357600360954707981157137726644544423926932232765045391657839139015202858273682934727013626535529428012775830484234141713722412906199574239509027402578417088290584333812217430717612686926232548320429741896242816210139680261639012429241146016279196050151506293324282834263251266046484768086822254722248429454686047687940542874279808739265607959586364834639801446396285721284758047638553797468328881757636255995747056311831268368037543849526541797499722688772977740062383639788675162428968345113196991236514917613188781925536269015304895060254517365924267745909894214671334189118457470549834968139683202812654856625945983275769435544551533294951210681659308196299645511935673433742540620344213695418161853735837277953946469993853645147493609157628515342716189713050007005311522596928217642513488865147230055869987136289939461178198587988037607429721886492376738689839777631877411676996935123615489071061773391037470355453411479643850337712586189996908890872659271690463583521721339463769996818865