28376417160849407354421860981227903163659383058903727461563992802651719701140702343143563613794154346715525103664447274885921415761596188829124166448987465195272098481339328841354480999290806831812905704640122957089960238479429617106532424667952633715904806856929473746996629709224227858092850438889375422184643071439877805857148063526838743025355917872877168530573934854443351407656163543124604625899048061761844447351967296181680841748206500328265282601627526883429103326685473132489935502892236223097213459693402816823666490671310936288434694066483187611621132997808405637961879973111770618526413037308850653732727043907413460512839270403537929946834127694596857538876334811784798399352086988723731504451669118845987254515371486094000340966265488848950588313956720315169305549076479277662823045891161511524312818014192506234081260749332570931184485343625780844584781327715299721612509958878354352599294127934757064434051369278065818634549884216704438287698994437535022507189985443312802974652275959737932575698192717875623774336476669643612387581518547239558468229800179491238324218147764544520857047978302964218442485535922377653424140379103643832529733299691169922888462689718928926876781529903155506469473066882426464952563672955917134537743089453468889210632748964534536789796537856735760598229315725899417621724536606871930387767472264322821223651447069709916963677853579312136077869580514689923268354701465419096136894836158857304978105020353561318507893405440387463247163623232139729583981834438534238948767613115602672322708478703830101445490217479919978481659962917030281466521127827994399117356039234350931552869122811923697617499661554302971852944889296936852119916824871933121698744616800386339010190851847814782956934090476776568830603122886983581965841181811392779264858731763696826871717830128130918289178672315134188859683168427742571198160753018728169171205875594887713142763218621870925826500258273958389857766411506123933349659631919062429839616097422394949383542481731938093574714708363822835130399689269151616378985036146955958326738399439842181465113842803164769202482135621891951055686005638376326554863030937320423581943536654475224779531442403113076077413171957503518311066983154798222123256672924238774872794291427853502367836486693006014833714333708872266754749802347832647403802782268243730446450664878838631391482680037268420672964511597443837784358048343419254721371758901969585670515837942552121023238585409585515198171133507459076575451228456230346066424998903775367788495393334288849982823498691953383872902098997125494129491240016635566296341679736952543719923115619615061050570729149854825682984791413933138593530598916404644428851402776479712236686430634754375559296947868016159374257988851706527867249907913953752755593588589181788003517405682575115361868742234123945026133653833425931283444278502049208762541324892628141810505557745264727894067994744056463871595220197677321370272561804525117713620410274347361335871463466673324540646800449660141517816937041514127823742565136473485478742196268468667135685660866299392181643934816248719180137147470518259451824085992733390958142893448995677784063930512306701881687327854355431827451033198678807815879025111834909162716160971587324119893984019452299888643165841129898649089444257432153862408630811544742012377850142043498950925425939255434917729103155358226770602450913438083669302050999376632238765634998341516563815052231974993612228241636945496124337421835253596133892846428695173371652704352429263805575651889836143253921186375922093214378744659054849310665725157622613909414927611613220580672935027877556697115415034539988181561273979583816978043287292876838323167264027501475945001961552686808312693679276541719565375762269424372395141782527126139433782502832974691516287711874924704255503648302193367760997062807557361903545266234109468173164158658958929039732612810698979526885638572134887121121271700922938928481814840679527505988387461075516513184375418622971933444847606367545175501324219976079879908441240401442505781492914192242694993136932455976987540882713142022526816763428507228100848141112564850554529467937623287272312024188912764323011142646222329037606444887076994768113087670195290559466859365559004695163846437846029058707273301122543289777421789817377120967722725166081947449130423023052796614382707964580743493063711067415658540283227017184682629564544082694643326887631912896658171313800850297147589425736282698492208628180596635632430812273488157366594333253442707251953611308396136067205919282123120573006288808421188016542368610059652873327648053522185573737120386278874165623738195835473511417377772977074052498284234892604152918626345272849987355104407824562163962229433901374690715336737366648616025947693896945658537636517581620903837332978276907306917074111468224728596379371255937937778973702890327588073216361958005170404311882547778192194529262660386995141737809874273996693726963352386515987625709149365792842831833794317499243914655090531658174959654848332397776596335809479576662561725290385441469929882217135394764574552220826412538432249813702752773118212393661036616584599419224844529944778898592639022556343445548122472369928081789307340315297936621957362760616028962822585275891865694162873188633165573535220551052804887262864688671304344863465091288452158269392223478049563950189497658766617736907687603511281570473823511312726861127136555310268859077130792083464815765093788673107138777736935736882166733563136450346849331098233084322246674456811271604060485280930251184524759057937838058524999653733972283385185518726019922562993473738149426981360856098713465954344777645162981548229584811388663796140852874394620171235074576461063013130320435515066605261896623979776126130819923107185946782159266432382203603285936955136648811584828423886487551895940361901103017947015299932018403760196011069415747637087288684531265084305424961408