43061719332317588105926544621192261839603923239011114307641846761012861118681753071481544692548863086331132337887869606455973712424362210523536697471124858605746218443744595661038409582940981456395952025268132378991543136180004830761727185067544566986314924627647876111747123757765889583043402367381158314647808392627602909858097853949838775739284449453924900713090377177790194241252537721584401975882094525323721437358681021712569741742177497514648442545295716148079521695185969868693390314819313730863242973835919132933694926769054429764935144271430056606377597639071844866089062825745873928925399183422503061679921574176324501512364071687428887970988559483166841451110232899003495223674384053539429696831280592816582364579816540528276982481310971272779311314373637014470216299914310881193962894385405052286115368499485968541683785273263577335712273298174915309245416686153353303846922093666478938503909608251278952788438169463807191513781282639113564664524781642451953563411065930760891723771738562482804854493724489613395835302262231794035344953844649063322294011131253255261002327619164676110141432591937624675467647729780226348817064943358877599701458213568982682768138886375571713035392668244099919897147243730552940691918549744351511021336442709065436227431448954873599372229899284301415926204990888637208170185171807224629729671812514949616896175658136659441449335715568468149269491218075556246623978408909175141293285697566548692185952085021200965194834695121949518284696084535413433561906631284852562533425819410044337330161221401194198893428978471198255224063459406026433414380747540765633949000185029525232116251606915768586573694663790655573637897378591378585238492466158471799095858787264118076235741058819039527826622393896015226879269791121901812908671516429595467023619021550155370071687509342068671382625821919474899953981186391030161220918384749592983766796411689249240968692549146494581424540048905437574052253337212358213698158536532054816999462268209152004782408730247173209309898167731547565824389973301153235751371551564802374849365668733055261236406402503460779414787471064464474944147427278412307206539144657259119419498209362026423540307052932565532708201685237274061401145654867398820397603225584250686140358282690391934838261129565406234951237699389889596897839238687447024465862566755312091432878501114156758205134360243084651895192113075019918995228422109042901278056744897935522057138516521678969221020876351213197116103789840216824379992833804599413678337744144519677048353943314448215880327776967381331692055219186929421099707220512344564689886104872763756519061909839526423140854855306935733817742192759211429327553096401956868157368561813423896236345389145716184218262941887035615425830891534152893253189451763584915916789545511667899206620726145170889638905818559477450015979945980030557314047854365766591055281669212844724535715374474191361006190564388757088382820239184941179006417350296808554604908539021156714554925334828255781300206378233855643256064418133345692307034877899961116068817950758754728829891024183952904152045315174328267933602874615678738833949786970344787311567418525492876827164869035967379469847474967497084527458616337027750340931629560288258654907203494861592946516693768783166859517147926566580026662217314337959213358797526363986441690883353362619801176596359550893438353679490615219748457943829518963801518219493042116432267322489255456852965735694621775596174133530782976374290857677260784970672534348279445630116862393649443493647590214890544597405619815127618281833887646193008458488027409096144482726640697385612381521547221679445190901010990736253734613533663166175674579064866768728043630198901672894596465691675741838782146483801482977974933597168351576266545477052972237832017756657178528323563874454165616699439958752148028709326477565082183760045213402692266605380670522177484162769698562557474294414485236955259763851865996164045425465872171498519283169647398409096139337533641112386201251684174085617453271025835663508161050246369397355377978608957541613044477282679606796953481772957612254047520895507678380621286549431812701477657274807672269991518509804346978186937910699471374677750943353364404267238680784942353312331504318872924697347604839950232698454792989685493610728564415386717156632869845790734246747568869458411341497425168250621544188330531925870734215240096020613420529045886656317720309160594984156077720993589033123691997033982187188158260663055942467730845978795076984241109511839923747377298835444668879441902939555665317107378737313685949940249018399146519871672985038677959166679723631287731323745140657395732602487775908353560642581951966761387375049297727179965426417275523626374977755618974846816125591822027204347457016681523453155002448440838746090776324342616713321879009040811711606595901826304717689672904062542988058207669736483424199701494301764615929193940918931923954997419666848649317299458519552281957967660275359786664254135506897159554449162884872556967710179514257589118425213429052574349393636636256365731952373999899257947238796593613487620962290708598459468851900905671482222212330669259740023697153210340670961946835975463722453758479828636095206367587179900017727675254402621003457995267837923339367319708821762461334575398336256727191122737618698339626904478835825588499913224325888924943928770273692343538515265818267262220311994125218514761498556116825932657867577742009734692470181733617265475873032895173394538967629596984664027546083640815558556379023798521105799177295764997495672658354572506787122775759764845299895624685392533908524427814107843017109444582373180973284267344136421293006077150216074861744137215126849585481666286666954225674249637285484305674808918226954734665874526759701144859386079176524296570122685998093887212689390178185761594332652899506156620094944551338