61563038886325124265551187584893559422094012175593572448672836092295427875084024985652148785625616575086528661345793309569498944322733959349588646257312125209313499432000858449972591167479870866722651123089529611187417114115783121161696926969144979792849657644286636921928954130206337754742873636555855121927796789259222961112995176985765087638394799552204542782452566685463724595904250163043205845739214928107503201925843105418472397724431459673116124455417582762346432583638436149695679551293623814006296471633021897645494919210612441905483960237917581774652243886388447294668673209988212039288756479146936774966170217780666561464360664719512452781899805673484353543975677562021802244134621376710691139202990820326606146582379013050124660847082149412856661270568632647052347278359954658866702133765784266406480744853205407290374831169726380066432404769383501336751728898112151081393685149779357169620367578271683745348727811283034855890270613885327608512943224428244313850265382901645066494194598952539448661349219636410325153849563683846700967328692715380877895955764644653874141624135727898148066264536732326593565298735968475869653146219304034603828551962319789801332073561319150395451903473719503071474545232133737695005261358800923633783893316138289840059155882674522052461304810562986325962752287913342840677533099483499046097527701760020718776810422734051958483785628575588773855806115945202370739657561179375768271901399069178433266432474866407738331322145365035250488307495542528587146670675421463884638320873916936525400666529249617762171464608865500333266855156178978347310129253294737217956391474691903695838573464368931590867952569844710295686036358304492330397953411656668174272462737516934640739755531579930842285337561276856515382394642953720175596968849973282864517536515525241885816706131409384641170997318252319653552576163919880387752735986831880868455201050135781190917217603529604341756566504269631658065542697508088256176495049927566994148921597530876087536780927040127920389849755093222676346788757490859993233759199742545382381243020860164973135252538567406042450711026022656495096068849868632322510618587651530602871005051243337652600265287734486922982474029541419876802400994676702723877832799642400933961379146674882866552685756980148722368794161198763125477708517529479636121481927036695390601797668305307557960147346715137454189156944847125572525365295111294212724507960679438684954255858743199202618673816764420989185491904214787121826312722322313128613336596725745236232501212449365057049844387541556701842463209152650349642437812954405338506541739426543378683677877563071681441630645918974233277204436102971939380231057104255215190419227481986902722597603802248506052559633023632290311651118131466088485684681886386309740855775842557987419876993171180238896012724570558221526217267065663379680899534945575243797746299577828185542462148594173995096654049904938052484233333147572629298377417237284386002773192872262586930327266801359977703573832165068587552073069342109855952534347207462552062689098398739480443917799113417768535942149055090663926298440956732925902477677710299985932389838343402832728326269468622092663229750606661658389445819875958289904879667729375231755543318781972666386468461819197111815389845911858841616566251339807685406814128188718729419297918637260347867083977958951998255742681633475646404494137729256274172469185859536128863895366196170296392573441073496819744239698923934577620485611350247448603956779974774932014086360354582783659300786234677074366393473354488739102346508766708293103533067478712257952335472223585147400155957334197187431195237758316230804919675824226827798254191353077144167799012149394324435441443901329915316680852619042507960177784337103226753388776955066231387682999268944195158575948249398660784580609578360882056239629154237715986763922716714745807390960532681902455738719738703782269425483518415563963724484501955937428580582875691392884783926730838197962521697979411604743466149037987374132418489297603747113010939269900568629841430017088182819771869390435612235191057883532285939555017904316748984392292534486589161379249134238197302864092488906075845244570218873920955475552697248316061655917616765111699932463229339877129684035183996801473296126122117247576599373645638635665902896555054481463137647013930604391515377424082980447228104318887414417679388862654818594239733976153095698395969415033176174670763515878668752653942184398864121962180422886334627539065447987526494154026476573148930643148478613487461834262191209821198445508858588288019345425616521165119581484489931319607474037702484697720859740982641915200584802952950330645653936797716778462471934175039111774525921925304521921030635087084300363880785030115027312066915067823127480168959231832749507571148220248354728183999632085439380066694777892279034453013577684699462633903579824356587560231551274380871569734938649112261681322505326463711967387155354839431994352573328082538850415589209229469282175827620868334451908358147226690986689010441860863686271338152448680337684187396855447202680575291315877311165677843626721370711966425749849632207407797895685293576215486036993737391214543261684772335783661783776863554025548218930830269205182927294573445139872537812496589837029413920614911029674285128620256750911577171362934965866629661419485838960176574546870622085922408221714676328788261379638959546157569819172540832781739719449089317623126107418879936286116847045772713957410064372188680677129390375031415362891877341186815531827486913542903968039361296296692282865246264846457532158528070275142424197684219278359023330730486892813295694443385406336568598452539435910128519549995739353334466286511450594661577951979955007044648222786747871599314692020223538293958007397495118347020812690706782540693517533614283931086784398893655394518112295171167420981852171592755247267