7970644611370794025230099390102180860960105024597674410051105443662823118483957799122527878319042264377305057415429801476297165523114173840363129855830914736331750086032516097720846188709644492489417934561216099524169401755251723205926751482386810989234146956043334124327155742463416778591800914943781013287554886399149852763811803977867074847041974489845810215183276489697636191858462998964150302239935498446938693911572771666827489784425290219176243233575786424611444253909520017879184177369179870244464789546014802091174776679555915838262543577859815181689515829228276836845212778140722870895464529183533606577868216367553811349251574515215531561152411765994777774280834626702722066524028243315333053822770353339917811874549298727957125003004412174316013478599973141274367389007480445017614197720334335248654994138778175776957920688747077987671412847111373782229436531589718399766424290267397835249603518203680259572734639206539199833455755738859177213390714609743726999233972490178886114603123837234954640733395126582687873622985106974362495846249326135419319580981192351527711791854355879701478242764705777636549650221439273249391035164661620912149511820026906110891574955547116476384439511204951184520278366232152188743818596911842429315239431262697622146154135578310248265538899756466985178714518944577813015300756124764186110291661177371857557746842407326426021273146884740216412915545165635168200884693301750328153381614184695997467961683947825051351150749821258062554563713098482857471562509822446745865582775624372156674751692389523397955507941346833729262694293380702494544301872740085321828359931752225493942863647059349738254947227161488901411483179738730649191437262199022267299373334300990346451005623133215485608193847480297762969852515333545760865424668887165325990362279363099972951418416713556838287475784518774390415691015015497627144439219566007119651773843892481142269911996812944325332851225197927210975518976552655282796110114724044983470958270534665662593437374082030509713516625739341859987474251665114405181911930136839964224427955628471414016933712674228636373785932828850810265283612976526703969921248354965287327595694757273844119228451656055205086153040476998384484656497625511767876009146175860548988539118731653244521982420658842506746913834501293399253133158476678701389460820495397777886593692801572563808328377977808642354452617673564640537486296357114619686354989374417930297483567935281605735867329955225322928558792360076827277970575909183336592467743909254298611074806286945434865427532815234585049627262645509498670035658176774443715799234546008351762255989975100545352613587524499742629118593543974487254827425206583562753922239263477599097536079962082452622155914899192963561492267499541613057124039217171602534381942044875754561452662708355948232340653939073357388788903761528194670315697107465844715577823170975772982044687642178266456833376071869803342780849831097940781337627563661582027637100234392174719715432268112921397947013309871811325782172149598747155593581313120938683857657840344522585328643756773920495175021902858994599421926611025829833874270900154705452787492389493711191253277489333287022415150818291744199011745345752014718219573495569951499737375731867934041308653981123958643608011897611674558582909085150191734326996676355551611240712453879708512951565771487214168561848230169624553900912147851126351258092727081172575593970629226582357314887482786366355436796800116197037208229886540750115589645530881103472151129015522600514587997337766854672691721681091674372960035475040122453648033939049382101360753214073171906449416641112274362502611137824839950732593809153646373521532618617033843736162792654324875618175552360061615268607444492740533469884703276298627961014152491738779636461409343765197709714342741291049369396056823721675320749147170954359578435192385497136974751222483059043739957723956807021506787658903386318696591114893027078338025046450523634765117409557816802445549524987140052843771622557170621735118499987192855888886486176913530777675824289011441669142681959990476186568853058424735585620077620853065221749767479557071188041957894529177245544038133265427840873109650459527962024487902424357886432581437348426899564543632976743872513324135349474519550325126086452919950492874412923136601372489482788166042444731235883916461463174502915790935184826631575897805653589289282666351566150890694772290751423695858664511678857684097014157860154845527016212425267203288595067979072287695800344374169463129448818269202898065807458283957206644834331412336167518837460653233398135148936719752225546421337920238577547568750279618882296699502387714927334025995623558747255172248318587969169648146298803108677680029665703674072205312548371023980584493197608968838289591374677821842940791187438880918191186446901679707744721317074564842870884631156224784698026982315721171527314833853878533907342033047501697069822553232126827613706874371491610762884412835288687081357927462311596810358224860251914484420469646235771202597743756888726575265098904323883090330693887143874051524529779996446859975757184865318069017386524424753479251733336610626342629786370057541272946713828356298874945583182598415366666364396468321301989665331149141173714384848757431840554360369295281326552029964743835699942624413651873975553093256655357821601542534402741767050715178626759218307816884995373136753511578049380560063229342248529588689230162869244861577558262897598369377405696951911928914416377872381769176112806246732668732709865112830361558734691426565886717541949373339297686898592609444032766770382692514481828416670528641257989436084298975349355806161824341736073142502222253771947015803213980976044493582403752601942152147603432368439633821436899914638272158752957321197643111373133163114192266088799636258321882547835296706591761167303661359485082616872896259270018458