22903297381834178469359648925511727551313845386985523179439817364767537794839836165889173984153402646594862729720380546373202498773606734890674478571137199772832370432672277989173178439190944523728351714227469788209754580152612421750291526431724649145916296106227027293184716191642215913445565010180193774144188292089243483058229189430623945709452366491358899992219860579173588785788116492178510776375167508146229641172582461819149927453648152531798873958557581821560192431668688904375321022206272226229290649454028305491554969608626721399843798613446744016789128246686936895979469273705447238374848712395835927199879663012811084922067287302677678733725303054682585430856479260594549149480135412410746023364999966399806059365787997670311726682594275291298493843904654064913353243713590872499534386612291828086381495759252394587344409390532962523787752348496105929479599785119878447689721622599792103584827290106447361921765574200233635546801924613141572956366578786238580643617619518743519655752347290681255587768454178032977904682211069796816166570194199949319806283132015129659959843725034075919317783603850967590532046189163061237378952642911143825613838124680247495690221331064065539168986894440367033301129649400545896840247673812629693614955969432146888626959168156055321821700871642564735598496159008474197347458842085911550178812400511725976146322079556098612952850201925943541602206187912825071049592158896294008100995991114222347712966487890097386598343608983747026012998129454308506699867115293675559242322002463259548219506664525411641079387980707561456205102498797237770570328798861678975486681085960584335653325563917022517142451742390594836331058575797850872223386112981622502531810422660357393765663968545858859205380791235492299179788814138756421587422646794855301845370636284051755377779340984862898925894397423811788846626525426556857995411208772061523468237131832413456635377484086788090495455509739967964732680603787904030732084119317416770771920352346768383622657696493228033765289125269371832678892929051749014160875119638836564075763252699177489043243488178968447190269973118848349574679886830628012473547685182025501742636514382411314839499879491118946626676879251733429887053442449637052657288015681905772876243674992419942915312460323163520921793411461463155733147834853661273938776968157967585163608609126142630645048194413254798265166399644556372602550633695497390519484938357272955818740036779472292496791779121763386996550699779458397888956715608466731066741059243179410415536437655744011824412539722185939684335027919125226763758252152136744438177476199615394623817918771927276462328273401170117222692129432051342878441420152698669085952772907900389613305576681962443778759732443653762421351831511851943552435245553361679663830531742699590293813701325653961932044999101960582365603569718455740106389203171096461751879737998021559939298136873304567964451028038961119823271647981531405393841811351749122361831351571576214583293287577949523848055951973024984407160657820438189615206433845198458145084418919184223233636476653129262620164557047906513611959220938714076739218332022506677888144323152495028981657995253470391079762430910811416167797328656986553577856679118616441651128370547371063537842753904297860758071783568415359664703558718434916638987868907658646069396759163845909394848812501290327229332225526194935824111942536387874888194455607888810402167596931768900539501929294330408694659622087638411020636680537042059800451843284447598284690716096401453369529486169573532941412242837595915817950856619565763401375318483292118266696879973592818819060732274674301277179109640218606415765845367884943494147366168219205041499605070849543819563602281853615617858731572851059698221476532395823690587187575118664816258752246287730652900829709184286919256684284926537830282742849232128884390224116622745459329010385760099650276267834406270240935299465631585729973688191639128042996427235006808629043212236527595616787661789819790286962567082147518695496163277327128724175230568884139962058320824069543363459179579726632090932470934181896297471040956058884839649615823295841752659552198523939906840439736789497602653646163712317091666670068042032390826459498835836216606483843791657949481510806609706553768853329338288591574863643054972902208844808184817044557238260972328868551356985312910281454286107936198969254656634089369905392375154146201899655554073295134637155190500045803257648545625588426375867281547545638724780315422155799464077798311038535102549864292326414667316675466444219478169362053587228523526159936913356341537672253471647812419810235678357283193170737946590838968806723515167710685521956254683867770484583290299804462580779812067276822994910624414936038553950439803643414216246576232178049942371096742356039961729645180584290426381279014255791943992494638006163815863023912669811427548924652283362827710197790110121128856403313325392383609080112260308568388441305456382491614277978504119252938717474440052779071971620185191161163996087295844723367588662157843457755806350987527874816505588411926884573541296009616826646571197636232853778668147196707210669276298587425066787738512690681623396864891858973216589068345857388993686349458777385813864097574391358054594327747817192027769262967947749428385416212704140722668266493717646474535647036448549642513932563956412666198648211627133167659020648574326520646367515436746704754146165288532353496498656942291973629835928892324933148295362766659147227419333857681104262943496142825440722755701751357446434159781782453413846130200914564464518375912848165609061224183181823662183183999868655280737454062524348409224680561623619800556249263260842748206813436757215601428124782329463462408315638571843517440675587414252138129136509975763478521313014093406597815144727610344331476728981727122094519178896029236355875130272023207737499984567725607