447295794778367617940993148826997884655966964887949053614021547146560676437204532627614828781246139959880736686284566113198218206798980784750461692699168796408867104033791861306756839014749638647674581783537501107784466116207980295996494686484532144893245747465320408792863238217492283157231699699980498960998154879798557716431042059521292037395031597754468609240412039185251436317341716123187651779843120839519770489162703645133225456887844761801177650216062187765351519581579471633434499322901463739599536597985523426428218311637109133850126173506627013777317604463639983253576919493763821733501076928527204988275869169877207781698576972869312537742344293207748508490423052289510833919868518288375817776248811712031744667774598395813876693373631087351967348200556139354259957820318879514729609383554337035225723660680849951121991275848388038340261519332737541562431324533159238235414965646007840730735399539632806065342642381857413598685162622071102860583629338962650822693643798154697461841274139517417464218112873111513353840972595424534496166178046276439197038259752737214444018559095439483028402567936052627677864551857702749529652101144104647422043801479665228813242144578492555569952982439494631717061154733496951899572892018676666328590118925356817869761349207354309966045280488499634205431950602520383288367998274158212675738674194801784620884035270564326000152763347658182820316837605274962987450176835468732134267085135128622353040333698499296567966814073208022467321978575703066640476572256702179827623465641971650725715197830858315226339705943879183373895892576114155192800160927836151282491512662484157461146092555380671741150694933237180399538499892827842952549616775616211043914639267490369163514691557062663864076637188445975128756217326169099033540334597129228428487373161678292933132573149672559106710019361633352189879429228525757454837248916315335625747633717854622853109926021413051430365985458396804712776232888228803709238678319705430894345717511822635032449452950089893656362849113637927324914017258452014229933996617243897961784606633116525362843181625192124189369554921032228793673308278216577361330086931041397338177515353793837269304762931732321409771646604644868079064765050846236739924387533439709223289739897582627971722967750314711937255549626604504286632172830250115466448129916593883816147209527592364130082245829737730729346780417078274725619679140319423786340124327228268526673504089745924799379631641309694961731798757181592737332858359153770998479910218918638834884100801291247416147672356249609629742910966167859914155879711361948065164375874876128558067155238766603657711703694128671136846226849281022662268823480214065472285174492014587215383276906961845954001005579940784151936591538882952561397946832905467104959449127832472608078237714802314158764444215517976442588133942383876578992391828815921647543718410809292894816297234504880580724826538210657849254584754378268900451156157021647912401193478060416561659395629399656070570007145826477541172562297999746895673132518797978506826858858680365127526562728417712844461568866149865407423371244861993797792995323186176786457965430625835848682369583633251515785763872347756681808017150812049263559739854492573551590958189143414424312672560090031807249338021601773664774308345133899996419861115659469192901538556885937132793461144331645079147228625323122263787376247938941776200612837958836504977098312866841094447517236378705256562418296757740333622345278331844995251914476419658357998039632691734536364377590285558166377288142711924997711518354253833622125101231621503538903660318468560255796642180769603708716338305839181081891167919478401277626354813877359350083647100664716806148168267698957260627808651649919346713880430622946669498336072025511764038513814914924185947271597163481066322353463185865728539660268198786881085442899460218772243591934335636968720280526063189149544324822307075983090971473405261819208834518111962881814911563824237441486927690837604880203797474992645897280436162764638129126694650692617681809651433030128313356029118510553471692284856763351447253406655354011459171956421193912689542851395110958817724157643999772063457223390665391647976042247067747111842917220223937223684827563767982411472729657185598581201491734538840542652217486766896321312506834398478303491956435297202009685452223516787524565860826888882508890072696175321380303022919991621689255425728166847465721530470625759736190136993372876613852017709443545125354381929608730927533373088536653432044669743127419983757688397398008367191439513656080109648168228057208762472435292842273885028366596383545387629624378677770873708723752959805532613625349200726683753964342863035321592767910698965744395739629994177535115911350264695944291916421720733748190535346046723169819997138831858742103167681047588809629257801393933271576258080753543948128062655785499735508967160881941175861793331471691607869008077557332704705617987967247406769688494108662107778654659154007163791625594368170819703799493214856137585133524370625791565752160546389642080854113856537032103097743155047098948949884032133282265175826038796396612302669805599328921115358316736132269759011738497194446489397229518451983403429614923141711832515944746066647879856732815022379524937841068596021692979079582789170154403052450066334779603142951985015959092306620664837353426973792660891995494135859042517111165744934847144725602905929211707892539162804806711943915037468075316894600296413884327336189676522189624757629499650366706952930579428487264146325488713912895172420173955197530770833974755398307182482152894911483840878731856978428309593891857353633331408462973739075479338390896960487824213527426398536145838538081127306139621160326082482912234259196150395180321833173300554073353640508544324084820618658936283174812608889521166289579882722996650154679328589865027361232934538266778271