1
200000 1000000000
277070644 821448656 32046836 692581206 752724188 152851132 747246306 820067948 42852354 782454774 498207490 503838954 99910856 875065970 641498136 162403404 584475906 300402596 734675462 883014002 238176358 287103630 249850226 315233610 669845622 979460350 842987476 18349276 6272000 260561974 558249042 520065022 412910558 681635510 508668206 429278694 157990718 958368526 128350222 858796430 229523164 293608206 689641126 546934512 999651300 531682486 174380926 641822218 64950114 678086136 747297734 724042608 926802608 307713756 302371618 560630442 266233504 540178966 756610564 743618128 51414458 659495520 215033016 872927404 496695576 125192124 170480186 954128136 542418840 873011136 241464620 763343018 38720030 827877412 313836300 301029246 995909302 71431310 364823092 503612340 784939304 235913404 622401850 418329334 460853226 380496834 668788370 300661738 462362518 808548712 491421342 271630926 249035114 611580626 814346800 226028114 453860298 126195150 978374084 596759916 620520598 620609532 751158460 617112414 589734636 944083004 680907270 187338168 478401872 647328368 256922622 741510644 421480066 974483426 499402066 42842794 230879620 87028260 77191332 780583474 23488924 612077720 727855796 22809938 139311584 510838172 53236108 346906526 137081944 400769534 263489460 877901604 777854146 127303966 755250374 243932376 62626116 871627706 74394788 507749836 757759906 608602844 311935476 288879482 348818324 811121064 965484086 849351756 575102456 389475048 883141654 453880806 875464012 21150112 741886730 644713234 917267688 264899966 74152816 628551456 628683392 963835608 837704574 397370908 299190948 70301054 525654160 754841470 697567544 770739516 232037856 819224404 578479512 27233634 508348656 584641398 849606528 292907546 311951666 886114852 59604420 449979028 39733198 190360612 52190438 316171512 207332952 98106990 962038614 521624222 5096458 200246122 235854094 7924320 47695884 115018674 415439114 444058990 979847798 248670970 708289172 919916790 405604206 356602520 9624188 855381500 850102526 317166946 484082878 898270950 740965532 328171246 681536980 160734988 328968746 574064542 531548716 216028434 460790108 322096458 548818556 141783258 597909532 146068180 486006334 618041720 550119752 848314286 461825810 668309714 3007006 966331088 950261642 741516578 515270632 534180950 584661732 903671322 236196982 887190800 12098804 190751246 437562106 120782134 899459152 316559692 456906026 657521856 695980012 840775152 722651838 736816280 386772440 899447276 224352664 328658960 477275912 902432184 869838628 533630846 10004574 645305574 686913372 460431804 972328048 802777876 329765206 35264232 257963332 772886716 585329556 90048154 665519004 670938968 54550876 99183100 255256230 379624864 418450906 277226334 837249366 854325152 831079538 505048702 348547462 866852652 429215944 993943132 266379930 290824900 730180352 346528222 362130390 260343014 296808132 52427966 116704346 834857346 587984548 888204982 257564706 674134866 508068498 636054322 39579814 507340372 864019146 252629336 204951472 443581826 134475752 22615364 224526970 497706738 145549384 655517586 758330798 360451816 11578070 92241268 633641498 402237824 994748510 557431510 296747388 342813978 964140034 453985880 583987374 521220278 571637556 805809572 89627462 86570638 453242692 124004816 486184932 115855612 338424676 43675052 335018108 976542672 375878132 130740942 953419892 343440900 944929420 147073530 770269274 126254468 751234284 646240714 464294922 860496094 52467358 608139750 387453356 429688840 919056258 642840388 298500454 599766332 643480674 560049382 174380038 66528904 332152450 373039148 691393652 116965354 54340370 613245164 392718088 394797380 858726826 463895326 645668368 216818534 192837764 562264646 430789554 244197086 827942160 408000850 495946532 298130876 930614824 872819126 123995786 373381988 867186186 236401392 199038916 85715602 353016658 176454276 475370678 67554002 541969802 95959930 485334596 18227568 486179190 606175358 460733704 827546760 120358272 603809098 714795518 73267970 995277144 162875116 63570426 188400534 850124462 57795268 153719578 540282766 688514004 33182664 230665664 405999666 228684930 380986902 97663074 706949126 478896534 992859772 911764842 157524712 63760058 366607626 529578358 401389562 322368964 898327548 489579066 449682880 454311182 230695630 636080388 158474930 655162804 850643120 941455448 266688568 410209810 341167198 431715994 251226898 473686596 666166806 392798046 396113684 894413380 932184370 744706258 122436298 281724520 889241494 364900488 992029276 384914988 795836310 374811310 712675244 614357058 797338298 608326596 895430150 999055294 636161112 426933948 837787788 327390160 341601126 35622332 95369490 488543902 182587738 749913098 330908656 588569022 26811810 772598938 982994068 469440400 15014430 334381952 686644698 721870530 221378720 557530430 592849844 423857782 805643246 797116372 684551990 561824094 482074598 216284014 573561858 820032144 633210106 906131578 815311082 79915292 977593712 529378148 262398208 900939718 381776750 493450794 723774096 742005022 48368418 193673542 890846280 794568034 658715880 142162548 145923742 359089290 133778856 400458238 201025726 744323824 449864850 375596630 377965870 600621164 903201314 565597378 239158672 208922130 961365110 388915320 355812260 298968606 490281734 751656598 170542904 18552838 283948696 172387138 422804158 651110760 350915752 751538352 722963254 450698994 236013746 420794048 720972562 730544208 399239700 277387314 633947980 368087272 486685258 245274112 764319890 799669938 227095636 223407030 968744576 210607696 944724134 733594076 828696594 962767620 389760256 901351564 538241764 40021072 739676724 4759890 298002932 989908552 750406554 17807250 771212012 453678472 347758276 454292810 445849912 691160992 891985292 255461920 393048546 355532888 543600798 549629792 287659042 415844840 231663884 862895026 111441674 490623236 72490826 220973736 616043814 511581608 377470860 963250466 402981010 551128420 384730952 146326874 503944638 103170364 923016554 760004084 492711582 958188674 154986478 293748878 92324638 568007968 534434694 901077340 691825496 791699218 16611956 485349990 3236140 784612518 410759304 512808784 823371596 445500254 341067954 85195474 242058958 669698618 500164754 798658888 641809484 305883238 669927342 936224826 878538670 573561286 949046728 444419716 303849676 726853142 548542904 702022242 248020292 869034702 316498112 461845742 570084794 245954732 879908064 763512912 657552710 727807864 477205408 933984462 689740986 692914946 764602734 882717314 643212132 282727050 745048984 565500610 981269288 84269204 108202922 617771228 370234418 788376898 920393122 556599736 574232534 265948450 257497620 369596370 666300930 503249208 248898290 787518918 851980740 275896858 335205254 614706184 362073854 667917054 640530366 528790016 430465568 802637082 916607384 840918532 139571962 593402410 24620866 315786816 691226974 442654374 887846656 592769714 623208134 52847000 102958862 338856334 734571740 105992752 207282784 714262264 699695494 677972336 976859894 661154246 983609320 316751350 809946936 647486760 433842430 978973988 669255846 454689342 506785688 924866428 484278778 731247878 58131168 881455778 570193166 641453646 48643910 104597194 705050620 70233142 14160210 560385758 938719430 692044068 73200956 882671870 608452776 332210764 732873644 266121158 935051938 869237534 460671518 229045672 457441646 333548628 319631874 183933362 444695872 963408556 217297934 176913122 790461148 891436562 938794834 307603372 116255612 276290068 744331734 408396680 45977584 403779050 663037366 755749458 635763978 346982866 874631846 286264548 176631948 330187706 969255952 299950564 785866586 624856326 733957490 107012294 328380120 524008180 291548200 220383118 731982008 301867856 719094736 714362538 113310942 541474952 986483356 588272044 480421892 737316762 826772916 871215036 363580690 466382200 800993210 836247726 137597508 512191876 18637732 934124176 552438008 193204232 816027488 447637122 504376788 352840952 621539956 666050700 647329596 20339838 193678298 635552822 23031926 878031192 989795058 730026038 59059396 272770502 783965284 962578494 149209988 560422944 692258192 362657334 557104162 248635316 81291384 752798142 938919706 683209328 86046418 212897522 563110186 801311794 795247678 419742752 131995248 566777574 845873372 92811068 821945554 171657482 903037104 560178528 239683738 517117910 717360976 132020378 52900036 653878096 838061560 353928314 881834930 268720620 11143242 596231414 780517960 805872358 68161824 726607400 421218196 294785042 348231410 473209956 265130282 551354390 422603246 215331660 943012056 250636464 990053626 160779716 945203520 621060644 505939132 397250492 581123222 452041862 161161256 676719362 145662420 173497710 851743872 132738734 234921650 254995584 720350832 603692492 906548554 643796972 503929570 590306510 493136774 87371824 752009056 856414266 727894598 235554732 712911332 4296282 448107676 306061794 672814068 891847000 107469690 330545222 739287798 214590010 90923286 22451508 831249610 576848478 237552458 468902426 456760712 192853690 275598216 205995368 717066624 634203746 302350530 82223766 341353390 968739274 945726532 807280230 839144950 454418854 541185996 860991556 733991030 739765272 619864104 567708890 535454334 537891848 133387552 719851162 763434174 887436858 859750960 158908388 693696790 936711470 739813974 43198592 733495786 229444532 817038982 862474520 919132144 670361302 157442464 467390154 146849470 416382520 625869134 152364066 338749578 952108662 566082754 12423906 489468840 625905410 186031488 836009966 667274324 365339282 426419612 595177928 210964828 804896276 585854262 382108182 286415414 301311444 638257656 669164382 272663412 942602642 896903004 502456090 349148142 730867610 662891316 851661740 650685884 556454192 284683332 467716454 479286220 719282552 681273374 215834728 220702204 579035512 306785068 63734016 800363454 680519314 98819472 189159034 378272502 698656268 345951986 475574990 792585106 85024824 19411674 753324148 162111868 690448520 749333992 745051244 550147350 765952692 425016238 286840216 248495510 7795256 476977750 700001928 21701114 376223608 900256482 112739388 977808798 230577334 490689482 831581016 656132536 4632014 934391338 740579602 215370454 895594842 457995492 386593162 420020512 359565204 640311262 704929950 631900798 571828698 775044136 373801346 674156494 83037184 957859144 306435644 349849472 383694990 398916862 262281200 963932850 243010252 111103032 884796740 211343710 445049060 63511318 337308714 813711588 81542508 336228186 795800132 986502050 778112318 554917382 45423792 529382040 274010746 77347044 117801970 804355780 46661764 315880948 171166682 147723066 835962894 884256246 763040674 208839382 411476600 297922340 470487368 925134410 835101754 42362130 316723206 205139886 689307260 843246720 42549482 21040764 469364074 11312844 281629462 468399468 609109288 94207454 161123996 510887214 787982404 403845060 977004736 178934332 384926326 104961282 507213710 690492530 444687182 985480146 150391440 535610022 460189642 777867928 724214808 922261306 788511622 910815904 86902926 126012958 747973468 628591792 655384480 852729820 550617820 567164286 146829130 301795018 757664090 243145580 850153636 954785740 172667394 167692436 527401334 566608374 523755816 153216552 204772912 462879260 592868114 410957964 975890782 715255184 754296920 263766396 947654030 875189310 738977306 86620432 452999512 742167418 737396368 921932456 399858196 898743334 329624718 766715486 491865920 897832240 449254124 487250824 326498112 34331496 95089280 739848114 793615812 763246024 522979082 625062068 748729748 793380076 255057330 771687758 391767428 570644416 65766208 751886844 866575812 416065680 815316386 500123888 112842976 944034316 154335612 549721814 430369804 919603522 405714294 988864840 398932000 153774330 908343288 484261270 960582240 838562928 950002760 428063382 801773228 334793946 389452102 783915784 699436740 808389322 609101230 703142476 729904536 469340462 842573156 204456856 892678466 451306442 562370630 109574382 254238562 57070708 534644216 622218792 217895472 857570914 814391012 632554116 13735218 139959576 233686914 138018072 944963364 555747998 295255628 395669368 298989120 437765296 938205322 977752048 520514192 128843302 790873334 180235980 859028376 42651698 34210010 317343680 137028796 898868864 6732904 303479446 474827212 125848552 504317090 559472246 25447206 281600822 191152710 954622194 48543868 881306678 854205398 292233904 261237894 233793846 227457872 409006530 185647864 189898022 864535434 411303764 614959950 465178320 300414834 654691674 993507382 235669986 588573510 715229332 235435818 260989276 816440010 938590634 439392892 656577400 604666674 582020680 890782386 676682446 781785656 302660386 991154554 744089224 252995068 839234046 508039730 522957216 990660254 238356290 842390652 365559210 138207746 804640748 519241180 758897546 772136862 580546872 620817594 120424404 190195670 394410364 383643538 172939746 90635134 413193704 909607466 315717346 178972188 65361736 887136362 134461436 434960356 198532262 875625602 495599414 638512004 135566412 177045116 648886440 577760944 679924974 917673640 494526824 314390692 836886528 766087512 948751694 621897764 233463358 753170180 698159054 278591514 374490596 309810816 993329778 962089138 225043008 475510748 426835606 193196592 329322868 489516180 344491992 42249842 299352412 15382646 79236138 970857834 603898032 410986242 365870178 536617174 976433300 698530244 599074424 943328154 903085912 672976090 761214020 834769250 479846354 618228088 89789102 269217936 847239332 570569414 131313414 673938756 140846932 839838782 941096028 679807388 578006786 478059440 688372200 855606874 680533344 63121732 231340250 314905506 683774090 906541698 537377878 321597864 102059554 724812690 82214596 609397412 371499936 803505900 827752874 118958238 315318770 250814166 202083708 650723552 825919386 133096328 27298452 625620276 263140838 190078662 837920422 409293484 2448322 284670188 901926802 153119762 671680636 79807596 701205048 709051590 655064010 212228486 878770218 592850700 740200608 282943974 423103272 421777504 448263914 736224974 854702974 750452586 219316112 931095886 503598026 216648080 213149246 577070530 510822658 317700786 35373208 182031894 746480154 127635556 8219558 253751508 164883890 615463084 685800092 603223336 65344668 395352414 582167872 497291532 520275668 883818856 831374352 48734552 962222094 816758422 890616070 350594154 630653532 362745844 213510538 875166636 4726278 678434090 373380472 180911998 956673582 244423834 907359762 6916392 991077704 791817822 366048946 286928418 706178092 509509360 35535060 545746036 710755758 554275442 532057970 51216728 177330196 714086230 7498342 604980062 493764142 864081592 457031542 194395476 100124278 528523734 529691982 256612426 743880088 596361484 262411294 77870150 647223396 206925670 167053004 947884516 730494118 252220830 851856530 814610770 488020540 518619512 591150942 611894362 282894834 208443988 161111482 607698024 682884726 901614392 657064132 88736674 107695846 420340920 866117102 532947156 418915836 977018178 403138994 118642780 916741692 323722524 519229888 956043240 549152428 150995314 946076924 183581880 871463590 446452828 726442398 39297336 291252250 318756036 603325128 434946906 72452728 617307990 69246908 901030040 802465076 30867604 365968552 893246674 207678036 299228406 806010676 784402810 54266968 967249416 328069778 686921108 570886636 144106714 716423648 587581208 33157758 328996714 492231064 620729844 548101518 314303434 87862198 988134750 728483392 775064518 593692376 437318260 842728218 5478176 37758840 512118932 338850128 988693312 335873854 694610112 633964192 613450974 441530276 744376994 338132190 946114528 675602474 376380828 719567034 645299074 701876496 331271958 896342840 977417456 413867950 755147854 449903136 221588 651880514 109407440 373221034 368786696 662456778 485033216 812889718 685520274 539477856 891819942 339633262 235014082 243750952 739186322 428789580 888096524 118620698 155245348 110821402 656576352 159744530 240150618 656938028 457240166 35599978 709706472 832072086 217925628 226951616 714874258 757105252 889164896 558186120 693481570 729234060 940002242 694317310 320473554 105952598 893495692 202342804 981210776 809399044 123981838 189106702 155247360 477125340 264361926 224688280 601700814 561937190 216557932 887170158 596390308 883325234 795053044 285562260 80993788 730518914 535391460 158116600 436568790 25856422 931483304 374488910 495776164 980284636 171421404 425143096 170400012 521502564 19546220 556309480 423444936 511677912 556160026 303089170 389579634 653557870 402380732 949927162 90794316 689686576 257800538 904789730 894418094 161679872 203555896 536598010 172151750 282521254 312653164 569320744 395347204 899935128 595678410 977491796 988578372 387122412 671207372 617229830 442242254 604276704 658160922 633017800 45836238 715979886 740412372 397627918 692453930 158090096 899677422 220316748 899528706 211803116 983006322 961867552 747153160 523842288 942171576 833343526 412835362 848312400 676923558 227849162 401787472 414631918 353498516 907495572 337200400 394589706 680412476 608119204 759750114 770072676 494492350 333304198 580650720 570026034 466688752 322591294 174830792 967973664 286586402 748117654 365437786 941768618 903277528 397671844 735591458 64037836 670466730 757037446 486291434 389861914 280222012 292326490 232891272 941028450 202390764 368172548 884355654 57190878 21799652 387566112 516365334 573856822 865655938 20316170 193059450 798819922 942670610 160503030 519068036 998099666 990282562 813575118 731815556 754520872 888706510 550406694 92834376 361758406 249679326 763343330 194047994 399163934 104100698 365900650 260545420 665290198 771783858 385832252 689769092 126539674 700072084 628502214 823594866 339840042 138107654 123773470 410374788 984287794 836047460 654268294 3363072 572488662 889465784 798143022 993080840 550245264 528512640 829189916 385574856 297010108 665006550 20015640 208489970 512520010 604273612 799729212 614954484 478159890 880397226 480125758 850154064 691654830 879269852 873887576 724302020 708328270 223075114 305453384 68715178 988285560 598078296 469781118 833064142 591234014 386181964 231240514 874007462 957123254 736709904 467253522 163269046 668533946 193423422 777485400 224624342 820317682 854839494 393561278 763045990 570374032 352770094 884962812 47469236 244655632 158118170 685892020 342700778 103493026 708269130 633728686 146046146 56828414 111272630 224325578 533497650 572268698 273793698 928880558 477655758 604222292 798373666 479849226 663468168 568318988 512392492 954578210 219500394 908942568 919232302 192379260 860418820 280475982 862136372 541419664 616947464 364831850 861294134 330674038 692040204 709945116 899504044 816943746 829156842 238639158 300027652 264945132 132079288 800744732 585157768 829888228 310471062 361487244 677221260 375768538 92605168 802389952 705377134 324772014 825524486 679495484 99556692 154217694 364605452 762895162 590930278 480961520 527169908 935633364 334432844 739046348 561639532 510781958 27165942 540257826 495901160 59654592 46040366 422289340 722364006 655781784 995744818 720005216 294412308 437219734 706598964 505655828 825065934 767393098 980143702 97456468 253987622 481711878 535369968 350317786 762228722 4304884 450963550 581601602 68698630 50289712 266063242 107580854 203676872 860648498 921541920 282403184 326240572 215544358 724188086 348248700 617582012 294995596 518428822 892697552 399549004 754164470 736851228 381026906 986250872 178430588 786253192 93450182 982250344 531260128 523586304 64763436 379697170 474137664 772506196 648264732 402333498 439338018 348905288 291675316 33802458 942496498 699338500 865160656 213916512 961235536 857075296 772458038 162448770 345443668 364634398 829485782 267876246 307853860 322140956 634268482 425908624 114775082 625370734 964156944 909831194 142534126 621425380 896346556 338193266 20631310 715073482 24518124 41394394 360772636 647674106 895625818 208626886 739970326 112619474 105718472 641036404 858217098 618151080 554365620 86228064 480363248 520908484 724657804 223214016 369377724 742735124 136035754 79648014 23768564 368284318 937359744 71531318 82206190 562803816 6819266 342616958 424565044 344820266 598178334 441658492 415886674 778233000 279473822 628609292 55525686 522400032 120481728 56691006 170617130 762320442 922172656 461648160 255129190 686875820 737969778 105560524 187996432 250798592 963898420 740650768 134921940 793337736 654886740 563597474 723117548 547705656 547640618 208944636 889698846 668025650 577441342 424668932 882250074 128291460 410235856 289808060 565905430 219009492 571824478 194368888 965693092 879207720 294976978 910858712 679533278 643366230 486595882 916794408 387155806 152237186 857724910 850906700 683269516 943035730 685844424 662453400 185198956 500748346 417167338 133222854 925578908 98894888 845487400 852856088 496788088 900463296 667129578 666165286 165139710 398050104 631818618 558364240 722541346 341331810 326373402 954754474 494476610 762740836 907421682 775923778 879732538 506331246 80537934 448336978 884828044 287268566 394952708 735392890 559345976 235469606 450067822 927663636 728092546 243190006 220849218 765770502 155050400 8667190 523674776 874835656 412523292 489406340 968120672 776048396 489466972 962976290 724232704 791302924 893449006 21739568 22964402 623761938 748287198 301680000 9993584 396669856 216830770 470324726 48077374 999843444 967343532 693235576 486289048 942734260 812419650 65266800 533858390 289858978 996564526 781104212 563457734 654958130 752626044 113545888 723170616 318932456 817574704 301550488 739765896 276482974 204828144 44862408 336721320 425936482 239795698 204381310 218692540 60687392 514082170 211156258 884280158 21629284 235393006 78952526 569117162 702577420 797100372 408746220 956998374 178210290 415881126 657131334 487113674 166693764 498419274 993910910 330949978 811164456 542930398 590430100 92458212 82008878 280101720 200306924 542210482 103886480 641443648 225037502 89504920 182915354 321270762 918484494 611758748 430460642 363831430 768811722 801512090 423588228 30433956 540853688 219539754 318912460 553534130 497737430 803209698 503052444 439599788 612454138 654298072 577275420 750821058 380398860 141075324 108086120 97264464 213626296 75852584 719723742 11814644 883553116 632922238 394470652 390742648 1401530 445039822 73928276 538645232 560073480 986996584 18219388 203323776 911933226 146337588 101481864 133769450 277958124 21649060 701562998 919817526 203610140 628353500 558175002 297051040 722343184 826161234 990133242 374777844 963485866 876651820 383384260 537318734 12235622 964193432 205823574 723622094 841849678 313259378 283340942 79145664 221438278 863293158 438147642 363989772 320390490 762582248 647062080 959963752 173708252 92606140 758172648 135901350 455699704 573280944 817217150 68195116 547828534 762142368 546394760 203542216 651908760 412846086 692115330 668987452 721066092 912232444 381550338 431198230 714815412 970018462 696556624 587671362 931346612 905518470 914827722 90078980 62614448 688168532 67062528 146948656 65680908 68969634 893542996 65886562 923613080 252236718 870719810 783731008 906579690 184284126 672976558 823161860 363283666 53274248 977123646 776989302 272878692 450885938 102317986 269784962 328991626 668608468 56875060 337998298 655033512 230750934 425648452 766337194 3819128 531616190 419386802 594677686 878127874 922579846 46999666 399855690 92317494 830909736 46924438 519251712 329493224 748947374 813210634 477560704 728349798 436200880 732321904 963127310 24785586 737564130 758348890 701634760 253232202 276325512 864646292 598358930 791272748 754410914 967249762 954152618 258342428 516999908 420911050 47233868 396628816 189107996 171403450 349748208 835408682 648411324 117280606 984460282 33354696 351315934 205876312 338353498 783385652 75338376 615310788 362168694 610403204 987336958 335049204 703769076 939942378 291870270 783661728 37416042 459517986 704420800 679504250 779111948 780437684 950532530 601145406 766023756 420449874 391792004 621987370 546854318 447949300 402553702 547615054 70811860 752890046 186518370 407256618 842605676 26695480 338264132 86663910 11221978 999494954 452591390 97172896 554921606 2333212 836672736 426763592 237891648 635614484 975018304 638783998 795793386 318542992 779020272 126690746 134945280 279547948 65712070 354448648 525233240 289348330 975525406 519823860 826649590 682523566 775799834 729969266 800532422 617878620 839810370 801317336 440820310 853514084 290574974 506921292 444841662 257469772 615412474 704772460 488760460 445492864 649563100 400654096 390792654 528116534 10577638 266092356 620657526 57498028 841445880 61837784 456901656 41937002 792486386 303937158 892868278 709848090 194137116 528274242 856248174 105246670 402917440 304734106 74675722 337486342 12092070 81423714 114131278 536580650 951117704 671654210 164877874 640961408 922532930 426848420 913153156 906248072 828160196 413823754 125800608 805638612 254617932 778257254 849978254 794582710 362261628 941824682 743687446 21490288 943022460 639269472 62410642 427659706 688772418 560388632 303490516 504127982 241840872 804576386 73141034 425247294 508936790 711142206 604941352 95020842 501434556 389120402 633979582 638857132 661281630 268064626 126769958 478923296 956732290 443379888 58134658 974873510 550168330 445943894 913870598 711789224 520253168 306095286 963667994 148788038 330979030 255523668 338551266 706403582 272222206 488689756 939532240 389677604 916713260 261008552 585219722 729402406 458815074 821956322 999857720 800941632 880834524 859143282 105838322 222144938 362416606 271492718 46630794 991413582 724114076 38123092 162647694 485440854 312373260 842773646 702263972 528933224 173194736 769369212 715263444 407179358 420163780 990988248 931143276 547564384 554554190 864175344 782990494 400290188 228566116 189677298 186861332 657615802 120661424 248774440 827118882 117271472 557395990 309462740 976522484 876838030 297249060 499603596 16898494 17832576 427422316 88373686 724182742 189013068 205867542 229045462 37444934 738887118 655685630 529389300 457593690 991792036 326699284 991275146 202306916 400323876 698871884 223188478 540393790 267871592 878274346 640081682 556054956 770434968 209280208 64552104 257772570 654043888 825518050 927094798 522644934 572503732 695167610 644221660 123596754 520369258 207385874 521556060 449607596 157154134 90047392 107447478 681625330 968995708 841496786 120337380 492423096 936620400 184667588 879874508 587222608 564066978 674120494 287373570 980103348 940465724 688169860 599626824 343996808 178148022 41958030 447013416 840926154 995189132 339641570 639258742 491929828 153413224 854131992 924155728 28648912 965610054 788641616 827768812 807847574 411712362 650217558 197829610 160928760 860608162 349364824 533242582 501802262 227563940 711275296 500469600 2688724 939459484 700795154 985561410 572942714 766261324 401266532 287502638 571661574 98718680 974915246 964886254 540463444 205128456 381289700 311682662 479777108 603225738 974159272 527493264 422528858 880191128 536915386 492022486 245360218 328282586 109419182 373552398 153749704 621694556 973640634 429976640 681450846 187138824 674665268 824076848 919555088 390538492 513424140 562656196 753038696 479556360 486080160 659417176 48272988 548189274 543697658 973347984 854594218 368647220 102442300 122378154 543499168 140412680 787910168 571886876 186254510 538686924 441983292 91198578 735888568 188858810 295432544 540653814 412606508 865462296 256112244 404152176 226862402 675753274 262727508 954129940 371798026 510198372 649813398 545850220 717394886 207663278 772490408 699172468 306578680 459774484 721380582 762230434 29926352 46926054 336636054 592275996 902273150 207745982 249888000 579615550 969842104 401054564 51678732 993176152 671763660 876498596 113152324 737946470 463208994 147717808 513288406 872668242 165187772 515179814 340240876 971601102 642222712 456813494 396816964 511591998 828826228 355920884 814495632 40989226 371353334 385921230 998267576 73295486 183206098 480063514 325318872 381911174 918405258 624504270 631219062 314932592 562480432 486295176 144360132 315791604 870051454 300842658 313834682 773424512 582994532 33255408 605436122 323870934 761745472 64600734 436284754 760540854 485394782 594432668 330768220 952631008 744288610 146379550 353702530 52068564 462236620 999243184 517072298 795190452 572627842 602656054 366045830 981316672 230103898 859311046 799001930 830921982 817771996 831086228 892378994 800215698 111541768 513355998 303006764 350081560 50201326 681239374 726482954 104911206 879262730 852083498 175036230 274568758 562400710 100187036 260252562 903202538 527003318 657380630 986079604 492599706 284790338 470010510 381606552 836670526 559529198 283573440 14033252 386213082 190223614 52512722 850279242 466549910 470375322 637836760 490463466 348946504 787081982 363858140 998502168 368793642 221368480 818473156 873917192 709978990 515544804 160562760 944070416 745179844 370767108 46874636 28394640 634202906 592235848 224381274 469264670 988861782 376406032 413262998 113426222 122131998 205686434 35556288 490164544 635773586 574158750 777496998 707620576 716643820 59562592 424812940 949672158 926449444 559726002 707145306 763639220 301869994 407032918 67868676 442949706 239072738 436528282 572022358 389691404 723680688 387386664 328291722 17598426 302890232 598737492 618954058 639470694 662902650 220124844 554540088 319093946 303066246 837149310 154616978 796688316 754302834 731741220 606839710 160776186 556186420 870216184 992891318 254544730 160884830 714704306 48218948 347660272 461879298 117101620 358858142 340783564 521773562 171299448 854260174 882496852 146264644 971141604 583385654 142801094 623560664 170841518 15402116 486366826 926095562 216089360 282507796 320768288 790735644 56953180 966224290 568207554 454852202 533462434 635792290 880732534 896933452 662850490 663689072 823942046 663557752 953365160 948036768 867038466 861300554 629288532 395878822 424155152 373670882 494608600 309527250 285574096 494759106 537851954 39017140 885262778 327907816 946499532 93691184 657916180 261800412 881665316 385357962 714441202 484211590 535506438 259257374 136932308 557534038 353562402 793712664 785657604 171031580 346967604 967923500 19961136 150807768 103936748 70180696 473365956 943119648 700640836 532021872 208054126 42616838 565988912 174196310 902044258 227110028 822902864 13158330 336547270 313766998 318857838 500265600 503078072 939773770 606697142 753462072 48096476 184528710 244262160 609790246 666932006 112460760 622482184 103541790 821626480 443628954 670739948 216086306 339939534 288928212 898776162 128764620 261312058 508904414 728349668 66485044 783333612 160418252 901770960 108301484 379353116 366918352 443563998 859975386 431752808 797440370 400614716 486149650 113481200 616329992 553020722 677781720 435093970 799203112 823788062 96638694 592417552 127955906 562571650 760967694 792371024 264259558 213979050 76412100 496800374 337867810 663418686 203925690 643887046 622432160 327908390 320290190 671470142 760596534 433196864 735245242 483273006 580621900 819381346 296476964 641583450 882331206 192607298 553218880 933092486 719910614 705655454 528210756 120510956 151922486 519882008 605224956 423634392 854184712 746302070 50476732 447014118 378779010 824936682 487274252 434646792 760351860 594570392 416569800 234411546 144071436 67749890 513171300 426417754 729875460 661624138 94129470 262404798 897946390 925369032 482179066 743237892 194367274 819880650 658358032 765971526 173796624 660084864 881643752 637402258 241211562 479047980 75883364 900047828 59776098 910084766 907872198 378144354 921453178 53883170 255000770 201734354 897359300 809056174 639331304 728828684 643337788 619300516 633711408 499137268 341164850 624255798 577885716 77872698 845541688 717409492 575101038 211525806 149167490 884636302 627047572 298821648 458789680 686191238 493354620 904484002 147585412 426263488 788793874 658394250 751317248 865769364 304539978 535799802 467305848 206303806 189897630 349453902 294123014 677317122 168646426 468942920 505708494 175751900 387581100 224400700 97985408 154784136 270983552 998473892 680664542 818990436 815917740 203461912 143552974 704445216 517960178 668449690 320686478 717858140 662245366 303313634 155829838 1523766 518972478 996887784 354493630 852889414 390880786 749728258 676362444 14159974 999830244 665178046 197244218 58374980 768945892 146204182 537907086 561903662 899680022 88947130 843987446 557080654 784285616 991049708 247798032 29491488 321625962 941807282 365039280 217053730 260857888 916296408 175767388 800237260 892449850 853404610 72022842 850907040 970786790 74330868 416049714 173681884 870759948 9264600 426329882 776568810 347087502 13440940 624203162 75154248 551833478 910758498 656426858 485151566 513206614 210904154 552884008 335807082 150948902 880354076 940494368 975350896 824809900 911818680 378519572 273137480 259049238 193172000 540119374 248051874 324580910 298460252 785263370 285300692 404208286 115058544 824576494 827515782 562182274 3488544 991652432 277046330 687073478 643011900 808209108 936284424 660150894 240130452 221499624 425787628 804301598 92120386 708629302 951331868 509738492 420329482 471810036 144250840 87154434 905511406 854305860 353492952 41755574 697761562 913687160 918312566 670669548 281747760 561237748 145770238 674718054 936853926 229837560 150442656 695127782 971782848 446981084 716142048 427953346 884204052 304510416 795734886 148971960 442595570 774277350 787842484 251033030 530408828 980400760 953122158 528868940 231375762 9079078 233750442 267727228 103392190 651538558 782140424 811455710 959841412 612266062 341947496 677041518 599661422 951684830 28733796 720341816 395385584 360900676 202416664 587557700 209396360 238440130 526006360 157533332 925615594 416674498 209642570 421600566 96879250 188882116 819412244 938332592 995871730 211657300 61331392 479664314 44973616 993721338 525861628 216734762 555552060 16982706 220019898 726230002 180035294 142662430 181681172 639408336 243013018 322387172 90030476 520283112 687425190 34259928 969408522 330298918 43053748 695387456 666587040 882581312 272717490 645060610 464037498 352951800 894848298 647922028 397974728 525680604 808223920 219402520 456020284 115863770 313403028 151592498 522266474 733435324 777009592 67014856 980318818 263189222 679822878 303974762 433703940 685490698 742898702 910964638 198517994 876704098 910363004 571868210 917698106 571129262 104533754 146523306 287637636 180844852 69593570 447167452 343759956 365222204 275634716 629451124 776889442 415346626 513112030 840841746 580569902 489708832 702909780 22567932 822877012 156327714 396508332 212470484 287459824 908516222 851513620 133270124 457325964 863790338 245859224 124974476 654688538 248268788 557638816 533779190 782122840 767256148 792748200 336063774 776577806 615105486 323600290 896553458 216276062 52418320 126461028 958508312 491089414 689256376 187601730 10214446 124273462 817318414 763584224 661979272 201615152 936198502 399275336 187161868 218151820 890742918 816344094 920284304 103597756 466071530 464709090 593149630 858995510 974794992 308055426 277015266 930962174 822959132 183044362 335706922 370895774 19424514 239917356 606950384 592241140 353934308 742524764 315402546 864734620 877515802 590942506 420402220 620764626 562506774 572251768 689671086 650851466 243927454 494279156 784882050 670066882 668698846 327210180 575939240 87580792 830845878 575831938 374071562 490454614 365863932 213851554 673047236 262193052 351114764 485766072 46665862 953241164 95347200 241659050 219301764 778813942 506941752 620125114 649990520 468634456 611698366 669633192 316663292 302428614 729545046 843691568 132898624 892066718 177142566 90745348 743952586 532286872 281123874 270251396 169111156 671186902 48676254 567769064 895536338 896442216 745509326 113639226 151905610 757400628 186158004 612533988 681258520 665170446 181476852 485500410 257064540 409970890 291777538 743632080 291808456 316389102 416238722 844090872 832304786 681660008 950186836 950937720 66169578 622450516 383245204 20648626 223455232 963153680 164973168 430367040 900987878 656168316 904378200 989831004 895310420 731695262 199488122 294497936 707787604 981193696 568718108 443284846 845492024 198645264 309560118 123081272 759291994 324984468 472207232 807538042 284785324 759873550 874101726 100203602 551629880 239451368 373568816 53523340 109098334 847503954 345229930 973109948 685741748 972226516 414973208 24106788 748738662 113442484 589166088 372555066 848605832 5676234 600123106 721032996 303155956 112859144 629739080 678125436 266232334 506260926 372662484 916140422 68888776 427327600 589401940 549104600 976777428 954942482 545386812 32425528 615113838 647698166 431343282 612880844 567060304 26415216 509219012 59133876 711385602 726685098 280581442 184835178 741034102 398581520 181457132 845240412 645548328 24506998 453854306 719027618 753901636 59684954 684251708 207011616 46382800 404714716 148925422 728108760 226991410 480067780 17095056 244025476 796348128 930835596 868875232 60831918 453892916 381875046 605948540 251422234 614415800 534344368 542781010 511216178 621500976 922981870 694660576 933954070 635585022 882927532 91336522 280518544 950230006 989221740 634618008 644915410 16144436 9035896 261210086 225852668 171036908 361720220 731279298 738180132 927294156 150367054 193262776 500328766 598139318 216663080 600471140 544137230 912333660 668735398 20057290 343099228 444409402 486970542 521874230 155698262 927380556 880461624 54600920 207024988 273164332 469076356 365861450 85473878 800857624 805563616 773161862 382255992 621105670 616087124 830384290 253137850 305119512 782369092 104003618 947577124 286220086 638187738 439571076 876817726 877731388 474781666 224648446 91689060 821269596 409665968 80361710 81642500 705720796 697360912 607887576 816415360 357173388 479666058 473430502 805838948 98336586 393670450 242500742 318047262 461308682 789105446 124838810 322841664 565643122 38241492 255818720 65370036 17969246 118404008 648408410 22385910 541859654 244537364 283344908 566213498 733959018 250491574 993348948 819646000 759852906 505040388 101197814 425962592 377412632 998534822 698223670 86410262 397000670 604952354 273322672 69850764 958808774 444994910 385634754 669079004 120072280 356261246 914126060 734252910 525180132 543195146 52039714 673875732 330110054 530184514 921250830 357614340 831228984 965295574 131499236 778855686 153627176 351269786 376757872 816562638 168528600 120563780 397590094 430314514 792340726 166067634 489964430 435384434 63535876 974765300 88516646 278115868 442404172 949880764 85699834 848706818 456758640 693436202 54558882 7472224 546652082 286256014 392718566 16293934 617826926 617413012 957069294 121808718 294828318 409092272 245332022 896886210 952336466 136907346 39998080 445304274 937250980 850991948 251961796 270852092 769375814 336697568 44547352 413450240 190198826 669760820 233701678 98851894 134309830 493902788 121775106 532491162 994445670 650161640 616404184 440264720 143504508 577559886 558831728 443262568 686313358 765528614 511195996 66630186 276484508 341917456 564057322 464656140 799521864 139398612 252706058 364716496 837326932 832088066 523693868 635566698 395785382 337342506 849074376 926841966 989531124 906764676 117233254 401886458 988161336 461129482 546936446 881673160 60816856 916837122 849124936 126102308 234769618 424829772 608661480 775556740 459785292 914646620 803202642 157193018 682156698 568440652 377320416 778865902 485758218 234043238 187667978 680688926 387507964 907061150 404415840 198683576 27951332 719831492 574353510 334892524 70971920 766761428 917470822 506171926 686661146 67330282 539802036 79144204 98047860 559938100 96088468 943624356 885575996 613793758 853362770 794996444 360260804 22746110 167315574 222408364 122212486 984029768 141433270 265808064 489286580 462515582 901527030 656463910 196339028 466527508 411848046 153269172 356542058 910157414 554478900 995931048 801304516 693069732 551913076 266359610 252691590 230758164 680723332 331511154 699581516 591316410 861841188 688018302 441438778 682687324 470021770 881805782 524725970 518102380 63478898 914743554 409391876 641641284 594819046 660154604 61167828 93241636 596268190 166701036 609433070 661262546 168264654 334747628 47909270 984339312 254613190 821980888 801975758 973020640 43874470 752301522 362046084 863733030 309216980 780862476 186719496 452565064 434205446 593047194 260345304 288043428 88197918 651193144 187766092 676653998 157370804 15048062 384469150 989186662 309166888 169748010 541224138 115475546 130510890 365188684 406679390 844600612 971624010 33565026 841523072 166045210 510470586 615326066 753297098 193626028 693113108 131170902 467440630 180754366 290824302 594974664 309275582 225779520 311369410 136569892 273021646 350183972 459121734 698091308 745417914 57262000 146888824 791803694 603841446 833642462 311247766 233620264 956488884 447760864 671887592 645615344 940659294 871458458 521050526 706031034 498045260 747365886 994425158 936128450 709163292 57219550 614281108 923006172 731157382 409241336 872063874 619188048 130265426 852985632 53081482 946187608 45616572 546479820 715362148 220075338 743707012 681691584 930571948 916681188 153689148 366123700 730069756 762540 617622014 281952856 643496102 479380320 515870810 125814326 674375788 390245266 278279782 456357750 328916278 462642490 991127830 366568880 887848582 278450506 758831886 755541772 762912838 105519968 227459984 600784044 64543442 503673966 15469344 270808118 90662304 234494974 21366576 787576452 917978928 582229148 994232534 645772568 229349806 259020786 299655382 462782914 840562510 420597994 892873192 286551668 461323134 29903856 913173360 610648264 117981012 527220478 589277036 65300274 638180378 136470752 542670678 613520248 61659828 552658804 706631240 306007644 261791936 822065980 22543198 459213044 180539406 521301610 494748228 785457232 469321974 422893802 485726068 258303130 697851876 285256836 143326084 280029472 679895518 251520246 370387868 484705380 859027774 173775040 711941830 180714410 704238710 747926968 785841686 741397608 562694704 385247844 174924014 43874684 515672936 776200294 966546482 615351570 714488130 795526244 877836726 579499320 828058896 628881774 329720388 648307618 696863378 453538982 295681584 498441016 194249214 64080024 437852526 240908998 877840654 752751966 743277050 979148694 433243014 169931002 306294422 396563716 432444034 784687702 745103796 494030004 15927084 925572834 818464560 377090896 878348888 284435538 586430370 730941914 950449880 522463448 476257410 90794106 914878830 531411030 459066244 707901732 608055750 802664578 488500690 13141998 96637196 474470980 970732730 317079442 234682032 368981944 847026050 214990196 182947030 504783810 147000924 203844548 578405946 527704436 307429030 81747054 661536628 180376398 935723862 205261736 410265498 203297132 237369604 580721052 359765790 303463808 165407592 571282634 763678210 476353416 940390962 268134930 460179856 733385112 339978734 968800504 661335396 20213394 126844144 13398510 103426864 725149250 853050734 722865984 823674950 604825846 139582960 870925612 432026312 265786054 215268666 3425574 22071384 742266264 390749140 941576090 644828492 895647520 912065334 257909052 560148012 32269356 550005204 824689490 83613656 48755372 786216002 543241852 266097672 689931720 494986174 998582290 714393484 662341688 663449096 547744014 754897368 303452106 496479266 447587382 543646088 293351196 229572532 428550680 914163934 845495740 162186676 279114432 466047886 692162964 585525458 170415688 264745674 712079686 591338802 519538332 102081436 807756940 881316546 738639398 877920484 55553924 967093896 242189000 505082826 454835440 651181714 3274932 454384698 352652258 717671584 620346420 743665544 706112328 58603284 852408566 720172388 934850874 949060996 830098838 353740714 712922920 21595314 509160992 48089770 643016744 309410036 548772040 4983334 229999600 108255122 713193310 592637484 625388850 836058504 742936100 45385056 138355488 422298230 180774306 453036278 592752422 303279324 670128186 795558790 535478770 389943980 732231396 428350942 456673968 26713348 678997276 522372462 883629196 894532658 182826156 808801694 843287192 283678236 566100074 145511456 652606282 758103228 565475352 83763488 180124642 59086872 471669490 208105840 704166158 170825964 825674158 891740664 573888288 579014650 528176514 844912352 820568100 412713676 21935994 476401632 760662242 256467130 306541920 997424822 468019622 250175614 945200210 627598550 947093514 747552220 157694736 978714100 692166594 761632344 863204610 814869060 343409870 940625468 41078176 940813996 593771016 340462832 846172424 860146138 356584748 12617688 109948684 22530402 449341588 255419092 646957888 978068792 546793242 693129088 387422860 302903294 63974586 127924532 441873904 164328636 253817644 728164906 883572532 423924284 579871582 796846236 733247300 703565478 365515520 115913832 208780340 363019150 20744720 159541276 66829192 334418526 873559606 179064472 499675006 215949376 185442126 263459562 165913284 978173302 224252958 363577756 334388466 778814392 118854050 23887162 978639772 627242292 702896468 526093114 732780296 916402118 106647058 181651688 603024762 340431912 303508578 788986046 38683420 20747468 112247084 30844616 691347868 763771756 122804720 252412702 99926028 968536278 710950680 298789874 966690720 34486820 748768778 356408770 819874614 630776398 72710236 843439870 11014504 461874986 227958290 859590828 800579474 737000278 940724466 60876860 257750212 505894252 423423784 172157914 77094806 606416994 287734516 687174712 25502324 953440074 187215150 153243626 603539828 928799778 449509260 780676434 322708516 797063494 501487430 194916592 646496484 894310738 73151702 46898680 881969880 750041394 773378702 622467450 938971376 328859586 158250188 371020758 627705032 306062264 954901900 55191722 123674376 40096798 293267558 173467630 9902838 859652972 193015472 51248312 316505818 396302692 453053894 557730830 104768328 941206082 389267160 665874532 762417136 659863288 151319094 452880388 855521454 120268086 473006494 149216732 455633270 311694302 409562316 906375928 630749264 349527818 521936616 104500608 760731014 860312960 290468674 219181480 87935436 763871058 860350018 694903448 969680672 185497128 141847574 619596660 705405624 53844436 765236070 479592216 574667764 273844548 515943310 613899040 143629202 743274814 807002324 593498754 683447558 868472528 421224814 904965570 713931822 913871160 893054156 401644222 757884092 544734424 807739764 441961712 582504378 149340998 557904442 332769588 252210456 770218140 39919174 348379392 757295868 515861444 437076958 258906988 124727666 684546636 933036222 365685118 676826936 419911748 668586240 381784664 745234764 599490116 372842644 30992262 160851972 195121842 778351250 367324726 555491690 804199778 861983038 264095260 325128752 291949378 243903496 62824780 195617274 715701708 549953422 171359654 842878734 294370252 440479500 565532414 868789432 316208104 794211328 632505236 199013816 206161780 834746490 223453632 938954830 852171490 787409478 761248020 422731210 800656398 18315272 879076538 537405118 306915884 337447796 304691610 74365338 221961648 656827478 102760726 275404212 241790332 208679636 474436458 965004242 807476314 856815350 945929268 655905840 831548918 538054846 958917462 766207194 84459744 846565210 983149546 74810820 388721734 85627374 939933758 958829800 965896222 365392286 576752570 275554396 325670494 243546162 609423162 465057220 639757376 710249756 766202008 253169638 71569012 902496182 825117268 341740958 628692716 724779162 310839858 385849320 321799392 306016284 922589500 218636456 356133876 565111226 978537668 31672874 275192914 954210706 375607666 58580098 810456462 293410918 230067978 794056192 928975818 345647870 137391524 902618926 667030866 510236594 941446620 89696348 575858902 986764346 916630328 995823848 441658086 147233372 627973174 723715648 496864426 754187090 481726128 30003786 777576012 929360022 961961800 113839746 13987160 407050428 966281426 640322702 778487436 926256536 20240644 453790136 738165588 15195290 997420482 930996990 242576606 450003710 881263352 307015678 821380336 153018834 977336556 3302228 154888036 514625412 654725054 920088784 932232010 314595746 969175422 19004684 123905712 389096898 14688162 63396456 851634950 19517082 342236920 255673708 697390442 877964238 304224360 359424988 611694020 33814808 776804894 657916186 996479524 900340736 36912108 550404792 903762272 282624472 54922476 492782258 340731178 694922524 854506882 80722124 601312040 388476660 62553888 459454030 79474346 248312886 289719808 741857228 828208174 546796596 765384900 129197552 18632104 832395132 863586232 276758018 332248084 671263336 347880416 142497922 60424496 733991014 839294720 557949280 857516486 871158278 138152426 433953290 446899764 586098278 765268658 225546070 742948502 460459112 721473100 620583954 702656060 692501178 901581864 344144170 295636748 190956382 791739548 513866126 499157860 695105498 940616416 267572652 694559252 263802186 251557992 432192888 399914234 121772562 653287024 139158452 112036666 441331652 151891796 463513760 301222576 132750800 23618174 167941762 387205702 616717546 624609788 627315872 641233302 945631216 59543494 161226264 653251528 620699924 909911872 555321072 370127562 10717728 432419912 736790852 262500560 346929172 23843422 156749874 912238488 120119298 379333644 688594252 11165054 640397060 313514060 311594390 719865000 909258392 803328858 744971274 36458610 512054384 870183714 5017026 366720846 49685050 617322506 518033580 179971078 979661570 501671260 285229756 884328042 741675096 150669862 729344136 770768494 948770704 397137920 959743870 56778954 662541166 920864060 405423250 712020000 966940380 945690092 592827068 363173766 680464076 438040154 499218254 583680596 690617204 432685578 815836982 312900706 475471156 559493188 520626356 188556536 191142906 206468374 439679258 684435768 854741386 612186568 356722228 147033254 779693472 488568836 72887044 373784364 767769084 9530980 976174248 105981434 565428726 545719474 601153052 578551856 45898702 634027840 952792456 153745160 136363548 854708326 96257656 976729202 715738982 978820170 496181922 502518606 308582068 491589146 22809126 907600946 299282712 868967556 497356848 84843286 133195022 137385116 767214686 799295266 669403892 5883612 224013504 276783904 679032262 944639802 999924732 289066322 722307042 327559230 425265248 909735268 585131534 278139752 37204142 117939344 801891464 148142202 29917418 143427472 657984822 854372348 221400604 200524366 613424988 164765672 587367468 33012468 634780934 123957116 148945792 817628068 52636462 713865528 19333806 610017838 463829876 451314654 307615570 601668352 53870008 241932016 134357562 622368542 647475390 177674178 452263854 502574158 785121176 17655846 849999150 44568558 721448904 350683208 666234466 767161920 448496032 693040388 186944182 430538018 815880040 283528508 349803708 692625832 604702560 802091666 624660814 917965354 75339946 851331520 438721736 226762184 878112722 775498566 18334040 276779538 37062096 372347208 889906528 600516350 888925768 854398106 482975066 963989970 529449098 608615168 828824400 839735148 63204642 106429764 521239436 689435064 740315898 323797288 357733758 115975640 830797046 922715044 122514058 316540644 796596148 171693496 577785650 26867698 450650788 203425002 62428506 492744816 739959148 973773668 222015096 806977860 229670806 42389010 695855644 152289964 627451620 374527410 225895254 511709514 997282802 450112300 643238128 960615624 58272178 17569772 669980930 366380634 624186580 150851622 106675742 909391276 823913322 72218716 744143384 725942962 668472096 677693868 500634396 484651052 348143792 145734386 6543648 146582134 306507892 279285756 418693542 849046376 681415416 706345084 217535244 360564 752086614 445541386 31528908 789747822 294777510 696044142 389444632 733649890 53548648 6667806 649930122 730635464 785370814 768349454 861287334 940190986 203127464 292768330 276131142 911443342 634397494 545569534 953058656 220883166 112345066 51643898 715531594 816603162 358638626 723853274 90778520 50028974 687882042 914868622 900280418 889687476 165120106 511449252 947741190 4845822 154633882 324528540 141854542 168098092 443488322 58354494 483918960 19289224 164746958 875056516 337175896 25109096 767597396 410740784 908094642 572367184 772965014 219885082 724546354 224813436 389193570 42933958 737445614 71697070 890867672 946460464 588568236 715341246 742436906 976196456 490728294 9269730 287881860 577943696 958471784 375086886 55591822 688966654 718111350 649567040 809695204 425878040 886991590 99820420 29945084 559490150 290026248 636430346 48403044 63834992 255881686 105923886 287145778 828718816 818722076 476259072 88024360 183226668 102911970 60687666 202851430 90007486 42885942 202898432 578991552 623632542 50187094 44720308 515129968 490375642 468311784 444797272 182835916 930586178 214807662 600075862 975378442 200753726 232541336 267685754 248129744 891536854 118011938 743484502 354525468 909674192 835500422 217610378 726770266 31911270 515248770 753952030 881668486 986272792 745734736 737530 256879280 804920530 525672610 394074464 271305500 4824836 479909998 389746256 86052486 577890838 11544984 620583328 708159922 299017624 718748166 685388532 96626054 495125512 917196554 645088860 753638432 36562840 466275376 785837234 615839992 846308480 667775782 123304426 539971862 69919966 94295596 85193554 265471804 112421778 207041316 659768616 696129164 400054500 490045490 307975738 860795310 226806180 183292706 247646994 82968754 110261194 654663682 490804310 565475908 873713256 748040340 593297196 57197794 345526772 861129386 296466280 662765072 202350544 816589740 839140748 980084524 999664746 921466096 244687876 623416088 22382656 557999982 707487670 778313612 497223462 877674286 695800446 141876132 968148132 138418042 610736640 194027532 143300190 779677136 700496182 503702532 833692162 242802092 804798522 210750468 441638462 166049688 80141434 560621396 89970186 64652862 600746400 468189762 242497456 592799822 228189128 55530240 935522686 883743330 441799770 277695024 500024438 873349774 161514858 938102378 598034650 614419074 983009290 546619304 33132688 821034440 22464506 935296028 25490062 691678080 896149730 39034574 271778340 795162026 416593668 249445228 541374306 279402958 577742428 794713814 283765482 869987010 755049760 920696060 416796972 480656594 255467400 274114820 634292122 742344506 518122088 76973226 183841860 192866010 282530354 153712636 998115554 937356830 858764754 325352576 502192470 162679438 215670368 8878842 184340234 222194880 299728454 403453584 263640942 313087048 745657352 473303456 736737276 263751302 261747998 656888170 950201168 373452614 921993070 96103772 598960086 242191084 588851708 355298724 186612460 722741210 222851464 148213192 873521758 907982246 601305166 487194470 850399890 130270236 653742216 549138190 51962878 765196 524781354 506240610 56454614 58560302 406275428 432823616 405578720 467607182 971281856 103662024 647572836 712634476 689650648 850105864 108889668 376080734 451182706 576195178 557972962 993497872 908916878 182447680 99093970 975808862 487358440 673098764 716086652 827805738 988080038 142662462 675503866 316999886 135347422 401700876 835110836 171692370 416001930 610930416 401469706 409991804 155089064 758667230 595695728 323116816 825033122 537678202 109078086 269116162 731328790 427827716 678214206 167046628 55532148 919519746 836275828 609007188 976939390 246762482 275538802 168018084 9411316 983634680 86911128 928241552 277975918 108360478 863923602 419013936 984369860 214251620 890200362 170750516 415073364 80477748 933486136 445956944 863107400 650511752 839531106 904146236 598407360 455850 893943106 891548718 747669796 461369062 591568470 159535720 283435242 357413240 50382650 884916198 581765204 179424230 643514644 632579948 230487742 894438056 360517926 867068010 47417422 895341644 128801594 294133976 853517098 586987764 255976774 727710682 492936626 438925312 360663396 627539874 260545800 105910556 399283594 546980772 483527454 324949262 559499304 425325984 768547158 270099920 948799430 8765132 950386198 761110922 78949962 584860034 480213722 657680810 338829772 41540678 930099830 687980612 228611214 146018176 574563156 522438994 851714462 749531190 520075290 283242694 815604276 21115606 566548954 431026684 626422218 34630510 364556746 170468016 222132776 120282410 429146212 189003400 639819348 117870384 821680924 992544688 371712386 209041890 927722592 95110748 2860274 857841072 230699310 572442964 672538626 108683766 527152180 512988108 666009534 624023284 923514204 41188800 56565200 98233238 98492656 810667792 80940800 169183726 669482514 986009320 290620328 228022980 491741960 811370776 250267712 515470222 499909150 146214848 626951806 520761398 173503664 312786134 620344772 837111698 152073612 316695190 356289384 238217050 350773040 329929260 437366412 125017418 145050970 134285030 562876994 125667210 393994902 337384218 572150640 817217902 259057960 877425008 519437410 285457286 541964676 120156988 673262114 47024942 780708758 380492578 793732838 467319424 756551834 986901176 885837928 988846140 405723852 148870986 112182480 860708128 196648234 477370698 801015784 685842812 231418930 978335376 113225634 185989298 225231232 757427564 414716234 839637376 11895026 989413856 431113242 894644594 274515918 814969380 359259858 812258152 399562936 304961866 29557716 735064540 9233056 322545372 401881252 664796248 437930474 131524016 728623106 725485202 845360908 34359396 993528018 713429312 667723960 574572460 418707696 86719914 163380450 134902412 678647324 681912726 365314414 350198692 946139942 800021482 429947040 635670426 374701116 912461258 999497848 133726458 680585688 1520330 675265632 751462202 651680654 614906462 425828414 265920268 864327506 339863498 271362902 905154950 629369958 954965524 151188412 795131428 860863022 26313364 346607494 90247328 395381262 733133942 349757152 981705250 92232358 104224392 566361570 161707294 123071568 473726996 954758200 577716156 99995648 725204220 990323198 948272006 666695822 880807414 933266294 495811844 284615928 48206856 137904082 349578064 192886042 919207200 615197640 15876384 287035504 191532962 439104634 571593092 367040566 681594982 195431488 660565302 840587622 242298660 618891394 460012020 113791918 736428434 974307820 835688450 558220710 329863962 547776086 210172610 812895940 391087170 402714912 743838474 981987878 925942140 451453764 492055748 130819204 184161840 584331990 103787268 395219914 752505608 315984316 446429544 659591014 428924532 274717124 122396816 220751716 818124798 803306096 764019346 62676802 288990870 662545972 482076158 67863480 676238396 52902862 34521654 657876118 486399816 598494142 923947882 405862492 559949904 6032360 718552822 657578196 943480688 448267344 336862024 652412356 705763016 704262300 678570528 510972364 375101818 197779612 459193922 742354968 813282346 967044780 729065382 25021414 959937712 565636400 414214706 686432126 395494042 515023120 709075558 915230528 146351704 464388526 635622752 966737952 72391780 748463088 77826678 764668452 614324314 553847854 332529964 916205880 250786510 238229474 731304962 865936826 405250052 702282924 393591882 564764238 984835604 600031918 260021600 864445404 235990264 725671028 615106172 409146482 380643706 946923428 549491256 179761878 282049162 444468482 937458342 88427360 718867222 18404720 441609960 865748042 965042630 318775128 412476348 423125718 793259632 295774132 290522050 727008238 27546120 729346024 312059956 631742676 872576468 922749938 170790214 274001138 160666210 308287050 276057124 414794564 343626626 162394638 740003108 453142582 158323878 307942812 832945078 473375394 495622924 181334378 537480348 643753198 885345812 547324510 99238552 96938706 42870586 60306412 981148532 224469542 195614716 392157530 464993654 450694344 869834812 456320574 81922978 225359754 361971844 193781604 283378190 697673376 646807686 868159332 923526518 809139440 54665626 555163894 857624346 821095464 573310238 824805938 258243338 566725204 967824052 873103588 860426936 797853810 91321478 135530962 790092956 802922664 148351022 984041448 267054776 731490672 509463668 551311936 560166754 88792556 957553194 348592974 40256988 854833846 493766496 467961772 803492114 427629410 755338486 222822354 788514628 56535408 287778796 943832526 319593638 888281486 17253194 94426334 484425322 806242116 768902096 879247940 416391854 249595620 944655170 749638750 681591524 84719016 628750916 591528834 125966730 842930406 972795776 527809710 534745738 856210462 589573962 558008106 652953284 608822182 833011256 847123788 595464398 811765812 166133246 595756496 32255028 891565948 892979762 489894016 392794658 115611680 270753376 103893610 496720912 167978116 25096482 539787270 448899798 614640806 852837572 57968840 605644266 458288292 432397558 478107084 323939524 540602560 272607856 713492432 12615618 149450522 825587462 69456388 915923428 945609402 323133598 940619736 56420930 424869062 768372598 280946934 318832368 282618568 813622150 903496734 753920146 920944684 985490678 330755304 595142964 726740588 268568010 943150924 334239268 576063638 195086720 550300356 825607454 957590730 218603702 845848176 588258024 670279032 357530440 118933520 716542046 530079988 456582848 972841800 403819696 79738854 968749220 350958100 549407292 468093754 560795568 551652294 400009582 718170662 901815340 117964264 959284106 841579868 629165882 703093168 158690130 486054136 858772788 154229220 65622154 716995910 953960594 691187140 73845792 115284144 814036684 466607554 671747180 799735062 732694830 406150704 51872404 59858244 131954306 122309000 377781508 628644760 109727154 247481810 506264022 201881558 529322422 621644106 517677934 42134774 769313020 540318354 811898742 171747108 332305152 417763300 462746322 808752018 948105686 441521392 910762866 686661372 541846978 143613156 652025016 372769598 279409112 488351060 465707932 96196784 92738306 306152418 687619820 845342226 883916178 480552014 474119574 93534554 473524218 737727526 790107316 169140136 378008160 221830768 666056430 961261972 619728496 147947240 299997770 103659106 389759228 9558762 531730832 786833774 363208358 285496680 532220284 415094888 115533170 941040500 670348424 627080236 345610836 303625910 653571644 278572776 305153584 204464458 648863024 827530122 288922712 144632226 476151392 251606944 47354786 991642828 395878652 53073736 565357934 110609922 285792418 611896540 196209046 846346558 72078930 703605190 837752728 525116132 649149794 958211532 687831650 862239696 327801942 502803988 317532902 446676082 294611388 426156846 62411688 517738272 75520140 711561462 130045718 265187618 880879940 60194080 488248328 735114342 493088198 493346876 2231534 882209076 275163326 812553506 425378480 839776014 620215648 762707018 665064402 234111682 395175476 324153564 89922178 937985324 649036530 262481818 800101162 134218876 424474344 609162636 858554786 63137290 13671894 441524388 181339526 877875744 943722982 686925876 101207778 496883688 247707948 4517714 940013892 34755272 54547282 405881552 701718880 932698950 963755790 238688986 222623174 470883212 890544162 500241004 912650796 351512702 479719476 281487766 268108456 684650242 953049090 622525440 913883704 993534590 511692788 630251760 990146974 532597716 157320594 87823318 836783090 278916006 211903902 249704034 706896078 351853598 225309146 956111282 196460346 337396302 792029786 296927592 564859078 206590906 17695140 507144424 789963168 951074414 523967536 565576822 22558368 901729668 654579490 598163924 449887148 623771546 581486494 116614462 865931002 721180132 857841710 697478632 770845466 733844946 319466780 988262812 707775948 572893166 556711248 766694554 485321396 466980990 51803222 73645566 709147502 316907130 49825582 346008214 499134014 334533522 116216052 547818878 642642728 265077492 87566834 137743594 238654548 736019010 686956240 134246640 360358850 130836170 575651140 208435278 322368500 583624592 472644710 949792304 215066228 472993922 325371436 950750452 892956832 296972600 412745390 268922398 722141884 810381724 279591362 987118880 65903808 545465360 260641318 106362958 225535398 798333340 742368124 717765428 284060518 556517766 965192700 164712982 942590084 338809746 842900286 885581560 486543886 883147956 356671994 649609168 888032104 177472898 661679838 749135940 973365074 73056690 145192594 976859786 328556272 346425574 680435576 360802652 292337504 445410426 126965212 71617542 820805846 549407102 737454664 793754202 136522872 455535192 168784114 919812150 808430150 335619198 11723054 990250842 800614620 35386144 421197256 576620692 570151896 658409032 229337520 712870206 898110352 755749482 587981394 511153048 609184418 132512614 478409766 519410368 228252278 576469436 914467012 316677494 187484872 114368844 817810230 696408568 846063636 748695146 345031806 828452994 441546024 625308188 300669314 563654086 600836454 909994650 466980740 887906224 611021556 417494438 656957228 266871434 430469416 15816878 699236540 248091040 243391316 665806956 896592470 994506152 512654412 276836390 202775838 295173484 941402440 514389202 239705456 845673802 196071004 607472954 883956834 602339972 957768774 283838376 42624050 539787810 426951632 988265522 379562406 333630168 681279218 767872974 603821678 938249432 565601692 531832982 252327684 994099922 790514268 319172668 270976778 184589812 338322464 629161530 745897648 201683730 906646658 121048138 157409586 462564004 292163242 253026810 859528862 271103604 635640120 318111646 275307138 158387672 579915264 759892106 198103366 596343620 243709820 600081536 702516794 635060624 585692058 647612476 7261000 690554258 732827372 600072794 378270846 547886208 416525770 404861778 224426532 31627180 911809762 357864744 477295760 875242196 594329634 232983808 264094634 467149554 392037990 79642566 839992368 178219592 23712402 567740216 647432958 200427434 245179986 223154122 705686070 517226944 156638634 571479960 345276464 550853854 329313308 256528958 636969452 935282062 447868242 837073122 714690284 963224850 95578782 930558834 84341390 932755504 347676982 455059968 544945998 919400684 168294838 884445902 186733496 165533674 88096592 868518012 571087284 228696200 785175752 470643718 255347208 682991512 887362240 693621704 565323088 754494328 112467552 206951066 926799910 611892678 334766954 918146884 778948324 230971194 325679208 815656502 932982214 677406304 722360994 43040350 16252908 218196322 76753888 779894900 811069880 112962064 4115892 737466584 423769858 82641186 446218274 598605936 551690228 55307464 781773970 537594942 180669544 423932580 516332660 990365400 256738582 142982352 314893226 806311054 916973408 902190884 910072396 497304310 177417440 492850258 290201090 201270388 439405770 558888304 576349108 353124580 475870540 451324440 396313118 368456506 362215586 938169032 567222120 422290022 330838512 796417060 587546316 301323190 974442704 263871742 730676216 481518102 376012414 296729380 872886298 927827402 136299712 535783942 16169986 320071938 115357644 79326342 234596594 616796278 643392834 384334572 625714078 320385506 270737492 522003694 173531626 519120946 599462580 946579210 95954764 159336856 399645974 238014876 337994120 876496362 532987060 220068602 585702476 821153430 12392220 320554018 505409424 962846904 500583752 581480204 958589912 322253612 530962198 608307486 691630588 942366064 37251694 994494278 262274730 574289824 851413668 658736200 111028932 976095204 724131556 902934988 432671648 737692624 159618368 747572662 957565532 41152140 119169332 217491706 44127184 50121184 138925708 337622826 898500664 160199144 780848536 621966442 21883638 970160982 450071390 548530498 685431666 281660068 456184184 195473990 119555310 102234358 238320982 894642320 48329290 949552132 587168750 197186880 951412388 568238088 762314196 965549324 693838544 226544164 289411854 864997070 952472244 287415022 376630056 129437294 413886622 704737964 578309154 368628052 583892856 480392040 16198878 765861092 566056974 141914818 112648456 698584476 258219104 255196244 702782418 940998082 528216878 1198698 432609520 333343512 319540572 116245430 806582608 930487132 942467576 36698774 293186430 862323010 434267382 745770116 230555830 705654778 213641588 687862366 977981638 949544474 716927108 49957328 881566724 557768188 231929704 965021778 438015186 554660654 216429428 97973222 969072878 396338404 380808004 778892002 894205682 825809458 762320122 500690910 103556766 515748724 23448530 574548696 687682994 983508222 457016942 118145858 521054698 477084676 158931356 584746582 243879280 214913110 484437126 825363020 922886482 788045968 113882402 327911354 952663600 395000974 136883408 643122236 644707582 666255238 965313388 619754454 338821410 773341716 338680774 775958088 853941924 484628540 832748774 489772964 16045856 746845852 539271682 753534864 689828166 601865812 158315928 285928456 494373276 114416626 971915650 165500214 983486080 92510816 5092958 442982484 429841194 604822066 521179922 426937246 891531820 16477348 743369848 839867352 380332478 520732708 113787094 989762068 663446764 663546646 173649772 598872170 345191738 788709124 194605930 525589850 137093984 61683406 796710738 782983892 244001042 364750012 408160224 950808598 992603686 200145216 871811312 351934038 298814790 822969450 389616450 508733002 825340262 240720476 937420580 525901850 282579630 647290812 757007452 506533086 33357664 453677786 482549786 718282130 889260412 540058026 787889472 181749228 689940212 258384422 747392282 180457392 192899182 601250382 319163662 850624398 126226570 221884706 51680456 584311836 359078448 674637698 906285488 88503234 382305838 538356556 474525806 432311034 517042162 455206760 670708730 302089556 345300906 74130012 342540416 571524886 966144708 451064838 229118742 488512388 697971000 379364240 795554786 967012450 415425986 516556894 337600660 704422806 123818054 235304970 286012722 232538308 670378060 86753254 604710740 280466906 330285454 206109642 92300918 985593174 224764816 673052374 750530600 911813290 908988508 501202996 165434960 990707366 20266004 933257944 577740722 556135618 151152722 215731604 820592628 404664426 344933550 146241460 475520000 296010504 19433148 656498810 284401848 867060 236250158 424207368 107044830 151532338 319576770 274788408 626995634 596007864 265676766 422103208 799162022 793797328 657226790 437596170 330136600 380843940 127358460 871223122 758235932 727229992 654564048 242713496 43300558 293086346 780156334 998822116 196790400 778542438 530524256 278602976 30969790 4348058 97761468 180447302 749030344 641949604 93750950 823679770 562260612 438195690 789818988 130375610 784542816 13477966 73350434 117666106 481082566 362089570 909454040 634732138 182006226 226338714 754686474 327935682 387552382 916013304 797904558 233603266 492359622 672357904 293807442 896207038 846906038 271621934 28329738 968697048 849545750 656466292 176212356 792691948 501554464 157489846 231877640 20993118 911465576 565102204 122979848 423740786 230065726 444600706 989610558 46961664 636274372 576818182 219107216 520563924 962156036 147722840 278818616 696587736 62584736 222106474 93856746 681282924 775616552 589753470 177811484 758708822 763195698 381669350 456239670 171664466 107317924 253846388 281736282 453852826 884235918 201371980 34349090 708940902 97305022 604971558 481361354 863566836 528669542 327265946 86161314 243822614 380851876 813963366 736972436 113786966 523814256 885645536 964969540 160779616 24659350 886714140 569889706 692573214 963435098 778559644 857981690 115370086 619249170 208961760 850434114 703161464 975909688 259078284 980209204 779493186 798743000 15880588 886271800 760558026 960454754 510082156 462490390 77583394 875782730 304695202 992734070 598265934 869460772 211116058 119579886 535673106 526304002 387407848 452220076 301812822 908737614 854025516 742170592 356468382 903362402 234400146 340899170 189801280 679266808 769581722 452549410 419464692 720171308 690417632 164677040 780611316 569693546 424777082 373157696 69685512 202968166 417747080 368076142 541178412 770684380 551577614 694844084 344690968 625133334 967578304 699717366 537918680 621553034 791314204 386601918 212717194 64364472 876667216 311631606 72444286 732274138 608744116 953147014 169361164 348956460 466356262 229725698 750668496 209881960 859783786 236419416 566486696 352261754 206212006 813860112 572651632 186665416 972753272 483620946 171675896 803002198 621610950 136126484 594848410 481813080 250080556 381295238 454349880 836887994 649213656 179254100 527880408 852149342 99054448 795917876 385426370 40012918 271084628 857906240 710683670 187710672 11860514 652772228 592074362 880454600 650881132 767160102 858428272 632524816 151992510 676598694 831354048 154006888 184266 619250828 562260326 786230936 16808262 80398984 997416632 623403310 89254684 103744748 125311528 958256868 990431768 203073046 257667156 605646306 660371456 113105904 912511286 382431484 598018942 833856312 354519004 781444012 860825430 666860730 874329288 909908614 14139520 571523418 519527056 344098746 95475838 741919630 399305660 26629092 403147772 52136712 391765450 872075626 446653132 673423566 257973678 5044950 323216444 395128922 562105992 243247872 324817548 303005342 268310586 784384362 549189056 697965752 515200984 635009128 4600892 576326124 643922380 653650662 724597438 771259670 693887524 697739986 857715786 860336728 344831994 27849022 387982946 74778254 253518164 128052936 93924814 796738006 10586520 492017328 746959690 436625934 882521012 987532792 247131522 611581924 176117020 929744088 683506856 235790104 469326418 663401426 214837142 576008102 534736618 500997668 138774818 270321242 899913580 87532504 310116048 876043966 258976566 862465870 278728192 31508398 399865598 626049426 991478030 957526222 518896772 711194314 405166620 89389904 689673916 852960900 909910374 13824018 117446812 803244386 248685168 601466140 380599126 165102154 843740122 136261164 756796192 866103394 301994430 545725240 827094948 318960700 494493142 415564044 669756546 661722768 719394202 116936372 16490394 271648580 259924264 946591214 25643484 958997494 184100982 562055484 808716114 741908674 944560624 759034160 500432264 176729318 358552556 921147876 540638628 440089786 885536556 900358230 895875802 677436510 341768204 406190136 494252720 131998688 53142408 601623384 555396834 576113814 999283222 429689594 879640096 301777434 993731668 108317524 128123084 893011260 741956450 62562606 533273660 563244196 795012540 432649500 301200654 660493576 429727640 300968302 120764270 896622106 203401464 886082980 10615582 748762012 384324044 74343256 970456690 603416994 705421848 883797076 485021650 887083292 157250032 84237926 271602022 467630698 750445728 69880668 944039072 695905270 73625478 898771778 268263942 945160008 309761742 487507222 635132980 188940040 634211872 948895590 779173274 570896936 480185816 246993800 771181032 165457202 644313858 82371088 783988696 14388838 899611174 954743928 859593906 651644578 718026476 193894960 591089930 237117362 901585704 966112044 200949656 605512584 265900056 692973910 773793640 500854224 293605036 678779394 426818020 782750356 471574782 316695750 994012906 227281582 327126270 72597290 1300356 980374526 132896004 849476136 97099682 195917276 877065556 626719718 508540490 553214058 498395454 116643202 728840496 639798182 751386332 8497000 367260408 139819608 820719924 833597466 702278906 407362448 661041468 592873702 617113986 567013594 254309832 191119738 102375722 719856156 46057024 783321160 964030540 672236310 506506622 29273010 33976964 580769344 852941782 307077730 174263782 578993094 834576904 547435844 412946776 642648894 407060132 666265372 800645426 554965464 472024768 248983786 412620076 72657714 543085756 702971994 366157620 860372198 351534274 521995956 780477864 380302718 591013392 908935962 921358584 591643572 77217000 416314582 550548472 375586610 341217306 530513502 108496186 465195236 717471110 40670346 998978736 784459362 586346874 266058682 39251380 741162630 603103714 722999360 932857178 863682516 78566188 71247650 545407628 186598030 783645494 851404010 293192656 486655102 505854248 867112156 658810316 230954970 374429174 697000870 80508084 634571106 383378660 151677546 37445788 598071726 677870136 172475014 646188030 181117828 18736976 552416956 559711114 253067020 429738574 688468996 890510938 409251652 330328312 628047664 657765954 36762952 424340482 328189034 443267816 453754956 81204722 948192254 731765424 281982028 534629568 579748764 242814506 179647916 343063362 956322190 80354394 7392938 108122964 247510456 906007496 723463476 629739324 934260092 469766508 558884440 770739176 665777750 117864554 907278328 688219256 867557404 562182092 157463276 341230242 375978194 557899792 604860446 877554598 115499710 724429142 719446260 788327932 528336994 878124168 116979560 250872158 606154246 738488940 489023490 938902560 252811778 828271152 690069178 641923734 565324504 827641546 563896112 119108222 111089686 856275200 234431816 921386288 109418822 426537420 854378768 94054514 545389682 405187924 443098360 721989656 189638096 645347374 428951146 319433858 729770548 955817186 941456456 353344830 449508918 48938312 438192302 706829086 29441056 634897674 589814270 535545198 851509752 799516166 377420956 934620380 633400216 65462766 499029660 673268462 826010182 384358674 984504044 72931492 471802858 456773240 429625422 799472860 613942986 732538652 270781418 583067016 360680676 16036956 471923294 234128892 161249636 913101388 492017524 726486324 926148552 624489360 156157532 206465902 373197786 165321176 266064356 760855454 439242092 849370948 80710542 614862304 888594364 542487896 237955770 683084150 810657262 977609224 584149724 44171162 673638160 530951216 997044742 37756106 408083148 875095110 501829724 222672586 371791986 489326622 627829792 344466730 619933326 354954164 297500442 124212598 39997694 434531706 635406690 136287240 14588738 110822 194067008 801524610 65821234 17192192 634370732 781379164 392655872 858877386 113891932 671471200 252640890 835783790 386039740 406369534 916120424 497234358 583162690 874861288 464537038 960624572 25152804 616138490 364097718 1944390 827916956 435112992 736416524 365338100 382576964 231266492 655328152 614431686 581955872 422725362 313650276 948386282 173098066 73685534 911304048 970717258 44775828 150594148 611983668 212771142 856538798 969673806 837489034 18091490 82703856 987115040 354095370 617625246 686070338 850954212 661701804 21528908 360637212 574192864 674037146 720430198 233221112 614097604 219151066 142415254 833464850 744326484 76419880 542294882 630362230 260149838 121887132 322117340 782498678 78785956 639774902 353934936 827893610 882049828 34515636 886242800 319147752 454327266 851903196 282022134 715918798 497662382 597291856 4465164 212093896 936495256 828744690 161376576 960074704 725716238 842446658 597755830 276750002 889003854 736981334 859937730 715715874 517738846 520362826 457419440 546288686 6826044 943490772 902822118 238122734 85655012 106738632 511458750 895423678 728884722 106459778 78337308 215530786 825710910 990404974 907054204 736140452 319848894 247036118 563674330 68929180 742545198 939950762 25750394 323483584 502461606 321280894 265398708 450490852 215791544 322883140 598645726 815903004 600293298 709528390 713476588 513609574 150277302 911350112 478912070 327459248 876039332 912063958 914245026 684917292 626130722 556074912 850043142 403508024 984500984 654469306 174087568 1734598 748313190 20514762 783563580 721159180 809918596 801387632 861125046 115806712 775864052 570222096 482737578 480403406 676197034 453323090 860005440 977305538 264305444 465534130 738820840 448581036 616310126 576680864 859835330 935169116 728540012 780178264 814915116 333456756 462176682 513628616 710970940 122746852 568335540 769843792 644020676 156310880 71784394 370352262 467157522 418389434 435243926 883654112 422886568 291706928 282662982 210064882 827659812 529258304 445061968 738785180 583907814 288132152 745052146 7034884 228612776 910851018 879532356 125808606 911830668 596876294 71645568 113208110 889993134 222395344 303436090 664644634 385554812 256964396 388197762 675250206 488246860 598791284 249713294 988093676 9678438 44030634 972313026 762771970 193331798 87578050 457694702 344708152 372098524 134282274 196610220 620250694 726834598 591162608 468125340 494098628 878484612 563609216 475833148 209359112 557223486 303903122 582939882 360316746 816513912 191397580 20701726 828497228 537804148 307455922 916036684 676418090 817144288 843114392 360491380 940797658 783872220 327939250 389122916 70377570 959914300 550250104 930832804 630567272 709920026 397808450 386584774 639038636 686034048 736512612 653321030 787798064 182092398 569298700 949394948 232437440 821625528 148547784 975232466 928552176 390785168 849033122 926018234 878767418 948465056 840743228 496933526 678775200 994484414 193021678 808449466 844202014 225643328 365034662 155343180 682820484 467299362 128922026 762425954 237891164 917059524 528504746 398578840 82456404 442223726 136051406 668736528 707573364 311547112 612474898 286843390 503049822 317887158 834800330 454786390 481855050 875439674 91540002 766166942 383015526 668883572 511116524 200624156 258730748 110232144 887070838 927071516 595090790 523181580 733226882 630722076 659195270 505493990 539455112 492991460 510905016 880794486 823556138 268396880 361937220 444741432 142949676 444576606 700434268 415735472 58592374 214670152 183541394 589594064 353284638 925922806 508307950 103820384 141370296 380897806 904809186 673511732 712726772 674707034 35960176 158152206 619168964 843610014 92154688 171463516 300468002 310203524 111716090 458604182 310503222 231303210 348394484 480831590 426273228 263756912 395689092 693320290 723687698 788406186 355918774 939576600 926142928 325594770 766200490 269320980 941388836 422224974 526000518 437363972 352389490 405634604 749887930 793030926 345403798 398330234 485864770 312510306 134154572 35692838 894411610 895470402 313864660 490213144 808990270 302657398 803917366 322145284 476072056 842917776 167444026 754891640 577681626 659277440 181109210 389573088 43975122 832868412 679920370 944634412 490930008 961897516 650648690 188800478 740728242 223393738 30895922 471816174 466068348 850863516 341744872 355204902 257167368 167512536 101543782 349544116 707562788 675237138 35684416 779541194 554343738 308962900 59609422 518224556 988272850 889551852 476043300 476235696 715946692 809365832 482415742 448238530 631742518 794018790 546383316 532871550 102510504 224980146 227639996 959272484 925384768 977556120 390335270 702901496 102106626 17676076 684737456 560996896 542451170 901824852 517155318 526276440 8836144 690585586 92100928 82364818 260988508 392761396 514984506 258263730 97587190 717224934 107908548 137752846 273618364 141897084 549824898 719900974 279807498 2941564 977574412 589760484 278052388 521739492 810246850 76972760 730960358 744279974 597732898 175400172 41504034 920566778 238188596 672238108 521270770 536513036 646354558 663354370 246877804 903274588 527731740 855603112 112104438 532698008 585185132 718262478 658706774 280053170 279000564 192133992 437810192 20892082 117119596 988914122 694877836 122429542 878106148 533451872 942797042 617439660 224270816 970935960 771184768 342048868 133785426 346364488 97169390 832789850 645409258 514034378 33031786 923296128 133324200 604093676 53664630 339705756 106080530 395152194 236507036 304820470 969559456 236765414 819475100 775038256 851947450 193850302 895221458 14439314 928727592 151027244 462737922 937396990 364709902 410680694 386657678 383647886 720385092 867610004 610224718 789033772 4436692 247095748 924469948 849724010 936239506 392145718 545818636 891667830 223007900 639203760 787620984 521869786 965347452 815573922 792811620 465112474 324478928 134596794 269968204 386546948 147494722 18012612 888392738 25407944 31428922 634284044 245351912 453239206 245109060 196027154 675605046 36986122 699645404 534712670 763294220 418886874 539074482 418628586 591800278 535301154 16224996 471507776 1209896 629299744 464982360 602865362 197288882 389106458 581154974 578725798 434670328 557835842 338760262 524134598 539380928 32218562 340872600 316636862 501024160 548398906 212171982 186821454 124340120 308977070 249479738 403018000 485040264 2529806 722125282 319008914 307215114 987176722 438469744 136553706 978143248 664427022 378719678 475026454 900061608 403666298 502037212 373939126 913877722 188756440 788212138 957095254 998160608 856289950 163941528 958220944 233084474 581340240 630998934 888045370 856967926 632017422 327590292 129169890 788923300 460252390 907813950 958096234 314607224 314981424 260677108 634901744 571706830 603494792 81580430 322730568 56609058 709233514 392870558 568112306 968251142 207612390 844851716 197872398 670380074 603860260 11485432 420989536 226788830 591693898 443763282 717845112 631206770 535131012 671662108 143325666 595316282 222862224 710747518 495113730 748024550 1150578 278425836 593705976 370801688 711975730 136215984 509822322 432306048 880716844 125222214 515784890 412893456 964742774 314320896 143965550 437101226 366886876 419639870 582914180 47779330 907045188 679402604 525405766 808395542 109445562 334282010 923343772 34053760 342246050 827679872 42442918 820902290 621270894 623946370 204992958 751482534 137727850 535587334 898155648 630298828 915592554 735096896 388612120 67160538 689385398 332144016 165853530 397384984 781397616 523543342 891429100 236800816 507008358 514865518 678242258 581900292 787895808 111716594 116213280 522513780 442816334 350822068 110090682 799959126 559299052 172094668 655450374 59683770 471835834 732292770 771329388 430639990 810736500 120247386 417950104 592650378 597990724 915172356 937941090 285859890 853979132 396805668 987308950 414910196 216526846 678981612 686597904 140172504 12812860 450511058 967904830 181551032 877078894 269490608 461867072 450090958 690423300 271072058 889295080 554967396 107112042 796063168 984608978 39916132 461324322 81618194 65226880 921262164 55092108 584972044 732711168 991663952 752688966 41843108 84796588 820367588 445155972 430618250 654932452 621185154 662441484 667822822 144035242 665818676 492751598 415032744 555393672 361452962 997408888 484291750 92847342 148326654 700064688 460653542 880015454 204645264 987809494 373841950 872026102 897846254 630979574 414517914 806749102 249983772 525753480 735899360 398047716 420398274 823191642 622469914 910779300 189723070 995177888 441402350 59335276 816450284 667436310 931805652 133228192 118288858 816913094 827359330 560459950 892094186 781930770 149431376 712311620 697653254 51441536 211534074 588777718 712721906 771508600 989568050 911715096 91011586 785273406 565446994 486401634 336105464 296232830 854625558 901155958 937033372 571336388 856610166 787686140 688814778 209738500 408523562 234659622 390774190 802734582 34077000 233878090 199889820 97654596 937084196 97146096 541355660 806035680 664057648 643351408 537774638 246181444 231714102 298878194 998429350 890772774 230236084 752904634 849119676 956649414 527617438 775552950 282997244 636027714 286805232 111334884 161424018 758136286 379906032 408020498 786371486 630156094 986669258 583638362 481540928 644549968 825061922 864668746 193369252 959449168 192487234 636038316 774646088 466864050 56896946 377194886 917631290 821420236 169994950 79334392 651100952 993132468 427805644 492882630 612237188 920613940 394493652 463693954 456843154 188360694 668563428 588481130 334175042 722445016 42854626 865540830 742426484 969598360 275655150 709295768 568172834 591349994 46738424 483263094 245908954 530260652 323540614 353646004 971379508 532894620 171045704 45980990 330438416 680279536 775968266 667427314 608397952 700705384 906020550 846649634 257442818 920257354 410782920 803517274 818410220 369720112 216217314 940396628 110606966 45805748 312026942 828598860 733751272 173012806 762945228 697839372 311349890 516972836 662290596 345155052 577327024 231025062 861389988 281689524 297455022 926726080 174789090 325280172 421214880 409099742 321455132 648861944 849007134 147662240 490421290 671892032 819949790 284229448 722734584 603162690 401311368 295530264 431687406 581716876 192027642 413662824 194298602 232500836 206250594 902359150 108183686 490641916 861398456 197695474 126714772 495125344 531972398 475269098 293250644 317892236 364407980 432913704 119005774 249202920 484245976 971946768 159084206 27543518 797865240 866323268 160877690 845517824 356991384 920678782 329223154 722638270 801244762 403261380 10788500 871551142 366115082 947601508 504850950 988184540 654417364 187474332 640335122 473724792 734253118 32286612 603583568 589545780 129202522 204478318 126918454 778176956 443312956 50605500 404222142 205934462 599982034 996480728 25376150 636743214 886927002 559743516 570929128 477324714 12623012 568150316 330717554 462708580 5887468 31662684 678659932 341073562 26382626 27781630 259542154 55986916 640748350 925888914 83223564 578066852 938156784 520514374 219537250 804449122 302632440 456830712 549651814 468412820 590299232 498715842 119879566 261055150 362066292 537002526 350301140 974426640 963964510 960943676 584640234 19586290 578680162 250797084 708916712 572478506 725924238 137924370 522782734 189397728 977607010 562313452 114066068 363496916 405496840 88961466 568307064 26280688 708341798 113373874 355920996 654852430 986812076 890923844 528749562 435888216 938304968 780421598 965234594 263433332 417639976 569357928 600716240 257905808 216802826 770166102 492415646 578708936 363487840 19963034 284850184 216592066 978044458 138861662 572736816 156667264 42036166 41398554 484940290 348464996 57548510 4722094 118757228 987409898 326334314 109152438 89279042 820450682 910299712 233160114 358790782 25640852 587045752 522429684 834940718 266160104 727733508 250032274 355815980 219380998 149461450 437666490 25548176 643524212 926056984 672664574 648266508 765886248 904972082 633261044 935378752 40707956 126760224 503753056 982064920 240437172 642109392 442276006 457585432 824909404 631234956 6127732 809027882 989533040 46015510 287951484 835893930 177921990 486893388 153600290 727398114 525666366 943359070 453538722 840161224 535514172 313781322 93015950 195904534 188574770 72136282 17126650 532160498 746673064 889236740 691701960 62855272 24872542 810415000 817626332 418524616 224057770 498251182 592057158 224101166 948796228 818236520 132731452 516651854 769844464 56315590 745581880 447165298 196065520 794514342 651548080 585813254 280959634 517116112 710872366 559252318 698557226 835273610 717194942 473917052 877016734 965915554 462682892 314591540 607061368 526553254 740125468 616275426 576093064 600335166 551115880 114981826 898957862 60923834 697331400 641287656 809671666 981224650 478938938 677442628 820126632 114253782 180706628 418098356 118705270 613000810 98554080 855602260 902548000 268977840 974943944 316190604 844170832 659584034 179548448 926089472 789634298 964741412 672017732 598616444 369339448 734417390 382804378 820572374 959205962 327553166 87941474 206666708 901999266 68624780 962779282 39662140 150575278 345819492 727945374 430594766 152192662 243552946 991062294 83636798 579682360 125883446 61304346 97353096 819575098 601144116 337676610 726834954 298510798 276145850 649799080 297656478 484799672 711087728 16228712 914336630 736859226 91323688 25582934 803864450 279113878 435827270 331535910 658962726 465222150 647574916 414587472 915431152 321752006 398490000 889715558 200322976 501254144 398464808 657173112 600484864 104554564 753115372 665752784 392639222 762066582 253231426 909615208 43442242 505183384 881725354 287403268 405569352 328088594 424508926 530282116 188477210 578862614 61499256 796244746 384065262 981427074 352389218 723355152 189222438 26250546 748305582 174005360 708661702 739285592 140055306 54193286 962021824 433128296 483528972 704372696 686557232 372691608 860558522 729928426 689409058 26164770 472789590 565618228 551632962 945930530 245855090 695064856 429407764 664067660 739505902 684654570 174047070 702828762 306574514 863881842 769962100 729093216 330496060 814532996 72568952 629183260 794085612 414371888 569437014 242503648 398208114 51252670 824754260 115811508 430093508 425300780 610518622 346901114 362803830 699781236 925226264 802206878 251879924 966617654 678703222 393843212 842591442 718534260 116596016 44347156 684550034 603523848 646370412 150147848 338670412 785630104 723336974 512219000 238746370 400582948 158855268 576560142 127586236 847825190 522085114 863262774 674149902 419527832 409997720 774737820 758820928 8981954 501175616 343036604 181834932 908541586 287577522 273881348 743750266 457295484 244508222 566934802 180673224 496777590 138822648 34051142 672681988 146680514 492079402 305684366 888395008 967146498 377426032 630314238 827824166 441067194 783496050 181508290 836924510 175718862 524974500 103094680 567800408 235386334 819898902 916029414 113201320 455532270 273390434 589872120 507245260 682506488 176639842 497466628 957904800 327777694 227670836 15158512 594321394 943708284 982483492 6528846 979155112 178847394 347883008 954168116 386340316 39224318 342105496 396437338 709803294 337321486 608335786 139814454 349138306 745339526 837447916 376276486 518207850 551550150 549742410 858262362 318625480 493100798 224158400 303279954 653218038 471621194 471635484 530862252 744393190 889280752 432978472 129607316 687887140 466365302 658546222 467413374 34906180 204510492 832096202 458460704 600663572 662660512 397906514 154380026 988903246 273815766 724775246 758002712 423231906 127936024 419934774 777441848 53338766 961767574 138701104 420508624 192262906 626035318 226242910 899173658 831171856 977020802 455778836 115123010 154828534 271976918 245939740 232756570 634078650 348620820 9975762 562388276 533507774 701111566 179303134 55171126 501072234 744031036 862788844 141422736 790198744 969412780 379435294 310117114 765722954 249818162 442269736 425110248 531816098 885625956 173903374 650753164 987559090 229400776 530667676 821660586 611211012 175756900 281732660 691372516 665691804 138153238 229743690 562872326 391082250 962294764 290915942 222901112 736623750 775144186 264316594 293724078 877603594 334827190 861286352 154447416 158745342 438986990 645011822 771940870 70932406 361567062 891346316 608857160 503314108 511781792 136541496 762406458 866751688 28153612 607798968 217974194 525935784 294490262 918777812 569855410 173484544 627105376 93607066 839167758 101683522 306530444 794898394 672018042 321145988 525064640 16818720 679312404 336537060 637651566 68270944 531871048 617038298 972961286 28606626 385767424 561607212 646498704 843774704 734276732 597481742 97941882 165130894 143233742 686977268 468843518 335889174 757099102 119030406 438749060 532572372 945627558 926537018 927978000 958947810 941333204 574237908 10051554 33430434 581869920 116015148 588989816 851829564 957543928 213701308 682945206 38765212 454091362 565643372 450542992 448129144 95817914 188517300 150013108 740090996 975595140 564503038 351233774 68960224 66932362 535231786 75785894 126697292 825238154 381208330 729699056 548173456 971013698 49705616 733710900 983191428 623296606 617111582 667315642 562233122 231231854 652883876 963074572 129103792 316216076 293927754 459240156 431503592 225112214 861676748 812783672 724488808 541955458 389586808 516960304 312949532 665594462 336281858 444584434 267459478 6647036 414749432 397871574 2205306 523935352 180901510 28332320 649560960 946265106 697384992 405240208 631850016 789657728 936421682 347487598 909265464 941899658 797166046 725089868 343603330 510602510 969997386 50580518 892502028 18867778 991048812 311937372 461631280 718552090 891596896 637841696 841993584 217804700 104730206 400542996 894710746 634394204 480315924 809643194 625846222 278213578 215274338 97505992 910316142 694549312 38131514 734984878 836148860 301922352 198250242 973260560 258231010 30547242 851382216 561718662 742041202 360298180 482994764 727738740 701564070 518866904 751817084 196368098 746720182 265269734 763562436 207671668 428021820 970347280 466688084 142764836 955497968 540086552 673154984 551791624 134264006 194209372 255989106 897324376 48490526 224389798 753558234 404888236 315167590 50106030 938788722 25149262 409859760 837767226 16506316 438228226 864695698 65079528 681676270 273957852 102709824 148033356 322846864 21096866 592275902 573404252 958272720 991777180 838067614 694324658 401690278 905178230 908490462 13073906 33210548 83576270 495794988 726763182 258344136 256083820 1052628 185616610 401243386 662936420 773492002 871619718 932031032 948574716 184637294 604101166 813632050 962335364 532563186 945471066 588897280 718515752 2217496 563242744 495784334 136766838 995532334 27214068 439636406 726046134 116712332 788198688 354204454 998040786 126102968 920124752 309658906 342460654 289846418 917150374 913949860 758781808 230852204 834125406 493508968 993985866 745755322 152218030 845134818 217182872 642922296 310563476 861742424 769291296 714164356 973795264 104702746 601188290 424120480 465915128 770885628 878503456 336645274 918082998 469458118 99650246 830593566 679194588 536330088 67793668 930262888 182512552 47355506 610909022 426964234 38866186 369831954 868321590 281126112 276825684 619887122 968360594 648254614 987368972 234424402 801710840 30046220 591665430 132741394 559681410 32513214 724716936 934488534 12596412 674200756 224893668 183699230 575428222 982444340 167199828 445264448 799418172 384610718 898444300 637934720 151555302 498411668 309181968 691173690 18166894 617169180 825877850 342676592 416413348 631814660 455538632 350189420 742437582 875730382 618998280 339128254 654038242 481531822 462438532 856090540 178883884 533844724 985522726 521808492 159841396 260537796 527643264 416772878 201770452 111767582 109700484 232041076 222059408 65704550 50647902 423242518 452441446 184526044 295096722 925980472 30812300 484808254 927839068 476048702 708066618 287002374 338579908 584967988 694670092 249968628 781285348 538950226 800791874 847390024 771315990 626573792 191348758 719282548 953238868 965397078 694876568 501562602 569225290 937324774 174789460 238302804 990742892 677653426 64595848 146729438 756948808 965955816 800593298 413604186 744813312 917794656 629398462 502909750 489632030 172376884 864595922 298863718 930410686 443630036 230214562 497992612 136956134 841220824 809055768 656094156 230574244 601233550 873660884 353089758 433390272 785004784 258115230 344023768 567290918 472400466 419523534 584106750 589958390 812395588 780852858 799412400 545620294 117407560 134348514 133684712 632146712 223652758 131739764 148076412 179980524 517001268 162697186 316383096 401217752 997574812 386565880 75811748 633635572 851917518 496812020 21722610 833523392 392770504 889266650 19833532 968310520 35676148 349727540 642691046 481856080 235620582 847553158 247468026 524506866 390859168 641259496 802342134 871678840 252970764 858525828 516716220 943446940 692246528 353248504 485205106 407929204 121288812 739375238 319336106 747212452 428899762 26987044 713099830 487473106 579585802 868083470 524052512 527008730 601200874 891432518 378043888 534100638 112851336 570993406 32185502 755035310 251256918 656334980 126180348 809156802 437762846 67069778 397349610 17903994 93275268 410919952 179967070 405600814 636915396 405336176 174860480 684720318 996898618 806099280 801362590 909618202 558967836 373809292 766079312 77594662 642057546 297369522 230557790 440438098 961099124 170141896 626392800 668104972 576370774 145694186 759797978 530728154 469155900 13916814 317034698 813567660 414414500 428850166 725620502 694314378 820603058 567070128 883810980 73910592 281203294 886786160 513547628 114439228 766423380 825655398 743679906 405059036 527832158 580386488 299586220 212027296 928490708 236907258 484472202 367533180 721239100 760142798 744979744 60226974 58006064 669959176 569645416 701922176 436016566 645427170 77300426 77722092 849728380 981339262 80854752 281245732 615576260 300288286 89707220 409910334 713230978 272096302 232630904 620645630 164055140 699549642 901836074 913170538 612141094 635684914 529914114 912737746 870023380 354333944 417618426 627177960 662347228 889567524 921828642 396494040 35764856 530266594 380416426 711557070 141520086 134020276 922830016 965792192 453069338 957902094 230553462 124916438 971410762 639747158 447652292 146779800 989422546 138611018 889272014 868583286 185573168 668362836 416414090 434790830 552126860 566818764 110786472 533787834 489258646 63825024 645801300 638401048 603356912 669017412 188433828 531786532 834508400 693613738 517721748 55835414 521424604 673192826 876088008 352588872 345564656 350490796 482196684 147325522 58065862 274343754 74091972 930085896 440234024 338065076 844203998 410454844 386550780 867490578 79221854 918782742 48996828 745592400 782479010 301061838 514567202 393406470 913080334 741019170 390692298 284727658 435081946 76451314 173679076 515192948 482023702 506499888 669330394 112327482 989039904 889816256 247311512 334405910 875116860 102585264 765808438 316724436 891717776 813093370 654892588 173076450 377810248 937685860 406717172 846808374 424127234 672232122 706141596 558253764 948025910 600855430 850667400 844807640 67114478 185678762 922961914 183800954 704313014 469605054 983774348 632697192 446753638 570307452 910227444 800532792 295749704 453392830 275409168 894955858 822984060 726787656 925390422 245089236 226805380 467681280 510868352 487198254 536755406 758241320 785663042 845125538 803125322 962069230 701430362 229075692 625968888 905603844 324060192 382637630 357511634 935711500 713241832 894151436 985308198 500196832 706080326 739515168 324699262 45253018 279045838 610132440 607807722 705691888 347178946 29254708 872747322 489512610 811204976 634402818 30135786 162516004 612998670 633450876 184323674 15277852 763121762 492503732 682329764 818451734 760164046 815048570 107953468 797263062 900629482 150563352 292536002 731549848 796948412 254353844 393989330 733682850 402262628 73269170 952806076 473333688 462849620 601717820 111800270 217882202 196774450 847574370 470313180 854667518 160311440 683571046 531411732 632607866 359105414 271108842 298805436 841737272 585297760 899135000 375234662 366496786 890080144 610500210 32033644 983054684 967348462 745253090 950905016 657171922 15832824 219796626 161670990 5904904 584286558 229727466 220655622 44709196 876888862 621470088 862548042 777138890 944307144 374147164 911509626 548088260 825992884 969825480 851405136 367185302 249051542 614556188 876188506 164062932 452370854 951289374 153138150 541412182 391125376 391444338 282293102 633103206 782025764 474431356 979783262 21023778 562962470 245763986 247308886 507223406 836967708 90461664 793549436 811725548 855576946 876270996 306968176 423251896 611060106 928490536 533406696 505212136 989360776 428098588 853344814 353397722 243964146 866295928 701330564 575604426 488119844 648928368 312245816 689633404 476802914 76122270 305274644 477643750 464445460 529029840 931222238 237775992 355312684 148985092 795706168 815945456 417527774 643404526 824232710 138923072 571733560 44210650 937990944 471605944 639179778 482652812 114154202 818513044 465451076 550413478 904568632 571339720 146991704 484538976 840925252 406828148 965808042 541591988 774870868 709535840 922076972 949853894 654042 671068054 92659354 798176560 511071552 594018492 957899412 874660466 39207934 955504212 592956702 375987796 55264828 558037710 106628730 143386500 213579162 615933080 440914294 98141668 231450450 127465312 816542402 878143806 541774216 466106224 351444694 84384526 735818968 256360734 128952712 866652016 318558914 458812310 332887482 636801230 856067482 555934268 753622560 287629644 684077970 885759510 596922514 619980458 758700552 562515962 359171960 243600848 460555284 546223356 781121682 353274086 280114044 743598188 57607676 267246342 926370110 204007070 637090194 51925436 963637272 51936768 898242952 206134266 136142908 966423344 313509394 403228250 779862460 210475270 160655544 222236276 437593636 596330282 77349900 683460118 424856380 408805864 303089758 742881866 773606966 344478160 960524728 250096210 766416228 42073134 643026584 73032510 62893416 782238722 635330378 910658352 285044802 632614346 843689270 111559550 76458252 593578014 326097524 102162442 27656852 238808728 715068026 856393816 298606304 374911858 731913908 767570902 873655514 645358718 969277656 858884566 413338104 578824956 767527910 965348230 866671912 320918674 969251404 81811214 63025356 478486070 11569874 112828374 648897096 310074000 75727754 38412748 958235290 70794684 711464026 746146392 83388788 298702000 521649046 206799176 650325674 114858994 593009364 680420792 944332538 380111220 26427194 262727174 63785334 229225378 386237696 226659934 8399852 220727570 704570892 659284770 8860746 505366928 608884828 476214050 187756164 794224846 989484212 203132308 198189198 195101610 874320408 410213370 195978662 199081550 148640328 651635336 408116130 223389216 905847188 193811786 429159700 145706012 331022296 585983684 231651478 800705910 302665616 598514446 590364282 843721610 376130722 461058766 450546178 910832754 689066300 873406258 310578092 793631924 581501132 303579004 639310556 558433388 668864692 442428342 587672176 658380024 18709002 117787408 901520586 961468010 629696990 772949114 449866284 439695468 14984724 135443940 428625888 535867822 982964482 272827260 227160398 30214550 301044586 636171958 515426806 322952006 136577294 953714754 295244092 980589202 540591744 935000456 152699142 750244286 720487826 498883046 828698804 187247642 836735958 92512746 653671846 435102210 42012876 453121218 207037028 563281054 292347810 678848564 579264482 83195424 735857128 142277688 351038200 883283638 144839484 611778840 668643760 128469280 346994268 299391982 837181798 650520450 70827618 904893170 845250786 682391908 309245656 170855004 218931440 11298562 476037954 128715062 553070084 490302740 340600686 216223130 784160760 187998308 750616900 813286568 293223452 720306538 35592846 737994034 166734326 27668680 552385846 44731584 511088688 623195412 323173706 116870530 8187350 446115530 745643946 887809784 36699520 155947626 665084148 783053822 467497684 149161414 551168142 887283654 742294676 750246322 837407686 466017644 443189092 589051664 918600340 379909826 988157512 13614186 393022682 361858590 461740272 777069822 247731232 625920436 44167872 923419462 362072608 347118640 423556470 602207234 887998680 67196482 591804092 912109732 61849692 90764998 528279226 729821132 722850140 662025356 384174960 826202318 334952282 407023392 49188778 576196532 948177454 117896422 3836212 508522006 825662050 811560500 70072768 338261002 393153908 615237652 434993680 537104722 326325624 836927848 415632788 549011884 698448330 730642774 121617624 551615758 233409996 764810008 718163678 818721514 288342456 376135468 829244432 604548426 684310788 105251964 771507134 617189690 600841512 609542260 278025778 487959106 579565910 59061032 331450136 998045582 331622796 819234514 623323250 920020920 387945112 457915068 937979672 275807884 183561318 754185438 832946044 513576858 372979180 759620812 140113870 636233904 993217134 139892782 730325466 499377932 799444024 836426874 282686892 60518964 971148074 109634974 905527866 294190472 967776366 262722182 366546874 575129844 893159406 825320338 386930910 27282404 819848086 140205328 433975732 585178436 698517826 265449130 352315416 155101508 911341796 63253128 525355200 357278552 347169726 253683120 578368530 68584720 254770512 854873090 902460074 144781290 8406970 21506620 243784642 786586890 879565594 592878098 492395672 925136686 898455044 664039340 900584594 213748840 579344896 705868148 265124376 781571494 265930710 776858452 45053230 802208656 899762106 111913174 351492116 665685972 596009316 156101918 720841642 299233586 643761566 636623422 610241010 179732000 654654682 156130818 759577186 122046974 506905042 432479480 196877084 418960316 635871444 113254448 724610120 248320440 884939926 983596328 597213192 58959452 960327912 715361610 779698258 375611676 404623924 66160184 248148880 406712168 952284508 576177862 787685170 11012978 180973158 676883206 516095584 921953948 219240182 843978354 39945366 434316668 748595782 641305528 839687274 907901542 3538776 151979782 109241738 837036348 836771272 265423952 460238510 674221146 564960034 930266886 137781390 647981940 245619656 955650530 488200444 329915772 99744548 382602320 909228346 957277414 874219168 151848672 458710210 42982532 858971866 172362522 821120144 105472726 160381294 124993368 253713286 540009116 835062220 409576666 937318098 339282854 971659628 427957786 375793450 721021178 412216414 874552326 57339770 546945318 885639528 23231104 632255964 770248410 342969246 858942628 721338150 423839388 135249832 93473932 824775030 842961442 930951582 886756392 137632296 622746758 633048312 939038620 114837494 729673674 629189898 509701690 526560078 768848004 440719504 765813662 704068214 30731422 7669638 987618614 998923292 675888936 68577466 183553554 618470862 154183088 116288760 958478264 148883194 121567404 316122076 263921644 41840338 547545054 579928100 46850118 241360288 163878832 632293252 809862572 256237136 585655482 930305042 78768208 460288378 696551648 46552272 992536138 955858000 29984304 839822516 883151374 3632816 901939454 794404284 16075806 179198862 639124146 563136742 224134352 450469012 188690642 990808634 733842774 325621010 773794122 755822394 496051012 667548970 482516672 139782306 850499148 711213412 874125774 832356406 225989282 49620740 860892506 361883832 425126732 634812656 490300256 701293712 856957650 878784460 321692256 323264628 664410822 143436326 329782014 999101830 409608870 622505698 497921078 206586620 774391146 909309758 495914876 921392866 370434708 390606250 591858474 116661420 125436422 137375428 464258374 280448340 876136646 620707178 421770078 966284740 300343734 132826582 576250746 608449150 758864106 174951780 546914788 850369194 529147130 860026930 253475846 153294162 8898628 198277080 40248362 809420962 148427460 350147060 57314992 394642038 895220604 740921664 156896700 771591764 309424028 966675806 707889044 706094212 743323016 856031516 592883510 7636336 889245652 526420094 163268526 745285314 658670930 476742624 907024530 487755930 454273332 712738280 946987238 407753288 447703228 283623336 414295846 699811648 701768932 340022424 144989254 641957724 939591318 852510668 941312088 300324178 78998066 772715078 600125320 2415070 82473002 329406662 553278948 392982546 831054920 925969060 762821016 411635818 943787552 761331536 743438932 266157622 365213024 510703502 89688324 797878002 452739682 709196014 668143130 333587716 647840708 803599974 459400986 740831480 473087538 237658644 934080316 493815226 558656218 993148018 31828300 474773198 974297662 737975660 9763614 790730546 434123150 423380330 362264342 951584770 353571558 604052642 63799134 627795590 483824460 610996368 903973632 685745410 43619292 546190830 769024242 227608504 689886572 494193460 375581510 732557236 394981926 677393646 895239168 508470770 541160010 542654126 371028384 577128054 305180846 895234632 334190670 371850736 426412860 868950630 393791036 258844896 92434320 992865724 128167500 184632682 975082042 944875786 80235812 379050498 871493158 589765956 359966190 785439068 555474384 957890912 722312048 115618864 650593390 548370370 886007956 673789074 528103200 122913876 836302772 959449010 541121222 993702932 93110234 261729212 879160408 257682558 181782574 376101566 460667150 810013606 171142196 299028842 552483532 866390422 666264968 773756100 445583910 875045568 340881588 54999400 524313518 690789122 217485676 691544222 95518002 266326510 858329044 438014946 73203682 866248306 518925710 569778394 742475666 552077778 459024744 864749746 681293244 839400702 60957194 379787196 553022878 471661578 404672718 245506884 488928630 476710194 410936354 775599384 636230478 245722126 219600482 970857832 326957394 296363478 563253320 758111748 142904356 303284502 152224198 612329426 726092678 573516532 791102990 605448996 677981882 658246580 492279922 686625216 353208420 893381234 47365980 742676498 573577904 584381414 288428690 269364298 270088454 224970824 609835378 368277106 109864214 931711330 813858654 655946586 282213372 241283616 400751584 781887918 502600882 802230532 889996954 110153512 369054038 186532672 304276466 814674146 830855208 387574446 315571360 904645694 670389946 123449822 809434530 45344274 194817130 295621102 741059770 283588012 184478188 379711508 826247602 6376952 862722772 42997758 36240606 683513018 649685010 225415558 947221084 187921044 953514802 151487822 478047642 748509388 66712134 685882760 524536108 899511014 777864452 190928684 487842808 747181408 262461070 765868432 652829194 512077264 764705542 943636244 263458308 931924852 191552808 493624576 190623488 703220644 423265356 897435798 251899348 409504268 300237000 738110300 729184698 255922292 924642042 55329322 42756120 29004536 904843878 890317058 825025808 135508730 123349936 523504658 882799712 535063704 900908936 999903204 344392582 202382132 696442266 453828088 694085552 895388772 698201570 703770508 476848166 595017920 607436200 676900632 186489034 12968914 678129872 228678890 276445454 543668444 280802144 884707430 432318028 140813980 388320860 168145130 832839656 677892492 924167626 664667476 527658506 565838642 629097960 676314960 897482726 873872680 952180540 916596162 150000392 385054528 582867192 907157910 649466254 239247976 291356586 235139354 99556884 999664258 116205162 862208062 835606936 48820048 861987788 342259976 731529646 914980996 852292072 653246146 596184386 914064536 437285354 276793040 681187206 391896736 78569634 109417302 979290622 347094442 336002600 516147414 183604386 788645504 905659518 323917762 523333616 660957572 800297276 887922852 760366638 902377406 925197672 260312106 584020996 546556248 507942474 12566976 487267700 266039922 746053722 963016584 88809140 745400998 704938316 676855516 409495464 763700084 8850548 579829620 884695156 67646984 150956244 347775538 98878870 437297918 180818698 63290942 242951330 493609028 665900596 446634474 913138096 150823588 798834016 686671714 259634184 578076348 972718388 842828734 708096256 694571062 796471902 613907596 280972654 16561028 91686962 851202070 927034398 822728126 36182302 786454594 163036284 797983854 702568044 451782666 774331256 568112728 542762540 53093534 444190184 950621656 210492018 626931658 934812514 112047822 835254052 204403860 561357296 477042394 751820980 491501620 990873378 954561034 658143438 693504392 639414374 343443932 93216064 968660984 165834038 693612894 910370272 86271970 12775896 569942454 118185260 626300046 328230060 737734012 99545768 265623754 487958552 922445416 93763910 643694044 911978540 323936408 130625208 635863146 103793214 618946018 990214224 368241632 127856530 378453162 543763530 718892098 446081692 577355316 724192488 140690520 710896418 54387112 291475780 389144488 235246348 60579880 881158148 354003208 511827956 624689510 147453558 371062786 830371254 917433244 749980976 433263294 972246198 172005438 699596796 511567282 646383806 875180300 355333496 668670036 358392814 143088982 793290534 712247890 870471782 970950854 656133594 890712690 496610592 750371232 55240008 224295086 554554688 42630054 66799892 375505958 676871730 127588844 811536536 866602508 622708478 253015994 708926486 842784450 108640912 769726454 553736410 444522500 94006068 384450386 910233794 535212648 995682234 908628782 416451722 642588856 908962574 122452630 780675568 61368276 281440176 533550228 604925176 911761236 619877376 994994418 422729168 750076464 252499312 98989276 915935822 828719488 910362004 928683934 735020700 102299778 467203136 488208818 253599214 506778294 294301824 692975200 354987634 74301560 347304660 206898828 760781204 110956588 220405788 685659200 27289802 792205198 454222778 505237990 207407570 183365774 24599588 224129736 416314290 552020900 565643570 167529466 933558750 59866598 864409116 168253556 279590128 562344344 524568216 790657068 879373864 524850742 994499530 684015496 726516674 830500632 68012554 624378200 869797824 989598136 98220982 118822808 321146704 98448154 673256852 658020996 732647986 262163910 903003220 358414932 786148662 3478282 155624020 489359106 602361990 114717504 322733366 772899250 49709176 335168560 985158462 768605908 835483734 947338692 541964798 494432006 284709806 319469124 871813568 940692002 398803144 486546888 681196954 655524728 960097564 585143790 812841448 489645380 101763148 873821602 300498058 342361342 337546936 225589726 127605640 552708798 674916262 993018566 999846700 490103510 109961494 744674074 436719238 357867802 490069546 81373558 720710424 297107330 760509024 898776590 772784914 420898700 940296254 394395966 179627720 957357222 741667062 98593056 231926558 167658268 326677102 238200694 831377246 336586298 38086774 250981540 499953672 742897852 157971084 328138670 382706064 838405432 98095798 42392952 372594650 901249144 845589668 957870810 149088054 366704212 53511728 895259788 328117022 881904550 588679904 799599330 207009598 538638620 184011672 471165480 632790984 737688098 361705434 528337588 786089232 451158076 514434064 447959104 757219492 576627404 697822394 917615766 960777296 811659654 830953892 921126514 235577214 579224118 73190190 659987108 482589264 504713674 859452854 736702860 56432418 366241190 349349274 300576066 854883126 850912454 321748870 102162776 720100246 272616064 393644614 519853852 431619492 917446040 691950990 936502740 405939772 210108642 299927480 378651682 367517842 633800054 825079328 868821374 102196926 338941912 608840536 438809748 778774158 282717826 797530432 265616068 516430124 673331064 376422740 469251426 818179748 828558252 12683486 926860636 607838670 725576628 673114414 312894122 938622506 766679984 499965616 762607590 279862304 125101688 409903718 777531804 710823820 857694158 470828236 191146814 489822130 123279554 143637226 743142836 373097084 50819988 274636488 186880074 604308828 386450832 52761328 316921178 641286356 633210068 369439812 260331568 520047666 610090050 313585818 924657142 6684916 841588898 701989706 167173326 781875022 621573916 696304946 83498872 962856726 571652618 686394954 996985810 249392956 847811386 459074206 521618584 739668528 222587870 926552738 65560582 268798124 616629102 326572616 966330972 731413604 975723706 274632318 391278326 386273620 914130400 535153514 824911846 52322762 429092012 835643142 727580950 104047846 867935914 109868408 89436326 437012710 415193574 960599846 867826606 561037994 954743312 24845104 48768488 665167860 868959674 308864908 974079670 505722824 36162426 181837748 113082038 488536618 661068206 821144338 16062102 160815936 565531820 294435118 85699914 35865670 918751734 817134220 672450830 684287938 617343362 887840714 216833950 866557038 484787246 37584046 645820616 822349066 242776124 81873618 595519636 489001506 777449744 769975584 36190712 502757428 999815366 465976794 895143650 178480512 160147078 844862674 60367434 159403596 135518224 829108578 769745722 410611344 442017318 648623198 734049776 698258118 713866684 174584252 980537544 103142974 75649776 246672998 186847964 889663998 440697580 994449660 110253714 823375952 670846294 543437382 922855636 344820738 236161950 678333814 260157538 483667024 34378032 297065442 212103534 62479104 685599786 239265208 882725802 162342036 833536658 88499480 546139104 665232222 109557842 442521144 275858712 278536260 2011854 873785034 667941272 319527222 184351892 927653036 648366592 451281372 654730666 805293662 174670250 629963202 685897888 839522600 621734112 330331728 230865802 434982108 243047988 793847400 484478608 928928466 509730804 186108322 609896628 328076044 886789272 486173772 826553662 963539558 246837300 395927482 588766590 113992574 114613680 401528160 969628076 614013616 22658220 221975188 453738934 123785426 296322682 150915776 247967656 275453084 321442110 840689494 268139142 571483680 309187192 907544008 339183322 983692032 440559592 321286904 832645644 78484634 214416776 130587416 414877154 543807806 80195770 127459462 910742074 129060556 447417336 877718074 620490904 681937096 162323488 532347698 845705192 571477656 682329278 506518598 429360922 274044794 166887044 798048564 682617696 699553884 675872836 558491278 742281918 81277500 841330214 849260088 325876758 782519184 182475330 836902930 397268904 799841494 570742786 434114758 429069456 888613218 140594446 48111146 428391080 734141384 410740224 264086024 284142802 192530094 913114074 984890878 422402898 248649542 153982174 590329436 89265396 590977244 215595460 795265228 551430320 185136530 498283756 471010078 738777286 973407572 142729700 444046874 958908 432612094 77632912 165809972 456193022 492725724 727247360 7373210 298092676 298780020 533368204 56595352 966096616 432881628 86351416 164119052 41626522 681840616 628308582 644509828 981243160 234388454 716522900 140344266 866802618 921953526 726144092 478407020 715249634 287127982 273727260 730015432 481602294 335069338 43901884 804272896 119213658 403498486 104803784 116613920 413272548 361718286 300518934 788229196 18077652 98582530 334595026 431229554 524998332 192640218 985634346 402906636 979078068 968817468 220062492 141647332 316044170 858629776 340045198 389628742 236713328 959369476 47120828 554930276 515554476 488947468 880063636 543187008 318054322 337925562 467816152 387181620 555664372 249765800 377036848 932300678 26672344 139164676 676570450 168352946 321590542 282875554 777905066 106618814 875982170 79856298 68534232 310156368 552305566 474179396 631781724 745240450 344709446 278582886 404102476 52505260 324279832 828673030 148336836 614450606 605713496 738311724 608968178 22440294 128031798 37869020 165934394 981433208 308151190 573210694 810868600 19748708 890442222 897561686 280346052 870098516 88642666 158941618 297518574 675913126 124671682 202058624 719038642 621208752 685323676 512664606 188963304 306157318 393018270 932404650 476910996 745623626 576153892 231229706 253293050 156844232 962279974 991609324 101586000 25121362 346486734 330697734 563725400 351939876 646348790 895193156 36093394 756441600 246607040 703980210 896161896 129154404 8958700 445836124 927248552 211765110 418212582 316139184 726946068 764116724 720277530 572070696 823075144 108884470 801435450 955019038 100408644 29329960 608065860 86373904 41617392 761651476 258301346 375999702 9690716 108307754 199457692 601574214 85309520 518701522 662731078 820806140 938659010 585901298 392959198 461310906 81941744 388872124 6692756 240225114 728937828 948301072 922719376 99456214 720741166 951793408 483147260 152744222 840677678 305772914 452101984 592188130 829882154 863030252 750835020 929627300 436679908 607213182 873428616 902808128 389502518 852684344 172418016 713921766 667054102 103356936 893369028 648831024 778625144 124875604 690220496 225201402 349956702 40648154 712483364 439653000 135871782 399143270 704920696 914217598 320432578 30829764 785217148 779308274 648764620 872832994 69037300 981637840 769501622 67521928 990897482 22770978 398044384 105499588 738067466 136006946 236503606 861167852 310363284 939578196 30412156 146072136 289950892 385027826 944644402 164360676 969309976 922068964 926636178 601578702 893251588 584629656 463450376 812206236 864780628 981162 189654934 443997114 291521716 903782808 170712270 389162060 139688688 6508496 159204142 429482068 103986712 54070602 199495970 886414168 28851062 673362454 119189630 980736746 457573934 389827072 362501796 426172840 658598884 148794586 321535660 607431650 607256328 537241020 530862826 691503400 470730370 260848040 393565516 905507090 926565836 394734868 288733234 224809624 65777560 43870140 932534392 1775252 659610948 388129640 64692702 219198852 242090336 912827998 508300914 154078876 513636676 706438676 685817540 559698180 271917094 974812376 754767656 289791014 786861738 90951288 459249308 784419162 490040964 98271144 16201608 506740584 802458992 940941376 968589778 470692364 952337116 178643460 330573558 577577956 824631974 962926236 700152060 464321264 833576866 456758794 211568688 25731704 869695952 25259460 687208976 373302882 3828538 126509332 188327902 812731404 200386630 197223100 793571580 360038918 724699816 982420948 438562526 569629350 389531788 643633582 212368586 432960636 350192990 518115818 848142392 937559184 120662828 691529158 407348062 310052282 681655130 827893004 582988340 57370830 884204412 381995718 594031970 235336202 293369330 468962132 656110786 782026354 471182070 890706016 148256320 437262724 248343644 932549538 953853778 338409892 209869708 300283872 447128186 943282774 209110104 427030804 716386544 471773930 997100950 621152366 848531892 509531056 372278526 496766904 617859980 397671684 894255696 803959306 170713440 243845354 246543450 797766192 66061732 437406556 926631766 316241194 389983896 475782350 3696314 115792842 573629662 309288894 304354834 761992100 426382974 772976056 549476290 756807796 322772594 144933862 848007236 957128890 945340358 215212256 8370958 965724578 953020150 336350036 606619472 414255962 18310196 152540436 852916598 628364650 149884264 706493878 427359224 929047280 436757556 194058050 207167602 366476876 360573672 928899802 177528426 703750604 223459190 294762332 263079594 493338116 904919234 948416186 688769086 413098318 387445336 719326130 606622930 306631970 237958618 176779084 462701386 665651266 529663896 371380630 274694902 889004246 568051268 941125926 172453784 219450190 909731102 60768552 76104036 882793150 46125320 60063148 781904562 332922396 12667184 350738728 26312520 953441512 244563830 484044078 758455400 42276968 155953858 27168504 621871348 483729316 102287030 367242516 273192698 265160514 965316336 256736220 578496706 534653754 964624628 157711886 392582922 728741112 311674368 891238238 715531788 956643232 692329862 892875406 982782542 62726978 900352054 37122932 554789074 53266036 434056278 131113762 955542936 267535816 38610178 965945836 38942796 435411514 842819796 593007252 843895520 379339512 779143372 500288376 535463808 123836036 477873198 626450920 749611532 370393508 246983696 946385622 406766984 689971992 366344684 697545070 343033454 433350834 762945492 822077888 970388754 658132544 833284818 263883898 718429730 473243996 504287716 567455474 265418324 298207406 281158328 107103552 485288854 771506742 490555226 826891870 793767740 230925436 481806264 438663406 784048136 257405334 428924766 305506968 444102380 961360954 819852918 229220860 70056720 483158314 176889568 964166062 334615944 261270718 290009636 666362716 790230780 730977838 479056422 18813292 778554334 806618196 457324524 728296462 956411862 445674706 876129486 245286034 310335988 592672682 563736468 935797936 319122826 635202444 327272358 22104336 701576096 493453418 878588036 114536738 871135414 548906432 953829696 766268998 133861702 802702476 167357392 515142580 318747110 222235678 591153670 385214534 245878836 304464452 621345934 50970248 364837474 114935358 183985986 653950114 73706464 950809446 951943128 140667682 552953678 509453762 70440610 680997080 618858404 23262776 421928444 267180668 608545212 3246796 603593486 178369448 372028656 679141268 83520702 362369922 656118474 790830282 309154764 567214084 983596514 418695028 792888336 495791478 154329990 284032002 329878434 337480354 178379990 231336302 333607738 656080256 460260020 739186044 838496906 282273346 616726390 178987878 661027638 877750196 729374370 250279554 489987406 967796982 435189070 359160522 511623396 166542062 375702404 74340022 653888796 67261632 504814300 233039400 106026708 607455336 395226228 943482250 361423320 375012236 863638868 97373664 966513172 372138548 222515462 695268174 285241954 98582518 642216248 630663530 856959562 631888106 670778678 907977752 517419196 830948654 585628552 631935676 35181898 497026748 795078502 167895724 538230166 710233154 874927810 159249698 386441692 559188454 357569096 981219238 968061690 904036684 673083338 751731358 518731002 599525410 699645968 335962038 262386946 921189858 579639284 438108716 517852710 441366674 561677996 939836148 256025438 697535528 835150700 601808914 469430304 251572786 922942688 722868760 406935688 596387932 209206758 477044088 298757466 430837366 601961670 148591130 416420918 603536516 508920082 430202096 121347174 298848262 816408552 295130062 987007772 465523202 30389032 105381844 645902594 574361438 573225574 302146574 33900680 216927766 278909436 160674744 662942034 152093220 502061304 551684408 403119496 301950208 100844106 696410266 930290822 156199798 776344326 621202440 229405172 60863696 83346270 533200368 482119824 51618454 617471334 951233454 888711832 700317590 90248310 983514584 877042352 869263562 216991842 29778450 77694940 933172096 150947546 936676434 378018214 321893172 113698842 774472166 668009568 928845386 921108352 31751952 122716916 768350070 110361594 600716464 347294688 298650144 707200930 572895640 436132250 272031976 350933370 96827798 796750086 400268126 161959416 537599412 276209440 127912820 763324548 87169116 574173734 183766986 52916480 992329126 563442194 240064632 935590258 851508394 875807634 952095886 790875080 716230124 64464910 316301268 938168770 456984626 763061928 400456302 621037250 232772512 535312978 811657774 620183904 233298800 526318582 69567882 493688434 475552914 29999846 553053524 87786780 675653968 242632748 153784422 145125816 983754588 599065032 364582564 837722142 260827728 446167766 85229464 322097670 390141610 600631920 998352250 286900086 709245174 714139944 138649060 202485902 978871220 429960052 765611726 66003388 543216748 927481670 783730438 807267548 725449696 649635496 865503054 464725470 62704976 194836854 66492670 761482682 468396772 369032944 963710062 749897474 999704612 227672442 912948806 431221418 171688158 270301094 602887570 754755086 841277188 157527158 437744986 645741296 520766614 346866672 421513468 33600674 548685430 94171214 391870178 687459250 288221236 757719756 620712080 472682934 720132118 667646166 917326054 532650402 994271780 311033642 39859378 213450478 12410722 193039222 778291668 137533852 778207876 390718028 644089164 283794660 967219100 238204140 624985928 189166718 903442800 540830264 144562476 726430858 807632100 345218962 580074408 515151480 991346212 578864514 269053524 154256438 313533302 365099196 624921302 842870484 271588552 682768982 397745834 47482344 301288936 973396720 512079654 330710528 460849440 664885608 425433962 298892734 578247928 667459206 268890618 612546648 974240780 603649440 488800224 531057924 682040826 488141374 783930020 319378876 1468770 800618398 656710660 732993936 459005542 83832390 769545952 508198850 884696496 224981658 434247958 564683382 795245260 367069436 874571990 948561622 789910822 951870306 618234040 425746668 316188264 235079532 657661734 979869844 304094394 251525748 242397656 791576296 592924012 960383358 517532768 528283994 417877474 207012098 195266558 167849114 335292568 710894760 390948894 726483242 417837882 445491738 689289478 869183766 776786912 843184610 206012212 187406210 671093538 355031140 35964514 200105732 893508108 646288324 784843660 669636732 518383078 37573400 32072748 261651064 907357482 294724132 970049808 545074092 458732152 934082032 266396924 258390708 988750232 307195094 849778424 891694332 368716494 800079214 497510606 362129308 254680906 850930008 627345214 81237646 894092578 64404708 451646458 85962454 616489904 895747112 268464052 843671948 825666300 393262960 478262388 738656726 728601004 905241164 676903544 772952864 907436690 633792824 564776156 205810160 410345112 572845468 53062066 897088952 226287764 651639130 124625998 186054402 706956246 112622444 786959202 861297972 551779480 909785176 249185140 318782026 375795104 584543112 176480216 634965214 741037836 510059758 624129410 140509068 506484950 111981538 568079948 136291612 186887510 170879414 984914332 136842910 744424666 449974320 350481644 453707878 903693302 687812910 260978620 186975442 100376694 579779728 379460804 390231114 442270068 58681062 668966150 522274842 152071326 164962442 619529256 86106750 380205364 170329248 175918434 67725144 11858700 944489780 18708660 954266906 867497778 14600998 762442236 79300094 104266612 941255812 751206530 143685052 375316520 744632562 721892596 55904902 997640048 127608024 548148494 495717538 635213666 819249210 403824096 159124380 317709160 130299922 904859832 203127208 799260536 34582150 785440686 79782200 635785068 942835664 278861562 830416780 438587020 27590484 690017674 223030588 465468932 857735076 763289170 120235610 26627136 756623102 517785718 67301184 214747782 35211520 732857038 417461970 456658892 250389722 221941042 768363470 241322470 485369812 94225278 655090356 580022260 873798638 783585272 162492452 841944936 993905108 743588524 133776884 590667812 596743152 688333740 520244348 91091696 978948184 77443262 599605636 745076532 933632572 201336478 766742966 303412674 118720324 168626172 915090526 101795108 785123906 709921352 795498460 850370486 445254158 76819294 233539750 242469446 455254666 478273920 507018654 524805198 318849804 378257312 127279408 136035502 571266206 883836294 795180394 124282162 64290590 581849854 710260310 339927068 665066174 503685408 996454800 214981072 860408286 277611352 897372338 854473048 768026502 748583996 606241916 422059948 190795304 247480812 236127306 665684988 213486680 399004744 551713562 161842422 890666164 418312570 940534648 374144928 704759672 89818844 673499470 70880098 453871594 807092792 30701954 525940892 165755206 705447892 370349170 802498362 688927034 330057774 873801268 530817578 874888668 813208916 592701256 731443140 306478950 726735850 753327314 701909556 454176016 677897016 675367586 586234856 248328346 340775992 794425184 775451342 317201496 923726444 737820318 295263700 316631574 831080384 427917630 194009160 731283054 843192270 999371110 223765946 125987670 954428910 384874398 674902566 922069216 482092408 498887646 857789960 2871634 431503872 226891642 667470348 902123958 886534248 155958226 171849150 515042326 581569202 778548292 325035350 131623884 90817494 62516890 880257234 799450678 642984778 605937754 377276970 32762272 532198408 641658866 127442616 807823490 447872608 534669826 664377002 259633938 910110088 392903704 84925908 100664056 455351014 857459428 474690750 269333234 351212068 89635234 831669880 995558724 934643192 435819302 818130216 389938144 893969126 110483286 697441630 944102774 462687676 694429660 951495804 339397492 912070532 495779354 791048326 160154868 614835010 903269298 748606396 666474768 188072176 371848670 610824948 643516106 632351868 334234942 719306312 399470286 658618020 726772376 707536900 176863010 253831268 728429800 427390382 435569096 727877336 732781956 703608716 742262844 753627850 249001976 989462058 179553566 324483608 638548486 933951178 132576222 799368224 932813786 938988704 199382806 748395620 91177656 930675598 555124822 691605192 494545238 860336650 61684280 159595246 204530776 457744560 191487382 12189878 850282462 4971384 662245182 582309766 60950014 958380160 98329230 689353004 245404940 597464356 464445324 618805340 636032732 76920774 250823226 743402084 164223604 363059834 42299160 549048814 938645732 844560792 539729104 341045506 446019532 79669972 49201100 20982544 312633880 567382774 158281580 82753660 410310946 180759444 484946466 349883992 640648326 771461590 362387264 376905622 998838704 984156362 851118692 610386916 36155050 269931220 782976972 664920122 351377416 505901426 182071386 525092026 105639536 963513622 54557818 110182616 998315384 95643906 837047458 424425216 182156484 285428334 216001536 218974162 975132116 940515864 703218784 285545978 790912796 724720206 352588982 318916168 673331608 823777258 256548014 276300594 139907818 745072114 15374736 443206688 316342122 252470172 264256942 75480980 230160258 942934716 574531608 988990796 215021290 366898544 625859288 138164956 81968810 890727682 190471608 289314626 320256784 296477354 866717224 334006194 143410204 970732954 537024888 487788828 324038124 333671134 147954464 536417874 489500112 837596722 241309608 547822820 480169878 70032092 637264622 42890472 606344096 852553104 494726212 726582004 446058022 754663220 620209576 917471704 243620388 579032004 928938132 955121796 196385484 420577980 182586576 646097644 135690380 680399456 944125278 524835480 825329100 45208148 565841916 62927470 80305146 570942122 716831722 180079030 869422034 517436792 874900786 106416648 213664890 686492010 853101912 604095974 22499446 285875028 78969358 530273274 995186858 882368042 743588116 271511774 269426980 27389826 782131654 38118952 401241960 543111206 31245822 630133544 917548370 265429596 342236604 234730090 792127972 48910266 780770908 440853910 725868268 936490290 934583126 730731522 11638534 44421954 489644214 522835108 782129272 655254236 212145330 725770006 248751146 253214306 21967250 180913938 761710438 207163988 753281374 507921638 657340026 14837438 436951460 972198290 924564650 705050842 452208364 449029114 631822044 181512394 725353930 476525574 662210626 426080282 749871686 78151122 488975430 588934892 267020578 860244598 108530396 352619902 141327462 88841752 844788578 602673626 47800912 298284664 233886504 596138916 810771842 349984700 483415440 28832648 275137302 597498538 11066484 843911138 620423896 764533154 186308708 318086796 144058618 421052752 638073716 311999354 726669270 74497762 962743566 115010904 646339102 898127902 228810158 403808014 504678996 721586794 776104898 485324498 196888150 652411332 309813442 125907468 999541096 818608038 829506210 226158582 218475818 807365884 316732150 23827550 14842560 245809800 10205952 378749970 242965600 153592640 582673698 715463518 381620768 961159040 405679398 831981784 385761488 696190754 732739876 875289446 202657836 575685056 361582672 255903406 530091210 58695936 372690298 496584100 474796634 867778676 165105792 260785032 476573626 49946518 952659314 658021308 859822234 661273774 944846992 233472446 335718600 3833208 171281420 849618828 651891714 918121648 289417218 866908868 447424992 116743868 995563730 979285188 696002208 962714368 551115352 517115406 254282714 211550948 15972526 700434422 444252892 382546988 193964868 62874876 447601492 568987010 12545304 416563030 711103168 529453688 449029452 291557580 957443052 987567272 980946450 366510312 873648224 184213156 723576240 62308524 494434380 862646226 508622486 279713336 687706666 610449216 926037098 798360218 475546550 447590498 349097586 604342864 772788212 784892002 228677164 510175932 27614416 409858468 727234152 661536582 757137656 501016092 321546706 475110668 158085386 468250476 505802962 835822488 547769238 238817392 103066882 527492222 611362054 771790402 578226848 84964016 366222156 396820566 563322340 378751182 280728800 381508594 505280154 416562648 290973370 811257904 887917354 81713558 792558756 533193310 870492354 524693830 866242408 155178208 704961708 161703550 690504350 541775458 547448588 330691068 272458148 556409118 267419614 67907044 244068460 427416560 382310682 888501194 234538148 607835612 196226956 651971198 896245348 511736828 478198804 17235504 355954204 712812596 861434418 586062058 825448178 18342542 738145352 244329296 795920886 414495058 505863418 806751848 578364756 419287464 954185828 695905126 155769230 823126438 7808462 282636004 262376762 410917386 44512732 15679552 243498294 287953440 161577868 484440688 467357880 272940604 471673790 510325606 280291888 76758540 817827870 565183278 251556608 341411814 510078934 82723528 489869704 718574524 457614126 274493186 578199318 77595662 480439838 511021122 717550156 410469144 85555586 399345288 97326360 170923432 161962706 233474960 987173610 495640052 385003676 852050090 953438314 759894628 690485432 534481458 219820932 984910940 752923124 31344580 791039702 146901504 928610826 44508004 570188774 471627536 944118684 418684022 10261624 929064484 124581008 3285300 898455656 807181306 421680660 14410850 652553502 629293864 447545814 945555578 610440616 840165866 747520130 295107018 889680914 624539628 374087806 948970748 365740676 661691988 763546792 79401802 800972418 222883918 919847354 796473192 171630674 966329112 825823038 865323648 666094348 478577576 94039252 317794480 389519296 805289948 235717206 491319054 812023766 688098674 854176068 255852096 616040922 112369112 258692628 39306854 607248128 534220694 85354402 216620986 724682808 610957230 299706808 55534444 472690690 241974244 155347260 34841592 146735042 835827228 320363016 626114108 553614298 526484162 276543576 945596432 404418352 550497392 939268914 883027196 524729272 851079338 431787072 565047612 186683414 509677140 360060244 16768754 233825440 792679530 209142812 491173170 416499380 513843828 611392352 494410016 639174150 258551536 305093342 324079720 259503184 654816378 552498392 173031776 206099448 264203538 909243312 537916970 260993566 851209580 737583034 786297826 198348824 417344854 451876054 798547180 805682014 951489672 260603554 559376976 523359672 997819858 451578720 366513484 901346690 67509934 533809008 706631200 976846496 758827946 720051980 516862816 285419912 688123448 673604434 900493208 721215530 283926262 655352220 741961010 298526210 81822290 69266958 40415718 498963350 854488388 18828570 263832990 908127196 580264576 327446620 119051976 244927424 298502576 667689914 766593866 113074022 580124064 195043994 592910546 654840778 873087928 733107034 587524 391549974 949808936 878550916 451874718 8351654 485702852 174396568 620544206 671890130 654054766 676900506 342679436 124112322 510139168 446410502 12434804 18795648 686493566 691691332 248751408 21119938 32653308 445874262 278045690 616322718 186906802 38050086 378623764 900996846 469531802 332972784 277547952 780042260 175396368 209813506 339795628 553676382 412026388 685775230 996832554 698552046 358876496 182847432 995080574 130792366 158395742 279428888 909917442 500100974 100487498 390775416 778674910 504279252 372371164 269332440 504951340 967746392 182160926 383882604 794275498 657679272 987118678 855535376 25026542 702519130 411934606 199144418 858113784 31670438 279420866 543466440 70823190 19014638 640407740 982363154 535265252 796375570 204533276 604427052 644665408 505675508 904135838 239943904 367541884 427515370 406958720 740526728 129581334 515736284 333602326 753864318 9579670 115011720 667598874 462426632 897019726 930264016 807993352 548694158 697750190 769417874 806763162 455319372 797430996 395562618 497111794 71354248 389112042 962078034 944361078 744370052 958081728 169055504 845027710 847429574 336621718 991480720 718045958 323901786 528031188 66594268 335285828 847346464 125117476 835733772 210852304 244795580 171898708 265954072 846351716 724719920 295231080 288153988 661395444 57490142 340664072 394749606 376299252 1137594 21059344 336706624 799599010 521377566 659925202 138550980 116102196 99704804 949135006 255467940 313420152 153725438 208260856 574373802 766656316 885625454 602251064 268777478 631712532 70267258 545488536 937581114 526495218 586015664 253173406 364043710 962565714 905901924 306698150 25932806 465727804 282716050 503593292 2432848 6958242 153030354 647970910 596802228 622663218 514648626 891097970 787143566 234912880 245848364 960880598 991380820 146149710 427982508 531137974 214204766 125843502 730488606 579201832 338015748 156569866 878747376 851132266 227554956 438370522 31023120 718001876 634298216 234920690 416294274 288178854 942183190 399677926 328681312 337871508 493374734 270968410 193743558 362207870 674249542 985969260 834412012 185212040 273978768 805060090 864216520 551706252 983598158 650499110 961403866 80687788 182179512 351551272 588818668 828189512 543240970 576009688 786409222 95117166 956013322 454889932 328317436 421561908 922715300 318155564 342510718 88424480 81587600 700094988 671075966 269611682 299420522 606479936 581243592 855746154 160426786 72463722 864392640 707144856 691681600 79569638 391273408 231813860 71198442 838574704 636233098 836337666 65047356 772176406 737279718 632405498 557412556 794240408 596326204 18613328 39572204 426340702 110863770 10829696 890243166 706623498 830091924 44237068 777420686 532167482 173429272 969100030 494742816 699434334 735864212 266589570 579016494 740566988 773581416 877307440 298483366 55779356 503524246 909782338 414473386 68787922 774113152 490366610 497648498 843351738 124838200 583743630 970637458 359406058 480716376 433543098 482005054 866619266 7223452 725260570 352658738 211390752 679815316 889871126 416971880 9110132 741114384 113178446 895921836 944879476 288240548 30039876 497557422 527915130 860133236 477591642 935406120 910874110 779674418 697414262 657992910 221514848 352639090 235987008 779860708 197966658 753273348 492078620 411751810 699450858 347284908 460474486 231020168 383243258 758173740 917905780 515826524 288146008 639105916 867502638 249016022 186770430 72586638 472954326 544331604 712946992 796243342 580466684 31547204 899872058 271476968 920151180 56073970 322371498 266650686 769550686 754194816 688121696 148457664 716851514 972120456 460994186 567018656 329889760 773667280 110975508 671622848 770248358 782206310 278371158 470067768 703291132 860345324 219793248 417470764 400444670 3311264 976242938 484108500 146934182 464075426 163201050 998241342 167711714 87315424 941000650 293257944 611167852 703154732 95069952 238595250 739104110 826978734 197566538 615444266 249615658 684151242 808145416 182506694 115646686 356231544 72991924 39965326 119769696 753714338 913615448 122843416 11636788 964074778 955034180 953860266 89221254 268267628 625412988 102307210 505157194 617624222 245095530 873536510 786545722 736197182 681922962 327136346 249228106 818620078 881305232 518400252 275512838 478276586 344119404 35760578 497235692 951895618 937318724 611185690 84320980 393210742 43357994 406186870 147308804 952331058 192522542 17795580 160736060 868927326 39780760 108593398 584502010 575921536 430625128 168157894 886365044 928570556 701509286 667614034 641622840 908240182 637418268 596064816 987707152 72632056 449619078 102644516 261638318 106755424 772567786 171697734 232472748 439812486 433495068 482326850 326000846 323569744 754288602 232605536 613302074 413623628 904168866 104573812 171687128 732960248 804989640 7825368 870422832 65931548 894845524 546372552 865227132 226162626 743468090 697905120 892531928 930157658 967234524 743797000 652871804 884742126 9250748 237715750 841429286 36726758 898487474 554954942 359183480 592830672 367149726 150638526 929555100 982805096 589400992 555920874 247882920 826911022 551982478 29996342 976752290 279525916 114555566 42914232 807512256 80790236 194608864 648029528 745974284 385132334 686694224 433018642 809339434 696128326 717790576 487056608 379057548 342353600 182967434 262439324 946632958 462063042 309538716 981364106 601073234 275640544 557405558 45746926 773211484 719482102 562997708 392569478 593656394 858695976 972541702 233523496 290025972 39499816 404199314 304726300 760278272 780094412 296707386 368085990 381874550 171561500 85293178 438813764 317207168 820083520 961345504 943901632 157598746 862819128 87604804 423924168 500764712 737042866 792442148 914837106 783590822 808581132 362203444 954381392 320121880 677616990 930348864 282777100 804987386 48987944 238662844 573998638 381230918 685716736 223182512 553146768 149242062 630939276 148860976 185587554 62186862 768896438 96053448 361092172 607466800 461569672 148087778 273811188 84439224 392709954 278018406 406497504 108588850 925663628 202802500 572275774 458456544 768961894 878944878 997676032 223755244 200785556 373831862 993241126 433697886 502578118 935765558 889583882 899141708 939879016 480808898 783405568 553358192 795393190 689842776 152982572 281101654 671728486 997247432 490074240 721515382 313551220 846828414 659973840 319067464 136708376 163428412 31746074 52951430 794412042 617398284 871193508 654318476 448090954 581755874 672112074 744980014 919881194 562414958 519275934 359673654 160826996 843075860 528019258 443465966 210393558 326463762 353926004 200571148 755455074 459897986 181393522 686053712 944467846 383699086 296034128 32606478 130627376 674129332 247225416 7309772 769616004 938919256 121228918 116417478 81530764 609089590 34327364 856437828 881420988 314741504 231425326 507971036 828239932 940331578 121180748 629341186 803826652 118505318 459936272 193702900 265402468 21981056 142325274 156300830 564320692 359564438 443150436 631222254 467841554 542779260 111733242 526821948 574286724 15436120 86757692 473791314 544866086 299501716 344008754 423204518 987423194 200872570 784066980 330442908 415366322 322148108 389767906 309241784 105234054 182728822 699087958 759242152 523822154 879061760 765203612 343911266 695706580 168412904 840937390 702778 676843106 551046722 868387854 599991526 444599446 887149036 192612542 341859872 95081322 478615668 633899572 831125218 775892892 200938010 591148834 289524206 535255234 263284224 59559650 838436976 204528502 861224626 753527000 453917998 33642814 886400204 970980894 693018710 701021084 501050242 528347312 61904468 535534282 64188004 477324974 690564236 744154160 697906428 317058182 54828088 955493036 60948458 828200222 871024442 254265834 576421582 803103842 910602084 915892250 400803768 853757290 821405040 247735802 563036916 25412190 757330480 808375140 614000168 191114358 845058544 185682220 243406296 506374202 449019762 457543368 993306874 511348014 355248874 794360172 961115106 659793356 731485514 640530038 733230368 365831062 245760934 334145180 87327230 577312474 656466588 967499324 168853664 426971224 973970276 831634248 31188518 714205518 871446914 186703356 869051330 445512624 822369152 830941994 313054938 68875150 691876016 21323526 641896614 115145948 222822032 232968454 981538516 11236360 634812070 293170112 684041528 768774268 790655366 60093930 29653960 230753478 93431056 852355944 150800472 316636122 244075932 28363676 598829808 738345190 118544036 890513466 178607238 918815618 997473118 816767956 515840462 846764558 503795554 786192008 659453166 907496196 118693580 949568768 897563314 65449494 693711282 770293418 241263294 567611632 577032436 430591272 522546906 414271116 158284292 777544536 303470082 304626888 991979222 352435590 616474906 167815722 16768780 931492120 342696626 71104140 53034978 172510600 529503666 709112312 503772950 420010192 679572778 975339520 282854148 93614114 966902730 450581822 417693620 219545914 647583110 295401762 625803956 139951490 537125656 129131054 947108670 455179182 747924818 287677802 948718932 72417962 883561128 536228508 695644316 625380532 17968508 621880456 573840080 54772714 893725222 70297248 964456682 840104180 100248566 548151436 356251766 913138646 795284988 690701780 620230754 644742930 704498514 718170686 272460188 504392868 692573844 870618480 973585720 143203052 963034014 862642024 633059208 44528392 772826326 573572908 866518272 454798986 939640216 790590896 22222290 128745902 667360344 515040848 488458132 437140104 662994620 963441950 274441876 999530912 385407866 49818088 158028332 465168720 501953696 692694184 375902306 737011636 826355878 241081230 339304466 526423038 611108142 457776016 689353436 736659208 975738470 976908380 86774700 589761408 140945392 146605528 470325624 377041024 874415838 379531234 28209778 159165154 879956754 819083214 966304290 389794956 179205296 202448706 790475116 636057612 82001346 147134380 459790166 880403496 711404452 558378894 263943570 698333660 477427458 453148060 80844494 667375174 633425604 42148472 813372314 38159556 695031834 858387304 860513740 719867454 384928328 321671244 472360814 318864866 838774118 72810168 366494950 484348174 497209470 754854300 462398124 304088810 971006110 418872250 706648528 535477296 617690682 376918606 751412992 199685186 161875220 726446716 35027106 324826016 961209748 816243180 164983746 826196992 785209402 484498228 255487442 10285344 84876838 919766300 681105284 771705462 546599928 808328558 993267176 2176296 49856356 716080134 376727998 270042096 270935716 178264656 313941074 303015098 842989784 729813108 179009654 893100994 733484544 793047186 434381204 892819876 270236354 876069096 567833078 784676188 622258410 652491734 519500066 248778162 842245000 685600964 166678992 822064280 215013270 938126180 893032594 633578024 76666830 203517412 180474952 8489726 531645022 555938518 505740508 836783314 77018126 934898318 158898244 98424908 900027850 731216054 412736376 957103552 32742722 767687508 793899574 837222952 109070794 73562398 866562016 841464194 205800772 169971384 613509660 421029960 558171514 991332684 812575654 773770412 912337810 240920526 491233874 200436936 298100824 518293628 845028234 344650256 769893544 269292532 929833772 89452296 873102050 929676132 301082802 790701444 962660974 498158800 576086108 25416278 996801262 383743662 778988872 117527952 649317050 633587284 604582166 125224520 483328882 402006752 827650454 835552924 338555686 996439510 155822970 503159810 359968236 928999932 469008022 108642214 838446974 103899358 624249124 297752164 673812874 789167652 577121534 553351210 999890426 838705674 23725196 250852512 117691266 187132702 653895130 835191724 187261376 573410352 731794038 434886344 241882694 645993840 434199202 987371448 466051516 729837400 63864598 308583312 654115280 183271674 791813226 852060094 835155700 363240686 601004086 791834398 390361558 129932518 523415742 467542234 213396020 388898288 847339886 844341510 163917828 85603940 522215254 734004018 636580448 998960756 806558786 452312 624642556 22368760 3632420 588972022 257053196 752364242 963595454 541694304 233362926 828630184 362518140 751180904 494243586 769844050 615693688 794258036 731489236 437341798 91757020 831529450 844454212 693395632 997793362 86421206 492788236 691364788 263380232 968732358 508454270 862460276 42824108 530917548 772796036 147667150 481545914 372293304 210491486 86314772 694159388 326912244 460837284 438020752 177437648 210075072 905073014 452691752 70307228 784080140 110747024 484106238 773948912 690621180 308624594 490458542 294562598 228299526 692956592 312400668 346090420 102386228 956794486 422416768 52948958 596904786 368719176 483286138 454687382 344065256 978553458 957957476 622021282 483643336 961155762 399704114 683150790 363369382 606499330 273188226 203194438 197707998 515904494 591373668 474819790 368048812 89795644 208087360 777812206 187779542 47443942 153546536 216308700 535651212 189364392 459041036 25679180 749562444 260520336 732936620 174554790 256455254 917887628 307892166 647522360 543743086 356167680 171863560 726697276 612221566 790931884 56306850 961422202 25087346 253139176 437361350 205501872 565977876 785930690 681573860 60019706 986819376 685330784 151132008 862622772 532675006 894817444 28238860 317001758 922215160 824073364 98167356 91307940 770532054 164768976 613048340 22784318 652677194 492788820 155586442 332863520 35075902 607132862 155400060 951897978 315215440 772910 110009014 568130492 236458312 547179996 807756338 211104402 631785238 360741296 421812944 636055492 361331872 535015540 299725544 110264604 373851318 366011838 884261622 758565116 332518648 276217448 438723166 796905156 567326270 968203718 851182078 516190328 41855584 747862518 468619908 986751130 235086312 149948558 740200644 942862486 175590966 902171058 411771622 474249742 160603774 748964086 704715064 513152248 3044538 366460786 447112814 50805154 46999240 579863520 777513124 986408354 61191748 85707354 911581930 809273890 396935340 440790248 573045836 187530462 357089052 564162208 549888444 734275402 893261892 263973100 137799516 92887216 670834296 441786792 995411474 681409342 299371538 488979618 974664830 395841470 685550154 469654530 773099114 208929010 747963488 815627622 30316718 818258840 720329890 554824194 726119682 564489604 837667352 122558830 9489818 799563064 424248354 440367340 94357192 130309320 238605902 386231272 596092610 923815664 819106392 678218912 779285164 236860438 735244874 935514632 309868376 23430154 728817098 482869466 323492034 578443676 61872620 669326248 556210390 973051880 20636984 620327480 172155332 383793576 587161268 480484568 378341440 465983518 649740754 544193318 656876026 829651602 732560900 773499178 218143448 593442100 77312504 415459916 778151224 754259516 172374246 78579932 873527386 932967722 158806978 305117228 841175952 609913958 554667268 362466076 121518620 107678030 63907218 221218124 522783528 878569530 649070352 711382576 302738224 552232264 559487040 131763690 453416750 762453768 949795166 546032482 429972834 239880116 920527636 88406640 321036262 711126444 396349734 931911654 222252554 656223318 893472020 103891004 434920084 564183504 742933502 338142408 995471928 101040632 521958962 792615432 516292436 182771816 997474282 872963352 767199310 849470264 689727304 944510266 570603418 876899192 90268380 425338666 313464314 571958418 785025596 602391176 326093776 417063376 722636878 982886190 88152378 690790200 595359850 640830814 439244820 778483050 392670132 504405982 573667432 336154796 532545452 56075728 289691930 128338646 427577710 556141194 346022128 544704102 107796348 737844840 300190958 601494412 842837732 993857678 395609390 869648 974221648 677327024 958911796 709919262 282571782 344212684 426381338 291456306 221807946 29612120 129098074 43797730 598422520 172541578 865883054 372518536 582295628 313942258 248944972 916260828 200464524 816562520 743319852 835495942 682325744 250430020 767307464 460570628 606059966 632261264 102308652 866369068 160967040 835856160 769182874 303405050 838087996 800335154 651068440 985374952 88086752 15742790 595191558 888539180 384908764 317998702 242527730 559375018 661396156 693503564 138590676 914692690 731491076 829350408 538689982 218146698 687109258 301033756 536809370 674763846 386654500 399737320 979434208 765856502 107069844 547968142 919288484 656574784 111485974 529401778 921708118 615383376 656436892 435780756 802945628 524095686 790612170 678881578 161298370 32381168 539033772 759401446 933727488 468209626 846726868 417120134 569134384 130981136 181189344 586577534 520266106 26370392 436923480 107384102 945009790 787127624 376127808 776318706 535695262 378320376 198741122 772364684 664654514 859632090 579554434 718680592 368952414 573426692 192759020 882878908 328154104 241685936 91393900 799469698 951316642 774821142 399269010 529313138 1703228 503396324 463522444 28844916 832169288 644154922 938488656 472465100 505814518 177536492 625419914 693219604 733824426 489354214 200038172 225879918 124565564 832074960 636734240 389369446 484409724 766758924 862627852 359332032 5261286 779470224 609866068 673890872 299336870 844428518 801747368 395004214 476572290 949494932 843473044 77280358 558728552 645062384 830321182 981264918 630166734 839706080 952448192 679796934 546006660 971716124 573521774 797175148 365947486 266205882 823223542 80542174 419123684 483759088 716062556 973009266 965617314 296338742 493239632 623078778 176603636 369285218 445205948 314011656 288987380 488356326 80009048 320750948 932138782 977999556 317067940 574305232 113727876 610283270 757106038 229402804 755741792 462573178 722056516 847749532 844840644 54481376 124059962 654747034 769824050 300029868 697559012 762857476 816465582 491165248 406709074 557569766 558672658 509137964 953449588 278743358 308698068 382390070 206981434 781698660 722073628 583402854 484449026 568174172 123216980 323832194 517943254 517050424 654431016 643515250 263887494 737703106 337701336 232530208 533440264 337076524 367679618 641261016 743410452 275011494 947366662 954821734 125363784 499614152 925288410 794450214 57859050 181924964 221459590 276319004 849913932 267036806 820288864 100925004 763809760 373505384 902295154 266999768 840756210 973756460 498334266 873287374 522621134 319290634 315654548 412879464 223153876 681229606 572481836 397616188 93715372 372114416 864353798 410461614 517782806 406122554 839081102 405282588 283554894 943196604 53287172 555482554 982807890 411864324 234885016 206507360 233648024 741688804 733992050 55987230 585944750 763968788 344788480 587825818 357151274 999106872 419536026 234599134 268010066 960973872 917200980 957280306 132533226 7061552 87947880 592105926 806142628 463151174 756105230 758552252 570170628 444380542 714816782 181960934 418248566 651549904 449173180 118445562 860522708 682376784 677259428 774751562 592220932 813748554 405562416 783790328 53058796 663457618 671839694 652015980 913144606 412856184 75194394 803282512 272263058 731555784 173442780 794024818 468815858 69059498 429125984 615690694 519376070 557788694 97930214 778907944 683011716 155561852 455524092 156011460 702291850 23481058 457318892 337299068 218489988 99682172 141846266 166652236 738013650 40725922 894880146 862314352 884922930 302783420 432683900 408854696 776235336 516303778 376359472 234145792 195526174 159664700 240201564 560602638 328936664 691082746 253824762 471133840 3419268 244474624 923082712 808972170 297637234 991276168 70308494 654461964 767378102 839368698 446967750 41927394 700803780 824760188 209815814 447727862 377410442 377177502 90821088 534073478 261600330 702399794 381467714 403908120 605619146 570795618 432746954 177308608 389234754 499617560 494096962 848542430 113055072 598353162 324208576 300670670 159056176 198025732 884168776 656111352 676021496 389924284 861693480 851577876 789173256 955660392 3065684 438651114 631006780 668690854 661808272 399377174 515367324 93398438 908682686 308681436 82905428 179119284 867557586 534456446 934441090 530174446 154288240 723623916 99931734 984951654 415476570 723341726 217171732 741451706 774250494 993082810 994379820 699334842 750392454 738269554 145469202 451318566 620671610 576727086 192886654 416400338 209896298 563495802 635189878 286094778 374195842 350675214 947771302 87190372 46428748 792687134 206634956 966067640 714626472 487393506 951247124 825471616 563644342 103307684 912305664 32733240 26767534 487018646 302054730 470597626 895733684 601723592 5898746 660213800 343361604 347289752 294013076 873887412 97561710 283389886 953195500 273629582 259622756 203066290 375111912 82335794 416433468 542624092 548294122 720529400 541819844 548826196 38448078 927219304 540523224 189931920 785894804 593117068 377625430 246817530 26391896 937371376 872282796 55475538 971324948 816304338 265240022 3024766 56886542 354515686 327923376 999678960 448647452 649091866 468181154 675344458 650115760 301754334 522770994 979837854 651598962 105008322 825470534 636009780 870431272 40717216 947234846 527367246 859139750 33210420 808667792 449640026 723496674 611499894 816610224 577328120 93599508 539582616 544915316 822733538 940449116 252143358 945997252 332383272 901699858 241387212 25002048 412029436 939091796 645532936 936326294 21285794 41329944 554169422 339526420 794845110 137872432 807087766 717818408 410002626 937345488 69047062 628185184 347473814 815048084 567600728 662698974 343704628 113595596 680721004 970904038 165663054 735201312 588473492 828129364 882316388 27901096 853989300 27701014 920321794 972883186 908691304 723992644 101464436 471277902 131887136 65408554 780112508 499190268 679361876 999420972 401769420 635384276 560353730 56623218 13282190 720114364 924951598 267332598 888456300 119911294 290665768 486729102 212414076 133189786 518588514 651433392 665467444 239447376 916278164 160267508 95503318 352843410 909216412 415817562 717988490 915496132 780383120 122007626 209653994 434265934 926742208 265497194 56933274 688588874 794347282 291621516 893729544 508876932 421832736 869146508 687361696 253847398 239545276 547879406 563337264 815131560 549231156 906867208 602617558 70949806 423912746 689504438 842981192 674984522 34631138 716846030 771809480 864327488 905121360 323014562 365775820 210005458 948413270 740065926 26970286 138426808 844110664 183635184 844499576 670248840 520110980 784292730 398222128 103057648 629092444 816036786 600045134 798852112 794484938 44081018 37396062 432333368 210772856 137034912 9295110 419335250 247039132 414708974 582417606 543487956 773146076 203696162 704710498 495216436 808765728 800079648 384669468 112432506 591524786 965665032 652351664 783162632 253552630 78123506 684203766 610241510 931502748 960958064 29022540 469530030 419792628 116108900 230355564 837170868 869673900 850206462 791529166 104758366 945657550 852623724 734321046 205635088 80412952 310494620 909967300 802032744 211125922 86394872 200047820 128683312 83279796 422034462 432542188 843454290 633172456 85445464 831235398 519486048 46576880 911873536 324134696 599065776 902095384 316718448 936001700 775893678 223835898 112738364 676965536 737574280 388479926 604421636 723862802 810114666 442134368 32464008 991999624 471270198 451692138 370992562 399601806 103563086 606498600 583262658 966553048 785950970 953574192 38428910 167837756 640238506 694620694 293077970 840514448 970719608 879457944 761197188 506460666 657049932 445031302 711167200 60940742 782050548 175412614 963018472 739903112 827655604 278168696 191634700 148310318 697233260 321185362 919896534 127496174 507038108 14079030 122672958 748421126 973660308 189652984 608613784 908258788 493175224 182324218 427569030 176074216 538763140 365339474 733948586 986364802 737686818 559911058 242927270 129619760 457731386 689595508 648205098 916040844 553825548 680667850 484042320 214210908 131580458 922690692 229070850 420487554 914487010 166608406 209383454 851333908 507225856 669226916 203655666 960616588 795723830 212279590 840529122 431915462 491757804 41047214 217330480 889544768 544658958 110124772 665232286 589246730 591709386 126698780 82485574 541019130 146286650 970397252 587364076 592911722 83541662 147772764 707447746 229032688 760557836 470338000 720587488 842052002 770995946 730604766 568889202 739365544 693408102 131004214 436280428 282576996 32810136 910741834 58255032 469325694 967316032 498435384 453955666 77786190 996951112 363872830 840096510 872306222 655363344 956884892 507846404 469532330 757492446 702761526 347028170 213107724 305522032 976923050 932238932 781505670 301744644 327326686 349127312 429372952 276039276 26118398 139955572 810909118 414275076 52502672 235577936 280493104 80229978 260525764 82527436 223243102 997593442 984586392 14852526 605272456 578570040 887242796 258218076 899309076 459723986 975275234 809422484 578988564 807843464 491673978 277492940 593057084 122108306 371861800 962101176 149477046 752181338 20236782 370445708 262357828 720375966 441877820 195827044 278366418 461620126 159165402 419657260 995746624 59801070 766086260 599180776 410706620 819100144 237277180 118849926 121988704 548941670 45036290 959856116 521884338 82831732 425536350 671100168 442493134 462200394 253070974 476223532 826156052 998105410 642116508 447416376 629984946 489477750 597836814 809399352 336990546 586357178 499791334 199584790 697979302 948677838 688765436 682837736 68100260 196579402 548331528 197450154 371877448 557267074 412205392 473660080 196718678 32584908 523945824 456363342 459473502 626103078 587605086 644240040 416059748 749818916 384091832 432640586 632395890 154532414 13819218 416535980 837176880 368031900 413190646 439460522 935770590 880584090 197885364 832214478 391477630 297764462 805966658 361154732 619863934 316147156 925107368 183854786 449932876 259428458 404937972 297714276 417704446 564281932 833563054 313463674 78349464 108245626 349286742 153430466 447959902 812458354 244421790 996151434 81676284 111224580 778579878 492978140 156780286 954602442 63743966 863518122 728971044 761558706 423909962 982644552 367998354 979066986 352541850 516417928 77926856 782279836 358571952 4680770 987347950 926499374 314350610 170256396 46137784 198199792 852823936 642551552 519421216 223851298 128002718 705547964 911795232 687282684 486629678 66336562 868852100 695262674 204757324 498141590 919319952 276816962 87586448 236432906 626170186 65878960 337990308 469483284 220875690 233469378 955025134 972717886 26881930 193494864 943732752 360801874 857802068 182504726 347779808 40758736 149930456 112740814 44591430 141252146 398633288 300168492 152005898 467211422 402340650 595401956 973163040 384189052 146726054 939440076 286322220 506996000 625691302 426541992 748283168 557547134 35694616 568552284 247529562 792448590 32942468 451155968 539446168 461324678 527095118 398923174 131505970 708225160 24767966 456054880 721874814 661367558 350398754 245618724 229288082 807138956 626392302 994782414 166617716 514512960 978348452 998231662 558294356 845271824 107165938 728279184 358024250 834441406 673237544 284881326 555877114 135417434 629617132 557639528 447284580 4761694 807221754 931447424 458006088 365920922 2714368 186889170 396327844 225605458 639449036 249362918 703758766 912500840 454552336 184310816 691202608 792305800 596461096 40770030 695758992 780303434 387259610 748386364 95196814 280368566 525726772 144794792 890905588 727528298 450104406 408604190 622150290 209460676 36068076 771075442 176366570 57841866 720863904 760036082 525098496 119056248 165540024 857898050 358616042 70974386 637896404 328430458 629900702 780300410 167111194 719607082 101979596 960065696 578678254 721106938 144299962 368941060 460628844 547577204 707334750 432231184 977098856 343174300 386140444 231881162 468752822 170280772 334194840 55639488 932155270 180135450 914375312 791949436 915719264 965222684 110483054 769200778 338528522 203049824 837711524 768434452 74641372 545638748 858266206 432147482 981234608 244220804 880762446 870834212 809312940 910472726 578106414 258816974 264239206 709937356 243961446 801191714 39182670 5409694 324988580 59692482 693566954 819151532 755569788 419025810 554460946 620229620 320394922 586341426 900960734 34844436 257888258 659145616 631938698 660172172 616052722 177371900 385501320 928778070 642915790 19406858 607479374 198763298 274195872 423852426 962915314 546878424 509692192 206333706 624712752 354794686 776555794 415512820 940396846 977578764 481807366 105588428 488017736 735673942 640340732 591665594 399129916 105184588 907460114 477864550 576406058 111024234 898590958 675460266 163112414 421811816 854923886 689562590 831578004 74221162 111976610 188252294 434123818 515762580 562932988 489884050 3041096 828388506 630493196 360685604 628589294 576835148 348176142 234242522 22738564 726436984 146745938 439727770 499784766 389910150 381985246 186231314 595883314 742806532 255987172 436287642 897391762 385141122 11388400 466591212 788436858 519288294 268662 243595724 577842002 586527990 569670086 825526534 612118516 154524228 267355074 927405000 367988226 908983784 406435658 102763674 490487944 545469752 15791714 719993056 477031506 889287782 255597156 674732450 280552356 32289398 49624214 684348534 70141790 732810072 789537840 489721238 9505988 130541140 335612 404186182 975552534 991326202 416221080 718467174 386731310 731098920 822880456 656942990 764191270 66167030 429534114 661245270 554069912 582922164 880540896 518959478 790155158 554861476 156034372 942208486 600896020 768148552 881168566 396273076 595492736 651571182 42479546 165681562 574689210 738411360 353275108 24036970 469763358 466086758 408347650 902855344 573196758 797809644 793796102 548053614 350473836 951193306 443488694 141320108 734066170 925730032 616141780 293921118 39191718 996712088 622714516 79844446 302431598 96867452 166454172 108282386 371180434 382390706 485853426 887170362 239148842 106257318 996241530 219892234 326190240 840360390 965774274 98786754 561487152 761599610 270369718 392045428 54142896 99472768 526819174 404994240 915881024 982773794 190109466 834415276 536196810 559508000 120696488 687426114 521858574 772760698 737806052 589507644 897579540 32487682 498380244 656503388 316402924 927387152 721159522 143200286 269210356 105567032 575926846 813529294 90332858 798617402 897492708 907607590 286578482 658934996 491628360 155156646 751495942 573242852 440977032 451365764 933842496 689684048 907401106 355257844 633537932 633599638 75749610 423707948 809323490 207639148 446412226 615567066 107404894 219177420 199885192 541121252 929610578 919655030 324052082 708118488 136225906 392295438 519663492 516616824 942642510 36554104 678577034 306164864 458362078 400500224 986040408 651454318 84345630 4939566 884267960 838898172 52061716 499543900 73639566 327309594 461574650 804561340 839761116 301081780 711562048 791812998 125355766 293553598 160293432 723311422 715049182 764874388 627461600 722676894 703429710 590941876 396035052 678739378 115920620 788747918 71954722 493632724 391927112 267290376 150208778 12509184 869082788 804620804 701430000 550477770 815529530 704642740 134668894 855847194 489755554 571244410 398935652 98339410 688496572 783532024 486390086 286301516 504354162 941072746 567796934 570785218 424051918 92155600 64791986 919481394 413357280 911945400 238113216 832609674 203236800 252094238 842544874 829662966 390754748 473189148 144595846 858650702 22742904 328083838 357426532 879519080 202312066 837145848 543665110 951162790 72556512 728195544 197322754 345722942 164491716 880528248 206425886 738620166 609697594 221852196 930779018 971280990 756665298 974765186 268162300 98931350 106557402 165146616 341208410 494276524 360968668 961804526 710467694 6950378 842482954 757197392 300312672 730518926 429147864 419136768 334154710 685972346 399053946 40246850 228734872 823275920 932779756 716465776 475507978 190276106 348054646 208465446 802330464 690205360 55593106 617382006 562867022 642962262 544581622 909592234 133795186 281818356 548268826 61881630 851285804 792765868 606179910 593343096 780690084 660507310 513835472 558789494 688933908 154304792 935036438 99654880 347144776 406637724 650995688 918614576 26142656 186956268 303347860 400414412 235162076 687128772 265472014 645427444 371561026 24041270 665396828 899831328 839578274 373293710 598709106 291243080 787480512 620523186 688085834 83145460 382009058 191689320 316534316 365469134 780422242 433627070 900837814 470685934 158469510 762274308 821727514 778605416 5978430 72811264 475394534 291764408 510028054 636854978 741456670 3886176 152356082 802404288 59007258 588784908 820092358 31949142 681159414 807989780 152124394 867561792 643017992 991610696 864667002 270714944 900779854 823836784 174433182 210308358 479904788 703983404 485923686 425913048 263712234 316038282 138961600 890003530 656207370 721069210 801393922 169902294 816273684 132347072 816092410 267810206 345104716 760369858 500996960 470743422 147946666 649117294 554794466 820736476 468466510 203231674 506747902 993304820 726397980 211553534 746440534 995963414 764742848 996719300 490521674 859914842 927250254 119159300 546719746 763710974 952301312 315743998 560700280 17226706 312579490 214963894 106206068 400592276 398558286 727694892 370974368 963255216 386511620 21688520 293915186 818650300 941864788 217802462 753724658 49998248 564125624 440582392 5410186 348703194 36525512 385081532 710989826 246967672 981360976 485583280 286922034 108906776 482233130 210273428 689494332 485388954 305036844 682812544 728606924 457365792 353803022 40059688 555540840 787962148 65525810 661761816 468874878 525659164 53919828 868231068 90159630 134814800 307034924 448411102 992502606 7898196 886450746 858265174 147317674 922667048 854934716 50338346 705039840 962671372 668982844 355073632 942351478 980673914 281580832 676484060 38592838 563694484 944402006 602248744 167036398 900507930 175064178 430516520 707838664 508599856 994790754 96606380 454752150 141148346 804157754 594139678 876781158 121981676 876840474 86108742 951672248 331514924 249715588 935235036 567100332 539970188 718037658 11056754 826036336 144177090 78811974 592216190 765120890 153275986 803428088 243341668 308159262 53391994 658941632 35284194 737892532 179631322 990931936 99640158 640322248 796166188 741894696 247136312 956975664 876952368 857836132 179899632 711476350 531578886 869677234 383463566 907280410 405754232 990769446 51356368 430053606 948294706 203473598 461396376 574731916 875988372 952226054 35534098 18442870 917888424 923924600 941054286 413621176 813697222 208181498 212524448 858058270 411780644 495203462 399945120 116907922 805173762 889363456 806230034 849059194 499488968 364020924 80185562 434630796 401216790 577203930 52963190 204913398 141492448 258906404 989848742 776163904 245520020 467085416 229239042 91368474 429473120 443492430 34625844 535012126 54820624 55549358 679165220 273595478 207272016 724026056 360544604 474069450 845694006 81965788 140506086 929944 849823102 830813762 602803460 825592388 493648058 910334862 52290242 299526678 291519944 7754514 457286880 430436776 69459902 472169252 988525802 376121942 611655714 552614670 64980264 487719996 89590004 134174074 566708890 408958342 207366316 509459004 257464930 499738262 760835648 996725062 369117358 592838916 721391958 88472170 349050728 442496538 636894950 22929108 965293916 164060046 965126296 956537452 186324086 243981598 590082858 714179682 126694264 827267234 338024732 634310528 600790632 284614174 405401920 841875780 963405220 724507428 926961372 893300942 740692952 364697758 25292902 389899890 274561008 379262482 529387474 285096594 789828156 452764804 783521072 616264498 758147154 909082972 571747534 731642400 871649366 807954412 9125146 954611560 861371644 21229444 682268740 230390234 319500428 506807970 801641682 571967052 209097956 771027692 525340444 215843856 811670912 294008304 310612220 261754664 531260858 316551304 845115072 564550462 954465630 773146736 414103244 3064786 952544476 864648228 514646954 569794868 207155102 167067978 737870168 39667314 940494340 967125516 947952612 785186052 805205404 851466960 244705212 480111170 331930462 186199400 83197634 324257398 787160704 202479780 497279214 92259092 869885616 971092194 514433252 706464008 165702558 169261794 979114698 785829932 403873664 799156348 243046964 698509608 440850566 271537902 840927976 979224448 713368778 644999118 231170958 236343830 525956118 233049516 953352430 968114764 320516730 432162372 351244764 649514828 278442676 893419698 371831518 92122280 164723596 76492268 940998568 375695198 643751376 616455126 540199994 767008006 196928338 234863904 76294062 911745284 561255078 216845048 84699974 60524728 17226566 448266326 735306166 85529364 70280366 890380624 446974302 792960644 297687800 633869496 985556412 794173630 440161674 577939456 463535132 813116678 858866206 345253574 695766690 178951588 659989950 149485490 25636382 622866816 48871268 888297566 392085546 58145838 920202378 421711154 479447620 755919026 152090096 421769526 239580558 855219038 262674540 774968176 216422176 697706584 623534056 433358750 585346486 460101332 37387734 955484650 943118318 138246886 402674544 370225754 271954202 497633232 417089542 883300426 733419872 215084604 334759964 170090272 34016500 250404096 965394038 321700978 422442382 224870106 302476694 225682950 661574474 909552184 224715498 382012316 767816172 217659284 661450960 926395912 637049600 426663660 749247734 357932976 231616468 822088784 459507248 896943774 955404928 165058262 80301498 253131726 341060514 924541114 156711268 827016280 326489884 349044504 266716604 299437856 680768936 164817900 476823254 516484792 714294214 737805096 676973768 364459232 681688122 679658158 683748252 692157154 212017050 63926340 99891210 702946978 100727012 37545954 179787780 82454310 9274988 680796036 521490352 210681170 823192498 50770160 332475952 665470910 486722188 768273942 294663322 779624660 507993926 578235484 808878636 75262040 295373528 768690782 403638184 368469178 99618408 806628294 440262576 245633646 318298896 894225228 643904204 364101434 722388792 370612480 16324754 377245924 474414310 866140912 192303084 442464196 658802550 68900064 690340822 121426850 468430874 604484678 400782978 856400498 462569872 24913188 503680918 846508036 675102640 261331486 563075658 682327280 765815010 673089886 66331376 998839368 690931206 763193562 351114820 939908224 918337082 222117174 377775474 836767114 24982368 352415916 785112204 239020280 720264868 757229686 246219126 299294032 496829678 578200068 780429492 849067216 952133196 536120702 388803798 72979936 955614526 501048662 797176040 370582516 904157914 355579492 471265564 783784468 689294468 960597596 438821256 143601570 240352064 217010428 847479052 297298050 907018534 567609790 160970622 671576202 728329580 397289304 704903046 292021938 570141502 965144402 707252698 791257258 549835416 311813626 441621890 459579864 278571792 284728764 9440802 8142508 45051910 892618132 159045490 741020348 416470154 974745830 660402094 140345706 31298060 406581370 611182440 974544348 208581854 830085206 775899894 836464804 711434450 455910254 597567700 917684550 784055378 799053892 101352460 646579574 42807852 599938532 901916588 181034806 536884848 557347724 10986894 421910982 529356570 147764836 905963284 134460646 414978120 440008064 16648650 903965062 645654808 252209416 517756100 14717186 855200970 973112670 12357878 871576882 250154996 884158978 850914472 394278494 416621370 579102954 66628330 278421610 474522294 428496544 60006642 247398792 739932284 649576690 55604774 982054114 736657894 879469146 587871462 51410524 382620396 487711834 421677572 861198758 578447530 395764222 307392996 654486522 222188458 223852498 894696678 990241604 19606224 393799944 916028434 41450944 79390916 402730406 158168758 750779202 441015792 693292782 939630774 20671326 319672304 177265738 34016506 751338682 157381094 891200420 774735236 556884294 249708806 494134402 767449030 492002894 650921180 147523922 446586752 482307570 928469718 1205310 269920180 504231020 308447206 378927342 811332454 859102536 385693732 563181328 717979714 74415002 933724246 436160204 272500108 696423406 583724966 603931022 92023790 355592478 68078598 927983734 270221422 402865240 21344 258082610 95939954 815687628 163316262 175579016 351871974 76914198 277674678 202494708 7380084 594681234 800125558 981889696 639174264 919433052 724475844 265715250 447326748 303973398 569910306 364526236 994758948 561644624 872283528 379081238 355727156 12146778 965645978 910203136 787830786 250514064 204547412 873968456 554361722 539473710 622515438 2397184 435340744 279385922 431362960 271100384 416282240 264528186 188077264 865721458 734477082 524738392 446432336 784413506 849670116 897919308 540609550 952132102 241195038 686907516 465036422 507257376 5607688 729366074 635111478 748557548 753446180 258533016 541679284 975185836 407122046 507678566 773923660 900577584 155066342 719662930 468625328 353911702 551079194 794048662 448616548 990897892 757885318 809994600 530054916 195951328 553152828 616126036 744863116 109893526 15016962 537400488 681199016 857581832 341826802 543534924 857822432 69509426 400176848 812218934 708259676 179556854 420765890 961667266 92365988 220286980 786649222 261929688 517628508 873127510 512268726 98902810 872753718 62885292 872990344 78159360 182288714 580179508 760088400 410775154 399677248 124314696 765446382 169258854 216158830 574680756 709107864 110889188 782093656 523396060 921998430 129391262 88973308 161485892 652293786 109934306 588230188 649211124 811043428 230948982 679121730 85128542 703824154 485856116 169956350 905383070 666159600 201134994 436689012 648783948 356816596 433244834 128387630 924836222 498229960 759601680 388613444 342364852 160617164 606516226 651051738 902379754 818451284 818222428 132245468 88759378 801339690 793661306 754298262 533438282 732554818 567691878 533189916 573375114 318320748 313680798 682201024 412624608 89107540 167702256 927394642 270164788 191968550 892246660 206421838 785500312 771943538 579219290 933149406 31300504 926911826 858358510 651239634 159389440 195386642 463508030 221254604 804584266 259354580 471322842 494878694 747003068 330572594 448173300 615202374 55039592 887723636 766441664 494287146 852050610 997234492 475836758 759161282 872358430 346533876 799848684 884318502 829047490 942504994 37788042 867983866 175322890 954737178 432535648 175609962 188084182 552493380 588009990 414027984 807870168 420103930 673705814 346608476 863569848 89253928 367003210 986268894 290522082 848000280 738041054 860520970 542639434 653557068 932590722 919231704 823488432 863871556 64267058 282981840 544253922 562991202 358470822 987362498 125951678 722337148 236386900 652471762 703605986 439323968 822108732 51495036 380482230 145469318 828303898 797992918 931875294 863779558 841406168 88584740 857319836 569958570 383955108 885306178 162039106 898662014 349268296 628003202 237616354 197281592 693916728 275382370 266182364 301175504 822658910 426442278 223751308 381562188 533808420 646178448 132427724 909563994 294869580 56264560 532666226 67299320 618141672 58461898 320436422 97406122 409588550 300416800 68189516 908389362 36447816 546315130 73805778 711516176 396092900 410817258 283113894 74016792 408058942 577150582 846907516 666320048 499358054 123020296 360547392 222087814 578964880 924917322 260545060 330446134 1128018 275624874 752999132 263749448 325534920 239720828 894411948 599700112 994677494 10904230 582711248 404127230 940635162 828919168 345366062 647151466 150276390 876256226 291372622 98293944 652336146 931136540 806697652 176567284 255275514 338642188 670736806 745631700 625074094 862162430 829382826 828373108 547835880 276154348 333210488 341677414 952072032 477992732 792419512 883901984 527879762 159574682 461545788 683992888 921939120 308625380 544294386 322718168 804164220 117002340 777516422 25684214 309802646 603610274 803118932 55063176 488664794 225443514 942210020 619139708 397907274 947292528 960343392 718935370 602142690 616152800 392103480 141558212 687457910 328001512 853251036 528542100 214131476 508578038 205627842 581857888 832398150 842678428 157694160 772079878 785091374 584329638 950530040 484342084 734607350 676027890 920405892 388702116 966096092 807963740 930358874 617679960 36682806 653988918 298967260 961180640 348572128 991343896 117286282 197181698 700426036 110951524 397148596 289067308 45372558 416857484 229135186 211611664 494769610 658757958 780976630 953618618 762198476 633975168 663986736 293170114 403466954 651116414 822601654 653027522 503609372 63071608 100162194 686929354 993101824 253712270 865016754 758854228 191145314 693728384 218816372 642188698 818120724 863588428 468191916 404671292 48632582 686847910 289089544 528960736 795654434 371461840 289481986 159615370 939604336 525714516 371099250 64830078 341850186 735993316 755852664 68409830 444017106 90294906 402950602 877421066 608044910 931860506 1297482 650471484 802856582 623285572 179578450 97397870 286340062 319887726 339509772 380851822 126280578 305883926 129548354 257873558 712689562 671678712 259819100 467175634 970630778 705689826 283891828 541471594 549713478 956605946 758428486 901303534 513467920 689673118 410993646 337046262 148796484 199826830 612055594 873809336 424283986 253671140 698188214 930527618 867630128 498012466 415586888 892728324 27462478 577880034 356128058 331484006 478241358 167660670 369318094 105929584 367682962 361062920 874411452 881779198 975939440 910473934 836333132 263253650 333606372 249156916 846504552 740550972 438433158 978394508 170772792 883608008 908606410 891678686 961122084 777231914 937420618 353516400 770238402 177191582 92155660 772731314 47432810 309597708 62531730 872774774 194672406 397925114 208029840 68634346 886793724 928810114 985752924 139899944 780823354 737034154 243279556 703951020 591143748 389828280 695615036 77685764 42237542 505524236 807581798 855569824 811650470 590283880 704524772 295732950 145695968 890353004 435238688 904807782 840116086 59022210 343884162 840225338 1798906 144985838 639879730 564222768 445972588 297514262 788999204 470188018 609073178 646787330 420289332 342917644 134027540 303334594 109188450 418745386 200586438 37214974 486549058 512986122 754236384 770204056 189057198 207269420 378603834 675104904 170596040 603904658 739836454 870308382 197254368 449184420 551032574 233295408 285885854 152441266 14960598 712556838 431697784 18657254 246181254 289566738 119716942 846821464 625005984 92738268 899526858 120988100 687470312 435053678 680029136 858604060 211330602 988706478 894679572 92302918 793700414 533747708 858731028 222806056 815911644 706263418 254140192 199725474 305698582 305737288 562800060 388214826 545239024 986537834 252895738 717188020 48925418 701309874 776017394 513445022 138343696 852808830 142987602 756545278 950699306 998596018 123998854 367719104 931283040 556075720 229346944 810508844 967801002 533739068 261247684 984299734 810653282 518219286 774292060 108254330 189344710 410253414 554017292 12788348 633565188 622867830 882774116 891512388 327558660 844022868 467081600 201732398 307285742 263803118 969347674 815014610 745237440 752635300 887848406 942285674 146264778 637114478 684397994 629161572 987384458 891151388 141649480 452937864 998420268 527308792 644465630 9287432 224036668 1253292 645193406 587281866 231628064 208511546 295988528 790312980 979448116 260358694 330200886 8650384 144909996 255616968 789773262 155239918 555521652 359499650 756801208 10167302 653788004 368666610 902115528 781652362 749818890 219903298 515654542 265433776 235688012 86894316 373121880 547370032 348657990 197565112 679677464 522799856 449669782 163969778 562015474 390250902 464710764 256343208 146440892 632044132 380022086 103618764 191396648 864656292 835953026 867398486 813725380 67663830 445760908 119339054 490619654 284643242 707821878 161377436 659854810 45251196 618480784 799444574 580241220 329654344 342771088 801408730 914281564 58254972 500796066 183985232 786514552 135602926 817154732 818912616 339988072 51956980 591877882 498407854 430922872 342684904 130940906 177797298 393924330 316004530 998452008 433708254 34548688 988230324 321980208 407914424 230708204 102331874 120010866 3755000 809789676 490188432 894771156 152834004 203288282 702907428 976314552 590835018 622832054 300460966 233695370 982967384 58356910 235660638 164588198 672317200 359875778 539474412 541131622 133260750 272352784 653527114 241625636 248267752 92186254 248085504 171501168 354182452 227329510 939984134 252569564 424879532 252677806 669177776 161550124 565311778 11100078 209730092 860030026 301268170 559725634 517830928 315763460 538371362 445706934 55723812 829541986 629383188 999200726 212612384 913437424 57490166 447184704 125749022 727610566 456238330 920576470 249590276 845372810 98919428 421674778 605612590 82468674 689926158 323988102 108235252 406927342 546463270 493228122 857736486 908695302 848634864 728860952 621882376 566713962 570322302 959798718 626657388 791033684 688466264 218844530 619706434 173848220 297006376 693320388 480999840 337476266 55624764 556325020 507244774 653790400 142170888 678705942 511476836 106657734 782649572 765330198 725837932 734630132 610953382 366564962 149281414 881616644 777453214 942682342 927193360 128483592 389994554 948169764 363265842 595077824 708762100 277501160 731321304 238718124 357674402 543387480 853053462 59693972 845348980 185434542 322218572 328706914 573453968 402045152 673442782 526436832 13086422 943909850 554751628 540302642 417546116 255426540 741297080 414260068 562519878 50163676 834251304 639008742 274436636 265271468 137693942 468252616 431301214 918809674 943217840 906842722 220648806 257866070 900142508 134953478 670086012 425726726 303511514 296618948 710021784 760038092 707151902 812881614 759807666 219937332 986616376 711431352 51620748 202399624 581234286 304736328 466233894 886817136 768617230 170504088 237002546 995751154 361623916 460485074 147288590 739877282 102868242 702854762 719835070 595551378 842870260 398277644 548214348 867900354 100058974 626877286 740961102 663879414 189762234 50540880 522643850 813879218 500634642 382212804 616066964 718348318 733185976 854936120 106615438 538436766 356703418 672356440 502196140 27814712 123664328 702314582 754621512 881870536 776772624 310689830 616898236 623467488 504351932 426203862 318070698 199835978 965667030 466778126 578088994 535648410 980415078 544541980 866558468 785553206 621081054 589412788 544470160 545209460 800904160 433079540 3437402 718736504 384595476 937978530 694814410 499860196 863846536 962786014 95065914 161789604 916965086 886604898 831618154 619236984 278141804 488491028 568467244 353058482 203458044 994332312 285324270 898120856 115031048 228033796 990135140 329009172 82537208 801496560 523169856 984741500 938251358 873824804 32171822 883893628 544106764 247229916 720398592 240423496 727833778 989803328 991116360 385757150 336774650 933378522 435902044 135036610 356890286 677737122 265288566 765230614 827585012 283079796 297969144 96936386 903133206 181430254 767740190 681639182 30432056 989012084 870241870 536236302 26551406 905306784 145532024 518179462 14298142 482470854 572887202 925058304 449862002 883694806 966756596 728552662 125383348 95473520 145005026 468149720 344991280 532016844 905652450 377415442 154783308 417164192 845528048 116147844 686548240 842420200 901391812 92083196 294067168 177565990 389665902 578453830 941718268 823216238 989724376 123419202 994900098 58058976 414594210 613060968 650069382 227028316 516880404 735709084 351418644 66584170 344305760 332420440 684672328 467358082 550113552 683937574 573291558 564591618 868130436 572265224 458273368 672317074 684764224 119746618 435863068 60179180 616306778 849216536 742347392 349655522 296921122 857808444 125527186 567364222 710837448 545712 800527182 74592358 181237956 16333354 944456482 119161766 291357280 955691704 419936056 7878030 545007006 137346336 708868058 333241964 523023552 604561678 520210394 769581542 459425718 725695656 664375314 800116802 275486582 772064278 33623704 55269868 455643816 941991028 953303242 900781314 625296928 514341022 886766352 813428738 282895608 980149822 249997536 621554266 574479812 291137810 460344978 136679642 563298662 187536442 182971124 217242120 953889090 156193186 613065138 571028208 319869280 258304742 822473350 599469510 628933004 173181422 260525508 842894716 911882740 536718304 599835902 563675374 95669734 111225160 511997232 786522556 136183166 525862144 22364694 37154700 150412324 403872154 568606496 980411438 743546712 875226966 774316848 477114978 830099040 48832436 194685192 441502496 947052968 112334678 883738578 751837458 616293410 142616812 453222754 130844264 719822512 449691878 426274920 557645592 352017980 902199668 240578098 628697152 791706294 861286722 418319856 561852558 364264802 614388956 556466874 627108908 362366908 491685750 146390344 526595198 660098656 849264456 47915582 576708368 578483740 133292032 52037652 987267996 439925950 178840166 871372786 595330112 190721530 131440680 465631828 283946814 945971468 408242518 531012216 813495940 917318416 71402834 49518902 79407882 44049358 659433472 121002172 23386606 59162108 768695576 460749268 523608510 503978900 321322826 826667632 22608450 602915074 642798344 723355490 117238976 9272486 350726950 385321502 509231800 18102276 303261598 346609624 427117898 416181798 291788140 163090354 145100822 49977702 403337094 50301180 599375574 422343308 519479624 652198624 772621710 837072880 750910870 89065146 340469472 613250836 772535466 948756410 918332328 151034518 448354048 54407496 583311418 541119616 77917664 162079508 907956810 685694066 380725828 443034580 663064160 6332778 787891132 817702016 30659560 303402368 47045864 386821844 819977986 291887760 755010774 832494790 821607790 829679416 760086364 640950940 277266478 996895878 629050524 339402688 557257076 444495218 83433918 738050722 516636874 269024832 286250126 557555766 923752442 677807332 673990220 889693266 176394690 681102460 556601994 190107812 864997666 73767398 198750102 240805460 563664542 995141516 867052394 845780754 879342096 282294278 54801508 450264852 451355424 758281302 775729548 514680126 48627502 862465742 861025332 348252540 49861300 26013638 411762306 230163028 945013214 804186342 866089250 288935914 335741706 375134642 811271944 254370536 754691574 690480272 47968206 520299334 932283616 587016242 315394788 998692064 891047022 956561168 829546156 780442416 650985054 439660902 815109254 700225614 937902170 606625696 30633714 505909360 420406750 289898382 562677220 907967874 764170896 261183374 614078 700032228 204545272 184411452 372549692 795339502 514466898 516473156 235546320 324423206 955274454 999256972 837445376 920962384 864658094 103101128 701128378 543361174 290337992 94037300 328592624 522184950 462766934 19663524 632293712 410237122 95953442 620963200 492736662 386172310 886202016 171337688 49960336 166176278 198808770 82169816 902382756 153131818 525272542 9314760 233192676 178058102 740380394 218647204 690094984 425560150 937144748 256518842 813456656 153580902 585943530 366119406 174997074 572939536 820295106 61756332 135718794 293759720 566529186 906809904 550553798 579245588 950488410 557271764 505733856 738699336 667868404 667445588 249277882 68986844 607689322 702700780 393807224 490043396 100088988 896895776 948912274 612845980 3565204 203590182 205145954 359186662 864320552 829821894 517090726 488271712 585266346 559082894 851483968 226159984 13473838 381330960 503746798 691722412 429732282 185639154 390410850 370365828 927357038 273491508 456564862 63456412 2993706 353333704 773844416 848933178 542133844 598826746 526366480 594614464 599059374 604951910 304707456 328589904 221118414 330087934 742838270 212910478 994890706 969473178 754503252 270597162 632489804 876107982 459716280 469861824 174806394 71981796 229233856 917834356 557085882 540910786 460842764 700971274 932696304 308632874 782224036 867412930 264319758 96302186 731887120 234054464 697032434 338497580 855326196 707109032 614033604 133966822 342737118 998210758 757535068 381067328 890753740 629732448 282948642 668162078 874106810 966838654 788787718 368452216 410285902 699060984 346146440 124656232 977254104 306017940 546842548 830534864 533655058 603139496 377585432 498194250 658471756 389740724 218033310 888506376 225722916 225814276 392137630 408531612 927842452 67024020 936028376 668372750 643581520 212382594 38773064 659273588 322384240 368867116 571132498 237055852 665324994 638678492 558029118 41426330 167261962 913834980 220591924 45075542 144360640 896313188 52122656 379908694 747204340 326524850 806186458 397191416 979651894 902536508 5209484 71191828 139866466 284986084 787057180 907541086 502528888 239667040 662332952 306822446 30340982 852399578 439964120 316567328 601080918 13915432 798917048 216452980 81095694 918699036 561492176 182516454 721204914 768765946 387253212 601580754 334074360 479476724 559619960 547567938 169198942 311215466 68212524 566282040 342228040 577043748 767460516 372213938 340380794 99321218 710404956 529137406 715658140 533239802 906917284 297101824 201841530 465974490 12979620 581043570 395512844 834011380 350778782 969755364 982299380 912827516 535796268 688036620 286573946 142933916 394467198 842833082 231254594 8646076 642997672 160297010 59019100 938823214 862592956 685840588 197461982 839865298 994692538 487136310 712804048 486047072 826109278 49628662 224654686 327239568 653525162 665237016 18550196 988546168 649522288 351086774 484972432 722028598 955435496 907854610 708634420 199586074 974822018 528820514 953836730 911033196 212824450 376305706 279834670 191143320 362152578 593880166 900857980 408501684 356622286 125478208 770822070 388496586 338315030 316666510 39901160 178814408 906125976 675687978 599454196 229657440 412952420 336546134 470019316 621849594 587872090 751615844 366685092 609997272 886130666 627714090 392221620 563204488 503401086 348743910 276041548 100684462 767738072 431499534 944907504 325423716 492061046 408627298 594847132 115248274 997240704 363840734 383870322 837649084 888346152 873596668 1525062 45062682 357762678 137194420 59002542 835370576 452366430 862349258 414247634 176547430 970753668 261921304 570213334 223317536 999377918 586313632 958300010 437360696 165163968 795392272 843276288 919348472 905710720 407581388 856525812 334144938 336396444 692330404 521536560 881315566 405921648 522780060 369218732 662739258 596092292 445279532 78844008 516586924 61639894 583767070 631573046 333719564 856637554 913524478 828091978 487352496 102790188 109955504 679456522 162879490 550729682 263424544 778982560 225469040 133056314 297093082 343031378 339023808 37050332 166287922 95914150 233715378 825512742 529050914 401463912 365953164 125528490 857180560 107831342 588138036 993664718 680171466 336657872 826273296 924491740 151666978 543540958 584357574 134373484 316715290 956262526 86695016 655280516 37878922 677728524 609300884 176904848 27874188 357891408 856453014 646395200 363766826 312585476 514444598 581030088 508600744 208225704 614907238 570878920 453750144 863663428 607475826 509186828 97322362 771987306 60891552 882328534 256201494 8462330 838636314 507476470 238028058 480711532 381543262 755298768 834228948 733426158 879360380 418141194 304159070 648453236 821663580 328884606 427493014 845935472 821934640 489215646 651022406 653807440 754271434 219750250 602655014 267020658 795203170 360264480 697813998 495601602 159562430 59615394 170813780 454272950 92170652 996523486 550690824 275669060 127416946 178906654 43748830 735570624 58117340 93947368 56382002 425221346 678441306 240131110 23291038 554640942 466401430 183889968 246304648 297088288 99974014 233943440 315074806 435014970 149002464 771988188 763171394 967366230 727843910 411538162 747274658 845629802 26525410 16623778 585292702 105534574 772315018 702433380 681845462 382133782 165604198 473611538 295750860 324179830 58863502 442641544 557146370 791417742 330086312 926782502 244995824 624940646 885574546 327658606 65606480 306119558 669407172 220350266 976986992 677079050 866565342 190455650 426687192 524235920 120420350 205320294 470604544 590191062 489795746 858984972 221598806 227541322 165779112 21367200 122073474 751011190 142164410 876202524 65740880 574443814 674377940 585845206 403708214 191994828 943448376 439011900 925319564 909683398 432050006 891920956 293308154 160463706 481480556 406096560 957507008 844448274 475801352 967836064 23791280 429245132 273435158 107179868 960805868 374962556 884136070 642186960 365699036 683207438 325825364 905230708 729508130 443266640 223988714 812373880 998669766 977046092 429610022 79755000 234554454 289531890 48089302 805986510 579693218 133829402 124330654 260265274 846322564 747098914 477325454 551978414 680075318 123475068 634460722 341339746 965405504 44891270 688430850 456308120 213854218 49145914 323574914 425253182 567829720 660895368 17851006 113423084 756502164 24892064 162723086 537169106 253833480 255625540 512813626 72604284 823585632 887366624 960322568 778261430 91345394 55022272 46061312 227094276 132510940 16837032 318907488 334195662 181896526 826701008 84087614 817194996 275484456 59067494 390972642 109492802 447923902 267141392 65664322 958942678 32623564 929917326 651782528 386089786 741973980 288002758 82686178 685671486 979084994 912962334 694375828 315664472 819612192 27218430 355853798 607318416 514179598 415144016 652065918 960003116 826268866 73909336 629579686 875526164 580704464 667242466 421628522 239284118 306231136 443015796 227366694 261893432 292374848 662258720 518214596 811696662 729989044 448649910 733541838 857830910 636078214 550027604 392078924 299637632 965689472 44788000 966712722 981238872 864647714 564369116 966468342 860891750 811801838 223623948 794795410 401817638 628075654 207901552 319308938 751131660 885426164 416963788 47186350 294773814 89895318 323266488 718898248 807668104 281434462 563602558 621013562 519598112 593040050 887283308 293957680 816708552 24999480 967662278 264529012 372185926 763907752 260385950 645571886 277478924 283007494 420222346 370158278 800061922 671132370 719212928 660244906 305968602 539185554 590419404 457702546 356157424 757693306 559239474 891456922 286338646 557573144 841457888 133122700 840688962 545822108 452362124 888379596 527389886 692938410 4866008 947649248 883367464 360195462 202480286 264669170 532985466 589589148 608476502 612068516 658474654 250481360 791845562 203426920 496426412 436144730 77748894 195185274 939167772 21324776 477097668 79352698 298605464 95577928 309517878 756312118 841125222 103281844 32598142 399430806 839435852 122952968 349405948 409712290 729582814 650745142 717162800 73211792 636017804 800142954 879074098 610342842 396842586 932073794 439106490 458227936 354734074 487655174 189179150 257989994 352147410 29044528 869601598 171863294 828705644 882342566 642840064 941614698 19768618 623177710 818468590 914606014 19895952 82930488 360309820 153561114 202961818 834488284 859148796 569632170 374276154 707369490 919116932 835074868 630848404 676999386 193264204 300394734 750597490 235777356 613367370 32143708 869568810 602287714 100355764 562795414 351525360 507600928 604839356 951028610 136649050 438336484 998645946 306596608 592015070 581660504 383936728 244648166 314271106 11520802 999660026 501522886 322943386 929345234 888019292 330758258 608880386 336186280 124886050 982499358 83426570 531183916 483711480 855436186 791344056 848703036 835288670 261976360 175631362 373832856 988317196 962528546 979687508 122271656 925191454 313018340 210538416 376316746 661461622 375949304 752100576 592681238 999483154 725440310 918735374 866187956 730401472 412347222 940554292 803374956 200026892 578707826 454477110 596563168 942410018 11099096 192316908 18038796 410384360 391662034 570856914 768387310 946178944 638282578 241125594 721903362 74898282 118118846 540755772 296059820 988464344 773114916 105457696 378414284 803824200 551352444 689839460 306078822 523121026 929364486 296482292 132515820 667951520 719167108 841222036 158362006 237441686 787730526 937798134 573203732 821933766 782266668 153013688 268143428 936921682 301742146 21289160 326035642 857111298 761574654 228491654 17250316 937794246 766228456 640720070 510321326 183549814 402915502 531585826 765511980 614849674 902988260 106125726 109455050 12716578 295639118 173298040 861281268 253862152 205243022 693922876 886525646 512978200 934205768 392967916 691321908 408537444 705385964 494479516 201297188 726364308 737762580 425963756 720266272 126657724 547851408 565910114 584881000 557873186 832852420 725847616 327877534 440633456 989687252 18721286 180816398 948391460 805480132 589966824 869057568 257597788 199871722 923528136 110701238 475539094 683610628 597839512 471476972 177912156 749782374 493733160 555957734 433028278 220228866 615848 182774336 319171078 957414102 110506502 47828206 457436904 280008626 219077022 749056304 51293246 984306726 480238100 534625590 379286822 349122402 880258844 608027980 793033522 907293916 32605018 355688848 153185322 571871972 49599266 692397766 38462192 503281222 84705608 610071932 535273440 715746182 964780954 22023170 403694420 603457794 412416512 887068714 456299332 529652980 420155796 173013148 614698710 211624770 547489726 520253580 158426688 732532912 108819566 203512578 589111908 774974522 271490966 732974912 245175932 513719174 729590586 401032830 248833810 903512320 385085970 30226418 200065694 990695766 201786194 891133222 490925878 871669016 101954162 152141828 988203290 922279310 114234246 397603094 697408770 64295368 853404822 724582292 308642236 357488468 520904196 797843800 755007982 343212874 241331208 40821300 257935594 533054946 910966436 63197436 703993104 178496148 566110060 337670316 565928608 128637192 814619870 26342980 819156736 619492392 912748086 129279108 92140620 923791776 659906610 316194152 871058114 999809206 238905230 128988628 954360520 380914038 278108376 631469216 13203706 962892750 948659004 337398882 517641720 246706678 872470538 740403168 384880506 515379244 220229200 393118526 726173746 357817348 652509250 642825772 113230938 817873942 813973898 646140784 377820940 406385162 67449340 264469522 553263160 613585756 542766086 253401058 75753302 138212864 281782892 508087036 302863518 429423032 930366844 235627340 484951110 207759622 655273600 219173836 937201426 566728892 239633668 754826012 512468576 437809554 920452958 549826872 283449796 636281440 498272412 73557906 992785836 762796538 842810654 84748074 839746090 140100752 573574490 440461184 766917174 322262656 437631502 296554792 449455362 463738916 751115174 74889910 609469658 575730070 39713768 242660674 577014448 459349096 881646580 619324782 818147398 647233898 23856786 105745804 940554968 66883834 312360984 332181708 646851146 807789296 416940688 222932534 299372514 72138544 765588710 909624498 343208236 92875566 860615878 51756348 895303802 931718542 161066646 823371662 995570876 889621770 409923316 727236184 248716048 254706982 899195318 957948564 232579152 253486384 39877266 6590038 357592412 244226428 87126302 565156454 136392656 361443720 996333664 595396884 170472588 835236186 117933772 732223664 80056346 361490884 977248100 216329600 257232670 393075050 457783918 627076604 686588814 115401418 427710232 845493180 41661280 257929736 674096244 231832286 998187280 480801424 581715320 477806094 162399870 411584870 307078460 600702498 724068198 824249574 244306010 857157182 881324226 51656010 830802808 736369166 286952768 729412360 134008380 223677640 794158942 634643324 689832208 795255956 541174922 978320566 469555632 747005306 466366300 640536334 806137714 546000626 151662134 116075864 574912654 670231724 863465722 93534176 995229356 706369120 717888954 624301834 302761170 351848980 779529276 995374060 676469870 52289356 809515658 333860374 875048106 230657542 396552572 445009582 972224846 231207472 320057866 284361650 243615768 612750934 623368998 76409864 351477360 576999772 925903250 954887704 790482132 450508196 373287788 667707248 157101230 906605408 881610648 42247268 837664826 733083974 3588578 858417378 216779296 63099402 406336566 275176732 131895618 740249354 275579978 217782922 262980496 279514874 95455440 246007266 680559182 367227110 896049512 291866534 394161224 145697962 921900870 209887032 807625998 727047682 566995244 892643686 562002502 960656646 511732136 963432982 904786248 716994324 65171986 405379492 603881742 761625550 961292280 186812378 174183874 33479988 641371626 222058204 412931558 777450896 635921382 325729962 787317506 123280992 290713514 824617666 819670028 840548330 885886580 658727722 388748830 139478438 334574546 499206150 560150726 31227066 955093118 755544686 780447258 850695444 957442230 849350140 764960510 185996122 623642550 890363678 972672832 270632374 920448700 91615282 347888136 632434136 760971680 39717764 621596576 723001162 701783450 760260538 2562156 149071018 648653950 528320630 742940678 728880688 174348384 339032880 846384540 708244522 420819526 632441626 820710976 345826388 860314592 692852620 608574298 280632440 974473634 586163830 672020904 931815924 212441100 836610548 625291030 156319898 693168316 807916566 37836760 382076118 565168024 934068810 102063682 370869660 367560192 894713294 802116860 56955050 878910548 509009116 733220302 659959380 96502416 871875438 107802912 482815554 882489698 981075814 422015808 182639734 45900326 26175012 852840198 154924486 40569134 903052924 313516818 381991776 903807030 867640090 475302246 386709042 411113122 248771438 719042248 740466910 819032610 651017072 622689946 225256324 262605814 3886300 805263572 621852152 799931982 670386558 890587732 273782364 966240258 32927116 860834302 311213490 33669764 19959948 346642542 592824782 850041902 138043186 311782070 250546352 386098962 399676734 401766456 184992676 552428310 88975370 285698390 221519218 829086052 376325762 462182484 222193388 507384194 606098652 722642882 926836678 485684000 692186350 252742176 408191374 609786028 780032380 177065532 169208300 934873234 151640368 519646530 141721936 754080352 99687890 801819158 855806012 735513230 845412314 414887510 268151966 268952766 812261060 652554602 555479618 221560848 858720326 658855206 23259058 449546332 839147298 408476258 233302508 850985538 900207750 147625074 705215624 456116446 758654146 974099440 890571854 449065768 832028840 127309962 125323280 255959200 41996550 416486410 462374964 826471360 204159564 234147878 867323460 862072824 990288584 484699296 103774774 410945596 36266272 180036596 381442376 125124824 157597818 233795226 20461024 901274930 23407398 35781136 414670542 101133520 251258480 448286084 842970690 826516268 699623140 927206220 735544178 758281196 680729258 445777802 802843706 66006474 744876332 383517882 808316776 25609736 893340510 688564484 863704696 346156444 283269570 402877922 36758968 85204750 716136480 231492538 15622932 319318692 653453414 360545508 312003532 125302920 655735500 332319118 755928262 981959394 848148638 748282942 556752450 727847526 529385720 36102244 438019596 283089990 318965018 817104290 59193882 150191226 724875418 764395386 135209224 927949320 86220848 248158760 87951356 346911734 344841558 289892746 428679100 855360942 176878542 152784468 111206278 342531372 260675194 182709996 307980766 310082628 628971484 902117400 997827610 132853318 517946722 808723356 676828996 795868988 80637338 610460398 923017182 444285246 75401652 68628842 738388762 933041366 57590818 312133902 969458442 292114482 599075896 772306656 589916360 90835786 286291968 760541908 285249874 375884068 149736934 264197964 577602678 213802204 834866670 333171224 632077420 859705994 258878374 802361374 491625424 331662036 589175418 128206974 412112236 269240646 648092292 523736632 224337072 786802946 116525084 454178600 79793206 947482156 493237566 254668222 778891636 190619854 283011420 366502110 200838684 325174014 671972464 845870810 38063250 160686866 381535508 131012894 841929418 577850086 735858382 558577906 692133636 576924612 108490658 366344432 925053916 268967488 644768092 104247466 175752038 414716384 700072676 889049052 486635616 424575318 96812716 802914442 50763524 712613000 182668268 19911136 728307164 553217768 252094120 741306350 615850550 715984436 9229550 288070956 150200894 509771390 716886426 413375724 253187860 193440204 540256132 328318144 829957440 56069586 842604286 998336080 371900146 532923836 222039290 774798388 421209418 103708068 441442824 129334222 532111370 752492342 48508730 263924028 253384062 949912018 99640570 549907572 382669090 476055924 600070984 86772918 617030364 495348836 848617178 615346598 418691078 13005952 126978216 720516452 877921366 988338998 883334342 1837872 457612276 254019926 225242294 377115914 575674352 277753950 366831570 172807130 944991946 360791452 270315568 198195328 399067610 736053208 264911122 205690690 712737022 737204988 344527544 175356506 469234566 152266208 753506576 794775618 283395196 332366108 749326094 363192996 461437192 620233750 332392898 491322216 623426130 842450610 627731670 155170358 494484326 412816250 513580002 130068654 178822986 628680868 917367150 768239624 888189632 672628496 280240640 413959432 542966568 681643968 736529398 601822738 622323530 613388638 554452018 891179262 116315976 164777254 876963436 465158800 429835124 944223306 115225642 298157284 130153768 517738926 923007298 195731722 437284556 840580092 732504362 81817270 592890248 372194448 589729870 295550974 256644168 678213548 5395506 653932828 25510592 392643360 193783790 278060780 930461294 821175254 541631462 835042020 451451728 732374856 390015644 286652586 625852106 761270236 773865362 422812046 276099786 413598824 775237788 884490482 288125586 204820636 399717234 660366522 744254536 604229512 402832178 104366146 110547024 913179894 362949834 113346778 768285180 807936966 118688814 11436316 508953930 43506058 603042326 47725186 880237182 173672184 624002806 330942832 409229990 941833538 372280754 898180542 505010846 331104716 61360344 669248762 957697340 18244228 174943264 642405104 402599070 8234864 244363764 380853370 626832122 355412342 896605702 401328176 621517154 50835472 18669280 767295384 159620804 246996694 112890194 357858290 580902716 722640658 566515318 53066376 48855306 862147172 900058598 152792032 164849480 552793100 75892050 645471606 371445260 718589046 770440036 186925694 583089324 793795132 469679880 986297414 637094458 775215844 728118962 228954574 771160486 870505136 391679926 297039978 759079490 365065272 600970448 869632932 222906598 100244674 619259010 465954526 904182884 755179232 377279642 396179024 436145136 999344894 718041934 312925536 900379504 948817862 141131004 125710102 526363378 1731584 498197168 335946176 698463200 470660350 549530608 878556156 749087364 10032362 721457684 830355102 414334438 256723082 161006802 458388280 309872390 471972350 90723822 406343210 453178548 431892252 288869882 85106048 244156012 550531654 102128988 27812854 873328818 56631064 387527268 672390992 875820004 550296210 631787646 85018180 451415160 5738888 111053680 579322562 651588238 680049376 426770266 56470210 699767812 400176736 367792976 533208378 768057102 817618554 519588382 188861336 379641424 59831660 696029058 846180634 448085388 528289310 31769952 651619734 810316630 854709604 399700232 960697090 721354398 316628978 221451288 277374240 572430106 283699050 279101518 314591522 638530362 479198508 371846384 439083932 396110166 53239906 887152252 39352258 594241416 138669672 198057796 453228970 296193804 766168294 396611442 690134106 514400708 561730716 312210340 492218022 577441176 896584488 499338124 284475980 434471720 417606754 349615144 882324852 188683808 524043828 113838522 798130800 877887338 58367610 206031896 9109720 251569000 747408394 434759548 646386546 858721876 580326554 26229308 401727706 980803582 256075478 477288808 453798446 740906948 425499164 829916760 374103186 25858344 280654050 947623750 811349864 126546866 80762222 773162360 202073184 488528780 921339040 916467886 323107222 476714854 366035724 613354734 72102088 475090882 222534366 265789192 4657514 228117516 66518582 916628354 63016848 720377830 930949484 570126486 944402270 831776478 406853648 564143036 72651536 719032512 882279080 543516684 122919348 223072722 688384012 178102014 136645902 656137156 854775040 841931356 91554438 621019362 946217484 698049352 198435356 214602186 556704326 846077336 990887192 878448670 404362726 804597696 305960204 338840844 761412494 835053514 386006372 450107820 834924106 355330264 219958882 356993154 934156580 342169346 461474234 608049810 924500104 357252974 7954168 900693390 722384712 66508708 249763780 695249608 758273446 405344294 915259970 199471296 57139000 912046500 736230006 59623986 307491198 37363530 919114416 929041332 640187886 722699324 572446258 554112766 116633410 559299212 250130256 718311916 133331258 503063214 441419950 705079112 156964590 857415238 48368042 987524346 530001454 352555244 916987118 272965210 590978322 527590364 122216556 694611642 36885504 903025224 599992338 1966610 548472766 621173406 497378182 104474022 349204484 538151936 114240634 98875236 44402992 403220298 772063522 128133570 973809218 311283774 971106936 99707958 976942556 584683068 229236112 512958108 780262780 755438208 328618182 166343386 751008300 532748892 353669002 921394296 504096196 273120594 333784026 884213980 357348768 818806734 186171834 509637224 772231516 201429940 367890378 416312744 55718396 672569036 506092532 328074334 862216066 889561836 519334652 2013070 841862176 767580422 477583354 597759394 6782700 85213204 652263126 449610606 62485234 739648594 641434902 812223936 666844298 890774818 364336224 132545532 339399606 944966914 613954868 692358184 745816570 19685070 726561368 487212022 95912494 874392326 626101626 183095564 606434022 829140958 442787704 206933098 176259024 211282230 778601276 326387672 513955210 725538972 602054722 923073364 287732844 975251186 547093208 194702670 115558158 971241496 286722224 612226038 136639996 764264770 318347482 798478512 677527290 197820166 336751178 353953544 311642180 14219738 908801066 981125314 219483854 665069958 261186420 639941702 403041742 352757154 383699204 903189606 264312502 564392748 632025260 711014514 841839144 142409750 803165052 26256172 306085064 241487340 989057886 290830400 874452582 816987844 417782804 426615644 559194652 79730674 130200562 219230562 905025016 932062446 696445268 644682658 388504156 524634224 563917056 479685394 844809328 741310326 691444814 701249630 214815670 381167846 912523862 138154132 230976528 276459212 608380658 714392400 444038522 326508176 893774498 234547858 704281468 210169264 583788690 381821808 192653166 639264756 42632880 365618208 397392692 928614414 822464680 525748616 362307250 802175298 920985280 695010060 982948254 999040884 475273280 350691548 888248818 770836390 957500528 926127028 337240932 86493510 159559684 355786390 112290292 482413496 716028154 914033036 781226904 473734180 973505266 879343388 619602154 677690450 745484628 324277322 193674026 750159460 988708044 814823572 387011446 392998134 566002818 417452826 784485078 485712564 716465542 202053154 12368658 962864100 2342288 243260224 648527586 66741686 93400332 885316298 918568882 160246962 136789800 762069610 839501874 770280604 631689940 127057246 546873014 176466956 361988182 184931112 677603688 284757224 469524690 48722478 729691814 819936444 83497388 180181556 687213048 265763856 289885086 267481698 496905326 109570112 444735394 789072070 251522568 579817402 501087780 679345322 197708260 576765626 79110466 869828900 983604982 269081700 969395206 691535408 539541710 249045674 122635654 540925416 675138086 260074502 135820970 793602768 210791660 989303738 135673666 382494056 922086056 176691382 597429176 846413830 550668220 688423754 950624928 918806388 761397566 417205374 1698288 158597462 814685836 679679260 681392290 768177096 781632874 206666500 593602950 275820550 511992908 511205400 859712050 38048110 608637616 369294446 304154734 328170138 372201522 552113504 169381082 127338766 412577326 342220316 181686868 879201154 202613134 90585350 344728820 422978766 512234564 268730514 8755596 505511764 437147964 895934088 288671970 937512018 1083572 28261340 538142188 797830990 653343840 870548022 195230218 911888670 8828744 127065324 578557868 741230494 801226286 719003758 237560018 192658536 974667646 297567330 60719284 544215018 633674328 106876946 174525078 7190458 111512222 20085118 312573576 164057044 476636756 485265708 441361686 148335840 989828576 490050960 738043584 817628252 572145964 791721134 299007184 84911826 579030412 297684626 934285576 428473902 200374982 115196590 817604036 193208782 865112208 303083948 872678718 631129914 75134000 347194426 109704362 668161926 264239510 359902912 423620782 504394450 751523118 551442074 105375330 194735408 598338052 164817028 692274392 696818126 259234 145834 324359160 324420820 910831106 860932266 92693976 315110156 143145070 38251178 997003172 240709038 630336966 438850384 791876948 179708646 131807766 623417188 352769196 59474404 906636184 106445332 308251118 507020078 149491214 915766218 257356638 662584240 641648980 386081814 675133726 238450516 303844802 894345466 606912396 819681262 849080174 444713342 264908776 854725440 18728636 972942734 438812312 776591778 940271196 935882788 977773216 758984440 355532730 393249944 985794888 712163890 556498098 976396962 979828450 677281548 977185292 544937256 275016788 994186128 407066290 299906990 993380766 366370316 228919674 859265882 830515576 629638040 314771404 569049750 327175806 969030082 526931398 980922480 663489738 433774980 303242944 268362374 958571450 599201528 114513246 289654600 258039086 908817346 563001508 8331014 971498036 466561358 223369292 121694226 129861044 874986894 469316850 210456130 256603556 833008102 627075666 454960628 857665664 933063772 446390786 583473584 906704270 700352740 978158682 213231904 534315316 409289358 164864776 844851846 571269704 430262748 335937660 516729806 90820118 941659146 593163264 142988958 177165140 872923348 217671954 738314226 29474306 624609424 406694968 521909076 794558578 536627872 372256690 736463794 693799282 840472848 159840858 327636762 188632250 918827288 494392870 317526604 392122902 376107130 702415286 608879136 726747600 168747710 423286324 326451192 540537114 243367092 263135362 91668440 100622910 972180464 361275320 524135856 731143456 976650870 447087692 785937432 561248518 527788674 55808614 113405912 135484646 47782644 951801818 971925218 36726980 584479460 254393760 790379182 95796100 40097126 754596154 815921736 135089546 661675162 812526528 942834088 976572974 969456338 497487554 883739836 113148998 573326828 642741620 777697872 651087876 565912938 162368506 841052032 701461928 166380992 394317996 165720100 728160322 439783176 475125818 149785346 958467784 287920474 34756612 698373226 564701362 490494104 902989394 265605446 66213500 84351474 830446970 495191396 882301138 903357902 708756142 138546944 79935760 567371592 206396432 708334966 329375844 598314662 735026354 531009112 665389330 972064898 613469702 163177356 392575366 195544116 480386882 427859234 822233572 834679648 204674558 330587166 873969362 280991584 700485366 150767452 300931710 716896040 298814952 409241266 245620830 163886188 944094294 400291250 227279324 870430684 796076810 432221560 589752748 382480982 23038314 238753240 818937222 911119452 732896006 269406322 174083712 758175480 217958610 883233520 651163124 454734758 118380476 18561410 150113922 3854722 993676714 178260628 496984034 361747628 971904916 399338498 945439776 37654786 880492954 457894876 801772862 109963372 970328636 551662236 390235642 685785378 673110584 519639502 733754734 893695030 353546970 662103694 923869904 89434748 370917536 735879966 945747122 981237900 964897214 49647482 45709650 41943820 758784896 865033010 238971800 651150866 136197004 726165244 15031908 373257820 988995058 427936884 264471024 921049814 556895270 43929014 511808578 671545176 117660322 692256008 172756004 58298020 885659972 511316474 800483452 900352838 913054498 976502000 795746488 801274526 614319198 519738240 652574758 649671788 981225644 687507234 357938902 547752598 490734042 908126070 539552558 481576586 740454762 78974860 221959758 180881854 192796304 244064554 490013236 810141768 733924940 313528660 4938470 69516088 559773666 152344040 957617164 129484798 971793222 117235554 733161568 538755996 369273432 150421750 445487626 557921508 960574408 754962340 334491482 825404996 676835306 299190678 336014172 527596190 907940498 552378096 221195894 986982528 280888944 86321326 507359224 824862494 218246250 888345382 414548808 163660144 878341044 436593308 651046038 925775704 705859520 269147408 541875532 908983356 885373830 825747404 72963900 447504790 734198144 160534228 921237898 118016132 612293242 227918240 315652514 128437258 827279818 487122114 584381712 14686502 466243846 760573372 673912616 262940258 995033780 392623154 550848012 477158708 635389984 882729016 347211516 903167802 198868984 90369140 733321236 191001572 93904866 740543092 770011972 341447454 195798904 235885486 10759406 80201072 795349702 437111288 492971696 492640672 499935384 631321368 681760744 541227870 584059926 124978138 963480600 597418876 339100952 770299946 798344832 909965956 309162786 249078488 27593476 972172352 269105352 681361558 605978650 408554712 911737558 195952640 205789658 262776172 731677928 730983222 933168702 791412234 250579092 540898100 777833616 987530158 414909266 317531686 428505712 13758936 587785964 50612044 428403130 120438668 975238140 283085156 608794760 421193038 932576590 489442756 21230024 193057932 238024600 283194628 664162134 680034484 591642414 960385254 170914118 71725952 345831850 47017086 817819990 298080736 672653218 433717474 168830870 184395736 79248208 418551480 805858328 836689214 58394868 18460188 23759192 801487190 472425400 321321680 742858310 114065692 60327636 522934444 405284732 613974908 323415296 214492284 477990820 829158660 438758022 367911854 74026678 524945804 250348478 27863490 934641846 480503762 837659380 56499402 194284316 46460018 421235964 401918280 866371838 150242550 522912826 817237752 186355546 687529420 760315510 874048090 325743576 706966144 244756184 966145324 227973976 451119102 572301978 563159744 352029898 973762342 106118372 170275960 905167224 44815396 433331466 594422472 652334504 130134936 511626452 954849944 239616900 912410240 752715754 75171602 634447092 626442690 430638544 736866920 424278176 528697624 762289442 877103678 117439658 458179350 818622904 753784092 32123832 803866612 39379272 83741912 332367140 910738874 148816130 16780260 827024252 412359656 858888552 928583424 349979506 667271576 995843888 836787536 994903858 952095666 781875058 59061444 894754882 72259826 568451572 566479256 143641078 678400298 122477740 633134410 925732952 181001198 147330264 647200374 751122034 854595324 20096234 365012944 280860930 452883138 543173514 898596808 184177562 181285648 603239038 307089000 230224784 560519614 349257954 519241448 238180216 106285266 490384080 973545666 79396060 168716624 299990796 897777036 773286710 833084382 12132576 268998450 264754184 418338762 249393544 583145934 225922272 272627488 161199632 54310024 553147456 311175798 4156784 393998772 280770138 162452814 39232094 121101554 400022998 112371696 288486556 119497044 235028724 735026366 999074390 852024960 98004242 709837654 230816780 910403354 902727026 796249320 490358094 293960948 248044872 273490636 197862362 695382688 42022622 286873666 634844760 252954406 965682226 615954470 690968932 772590024 444536464 127663480 1029396 633258912 692463200 244963138 129963092 381090516 762824076 581832044 914116326 335986794 615313476 320003630 735249922 710160466 926793728 159235752 882853196 445413168 128886572 473352752 578486350 838854474 925574130 367933742 551413646 999356518 940692214 470712582 173372334 797708420 916452772 52612448 424557120 36827228 920825772 665046334 34219802 463835336 54387162 259734428 300488078 722949324 58765480 534783416 873480800 553020444 549870360 674832018 723929912 446594322 94494192 937749476 55535952 313208052 562795392 143207388 714913908 533113982 453559534 417900988 909449952 260378654 754553984 110431160 214101572 295846768 141148580 680415796 81448584 298292136 646818696 478431330 817614768 154552748 909453260 908695810 756102972 935583474 127683682 586970992 400309382 523241376 183647550 388799708 75634222 349429944 704817452 940806234 351761048 859112780 223641878 396239612 400443766 981242566 574383860 539428916 692151430 844859546 671627100 141239012 417495136 99730682 936839900 280485552 159782498 620728856 488178764 26056774 814409140 172274322 333841108 175559232 418021642 69303556 216979580 462220322 223039280 664822688 135714562 377688978 205673974 673638644 962421108 108229852 315330178 66353588 139525730 704527874 141111962 942139106 372744456 107281384 324961120 257164820 841110348 671984280 775159412 946171378 101384298 292777098 954385638 978590 622517774 272595632 129291638 808312362 593712180 798836416 879701770 493124054 861023044 798460984 951077130 382901892 213231842 203203730 779659342 456777322 621418528 638612854 413358652 941788872 684235418 144516860 31211668 110857640 502862686 854279732 878580490 111979650 367088570 929645748 280848320 491402464 989095252 19632892 98312154 272674258 599246756 331295314 817296112 41194084 518600508 736331826 706707988 546420724 90471474 282733170 929853816 254954736 130913996 200161576 198980904 616302820 43405288 946484584 525435610 472971404 800926436 653027550 778067084 106618000 395675158 707247990 591517630 620039864 660680116 978289400 512165724 140451222 976162544 364836282 69910232 733860544 981668760 490103732 492793508 483115986 779832120 890975444 644876342 109903452 743437876 415067410 383303742 316685452 619235018 738106046 425626512 104307800 665955166 422952060 712201150 662083492 98264652 224230488 940943128 845274942 964533104 87237786 744030682 692901658 60584508 256506044 914390412 957681722 508807740 861193578 121959958 230456354 312367686 864350958 416492600 773506352 510597312 950233718 244646736 779834516 235450732 48335788 330791898 307620566 74272320 551641328 354149322 819299576 793038432 986487942 130119912 269919144 420006506 382309246 466016044 390103694 346629046 903629176 85205590 580346330 673389854 862528314 855936436 786355988 748761686 380862218 157747140 874026490 437379790 959563284 511664724 933381192 729420482 90132796 677193762 678326262 723523640 623083762 436404836 335798442 675916162 714003368 285883038 582604772 694251274 740849800 729639472 962205020 397034374 846465004 272064088 972594718 750906630 271239082 675860966 574580394 48079566 285925858 458904280 439632602 81330440 296687368 720734166 376097454 353179994 734732244 419043170 37897492 971737388 4553166 116622778 897928852 652617078 773220526 703709796 5595782 453217696 454718494 416648816 877839680 56514386 548233610 240676646 108906826 961689268 177345246 199849304 770318020 503984484 100011238 694595006 101637254 7707210 161428070 804254964 75529724 808031954 321340102 547338080 447532898 622861178 648626158 523459900 333199360 607716458 121781082 604618646 117379620 635420568 277502498 573541978 926439370 112534984 57038222 130846088 6041400 634591716 889634356 243054664 566059056 633147480 197366314 654382276 266930500 38150244 152316022 20407532 480021220 932647504 866059708 992107542 749048894 166003170 182139960 126868524 438901930 2052088 587509014 686123876 958595440 37302726 436155862 790309716 463006662 153388186 314466384 467345912 959818820 212962442 308935616 881758760 529930116 732358960 22100604 919732980 391786764 839254040 240028112 611439404 47216950 511928014 946343038 801168926 293567882 374547074 306790992 584117316 551828908 852027082 708035196 434212136 374575754 528026686 752387332 153465272 575902256 790327910 839264150 337698234 270736060 679192796 599344988 713250536 108321814 643949192 828270516 711944940 248399784 405891656 120086146 47292460 141359786 563687732 39146338 987586504 973471422 848252210 881540042 415038032 624656702 781440040 851664410 211540046 473876522 569041304 737973072 264777992 937022742 930168116 797094506 677022866 860145790 878746842 245534600 887154142 120318322 718506540 529671274 766462192 1256394 893401456 912324056 753874324 978413464 551028370 966740834 160174464 275969874 899444254 687407964 260476378 352834268 842670436 122796790 830276026 670637840 571207700 819163080 556406096 594379498 210050892 140145240 274592632 296636252 843742598 412785598 498724654 674848996 317338720 378854750 21174548 467118860 550563144 493928722 337027740 841416738 443284220 958803924 906104480 161126056 652286838 325552960 577196576 849547998 265649900 219835590 28611482 737507298 899187958 945120368 546379082 982487812 480582912 402916866 346342122 135561944 446051194 686239488 705943960 504906568 178703802 277042990 994899572 941544648 277230060 474971654 89252378 130718912 191355976 424621298 669168788 935826410 744644410 615775236 689981846 660631818 169747138 673865886 824146990 314945618 233029726 842996496 112050108 897179704 758459388 267365808 238564126 158055788 139590084 387156670 129369108 623833472 400321658 84761052 521550438 272446920 206797278 112737838 435223804 956636328 117725182 932088078 535900532 897149846 433906468 461831220 499914918 512194762 911320394 873013120 442149274 78222360 449565240 284196200 158008492 836572390 823088924 9694416 984948488 974102996 205721506 143039074 74340748 306354216 748725394 412384654 583041572 771798284 318619520 256588326 214871740 110785806 36508278 177344092 855065508 355538990 432851330 655544936 672573386 382410650 516860006 783849892 623069074 516504144 122184776 256362896 297232788 803148440 915175532 6520622 576367378 138563598 710271936 794094044 812613682 339254978 391918784 632102062 731680340 625083982 272427226 654790578 187872548 763853668 446037940 831868016 716735740 576256044 955912886 952660568 468715950 102039508 294084032 754204904 741407878 288366166 20745440 674565728 510356708 545851094 302674380 995246128 372901946 631256642 766494444 331741996 811117936 574786706 932079290 670826430 567792902 134168904 104418428 697760026 678830622 752893290 399063108 40979780 69708480 977964614 24667260 844190756 222231392 316916764 299937844 350693576 141810954 380276684 194726604 520522008 666610822 574796698 242333040 972727566 266421086 828554472 49259680 467093656 311676310 597962710 634048808 327110516 272000322 823891918 565841520 823179642 206854494 735027818 342144514 882621126 461445070 28317264 932811492 294282522 201493934 581630092 210461094 71613632 865432552 837316886 687864946 812555584 946339700 693123668 679648164 920495688 824876982 283647926 66664784 508390226 274783664 297525654 486611850 941069376 512567654 919587720 981392448 726770394 266249154 80152246 174370486 319697742 392238746 78340232 42711674 452592044 528046726 714510110 310831064 776775008 957453804 802863674 432794104 668011134 498038488 349107626 486471214 611419188 402192230 676388778 691788290 168323388 976888358 695550476 889013928 741964196 394298068 695201794 954088542 811185150 99010382 776876078 330324626 395900574 757066476 633229366 538041314 205728754 149935580 985992450 255345210 47209622 7026094 984256306 176218038 915838790 788207342 497079678 321176488 352487770 221487890 347888856 453956866 408712382 164709874 382316506 589834028 437128908 975474376 325436682 712633202 878923292 830796864 513741206 505586838 194600570 855488248 414566324 845121102 115367618 264559130 185948792 358229426 792505798 266273138 674915298 895594442 217981962 622585118 326843872 232557920 859366824 800350750 728318716 601461284 293692306 637050316 648769250 83749364 397248688 554739794 128754394 520296678 252739226 699358208 870146340 873117978 284524026 855250718 45638534 477564622 746049676 441202690 48797708 399488890 253144296 545514172 507084818 204358330 945505148 200010738 387554730 934521150 740409162 733880446 235703840 657876374 597642426 644778142 592323190 519738726 34748258 683288850 215807694 667000972 503414022 554704136 145616918 17205260 20821858 745306928 659815666 981755826 401673320 204099790 955128578 332334330 333862234 402250816 390861556 786169298 383071778 32689768 284371620 905229694 171682622 957651362 662042934 489235658 276884226 198669150 872021246 244953392 815753764 368658110 190470152 114949410 61225396 157517318 923302468 185287862 43436618 457245402 399447776 503336346 448836160 836907954 672192624 93491518 434766460 797547500 902740024 76783532 854926044 429779030 578692738 732365752 613542684 127246976 282642462 803471722 459099950 322284048 720236274 629246510 607811972 308466696 986783230 179519304 64615032 162050644 732753260 199566606 332505660 980615190 478081498 506361484 726350936 323144012 99301132 639696874 403207238 640298130 422074534 833812016 613990584 273224928 940743172 666116102 845127772 517024678 158560972 20157752 704492334 546231296 982812318 295757802 900296514 142169266 941006774 280004080 136057848 315666898 619970286 884240122 904161258 874762524 637677806 824609582 759286916 323976458 848689050 637111260 373538202 548719068 719151556 349553610 219796288 825645514 207926302 370039668 709507022 969926874 507392854 451889854 664039864 961517596 716242056 552941454 583944280 408732062 14244254 1996194 708685566 847342778 423962274 60788496 935918570 620904646 546720880 166011774 585103806 351221630 137435452 693154728 662110466 712673856 71993848 630345716 74394150 115761278 122887802 248315866 742568846 353417354 257660646 288100924 272765658 937454304 541678206 324385904 511342260 239120388 316239024 236442834 370338780 726766032 489713908 633034872 379385734 127413844 599026492 685421152 243757618 986072792 734618148 964924250 661818186 648613584 874090666 640066466 357456630 599755004 62797730 869636820 325869400 566171948 206966494 625148908 17585182 297997566 4778218 89780264 717198428 719581394 716313168 391228948 610996428 208278990 157375128 90783706 925440450 474392788 230854796 954477500 597281960 556846922 13445542 77158334 359790360 333778166 178831168 615580272 915375320 706329996 876287686 788195076 896809174 989556250 378951366 623447274 942059348 519704908 794204758 624124376 178355658 408721000 533657000 203257582 109948322 844309602 534202868 845320334 213427300 167010600 285807568 582338702 901473930 416687322 532120194 722008162 113718580 713376644 59474558 163133858 459321546 695503036 143110038 232628996 901954410 871618600 405090064 728163024 732008310 287471666 904037308 576592098 617444594 402699660 380828772 943480290 125850866 224654136 937882066 364664202 969650942 579313276 993954354 600069504 315793168 37928418 235170778 522216616 285672684 624250146 353110552 181300302 485013142 443089288 875564130 918363910 629911372 796131672 283069256 710180860 492433080 492960512 204874512 576032396 63370514 740330908 220335240 362978402 22742324 165318750 58874960 416477164 900609328 369865090 115180122 112042062 347870178 254941342 692141090 264598364 206944296 718670192 242179136 900495504 196804552 22846858 427063660 137976342 313847860 704482334 129061460 141427078 431710510 744469580 367986976 428342408 483743542 104080034 36908722 801214222 155931872 610107532 629479584 451660708 314214984 647400584 137767038 204462420 808911766 753094186 537764756 600913534 154037012 776315238 18088862 248750702 817861148 137775866 482732588 957119332 865494330 23122634 311311434 545134210 259118636 641426466 418271802 844666204 926653554 874654696 525702644 217880232 301235652 588954716 796717428 917249058 686052856 495766454 943785896 816226696 714143030 919096094 204393600 417442704 521954336 483056794 632067492 498727404 404364906 171885866 433407444 116370888 74444618 831981844 847130384 899740078 656399364 869732304 649758804 737641016 506286226 154207118 284518430 382146360 878852470 347928116 144577750 302019750 491139938 505864598 899887438 515540610 523194584 182851358 585815886 748492834 87265600 672951168 68372760 216871918 881718212 305530822 15141382 424592412 964854720 794484364 176473174 440738466 479944670 364861330 663387086 683958846 629881900 831665226 742937738 117141464 979087078 340324420 470417980 145017858 303238142 460805370 321072748 491671354 306181690 578633794 32643968 972655680 76281322 98379026 656300250 881855134 659222476 560623916 511983830 682528934 51623086 589504946 486853772 692861348 43843496 555821132 157427660 547588058 165585560 906699756 177044822 572874568 478435400 823617582 890298102 295892816 284439374 514664806 287514070 542105444 477246906 542874564 189449108 537797926 447776986 781337594 526484196 682432980 749371980 271252306 781704194 234284986 410013674 961698334 476181948 50379980 276199654 688463570 202008800 527810950 961253294 673273184 208835556 604133324 122771324 585500920 918239908 609552498 885153556 474125102 538048432 509223028 364151990 262704244 957386056 102533976 627911150 459282774 276091190 346424540 453101200 389757206 226010630 693491704 422897686 556967288 767050606 583549598 63246204 791286614 950636554 646350460 772875592 515323648 638705864 806656468 136587344 178732372 10201912 132327344 899782548 727377830 354889312 642664088 459676396 506503702 723829400 112015990 909115526 157970938 778306778 52644836 781353600 718505918 103349474 987938132 576406118 672611234 558178042 842554066 576886008 919259210 544241140 120289156 522518516 403600076 488927064 838152706 722799360 857714910 654079148 165009432 572314896 172578592 955047520 7427586 872407448 95435846 829164798 88606790 46824254 529510558 726633508 544864744 708511766 393476422 953547702 733136444 35948848 164873052 542861970 815244654 983003198 420388022 278631138 116343088 128457778 838452256 518076232 88182122 588897302 741263070 494966120 365342640 467671882 179513296 802672146 118114238 916125482 571691142 882193268 58469780 855797062 162244800 433636978 24085930 166336912 604996902 633963958 386253722 71388212 34688440 468414436 987762038 854187712 798052068 6467152 474872652 694645144 120928456 69172414 224912574 913694870 1131322 442720488 712772524 2837604 11792176 491532898 46844684 207408188 125953064 437460760 28663680 330986308 449764206 925592062 641897040 549346992 397294446 932646782 600019340 567261218 24040448 736557796 492884826 205022126 25531722 370512902 82666204 308079446 790814852 669874908 266419936 228759952 658489528 551559906 18637154 252408124 485657204 899827572 324649416 877713420 605724206 174567552 383063340 719722386 385027394 949673350 399301256 248634610 590855582 931461010 332882402 94767310 517089008 524219078 137888504 512304682 362475038 828306554 197626054 616586564 187486798 174518570 70564920 426844746 882335780 796462436 548742440 111336558 157521276 425266282 893904974 791879260 206042942 533817440 824305480 844201780 699156350 752637262 236559702 25338156 851757578 711253348 283915190 437460488 676403864 349068936 967417994 190150 919280774 188270680 43101696 356407842 339694024 749990254 658241276 472093530 86152802 525134110 884644848 144256556 180208720 850709212 496639880 795063832 558805608 924102304 907898336 921724522 296131884 574928504 962688116 296699660 535126860 802840646 305829468 404465754 727678290 466380478 109112696 221772294 800540096 537604386 485761612 59209140 932018640 456404654 477515116 479041520 566401364 600700388 940822186 669325276 301978696 149527626 683850386 779951302 215038782 893700288 372480984 343115916 229283584 45777972 518616864 498795414 798244666 12487230 718984248 195959860 330616852 943506774 376065452 103288038 728393106 925499438 48638470 331909188 611278352 520640434 937411440 516923936 386544432 75223332 60611134 456252816 80139454 703843500 208265078 236550578 879233664 392945960 925880960 859255046 651163230 209780314 709254504 240686852 27387456 827024860 908729960 231857674 677227288 968877796 777138866 632906452 330982744 91505330 27641474 83638460 665908698 798214332 897790966 966833292 870528374 367250082 53035880 406632396 167147460 720066924 246292916 417690504 924381422 773805870 3002876 723693604 483030440 367498204 254015516 584061140 391667058 965359576 556326198 462507322 228999330 437510418 408593974 225084932 644915626 580562566 26645328 732904816 246598364 678432290 556322496 730125168 440938806 902566966 385524854 43525428 616812934 977512874 771129978 647881862 814823370 149327900 264810280 168354098 367090756 503458708 525436468 214945954 9005804 724034170 384902044 449324528 14723644 45279122 837228968 604697334 566021286 26445356 771143726 724306028 988791846 248176532 326673322 537029320 323020136 886141240 110854938 591116554 40585980 776993650 140998576 23961570 853847172 910488718 362766888 116425426 392860876 670239936 452597618 639676100 96463902 215448830 689044776 48602152 808405140 202911370 259739000 612124646 880680132 325768400 970313674 11759896 393536132 85078320 990534796 126480286 185398310 541456372 478580152 665919740 955442496 733210000 362369556 458317532 178907752 28763584 121854360 395101862 5632400 81158672 189754274 172864360 640381246 939161144 655224882 717882050 754057300 597787226 916523994 468873376 84383752 647459064 909119382 132388298 932127524 954360080 172299968 894809088 861664234 106097352 557606986 555960366 203713502 705779666 801191062 298536782 914830234 106028824 57253462 492252970 945469336 932997558 434282430 25577642 209302104 50775858 779406376 570243586 218734068 511447498 321033258 984085028 611079914 852430286 211503438 709405160 791155404 44836622 419010390 347450412 576572478 255413840 945912300 133530920 809325634 571970666 834424456 736921374 123162554 810548618 511493552 431175942 149119250 941521202 307942440 139919804 102073144 516626854 538563676 860815446 382467142 286708106 820679444 839812332 348874018 704673752 347306708 736538838 957491216 505545864 501717156 925138804 454992408 299726502 373460808 886613040 592969624 611569570 839431482 892893570 446439850 881009198 254223764 817019158 886443862 287193012 479485488 968109536 978534216 183139860 448282748 907063226 702984292 777075212 12604990 933623612 980768516 889513984 456527004 651196848 776910394 546239142 953455354 830824226 561685052 816434530 162068968 476353430 767475520 582473658 981605068 235346230 824976210 904680162 369508474 343149516 322249610 207570846 636122618 19403496 152628578 913950560 647000048 366856876 880855002 566099526 749518494 347914908 915472364 7881320 979228636 434560376 253807604 493377806 912577452 682551656 789650524 226618254 51966022 329845342 804929122 225870942 13146758 180809880 669996194 328001290 221889544 534717118 339432036 732485548 410792068 345816560 433631980 896016060 613523062 60469080 525829806 333117456 492299720 828609218 470023024 172732 302296552 665091164 985027020 309335462 257214984 748077318 776915226 448898460 334682518 241378836 624346518 874887356 505619914 572682678 290672926 929791042 860953698 908702604 172885118 677855410 270246292 536061352 647094382 140930114 580046610 575034118 985891058 13631902 390008690 157981414 892603236 945185662 667504318 868480038 119496982 920855100 904545612 343706370 878553242 272324026 162339446 763601260 222041728 709912778 194887428 134385298 591397348 366982376 893293468 399423778 57235094 543170018 192465288 819778268 44251860 196641304 230015540 812575744 750633022 481017492 998781724 137524156 683351878 102488612 555309018 538390728 366816922 630460860 478309866 934908196 758592140 187735766 325256964 536890936 113343178 296679478 231228806 633210730 104220858 14122274 841206274 908990480 610895762 371303822 175347336 993584138 72822312 872411848 245141948 805004374 646603692 853423596 134009076 599253610 573406390 652381430 573261396 659724990 866936174 43496332 265903644 107524836 557373496 611453956 249467362 544422772 362286202 359443986 530830492 199478254 729898898 960853352 367257252 149429238 902514290 983986608 767016178 799272788 536563360 147968878 856161728 101933584 937826014 886309858 418008308 469571446 742652562 209398800 52433042 762129500 42717460 251704848 418949994 468859202 246709922 644563422 996457334 856065990 942333446 288396438 993139882 854580320 151823826 860059966 716652300 548417904 569973304 861274908 530737428 600009676 565595132 650703168 242745654 732783442 286484884 108126546 127743288 4214104 147223382 132547290 966495636 666904538 285871744 600056424 969365150 406251232 461352908 537537774 25442172 650888872 849157398 778841518 527474246 492149900 338225760 72455946 922143062 328159100 445518244 832956166 540368704 394335360 628851990 428725556 795086214 423374374 768264376 434399708 604308724 437590734 893272294 813071308 931660932 86671150 541790634 188386096 444454350 20929178 176937290 491204872 917043548 746330236 645688666 522935686 211401208 987395400 988868522 931348716 982856792 387269094 335262812 655745216 305397652 60542948 406116114 998342440 546571762 126213300 966451724 415389898 377297562 158758962 838442556 245555460 57869154 620039884 41349530 910097400 378811184 226666332 780291854 424229920 126917164 651373296 353348906 625224554 900729652 891192256 54814378 740120892 731798642 789445890 264920054 993858148 832480936 752171802 539020008 496508470 235846314 897006892 112358164 547318454 199077174 636827284 167261518 622737274 619659628 474267608 921180990 383523972 36619946 356656978 574067192 471222084 553407062 889366730 398517918 504918442 21599188 661823584 781607172 374981026 865481420 263867888 498150534 143314938 570140100 43511842 382768330 375116220 952115962 179281638 773816168 680237608 504465482 987338370 703440262 202602610 104792332 198477016 509971526 499571546 930107594 38529538 994152446 283272614 243211000 834378328 716398864 537167278 805262658 901044104 970265774 907236838 625006044 60152998 159595756 416026088 671921566 408771198 594835058 919739930 817812408 284207648 846400192 732769536 710644286 647817474 581463160 282594676 613241940 64722834 698880946 177668998 228559894 766365502 147066248 150853094 195783584 658807702 524168766 924667040 839238912 353259932 867079186 197399408 1101864 878480544 503080340 102937996 290090416 823514214 533499502 755409406 140743960 82919426 573087190 698557650 670282790 759827836 923084598 998818586 383775600 37960120 363934042 766304206 539732636 3544060 224806558 701584478 437386624 764133190 955804796 931233966 707702062 810429212 856417150 920969156 623651486 882667812 28384804 426302418 116948818 853421564 752442180 143804142 168837810 93838172 781143452 146279408 475617600 79173930 491354636 559021714 160183928 459385386 806424712 742095518 605943508 143074594 230757392 226850318 700408668 697855464 76171482 185228178 538175580 104689308 89660012 594357250 975377676 294399254 25512212 112414278 632661490 16885494 302501632 532801556 887011260 565400096 90300922 655820828 600384012 160523768 794745024 65643996 945690232 472922536 412056446 950116232 542000958 246244246 809062716 193143952 980143450 834098448 338342472 123666222 54351654 910238818 618743806 732578542 697986176 768406172 709024832 916251854 243061384 73296988 360271210 777280 74772872 751894518 579367258 508899060 824207766 813772412 326650810 891716524 694062948 572469110 585085798 897359330 191215452 575321130 937770102 726799158 887134046 654750016 771004354 407623086 747576916 453034482 376181990 320095374 926748304 366092214 694419974 852040044 354158518 251640122 716277730 82217856 339842466 844898104 946439896 522467790 458210304 920279274 880054680 306478762 723944248 442906266 657316892 745301912 10142526 91265182 586981968 750128996 811449820 438709478 626388172 651326518 846581790 297203272 766638184 986074430 512969806 963476116 792386014 264050816 67117202 889871076 473563068 731970836 195410124 387301818 570111582 710764658 852782508 704903744 934134720 912344586 670827750 94914934 868113194 673354716 944543860 661549978 865838962 290745874 40375758 328302034 953892856 61202592 993132884 445146844 445326872 416257002 661432322 229275866 667412168 76824312 311738412 619738150 889048618 758355978 894229124 992112854 943654938 368570694 820039122 727653062 488294634 3372378 362092706 287273834 984222306 196307960 153918950 141255574 150294088 802028270 747278842 53383298 910030120 86067920 578053400 244849334 238655476 615493772 593596746 991171048 976313034 883533190 905634088 115461250 462524444 460439978 52035212 80779070 243072586 329744936 343797462 761122476 159601792 420943012 40858242 89304916 566863498 165677734 290978954 907865688 120211632 612723610 269508766 798226672 325495280 84750386 541959136 537944044 775518906 208220656 410782208 49487726 120939646 165534622 477171202 976276978 990646024 980151588 551624334 663642336 421201114 954288624 622635536 365525112 372097236 366069674 65606984 467570660 330687198 194358364 603480688 858686582 301665352 749487700 785488132 276719758 302771822 355677622 211257650 492264606 65767092 961858860 685290668 155147196 739889844 194312780 722079130 904841374 302737588 597381814 350599776 122037314 409470156 928268240 680997622 634225168 752320742 750909182 313637792 313170514 430520376 649906160 79699560 849448988 819055632 327514082 84258554 31068906 87571112 258337482 853218186 976233110 204162206 148358214 382559438 202747140 875743380 257583462 975301870 839628990 435684546 25219458 137689856 646570246 490748730 621358652 767532166 119859652 890991554 285042302 47724100 752373736 221744860 153364516 239071308 518410380 647654010 333487040 505530102 910508398 322168452 648473248 507512172 834239736 812751336 945191516 48772996 787704474 835157292 567789206 268078372 922797314 979329270 954905322 954073210 721130732 183046248 148215386 306277948 483676320 128940980 50628628 957463522 208772848 772780224 730081114 766632452 180890594 63445422 928349074 728885260 758318612 362349154 903348850 374789886 716964574 790692012 890999164 121329094 217102568 926377768 635310038 187454398 100114754 950598638 743569274 726706852 822035798 454241452 280511408 748841708 440729312 722305912 303705116 813303912 731480364 954531432 495538806 889137984 954139008 338501172 160269126 413647386 938497434 407754944 630914590 799515028 115820548 660429596 448888832 267744640 110608438 847618724 645997522 57862546 55478030 799403132 924327408 409601260 125685226 895537062 492839474 942202326 210273978 584687090 909058182 898300496 11413956 18668610 479197452 746542562 145025586 429663946 622689804 902316744 117463682 248553262 920809874 680293194 600975926 16757930 596081018 7314044 929175828 538645986 222699092 559697410 973145504 185985200 132861862 306610110 115698304 824210320 175513828 141099828 956211882 726313122 935171812 517129764 961441144 298761090 354099140 877418688 907963086 612853286 465382638 9639084 682938030 338904104 584490026 479187626 836139410 787812728 739810608 569964912 610819432 944364242 144966650 279280598 990110440 940950068 214005202 692755558 202707252 452608998 581599380 627787520 858089352 158504082 683492918 533543102 109966786 707561128 230040918 687217106 446176282 616673006 804735260 346645386 696869096 214560002 42031918 410498092 75353976 126960690 247998894 500352514 360183246 283019232 579619822 410525920 681685900 55246376 115557164 871964754 851443802 521863014 612084146 446262582 633122494 903112306 840550992 747473712 161419924 900894992 3783722 808601362 342648798 995851410 702043558 655880712 116881268 75271404 325511996 636498480 304959512 695544694 220726896 777580752 815275882 61732658 776608796 807561080 395660212 442763888 207501334 809135676 402153634 119788578 488937914 247755714 334735238 592033164 13484120 629923364 615578790 169542128 674268894 503911320 665197080 315446390 14533382 795363356 768858604 246160988 46807994 269793830 578081338 506810646 204651298 399638790 218529166 515927028 439860382 122397974 575576544 88431548 13516552 396318002 675639186 308047200 467621978 312037466 58912232 974573118 965832574 667306232 115425380 789548088 771729210 887308888 290864622 743199794 588378936 54155854 880168876 431059726 550177050 549400094 380236404 818245134 365896602 75492754 228253656 361901332 758449560 487075402 162779212 496945062 76353862 91331556 685373612 788755758 657253954 682661534 453567188 753709284 212038382 694916828 673968922 109442850 874526416 283467202 710231014 185780290 498038078 309640728 189852348 632492788 860399578 489915348 84717494 984148844 242005992 840191464 686184464 141570640 644028586 401475360 44776852 950749362 145281600 962397590 136847084 851797538 266172566 606983042 472858034 700955994 487893730 912204518 249931948 922305538 788408244 252283240 884861224 911806834 375365596 399971078 166465650 284119910 458055072 849155164 609463084 966483984 432105390 536419814 437583360 519108086 27051740 489638468 683026242 644896058 789514376 353238430 668547874 839811270 274996304 724093498 952352140 703162678 20743062 530111600 696415330 572640586 901040616 438628460 450939502 839385596 539064064 33586272 778189982 824358822 411993844 690045904 223533412 990014582 980469318 39196944 77032784 16092030 712714172 326512766 934409892 655856192 388225066 324398160 807242348 586563616 149133160 476263922 52149230 52790984 363544646 12085322 178466930 410022462 549780444 413317494 986513304 827970152 317244532 177132446 114187772 918781468 814532240 266680072 184322496 805393872 152452888 509598148 748880100 316794594 993140778 343469262 112931010 120152046 6933026 272473980 998417716 599050406 18683896 687287336 121216304 488160058 132601570 767284262 996663024 851613552 957495872 476406538 26611418 924218024 82776074 552548122 264595270 281497492 808811812 336355584 243269282 745723404 287096562 424113916 748019436 20892720 189454894 992453414 34834640 634987078 714491446 450339012 92523110 715324754 397504374 364329466 888562576 538509272 492625402 510392098 51129200 368863932 633102156 493703392 514815750 68374920 656842530 42548586 704546504 941324782 923027418 988751572 943573020 289821386 230883596 898356618 70481916 350175528 821138692 583609842 172893916 570878650 477039468 123616600 471607582 128480874 216002680 912074122 553311928 101486454 934053602 833928274 596646998 94095550 723999902 974620300 813920808 129592942 170975484 192170156 424603832 188256582 67117292 501450018 579744154 781379120 673072902 427249856 439752804 78759888 165665788 572423462 635150380 336193088 110792434 698401606 901852234 178483122 674202380 118901778 750140314 584495640 870091576 307196494 287962846 723528040 526495362 28995748 201279824 414881730 172523968 429926692 575647160 45982438 222270916 213469824 3674270 88424590 7085746 818327602 675127842 630205324 232522484 526573250 659280830 632898838 158430116 305363996 217379770 781756538 947564266 750431226 262045894 374394852 473003598 476224660 632619774 810576716 919234754 427383412 787456884 502805640 168629386 475252578 31121702 138869264 299430256 272997992 205374664 686675976 340957204 565632498 58110976 639344582 891023168 564367460 543375370 587100616 203990108 909906250 626626332 918063080 803300842 338265066 595378902 474677150 312835266 405541828 954686334 558993946 75245572 924165014 702432336 581212254 100080246 857746228 946743214 401815026 401168364 287280150 33278374 299347422 299749354 416723940 755556294 69056384 863989430 674783198 210289068 908597296 374047688 722950334 187706688 134848806 80460542 249393626 56808868 595772134 62381384 158752286 200774156 842196636 233357522 732363318 614930046 621010146 492785560 344270914 407929742 605055238 853507212 254679582 145457708 258660964 439515486 64634430 181607124 706299090 849012824 622846590 149160532 91400874 707394824 241110330 323230456 705050766 341099232 972867708 181248322 886328302 817850372 269743750 292080436 834102286 287254212 213046022 223575620 987867900 732102520 543966202 353703926 932109692 921636032 260436068 333236850 841283410 429109580 539467108 401180104 895299290 147936886 30829634 291539744 220108514 178263808 931449902 431762152 942928434 534692334 401834832 905599232 45850286 685030424 986512670 568302368 675270640 708188142 832282914 853031830 342021380 979655070 416344838 204466928 803259912 618085582 132660442 470044692 675706588 917990248 352097874 678326118 502624370 766368118 663026628 816811762 857135326 263439352 830920440 242426046 874997038 872949868 802153890 309962904 625674024 350391854 223006562 297797056 794641452 316266300 162325942 787039416 486721510 131697492 882856804 614678088 128614470 411893874 835234546 19355314 522606622 303506172 436121096 897278266 775454688 578306998 195174850 460141750 881849494 662623364 57801912 483245770 889073756 77610564 204315832 208004400 683576366 107987768 398852574 318929038 51538428 852073292 101525610 731135514 311815906 422646764 868041246 899007820 482678296 633267672 825718808 207184376 415077030 576948234 269799936 952695362 885850260 135905314 425058276 39740242 447789830 363474326 404588390 345633610 863822662 634653194 637111522 934614700 32058596 307566764 884939190 611297688 447814526 934378780 653961444 651955122 355120910 260456512 404245944 960427846 967010460 599366222 518236972 731650618 677830744 264151560 273945756 714776226 720548136 555938748 614298972 402705034 569852930 761296912 200520786 619675064 335072816 484919142 870644282 850507202 588003190 326687986 426526794 891216440 280596424 816088482 704435980 630357072 982751996 876017666 12859822 569257934 430661782 25515356 413552194 911626490 25752830 716470082 541366928 219976114 482692586 956449818 602181634 969850346 436790522 39461528 592696170 730988854 967537770 230361482 656550366 752577540 294565934 986070754 42669088 764228226 589376640 541478656 521456804 617635462 777179218 422075588 802479822 232282604 466833516 284992144 173638204 624131132 662004604 106164176 344632664 438687910 141551900 358690376 860369230 45745806 274461090 374861860 542601450 610958300 688370596 449459178 937956452 887438636 29514228 359404294 574407280 932271112 172663104 517819248 183816584 832128012 314044824 703626798 867707300 79296364 867969798 120419972 927165950 819272042 883420954 186998088 371782466 726823852 426750072 707146538 444422210 192322950 250626522 923738938 920800848 472142086 71021488 140214960 765402668 43722480 404713496 17474710 895383736 414084576 466888470 881052732 535320882 191130018 671114402 298587898 985896056 973157124 440182422 848767592 960490568 703304168 829616544 359612372 984235948 128645710 269337028 946891766 427910424 313176692 296523354 99217454 317047742 799401336 931592310 360450924 228057704 124880650 91083498 575015468 183971702 55234004 247679538 639787992 490472492 545197372 123514494 832258614 649657704 964514232 2409590 232955556 264074728 404865640 706892882 245699486 24873016 216660098 879110332 85292166 53459390 239804138 825237586 706329912 911328592 298626992 407741382 321808500 915802096 620882394 690163492 594753792 925444570 987359714 811041496 433480666 917120496 142823600 580604976 961895846 680519670 805374670 448600736 406018946 908095446 958509792 480464982 926692824 731675156 670513138 427206070 663955030 618607988 642589420 559828548 414892108 932882918 332789296 557402700 442474146 25853922 621749654 767804892 871301894 585524426 370762342 38824432 101962344 889452956 397797912 467638506 390311416 561611524 26528764 538430928 819564424 531403928 488212816 348222428 550705390 710204928 22784476 252649600 978551568 150992466 584279460 475347264 122358754 867139900 846819408 963922426 976328316 287609114 718978352 591735506 791137050 695641352 991840676 946198614 94623004 276704412 241903862 438697380 830788276 174312644 598222528 527668484 5627636 430056640 173925834 389181702 104273868 864811140 112798324 310291620 800619456 335884498 3339518 184131856 18998238 155675054 632436262 966393098 712485328 606510114 321932316 520531970 390755332 252511444 461610740 240276442 698349600 362439612 607295614 186274224 551055412 547556532 656491518 234953840 386941398 651679680 620920446 94126822 918330178 568541428 597762654 717439516 373742002 441229212 129240118 476407096 319133296 600579944 235464282 731735076 32071604 620501182 627155388 399009448 506113340 937397038 175246768 155247390 979179606 200700156 206825878 739684796 590735942 651358062 372277548 385091434 345839908 311831324 971353002 788324142 939966802 374891796 220158418 118119454 538863478 701700890 577499022 400626986 576169766 441721180 611067776 184849786 335888986 966594724 520241302 467143870 477596116 918613576 903101786 469027604 786596036 272780690 86406978 984895052 375306838 49922544 430002476 693392462 486272706 872694280 38955308 300351840 266983474 828251496 529417060 543577866 916890126 133856562 657761618 45594950 378980230 410018256 458697962 727515328 745913202 780447042 358723970 606261522 242579308 654755752 39418304 187100804 802971444 996763566 94146536 72818366 155096618 164211876 300197698 88071068 889130704 838834510 273492744 476822038 103688398 109855702 68313672 794107430 487845214 222466626 970915626 328958804 870647744 322558402 13422216 394277268 537415836 594539634 71380452 269713090 867080478 986374082 250812378 644935780 863243118 838134764 461283706 303339662 937303110 111475450 185022910 95351996 34179562 476627980 424322116 835740372 780267012 521255004 815902136 874013256 705579198 753816284 469411432 209054206 254239746 784782572 463961114 126421804 31072528 885717222 680255958 863064168 824743106 612225696 435230676 454786544 739303874 3646440 354414882 449938710 416052628 766195284 223004748 684564472 715889052 926637490 372942806 610095244 739252304 902436612 713988882 441329670 682329318 957969852 894165408 739036746 741275004 59570794 917334312 539552960 619478218 853057296 507173348 527663162 776247942 453411378 955910514 458909730 290548544 135314824 583607492 972783564 860643364 775027494 246039760 300064044 870681220 239003532 379936600 293426918 778537128 279693162 467441762 440219522 171522802 192872066 611236698 820113816 375555582 828985630 553938326 397092842 47568954 478492130 588551610 115225042 971286664 589747988 322178458 389288988 634484426 999824132 924700270 720656168 12841518 854496206 413856288 467483698 343559628 939660830 717991802 422551490 94724098 954674560 583747800 239498738 90323094 288233432 796782566 367655086 242499076 311117590 712504158 417445226 256903192 469077620 375070764 734650478 689986600 628364152 124739424 237470400 88833394 20219124 296455984 610990770 841123762 415527482 721163420 849501462 939585012 252151046 693105532 958730690 8865986 849981890 66115554 565216580 101014236 157552776 779995818 696039350 911480338 710052400 926957300 78659114 670542270 672895092 497582216 568492178 432252094 835411816 464527304 754075504 144709234 921534656 232061798 248709488 841486136 186024638 307231462 225205938 556211652 347875224 479228858 17704214 823393786 529744474 654653874 29587762 164216220 775711534 546118208 910502538 412602856 17336266 693317302 484565846 236858784 714273350 50155658 590996650 530411870 708376930 881441466 2964570 435200956 462015330 933292344 908535666 682386058 74244918 890962132 324314292 383963118 397267774 580203610 509630822 271208704 655098188 227626682 853034368 328713732 453009678 287822228 377752466 850263100 915782870 631641370 518440550 924955368 892418560 197871996 18279504 744167142 292118860 228119786 23054962 888148620 172846320 55880256 300935586 627956900 683584346 71822476 93613536 966689886 942454650 234684262 645477144 816022610 980916776 755555970 384471402 835019688 87314444 386180752 889401444 525640 565468726 320814784 344942184 97542408 324990918 30147024 394752220 342277886 358679576 320516710 29298592 80946270 558995880 349155158 495458284 753226778 255440458 95494388 64233554 522556856 180988192 704758150 585605336 594605454 924778560 285858584 397813386 126753588 354422302 666055770 25374508 998860202 908958968 480152340 993498198 471207822 224036836 583048392 624585484 189156348 909744898 484700934 298143852 197978604 73601018 789828174 784966482 707413728 975552768 186061578 587419268 923304878 799210832 816962232 527449912 556914348 671488218 133698014 90216142 383928268 712447636 754370348 119908910 413963002 718168000 479891298 957023780 535163072 147356084 892146344 538186148 293498284 799282132 830131150 658266694 402987816 996022526 423835898 576213340 192103732 616100594 585629618 499890690 21790892 567182210 884612260 360658042 68844316 913266138 116475180 306504632 707644884 787523836 82965450 256577348 840808556 178327670 641010610 691632556 803360536 383734462 817397592 445704332 712642550 398306666 842905954 290264640 621099692 321046692 249686912 425296024 908873760 973950496 522315812 85644562 71983956 549345184 741974946 557333252 352538346 271744312 34433878 728024494 67903692 976773180 137571418 589567250 507526056 197807134 908029212 746316902 312141640 366616268 857153288 526005868 426083744 616844454 33664014 778747322 51473242 268555316 14437478 757009814 633957036 148556994 166779208 964957960 806651374 298034114 506969702 241699786 878599822 759997252 782161898 408262122 832567536 417389914 638169318 408688784 657912864 663011732 372468812 282316504 392304034 831505492 45121676 583894374 526907536 783424864 90099472 83253136 964796726 990493498 437118654 676658122 367487094 142515348 323562066 628560680 96197480 415232760 288365440 882913202 595864236 978800390 809538642 223145414 217245382 696816646 276929918 991615224 46332494 434916648 261616256 404419682 868078768 904756882 731612978 263673138 1202026 454410882 430760832 208849542 246606408 420620266 894827556 527101252 976345836 141826976 241097666 574398886 30808392 228226700 788270940 886768500 135095824 872018586 9592684 274756902 540285266 61254134 830684184 124824660 250243308 623623614 760073356 630275734 420136 576941238 818488690 964484610 386438026 339360236 425457196 613054830 973232962 446327342 14539490 79962702 220417964 177519722 386141790 644374390 919371408 509478642 950358124 211660110 380933840 642612146 661593510 771357732 438003014 437029898 519466000 923077286 160637856 874064280 787980918 129104990 780668052 397041004 254840746 51507596 379657770 821185922 404990826 442527278 154647298 356970968 541433110 73020090 121468508 103638330 80463932 667952894 829647424 505466670 187144052 508544240 962664934 913632068 194409448 343822858 838838864 994387796 522495422 742858624 325240672 926122650 908336478 941157122 37653280 851130328 585810934 442227406 434787716 565553230 592393692 510263664 108785954 932600648 926243918 254305294 612094938 572150926 372057970 303069948 780435490 574979554 223553346 54956934 409551422 100159758 841939704 615982786 906709618 982434816 538342426 19420692 241514512 768431478 865791662 335222954 43135976 934164952 246649070 721437808 123067200 808479384 711241222 196395760 993858578 10508758 443443432 16274588 933179862 147034370 612275916 445084368 652224198 915680052 139872312 791915332 547502352 921394124 338581444 52019864 572336814 503468962 97195190 175766558 50950024 1061602 641076060 922396258 189187666 947374232 825966670 374325368 839661708 147964498 997884908 965267240 252658134 892017338 721713104 957180682 410020684 630272580 592675726 458091744 844207250 206858898 171537026 715963392 156474520 344962028 770001000 171530236 147529552 521242660 324738802 681241136 478886154 722171180 73468554 647294506 229432736 960166602 608139130 756459178 784695270 441183660 930661746 147428440 653806908 312540498 480633268 907744364 351855032 875177004 575994778 998401898 64623096 987000180 999847508 372590778 351673604 24248722 941625568 804620826 661173512 65013878 26592082 109715836 127381002 399049644 859851642 766309740 833440728 99166994 485467528 805415400 87065668 229826846 265972604 963557842 343565222 122341712 302093748 973160684 948886122 888741374 296902804 627342634 110176200 901939864 534191934 252737214 824337176 690308614 367603256 28812880 401435046 604100580 691029032 450127312 432596106 430469444 782587308 358195190 874420078 69095830 173605436 286831454 741118534 825806788 640314094 927060560 775099046 160400958 77813116 848940278 785588544 9159258 271717740 639195852 198349034 27645582 797154056 807671238 791118650 670191790 847739150 110268786 102550076 885640796 566863044 140816384 284642674 519802740 358063410 52462132 693856780 860518408 36442796 731768064 761131696 883705038 665914416 745000182 54230286 364895268 861745356 700610224 792519236 387575108 687180282 500684692 371614988 905742836 522409552 1518002 896883640 875341978 463007980 26171580 725870914 263278786 236445112 171622396 197598154 835954334 200080484 932468008 985695328 376420394 737537818 224735820 355321996 515054988 220989040 229635780 537541100 874897332 723205876 409570576 880518964 478888004 293551732 648240536 821103786 383566726 792073396 273446356 515185794 94185564 544991696 754949678 732423124 3964010 750427604 317749198 459729596 46981698 657657620 511573350 374847544 442232138 874391130 542678234 435025464 524895250 152875038 26037168 570625694 961257572 285991954 847390670 708195414 991031604 47722442 124923254 812858172 507353854 737614804 721811664 863695424 846528638 881930458 243578802 173050596 175902796 143882928 283539900 119766304 243695178 908636660 759219536 13713822 800789172 189143162 179747088 896494602 453973940 726404200 552197056 632354914 459466022 317965566 174357330 592189158 217660470 85211776 616530952 772072630 632076642 635816194 72895496 747503810 748808710 80661718 897333754 739422798 330565688 156543238 98648176 268446212 554566062 49233848 173280980 871522244 302496492 42636900 503849372 954668016 205709590 578985336 314216220 320888092 336337310 18225888 480062208 176367526 55320852 87212096 233532412 279918814 759557666 707977340 630393598 988421970 295829052 415297476 549455062 374129694 219416444 237886590 834183740 393173546 168199956 591156790 323998734 593809106 90898790 39639354 891307054 268944220 917172786 688927190 390481970 530700712 895041074 782102650 489650686 787012984 266152214 493525404 799124802 407638286 361228224 461540442 720017880 69411806 963051162 702289822 115300042 428895498 916653900 212591070 897916552 346279002 992019150 726566690 154164154 144943824 426553698 27042024 146363274 805818386 423741762 604491264 647980158 368611454 196774754 315012056 629944542 143697410 503704612 284131394 405428606 491818344 130766726 921695402 779267172 688968482 21092206 986802854 963428236 423873694 441839680 35766910 29164662 304497998 948706540 417494608 128457046 902264284 300231298 797984464 668605164 214510190 73204452 34912420 965608374 337362486 77278198 954621672 858680488 609357880 580098850 723085166 80941618 277875008 852725546 503382038 394328504 398998960 991203276 700666048 461962058 991134556 748639114 361631422 845946374 412933394 735855100 107820066 334102258 693197248 355660500 46280432 800391292 250959998 389941148 932929482 202727896 705486222 424078218 483941430 416762714 802297812 496302522 635334652 609693102 359436166 545576984 58567484 819571114 613044110 477330728 208505834 806189826 464831482 759879066 625716496 302625154 726969856 802259770 354659668 654053596 830420144 980684798 103304504 823051856 809188196 728815184 859484392 141640548 853190962 582826818 561278986 420752624 403434294 926110386 683673376 716553654 559157300 286565760 831922370 395937964 237604622 270502576 46695044 53893912 829147150 494477680 427121694 721883824 128113128 245755794 790199714 589491978 39097060 852706322 859655156 538970932 290505786 904498558 559992162 967173154 56751696 538350470 526778108 402489102 342763880 198458132 647922570 355428270 330569700 205554858 10170964 726171216 70770680 724956132 872997264 360654480 468671250 339250978 823354026 745524890 798959432 552761802 351666014 720085092 665357144 345805686 894542902 813946942 665542810 867114422 760857218 840769400 200686784 661068954 919651980 138327030 249236218 233148534 135795096 861803138 704443550 266103714 881482298 192076928 751605916 651986090 299909538 405585176 136004476 399486188 116093836 934627552 379971460 460677182 155878540 675685666 546651028 543131002 465344200 770961324 619815398 313998812 967292966 965550226 581806610 841592392 221560136 954102720 235801010 125934316 46405422 43505616 590252986 908222172 455389076 392709758 301111382 149911874 199586510 593873798 92543794 354130322 560558618 869548122 843772622 555090874 649735202 13209120 97239580 405174992 132822896 551994634 442437584 624114466 998972838 346827526 884349508 923853886 779448506 148765718 945768854 600006210 439250972 760880278 59941878 371421028 790723540 872175984 16823892 684347558 580957460 54888706 762216312 556509492 276352514 232221192 621253922 928463766 425792986 808935554 147881198 981691048 50865120 713416226 358110180 746460978 691070666 729986968 681755484 644367410 943521820 562303448 85910254 494296618 699051146 537498720 750355986 396439514 317449346 321069446 314544894 668315218 888097840 129701284 955938508 935385792 412763814 51172238 558958240 645430522 967144976 81547690 371401178 652049106 175082718 764156808 10225872 221766548 64204626 477168004 238485538 925077656 196434056 940399512 327804250 787338390 707587536 648690210 394768812 324652284 991280858 155074428 808776720 189329016 462822264 967773518 314811772 100135268 893121200 250763750 501704834 587903814 291778850 211116234 650662190 855007562 855407000 192713114 621635436 110484554 608275658 520616610 70768906 744727090 313012650 664663674 77686222 627540854 35024148 671183996 641931750 343863210 225107460 34459672 378678954 418285894 305813070 931390456 679009870 671528024 720374058 407240332 769339498 115715294 447599896 8952002 15166134 938661594 715622876 397821956 227898824 920384012 165335676 296244846 498568382 286693600 509106792 419565052 676467478 393999568 775854932 554076082 877353586 93973006 971534088 317597658 741660086 45286022 613969984 633082268 963375638 715975526 368262882 723510156 511527580 76119114 419748738 669646326 783287100 920884192 125066892 634468836 252575422 376428740 579717030 232132626 390655432 773406564 492011148 681725436 217545314 382503840 376610862 830484892 6909676 855893464 750500804 766880438 758176630 953576684 266984228 975859612 262765252 863678420 834951612 664294360 348903444 468891556 989821454 38356280 196014374 718670754 135624870 678924858 608568180 146746788 249737442 313702250 992639964 868226446 89364348 959223194 790596930 386296304 280613768 627450574 980034428 124452002 124324842 164544260 470759732 71990736 700580836 133756144 462591710 43054802 823659722 591411852 205819704 332844912 20489632 645935112 259004412 941343194 626454600 908756256 585190048 656283934 339188922 374787074 770918626 424676870 753412428 879467762 613259638 19977298 253610692 886237226 939621548 650199752 859321080 854186092 917168874 783837276 952358292 826718698 111608256 952073850 109580750 521334430 434224782 932970872 592878886 305286790 242322928 470986402 440510532 939286156 175245624 913740252 925529916 29097094 100421766 728112828 687834606 277209496 165040362 506614844 329292630 249242550 850329072 608803336 431513222 354223570 559826032 441353478 273581608 103716706 291223168 735804542 819387526 920682940 126462332 651413056 822150022 703667978 733035204 58219238 932779230 168455100 198846372 586088874 639003514 991956728 108290980 507912016 803752492 238639816 71235772 718761222 945829158 980119108 554378312 787865134 3926380 879753666 42089826 307650310 846536560 586963244 878690740 334759634 813620644 838990776 666778064 14399046 168194156 926379884 461923542 970521840 60935782 137218334 740376694 878204194 381106354 415283186 146899844 275922232 800687558 825203966 794013340 890806288 926828146 254196766 471937662 856698240 311694536 971482568 481594782 382356588 850162530 682653750 992984716 965011260 961735026 714940558 362177226 576660282 540383562 378139566 608025542 316130076 569382158 558644450 416737404 673220008 816600682 421956520 65160734 178441328 606808464 854741922 7392926 653441416 893934844 584864580 391868332 44792128 77993684 811233938 193762424 199136458 944845848 638765234 462245714 138049548 173396532 142836588 445677198 700604052 790500726 54823796 447847042 119992092 919692238 606233908 696093990 734361206 10987198 973853050 821828342 955268332 990849596 298325782 836582048 423809336 840090910 234888930 985686318 876438590 434298268 46217918 559605218 951514418 160548122 508034920 727682312 135855610 625566258 630879268 303652210 495518998 135547238 166169418 363907342 242056058 786426362 574632672 569632890 619564390 144066702 678091972 616523708 414381088 800737386 859779642 31336474 878608604 437020932 202060914 299637192 449872572 584074400 341288194 841244990 294851454 414362650 32442876 602866078 921459680 583258834 582363804 244431090 359998308 323697478 348543692 574948198 40796628 254723504 998822042 911990112 407447314 859753270 409402670 281488140 691752270 443601888 460378890 830087106 874620584 202300788 303539108 106936674 908938850 14591916 341399830 929405132 597253664 933791738 597544070 434310024 144975190 685600240 917859744 960296818 135871476 881696948 88117592 19395460 960339382 75179124 435727986 790904386 100896980 806903244 133935220 599029062 232287690 440367180 578943386 881352614 367320286 506663178 549810558 469830218 634370980 165076244 469532432 834047606 809439242 634020346 342688522 717845392 421957970 106666688 922992706 905676730 293253754 557464378 133163196 302972186 676715392 124396590 447316086 755567036 131489494 482283800 792492986 721849108 378711614 138323826 24196434 394942066 980311464 644870750 226668832 970937898 970083858 423794230 283743446 37269688 864847212 861345388 724945806 174016142 804875270 280182992 797961222 342524064 376325516 523131764 974106562 650051140 564089966 567857686 774702386 319591720 897079078 791059790 966809642 271036322 984120068 107601856 693569932 778385744 180614846 2649066 427292432 742842888 764960592 591949544 36248578 747192172 439619972 274616074 557246456 781073724 734489596 454956920 834387780 891824760 104707740 734556456 994959844 151448874 678711874 590256634 915641606 371770026 603620612 229842920 716329538 721536214 239708916 592877940 606428624 818806934 372240948 263654586 395088140 372460984 195924248 497184300 907485440 68622224 820240938 117530344 811149202 486174488 482752574 605999394 407664140 21807482 144122772 99504168 317571244 389386772 91725122 132835290 270062822 946700888 673529596 273861970 996724646 800322938 574986814 721332578 785864902 567112774 694175984 374786642 823208554 540221534 739447958 40856466 267106966 42215322 748701080 97710494 97810848 576361092 273317468 159087520 502800280 553582104 229521618 707348060 663303488 950338370 186404372 437295316 939107282 78374646 10946044 191626964 858778078 790875280 980752690 191106066 105501228 798608404 500174318 351736594 982669182 468503274 216176280 269569132 796066666 641821490 717765832 921958872 203606342 77983724 386446422 976057504 921495958 822374378 786544606 179485666 333378668 848369370 999613282 774486828 118424162 410591072 675147642 379407746 925874564 718715546 720792906 847640686 447349396 659855112 423891526 777354832 861654608 439919562 299678234 324158712 523968490 578992452 706841140 294135234 31220258 682759092 669930522 263695572 891079680 703114236 535282794 302550748 26782370 788130928 624736446 562785242 397229596 735163294 694067886 386436478 742084052 304793690 367782976 170515656 465522946 195665284 593623654 558653750 673031864 763610072 870166968 774183446 690286806 752073604 588634822 99320552 76293348 296391758 587117456 282966398 750120438 34629680 236238308 723098746 734840592 456292728 612111246 535420454 24424856 917715976 547099474 98092152 664176252 166496116 766932714 242290836 518358906 212780764 907978598 730127572 370958918 313183874 405035002 792649122 862712316 202005238 613074642 601221458 26339460 47723154 760594666 112891832 605328924 816457742 208901762 657626772 65968464 725562728 176620654 58380762 613262146 418325340 754968890 886186686 409231288 512258494 920593898 294315192 157575730 927179558 634199578 419199688 998186662 194340162 196478992 392208374 741492472 179924290 807417054 220727318 772541100 984459044 882028162 234695736 34733162 361161834 119392982 547672636 725723104 987800630 368199650 293283382 170713976 733079252 410502062 55108696 3533818 129942274 37673332 638619522 554134426 677044060 927408640 401782438 402194472 322981708 939468096 685070376 757827582 302492610 275837400 895619984 679597022 895896742 150733108 522004152 338972984 659687436 715858626 184358888 345719040 164792438 748466940 660290568 179441274 24017738 156812522 380423170 479383784 791693836 501330520 943942326 404014488 17084146 437576706 547774626 729598336 180113540 534844698 522712922 374044534 781804054 603997306 326075856 336652504 631350230 34312534 357461262 845150804 812421814 147074002 330728780 73565484 967191188 469224048 662993488 302281360 288816492 685304000 296243918 137860674 749165624 335008756 68749374 397849356 293316550 567901800 626475320 815311050 587389484 503976146 516949380 532792798 481839602 564241628 314717770 254776204 96193968 932965432 254544516 314149552 784957272 175796906 894252560 48595914 988381574 786781684 971932060 633344750 826328116 121559284 104763924 607153468 914731720 98054040 508482216 685967854 476522684 906368522 349152530 810951268 273495056 142947352 444985938 744585868 668324256 64232154 159223220 867744464 767721146 854941500 805635862 86366020 703055982 659674764 525317674 344991198 344910894 758968606 192599264 347717508 568570966 961983348 154981212 232502458 645878670 746341618 996016898 968633374 333515240 106823968 331990488 810752476 803082024 559910220 570669518 968814450 444578436 525169168 834258832 289075638 519964836 420345878 448265134 532803150 373758412 731835434 581290690 70206844 735496628 537908390 749433912 844767588 399164222 43074216 407508996 292646618 674473096 863203650 27814576 518256844 72080208 903919184 379595030 91658466 785777570 862039298 387531680 911826234 944203350 207727494 414757680 485547042 104699204 199191194 393523414 310687806 994872192 353873074 347705174 965921552 908140818 498845480 96653438 939819550 643434166 449490930 262209674 676841164 307770528 568601940 153187974 753874014 137035118 974527260 503310414 884244488 362290388 557078316 911461366 607758110 999493256 175754006 582735188 308783742 574841850 745871426 927455436 641246438 248451290 244490970 147335812 809323368 931769910 868814640 955432468 180777502 972325214 485689108 908278722 404163800 149238640 973699162 941186516 586145890 256589882 998553072 877749356 272732130 667461762 746848438 697719320 808623278 884469004 25716444 330818822 72288288 41519504 456579812 8309672 981940870 424808898 632014482 464607088 853846838 415589078 118426242 581615196 317958228 192687154 822831670 902024686 216858294 58629372 618314784 352952820 11493848 580579592 511704798 288833072 564491662 294619886 728321858 675583184 385003518 924316790 635674680 35152844 308475042 986075904 404839588 962526174 554097988 778955862 856058500 166645792 853156834 217268662 765946280 739934708 612067578 414729350 55900342 615242286 363183918 957986164 359991370 204441116 274866148 360534300 501452674 816350788 707912756 725867854 783617296 395287354 411767396 613046114 545731630 295022886 223294202 473071198 961589178 202882378 712870584 113225172 203714348 621137068 300264716 506275026 966514770 618539514 593787238 515332632 839865842 536927928 874794936 747941728 688460856 363363198 852186656 732632038 520665786 145904928 973099086 48385974 579452558 865032774 855838282 67489006 470255734 503104030 461912708 291067176 970793526 415542396 125869146 648888320 184241872 419449668 10777626 761810644 515752810 388688862 889023018 516041824 635315190 316046080 998498172 282853968 209104134 654735306 257841570 522852216 891069324 38838322 510021824 132771758 595036896 357192286 442456926 546376814 244420714 69211066 988873580 323744070 542845884 442602104 362578342 218372258 356609786 159183258 190792024 108021502 46479482 906646954 563967582 809628852 467319572 339309252 351226782 747225358 567009760 397904656 897899068 268771378 187360334 626615502 597397056 614395450 475655282 892134598 292893244 653901470 833771386 551906016 695659398 660016704 673007608 280622656 621243042 428723350 421953840 237278448 11496410 934634860 244951200 86956438 507520274 801044502 482545844 692948310 627862300 378890904 733000440 371069862 11013026 614921948 57080778 874197316 691900742 999661274 684204320 410720696 709128886 892139288 980582454 864684506 237077314 649187182 206032600 533452324 785229762 765962448 185118074 303494808 670512222 151170612 1710314 7845398 383848348 616709624 50298970 181226960 929525022 284078046 98914392 287239970 293811184 358433750 700274630 111171002 582944836 897216960 414042014 685757080 485177618 934597028 842945356 705670322 796939938 967286684 116620452 252642612 476888038 100723406 111963994 113078346 845600898 105666032 469707034 663897124 639598420 440514066 977458952 702736094 708144822 724048038 566198718 589626206 414169596 28720622 645586612 52296324 731061932 93545880 501388966 900098902 314465552 402279256 895168980 439504292 200514830 450678582 568726136 778583674 389976358 389095356 876387786 24013860 993337486 757891072 219606700 78009726 434705910 654925058 618169858 393991898 651923088 177915924 660848622 572321224 619036908 299412992 106929620 157413026 749656762 428896794 908454918 104263496 618423430 863263880 713972664 594929684 842510714 9012196 678157298 513029592 681510160 798864962 90946090 752913228 142314352 14691138 252043402 97840224 450079426 631409834 5686724 281794668 226390758 390449152 446590210 899626368 241156194 804793274 946005286 246380226 554875054 11064840 427395570 654250688 794239452 715976056 269294460 395589240 200945794 816199642 758305756 854335088 325939574 840081934 296701672 933919196 172156962 330831628 817034562 437779384 59346906 441236832 80282356 646282550 232894882 33468736 968889026 364627812 438212256 966252500 546827292 852431242 88291726 955226376 398093952 655780384 512490456 81557192 113996912 957429582 194857194 23842556 431742728 143297412 101390680 998145850 455006458 710194364 330663108 436842236 955101704 942340760 715734084 143825584 715981692 364192086 652515540 988302708 803935782 373666776 772216144 986230228 69505558 229614508 828882874 358877246 342132450 742193472 405629242 320847780 757765344 54153096 860474606 610034360 963228256 17105012 963501088 767592482 533834432 785980380 394016972 753439654 772618700 560244696 248894250 471608206 159006932 969053074 465417680 748415952 568451750 570914744 674681970 856905080 136253768 942897178 958542440 203972946 763664190 211642614 102656530 211738224 710291432 926308732 687177952 845026938 492202128 256890206 641253666 831340888 58538186 502908996 146977352 639321682 963274704 432396800 128797054 615722626 174823632 371751450 488215418 780765746 120260540 906225694 439951510 182912030 565807708 636763308 165901796 414956906 533531070 186483388 746385620 531990990 988588464 268293488 775815152 313349518 806527810 854018182 721642388 471782064 36168464 330701786 963897636 311850586 872884080 705760560 407278480 663114010 943103478 83029472 535498438 281617440 23735210 369595718 570059268 771320958 966841500 427884340 160260362 355293942 286622352 862443462 624601584 710359742 925520092 609813952 514740386 846420290 377550256 28862316 367911800 230076218 911837446 349087942 422914982 432833828 450572560 820862908 58780280 985538560 57664238 988834204 965348692 305339122 60052260 563181940 709083568 489210974 461645404 105534490 214539920 984371676 465912094 733810628 279625232 584822074 181866220 693295316 922459742 101836838 883985832 628256432 948289170 837191228 370048636 962147558 415253448 254944954 675690298 422446008 831944094 20933464 42036236 132083222 169936120 982974330 267103430 817252384 726562382 601701004 441847394 270219300 197071086 654214964 842807412 914680712 944133150 496527086 866043978 451830152 395748238 298554654 931016032 852422550 914435326 712988554 964668726 143480638 617078880 203045666 545949028 550193620 112394668 769627208 292522756 893619808 294351950 260629184 583166674 354504198 145583774 469312720 311748806 823260714 46072840 450715180 565644558 37754188 464299846 616210936 352928446 35495558 789336208 609755734 109326400 799529288 886110498 289763196 400307672 350077422 885877808 369604612 675557762 387077574 423242084 505724732 880842250 32749998 411240334 396787454 931176238 351227892 77001624 868437264 211282830 191193572 332400082 959675534 353061806 185176540 715959940 22674496 112309962 342285550 168485000 314645104 718658890 971069990 766373942 912748418 771883002 592076854 350822070 194308668 684778762 459314638 869153042 869804972 852468524 763085202 748570190 51205624 164668558 364584828 2805864 90116988 662570980 269190398 727470546 37763608 294735482 317712024 751393870 430617710 981554568 671313820 526570220 132345878 870625144 204734740 295872646 554063268 379054942 739138416 511060710 887402978 806709810 763525322 413209530 32051778 380364810 260024214 511081000 543385210 926314816 808295500 148978734 872198576 736293984 728547924 791749876 894520744 25095018 879192604 761650344 301880324 631958202 821928930 899760550 807606938 953487520 98208474 260048278 517878146 456852180 776622400 205188914 117948814 103523578 969055454 801030266 695038078 311083992 548080050 969865830 836355268 346106802 323037440 713787438 476363002 447810288 17575400 214847066 415714276 962699504 28258600 89331140 905528 933998402 573600448 286222044 484284430 774558792 409571896 488348320 992056994 332281534 912434714 84748254 660807148 825489840 823877356 357579212 989125702 726203402 966681562 575664728 902351226 557714902 78816914 914248986 229871094 840436932 905829886 651961786 947259904 674562516 130829254 349030964 375603532 317992006 177535676 405517132 234169856 226604196 715754420 520044610 670232850 532256048 83061156 219498550 256119192 50656210 825950324 724865170 931767184 736185088 75064174 660134134 518081600 993161176 129896890 911563970 635356558 554884656 186333628 944321986 204049880 69660356 323006654 279910876 664471210 963936290 841024426 587139816 441212106 399572016 849886066 333619408 553304032 611135334 760231238 487828084 688107146 260690540 837566186 654291636 791944486 318459012 126718048 818922898 178661062 87693158 563780714 864134024 855691988 429810686 902335220 898751654 685490374 48238644 198885454 28443494 389231874 245840630 457898498 102285412 345815482 891715860 101722764 394074172 821363716 602922178 551053782 61129762 225842766 730707656 930026390 222312634 424387192 141952444 759552594 378286856 463153918 346625438 415405584 166865738 854450992 349996214 288369732 165933866 397907822 39589110 432430322 968223326 255402284 353384840 534194902 874881204 229534662 274511066 942073980 71123394 539000880 660287084 590156676 978539210 107654866 760843256 815753638 706456528 478571732 733658532 900067870 964586664 428557364 302161450 403696120 986332258 694352364 901684796 619717560 39636376 868667480 629604360 575170070 295998196 141127678 431297992 913572724 631122284 147888520 809383692 528180858 995601654 380123718 704197990 69837674 804627538 962240020 423454352 708438904 682180134 838052128 154549550 14878528 194545952 916371434 727341196 488384108 480419378 620842650 409275616 517661626 497280018 2580692 348408682 590213234 755284308 467371654 747177040 847988564 821040530 301476922 750321616 110085786 922579880 341907154 481656780 108066436 210692056 709688100 619282636 325429830 684166272 785684876 19039302 403198808 804014646 992450562 22586266 575892966 313829272 46670188 428356556 445760430 990517720 997150286 306559392 369148328 431924738 872881046 186145414 872313488 915146598 821486192 451011068 865079848 531184792 829625450 849037932 855193960 435015922 809276350 638233082 502211648 233193084 91867834 589608324 325376854 175921792 428984090 76461734 891829602 511435546 975548250 712412654 945120436 687423914 736220804 537755216 843159552 330598348 779714958 627116012 894666310 139577066 487168384 35832714 492588222 162631562 997485300 312553138 366413284 497867814 88416164 171762966 530104322 5786196 350987742 759315338 611343792 692682428 506450950 722789934 884301990 506842024 570111096 161792876 586602814 714819324 91443532 821459472 802201974 957745988 807344354 110474432 242253200 241775340 103646054 127601944 984872200 115292630 824811868 416702502 673611876 409813618 487790516 893318306 880627876 826231000 12779550 196478640 848121562 402339256 372610546 723818050 767633666 861736850 450493500 974746444 19674006 523450038 388005472 700727040 144306066 84501258 423365076 556516514 246950326 309312772 109507098 509918368 283566036 635262278 897616396 76294788 308834446 627652784 226193404 104431852 885374102 11635386 236045846 49029120 350375146 375428162 997845448 387543266 256552620 910938528 196489916 951669382 47602104 9416600 22058492 39774350 850776342 103879158 272413444 141575950 208053452 425685138 643417306 876657900 480102202 240000608 842155964 291873992 740332422 637938382 914052282 258279938 374603960 318073710 635034404 402477870 957512842 439010722 523411732 748313466 947600462 663983926 843567122 354293256 358249368 39564446 788259438 881594958 717640062 8433132 510915188 808017450 609475564 699672084 182384306 77704262 706903048 445354918 249419344 369761200 106565094 599335300 198317706 840435298 131381760 598935740 523565166 276116788 14979034 467742858 644410968 756523106 365097492 230718666 452914214 308804854 956642348 334070264 455518914 950743952 300176742 8308994 877229722 41783168 260000990 6901532 897539792 642703528 912270764 894448480 424066902 185735408 481026436 588153646 45114436 479993858 297611704 683179780 126258776 300441832 171625188 929391540 161755526 695962706 982542682 521264124 359695192 92664226 66987044 627635340 318184954 576750394 8563938 449928428 30857716 441359392 128992782 946546434 360878286 686715062 753943720 985828774 482233072 615613678 944232894 181733438 757204020 231746334 793315036 229020758 177943350 403671402 562623648 232783012 536363210 595064314 514244856 164763234 506350174 340291248 286496644 200980046 199421068 578391940 545562198 6413666 63319888 2167572 903264844 718984048 549947480 403296942 176553328 48224558 620416064 599404922 894418510 888305870 886156932 921959868 805756612 47105770 768591968 160684202 345973364 782258040 662672166 168388730 46607092 681064292 760832774 579737670 334061140 404140314 318354018 347318700 675769406 679360986 756368506 113160264 550912778 703096418 626665746 336447922 914772832 269459006 296370354 591547898 933100868 394485320 256367756 377857990 395143874 882123410 705980654 766613378 580460836 946223856 624456542 692721968 15887746 849118584 11068578 340084488 267777994 503926232 363436656 776102174 336330368 713200936 816217770 527342026 597349654 123391318 227578226 735504058 270301248 311941290 92389664 592301908 105791430 407560718 835546954 380900724 731805450 205018244 930902622 984365556 757707196 808750542 51723380 531944488 692670704 722640738 298864638 545195738 114820002 932664066 969188156 695044934 41994064 39800296 831574342 34067904 980984466 980488550 301647846 594519784 786234780 252320248 405137998 16696778 653560548 578690074 824532924 540984772 315670500 757851338 796152300 840056544 557723448 236996128 869975658 6575034 346048230 542572642 703829614 263742144 725352814 293772268 140648718 497370702 320704646 776204276 679090368 63273266 335810532 849563924 23209094 586358606 633643214 789275266 826204536 103225862 65232034 467597562 641856110 988858348 665193082 771550058 578518778 861794032 516468482 817130834 507909100 901075970 782876804 974293408 277756234 201828064 737711542 796925322 122621292 674907174 741356366 70657326 641021452 39714240 568341554 705722980 581796776 327811712 741875032 779657180 415316658 850686862 774162538 648001964 478402058 886124264 80897820 881247564 968308142 933230716 722430790 811877768 589795624 583251158 880345012 607653218 957116558 356235938 980572506 886327444 894111088 473945216 599238590 815071554 258279998 75059428 405837178 303732996 118945562 962596788 113055046 288161728 396858932 347972734 997803838 786386084 928789702 942244198 149976380 157610772 39364594 922754540 286753376 54756774 958852282 66628862 695506140 18772694 843806922 410857982 418471988 989746570 171568238 231394624 40569920 677469382 461469146 598194810 788911172 279461196 893227084 328187428 357996248 808090296 476860490 509291476 504467026 646458098 171410006 457596820 926451154 37649774 61380216 571898850 250353798 859662868 797254002 752557296 449591822 634273848 747164242 858979558 444093570 76219306 743115898 833210222 61229402 623842216 559447048 446640332 472448638 869687352 850758452 163603582 67577010 830389260 982342474 680021512 49372000 972581804 141192654 693375914 19153742 698220368 528889620 295755288 843510756 384149024 605728168 67052232 815049176 264212348 857212442 184984624 664159448 179347398 44163652 480270852 767385528 307966834 392696560 608833178 836926160 83526782 401925758 958182906 302784638 658803984 143448378 328157142 225085626 395948774 766524260 704110180 765335982 686068552 175200746 270910996 410548022 532451972 367341704 25388008 494247706 457953836 922481692 175154872 941279814 27665388 702173942 125053674 352475650 264194740 799845726 797688502 614412614 929087534 932919038 52164710 974739144 257660522 204216336 858608286 276383572 543746126 166444774 82769716 119121418 399123518 567478336 433294620 421660952 658855592 112571614 912719484 730159994 504051172 695423348 491876714 544041262 701354064 743890466 399818486 660109898 253494200 612920066 414432310 908333694 871969136 205153502 557540028 942235300 803476452 967668718 431823522 19163248 887865146 569507608 852259328 884089834 556330776 298179284 419007368 68531104 746781182 611959190 322483840 418123652 397807154 480708152 602950176 506914220 63081050 267282178 868954148 823647906 37527650 89006040 872308170 603508628 417199554 741720854 449989016 359003324 497885540 62607886 293267762 47807138 63097396 977921020 322503424 529649962 494617270 248972800 82118820 462574588 463242710 462640384 339095228 723728530 819399964 199150944 362348482 488493768 346823410 304503154 435119148 960425748 206837858 670848478 108664330 293907364 931931024 108592736 625825908 830224464 257437406 679315506 342191288 776501458 776910804 981295686 637670794 392954922 772725428 753600614 891431676 136455384 127398760 954316606 403029982 126687834 507052628 979783196 500886420 868447822 773036120 105523024 868236416 691020918 654744374 39117796 230863922 300185778 115398652 127755454 870946738 933108308 800492712 853912214 57594656 908048712 28772630 65506278 269062400 207615230 586396066 429979966 632605446 566631152 27967022 57495904 206445542 5962256 202395380 592162746 79802352 241560862 218470752 148192984 511814868 109543728 243224364 712796036 960481248 77493050 575950132 265619932 104196150 520514494 291154522 440805720 652473668 981446990 862392072 843057048 674314566 257651992 832907980 16088416 785263348 414001272 935842546 350531236 564818258 764627162 887540248 812708798 672328298 867867926 21953670 643425812 180329236 923506010 335782570 57669740 68673672 367007788 101477290 725844696 686395702 528605766 230824344 941116760 414308340 386862792 896235478 945325420 242032522 44398744 17322314 917085066 656933196 831726412 827118976 99868978 972481726 373316350 61606712 889774734 91242470 210472694 183071848 799303832 227644734 547102182 968082782 891174648 644967312 996246920 177472280 59295424 156866104 852840416 540774034 494785060 96056648 893552490 839020166 441443350 766665718 135501826 104389862 80781806 545428048 793154502 233401464 42658974 57646592 102587718 197251918 81205764 215159564 545892854 224830642 420944154 683239640 284852270 18714666 716626094 912025228 267350598 967705472 716989536 472470710 109757038 640123686 129801210 585712832 901583940 4759700 721894336 950312912 956905816 587100770 338414094 254277328 854063974 508894208 473555632 695110416 647655060 115485550 575345412 187800106 161797588 172883960 268707926 520157022 201239420 11440210 334616318 731181906 713616740 610732070 982843192 134545316 352755584 870588072 88111332 942021352 809546558 854738908 191365308 908266604 492653820 829653298 115712924 311987050 201847366 37795146 801006528 904105952 667508556 308783076 357662516 364592516 129658274 214477056 820370918 793592018 400548170 62317014 774969914 590528036 158716630 527545350 585589422 114071516 853539976 618228874 556993116 855590824 786222752 100129082 264322010 52308348 443163938 774484320 743006504 836468840 593165128 657406950 38150218 954458390 346193154 90163086 789583140 852023024 866683058 517465322 598663670 268311252 543900096 855261332 633586724 706932230 197164978 926527654 574645534 112607398 774124822 192040858 170371050 702171860 322625870 81657654 461373664 216856904 148673106 236691898 328597546 534844526 166380442 65058784 21118202 860920850 890248660 909163990 455459736 22420558 373318580 27445924 808358452 223982884 775906248 18894594 394804806 187442400 481366992 992301900 423092714 853751982 156722382 29378074 900403820 982019196 332157012 352857512 88884270 97341152 547986530 374316990 943781332 34820104 988805468 890125414 969917538 853528736 480395698 341293934 903708398 973820608 768703316 111366028 209969684 38821682 184239286 121764288 452863176 45539548 846808664 178050280 631666880 6089266 411421418 889920184 10545322 756753744 786316952 401327310 458326902 231336036 650175736 927980414 632317890 246593468 923921782 669131804 5403762 713817794 235920742 2588656 576868042 883028716 916482920 797482898 533197340 775463418 336462308 797242512 584974922 1019960 312028096 92090846 373710630 514239072 724786136 785034192 519502780 310274308 422361444 416308644 995618246 59633158 995400728 745950172 64488984 485784020 95536604 889197058 337049084 275847592 302456940 221003360 441343226 623017826 580867286 386209056 433717398 201156552 577295662 157458826 861395478 794336004 668656790 658289242 861831372 199597610 909638162 972213704 932748166 13248906 475208378 887540654 223724126 168825958 199270746 993109296 257400566 648918546 612084984 607859224 472868528 280275424 206776730 126381146 414806650 216958866 431842150 236232636 836640444 996334284 86905602 975078356 342139314 45451848 672000720 467486308 91726424 161373106 796091590 160505138 145116870 532280722 878832464 650995638 926779618 702888224 933032284 899666726 476799854 726768386 827071072 500977916 58774176 923342046 27662664 302187012 191281134 624746808 990687838 239267678 294720934 336165700 463736806 590974022 445075846 382346360 416355380 830703270 366958558 611981188 370504668 601726174 588937094 505883644 199793400 171769544 540395304 961039054 984898 963572556 222430970 832729162 212570414 199671272 375577030 522429798 244439378 842713242 585452090 948687244 332331998 11781220 596869002 858191128 394487460 358963864 364487710 255510558 315048520 970357964 318845570 607149860 248094846 186007540 119064668 402556340 147728824 454306650 397220 561561308 119048198 705781516 599474866 440093464 884724394 72581444 401984830 34379220 4039688 653721536 34962044 483565624 294411534 374202232 43269706 739122650 679770236 20428244 112191302 250778384 328649050 66917440 654879390 515023818 690994788 859986838 667857022 549943614 390664714 744002036 303771788 886278548 38045960 8763096 768755978 995906550 260422356 258442672 627568002 727599786 309617134 130252106 124863072 143883438 199283164 62598534 494629332 386414992 650045438 798539248 458138808 833839340 486982130 673757714 468369288 138770938 510590632 165178778 263624976 767172978 519348052 160777834 829122626 242008800 447356726 568906156 171076006 699627438 747195326 665166978 593713706 910924862 281059472 207411806 254310614 921628140 413593296 665913374 283097544 354854648 265454692 57859666 603153760 94886474 514027490 371314882 96161466 613315862 386342918 252656232 76014260 78051914 856004614 857203326 695994438 875318246 997230798 818411062 677239584 150331608 35701042 237067064 254846020 638485500 797440952 57841064 231000698 188425738 489584486 581214488 985449222 467854024 652649790 819378316 395597518 341834938 415731404 322227668 957149378 714368326 197848088 618853572 97054606 47411372 824278370 693751598 606789642 778695216 108339560 474473480 62242088 787385464 9073316 138269878 536943862 726225078 919841138 328923850 670716608 649144016 998635816 501278858 377780956 624740062 851440554 194371506 486832914 187144534 855051000 785205730 613708318 95237344 233774982 525854468 574270932 779284836 966433650 637856326 890712126 485848242 232935194 377502532 174953142 4594000 737320050 787378650 113285224 785258486 141295686 471869594 27771212 277754080 78176104 350183928 13353734 415203812 551150742 287751952 975520020 531445816 737401530 253554218 292147676 665844310 212734110 485247232 560409404 411369242 835338312 211336954 183378532 827823820 488989458 33751996 789606740 108731110 702052774 913708896 947495170 999544012 175906198 156427674 23128770 518693642 846512302 966231518 936352724 909025166 394437448 820446026 249209650 913321884 998130768 725469924 643964542 55274724 713763742 954477098 543981716 73617598 952108434 488036664 251306370 19568134 491630166 164368752 562852494 56384936 549947936 331085152 676788568 692297572 484855490 578217532 565546800 119709946 6622286 918737302 355925240 864915688 180591972 861520042 302247694 846120304 194518902 507214660 516150008 892502072 677249366 610163246 709237516 500917706 180819584 137734780 906180134 372270472 405991918 309091482 99971960 791884450 288901288 568541670 955491008 403845568 620595022 340388128 892038196 833201832 745805292 324955634 627671602 116730592 524638994 683118350 673563876 558142448 470757442 84086532 104944260 944058144 730297214 167440718 882672792 858267812 317766484 812098330 833798066 535948416 719679068 17925356 723414114 821839484 866078622 567268550 614637998 377043048 928270724 282991826 469355254 630552896 253706790 70381802 210570934 174813056 244965324 641789746 744918258 757084696 189535546 456648362 730601520 182124634 946425050 528193830 990435392 820400282 104071158 429531146 440447442 875898568 174720752 553713890 302262910 958674034 370622776 539727832 819074042 689912174 115647948 9364060 873586498 563684934 973060774 439255036 477249378 436795648 476258806 375600120 812690900 995019414 59324256 630208736 754396390 299505754 333241034 196885328 807400304 236745868 742863844 357410452 148796286 298663750 147532354 949812726 862655306 849297986 210285538 824133122 645763792 133561894 597163540 917118246 963517268 586889586 87045534 111217200 537488910 758275536 39573184 22861542 87457426 566837070 774609390 652379460 195271352 775355164 471238802 413319864 61389358 489799760 609032268 221073694 853861108 850033318 241373880 923199804 586377532 148363674 689343012 688780070 833190440 70855884 357792374 702773646 731651394 657224530 445144532 247749474 412108716 286313582 292307758 939194744 307751028 508936158 555605890 774071226 72378418 30680882 914198402 340641678 546443598 482289362 661289986 287208 762964946 650894790 854243272 873175622 456140140 246464640 796913948 103435964 177432956 816404968 209237522 822473508 418598246 703451280 796460238 57013866 389529038 828488528 4532898 907611632 130045582 914283330 746810304 699683368 146810264 903866852 44801588 24781470 209479108 337714896 616776668 318867172 448192304 606628598 70005738 263512328 837556254 831705806 596359308 442703098 402460166 696856064 22181804 939733368 690485846 167165872 700105096 812399060 502511412 874911894 522839842 96514456 946232638 78209470 643790886 48280492 307916210 93837556 516713114 220350942 513413382 780018682 165693342 49502878 552346278 884932066 592578104 553263132 668482950 832628478 443323826 64163196 227138664 310572852 103373648 72289050 863232336 377343398 826406182 934633838 836176338 153704000 89494668 851066364 749466794 924864242 34860520 290496016 705440894 753797354 860342028 444774920 311188876 888911360 317125300 145350034 218705832 197584898 902111362 234642898 124089522 563162488 910284574 373843900 244173476 695131246 907928824 776885720 867326802 251680080 220482006 580609690 960969162 104754610 190615958 414441798 35316658 208381740 598143568 485773304 938407158 688729014 200987442 946520178 331889020 409556364 225363784 23304444 354154446 565348874 397619392 349313508 799646242 488046706 802971510 950523458 557392718 359168598 629048614 263362832 761270432 111872300 188923102 620381668 6022924 200544156 677895678 379116440 125637864 189189044 460812698 416702292 807858448 580748036 332128710 658302906 534811956 336673496 323096586 103747702 887714752 759944740 930463814 892555498 294596572 738260140 181111294 297327098 654135662 52648250 504714776 291783474 986110988 700922758 398969564 561299750 866386708 183155588 945554202 785419930 690327766 367642960 54183364 243170586 295203354 552892230 788267052 336540192 25309796 651852690 768333450 25276128 244215514 604100890 688211400 770287932 693432922 907111554 844470686 176570014 253075722 583982494 289189940 214440580 972985266 951967286 352761538 672115832 730228244 82236708 387953846 158301780 639381262 733293256 434107886 515804414 448958944 747661874 23912236 643786538 926718196 659897516 189283094 328874716 596273638 466221902 425260052 402767090 502954696 146958616 640676116 881303570 402346030 811846744 318191938 638331446 518549246 475203854 681855888 301710552 331930550 958856632 225462050 432567460 859371718 822816858 693241492 836672334 843145492 807135306 58794912 196178022 127066948 357753942 686356184 613672538 921343166 224544556 890762524 58908670 911594440 947733618 777940468 806907086 448258118 422716048 912503342 741134442 839536928 754348638 413032336 393607834 986139102 943125960 547540858 364852700 252612956 653316998 353515132 390582036 895846988 765379244 369193632 615199692 550334384 176460568 210751314 38882782 874300998 689727608 499986906 635397038 358290888 702701554 628715968 345331700 49753530 170439326 846658584 517065540 807907712 885513036 894425108 206120538 628226210 830947076 963199538 443389646 205909070 405632984 322467830 945280698 626276836 945182368 24792574 862205470 718830122 907248926 770172944 650780786 842131180 729219184 490363790 468963658 208433110 195722178 700246420 51085416 886257214 261274378 949986592 625910046 847871728 675370508 646805028 872733296 560678490 665700640 611320990 984017042 285490372 826678262 329493852 21232616 172865414 87214428 459112866 485524700 33096040 899427412 746349910 698222262 395704720 941794526 46686486 455576932 88078724 815916212 867943316 274611704 407075946 293281150 533617528 336020282 885471502 888388180 846882704 488539212 13511062 738508668 192604604 327606106 129204568 965441846 454545776 571667520 481850988 216090718 740371238 632778514 260116284 736627566 398840364 966173944 581212652 40694718 88773168 64341656 961316872 667625096 482032960 988193936 47606304 390918784 493598146 726533128 462968982 889060020 259586694 254004692 74982888 215789314 264874450 817268948 263858396 123580608 557829046 829570774 917958566 916637326 170688696 854574014 911507476 79408222 938978136 906903920 126279762 833117250 714725164 318500014 280158562 932183332 644706914 64054212 353941464 423181260 80073094 599698592 405539358 906702308 848544244 758839248 707944668 696691488 770855452 357887590 660006128 8038700 646199704 7973478 731441204 704122306 190658114 428596804 891940102 709886786 11925898 567905560 966052468 623012592 635403274 908204198 452307180 225638298 323321740 188119678 157398806 780820704 366691318 943962640 762341504 445125946 927815114 568588800 877987282 450242104 403466376 785823900 990025698 852862498 41993664 495356604 968939816 245735304 533630506 954860786 627474688 777856192 555895256 653103048 56811052 410030408 622144700 419277458 431783328 699657302 557564642 192906952 922770236 219274666 434311398 815626650 924957558 946756792 831345836 912018236 898858996 363188228 727989264 101473230 215670278 606677062 38594144 705141236 844329242 737371344 127917918 773902004 577888312 658994328 141281688 353996118 51257642 85965692 524621376 888815164 888608356 868286320 282899572 771761400 287046920 603126354 105461178 999363352 333808544 465267216 584653340 993734212 619587438 606867568 288591102 729673876 824392602 45854494 174957440 676699430 502471914 704304550 871683402 222531786 974603240 192334410 14212522 560065690 182113230 881465056 137268860 389225656 290490634 700210474 263762364 269769194 286773892 549504864 104197322 282377782 346739930 711186658 567726612 725342060 603403560 372418342 206355516 811234248 991361234 968543010 746168174 315251998 600602234 4857510 346628138 174436284 85253386 536109730 812984178 900456932 73500552 889448246 377356028 406326784 465010586 735266402 897348990 69511212 94207890 977206264 906731244 338566782 438592660 652454436 89931128 491908306 428935948 686849848 27033124 287931766 39428452 71086530 470466576 201323744 17294654 839519366 538095792 622904992 980188084 806642844 631267996 114596284 642104974 661014506 809239424 548470358 225373290 360446688 10715824 848920050 113348956 993665956 953980334 597073216 817840762 820895598 559755090 609147068 311963240 654513006 617160234 356345352 846812588 367791244 361906858 392000706 859383354 927931810 837929334 227982902 356304060 556887994 331034706 753793906 145306170 513553918 368593230 237924892 592512912 411234258 864094942 642152522 25196546 161191946 175218498 110975554 994547370 934525516 669306304 686369802 808027256 187986932 60355400 316105552 997967666 98014328 673448972 120500966 422878302 539758950 497428236 967089852 939352104 176477548 958946066 352333666 834578934 212421696 112401108 950961128 377070958 809709952 647813440 358895894 510666726 826765658 119631320 827260896 274012682 324921442 824923722 114340814 56883108 52116366 428354508 755995926 901512086 304047932 714831376 141498200 309769352 597500590 204669980 603270584 158568940 968845612 743315248 651119346 455370652 595013620 357710238 314841524 805013490 891332474 4974598 351501016 594519230 837927034 254229104 295303184 74875972 835591556 430547454 857950228 233164340 63937184 350331968 825686986 86110448 145908572 811132712 180838482 432716636 75163186 43727892 750338128 29618028 18219436 865778254 259826078 38690944 820039198 221084832 595665838 373579896 933745470 96559986 70383452 885546580 574488324 768426658 97047606 30262044 639754090 15471442 707320722 211638964 244504282 268757844 349174898 289827088 856523450 475924362 377059084 175629024 542391554 563638056 768753136 350681250 771493628 846567882 16641450 21592834 509452950 327636914 894233748 345577080 143476892 260205534 238655098 624508078 725486664 225142160 908674622 494399030 259602058 895015800 63927878 649489598 459551584 252291180 868683934 440043802 343595592 838871030 481251258 330463656 775772114 167340376 429348462 884070684 593445398 566039170 694191256 876457096 804482380 357032476 331031592 506455074 360156628 351368102 386629620 130669348 128194182 628336174 860215636 878419672 98516654 24308984 161037800 824886102 849478360 277576860 536555582 876814314 35489678 602063104 294120386 262263070 423276362 662789630 366380018 367992408 905780318 571041248 135637074 599858416 483713518 631626554 632502520 665153854 251660250 573324188 301008524 307763974 902444296 988926546 680890992 549480636 2304344 152115522 557979880 85556770 924432914 18293168 191914072 944468390 748150374 55187150 61187910 468652406 289172674 722465284 774014426 24549692 902558916 546094600 747969704 743268542 808580550 923918604 272258898 510052100 204748480 405906412 861661518 263849652 513285386 593948448 499460138 699618816 760741138 847934800 652432004 564371300 847192738 699319366 553320378 820370852 318355896 795109474 992941492 378585486 57443302 899333534 107139948 795734300 963212976 834489156 890054716 90438258 956831510 974118854 653839690 418912290 541962718 475088648 227853354 602543570 729896526 293726876 421376818 542957674 328729108 224011622 795297036 380151950 225389346 918546336 69116308 152393992 51924362 822042704 94532060 251922618 171089464 930333666 80712980 153704636 543382680 93789434 896886998 126741064 962703164 240724104 282591968 45046862 210643508 27882784 707787244 463684486 659666006 36673854 691242376 142883164 681026458 626542284 679998384 895228856 888127778 759815484 989766742 769458786 214049124 792184374 21232682 203914186 318799538 847025336 403332066 918065046 158209674 376198126 331541400 47718444 336808514 205451782 391256752 989074472 982262174 838874832 346250524 189776476 659144804 393209722 638345954 997563648 487243786 452370386 170280740 667907184 265781342 678474756 380509064 821080048 377121960 517396284 504622828 96131882 807409564 963110824 37449688 228449320 520934268 661071594 147616122 309419612 449140150 158672784 184513218 95916474 134886678 95457824 366528806 976243454 299650332 722175326 898091314 55641632 319759984 318149138 902137924 383631024 256524508 90179818 928058252 507565474 586186990 96947408 344142162 953453802 327313824 774543992 658975746 841850180 688493848 69284374 199954698 218234798 962535930 623147268 172716948 20856642 683182360 633437238 213985320 982795346 552774360 499414156 384018240 922357376 311154602 528039260 576464642 632039976 525131570 111437888 47941544 908368554 943512660 910932590 684074660 514915098 390722202 686187254 948158470 805021808 386541900 610470912 185539770 18477978 413115434 299084914 230022296 708771584 43313914 124538832 489620460 306470062 788749830 425211016 994051406 932120216 647105534 133570808 466883028 283055480 200380862 655253490 535180074 806388924 868730894 396735690 117080792 580708252 952058594 609061662 634663856 446856512 646107860 860147126 301321228 137951632 205105080 152571986 222062196 252038076 473484462 652094662 116056854 524816850 608772962 822858960 691822254 247425662 745865162 598774178 359208574 978144 200334610 790182058 458991244 84508084 720360056 667239906 491558788 374517956 85644950 217964958 23111400 432277478 611344260 193868128 895356342 681136210 386613736 336785838 142972636 130336758 515193972 69773554 201114098 495621668 990476212 268141724 947864662 166081512 924474640 980353686 695079586 675359680 296034202 63807170 201783964 933473932 722686866 267633078 557149170 118352864 375590292 941223164 801404750 428224032 29080412 760342846 54653098 245031672 304377252 635117816 723414628 165338678 850396332 443266208 429531340 303603330 552067576 656737390 265859244 895243578 939759218 897771386 645424032 893419866 254546122 881451966 375612804 893156716 302307588 157815112 129469756 965157212 516666636 878228054 588019246 931222922 471093588 671817414 609496162 35044610 364064130 452956500 192390322 370101450 363361494 211582570 325866894 580088670 469972062 226202322 409102768 148395436 75932416 910853766 898809220 811652978 828484504 382640040 854620630 398420206 854798558 322097120 983380238 385126820 682446188 899073154 705475534 93584956 602113130 154694302 407420078 455092282 213887180 881414318 837302704 177726300 530887588 350578508 604540418 916653656 161682962 952444146 678992402 191260674 909234882 930610064 502347774 788456122 240647692 997311356 323107758 482390986 688755870 527965300 215150314 541149142 373937324 886388674 966469854 250795310 636746446 432868924 925033718 833082198 177933838 530993382 197588916 363416906 966307198 172150038 300825580 820601462 416035620 102082844 623639278 614193240 140912708 989340466 474636744 288498742 281331234 405373174 974759784 701725930 967876464 159423634 517214480 811214148 566172196 126825122 668897264 433840040 153643380 988233194 61943302 260870154 242344704 740324292 618227340 803513612 158697414 735520066 877861574 30314372 425056604 686387224 689467134 371537072 206416768 655913088 87398090 881641998 762295348 878189718 663443404 997998908 440271570 546034518 941758982 363381458 960355478 390582892 289974574 914160274 955934992 44687276 965209120 453740736 58920634 865765648 844789722 917502070 448703266 600564320 149201416 145850438 988410182 289700496 453963622 406910274 948169642 944061002 757160166 548727106 927364116 722955140 493133744 706058280 658706222 971672044 232356194 925951254 290663358 956604834 588470100 238022482 558422574 267283672 904264640 778881150 924748672 856433924 778569298 600364048 147144068 440719104 225612072 913626274 306404756 567151088 384485456 594275560 869485200 398589896 217013782 763584728 577907550 358546056 661705854 720366422 830808388 71453466 866293920 138787870 80558960 598004546 829787692 210113216 363980512 83933652 450653006 579712732 395401580 550355580 255960772 990977508 655849052 390700488 200873974 256338592 921480092 748780740 834260946 424291902 583691948 804148036 232883114 693710744 954573668 317066040 717020884 569154116 212625108 794624152 300441858 713898244 48464492 523584966 74618312 396948306 576280612 678492892 100998144 980721212 475102104 267060820 413180896 898206774 914749074 872044362 129250272 579398762 453750250 628316794 588562860 180039808 37383504 817594204 490299988 683694472 906544906 534424416 357527146 769275862 311433476 426280734 596962900 25598266 666643572 690242048 90153908 185224256 821117400 367253512 706595316 591184504 30395442 443816304 702397242 562749986 437528288 971494740 88588654 783290486 10019708 856761938 227001986 770479116 567040434 900411216 378565644 973166348 264915594 676762150 760425056 483746248 540746024 530598194 395209078 418197362 79957364 145902164 787939124 734879236 565977028 56880722 708068620 340672082 192945810 890232268 390449706 359293738 344191788 797504890 938334956 971423184 184379486 720628182 329619424 697729894 411450444 830178156 243816052 241877578 660856488 911080840 285489016 497199006 34808118 183091334 401337980 197583672 728492286 569757254 881043234 903443574 477819374 94715624 157260840 331972878 692212832 646044842 813822010 718571920 43531458 485511228 652417596 635806256 278707502 464101748 858837984 316065566 18768152 677342188 385815966 779393574 150940240 817144550 847590616 662885038 141297990 907289272 969801160 807001674 900025102 632766118 409189782 914118966 900110476 397642548 537366908 937459944 363360676 553781212 883915828 553455882 642995954 414151662 176134322 257112006 847330992 372229876 859293828 783723868 872221474 796740978 315482904 89147150 358093362 713186386 920701496 665499184 36297082 874233824 740066702 761757774 817501638 671890480 760125624 284587616 254378972 537046670 164220034 198178622 269396104 735051710 897099872 546720374 856894058 346634368 278402502 778009588 351438006 779215576 139968844 196816378 970488034 696584032 528037644 374096052 721713338 859073990 72721890 463719600 804559990 540483060 237765456 814257428 943741800 686399184 569958920 948931174 615537726 799790514 638040160 387156148 897885380 40225326 112062762 274858790 754251292 4329868 529541602 43016568 116169936 193284812 557404274 817787880 800507660 664268020 986265708 785496358 42133382 696832134 951919582 96808854 670900618 749320464 388423964 116542188 459325848 838787666 987558842 592046624 556852686 73644510 253366662 351610268 195230444 651899354 875826224 427958278 149157426 552365846 328934016 124726702 377534504 171564280 436967814 244182926 324119450 935539076 885021304 68771412 748303400 854281144 514711686 311481184 845807284 594496008 768102778 8024502 793036934 21358912 794349204 662264736 841388348 967237020 251279730 69706238 745821910 933899784 459869274 284022892 278638284 223859396 577854710 487597028 592684128 747223508 323012196 742217756 36642196 905784076 923950466 244102386 271032136 650612702 880780576 940874326 559395778 935959372 417310346 320943004 477049688 940524912 778592600 402907080 227390182 480758660 773399400 832554036 597870896 67514004 234103676 253730124 30697936 285562020 9990934 960989842 787009862 80709100 365285260 89155440 444572908 650284804 707797904 296071568 574211302 247134422 635028374 717838602 154784514 259142352 135415666 191943072 694936650 920136424 697066608 899761508 743112078 430865136 188279646 987387218 598585468 113123476 547356406 905102232 27797228 449459584 346416008 668304946 974304190 634938838 465777958 735655158 52088486 845755584 151037112 769068944 466406292 556358420 913159788 337944636 694418328 184139458 354119652 12252322 952528976 582271648 910213214 784153796 904628890 74929336 405416566 110913554 48779820 767332146 804565920 420400896 398962278 217813600 170175346 414545658 278117460 742861962 934917022 898001344 452524594 172379668 746270252 671661730 500465336 460636734 815614996 985696716 31691830 522423440 732048748 748199716 544926798 990646570 479909896 593709308 821535180 860825572 570027508 568165994 301009972 123834198 213263700 743788186 972563500 746506946 471667784 69290818 79460160 675446774 930260574 674584680 406884690 59936290 166291374 549957182 37350144 796006544 975296620 621184078 42064822 11763396 74094602 766307464 523352994 30638736 999958192 21584910 996045784 165254014 859203388 668289436 125013248 783728288 495063402 20657348 118992832 304157502 593216410 272318840 267972376 215793506 171664312 745629722 431152202 786978192 52436096 80779884 415527666 241756274 515568914 949122698 96104478 109981052 764286272 353337168 953719170 300749626 897569764 53587084 154724070 172753990 345816510 611705286 121516094 544306550 188730008 620210156 322324 613420086 717570316 832049640 771116302 821223222 779301978 320547216 458181552 301715338 927837066 212925402 962109080 361150374 828523082 32481974 259931662 43155074 217601012 282610408 622614146 51893920 548836742 322516402 154789008 429700544 752992498 511897292 526314100 68050378 844397058 327027640 882020286 84362574 38212946 889196342 787781804 487144346 793492410 572608518 916071800 786043424 483700938 190060810 383791160 806959514 576750796 331511298 31222336 476971626 308377818 577627032 324445094 124730178 650786522 539227194 605305100 784969168 721530886 838409416 994558798 78264016 806685994 973239894 863244020 550363304 995915876 857179556 587261530 968115066 582996772 64254138 949323158 456769768 959508764 7942436 144286294 982789108 6758518 501694610 57509732 599785730 107693930 499191656 573978628 941641740 987854220 862441944 907490380 213714958 18216804 517533800 420307602 583147932 569134766 7399118 271645966 876695562 494915470 581320428 703270054 16918236 792474878 732116344 492751980 728222996 47802744 301221500 94106612 424020046 200595028 366980110 944264518 78953596 883565186 815876538 81997748 957193886 47509604 785744666 331840026 446261150 399728764 796114538 343508272 568775730 537659322 144213324 141718468 961478188 196346210 325123212 123326538 614270352 156389160 700641308 663869912 274344208 566234216 140742468 69543614 921894266 994670290 373466272 747459466 615610786 498825844 308419994 908577422 808232146 940117550 463620934 795475112 441370366 546979848 53065946 879433298 151088768 891242872 788407164 30405860 489272238 201946262 701636856 125400124 264776024 402686652 310886036 507729574 57879694 879622324 183307930 81717772 888985576 560452298 801474318 147940652 6117138 854157406 610466040 688887522 739909748 635168730 806895644 816276578 506194620 214007284 294791334 412740098 902582024 775704554 575155184 140169432 554729278 252805574 887569040 596564128 323416140 312369060 903471404 733572210 321903362 517216402 295660346 112991278 645590548 781313586 162354670 796885970 12798998 739808178 809742000 189981182 205480228 243243180 962161068 272670098 122732356 133738454 14663520 522446732 626996394 530095798 94123602 871640276 411729398 573282808 879529172 345503714 721225572 607704806 97233120 258052358 790232096 597119316 351645044 878388364 184524200 436538660 798872998 841268220 471262456 156216378 437414320 580372058 513874462 710268628 137389560 888721126 343842944 877710796 874865448 807899086 806900250 551983606 373023988 723040706 691422764 653135452 997312126 978341608 372777420 595181112 285098986 998765062 781937842 439091214 401768292 332254412 683248398 562700568 522953382 545378082 998830252 893269198 766991230 535076938 330620128 272800696 579288868 296194698 150664798 535516354 287712270 501970388 450460490 416056462 761866442 746057894 131709786 339196784 903392454 2701410 794654164 904515928 954420272 735528598 113092006 420790058 474818958 129495300 314535864 451246518 578167502 735291128 200728140 802963670 823336418 329782432 373964936 93307678 135955612 627440940 817960762 70354968 193687198 841094704 532471474 912724216 973100858 774334622 455202076 766706102 470405210 541227966 764879916 471690606 228717276 559643184 547170212 746598826 436234340 535749288 638286804 567045978 542530990 424849464 277554702 744956762 365607596 542374790 601925952 28736938 814934684 660544892 611032880 566661658 215134334 889004790 409308902 94645232 576046488 677721900 877153024 483748762 896835414 418086808 559901320 681474614 530185220 910584248 703349332 132643402 653626942 353477384 927370872 181779194 245124320 931059410 358645276 481923924 365893020 947579548 730908312 634184708 611509874 958372288 195426056 249767138 787480342 108386612 485696256 426720714 569504310 20492948 731470784 606229964 57226978 644653050 351060550 25576800 549069118 301325632 567979716 595277612 78793870 959312772 695538688 307955230 995864538 48327380 960341660 78948932 230992808 854294254 971008762 26147724 674261762 969945036 980657008 119744812 994869210 379956326 395003842 784659600 843423530 876955272 419383336 870236032 71711884 542961798 925814334 352960562 66381034 616482072 714658410 849025388 279534656 502027748 634950202 919870384 648648358 144199708 514695192 318832224 373062796 314098244 733150170 620555868 12462642 531006192 25167308 569652484 6336766 606877880 501615954 793488680 872409640 748435974 57203284 411799840 303033286 823696368 395983122 365689784 749958342 293566098 846370486 20309148 129159150 62872788 185766600 47837618 763233038 377372868 954914002 901953704 916217904 721544604 864363836 314081866 372464724 577665800 654606772 387764362 597575274 89119776 692916318 819564864 518981520 295803800 982164460 477087540 253050076 909165756 385915064 480930424 253245472 741442256 870550080 554330480 53031586 912517008 609773538 630759950 646627692 979855144 158298190 753790608 501830814 836248136 826640820 882093336 784883686 947146818 386444360 645595356 346171282 516186252 232747120 363870926 795554280 547718102 406739340 735219024 605628264 6834200 916145748 116258100 851724706 120749142 358131700 143524796 466130498 237476110 373551224 836097412 918486936 69370110 676699258 334664718 641949516 337309012 978082546 291869450 74695826 905009140 644446816 606031798 547965668 424564082 803248460 758034710 162945750 164111984 968249968 431283122 296462146 481444 775890058 964089776 265049542 485705206 469411142 647817976 870392694 447109018 61886276 85757052 153177340 339218984 523723788 372795554 85955446 663166800 819642970 352500952 724385688 274964844 8170960 82488612 32895190 916483232 713597178 70708874 645545120 276056244 940356924 267340866 330228186 595811070 29399580 235310978 479897308 786080374 612623878 621662198 520104638 211822028 741283952 959441858 125019062 245892478 190174684 978708446 729058596 581494084 976098220 624594036 673212938 827913362 258605632 952444562 664734558 713850896 163395892 121648148 915093204 143837982 381251440 346996318 126470642 766688352 585887556 157351020 489012494 504835198 516912114 883200720 420957204 636064524 48790582 23107694 152265290 948787170 836861556 601931290 266031420 228577530 527972744 228287798 119292504 600272546 566012542 459719866 150385358 751928532 664044108 10786754 863878724 593311772 748657122 510239564 703046498 885278634 111493046 684755184 631331300 526091528 973993190 712818324 885552648 724162390 777055392 607228590 745856650 826886676 637017346 498588426 454983706 815306372 905231002 634156366 134533560 239239482 697873558 773879730 173327064 935178890 89494994 568862272 232584870 895527874 499767856 245254472 206338970 609019708 566442802 865936936 853068722 406480620 457286922 724581034 516989436 869277834 366665712 104876550 216359898 282383144 563501976 705661288 148398798 363694640 881216986 142740980 102522588 976853034 917561860 259748902 788381926 199981978 297153528 2659328 190038208 749243664 217282024 593538454 667073160 361852052 954710086 439677754 54395720 942932850 446965994 709506772 497222060 365111090 116000442 271446672 85973534 467896744 59704342 925200288 243038348 369095276 874046610 205829250 634227268 755799040 301589694 273563986 125442752 53661868 147964168 437640806 991724358 410405868 674191410 916698036 587409132 703335346 51786310 32750664 596192394 318942202 937104908 555551274 245764440 667028774 588381270 448564226 83780074 599035724 910419946 880075698 395598370 490854082 274345932 441136248 549361914 168615816 605516464 605804598 415852770 597616242 208305066 83141360 568183478 477228890 966368040 382856652 521347000 99632362 297258068 647119578 773902738 913292682 642512608 801125104 293525710 618199860 111095854 282521766 555386996 738495464 483029658 623724856 224561968 709773204 625747868 164122092 915081008 282734434 307225976 900043374 704780000 750379112 893065382 461128472 534617776 587859844 893317172 700687144 955761564 744371244 658089728 335519080 789138802 900746492 972826366 329342064 724693412 934951538 930601042 774869574 346200612 779549200 345845410 852128704 876655278 560737428 913043988 10171524 970465064 36201870 773015500 652948650 616731830 595631766 571052294 102357058 581853924 804038084 570814324 447702148 546538888 427918616 799942828 903379992 434073772 795133298 63933852 520117378 48204588 130046314 553428654 968089720 487715420 72613604 981005796 55441578 375806362 838431906 332886576 435742392 643170408 770873674 715397056 73868978 352911160 12966180 984132754 193842486 720605392 749494724 432261994 591654286 659530334 968418246 336678300 345566410 560973418 997346736 673164908 576031094 236116180 427761102 48494850 811858632 293420282 939116644 227411210 615241492 546974864 167371128 193626826 577294014 278575876 22732596 23877738 286456818 219982194 297772514 269550498 88593342 681081420 537678476 988432832 992143176 128732922 188270680 345360436 901487114 461636342 338704440 289615738 580324980 456887300 786037488 828740400 596773172 573370946 870433908 449553106 131570508 645904788 585210946 282504142 348922882 724615414 189082154 930913402 552450158 982706368 96955370 216762458 304176322 343671200 984327894 377080588 595040254 404741852 978880858 454037710 805118788 933412650 652790296 794685848 342131794 418702464 903568148 361140766 532953534 997827328 789808478 897359138 949908232 883629296 149728544 397099322 90752678 80582628 772705008 838230342 900925482 293835002 660436258 55100938 731684086 77485356 665010208 10704896 258977176 718537594 606207074 643822508 463107080 217909694 82065688 745718822 575367872 133422958 237488458 475119520 703719126 739455318 718232200 328862144 503682126 975227396 572732140 466857748 438738532 341228864 233384410 243936226 553700394 900222994 809632930 177554998 334119184 835147444 355525048 158925300 320249626 874658638 12257374 347412462 851603998 878494950 856062164 501390296 956594684 739960260 749597624 800097938 637638860 674658714 957463478 18953414 814759804 921006138 324968234 102106462 251215456 970157198 25712136 818695780 159991128 28363210 761332588 678578602 2176074 945175174 710046994 307076346 574745228 562094728 881795760 571863668 841475130 749742306 827918112 849617218 141606094 954941220 132494672 747517002 292876140 778020972 861021088 246540746 632244350 745867034 162240854 130101404 371496070 179723438 286210662 650899800 362097970 724501096 317720788 468279566 452152116 878286522 605334046 528043262 299364986 362185858 208891822 290469654 178519022 190143288 653990252 521259424 369450176 542895660 37943718 593107192 418700826 213752734 140191628 785445850 494326102 118182918 219578260 703309986 455545890 857615916 608181854 605728638 312950594 977209820 839454774 663121542 649912412 701794310 184577296 899830582 433478256 270053832 714718776 506561054 521014712 496404348 54325828 901118922 500768284 582593658 616880090 519977990 750372554 19887204 38536108 639322478 384349858 622219414 252370422 677340902 98778156 274385784 776791406 925601004 211124368 973830930 275481006 233168018 997970484 672595718 322505074 509012826 900525156 283789310 216670000 239777848 900575258 298534860 524745214 664631118 71468680 108455822 754328234 999558622 342077540 217291552 67620638 629333004 106536804 203695196 17611452 541722196 391852552 979357680 969452824 814974978 186770692 142053408 563737764 640544350 615024864 68869186 728790094 568122144 131646092 344595324 63720964 650936524 829680052 334153558 463897126 109467818 636018418 819719020 872367056 97646794 380321668 962901234 970984680 394119756 117462288 459767326 341720482 705823724 974807342 733897544 359588862 429110378 275273858 217838550 786056284 291342624 437271852 162460204 20068164 671046970 953373006 136512642 498993144 390405448 973066674 156862752 352286176 811886290 84076238 75032480 106074312 43865236 764627344 419888636 451225170 365795202 583719690 645950974 175392674 293540348 726859016 999622600 899813556 415095456 285617508 716722262 33714368 523081598 502400768 454090992 829897916 555139892 582391800 969683736 706802376 269132298 148056700 228612812 295946098 723677462 1348318 5136292 308112960 309878958 10882436 509478562 732545946 559374932 364692260 237981326 553629634 266909066 585879590 253159398 597208274 406869902 10790268 394241438 338693946 692414456 535728746 522756638 863799606 659475170 59393842 60128330 526314608 306254514 515313412 849625976 146493772 447024720 712250650 731101070 242239444 853970390 717964776 351393668 702365920 761400150 844479466 241592144 668154304 909599964 703047256 134273202 329266828 869110402 602996794 684473176 317685108 184340572 968558850 537583186 758776878 353901568 862348134 547008270 169524954 137167504 750390264 437182688 899790258 938950608 504669934 882613202 449701214 103061380 683723400 467415712 289540634 527815022 971548414 440507560 961442292 263819548 821589180 725769004 765985688 429948314 687284224 397209960 759075146 886132878 70475138 563157474 601112582 299866762 539879918 370984268 290193214 271673412 179702978 681282894 579246046 989890614 462087608 217633308 302504658 458153618 71422082 796295668 739971340 703752434 700252634 72511682 821834454 964893546 54129830 429744374 271577032 488106438 513109654 136841028 199061738 733792588 704741520 718199386 42610408 236641716 703939096 385582074 298310160 547917632 634019942 44982004 277108338 689297110 655577674 649620036 755740302 273985944 235966912 120958548 461771536 116458544 127262700 619412726 916410954 417304976 252787200 944631582 767001478 808575934 394941956 598108722 758496018 444747908 773883036 831983568 875270246 988959272 553294404 716183330 60648038 691302484 93372876 211899780 178049086 766024302 405653966 614656626 60770144 713472672 230430450 48556472 695471496 487580026 233265984 594507078 827130334 764787874 179022652 941923396 932446058 739345544 767050062 616604872 712443138 520242428 534350214 405578572 187116254 810410064 745890114 737390832 403742644 454553580 419651512 717879302 438146962 602186412 890885972 17678628 965153160 400385530 447951426 806058500 681972254 825907654 179608652 82689404 28423792 759902512 893394972 370190576 512685410 94738196 731895250 420752792 717432892 243670986 557862226 430573898 897285790 822898288 553955178 28506612 564589826 363055346 979762474 920539660 33064824 979149354 942801156 976902770 118785872 422992098 939743088 726564366 442050624 830725020 108968944 890019842 97798912 374119964 495686992 203886418 102941730 264349748 586052304 280884830 747311324 801185852 775704720 646312200 109290586 557470724 181282350 717188232 184689000 26140022 143569138 841473224 378260340 926989612 134550962 620854598 742866756 236591756 987008120 382880926 312698188 486173110 345803918 723824950 507012144 647739470 749314458 510615470 449787322 690778872 552929662 250191894 583450602 6062082 968940102 75728510 240498940 578100390 104759162 476607270 102914212 687084050 551770694 190583948 385607858 413606372 940010212 587131232 95594288 557853640 966617272 850192322 64612956 6571396 804521228 741589748 837131176 302337712 779772278 945896140 278684942 972013186 479913234 502608746 511757870 438961530 407098626 927302648 191069014 417111020 163815582 441476332 316794586 959932392 583172938 708305880 142582542 869298970 188734188 115422054 980919972 3809418 785419382 885504766 855156350 452534206 696186496 316534612 319853388 638648420 141871862 177219210 538010756 310583974 182772960 453159804 38622646 819112390 989390780 508200770 313219668 214430642 923706782 803788710 691711416 785101636 451344672 472829294 732133442 213865672 680991704 607922896 104361966 736337212 752472616 118237926 825895062 937157092 855699042 579954714 330726666 682066696 97381430 627154438 849292380 631422236 340239722 867429030 774347506 252363686 17399286 737914200 714164652 481793410 554422464 564446114 992747352 892233818 623926222 608610238 890115858 376722464 405973402 176196460 446247166 404013258 905564036 955115242 614823532 172148426 452957904 844622364 498650658 931328520 883884378 954288650 976969354 666816338 88265926 247542864 487082124 97614152 994116932 39649164 424910518 672008396 402414006 98329208 856842740 246860984 965154162 615348468 232865082 418103124 801545046 514872702 522839598 380405150 659797280 687665324 74801492 862531530 109499232 875249894 385519428 431936312 602012046 11058584 807498296 594217868 640631890 514010844 121764878 965012736 354958206 682742976 157030538 397001146 661059404 478296072 254368036 302720668 957736720 247719658 752323424 696576134 518616082 58685644 546950232 329205112 432783064 338138714 715207708 895402550 50396820 932495710 165999474 829207318 438433774 877672596 518348474 408275004 104756036 906886496 950836092 985900260 668215928 101683060 837753662 196609524 549888928 301118030 365084888 942159828 413561304 631721022 407811070 125755684 869408732 759394560 619080546 718587720 378410870 902520218 337287508 743279166 793270224 74096300 379251134 178739940 213009078 484050840 515426574 951139908 534118468 777492368 9797656 188312216 615926906 491055040 963225674 506771262 195588386 18030710 545979204 464907134 717321710 602431188 26759828 887978856 914030056 275583864 729914948 417012284 647842344 703290280 46083286 854479456 499712352 345978432 407085594 361565256 5290486 801864384 720874014 969121928 928399030 88162112 458464576 426839852 369739140 128436472 754201854 485199380 960424882 37318294 944262992 61531934 311488148 811709246 916141814 439068662 341142180 664400314 170919974 124490548 856135820 60066568 214267406 956087468 293818610 144458642 927599272 802022058 247835978 845871668 643908684 881545756 448206232 515157746 9972008 510372916 525909158 886254918 888704414 959911882 790195046 8412344 278785590 411809004 946487042 599009656 934425880 958468030 49783724 413235478 354602784 14257366 750940424 47972074 983624156 579843010 370042360 923117338 270341184 977593632 563250162 935942424 409850934 394576182 266015188 407023332 554986028 149524614 704812796 846529278 278318900 33357578 332112464 266650584 678773014 173647446 645721252 925764698 302533330 426665544 262600914 151120782 731954958 990721798 71622090 957738396 432597628 924372700 327193988 280443830 284471374 616832964 120455952 628409332 375031620 211102716 401500270 133168342 856347816 514097588 759913046 788298162 360117102 302822330 223782364 672453332 996200284 105593156 425372746 533275116 118622808 285867770 976345986 42513104 500732610 888309332 884700426 852452806 542624666 912040872 706019598 366529448 678458346 948334234 377634438 804775324 644785598 933734044 864320650 140510526 881436832 73302362 658107158 300288484 929833034 743297256 859997198 512015960 523635086 880055184 509276806 962860492 546348364 819699900 837775564 930507026 314455806 773187314 557047086 637253974 525894128 353455536 62334796 155040472 660406034 313182082 890242350 54811040 455798904 744013550 366463294 118315364 310393162 475426814 357531204 259697274 208048340 201855492 879144442 908856042 863781616 942848978 333706510 937393458 68779032 908563344 675729070 314002422 532661032 458071264 764347252 214660236 570130234 99004508 175534048 369277114 453161786 36620776 906845786 831101452 290589462 259545458 725893788 596227342 160328294 745428368 501485350 245041244 245738974 157530720 730475086 549095264 664888140 269543160 426938194 28264236 577783746 453110696 12830018 254167906 771783202 286094454 173034344 532513500 412017920 299556646 91055364 800598674 440903978 73266544 45814642 382449052 45128016 52998974 458587588 718701852 387648756 951971188 267663274 859499068 433289084 47149204 759092632 689493794 77860748 525183740 484020720 811177332 597281812 114133386 426341774 458814952 175065958 441899254 150080568 2266770 53411042 540434080 256810900 740743186 381975070 962450712 818493636 415265058 945885740 706667544 394813138 722724720 672478274 179280834 643365466 683055416 270234784 937346438 740458516 222812784 890995768 175920686 57825166 350882180 699603196 920364550 805826918 465509770 134666322 682815048 13114426 261946266 122125434 16929476 317307642 725787876 779112786 758413820 233818016 680068652 186494100 160250354 185395186 591348406 220508470 60180542 281281260 157202680 135143312 36821012 829286228 771032716 392700272 613875092 603144958 898942158 631959790 909493522 542780362 565736030 324816224 294669802 82385808 813894582 851106354 586698246 370973700 453290854 574427314 239690688 909054464 569716756 529412280 502452328 3765828 353907020 218351688 164563894 868803428 861966408 770375032 326670862 410010828 535989674 514871040 761921178 404494372 808188490 689031362 207685506 220105896 854005820 533227622 189259040 24984814 269876966 163157080 53066286 54032634 765094320 592295164 690688362 380475256 738666320 424731212 156460298 696948050 83821036 517173900 168817944 418305314 726998476 505802316 934458312 319653570 118623162 274809152 900466436 949277976 712633402 986542980 302211066 547707380 106154080 380967840 289880626 799600312 727959178 310025750 647145414 571508282 860459316 876962654 808212324 468725056 365311432 399208714 476203870 292267622 36506962 322702378 28985694 947647648 986399002 929993380 913746446 897818494 632571616 530285374 493783240 129559644 499387518 327006368 771967902 663651700 589606808 4664578 223197024 480788948 934523758 93228844 534784666 774546482 941466222 810558352 81625614 286636176 464782764 706034584 923185012 113479614 627524218 795184608 82298380 402070688 876683056 311364272 868018138 139572248 144023966 441112580 88867736 400505754 389699888 837494418 332278858 909548582 145390480 785027816 329561704 28323148 612601682 750898078 524423260 226860872 318359056 573686200 523964462 6014216 596207098 465521758 450106628 730308748 155960768 568757274 189668842 25602748 141950764 916176868 44082572 225490856 730529516 779288718 659627308 931556506 472234818 407753288 944809966 853555114 680342190 610342878 50512528 609387384 376128564 803395522 284872178 3312228 48393352 653845520 137865370 185605318 581113506 155243964 276283336 223776022 453510656 432401238 302074816 710581602 966508838 528564040 39084296 784423976 756450218 39477372 128437172 34651734 367493910 540609192 485066154 946953844 806290612 21610326 243467034 25751648 567214870 854976518 456679920 19313514 366061856 941827034 753887230 24755364 636228190 820711674 124163890 36865914 884508062 279033750 712936710 55192898 701590294 29392922 273306028 747839140 697115730 488285444 115934538 874667688 43980710 241826262 36637154 154655772 687545934 204162470 573674476 669676650 69435006 943571474 391373906 656676560 214151970 856548688 296911362 829566054 627029670 403204422 920569242 108529978 141527046 935663536 733801394 50978180 273880718 385328980 675425908 507473426 447038754 546620264 682030864 99263896 188723638 379451900 810641170 695452422 493658962 466018052 973923304 486236298 153744098 226324954 945352120 818462662 220131692 210984752 723336788 349644132 448303676 663371024 671111844 586165216 342194782 963282906 646538998 276468186 835387340 899213928 587137484 581161918 968659536 1272622 470301500 139525276 38910592 630554198 341681602 562634424 327907144 343571090 433182628 957798044 607731176 831450190 482083764 125106012 821600324 508224274 587661224 724891588 670199836 171075252 1222314 415551370 217292832 980762198 242931820 900071020 959333048 437972518 801592792 443514022 493354678 779775362 778067236 889865210 603211752 51105614 696460396 297006648 996017760 253262154 511095300 675937822 636321576 690874338 804189720 550552342 505633676 489342160 997240256 289199852 695143018 810284088 522214138 948216710 108697214 383161874 360253126 454993502 467529972 752975256 932873350 507706012 316703848 357325578 189751462 975904614 260853314 788065574 639065650 643601650 941206562 676169328 80751082 720515860 830818732 593713998 813468662 76410014 491406294 569740402 275647516 780199236 857729750 172426188 251414668 777041446 460338540 40835324 607277888 155999460 209655474 21815342 386542398 203917398 70067328 386631006 256554168 796478110 562134380 280879142 203782078 316048256 672820366 947868332 452772190 810785678 335243734 472760188 449530140 999603254 914751054 569253066 158370556 408590264 715640478 273912414 10992874 786451970 642825496 565995200 533570540 323239224 59754446 212445704 362824828 533494208 587931470 238833144 998486078 852580600 465397554 341944616 353534010 686048068 388089498 475786536 124639062 320272840 935688862 372769908 253625422 360201814 194817308 604421230 495757452 942809510 2429834 315785344 148855246 124119130 861022974 463561988 83619150 961967162 831026226 210431916 50802996 960963522 594010312 446931818 151641524 769715600 512754194 555545312 649475060 554296664 942158800 121362398 913422478 807280204 257326258 374847958 43737408 336936070 813023730 390968680 21083418 28214948 670678844 225829256 224549304 667770502 165097380 753010114 252996722 474030856 526952768 239968792 383836596 408931246 88540832 715747206 383156828 221235060 112923304 16142608 749219752 230367650 993977802 208955106 913553708 611054720 527370040 185342232 807480786 833144094 445061636 355532496 665183796 754479868 296530970 14706852 879359600 847688548 362553430 535834540 309934498 934729766 499657694 265687744 468413296 275180266 900383634 613688412 108759956 740149386 828935174 275561942 82985794 683030134 928369470 901451400 353492158 404044488 831058488 268669910 921258266 632860096 104044932 104632004 684529858 20646526 81163930 109624872 311672898 596250970 627860642 466102784 433919376 146478958 968181628 294871664 525990442 649117818 488842272 143491002 764608454 841994318 123727310 651562640 575469266 832765084 714260698 829778940 664889940 612654974 677183072 563390316 367458204 842333220 791879288 924712944 12812784 591487568 272889624 162216588 228070238 906885686 35093842 662190038 514367336 488038500 874566330 434993752 907321646 192778766 596731034 74426 414300790 97506228 669599868 872165042 905368894 754774442 743661034 308301742 269274746 528771584 280551822 489947500 65589198 102995562 932165744 305902044 803543500 730290764 993215402 862841548 632562252 930717332 713719932 170778576 288658138 301391964 266035134 77714622 62873658 434123582 964332380 47178260 845303714 174492934 422880920 904170128 363356118 59359358 477260878 844021800 228502446 941054204 101037162 441005578 905149854 590152504 846159312 619555690 941848052 529190962 376056156 52836966 606458598 478642678 205827840 920273248 645559384 598641532 146618430 423366080 554788238 174230846 769832446 432301398 686996098 314021776 795193048 999440 591649532 781059170 201830202 36010436 511490144 663077778 93276216 389866460 873048414 732211384 27555160 249513006 619830498 737293952 305933700 337196422 911181424 788907794 294939906 948052110 151574810 891714954 223531210 465421162 593387888 146886282 240259874 124947262 561881924 247206832 94409658 781068710 240363956 544303406 347331368 117372978 421025224 340037412 324620742 152973712 338420476 512230696 956433858 633841616 995474424 667567074 873152970 359126610 555502528 193582758 424893270 594818612 864816884 940941050 791561602 74243432 880009038 754844580 580888804 928544380 54433996 822691042 897542588 475154844 461418774 244106378 73095204 157538978 165451226 786279194 544989456 645144462 728302850 551345836 663217266 595617784 427925266 220302216 142670524 404079464 189912444 528765096 453894600 490915520 570091474 130916926 882961206 858567346 954991982 773192780 605835562 64559892 423666394 493710200 917233748 498508920 968399776 613137992 49784812 312379304 774444396 982615064 434338996 742748392 788605532 773931470 435407250 289986942 346930138 436820598 14877450 489981014 496353072 156334262 402470806 553244020 189257652 225636084 722110388 383248484 393699894 732426256 816661754 44137346 113950546 627517020 343973622 204483796 776133600 88840198 374640974 138474732 523593420 867693352 580216942 655647440 934904144 513363026 423221940 180247976 396112816 672135890 397980658 593961206 578128132 996852752 431167328 414406092 77379834 226499796 702092006 386023692 816522112 398168548 781022976 726020964 899404860 286386684 719145492 474211000 27988696 799209748 759052704 643705968 332904044 287351396 769007120 105754930 636401562 670334456 995242602 644833182 201446468 166222874 636968610 694620502 318966660 106398182 171880832 757610240 600122340 209025224 834898058 742729394 613760296 878182882 962927910 473175244 258615928 218982862 323112276 170047378 546933984 434373310 498588256 287652120 211036664 143359818 466139286 657294892 38596904 823078404 313380782 64786976 60688902 672614236 273562506 469892574 393537186 961412350 519135686 806881370 787275262 608486056 116317002 778746980 990488736 391261700 786006882 13276094 896330466 430824918 362130872 207396114 862366878 418792050 11657534 381178614 530821290 410665976 363470326 424228328 704620896 765080244 230497518 255919232 746712314 89226716 797385518 677297524 453194638 476267840 200259392 651225974 160003032 939912856 958576508 823884976 529135172 161605878 880388966 948516266 627115070 734919438 821289982 756205410 90241276 967164618 410218244 433198132 195336710 906741976 67938304 893667942 650334966 981589278 746568752 422283076 942896626 38411696 250474474 435186602 129941900 757739938 687554744 63911336 616931158 202535436 432241130 984487528 999686270 143939928 154617112 80947516 980138188 173027320 431968850 755617980 89124626 291488782 672147266 629160648 770507220 240937270 230231704 398649576 261077156 421987634 474487366 248247620 671250858 416785278 57351194 72034326 128075410 242884964 209209782 898709474 221808390 1202022 821844720 836505400 80385868 167745236 46983896 650409444 291274230 713401448 130179592 687840440 493713952 227241146 957904864 568221904 822404436 614495778 40198296 535940202 526288274 408118634 885690250 12187144 604816808 764740550 22035676 195050904 383586256 795686774 453025558 900529780 17514678 603917672 260289594 256577986 31845572 26572334 628115774 677435564 483296112 717922098 30578550 108262728 206785606 302249972 870183992 893027518 620120796 149304782 125588938 875558146 447319274 566867068 411763244 198503636 757239664 101259440 949673064 469489578 629616536 40274220 439137268 904229846 741060650 39417706 376486284 93352510 415378300 655037232 374352608 464141388 947441038 826256426 446168096 620948516 261488626 53776618 468299586 849376936 940016306 705475920 542715818 696639148 151745652 909710224 398804560 911496940 882449626 199323688 849897250 950218278 623751292 106475780 118629456 623496304 159639356 290800976 219506350 965802966 491044414 751188724 737276848 674171230 301851250 403336040 901894390 172005854 997330416 163185222 187757276 950864570 700701242 266973652 133807846 196935338 358054396 234337068 537515100 110084992 576662600 249504060 542987914 481630684 500842596 496092072 287937502 628106066 419334660 682273002 967289616 982511584 52109096 229569184 910540478 430073536 538192984 454185602 369075446 463718112 225328958 628011962 54169738 928951292 15042930 51043848 416701780 726608568 99550832 967450478 363722142 912373458 211116856 946855522 303968624 575378148 943421892 705460830 426305606 191780682 578606120 53121412 662281186 507224682 939254764 459997674 956565726 26956632 771450676 847756826 29144862 835484540 206565384 366257606 760942818 327620784 831701054 347681982 347804358 683859264 132166004 739703046 846587088 913466018 685075820 788215414 1818924 406767990 836799030 804653676 193570254 52627368 503157642 918721544 874270382 496643898 660312222 3561046 799109516 832430944 305549850 420272900 308552828 695515098 679147366 699648996 161350324 727421542 739374402 633520396 334773080 150138572 138413712 489364596 498721598 663350610 141744540 477156664 30648170 916138974 983540906 537997328 809590544 425392670 278526650 653158478 661765282 263617364 408639752 752523882 20894864 544331068 273266872 457833784 712494664 599204110 385015912 708077588 467115824 732624730 650016546 213863370 876488678 88636068 269198810 392537744 420329016 581196916 539038544 852900956 545686818 835928710 135872826 451524584 808167566 11757500 686240796 847665716 831318882 409324182 193886758 631462568 95602014 366722450 66048968 141935190 186787184 612934260 741628968 298336894 554065630 958517406 765387914 549206676 939932996 869607490 814719202 778309654 619858846 16624624 356853738 582347702 286669796 377525088 308738320 35175938 853021294 953617264 353447886 306825402 352743356 772887436 248686458 388177340 114931100 4664218 969465304 49637778 370309196 883511710 324993882 229491692 833735210 60240750 893980428 594997736 777665986 837247462 461292358 861534484 731756756 14800790 317035378 382928748 971945194 765178264 123392744 398504774 564372666 490191104 263929606 185457396 88059082 177136846 845549384 582486018 612892580 473924816 224641996 377536514 794572536 971300978 343917896 111630678 874986272 101573522 220136480 94808158 587591398 271563806 196912134 883722652 676615694 553118670 353607196 677686366 104293778 234044334 372995022 44493974 71377302 316908728 591767356 653656200 96824482 421996102 991215766 447120870 613021922 117496630 970759976 919886116 886308560 796962370 743644332 426777012 266966614 553101188 588210480 5861802 19241550 876348152 638060092 951519794 295835874 863466632 541184770 773769672 818877386 982809282 806935730 784103864 191893394 799691202 896975836 709382588 588728608 756275020 354943462 957518404 134611972 931073516 639704778 402454826 173591776 213429616 903746658 992491974 913751828 509705316 892291570 2745670 712647322 4009508 841161024 699055858 634473576 532812090 819538522 590175330 428193172 435275842 792624106 16933398 917024596 763561026 404091280 516525148 582106798 673623770 724017588 320185772 400139016 677854648 60869746 70242296 334294638 483608370 671779854 555156244 495886342 899271022 162932074 742726588 396922238 148003510 442972436 492715124 630686734 231077156 360647650 687043848 517782062 133429970 979504378 520684502 886880962 891250788 189158472 890516542 69165552 682412034 655973996 147603114 144062062 567207862 110431680 104423396 343237668 562600218 133253248 593654138 63696070 634379492 770448358 527579502 582520476 123891662 502709184 405261456 291377224 329578438 225372286 412112250 857474034 915937678 388472052 102302226 833441448 364707094 863925724 77713508 448760674 571306108 249489056 170233536 56997676 540696140 622866410 907791174 950367466 264208940 599413578 379599852 994078826 57764216 454769730 399775490 712512596 386360028 662090804 939974208 852769316 470785272 607517768 432667040 146004724 229923496 748914862 619999946 446722410 978717434 359319118 146327874 748501714 468317746 314458976 137454936 820548744 202688944 564362168 990739584 426488018 200989954 572556976 978454804 781250086 506433586 778593308 398703310 811069226 14939312 726600866 949987872 149297150 638505282 880914366 609536382 848087974 134056716 110172848 566508696 273573786 797884048 855303568 553174274 182613728 84629466 818008184 972398434 797145424 904767672 859151166 430023040 863934186 586559488 207038860 127519966 129628274 535577548 790941870 841185290 103775694 844601724 674240228 134596492 986815484 672857014 402747038 445953040 783009010 399791518 746762104 957101442 281572670 980497150 281469244 718929040 632813028 552093796 776410222 653222382 908850438 44722010 505459472 515896400 71503124 860263882 562245598 138763984 788354854 309373592 384123476 393371012 787011410 982442154 184094746 607501454 842650450 550993824 181238870 569045040 183246562 71624790 723382606 81971094 827804296 293174498 674521910 798592884 241025984 287662302 516768250 999565750 217899544 144402756 897671896 309163738 76748786 984738124 732441130 50786024 73902870 575039370 593092208 754765958 40766014 635416162 506899694 2708364 113726690 485458492 275468066 248683416 226186476 434335300 28557404 404995322 654572798 592560062 362905256 53034826 794069516 824332216 217844074 334366516 717644940 190398564 174842746 613199732 895829724 667062362 520544532 386631712 621506994 726663346 842523386 905535770 905225260 776221244 987054854 573735902 821076762 31590532 302840018 808988076 958742926 939532574 233741714 513547662 387049318 958473372 563717912 652217936 910763166 79088240 351878608 222352790 246352994 900404570 130430616 526539786 772844374 31528828 112042968 582404386 374717038 106232770 509717494 996885316 17522716 736380014 455232714 935315614 162921126 602498792 345748870 296375656 987189448 548104446 848511728 394564662 537629332 342101428 314803874 377906552 959080692 973310842 405019384 24070742 883552172 610059392 424714258 881846364 355285574 209183342 586463910 427022984 345474574 508198818 458751124 19168860 240565574 143998022 881716568 616440512 135503558 122629038 349165164 818402678 386310212 934924344 43419092 31171156 856474624 135694624 826003418 672558116 340041312 950572088 683338108 601612658 87474316 440440600 806303574 496224200 529863064 477537198 959673100 256178458 325508002 476045930 765686240 915912678 316112386 663953072 854776648 936065754 14092388 354220768 610679404 564999236 7740816 145168990 776764284 867263202 97027860 779078292 157201592 578779182 400402670 691729160 945396284 236841952 689983774 678641076 541375666 105436000 602416686 394174990 315950500 220869024 538618722 583213382 257179786 359715720 215440464 163484526 21375938 757778294 594419652 815927982 737355204 706577656 434987868 625709076 625241574 935094450 142911000 158125984 422472982 297155790 565258004 513918454 105244164 527730980 591190206 414303418 714087952 377468848 383592886 585374612 251707056 687706994 885131240 604581016 691626630 528285572 801070162 276972052 508082774 986101270 478343164 449356616 973467512 443841326 28810544 118175760 908347692 387749904 856529902 18567286 669751222 414879176 399929216 331315210 687481844 179408476 809163326 529788724 969684346 414932752 480736276 257017420 825326740 211460972 21808616 486198576 587522820 345190102 977905236 668304126 842410812 709477240 89548166 105868100 933712196 914539928 491832604 657588266 137536558 290839608 495726376 517849134 703483536 812574056 5523286 512739176 216388096 266788424 172181004 47541318 222609074 237665944 438351778 733354216 365080416 272765368 22920560 777636720 702695530 510519332 990760020 702863310 367179014 948520550 426154348 695260930 143576562 212609170 727502122 447856490 739209122 390211200 656484076 298863050 653107990 68334894 420905934 541649354 105476542 382991232 502444938 804293428 44333074 228253852 49654012 474176054 399310028 11819860 45634848 803337374 834091168 820539166 542736720 91384972 247035572 500913556 969210984 448930702 777007592 746671770 821321514 303237070 135483096 205918508 465936992 199923854 120005514 436632932 461086498 889219574 585918928 965675528 194256416 589985542 351809956 441317814 633124308 120424802 931287420 244841284 739137450 906448954 455122746 40235850 481066180 309994606 218710594 178626496 336430802 612617966 782258426 820536656 472177988 719175132 809357344 10472434 841039454 924984122 548544040 831546554 481294728 786311618 962392370 212898458 143148570 19404188 367673146 849506982 374729232 145072896 351834664 164416076 365957626 997479046 778417206 948999186 362501560 493920562 402200886 992894296 186226448 549356884 650225700 583999264 372898434 272079980 188048510 863836030 391820976 400427102 263730056 571013486 443197140 589706222 486717010 606880580 901162266 188958140 556451894 979762398 420149698 304340652 670408514 285967364 474047290 576580018 169519266 855793258 80185572 223822420 44470014 426293490 520936450 79037282 494427726 418001576 472451182 106784846 363886892 896044270 888500616 403600758 118317214 943443134 69381362 291116940 501724874 53509736 908253286 672815878 337008356 307925066 15378490 319245120 660281614 716290220 292660568 532055722 562824546 989108154 674710244 667263770 602509642 418191940 579537210 524473714 251159040 736232320 516712274 378002960 332932858 193582956 868748796 924069352 126945090 241138504 710045416 490919656 464097640 362331598 362586428 734759364 665567784 796710818 184425326 24542472 293341934 391282420 220105296 320764524 162359158 516297374 307346650 503229432 780981152 794943184 919319358 18204464 162981338 517393160 148361888 286041532 121479462 972124054 519325696 423762506 913720754 61855334 517139920 966139970 248446876 622802316 838162322 653390824 932483488 248638006 646270814 341540506 453456778 991877800 339934316 413440178 414884374 56519210 380202930 914398118 670062594 544505872 971197050 223679194 123890230 282209456 199890548 755006602 873374766 85602308 581430070 132429860 903529064 131685682 252083842 576291860 648108032 293871538 639349646 451258446 271296512 155194602 137291748 841565092 851322418 326205272 968254444 435508436 476021388 847180286 608327180 888961978 43955590 128420300 814337542 416320426 440964598 127769178 232136094 422648726 292488594 743016870 732358898 184800508 238653134 652485350 327999722 24610270 856725204 339298336 923262552 946092646 794997230 569715704 735915738 418591704 426635848 447143194 634768772 382482488 828076206 607384888 940338424 193241428 343292758 39315672 358356086 810115736 762915342 985369994 248095816 566327894 354826462 857296534 120377216 267129522 323270470 706045526 402703206 645088026 754318872 356279168 920291966 63313762 821995026 2418944 931004596 780049164 714690204 91941902 485073442 256028948 741705742 419396702 468224158 324506774 308953364 303496392 276062910 191121366 999852160 722749030 569450060 79483226 623818766 104275934 792246070 940779216 538452420 956799974 379257872 479672530 768266942 480838394 832839466 582315484 270497300 247413680 582311866 808258944 717585432 933195058 91061244 799313102 284150264 506904148 358711844 858801412 716710688 810617854 769040124 283640844 247373642 612468282 197188542 373752146 675358996 736411758 927911388 191986480 14491776 919901796 16528644 887798154 782070174 126048672 457267390 948993794 381822452 297394252 960291046 660831354 523355618 961582608 442839796 766773852 581372428 83135144 958405614 371000386 440770902 221879456 750242712 824463110 800435334 787330196 247399438 195228706 37884534 815075572 967267004 597910552 889968534 284534358 767431286 877624852 51118830 705187552 924515292 434460486 476882064 600372412 349179392 838163292 692357614 344340628 487258590 437919352 218791238 447180466 861252646 420530442 513301850 525437912 962761248 45207428 549156658 550645670 969721162 484902364 45044150 429876762 809986518 573541498 792229910 48571060 593200806 53557212 620396632 153137690 392618808 631607984 32679688 364778128 889373028 397906768 268899880 73057476 845856662 926688376 328010502 808262758 107781136 282912804 69170186 536899580 605251360 1144908 674630918 169636262 731385678 633556864 346055578 514337336 911617204 182468210 800463034 810633210 111323160 734850758 463890986 44138884 920743066 714789998 100806378 963298150 535790544 822939590 112845488 879607158 50530766 52619714 779108434 210837262 594741248 275563820 550482348 233184160 198748468 847193020 860404344 279803492 270325098 710594022 751820394 286764488 134413958 252463846 531579500 782344096 468777172 155078992 332020170 106635680 374333852 377120836 761241822 66754188 685521846 36306840 156907068 195137718 265941692 38527100 221497808 137311200 460764922 572427758 684084774 849504256 477150460 133974054 495130692 625639400 56517322 723391252 982030368 254441188 587297324 668397982 943076700 124161192 921783452 177226910 307661550 204934544 766679932 337916122 341322804 115832302 232387008 889795268 80424374 473705282 251211938 453747382 537080834 909006792 550792418 89042962 319813814 833832798 592019052 717518550 184231240 17979464 516517486 685913984 480613238 827815336 127689532 310317544 4398312 183367740 505331326 48235620 377514316 156910322 848100096 775825408 246846648 143768832 909603348 610691962 443669568 476143872 884898930 455881766 683676226 810924420 988153966 637255228 660527856 167526150 22720314 85992902 474593170 365976818 502010118 27273300 772431512 8726272 208025138 85493652 94188904 360866050 930985814 570029564 634941852 360383630 662231750 893152476 229001948 98879714 936643582 194163500 933995512 843553466 450990152 341542458 284268954 666022228 380224984 108370978 323416874 72031480 224054488 765236094 46077552 165416252 788895038 664796998 500277848 114478340 305508308 105345308 268141648 434353062 315388078 5355188 283151690 658789576 705494708 214987028 989734494 518046274 857152276 751141450 68323868 964551792 416408276 991808896 332248458 247055036 660290314 994161682 575077136 127888858 69451554 960867442 372514808 190607836 628929546 445350306 314628886 689710960 814491760 285669058 292055824 749995052 707583438 852118740 393115442 678385456 294864012 594843414 236045716 757237216 462452400 639836248 472056452 364434526 953755082 423245138 958162936 243355446 264624302 734416334 258819838 272702274 553386666 93636368 301526270 925821358 604094100 417934002 791838900 675394624 726088060 352340024 824500560 1536888 545645272 194147364 876079644 954784752 490584926 59368678 484885654 515794318 131534520 13149766 167039290 576885736 606838224 807820768 716245602 574383548 404078260 713808140 294799008 567539854 166684874 825114300 796515724 493928726 581747274 36162386 262826156 452607906 207262362 676196390 969238206 775162544 253987818 444857782 543760624 664760292 921973400 974192644 560279876 275398782 100925822 827199520 854932636 283284074 912288280 925055134 995889176 467902464 963002106 706226176 329161712 313122682 500063402 505182588 834549024 57169294 623777054 233428292 775040874 68413038 181570552 761468528 389997228 973324592 64187170 906461764 366421062 138997890 521615292 445807504 159379716 168625442 204004154 266325548 222738906 642440856 687783204 627444624 652440658 907528972 845004562 329669742 637688746 800755070 347559822 283492328 575974900 954236632 654680056 695365866 315747086 251057774 109873022 178952698 775617646 730083686 991690362 458849204 28314234 348233400 204644600 316195258 128039562 321129924 980655684 40784312 401583244 829231118 81294656 592787852 666435878 715367710 657148530 354485132 412841692 152448932 71231596 769584544 882908300 956031686 429686346 647939836 728122282 640309610 25496470 683961196 951875296 234262888 893385150 829039932 745026066 126252712 18976760 170111836 697797788 608808420 745658268 371021058 37586652 296440868 429589214 625213658 780946884 97851002 639093276 419709218 259702922 190071832 15776466 582990584 701483492 716619664 810337144 351457878 774327886 13195986 77614948 209053530 621181714 61405184 450861704 207988058 156906022 980910228 305221014 531335566 702480522 826668232 202505772 737109514 454611032 576357368 943277622 460240412 884752024 375771188 189172418 40541306 632222764 966373074 833645594 241183764 896301490 688902596 85795478 357698812 260053296 483669386 353779382 119591466 42591202 380511996 361983312 478353388 73746456 698619088 355852244 466438506 646053876 340291046 200599224 398173240 444338440 946129172 328567208 605098448 311696686 983960180 890315280 320228060 388133034 138298456 209346174 830575450 713679228 542813168 268081724 909823672 275090852 158070782 917037970 774652996 485935000 503362380 49593628 964722750 96336944 223260478 989063438 772388344 474305292 926218092 390751516 545338096 624355288 389567788 296900560 315012034 651492666 67320876 948263004 692482170 639718242 772570782 513039926 719056158 583333922 896659402 444053374 230173032 322338552 931281954 112703812 684298194 418672932 485847002 294405806 113711130 521355018 806834122 675466434 959716014 905655030 70227602 874588080 336331550 695176546 280071590 772183916 972858710 196185052 13561744 585874922 885315244 622599262 598108960 660940620 274953874 373187864 535791430 436931628 977057606 742702894 350633302 978589694 234298532 194682402 69788848 436865170 921395528 440876722 701945782 914511282 113142230 363048888 467639366 277253552 445708522 897203098 967219124 404884488 925168466 336427542 656726738 246689818 308176686 824662972 254436950 940135208 726681302 79074404 931313876 370913442 243385906 508208908 190506568 573527540 324036842 633611556 453405884 878131392 247125074 642808694 908944952 343623104 201720452 324427510 828436774 352454144 627733858 578938184 220850280 583919704 48204916 231592900 456744072 848949522 281423734 52279030 627776826 542005966 103243808 715929592 517726166 490815550 48311866 162664890 285573538 946868690 106706586 100075818 934460814 887929624 129560422 805083956 517320490 208722744 382291898 620910184 26479522 803216356 169828990 792133594 824212194 121977184 952349468 697109712 621960042 103232518 146811936 871005676 423755216 573473474 501587332 140915152 475178096 592685588 379636820 840509952 607471492 98618328 471188342 332865066 777502938 881305190 32009086 724579378 955494998 17429950 840589596 21918974 308138412 23024228 631448918 16029572 831618608 719149748 820059084 692922880 755632776 231328520 65147992 2385876 578252990 700303176 172118536 696850050 550592504 56078400 819458078 674423732 799954890 148462832 133340948 480365838 258436724 761623710 869295154 491653624 417404424 579860782 421084810 145048906 406651038 872219744 775485086 69975112 797398676 44944822 529254362 535127840 561848052 123660706 471048730 52312790 115093500 252449654 86233690 653843236 397092380 742196060 40410616 310007240 95359454 675300480 391848494 706124940 437078432 392664936 439516444 32934762 313913462 95741946 156898850 969113370 412769960 461404436 8471426 355523724 540400892 320721178 124986242 774838606 279380756 529877128 374760646 398887358 973510266 299180372 160027642 822056106 941283810 5922412 979569868 780337528 828002040 123017596 318384616 868991878 298503874 731084544 753189142 331726502 188946598 954271506 724238940 237169716 231292928 552631412 393567222 762501128 221647848 471683134 565521776 969087490 984097922 306186312 115589830 45867418 361668534 28974420 376900300 221166714 781656608 664531812 762322714 204976422 808672386 287125376 761219550 545300462 133103548 138296606 967661626 602410798 306414450 531479564 16084384 901673800 440970520 873184100 761693854 956969294 375987318 551199880 764287602 822652380 44571994 412703470 97632650 745180082 513564218 675446134 313540516 64152682 917970394 851606250 700859704 68037958 382099282 584441182 787332400 27069302 350955014 892331646 726999646 942671278 919530622 884976418 131771410 338989814 619129428 177271636 698036458 445411574 483486374 987484904 546494048 656681534 209757616 755179388 163809402 639832538 521085636 958311340 986468102 42629732 425719702 170071988 985485162 697741470 369625120 677914204 793808654 629165188 394933074 684046992 767330814 374478870 6938174 542666662 404519072 480674682 591987630 579465432 618323624 320724378 836683170 450743796 877500418 633610890 674197338 327358822 950104756 381965778 393187376 987559168 408686830 569405930 260276710 179825596 674462854 174000080 251171754 160830776 403792174 463860034 730492716 751682514 607821646 770285738 416942838 677547544 165276590 855255224 49031310 699484598 823219918 254323554 942852374 733562608 56187910 464631602 571305168 486620518 204815806 264732876 651203244 417342546 843927136 750534024 626403514 173468296 595864410 584330202 371458214 839465510 382543584 498140238 477942962 947347730 103330412 374061100 956825328 32517934 803012308 47997946 527692898 886332032 96649340 875845018 766465320 381306876 92524990 689976892 389664108 907819840 331308290 362688484 318035340 253370830 699191802 917035372 556657354 530515018 563152520 915970112 803908516 941424338 281444274 14393484 102048838 505286524 611246438 184002794 148760986 910848802 267695762 363289908 804084434 62314930 75567996 977883418 333076452 208312890 124583870 471573586 126229126 286558056 580087078 198232158 236818582 550866606 684313420 526967498 892589290 459781722 257371504 581572068 734373906 43015856 654235762 777602534 221809744 334101730 743670014 760648834 130616252 179894316 148150508 993144870 566483362 671116394 723787900 698259666 952125630 882418414 223735168 969524200 889046538 21148402 573988520 882268576 167900254 230604902 840594956 561053136 639505872 654359372 230098226 245523970 110314414 847871132 990777342 563922866 815239390 289770498 119727668 208170170 765054168 90923592 218810534 729640384 566639202 131408408 361669054 62746230 849399740 844666744 191060650 139801086 45998306 152634168 226280410 495669114 938375840 614564638 292666518 815155332 131995686 450619248 987253680 970245216 44178932 326947350 555983124 900247188 728963192 952106986 58778524 960730420 239565938 418342732 116154286 894581172 387944598 675039028 944604090 634279632 207601080 939705708 318773562 233134222 779559162 858238972 348944360 315116024 771629450 595153674 684826614 844160722 72726926 287847800 636774126 239941478 280352872 720791172 20720802 792310130 685565094 656841010 619805326 746214764 270261652 683039372 17368016 310707554 375192374 64188520 660893168 474397704 342875270 903674540 846550770 382167028 305525720 987872058 948078082 940522074 779044194 407609040 759582322 116265796 2926780 906838366 915543100 280217140 945442186 646779308 768277602 122078218 692217862 868567966 73071212 6298628 146824274 169198992 171767636 421968584 946228954 922711980 677173580 722467284 188208112 979132964 124371920 681632196 234528400 939068816 413465816 132561166 92109512 538356696 373184612 119165504 961782712 140689318 639629452 167014060 229947256 956369684 200377658 12241408 137985756 287000192 496682244 250584108 170955192 101197220 752778666 604811056 976135102 242757148 232127954 971645522 665292638 227537498 193935168 591179624 98348800 774784114 30800790 740560876 832087772 168342454 891934612 134943246 807721744 720894260 182965138 446988930 427716628 320882198 857226104 192350004 834069800 143650216 263714136 485315244 414252470 182459924 20973078 957289376 130631130 644028256 489120392 880870652 922259876 584905032 45597648 572723794 798709578 999459656 737344510 610017898 762071422 831537700 190155050 725655758 437077232 969267038 899008086 915288748 262925060 595010518 831316918 148579958 935699900 908757256 688830992 122592020 9550244 110342158 351459798 362594502 318148474 809835118 945868764 160415736 992621638 865190864 976147650 142179838 741090308 944548438 116293384 403284058 866242038 494073246 369283952 102616370 304895210 860751768 349565996 595395878 641867570 14289248 803803066 985703090 966910186 364326928 83594826 84204224 360542744 853539014 223604962 106941154 402631190 38204574 727815348 714840522 357882686 495800270 185825668 305189892 584282264 202407538 69347962 485329930 407534202 230308924 941683992 877033084 71230450 9246922 228531910 712242660 949268378 87472862 197439036 469061922 349929624 440286784 548096514 857951602 150235878 287860266 998568398 344515600 8793352 474214594 594286350 73467626 411144380 121641662 166765696 578190056 461482226 42491674 841748674 726283064 368705718 580709800 227532680 563292750 858993546 100894334 318831464 919816528 201493766 249936540 423489324 621486710 397194280 555257126 922662754 579725920 745910390 864048772 516522368 465508844 443364914 772500178 648480542 575014744 894633244 101795420 141898856 829743488 113972944 623696416 486400718 806487486 619885912 192474820 490669438 320952592 371379872 268216886 385489362 655764866 338402364 278098898 15013142 425189674 899711472 483375668 735510480 767043656 97689020 866252792 779502816 633143152 947365486 402250138 723025070 331125894 449072538 964366948 444748128 727142672 98840954 787854054 110459380 674773410 201528442 81217750 56743440 95921224 715805492 376301360 660859794 336237042 163925732 251921080 253169154 184027204 253072954 545868236 893588536 315944092 832307422 446135448 799066072 143058686 402623962 377603846 441055956 20596078 941326382 837358632 504492240 768352256 543260790 83561016 332902310 105464726 715603130 859165752 782317918 763869014 146127768 918979882 795156422 717041888 670681698 107518334 23851788 12761802 909724168 13022424 737438610 545714242 629637564 782473888 143045226 72318394 154329046 977172062 491889478 76546066 814244286 752228820 642378404 680649080 701210696 160348876 103485576 86663898 920324978 88847650 548226368 457830924 46792652 357704442 18895352 939289630 357857282 555884776 141721042 280320356 463297068 313322186 111433198 53452648 132130768 187931438 212930044 526816272 329235286 601611248 869607190 476188422 320203982 901447164 896574834 342680578 180983662 207035828 986999322 999957148 642805824 812057408 629803698 297092824 679513936 208338080 494843936 449814854 562374634 150682902 331922406 980838284 465076462 915471678 708390166 826685148 418120284 917564902 566979802 309940106 699894010 188191568 688605712 726381258 965057232 231807276 222096258 117307926 850901052 951302218 192762178 410118176 893733146 927388174 471078762 769579948 226394092 961317442 831555608 617095210 145158964 522932454 724755374 437783100 832630292 417218100 67148020 385004422 595300266 135313924 370919810 268852870 511797882 165150394 494260492 442855944 121068956 620402030 26486732 569949484 663310864 47444336 223073976 457445600 385426292 567901682 506751296 364547956 69658528 6138642 483280954 517673456 105192320 841301448 765314604 91616558 752043912 34874020 706642146 748257502 896726010 16449844 751723342 441111696 814556790 335299228 867937254 741377570 848165344 406868752 454929134 667423004 825354554 744786652 900345480 257059162 887451962 831848114 763067828 29144100 249300506 742129544 664921346 942483712 570734324 897594926 679583280 6485108 889117254 790429438 38296092 442090436 577151784 373984458 50875066 780345568 549907706 450980926 654565768 808326106 129570680 988076474 520321254 211307300 908531022 203356854 890467504 245368862 891786588 179993360 21973180 33659154 352407844 31802774 515191238 304169200 869309662 150427976 4677998 175737916 372595184 966217092 754139732 459583194 883947482 392733876 748429738 283216442 137516438 411546764 264792406 541710880 866372050 163949296 151636496 874479110 527818044 416340034 837731090 778898208 804032536 749720856 298996720 513856508 799585174 8769124 994007914 162774362 907242398 383085214 612113660 907721614 165576040 428119372 357710324 696517560 922767332 981756764 363089812 785081716 821758806 910392404 909106520 630690260 540785436 853049332 972908088 665143900 611447616 350343142 348318236 767829116 415335286 772016698 525259726 421408080 289358236 94543962 742794920 628895910 619039730 775768960 167479626 572032816 991862404 935221454 905356492 507405310 843192792 552192540 729449968 389814254 546692112 829868074 805891732 880622058 616327168 972965132 856340440 715612654 264355282 758548700 498336476 796868906 635571990 672939198 674269768 452443042 297228422 973495396 922898282 343214700 596780344 971159416 634338740 647910188 176408594 79434026 594018844 638683362 140947854 968280796 108613026 912279012 772459166 625355290 470337896 55834420 131095216 237474636 27684762 570922110 660653148 829333862 788734458 340083256 855384234 883105480 220284516 789539358 502513186 900914318 830223826 90185082 482618590 484649464 510259912 963642370 589235284 106178902 460853582 339235604 148494754 99461988 717382464 735782334 790994250 792255782 584505754 992043924 999067494 67602692 345379896 179232582 273370250 747476146 734332596 732563088 997424656 789960958 909826340 435879248 342186200 351571148 762228578 937778158 424856226 249955038 260148418 773535204 183602080 781349066 719065144 427588966 806288202 405105798 549708636 225973442 614505910 408185648 755861774 895060182 368728322 243771846 182284404 338565608 643935938 772495728 158819232 613088986 341146734 644045114 165260504 740420514 200968970 421887172 713554130 653738058 77945100 432862708 442977994 894301048 40305322 922824596 422088846 141569960 142630572 289178720 153641344 950396840 820050048 608610836 863205066 359102642 58367646 977071218 399864556 180357192 298634036 962166518 165271522 209668242 532371034 403470498 246717326 345832384 140581564 50862022 782354956 468022836 861125774 62607968 818145778 874033342 895110110 855002596 453103510 95616326 42561412 36064296 704724012 357447032 192346602 580787080 69244146 143461392 804823078 116484886 508668792 728173820 601176246 459302822 124104824 220839798 761260822 260792254 749771654 334270552 966844574 812652546 956429108 133780984 311616052 761948848 209245154 312923794 113063328 236306184 974487868 303750178 309000678 583942654 649529304 373223232 699675662 307126490 250197818 594326772 244939404 281228230 955801908 179644702 96785596 287349160 141520858 752213392 738541296 378186624 673263742 717285368 66720308 554118304 501398702 569480580 387023928 753752580 386777130 159414508 59902190 226638688 357775724 887035644 874466716 940660944 92339488 277917182 246578586 497486040 857077886 366664558 811124770 662369588 408389170 125097174 836486646 93684576 271100644 498539424 518779354 256203054 526571172 644758334 701152266 757677204 689961036 16081058 259270606 523178362 681485240 329002194 922979254 939684268 924959944 179642032 241615770 834707154 480362416 684158112 849281156 902810948 573121508 80700390 653836682 352599714 852534698 441175356 839406738 282615148 629066840 147193036 487343366 356964326 259240888 664884854 309051292 441810236 514950496 466530056 101825526 931470542 128516148 147496434 400729036 395635868 678920566 403538386 850983414 764789504 808761944 814819362 201972880 758455660 348390500 833256630 918628436 926303816 139744836 797135250 182411378 304838550 356022670 796992780 277784236 159632464 699424408 917640804 730150258 260957868 518972844 575175130 157599870 426395620 885415382 759285556 567367332 199233342 305594076 897546316 790765184 749099466 426185650 384584156 858782744 816990880 48557122 463829260 429208410 736567958 199958874 449590232 416537170 334502898 390039708 857518022 250440556 408400498 321204530 245565178 734727728 401566120 23229014 951165740 773941648 108073168 444178808 640579720 169856344 139305596 246576066 951661998 717541642 432354672 706740198 680903062 60923816 710528518 353408512 647212758 199725284 216508718 831544542 746441446 763833734 898167948 555574372 702582412 894057794 836795092 893568860 727307244 237816078 927649070 617068802 432062036 170348252 586227006 606419888 321546902 53963464 527312064 911828842 273441714 802807780 326123400 684880370 2147364 184306134 990081320 302613860 411524960 115462624 661101630 896764876 40425044 838749472 214461252 968170698 51695456 271630372 347777480 192950920 218132442 2241746 97640844 549120006 348661698 508318542 914109178 511093264 99083050 502906768 919290546 399098264 484337214 397020716 900397534 244656344 721002632 649771316 774963552 439894944 147741942 155370464 572285204 749670554 905382892 16196122 660734022 537900882 720315170 14320144 935479170 117054666 710152914 731937674 804643342 646565350 660419890 507771360 937396512 26280056 278313952 439770250 228661176 239676388 895179550 640777912 968929262 772166596 431358450 388269372 454747948 825738258 785548304 410746524 228157064 986644344 556654400 106482270 182702080 985754462 442044158 560948076 270909644 546595704 8928296 474802598 783393826 914715978 406697936 628875994 390419924 283756002 159919830 156556858 404399916 584763264 217824630 126500166 670919600 239692626 327082134 91173874 842833060 460307920 388348016 520400088 34630574 494897176 497070452 372870014 474025984 880133906 855631056 169476616 717793340 478783670 109166168 617140320 46053992 978332174 824619370 166426898 632790642 408179462 301295062 961526152 806801764 74219244 401704516 224628040 621700266 941241874 857846988 337472136 654756672 379247828 142692868 888860276 524354222 441855320 571054182 469467704 405609820 901003844 246170530 582036666 155610080 329797920 368666170 12548488 824124334 777392094 346478904 17150138 204241090 187754436 793042460 66364760 429720576 682846160 639372084 425152844 451593748 359862254 557557868 989092592 28054188 464908150 356806088 229330386 24332348 997265042 553735356 643114466 466046616 740291776 371893360 768721328 490681432 395245288 774719986 982910486 692457060 986660682 232776424 524224082 372735328 733433768 987661912 20891742 513081038 196638144 135161490 672459646 371119214 889809094 120985338 940792646 634280976 344714388 176040288 173813728 773062304 855050884 57944984 653709080 287696314 223703026 54072368 463341362 522985470 378373302 480158588 708149508 246117244 426476630 512746374 696331622 708967774 682053272 50015162 481427312 736543342 581106576 248921654 649978676 564840402 734528778 535050090 344263394 576173118 531463188 276448246 693662266 880002788 740694064 305563614 493366402 339079176 906168610 514844992 455473132 130851726 76265448 413436786 929133426 847093416 396553366 165646014 641844738 29069104 347180322 951067640 944169164 268561754 948592346 933513452 737726012 326848288 556746942 271580972 913095058 341552310 426803970 948625870 869913832 113641684 838989460 174798750 149212770 942015196 377988074 842035626 709596084 668153070 101299574 152667108 34569990 103725632 54002946 372477014 582067770 802611730 18443240 871831062 958483600 124448564 676736812 117385946 108439210 599621166 62581970 953748378 166539572 847592750 228973860 580744644 206050288 637320824 26869568 668674276 737066476 600404366 653926938 296309074 560361492 837808444 321677054 53560210 691832950 608769466 282286028 397092750 655900968 452689444 621318422 661956246 274805912 221985292 987480450 251957982 704775812 400770982 4819018 917207288 113872264 26341060 272172008 334693900 953412322 354475388 805912104 118331332 603729826 471205822 687803914 732218532 965730844 963891120 244894562 850998258 198910464 414365438 163337080 278654406 193949044 961355984 610853000 892583842 858404442 987246672 670938348 365125114 857492762 522114784 172630238 799680060 748008472 853513222 30489774 47825226 881985278 536668184 107534690 59218422 160488640 789413342 932811000 999460366 18208700 283843398 35373348 931987536 249232132 800772124 967410032 118345002 707512576 610439194 560883226 308384550 789520916 340227076 442849274 154801472 137561308 511498632 423423962 382935778 683996940 554618232 172303244 724766864 60237612 98844254 766890868 607708906 325484896 821762602 121153886 100962834 344503268 677102502 268409986 867247008 110300790 514586786 83231132 368312720 686834322 942259360 538391258 374149194 130028352 923362170 493040590 663030386 200083916 430842582 808659804 789871550 672294242 215043074 836079996 187220150 386480018 806559242 863213782 137764056 106778294 923321658 153441376 179616814 568797030 728899854 414750610 216632050 805137564 147070934 806223580 519803746 462913040 914967426 315421228 29103868 391754196 709853016 645444222 20528368 706977922 833505938 664671370 830658546 833745432 790837222 423906324 379352074 506892748 61682558 97516946 497339138 332378568 756251394 880690500 926218554 238638986 404101372 292266726 207829148 67270106 403040074 391650040 580621398 860737600 499066240 543908964 827893278 218810374 800370550 478932308 610347168 280192940 706660114 115783674 55395040 550160782 506165338 127148002 102775706 119053258 809444764 240144432 86465324 856004736 237095532 65794696 171604926 161037710 848047484 659829938 458689612 180003084 12244310 721941576 550626664 541734962 799985674 361138 804780318 92665190 884273520 899763238 511652850 825813302 236021586 182699734 823604028 348204554 892666914 880188902 19667820 141911486 710360382 104958880 635015212 113800812 222486038 878453150 202588840 166048278 130378236 406028510 982315694 800083396 287427784 941128196 122840898 266596714 648051294 548052688 774256830 98147364 979433404 874103732 248863798 831543996 357817216 50963174 503992434 360248522 596703632 302709764 971131328 155412386 748604334 556157180 274232122 130567974 285210488 744660634 654275468 545926376 616150064 958714224 826304278 943492892 566670370 733854216 614880046 371144034 293430184 337931630 445681146 158895066 478928298 814053040 343220248 79126710 762359944 992922966 717265322 969417986 138466616 94161302 486573550 445387598 143069450 885971250 163201556 635745798 95548584 773745990 227416482 847290394 126278910 272097926 123701302 160205422 571920054 335017148 330560694 266486970 884121226 213644942 565771434 735469106 392940564 446259882 4458804 253017970 784000750 76930556 375673730 969680398 214473160 484981526 865319838 783258578 111766374 43033330 301609166 486262424 731904574 588204120 642377696 147970196 674948058 821772316 929678532 822838430 90177360 778113954 394555086 603113206 900035668 120887746 509105494 874380152 891284032 265837514 803277646 152826450 437467424 828439302 919276264 129895300 412899646 687948426 819992788 492680068 857053784 417777432 226197018 17170608 735752358 26798960 334157562 627619600 289970630 624570594 792437828 844892402 338580348 566893308 300419016 990502992 817409212 86893882 289291108 294515502 385090274 578297256 523222428 291250566 301263892 366830884 989195884 755321758 904391860 983106222 411019716 42821384 707340632 228922074 5755462 845988132 670027952 156629370 132384310 465168888 101289304 5757764 517225202 732653640 586615534 156262718 931668680 466170734 790642642 454374514 54780582 843866984 242652400 141979350 508270074 586565974 174612728 882186870 352689266 924692958 986175270 689067880 685553194 876167146 900695326 545620516 845572064 368346056 463244294 127526178 127557080 532426936 733709530 872931190 465358520 836488758 757951648 97751546 921292762 710529290 95164326 187984088 295380240 230677968 351161532 240655604 905122226 85646778 752410098 522261108 887595810 328372040 959287160 304820916 37513864 97993836 314117886 862459264 588684134 31368032 437506568 229986368 372794858 205765780 311725286 141621330 515674682 255641318 881427918 575203764 221083536 261889648 171373962 13573692 447949402 121070 352500406 100222724 372892186 893201796 990904624 540181972 487749174 614727166 49989244 79611096 995711070 747582906 227491288 713907638 925732176 15740382 670190896 931804040 563655794 171701148 922821026 988950470 751870910 887905300 620809074 52313694 375381006 571113828 538637966 305945038 174988624 925364562 389307724 750766642 939178708 333436342 135254204 920559456 18851128 618694918 560970304 106786002 2597644 186932434 938781282 477147734 815216348 526655314 65734002 892230264 935225268 846075508 76137174 389117898 458808954 509832308 810957616 260106984 956987040 367908630 203430308 697726712 14113008 723384808 259191746 489124142 931302558 375121782 54535748 763936224 22262060 22025502 97711628 542586840 244070904 825809966 245099920 927550466 715101732 611975876 982365100 544180354 312414174 56648956 391509578 926324138 636539768 52142546 95379284 305139446 937104774 950133370 334485146 139860800 931194904 347159504 411232594 719195370 799617238 264390196 122779820 496276690 50271110 702157878 557384328 489453694 731086314 977993072 871483516 315476054 875897204 446626544 337242582 128635510 278923548 778246348 422332102 437462636 733648482 502427500 133325990 279675718 75384424 170697344 346056270 657585276 658061054 594273598 411388088 168839388 699747626 592430210 505434160 426734672 273107496 890392260 219119886 423261696 47878498 467520460 353375014 893174894 890318774 707345778 952349558 357846168 543506938 38991760 737097600 329794632 768777576 305644546 234976598 751378326 285404040 31820390 336320938 531816338 866238986 648966556 474145052 975852768 651793386 204930058 638979506 641178376 332066490 332249454 24755072 624880514 526166134 474191980 932346908 726534862 813051850 671238732 247200474 701681610 742644000 431812060 378063390 260591816 879643968 915727746 713552054 158760098 79500946 380082748 547941640 357405722 625549870 938498322 561634094 540668054 951344960 971102456 820251992 248765814 303894480 359875408 723888104 484420874 89568258 738400940 526445476 355399156 328924338 458622838 334882626 568689164 19435144 730917718 750088540 277306696 91376368 632629046 386495236 500400298 660281968 263936852 848150326 950552512 406632268 749953244 932844794 568558022 155370382 888466820 354895684 586662024 29777230 293921226 957190464 53689728 554986712 222306238 489818840 281016126 37068194 776300726 589679168 419127208 613642824 90020200 197559596 43375520 975416782 64015698 254561446 956134550 27468234 624298522 958843250 51780686 390334860 794758442 981875206 633164434 627232176 566892358 107098548 988658262 689317378 7009166 11055512 409410314 490398400 663662568 405556666 683236692 866852584 704472140 471234090 724474778 484360562 215984288 766050282 434322322 871697618 620136900 483048452 170664240 624482984 246452020 759160680 253008762 400255430 998804324 433961216 430750654 210797998 208296668 123907262 367191542 100947556 525139692 469093098 30266758 985276682 438613580 985601024 311476952 99086208 244667704 916764640 942275736 384876262 342817996 182760034 153969404 747070228 376940052 844138204 61168264 65900102 623957848 85858504 990280980 861041708 652438926 767108050 578969162 317429886 316426352 884782222 113286838 258956894 341303494 988529982 644946174 966995200 16648934 714385982 386243472 33898410 494974410 401975106 637953704 193493624 67922198 203649636 260556584 807889568 965532838 77523146 710504890 204837840 379596728 81756240 617359172 288101896 178836614 620751908 855644258 363346114 222715892 603124900 345361860 850724342 663702694 125021072 510310124 729728628 948481062 496800494 897796578 593229542 704230062 85509168 43038228 185828584 135470780 561116676 684078522 954929974 222667214 530181022 359151384 788328584 866318150 169425258 905298508 877520504 189307186 989560004 128862586 761925212 338040610 642867566 52741400 462581908 939901194 367821134 649844262 952769492 55949040 143710572 292949422 405330098 495794944 67296788 617714220 696793998 333727758 150919832 879581536 582391642 880674412 983946164 910092264 232865008 629864738 958902272 929617546 30625910 488997312 269989070 126716916 85003340 9154872 587439794 559188326 847193938 63365522 308864560 691095280 220782354 926155964 653631124 203454484 376581948 794568686 999951524 745143006 50721532 258769592 754116786 987127192 499761364 430581228 34419020 515152210 996881988 200330542 493254124 409662600 643725214 239406160 460637994 507679476 458691084 529508368 750459470 468984860 870649048 492008412 875370188 301553676 331290314 96914186 974896542 474977196 576470416 98724214 35925188 953931160 563426932 345803224 861885386 454420008 250768830 189347350 911984800 520618814 115366060 122968210 728661998 128832822 97522808 601983690 930647912 93102776 768445182 298543176 352489760 902632078 281912128 472293566 939655560 317354342 334879018 695894880 433854750 577424402 445208422 876347450 326926760 195833550 759407672 511992690 566590250 422508544 644839810 15875484 917602596 395750034 361215074 576430692 762422322 137849706 761581482 763041390 488147886 226762626 807125262 610376490 66587160 451577766 809116372 999661804 330192144 245540148 246195944 428640168 784697460 785212030 259996602 185585244 3840124 664709400 702977538 782170438 165054324 173002572 323812510 295158668 787890334 70898464 800089422 640327184 534580582 144313054 986105676 83611220 153113630 426654870 484524208 829151566 405596770 227494082 935567910 419938138 250809838 684026208 744073800 840410370 466431586 2117612 746160214 964078546 542726020 898814776 68358122 670798650 709544886 586436846 685892260 941366134 562731076 751946444 932113860 422403376 448433730 93272792 911355426 736042738 796089968 799324020 21293208 260810468 248042526 220518190 399550602 499642352 458245460 624336390 619570576 718720170 362955856 884668374 310848400 80927530 31815498 314776862 999680540 261520276 576188094 132970638 601567984 750375640 711515240 576488384 35606460 817158856 668651226 819744182 568730096 972663812 329761538 610079982 897606836 402617718 435960788 137991606 746687114 136696554 516947946 788477552 98790618 554712940 657103390 954069514 873626736 474830694 379394460 20132794 11948244 391687276 770288876 710147796 763102202 944831672 853640742 651909436 147059028 960002728 145290210 379425636 76401944 580143800 121937712 754790188 73569304 857197382 103357480 332977576 244267762 49245528 790205006 27871320 91397622 81791772 327175136 498042680 580226666 304923146 456297452 95355982 546085898 506174130 408977552 561517516 25239130 188691144 672122942 101975362 439723100 33833272 302324108 104726690 84668374 420030818 206781142 783936062 794961288 522499250 63503344 903865724 492585118 765106642 846242396 217399846 313908644 203938762 827665826 7635648 889857896 595176352 16132524 171740112 699263488 39339176 173635882 173367942 158207462 945859766 2479778 727608884 449256462 955754414 695366746 571288720 401308742 620155696 114410700 420273456 537581726 233959350 334824174 401339828 631110440 996720078 464820494 673995438 366984458 321713758 669471392 6398126 172791524 311063684 410145736 180370416 299311084 882618490 69192092 737413224 116349724 62920566 967891316 481108836 386512250 39227166 248455184 799025132 42341130 742054826 446327110 898853198 960100798 524742906 775956146 869008926 206505658 224991990 486162032 991712800 788738758 857060870 556548612 371067580 999293458 836925468 49418382 719469348 626396360 538655760 472450214 336696840 876309036 112300318 844441344 32825210 21010922 673649526 556494048 676669708 262985894 935423140 520688006 923322088 187898364 976057264 341853438 427385458 413656832 56680848 135606728 521386132 800865236 984913948 446172704 803371312 706538436 451959380 614980864 538314664 393338072 696102672 615320634 325188628 493026162 224852074 255250432 712323274 357926452 250051096 501434640 706883092 976807438 125194798 967391418 218575724 334099754 909504002 732219528 733228334 485729898 222764662 962452394 824211128 719320526 85924336 332995096 992594860 935303492 969890820 39959730 950453384 396714836 228309270 383295420 134291808 238691204 974993962 603900322 504781848 736284556 474381944 956138100 242285378 646394988 994773508 121402854 868549728 704512100 884497994 899562800 224024418 615052124 122249144 725969036 658246682 114975324 407497606 982325650 631450384 306766398 91973676 520164490 992738464 41244920 847026462 844547158 915399276 577160628 643014944 827832512 499002004 894262470 106785382 602175528 124866070 250758572 973586172 483837854 101433470 156354806 690800506 39802392 517774126 483450650 202025172 906610666 107115470 50980734 652616210 374109850 392223238 92616120 783701436 590335946 867701860 765157502 918862448 476033570 853245214 706421744 942096190 261495872 363855534 100150246 667388338 436258030 363335114 132235456 343302854 71514746 366595980 320759740 21348820 142004164 47880462 994618144 952422726 208445222 981029678 379514262 184942518 186356996 541221536 784644726 816323754 632660280 431076580 189364108 277102660 611600280 227173332 447825750 197526812 36559392 776635802 969890464 629413866 998372992 675753672 505274548 87201572 294655206 755602588 380213678 789670716 358382846 368833326 221069358 254305276 107317366 489557940 623866388 685532288 798382888 162682790 541214292 5368734 788618094 447747916 920132174 285926228 325910868 803390584 578013874 707434198 682100562 855731882 420535030 991554534 801405974 570397930 582085196 404088974 887725042 506770128 207968476 295869550 931340328 863177298 336033838 563139516 728486748 50351728 296938348 381783486 164645588 856897426 478106436 337635424 693236012 983080240 742030836 599534280 518352560 21319044 853661358 963680116 518265516 262004038 112576508 374305742 319850280 217459192 702025316 165163624 602806880 959238592 445664476 309383880 201364664 639495258 744740356 902903926 543990946 799606948 737460410 246122104 539245714 73415918 264189322 330611812 935189946 88591478 210066170 436904742 316916086 982336818 824037732 369964798 365757882 778563998 552605024 802877446 487903646 830088650 527234982 561937592 943007852 140616380 816057288 816260578 163589386 629783708 627996032 785105308 346478952 558907786 244161796 424478032 871805982 648960910 355387638 64782086 34628848 866304526 820875154 586586720 166560024 254639700 886419908 853130578 562780546 225728622 575226040 375898194 659602654 628688780 665763916 801942488 461236816 61132532 911471492 158794046 767540126 77100276 474889580 443624048 681520912 970479904 914353642 851588888 284211446 568847578 210953320 291096644 850586308 290516618 385405296 229709552 498143860 89813548 515270460 776605136 408887366 854378334 20181918 399418718 47361952 864042868 529218436 811436660 478142110 62439240 27987250 881672460 955838070 249354836 428937332 758189300 420022818 891663574 955603442 723250228 532285906 399199256 7485714 829570404 269050684 31214028 651854354 157409452 617265274 219049366 879010166 239928954 177466274 642401028 643992938 307563942 392938964 858414564 960347604 633024214 346031754 43289314 112011426 954707024 183402212 957626120 595048956 480577696 631270722 653156534 991262972 453793930 695164448 936389388 197376846 196118708 678851464 207366652 55652284 45584348 44707828 1824858 121887950 295057402 64341622 306560262 198497684 621126014 195434788 728496450 481097732 185241792 675165804 302078024 331504962 634448132 787316102 180039472 817490692 552683980 137781564 909420796 708035410 729626438 185224094 479629754 150752840 878749896 310731494 489085104 723891202 747077186 977065004 917166668 540018916 441227378 311651722 939019750 875549094 798231516 401916746 617119330 915739854 844505448 705467010 766979244 736988268 401932840 343724760 55945716 555033866 313061874 739439244 502330046 738061896 948851294 55966068 372621936 654361718 973047794 577138466 673410760 87118492 94713940 930046792 41401272 501151158 540494464 264241652 924526346 457633610 879064354 475207896 109154016 415280694 237460520 706129780 307526208 131439548 870169326 827163096 889195196 884655634 255729224 851435464 283001292 821666618 406714344 814513368 484589916 450496212 563476864 106928260 819235920 175614366 353698296 973366204 392311048 340451406 3501280 164471472 107895592 547840978 832366284 422496230 612420722 532335904 972128592 59671158 484697444 582100086 800786476 215890 148869268 203370914 844207350 480645768 775915208 773117334 360017904 336991534 506265458 786479250 661723532 532172808 445791548 325286270 623230844 275172692 964056728 391666266 332441718 783073716 500656378 691908232 498246822 268730920 756026978 10886188 241741582 179395638 303232066 314218336 46959312 934949352 479106930 172959582 781358708 47898234 634456736 472147804 822158422 496698324 665575520 732037174 379556990 156572380 983531512 83538896 449115142 654996738 680925916 222988478 201132802 372079032 696296560 62029252 671724512 962241856 378775510 468649060 204796840 819183658 161242754 137671218 256188430 360890722 846942484 20379594 147723692 432240358 658221244 693623440 386603942 22604920 747563176 930406250 715876454 258025358 27405950 9853814 38955064 954866662 76975750 249506182 877667162 378763682 752318170 517831232 260263094 137889546 344120146 375350744 518906438 982309850 815163322 818664432 304286896 525956472 21171078 743359474 369083370 510319936 75238522 15973714 286984956 169205992 958691186 341241196 992531204 74514618 24494288 872923152 365822334 173541248 194995816 194806690 115969102 545681338 175759800 303018746 601967598 272538658 958296944 149621976 775637890 612721764 680453590 466767352 994284966 215946532 661212830 187167870 3704430 845372154 785016462 490646438 753626920 186707312 427397052 511671498 73768984 600416672 626151758 238596942 866181952 690520390 452572636 505992654 60591218 580836254 425855532 352016322 156175554 106033370 101244202 154833792 198762716 547632456 237281428 139174190 483280430 225064942 865963184 410417416 946650694 24979450 592802800 147027380 898230548 561152586 74949192 430604394 920273812 973806870 445627222 632159758 385442322 740358340 608943438 446900836 261260122 163029812 791766878 556889246 685558198 691558356 493439500 550327236 493621214 994072968 945008006 197069774 306224732 61543934 398751904 781492128 300702044 360799134 77420434 629131484 515326732 695149390 773827448 558844474 190104646 215305030 427773556 753163662 84325034 452346460 600391514 201926022 29418840 371096986 553651076 839331334 519082422 487544798 78767692 328929524 152869522 479120224 176736978 122523026 927856926 144194082 652811422 785085782 510097176 590520356 202831474 783612512 701903638 167653852 152782398 808480270 977061048 804480362 946746082 50134942 186981894 342390356 667311366 499616944 615077846 18322234 62014052 678451008 330599200 605464480 390231110 137514638 84294800 473555652 227900992 482351208 693827108 100327684 702919252 87960190 339243006 584144330 396510902 434643094 75479646 151737344 796896212 669199130 45330810 552114090 811515864 314803322 483851940 333034798 656549038 657526670 352819158 394962138 659352038 946010286 996198780 640870520 779429522 935123218 164322320 24035020 595079414 510358582 529736508 637427500 32023584 134945238 232194946 100726906 412958600 728893710 235613014 360501020 493376494 983958800 293885102 832335862 587211682 432219270 44921434 701274524 93681638 793378428 509578026 521665238 623993594 30698084 993402872 967059756 615235604 206024662 977809050 580462048 565872874 522946432 67671486 170139466 194572092 603010766 964390914 222782250 147019792 227886862 716921616 228093736 953660902 395454334 85227382 479316064 903492202 16663592 2833266 195358380 923998214 102476870 156676522 102533010 256140522 129302880 666220506 30964482 465312652 609190440 656532530 529869028 181756872 867642768 158821802 887280572 777792374 249214584 59595162 939708808 106989532 555834910 485449648 796653046 221516316 998800012 834872176 295466714 701131310 565277508 577923126 859610452 183360476 810102570 434223240 421165944 966138124 862631434 205628252 899346744 902288540 829253066 395340876 887695552 299673160 117162752 425549922 668001280 843471164 935051100 754918448 20833540 633539886 301384504 317222662 609663446 164634092 150099400 767723240 860271882 678579102 258371550 699023584 747721436 873184570 926879524 850776154 859271912 275332150 675981928 664772084 71962002 299053804 370991596 466052234 673551718 866075576 726090794 964619032 631521480 214116166 248661830 194118318 340066532 583362750 535641422 816658066 721887018 124249868 320748274 345247016 291020506 494772886 731565394 76462502 703795438 905272324 795562904 157334772 602102480 888869114 14328170 432603002 600124132 841286004 429948446 558194226 699276050 767983110 65313562 469539124 147394210 868283022 987211674 155870500 959483580 372686456 435756556 698340948 570969878 862672520 142753464 543894560 893519390 140941506 279609532 726671862 913335996 384493716 166558566 758981362 944429000 907091586 293069510 832460896 46975250 524368842 526703516 376285386 472981900 23935700 560846210 153250634 328362038 724664438 897901162 317053966 495661198 568911266 629634164 555580564 302752976 445464828 241283990 711998240 335256108 384937006 227106290 895986092 89899626 889510782 580311524 463789520 815838962 929007620 513949556 102554754 880021228 122142178 524597150 412391800 265857718 319083196 824460636 306475644 240147844 592494726 859577808 871721858 163672740 655383612 69371862 59096142 329592336 110070324 420272692 122164174 727929194 671322130 507539864 604908724 6423990 994302858 306730580 337293846 266852040 79358156 192031736 937082998 29982682 403276774 272650838 278355350 62081762 360540468 771343866 736163428 642071272 461899564 568962758 480516406 134776864 539941546 860790914 896212072 456142806 845135082 970829642 525893986 333666090 124967480 902090374 732122082 866209330 568548308 661779906 752163410 13874282 26902476 271798986 537282462 402132244 163185784 651865326 958400534 667302756 838011674 732578474 610917384 576235766 37682542 878285602 128482602 635199264 931375410 829829452 634234976 930833714 342808554 490552716 523743348 279168328 806418790 342599428 14687650 652012716 624031172 539202988 457397696 525989308 853368194 716726624 3348604 73042402 752175650 406657110 112787558 794649468 542396586 746117578 870865418 500646546 588940412 989865616 320733148 659100896 876548434 180850120 302275154 718758764 108442486 665751788 790874402 682735384 961160202 358828548 472136348 922564790 292235462 772982504 323047230 546066740 551786894 506378092 433446724 499063906 754171782 952313798 872391500 809014284 501825416 355979058 411073524 49620282 640967066 289579904 90972268 652835684 106188286 931710258 675429574 908431464 728855840 963581728 772095712 548549844 307744602 58637286 398022322 130994908 673116496 61565788 699163164 173094732 977024122 618479350 844499338 154392058 714396518 868443978 622405606 201376370 220576896 60754028 804702364 583521082 537209096 800215942 331161568 499795288 617875974 484207676 14720752 39460642 168455574 473240134 738286000 290390664 412140486 862901334 242040880 223914776 946696110 872297034 180175752 839222090 955801440 416422160 523145340 824729088 375266334 890760442 152200230 547811490 525943402 391543430 789279716 188012912 484355576 407441250 383425842 121576786 335707538 67797416 998093894 322884040 708432210 93933634 858736408 3220646 787346528 373712256 3001088 170381928 668850384 836775658 60039176 947168402 370643396 251942200 863437358 482099246 79188398 564741430 85840288 551997986 340204078 224371630 649776454 625214388 634243468 872421426 270845786 87619088 401435348 970540854 622661130 313112342 775935664 7690614 299254636 256682322 554814188 490785832 40958906 528220292 848047812 236576540 961099094 22676708 494127070 990811182 235072840 83261800 750415848 643020608 369930858 61106166 290157236 875686882 466036256 72085930 863310242 357970782 901634142 464130662 948202134 975685926 743197146 783994254 749269902 682999644 879983132 98996778 849015090 27713826 915112222 235942910 515107538 161859572 168341784 228933964 373010024 501442644 547120874 709579306 692439824 589848180 712781204 29402162 755741878 79466200 107537998 91242382 784514492 125790230 461649820 160766722 229376962 457105286 994041250 547866678 511004284 764240214 515677810 275994846 73256904 694371402 428494852 534352280 925021152 849983784 674879668 231947996 940930246 114787170 892609742 152798362 999567964 178007942 153246428 779803424 534355722 444235010 498389326 180824378 897267514 904500486 631950004 222385400 216878676 414457704 321040404 765530948 310047804 465728708 581678620 831503166 988286622 285539622 590955164 337657162 311038790 991223032 34056332 988938472 406992752 360698234 603315190 35260002 536550352 307148530 559448970 245656 281978224 13554020 605536466 407324338 470082406 3497986 439915854 349041540 48069954 291977824 76767878 986852600 284091312 187178622 78123798 357044484 516360682 51626454 323769504 626205788 603762834 330339354 669985252 363859836 386033414 561828368 657599176 44588586 961844428 286830330 934077080 948358728 495546654 821912020 120375784 411975452 841799712 286392596 151923222 591255656 665761120 889137890 763004626 798724246 955390708 232044008 377410692 524332868 604110716 110932818 376752520 962614860 683161302 709339416 144178854 731464398 594252342 835048180 630085602 981823462 303728166 826079384 470277854 276610972 927555472 485881866 736717226 764835304 299777858 65407906 166148722 505810624 170418964 613348662 160814974 479445706 733551320 366100126 239209880 777802480 94504504 407943522 91844102 456873498 268884184 278640340 192116724 33559782 928837568 303852294 241833336 465146754 770932686 904004196 378999466 996048396 836163494 430943960 788037616 940505750 203614284 656106976 475517208 379887772 903582966 408185008 665327278 339640106 560511200 44725434 588595122 112768892 716889302 320932438 888402522 981707300 700560014 429941712 46754244 685930886 657337780 174535024 895487902 739172284 758478662 980899252 446956948 143321556 790200816 440961842 681467552 858638378 295153064 326578226 698696702 857996440 8518474 804465814 527788010 451390662 520532032 552186326 232970470 649740042 11644450 240857162 985111002 63509608 725093612 270934590 891708802 522618946 508026532 259788552 708182598 773268828 228585718 437044628 423239916 7384012 272058 45217056 622906576 892417448 752221246 402509384 635053192 339426686 61303222 846114884 323759400 21919844 608172072 913538972 488906144 738969004 905700642 742417610 363227066 685275460 895472398 845249262 717823470 687373566 503995196 688587548 805169518 99424186 916035876 423800330 599030138 44863194 878097172 725710178 824688616 477540132 542410810 14752340 60990728 967281962 879824498 698412374 316069198 789468916 535710166 198313352 523857286 848635074 439759436 779366478 21544154 618267362 980761834 975549264 831138834 146114598 380492546 515555280 234502902 697936154 112595738 111796162 519090680 974851914 190110184 874472466 904305742 152878592 650131614 658236842 649103322 124221046 637009832 641746534 521589506 526248640 150026820 539621608 976447228 906145304 898890106 502382014 384563400 628462026 948293726 268752890 283921332 174871388 925278352 654491786 651077696 821900632 506088888 64069832 668689988 198445906 342829480 191476628 534902054 575650882 436945966 294815128 40579520 108204520 623955836 482432050 732011986 449788730 424356086 210010618 83459994 795908074 815813622 594661274 147660592 595583834 582106030 658362284 580068206 558374520 902807542 980895388 748584812 102358228 535094834 374372400 323279888 900671880 261902088 924836280 245416260 233013714 144686038 723659812 260187600 658905800 202947522 439255258 76460012 155611782 601196132 973827574 427301122 628555852 879949908 283038084 658776746 484896778 464860428 265256724 954841768 148563812 221267202 555244534 465593474 186360534 802486098 777347142 33798624 206481898 388304282 124288494 452565808 476891204 530342890 859519104 904803984 306482270 346943600 264538832 943390714 394873792 100387156 382528212 205324478 543087648 469568932 528564102 11345136 330143014 188581430 621963652 16571442 339244512 273378730 576319180 25004946 173280018 495924030 793387612 484995442 304433218 934688164 194679438 508749520 985713604 825117586 749928866 672470794 854211952 366858262 545211068 935708648 421562132 627164924 223237636 126493180 531169370 670138454 186826884 149917390 339335738 110836438 349124080 835778258 668369640 892896514 648256978 311357546 320767138 141476504 498735904 794311808 875143174 207973710 719723688 471072470 421943752 799033442 50900920 967542236 861265570 536230470 679442312 698566542 741560910 398296748 697934696 189644930 412592868 725479054 635077534 855300042 515594610 676869288 502753270 836730928 749213822 495883030 641867328 344191522 895584278 854985034 216500988 372570670 273942542 734372322 767729824 811261992 911379664 290263902 167124772 291553340 592288182 913190976 337341674 569526136 924699942 333225044 909505318 492291092 655117638 457530696 303027746 34508540 815630268 16152882 537781880 24759174 43294332 824575220 773171772 697034428 390595368 277916394 98241190 378339664 415264098 419673540 230537682 691537146 297168230 454072666 207706098 164330440 725908744 651261474 751463600 15951382 106060064 282567998 665718490 967201622 44977048 212757118 332740510 984646128 843242462 154638298 225593424 123475888 263261738 917436954 354833626 681596326 660581594 848387572 363236740 629218074 319493096 294872326 804946490 9833444 588438682 723958766 531975206 534517748 850482028 367481876 785003084 563911656 162219190 203793212 756835218 594716922 4647304 170517968 675516008 441337230 492042664 832857024 560685826 170475490 404592276 206211220 626938306 211677570 314641584 732558730 794304342 834650434 940476244 479022660 390625656 366574054 14789224 247018522 440172322 336490756 571923048 60707972 884315594 956832590 332869382 126759126 939724482 759936498 664772492 710279118 567454460 184780888 845302610 62438596 761298928 494344698 516863506 141704084 629318672 211007556 23229768 663840976 497019532 129911166 372291598 135403156 663842194 307327628 724774530 40429748 572149902 302301608 443360108 523513044 26800536 669875232 265739884 640580890 789936878 561810002 72049144 388821516 648093802 224279008 788007810 371842078 939327248 852333238 575235306 84486466 345621536 841349620 327174566 933262842 992018450 850890534 490335696 765533950 676992536 817862678 217694682 49511400 760363246 678803888 680467740 181583406 405690082 187388606 92053916 574190022 961885034 919887938 539893626 237466690 184024570 535612834 518392500 957266988 68184412 839181816 870235294 281769958 145909772 109866836 569508386 171798500 235085518 526106940 524384502 422019682 259013366 207380174 204388006 865567242 650122426 611968730 32146226 801613086 299030530 218617932 309146386 320894934 223151172 32612814 167518944 943000592 218196682 702088816 778502896 502849464 145871328 673700954 131771734 556487588 93034170 333975698 307796388 575389048 27513244 245886130 296167774 434383564 542834660 658353532 672728958 402455254 214596254 960204834 953882156 865848358 144878674 905172388 595055388 538598426 646776682 615976800 363918758 401576470 598195182 160269694 694801496 397370042 478804726 123360856 323941746 397658034 391788154 908923302 579223722 285851924 90975506 393508202 180743590 924769242 823818176 383731726 765984856 31049290 228541990 246857406 417360506 43233636 875134158 462268644 122957118 391268204 871307212 396669912 465817320 228708024 757162024 203123482 475675282 512769468 619147814 490397316 247584396 884705148 723854784 345011748 777775296 800230066 675320480 928618908 21285270 423890440 89575194 468626868 420684472 635204770 888421902 199557652 348878372 68122690 745069772 410044374 389133326 332244386 591169250 828693908 188990798 152960912 262021610 567929126 885748954 184107678 551859608 430705070 725496450 885028704 731818514 552447236 90545664 731097598 221013822 202050618 222362858 739918640 246790006 505473556 214305658 160744406 693833656 4996634 662600598 770690040 248451816 335697494 435398902 929092020 887283932 505514396 827505252 161748818 820140094 982907852 439226482 876101230 408382040 479822100 86183722 614126830 424680926 782369218 602750250 55697616 739100112 888141742 208796360 179837270 67655672 405047338 71034786 258993780 804667618 146945744 385687346 703694206 425026636 229912240 812580266 230290590 138249576 830806424 819110296 605855244 281390668 812592324 738109436 468035120 969653388 23117052 84023630 892724214 192249616 481976260 701272186 124007922 736605292 819215556 489778134 839135286 614130604 781770042 486756688 18000990 784348428 963305464 145389420 823891184 262557002 183201512 728770242 763403126 853028190 987194206 36484410 555767920 408064062 652420254 672091154 961980572 447686224 942085288 992609000 814101066 603155460 153975186 171026966 980541524 964883124 896147826 379175342 213568936 614097556 898145230 26369720 472071316 698220966 839405628 147069708 713190966 326512128 303620998 828478572 984855740 64856110 475673684 718919646 618540912 677406774 219769656 123066138 440731516 775948540 52065210 928423408 968458250 886770390 102406452 273627850 815240828 310160580 918386954 654045618 456092254 802530190 699555598 312026922 659962234 707591818 511012252 604418936 661489832 682053886 700187262 540413846 2042274 220810072 86716936 528912130 415024722 226942138 674581958 605758706 260844410 787631132 833718282 950737574 118892826 250590524 129787972 747555288 199510194 624974340 281889342 759177618 429353322 983781920 622603544 176182564 143064644 558522800 956862880 735040988 666277276 493057708 308584530 992728898 29656434 749034448 127918580 562748856 738902946 672478466 159305372 338523452 205913852 122444530 669124350 418047786 250352602 995862896 714757674 930596666 802747284 524614888 675138598 443854886 188362304 969239704 109958766 44428776 951619506 735137912 852967488 969119062 125060750 667450374 710183474 272940862 170769972 571005010 735180764 532181804 345114618 921523174 303845886 467355886 813029404 808399158 722461770 42104004 368601346 317696678 483479800 792778788 29794452 852271944 283925494 703437158 541926220 953483024 92307404 671924094 173467820 183071698 814141728 166550590 466587560 976180744 400576472 711561564 814191304 302465098 477661896 421828920 244985746 281044552 388208320 2691980 241069404 115910610 221971008 393548380 838343032 78515350 547498856 975717594 39744984 339383702 544246736 65032378 384022944 532933752 524951434 710557954 564374562 473516718 931397862 448311074 788484032 62754638 527600326 58927558 805951228 272533982 738946426 831059586 874047930 119591816 981448230 778365596 718053480 168154962 524962658 291252102 520173678 37891156 841144980 318706076 506384166 386746346 776808158 162786940 915155370 886675978 334608820 81182152 586430488 515931388 612059184 139618496 929211896 404088130 999660138 248880706 688544122 985508314 431878000 265104582 82217080 623965040 801454104 833330468 156904462 249013784 213359212 615000702 321337886 944055338 428718784 455235522 255505288 950600800 650753798 146547344 484757902 532146636 719264104 301932582 913263518 498443900 455137588 296344328 702194666 771788220 649287352 799241772 697003104 714435170 899095116 290519700 196499454 957168502 55812250 927789160 534910048 948578448 487772396 96249710 582534698 662765472 627170476 488283530 996775534 146237746 263091496 107950360 841125794 367766494 884430242 715448526 141465158 418326126 701040448 389406604 948116190 342206240 696743400 95440826 557406730 234790052 108498402 771510096 465010122 289051134 961508386 582740486 669696094 861502694 793422076 172490348 148623956 404910578 372258224 680936572 620971412 92403966 234036972 868480938 377334406 772899292 566642750 771326086 877089918 241853194 753762362 206389306 558508708 102932894 755460338 222808002 823034748 734014030 597560612 249037486 751293998 381889142 524433098 144362710 909880520 570201598 104913126 341458602 196166634 464970912 247125988 87903648 320158232 534565210 959756024 820086428 773670046 282097732 739052424 617534552 43568972 803162400 830119090 211054024 791010634 824662836 644642398 83710672 753870860 551744370 137832824 205719620 452155062 322939444 517695006 211874546 562632630 992112266 573906122 634010680 733854460 275306478 723378274 636546394 21020406 937072606 113315362 120935186 300428806 934916610 946403702 288184618 167736630 981676670 425059726 399091038 834926964 318489616 234495236 563101448 891601222 543191386 749823178 620348056 913235028 947716968 780492078 993182026 114704170 422450288 868679832 538608840 566145120 74632016 584253436 150894266 140843838 49545954 237505360 477057256 967191982 445992138 865615186 262181666 720507062 199544644 989475792 855064086 714056986 534947812 473553736 919625858 421845288 558503798 66738158 614277882 171432016 874822998 431079656 838436002 408040660 396648376 328646488 147221486 43545878 429250468 321721884 283474518 64620572 751280062 543877926 33150164 461427816 995589576 338483086 541693508 523796476 180352178 623344898 412822306 126225180 773345714 775883620 519353160 635081974 463971026 110518580 672688232 636116348 179660444 238304442 14390972 10012574 112509098 428413940 601852778 427667612 151381994 184451018 482447830 664282380 966042026 873954274 112539208 749512690 868721468 605286362 129223668 341053838 273245834 490580572 433994592 67950508 504159066 81172318 799254736 876450422 180654042 649028270 402950388 107613694 881007948 865241638 847555024 498327144 867108198 601721590 269017868 367537928 660769990 17731908 519925516 140002514 375154556 439289240 809896244 357507426 544366228 933977404 930668548 751128022 411171426 196211836 231652760 504848632 306487174 647537296 647749100 526625966 712140292 840183090 176694230 912260600 664791374 170160210 553334298 351209356 108468368 970555750 412010032 965984228 641560890 20180572 143141030 828598988 748911218 251717988 487585384 954614588 755392288 794813650 894988024 401395842 608314130 541313634 278529132 641021420 703822620 320061320 120420228 80849962 200738416 67679778 579035588 594496214 322695668 255404804 300280810 56903186 611597278 175638190 681339998 615956008 958987760 451757682 317785418 334589976 957746808 867878978 337712648 109817058 862758486 383851748 421429296 194915372 541034702 292687898 446351826 905423256 511302032 702997058 246097870 680153938 516592630 681320228 355595512 968243844 469383714 114681032 438561756 587234594 12305498 892909196 879010428 205096766 465450198 394928508 317819360 612567598 185434800 146436044 569373392 605552740 49439124 723406462 505750092 881540640 444634442 198659282 152994868 661985048 996357192 616818128 380472762 528376066 969608934 815176456 666388494 353068988 603805886 37217168 623180894 938929962 141361942 887659696 867667196 675417878 254600638 802763216 131113950 938041942 957821574 42657562 459669472 630899722 244972528 398177134 862460748 216499792 283955296 74720310 419579544 625703776 973433904 298998858 760228964 81210754 701136406 696097686 226086916 607997016 819866294 33499826 616912514 574415996 167904238 463123460 420641794 927689548 92799814 525150012 582025816 856397888 465324384 390025778 560614498 79781064 589168720 61313320 777105844 489858346 435418560 119508080 675449980 298795984 666556086 277683332 440041062 473965640 457544816 494638370 669303704 233670282 284350326 675982244 3728166 596847130 93805564 365409130 391967896 1718400 216685444 501907632 355547660 43854690 675339522 436044656 90231594 173873168 545173772 212221628 932513238 564785610 298359492 494188776 578525704 864743562 565201890 504574326 907773984 458663234 367541616 808975854 967505204 358203548 541984170 268142600 167141196 158142356 559098364 262761536 18169546 37617992 679443710 473034382 78202994 506276812 672304182 79782876 738039834 712848332 9991640 250885586 122886860 582428508 165581808 901393612 802713320 19042704 551920998 465351134 381489392 706714286 454884276 737387994 772542026 641907984 94329470 354029008 704962522 39619354 327694620 764566054 382219270 951919724 784180850 658736640 348749296 319821776 804961658 769784822 301818114 284853036 921287874 29934968 676542966 914410066 801929216 581221344 450558410 775971732 620021906 150253162 639371732 476236836 538686924 342512982 611428372 438557168 886492802 240503658 90171076 92794404 636875874 977418078 182271222 506049894 835801364 715343996 643662188 691562156 390620286 739248898 117883204 632874304 567438530 3066950 935348126 194678604 551588712 833294644 684633728 564393280 60746692 504578352 93091086 559449798 853339200 554698266 30929776 371041754 186785270 938605002 92222154 772054248 923950212 315683010 428180168 131640684 899261020 496333810 161416758 493783006 737335042 138593332 384567434 735988946 801248420 312264426 706030608 855388218 693018538 67548238 337624204 67285174 649997208 857294434 58463702 108109432 457751436 189244004 476378326 266897958 428711742 61000260 126141704 801193532 564055868 976569652 350517430 733954020 711072502 688136804 32924552 546153454 142108042 814700790 287543928 232609494 269587898 313519510 904017660 204616278 153749982 874539486 471636396 668634470 853073738 707430022 616182566 795629178 717084682 717845026 892194092 679176612 750549848 348823556 448097166 534864014 666803006 675933556 62232842 882899686 293130158 430878836 851944768 332258054 391026368 734747862 114859900 504098122 168499524 734036628 70543786 762716836 680987458 902919928 713729022 889455586 570666688 174437656 224652500 712500916 310577060 189639026 289508122 455680604 471048192 419928312 445518212 553033236 886740024 439314506 550760706 485136152 879685576 129597044 936118956 270486370 110648388 77225850 323288368 672477284 533902330 165192954 371767802 116394572 549857700 537244370 258634836 841236936 398380850 841464472 676915964 789864036 283550560 879658884 15520570 123739054 556926560 868096128 457459240 463168268 660729836 320175982 168459118 554282762 579134592 131861190 524167408 610704268 105836254 265362682 315374824 497621792 668213116 765901768 98317232 632360528 291181376 189966440 131628446 488642448 124967034 109520008 255460516 47528570 445644944 999342518 303559806 942172834 506274852 401696710 312480164 952722006 550887270 668898880 270020078 825557050 921596582 442794552 479752324 584247838 92632446 514077422 304167922 585507780 884890432 57847832 486900836 984430680 46536446 529595888 570644472 673234984 397453076 329916552 480700242 487167120 71732682 722287534 741967632 369158780 704074904 333304288 283009826 275936762 283012242 421297732 31394198 177572986 51662554 680853698 567576326 39729382 810354764 843744328 250477510 702022802 943702446 593993708 74840826 400236720 328792870 174112964 26186134 397929656 17754448 99463424 706517722 410322796 482386756 107393368 867932710 528719244 542932132 365171746 658083816 773275526 161605904 121948338 284633914 531960048 297726244 615344862 462198440 968239692 835468944 568173828 534360158 705150310 198783710 850594324 184282688 194877226 693140044 11133032 409442470 32951144 638474368 989394556 28956832 112074078 268933340 938194088 733154968 161314404 506136882 61283148 522297332 366872124 22535888 868435460 459807844 422267626 35662882 990880684 475878382 213326772 781545514 957284718 135949318 739978028 205125670 456478828 201970748 855323128 730182392 981276804 636263252 402853930 429993390 116627246 890411278 743109060 415308014 203172098 580769068 649013372 751153102 986013674 258558184 431054348 898490414 97931688 272737860 759583182 98532850 391288024 769013556 332090780 411219434 591084228 622904938 559196020 695410790 587721790 262985064 773595940 773917780 222924392 125130216 781941282 188699594 982574148 41009066 524850154 43058252 147723216 430666642 238546992 394884654 820902392 166828292 947713516 390355508 542185648 94542710 936585642 172731552 248392572 7998552 173255788 586292938 257578982 865808698 56091686 962859502 832727986 15339026 59296654 436805452 923476370 937619188 845190600 613670636 281150820 680043972 476017388 79359904 221415328 658130554 307415654 386333690 292773848 819770542 550144216 29810226 873818080 979455682 235789822 661532798 252086928 873749148 642069476 349026048 839226154 901113952 45169456 866639478 979405108 792683744 362697352 567598480 780071934 26517316 762545562 757078482 356097478 191622506 454436500 302200654 456928852 679540310 448753258 896979516 926313734 791374694 673955196 554508616 337012584 29909594 929141154 500534582 161682120 265722082 949305570 378500080 616451184 243028176 400550312 596202824 808169784 821734120 838564184 181007154 692732534 819113642 408612788 201998310 993516612 380196684 749601328 591778506 219882280 46768212 450359292 421852406 106191426 824088464 579157312 110463590 709191834 314470002 245525632 896118858 886906342 639216402 794875492 986724160 55809704 265828788 176672074 450957834 628682328 493846386 949591128 749330144 843589806 59709616 94850856 635802892 618329474 765476474 319821050 903606478 28507144 626040170 195234908 73133254 476449812 206351556 314652592 533781472 293811484 520579890 308059186 239186530 253388190 740354324 531646814 774525796 775518630 844814928 805662452 73645098 952541022 563797594 140469316 208384580 526124086 618647170 463886814 21418884 213948770 568108566 281763950 376992854 246593984 804310264 888375062 299737142 175944430 562424420 417534730 919336946 597054586 929372458 108150238 517225792 234949458 614313266 423227630 842383640 351181968 100726414 415472430 171035730 856700262 569979326 880747484 854541728 884311730 661794600 561201850 830640614 44966848 857482656 868862304 503485030 986257354 505816202 709544546 86811732 630234820 927647372 174155142 549321764 81198806 910298374 822185368 872767354 607109986 169084038 373873858 75839094 634507724 446302234 573409594 150820260 96899324 77535474 9831994 883712122 722205806 286258052 223187152 748441414 734945818 758959832 65868340 252913644 127857154 624191392 645474650 556519072 264979878 788123362 314964804 196866492 554235106 389677924 779039256 434164738 558776752 63391146 398905894 518634400 797876462 426894774 45006016 68044374 633385862 179551996 889147742 911078926 8428578 786062630 361461866 616533764 467061964 728856418 104502058 380025260 216210994 170927392 203706672 720517614 190622686 225961876 553738742 141867172 671286992 42469394 204389610 240340542 82789466 954486880 582447392 872850500 835292126 297989400 967274802 268550412 531712388 930804456 754274740 757843106 367694130 742287580 241044548 978053182 842440208 621389558 676617344 210445914 179750652 395709768 148593348 473245542 974759392 224598856 885728446 799488464 819478568 497861986 953572284 293116362 835369714 802689616 460563984 898526330 181415284 15018766 129621776 699610210 135273936 956738262 169383960 122250872 530515260 154746462 462396184 720353482 212705496 729006240 233000634 361837824 694263328 44764984 256822726 262822758 945333812 112127624 214748234 176724826 369499758 960767432 336892288 80540216 383748338 689454682 241961296 38880264 883444620 508023550 598847776 956879378 128409872 645695526 844224900 188834314 574872088 974950790 55263772 47319912 68694406 88171628 525022404 819616590 998243340 163138208 127592318 139703784 485050082 283236788 337457534 665302930 578038252 29099312 912036350 646780356 928009664 258007528 853137026 889914220 930980486 857888590 416678344 436912718 496309288 293044320 494752130 281874974 481031494 948620532 504497674 234142804 857828570 868695982 625277396 971394100 826910166 300348536 993502522 13055696 18603140 934388776 803008122 526818004 424820688 74327958 995513800 648507736 644914144 857806018 218636442 191926166 309104658 244612190 169980434 722105130 631887144 212409470 641965008 60120430 730589486 38763302 635450836 77586948 184310504 714380026 515104422 255066456 400876724 84835336 999769698 473089550 866356896 70739530 408358896 922385038 942673866 924758870 112894582 867618286 249531218 733225642 986052436 919717916 677241786 897220790 346117516 610217394 905282102 370863272 64833540 238138704 32513282 417384968 216896258 183820270 939783206 739840358 727924262 980624582 213061276 525808718 98209604 900916138 621982272 646923744 691632070 689622722 203766034 948000612 813109000 131520498 12670508 306210624 433166626 291671550 827845902 590292522 423116128 433520196 713853118 107654776 274840640 338206390 132721986 24663744 422984850 80696574 742952694 634406030 851575482 956490362 574527252 929870436 190939530 694390176 242884132 721080746 881267678 889576566 667231984 185988978 125238348 742767668 394593452 226770306 916884928 588080644 1064766 688557102 334321448 717840932 58229876 265233806 630921336 973022508 368906054 113060450 517158978 674712906 576508242 704812264 666901716 374488686 190856822 398203498 519611130 257070358 588050710 819283280 716355132 704598524 838438982 930610308 405577722 765636554 911150434 74342228 52255224 407986736 91478392 351571780 679459522 304274640 46149112 670647534 59671150 422186086 458356160 341641624 831966164 141742714 1007386 330188886 167943330 745865802 788986770 317657744 943113464 781235100 771439794 905235496 608420018 607967800 932575960 714297430 811990538 578165310 289536184 941343530 314790954 290077476 789446810 385076060 991859764 953445186 14665330 734093390 705434280 379760992 267508894 8997542 884789834 622835924 759033104 831437440 156458390 62325852 202520632 515764918 754435104 627250136 989581778 146120578 288439044 281428314 321287140 276060506 131313504 457403092 904703668 586279836 835904572 204177902 206560554 794665544 199371184 969288936 474721620 730788574 91246498 81101722 398154628 110030384 388332120 911237144 267237258 524800814 244550450 740695772 402077336 359322736 776133246 689966260 355016038 660749114 359034388 778256892 843075422 722721666 212030746 166305038 274616152 25943206 410837910 295138246 791250882 836673736 446662454 121373992 985600312 100852022 161424832 208535640 272947298 693955882 912504876 735755660 328288224 16775662 258579776 481686924 288755728 227468006 372534988 657191226 958548816 252643664 564186330 408037662 308909528 157543186 846464400 183702082 157164436 41706836 289636942 986011618 331542608 3663046 347693790 683207892 154279414 849975644 422852624 241832322 907450170 901433642 732607162 42176878 475808182 588845302 22335476 334871732 801333854 101322152 117577152 75906516 417707810 443168908 473334558 715402366 74076612 231869656 799935962 980003690 510269910 585301206 586500978 993818378 521666416 51460846 660910860 1371052 902384762 86055084 812158658 819819502 627844554 405658804 50481746 66094010 320029712 766362672 765405384 500565742 736214662 157960034 17545888 459445188 585814240 165029794 621277794 226615928 999723102 470897290 649182528 328163760 601636298 96592968 423943260 555713452 774201924 609442126 506859628 463839656 757394070 764129458 194375942 82205822 70807036 327086658 502611978 644988626 360261974 78491584 937017324 570214840 106573256 625108666 211679574 388565670 451529296 183715270 734247452 529283872 697731940 540334316 278463114 625251636 725822034 343272246 41375238 106764070 308733796 380882142 832841940 731132460 902184930 481783452 885852326 516018828 995319486 759708300 337503984 707680342 95308538 973452134 726387344 383062908 725553816 752418366 124923626 368775584 534056070 758233368 950803334 843527322 589042612 997705594 444004382 877026580 129664132 857433264 663202692 638024064 996757852 566817238 459307728 851739836 755992488 256850130 749396524 417739484 572299948 714350392 542293286 314530812 739738304 52230290 777687836 67011978 378995024 429412680 852569294 334918326 738911660 724568304 765019468 195791726 615473346 760634038 324892566 486453776 520906200 858351662 24028020 10114494 928293422 469910276 112693392 111780330 175251528 586356196 254431680 525013910 854238080 129772860 991551826 800530954 518631216 571393196 743158856 790177328 748707570 213639092 282339364 719035212 503275092 187084660 659809880 281869444 662238252 697933848 276034990 91172622 276510126 417188580 436273418 344061016 919386758 295613776 107616914 595352132 961891434 153656098 635844296 40147348 457327550 103044398 1523898 32325146 491055702 464166482 417372130 332124790 308551172 325921288 613027868 948399456 745860716 468567510 736244300 825036346 894561142 36824444 936223536 639672424 411989648 842525006 525921492 289006222 19165920 584812696 360058410 194401016 619255878 457654026 539613776 498564696 13537604 699019150 921761598 82259534 715585320 990355720 215585730 800568800 550570950 470065480 164809616 318039168 111139282 141123264 625616312 754454572 954455154 335513948 62092226 916984518 458558750 213450876 113716618 636690556 706151948 815460524 666042456 138402686 792506926 77109568 359165866 310160328 293479946 781387358 362969350 939245956 538627206 265778320 366981604 777074392 848311366 652702110 501190480 528357734 13312628 904141034 377530378 682110844 303889190 626869922 967343968 382015216 851177188 938416026 497065810 124313662 643073808 995433426 311305868 622740478 57307792 948767854 278233094 750164326 9572190 377229610 498885718 985377158 187567988 41997998 248592002 628148522 22449272 150098328 342377986 298885524 53851356 174458976 586696228 295945476 452236650 398139414 578257750 506816084 18331196 972355190 967043000 553181970 686757732 296929404 790714520 794321414 250342540 776677382 861250144 44558624 331406240 271318706 879603864 70987796 377160294 29406260 260478950 234324050 491767510 386973212 959108160 886242410 8589962 279705808 55278386 47329022 678838154 72022384 903584488 620469510 695906278 858267046 901774108 159752872 599167810 76951720 733895234 145299060 942618666 781453050 666491070 89066680 774095714 146446420 915687302 831058278 764479832 104586150 578372646 410551548 450474374 679666698 116685236 572805862 688092966 191385380 733268714 715413932 23701486 595984202 215137828 807624490 654864788 834454784 83914258 848354636 717214764 647802942 501662950 53767154 8829562 61631716 571411456 253733278 242511470 632149022 239744570 332646512 577063692 216775714 958866130 716863284 637686992 503268386 210037166 362178000 942313932 665526552 376377278 912377288 656878482 9097012 600780020 386091126 675038138 689683328 752352470 513684382 992865834 124251758 888009038 19365060 337405864 364687042 701165802 481310510 299025290 17404772 889780070 781699264 201868344 432926422 752918966 299570966 946567956 63563820 993029080 639076316 720488650 659803662 874718500 663242374 671731894 292217484 686985086 235099652 764449750 583344160 952451956 333085470 741855678 816724696 747197600 822481160 327799178 619607696 262888212 589764826 663679092 202580254 826792208 212164314 227931994 199446418 487408364 140570248 558005806 327414508 989583284 882364636 439991248 42369214 123334300 112742432 636546184 4813006 417562192 213921412 602146210 521216258 820315670 349910750 988749082 249695594 640968166 705072694 58561072 304399416 129941272 486786852 859230962 197401606 269418304 357201098 866203894 766655212 681199738 302051264 326108104 432398880 372192810 717445336 837783014 570333788 359526816 263259660 962259056 617867510 1956334 496680498 739956322 65746504 428859914 581472094 105767432 971495314 623749408 626064396 764968946 63847196 671738090 7447452 538007738 224194936 511713676 368961966 393625514 323349368 21091114 134122760 341605142 85577308 340278344 855027804 587028554 642373088 11629760 727557266 703926294 795427878 7841862 666093310 869911690 346959622 183474342 558629292 932113912 557231292 433344216 113682956 202444194 182713852 449969548 762416478 866085754 799239540 955521646 233869156 937156936 611866940 570385186 510876040 141932464 604748042 272672296 507717780 962122786 704837124 29788512 39089178 533857804 992562976 800484608 131954174 789257010 507685380 234184410 692510914 562000088 445078454 798187170 373749516 159035082 598097680 791706512 355015128 301889220 699913438 410396778 141304170 336570006 376523308 194687736 107993908 246059416 453307136 88411842 359454912 181336588 730386728 190665170 804056968 244995450 423623862 630876772 893711608 661318020 810663784 612540048 158371714 944021282 487452982 799252272 611053044 941824556 657612806 395713708 606737008 975912284 50505256 863015604 736579416 935027332 263657386 492321270 980989144 945859702 377699614 366459922 528262360 499473048 873956774 768299244 419420258 50440528 535119210 171878228 800836522 822394372 886339178 327814026 100008158 996158522 666407538 378931440 52458846 174394932 269935674 872788856 278467172 811491986 427548578 820874234 163236168 435322820 24401366 268085686 860377362 834387330 692425384 879814890 221814234 789355884 944840072 448405140 472713698 821778392 136280852 303492538 607246098 610810408 574912236 265047872 31471692 827851612 763606778 974818776 904084838 432435780 268389926 481305614 357654620 803563202 759212024 654069798 620385084 668708876 72552374 290355308 337413962 899522078 167636406 620546272 450331158 24893236 839007016 861044036 379061294 989281072 351989390 477785628 323679306 230687580 616962522 265780302 602259770 319852066 724630700 778735064 536715416 843775512 570139472 948389042 643436446 84645978 268328258 147442426 420474098 102139036 628368680 102826188 130691822 160035916 215269434 42640756 72555278 586501590 41858614 185823080 978426504 565505650 18976884 392767360 202135996 475882674 890095946 863787830 874529468 458274560 348607996 124845944 881618256 767763638 739300434 238221614 270559136 363811862 354220156 890318948 40368292 585343368 81102220 404310830 122678164 882228116 504766640 529866416 912158594 456509922 233862722 752458094 485912764 126492944 934745512 416283726 750265784 58611236 871735856 960206448 660659234 730121998 543218930 494060506 468852032 323223568 571669524 785648764 428503630 49550804 553293736 116314558 880446826 814296756 573529300 277103484 747207934 235065588 962786522 20108948 3245022 31428194 646200930 470562228 569647694 322281892 674576180 895701328 310200402 160069168 496374206 94421232 523814070 303948946 969970406 718405564 702771476 153018856 785013548 273131478 931274914 912381048 173104256 213388264 679879930 137267838 921654664 150156868 481954356 128005640 174198282 52429954 366678144 565111538 366223840 750360662 746006060 540050178 514055756 522826054 785866838 101230734 449233966 599238204 826337614 372695032 597869796 478579660 101956114 471955822 285739750 434628610 109843698 946850744 836331122 675622922 229857506 994441518 422885756 34000088 498881544 679714472 659951152 860442100 352362456 26897076 197264618 61708324 51887248 791930936 568289188 468176992 932066058 551295592 192648980 646036444 752069110 174137010 140255630 975272274 754271338 52899402 19396672 648221590 772343542 810504286 40087360 38816024 461890764 710591956 964252564 503573182 10192858 191400906 4098280 134385638 316697970 14390952 512348504 272006546 264527642 733433160 315101888 129489292 461182424 308371216 641216602 9532392 769259526 926021468 654339730 885329448 566027656 539728956 195664120 974651576 769537182 584916800 813966842 496367032 156582182 976385444 655171344 681197082 205859262 238816464 313899960 564155350 488999188 501720718 513331234 548905344 957362310 261504766 469198632 307668478 466263318 630325648 411821130 56052372 992969132 600850802 991413874 318054756 175069414 120167926 476256740 859828578 845713166 545823780 810314846 567721020 589098652 788159546 494929948 48185514 16185680 943676124 995755644 636234110 844288846 193056896 106360348 483493838 285926242 193456342 270711126 510370882 547386420 713194980 900205240 808477894 154244262 132892460 369910722 981913264 855665528 149931892 641232398 462538316 276230936 763944200 479547202 84734978 806124278 758003342 36120652 63617846 606510886 894435766 414834262 119840268 76923422 970684370 720279092 896807260 486544472 601481034 490679928 140792444 931880464 247773640 949705400 851428140 85504526 548244706 369676786 868955960 337496930 551587700 441003094 938239374 339021190 33227558 923672054 504841652 586713666 288191384 251652556 721909082 341394894 501386872 855334070 394822280 344157804 77301314 467069536 699474206 273919738 781331942 829486432 430770176 673355206 748821752 37707726 981681212 477087296 588463880 586029440 721704656 769520802 278490160 315334988 918064128 842830468 30942490 78161632 338150376 254393708 980137090 768461180 373203726 886817324 50850958 368628786 327629714 715633066 246032522 842038668 990071242 664704016 400420164 507810742 969651562 624816024 54775856 474760508 218469194 35659564 215838508 823556946 235432294 760507634 270812702 550312148 257466898 554363262 609536968 126833456 188734344 960804340 122112908 971269650 146944836 843201518 760093304 365142428 44714228 285326172 328234704 976268836 945439258 469187472 356607762 950045442 108528906 293425390 663508892 955227202 179928882 747606980 247757092 105455234 108429838 492105574 132116366 657255980 239160402 580004368 979062648 273927468 633477216 260467600 846255730 14748684 700189144 900347026 272251898 841891716 43155412 638601604 969086150 308228720 370783856 882309124 869426258 487231848 800884888 454192232 251698756 407984974 665767568 929655276 506702454 99888800 982837344 932694072 578535868 725028110 996882508 450786448 284016864 270381676 219586060 469185020 971566832 530588354 31583678 792657220 540028512 353757208 827966882 764634018 788375624 996435120 497984362 300227200 499080966 687287954 730178524 982397648 811061218 537847156 294579066 661387986 395645996 870556172 142308996 70759994 593888774 978548306 928871016 576191152 421569866 694847818 325874054 471367566 858058438 253438460 724930222 842385374 647593006 681760180 713623850 277793784 233596576 492190792 15744410 235627268 257327324 628221456 633218798 217430284 134955420 270655088 66851642 590201746 865808106 397152096 110669588 624584568 683522406 565549980 218409596 208804912 897149192 225925082 664440132 306264516 576729004 708322436 680071932 224003022 775270484 207846558 143311158 229102514 971274346 845039712 232098032 452350652 709565258 489222984 460513684 109082158 232775208 753312142 407890778 780442056 599550944 473039144 154240440 663933104 483262750 858420740 521273086 145880126 528594582 227544650 675006720 107200344 989447308 264206992 347811238 827555588 940449524 309193278 266807284 220412088 284126702 731438596 674837022 308331842 386480430 139843210 754429406 653462798 898134648 445689754 312115144 981115606 379557646 170924296 64823760 814991310 57035720 65547342 84854624 533779580 963755690 641807148 173705526 16288986 730411948 174601852 122809786 659125628 416109070 816082244 689455618 658688644 828098144 534474652 543186728 666583334 456415360 983034060 535568940 440713908 807295272 624828128 971455306 808283272 449229634 279825000 935999040 402004810 565373504 410166580 440069584 922723454 637178924 66012584 253675924 181134236 244355048 854772952 354862810 675613296 298410044 217690906 159932890 517005786 266853174 993140812 418117812 88932948 515823000 969861150 149970184 99570046 291066538 972675568 566463888 848373160 114426694 257661754 814784438 886870300 477267930 597281990 90759482 667720966 971741060 693460050 249814844 509332642 15761806 547133826 323087112 454982182 37200636 797762684 606296178 325869318 278664612 305899264 564821966 293168936 294984898 925273072 467260642 185153896 192296402 906972610 296133090 219969880 702445460 479708384 161969054 392265310 850363206 700667150 613296612 413040602 532769190 179939342 667950300 158329304 190456200 576706982 253748030 4558596 262379238 752535694 830303960 723672126 607524866 896664430 588238052 535293080 246843730 711429988 799934364 895413512 848310102 583515376 500168124 865643370 929104678 811788342 304247242 939618330 227429140 421338004 192599916 883549318 788939822 650327520 761277700 360489516 184216816 816988238 289988776 409525592 116966616 732019890 666452768 287807550 256456102 206590344 31520862 182789654 581206850 505510674 915084778 123316878 549075866 992384876 537510692 563389998 77179318 711618826 863881804 645263206 602683736 106463128 629732296 566615876 182724868 111240822 466085986 395098710 117940722 351014846 540326514 428589968 668944820 670850046 720072572 523764792 532068868 620264994 965770386 542384862 143332470 485084882 280657008 151537334 982400740 403038846 353534826 766715612 755987344 104865966 653666742 199929916 335830296 55798302 140875722 678860602 334703150 788794494 353402288 172497392 829772068 494401350 631763688 10569334 42708328 204479306 353046846 400249246 255436174 237839854 531621006 518499792 875762478 765839788 123048998 739505178 176918336 642774940 659335262 34788592 511641034 519251998 227486148 207233250 653529028 582277174 20660030 891833062 181897220 82643112 562353396 832966678 163159818 335512014 714509762 265267464 30430006 664431442 187253114 9208578 418338516 860197762 259145698 866545170 126631860 731672570 61677422 26537480 991059008 140403762 373839704 887992832 385012716 15396068 485523314 478835722 811194186 55486578 94818022 895249044 227953172 204505334 589505066 719176830 62660306 109588568 506154012 912170524 39184394 126109410 79542482 41979524 335164424 85963854 354861816 336196362 488803824 700540302 598396002 189166420 740073506 174042950 559525036 1332026 837950180 840871218 130718334 803243414 357716906 512605376 668496060 872814224 832771512 575032664 367235674 775545728 302729480 129330162 612351350 731372634 873536304 744128186 853011664 521392740 369140292 572737916 960567820 452971306 452447740 862051030 118352472 341904424 167731224 392746426 97090458 721995978 23582756 420018718 304646320 196610610 330025408 471370426 638828562 300115966 616616488 264901130 679961130 707109232 501945456 810023218 989707084 183494718 908401624 666122414 85560690 245156518 834376902 680265584 508239894 810705618 770363500 807218788 537524306 633213044 336303106 200393372 228672194 396765828 638363988 578281812 475792194 239718448 125306332 394493194 759212686 34227366 464181230 308590000 670137800 220762248 679068082 936014058 126179966 36020630 876094574 951461234 589216942 871147454 548782664 148288712 579543800 846577920 426523540 589044316 783625862 102493750 962456994 463739294 962734034 486067594 393998742 525467436 810375714 311215674 447804876 730457202 306960414 486807412 680937012 469770924 436721338 329141264 168388350 501510880 207973862 669345876 214599068 235201916 823484506 71040540 323680036 167345822 649045098 716966934 562756654 874967758 669381654 12805594 557094538 554130458 683078928 395544056 978786360 737905426 347701996 290888342 18740802 816575192 882138296 538294458 499855084 717392010 295503510 21588662 557278196 240015630 587016566 398744860 462114460 319829320 813308762 495288066 528000780 769546752 296906834 708279720 743283082 231092950 832045058 74147062 730577434 820900130 560292120 868850698 174851930 248757008 86004760 643700456 902504852 275066354 992129510 274459812 989411920 715002476 434450596 396812606 555671618 586021674 695903506 828381846 598774306 793341226 507640114 163498508 564526416 791582646 201953750 91056960 223572868 882138596 913675914 192791742 299801262 652740840 939203162 863001910 71437410 786851370 368335178 526576460 54269424 780018602 635747354 736201902 80260858 559795966 768433474 645627532 38727034 623157630 510917874 756660204 283074688 37605822 910030874 295414506 837596250 280970514 220369066 949513174 260749240 747902506 305320098 275858200 856380970 133334546 921551690 945625600 842052296 101851192 88716882 455823866 797479044 984426892 755890338 842521704 670670464 291593056 769976588 292914516 403224396 293645094 716828366 545703304 735565304 48068018 426458462 666434718 654883152 353950654 602986194 643140494 707328390 606725550 875541336 451778540 674197656 690294808 773107274 795101026 718922022 212973638 495236752 604525488 772879862 898841916 946645344 519713194 685959238 33303384 701290354 99365692 461027462 302668136 713975622 690811078 21146130 214275480 94211496 767661142 938424210 645505566 797337100 746133298 777556542 212951958 344121820 405829350 387468468 972346558 140044150 192206674 726364272 212112102 891449292 20851746 100046040 862182738 175725308 655007868 344145352 21951922 346146972 334113746 234121444 501147624 866159982 427273650 312154762 365322468 362114128 619448594 576048322 658318834 107772484 631397684 226625672 535149934 596069968 155677848 161252626 710900560 39443062 796906500 894080118 73916678 470136540 280148732 221296658 284582598 30909280 28332110 259155692 768798952 766050564 294986086 960053648 50976018 760259844 34190742 727834618 173073534 25470586 778064016 524908358 250328948 774158540 774173212 503230212 965579284 278964604 114452334 862676740 963524216 20880382 119756034 58421194 654255030 135608128 931665934 874706340 637859386 74095114 259399092 74860616 195478914 753954556 734522364 932839440 996307468 162271830 820681594 511654378 739579710 54251748 274319572 748384710 893732360 881851172 496253752 2955498 988135278 509464226 180158474 19392492 594025808 18741120 882070608 942263832 302859770 36696284 433532128 830231688 564652500 116314678 886572290 570647682 522243802 967150196 805763962 949137382 792989712 349007880 988969866 778768818 857383992 164426542 435904068 914010712 199488300 879033288 892306892 907548262 462572912 244913660 623339182 356509054 936731222 316374940 621624354 2144550 317723010 51653204 441365670 766526638 94630830 302003954 984888060 124233768 935063110 69791694 303943636 270050886 706537564 674311824 458288220 864560916 342895590 597602330 455537090 374150538 437771030 653182264 567542190 683971182 757301778 9511178 134810538 544512438 254816382 391856558 960227158 819326414 524980676 671653964 19898818 217607246 589230318 835764002 652619846 582583970 171008372 870243398 796602874 319251322 913935536 622014118 298239986 576269374 149589242 444596244 173713996 192993940 772721048 37666716 581594456 370689752 281370396 272467766 24513888 216832056 334599180 632287736 685285916 186361224 841097528 990444528 847914052 328771338 646669724 470143854 327025830 303917796 566843316 496368012 654743218 252278170 160382666 790860346 971415716 896810492 455713400 609403438 883608834 800258770 342162836 317937182 990852854 208633790 961529580 167621624 725769400 55162750 899513632 598269648 704095304 954089564 170225576 572374738 794065486 937264222 169093882 177615862 825406768 920837604 32722020 923281306 601655592 187717174 409349344 443299294 760202234 179526128 830181182 128309776 524155486 562252060 292828980 900428250 564512724 997469114 958544646 865044824 257087432 162311140 875916432 420146824 930059888 802238872 545583180 536147598 858855946 887463844 232732424 90104364 902374312 711404124 901251990 131076462 310160448 65670182 929045388 992484178 603792446 343067030 263398982 344398416 204156696 850096562 495880850 836313108 732511408 248602816 828294684 310315654 219577460 101649360 841918114 365338378 317980956 553952424 202224034 940708134 464892658 192542552 87152226 359476824 192035674 533487538 52486388 406841258 832635380 830971044 497554460 930456988 581873966 393116164 931738610 860371444 476361284 671859316 317079516 356404756 731303310 559018812 554048868 563362194 72921580 96644790 937909844 37148848 77253996 621505964 738074118 506889550 107600674 356204862 299386624 524701772 361749160 892984130 471139512 815668614 295034470 83211090 921119310 644219052 453551920 459154618 515441644 465296404 32795840 594255998 187294224 669465010 902887584 257438546 111078492 147327120 75319926 307062584 642369950 25189456 507628470 531375042 947857912 161419488 459056714 32276512 965820150 96275480 780338350 786160038 314699444 575336486 971636098 867453510 872985154 848082052 787851736 936788664 687027096 692832456 998499756 170480558 557001194 762158910 682465774 52710994 134736196 650370528 335820610 10931528 333392786 32110192 488469756 106992386 619938276 58747162 886795652 872631446 183293138 574381976 765948910 399482888 209778268 595209228 448101228 716760348 955751230 919688410 724191558 825280570 218657436 784927908 596187826 309509886 460239494 831072690 285783100 523949890 307563480 349089188 693197658 617787306 823558584 146718740 16431924 76905266 953624650 403791988 652329576 682614184 304760760 844803954 184277972 984728620 2166644 629367892 718556950 933968334 741835192 955059980 291400828 185255806 871965078 188978888 36472488 901366556 848506094 817614968 885301880 784393676 974678282 741844574 805231928 135620156 824683118 554094578 760516542 790587918 579656494 107479668 743240470 327940324 609924720 368305426 729194022 526050052 50819326 795853760 760500906 270602722 684530604 315156770 354614524 634351284 15866958 795497370 20221086 536931424 827736392 298062366 521186382 811331346 127369714 676932768 275349116 181753434 904077406 405195118 775156026 640177066 381024270 280421496 348347700 690591856 541234448 214439482 540624128 994479984 956157954 617820256 691442314 920993450 307671434 687478234 706460270 750136954 378786130 395683444 201148862 795803660 523160348 972592408 51738722 208835544 95293776 916581592 886912846 557581728 681566288 610059822 241694280 383782842 59613144 998334854 992075614 902693044 650583254 371826650 796950002 47762836 437438562 821518834 979609294 205647634 765597686 650185890 895150852 276010402 480044512 281196470 499660404 996782464 886559756 561881752 660870942 809564956 402933000 313082760 304327378 342539462 410539754 995076032 839295478 192015942 373641974 47670514 590909066 639808410 892773038 685183466 238209986 916472724 839504750 857501104 644364230 892341082 394923038 25552222 52712068 412724002 495572872 771712136 549972718 878228612 82584244 302691698 240358104 38172572 976970130 699764388 581301202 872351764 269656768 552116784 791377548 962651976 171251974 888466210 504670990 442680518 681510920 505681420 343971074 612783672 718307618 678946864 947545230 348529714 438899756 373514524 933613572 675281616 996891846 988010228 864756574 982255116 800759144 912357258 658467618 41975176 790115462 672527680 598990502 570043844 180645382 552032282 751698900 694133996 364986460 571196594 524503146 602827258 816582906 595212450 743042506 886572468 457543348 436182822 549523206 421706578 897273338 128303630 339483980 24254372 378181382 951902404 594035756 339547422 249299994 955143614 596052068 354542582 798697924 734861364 797906310 393230780 340943246 668704106 745679348 705551604 754841180 914353072 428894328 159398222 983262912 875037106 349083462 30676088 630529580 311890214 911373628 4243348 794713754 975873916 574359680 251544470 116721570 416199538 713674166 184717360 694951888 885637284 1600374 190766444 612973620 81743074 675031500 619258582 401506924 281052494 111272446 951169952 59623632 41897460 195304654 175179532 622022928 654931460 483240906 212202934 713038256 171849172 420264500 731513428 28305384 944079780 875952566 144464050 689513544 725796746 492427472 349275742 231066454 831720580 822218042 459447356 274505540 49606620 792376346 95060894 611138798 489884002 36773636 643921634 479138098 514973524 551735124 47320364 586059456 375282644 577940104 97650292 952016560 202713244 681743684 717956098 831317396 694921676 851241016 869134292 506744944 796840836 161064346 663700106 975266652 352981004 587907414 297206434 128093112 380293554 969142692 463034550 848996 728997082 87168540 591687476 164185528 722254502 411995478 495678090 596479630 702234838 985652326 737199192 953336178 565118464 586153366 478843180 820220758 573042198 287133894 136928988 606861206 920351834 991104520 396275630 129371354 534877942 548154634 317821194 899916822 469399422 428468364 558002428 124669528 983650764 156465142 592956966 390434964 198076466 624706846 185320976 123471210 8919536 869107186 465896336 521939072 849223954 622669160 843847692 697301352 29295144 833821584 375241344 134097346 2839644 608660246 122107820 887306502 280207096 534952262 63047114 509910308 627860626 660521982 64906202 621318526 947830494 193569158 435122396 368504028 148880718 967835100 775940818 578529454 89111288 913865104 759373810 372576382 938359316 527002618 98266170 852754564 369060624 786864844 314733472 333730216 799648810 235479678 848677224 52201220 576583784 805444700 142069088 55803678 705509050 551683514 113202280 178657950 67306254 341038040 566787712 461604688 69434176 147547530 908552724 894862216 620894084 917764732 674909396 318368182 802551884 770850906 479969304 703101318 594526100 196081154 550510760 165705160 867915510 853588228 529572362 694444968 868903442 299546268 831523088 425968540 732055188 151443828 118882448 514069778 36978992 435218826 600229340 436358238 225497412 170048506 259366414 853617732 553341734 714033736 588344560 297506472 820201750 507686310 728324966 479704484 337329356 989808116 131736038 98267264 37245038 376347166 47126188 264033020 68053600 375380100 809340894 737301062 189550918 560064598 3661448 676900356 786475244 638157570 619507938 382354062 35390230 116792604 741212238 490973100 281014542 63595110 424606430 298855684 538845952 595260964 392633056 701185836 551639426 333643836 81123576 936314248 22588182 282133876 24819968 393635810 721753344 606190674 351258974 930503110 488973328 939092468 401194696 125031846 883392270 845729850 729381464 416804346 991300234 356108888 342686246 380587746 256377212 56134172 719507192 320180900 628448502 872559634 567470342 685294058 238355218 798484638 670683114 851776502 168889246 329466766 507060890 594326400 93250120 860051226 700466116 175202242 714404310 736421642 317000378 126199708 830668836 949071228 97779794 237811790 459560374 542057590 952273866 290545906 208069864 767750050 163552270 245786108 49865246 708493672 14703494 146405302 860027982 394968000 88320012 549956626 982966358 401223868 102749226 876415920 227046616 64013208 461545420 267799738 605875032 598518844 907047890 273204710 89850150 661419724 458849480 375184582 185339512 922833596 771959674 73308588 887326850 91745930 775718088 554888392 525989758 452170400 648979904 312795720 766389000 434463474 667710968 872280176 268567036 868675878 667420616 703952358 876303484 518468524 733373136 310561108 294898956 218183582 951258100 97862704 569652320 531786224 745092242 748162774 623881034 12647756 948647354 252671268 744275426 1685046 874889538 427087672 190268388 108764640 551950258 133734488 164349638 346153934 61164820 506117584 305062662 992876290 121931848 289164572 11394726 55894452 932783894 206243330 846581810 88655694 419459504 4928578 164405256 427528434 410811252 733999338 760573602 342958818 358248434 588834424 613287084 496253282 644045296 69250658 244267990 35454184 578655042 958115790 512859900 516274710 605593142 465129196 989056670 668090718 615237258 478486302 306575872 960620430 87680922 176973958 12718484 715572706 966640272 261254406 43090074 326471692 649725570 728051240 190241774 472341390 114112614 16453114 472366234 390598360 327432782 443678260 406663902 226883788 979245604 664701230 755867754 543835370 475713200 193682646 572344544 647776468 682571160 167895876 192605692 291972260 717580822 122783496 361472922 375536038 260061682 874927796 288749080 382864928 137128404 797836446 292496520 707048766 509233892 650441996 49599450 371076840 608331668 728990476 145272362 210627698 66438164 378286736 478334928 257363374 286767346 742245076 601900940 140905714 478792996 579347766 55754706 692060506 519225328 675633506 480126828 286387962 301193552 472451654 305740996 969355468 813590374 82913628 995061780 143643944 906171154 693355814 214159128 192200054 146309430 56940364 716243838 133126576 545971196 270875648 533791688 334822948 241173344 968579708 486617066 943843772 390409478 963188042 665635230 816715174 8283316 294989740 36868722 690075290 15786908 160318644 400177400 56815152 457989114 979900236 469074782 663532964 657502486 39775592 587211390 376101322 358497610 451255152 891344814 828466634 473229148 154855990 49058586 353121818 544821938 568125870 649920090 490512010 700736956 385618430 242886890 127804190 174293444 271210080 248595840 889509360 403076766 178547392 171708036 107115022 464659904 781194968 975502602 85480360 887955302 403144742 314409984 775772940 846962974 84400046 457856670 693778242 539925486 152850514 161685660 899091534 946228694 880600088 278744436 170687950 169160466 279817684 265818994 854545194 268888392 514113354 879541758 390403226 491561906 332533724 764887924 693888138 227909474 467494330 488363756 550550042 934810474 904685366 143749142 717361856 906013254 251276346 419625776 827999846 612014444 755744988 929988934 49301378 95951986 492746864 614340024 987666672 676638260 367406580 847778266 483549120 917255118 380956726 746029274 313340028 468549810 714477706 998003428 527211254 478432154 339962480 358910834 117449208 134491110 423877904 678691610 276330918 903699992 205179344 376066688 679445090 665282212 692065300 410570226 325015222 754581560 53586328 604464372 499258606 822524752 720017854 144466374 303513976 897712524 493579650 912531126 787558148 526635954 720710826 377690582 708076546 481401834 12274862 967427234 590297684 115860538 332389618 322020590 77579994 898424780 730077624 361693040 710798450 253273880 172427568 123431226 941496074 162897054 109725868 955348094 175269950 28102682 990443398 362922628 737150996 28944216 322809122 790816152 536336186 295523674 115297592 170297642 147668780 238887192 446300818 959780542 644932920 762221644 124806644 813949542 615381558 963562532 430410674 678960478 945715226 140025760 598703868 868044060 899641760 587843192 69807924 740112664 895088066 831131132 702035690 907976240 736678328 127664628 429044996 754721968 224909810 642635158 293028812 473966930 210150622 387762684 696387176 315837262 406825326 252666894 488455150 393378286 974599718 422577482 55608152 241964240 794028554 684902312 558618348 465113810 629300968 302280768 844482450 700589926 2886986 226126496 894379028 871279222 212526370 215961344 441260704 616603440 488685200 751745500 772746428 322760452 125387188 239818450 844073746 360278666 495803244 298048170 760816776 467325818 385280610 941085584 358070290 506061262 977745682 483975040 719240816 180147554 826867022 814997726 260506526 285463086 737321946 208764490 982967720 337969994 652475018 717803956 328257682 5356584 684668680 48677288 21696256 839737810 113875508 556681644 60434956 69858288 582216492 756791482 983879872 186710452 718133916 163389346 77606574 383938514 606108996 436801348 509806668 331215956 43808310 550279184 838905660 279061594 893649454 72386784 259865152 856048450 863645208 561273822 90590342 719877386 362508610 358836762 106970216 439954968 883143030 471708546 738228452 665505806 361676540 425944390 569999312 973448354 881005850 438249156 604077004 898586678 454778112 282690880 340091894 102929882 425388898 485619214 61967248 396673678 900819950 136730906 641987514 159657588 806946342 429858540 549092416 102627046 893519318 201293430 217000224 40421734 167201150 475444226 34286940 287969542 580258970 139134848 989956676 433636384 717873436 681155642 323933900 976962770 841363844 902139212 495865294 73205904 808137514 125189944 936675630 99179116 670019696 103410374 77077644 890406526 663365294 255089250 363777304 321012044 820827298 80317136 28018638 230337456 538323848 457826408 100539912 644705954 336219022 895605272 962957794 707146098 346343982 990800530 879350396 558897524 154464324 488897096 146725156 722290088 875186164 21429516 424010892 221708770 333776802 688449366 925697704 619323098 903068676 64322332 396829090 773712450 135209320 899769412 857167132 910771744 223149646 777319100 718412836 450867304 392269786 797960014 824540926 433540704 295492096 429768978 317329142 614401550 82384774 408575680 513428014 494672510 512510436 829507252 48252216 49142654 713012878 481929534 51822870 653360846 413343268 699114222 218376428 211850624 912898304 199854966 471785616 458347544 559180458 912708904 858918218 260519032 229537696 742558874 264828514 373545628 643832096 976903118 804764470 605758558 352711960 800438990 796823228 145805704 527721520 796148548 100539148 144296530 615414568 347963794 985378354 11483316 843762742 66515900 19831752 919581992 73565594 139695820 981655806 347357970 435675182 411342958 735766732 398688878 324983700 166654822 895962430 249881856 983838436 483404956 536614420 704358576 763600872 212365608 529509622 16651456 368409674 195590260 857767430 585725304 451685296 824221540 168272624 634683830 172768650 978343380 893927642 997569094 408534354 330570014 639643592 317908046 294214874 865806654 600113120 459369476 314659228 170604712 828050414 48626956 682907750 940580064 602256958 704536940 133887506 220205018 8936736 130545250 513960860 66165664 610739694 477851570 279290930 403100708 430804568 997872696 381906472 279482556 791830382 793426386 102013074 324746422 996901836 17689382 381080528 48583412 157864424 943625918 358989242 438323602 806878058 745976060 312730282 901375430 757567112 584676020 123837196 839095720 954014290 88346792 919929694 203431390 624289946 287642154 263272010 501529748 785950920 480108354 478340280 287834838 2703372 369522128 996057754 521386122 892028540 150464056 835096212 563850990 362061180 906798462 139534954 556928580 835723554 168868418 87756458 601016994 501811544 232528430 985730356 175584680 968882564 943754828 850590594 313370368 810154508 40866526 789974208 490191716 795889034 417219068 340311454 655474820 654886994 336935988 79042322 120228218 891835370 946616664 45703350 947284230 472811902 783031920 656094080 136720134 218968390 741406192 529223142 233535310 25136232 256172764 185083758 435432630 434176682 817621362 546954286 231256298 680543882 9865208 980552218 557629748 127441542 801103426 502904540 904791192 280646034 114816560 579398190 650188898 659318140 252664668 519254232 274077032 987863134 293343654 411979330 560549204 826538352 709678118 831541448 974113876 443578458 819221216 929686634 527771282 685815198 400736008 607573176 632028122 222634696 313320956 701681594 908599826 78810496 990177464 908820736 247964014 462361716 935561596 651517766 598749780 491204560 32479546 934227464 753994454 325231600 241577806 766196252 867049788 621752332 331006758 563273992 915534192 972292018 944930758 422436990 699794220 796379974 456161810 481147296 845641718 21270272 432804528 929862536 740154644 606154930 20361582 788828990 447987030 995860298 608342230 462941400 315181402 679372088 517864646 538482550 35025830 409505736 374511042 969521612 311490188 842673292 671142876 303305292 507142110 447634954 717701790 616115206 603671150 515062016 135597790 261853722 34389344 782360696 972757242 777601668 395638090 852689688 883710466 649288270 747445438 361194574 996000012 463642886 339750588 298249694 828578058 226227120 50384826 273481792 30700642 720396226 860692018 701179730 425127706 583339656 616376482 610279162 912070722 203261096 273413356 7360968 836994530 526221032 732186836 41059352 411691574 807118118 407149930 454005344 628861680 777390298 477590216 432132704 219305636 698953926 866209432 906316312 539528474 772966202 148845948 883308104 419302184 357026786 914092848 187014318 696923418 310855380 649677466 776498250 702563248 364394916 123897104 476972894 985767724 812494630 646684714 624095494 653729332 916242504 493516832 814635126 878508344 204836064 407921824 865359726 420931718 853112118 768143818 967211546 298433356 395197538 498916152 937554290 810890010 432936536 85740944 273116006 750290606 755960894 160175448 623349878 683094456 457129500 30747704 670834946 208377860 205563224 830170366 469345228 937919682 658675628 646531390 575680176 879791492 607674018 730472888 273307382 235348670 812039436 451869932 610207660 9430614 706618466 8633016 683708956 851131934 726833188 829162640 187197576 342912392 636362326 784271460 61584618 890692246 78261410 353208674 290474814 773463170 594774554 218719902 606019934 62801966 217749342 69949628 205246602 880948486 263423984 222970072 277462926 32847666 46970810 198746876 146005508 895659186 442220540 159459580 548120202 922832332 410458908 72250960 9579244 155068392 941914326 698032048 977053960 704001758 527145548 698645652 872263752 925630696 109661764 877273050 956673366 47963648 625718138 875322456 970237420 157859620 402661116 50882838 545104090 994841034 183785212 677992604 642878644 985729586 982679228 557697500 687440132 915540570 448865770 440714156 78183184 935243040 539537428 424540624 261736598 448296816 966075532 425465744 834568948 179483098 167220798 488728812 411491370 183192582 566297362 270847216 485109248 732871072 690277534 893634340 465889502 522284538 458713002 499534852 512454076 601839798 133234128 700491078 688550150 350845294 342730428 228857008 477066660 562508514 82952864 829586786 831210892 263315242 607593832 762901206 403874836 234697738 874873702 6721044 970379566 659365850 716944460 586268446 457926700 278351874 259008242 551311048 142141424 74228972 393363524 680958782 847013608 740549316 981335914 149938072 705481424 720165656 776389630 324358412 51009006 610845004 569637668 503482358 443048880 537047660 712566796 969660294 372765764 588111548 917534654 548226866 402729048 391864510 338764900 696384242 295998666 263146134 736853012 127753188 83000044 924656392 489275180 851360004 206895612 848554732 921192656 917603484 471116368 68073276 583798452 144195652 143898760 339444886 809824994 20293886 492739130 378977350 966010592 26081676 45705166 977083318 109773354 651746822 611053634 390013204 699789472 872630452 422209476 740006162 839867828 144108958 462437316 23367490 538745946 93500576 539084420 17041932 493852868 213095080 582725266 104345926 699424674 927807000 749415522 739177144 42432742 935490552 645658922 279606558 635377618 341039490 477068406 947804202 734626828 566602684 696362314 817827630 239344920 919511270 262145404 748722080 506793266 9000726 59077356 245973206 54330240 347189096 791295480 430486320 672617120 50126758 853748346 383776730 795137686 39307028 905148598 656892464 445744242 685751430 188074692 270410158 654534820 332119390 448174994 230769168 514474804 513482304 712204062 444450238 728371980 558654534 575895766 164622412 9701798 511475508 612499486 94570734 11486628 40898372 979764864 80954830 185849182 615697784 297057484 218700794 432723892 992918118 9772084 245400430 275380674 14242672 141258330 102727832 60792496 97666576 509398366 374884392 662775758 954079598 506396702 496453302 512698120 69992954 54771874 799428770 149693668 591936076 870849100 812224210 499624294 896564322 309595062 683851106 872372412 3333750 202183820 84541894 435722410 432982266 822568044 183969860 329113452 146489234 785804260 181980216 328736618 994597132 845803642 157795740 499662502 92576088 582278254 292602504 41740602 42110456 277899772 525820936 705530820 610863948 313431756 13071966 460292100 210111796 734189884 348443178 637989870 659073938 919052394 486470838 331110178 573916632 15256458 775704134 437438506 310337304 501775218 99746902 607730574 639515398 95613864 509749792 549546542 520489242 179862492 499672788 70098814 532789280 438752192 128437510 442910956 780253826 294519284 946007336 461214692 998428006 928494118 63885408 935964304 651955248 249079924 998661094 497494090 287431862 710855272 893487080 639218984 8021286 963949988 817836602 871419624 832845294 695897920 811943946 292808542 685390962 14100632 196935170 686236128 133226468 145717838 459110104 597958476 92256006 540206380 528298674 309397950 859082448 240929932 669927122 173190074 367759614 108013724 538647838 137757188 797113528 469962996 18384766 808354410 58169976 12638318 963616364 964622882 671926080 196870116 212888962 278872606 596823404 412916452 305289192 49221226 148238800 539040872 873339964 476703890 333992804 825271750 394543924 653942464 46731594 46032800 452819000 765137826 770851350 654070244 356527374 714326540 26505724 263529904 795183826 386010982 896448722 577052078 649884634 483055188 841434742 534915400 279944862 901742492 876305492 781497488 634185852 169649874 871017604 530030760 800056198 502028176 202622804 708877438 555082268 119098784 383478936 352119414 148784766 151618878 481508784 994548346 780449048 856022554 758543496 761999490 77345892 244623448 639317400 537473624 952434396 81084364 206531928 70824458 973508946 671193332 634471394 950868464 159466004 558524400 346715712 646125202 800790066 639825586 377036846 509516986 837450208 167946180 758721086 458876426 327295286 880305030 654177392 719574558 339815610 38992950 865418668 808058454 679979008 939491290 595210886 924691422 701351080 546792236 443364924 834243784 219649586 429042334 928777726 418538934 195366880 916168124 462874370 109888596 416081640 281548714 356857802 663996388 727027132 974582614 571978896 71289000 811158268 567707346 2109780 549742840 120367560 923285296 717866274 52140608 624319122 566227990 666283680 569536110 412415430 70145468 290039046 614602432 399472162 425001346 478336694 190232140 972541462 15759650 693352358 931835020 794346912 372284280 979058992 594591786 251319852 934617684 474264188 89136520 682490048 820390646 574651710 349910008 764393850 505497826 482921214 236661080 886242848 468874816 447160294 28345624 468808962 385947412 712269620 23328176 632583196 688971050 498925622 334402772 341026100 628996092 13342350 470060838 646074908 16649796 465408330 353012198 175887946 157966298 468736346 525581998 630726516 178388374 507911580 722049902 139686406 957424682 825052302 272254724 42167770 871028658 168068282 482355262 984625998 572970036 187116428 552011166 47000638 527699428 3296044 444569564 139815496 931671136 228775972 623450846 445065542 703648544 305377780 678750906 72956180 102331272 693749412 147467682 30673666 222838942 426838072 420467634 335292140 4444246 874849592 4738412 228103544 961258132 633961190 270661324 668521062 628722966 267960562 588751826 577795930 300588728 436656166 11599136 941510708 883178008 693907072 764425268 298952746 559380420 299128852 4567390 394350202 559152436 264737364 720879812 450729910 804382380 365018326 988428076 808423706 527415602 307460738 836925764 756977036 982842988 443716068 388192338 465671318 106280066 659794492 741377690 706627182 532769740 211634802 261246938 428446760 827426662 822950682 324647436 218917108 14725366 905273070 148547650 99374448 13118712 462867938 901298258 518304320 648723950 405598338 541755138 518400370 846965578 872637782 230536254 735508892 259632764 755939800 214011850 208791678 388867518 830067222 266221384 753536640 460441860 98097722 916848654 492620406 242825716 879745054 352562402 845196820 115517720 240083120 751987272 298024614 823456352 423539876 62543278 307143264 409620234 4593902 745540840 692068504 57654112 334984680 271130352 214593696 445997554 811025492 967609266 856584452 1809006 612841476 542631534 377641106 161511240 788780700 111033866 399185466 976908604 191303606 228917620 339497986 746817264 973507532 477712416 499469280 258559620 103487172 989492024 93448154 895046458 792022384 933053322 133153028 719961958 36767152 665268010 439885490 776330232 791060106 494082216 537255988 926700198 34365108 521408596 250419654 910321096 484445026 664179332 171362376 11785436 336801810 901514128 702804882 912414454 828360614 465526734 290119410 249649752 311450850 507498272 403121502 718763786 338042140 194424310 42463514 648879756 294677850 66601078 225821504 641972592 309117758 134951442 622567008 411281224 357962786 175470002 600178394 244586954 73290900 438951126 471045682 426892576 86574702 975935580 9964812 645815260 410540256 870612968 137187552 171363700 960264998 782607408 620778516 315948296 498150586 67927838 478539696 752417938 878972232 450334084 524265726 68549030 47617768 445452310 358919158 110294542 107040508 215433136 260546542 835304900 848019910 588088804 25393988 401193310 304028020 342800930 3562840 410058152 304705070 364848178 264190450 834255854 873885002 356582888 697496496 417253748 854442204 733780286 796367334 546225274 620772068 75119568 710670746 781860190 291392294 685953440 318707684 566288082 235060890 867255860 225681718 637360798 781443690 132591098 128041166 243818254 248832800 71060366 102769140 399106500 983394314 256493358 914629846 863967956 984687944 774096594 266087076 226745912 409804536 778081800 910590618 430739330 795006050 46034662 648554642 974970292 507070846 572011280 638906454 473462788 832583588 603289422 869988662 445568398 982681102 36183480 370639130 482033942 717679266 833626980 376609992 457615358 990566916 386104132 320086368 95149636 2312022 931041496 765463628 713731406 217691966 72746182 89507820 153113360 426948402 276747144 635582226 202878128 332081628 349170724 696064206 11369590 275488794 967881222 751084584 14609444 168106038 713519058 648235732 130725992 595231488 13304992 956327912 851362792 124691908 441559524 507382696 994402670 821495268 668958940 459718256 214133394 929215572 980176816 128327848 139152380 991123580 615945446 678580270 757102876 353563096 547478350 316314414 832692490 315601832 251548158 199996858 159138090 588677484 981656494 64134138 473320884 707805516 314843236 449387164 783503884 602629598 476670328 341434110 536929612 331197760 812159046 632473982 90705422 388059876 266543578 27042076 549633320 2826662 877395552 998884244 387038504 424340668 218588370 467935414 83075390 51412148 948194382 113387828 377887696 391586842 77199440 69271646 188934866 431203620 660325072 310153486 757301360 429143850 41880004 553961264 968974692 824805052 546837844 998463260 343053692 765142612 659060636 207455230 149484056 443057540 536647752 300800926 847856180 932899752 940129878 462713702 779312720 360872464 25771880 333214178 695003922 38649444 918966682 886444934 383149730 153984872 215745914 245253042 833608272 207597436 411609384 702666754 768146420 699365948 326874632 69102806 244005144 565961562 149670908 631791718 239019948 588884048 333464278 333834704 411320350 897812840 237140690 236073972 939060702 942102554 751883224 344266510 659359880 47348156 55146810 145522198 204129212 225379972 319166204 641131724 883714212 838533618 813246788 16203972 449632830 374734482 667473152 623045624 407657368 414162458 32957994 309480172 501371082 657831808 190075656 128387128 34294870 178739022 774950358 204173902 272314168 557672612 995111264 312238092 654928142 738294214 281248120 939283372 334100332 462336182 873580002 298483418 428116024 385157134 674150576 870625568 392523144 793280630 903852822 988665834 392983628 567824362 358446790 562281962 727368394 958399358 822254920 707183314 863006454 180443520 2163632 272157638 638093182 369248576 79197048 417067342 227071264 493542756 501485354 454173634 866335058 899999042 216094424 519728712 424513010 765363162 906008802 846984614 510512106 12056928 147195226 955345196 162290310 371864292 473266066 833934620 51284492 819429792 471152130 634257686 780947116 186202918 492743574 939010638 974762620 464763332 814586894 601252942 846753526 35014718 710926724 275997632 31286498 303215968 403007774 194535026 777508326 384657420 250130984 328678754 419812238 233470256 455765440 524996836 116639146 758852662 880055798 729542844 259101776 696851536 457489006 40250524 752926220 744350584 865059474 69064368 721861754 817853676 407395948 565793632 642438194 64302608 968859000 588855784 248981106 862232344 506618256 766399632 902960636 457706180 28752714 28090270 807583248 226225822 968363052 86894970 83171786 269600728 233469480 548573494 890252352 313588324 751088118 960855370 364326338 179186416 89112972 632654046 796292122 168217332 469203436 766263364 684249062 595878036 271050130 2882300 824485760 758980746 152834020 991778356 807962264 250848808 791092342 538061946 617408190 746406492 900032912 673365316 628690444 597750366 755252994 399003260 333253864 796969090 774921548 239125946 327460666 865543884 953840162 854925668 972466748 766323664 513586132 621383402 410914890 770214064 527572978 79572890 234954828 255278532 131268068 399824022 315110252 157981692 610815864 71169426 274804612 182060330 464977832 899959992 231310354 197931430 866549832 359834686 230308254 945815508 869527500 421095064 847512258 888899886 648308250 563992254 654783022 635260948 816713522 899505018 282315966 156323634 380282338 280418484 204493488 855604280 514136342 275158696 521880796 982657194 494760856 54971412 219604678 134491298 313003832 778319454 164317172 218665116 508878688 307584158 899329034 420543538 342725060 820386906 365640232 940545514 209359818 361492652 316745452 435758826 433831072 946839422 379745138 44932106 185097330 165257574 8768690 785702952 481078874 611351494 145795996 228693834 378126444 185152152 949232400 82504644 152251872 570579480 279505850 90863478 495602314 103227634 666461306 402752458 199084018 663689948 444868818 394313900 508416190 130959170 821692768 28800476 936865736 644217250 639742412 270965496 719593976 220598176 751493508 545769864 800161004 974889106 516269400 323301702 539749864 119060870 531425926 382409576 884878196 701106254 919613192 120652208 804329986 701576442 103781138 394918880 490404526 953748206 774058842 107649700 74330096 210741088 840168878 323081196 795106328 821740306 179801542 934352294 36058556 934980532 840260730 638909856 251275724 651898768 643708262 734376050 412968548 647655970 678183868 294367766 403102660 14416132 56936510 650240866 448336176 11247656 164382480 667353486 295040946 610375512 242312578 603449506 834522914 928311990 854685872 881394916 290313552 888565688 192707956 257368732 39808640 81138806 896736172 455484562 139907948 86583482 601766652 829425618 582184716 730882 830858316 835289882 690032044 357841406 403199266 3931488 67050006 451640214 615415700 231211652 857843170 111897160 910182148 894977082 286251306 786569256 112243972 388696502 169276916 392569730 701968588 424242324 787168874 287197080 203917108 438118164 492705396 34497600 2054446 550037744 242635604 279723544 841599680 724188034 843539864 977638890 232205648 497694742 538702610 915923884 181821072 741383866 560833902 252579988 138859996 913953822 937563490 147341496 6396874 254029596 462729518 610545690 730120336 740772064 114432178 364699364 644900726 191782166 606099894 825571472 650360936 880399150 124879304 912142364 707357814 932213428 194653570 913139914 397698882 23075420 200337626 119571032 575854520 809586948 905032550 369549974 135851964 74024756 13714876 66596172 906782024 982393680 32208456 787715686 549993174 982870526 907217884 665079354 553655364 401041106 812155010 870572878 721182874 730205436 616578350 498899756 780193994 775114964 695631436 206437058 750409048 140442542 844042734 979963572 851359444 181224994 845329606 314948572 834313744 655074652 617288012 522013348 76334984 666787508 724862286 315498298 166304826 404889982 832494036 657544440 998057458 150675658 428606184 189184854 36645750 631013330 257262328 224963728 895877512 406397320 625919682 458839490 70143496 794217876 735339142 879740764 400529400 581535610 741641434 928516396 747822258 537916704 202047346 908112726 169656406 995879054 928958012 925152200 58569274 506876452 9354332 809683196 863223642 669611722 522343660 241348526 922973764 522954922 454504728 778770206 667287674 442250646 686287804 943780512 941446230 325129986 243122078 877277482 906761096 295963658 377820540 913554310 553719032 864673082 928398322 51195100 466190494 274916076 568477162 266962584 697548464 766831382 975695238 11961370 546796 28845876 273976672 75944686 961127950 314995056 217528292 124977754 141877510 562499126 957317610 40867184 959658840 577944234 816369878 73050594 626398868 86292280 625734628 153483650 785576254 89427710 119678248 250629640 800409192 404820912 393569570 167046236 178276394 697135380 768787616 313317182 795850162 277875952 142735188 466505488 529406000 767840796 213462468 241645958 502776476 142083272 668657142 368445698 856433918 955397226 399358248 894873906 659645718 869889786 918016596 412396748 10933420 270221824 766815502 955808746 849776234 576125680 253307898 783638076 370803694 517836354 214741264 367993060 178140634 379375274 844814462 705200190 955499192 265321104 121552478 882249636 177999942 871666326 789124698 723911668 559273760 328493722 890513484 113172680 980359818 510757084 920790170 219799976 714373118 948484088 729994536 15879696 775761636 636380668 303051386 192965562 59482370 592469546 79061336 556766622 799449260 299754954 650183746 977389602 39434392 602611064 156361732 644020510 63595642 588643632 918952414 93869794 630329988 879902728 487641950 935608802 480644106 698301614 331301300 413046838 541054582 820422454 945228064 273609446 572873234 792736090 371301662 29773334 163695186 620711530 581850412 186022362 436086030 772615464 7745012 249713114 933754410 380309242 944024658 273443762 689732752 95182126 142849526 436326706 152625656 352241058 320099890 774595274 459254360 54348886 223668434 555136056 239346924 785582942 992313110 93274742 687919382 703286018 70871246 255431530 270225846 116464574 838118558 91710710 339703054 189781882 105100908 971618510 183731934 332540302 435856676 853401450 615070986 789702644 503533980 118479938 458608502 399824022 502175314 810960290 273687292 733174040 662186040 713893460 449939020 39047428 792464670 355945724 158502148 223424480 187491162 355631974 510584 328050140 660061128 649319990 439022264 343003656 772455860 524808458 8968694 553997632 45472314 55977430 434732240 276475056 839325776 242977062 99463080 558790560 276290318 112553576 78442642 653596988 371956288 910439176 986459382 957687092 106286950 303340130 289159588 185413204 705211508 347339236 560572234 247254334 411892876 180986332 762977356 338835618 290144078 797592752 609246526 999268620 928686210 820662204 525761558 205544930 428901228 170888646 924755876 466946978 480907000 37699114 687649598 693407250 604140536 45475666 196956768 352571588 290380558 24168370 719874144 404092986 215250870 202224334 667537314 112903392 746328878 447609756 559351474 741756566 577512430 618864880 542321816 955543370 127183878 984460172 833549188 454699400 346158212 354811984 71405294 518511900 737504130 476791112 848477896 555168034 569842238 163427036 108425178 144684156 339380054 679477954 301741980 107453532 50697354 202613698 259781474 323129942 487993796 108655742 915352236 443181970 847102906 492665640 689695950 105393386 843964020 352595994 941589006 26273400 190738352 686433482 909325828 794206394 43566682 555927718 952470164 533011794 116842638 604464606 514313938 468130676 432022812 954141544 233372208 589158998 712921886 143373276 6828572 226608178 196586202 482002418 165419138 56530532 705673600 907076094 689779314 30149400 385388296 512949702 106244564 209457678 65589952 401711144 103060768 110594378 795163196 615547732 124625152 615193114 669744304 667971078 393023230 495054910 874313418 494833678 100955530 192101462 708192248 167907690 782163398 865691412 175371436 753304174 441813772 996775224 391763170 566708474 977834456 623771934 443176246 275148080 196694518 409214206 542145008 536227418 829302918 849789562 658093742 510551534 226577678 845277520 314991486 275598590 962651092 725269364 358516788 984216478 773726760 179840616 79198932 334241420 807423642 193182596 716287888 238495522 483846040 9510772 628951766 383541066 480005372 229938076 45101618 412337084 374418892 27747862 374922902 685359502 845079900 107085092 57996200 647911348 908146930 959843360 243086352 355990522 70913796 892166606 697878196 557164596 886861912 709416710 173778332 216363148 168986952 14998912 899995486 193829832 390085418 515557884 701120146 104004578 133894800 90769050 225300896 745577374 537895138 394388942 168036448 400658662 906895924 336332600 507427886 394582620 297230218 600470514 72452096 464065220 87587510 15601352 921217104 89677172 771797772 670027190 593056612 922052706 997019928 226600134 602139224 313038034 844205148 695108324 108277522 444829230 242512898 374616524 356459862 961883408 666191716 486853472 824742396 620951198 190008928 193202960 549811582 389084788 75197018 212307560 848820724 135068684 92807666 239910920 207174240 3416342 57930704 523932662 784762336 485781042 539236738 659457990 696910428 747905698 678677722 634896032 32228204 546814512 413566522 949087658 644711562 571441406 665082976 850385190 760107756 257233576 957426366 213328422 374176844 151033694 605423284 100620964 312216590 352564216 563160210 557728018 11568506 537055340 238739128 316356176 552729788 417498266 778588634 556327244 58851632 589961782 289134870 881381118 575781446 158638516 904761318 174176574 69321354 772100686 74839824 316651164 73911864 591010304 972629754 177023188 473540296 333748812 489319628 87841598 389499584 632702524 744308828 268604916 508488640 813776238 113270966 498825314 485812308 395714572 248251248 959103474 604112506 433028080 163205998 693617492 888337510 246651172 122356498 796185080 478260014 68604998 707900238 183749046 270157310 828519958 148912596 419624484 597633582 980599850 880703500 706208818 632571322 979084914 545530586 262091702 750413194 14328842 486267030 776766142 245836012 965488394 745509370 577179614 684756242 964208444 522709672 234333712 310996204 906807020 177005258 606853250 453716084 411054350 836710128 44987120 52669686 194120250 367711664 75317438 185546144 196325942 320569752 194897568 81397316 927446962 730109230 625560596 791244144 759908574 642411532 682991280 978949244 825900600 469531688 887644040 711303524 840308386 883161162 649484018 774019492 952122702 259319916 778014632 940140070 717941118 566340632 602600512 62172384 442833634 735443434 407133994 199651438 702053182 220591508 788857706 355850670 248573732 621355030 21385490 190695366 807259152 66113324 23875028 257213838 356819994 912760080 804110048 338594530 324692584 20845320 814406766 937481394 281127370 886614048 463847256 822681042 47374934 978554650 299098128 884518642 87733326 588257188 798829826 113327296 425033830 616310714 299323118 632806606 293164416 212002034 286119672 65247506 394599492 86979048 353968286 272592870 873614432 695825498 704835200 695831396 940060918 643718576 242152806 740024662 473966732 342170538 284728972 715442216 946802168 25883974 534491640 151963434 815709702 178594678 915754562 727318252 20900770 760523436 343677510 832087448 626856728 940212688 715668052 699742974 111552982 158859880 904901780 103423330 761414836 399963724 596800164 793989834 480514360 633036274 849301752 204159458 239755596 125698692 676956512 274280412 758231772 191457698 122231860 303635454 465002312 261231268 275922766 150903296 816592530 687954612 151701028 714452838 186575740 252814832 194842026 159700272 407963682 421650708 283644536 399465342 751578104 974301976 676883094 716275156 148569102 376268022 382146240 537462194 137765512 140654322 243183876 226582280 667189834 378620714 670837022 627251544 627388104 955246170 289988474 58992700 159291154 459645450 32184860 744757270 731230402 848835218 169245484 495208284 5214012 871036394 265312208 53981566 73514994 818128698 743698548 310515676 892103848 666550476 857626762 339293030 465511800 611641824 505654152 21466446 707764442 603525184 222063080 116367868 862462218 978971716 97953332 708152798 607107260 243390076 762559826 164000598 375364708 867528138 829615300 168912738 53949072 569199100 820494894 818801618 45023190 155417078 894866732 860252870 392173852 106171432 621130932 140635238 973388612 589792296 596134568 607611778 252294762 696233238 474414556 108581566 446932374 885077994 470952278 106424882 392090254 810070898 638892992 992768354 265591722 469311648 862157752 806070770 26028468 626048738 734748870 612204382 476063154 967894732 379586918 222057200 707004976 707351656 53065462 790411198 121140952 999394700 862626104 427728032 650124840 745548402 811722392 197567538 647873180 62961248 540171228 26985266 446514104 863949278 38832868 544016766 862296770 901390474 652546828 525758184 481843080 546025194 653488270 136347128 109891078 303770348 547854670 781600038 555800794 646820846 773177616 164450452 51271050 807965232 796047320 275286228 265546914 639906914 327127752 844798898 860334118 837733638 541099278 451934710 538912182 839765804 732471278 277312964 521386250 254102814 270915484 822830982 262447860 292418800 850676928 976703446 967861218 46404082 990694936 663632206 982394492 717399340 261943232 161398130 391670676 910573154 270652926 837243524 735064968 93497186 834095966 653686904 441953302 463965084 441479272 360220964 373025734 278899256 429818668 63859942 692900778 813618972 978712826 50426682 776828406 193438034 356810094 662320844 968063368 435666476 956324242 350069262 700707388 821708810 639352834 904838436 441659794 176920508 43088334 234809506 807904948 182692464 714989790 652232068 278194742 965901674 40839794 346838752 780718286 617820304 876939706 7973704 647776192 581539376 873614772 409132374 161270702 164647440 438436570 63929612 528896512 779729302 512135578 302400102 913840356 443411810 404517468 783561364 814407490 410424604 10372114 636739778 418950452 981762750 96482632 948654338 814395198 982007416 247353870 825276362 904014150 406133064 986810594 744871278 827166828 618946644 622118746 986657584 292073228 301165174 359849378 539384402 170142416 866540046 862571378 139037782 784615958 557540460 951495552 791291054 167036952 717501252 75241592 885286248 481290664 524842780 327652838 930954188 26608192 186470688 539474096 848336652 419265876 435109390 163286148 700788430 484022540 973704292 69597304 319373052 822510986 43221352 511516028 952376838 289855892 965366398 657630626 496570842 425892514 79984216 216891386 891833928 680741050 589636890 857975036 124960654 18129598 29213836 177148742 439814690 50138072 745432376 622187614 519028010 637612746 574240186 831281946 158206786 192623350 632007296 532158336 50493342 278637660 799024716 680707728 736881014 576922592 549462976 806575136 200561514 416974520 29766506 327005024 902873370 352246784 270307120 121002764 349582718 527704742 568102042 61428916 128374004 334711904 155110358 177820940 587741794 132661010 526655298 346217398 73143088 369260770 40074058 695868398 283171276 219239258 491811222 65857324 343495368 221860424 832764806 959753268 681874636 390413954 498482326 826718808 663100796 133850260 93726206 257085754 508999916 900470056 811232100 851519672 977301992 292671382 432974422 605968900 281855280 178929012 231763674 339869992 182056714 132864328 38133090 875849826 91574378 976356508 724683046 490308928 551648250 101545872 678975888 249643516 399423824 976049968 472494286 30654214 513081514 562867772 400019834 615053602 613307172 792661194 897152618 131924444 952659722 269816834 810858566 831179050 714393280 438500958 256476168 812052282 661021506 51420402 15823934 62610228 826017050 247055706 64113994 414311168 466287980 562386128 563797994 242301076 866092840 716879518 960487598 166290432 916225520 932339902 86606904 674696958 631122250 767122054 53478120 371578360 426874790 531585780 533634416 689694762 42700434 316382014 333940578 498217956 572713880 419216750 624634232 20928218 760131910 790176744 123792448 216657654 12322342 455845326 928941644 761491464 396363178 850791712 260588574 100329588 625783220 955339626 769038384 611348198 34539956 263357232 832827510 616668776 689494658 86790790 545770898 654049626 984309346 743347320 28734958 917364460 299847140 317131476 922560130 599142140 917461778 803377722 982127688 941627022 591228018 493987384 497540732 588189110 204314182 814008358 272247468 185822276 378478920 635495440 639425892 104482824 905851890 462294082 996609274 240783948 385725884 884336356 412997312 61693132 931838532 921704650 847973378 204490076 77343574 176953316 108295146 694618854 900864944 422449888 386404598 591363944 967991616 111685624 953044912 525647678 554763398 663350624 116542796 119855796 346488328 639451864 693077422 882642294 6638396 992792012 987708738 54351548 163282330 788250840 502018422 420873088 436097498 204922614 665562550 344918376 559769686 427146542 902639334 477274508 432031406 196651440 551780206 57147028 61720022 761098154 789199276 511328742 982162408 757184094 340273730 104549818 813508172 97407790 992532660 692246804 928262640 305343078 680272326 616146788 191920450 20069426 138926320 887021378 930577118 733508888 126665190 515693848 588163126 447578810 969402000 914308820 252966896 847377734 688225860 69595278 84529382 440078758 980290172 563754324 719895598 339990766 38921074 739601658 813155526 817459544 54410104 682306728 393523438 330619004 359239422 347189622 115240338 680026328 423208392 311959008 824147184 768478158 357522358 440218102 152063376 772457590 173821194 949951532 426666376 622599420 64576962 318451802 154650948 168886184 914798848 54063004 704449728 276005758 110795870 211857098 835706540 270467132 376401600 598972918 356551636 194762412 358148246 127234626 434126124 441385754 727749810 106501478 280332384 147674332 453006866 683777188 930601164 922068370 277436918 328283690 91491904 244048416 658464788 716660398 983574288 869686906 701450180 591794964 974043618 592108930 818640922 273623570 385499696 157583112 330964058 905194958 140063638 781738584 549700216 318754820 680096630 280078446 491089696 578833542 435093458 182649428 989012508 977508694 478172722 768016428 823980192 884962466 332122912 829838848 954729092 796213728 98745586 340607756 826217892 627611394 78404444 652196094 331439100 591868422 615011846 901379466 146153722 817154036 502494736 839034232 231325876 185927052 116803828 294116264 853518468 740235022 772590410 58106222 27863322 583913866 978161478 117204962 950370078 413816800 877054496 321703242 334484634 630055356 572391212 229923898 324956318 433180820 723063502 272441350 219634014 231282734 759855766 115087306 832080946 211288906 604029978 392903118 17168076 914157136 211470486 102065452 918372956 213732320 998695144 522426728 511901074 934694832 382744018 397186426 678209476 925809144 846558044 120537692 391389630 274380166 395510112 694147372 264995056 274175274 753597218 707152508 308714512 744708246 243989066 527634854 911890464 88358034 670224720 244472370 157559056 22512646 231276078 673201746 583472876 662521904 594259196 723661428 451128452 452200428 405454520 520976990 53851482 548394166 469837370 329310186 368674550 185785770 619127462 111349804 349587920 142396582 370199662 336404164 755723402 594549756 913090710 277476598 751728928 28719800 719192750 354318996 549805358 644113322 999776214 243839500 554655878 779617904 872954250 998930892 683087604 384696514 62409534 605170938 108731896 817243572 751993272 647377116 374443460 102213468 776249298 182079376 213085762 239964756 706316814 903841080 617276212 416518652 95995608 8853934 311383022 676052478 694265766 112838678 77322754 677698576 256539758 612337782 775795222 775833064 541092478 25795186 722516680 200182518 44268706 874341550 957755204 453199102 39885608 968671370 917575958 751947256 516855544 609920490 376477284 398158092 523269290 794516608 202718328 322827506 87925142 751100246 467694398 425195306 941327478 231082926 911684800 651399920 615189272 42053542 328262482 645490798 968099352 793889388 629018842 259356438 483197062 569765262 369219536 774309100 645323504 39270056 888373702 34735764 123955930 219974626 704867204 364168464 734100982 399873652 310980464 257940956 948962502 867795426 155605326 81279028 128840798 533171654 712058932 150372914 745533616 775803352 586974696 505206040 735593450 701507396 349874218 588827644 662812372 27139142 494817628 865283018 675980646 919487710 210586168 235541876 758175470 58131938 316564826 353358394 462398872 862528026 349080984 540613042 96583726 83177094 494140536 929057202 181115626 836389792 411493112 812476562 673782956 305107624 694321766 123140486 894483296 520684838 581156304 560634506 458172074 587669742 755525884 279281626 252978742 58062048 537075394 303953882 673629416 259698130 727275994 792533972 237072362 855773486 807824116 125536794 777741576 461964216 355082140 34663018 154561712 381496738 282351002 354486460 49865328 663102740 409166830 573163602 171872616 201935254 376181060 606483668 245247684 647215436 77865996 724643420 52633108 57106022 717513882 625106646 968769372 602505774 535548126 106856772 612532534 887630578 549430952 980982264 115236318 225230018 651256804 464140684 752244476 500190672 558783270 227693572 976508782 401937684 732067702 165526678 553038590 133274592 791313114 405622276 860861542 60530682 132979804 323846394 212259968 226343760 329650040 253224454 344230608 125687162 404656826 112024892 174955686 292983954 101003750 615499330 239719022 506582028 705683612 221005168 513424056 652916504 359244520 624459548 706281186 752269186 912394688 199896994 510088908 140296524 424430070 950169112 207208406 528394984 910877560 911920832 247130394 942455898 296206176 164686326 430236812 138719320 203984588 987606694 528753654 746075590 510339744 938283812 24870082 45045342 993700976 59166858 582737014 260729488 30222238 897066724 466213696 479762662 915434600 373988098 423728642 648417734 595877712 496238044 735929908 381253448 95023746 670619460 208225578 545490066 244921310 818544226 851451722 783317292 333081992 779106302 385927366 17987284 56013458 647691426 81213688 461192488 635104144 223058182 529256404 398834642 523177380 954680962 148287956 831955076 857137828 558345776 766049000 165681348 147799594 58992390 313501440 999108806 490063092 819331742 465773788 985281954 116802600 670453672 232180382 71054312 609004460 695594774 59381746 342027720 767297826 547537610 320073700 763604848 772075012 240900436 253278384 803860950 376170200 342121082 765674556 568072480 438459314 529859734 552963318 925052386 26511060 574306692 69503706 189555244 709692622 102147866 548947594 33829910 725695194 715628052 101009384 480112100 124938510 758881752 775922830 546423328 608598764 21379390 684428880 234594984 91988752 272328900 426569942 317546746 941600724 836348746 101539862 335616106 774701070 395457710 318551448 937497966 502634754 580242922 51471272 423342544 161559212 869180614 196547986 12712062 26453086 752915220 974910238 885694532 618172636 72571504 35571754 391130198 112864690 622785708 515435656 186522064 569540716 153607636 263060632 385075374 898795662 264372612 761771682 706732518 218166746 525144212 317641712 627730154 271330510 400464054 912952748 385726516 895342976 493644544 495372534 729396438 731972458 164500602 737690396 55810818 975537754 142165220 648497386 961390212 892996456 130907354 761239584 968409888 382054574 855139012 827183338 636949422 733696852 512168310 275531866 945207268 411147712 157928546 206213754 303904146 343361520 994838952 342621824 600346740 82904246 496952190 527386752 22424202 896742698 440849068 392933324 603440962 31101312 881157826 306962618 357728802 99846318 932302898 273513328 151985548 890451946 761333358 719382016 814955646 615645262 4595946 900221936 972850240 551406074 753575516 154067114 955666478 936879852 739343166 967063680 631579084 154026610 421726940 784156720 572636124 347457918 471440554 271226888 375112438 615674024 707496732 36781042 286944168 352339814 929402476 601744056 573154472 890453240 160881540 774860028 950526432 293687452 453454810 344733350 872946114 956193276 146787682 119617332 778638816 539715278 517600534 541043296 83621814 756614076 873809218 384297200 711899026 591449356 72076626 673802952 60891076 773215970 273030214 405066130 607092844 980748498 207899462 936585614 250891938 654614758 917032156 257442470 27745478 199097080 148885084 578871786 556458760 172251124 208054348 876796612 582058594 257094470 452821708 495012076 952048204 692907080 401821966 47169780 356737966 282153960 948640720 22302246 819706536 224867376 643640126 890691874 833294948 173632032 863634222 101579026 90731468 187988188 723209306 666114970 282020994 76628170 946265280 319858630 682099690 756650584 671442372 145421678 2070590 981720292 249199778 533076848 322127756 414828614 236317958 352011356 207470212 710928750 145502622 200139032 782136680 387921590 844362432 567904224 342639146 736872792 47288130 886912184 376027078 994093238 586867944 896122952 975069778 942024420 281549504 490663386 750161734 547004200 62592340 481999542 12386162 633700542 290139844 531598362 32154980 14985858 62138768 490082680 778616628 904134408 265956062 528949380 208204126 833303262 493359636 614970544 94714144 757889890 94126174 229656186 436584646 224880634 330777740 362984552 891023526 320770976 239160942 864622588 774827448 470880038 976161172 480080170 573579924 670707824 948985534 939727172 636823808 524583212 737904234 567571188 78085850 303465440 701167552 504551300 339158534 65698588 288067768 824474478 992537112 311982130 895082404 731852872 225108130 385637260 383925224 76311926 591463074 736564806 911597628 352549570 268118342 212703524 449324664 900488944 582973486 154591696 998440816 539813310 11582866 667675140 598748572 298766006 260283332 843375896 21836638 212033546 53200444 632035552 301182210 782896070 802612250 514855610 954423788 296684848 926857422 684476208 157714038 180442178 815329460 215119690 868744780 844786452 995877268 806351188 618032434 415161684 80519712 676062588 608010306 613287336 962824042 983668628 660631884 523687040 246321992 855053122 481115228 425912850 697021762 493913502 203845426 826412978 923559892 656595960 986573168 600694742 928596068 180070406 639433980 846024756 369761086 548993032 394490882 81695944 632648328 731775738 158985236 292454690 540861008 596714506 352002274 466415184 816767856 963066276 795898700 135914810 782738020 547356244 108180860 985636310 603924712 131624736 991356010 121607462 757920846 995424616 750129560 133467992 86074576 291354016 349749294 225176430 983844504 599769820 848833514 118410988 938465178 95169706 605809316 691327952 224225788 543985730 121201022 828740078 582635634 200637870 485843726 966510570 309461560 649924622 75061132 231047358 587375690 706045730 223920324 487266658 601681194 805903136 675360222 112680564 381785884 578965022 304552714 463964366 719401386 799638246 345229948 138446990 519427440 703838718 196640460 234676828 196026260 313100904 201438630 821665850 266980426 945687496 774720768 729410058 590903238 797337158 590679916 615220858 250679826 934827266 721692406 508436592 857959208 63388990 498693896 659876616 312760424 827317358 182992088 139705256 640411446 797842154 173770434 806473104 703724096 443798268 940444338 615291404 963320602 958518970 281462590 34695336 98510616 150112590 930258694 696899224 961227182 291022486 250117914 214101806 649663546 751628984 402012848 42258360 740108330 321017228 425361870 349225184 131703600 793280422 947149878 266895782 662439944 170701046 968080260 51255332 271540788 196529542 558701846 666531528 321094166 853992682 886787328 417163078 509163586 329863260 706811106 829335846 771109668 687133234 536157344 201151592 672333926 866929354 992012592 801061042 31564348 628811104 61978246 387756472 138595578 985392334 354338292 675538216 397471178 905757190 213677024 361548240 92240474 221034858 407301196 448920294 652828958 191717224 172835590 749069204 382775094 209488558 216410612 878254558 277732352 34318512 725714048 30595264 789423120 304270586 477538208 134846310 253799368 739733068 114329976 775804968 197893242 765725272 399274248 282124092 22993826 482274604 985149432 614906368 490073626 822833440 356571830 632011300 99572300 840768694 979393688 412500372 926852454 695574206 398268930 513723752 598385510 766550984 888725516 791172102 333080626 917294248 11094832 888351848 382394666 151201098 335427072 235297764 843708160 855128218 398745250 805946424 477926298 357750844 627831206 402151100 885817546 946555180 658390916 526196538 60033374 532382608 840573090 570616034 668712002 804176668 325836268 416710072 97804606 394739090 911290758 409040728 269169502 958749258 126116620 957798448 216615678 993665568 231939220 609040396 597481470 928247714 466547416 533238810 173584684 671113678 784149562 391331060 339991092 222238736 589468464 45861688 804574288 995040784 618459746 125491232 669426822 184609074 218273762 980900006 484691746 583881996 312324414 109320142 752607040 409011714 471593092 991929960 534125384 297863116 777591140 819674294 775074834 520189426 988558896 529320964 602038160 904643438 746813740 312108394 247185626 257160374 399449884 620298308 413947186 966433240 903483228 506695310 421675004 871464722 405338324 472955230 771422990 855422334 874195116 932281022 351406774 643966022 30798220 477627524 993614346 534395594 773236754 775807204 89427116 566753278 694165138 23341534 174254522 756298374 991424134 898913246 182138624 202081898 680230592 650598484 851896888 194544162 864886256 741113086 418383218 839072126 670018356 688465876 286895832 447580978 465932228 499839602 97268508 706061228 467603198 460607358 181723632 216876612 943838730 6089226 709593300 521633358 328765396 330669992 152753062 682835286 895951850 414666964 256077992 216396086 767898312 696631506 831235304 17796600 458390136 717385842 184575884 698732902 77323714 673565346 105859360 629396152 53260474 790520280 795388248 321190060 490217718 882982956 623465308 472179612 61793860 604929656 727890240 747452948 308579988 297196934 955185026 943357504 38693036 723165618 6570006 308345130 851182378 324346050 647601338 925403950 261194352 481469998 172994110 641490394 911314690 667959328 129652600 747480064 357407376 105476570 667347554 64632674 462555934 459986356 451843054 667430154 59382532 737343976 942287158 181218652 454224300 445369514 163253190 484610092 970440068 896477184 258614252 166457124 224195944 450864274 236145044 773317558 866063848 60343612 723282168 810486168 436001148 587697850 919047428 390857912 634670990 751446370 976303616 344588696 132174838 618205450 308388226 355462366 594922578 461681034 435529772 896578064 378368884 514686998 212511922 835327706 71701394 502051318 882584610 993211888 17582958 241840226 816771740 759102228 964088676 147972596 722951614 570704006 722487068 961651692 709190050 356728428 528472524 353092918 575777304 675911448 836033480 979803760 467204138 858036884 559814204 866085018 798265308 492625498 624920190 114580794 190748436 995988468 155744026 315229084 622561132 728978978 752025280 649799118 519008982 4174888 477905980 282203048 73412338 923006766 350896160 962538662 154582020 666102800 304857756 454963996 730182404 632970850 59302668 498190860 629805636 691347490 136339236 42516726 111679396 522742676 935784972 282473878 395875902 523771570 288862384 89080830 858729666 133443544 178690150 872855186 294397822 741312392 111404614 881235384 265168752 578541244 257174264 450606532 260931700 330038152 9502480 395192342 301510528 26608466 632477606 334743640 834437122 309450428 39068906 214568938 354948956 749403520 61565644 991648636 970499342 207584884 682590516 442326470 71516646 939559552 569778048 129799758 276306584 695269168 2896934 914256024 403116356 136026248 840621676 559736896 702506012 540687014 192181426 793382512 598435490 979990048 448305016 435211234 244359512 306127482 326997002 128105712 602605346 386593036 753770222 393926144 838621074 966600756 766502836 411769218 933058048 186923634 769508500 890987630 532110762 498116486 548793932 293191308 941949290 377707052 804142954 109513112 683413148 288330708 419053492 163446016 688081848 340215432 105912160 761716080 258789278 241405322 406104914 827985888 822394800 282533330 286337996 640820194 42119604 957100800 803777924 544514792 826119784 981132806 109459578 473285192 186257990 35003074 243198866 36494596 781441710 236105146 444013152 31112790 503298328 458327528 797603598 447356468 58707438 686280222 29152760 654432592 86459170 734118098 705399896 759532676 256969434 440260924 287638082 505612862 923121158 578802150 738261770 531401202 185420674 375412582 604565882 707503374 600077224 841930516 240717098 663264886 572132084 725775598 910933540 323442040 117861590 336167730 545807482 606232924 203348454 617696036 678918850 712496340 685334606 141320636 431720066 12202128 265522038 744419090 294758162 954654516 431903436 857766726 329981376 546978020 244968256 763683626 758573632 248363992 915649636 124538502 459008966 58946902 755818970 684319288 300270796 356038304 686989670 493883398 819932424 292283876 216705128 576030372 899318164 561289484 689360212 490639652 866376380 787343760 293046994 755805678 259111630 6188170 57319158 880356772 547784318 163772498 738806990 176713904 435741194 467670222 777590136 83801454 323833550 364699082 974263930 57326080 134662306 13720410 499470894 253423044 110385448 764188046 192364968 269621722 893237202 672282456 802015946 473557100 896314082 21265342 409700128 754129542 451234238 51795478 871156632 82042814 775421106 990355842 608767654 56675592 966475104 650200598 304547556 173656528 687273662 25327580 877126418 505386150 592444198 504242016 551796156 588531396 972734840 872908530 822053124 885526990 610198996 779227524 317456906 460851400 957568848 561145876 62655500 346136534 113497392 835532838 967501864 547358280 658024462 962911654 297514840 531545412 856725292 178727088 51922866 214067968 338124786 237919758 833525574 333753380 20925774 200082802 275440712 811767562 891087256 189705872 970360162 391246954 344623854 860305824 62323680 53052322 353795948 836646604 321566148 951194392 926264260 451079928 871296194 276955672 301639066 388908946 451837704 621478742 711971126 955646598 130475504 824065650 334644114 622475864 856098944 353982544 401566296 456842448 98101274 447809670 272068484 191479262 317766770 509924902 16480616 813092234 743565540 80412298 914744612 553095914 352262450 812931522 485192502 544519348 60788438 713298678 334427088 168685774 338687116 734759542 117255324 39744846 737224414 396620608 942568754 881080860 490068792 688509104 433526212 380859100 175436460 337091026 700702048 226474294 553881274 197482646 646557732 587996478 931931198 589907886 433004988 319325974 986510346 39899460 374888866 392481240 150355008 553878636 288431848 150314492 539235884 637425688 116247598 613988104 973289450 270818288 299028066 461983474 511563302 509296744 365134990 693471664 393038392 498364218 901626920 65915208 507380376 622277824 682982828 71672376 791282212 636766718 905864490 294989368 976254044 603835662 257898340 997716406 794442298 318587020 437139790 489374240 218393704 280382170 641626744 411748764 344123314 559627932 47702980 815255254 1010774 134264760 303179836 441758696 786980910 653143220 295157078 621952578 852330656 493039808 185230126 639170904 990004992 253905066 880047426 925602244 489201536 253148446 709515990 432294122 502001794 581643856 45337174 571998992 378132884 308320888 62035126 791803600 698248642 493298484 134645308 460382410 909553854 373434092 893079496 996217660 681302104 272595352 619002558 218459242 222659368 586781230 595562416 377430042 706388692 848859328 375513304 293867896 830012260 864365572 352644420 922434724 652410828 278104940 349590284 663819738 297641996 62244414 167538336 610065680 593489022 988356630 631952856 261582698 62458940 491353796 584398622 242137976 251470752 852129362 556407788 833115712 232346104 864101594 263119092 345580240 520379362 2000968 813578426 304371720 716426982 379464952 466868084 367117996 248256268 784496182 22828378 352962360 436143672 185164964 547451004 976524586 279480438 313206226 989522410 835477856 548025882 698259264 65355464 559716372 800057700 80693118 811712360 936388916 491020426 694239946 142695410 719532142 835575840 203548568 116124790 19434884 592754760 287136230 92641644 238587876 837153980 14782498 547325386 240670180 559178128 284547590 529928162 352715844 160681460 959985202 16842284 870184836 165919818 557421108 197172964 111625186 453619276 17072462 642294104 406642240 185512988 56146406 634794624 646675334 356459870 335818684 100666624 411992082 925660658 246241352 519468586 153652486 453048314 86478094 501778348 561806370 810549638 184823318 525540 854821408 427792830 985283586 167508352 168791142 504888636 853605708 249059394 378205312 508937402 653784364 376958330 531419594 303897538 781098716 32459282 818095344 872495120 919176452 904440684 400680302 101034722 152552116 918956698 81235638 630038894 24113868 916725232 675949440 555722238 916807696 170568290 394913422 369473600 27012596 451031820 872250800 303232914 110308518 200944446 54626942 548614976 584437252 338288450 900803674 392452606 836863806 279743342 728879106 217501452 447180280 978054008 495510056 125386420 512356702 455694374 122121230 56604360 852976960 557164708 369837574 828390622 2977028 696476204 927175156 321818752 588243080 440706850 7026408 98894120 641958544 342656964 544402130 545795344 445218442 753536728 697869720 170111052 296343824 118362506 462964264 163638352 262053492 171587546 451463894 900015934 770062528 558202948 42896178 185916388 223676048 731813702 576879556 680720432 54385384 325142784 260075430 10744464 443898246 475171954 37054408 967226866 374010524 672856298 91200366 565817562 90609072 757970964 868692176 956352424 36261744 721082722 291431272 437658770 3901354 88253086 782260700 350037892 624923204 148614742 308226718 986258686 200928070 273452238 402950688 958988472 834391254 212787504 824633316 929095000 909706100 69790402 610914194 973654018 401993982 478552180 289925028 519844020 578937842 172348266 302914040 627827078 304388588 204661580 477010532 608339952 736036740 782183318 561060340 334355548 571273668 560439568 246416346 45080370 267519798 10194360 709808828 182106186 474084330 142705618 953537534 663558044 185146786 815352746 990803754 317045668 381298240 997579270 792993626 844179956 547623014 385366042 574030290 449761288 628767356 438647358 339319460 916315428 25812156 96618830 708490434 500714010 886187824 33295982 949775140 172308802 837030092 776502086 740055446 249369034 544658702 462630194 640764582 223809348 17000496 105421338 124590174 962514200 400091606 374835416 992636916 813750508 613250200 714517774 499353512 642173830 209529696 792975264 427754632 310705964 219145490 605270288 262389936 9252590 906754442 302192404 188229740 495756404 353986730 634602318 268150516 121546868 843116426 874852628 575032014 31441412 729008614 28480224 636144728 834849502 579644722 666930730 604189486 918561380 332290300 920158994 347242282 9660084 146177870 736228146 718635810 489489858 514799434 459443996 826047274 236263962 747952190 331101114 99154334 842883898 148763208 688067684 591664630 530998002 32823534 200268092 735017296 240461570 413704820 139053998 440875762 238681726 931779826 919321568 688469460 453240352 658056876 318603000 121002320 299164214 730528282 192825176 844977654 633275054 911931880 440798520 792075632 842015030 937256806 226536838 530703870 110177622 950165646 717757502 419334646 877485842 939662146 354917864 431457658 311696628 113370274 139319390 227709190 196928678 154533232 302282620 653781058 376226028 9214552 304833408 594892236 873537644 796983114 351820908 714439678 494215624 587234192 530311794 325216150 904229308 231389294 787386814 339143544 318521350 338910808 17150426 498118706 931740334 311388230 554769286 255554762 519712774 196192604 847657202 866176980 918920854 535472904 85022262 78767232 557134808 377738460 518291522 179312722 843573712 22026434 158094866 101201084 4700262 474096600 364550548 435503080 231573900 838493000 104619240 484421938 91874096 292976042 969311872 148066074 132693412 530401710 838418368 765794772 941744260 964850378 478845076 559328352 542361610 547833874 800229826 475569476 835476686 629983540 670541710 425851192 33413728 548466356 386203810 884514440 232267854 325876330 93807098 443211132 596015018 927835030 768938778 562155360 103049466 222365342 719921342 446543672 273476574 958580170 61331412 637974052 381231326 800111214 193897482 796978520 156529762 659734516 479056228 607929854 658429772 316556966 601174348 642616988 500311290 651222210 136029984 818085060 278049622 600015830 307991630 674718316 861977096 744776798 556262942 714873086 879368844 60619580 8281774 333382700 807302886 51467804 690424164 740332822 545264668 797991394 603902030 899027440 629423738 434478654 506562954 362141256 711926818 696739014 445551798 750377874 226067838 857400014 246713966 580108858 852288406 293479430 179750782 11127248 542995784 372423410 872126382 107122144 114439826 755516228 511861478 647999026 958999892 968162298 732506566 458991408 742385842 520852476 508375260 461863970 137808782 116128272 705408624 277781720 229360416 645134710 721380460 369028114 154652810 717192198 671407228 970281012 231754332 949277260 988941106 895320222 14551002 647067168 518153328 84472604 30980922 761998428 348234176 613936072 807248042 600319810 930280728 202807148 487661016 798960208 223688382 178333022 410979098 879005728 467362454 681623936 348699004 309803636 516114592 86155052 815164414 792046118 25205918 905048220 173250730 575575890 184751590 106318052 629985452 731321150 864585330 668280214 736374350 168677618 684674126 290509260 200774470 778529078 605017742 514084384 402102384 716235962 483728404 327914074 957946178 288182872 345929356 352370476 657940856 498961754 95572132 91761422 454135044 649791282 773481568 454405982 122977782 301130382 217181418 45077498 669794492 218078516 544674950 236735464 390151602 250320060 130795688 989458056 996614876 2645436 659894434 185117782 412135186 767095424 388927600 475792628 791835098 84132238 345980820 275167034 966754142 155367296 387331572 41225200 485175416 150894880 209538120 251674896 915312194 926009910 379706878 151476374 602556814 236701116 387786812 907647820 678347944 328712334 584897230 37782664 484661912 777977930 154939052 965389540 245506350 98877400 504357726 417462384 90983974 83950672 636691772 738154836 977014514 132846190 933616296 132850366 283293368 493645214 215313362 653287592 120359674 919204386 752737498 71309250 955322230 688301822 8678722 546470174 64078024 934740314 69429162 933530770 722706248 303942960 316920644 476491704 804068104 848280986 420445912 616347482 745835736 523182068 799491066 400854024 994887704 587587922 958073442 760288422 575564470 772867728 640454764 53879808 222784786 192993618 943221868 360932228 692760142 860871684 166138044 387925822 641286652 138877526 917418426 268845622 184628524 676250466 9182188 134049612 551896166 541911798 22291514 666260532 627536096 29119748 894184168 85763240 647819346 311842506 371349890 158271974 445989136 915224026 505849378 574944422 333560532 80896094 166292632 121203608 826682028 451929970 349898124 638426168 944589902 230536026 22460586 569788676 755359822 772990676 859747746 799684958 160533852 500609968 467000010 709366998 685173498 903655662 143450230 460523364 87679036 824451426 618415486 910024052 298533984 233469228 722780274 772424052 195481606 361892174 30740594 313815072 185597480 86872124 924548416 286213504 280982122 594715028 456961508 151496838 679838520 231082782 481301598 218117218 778308516 597370112 871711828 227128634 76188244 693070010 601733870 257730340 484106588 211389208 664481194 354148948 521908336 317976654 289903822 987378456 658165168 424794690 392828240 910994254 54905786 607256948 775424428 758564312 879757616 38165980 112536990 194753896 66325382 930942854 965586434 936857784 886114010 664034042 435948426 899586296 809772714 299657786 35081408 333817276 6106510 80199464 846780966 265358148 623828228 849766516 674419484 391563754 89170852 825527184 575675000 516204802 507811428 477176190 165442110 804594754 399628246 403081924 875425992 989461346 353216240 209681318 522094450 440452552 97688200 654817454 611785248 685473084 907949612 374013864 607596506 882314644 997336188 586958308 880147736 730400074 444047144 617114210 987295312 791939566 83656362 725465024 944912336 621639412 714352394 668028942 23614062 899932054 582811772 336091036 696613496 839987198 998778940 913953666 680617948 61529458 280448612 46450026 590394924 302100872 645459410 154783020 697573498 795591282 210232282 553015742 908322360 206088352 202852094 14708852 151805442 415382950 228683302 238175296 5079348 527006904 217530050 214091334 250994262 471694532 62914378 498433230 620137586 867902276 645107156 584582794 744102540 34045004 937058006 648516282 568999404 415357870 296314534 303773450 645561996 524928746 743966186 316548490 899937152 132272294 258160658 589128702 52274386 362103676 244689966 25875358 983924438 303126160 233690882 757210334 946032824 823112806 53876040 519281552 140871988 665381062 739966480 553184040 282461410 296541350 488565350 549755974 412239776 792619798 812327360 557191020 980294844 218618752 180281204 292129854 886246654 279034878 73021004 741714694 959291912 572592072 138110752 297174818 639631228 954285336 540342780 850425478 269786228 693818570 548260590 828616466 304911906 257565430 911286574 771507744 52373460 740731960 723862218 305707256 461100772 666064040 900827688 131029542 506833358 459047894 902938256 559323308 953598398 736965552 658838794 953893832 59947578 70495986 770478234 984822120 928210234 4533488 640441906 548530962 385706348 311643356 648827360 553667692 291000122 828628182 157190078 789846506 752546810 137748362 449114836 365057242 73968812 96119158 565001900 830332664 776067394 328716326 544745292 851975590 935003412 194373408 391583130 628241550 56362184 387596260 754365210 723788694 587081226 964992608 744894212 667923038 70808758 545206606 703118316 651969444 449845354 291635284 281552234 693584242 52817436 228608362 279395020 803445466 608289184 534306092 561006704 959334800 174683810 927866828 826952810 116141178 742687572 819769520 939835512 66045062 494301314 719405756 461127308 48673362 179767230 665523370 381764720 190740264 405607740 374426424 869684532 110661146 501422666 290673866 487542580 818644226 138874318 475052246 202344294 563392608 71508512 783174914 727769968 691588276 153729842 315419890 745417974 144095598 489385336 94157716 547940744 591253544 615748726 961831254 305158626 764288008 916225676 26990004 639644328 978550634 856417470 266751184 897393534 928248606 420903814 264453814 111855522 93644872 658268058 746498224 516910998 771485938 517255980 346513738 77813418 210029698 963301766 403905098 337337458 344892192 816432444 509189028 571554370 308585850 49622996 180058654 788585336 967651434 679978510 191305010 669652576 902521328 969745686 11867380 560332774 530724940 171106656 158682132 303436010 797028144 936066718 641155394 340134812 997965886 461630972 408943302 94290386 397800604 481783442 676752650 630662760 681234300 607358968 379794620 473717860 806674756 453812604 483493486 329587632 977840500 418720108 122471398 985684014 960618600 781570218 863276412 763508382 679159022 605989376 588537688 597498732 50509428 942616228 181625758 821948344 400594890 746329252 782613110 611270202 26276078 711692204 271740548 943888086 727107764 734693964 947946982 482811748 540966322 841695482 209080402 105472302 364536614 252443458 512983842 779989128 271682660 351521308 96354026 162076518 968906434 645928364 605831180 291978868 220926144 616986680 934396160 838383496 309125366 345338160 470178014 117328538 259463568 422495580 702744756 506396360 431336506 319718790 416842456 143708388 916260420 358175014 787597102 760098990 739688028 949815994 196355126 190657652 738787830 11946750 424481536 365915280 888491998 740477926 306402310 273499260 163833600 724848328 111047054 377595684 623210492 555038148 425072516 91765486 208322558 679220260 601011848 343723038 462874708 983438446 420953478 304794430 439684658 290235488 216727470 358931166 709248178 145606272 112490820 253002392 832779094 49200356 602973574 113349694 154421414 635947476 882845466 565043796 81287308 370433670 334558608 72858836 425447332 666897062 737185032 477324602 838676160 849465898 421439240 878244280 842455436 986023150 902093680 574438336 879501572 209269146 880903252 535102910 654097460 962071974 420034760 522322314 542707998 152234162 68852884 342306640 509198512 247955898 303985650 824949232 298493870 563149782 631218984 147855102 285186318 343993518 924093276 347574270 350120218 934580990 471507508 601808496 741722558 931619402 518402664 847891248 396330764 746976812 737301462 29945840 199053462 425913656 889373012 821571412 433923648 343740910 321134488 12947978 523081854 492711660 979290578 427633606 202589358 454985952 896165556 776353260 338519342 927420118 379697772 462716752 259345470 199374344 161043004 748503244 376328574 389935696 375398900 364429644 642982562 755258828 962369452 882830240 877668924 291283770 253822078 166396706 683692600 369772724 543036610 825639656 758393036 247429062 28551954 969140676 936200182 30115670 468675164 7840582 815732796 113571748 711325528 119203480 811809718 82485040 384335994 895208034 337537648 632306648 465633616 674990712 136616846 356086188 477902912 914812426 193541280 459105106 582975024 984523918 338816914 639530160 791655094 151375302 360734952 444567580 687526232 738275890 987223566 973919240 720694982 146859056 656444658 562823710 39747382 679062914 416151854 439874266 533154478 846993524 610407046 156499520 459301166 642435432 183166172 391145114 101737628 732054036 420621528 256013508 612137894 876396206 303291784 106042346 477256094 36821060 98216498 637652664 430509760 868964990 114949270 130024914 520154402 80056106 872658238 340071246 215385998 663087964 869442202 832497606 718650966 51252480 548016424 674726312 301426392 273089084 407611998 901431426 801950914 843178330 721987310 735458520 382822982 509678410 27740792 252408270 287897290 671982142 615268134 53834690 623739586 420982436 422568166 588787132 211997410 857141820 942349672 887604758 175212768 637537598 440504678 2357746 738507992 489651578 872085382 309964894 138569876 30874456 906239288 828843096 825801598 634114356 776835174 842573768 883961438 77620856 490520920 684817238 855142406 410717614 184206910 242799784 540762082 425103496 585568892 396275632 434680284 537889474 626361398 945699516 935312252 300771640 433153762 929709828 588014578 894829286 978366034 653955916 642044786 536945384 770360122 458823620 267217624 474712696 804568398 943109074 313000264 625380810 917826912 303118038 544681518 692246642 746419738 44144800 72713328 275024902 915599844 331561474 530927200 904415792 74913898 444494814 44558276 51894326 907413532 747754734 537096192 401410948 884526464 562105104 283036094 131580044 613776666 336680826 461373182 112301602 30067884 686025914 572102712 767157602 273734836 244931252 473137428 956550738 618060116 448920414 377396658 715637368 764276398 282448870 331464878 264407118 521509530 457346742 658174434 382341928 232014106 547896454 672060312 619788422 636510378 395808056 166849918 221212586 940481318 39299574 43237788 784855360 650316448 589309100 893442390 764754022 701564066 310260364 307332544 70046692 371020030 215914260 521672242 460683776 361305386 855726504 262919302 286389340 792957058 529253938 833292774 848039096 187100900 318281104 979178994 432147386 34870978 65112580 286280946 565771972 418077752 400558832 94393340 4957978 216579716 128299760 931890884 599991216 753055572 256695936 912710246 798160334 483841062 878206200 955124050 968399388 468146324 90886002 193201794 899149306 869858496 156442050 760631716 774272672 957465586 959592664 289947228 302995734 104833536 205246620 206661676 3015952 714519972 61494794 795976466 475538430 184412396 891783778 370654006 502921908 553669424 112048322 97816160 187225152 533878540 392214530 185212500 488893276 812623122 458686818 824387526 864045504 606588018 770520964 198243572 92337088 178375788 239061906 770272216 507008082 204119496 440830198 522944802 89055702 523773312 985471576 272636718 468227622 431350092 674783442 673878828 855116610 987404792 941268676 703454020 530211460 137966274 137698646 987982188 780815008 698810976 289309004 147694044 716109868 750390400 20636172 977162972 693316318 998790814 764581734 243034076 738225120 705641348 183007058 123946544 662478430 766750578 536627532 296119064 708424532 426009320 989925650 635410376 299164874 803123946 856222792 340614336 461549272 931948426 972411964 539148224 770422484 472317172 58577774 382520034 923928360 854605122 496760716 66769390 898438242 261192288 932163522 451537592 793831808 842367480 58055890 809640408 105475746 917154006 363430956 15149750 220598120 267239124 50349142 548016650 778056376 306216818 352888876 679157310 567577686 56920574 416432494 835342290 952284526 340706318 579367470 705394370 234255558 167951802 654472810 949112536 192252866 779526124 983142466 454151656 652395640 240816944 950188080 603362776 660206198 143437900 830312210 498807424 13826410 989315968 415073630 758697940 677445252 140043604 290462274 152978432 682988788 415409982 700263118 549134506 362218850 220271392 230362638 851612196 577853308 322016768 601409238 460047390 660223598 211986378 855438670 278168600 48344356 989567862 809555226 412880998 78237236 209115246 749925384 758256588 821985836 76957648 401630262 844464464 560078348 262581112 335759776 897599540 286550786 738904722 185910948 88176358 357390940 367943174 73289272 14822662 297397530 415877652 717674080 604878034 342509216 183517698 78457170 40473100 580873328 337151508 640261260 858360876 22091738 658494708 786205246 561995274 291363068 691616042 518798462 158999104 766671140 364252206 372631508 49727680 396133082 929217912 384318518 323044988 889432986 401377904 658234528 751523870 838590634 486228280 25674116 456372248 333568500 241689196 18944472 246121730 334291566 532729210 630573470 944175306 221534550 708340676 13312310 852183966 293215060 383924152 863766460 593910996 617280950 326716300 709032508 831952302 587127104 117370266 986035572 131208176 394427182 963629776 2689142 681123568 87952742 15444614 946038472 632418724 193405702 803786352 999532146 928669720 737075086 389985528 625756682 726660370 750035402 223071916 899977816 358272256 720973330 633275046 377363632 761201182 222721194 491498700 596319050 310331778 56600062 309907156 87094638 951552018 725944066 519595046 901617754 447313660 813496140 24407320 981324180 904871948 193697390 465870698 546958066 367462470 214975992 877951144 288953390 795314224 308233030 998923122 247845094 162527870 384092062 810706832 442842022 103514110 258305318 200361106 223687924 264364356 459481848 783089912 370976872 602316434 12262748 845273962 969662788 927069428 459034144 512676878 235187036 117943920 69118510 559464164 637787556 745818146 15218814 717659098 858999714 874756322 746064172 396969032 41813608 23909688 570597542 610691174 555632750 137670750 792824942 947223168 307457550 541061886 760086520 610995090 16429580 969623748 148674746 216716372 3906424 55929182 448760668 978945432 959992262 985564824 232800124 263175676 630670538 887977052 881361378 170400790 554920138 349700648 762845700 713053892 112315840 630310572 842063114 788280722 648157020 889801522 274926082 703806754 247812604 909450860 881877372 910505644 631672016 643180288 582041530 278679944 532919038 657597186 448504046 727210970 288617676 426392768 172375688 804105718 707401834 217465204 90123462 757371852 247975540 487518640 977657854 521061932 222410152 325943166 491046052 621566746 48752206 17983718 509193424 676962038 119503950 620996554 975606410 426289790 734583620 993118564 682786594 58165204 804312844 201332490 911827252 98059470 505999874 953473734 57940292 692462566 329316026 13993486 308481554 170333892 265482792 919438104 658001516 626228828 556741034 922264266 184768444 993095086 168586018 240821798 686300910 816004198 400963984 902000918 422265250 30418032 162772080 400092124 345125128 572208472 364459442 493363002 279630294 807602154 442950762 596821254 530598446 532559324 132187496 97850732 215973460 533232678 986054646 880670018 774711518 325322148 341687030 33443070 672408088 264753862 842072816 747744516 970782408 171256132 214860584 224857034 120882434 74738696 91004538 382173950 14787578 588884988 175134 188608230 673356570 389295982 315886544 516719912 878606142 147545718 810254566 821165742 394556162 488270464 338466502 290188614 616541582 660133792 621396708 917954648 106575872 418162958 68573388 763096146 483220048 385915220 434514772 740889534 752339620 366399702 46680188 788000320 56688456 461423304 761266960 486552012 476085512 515317002 754353212 481382588 498943256 680158774 570385030 118591408 942263826 464076798 326911490 611461908 290583996 416795150 976809746 168744046 816403530 449511546 670869310 899554034 933883186 497424506 303850950 626365712 332806036 561904470 946919314 278949000 991094268 974392392 112756346 697750858 80524558 648919172 11234502 938281622 428735398 978319912 803468006 467897612 141516070 818660390 332434148 79337946 832103906 192847702 959518366 382087084 98059956 553721900 514818966 919652932 370261906 841769564 802585884 120740484 417997200 763237406 122682478 629489616 830623212 423482142 466363660 873909810 29367270 806542228 196627782 869108378 978048962 75281888 174382378 932008784 487300016 87922106 92025238 29814236 913403390 837292688 841457500 891528788 470567044 538944776 942094384 119871660 646306708 968921988 395450460 775888276 187570458 74225158 347212958 705195162 542150616 534353156 249057908 212085448 359772548 284927154 893658754 238406724 715152708 184818332 696901410 911152438 758991334 635451400 750201390 874976016 140077572 50716750 186955080 120780126 124141446 569988716 551196708 37371826 922201940 422052670 820820036 593221182 811689038 253541660 226447010 203826882 616369512 254757564 746317478 831867894 349127284 348467392 385804742 471230264 888774472 815079660 560701972 482983730 250157322 626484862 458703658 248437832 330155440 51079104 223025926 776267986 798708092 150998232 891058330 57728050 409669962 635411402 308975106 715749284 17561738 802030464 477310322 87185500 463899202 640625754 613508286 82804622 896476550 758891210 895407046 101302906 395798876 461507682 686319326 71643964 638756916 221768964 28752300 999939628 25082248 11531870 814934804 910278300 932060978 772103926 812335114 562401202 159404258 873751526 636368796 760537952 638240882 34421776 285365180 217083546 605449536 38594740 547921874 420455626 812352574 945341006 137969610 60160280 607036810 395810090 521487230 733099554 620456562 325781084 506899558 281814812 14526410 682432886 867159436 324044354 875779390 43394732 757495768 492694258 505608686 597154508 473116604 313335076 749438800 609483214 591753524 482243752 111703836 325280698 728074802 538406656 419660562 215997618 295034240 474510416 710131500 415754640 960289836 341472446 737149832 865776236 64033256 626676360 753260598 206468368 845113820 137734476 975497840 870435162 118666670 299792450 640798312 187822284 540324944 833399082 191844568 384916658 865368146 147195646 929578034 19238614 735600764 121334742 483498496 375175998 630130682 400297596 813486426 884581606 209486584 841615982 271138588 33747464 735628848 183084990 585203752 209704632 401848758 816238036 931834488 710643262 521168624 910137942 400419250 260116226 420337938 382781002 170697526 870700856 587228848 652198574 593980166 410934336 529698988 38672850 753069446 617475416 119477306 43504376 833237698 421240486 628761980 198696568 53994756 416272444 751487524 990668378 704368468 404078474 84103046 835348400 978950286 652612592 777848920 502153374 486557624 817072728 516632858 129733658 567565710 601260186 776987546 764705186 271181682 464165874 908320780 818933042 525210302 831004998 907719790 632404270 759487310 255766554 853727870 273467202 727032524 282342188 254236464 222341940 782415786 224609166 592712960 789128922 6634662 512278818 25511936 622910602 833847456 985977492 614212906 466307324 726341186 347870562 122024642 691060660 308271596 426085668 930218264 402636630 166646244 77009880 664661308 57075752 418191902 119044626 54885192 331114632 631166216 823092070 791372268 876046044 552300268 438441432 894270184 101964186 912181256 741019046 991027378 236730796 251891586 760357058 245109390 494195044 938335092 618005748 740702920 914096028 535299134 92818960 840981926 737533016 877046540 38108932 95786810 987321026 513752458 100258338 966524922 199420732 962269898 303535650 706785860 613454024 403061712 643868620 615532196 181794322 154290808 243659976 765657748 771868382 385562818 487793030 893494712 175091348 57050326 948739356 408243116 686317644 904683718 415027406 347983190 908248238 283357776 403235678 270418060 841249360 965367758 600399302 35805438 955114150 704809596 488717532 192071400 21986168 573062672 673025268 174738058 650022090 504271744 369667270 525006316 177757716 543846688 692909680 367737174 603905276 996652544 846825642 813133210 856759986 872259728 140829784 439205456 383089848 488425366 809615384 713525958 372234766 783130824 268618484 418890380 397995810 445028356 968763778 450219710 870135714 211725148 812751838 656068980 540615494 187512980 457183182 832211708 399326302 243524596 569646836 117492340 729395876 153497682 961789756 932204124 539585674 620068476 57168502 316012120 749099972 301129690 488571258 790765142 155355188 555676424 322026416 724419276 800993462 837633500 231848978 805900732 5285770 862521734 455047338 471925196 317382580 819012388 113385642 550599592 464910566 724146428 58873350 120935792 94330186 808407690 251746066 87511950 407883244 601802254 34149120 413598624 684305754 368097638 792977486 1907338 268451490 795316444 516901602 443556570 640423076 4457648 125341508 647607344 164112870 761461090 328674596 592666312 695771720 204768994 853211106 429765088 892678256 551271174 75022836 96741936 514438336 666415846 469774594 376199236 498362038 22273694 222632528 965375468 123079592 886566830 29487270 291703224 942965914 594816082 674841136 812263952 863899256 468090910 599701284 117131886 865945248 414180404 757111362 342305148 640488582 194221424 230513536 935134426 568005874 67694156 820455936 832051252 2899418 241478612 808279510 481711148 101637194 547259096 543496888 723239304 745661470 817093224 1455786 147976664 172922342 327809008 561961788 554635606 815935766 912645068 728890536 277447500 652889640 918860542 638207622 492737160 180743796 948585062 961025362 664918674 651973790 150075656 58548306 449234724 453755236 339341364 611103100 70893666 465957440 969389614 91580216 811125632 152165800 756626716 248868920 622732918 869931412 785623720 125296970 63228594 542806944 474759498 50758766 591646336 193727860 95718206 774215448 721447646 17462368 404976918 661598892 798185150 737486070 167012754 754444284 885155140 11318602 461908116 269832216 657901398 751235462 395950838 379276232 631701728 266919750 953785644 198764724 152094452 636570086 13793608 532209192 541722944 722606870 214611698 425148182 73257002 671149762 970132452 11657690 940395996 742044124 613227538 746845812 275062376 853960832 891107462 315381820 524222574 516838296 88486210 683964264 810144562 813771760 588382526 771146058 301207384 918076818 8615778 335177338 511612264 283489902 657327668 183143492 244225590 358424384 512619734 920438942 394703788 931518130 439379814 321503804 659621594 40060364 155647608 317578708 288585816 191632874 773002648 174566576 500151180 457101434 731158140 957686624 385311184 370823354 261472640 694750986 562700446 759227092 61181438 419543254 203800558 479806882 459233938 588734534 576250060 129208162 948153458 691312434 842284988 444472352 27637368 842259358 15363170 914472940 65127906 577400372 603091678 871589210 682227544 910601158 580962626 88310996 567118114 894899646 307590862 908317278 567869266 967473724 973137502 138764450 482677908 75169290 60846204 590361812 934859530 134799992 503149094 190732202 959196194 308124954 174778116 69109104 712929224 903262300 868611494 53730206 549858720 45442802 896862546 496755100 481998566 13593142 222982848 288492916 882357456 71204426 867858404 325469488 403827266 884945452 129905612 617984042 508944974 557987028 691116916 545565776 486829870 426392610 953369286 260823770 260934344 176643362 622192546 241417512 739009190 445074768 635795626 723822828 738113202 506011542 277954274 132467904 120572748 976009138 37133514 723054012 330886770 721427322 101114210 618854790 145668170 194681240 759613776 537590632 297870388 330280264 689369226 746551286 476078164 995914012 913597488 148452314 108188176 889170556 970112258 852438222 157325448 511818276 457320416 79500154 95920006 12880300 30354398 671041276 752208836 271415120 513859454 155216724 983825872 434305408 573583910 520473132 447172214 50506188 376441880 18524162 949123028 68188230 52587542 437132998 378465002 664730650 491934856 793089116 139536750 74004360 280290054 718586382 669572340 779355998 331111606 694222888 288012920 84601408 485088812 948433922 938405140 447695176 410518018 116327656 571062090 248455358 494521604 738991080 662168118 109180498 607680928 789333364 418638154 669344192 267202464 865636210 222098896 450814670 225675548 914107968 30156260 444288060 22952546 466363306 851597004 143823210 721887842 27402930 176791560 844895300 386983914 755627944 325448226 895253504 903935774 659120780 137838662 498352962 457441208 297043186 815241708 682258710 729676288 438949334 659246242 363981232 604618102 47265138 301127408 759137218 660242668 353003682 576881650 807096742 608878592 129857050 59696522 399009664 137534246 963002610 558187392 866869118 399482212 178941168 519259338 757999270 225557934 613501942 896005492 337931298 922398652 86343610 866208280 453318498 345969812 722599274 603049070 577558636 315636914 320526866 132423562 48372598 180520750 163527266 443636238 402041474 477929946 270108892 722415404 803138236 666295652 565944234 925969590 111785170 837695528 760605592 203677604 127083896 132063098 982438316 439873072 617229342 610860768 428631050 413674072 61637100 866363494 489698674 659422320 306920886 856002220 934189060 446025384 415887050 901567874 346405946 125597648 890697766 280037818 998149228 494602802 611235126 998072612 662973646 766876558 577940374 780719100 856643602 23953026 881901122 595298286 362142208 36103748 364309768 729216152 869623104 558089800 183617194 908997138 803343232 326912674 639239486 909600402 739798810 172491434 898151854 120551890 279558940 150561106 392350928 941981730 451737790 481319140 389960506 968167252 517489754 212943404 794512328 32516256 996973478 711582288 519627220 472420758 728368050 249360308 63326380 997353000 53831340 460299942 123015958 528974058 592136546 892861434 406330376 245618410 52610842 915484482 33980310 12123370 380154782 280438116 984457006 21692692 285344492 771289612 826043202 914471940 20000552 49557728 80031194 763099640 493139618 163140910 15878888 189280420 694290878 423348486 360085462 852512138 22682338 13986528 668727382 87967636 479928410 385382232 990671494 480880660 530528194 250903224 609863252 494875882 684027192 25905952 598105346 630019842 267785352 151872280 510734222 102413414 34467260 580419382 711344330 116230078 509248356 126478500 428515938 752736196 446003438 856813718 541734232 536838380 225427644 527208070 355942002 901558988 549620876 546955138 986856752 943559176 954034368 977916352 563286632 893955892 591406384 314851284 283824714 160242004 381795792 173472634 688683934 834381396 531296842 523617886 697850118 911665266 485370306 143456024 161811984 923005940 660314054 124372278 593414062 639220186 992675380 238819902 229827918 985853884 806615502 972826218 963255320 696375766 210246576 128340642 732525690 623195142 796842848 246446358 89481962 962074272 105702450 55121452 369370982 311219316 492951630 782490868 176200090 334438656 482446698 793312610 565798462 414498594 177284502 511279360 324763104 575342538 446333076 629534128 742493428 465977654 317827778 654878414 487662686 755591938 248258436 531545154 805830830 71364116 197243984 189315864 637280394 154269586 21935028 417726084 69426846 686867290 564797712 977504416 373048530 90947882 561917370 41009552 641169820 781088356 757816494 23067972 856292730 160195710 868026714 881460400 608675398 677971898 916071074 525637816 998844362 875368338 620364760 420316538 14342230 60660856 596060386 884027072 241085120 443637502 721395790 722703334 752842110 760724180 56909800 388334156 258525960 106880194 521034662 485055756 568642762 518073698 378887244 96381498 855774610 697720584 242752526 813957514 775364584 634168954 113333558 6603214 991814386 259910078 33891500 475813434 945180828 303241204 823954756 988857016 551312256 152372018 644532274 244073508 156673028 863703360 985327160 529519930 235018204 494785124 868978634 302338982 86886040 109756854 930068458 152678892 697641766 548858780 81135754 757698220 69049622 719481878 811714742 764884652 986158222 701011998 975510526 133250800 394574322 120572906 783068780 197752572 963517936 861659792 137000858 472236254 169888316 486891838 863320172 653906344 16377402 633490142 954672456 324728638 168985864 96545818 339633210 749801748 280663680 377221418 906202878 470862978 294571424 281862522 414135514 869031484 691653412 439404100 217201294 902918786 343253480 62271168 109080458 281346994 114671352 961051728 733567924 147132092 78079662 211380382 661650172 766937994 538250674 692844848 791603574 142024436 792877206 799746378 867562158 786681586 735601594 778206732 69087786 839888172 597385382 49849132 517710806 925067196 213341266 971133526 949504156 13853700 723810218 235045230 316438078 917844262 374833774 223598 779862288 370754616 604321892 133207650 332104912 522601510 372440122 202104152 540918872 185111806 865569256 97400464 54145906 734392976 527865390 877854674 437424988 740874256 952823312 653039642 877353454 214753578 289226266 932755754 624884732 780725170 878822004 722006860 592324528 940386046 132893284 168362820 367278450 903271250 375433070 358737696 493787906 976855496 564568816 918940960 765969070 464713460 129346 808997576 188401776 695848628 544565168 207630606 300969184 782014332 955984930 638220456 424028306 64186416 563822546 796322138 867343662 458045456 755839200 916075568 500572818 386850190 856426586 40524570 487784062 720457874 881838590 686281470 735104280 972540082 708944130 597356420 498785890 994625400 385122786 493064942 35126564 283666696 565553138 647548414 724679738 4790944 499515588 391258546 877264192 799825750 871721588 427595726 39716492 359296552 847653618 717737522 716656852 400855216 65657572 315789874 190372790 185319914 408682296 276884882 791111570 223970148 652222810 668176820 858823534 201399152 539845000 757706236 972150040 430011852 146760226 932569210 706288214 508186848 570050366 352757298 156830 663251850 993282840 840012336 609217134 934783038 470959830 886014630 71687562 560301192 476993088 276545970 178700230 98682380 197311576 86096286 556335882 335553812 612048654 590345822 586380830 713868828 306167068 902168252 443417192 654870140 498938644 797345454 619296232 665059766 338421898 176697410 115685538 576585698 403636362 435422268 477988954 86098354 184579942 461960976 732326086 80649156 634806948 405748718 743893214 241289926 293298460 424870120 873809096 710975102 736289330 781275380 246818638 922033464 711558318 422718804 705834168 292508062 811733012 704169250 22129040 305618656 326583430 926434884 804544606 502167394 330648370 398042192 225658588 280928620 835564044 266738056 427013834 711644778 883753066 43636066 702266334 231693182 633168074 720403726 602670628 503921608 776167692 117338078 516221948 860685390 943367996 673871212 992596876 371433826 303645578 930836904 377197838 493063954 695249740 11792328 684419262 370281984 74200652 400047856 983953332 192400318 556609070 726530026 81819344 102903138 724484982 138991376 808181420 859904442 212571740 105616134 749379204 353950542 612735530 293941284 809058660 711412982 667781538 922516440 486358410 253286534 710506614 127374580 890722460 799071192 272631372 157225464 599462408 864373168 816396048 897236782 817443812 74749414 320513822 648777372 632144296 985614162 86149978 723622970 878185896 171021508 789431226 585591616 989154340 8147070 55088500 253940726 431934700 293727524 982350436 74944466 960513844 661997528 403330494 432478006 365794634 987423894 353108052 244229206 677729048 908034636 45950438 474611790 716379146 977133702 571890746 773121638 933124836 832068958 767876514 345569412 581174588 367066190 650693042 6454760 738214592 745798128 548810 654921182 93035016 165647160 344540978 470111124 850656892 548417098 229971900 975452518 267938150 526245990 999933426 799453984 897955336 868935728 263285652 784669936 330615442 160982324 94907152 933858738 934950732 550449254 588278712 460489020 172120528 66018716 93923090 35392176 82919734 824640200 96785282 295245348 325661290 531441748 300620542 435436842 133197430 150144944 626429286 459597736 404855542 684064786 221210820 815360006 138346424 894518708 626471060 849211726 778123096 846863138 666748770 312212726 152532200 78556836 241467822 463446334 622317354 898703392 40672924 544051628 533950940 617873450 435051082 829678522 622464572 127490566 639943850 698583238 683893880 413328414 502275434 184097406 343080120 848798204 625783776 915546140 537005100 241008046 546432066 969054888 703796694 651490098 377690710 248281180 373874090 8618210 161574922 714010576 282541380 495946480 899564646 174039694 54326132 913887284 372515150 752025078 367921534 921582796 884996530 92451962 125801638 48034318 104200856 68138586 519539818 781935174 645080112 537507316 183345904 832751228 23793404 308731402 725859166 788430350 73438728 431657558 993647846 347464818 255772752 368515056 954320462 859724324 392289460 470466870 458300372 904074386 179047694 913320050 255454930 29444342 923637592 628974662 832525662 403886890 175414858 705564564 881852814 531916128 833722702 488370944 818604350 18857332 259557568 137364560 9849654 617089976 361913988 68656360 868671846 834333386 170217222 808668412 483111284 997135402 958664908 517430042 807766218 131464412 498032420 945784044 805385794 997420302 203149938 936964668 337528376 683557030 312928302 152245250 337878004 979577048 806391728 496039338 358122358 307948392 855853232 20864496 928243892 345493834 24925236 856722 133627488 102464954 738087456 815988570 890635700 144442326 630595690 716277804 701269696 228684008 458003038 532670818 163544158 74281582 816322560 410079668 727789782 201984452 788968042 577217312 814722570 76411380 159039188 78212328 427458188 129256628 167842350 889488638 936716996 281184286 132160064 790747570 407631402 27574322 135642890 862225142 404604604 267626890 838549714 458627856 776107160 447878550 574189994 53771810 801455146 559704236 327116058 982660016 311886704 845533024 732849110 837422294 342001430 563330676 50471370 982135232 417726906 383047946 932097838 813419228 73552486 193920446 404894836 755087244 746046420 448714600 707565632 921690250 126203278 970467986 485045974 842980892 380925466 47580292 167203750 866588178 551698478 314918826 339472920 694309438 127725238 517634760 882404360 788766150 924422950 460874488 838581578 268347734 236436570 964970364 802838572 89981626 134576000 943879220 99519040 96416944 160339984 792811116 680189094 830155716 875487382 834885282 950657670 507949382 992050888 228236832 560574574 734431188 112755442 376826910 278624742 680459572 88576222 554170806 837935414 396006354 133986954 831745346 591363870 818322682 222545894 141066968 809084414 782473022 207421366 247867342 796780524 506697104 320041094 493251034 58919122 976288184 104534416 30930118 722577662 923336144 800905340 854971954 609320250 256794360 832420398 510330772 863707280 327156014 460138580 239100230 561694332 879412152 460526658 736453590 418776888 144244460 625423890 681716776 423946238 851155108 697264204 340285476 98888026 292268256 463006266 118583952 488568754 513440162 74002966 312860662 270808580 300171268 728916454 824931284 598814908 461853138 76552892 137830086 663330142 695534028 973811712 189171908 48452554 62236 910459280 723391864 979298950 146501788 949630762 412058260 295751484 429123538 407248268 849224676 363970794 216330132 733179400 508223694 541186916 145770380 180808226 817648624 446802850 765666856 648642744 53002360 72027686 469397920 764729092 192316532 230205198 376423608 744493348 821591048 436668984 840213934 263226716 137665762 63739854 83677486 438336198 363494104 911727446 25379342 583876886 371662572 712279396 819241654 584597084 929724062 429287028 809073752 807705890 464567180 331077660 740198912 188145378 922834256 184325246 679820944 552572076 386951068 277319994 454119644 418708964 837020282 683517598 494207626 213528482 947060994 694095268 950644990 580405596 341678596 70355506 381986430 769607824 294774202 54586902 243436192 673642090 859200854 453887066 40283738 953826528 953224718 267657870 357928180 136441192 160579296 563473512 9420050 387061108 600629650 946567096 255874424 996214382 424286962 936928 533455780 505356694 201584176 536135900 661190406 494945220 23236776 9905402 622357410 692221284 516140404 705888178 895896074 607317214 48694230 134356190 831618886 549110478 564571622 904936186 150828800 74557870 667402890 528929258 316134336 450019172 524862816 800589624 504183590 32910804 699609896 861237002 291156688 723137162 313853652 261805058 9491012 717130780 964486342 389728018 983327464 531938792 773413252 685677628 404390874 327144158 578467270 636796950 863990334 646201676 974606122 830791206 320109064 342346416 156476464 534639878 448426108 772395796 146120596 714108262 592467858 111355532 812433500 374175318 978869538 842382350 395650622 121435264 256250088 830512654 90658306 346126970 509600440 113650076 702511062 292062072 376731124 824090348 301670698 142734670 87177846 932315664 204581182 812974642 821658884 145398600 847298468 857957844 190966344 541951658 475802130 227869936 823126904 142550168 943920036 567118230 591831874 768884508 917706278 466357192 686662664 862436918 285906916 30822914 421625648 445908510 763771076 970221280 569638878 812221478 508327824 231631342 573841010 592064090 77336622 399372344 209841260 4587510 21691240 496280216 407617922 636545354 833053520 139209920 922063830 696168542 176034970 373219384 119635962 564487228 219569512 608775956 380878202 949113630 759540682 752593056 391331968 154094696 512776744 314150134 332037338 296522168 131156518 650993834 158668824 725221408 768181136 215271098 152662996 128038210 801212032 632319526 123215982 514616056 160213386 520691772 37896306 288968930 533813544 453553474 511103708 107174262 853429950 146363014 12903052 441868170 712882908 252192292 98520456 539361710 340088580 969976194 232532996 226890656 442317242 759955282 606261020 255417690 844606420 368280498 448882766 158755304 69440924 717165130 688302940 7825546 92998442 183491866 122480102 743597140 643907816 437826578 981158296 566695094 782793436 842374228 393231660 822063536 385350698 41425810 728148036 218149106 915388040 1898950 607817836 392934838 482878566 832438322 908103102 762429372 446690210 263455600 586956172 963795520 23654346 3444928 93469742 222281402 473382152 487594968 704382728 21065052 961181108 700057674 390223138 637024484 987170352 994016118 888352748 70310934 944959050 364784030 932326858 821118988 727681330 174903658 992718366 70830408 689580412 143362746 638963466 551083442 467093212 859018684 319315352 646948506 116770812 777586812 39989554 195084160 875713994 989506634 21646918 616504680 435901608 991790494 241995226 463733812 691420202 202679498 923794096 268105854 21315862 250855534 922001246 637128668 779297294 531238934 394627308 745384214 177193422 50259134 427185024 505299980 749026020 709313394 819895206 418905458 459824358 285481918 569539184 760693472 845627608 528513268 479300148 815088068 567020212 121579778 972888258 808559784 904643054 635099200 9033258 600747636 931434768 645184640 181186990 73323988 69211644 330956038 587457758 548448044 395951310 241781854 558842394 981585782 347242124 5800246 892121968 526849888 261837540 559139314 689910370 591059458 456829158 947057194 122198730 418944654 21401878 283250296 524270670 187314108 72965496 453507126 720592524 221934784 756796456 417910004 424647390 513838226 306702704 549484344 533181012 737367376 909743542 731460800 176156976 413222906 261153814 383261968 501647794 543338240 94106034 785177718 539880172 53342296 964529542 255898842 895104226 263946420 118920662 708901922 985094570 297411436 642277816 633963506 632848354 980620038 694245106 926345420 698352172 591369642 388123022 258905146 745765534 208151812 134543774 795022162 574607344 416394554 237797534 982550838 367923518 504335006 759794862 328913306 299904060 739011060 539737270 569218064 159301886 312916328 460337628 769337180 821959234 881808536 691362130 30218900 715650380 934513854 843296068 248355936 527763286 412171410 704948376 719920382 478059952 969465178 726194950 393863392 732507608 631122426 195267590 68278216 562730124 783569302 93372006 238946284 545502094 27664238 747280104 789726120 99783204 972886410 158353976 633618912 247769526 5238174 893954426 777521406 506067542 261267338 522175276 900962122 408701364 103693654 76483074 964747464 846889270 734698064 224736470 759188144 410684708 709208 425006344 881023538 237846392 70358618 843580588 944273344 728228776 581271528 438215372 227802920 454496636 438160216 537567686 775104580 162045734 889573112 511340376 387147784 98306396 535226924 475932846 121678436 113748942 546417958 976912896 507597762 269791898 121987412 586617542 743402502 324683032 617134560 765383908 68602046 642292320 351755844 729008382 726111166 713387106 256408316 481893518 894107478 568344362 156770998 935803420 891869208 835546112 617689282 266555502 900356636 848512294 940892258 723443574 120172534 318627848 566219622 522796012 859680590 583563228 279052122 708712572 259237718 805801170 778948024 391558262 314630206 661480974 192647950 863032342 178260078 153207974 714663784 612500126 497380 76564676 550846486 373400060 125663946 444969978 104924660 227680508 989472148 256897236 990989318 373019018 811349408 968159896 84914134 66406962 296561270 680519742 716921596 173166832 418514160 607005480 854228896 260931490 366280654 790687592 915336126 366559648 801333272 698172776 861648542 586654798 975990812 531099478 757037600 398314940 385851794 33644700 693058008 523924036 567770974 49843352 656254320 181748328 294842186 163509568 91069824 202885412 596808672 364083346 57760992 262473284 361671588 928163928 744085856 295511406 923712916 731080984 772427924 351653802 301399078 54228734 785888124 823602744 728843298 153961486 110134424 312582934 432271276 143008016 678939302 825405214 638617976 812176744 936400690 454784284 886767192 148748408 970694300 394249270 765578936 298331648 912374108 776980964 392074454 614461172 364126610 922053032 176766890 588930154 16532982 181673786 76419704 586613000 730885656 530050602 425760938 840904014 637828810 473354362 964517348 459424878 890904578 870720618 104880198 882849158 253446166 854538142 81358914 336286556 499798900 268391024 343539780 819807986 428501572 567243716 206960998 650671314 463237298 762774830 968364072 759295392 886733336 114819562 148602464 140319192 641513848 252496146 185794318 871013864 430258034 486591026 299198328 26957798 245981520 339228330 626709162 46185330 426192542 857137218 383198000 335117524 786771534 194544654 406518692 214047062 176970302 487623436 667551444 298505494 137815216 962867872 504517650 361983674 801268794 750693060 977813890 891681560 348709964 449664418 94206600 570300506 474847990 80474832 645638640 466554424 286717880 937880398 266555552 201827134 582918632 414513578 429057598 805027074 254200604 679061172 826464980 608381018 103504470 897969714 383182936 970280926 626702456 414267132 664839876 440619908 207912368 873370752 992512140 717095744 890130270 509688448 863604354 372380830 47608638 763954816 829004044 785305104 997158386 968554074 665009566 589035990 910122516 430519460 431817766 221878760 576789196 320271822 294943730 436980884 726651144 312270246 871825270 247466766 825147888 780301782 234011988 890247740 745986530 143630728 264972264 483243494 523622380 188544454 575929098 130976470 554529814 55435572 121081960 446430370 885833452 335982154 382956728 936687198 418692284 493584712 317781728 916150676 452640670 723629476 369371600 699953698 635167588 999203618 624266018 307336758 735472294 46441840 690831758 818706136 923422052 672242662 794458554 424459984 809036954 136171108 257820192 945943716 271874590 338757360 202249438 327738592 51590082 694278296 465731840 40758160 251329834 909419814 343906902 756640996 148671346 360376586 55776280 891140986 824135720 327930868 374510686 515979784 310099672 540489828 943850088 967385586 656076576 330704674 982922774 759933916 897764504 977530998 216999648 682121264 81878578 111542378 538413754 605191626 836857332 963221976 245980330 587347330 646154724 953623116 296188634 283689950 918710256 460934782 361292932 180407746 284940708 684612352 400716624 488661474 908774984 334127304 633545036 256932580 311084502 164321912 564990666 961190400 943616436 990023970 512522474 380836076 333938974 630636548 386754726 728926378 656728472 584668208 666291568 414782320 303685450 77700472 21707240 221662720 673995460 767876318 381674268 587107018 897973020 258933814 34435926 685199442 426577246 848582470 267283248 164231464 739330978 505510302 642925672 952673056 984661148 74664154 372157540 414554032 393892038 162820484 997254738 892296384 132276606 607015322 461456486 614797258 315002310 667933116 54641016 399539130 813703876 563314596 79524514 989052264 994031856 993386320 670285686 59988772 45078826 822265562 218635128 890806582 248816990 71494988 186892228 693097036 16118440 361414540 873176244 71702404 923914094 847071478 743524674 604380596 877956438 502390196 604090546 29295712 421522162 936017152 27417596 897105490 160500796 426334252 994507164 986883670 777988304 837321232 974425990 275887006 375828462 953387444 781340218 540277106 244631848 996034060 536864430 513636018 214370158 778945218 497922226 728884382 844229108 706431724 984253334 970509184 391889272 267169898 348702530 25136642 168898816 712788456 588574554 934875178 940269818 113275542 988815878 643215452 727883414 868962802 236404720 705331504 90614880 255908580 574229080 714388420 800899446 378862786 473166102 392812382 691796566 933938444 689516426 30094828 944172964 345871016 556136516 260313656 750673462 734416288 650836300 499251916 403546562 189662042 842485914 39938322 90776784 30182650 588997222 884245108 386976372 468467080 338792792 872055914 201044670 875474236 189581950 444800858 138445430 942792904 507841126 279214282 190409838 174586242 337441990 199217582 758133114 963884226 659172188 554543716 8607976 705066786 430595244 414589522 571552776 230212834 503971542 120210246 701521302 577939068 922031312 603097846 446878482 622168428 832380568 892942020 88130774 710416666 76006844 214656422 753914990 653141650 794982132 295817088 549030742 541974222 765066534 747524396 82511568 798406036 943982818 8164560 892773582 732085780 770234430 425834796 274174950 812944086 513434216 226768392 506728550 398978390 24391500 578707728 289747322 104284992 195566734 680893470 191665020 973648364 697830726 243553320 908180550 275957908 325905592 374476626 364159076 824932606 243802198 494908610 35992414 590154188 208594788 392061154 662378006 600069352 388223370 616974662 88797076 450658608 195927680 70929228 86358084 527080542 23791092 651824790 411501316 993797514 558462814 331902018 864396038 15285280 396225810 197336518 358770154 660048532 742701292 416476294 604256482 914932844 502671674 252996814 503842116 269480912 264211094 169713720 578099624 13201454 457441918 644874716 613394184 459910576 461769658 523625912 790912800 421450298 818722018 687670546 60209146 884729952 541476168 255258558 410399706 891092682 94177042 28149858 677052486 584374210 950025446 396059214 379917382 25337910 119478616 333256080 68947970 527506644 228477994 913818394 316510178 688638978 228443126 404180760 809532488 220165394 187159514 781393342 563051486 570353230 661620378 990787830 205464598 528111902 374009956 850373004 182287718 612737642 394941136 666662718 311828566 801233024 409284302 527527948 268982084 651703450 817741384 776265902 690773220 485407572 435032052 367492782 322710702 314250548 290477602 91993782 309793174 156175760 423437840 624809126 202478366 648183884 702310198 822773900 422442062 535414628 789925688 283799502 635047964 685565804 560984584 868674756 753128732 850893250 182244428 743985038 95354282 847907672 816183068 664486276 268010524 409977604 257727866 955581864 560646922 536889018 585163922 671150476 111864400 527518666 310759154 209270260 667605840 138759570 852005338 246853504 795474506 126210004 100374918 979634468 956308146 148315518 853379380 295656150 51738022 586921072 766604744 425792164 898834396 925587190 950254666 559974004 109092688 683680820 478212758 518888172 436021940 591060936 682982914 978672564 315688322 878500366 173279148 356197158 257354018 586489820 6601230 989880486 218726982 315844628 815291260 929596858 742873822 779731332 614343574 49576160 647684430 153118706 558902712 177397686 863137176 545939036 219058210 183441832 657151454 864481944 498468088 318633124 504347310 76660718 950336082 147366926 17080160 92746578 213371742 475717320 331525400 459096880 945533792 749667916 775636860 413244766 873755566 882661290 685777636 842285084 489929234 799895614 764680670 74940964 964056870 461694522 945644436 460836900 954832206 343036216 603154526 570130892 497845628 597954526 988832936 350891314 253669174 334878636 398061040 270736724 933791708 313803034 213862058 508085646 11588832 63542294 960685240 982852946 570440772 172994156 591085874 356680226 850549622 269849284 295492010 258185184 301101498 179414588 720238680 521543110 681650946 907338012 196340282 312255710 639056244 261486500 404764182 555852414 348080206 739684380 714578358 894278552 719913342 421115306 292400528 210658228 193504864 356902352 219048556 52679248 404486832 133230314 310613808 619835384 55347552 679402446 705316566 933301648 228693234 612584942 901359342 671772850 113687282 569740950 736751084 733832944 604602560 695628320 890969928 977698036 346788194 376013776 689697488 4223364 628184126 546955750 672091034 333898864 863246028 57439372 505772670 725729990 591421518 341121168 898827100 463918778 872451814 213969378 331677198 965859690 896511842 490838238 921783194 13285700 70791520 97516788 326402512 272057950 692883218 777193660 380359956 78683382 322373482 188715942 738070928 924206106 398086640 908583460 525006406 957976522 700487512 191950204 525243534 920530116 879272294 616193344 925047406 46208334 693289330 366402824 346775322 464965428 574481822 360404192 40062598 459453200 224806224 732580642 151278324 349946948 679506948 305365836 551996726 73142630 791716386 266821366 416009590 188506594 762636004 528287328 173268468 660933546 920949896 941292080 514004822 103447572 193904088 680920824 399844402 590854170 641065388 493574354 178278492 251845292 409577688 67038022 259896508 511096766 12780410 995049788 763460778 146413856 281781832 780421624 574003490 564940336 492648082 234472944 128680016 140706008 116073274 598898158 906201910 897168022 414100824 294075218 284889454 636714178 911648784 959950516 328762022 288039218 522116550 215243412 530647750 99878760 601205858 326632952 236531656 276346290 398754264 671578888 652295290 540112294 706159242 936069670 316501350 77580932 57405056 793557170 277316812 819867714 229969608 121625914 595731792 840047876 133210732 507516328 345729910 992894162 550511312 351158810 208987260 976768166 695548160 565030932 799372586 189805910 857245024 210513344 305434036 842965274 589540246 84353734 559283834 963186384 270840528 22924944 447703188 123477292 252037020 939224622 343722184 194996686 133551960 727505506 531685232 753840632 593063696 956470358 897037498 175567728 73468248 171399352 920479100 666725752 931995962 577804182 441296204 968269912 267153112 893551714 794296812 741037912 381983766 379607454 91513914 899606394 150654036 180635756 293664916 137573032 812166702 254761090 982692752 14269328 797044182 499561922 675085772 768436668 400295972 234274846 823577592 782505510 750896538 675611634 384942660 214513116 619156286 879290924 452011912 967221684 174625658 347906248 249144924 217005000 87188640 868693010 354026078 120409764 396351242 690689102 840278100 950123850 818492648 350751608 996634672 844153746 145993632 392837196 201607474 358485502 435142722 67578520 666109162 908496306 75558518 717586990 180893640 29833946 179813162 615638804 907411036 274148790 929807070 110795648 496488962 768429760 101421344 349946408 183846616 879761826 885834180 160021914 73071406 110727360 832729968 433922112 187053750 517220780 930450156 701275750 645568802 842054556 296592582 910925006 722260490 691249608 824557698 365272422 222290306 376522476 182683276 281872264 649523700 779109362 102029614 767698332 119283800 244717176 790750040 953925882 81026028 476588276 363109408 475155420 994673134 534421050 856495134 253148058 109714910 4771000 965614166 190675630 877297874 239161754 365332662 449151374 798813078 641852602 325415646 344716396 274724800 456031960 725586056 243751232 209556952 590175400 826417922 687364202 332660630 118920556 858233852 74867560 106779036 944375222 360940290 977743776 694830084 75566128 614352882 100113260 893369246 259241192 235670466 817521818 646451190 57510002 817085914 501070090 236310674 80788296 995983994 449022266 721917000 340077652 221991156 138598772 307313720 769434194 819194888 960947528 942613682 814198370 81455742 748979682 268362786 465695524 435140100 400560618 806510636 156381594 146409960 362816994 306105738 402795490 449816442 864302164 745800730 94140224 628676564 249991014 312345282 745040916 415182188 552570830 303455424 422510284 351787412 649107736 587809118 64395706 344889902 102161700 778319872 953869052 420940458 653789114 511902096 684706520 312961830 394139524 981530330 115090564 472852254 493469792 723278386 98015020 396533884 680092500 819605880 613667352 316813030 151862028 42522634 489167248 178873588 37537632 745196218 384722126 613175492 470257264 486980442 268785638 227186066 190127072 411982750 950827050 3353522 34689792 102809008 240478092 940969454 778724690 338008398 878228696 844363996 607868826 316847598 256438836 350417054 346833660 828165436 601679132 242824304 196460120 623334606 484701328 165942350 428719240 608982442 985507102 190346838 54544292 805998140 945306246 603496162 392021210 894011034 792746626 6275604 914827552 341959614 973793894 780533892 794262980 701338500 61030452 117495194 253766638 130513840 996823498 75352644 261799162 310029262 875081280 936918814 556760706 52984758 916767130 937651912 828697132 993027848 506517028 740031142 85160676 739281144 238175186 532297094 638981776 737915764 635956582 239982692 653263578 849918358 208531442 877456062 473250268 121630064 670406620 474119738 953366966 19205004 33531984 367442724 641566906 276273530 162179674 705195758 725045098 655840738 793075718 501649148 98824240 348873098 485242166 960504326 892739342 505687412 120024032 971349394 632994864 914260146 31378544 843704690 766545646 109798266 350964858 596103394 745711324 489887370 224988444 790250236 234652720 513671732 770888140 303850796 828422382 799687744 833629240 469665840 875194080 400400956 594669628 433164414 526949686 752046312 579179424 433505584 384465086 87359554 57330992 582464780 920028796 125310356 680707032 823631238 368653766 117776286 201814050 621142052 943953112 399719414 785080496 94630830 717948102 226919744 858058858 744044360 623107724 147892724 208253664 383909174 68780180 432393572 784155108 414788202 992935422 802109310 123402342 239113642 914660444 536033974 873735238 681150508 600929414 678089684 322267156 64550460 939837318 381887216 548994864 735447780 749427250 844515058 962820384 222533800 191020934 418624192 178253486 611404044 634999252 30353076 775639664 922950056 251070186 974031192 358157292 224254220 296300376 16307810 128730222 459677182 95678728 922424826 529541952 34824312 270552938 752476746 173908466 730249888 507789370 947747406 641973592 71692138 524166712 623219186 281200964 807407444 90240248 72492664 554900072 602910538 544871730 201118030 600245918 852100674 915729020 800230300 173318528 521976096 479854486 172446118 104351310 119572508 773602430 134178548 259007160 878255638 998443866 204274808 309924126 347233986 181828986 739523234 429237336 563861924 196580796 239128900 405779626 186620644 143861410 432104380 749491358 812928270 729046432 198989338 127379342 501163756 423025762 363603460 939488042 680713034 653176176 474705874 433294242 732908294 398401772 986979210 534170654 876179876 728673386 734436844 329682280 790601008 963596568 309006400 234269542 654779108 629842816 577546210 358688330 744202604 934179784 479692018 542969374 115916986 634133766 570865824 142381580 419406144 456093136 377885278 319982768 860766212 706070000 111246982 392484338 188497656 762884328 891180036 6801710 682805906 304291598 997087712 807207906 370125218 932238272 529768220 958163334 431656140 692012952 710472944 858133354 630165596 988416174 925820646 112967716 115096826 662046630 684573982 854763722 362685704 473134462 217479056 560579904 345905074 651993924 42724018 703625604 417874646 262969134 746088544 450480168 794545904 985383722 220494964 488097386 247950948 368971476 19843500 378294730 417289864 52055208 389935570 589284900 162218218 305429520 390082532 402271872 213383728 998582770 328930900 171262936 735792610 413537164 704597728 699662170 561684154 78557732 75649072 814122308 337729832 156586136 588450236 119160182 464802672 293966320 349948050 901405674 621454010 343688016 403483698 153502864 534394178 232396374 547727258 105136294 652878596 363512306 61706746 94642700 696055422 520773880 790118040 244828176 701981958 720356484 175553282 701377050 838998654 367960648 376353706 647488048 153729700 444554018 112109328 888778350 339879242 417971150 416781168 703667026 298469230 771044884 308305474 500065530 977790006 372179922 247344316 547045398 677186738 230485262 862690088 641686128 986014706 182055544 72347900 284919778 886764280 103308554 432296976 981746144 838008000 103715414 463355722 943824796 973882910 368322402 318857130 199199468 616796864 126126186 47543512 336650470 748828838 4204014 515649420 10457582 661466060 325693266 277829536 350254684 253003554 231412174 305839814 130886170 811639430 924074998 482592378 174386008 765596584 519573732 442417718 997758106 48732176 747019598 905648990 152566252 504861208 437955806 342461662 818522330 41307738 632645028 288955802 799009796 107219282 625285826 477094480 362089524 941568686 443185540 136377728 484382450 729326918 17014206 458377468 816641312 789021130 967759794 99593434 861050684 166051858 298892814 25629080 172802840 515156242 804636926 165870118 40104050 545053922 537374354 281749954 173339074 699421962 384930344 941669988 464250422 474573622 457820996 407937114 283172074 469069374 395324342 876804964 9742786 422524398 656920016 782417746 420698662 17444290 334717994 211485318 329869524 804710204 797394986 937351862 626047248 868881724 654468694 704195010 973522602 171950340 754904630 533576196 531752948 576779718 577171420 714295092 413738820 467088620 210681786 617283876 268007374 147409434 613932920 813411730 567690800 998388656 638095300 951466184 899939126 233995698 243419398 650804300 860516830 822091420 481013676 517666204 998996274 636613118 614561944 367665812 609221370 702139166 571610396 250695690 903914422 391858594 600644910 600931254 153702280 548286254 404765872 994032094 805812774 520316496 70578624 593095720 853852574 176261026 696643670 835910194 621727942 248832342 527577140 956046426 938474356 758186684 197824258 821346360 856383262 933728676 738011778 498546118 108174932 350407708 558426490 801868092 821526186 727716500 892621124 451813582 880347498 994648798 639625384 749392540 806842370 119856744 583309160 368837858 117116960 915747770 66674150 534243008 859823310 104249418 841719170 546465886 150514866 624634072 230790782 466339888 433244952 942989576 417118526 9777776 432637680 836555512 439405924 857200902 486139298 266617810 961129452 666810284 190307734 773840614 26995298 310570794 684104624 959363968 755452430 979021606 110821736 667003918 599177800 566999090 410461418 222872472 932463692 467014750 703289480 678629250 422997554 656011962 577784186 785615220 437061378 166944680 67664542 456923646 964264340 738368296 96912422 930422848 534629570 64153550 209666508 900750774 323421554 815529854 351854624 572393534 661749058 925579856 495550190 610141190 427513226 493454034 890831976 893116846 802410272 146523336 465917400 769071486 388513262 159531504 68721682 861803558 380528500 387081156 118288614 881818078 403444316 931583870 812486146 687584762 704994656 133203162 620368852 411910114 535012110 57269210 375202552 523215308 214781500 69076126 465435854 311118556 772996998 572504918 704161156 952528824 792899482 559257952 150586604 838597792 828232316 763838754 643342716 638716374 858895190 939639688 796387050 847642676 600799758 343718196 708263256 989532044 831516492 898718720 449164438 868640000 262697344 579262580 679436238 322777976 24423188 255759566 708130612 110350264 539820416 52978802 772098262 620149016 381612954 616810218 333391768 287292834 780325398 839507344 51889658 36867910 381704992 723547504 522317358 342636186 633059510 102347300 327946910 433237178 61191014 382067646 484426344 504785976 519613380 152792032 120435568 459151786 643371934 416158972 395306540 388188866 460720532 917603088 120402394 907393002 377311414 875815072 797240314 95326768 111491358 183119414 886081580 71003986 658416580 487540176 201244948 450299288 945601778 358030484 594952614 269677904 673457900 627802718 609160516 710208708 631440088 363447172 248780614 513019926 727363996 249017340 72055278 225409794 683250342 230193594 576472096 330102982 594445074 155577602 839766062 142890828 980040050 806771244 830939914 524150328 169213930 282920736 611855178 219167488 542878812 308002374 379416342 158413194 977788444 848905986 739284362 660661762 305732384 287986324 834297766 258106062 326575776 778497454 527078112 767567526 540241452 901960654 376783818 181239576 642284940 55181316 919094138 18965030 702352606 784907032 168426640 645371250 456012676 751784114 343184248 653344310 130743940 605949218 713975380 277303618 66125858 973316128 635176366 792635978 102534986 125194014 228749054 511612516 230165752 937149358 98703356 122228968 537493066 834398274 447803560 227463546 338667918 735514254 415594366 834993096 456900966 798158430 126049126 474820064 844564340 932962080 884660292 961670472 736599492 574216736 585003946 412396034 111891932 41120334 861706506 339135960 317291884 650608592 293891024 848428174 867268640 350947400 575745546 806419630 286540014 569466400 19977938 190271972 5388762 263060670 861028174 283504190 102745886 458134542 602047950 221929700 35643662 800101698 335102802 438372664 422000610 593928572 871745626 473250706 102769512 102173512 307938260 900719696 214712316 222588088 768622742 480141812 914496564 823968490 689944648 714425750 332130350 230859044 336275112 872303200 785749924 216516566 706854592 892522336 519359392 345000812 432421704 114016902 292587758 473216996 885265208 423063010 935566212 538743748 734036220 949117038 352341456 54024698 399690928 126287242 777679314 116726076 38927254 923381710 61422278 605573310 869719112 8068936 677292682 450251040 608350410 917215402 957517398 949585312 779114684 990086864 34715230 237583806 316225824 715499326 902670466 888674382 149532010 407125368 815990382 995846426 58280762 5548722 840371590 932037760 472135508 305872136 316324046 77493864 432940810 312740126 909343992 831310216 623304596 551453238 608449088 45606922 766767628 490485154 862156974 304799712 601815118 258842796 103097954 295962278 227025642 320566046 443543612 236481840 986447976 206347092 178954244 421544930 978593330 539160664 952275144 126714082 50247846 479059364 548097634 387603160 780356014 84582834 548252814 996446864 772557208 705044548 586773484 184176456 221825510 956195962 695746304 203292972 654379498 426590772 588181194 70022346 331642612 421010810 880998180 676142636 106479746 659604626 738557326 35286148 382331558 508898960 142187158 704482378 526357332 369951332 890881406 147771698 843001992 834039910 986558648 205722888 217582464 795274702 742141256 172781906 363925038 169523270 293782912 137071180 933874678 29321826 35230006 173110026 899534626 553326218 317549746 175363338 67955600 413181672 125190552 957690656 564653410 409509780 128366608 989218474 493291720 333280478 354542936 91460034 326577230 202530260 982099570 83428102 955812282 564352360 720713296 366187700 210323574 745822280 182961550 480041906 780644912 789991106 177822694 977300206 955905096 222470678 940999538 721740830 67060968 191825526 284269896 58698846 227791048 543835818 360925664 341062782 202470170 269717416 961223840 386680948 153112344 633785266 897403048 556210236 287368456 968936426 727139860 659300676 32679718 157773822 666163174 217619396 243105056 28950798 308926320 731971602 695833906 766526458 290875724 51585914 942424780 982390090 443017518 165590824 782421788 912903180 976297126 639650842 287455614 593735350 459391308 610947618 119517092 564232210 52739082 964774148 408604320 458724308 516572850 182907462 394214986 48246508 883462804 779213012 138029542 356010022 868614580 131898158 542993214 865942604 857996558 905384668 958562356 980010812 79472200 251213140 802875654 920035034 104752296 172231304 70753740 344257360 982968648 46238426 100058344 558414188 791919750 708500720 367614204 343308126 110478244 905175196 62240466 856309722 633575334 322910010 950494588 100525598 898233356 523685890 32817334 822717030 305043376 612193790 661261656 87711786 715953854 264696370 374958582 609936398 822503704 649951494 655750362 316920100 758834192 390985898 787997116 413605602 929453656 929516798 326611830 910551592 12291938 154656264 773441936 373126460 29256642 166545142 543075316 278016416 600127368 903587522 619270562 192629086 914829682 463319762 979084206 430763498 868416136 966496016 489508534 611650520 12206624 293408504 586696238 843557806 259691206 855514446 415922408 984039858 711232912 933670532 539191558 596013140 738904308 982362306 740799780 730069426 658829994 307038284 249033130 131648616 587506800 996761760 720322396 379801812 784392942 869084902 901246856 195786596 26332776 72980240 565629274 206421050 580114994 535064626 201509710 266640560 84299460 472610496 506034798 520179664 483237164 493111082 531710722 285650658 55973896 233023204 462648458 638649784 59353252 386613034 224798 243862162 619584534 575239940 425842200 220972240 71642654 484746488 241136056 51008326 454944036 751390138 186421034 183370460 476794306 548210828 517499038 905180110 14149876 670916448 903766466 345838588 711194120 264899246 120137290 57615344 294685706 28056772 47362494 492705600 904626462 433683928 148413288 123724320 551261798 528538728 76129470 922228210 16135526 880346792 873455090 746523554 923195084 347809508 508141948 148298916 714750460 902929968 691955522 610164210 439856376 298425074 969383266 706389894 13480672 701085672 371976566 732716504 762475466 764165034 511967382 224746392 526321324 502099678 58027848 684847278 741290026 635466506 132113838 533394246 308713218 717272374 655855812 606629978 887472690 621259822 107917106 460358780 794749400 628115300 786980132 662571602 985429392 562164520 887669194 743975128 123903840 458674914 883984138 611756758 478499902 936384538 628285428 442998604 725270394 127048612 508762874 427134896 596349780 656487866 258052008 827888796 835629098 128350472 902834640 954678568 493514096 438322970 232688598 381226030 548035404 426699182 583262444 754341672 329847130 185109684 688305814 648571806 996680658 281128486 889104756 559051860 213882000 698042062 561627232 847015648 244050364 556601210 516169464 524292766 22986954 237436958 904652040 794674000 158070400 269616644 149246870 318333038 751497142 459565972 50437360 134180484 942046984 239744314 362471170 52882682 769677638 247578022 290503540 869950782 374623658 886285144 917769490 35758964 955304748 135550720 528421732 803363928 817114002 99825082 291425830 615167418 842462616 177292552 626425104 550876000 863783470 454745078 964283278 297248760 22771202 627813284 508725658 623553980 262715794 560545598 970887102 221627848 843216978 740830322 977220782 134743038 826229898 396118174 560566090 336784474 2135972 462074598 72804574 127523932 279760286 661186378 450242432 101794724 757867188 425992670 686561554 765843874 875373296 761601842 333494198 568805160 339375532 319422526 794363310 691243698 669744556 70800136 880536006 94136030 195970166 487368644 3248648 332005602 217087276 790744522 291841476 602360504 460691164 777146922 202788304 284367888 352629202 939464650 842819410 500004576 736207210 937685616 920442968 986200022 795376132 366202248 455202228 955311706 629904934 876331122 317033786 202451408 846434872 522891886 167053658 639862192 81799682 802327538 685845882 878702316 227597672 796209722 59055496 278596292 826180380 161461544 405401530 365400006 463596132 762627212 508709762 755033192 188151800 609571076 983144476 349068810 795847050 912515310 951303662 447304184 223355988 49179634 265155668 964210134 344426828 946338438 125896300 90003868 618813970 53762824 236467142 682120376 677277112 152075212 674566230 367897388 3160306 800688176 364147148 642419956 12316844 245063612 90158778 214825476 332555546 935624068 184371644 212079778 382144546 453919614 78205268 843121404 324846708 930777202 710404448 559175444 752892666 589049194 813659098 874696468 270858104 146538280 991680726 314741332 689293106 595982436 992553658 407372938 795473788 498975872 662949244 232986930 148347538 587310996 655060262 542134530 523311106 813529112 358660482 268015098 69885798 651785126 700876892 943424128 401245000 137775676 437544508 461585216 995314136 707154128 565413460 367369512 524208198 51945308 477457712 254816058 957885222 854591752 997946086 765123174 983581490 772099134 226962940 3081024 401980884 549252678 268413382 422770824 539115452 150441910 882548250 422572854 938192938 94231380 497235658 892100826 645563838 786399368 801190852 776365674 406668842 113760478 53881320 201338206 536096816 695102406 685957990 15367474 520400930 172212864 89040332 842290240 601869132 556300532 555388400 600952304 144308018 370155252 361439160 782070598 601224188 75530236 195775556 893544560 183658668 297276182 348816568 79522944 832212582 158357274 139023088 377426926 740453934 887785428 609339370 623752124 449304246 274036504 429573044 799289540 443428130 874114426 330827430 132596912 575244634 757370510 789166272 620647486 766308810 531620802 39494136 831131662 720097354 962353646 130233336 682971708 167331874 218932944 976973866 68926612 943697488 874005956 82386882 596128822 430200342 426879488 695411360 612659746 420080174 10987552 942009444 575658338 562067930 952034060 77109484 814804958 257310656 711729948 575406702 425320664 926281560 877151080 532766866 866663784 88362122 198575896 297164042 272810508 387395216 475085642 899640534 223019500 966315562 690168708 949850100 87699934 309420726 329575778 851669982 649669082 334153798 978334434 357415246 403667790 799776134 583713626 496285866 871227396 832306890 136928788 231863944 60905972 338525730 686291946 117971956 966132644 39144998 471303888 398544728 500601218 414172370 257098918 435914636 481746366 997489196 569695892 836254680 320176374 405594800 20584136 520521058 6140900 444247936 281716770 712882294 81311440 914188616 350024204 484733720 211147936 870846512 998335316 347822210 329282328 680691028 480911356 634843440 149713350 35521734 286946084 976391384 261685494 575729856 128981074 131857726 870094174 727589878 238347404 190600626 894660490 177973154 843478728 842699266 127535764 79536534 964862916 254256016 52700192 363123086 122886402 940646188 616016616 262819542 720500094 455414862 309444594 709435530 351291774 747909408 496240298 210137592 70129610 221485350 365217882 105516582 506353630 524144510 100447084 874248206 208484710 203184888 159343298 894944556 460254652 80639550 132239548 688765508 87599214 820127966 87413192 914309584 506038886 815601752 75501562 730864958 87192248 626051598 553657970 981352920 128699200 102976208 500499858 810590924 486125576 225334304 859080842 665660336 365752448 947351484 10406758 69784324 217151578 254256312 608665280 739932826 656355854 907712208 968079014 310867512 635136640 586286168 771197568 877683304 740522560 352961496 726131988 204592532 267851562 402602934 323063426 179168934 187337872 523647662 197826790 655963416 160369904 630781278 85423306 450832994 52666602 968537264 4935994 183539554 576741486 395255810 225462264 331682358 992763634 184196180 125873550 278002174 872144526 162631918 770795264 94511356 680598118 41149228 191808622 954658644 593125134 170089870 284394804 650434696 318832272 217865506 295659408 38137362 161100008 289572376 970718660 141270236 333014050 330626104 257430244 499060482 64824124 365654112 114781060 661026304 62770372 597605998 609528920 282658090 41498894 433825356 754366002 825417078 357055654 968215040 697857260 692433666 743624788 443148158 600572062 698866128 990115514 248399104 111714182 401969458 341573316 55884010 743316688 590018746 716358472 393540846 618806184 915534896 79473646 622446162 635486996 398539828 817092630 947603620 268098780 613748114 606961710 983177674 248613438 289855004 753605152 340620350 854367656 377686356 237804040 510688480 625053688 923510230 29395568 347468316 126346810 391620276 20137054 748259514 563582140 793519832 259624886 108255544 377838760 462962504 867081824 297431408 645765966 412596310 112492496 303597302 70831242 883630746 883454458 209361140 951709618 198855364 98309562 778827922 286008988 528789566 726412020 295731440 942373718 571151970 9127248 562059846 894787106 721337800 331093324 680177144 451984982 971358120 844448174 618139798 354577612 332368220 120514768 477146154 455133498 521943016 694716132 245879072 318334698 461638524 42988616 511458544 805147392 658696166 168258448 744079578 963039000 280258664 795750606 568250542 735518784 31504028 436145126 805590864 380044434 276572516 293082492 179158214 978212530 903136210 667018570 74893958 693447192 24681840 816518494 396892636 17245138 404164862 161639160 387420706 983421274 363404744 275900280 734742574 28506440 868046992 460689324 978414466 478517624 918694740 503648982 427704874 361614134 520776958 498832616 867422446 307971048 991313550 539344548 790359730 117180928 76114238 844499510 590985304 116874574 514952254 408268952 382684734 504603196 315497012 509658624 494115514 124477606 701955746 493921800 258946064 324722650 536819016 556634840 4109470 26130282 214877496 79659692 511423430 572194532 695086740 369233264 444573378 142793790 263073910 252101560 186090098 150779556 967298896 113317484 522528238 378308968 293436646 18057358 613459856 323862628 5841246 662927224 333549680 195055232 236957040 846696184 615263994 243923484 487113562 270292300 440707824 170556904 93125426 881839132 709698652 874164036 726526444 853440630 263211978 696803314 902305372 796623788 928667230 543540370 772371054 95499310 391051340 844918860 997343608 721847540 876602828 879053548 252156738 346136720 31992826 869671472 538729834 815256270 570165104 355934286 479772806 405172362 739114344 689784334 485432474 833984362 551675284 487107648 566065852 518299030 204471202 213092298 154882216 762818668 423708606 475997304 617206024 711980178 493352912 426473798 328932700 842928418 21059492 133047398 398268060 278443400 109591190 594920470 326958844 542117300 518750334 287138274 664034282 576493188 959329614 22687876 608326716 27133824 284641004 997608702 598233260 811416270 546836154 608953606 798622262 312221178 266371368 641453480 103057248 325951298 522503148 92244640 169401700 74165986 855194872 451775518 44279406 495903324 637831136 125520408 766031844 124283154 996193702 13878534 963347074 268094058 622762984 87497928 707122584 334308642 906729450 702780164 261388850 93179154 883514814 824255662 803667464 252345888 137762812 244191626 432308654 518271062 386144038 626568748 940398558 19415848 580248952 966168244 5094576 415584784 77299228 900013996 56279386 741717910 461508302 561331392 930633046 880567034 483414148 738028122 982271636 424443464 33578578 374466432 808102990 528934736 855887010 606229012 815224590 30491510 488583186 752466948 370276342 408317220 928458642 955140492 978773960 440858828 789161946 721326338 609423644 430464024 862774996 125069934 196259300 344947546 433778810 483330236 136467754 445996022 336411806 575589346 800559730 719302308 119549456 508089390 10613582 732692244 421967012 776845632 15566828 479607562 100227444 506309990 662808532 267092706 224333278 284160624 761998380 254253232 415208022 939586900 408448928 839536806 197216698 951656314 580549044 393123936 613914130 960563738 456158848 632314092 396693740 819741908 305493706 323735420 534922964 67192384 311611924 422555554 550266076 421118276 216366910 166794766 628145242 154555420 719344882 22405684 92882418 650270346 383881744 949587042 46784676 689644622 965893114 67505760 849486360 973866138 551491868 965067916 654588842 60944042 798007586 620347880 92075544 720884712 124331868 320581774 214747880 443116568 547263934 259764240 733921138 788188712 723063432 42976442 173683224 116122672 368503082 292781306 937771134 792553528 845787392 553567134 535965854 412576954 99740272 171992054 362859574 400632072 578277192 23564986 751034768 35238088 807005252 382145422 917792962 959874554 153881230 236074924 668146708 102765690 826119460 398429548 678004746 462063214 990647390 179712510 577591012 293109210 117696802 677915498 569838304 392788556 130932912 736401322 254317818 801503666 259873880 203505560 15055900 164144400 650569364 4364578 904721776 838301082 483210222 343294302 968705356 194032260 960481214 248977578 260872736 326732830 486788334 625340368 605209382 471145154 529708858 903108990 634489740 974899628 961413938 939692880 749332020 324752862 835684680 550644004 747320548 630470908 26475216 436008108 684574084 56708766 615705452 238593186 353937968 139726046 738922196 981401500 405524434 555635144 767421922 958846316 884535266 462469724 456899860 311118020 947616040 840460724 156616816 278684016 783067478 479180168 237321796 211060536 17179364 52592200 504724004 851848374 612881290 151382672 636861496 25554592 10249540 104217318 543748850 526283718 817812638 283717820 111160560 389538396 540001338 781305144 977917472 496293026 539921580 184457284 270336344 841285864 656837222 488559264 63965110 637778856 939057524 88810880 802930332 273825120 303018720 287825860 860922828 697331454 72665940 444928606 531846512 249502802 165582222 646126882 603981508 459915464 586815880 922440292 483237886 56954528 182353660 431758898 373062602 403227986 642025080 611280028 329413392 881294258 869304306 632632808 125537888 847697676 308423484 469196570 483996652 168945458 688578696 620276818 309638566 29785548 699318520 411908778 654747294 42164890 902127804 533519556 467492492 467566308 953203370 370485882 235878870 958754274 129965292 902978096 101750970 352713752 827010802 212610786 312520982 812048806 473087912 253599236 319941390 899186044 893362180 225762718 492124952 800721080 625302890 979737812 552174010 799978808 805558660 205157534 364035800 139915892 937605938 985437304 854600872 950030860 205320708 971075592 346096138 18552580 982342336 483654226 591556016 95005132 59810470 628198114 353213736 426752500 718399662 689737612 452187384 323676844 92856468 354089466 274589830 378540070 752514420 414007634 337832214 400512678 780993510 361151048 394358952 671630814 710121720 12680088 788244178 240298712 167348704 726592976 678591968 176399818 995520080 359806298 454975306 495461122 816296360 269898182 750126920 357787406 203124514 724469012 213127860 592252978 588074408 931388456 668976998 909089210 459309206 568121082 899871878 937138614 779886174 208085446 554464062 722505120 463415080 675559266 806092552 861568252 584015254 673430752 7783510 594760154 618860470 720187856 277905658 756649346 175406434 20350434 690133036 999294324 99738322 169251328 611868768 554645100 949474686 189334520 428125178 232495106 319136298 751554962 220688702 527004600 360242564 657403738 43498668 8165772 933191418 683106292 536140716 59095656 577250608 620315240 24222694 818443748 309872658 697743266 775741526 384179250 222867806 957415172 181901372 877174908 691188348 756020952 719240628 831641694 912613366 45331118 532884226 306089960 649326462 873975676 908505264 626851436 985157988 175327374 782644894 979880130 487156600 117771078 108349184 487931922 537159886 235493300 953108696 357887436 779162880 485755242 627718422 246501194 586150330 993875712 774595928 383155520 49556612 483338808 95753598 618283894 55234078 910288832 506518702 271221802 336080070 402560790 298153076 787192930 977868106 381679460 775193626 292316594 730351522 92094190 625123656 569361304 495588322 686767534 192322844 770184822 103925962 939220544 319725088 358505734 577324784 584312072 866643354 819907954 168427612 192867914 671162958 876748510 182959194 63867362 580359854 77100862 244795556 879034654 275070830 244055394 450724792 619997484 780353442 744938140 945368086 5876326 447872636 147969248 253842566 184616948 735601900 924308900 395795068 989668472 123075178 498494258 706264664 432693960 832131556 845943592 830067470 242494800 214104582 457016958 12932652 861578856 372406272 771253350 964061256 655440392 417766816 973338784 896049992 768988850 434482024 128575298 61880852 3323440 698155932 624437244 161862662 247023768 571730264 448433218 159999310 947865592 805996410 829472932 702608670 324338080 794428616 297090566 292869240 898479194 437397920 728982776 219430518 875375094 22306758 952145200 77795036 468055070 175003002 672963748 902479312 409130804 211970834 520005520 208841382 136114926 478445392 502726356 621151718 168421388 958513136 41022774 316399314 449595318 910489256 908624844 419370046 671195782 246320790 983989790 445607776 26139318 614787622 955068522 84740742 773775448 323800712 37884040 509911236 910202442 453179868 365487008 85896456 395283222 710875824 236316610 214387054 875334360 965572710 463898542 512856020 111204602 589407836 245130552 411538686 982006202 409030482 852670246 159851902 951308866 294764280 185086756 852258796 258358016 308944204 3329366 924170006 147073900 649162684 701279036 338432690 38931218 578794236 869215886 915077296 297259066 39337432 857025604 702101710 283184256 124645582 51489022 29764016 225679622 62836132 983131992 762669232 31012536 562719874 419417476 697380374 34641588 693453324 40614768 448226106 898900336 20968732 395772498 190763212 485756230 844893956 568266122 800077062 826075966 469206104 332932864 776625240 112719950 851357258 154596444 187411682 338494960 914473888 633349218 336947302 296651904 259353866 1952186 97431682 623112558 47022706 587647232 124263738 21861310 596510518 707600106 282301774 325574502 471377124 321641712 446470582 817191230 224057944 657426492 62688472 183647376 833939218 483366546 949815400 107071466 923827826 792261384 566347958 435414786 8038470 900597286 657801554 843718324 615624164 905727618 563880008 442119946 573167664 761653144 110368298 179762974 97315544 311016822 208434714 222618800 442308532 433788842 666394226 563736156 984015542 433691600 874544064 820499882 685528506 458003222 778736482 173172926 898367708 6194668 832545930 162758642 846623234 544479286 29372732 596632358 109085546 234742328 287072120 559497820 391191644 550653120 947416634 775591100 923221962 732500824 314404660 3520402 304175748 475738692 905002410 891768244 435509320 302647270 521113508 693257248 198646086 550485114 384175720 245697366 134999674 279488178 162494774 835461236 932654670 630236082 868448200 409174416 499162042 153821118 808817410 26952502 942006790 477496590 996079318 223002580 572967128 565963336 529916794 905213420 248281130 887450740 635817084 971208980 451067972 609453082 638764852 935642890 806424660 905233098 855418592 215918874 488842866 509147160 792748580 436231028 879375292 243295418 709319060 508779510 561785354 645338068 663925292 898615110 382197088 497210570 337771624 716861608 873200148 623417170 430484062 959151950 977866292 965439110 537939920 603298008 240250786 163815606 175982678 854981774 206689682 848320908 764700668 646253558 860932076 813482848 982186088 881950238 477945630 626390038 531028514 212974498 273725388 844423928 348819880 125910264 742929984 826602602 818232462 155558930 611725100 969492282 573645258 78955514 980314480 413164718 471542724 817520072 34800886 486667830 84084320 32753400 348398300 766425720 903073632 413170330 416228362 820003882 461592534 458484222 431153592 919851034 387343732 992583902 66770244 453524212 601211520 748866350 176010614 995277920 488782790 771348116 782252820 664010828 629238772 408784420 178613818 749499240 705711936 876681252 228086778 833069670 607507322 457188568 188017538 47294822 285918584 577755322 230633570 338808016 709789524 902753592 135534666 204624692 418624068 784654390 261910786 20727038 526828894 106948326 428757524 2217754 884559346 118461688 987718688 871259386 1186386 917245856 52265610 505931442 40461242 601959360 492072796 482661746 965879108 77662106 862385062 991459260 437066286 576292962 940818146 593593948 113463244 741348352 636630876 288434118 130701072 38096698 264547090 595257912 24102748 334736878 109714726 770309258 233212206 8400214 849433710 911662286 222820228 46534162 872129606 347371462 569725072 22700384 320273426 238428154 282201294 509660344 863799316 693726980 990797690 725123278 459710462 465329828 32756006 850556244 443874062 571291584 669705922 246065752 775029464 571896442 164939908 382151466 400276222 949738014 926383698 787218132 300517868 509242668 958062850 95798578 755535420 83519252 408775754 861680258 929997496 576909914 844113416 606737740 406125490 963543058 787448414 351665506 351770132 637497144 698135210 562416004 635044942 752758042 399620410 592277744 286139824 596325112 253115974 799883138 671489914 675376826 980353922 823796490 705881518 80044594 964936990 365532904 811171936 488903942 68903412 500281476 379767190 265185536 80039540 979062514 226771230 888424772 468856618 14293618 116660168 528566986 909693838 189888690 328981836 574465806 45197410 849681302 631619330 600155748 323851070 460946608 397303150 490489956 825577744 760647550 188421806 188038488 962744720 863730694 742452964 934856016 393277496 391676098 732427516 246031260 518177036 330718446 137120498 842183722 18889922 776278148 149996260 520333972 148745674 626066350 156330778 301640558 416617994 500542870 593534214 439131156 826994166 105176374 595956064 21031908 677374450 263052814 755556672 741535910 358828434 882092108 154711994 766718212 506091366 495625218 935816542 61656444 75929384 778723452 585666536 513211906 672763416 435818326 599389634 408248358 650240184 428608854 122661788 241980476 186120878 970469072 662851750 588070962 786518238 262399806 379030044 497932840 16366470 631970770 232919780 196563076 725342442 478535548 224364708 970674704 535791530 914721596 966217024 587569738 937898896 835051604 256407978 112230892 319377752 394961100 160797062 495749042 139149388 359979022 280840012 93177318 849408304 327686194 460968180 6904744 617705508 7471608 667395518 306313752 783758470 166955292 130029212 836949600 287171214 636786488 567463202 875843444 822993556 632047990 548815250 590315388 66869116 80931484 623335240 946738164 998207050 946512834 160301220 435003226 488358694 927813148 622717140 378705518 22225304 777927808 941019206 930303104 690155384 850683830 105967528 821642016 137840554 783522030 80243052 613504922 251594824 432925046 529462234 698115678 194059500 522628154 656432458 329432450 730705668 771565870 952339408 106712540 100015976 22062658 896620968 893610150 251338780 738734312 347989768 236077780 653713550 773508916 918708382 250982714 177732774 178930188 442250824 416974228 989347932 560394686 825229818 44710774 291748540 521950160 7905116 456974526 416773858 125942188 499766284 236086786 930248640 499689588 621043810 997380112 872394218 946423036 946535280 195813684 124697296 405013938 725221702 861280746 711304220 59103248 910004468 677722390 615023398 38909558 892841208 446217880 508110120 955452588 255599188 216108976 214274910 326078956 404203340 844215924 401842260 587392754 370390684 161844460 803223796 593938766 945302324 16273102 804801448 897993458 103880740 800690276 307534136 685752814 163269230 659133726 988465112 778452686 962150774 417339098 714519044 812945120 181890056 126290598 947580312 769594972 860223420 316796824 538978590 499559140 413559414 544279968 680319218 369168996 830524434 256830786 188229806 990853050 338819594 502613814 730589020 604227484 485448394 594363644 905019618 862581582 100878570 978988014 956086744 155947490 677784358 288345748 365901344 651095992 585402110 55530824 730678642 751002148 286817896 823142746 480348580 535680314 790324634 212272344 265026206 702745248 391631774 440053328 252293042 76073340 262638976 795863710 808532136 424694088 103690228 79023010 936657892 218828392 470612642 951799426 289393156 362399006 447364196 297814626 832623294 717253142 651641978 282278874 54865930 977711734 54221796 41834310 189226416 69281042 927383604 277023752 106227634 431651924 59470682 224869302 291603592 883319354 814485980 417668252 78691298 847017666 507765000 708912142 334258376 217786278 994055274 61428334 995976416 665658814 841675366 191581782 128495362 178422556 648944704 338465598 791565098 624185170 439953986 72044278 302511208 426880594 998814318 730595550 78132522 816576104 32351358 397752940 135426482 749165548 952226754 292711302 582133298 526165040 783873988 72794984 906424824 14643890 790750142 235754116 758379550 9315704 657835406 39757030 858987224 689663892 654507252 959779442 633207286 576444816 494768642 184079324 757198560 718647686 596152258 823548716 695435758 77951462 879893450 284497396 887864180 546875696 936689292 2738712 329222768 286646096 240081178 249602516 818670928 588884572 539404058 166027230 143127118 439379276 572663778 936128448 775318398 14988654 967342072 996265478 897968020 784116420 472183480 163036324 230201190 649397510 226330252 745149004 542648246 821662562 195416244 849788032 609926246 330438282 267462246 279873230 465211458 39395086 915587534 370294680 496841880 916136504 299458216 584405494 222050500 841094346 890601204 267708280 620218622 277644004 512448732 970187132 402842810 294278180 198315160 75764664 36061810 965840240 555441060 581595156 87417340 410412152 987328168 55995612 65750478 577047654 707004174 961967140 747468328 417680214 743507440 363914792 78654820 466862820 370016532 423094784 899536278 525835928 418628746 728007564 265400496 331156920 760612058 868407406 489932928 4922024 404628320 7024040 456889326 92167518 707150184 772580496 960656888 907281304 928004216 190581040 898411926 583379360 174761972 709560720 381999518 959038140 248658746 344040888 205142032 139369010 207612156 699383806 286091468 105528516 117407940 55620966 587988970 103719314 137032434 230627768 305127744 626723926 1575734 91499952 429533392 787839274 129156124 73979804 855051670 350317516 584964072 970262700 305575316 157723120 863287452 428763778 121282144 92275440 714797860 556461166 224431330 49756698 881623026 236144244 571752150 711740014 37851300 207712778 783404544 912352612 975980968 663610930 368456806 729862806 648096130 559643750 421680870 294202732 871945344 253253640 836440476 255360358 777539986 697782496 798686032 399842346 783941808 327710772 8776934 288733972 825530240 335902106 553466012 379747058 536104704 536125014 94695904 400478164 630087908 78943908 621189038 33030394 907677994 337120438 975177884 260868412 82133920 828661642 954631098 917522564 51739764 379110596 748581180 74957438 520395240 414035422 771416030 384460558 1229994 859392160 388900148 527248586 827086822 71267778 552715934 607369096 660878044 550414656 170876074 882316956 133873642 334877286 641722494 982079898 795384348 131852396 452842868 631120602 775904928 583211764 490132886 912640646 712633708 946634860 544191686 863495386 733377830 504487430 96549500 175775712 584111914 797767354 737304140 364416430 311568804 157909320 999875840 968563436 417267148 993470098 324939546 174953134 357179620 304221456 927269366 116973784 782199270 896532310 180895556 167900366 950452040 331828132 944513194 640470918 949460802 581472498 593519726 47308062 509920340 976388620 443990790 844203874 156300910 608225354 164004690 432317708 31310110 607584464 468743110 240854224 595900846 938846386 985860104 144816800 202113378 228853988 904099952 514218840 399374346 14558790 498739654 389310924 840503384 6983592 544845030 339680730 316091204 377591312 725630174 638061762 951393294 942201448 77761106 147636308 93241040 659792566 813938320 563570612 727990466 99600162 528945596 250821202 461816522 679801774 270839814 900856596 178454104 855884102 988452984 938532774 968391174 472584576 89533662 597663036 419858254 707935598 821032360 148674792 926546684 597008470 238887848 904574212 593622454 19803560 40005500 736698922 903276878 268618082 493079296 580899672 769493356 686967360 885976614 423116794 230117448 162722112 498708470 610120840 115995646 231158456 695703834 569438860 342984262 192505430 508862582 202942310 751429306 857960700 560851142 181645396 178678022 922366384 214121348 348867066 581322760 692926348 645130684 792235030 159577608 83498108 829570252 284001852 334298874 632817386 113393884 292396844 713643498 499311978 813613604 422503766 519964338 41469736 341112720 169969762 534862246 926724564 500641982 963008678 497902224 993068628 450942390 195276572 324902944 456841306 507541996 77803904 359668824 845358726 708170338 645088852 734200644 673427532 792632664 504168106 94209962 818469716 95713386 916242806 907928976 299051964 203170562 731249080 645465136 531052112 756491406 348411204 655257858 800679842 426916538 543812504 640162914 246212132 468399782 505166898 840603736 818601776 33238560 206772018 813871850 540097636 137212108 268576068 493266966 393174564 807829180 944627260 133692086 932450230 368106792 75900254 233850536 163825914 1256806 665879034 681676800 784232356 526100412 332410328 264584668 995475938 320804862 318859540 981404570 627062530 72110914 366967920 643773316 967984570 990751014 639021108 427695090 803405822 552170456 657330622 793983978 749282684 784328690 303058414 768110402 804386280 796044118 963171576 321528116 798828602 476438774 25722590 808734138 688377538 567220822 173255842 614168018 671901764 313933350 330845864 933445700 271564730 815894502 689091978 560192046 433276174 899805218 215303128 127037704 125803932 651476168 291200128 916861578 844839374 822467974 30354808 713507376 745318996 448046192 606892008 786027906 535768142 944358634 268677810 432962 926792500 179629668 939282284 364286782 234350668 551192156 726925742 196247752 61793364 689041758 769130424 687502048 532484170 498817340 988460364 863985526 498076254 826390534 750841456 696735972 756218596 315773420 10891708 935509080 927466660 371522552 448427902 915068044 834181204 182844528 885474548 61454486 540248728 762266622 988041026 957811250 951978988 302788912 674478266 228852988 175688768 209503768 245404180 511970052 540145212 555984982 686935408 144430848 701724490 365389514 6205578 936837892 392373556 188899806 94968822 507326622 198305332 202564680 699677944 602255036 802270728 255127624 252341938 403589082 832603902 84258980 1587100 204243976 527579096 812623860 434272084 899743018 647939606 742681056 2510642 750517946 773001526 340162332 239213258 699985050 707076626 651859920 350191198 557672272 608619958 401070844 827040426 963413064 513066324 729151606 605285260 556833232 99639960 597977012 93132968 148757568 6503472 832459652 826833006 302265796 966497988 542250538 818204386 907720458 312220356 951984724 927535104 294169010 291957868 603173930 219767404 482543352 831833736 532882884 355966332 903879950 162124010 464854298 597251498 611304598 432852736 329720500 289606122 590107078 642458030 70654262 828692 716719162 266433300 630524186 864021390 312382236 305721708 359331516 946501542 134180446 37192516 146201164 859372004 355031302 465714276 350870796 568841074 904380250 312495472 762596122 420214380 833559866 189882770 65726352 31681206 446636910 813814300 746910606 185415292 329357272 720920256 163944008 533371762 211023066 638749128 257379438 992262814 405207050 732647958 713124282 665871662 188491970 338162746 135659918 106093594 115802332 192672832 976738252 432988792 19136098 827103948 388541298 244593430 584396268 291389724 745246012 457165224 289575786 564077706 120527094 639938044 627252656 914952040 312067756 849242968 471567416 212918048 817594642 502074742 443409102 860330784 952750008 475833922 273937332 722384574 570951830 352590794 591770662 497333478 342634282 132617670 40070978 97338348 118218136 58830330 637243390 749895300 64685812 399329706 730502600 834994162 515618898 426645528 883264876 792957200 465911558 820858650 758637872 706922092 528032906 988156244 684419578 466856930 53027610 389699588 215237610 875181210 24834428 682108572 916123492 605094642 690263798 342609558 473089022 419905376 745018190 444354536 628120962 661524686 382307482 595667820 968357912 962397608 817253736 244080258 294962860 463324786 593455608 556074910 33881998 590281924 164286748 222369520 228377964 842669238 423803948 216181118 848629854 751205306 263059224 14847870 640588804 429348562 191539870 669454798 170141288 468160932 560647290 833456656 525669016 833750886 192403228 804765954 56507912 245422188 624887000 130872288 556729784 795221180 730958146 998501016 148514524 835882242 20646192 505126190 328337722 8483206 37206746 703261010 856688850 86953222 789034148 114031050 349812270 714172756 272488078 671663000 170402468 968512754 303103056 440712764 446364212 353153092 253663274 159460858 539467002 69994354 346663826 958012094 694439554 241973472 979218374 915948584 336924018 378304228 106680286 351946976 436793468 928609456 903759990 536913090 835616844 746650640 509246314 452133106 595708346 762362052 994479052 391028480 492808494 188171944 827868666 566803796 981174748 27956046 127744188 585658282 183586298 323453280 738508206 758682766 974712104 68414160 611639924 93044288 501657348 517236974 574150174 721858360 507240082 518331960 352982406 298549518 213739296 96578004 245161374 451601934 917443922 109081134 599682436 828974740 779800144 567781272 25221286 646063704 822260886 747344042 967555832 765082586 530102232 307504624 932628188 834313244 542156774 889282748 498123048 484078322 31323816 818638388 689947044 658083954 406990916 466822968 57757098 503328494 640998100 177639520 45460464 912449000 346066174 24159054 41499510 984664492 912356116 575457764 486967156 829041218 34844270 338524344 62382310 85056466 14138646 927103410 568904286 406614026 938220056 795603354 941251528 282627472 813703060 211099856 258546540 294891560 674670610 235874648 258050436 941185472 997403180 638954098 654165236 400075754 490283090 77951320 742649460 438550652 640360672 997246452 877589758 871930580 174969890 355764398 325987940 723656244 267901388 46236274 125669608 193253272 549913184 647420188 744905096 951997870 82224358 757778056 994271570 939019040 514321334 876261410 879383018 259207178 245282758 147173150 417268046 201147490 374348580 816951016 358162874 539686466 20132196 797715554 92630312 914472458 747797242 906786156 536785380 360648878 57446486 837015704 160982690 875564626 843678096 167412088 56998952 211174098 975234778 195588104 518211420 670914652 754516614 844237628 723785474 999803940 49421348 493388108 809830518 606307182 324315926 40481186 877736508 136382670 987911262 932454024 754335592 389042518 25181336 23091326 413511516 758480558 217489724 361199812 467997058 972310338 136318538 106450452 407427066 444658204 68608358 748815744 401415220 603667434 191465488 603173720 316392856 536269542 160271118 572725018 875668780 282667364 845509322 379526754 842566524 872818086 216101166 59466610 914104744 11184618 227315412 558434432 809527274 595619418 722175754 910640000 107789702 200182558 366108978 312826518 978430980 399249134 454964070 828521866 900945766 306743014 442429826 420396020 780436370 475150642 720219740 162182720 412277476 624414802 315532146 775047930 607914634 51603736 767752044 998485582 901322932 978453032 452290350 873018224 586872510 602621724 104125772 159077502 788374172 367224298 637988188 619650876 638084454 909261894 923089162 444735888 597466282 10128396 626815122 823810672 289242300 229703490 576816964 871652280 162754930 814110120 236946836 995744656 26886280 735054308 75791068 756235934 93698980 502334064 114414762 378780912 884738522 402027186 874204516 780749468 272737442 342923190 867490612 442363932 561754126 738319162 464786420 936529364 201279006 495012714 609995362 352875208 684546352 53878346 632816792 478926732 235382000 241183328 272457744 302791836 603696316 614304878 564743492 814524462 171705746 169393574 461344292 434129890 177850814 639966500 716924412 350237548 165553686 442693894 417989722 984193466 131583236 80926900 553170640 954486156 918035406 738666534 142431458 442851714 147948240 558896614 512589884 551651168 73997648 622206964 14862918 52787756 431489120 112947074 688936364 199279304 437172018 787068756 198823550 257613992 615510346 806398822 789316868 110274080 338785010 34358704 476898294 827112496 564504912 259253772 949696870 173212156 678216144 276839426 632363248 544163408 33952270 946762334 958034036 328492746 458865810 93000202 746172468 932766088 411401134 663846484 957732362 492574554 464953778 444050760 192143292 840221100 662774360 603468086 39326060 388862562 69487130 209705706 197662400 988096708 958832036 792889574 732602874 148721828 489465304 684239952 933836068 24211710 944934692 787704600 319576020 564734350 163180848 589767274 229312176 901130970 96279704 203186388 592243262 563683158 495698796 746483994 713580026 839392554 742356496 553108190 112178730 270888630 346608340 28866238 303793150 696504176 555979478 679006638 904410294 156031560 503765018 35222478 329931076 113416196 143378386 788838042 665006308 205000224 232676780 938836886 85751598 82588376 543454562 631613018 254570724 366375288 800442172 218429354 365402790 318004162 264121196 974991774 749774042 626926910 526651050 900609402 57544084 226689224 322202954 725077508 249144482 53098820 565108854 290165852 662966368 546166390 650685952 190115012 919389068 832160204 938125780 867321676 675069570 706716508 564063396 944082206 375450428 255447188 948287318 774812316 504817288 824802430 84749914 526244566 412071592 56728554 287284946 920820816 188824308 464843806 688277502 182222162 521123700 787252210 416959232 962510618 335291210 971712724 615640060 181894200 2472034 363901110 193136260 255162946 871323238 582091272 760151218 684452044 502002634 395705952 513176046 525398940 748260698 385333556 592021132 464375936 259863256 657162814 866390500 149778514 756085444 193357156 585076074 34151352 488600776 180228532 701666580 143034596 290287026 744318434 465908202 206791532 299759768 828606350 370556476 937345764 785080068 644449092 793653760 595279316 778764338 475729286 372238662 460376246 400804466 444774766 94491778 206651084 473302334 948140694 805133818 259729972 402210126 806857268 14703242 915495610 144304112 465271934 777519200 739260782 804717266 572993262 245833918 866216282 648629500 743869256 459407334 572359508 366470280 439458970 609918686 832985496 117935310 307460026 202025736 618525308 405371534 968163774 914423794 279735404 175701876 465145960 449969390 755288462 465252950 438453130 768015756 576159158 955429746 282709318 95464758 502097644 384544420 263683086 175642248 590606974 252232826 876902752 295810044 876230132 210308882 649133494 314187480 870185090 469871910 342532792 961186054 781448218 932350504 635178110 10026444 516963538 556724674 524947404 983374608 349133516 830816204 461049950 876954518 961954224 444661340 596445774 601636080 311115328 629358620 824937334 184570102 502193154 341314080 781170124 162747376 642274800 51941588 800338424 620854172 344560574 194954158 901389546 48711770 876395996 116180590 791748402 425756614 918027892 134168230 581381090 430019222 144872334 380777466 172856890 231681958 334686464 841581048 503118136 337716220 300059088 748798388 409625664 500740818 936031190 555057000 168481092 720810358 962299656 997902160 361480466 30712138 645226640 154481072 634820644 89475210 637732480 690834066 727927732 765361012 111884838 613611564 561339368 57978804 714653250 919838026 535451088 416498204 335225390 310503682 541091934 437857526 646292188 944835100 133529626 528563048 320329936 876873618 474197722 355427618 331538432 299916766 483779906 595592974 860478300 672201596 825159134 2518178 610437388 691544200 879358938 403333732 34209310 876229666 49330482 939981788 659329474 190339346 302113846 201894864 612528316 380337988 118124714 544718806 240375642 206352152 905080972 57115084 462831682 715069948 441962802 592434112 597973676 708550952 76206618 73861510 10969306 592446878 979728772 876544630 210895058 291908724 561661590 786735788 109464680 176426950 448057016 192317626 731940840 423603114 286855730 564799056 224113516 688182698 982668320 966595796 60987070 261706186 827335324 387397742 593443166 435122094 634120142 447665174 69640048 828502050 748373696 831149550 760711438 281247614 754736008 505154918 353095192 924329708 331526734 216929470 577849438 841992000 336292110 763915264 801390314 297868142 718490276 961171550 245426298 943752880 94360678 536286776 938601720 583844598 12240538 86878974 933504356 100261358 415767804 927709232 266512450 158376026 492971956 438679354 705038580 888181306 171415676 893953448 890911838 707322408 622814652 940859532 736340580 991680862 611894022 640394290 544108582 542322074 297026816 745575670 280196590 627107678 461619126 336405850 606113884 489972910 998080296 136404590 709844296 394157884 936311274 489386274 687728728 375995056 622110962 400680768 680187166 316820504 698040396 278511028 860719940 357510750 79074466 397638552 90229734 498331030 713587460 578357808 212391390 714898312 554296780 5134878 512633490 677012186 617536736 169934970 133448574 819696914 533073388 241914402 461090644 510705880 41437956 788260614 96532848 204857804 458400092 910832122 161144666 486850784 334159308 560903782 281048046 228622590 950215194 255042510 357417760 838351682 873862578 646846262 779903870 515044080 149189272 84214238 645412108 311070916 926514556 316206328 368590474 210100594 639631456 75454252 121710318 350677776 107564172 133660710 267839742 885868818 670614428 961167610 75396740 738430148 787292702 834520076 219784300 429835620 432161918 840424020 257847742 705839776 588516354 442264448 857124030 247647208 950118944 964538280 153489144 593777902 724849204 918364354 380842228 124980142 931013312 108935912 758042272 545510358 936245782 421519806 573359460 857376962 142280342 179514246 183211830 677689010 447286338 864373784 240643340 823092234 569787488 863337784 121110166 250383872 520553684 458612694 394018616 502095246 209365888 697865136 380207146 567842422 704173254 425477980 459024904 647193798 337596068 835491278 543037662 855579948 527557718 212093426 428981054 40483006 927945110 61388888 229374950 559337778 172598526 811438268 16532552 597379138 410146842 355392346 776843018 467536668 678465098 346188212 487696138 644777400 818860102 132424382 1648424 149214466 729255374 357304944 418641400 157387940 243930958 133609424 178422472 274984608 675833622 15985838 116645510 668278138 549391770 237158432 562315020 167023872 543396804 910392740 565480626 461381342 221372824 625436420 256438266 868436012 558970606 31962250 295621062 421335506 440747042 713976200 170701554 449020184 252693784 305669552 363328138 658818018 715035706 124877618 862885066 333624062 96231214 838812500 880637760 832016856 267872832 118460896 99416834 187292736 213349946 202602830 918789434 136765714 906775778 183940736 727216286 859536918 138875580 791859630 312889702 308883154 600866770 885857806 306296704 541409824 842962728 563132122 551283958 359879400 293369756 18168578 54319432 274060660 202705850 627437924 651170420 650436076 693611330 507540142 542635606 59275750 645452716 128682954 672926684 250070066 50422772 369115028 255783774 602842316 599102632 800859130 405756154 394321144 442017162 279866202 283340446 535639146 633962986 874512710 252917064 426557574 84843834 217235512 904957666 101651322 449302136 14165154 403635036 260850428 347788186 120677326 144281882 585400022 255373508 396987810 549887322 23419804 57266666 381174300 244280902 411104984 917222640 341367888 56145120 340920924 580684286 392953012 853566060 740606774 945659612 881232690 146141042 47103138 645751030 465664268 788958398 756949848 500628996 370472134 710963170 617992404 532908532 973882058 286833178 748313228 250297700 133346314 708149486 877247316 435474124 338179056 586240736 781374928 17021944 614187076 557483172 983709750 83949166 975540356 539475298 340246210 792605958 70271584 989693938 652010912 880260566 206416358 163074598 619678602 239894030 340662868 4588446 983034932 337617536 463495396 849394034 764421868 513503968 640252588 300671226 769916758 160198258 150090186 238931272 18032778 727324414 723242746 520076874 523885602 705614434 164149374 173406484 770695450 886071678 18981574 220055294 267864624 444620794 308069132 668706670 481603738 29334438 327420962 622057002 998495998 579729426 975524550 699645768 909462678 592407760 311361134 187265254 39286188 692947372 285439498 63250748 871741686 117980488 890064288 242354600 93533228 431293906 619862052 66030728 391230364 182153158 159716462 423144194 884422160 346565944 47056492 380883872 752419896 362971594 181484246 215095694 550375608 302104776 205088636 490613704 651526940 442854802 715559236 871991950 885250570 7370992 381841416 953241228 734851474 940833384 35002484 784427454 877960308 825933670 360184878 658908416 96089132 649246686 428158962 961905426 878445054 533847002 853566910 776316468 127672600 990947080 116921560 623905924 290076796 132297522 540015860 867051202 805117266 658101272 235397660 682479094 643121130 420112806 458169876 237343376 93928690 674444480 781169636 179119732 557423862 879666576 362945594 822798450 84278758 991569464 982081358 779170816 490668168 140452640 605560314 901381088 816394734 864124882 591417116 482664968 836623186 927632364 310304460 841400960 286869596 526977454 878702554 21184974 108050920 726481114 424102916 476746740 486317992 984717358 476392150 297085458 41152800 359791984 446119094 698730510 168540672 109585982 665344926 900161764 100429060 864601756 461944054 969693924 496688650 736383632 441002928 460110848 107970252 345390122 884060236 778629458 531059208 896576860 86134844 399705942 41558974 682303882 496014546 439015256 270146346 867912410 524125998 253177992 644021132 511618046 748734550 118719998 115433990 104365346 590565700 202587516 954585642 17531314 134837982 363061348 420372974 898680476 525688342 309966066 957134016 687412166 88180120 188806252 523481144 199750772 281936850 668287732 672876482 806341922 235386460 519135222 649359178 925432988 681473780 61028238 96635014 377678402 872150524 79039250 537683106 601912796 520023888 276521438 295623352 316012904 676882114 398181794 364106058 327503596 460679696 293756414 457634020 691835406 850449968 690186614 642491534 604873094 523374250 506066702 400810070 743926172 650829768 51127432 270407966 61333638 142340150 456032248 255060974 81956456 472356530 463207394 100260052 378130752 290212210 80426958 669182938 859061856 248751106 525029486 341531296 653590898 110715786 430761750 800487306 772292178 460016776 619556928 48167802 780375662 667898526 734255106 751605610 141449632 539355586 799079936 356586870 123397312 68009720 762561734 141582072 756600554 598681248 74527068 496406032 25324872 978019062 540168542 716858888 213811414 196215536 683220194 293535278 586447010 281701090 480100314 141010846 969856594 202933842 216866920 170164172 410804154 379962646 93458086 589166096 218449006 272432664 803909194 145092892 135792600 255778454 465003692 239902090 271070690 983819170 16899718 120658762 425871034 127843778 237800718 913450468 357364792 872441986 757072320 894494398 378895278 243616400 284780800 48799138 861081170 833171306 818957036 436952468 647483242 521827070 385636292 704530450 148941226 902603136 508101776 514517930 431212396 640956424 340024104 360491124 150207102 903998640 440286578 884662620 17302590 143517272 554645356 221571298 126866472 170988042 451922468 196664720 205726472 981417542 889881542 454909810 251171828 177492228 579339694 783335460 962559150 971859650 552187794 328950276 975095712 375075494 271312212 825421698 43742504 812111170 378699438 738356674 207181732 589904180 787523050 846421634 31322512 697651238 20000096 144864486 3236834 227790588 16333690 754486632 811994708 748615120 59919204 29762472 62366694 843211886 767039216 421368044 198245990 638039314 78869944 740932528 326557532 605765154 148784722 93984068 194186134 881455470 129318688 69611876 535739540 707448258 147278174 403411978 132005042 263841594 280899028 44625574 745571314 614080236 81460074 209417252 747237914 710674734 67958622 968018952 351408568 239691868 852664128 115309722 451537422 375129114 271314370 647409318 610768052 456138656 332194392 503508648 945891738 405697430 437280936 580671444 2867158 404496534 404673754 145478494 766202288 618025000 139628878 171265878 3652408 696195072 391901562 572352490 44442862 81978724 388392068 954052100 669640526 996929680 162526878 520728588 937031168 272150422 653396252 154977680 751362026 300221738 51058552 508090330 900615858 298108640 200327502 158921194 931935922 131720202 499558598 646528378 527775362 375140970 12457196 167357256 496415126 734393762 471751928 534488950 87974574 440157070 633155246 295823912 905067846 59131580 609436344 503228152 224826494 407250652 34304930 118306288 666147922 933646640 623170412 596066860 604496930 486415020 40548658 183071240 867247098 130055752 377600586 935937478 870104100 567338996 938573372 901662344 462153670 71446684 682428962 641955532 224650526 345777222 505371832 205734472 96293330 107760844 123174016 89237730 508955442 861206932 308331990 361229252 935520196 774369138 849165846 770988684 35473750 39591232 116495340 368843744 419480238 630953590 972496422 68694360 568607420 708923842 852395012 809874000 665764240 450904658 177892156 740676230 109626282 329699618 334150652 415134236 412768056 817415944 194864648 762987470 693986272 724241806 732480220 174352944 415950582 173134660 146631008 679267618 268030632 446355232 224909106 116598014 12674508 762549758 369696012 603359224 337057784 955850716 763731580 301016254 344785020 23456166 710524906 398761824 696865972 762621546 789387472 321172042 36617562 899482530 314005066 386629632 5629234 844473706 734898266 207080458 272597436 546304482 179323928 380316398 940958018 963512286 900493528 528240902 192434106 956264968 869608264 187677912 167111904 488728610 885078588 488591312 731816952 801290966 568788318 719757664 528148366 307867602 872495884 17925388 252777008 568549932 508376168 720857172 509157196 492558092 352700948 678142694 496601782 806633604 412088050 634408720 869405982 635678212 436064144 292094864 153453948 401230556 443173080 584795026 477680258 139260424 353753610 757191872 559829206 318094832 850048368 565508308 164271842 84291160 164264116 344959238 207827702 774578932 965399592 814063936 310216780 109867198 864993362 927542240 46997148 785850584 911296496 602833996 207692016 852067738 140437256 355539848 205842496 702835484 95248120 688591190 691206568 777704976 766891136 806934332 143845464 648960550 354455370 220205200 712903212 147639982 844161078 439916142 188648064 237501092 576508386 990492148 263858726 745299686 469533954 826611506 131256808 299144342 943539924 615807580 169144994 835256688 737976166 636564744 732370670 133437310 272218522 810761448 838971010 511687848 535193602 176296766 978256712 302943522 838113292 736240956 20939958 737131664 166024662 153366076 732342014 328294646 773229910 936533730 655399212 25010002 51853486 488074010 546730680 34688982 322231060 879178142 236875220 116974270 5876272 233652234 661347312 672399444 773637922 588945990 808884312 887241554 207387906 383331312 279213086 440405866 167824508 440139634 2831966 456054338 650684362 900067514 139544764 686965820 654938514 684419144 144689008 972802212 877388028 748181292 566597120 100858670 883302914 788498156 684091330 862465942 252613388 714430354 213329746 46263778 859073242 547779082 419829880 697208848 624449356 375839474 340416004 508894650 712447948 473750146 973226584 728880428 564014300 799262832 428327738 312069118 250473752 615428680 571474442 971212796 792415138 576593222 445699098 408907870 314541398 653295166 956092990 982088650 327801762 463162254 378457902 784257860 497732350 397427324 702220956 533374756 573127550 51980780 968303498 743373820 708182188 729899776 295399910 670675134 94085914 326412304 955294840 946127742 810292346 370918602 531281552 406493928 271466622 830391458 797557438 764252534 714373566 657956446 455640988 747521270 625321634 656111554 656612276 497310284 299898290 528841714 360656354 473974180 290678222 653568502 241355136 975419038 511734764 121711034 273167318 445337032 669009586 949322818 617247432 989743336 701795358 555351468 62559264 63607396 271902238 481725854 183880992 115149424 256800940 915069590 418689296 802392722 193560396 767149516 146434456 481812086 137035910 18354346 756390596 578944374 213074352 304242218 28367348 668598608 489742974 366961100 720412654 911362986 509295728 823656226 108083496 507620128 65677242 52929018 494440090 646708238 228630814 95763434 129476720 547782038 827038350 663055964 984736946 967008232 681660590 665526120 469812942 384851754 320986140 862065170 93341226 581891204 646231282 654711496 243591682 387587718 660256800 700227154 956017384 780561704 314081392 882897780 245546222 280863494 744016082 438774886 526384826 127686416 722262124 499069304 981542460 398845062 214730466 927009778 890326176 38439098 476242264 476757012 71442018 250805102 588269726 975980068 212043176 380882964 808116914 399176656 250937794 912451470 921656362 933894230 921643996 823084142 484422034 516300604 497905778 481840834 147160992 727968622 47368084 764577714 324627888 904369818 676816978 298592552 447315696 492688002 430093820 354312244 827249448 836418040 138848924 364074794 671783002 445867522 979954984 954060186 651270882 839576386 463380216 898952824 356732142 279601012 966126816 686056462 368783638 983735530 641871180 914995918 100826266 907040160 292331136 235379184 813093918 473820916 368311834 338791934 263495100 203152318 244370746 796614980 809261952 783795270 316476748 938306480 315770738 511926748 727455488 894203818 117547042 305229312 367765050 779619394 233770954 799655250 15947082 859767692 466676624 974833850 756217004 608619742 820185304 73411386 556254900 612101744 176292506 138818450 999757736 865334236 216670876 873785520 672734766 894779004 798433698 52630518 812133454 889143522 22932488 53299226 144994624 204033264 359957512 324580110 93547638 555958342 437229802 952415082 909971920 504949258 924001982 208165022 447878084 765911224 494005544 488934372 396481074 91656802 911524582 926517754 596443748 552086788 876538692 428722108 111886836 7573616 299803606 285464838 95604838 161339994 880879624 732948182 820057218 503799192 764854282 707438376 106435974 300198326 8700254 319768922 177427934 475842214 690816900 944511098 832200248 310879776 61309250 633565026 824741338 283195048 241030444 159040256 793795322 20186848 668983016 848627726 145560400 366632248 803630200 563226818 18479524 723065010 714848444 324052720 482727780 280421336 37678390 887363448 555578764 962974318 777109342 722793548 594189772 794874890 832353010 862108946 206592866 823936066 633203128 149600848 158970582 919335226 725355992 29847028 468294102 736483742 608630514 838090862 393459048 300026076 926572634 860512770 547618950 836136158 714630126 398953606 279695032 551598900 563128150 295750868 886212786 217244108 103398924 764906112 342243950 642383112 886309068 885888748 350931614 116369742 418739230 774458876 528622298 959175070 703267040 129920796 208592462 999123552 698010866 806165354 560169804 712379598 618533222 321133086 828102800 710243238 350535058 493242050 412318194 851405190 499554904 129752526 265753050 566154080 280801144 745901218 186581146 557317332 9469936 939726562 666062012 545336480 166402392 61269902 270548122 73782542 385165732 504189674 848144086 857743040 124961198 143354528 253431666 628553780 415816840 333996146 550407930 523327668 70307592 430508432 610158610 234478616 209116066 145075078 422177664 307851412 722346260 111001626 191831552 830475632 89333136 139879940 493860034 594888312 504495190 664842220 673155966 128603052 979718638 978182096 907743352 680342372 429226000 386481586 791528246 285448056 242366728 769068258 403761354 492424234 338080010 585304210 400661002 638919636 486171768 380125764 579056552 255036268 538642634 550733230 548065320 698658242 305251888 696440574 584804970 774342680 404377186 334132408 569722662 942921214 447192600 300218496 209151992 284017388 511345774 708306042 850917610 798673120 489607280 108043186 449871786 760039578 758916574 299897986 554109936 398836370 160754522 233792598 771892552 101192812 751865732 134595610 881821170 950532820 376156556 637147066 433509956 666257716 229586232 156528700 641817600 895257722 29595594 358181794 311085842 701359376 766493894 448685148 948743508 502112992 197076130 300905790 161758576 728537128 573701164 92451814 741624686 829375076 576819880 687517454 533296108 19245706 844962976 150071712 421987426 329233352 75245422 781500268 421413440 730700006 104392456 953834528 223153694 522619708 986448686 942312812 245831164 716794078 972469540 658975942 489790078 610139136 329700044 813511538 595862230 628457544 726801760 731602698 846114764 80856378 48609948 450967104 435063884 712410968 366050298 779780780 409119840 890465374 791576280 508350392 455168574 204019756 484963356 763300698 247731238 926370566 346476512 354482278 808125254 227374730 173680566 591516298 630483302 535420740 210374978 108941794 79781494 120050784 931234858 580733794 923133662 125224564 602447222 138238006 393957182 637644120 315311644 241252948 559993584 490288858 143630376 773786686 536963944 523722286 168450094 983754902 821128004 174047228 998658992 905933014 309336634 579594004 102191460 81721634 768674186 599101092 172450330 173039542 724464456 329125464 370038900 898293416 555608722 888926180 130239242 884660208 542849888 317356316 543045118 920015846 329814914 273036430 95397622 398674362 663778268 571511708 697117838 40961780 956010820 646256430 704787112 318107590 52767496 118692850 782963836 364541326 910296882 96659868 911312930 899569432 923429842 117417650 614332524 813681228 474614266 155685370 920734100 231738492 424528494 310914520 687452156 465594872 25681312 963757108 129206040 568688418 498668224 523697722 668196988 31095758 968015092 547792492 543700460 750767640 684321120 543036306 516263880 324648462 309861972 411602308 246171788 624400080 875698654 105064232 690979070 956636582 431957348 482562254 190327406 405969628 985829706 537098168 813620370 315007338 369558050 5042682 752214528 845786090 978175542 127002382 422995294 311928394 193692498 761378164 316344496 119731498 7884924 240790060 230954838 135391736 497617960 936309304 629759482 411790946 909604896 329285318 722486386 720200440 48782346 231999796 826950086 427427078 611229090 43978328 180090076 266718960 462538230 582324254 612362732 889790284 887419598 529309040 725134078 909552440 816113746 352229780 634728334 92230442 35232944 63008228 293587860 787727560 154699378 534724482 122749202 45092278 356819086 347853676 81949272 206067816 885589804 375903808 107297188 663132728 342716186 375148700 623795198 732261466 716204354 422712012 50732116 351060280 693242012 667447492 57158864 593807286 947013364 761294768 335628566 784042608 779657104 37612226 701483134 695824964 32497806 664825308 859681800 192136298 704936322 972533770 831328282 325244364 308404936 479727556 458279558 843050278 841304402 850637272 129196708 930792804 897884434 789622652 79306982 278788972 779218640 242371182 511407880 851091868 844893976 509927804 293482576 914476680 634939030 958150678 41020816 888594996 104458398 257928172 271142896 643697192 298183202 43481890 626538140 776161886 501916872 684056290 180805260 679253876 470811268 781843272 669157214 338147850 978923538 454935742 455379328 849274290 592674324 87284484 617583766 185527632 630880008 548567844 478812588 778060236 227954812 280012210 941587452 426779838 722199690 36498652 738205702 974715628 202930148 373223510 407674522 908586138 637922098 565702190 577522304 121348194 629847278 796223148 910169276 69914394 8717246 978602938 62822646 988942676 949679678 165155664 932857180 407735538 333505386 897711346 384899350 537712292 43312946 744042376 937671668 304728572 811084460 211222662 998936016 223493232 783314710 863227976 679310822 888154168 599294018 47210148 913348848 804414400 425801486 396496026 658634532 988309314 980547086 779677504 376904314 148488810 728226100 927613650 838769380 402943988 727556888 961732288 897690378 364976386 951661622 242087348 994889326 595609734 6681696 959028104 230464326 982640338 588505698 721856380 606331692 757715222 975109768 906860848 909506992 435753280 464858022 263577912 458301540 412229934 236575078 871857212 121623870 415450518 190786446 345224062 673308186 64486050 793385890 467942386 457420452 818961048 522550484 993594460 185657398 487188004 808657072 931640238 606784842 47601374 36116950 907911598 649509572 81918276 407317474 629203032 721616840 918533724 648971318 269626866 879011442 39802290 35008208 131946958 291696952 952455820 723358338 453391742 599889316 739703860 257080758 701509006 798706852 6230736 772193560 164905860 746180198 508032820 758915304 972446048 654798138 895916180 178575758 613639386 918015594 530596700 719863970 552953426 69533222 153059896 200537456 6714720 39379152 908286530 512264510 642900160 945988442 357557918 884054334 105988384 682552788 871598268 311227818 872144672 667247436 773324454 564192898 283191784 438253118 839359548 218188308 798366234 356176494 986747500 943708192 81392806 635867444 297618288 552437808 184286062 939375274 423378966 864976130 896651452 97160020 667717052 191164034 508441652 516572144 186156178 580785776 424475876 798718592 207984450 198858104 509236338 154309140 257054256 78559138 910529812 909107736 550468602 257101800 80916680 869697572 602245426 304620306 650086742 604324666 151214880 651902316 803343788 976322410 336737120 759991438 175590590 855604998 523243992 423145086 64202114 363321192 819685728 935525072 534553976 117895856 978290538 225471976 117704600 294624314 300667410 782711904 118905638 110095104 618739020 296668582 584014112 959501196 142616238 169191578 229687782 313056754 282555608 102525814 92907748 923684656 429642936 486146498 249519684 565019558 999834836 84971002 874574866 926944260 939576204 817269344 172817140 560598804 52073096 411460640 283963270 471447978 973475788 64899684 873028654 674094754 621001274 619958878 841524808 801096990 767959790 298008150 518891362 615170748 55895568 968506544 310997748 918919418 295839170 684276638 420094384 691424166 983489062 374132214 487916636 18522778 981417280 541903416 392733070 923870096 177467160 164050182 991697992 531726062 752363218 591419830 128030410 329739330 595997358 188004168 622045622 826239162 520021746 213514122 91298068 11695928 273767064 427423704 877861334 634614826 635194604 510261124 233576296 507574878 928768204 352164996 123722118 566940398 435600810 387599560 704354600 140669722 968479074 732289984 684051482 518128018 554498856 974895486 67268004 208838784 713417874 517758568 906633646 778788164 946467074 460119334 413563716 539243686 420283694 741831686 438689764 780856900 346818808 332719130 441321894 916409430 505415036 726677558 752706142 609749260 485814238 507312794 898516030 181754778 836389760 525810930 789940460 406912756 250007824 995400714 983202334 725456022 27061632 513472608 730889574 925876508 213985720 28528620 271656262 659896774 457292682 796223892 356505764 730451006 536273598 297694840 153381230 564111606 981294196 567985406 645789412 751429766 331434548 255664832 70421180 924660822 834713234 653487796 832109202 488869386 637805012 738360250 412182902 880966406 128402798 993562740 673719852 324308782 958303612 547958742 499252220 146504476 50115070 110307360 610480226 745224544 139064938 177647492 775141078 464030262 131970614 746868922 4528848 930613278 830480316 649693590 99571206 652068874 684701186 685025910 460291056 982683474 857298618 883565502 543609216 121381584 798783402 467199500 368256764 575793758 954459874 460613640 923943394 759939538 767210830 323274912 540767938 991655954 781332194 953700362 748493574 23975766 950625494 583317872 874300416 586494302 559046424 136471670 76865434 129231130 407669216 500815784 50323444 345309074 337742740 864826094 335057770 59027006 954828084 279686782 60605378 421829794 12686134 347318346 128396380 559928702 182929422 645720348 485958982 249321562 50154224 4711408 712122900 141855846 948042306 343262538 316117902 950190908 309243924 468379892 589190044 303958992 321926248 922196748 526771046 433589186 354953104 909131842 636461672 323313136 973661218 792562782 629702176 812807090 640037150 595733580 183926980 531711916 996178814 697096402 699137118 238300742 448339904 581731770 850172426 480732088 149598506 82657352 405583632 406496062 383289572 852216014 100650588 787561556 124752582 170904048 98135692 189836158 447604630 814814074 410350176 674914488 436700650 717495060 76077210 419803058 315666422 298360398 8146954 179760688 957765492 55919144 465381378 553360300 919360108 988429858 649018624 391139180 750531282 462270084 810314006 625026668 778159508 201770606 61750116 908019472 825626386 937973008 99137382 463371554 930172812 411513516 391177308 646002496 3129056 724010758 302286026 67297726 547052262 642012410 684014380 867361566 392576264 766646600 397220718 651279042 266989240 564488408 9189402 914264842 67061018 326128340 600374428 277254680 985939422 291394392 952635062 65839814 841577726 492094272 613945786 218150326 353005626 149825824 502994502 323261256 748080928 729617320 748777988 791129376 349529864 531849926 460106660 842151688 98343094 977161102 302281594 881811326 340156592 534865250 855031890 614313244 454616258 996942876 665493450 196231306 364900070 56536410 271961630 552575104 28704260 871507614 788084148 999020898 780610070 862034386 972618966 510164190 349400154 538201824 902451640 804265008 762638992 963288284 874331738 461629916 152806710 257132106 522516970 558101686 562472320 6024886 610827868 272586654 226194090 312581746 891788756 501318802 253717580 918533992 492279768 261957982 209926388 755608394 330765076 992243190 822000852 66190134 896506418 93371776 524700134 559874934 831555920 21700920 272776474 84672538 274150926 232110804 512300458 139303288 580304278 967990524 906540476 958117476 806002878 366663026 204294090 936963528 125141584 157239542 848809604 462453232 803233480 598333602 129652356 788164394 651383878 987582018 218085218 898066968 167497614 301203452 786304170 138177994 600144230 620626426 485567342 167766966 804195238 766504656 44651430 330064912 967326246 797614558 339811006 721260606 799001720 409197874 801584014 328640656 915521568 864152984 465661792 373565394 599999846 505852352 762077758 330704468 640596740 892664848 755887778 972413134 844257980 37272294 180580524 798210164 888159618 317564406 442820836 650771924 753171610 878057090 362419146 834122904 724871984 596552254 494523892 682736488 544802904 514963738 182426208 941808206 77432330 625351308 422716538 349842194 752678526 36821650 29101850 46600672 734151356 519664640 886604472 963814780 696533924 849787204 613159560 323981502 756980740 987508538 852073072 78144248 508716170 386877494 478494358 158518626 239270420 414056552 508156628 984823328 490016776 831659398 334896714 894706264 135565370 883002488 298240792 7763104 232919654 541110052 714031578 71074920 661202038 634806586 490627286 36130116 916767004 966516652 939360680 374925104 850795060 546468382 190910760 261831874 196148052 470355958 519025988 352113948 300147608 591175668 416719944 330281752 26529844 102490686 879125870 661690180 323886196 862202366 9553980 775152788 365749438 651117054 815300812 104219658 657340452 994904988 234732920 214908630 967625160 242339060 107175536 811010236 260434020 79545154 739080770 319967412 444222930 756767478 102371516 590517322 992639370 852919510 425512464 518464748 691555730 474282006 97637040 710963806 334147094 858011782 308738536 816646256 870722098 65570454 891991570 659906618 668844418 568092630 380881850 77690522 399313404 970562958 699440744 98716162 604434502 804472870 123548358 781223202 94455584 329368874 839391626 490123326 417661972 911864696 613608652 154024934 467891470 16282822 107884278 332744640 207182780 248345382 818093486 560235238 120298102 736117174 62857398 360428520 543956842 436356732 713683774 299742518 78595280 273305878 212915984 397302514 524488980 197329448 705886502 588063908 372480156 333086992 785063302 454195964 961427068 106481224 996169110 768500436 18825494 598263972 999797608 987243416 406304590 943314068 953474266 989024386 198559956 655579292 691341248 347713158 230581904 909061810 344738012 838096668 740466414 623644778 427140094 780455256 452636848 535271904 925713114 889909330 628041828 550986352 699347774 894316954 430236432 629529136 772994840 316389864 497332466 632967710 925230660 73855736 908123190 994601034 339142574 751159666 913924360 64202692 597231158 604446296 965199296 493376472 104949934 842993266 892878510 935230024 714178290 201661362 808627558 414748966 951039630 859965182 438466250 353131892 262054828 541612000 126751726 26102404 61768200 97211140 90079558 26866718 424021726 658537922 1388310 99589836 915434056 289279202 296498556 577993684 849468592 336710604 510146830 810363156 241664866 989025792 412187234 860792282 725536322 14525718 168530774 109908406 723621194 339185786 863829158 367157924 458794374 34490108 728653320 123938558 887835850 861168914 914483158 233806376 980386362 58670778 253311778 951969072 401570432 318826680 990188734 234756304 602595748 520846062 903894132 944801218 89142938 507479534 452334866 26768658 177769948 547738270 543095566 889188626 664090864 547992282 313677034 548026562 798205440 273644222 40028676 130043776 138999320 136820142 463841996 585160074 110135714 241366128 663687052 518029012 21836940 565000700 359648846 76268646 328204448 84467890 678667408 979786440 382108782 385569562 614762876 173692190 124875050 903549346 467458460 575347014 133927804 872569628 479993200 907570202 50509630 762030480 45441722 510362352 368876100 685739388 241434610 518882036 680320306 312135314 380774298 691635148 462133802 490922184 899952902 253877624 247870666 832723222 871588422 701833886 794903378 824314660 476104332 820541224 919307680 254578380 926316812 840299728 340118550 35196392 565437678 334395948 77010460 400603344 422478476 327922418 977427732 518408240 587142708 949249042 285618090 112722794 783341144 895406224 646209904 951493702 698823550 360237364 740013990 866057824 621695540 181345710 850937022 972924320 777754314 769325986 306869648 828711056 215805386 797913120 946325308 759646050 350314204 753151304 46603052 14716694 242630624 936083592 290969334 254779316 813621366 405999890 127243718 165708338 986009448 523055518 383073520 351290116 271839700 39654590 970265248 269723984 918123466 686158384 725384356 419435722 552143516 723569670 935982790 532299460 70290734 474254086 403082538 981103206 813311586 538821882 747417618 553371726 297419288 26929060 477060518 833118876 155912034 919255068 328269100 276799278 684547268 807716006 231087848 548271916 419260568 521448018 471642568 154244902 488387948 12156506 556056162 953675882 214019442 481118824 752755534 404682098 723774840 198760464 363626096 588415522 628193968 465458764 411411580 416091002 885046542 228317958 633161500 8759690 661946634 112787922 283665582 268894370 974501812 984029276 550988490 748716632 708047470 348511558 858009026 529250466 713600236 637756712 921212980 757717692 436282044 712835812 848243800 41856968 692421006 324345410 454824336 342162310 881321370 155333228 391720166 814471672 76961716 351804524 142842470 405118188 629034116 242332340 363938058 130536314 716441230 254759898 819630808 31535884 640464056 343074830 384590882 747454412 694256314 56886186 297543048 703407092 774319972 339737088 17916856 364287780 746044096 127506336 623022456 174078016 572214664 361462834 353539578 386135264 460738550 265754964 476780006 207202528 888960018 762622236 477799456 164499668 514798938 856689078 693747916 661918752 594125740 212276700 168279800 387136670 775043806 659496070 735409024 650609584 471861416 151474262 893900000 163566688 333262684 418544854 718551752 293636602 134226960 876887756 686424400 653060104 397994944 457136714 836042196 206661090 200698672 503888088 142095898 616293552 600387324 237767374 637568188 995045120 995058600 379924906 50426004 507604736 805970350 186945668 518446950 760207344 435818268 523552982 998179786 631377756 585752382 419923922 707573062 119090024 608133214 207604426 563263794 512541450 328629572 575566000 589471896 387500062 384218706 78685022 434888734 756952678 704129512 824337378 694725640 368923108 817014306 842507532 962152700 489995640 726144042 130371718 930820294 649427486 103788394 710932594 793266688 774252726 894692048 78400782 353365200 379593952 809615790 881166708 536906776 267894644 250291216 710115318 947640956 810920566 404096978 89058466 302128492 897759696 801384222 290877728 447040736 246945168 592223672 145380884 835111492 924352302 526814782 192625216 529089286 187567268 74631288 324308310 86492184 946993146 505222452 282880748 316190022 989366678 829829440 465982022 963335518 713808508 285574628 604291662 509533978 694775600 441672640 222180006 131340624 325930064 544943036 938912184 380824024 529437482 303213106 760824734 124914212 264003672 707977166 502312802 82197612 355286842 804747698 978990650 819806140 208452614 539908874 141693122 178849388 230810912 402413918 741723686 19096538 956510166 694544914 373578512 610111096 559272450 755017518 766611318 992502584 470628462 259209276 804448320 863220824 841228244 606190440 250652038 292165094 673054660 839993010 659115586 771262984 244049440 771710326 867382872 965135360 299881310 994618584 941673654 189176464 609014836 307279766 339230754 563114544 145932618 242406326 360988820 333936708 148312212 630778432 462273924 635170934 867228824 123341252 455598554 350397458 235698572 225518056 955456406 231207392 514273030 748317682 590456792 85789526 38403766 648499668 118690714 450275846 790169928 115169264 247935938 270122772 776102584 25280616 625938568 338451510 252105216 643843834 418017956 678414378 325338186 787629924 586989882 367255278 522857812 375969468 630979914 127137136 359361120 533888510 385637242 872051228 961924496 355916496 750208610 376060190 633933944 4377678 452395874 701065510 633388288 15904164 910916134 512395474 464637402 740580158 3604064 961298068 200834024 895834902 668189362 289257134 922596650 451106256 924669342 995265804 437826370 327117228 260978658 660038386 688966054 271679068 452035630 808647288 112357296 444549682 402989116 357431592 498646234 275408638 689259840 330527664 565977212 650733784 109264782 866486372 754146668 89425740 197249086 383597888 884747122 585896180 844887052 684789856 579521742 557527062 900397444 143821736 440212128 517049546 358097976 832360318 906617992 658088406 824196394 508313140 243651470 271451274 790106044 375066756 400803386 741397290 385139514 930897738 223552666 260488408 782426850 400654362 447353534 693476394 919176738 140810386 823112686 145993156 598967592 995878236 752207614 282669074 15566820 983266558 483647404 989059024 593300208 73577488 759579636 645056214 479062050 972770008 816902942 758243344 23446168 517822384 675918094 428518866 973606026 282716594 323371376 105117016 285219962 552219920 288739678 943433496 986692076 95371424 495087806 564299636 49224880 181584598 483902462 421102350 219713272 774914004 819888234 382517902 157779402 329171950 428836126 533150522 589611992 750136004 625988400 693090850 319309908 207863014 44500734 860519694 998341562 793671402 215046114 546842720 366574704 876609024 555503186 256304314 771392184 932216098 482264654 154285362 159986918 549641184 46095686 434811796 902819828 530772446 212928408 258355570 804154508 672332284 562215262 629000060 771281534 100713514 371220078 540219584 199347498 2772114 789139430 660582336 492506946 378619648 52270796 762703868 315174314 395426842 563197058 940028708 336544720 549053596 437722208 929072780 375254570 937248988 125629920 950751202 646548704 585272062 4361982 777586574 61427780 626931474 276660808 716169426 207349872 502137836 596478352 21467300 750874784 292956702 769680904 460643604 921968766 536910814 146102656 808051612 45985460 814540552 327255824 472494516 651723170 907169772 92477542 403287732 283374068 928692156 858289694 585821202 273424908 355372406 948101034 765922856 78744860 169633460 388785822 497865182 134201872 426850996 475498822 327220490 53546918 570703390 462121708 385041894 430666058 545696562 748373754 938683460 706019516 696742478 498357278 473954698 567880058 896088 115237070 37401030 836651722 790470714 278872722 955455792 181450202 136517076 167947712 100454152 114323690 532921222 967494140 396880340 870520782 389222732 343398168 886481290 834269604 726164204 754333416 976815166 176338920 962787764 175047724 347365498 916886818 138444500 889948174 222791502 602258958 936243644 381807080 353449266 970158132 268109052 809202216 191553536 542486822 198050018 676931834 320420496 848837458 97902856 847421534 81390500 999691154 755787372 912684460 224618450 690157830 884595422 526926222 749823044 720907388 100800996 782334982 569639886 836491626 523045278 378748946 443605748 716034604 944146490 689832782 39295814 275182630 516829996 405339316 126474628 691657050 745663434 571631724 174104004 150407986 52327444 918597946 436120966 164336722 531499542 160062802 880540366 892647222 890859184 507947660 639182524 89551648 47287472 346726842 674186824 960851868 895349748 6744064 443584712 925908308 169925944 94589674 467864412 409593104 328086536 683492270 806513436 115188598 378917246 176303452 314785356 56825384 287849810 843603634 905908976 610826450 674137722 750890002 308220406 285571356 21578736 485361180 160304632 632807712 283891746 192404798 304434960 343911528 506491962 296210812 457762948 252970708 335442016 287829902 477102682 749538658 667734372 982044880 472180616 232315678 277330540 419435572 556371924 371996682 897835008 388911780 32959676 42785962 450836730 342598238 557121152 80626544 605734896 69737544 504634292 539487380 897090394 564722012 605964096 330885604 438208602 768327660 190996900 189284994 136056260 1464460 469919824 997242542 667908828 314149086 71404880 810753674 63507766 793550510 435353338 781582496 338166254 300162052 181898568 316897634 428193808 813810576 965275346 492489902 899126652 373678356 514359106 703232560 443016802 246580108 901824562 653572838 740061124 431519636 373764060 524343948 486165164 99333830 328151044 433379930 603837940 39345842 639139990 257538762 840030092 891970668 65010784 19722402 841375454 464374534 967143070 526878940 602479640 967089488 714626544 196297514 413120030 522559488 54213696 807805952 77203784 394710154 229532366 801597540 601963508 126750084 911636080 521899540 924809586 11559276 817448086 989721864 23908198 232775720 817119150 946640678 112139060 581252090 46370482 747922806 417239756 932329430 714995740 324074186 727731084 729477230 631900502 737024964 708112604 789888300 506138292 70655734 335734410 232857610 382679612 328260636 357403476 421472780 642698938 178237144 646481902 1724048 426487004 789172722 193422598 707891660 654267894 494332426 177229816 991790312 561255736 173528122 721335760 955697388 51227188 126516454 200296092 258757128 805013328 390478284 983147672 320679346 761686804 810934312 552644312 332985736 478598772 840291258 415033538 727092226 851223146 31204076 939498486 618788568 127138464 932848416 599874754 446737038 269376732 183582238 155325240 247425562 302898254 478956802 743859880 568684694 650245032 492211000 44751882 185674342 941114404 401451840 981357136 567576510 554380076 70073378 316191090 405239724 366264160 251006156 259527514 767380438 248727478 604321700 958035566 187915186 1043232 941824670 780291142 600906626 480291384 947575678 613224008 412274264 512110606 111103194 103717876 210639552 191061860 733803932 739476332 294661832 436834268 592771308 660571742 494278900 423538780 377235742 658425144 32989846 20639586 594650710 54102254 583958854 724397956 507661562 237309840 271029940 826465882 191029392 482236690 452785744 523464992 366478346 197743806 303424272 129447176 279048364 55403262 542352116 663635692 261196488 250528420 950388998 883433686 199938790 680051998 18215604 822993144 749286674 303014724 649217404 788274494 310227454 122008292 114599552 78391530 680336482 2857274 469423494 843059116 578822408 576924952 913854546 589047068 824274558 402787628 597977750 480284738 802143494 480227978 217860866 993674660 623842986 78769206 796051536 553669536 335163580 814421054 157092002 920516542 258812654 848264126 751608080 689644302 411116876 428155874 834510066 956582936 164401312 677067170 546326254 812485772 476649758 340535458 668161092 981170200 731267582 899728128 626088552 756052738 129764492 808016822 371683320 886220450 206550944 429837152 164450144 351866306 644502782 929363114 734523770 99036722 435511498 43513916 964705808 322571962 16665998 464118384 992460056 63918568 251148782 488641922 683349050 396963526 507923898 720509702 216785906 670602888 477203350 251782270 933938800 355045358 551498500 429144030 756913460 891187456 920687142 87952508 831065980 805532594 846648718 169818792 94766016 341545346 842857702 9110102 257370816 554975858 234733426 493009586 940873874 594996630 789575318 284083910 495851722 702614978 223707474 202344444 93393796 426461092 857485652 426629572 813817024 898800788 479857766 874999036 407863000 841339504 338618306 2510624 546035082 892442966 291196394 639690480 152615766 159938512 60780612 978239286 309302380 844909382 596498748 55090778 452953300 131456938 195071998 126414726 730118298 774136194 875040920 705408730 220474588 399530188 800562344 530444624 680672904 631886838 656007500 532881926 177483684 503304962 856633976 335202952 425120680 25701838 286892580 131426114 443449854 563308278 488067260 457340410 428315904 724864438 895233242 15214926 995890550 822707048 573562472 757664154 745670556 686401022 312269800 204071108 400959436 221213440 17784096 302951446 672180198 633619332 399716656 744889186 884246648 212986558 129568158 90384692 909316884 455290006 616128936 349790850 653761546 366179456 331593170 119233932 969557334 483914172 612462692 842696298 913990092 932220182 826389198 842309638 311316338 58787468 18237668 489515710 849872102 797392284 123292104 522386654 751320988 597244010 25624132 385204268 946343918 559339558 841220690 875120054 85836214 665558640 135067656 612875678 925240342 764299636 963802764 891454822 866560586 478699862 136134380 307662746 476144128 779418632 522503378 695402386 914146514 151240666 876290402 317642648 74258858 635206286 299346774 623543504 80711086 48207540 689676772 838087634 954103090 123752 634812204 625745162 704592838 963197634 812272292 911469810 979701876 329005846 308629592 969693518 375343384 56510350 618597096 511071312 15180068 856248434 384841420 440238908 443604926 297603196 479533550 464241710 51653946 384965442 3785336 85171158 17393796 92670292 851263872 237180700 955190906 911972674 27833760 166292288 95677346 679390452 563488266 132113060 364194186 846557754 865719502 695590566 458358532 22292400 863604852 815715344 8099096 47221212 357854044 883593288 163082632 556171696 747542562 353526874 235093090 401584966 602587460 973262062 428191824 512787712 676826706 101905262 365014594 453905652 20298260 202783854 192392592 3448578 513917232 85215170 492253648 562358342 78786980 206564422 368378372 737140680 410618340 834559722 450078466 301066424 501583412 464944336 643841886 818729704 551584266 988226404 159208232 900277960 338198156 760852366 101119036 623013566 649099188 852831894 514884670 998887260 292477940 219059380 185769216 321061238 379157850 781383794 615040738 103377136 487015888 497350036 923145592 629082474 980490196 815587704 904040952 833209334 714923736 32834714 38885312 480762112 543959380 637090896 695095048 73067786 521358884 160478994 646208304 40499894 720279448 697933428 481420216 25914518 157424292 63368780 196509640 453536602 157203396 253193424 831926858 766729156 374209674 447128982 981467208 697174390 910858344 211424184 626897090 58288544 958767728 634470648 686300518 388182682 199841980 390358946 983383066 275149842 133139408 38081346 295236872 532753676 774748270 628587448 483417622 496790740 160124354 190561772 344027618 449891216 950117032 732640188 537492360 373623382 698642510 582981012 119284188 590469880 121781062 612436766 121187356 134808494 424189634 811446926 983804436 283904932 87356532 579534080 759087972 152144464 766914890 252594936 874632954 310080574 815003760 173922810 156178274 535580442 100005448 47060166 218865196 383262752 945783064 824002662 789487106 766386054 290463724 573959158 421729532 131773800 699746474 410460328 566277232 492050280 911615134 319361826 893214772 581253052 416261936 788784146 229896108 596533276 469240486 462062636 535216302 340186552 518481066 269644588 646102378 938800180 345109682 510480376 309105972 726381436 758948068 858801194 543196222 708861388 296726892 189880430 448367606 778100150 776029704 457927572 14719608 240723244 994545724 300552444 756020812 933522452 213343324 323264420 787236418 475587228 263116478 428079298 920443942 491421504 700135452 677071838 558041280 734561692 306344456 743644624 435841086 193851094 943933242 687168464 458041186 711920268 679559182 165879874 979383912 170907848 658956578 966248418 242161810 629890964 904989270 742844346 964348138 474335616 413068452 632947078 381908290 811446502 622571818 473489040 933101740 740174358 338300954 485671512 32327406 19738106 131053246 794414824 148329430 918093516 971478438 26256198 528635008 565475940 825589752 215986892 972177850 787168210 40746170 327245886 873723196 718488156 574778660 207364492 428073002 226991282 171168346 725574772 921867288 921478642 544183498 547403188 701929112 524655032 208496082 999041164 56323662 948246376 771659378 995864054 822060932 438735658 708691442 874303410 240381236 416524622 188547322 492072558 561594430 263863204 246482264 478480456 735974928 777461046 746739888 256037804 655581688 68755826 498776050 878149776 904530364 341681090 642263798 187648186 738718134 254564468 339005714 694086 442580238 612571778 893963054 840080964 405008638 297265968 992379230 661610024 643357582 627552622 622624104 97447184 777674268 283707764 822446152 257740988 687324502 555677528 85995508 804775692 764951198 135753794 681703784 249414614 623410370 201694138 455034492 557208372 683388666 774761006 640228152 800253384 638311284 192261712 349297910 345578170 85384816 671141796 165876822 219682672 937638172 49916102 174273498 672942712 910082416 884178114 637981954 171881858 614715744 585288350 808988560 624442 5443124 407862998 491140340 429035876 572589790 549622298 74963102 910840594 669531826 673309404 711348870 161250486 80854018 791091914 278167174 555888292 97450510 937776628 185433564 747880458 657061588 393280684 665428020 638633748 708002494 540667198 684367720 639335492 680631344 327325526 816537828 840006906 738015212 361365104 925131734 238600646 41668842 351838882 331947444 778623120 538524026 21211678 320487468 323473460 357653328 221947128 347745404 282180724 446151210 481964082 803856168 405258444 938589018 775065688 105900726 185526690 891671648 506182090 323786922 258970750 865953118 700707076 351436930 168860586 397549746 909120508 862691020 465128186 993466046 374978906 351573132 390889868 507929320 395474338 182796258 711309866 31343754 949099852 901382944 751057774 127450460 316744712 56291288 485657764 855272412 256918476 256945292 787063334 332616874 440659714 504817554 502257258 670804290 887754832 526105024 537628086 58841060 419509986 506607978 284764036 983847740 986216618 953024368 710485270 596151774 417218222 484381568 986764208 420337798 458566988 814617428 83628250 184128800 13819668 218131016 557803354 139452366 637189338 1977058 883805712 264425044 770322096 840180972 925244226 433766168 435569928 331277768 602814008 159981174 544631178 53028854 603790198 837807618 440865140 854155630 250199992 384939106 88031916 421559582 108892630 649645426 579784860 179827232 230963274 211099158 815478940 963820102 901259344 445741468 518366932 578969836 447631334 533547966 744621340 967243192 728817828 26167830 13588328 617497770 133269496 164542570 542099104 13954310 412334444 823338174 314268976 264741602 304552864 119737580 16889346 117279150 868964514 398699308 437253882 155690346 654790892 380536686 306243710 844711276 203698328 133195718 525088478 332667176 879050302 649861052 381070858 504868036 769058992 574815570 959878736 112452108 492745164 958572394 969241746 226315802 416644152 897787026 181905162 793461840 988776196 965351072 364001706 973955790 877818444 651409402 188831616 770055652 740908130 877209354 117093888 684621238 198477774 480335622 640816312 901110880 950796852 337649332 322663268 729882522 676766282 586005828 249236478 703227686 997267528 571748760 805373484 106582706 958884458 281053212 7501444 957476756 213920358 483598292 931640166 429683130 905684638 705437438 652496004 61249382 819956180 440879702 849058432 103554284 199603962 708254300 542555870 11626616 735815578 452749140 326767938 588715624 78352016 8335222 416783706 600170970 768170902 425174844 676951768 59163546 824822668 675462298 252860656 646583818 763331536 242157644 257187902 37096396 538377634 558054392 292982434 54262980 177319684 733744582 720563340 610983366 90400256 198003292 150164520 59853928 469856888 386427990 834889212 547180266 517932040 849868880 137749694 713828582 806543526 980456430 295230712 125608584 593349638 726984328 474423264 203070290 842221006 721947706 890384630 261264220 846188054 421675622 777978236 612305942 722810054 694321132 749793272 199558522 700353624 445809818 956610884 500125120 981535976 423260768 981513752 636969110 504905258 914559072 513174188 649678338 692913916 638498118 587316470 50836504 218426658 162018892 634712774 558894070 853377994 559681042 760349170 977264122 625551228 180287082 113959848 150034440 915380786 310493258 106046502 227849602 953994294 378751802 18018190 49286910 912302014 857933850 745156814 873619362 978015748 103449438 721766450 679463110 909457042 99411150 699909678 838235698 27514986 231049176 653029972 425420860 989003246 474902504 985879002 402075216 760892194 154834456 590700904 901722140 529006026 736648806 833484946 623647144 690570716 643773852 290476194 812026094 111640086 13040722 849419118 283350712 813053890 788990468 454808718 356525594 671003700 175541690 485056672 488915598 823472534 130408840 786883116 693564242 694645728 352915618 31934508 74297832 773341092 373227564 373043096 384634834 123556138 724551502 95282602 514757134 381112046 741128358 548005782 951636184 106894394 963384570 23917542 572978110 289283198 787758370 557274706 866538436 258571168 313684010 999725242 149107254 948780286 597230120 331882308 11836438 304810532 728408492 587829362 137138108 840403612 112085926 134212022 726174782 995004158 736019464 287783110 684249852 750669998 885762208 756321882 413924238 686985992 306013858 936011116 507841584 106079970 59068008 883538998 443311952 955485126 338123950 134474092 412868082 630469640 528643804 814653876 157913226 603674766 684052322 486965988 912520860 901847934 6531782 792016280 337793660 731485356 700772510 968684100 435909464 925104560 809594596 440449878 321913020 758455630 340458602 304625568 50757928 533396038 405815206 559099276 739182092 363346448 873978962 636582360 101097442 266482370 798276938 304421160 673564274 927640422 799562234 773541742 413999616 481942072 712831364 442928250 786203232 245083680 622266088 699318220 751395842 803471840 158052746 771412774 973718362 518845340 391749562 531798334 860846196 858121654 229969274 224599282 197043820 897418606 842481518 677651618 338503858 544276514 822761154 213417394 585215974 515511936 764730080 12691916 101009440 108627002 487226826 913955300 897011520 796930228 276565050 27623058 379337740 57703618 323018822 367758768 873054226 942262320 411460460 474328564 476253754 30381548 341205760 654924802 297749422 16826542 673780804 679302278 970517472 711716406 663212158 768677850 38611018 194431048 256406516 602862018 990358138 346876284 252090294 523403966 198304204 59658830 826824156 683608012 687541770 470138170 422747650 252976890 580587852 985523594 704239926 83968704 578326936 574748802 808594228 58012242 822841414 957276800 407630686 82396602 605400230 775164614 521753252 215965526 265037330 914382238 595308136 252444028 33176786 520144128 348072396 192016660 491225740 664548272 758910646 185021902 635961744 520769744 974602262 950966126 81847512 955502100 123246996 749351256 437296326 822016882 738561914 275232630 621316728 263531324 734968748 159900642 859935688 508922748 68732348 170667574 953028412 942482190 670961820 897553212 384528330 366422678 771478964 65547000 41612810 305658268 37857088 13161976 91664700 575579268 408026644 680199852 621013782 807278688 176079322 390020114 538550572 851082624 93818420 463784400 995349240 182046996 877054654 849268668 778841526 355236388 353769538 148696350 275659764 658934454 627670956 992242548 622240706 338884160 371341984 775096640 749156608 282513024 900565704 672381258 966199528 452032014 947819612 80809938 345475718 557356508 867022856 125332672 383601434 690049138 298002760 722612710 857461540 417676932 616308668 249924976 60801500 89467368 692239596 90702476 238403452 566991030 554221008 601690106 7868872 415326198 297334618 849152264 755654284 404710144 350247882 771796274 791428296 578833172 30328380 957005412 924311918 231305078 772310962 377137734 416538566 212240504 265146400 358184228 377112730 841690182 388082284 139684196 319760548 689429614 799963120 359920824 473863666 812258614 161199178 106937504 867833248 657585282 343948314 824722310 785393902 951222216 207899814 974909966 181776268 375003676 669450510 45836964 267603364 794246588 476767336 595557198 908668532 650590870 602901482 532158228 712334864 73062456 934194444 930260762 109335726 610153870 315491930 656791130 850496582 671200374 953428058 896658482 321326730 205309962 238196450 834784522 619404942 544336596 582354764 265647292 626883430 41250754 300456754 371301990 572543760 861751194 65683142 774094048 213454982 2597704 993095722 262108194 44634366 693340408 337822602 622913716 383638362 300037704 682852234 396200270 642554276 927523944 16585780 896486806 1533696 1867556 194329770 300710714 367952426 100310414 525069298 36166980 32756644 116548296 384835762 147110030 470381644 290242708 749975720 458344332 743748928 345183816 888116050 768428006 674825534 349392200 117773418 849140134 683990336 368403720 656266154 218590076 279087378 915760782 963902128 613970650 20285826 237769166 749794252 756463112 383427970 378428954 493622924 227813514 188029726 850795432 2168938 981587716 236930028 984673092 169549932 543992966 851520566 910581286 784256992 429185234 145209914 446811954 487017408 295358862 400219176 798790700 445854134 156661300 772660308 494141402 279950256 854322324 656518040 635841894 361626936 293259058 489069568 846476692 787048688 158063614 6444646 189026174 77672824 995170444 737887472 688455224 191773468 908223400 285139744 754379322 985995138 265216172 467316766 851251484 969003406 16064444 422225324 83748740 200604656 188161808 950498088 618551852 892134418 681698712 535650552 543561974 455046076 427541690 733735220 45467792 651959078 935448728 355214760 909413164 789746098 168225556 672110814 525500222 80837270 179138276 497320988 802833020 874878878 206171362 684816934 340304124 327123876 123564048 539466080 624552216 559683386 589012368 120534304 953889768 953122230 218624950 359725200 387355688 563913272 563208534 445212158 704971142 520443506 396385932 279942106 677462114 5956328 675364206 714369342 492063220 623206228 933257926 700401224 189747948 847119472 93466488 508964012 160408200 187581996 723829076 932311498 78627228 284603004 84676036 359437470 272610294 381663316 600722262 207683180 905215290 412086704 368520732 912911720 48867348 59314650 375088236 275809106 510990924 442826890 698115570 317883010 977028890 279415690 883653004 488154934 836843936 626255124 994290150 759102494 77312036 885766940 558269844 946736676 982908112 71397622 736338972 261749038 186393870 230497478 282392270 929608708 309152318 86646328 501290858 81169404 956542060 657859954 76942068 43456946 851887998 108376366 700265170 916050144 95639792 811594896 123311290 202848056 5365928 950888034 568751866 359628150 625930650 148094504 165324690 158048392 261476260 546989722 798338286 723743054 797224072 12447130 509400688 234374472 85996338 266353256 53683006 427278872 31894180 264455684 206083292 869477756 489119022 529796284 608914082 856892628 420320228 380477888 85438828 104723426 955349854 290861256 377337216 354960848 68803426 569997360 107710614 217656138 22233238 717167468 382793246 710128072 306065762 550469600 6051876 445988410 300131040 989268224 310747608 863236386 589118618 663780084 908467514 82112024 326116384 924113960 363787788 240586508 101772310 552323206 951226028 476095452 786987136 966812936 127160150 757888760 496750690 832914690 548536444 881941724 173840084 715191592 621985942 94786370 902785656 617619710 541873814 626096202 883260486 556329560 126746732 23569478 129415198 512954500 248444014 820054356 581944378 623303356 260600716 307746904 352039752 14434574 230752550 152938668 531707766 304993722 111325108 980575266 975847184 419031236 458895628 828361226 751257564 278347864 449116340 409911968 44251146 205814036 123543300 735934784 253109308 239998118 892133294 505067984 701979786 636320428 855832988 252912136 732005242 299733514 875573452 362726548 646600000 156545276 635604372 486064182 241304830 816378458 3433552 536380942 60508732 396449718 406611678 100932568 686073476 145462102 539133340 614671108 444634022 617539248 995482062 748094300 21900906 157166146 583484920 619463752 554029788 478198632 507612054 729991500 544805058 989860596 684861752 834925326 779798766 45110162 131495504 850956440 636189158 296114048 994087204 41147216 936007038 385877876 217670700 983217034 17970572 604021394 186269030 326484416 588164136 61591766 90553284 163751412 924155928 47787010 238837752 14651906 166913874 353891854 358375490 129985050 956862914 635640436 318143074 614518910 803982892 960915690 701000646 409422604 613225800 928458444 809038158 510921664 863665546 709997984 850734768 593006988 237424590 393949750 389297982 583134754 7092812 601867840 307306128 630691876 957571618 525086386 615118812 47974244 858175210 485825926 289459854 432657716 550211312 586176790 401689152 61076636 602206816 11268806 836911386 614970660 668251162 392781118 931460026 151193314 825446944 728538886 115454022 696333836 43332444 467361598 854155120 811090148 48488406 126217624 262947192 785425276 779859200 834534144 593495014 361572246 442452844 131562840 549739370 930929574 830818092 735621100 829516418 600155422 926238580 593434248 390736796 788036970 590331310 220450020 58738594 956892850 337534028 489718244 408791188 25507330 393862662 754732550 46431956 41451374 191786182 470645820 947887358 445672284 726633566 728847162 60449080 240200530 594702172 166102118 139608576 550029802 480349342 391111830 935527892 852813356 179804628 846612074 96728732 24877154 390539750 203690916 372705232 85009936 869179706 754122336 124235418 229218420 582141624 331769660 698161120 873816220 953772690 460244500 833993016 84094372 509015588 371973420 755957012 495678126 504543710 23472050 190912408 993782592 682553564 621212532 64844574 907322190 344617430 380428170 707458176 919899778 886915250 458532806 783795256 652026500 72905862 689922646 252031920 942818502 469337918 10755554 549120380 696685744 815728090 393402930 388850126 680700480 238074416 527381000 301670170 153771278 144798336 682543844 815779866 81325022 136181844 349588704 123249654 426929128 634391218 231662368 256975260 737516504 229726856 548685466 734336400 115180642 992815022 916413502 792854448 264611494 454652068 156326824 294351664 30724802 374076630 608972072 771585350 332671624 962218406 150849942 261725012 270753870 801336386 371874086 635754206 231379580 745569114 260617406 477589236 480834816 745167098 818476512 306270010 923937432 545405224 813538064 536808434 868278904 698302000 795715884 904195228 900889720 610111690 754774396 11594934 321539022 638007938 702743322 700315948 459953370 97244168 403350688 214699526 519323114 786535326 228543504 648190472 90235700 117792424 333798604 138925494 724033890 641235712 517746286 159980140 42272456 477277566 827929386 337343036 15461678 112969288 44497878 167276 688094318 310480622 302484624 153165510 977982532 939190806 447798826 779585886 906141888 711779498 302809452 948423886 386650222 591826514 726934970 943901490 211361450 639471834 321735524 346973288 770265326 958850392 46918538 283074454 953163332 557622434 980000470 989132412 949451586 630774808 639458848 610818594 213713368 762649534 370489008 45466682 261714118 121604006 750124924 16723872 523472740 604146620 48762860 950648846 573874256 770281560 203571352 424355298 538956784 881921346 484073054 211864926 172325908 331444284 745350068 2382666 850852154 754957274 529546010 713070290 346868498 745420256 468636318 330640436 965911836 982449018 879124942 578008168 976507024 947083390 829827772 463149606 89379030 596451698 158361410 851616464 135179278 507871068 639079316 280478388 696573766 554960160 530329098 982622676 228931740 72085850 228041518 657641666 730889154 938100552 552158034 962513972 959110202 480077012 528737738 85582192 289738468 14357980 826984726 696950062 783340452 557029268 365262560 752483618 166034648 936329458 335090428 270008252 668843818 885447260 571340784 54121648 153195698 146718414 400285212 719592638 789621154 119299730 710750476 809869934 996477930 511321180 230138186 16034490 37390646 152869362 889733562 226571832 968572888 42317634 929773388 255842678 806619336 706730856 253443210 37846568 380525592 73176878 813217902 27684446 585547096 877631994 142509942 197859676 676256638 798546348 971579196 878881352 373392392 149245478 532402358 54427162 316590820 126160710 371106090 502098056 580138246 119886608 716778462 59490046 250901258 984648258 302805468 500523922 639583606 490616838 405173710 361424324 613462516 836254228 55292790 863725184 964109756 20406128 981495568 561992028 205872938 179474876 985107924 633697810 804477834 157341318 767279262 207636860 32787056 336240590 729580738 945947928 733604420 661561984 693415976 693024580 872497860 911326060 148409040 40754836 104457474 503917126 266615044 712079036 272599444 983087288 68017698 642617178 82759316 734878938 10041356 83614066 239971910 148492440 116817010 268180318 1912356 472153676 585125494 89176878 604898050 506517472 468709286 943194004 552388370 912106594 896393590 16202246 372370468 332437058 274023200 589158894 435363210 949403642 390772976 399372864 102050042 15465276 306097604 777031216 612857550 707217816 949999862 416536434 495891078 650757400 720869736 46992722 942282912 985929080 181394498 548490634 903773216 16344694 768924186 287982706 968228402 10941530 516954398 300577146 417800796 650310974 621484670 79963706 95350012 161155238 401893440 442342316 784975652 491094244 777574214 536392002 860412298 118316380 173187188 600114118 749346590 987373378 932105836 40968472 455849528 982061846 731747632 457715960 742733172 197302732 616647344 898826520 642534070 791195104 639456908 173304026 727788350 684723928 958441890 484748446 553701034 910825508 365329312 191282050 307295216 868170184 585571536 254929432 878808780 52299318 572854012 737712134 454352074 845602570 567327830 240278990 208952706 975218438 30453510 310467064 10104192 775103432 627673502 450940580 255329494 349846938 344156970 274112128 69021574 105374474 221219788 123889278 8860962 363224920 326400476 464571240 29996148 415613610 792693538 596474070 89717678 4348950 795030498 707214956 7722362 859904734 826340990 711241012 109726874 710027798 931802770 782946176 630394628 160606292 478500658 411956624 219596660 295490686 772903306 2641004 703459406 93181160 353340028 603202474 479029240 577927778 94784640 858681192 35280384 641024636 984521532 589191836 911004406 550659286 125467274 501505570 314206750 184122866 59238760 742248024 38559832 573576428 414042742 404804270 61026480 87061826 444731664 875880580 106313640 154078830 583011300 133733998 195786658 634569744 911345008 539913870 928600428 820134106 570745124 635147696 922226846 810510024 331444926 499971930 399972952 119221828 332666730 419609034 147187968 45969582 996309838 991931032 106700026 486308260 693816850 666412980 273169640 951184066 939611170 484734214 5612048 408241040 969184200 801522848 121860842 39852528 102845188 825693436 249456952 540232870 987549314 394775730 848568610 175017246 529460920 29372890 861033344 924832826 752257114 310392336 461867464 547044246 344100966 628537392 818533212 613190688 978907030 935391410 461105748 619522622 776362742 745240778 329117586 345857416 393451364 542350446 205236874 292885106 346474772 425287410 242397248 809747446 935421528 216559796 964252224 678677314 909967540 626745024 405855474 255640992 726511048 296763000 96044976 52920082 611811222 692817820 1704340 708454174 854549706 509092460 964088924 725760826 524491906 421599540 999884862 821218432 830733032 235081084 444325870 292797294 906426262 621988982 666319370 958724308 864826752 527227756 882938106 845058252 525575502 500848594 118208104 607681804 682167002 497325166 578553184 912165222 483711244 649835306 859509776 440538642 31719530 373012200 455759806 343086886 364422560 494797698 401844082 329335694 545230812 933484890 84520552 749810152 945561574 752525058 726493726 570943988 566357198 992401124 826390184 580193164 99689870 864991450 890177152 622427310 166435046 55531030 400314048 456022274 509442668 517197312 767018296 291910666 932972424 832470270 811220666 888990522 53392474 231087436 420535746 606890488 890486076 67413378 484488764 626493972 655779884 913232478 553469902 498612070 926547948 868283042 383052012 733952290 695703926 618577886 146270220 774304068 931370930 98085698 404061500 592345760 404358580 820377442 176941084 914678972 778715978 266560628 493882554 549874058 222918160 838438978 631400098 456690552 838010410 615264452 147272398 257228858 339703902 545744682 520126752 964776694 155231606 831751078 825753028 716649250 879213112 728341162 515235560 573296142 974340496 253066134 447899288 353535912 583799488 380867060 882697680 795756808 65262002 189555154 91377134 357071706 70719868 723533430 347648388 188407236 950660606 133935318 961789280 153659798 356719850 597007656 262551584 652776194 458263912 533666230 841709518 782254670 547420282 365826042 115526066 976398574 260290622 838835396 57982916 470818274 864852614 188406932 163128748 90433670 388137684 612352894 395399500 130826530 879736048 692282146 632557796 421280460 340992336 948851384 832513278 773065390 20335866 23970522 67075046 299718054 477510686 253555166 109002184 719175130 558294582 100105522 220565632 212918058 253859026 309498872 419052840 759872148 351719720 182586228 997599730 618700946 937702044 625927458 185380082 435997984 139771582 478696116 112687882 318505486 225923196 920959912 274161996 701115242 715444618 778190940 621367710 329992864 211333496 628329782 956592324 907729280 117148268 544201920 585893522 432675194 327775086 422066724 647720142 280586170 198543872 670650492 616320384 457886954 960353944 624587400 194255098 376838760 858067866 495753528 431493942 789262712 494678816 285667064 363580404 773424498 583049424 139303046 465177884 71450960 156489592 747703948 398827056 388229116 195257244 617788396 728211094 483342916 325638746 627124514 995632016 560381406 652894704 574535588 724094996 291584458 975990110 501110036 365949260 175400018 632988800 175753366 198054404 165932924 272102498 630369882 628370092 124310336 468398176 846728988 916838752 575338198 719679028 222993660 797820174 578375482 335149830 5094250 959168558 814784634 56089258 689835380 539375440 876956574 452304124 589904344 642941212 434686840 309197942 440278598 647829612 716454202 36669622 982048250 638117282 364446698 888020118 904615978 786140600 722870534 608074160 514142950 263140912 262195838 162011500 532387798 202910216 453317746 468552188 774980178 135544576 976140262 374949966 896282782 736828478 887217900 236136580 820910144 338407176 263311682 482124110 335565644 917024954 952583682 859925522 17129140 306078790 743733558 793735602 408376052 764461700 520613122 354486420 669175338 779940802 542269256 324423608 673130282 530313224 164176146 936403316 867418738 712690850 386163452 388133394 806379644 171849582 811151164 356648820 36012770 401978956 489690956 712904274 926938726 680872340 453562224 41060778 549536120 718465908 518019382 434756 984437480 91700760 478596404 450530492 222662420 505415234 786289234 436050800 322462948 36581734 518866354 877077244 514042530 23578866 235914352 362563366 122224468 645777874 797792316 297412776 669033032 599441476 664757302 955345872 695500028 277207016 412118758 419131950 372089104 324686318 390538014 333667344 655584992 585811734 914585668 420821526 924968520 407775972 829172896 41265674 248870996 353245352 661689342 660922082 299089348 417428448 967833186 371908576 794196286 378056144 848234252 260731752 337927882 509017426 957200890 401816494 365489124 145085692 338331056 948322744 363655638 894844884 974475246 134710194 760114678 538822126 449197154 574478462 945120066 796421126 533104308 376232710 676740856 502242090 992796470 866052120 365224124 648638940 98946966 558596562 330045296 290976332 251582212 26797824 416121780 462229682 226332488 277260558 577373020 428589246 760436654 534297240 5499024 494952232 174732480 653238104 207524424 611972394 214865908 812975158 436428288 465803984 438341562 135735216 763402514 119074734 497271426 752473304 750548532 675337152 445901124 582114178 883423910 146599574 564840124 293347968 555740474 537320024 362499760 192887596 843688642 12891182 85719804 641076242 949598740 701424630 308105766 799284630 34833848 221823914 860963284 290750022 468809064 551506806 771219782 25140612 909001756 742212690 54418932 196194952 563753844 39661970 713511414 117770348 118054980 743639826 132539982 348399616 87719728 592118880 28787056 72095888 959173634 182845930 433229338 263485406 194917970 942583620 812024854 101460376 640522934 994663900 436373390 734089630 763534318 64517216 908536402 312501120 47120672 593419904 19378592 362882292 659117152 457867938 572689398 463113956 817722680 741097706 483246184 80837482 488159524 779507808 150631826 771307894 195451594 665609920 948505356 998882582 138452102 539839300 551154070 845133404 167535372 229421520 30413478 731259388 892699032 664211974 927526506 606256588 318846982 261752150 214355546 69597452 664548076 615133908 227242526 240411590 27089134 170524276 484987812 931891468 592010966 983802032 471102566 394207494 726632790 811273662 298310464 975831598 678833568 426492256 813207074 703672172 875406004 264253370 543431998 713400534 737908162 288828620 502065294 5916342 602237308 280169992 275579488 41833992 268271412 288721674 90380818 428600738 100325854 137249166 989523042 166588786 730361150 597078194 60173080 482852182 372253630 523504434 876055964 381763304 993409844 425665654 905301414 591644154 396086626 389111432 617482668 983795494 527438314 331962014 461290008 458956088 230160818 831287870 844062384 88836064 826067896 649045248 355975604 59214914 863682156 775472824 136971524 651915256 54004490 887666060 429265914 340556868 656586330 743037228 943347286 139701360 633201686 517361386 849008360 567935320 77498262 438066062 658870472 703223548 351804234 779880566 85127248 560407916 616541690 512502846 967343094 946108896 426407270 336961208 863581992 256983432 43512894 620425320 531039856 481453246 911664294 987014606 262076236 637530138 148065602 101669030 445002622 446663830 358954682 144967316 314694084 235109044 616659284 811758350 3480556 669372174 301887600 265033144 875547188 852877626 851213124 452079826 172027300 828040278 784764780 120117750 917457660 80768728 264447560 109618858 38903370 992385724 379914512 494932496 561878322 766521116 139202034 515634182 733980342 656739386 784351706 105011118 913056732 35027086 229921106 983955206 253194378 51754756 833209434 19037408 194265456 209516718 885425296 650838938 573684534 943435666 186348534 215911138 81600530 22193768 411621152 117311912 560824854 535146384 816811858 690097740 325469880 545234908 723049554 436085896 610041210 45226410 236451710 2867608 572296058 102048222 897782688 445099604 476075630 449864292 871295834 650122250 450615340 423209422 133251974 909724976 341889606 373021084 827432372 971680508 18425402 247998198 657418438 870285788 3352936 970473884 808435568 618026258 313176212 269120614 124120902 126507516 410966838 650028806 398631436 774127588 235257236 960068052 895135414 222241626 187506604 411270906 454108814 756035548 241322396 155633548 328029152 202163888 343174678 402744320 244956772 319571294 147706756 657931250 459507712 179449906 415231872 180290642 715966922 794736944 957449358 962040988 801336266 216052886 261760222 231134266 344340814 339832236 342296992 516000432 263909076 846434474 326730548 590158726 574452784 488854308 996988252 653625076 810475482 329755654 456870584 32892804 923498862 116649420 994193922 964802550 966981346 224295312 30584712 157056390 834861272 119309680 242756696 481752106 110102068 623771806 788561896 144773146 796460478 752633584 433742180 156142126 748923476 19771676 977122762 182333364 6733280 933237584 783878578 575249348 227013478 373532896 7520572 896870770 592966360 775175290 480262834 901575134 996637744 648405098 988205090 137344644 727201326 472437818 712469282 728892642 615797908 914517298 168323396 719514728 801047986 380896036 229243152 438889334 426557888 60739296 820689182 919359500 399217442 125076362 169862530 914610046 52544774 307973368 471129176 544579618 454077356 977926360 304200312 180520568 640742914 363565770 725832260 699842824 5660812 913967996 544089606 708689196 29825870 10538768 388883678 279626216 324681980 868435008 530997228 700040894 315721232 937544204 454824684 115254782 456072534 23236 407690942 953003976 91338232 638680392 543378860 584838614 33225776 766498762 22317476 639244472 67901860 163133500 146459258 914398666 992833126 263888736 244947680 434992746 852166796 128677298 752482324 128667476 355837670 226027180 195311606 120723168 539576586 875771648 379866716 206787672 301502984 418694914 474252404 470805796 710635500 71180976 786905374 183491522 212622036 607721740 767314642 811528056 727307368 431460262 589708042 385234722 202336142 306422842 834635326 963408812 94797298 976196926 912192404 640740880 293786628 63609618 207049486 58138780 351035416 218396874 374827140 240905848 966741708 505609450 501611496 25598172 437734372 681661268 129237624 374955986 703668260 911682500 207405078 669840866 118942308 97340690 815903772 649848774 375443158 338252968 354280438 56491186 777139884 385705024 996037386 307831438 67536156 957854498 273890644 583114376 136364644 279108814 79339120 241717452 385802164 283981182 401740802 427015730 790081568 221567598 542836084 761951170 699796624 885508382 657181394 597601134 657747804 334791634 984002546 764200714 690311158 789232006 121643946 17345006 642927352 927601544 818834572 192575814 928241856 820463128 637818332 262595136 381707378 125513574 746691276 38000076 364613810 227290260 815415028 561035502 572175128 922050878 690138844 37585492 871888332 20722580 953649284 396741732 768706948 551356048 383717692 955654870 853397388 163110152 963745678 836964650 611878586 215930106 23875896 864208028 934438048 92424044 932339086 348194606 323504150 665018968 218276094 456865418 853422568 451249132 102650114 676305074 29954656 715477618 224203730 908727790 689948678 223090774 661195222 547630196 989855726 643960126 691605958 32756326 955501772 98979808 888579340 714550622 948308714 466041622 479099224 44032196 351948838 193303092 783431284 883570640 51108516 844656028 939583316 747755480 983817136 333262906 581350980 447275782 873733194 109859120 32335516 767295196 234198162 637963512 313911234 67434580 703169624 829099768 425035368 352043388 868136320 869174174 745951572 285843486 877204202 780787534 236535244 477622822 366949998 981138694 17856840 90408328 240298320 541624380 491819884 218935698 349776004 419414044 688973298 817702398 465350560 776653542 361317506 271449738 626631954 762558950 230155052 217059856 165495814 135446514 244139702 273692208 935168254 436253520 280103230 715811488 347226272 955943510 946042644 819724234 668113962 681782110 527068988 126798026 249338692 331296570 344944100 372321426 781734526 304788016 497235714 699579230 25433076 21682336 837395182 756020902 309055986 354395244 928191494 489326772 296319316 699468940 245574984 351972800 31202786 621834428 935560644 894221430 727782064 954918462 512480082 552319184 563184482 737106266 289102152 477676948 934073310 358105600 498586036 20021262 81471688 766195514 253177882 770771520 173732722 850888504 343747722 50451070 507409480 471494544 548251118 528540540 61881020 961461604 734096816 363264394 746965588 45358270 673008102 225467420 635773444 91480568 824821514 540458944 571862150 707864854 342364156 834102880 701723072 956443100 601372756 184508704 212795158 943263014 641924718 794555250 462778310 886759432 939504534 509821768 196514842 606552914 96948942 346501164 911851968 616897934 237574500 691850592 133815442 154731638 206956306 115989330 722581540 728109836 226906328 893452348 698402518 764527412 22252322 375905320 216676888 723167890 736860908 13544450 608798794 359176606 836099050 849065742 207968272 157436724 901616086 560922554 259447360 130657088 450631132 832277484 336767992 641820460 68030038 726319732 422181744 825014208 196823208 794770674 522567342 452171530 354345142 259830602 276449582 379600084 268160480 401105164 278879772 114658384 408861034 700005914 123704958 62186128 59350766 215020274 437839830 839822406 380911180 29270336 449920408 10836390 979190018 171932484 269846966 776664812 255656186 352566580 652004818 514142786 530470774 74727578 580136844 936574062 576694784 846069792 825015912 774686364 702561582 409038788 217847472 898717434 311900230 355129122 578964734 650807664 653333344 986656908 754830900 503112476 485648166 181011552 902747010 876477170 402304630 542625194 727513454 323818470 587811694 280207870 84169108 659998150 482522750 52894892 304794252 185927212 208988516 975098896 474604170 452596490 999082186 942410036 405347448 172430668 99726250 610280182 949755110 60047900 483115604 988032268 675956816 757217840 818770494 711954864 729933976 318162766 740231066 319703722 991760348 591858340 113316114 478704448 499780184 844775662 802562270 147879648 115771016 579433924 603403072 907589184 434873638 251906672 784080568 264807550 372765086 250617904 344285960 997041770 880410070 95545144 164369602 609697882 92153412 502850482 849117592 50338626 693448822 949629268 33948162 829780686 547250490 182077010 986105896 586866840 655372296 632786632 55683562 624636602 305725604 268342616 968287392 531785234 440419588 271569984 577091918 428494282 933377124 615800648 926927124 559725126 621063746 469647708 703437194 668118386 782270346 545087384 236048148 789275970 882309960 340314448 469264460 88787322 155887842 928553620 588038970 956475872 42890928 292000454 537372920 526809132 972740244 431471250 159064754 825369120 14724838 482647154 82814000 895045258 190417394 828405326 218926462 928409752 191989668 984463076 259666964 259911764 927199800 45077702 119070966 699768640 265041870 44550450 888519510 986866100 635801700 352274 302566042 414974072 254944494 26441426 418721288 705671460 81453816 738456520 6200032 648310022 466287290 696691776 331079420 850897140 154599616 759618596 251141808 56539026 951858888 107814668 495727116 53084726 759964678 741105184 153298552 976730246 693156716 529654040 750291550 465065390 631548982 137585940 325758986 304627632 742422204 557448116 433473760 320652358 199719420 153532156 325557478 367033750 593306004 429429080 255917016 810422114 127391504 960202160 65762850 877341880 525330466 346900746 614496866 913441486 945846384 985771298 432786932 171004030 986664556 645853842 187259058 608224740 66123072 661607526 225255904 273792964 120772248 84193618 648033778 45781896 369127546 751963922 51028854 642813698 927568792 733630208 677990652 155121006 917118742 978532076 701635400 673043418 919563804 843909036 384497946 167243986 583564886 214817710 289240432 494359644 481621276 304526544 410830862 503611478 75555390 320666250 451108550 736884582 190578874 693722256 319735306 754543012 609102772 835020180 290759482 71410302 116934778 762026076 810997916 89882986 805621084 115633198 190732346 538041410 774012632 379196676 14480626 284500226 580947842 925335876 634063472 328611044 479251940 801017980 554281456 483006106 246198006 920702416 223212764 988429108 379935470 937885668 120686742 410354192 22081736 253251456 949327830 352952214 476226308 784509516 428436786 609807974 792931486 354904874 91732158 928256852 551694026 504147770 841452544 556148558 123055620 962355616 401785564 157498858 418874314 25934404 70828488 246392094 207150648 598633074 829523610 134166036 613727584 21829898 531192090 284476042 894097082 582528488 318536640 988455336 755389674 937470978 661851922 888283526 934411168 316682484 504053718 172272734 266938598 9204350 312471254 683244708 361720558 540829042 629153856 69255660 228149056 662879942 598519862 426828734 623971172 986201826 788040274 812600214 959720968 582552492 491224158 35009776 576311872 375243052 412516732 737363698 13174484 659712638 904058152 763757050 806978350 142094822 798867936 937594558 683212132 65370502 499356442 511025638 916435058 626904360 126389612 217355480 92490470 333950992 709403110 709682274 227649172 108056128 690597520 233893096 243802672 70634798 429648634 786614962 603167402 812208266 536766360 833434322 468384376 792875944 598740194 783544186 646716256 684374406 630767874 759353012 753790048 760718108 793406734 446873922 208611076 709471856 161685286 13396838 314255230 839154060 37371736 302813534 727320362 407408262 487840238 795718698 165108000 576761290 433553126 716352580 365473252 339537574 925529940 975333168 562072214 701391656 819378672 534577562 413683030 603253218 888236008 821944624 915774270 377401916 66926096 966550140 126867488 267205610 908817448 193256800 406450606 885282154 777480556 187715998 731449742 137851994 556658460 113508286 60461722 950492648 360561282 27706272 871181360 285688026 817681988 943938814 183999154 74820368 332820350 987980084 293716820 757894016 674645244 339118278 894964796 910601376 541257238 784397198 85225118 943622262 934210760 926883986 892949672 524859686 844461172 135863710 215623556 257116580 169489784 373347088 460239530 657454192 760401762 935750246 942613802 283613010 765036522 230835266 103214832 141903830 261294172 244337738 421071164 448392220 896623036 203708910 570153334 924729806 978977130 841716852 830728400 467962468 701430460 136400592 206860368 711702244 573658324 235913834 259404568 53538258 776480638 778836988 576744770 689664568 401746406 753148926 790815038 744887302 627234930 826838278 492603458 198934982 604593088 206758258 557724582 477543948 787024760 960023320 426902988 850826632 727340974 56168126 51988592 834708296 782181864 9408182 471082874 889061618 640702614 506541764 507571426 726528050 490258626 822413238 546199766 631168582 803371656 278837620 905732896 312528910 105792896 36910004 458337160 444412980 761807302 526254940 180213052 736616416 947137568 859180618 209209634 5071876 542092700 268463438 884530498 364747504 586540380 297431864 605123046 380786282 600141536 401891892 80290536 96133286 120333736 544275282 105638344 984983872 127287778 260740548 746737128 583468122 434035438 492328866 838392580 191449136 897482632 33284664 803659820 516969980 867289058 223999534 945652314 824526968 615439020 794333924 843633158 297321014 1580284 50775688 743546664 580141536 982616708 226979618 488195152 383032462 76582648 709018252 580855222 170842918 163740016 164431736 418074136 120050908 981712576 599313164 315386206 123811812 7420068 860636214 64149236 457931676 921088870 918862904 436655322 815664452 557977340 437022454 338323146 908066746 667764984 107576566 489899002 139348996 285240682 807541396 691757362 91413370 46276212 698272732 789036052 766371778 358338728 705837842 186068926 295497612 6001852 832027276 903898748 626550148 482267232 546482940 652348998 46933054 339877090 260765266 841998054 696007500 687535096 370412218 277823822 855301022 303705686 423052928 389944686 728683492 382644312 392310308 854061846 407477718 59869076 988101166 265549556 178440672 831917580 727105572 597408304 529049914 646531532 551641756 641920600 535194374 771899134 520884214 516779682 214197880 615436 379292910 610905556 848920248 778536802 206305360 282689778 287321842 77236878 742886534 527761830 863909412 964369942 254975254 998759030 836653158 150463292 126821610 120709264 316159926 668528952 981836404 540409132 315757410 268682460 567070646 843521380 655479264 848042508 770197546 290592418 646458162 953319270 57686676 828621670 495916436 596509482 629791512 117939474 813481930 182122952 978339418 224719400 450651380 176385692 2063260 523996112 479108270 246281338 153430602 656973206 597539274 799791200 287018500 757896988 830009556 493468276 166663866 643773194 3605914 522336556 19211166 887339898 287540548 627660774 292349088 990476118 29044028 156388252 49908426 193943324 422976240 456893782 655992130 677251730 798252406 209772692 12593344 276988220 594885818 641613918 428320776 282585218 260964620 7318346 861245036 575217188 663474676 75986256 950821074 961666536 422160442 167728624 684725822 675806106 513893500 430385734 598758120 517586352 294588294 930046396 956268126 69541138 221260154 661370354 249086362 368760158 402987322 744806284 882053698 113817726 539337146 255584062 415900824 266963460 402526446 156065238 962978178 744276726 321425372 422171094 999778936 691847722 866828004 95508464 693490292 904554668 80096134 842616234 875927178 912414850 480534016 109059612 618263744 985693272 559375320 360553542 296099894 970346774 723078188 579229684 932040356 697940948 516771228 124846706 100789056 106087506 101074748 181287314 963714222 770136470 802560104 785303778 572224066 174379380 912427086 167403436 556678858 50075188 571033796 679280824 628644898 535336270 961628014 948330934 509586518 732795156 377866352 203514448 946815466 336098050 172446056 238828412 812351780 912881310 816653972 460731772 7182150 245123792 501415734 606867550 363549876 651992048 84588090 405463064 766819648 844505528 44082162 75833568 808430534 103142756 682715636 818032192 104395612 920406118 445612684 907959322 632224244 318329380 767923850 789719280 357544150 820436600 97347390 801043108 225353780 472220248 904659968 944510666 426532930 647527672 520654802 642160646 320281092 874457298 495606500 556834236 494788902 832225080 301446810 695141474 102078362 888389134 621758538 171601594 23953760 727338460 210790032 334851210 289976202 728483696 269432806 340421220 741360888 843681576 186743836 922161982 725507210 73519044 231242508 367921334 189159058 120979454 262556528 531191276 825180728 220623902 870616036 821161508 150088264 287175500 216690582 980357190 229976658 690742874 338242436 271704330 34268452 509020370 41716880 214181524 87570198 201207664 182261612 146273320 986971430 215953034 618067342 53435124 410969818 38978848 662765936 138973090 900567368 101212696 622920514 443689350 881005526 791920004 251967454 373899526 779423954 576787486 654061244 112077664 996086750 245931156 534786690 436733326 289857766 58085094 664202002 934095288 184811600 687649660 600767276 323904352 820926260 349546514 465225220 702921768 398242522 486926402 897574160 738143808 138597900 728096230 802814546 234082916 219746104 955170760 192983276 404771910 296491486 947061326 346452820 985436934 141119010 783537912 791614942 735060886 333322588 920384576 856411894 287606584 172710750 210397518 438008694 165242510 84312974 488736116 925361326 993779180 55743616 761935724 160082246 575276620 913391768 927549472 586975074 747057450 309411300 796368100 578716082 704103738 83809408 369629698 910378410 992882510 90618898 949614844 926723370 198600582 582639620 789524890 526494174 923430008 195725026 546465142 451605294 157050486 441130468 169909128 209589220 342727924 884061790 395775504 382190100 530961068 568542156 408722330 887709470 157836826 488396174 673135816 692821434 206369738 44653474 415166316 411113378 649240414 912872064 674328978 230829940 955237668 90779526 833916912 424358482 417864446 280215976 272246936 302807326 891608636 314900736 137498968 210487848 62115070 538992004 748069108 235360694 342296944 743134916 904027934 313050164 45181712 516332656 61000828 391501976 350789238 544971002 631409820 805297446 863459052 715898564 498086450 974064876 211924084 193211308 225312678 776471424 373022642 732755848 351819198 766682398 101719986 217646776 477728382 475924714 762315002 549483162 127453366 853422168 319686006 216019982 93659860 177601846 760245692 177496464 880120762 23274216 519177866 537393780 499662444 429269738 701863106 726253616 870997254 737699124 836760676 502175288 331855146 629252468 174844824 67165902 932040522 194698530 795036942 375312138 747174682 769345062 628911226 360331832 708303042 325351596 10754228 273458716 753617504 489407570 595768940 195854844 797488902 173189400 116290120 391757990 358974170 687336970 436253840 385256912 637116460 530427250 721488470 124464262 237967974 288529740 534156748 21332708 356388518 117412194 850425760 148746182 803654074 637988296 200305530 339883574 619126544 270970944 327479670 415206474 94747366 502768324 585241492 627935166 292796480 959902614 862658860 757667890 790270670 327476198 361948606 188950648 123370620 10211492 975257320 666436984 88699352 847263790 146394112 453577338 957695502 531640822 169857146 656758912 31566088 71466372 577008950 943038396 995385286 987368362 105002154 603942172 761568318 174148028 717965220 207595894 809343568 42852890 997927540 81729548 112908208 563514164 659459312 714344016 283718376 914434790 250166180 443152776 254331986 618450782 473597296 148933348 822131220 665456166 869163976 548198110 422631910 418978128 321656650 59032684 995226690 535626654 287724652 41335638 502476166 864193216 64608542 89987040 598351766 118859376 884881936 897743780 376300038 916918896 530589988 494228286 948288276 237970516 612244302 114999992 271214166 285543932 649801872 579421078 70906032 285014650 438578482 256619164 408737328 6207300 17296786 360866478 514900858 126087298 542908586 88407858 146817120 374926088 830546994 869345766 670348032 833106188 337865984 812978818 709365180 154651182 334085766 354613522 743895808 783647234 180861654 241099128 385766030 699553792 978051576 603119120 547445466 694205562 926937354 772091442 300044794 905430698 483369484 929149888 708660254 413523298 942608522 101155798 408509324 721748968 167547804 678236634 235964598 961868448 178851256 278997378 628118924 677116426 495992924 730862096 976890152 309649322 835310826 356665806 922939894 112559724 495708214 125565462 728614462 971496608 119782810 268982554 361408488 567886150 252415706 709320838 456416328 465785208 248198148 407792212 742804598 539022374 235757038 786635234 251716058 917890392 714468954 904320734 439907188 346131712 818624480 682337988 163263680 586826326 853946704 337898090 389492026 253552534 870789480 768159836 600407710 980322636 65742238 949843460 17925546 115924450 354239020 565214690 491137690 78631808 791832026 227460498 759502406 227277838 546345250 538863092 75525534 915547526 581833046 528114676 340458714 647140142 90155318 634075592 288801028 50260256 20093238 53804150 886217308 449967576 556942762 895855934 9908386 105909958 771901198 603207932 962020212 240430488 145800296 986136018 680084894 329852092 897066456 270756114 175906844 558323028 91385478 926190120 427025816 46501504 806860272 153457292 787450308 640167542 633014462 321444218 961886272 619826164 114076956 301366332 796696968 93934946 847900360 932377920 701189868 737381886 787646576 221740168 146362786 83180570 141247782 289628350 108434284 78423816 637331570 831174102 515606336 894533342 247858334 960316102 830453232 707821518 735277274 871824820 461464156 823365862 454868634 798964072 13732600 336289508 900915962 729245404 767716054 119092348 484199062 151163850 241739168 844371684 575158154 274468506 476429728 734938676 833165218 319899350 636577230 996591712 223789126 517537478 879196718 695667802 324148012 24423542 123203024 41836288 442032474 177849684 595778720 430873820 560265724 488573296 515094598 631518548 328411890 538289784 275021502 304529960 141546518 611185922 135166790 130058786 520881058 7458938 601801580 85050714 518143262 503484416 694574292 733717310 963331668 520855300 699940496 784028946 275531604 408964478 389784656 140611878 245685186 194571230 275312700 307100828 827647834 323954884 12300838 486625472 38976608 758425596 318757838 747144648 722160658 965457772 284873114 296589490 839072360 788127578 29529008 543184324 304449428 696871980 729570036 55563666 242927536 752357802 312868898 318223694 807846614 496220092 797352576 967947824 753620412 939647574 338202710 774864416 610164464 320847496 204469512 351086938 841694698 56372442 199763582 963963814 937237370 730111968 328307864 483094966 616036608 976190936 944005858 895475756 762188956 656691136 522290948 784501612 274987746 755074682 258695370 503829590 539996676 745197868 345333648 465565764 613186728 870758370 938290416 794655934 999130 879489794 286747538 752630970 382267600 111406598 888031568 566120626 966674910 542559122 903203380 669300804 742247570 660479904 827179804 467004190 143607048 292943696 470060980 327108104 307448508 822212390 50350738 69228402 686813142 609044012 371888578 110908452 831465550 934996428 207857482 753875864 594393930 451126510 33132938 674969086 9671520 54691776 174213728 532400504 866131030 474339712 1491942 567384732 928008610 994741018 387725868 65800464 759279202 553715838 348221874 419033310 15952290 275023468 932830382 831260164 625073566 912442138 3358388 246971952 405513318 583309404 788859642 617452956 145571634 579587484 685874194 79821318 667651192 877805396 932968834 326044822 799118106 622540450 380551216 427004984 372615200 430283762 920391778 7132584 470290020 443755354 459731726 246992222 181459234 216986748 820952046 434599970 780078286 31984936 259307014 659762500 521235068 124844252 963190548 800169564 219781860 763132886 77879070 525585034 320643296 214243904 767622694 970864292 411297200 409811608 107731334 449201802 490261640 301635856 560052924 921419568 665098682 939852406 516897066 7209918 165518242 395058686 258730080 395368246 538572846 10613594 631196854 428078506 418865390 447447354 192562430 837230588 935897136 940954684 495632762 349863306 95124210 429890978 367617212 69753456 156674484 583484082 907854958 457424872 342454800 513030278 223855746 890495334 100715652 386719094 628666084 395798174 839826366 585468548 545649020 862259328 643679176 167712718 69213564 134676366 907222160 486081316 904501406 289351894 891523550 912193384 806065378 728868248 506006374 310421554 340176330 66641946 207044298 649003696 383446896 109813812 151288544 632999100 361106008 661129276 925436450 627096450 37932468 29011906 566250528 604169858 288337162 960916666 627767832 231113638 133312332 772932030 582373316 202096414 389601904 404682664 696058470 443043230 747099366 173235568 758197436 993652622 87120974 491330444 771632958 53960078 346764226 168806790 291122966 238685960 654475490 807771342 92389092 796958874 935512014 56615418 554016174 317427210 199864766 291518208 417927514 712534482 109271744 684036308 576545412 584702430 412111400 223420890 67023850 887389962 39047058 864076314 365498108 95587796 899494240 267310256 228091420 526835732 695757412 897748884 244687278 990782048 422986312 366878560 397737782 440151212 944914566 435032692 466614594 871723362 162450126 779996180 560392914 57147382 683877772 483314272 336055896 88267762 701578096 684658152 766636724 296280718 217130460 771489122 919106262 368797588 251578280 22396128 847745816 947164774 776769548 709896988 855624328 962368660 132607870 183987954 891865652 744327676 587906648 753345946 358185656 660571720 849253256 579135266 275666070 218545604 436186024 436061112 609064416 855340844 547965764 259862214 939079214 200867120 852179278 240465970 840515726 488383386 79263424 738720374 716051794 919520778 604765966 18867886 201503476 959519278 792688554 105214626 922037120 212760472 14949498 831327310 479952184 205425512 229910426 158635118 64434440 5743850 762559730 945220988 804793128 671805114 477629258 79379658 229302948 563757752 723231298 664481990 798928502 883674342 4080268 688157354 642172930 535885042 796310254 870079276 611710260 409407624 3795648 335065210 317843098 498859896 286433844 411436470 429234982 291618960 740582068 184456732 885681900 627476290 738410958 486488396 525344310 250967930 725439728 394695826 267405200 180471026 7561300 876062102 19231156 543849186 146717792 405105026 535368742 765306562 495852318 335264182 851651532 86516470 867231020 114809478 45549770 696492734 48332314 366444808 153320318 638738130 215022636 795306810 663733684 328366556 260600302 19136394 266511288 142847216 430709954 479199954 78696970 727566842 701041492 440974544 530278326 176608472 662247698 937289582 435468812 155202816 795620392 444092914 877685882 235400522 568020050 192272186 27252750 376123368 302401718 525433946 464765992 865339458 458141282 310761476 858868870 834936548 507759254 419045238 417124942 88245196 335057054 941244992 688974832 722781010 597632096 27045684 477327788 928028478 277578052 594903462 922023858 255876760 139865330 894651584 402818984 432990118 227547736 291760304 979553728 83576550 603879224 530328038 474992054 124463566 187812246 538419744 288235470 831565078 644049366 89057686 812758492 882166736 995891718 122840012 565258112 630620424 755610090 95042996 502230926 896513240 848429408 899135044 613818786 122290560 918069218 785537026 526550442 178299060 411790960 855731414 971849352 974759690 682484536 50205894 140255994 743472380 536356788 552595986 356382318 428248466 549267218 446793232 329467272 107289358 644492296 890666262 830653182 892482276 135469168 307076294 976381726 385703476 131443304 273843150 863589474 525950298 658651348 229556096 193362604 121019364 111132186 455747418 745058048 244440840 995395848 863570792 855454816 147222640 481321066 327864822 536093566 974545804 700108088 120479366 816889782 633184482 868532930 848347740 930828168 244881528 611724812 776746186 887751860 100370568 874213402 873774988 292392852 515653220 830621194 759429164 532813758 618466020 22854190 968054084 263356304 471217326 569801626 41993500 381590486 184032862 910411490 103229534 851452486 404349932 21166626 993937342 354000834 931075472 797133020 46471186 173758644 254320734 374065472 497203176 883229914 574736054 223196912 960276568 168359602 699941196 651064744 794383290 30951220 843276058 776619852 168862624 962920676 397385610 601744860 383473932 275172704 16093790 646665848 954599472 79933594 32268798 77392748 49227624 314119564 195756588 570753076 82878262 608834628 771028466 869172842 777717932 819763792 964852848 35295324 299787410 423792308 121134150 248900626 78618774 710193144 294485010 650878058 54941438 373648886 423110032 178363094 306330540 824330918 644962414 340072080 809960572 998717664 227465754 486451774 815148424 447345974 37653316 468780660 974990896 59761704 573713562 309079558 871267450 916584374 867332252 51110992 291790884 101809010 134270746 516140772 279809270 739382156 874556844 895122668 383528132 335138748 881542026 790964756 227776372 625323264 244800884 23700470 410166348 799416152 262732586 872337588 552055706 364280914 830478852 809733416 36459898 716592252 250932798 119834054 207390360 155053858 144488258 816120338 678501178 779048078 801091646 705557700 872490796 100583172 275376848 718174964 50384782 50226456 74961234 90032256 835110764 792619068 385595602 114622904 703504674 303717086 843317612 720561216 358187170 958543202 960465980 122619358 150909112 942889080 828281280 124976862 96039742 29470590 107261658 652309406 964661238 725236034 849976246 721169656 126969382 497224034 2589896 42259838 905774406 472188160 146381934 405434868 301990076 866571082 679682330 274997890 826146640 560343398 438726792 325211380 154955186 561420296 410772332 169545604 553898808 591108234 487454780 152322882 631953056 363535412 167047734 585899682 758844716 661201154 221220002 682560884 613313778 229337710 533761840 370976464 496713342 312409954 521300894 663153230 311859326 256058858 167270620 849536406 321302766 145882826 506599008 238536346 341525016 333716298 390108540 534280604 140016842 715661316 741694336 377649054 69435642 221367878 167820486 136749728 59252988 789212226 838455368 776726232 929397850 228880490 642898786 685708786 683420648 745063568 809972914 931973416 344207714 961833102 96969838 338273328 643809574 307906484 205997408 22665334 3751316 424861278 318562324 151123538 746914774 445469864 786463598 29765848 748482438 537550760 684774486 198118754 897875972 450025058 581558420 787534392 478863788 182734244 442484622 607537756 236558276 943643478 845645894 776800486 858211644 578424558 611494568 599378438 649068416 244046982 946166092 486558066 623541940 733144292 311214452 487859786 896310182 216393518 501576814 96308062 217613512 468880772 823394070 665856866 246892886 725591946 825508906 737034160 552350312 138301388 618044450 131346466 754445412 548893812 336982372 153766524 956292566 855183010 701507232 771579678 119383836 869908632 812161780 209894718 24835222 314676718 54662348 236935670 738526122 584810884 733985340 140784692 591812968 138485410 768533148 517695708 348962906 631257182 814715682 473891226 919034068 646164980 389186072 395230890 790675774 279518166 309807362 127741272 203562904 654411840 617352994 424282514 351775544 126720708 657676802 893513854 466547970 132884744 590817018 965358884 525762336 839443984 163810756 744826550 50572854 463435944 629352696 398664366 898180376 784263412 2349726 663692324 699413456 409458028 535719026 846422216 433929256 773220926 445659754 304683138 887871108 582391818 495927002 714648000 147073842 284396668 114052764 170962054 450363902 414781052 943572644 915757656 144204638 858713440 131197664 829986764 230689076 98391336 878516144 768270840 455549470 231750046 483643070 399133832 380291378 933368166 643677870 118488048 913545456 563708136 273686142 832037648 626615316 287596262 978759706 724133984 228602890 703027136 704855338 950285292 394969696 698544318 512195964 713160752 914271478 281828444 754294802 172067146 691542244 592280532 754298404 211947450 430412322 38263536 635986748 429168656 865063584 836520338 868481972 50148570 8112686 368745182 809957130 789408076 427261338 482122368 634627660 429151340 352171828 730332394 449281200 527853484 992097634 865493426 500562758 556464174 318062476 758643434 517265094 459959438 555653658 616928182 809665680 467336606 232964454 271873228 584992796 234629778 471137552 480823618 9736142 413277668 554846226 260402852 897977330 976321600 109828434 888814508 696440552 417001450 178597784 434580206 415373352 66246740 167837406 128109506 722977324 343923142 937209880 403635894 35080922 393353694 713100840 264019722 603554202 290813798 275340746 584545076 131667928 210924908 32912470 311429054 395286114 839711748 737281656 512380528 442394926 925597618 336738194 267154234 974913472 849979826 223485606 326627748 246619912 72277006 175719498 132578878 210913482 35841426 636844726 977872196 972697474 54865720 444509662 300208276 664474070 453104258 628297546 643763846 482018724 881848850 881634236 34830722 52214438 808022178 572901320 35305440 436225472 311717622 666915306 689452864 979038148 56229982 431663868 869195872 590085842 341819278 360593906 402748780 396136362 953379934 529929500 520489908 53420160 911550190 346727490 663606814 920922716 844648682 250714068 498180588 849343904 882751116 123786018 401652010 33724424 539655010 784209622 752922972 420298988 727444722 399214610 224566962 9895160 160632268 565605142 435659830 960998356 240400146 282382640 703535612 811544716 20350368 441476678 980315464 425094326 772504052 65699746 100385294 118828478 705874734 343415620 901444380 416400390 961715988 395205708 773060290 198218456 621506306 310205280 96369458 808570760 291720600 150659584 439828438 85786022 188741754 799519846 185614584 797764260 347848032 870365966 752611742 153980956 799064546 789791372 33768302 136001578 641179536 961277762 895917632 785019086 469603522 43526006 827049908 38662676 956177516 836617636 899094532 888783832 457139462 563676238 952733206 678731714 443848894 765666278 784579044 439558196 489232690 899332152 644269240 186272554 63179192 132410882 83792528 695319802 352731790 656094394 315059698 211295848 100616830 828770872 478615786 918635768 13072894 596640782 794533896 491470674 673203898 573779508 901697972 334968748 950428006 526053916 944601050 279753136 149973348 913939654 800252892 860355174 331575734 459400084 547343272 987574464 628644254 519795682 346293044 663336406 83875150 713727168 624504478 339438058 113065430 974132856 749657904 322986746 107842414 824858204 996009108 949645546 936681212 495581010 787992542 799797034 652404048 269761328 40632738 868365344 85574786 931806676 425008834 927982226 86961776 773393146 874300666 866554948 614302460 26845986 955482798 282316016 794161884 468997438 586349122 674661672 188396632 194285356 320531350 865144130 869249764 9782784 411822442 629232994 780883996 159726072 917549634 667674016 747175996 586122368 931886660 569788240 247555986 847741920 835427970 38692416 698844062 932823596 660483076 178676008 86496446 742181130 756339568 149463438 121400876 378899958 839519570 711923140 808516506 345459744 244179694 671702556 587805956 959137400 364718202 857324438 260910186 132190912 520123184 212004962 617488964 100009246 350546674 643933198 590578398 449438182 14105274 610977174 519593514 960883308 398728982 799121142 24535652 31440224 312100966 477133736 791924 313511822 445595340 602451462 615436228 179092284 366618044 925619030 617292270 970762946 179562514 711435634 589372126 359851280 680776290 819195814 89997776 162804950 586530602 172817018 301744316 684540456 47864732 859404350 362328876 202822644 509332292 840409968 313760538 775242346 776162658 315853666 685305154 270200366 956567660 153782226 70339884 798187624 354073112 127768440 585551746 188984076 555272678 736142002 233907264 475083464 72340554 800045998 726272894 706185424 808581750 254685068 364270902 313192498 212622882 70393592 938247176 731663864 121057786 626554866 543716234 621897396 367151768 320690094 805511500 625480162 35445896 307612512 317357336 488755294 463310504 16773068 433880196 625488402 700403846 729563404 214080524 501648766 227618424 787065742 616327670 994799230 8506700 956478430 645750524 150653366 843974670 959436362 566279338 284740282 725427568 840398832 569399564 218813676 451363410 197914996 85009278 445708152 824780580 424816720 500457482 744356010 834411918 900542872 344887406 945415494 420096606 657432574 207541570 262313130 6789344 964580850 312250530 620332506 65589444 65128588 497265758 272827630 992333772 519242074 900174264 329329078 760303440 927495354 416639214 406235206 2364174 872792700 652786582 565624036 637254630 899396344 135575710 108278710 557095504 534424644 242593686 21291114 258216264 114698490 619095714 643997100 854142174 301650734 347761704 464726970 949600504 467653832 420259848 716909552 530267226 587496428 322190354 354470220 720107026 197577976 714113698 932887432 841546082 995218410 420661238 83373280 549943918 257073972 895036064 827607876 37665762 264226484 443642672 543705640 395784630 540359708 324758046 411002194 296150448 677060614 833858780 556056042 995749416 514140376 996814998 219968332 991963618 482375252 459641260 335924154 628007698 813916112 868514120 11817658 191831368 206378594 281570836 191287440 408778602 21191022 793256868 243654816 699626788 715851160 495384510 610105348 814871124 709736848 515086818 268539842 369427438 386210080 392897490 349800900 629737598 735825396 944836436 961272666 62057980 52446990 751904012 306149148 38352258 398951308 314328228 42593368 286611430 300120992 292257500 585139260 670563762 943208710 990830730 875748208 624602702 104813862 579328586 699667918 21613986 240569596 649775904 814146590 767709542 92788670 851016444 409316036 519721184 74077212 837792352 103442908 239689384 612951450 576557228 275776612 504394192 903341298 246174704 934581794 274543480 908326986 81512308 803861530 659388712 465093030 434069900 441186404 888753792 568501796 673524200 36356194 501958968 741604596 116660318 708419566 662312872 675745032 717794240 129933782 268600836 168755102 795700884 710186174 167114476 809280470 13822324 921806236 122695712 615109050 859940660 866640710 52133070 811481710 322613688 823130056 134677108 844119180 411326218 274379200 583093218 265153616 682042772 841952128 729662344 199890742 140440368 797654330 994128820 404606074 563294066 954578858 138355300 196781944 836485048 919063496 776493166 599124944 606410690 864361090 853750856 355078238 159288642 621138512 806427586 62686948 518874176 287292062 319764794 501768164 339642614 577267028 704980738 458358964 939533062 677358744 244727286 725854284 500660706 600544436 723803876 591106952 300287686 367655498 16301726 934766500 665832868 199305534 313549324 83192436 685324352 771500764 228692876 582801486 918635672 262648958 619767310 306877822 532958374 414725334 375264680 966297308 812134520 461160418 634373102 284874618 636696446 601532776 760280004 111816768 791526344 336134036 915290832 753769718 694717024 42771154 453299360 643444368 482392042 815843366 905162384 110051878 311937062 37395294 340847996 572338008 470002442 601200312 582755684 437890748 161891370 674689040 780830392 339854644 943906868 181689262 417819292 619668392 923423296 5942046 769289320 416858760 172644772 145464260 461890868 482165590 501395958 244324320 895063070 99631146 210458530 409911674 87778686 87193340 265808320 652483462 458341518 601271852 597517554 789974012 653052288 178545398 890020258 276064882 942522092 916751962 248212854 349770960 391817054 795773020 86508220 777956770 145182172 904734066 186013514 779445214 871717730 787915416 570959108 885272396 134891090 72962684 222081202 87871152 635868354 396786 954001402 94279024 7005014 262584444 188755786 334714086 130446256 141225420 165935562 679808608 683870598 646120536 127383114 392297204 547804206 743300576 861230802 106731782 592539702 199010240 962695938 956597238 410357848 387663932 529046006 760174770 25612660 585679738 23590152 802284638 688917808 183111444 175253822 827050036 151729356 658131474 583082068 28828512 162463422 173305586 54465628 817908566 191229832 430032168 332366498 602890746 291610052 426408534 988467116 252002360 443051930 701032964 430216364 621199680 316057730 416183338 966923858 96116090 863840996 766670542 613504254 471408642 560228830 995743978 676109524 600325774 812718938 359423576 51767084 664711626 125338446 242321952 292048446 851503336 92410868 340488812 385184470 532607392 830198490 857230568 789229732 488155292 483516156 431780374 39185672 76804636 137723218 948190314 103107826 404259094 876183426 310782514 263744712 921628918 306739508 163220676 88405968 71565718 34212416 785431094 473306636 780329694 212711980 967820830 533119324 641788236 864791408 720110516 747208212 457310762 536523956 138247168 85976296 401307902 440015446 929877634 707153238 429297552 767872984 141172834 478150460 554905648 711284810 361439976 131584544 573040856 68784394 872987564 68788310 582622680 327128352 479328856 651231900 594186874 450311742 706056012 567788036 168636304 435993620 221620528 377707904 209108800 739787316 399408272 375730724 752383028 696616558 343305260 845997454 252882072 710652982 29667656 136211816 144227510 460602734 351446110 670383170 480174262 477610122 682849372 255854318 762753972 801037158 992561578 471572936 567582906 945153038 895415904 24160176 325802280 254006960 263813016 217509990 599954190 868742204 255027932 358890292 550544498 220282932 963800548 275108550 603417392 373561264 603800288 315390226 435910376 54255682 251891730 44102794 140563390 429046706 803297532 56482748 673469536 206625792 959967624 254015958 282699532 22625542 531528308 562168558 106982710 440849624 717852352 701678156 92869480 261608760 218863182 283569456 394228336 865048568 631852112 781250202 243668612 333097734 386742280 81038168 582872480 503347826 261663164 446035650 167086724 445154860 923769120 107728876 249237762 161770978 878731854 810493686 818436322 45970570 315254452 586635104 570148616 103628108 909401102 861680354 988798726 311744656 323314032 702238424 886752792 980966922 119807224 137438876 917509368 231893516 596925142 781438238 57876130 328580280 271077274 410259322 657896464 2974882 936293300 330300036 628755460 419741420 687676048 445250762 312533018 327630358 121241146 805299326 453328840 275566342 988955214 195443534 501345390 645943858 670597222 833630868 354651876 788853524 433847750 454361052 544503080 618825372 69182210 711788118 719806774 157855660 696401530 116988020 140634866 838710458 833829034 162619676 806192026 371919452 695411882 70897606 423173280 354332080 547333650 755458382 724418662 194302184 453921822 955942480 360241978 96791046 312811484 902764470 372585850 460367734 381425378 245120874 691538688 4262498 932724462 909957138 952436958 198663672 735044664 28909302 501629208 158259766 91736964 30920898 931790274 846380374 405297442 947026598 715696456 935185892 417984844 214889422 227632252 918035158 935572422 931298718 83521048 91498688 629794710 649954806 372374292 532341800 197535014 559837170 363899110 614413014 345860552 59313992 467746148 583737712 653916468 906781716 55191754 945857916 638779808 194996930 572703064 948600744 366782044 928172918 619450724 600085564 853617910 695726562 766366332 915599116 574014560 656561196 576526198 439933602 345284086 163991296 174459212 484789882 607983318 37015124 305674344 586853558 28960432 519138132 698726602 299374144 663128206 171801020 626160280 422368126 731749682 543176074 81484980 844567790 66159636 171761594 104258484 304978060 32806838 824714116 433688540 919358766 722054962 928751986 397530450 228204656 152533310 156496252 884013840 455418082 293356772 259692902 562998448 60768458 902980134 760502526 15133296 487314550 728490150 721670740 323204982 542439948 737952686 751358368 326551800 864446946 604597008 291383104 229568806 310314360 706561516 214385910 434335798 949193484 594141730 331933176 797481742 498898868 74741244 927007806 137423970 719344252 371002182 197220878 192163340 299816610 870185460 442553346 186858526 969552232 269801432 325731478 204750992 843207990 148025062 611045578 196183134 992333642 49592752 953346010 958527726 72740878 866406946 965724196 228780844 128442860 915441882 760899122 685440352 328996966 963491566 926508654 630011728 464675508 174958832 723713592 814209188 885431740 895505208 403470306 353431802 824184984 403070804 254609632 311056620 511726922 158890730 183919208 820627268 853213076 444126278 472781006 751488982 55659430 261033036 430038504 179820040 484246942 816449626 12624186 200795480 672414834 405341690 525075868 766029706 340118884 470207894 153930264 353707346 442999862 129429424 207879226 452537414 634157116 402057706 796242388 507640388 715814318 153522402 121223916 928997672 14196206 773991108 59101678 860134480 59559214 559623184 729188436 861039194 824559272 852542882 206352420 196558522 931074490 820937548 284145988 580980196 673971236 895201888 90796078 948630512 931354764 416991900 488904236 514395738 854667854 598318476 343554112 918778086 393327260 417900032 682250644 93129642 235022698 661563738 340029810 927537648 872365388 991493718 745293988 131030650 913695496 93930696 390515236 780910564 442749684 435305446 798337560 393974002 117925162 55218402 132505348 515819050 443712150 771760296 269842828 743376854 513659140 763845310 542096300 918035972 192597614 859614682 12039660 433474688 327978490 374817304 639819220 828444180 968156068 320906702 849402722 420107300 125702838 984998368 329112154 716821666 189741774 887999344 779200426 109445970 462546120 418729264 599147114 294560122 973027386 342846282 571271252 404681156 984830760 232662074 140975208 249991622 283460436 911248806 140205836 498760126 963476312 825459342 663492426 710069888 135759106 111500992 630334796 815260210 843552258 969403900 295050286 58283598 431737516 646221164 827053464 891265598 452301000 277337304 796979826 918898572 197459704 112539208 72800170 142701758 631248588 390669774 699757292 602055178 942409478 240333526 276205580 107978324 448977188 19263892 461194354 402658214 776050254 462262316 90295106 568422234 901969614 608194430 694219754 994851544 999960892 231383884 380732964 889987886 32852430 82880030 738504352 29106912 416952616 958001498 608201662 837035988 992883752 218632244 60000556 40060344 63444620 69346942 814714728 966503092 450896982 740339118 643390086 558567286 212491916 905663280 943995072 137651296 789194714 7469564 986010746 645994262 383870632 221895710 276798076 259138488 966560278 492550356 838555834 584932898 998617508 445097568 693747912 850863014 283114728 503279246 738289854 908571010 376936316 267161638 266698380 166488354 484358208 8012034 941705780 298066208 280278878 115058282 796700906 329102948 695216998 662527324 640603714 977714540 363298674 238786476 655504848 915227628 661064020 633921534 636741406 163783322 462514170 78605006 917641704 814292624 545597396 937463690 97587272 773316836 32551788 287552752 758528150 837841530 705081372 125293206 689179642 457722596 886731096 48489614 88075610 114570106 338326246 775643046 542214508 371161826 542164068 788280428 756760460 339309032 308921952 553580664 605510420 749833862 931493034 600794116 303955816 228022638 670716952 942951146 781947814 529944244 156106114 37001930 660193138 128672420 715100874 387709452 679773778 255856708 207937924 818387724 625507022 203178836 737283774 41241802 917809422 83319016 739674734 898424724 628664156 384956078 294803686 670669400 545616802 40859446 659804178 579041796 349461634 174608932 913977158 209217608 436124006 611505196 221950078 679204462 66853292 358923250 654837326 636519180 744820420 34668334 652663652 8693928 352539262 236230408 721909056 985429090 718014594 479722390 363829984 835068598 528866020 597676580 995632736 50106910 78225190 182558488 29099826 22469144 347398176 812238430 191194612 218151988 30397168 220197858 579152162 792626892 188207626 846888032 335788816 63740342 568759454 431951568 28322644 50821286 493887184 148358752 674581810 946502420 563978872 664277098 964927618 413610436 834728918 92873752 18650318 695919210 676760118 731114742 467450892 770028258 361139280 44318758 219585682 672969482 534313700 396666524 558249244 256010218 119217302 655141958 326050608 324631246 259032010 500524034 897386380 381149898 481985234 189055906 176923484 219142850 213467196 720623662 869931736 363885092 567676932 846685822 837158614 344411924 202786520 729696098 129385410 161925468 530398722 232706856 624444994 797176524 390716486 376825888 504273170 180189974 482005750 217533666 563056598 360282416 194581076 399891450 642391482 347364934 145776248 481262582 255466036 449450600 490159576 962557180 475114540 916465412 998404472 164152360 973799004 764052240 841079702 922964396 964105156 359817294 259623664 237777608 483745144 324843612 294593734 345196886 392440008 10419642 492574798 275724386 768168346 876388456 343797114 997821010 870892950 782569912 814764822 845460506 611715420 722257048 958188858 962761552 461712180 81781628 756700664 210990578 473989982 427745972 927353446 243910360 147764034 37891508 526564468 763267452 252581252 466313024 794287932 543970892 454985930 447450210 266812120 903411128 872994682 582457898 772938064 796660782 962616330 357131098 497065598 891318028 797835566 629184974 434821696 750537022 147540102 810887552 609975068 234001606 479612914 764757270 694814200 951555262 434572530 360888560 90325988 992830230 849743036 268950616 471763534 427764392 496675512 736275412 317514540 517038524 39385290 907333866 898278104 401496098 720077066 284113802 619259528 563040084 262383990 913132074 70603028 97211776 132372104 805541074 963489604 93117548 123255902 995291008 989910792 775611308 753475368 991146722 142111926 904211678 242078786 321988244 151314390 803352290 295900086 622068302 811849284 165659162 686425442 155313898 854244844 952729596 64932758 471599722 366747482 946032028 17057224 338898120 677709204 748726504 371397270 963952134 671647356 531863952 424686986 415175566 82634018 84852404 322507204 483241526 993326322 936474396 283307362 424279886 522659890 931730930 542883720 371779354 217577388 414467862 503876968 714826016 947189100 383699300 427737226 329090354 875352314 213668418 382245466 342127126 3337646 13904882 395063708 921080598 529577920 470564130 487372932 454088776 656236848 540713086 324372372 374120922 268290272 694579888 763233170 633412586 884801410 106491944 852467998 394180348 709715048 309780598 737944332 567734380 170628256 217455734 935354246 614871494 887636550 863680074 673435862 715606630 645629864 858849288 899807386 983351766 669902150 281260282 761243480 363753480 479345194 116459188 147978146 455339014 986938846 9115032 371641784 336975336 834915324 775543108 728799172 72946678 884647882 102941352 60287336 864306414 446383726 651063396 399292780 645929436 593412586 840333432 194527194 854697094 103417576 516963080 472646508 202009270 49858872 501723738 603407236 410164400 891511432 783549838 708734718 766412034 814417416 673637190 164132912 308222646 137293062 448551538 536432568 329821678 123017938 914536110 412468752 910474668 661284160 308603550 428947992 242094672 750911382 619523532 474581348 614853816 194218452 307281856 229872604 663110354 271510972 869439384 946522642 800626438 907142350 677914276 490561384 209226618 301895978 842387322 591812902 924449570 444997186 487501248 664546806 876410882 169837014 475863610 980663544 495043912 193868636 215591264 891069370 854378070 996915524 879207600 684579376 153543560 178738878 314480512 340023884 499227368 272587082 274458642 890182988 676454490 89366268 9957398 15386640 508632710 107590306 440659738 504370670 112770858 17507398 588601020 875350518 382750896 15229544 749374996 305159702 473440206 946631188 264902464 389292794 616905046 860137446 781931142 830398616 258899350 632709436 367415882 607790722 649065896 730069686 146569714 772800162 917022084 120905934 9286984 724942982 754189144 99387470 505635610 171123626 151877964 977525598 937039072 165437704 340790058 917374376 60552106 595148034 522547264 957908004 822805964 340024442 172392878 650546570 61879528 256846692 321450096 205096624 751896878 257854294 351310386 523205314 669015858 359476878 974927726 623160052 876399626 274856444 240444804 571408312 193239978 316856676 163978482 469356406 989071892 853329160 250521200 72709326 545030536 395394562 283721044 370960498 589485988 835557066 822958010 23095722 761243814 599701926 57370856 406848296 145452782 499134210 845268762 992080454 365192696 242959748 171105002 297352942 913829784 361655794 644487104 72662460 599025444 533275702 898989270 654846936 302481438 973882886 797332442 656436826 72033552 481734412 738229812 273693976 222638074 110361460 399367732 575200666 403040264 13682880 344117582 491511100 345573300 907208356 895387170 997118986 858526738 329598532 358766262 605427212 423050106 60636402 870681808 702512908 78899306 948555504 932534318 145737816 410671296 73987906 932443458 65099218 704871106 756159604 972966416 240111456 998464550 855948484 479738308 518256988 413606014 648042552 717939870 518530380 276555628 363768868 526751614 888488380 632489310 810575974 556499366 895723508 107497026 221052248 4577956 936966338 102770332 956851338 204471780 556774522 624548750 359214614 15399230 154517508 801878292 789127144 562440974 788542078 777444982 272636500 680176518 695925548 527979476 607390752 963849600 268724630 189461318 114160566 451313480 122184736 702613198 415306168 41934614 654149960 925696758 7694772 266948152 672189724 568723274 914328058 324682302 356770350 450687236 700046944 668768790 359376996 279481252 936196400 262414380 712556600 770444212 880246706 250196172 247002796 45945214 396619194 628603620 182501788 940839884 636852144 502626276 275891220 733880306 615225282 570317416 428240898 323068256 157896042 998946556 877484040 253152872 969054818 464197946 439281632 502508886 953943258 788732046 415988084 366773144 465813148 836813414 365879206 605449922 892074084 545593556 281531662 802919244 798049898 886736852 988257952 620314962 486248352 814311102 928022336 436673834 39495252 702830072 369589958 102613070 604687606 291267770 211171610 758647304 645639776 540678758 96660360 269538870 13248914 123714022 534563558 971641146 886485280 396084478 962633882 339346766 650374376 121791236 67809614 215455610 606113934 176534620 70316920 366550866 43359452 77288856 910331176 368201834 568910078 174364558 842528648 957483224 630201122 857326420 754565864 714268194 477691692 368313016 454634522 932392660 686522636 111655078 156836418 466011520 442951860 937032956 879820116 713169728 866918034 430357052 763285152 158030354 677816420 263498874 307867214 433479280 685588760 279605166 562162028 104805840 412102872 855553218 385271422 260091078 274100962 708868308 777058806 153157280 241362774 661059890 658993030 102871298 369146772 79248896 880577104 527838886 906115884 560281254 157086336 567391034 317248544 416514604 182853902 436177382 824948738 935294032 412232516 398767346 375096780 788252036 546511040 830752128 321857866 524054364 410601570 522598430 441116530 535410640 207131522 129434430 987135132 702499502 906653256 577881158 312967260 664688634 410456526 886764868 400376598 731949744 369482366 127842612 975539860 698390340 900234074 939336912 731136564 379083350 206543206 210386500 797919622 110744580 492592440 968567994 458685160 409964944 868929282 628854848 561422860 336078812 311673716 245004424 834723080 4807070 150201826 562257316 511630110 34468802 543630760 697068444 621191546 599404006 980126718 954058044 356252854 607352502 250917388 837926864 262764046 753485106 741457182 245880440 779016540 148165298 123091418 259478414 679795432 756567814 558570002 661177836 472435410 996479766 498157514 474899334 421477592 796369046 21171694 365219802 577719886 440132334 870750060 737164332 489092286 156740514 963105054 91194128 716883576 615018270 41043038 948823592 826756324 971515704 757065328 76046166 478267920 373358834 997697464 270752666 163248008 398507488 830482864 329724250 497902604 977418340 395375820 970149778 701747260 444008496 707899530 408470704 376148208 713230896 535806054 8290852 722526210 398228556 160596110 165478954 267712748 676451570 929744864 349051278 659751924 187361894 254546010 394930406 634884098 27096684 245761796 677762020 37006148 697745750 920300842 49124480 500923302 797669310 890270936 405171072 210954888 969176374 50025464 830643102 565399552 223490778 9219498 311310624 724433138 312573272 800073648 180853688 225937868 547285804 157683196 719510874 582574696 254442444 96259386 217421804 317897004 609558130 754753086 942549000 356270950 527344162 966939340 106988594 149461160 599704112 989217280 964962364 242260752 18431128 78363810 988553588 209167952 485751568 198779336 402569988 319486430 582517832 509841800 587939466 954853952 839845916 885617660 19736972 471640116 383403010 592871834 675830376 153005092 379353838 74137568 409463238 212586832 240182732 594480344 181275010 219216106 612805036 423032826 389633906 323271490 820364480 666574356 230779882 80854020 390008620 448467984 269934776 81404072 850983040 866906104 287029584 794342090 436466376 157593856 529351818 671252684 606730444 533173482 489356250 375923848 439400044 777151354 183257800 847270298 363572722 935239666 693124526 299873222 688122828 771221042 457439510 743795236 392829828 51375262 383443414 307964714 213958452 37713960 591508604 857557508 916502826 947073910 282532344 717906040 497650980 66199570 206858094 798269456 445394214 740533538 435787708 214670242 358347874 449864518 220266386 394224376 61130746 400166896 308759056 955639912 805565236 828139606 290169106 514694646 21911792 299886458 554456078 514305016 629397652 344616476 619167146 78718856 928795102 290027378 308660920 658410148 436750296 456980110 509543328 413168776 761774302 519335816 121734838 390513550 107841350 171755162 4878636 153578758 230904342 721570484 733050160 113436746 975145656 121837808 818617308 503140520 497729752 693747666 972488620 192501164 296056320 220114458 347522766 700287712 257805838 131365808 898400258 145458112 9117538 929295240 114375800 175805664 215764312 601841614 449868930 530928928 348054036 923485444 851255654 608474752 245988440 469475762 382640448 868154830 557449844 911840240 877437650 617786292 36235884 677095936 413915072 284832858 711973508 684266172 239925336 529602278 746159486 645837082 952317376 559052150 398764378 113105232 402016290 117155698 150462416 998138018 867112344 981740460 393522210 470988440 770415078 670130276 591945392 591693354 968973752 601064064 592613836 844079092 326342638 346950496 23957224 553969864 710617860 345218164 180445070 129195602 914698772 496235486 225017230 238937460 83592730 865260960 386418936 99551032 322726168 836750780 989300950 155633080 978984060 125973452 439707966 9992942 980390964 212480656 144664400 833981944 616338964 199594562 848914116 261964040 642885246 101908662 661051334 574475948 854728732 742743412 232769830 234827720 814262284 869421686 299582456 434863230 502794598 234075996 431722934 349355310 310102364 780975628 783750732 763135804 782319628 781473418 399019394 813361540 150621174 218370460 185083860 681535518 793898118 386283222 219636366 328843428 716683620 470093998 201881690 840637194 960273594 573794070 667276180 145353666 911024758 686470212 871511608 404859306 801551012 935290784 543202676 31395290 563603480 986663818 845105454 186415806 154533090 368464320 233070186 638866642 164055238 491698832 166018286 684460882 236297112 958213014 164167134 233377656 457672500 422294418 207665784 989046698 424793002 922464214 733225508 157134544 804135268 544656736 327932446 490973776 280152604 425396142 669564486 770892410 686220284 532710868 761808890 599258672 389195810 469472886 665710158 663604282 495542666 395910628 816836510 482938872 537707162 70091240 659940178 108285400 318451348 329104434 699188642 899283134 601817306 546949894 959300466 544074732 344381412 73411184 120734456 589978250 73399062 991511506 745076240 40676828 438134690 31138382 77107580 438683444 715967518 426610080 949196014 218745514 813729436 921421528 348929136 395661118 204342490 918611230 691490390 117499190 983531858 415882236 857051250 650534862 611395278 508343606 931901656 469169250 197884770 511482838 668511372 613377034 291780172 13690712 420943414 253645566 786820342 318133810 630675486 809968504 728384660 535204378 3341130 168872640 942828286 110239040 834357250 26279294 485250560 786687872 772676898 534539066 233860636 377782768 268485350 263362424 405070758 734038000 542347868 919761480 668432334 970683886 582665780 842752316 548741088 319099684 206885852 364565364 616927266 208073832 681773066 411491916 974360188 327797028 571509908 432004356 688158770 62320112 475065280 450423058 409359832 747477148 631076134 603930654 37485510 957704456 785719286 789739624 745539966 164376228 565645704 265904714 846647946 19607134 396035014 716748704 726655000 962178074 104224612 339833148 159778724 842389578 73367390 408796226 234771798 464916466 524166868 328262868 587379222 765798888 917784296 442753024 210663280 522189826 381207036 293187380 446841290 833198848 796638576 486633226 716550582 568003606 324307822 840340090 605640312 964933426 909891458 692679064 252140438 320045634 628657004 818252390 339058762 518346658 865739766 412120450 738753362 14614916 890371332 555832722 306303578 138201348 43194698 401019462 983775896 561413318 573121210 829347140 81917602 203063906 892541998 935203126 336267998 282911226 837399326 36195068 419011152 571244264 586675770 950419030 701822564 631143180 614566078 148976406 49015026 950048492 198330958 657511668 407426142 477243738 873666832 517876132 447012902 782500332 74479094 272350350 299727958 694481006 718813948 365186606 595727434 51555958 713266836 555972654 933757408 27328982 247607222 488177974 700771744 629404952 283216808 898733052 86297054 380392630 770850704 613644152 599019438 246416464 530847280 425091514 77836786 327949252 94114122 269916644 886792644 330605130 803031580 190234356 72060872 855514318 228836012 112829046 23474050 691208664 400218732 144646756 472596448 594900862 873507612 218238730 182616558 849693808 459136984 260659162 445150846 26353760 28717416 122148996 857770102 577799968 910712556 5441520 391408758 635841362 161352126 68304066 605902016 539497092 486472298 249514798 137763402 482938024 886013006 900074200 153918260 855822326 500470456 685953254 113779092 529483108 592860814 172043188 380974908 746149428 855286586 380307944 91339606 645155552 181184480 658418044 277046066 145310006 284159018 538675520 513713662 191965336 274004696 530230428 647114958 25126758 712253552 331888432 965250100 87404916 400566914 209320896 536370766 910025600 389122648 913306778 109605064 611875136 388617918 160918876 704501992 636906410 524644602 737970538 234783636 436103362 829454908 265934566 638678308 290257692 51338930 22505392 298987138 481656240 485694768 175642296 526871512 560170496 171174728 863335530 24759214 616454062 261137796 945019160 487862346 82547600 522400486 984461192 206372374 499760656 106840314 843251758 248105902 559211722 788911468 4969652 463494118 166083208 537598486 359516408 78575250 380397806 256519814 19990432 270765462 314583460 80807560 977664274 203465366 77710232 873590274 859074300 77619130 414936998 901591736 375813658 631097280 822885760 320136038 780308244 494492374 466386576 719818428 852853806 18656466 88110468 353083874 387544888 915423244 655511080 430510810 754612738 48419992 605497192 546708842 581835170 216708628 104151916 941471842 489987276 863403586 249826410 839834604 64575170 349213194 648649510 198856720 331719050 127361054 716519898 254465644 622210366 802535730 354374260 432989170 721386234 290371708 382785266 509807550 278191008 185125796 665565710 609460612 909097688 730103368 650946002 72678362 151571854 714813266 539226954 282748378 248091920 909252010 164302348 322982696 235170024 258980670 819835394 747521040 486343994 3935448 455360434 829091446 761409084 29491610 612485438 44249902 475765990 1749338 882252356 902860220 834198080 107295664 121178632 35030582 599381260 348513046 2264638 955944890 215981704 899458376 701230242 721524158 247728666 550655824 392184716 314947106 448289142 935556088 403450548 30693806 727383136 413487440 88855120 343097384 241370006 58763484 209847046 186970768 361061932 527571218 183156258 624297870 164138726 387362968 645081120 32620516 899243722 879324202 967128966 540886510 458037458 906622184 645951280 377991920 957827620 998535368 649601896 747486778 174626064 181425052 112812700 677039474 135982228 564253402 3083848 54538582 468187286 300966638 34820260 912952236 571902232 685427296 380186070 442788676 513906784 82171708 622676842 563701740 928025280 79442276 41528686 48143692 619956906 723017884 584346212 62762166 215596676 220506026 588676040 31067130 403952690 996710140 29020918 995835446 96364838 330519856 781457828 694403328 623276808 254738152 841988412 132870522 60554542 501167472 37971432 792968838 356425352 829158054 8549290 606236660 833919130 652821282 205763054 844300562 827368096 236715048 641853858 670190264 423759198 358717570 746417188 635265132 720742808 677827648 208779898 893925998 255539628 198277592 45625564 136463122 670327244 365498502 104865764 400856140 786189248 425963850 632465942 817938610 227177526 612593742 502728866 629648146 614823818 46251754 297151866 296906770 458915474 276885108 672903478 216288390 862270152 886692870 958916938 618982832 425528534 242400342 226249556 777070938 893792344 552914982 814099284 444289680 509221892 320624408 855678886 142307046 402063952 71093488 358443820 31642756 112001458 514224172 940582322 94040818 862209606 246794032 56177166 484893234 672046102 156068156 165242998 854750284 251844862 215683044 9477654 822538834 630181676 269142850 559319720 846295812 9476714 539688124 794906708 85171300 39869312 186952802 417179750 453937120 35747798 650738184 783515608 240470894 61071490 25672084 394907124 394209350 128131108 711567128 336888898 328148476 456943682 459480490 65187296 625693500 484387086 99266206 674421118 621525388 331307932 290011370 151117562 461997600 193673100 138781848 342798664 290416060 307478602 469204882 617635462 921253166 982858564 936222860 24009848 710388586 929879034 608465908 668298008 736162084 393029182 213144288 536630810 396223580 833245450 157558168 350783146 144708800 609959134 184917016 663065358 263912054 937345436 338241456 427897280 363486778 412704486 676781964 962439164 21508126 908564568 633125780 698051924 241098892 789561942 16873398 28509820 147511204 315417228 990973510 755250542 473630838 131978650 440272508 639952848 517958698 206835066 492043742 789166672 204496248 963899382 589828074 950609030 888955988 144525854 606134864 395696528 677813230 893535668 713220486 860006306 488528376 642483658 251770500 391068688 598397386 786681170 376660732 532185604 12341156 564892896 978284560 277648108 605198226 159792524 887626388 786525906 185165238 421547308 417015210 297096006 87196238 287793288 522464262 505475944 191281000 58366192 475241482 702000442 784028530 779111658 929350178 7741796 379269946 422189752 625422770 758197812 308352948 700479494 747649966 129792514 531010882 345620166 484091074 227117834 718305974 267546480 964882256 781999168 503842956 695155058 206814316 154242412 130584604 718402082 263990878 977479248 292681652 894219334 996641662 918819904 999808342 562011110 997125916 340272064 732938630 138402378 124730146 314587030 17783014 504827870 247711962 490868418 814180928 708518038 182452366 951407256 613559810 65318392 263774336 5995466 975164486 269655170 133824278 933999730 625879604 546530652 934840162 890016942 13700832 212838202 35200492 198748826 949881396 759442558 27244726 391528528 634119430 232375882 508347942 653626304 522730526 101972216 598169528 195983396 653556698 616323616 136162810 970912970 121560204 452219552 261562134 172822626 631020304 20280080 637757554 491037988 840454672 686590346 907956628 670410620 289500162 522053110 828752210 783779932 629954198 312040828 376475702 942814468 580216320 729196322 248510440 155092998 553177874 332818530 676033058 484992102 274495474 807562626 593528986 447785366 759970322 827519216 982682072 592654644 222703926 970272750 442074122 554126186 290269814 119502780 132535124 462704702 899465216 80518754 871489228 834678658 321300278 471495550 797613060 797914128 273707998 959750744 907648352 436441818 224368208 613925800 972583442 213595174 452675170 715170182 739143154 862174478 33074878 619649356 309713384 976017396 128625428 779002592 141981188 297067916 477602568 202051254 14211120 791714130 670443646 279935928 918068950 343311692 750880158 41230164 404923468 424606986 160810296 641986332 619983494 633320714 608887082 250066062 663463542 531606800 356614758 157144710 743192308 531390962 351807302 39301546 276644718 495442732 229126496 120645514 428641944 269510792 757872680 388526926 118195058 924077820 340351302 247177484 687404300 968573498 139931520 615122290 729413842 194627838 346721584 822335330 465781546 675450270 569474020 218323436 507995604 218912392 43739282 44630380 42608788 176851440 811264832 169791176 697898084 715037790 899961860 51988096 183435926 423815748 325133126 607971084 823725114 163921362 690841638 233062666 763751962 966278748 947471160 52837560 640504358 226802108 473781840 516239686 176590276 573692198 782849918 48837008 362101206 637706688 631969600 462978582 305195354 585573770 773333002 18241350 121514896 770356904 751019484 807725660 417185964 451473196 399046774 825609920 226728612 578107542 494585794 657311526 997644020 983408448 168739178 882949288 377450490 337836224 781730236 877407446 937121586 461273912 502543820 259901962 829858610 37782302 82863164 629684368 706317152 804591946 883043456 176223864 282769322 793804216 997104298 251356464 31161328 571129598 302384768 567202970 403867234 956006382 667599838 41385584 604409310 389421198 881267824 769625722 674730986 712136318 880751642 198346592 610439554 89301398 40747966 243171112 127514572 26623674 932469238 458176020 401381386 549919438 754217050 22237172 590409376 344359606 448606380 214546064 139888858 728908732 203080764 886084614 168092290 282797702 696575042 73100070 892080422 743523950 677326618 11944974 54335200 139674350 561296260 127583664 201855832 93721298 893247702 806546494 662378992 804126892 910070392 427889606 638713916 164215308 229436272 641118688 202967966 620349014 27296874 570719200 773182578 908482042 961262390 277920058 258517214 679583276 681904644 111835312 418888582 275183374 73896310 710401290 265021198 810890412 506058644 433448826 665405718 87321000 626883274 979894854 984698622 591013268 436476854 735628450 944379264 315501180 979920416 175722858 764857970 318893594 342472106 708425092 100081696 734902674 757233160 255245344 299687806 768898966 863303324 717999986 920697712 292423088 734575664 873718496 17431564 942872450 479193614 455949330 771256352 689941946 458319448 944158876 805192252 570191522 363663688 108758146 280925518 919386412 127601148 586122082 243840562 611931268 289839562 663902834 38872858 712013132 831297404 501066064 46240350 516537658 371570320 921493718 266878292 745425052 655911882 414133602 633889822 837217804 893283080 469135736 920829350 651148832 854431576 102709806 183673196 875946882 860794798 213243372 289667820 166854378 241687082 224928356 586124216 192087700 722347214 252272136 715682982 269691726 977741262 436844760 682252438 438943972 403117036 505504224 947006918 244419250 998899808 885825240 983043314 41361924 492291318 253871088 584485764 873890284 564914950 365154514 890853000 618977250 625576934 786994920 495301594 5753122 952092782 873142592 277184618 292472186 121148254 272761426 311250314 650168346 96141820 676864550 714809230 874760438 607533066 377988526 853423560 963365666 893822140 208320732 482845444 419815888 650800692 363417934 928132922 569931154 615172364 372617632 599328630 880040930 351571718 591388900 243233204 43498046 347422178 461998480 231518498 725996026 53798142 95832280 874797026 216136214 656772956 499437326 852548354 503998382 201046316 158328964 993668644 868382316 63304256 36539490 682012716 788721952 221366226 62498550 899817538 996437442 139396418 524871248 918410804 807071570 844864412 779852510 389015210 153646182 469595802 679088568 594984182 80578970 44746388 883877432 942968800 857017458 256373136 910859842 488890038 717873316 542604820 969620324 47302782 847164730 594391338 543173634 896715948 877790582 750661286 369238402 376282360 705509884 967850338 696678490 670879100 536747130 765930416 741592792 305661836 626358920 949166944 159830978 75289944 556846568 590705150 586045926 631865860 316732708 653828014 419480778 210103044 92107520 920361492 321318912 275776954 941872636 195312180 872405358 81790946 824573204 177632072 805710588 896373434 837940424 34414974 179739244 201780812 723422004 252564664 926116096 345252754 575449224 811141138 650183090 70725962 426295870 897140094 547254696 56455498 656846238 191937318 423954286 4564280 750212820 94992878 961087142 460742492 627749556 180188572 569101708 537414504 728157076 312602522 448525864 623268918 934105242 441825830 269220728 880923568 695350832 604868556 705104652 613687674 303570606 772305668 985475972 865141744 954760682 501137482 845188268 287092154 924416160 993308824 853890082 496270286 62530696 426264500 805404872 868706858 333085224 693036048 308596432 414024040 336683220 259364340 492955246 990608380 319728576 786130050 938556062 133515764 683439644 131822922 972708538 897141130 431105916 876410354 722750926 212611778 340627474 683597562 186386098 509574690 198521568 555441844 860381924 645742250 757567076 306465180 844105642 158674522 443864678 905105570 650766158 544077202 41775790 878811974 656705882 815431734 296172020 35501624 484948370 604672532 62653660 22696778 360608072 623238904 717290008 280464558 869155934 361190296 79035126 403293900 234595688 161806430 931137340 413566160 448011126 209275004 680005970 460289000 847344444 557341066 201032990 640303068 934211546 218848046 899317248 507025696 401869080 424942676 598861048 926777106 993630998 543242010 186172962 160857214 139070690 166909092 41992374 154971164 611061436 333208048 983764794 947909512 210866878 451226150 923676512 501070682 685324844 700707314 728727668 913418610 191231870 288777828 415390724 158007102 532406192 540136466 433267998 914739896 283910574 133644708 732002556 557195104 937503336 189954868 762895180 503532764 398666332 175755620 334630278 773082462 110347596 60421516 237569550 541704780 327017522 509032030 314679254 391536472 25063424 565689112 685391104 408531042 696124884 277909210 463731818 234422080 269921542 52052186 945611240 60283192 301958 735811686 25592572 387622 904350282 781854286 149618810 374163462 833106524 151973772 588714458 606173276 781774296 618441370 806565714 884575188 969109780 874849554 356828166 270851794 672756088 557975828 632502248 884913500 149986054 536422960 45419412 64197654 505259194 121299336 583715794 728894702 972071806 656232418 871844580 343041972 933518808 743012392 678489672 296003938 309273354 130909548 966172828 114325878 93727086 559314794 407472492 924118538 870050506 762349912 963902766 790931554 117486626 560509792 481231556 694942120 565386280 991331096 996289828 977584850 154574314 667833592 963567156 143329874 944879270 230048920 264341378 439080962 506096674 401884492 214237450 681162894 373410140 473513504 517954620 552733422 351847798 540549412 847246658 219282134 567038050 380102546 84282012 669259438 303055980 148136404 192633198 958614162 579874382 140662794 370109810 966847102 140798982 448367572 386330428 890252500 533614200 721594052 554413224 420093112 260985268 453902064 16771140 87647570 292867226 371583518 953045346 948606708 726101956 467085850 742562122 885746580 530388310 501562428 315789616 899981068 128078810 799093078 217600630 894099090 579562852 482700428 153607332 969505224 474245174 934134114 29764182 151444254 329731376 413620038 494456366 576690410 130090518 739894472 120911058 456657440 218024144 980299212 211964796 604718736 935536252 964298214 383582354 953020374 818414640 649827742 814345566 515751492 263960270 622124720 562062360 828002266 425888852 805381426 488211644 633591190 633837280 587839056 890228924 139135264 18221372 124063356 963642082 682516700 319448930 983236416 821681984 196312070 221670698 572372864 661317312 390181594 91018072 831742836 157404420 379808488 431991412 878749426 759611354 94821388 54317430 17624476 898452144 87275484 533331682 480023380 773397682 120842934 715605910 592224418 597382602 829286364 182669858 5519630 722065516 941402308 65022216 215083826 639521124 460625208 452282566 240860598 844794314 664796956 323113400 355947368 780216428 137136442 359841470 299279470 434864120 301334944 282358356 604276258 124060162 244135488 719163420 873131588 713015532 365113524 357986732 664264130 64341456 728082964 531528934 413100380 414613136 221459066 721613796 761375314 182873556 527174190 986980546 709044768 693194502 789288602 269546570 195976710 486086744 24191846 733572640 44908324 832924678 695274944 85773462 44594810 698240716 604461730 800532278 30531726 43426484 458947972 938276528 16288090 940272386 431900680 479532880 879318478 763752116 467085928 978785042 804162964 117858862 385172304 763256566 546371636 810575362 455259650 251332398 275416206 684656732 194276918 48375750 368289970 468300572 184898766 973968596 397103536 692408834 11980392 218475700 262493994 536058160 212757318 41998358 996861278 572330002 396163912 148231982 856861294 299427298 67064910 167133460 978206224 909970886 661392438 63547912 827039670 381414518 728480118 431166606 626257172 785732888 372068848 129545330 396141000 669827898 808108300 96142226 538361790 366090694 584422188 771098606 14287622 137970656 73866528 894012426 973005718 657776034 672815998 953960872 410588320 931246834 377961164 11451874 601139410 72486724 32828878 403188890 389711564 820958326 242749284 546729490 530734110 199154144 708641646 629242116 861668588 78944224 948137170 662031296 100618662 517101190 500142516 51164672 47792228 176032684 832794736 862738278 446941870 867929752 106807060 654240678 806916290 579506000 570759072 224082368 344822266 949846870 698781210 47748152 7135042 13546512 675000426 845432794 792839522 970868190 83910486 668716294 477979344 258294494 555655158 435725926 924509366 334242790 740831862 659324744 561906352 107080168 114673868 999056146 933851900 68470196 860931864 876773828 817503226 295627074 391011110 389982436 752583192 446114398 850395708 701453268 904626202 52874132 838780020 672711184 786059810 186311578 347873174 979790204 973366136 617633246 741757728 724598086 580091046 778152200 242333054 7999172 556392730 110405980 320183700 853815316 804650598 373109804 199887596 957401816 58779542 242181046 489712048 943663104 557383996 521279358 138290574 594804838 89901710 877005638 823459818 575897804 191835066 858433994 941112566 220106222 163952054 695455140 585546436 471697470 183736240 288987032 874100442 631385420 695609444 846565102 494272818 295477864 654810094 907962972 848618456 931857072 519275634 78380696 455908306 709986574 65646138 889048848 287109496 628934750 906419144 346623494 298254344 708187880 847767896 438868838 999943158 417468338 355268272 565531300 797103218 299465784 414418048 889114038 201703570 532822774 547271606 247297470 290939428 22674190 296330866 849749762 350838118 358250786 945021296 536589540 217556954 490696796 762491214 826437620 249276774 597221192 790838482 921722594 208604532 94819620 238323176 585061812 46898274 918798988 983080808 600683986 836846994 343361290 390161096 717479184 251560116 205630246 220444980 256769242 447356848 544152090 527985296 527567138 999745054 238839980 693848676 799168328 264744816 730300724 691108564 580294474 328489420 965449850 576508438 123443088 99853060 462573122 424032924 855769352 782590482 430967848 663876558 475810166 615458950 67741622 6530186 193363364 832705036 822353862 575732512 652164766 305825866 901870618 149040472 913422392 889498210 934522674 355446512 827223928 267909156 771435610 36243938 841000194 811428492 110992788 591008524 226234724 651322658 733782744 462211256 384085944 155595066 26628240 46228352 664509032 665930774 452090206 411662444 656448962 950431670 672222586 918053574 162230166 515731688 440410834 709843892 171020770 343859606 867149328 204244276 590349686 274575578 709266038 319239226 486980590 854502432 647035944 479001272 906111506 511023940 834084236 524675072 717370790 94752954 77839400 201361586 698241448 339323274 432274668 634509626 576443896 733465398 868251444 125834420 322722332 366980530 523517042 159255226 997098780 397393226 925663382 236084410 834014844 90829936 408008478 757877590 858877360 687929114 518839804 87142002 568618956 704650096 951772258 987295702 38529360 480764990 342898954 483165872 114703254 445853520 139464890 743906160 429896950 202884538 251642414 641874432 726859476 446088254 334176648 718221670 71922618 72813576 352156640 382263736 601152508 361889934 377080126 286012614 999310506 776449680 894055732 806880860 337169338 474743386 580202346 133195564 536901136 468158734 279361462 767467592 15655654 235927214 788407802 470258830 828825734 846108176 493483020 560856206 529678248 644735546 753466752 608205764 294924956 410438794 823712358 774037152 275613536 545334852 189042274 345230620 23828398 567476930 85670040 505240882 615663772 33958350 785795008 788460068 916616902 522679610 716346848 90491942 824147294 652912244 98579366 193392180 42252274 353053996 387460810 561238270 922127860 362016840 768132484 510236716 996360626 958171494 331907994 932813290 312198870 891294000 822694102 396125234 209376116 46404604 376523444 488223756 879394350 844962792 651856508 246883886 736817386 467193238 413225046 72463362 495982192 897553054 754830062 851897882 335369272 608838074 765140114 268829638 758416850 105294780 189222218 839498472 129169092 816421804 757813718 902751262 405197044 101806292 335641930 1223354 516539582 897185852 251353412 181733866 220102362 737898094 272612444 736554154 284207634 374064380 47888516 755594652 886534254 865072070 14958740 448252058 271620062 395075670 374152476 772064520 920222776 738317458 849127582 873217768 381756946 71208636 436115014 344761042 889347180 139786044 505480016 364834862 351038548 296485288 973553568 344838072 577614922 850199596 512408684 127776550 588394240 834702850 40490102 47345238 293378494 985648530 841288762 133575194 644164182 838514722 363750184 207126484 282025628 16276002 31048978 790597368 301969560 733386222 622320714 712874566 901823890 404144466 136068758 308772076 241994170 249668000 106969672 116980804 405798876 99336696 348742866 11344896 465662378 948721646 160225306 358883220 682822750 925063106 80612578 436684996 424771504 531048600 26901820 411411998 649782198 910729932 788441288 796245454 763059408 327768856 629256334 780063306 342465764 946456142 205560074 268133150 217202360 913818726 81334552 825637110 399446812 317972374 973639874 544656068 657302678 661373690 871113916 824700090 219162940 738462934 113623736 85313138 460632978 33719150 266187946 515207206 50556960 102984406 122531436 175578812 205875506 174531964 656375244 163607280 682574450 547207368 400507086 911741746 858703704 850056920 611045486 311686180 500311550 364600154 232878592 823878722 173569222 581487324 223764072 945531428 210962398 193703900 146255874 691675728 557255674 325214820 307321502 266082146 138725340 252135986 477174650 400688306 819849948 447375764 599276626 65638858 72249300 222216276 112595430 59028328 79475622 291770304 418716554 22630108 25410988 596690270 464408134 664271286 232479364 108364714 916172096 59919602 391963112 789604746 427297568 654686128 321795752 720397768 963422478 550582728 531472898 453008906 539069692 385269146 815856460 470396282 787009316 816075664 2080284 305433784 749109376 122965302 841015632 568152568 798384252 975864282 681709148 25100966 942033264 980997274 715750100 164533364 242366136 700058710 194340452 21825850 879811900 457211832 342732676 44831474 609403594 174558650 43775952 925590728 965176016 44326096 190578936 901332602 63466324 3571940 607915752 858584526 865758032 675856458 833838284 251541258 170515116 99656228 725090142 655317696 991989050 813015422 561437630 394723280 194886376 705983552 343484528 87837118 632037498 86143138 423609744 189110740 573422530 542972772 193029436 744845144 154353820 479118922 5922596 699368560 338266824 823112286 674729900 451692884 174282588 451537612 495239386 855509912 149378012 790809232 957475332 491154306 507195020 418913220 853582670 749418374 284199616 221405400 62780142 426767284 517485100 243882106 461943396 428401500 742882602 821719296 839634274 396146712 711821964 543420242 403236548 880750720 370063676 183117282 792190416 991435868 28468328 685428514 211836690 104611658 885419464 972753372 596627598 746179228 118615426 232322260 168981714 333325706 939266502 349873304 618331932 22953000 520070660 895588790 536441530 292150990 999659344 481338252 84126746 974716518 740163916 98445758 773424460 223630832 630711626 664723624 544947788 508221760 605068496 340377056 519568054 35984128 680890196 333057138 457012432 297068478 13882284 807041646 48322584 556525746 934454584 168173762 703342810 77695074 215238386 842773338 136420730 618574330 308829260 426070592 528369566 644277736 847851956 99061908 444191754 977231560 823521596 71718218 71715724 809132450 639670328 722775652 404521342 339661790 53478068 379153746 72134114 237206404 523763630 445477992 796795426 261683998 132280114 163036378 22425526 794951712 776453306 583828416 744857906 742422764 274208148 300823914 563088808 764412510 804450220 469319834 871908078 227192292 933850738 510714000 82243854 670608800 408091842 357897530 279289008 545364862 986227496 809853698 254793090 338685246 63192274 191731064 740502020 932080832 533018762 119449928 621195480 599255038 547647320 190480176 892396954 285927070 569254416 510343118 815486820 228321832 980956100 223520068 677852414 830472378 795318980 984858370 732362246 625393902 34618594 507139946 569363734 814557396 488515764 49027310 4111964 428401384 711181430 771809966 397545730 810176526 35011320 665158474 527461878 360044862 543451130 431279922 196334086 309614782 907131462 818023732 853397150 149447928 638712240 100809774 52707830 453721582 745803602 506772098 311884792 802032624 41583284 269097998 993861900 623069518 887652790 358345952 675969262 424519560 272749160 53663760 942885182 283145624 271642130 206939692 651097304 581010056 376920068 192121394 513497644 640496582 79109462 47024522 652555298 357351544 516854078 104959416 5438872 422999338 355961132 648483394 742351386 143632056 729681278 397572758 425889728 816114746 50360788 52906524 745013232 690817334 380293852 125586464 425292532 451093788 354080880 865508540 624755930 27935104 689197280 16350438 481306152 92868314 75921824 468542470 37794408 720137250 333854126 965643392 965219434 987932 52458844 417618040 988866856 585347686 683775854 678709546 371283794 885305502 233055606 482649668 42986460 362319012 20953590 15019002 969247890 433690058 137984290 787003934 721306968 295343788 847314142 994321200 769521290 954614786 580006710 831994726 194090356 300250120 815704030 595126676 435916884 434144874 543637780 912446024 410736994 470576964 578749048 319282840 133346060 582935932 797065726 754244894 426638350 629655296 953361788 302103218 9461470 32484994 573736382 575235760 690094242 105276416 501030998 1230882 741617686 420644086 501387538 860500102 116404006 374626110 921394366 222570080 166202722 225457428 773907542 926195120 936558678 596538508 66797134 330387148 589671412 654931096 63372278 317913330 647664756 608763524 805283340 945690334 757821214 364518290 725390128 864620770 461737340 422187738 83204464 630450256 996289542 892769534 195943980 222087492 318159420 842436722 342229580 61255232 16669006 995173134 774944630 775414124 651604722 7767978 359637920 306129478 377124450 227298318 113012002 584200266 55477488 363798098 997214828 993674154 944759536 557400002 342457312 232479784 337577002 348211398 879712178 209808840 61583492 985514738 470331390 380457148 849268906 468882932 898530426 592089952 778847158 705592100 383338434 369137426 170347076 765632826 990722616 840083286 777967518 343737230 725491238 28069836 870656702 921842910 192622548 198461208 303764830 979405386 310667358 791631428 237958656 869672840 40852610 48211606 208281770 60650372 971474452 853264852 425417154 413835546 427262510 248397096 187336572 416101010 946777388 442854990 592226692 849034694 893276444 80337376 321455506 922367896 82409706 542718314 199496606 804760322 700082896 678757740 972667600 324963662 587954298 19599308 348195430 92434352 618506718 687162906 205686516 625500722 748658140 236199794 53584778 751693602 805624304 309012400 335310630 27915220 622983020 340601190 878635384 255087430 65731306 521158208 343572440 168257242 43861104 758395042 778590712 947124384 151351876 123193720 524312260 643131836 251702828 410179280 809680144 242449900 480758580 277060 474499584 14586642 960495474 634585326 358765552 583406714 20909622 359429756 925488064 607295588 836042058 739986240 69550974 698198478 2952222 581884570 952239446 54284906 667729030 179395522 403901598 655699094 10712000 405657582 194526648 845983354 671484048 741287164 819688060 723605660 676032426 929040364 358368742 447851486 529609772 512046308 178820846 525664374 560386680 445764342 62941310 456681998 851404966 583485132 184656884 587757252 111815990 221085362 889910214 929008818 674603386 550844588 221506430 420165102 477269286 164128604 649834584 329381228 922592572 658635182 443384566 855315614 558251576 481938524 68323118 527976186 472300078 683469298 921865964 263652790 579449770 647876282 703500942 549888560 598509112 821032962 852407362 431223458 43564464 100930210 479121102 297712018 186531914 144889628 610506438 495295640 667324812 567305712 348842370 832458542 555269506 515950386 748484948 531037202 558676182 722166626 857540196 20446770 985040598 426629148 3007178 814506668 228336906 288119386 58250454 581485330 237130708 964011534 436884608 285583790 234466818 580743536 568176630 121169954 623753798 526808602 223918446 612810076 9827122 500938342 178628316 965800312 63025144 63763668 18680900 47874264 107347188 350138564 229324456 409842952 160365776 258328992 116544062 474661532 743473318 307031698 46389346 664952764 962444112 773059086 302666892 491603530 488026850 76714322 816780194 469519730 553335640 505310582 917452632 636212540 91341068 378229602 434639010 152504002 763840338 15657678 331128748 631675720 643766810 864513628 782805032 469367334 649928356 390295334 692364378 690803976 918617362 864585750 666964832 173619064 654463794 645563640 856501696 337915536 660657432 500372592 854351830 356176412 449810168 43655970 926498944 355735506 312365526 527788132 373404884 816280770 928408612 730503214 278814514 349728530 253360724 8611046 453677436 411527248 792814558 948146526 803949334 421748048 931150818 885007808 63421352 401863640 766777588 904147866 24806138 310449798 866585486 611746560 171063474 27505178 140299436 782327754 680832516 314401060 545880398 122833016 254087894 739134018 871875848 41666394 973577454 464633730 154020804 694687776 688970536 260230864 502245696 648837442 436252654 621071910 3834532 705990368 746132144 427806258 852999014 793754892 172350446 612094174 595343632 181774650 683857410 220178980 751575364 993926080 119788916 791480270 545904260 435144716 919772252 398660730 422162988 75339902 250619260 42630504 711963590 625763622 512377714 185796900 391528644 975853604 915749616 129955288 630423580 809933232 201015090 552960904 872118550 542301672 305787878 225702114 98909082 222472984 811809412 797213166 378826506 355693510 92445528 249158184 877917928 990007502 88866128 382609574 107900984 301299774 987491694 379550974 706723446 274684642 538812470 732038540 408809500 299484340 55326478 422775398 645123618 824247880 107605630 601471518 840039540 583502336 242192210 733934366 864475062 772045088 612423960 279293658 181918684 411254172 571829684 283230122 851559832 967266532 548078760 858089232 504347792 370894500 313064462 847987018 991731220 655148350 599005076 476154572 403758550 789057648 551566434 109536836 849624854 719543506 208537884 984557496 187621128 766721656 163679518 108296194 648403892 17842864 953192620 599613302 698881980 362796884 730802576 948870984 82664588 733572604 141547266 457259358 699481752 536186790 573327006 235967130 663112162 728396416 298124494 492562060 371916366 158324 535245790 45664592 499176390 792367490 843581662 905648126 960468400 853768904 805603512 316346774 582707348 585642958 950748150 656951844 948723994 806784796 46382974 808110742 673718396 736594652 68926304 279593954 475519278 696387070 292596332 181693132 664895036 169781204 210067854 10422804 402869032 179364332 986183792 610790388 501990940 49813286 286068562 466508474 310392286 312133316 43940380 757550614 498753386 15793576 377077696 706315202 486145492 791775668 934896616 106403630 468893320 750188748 617837500 639383492 40645392 246718478 748911256 233474662 256480984 382956972 46258766 70721194 747089706 562295228 417739728 875425266 729908602 363483528 40180172 532293226 728546714 971989326 820524888 249883226 358043978 826753334 515294900 493303466 366164838 457352314 630562434 262932102 144546840 198333852 286548578 664485508 539016786 300260902 974826644 997390170 817379702 224766018 547077922 51883712 900208732 30950418 775900858 862182028 803277520 336242058 593992182 539585568 797753804 839089880 583329076 845078800 676888932 885541556 333292232 636103590 203292292 758685630 70495950 543009346 574140532 444075134 518787452 771950182 168712000 515064206 703286636 576617668 360546600 495292160 108689072 193439806 972130120 686312026 268791696 499815540 355749376 397203528 541352030 238461370 521836270 118062710 396026226 856916290 612915228 552857144 789164910 169652068 263332020 300846660 409098394 833365012 992912364 234355422 378863522 308451304 996687312 155780880 348761038 605023378 521446850 632077762 909708374 9663002 85171802 514329740 706496464 877892566 709275614 830790740 269126122 92827372 677107734 132510164 950640284 862888902 602373126 544590322 743997952 326952468 577341994 580641530 600785202 720154470 327938334 420775724 773355304 58674920 376907870 699229650 777707986 789553566 656868506 711209726 68407528 14852812 749734726 258704628 95913532 450686080 711273662 581970616 530823256 945677226 709304004 239005022 337029242 896889470 365649432 627289702 863777316 462634386 847014160 101717382 138018664 784194340 740107072 231110056 418079308 673118022 938620196 67250800 285251684 408674194 428379812 257660344 944793682 731369096 907163330 194664464 794156034 234965530 786925486 790062166 934314788 101371632 91625994 165902278 213651964 93506222 432595224 878998886 654582654 46903284 938030638 452040472 129285812 325785936 219234700 365274336 976103724 338782522 767734528 556567232 960038324 436050772 534851272 638874792 267143458 575125360 713115338 587223496 892867992 597273148 140540888 424843770 666752112 611498078 702305126 613464804 342396750 863144254 937500790 430591824 215882296 630779808 546601132 730194346 710739640 523855918 619778786 58396842 542573146 829671620 245897230 96069490 296716746 830543650 484428754 421272262 872723396 679295236 328474244 572164286 977029464 148855352 675949104 848936294 37072434 855078266 436688202 441965034 265608810 312677748 870452850 489860630 692344008 761147528 547806934 408131702 192067832 40467984 196395732 29680954 984343268 780794360 381073220 268684160 106954620 690556990 704357864 770386068 380484250 643710902 272995884 507090966 134064292 848903140 612386160 986965418 604429034 263068408 8244142 986244882 128578492 310687026 940200320 269272784 392837082 820908646 462611292 500795180 103936878 635897212 723328692 61237504 683576950 944470920 499512246 230672258 316246962 498165746 317415730 620942942 389809090 275479540 954771694 87065894 502106928 892930884 898625818 960023512 843686698 970645378 352204490 840304660 207368666 414955336 38143824 55927232 596012862 284112332 157295264 288586438 236654292 816916080 678873098 187884228 412527900 43531266 144514120 356779246 789164430 488190882 889632224 118683522 346452770 165065146 515520690 127480108 821082546 897012792 938167404 630040316 563021666 469628276 202926608 930926296 562174262 521087920 211085880 898374892 418868876 590967450 996597946 651386236 972594512 585869754 189354026 343868954 313885532 841198594 943805552 161314182 624089088 550151808 351733940 507553818 688598384 242577124 125397882 416730744 243933100 718270862 382763046 192564436 536653990 859345750 348334048 902937384 876925820 270058988 52557726 672116108 60969898 635531782 808789486 858914344 116416738 121725154 505439294 612226518 600148092 401988684 795381136 224136064 971910082 102092226 189693884 819285774 743465850 935140128 356569436 580087552 922554450 415467782 542225340 968894080 503735536 735806352 330269422 594253224 618909694 883252596 967417098 634514166 350808586 702376172 760068924 975318382 591687918 689357624 487505270 364657372 659051106 163958046 651790144 486941328 396556304 29483544 578807722 982138324 901943518 962025396 552777758 454414084 297562628 571567618 363792484 608451022 822834134 830879456 139669268 877074556 385216170 949405920 591750204 416120062 46906110 934031956 302073326 581058920 494744162 186599088 218044834 732434090 976584086 155828912 111584258 685510862 64171024 817822048 296085070 661772010 104860610 9876458 79927000 392768708 806636634 982452160 142700854 220991906 644138180 256745372 554813774 856865142 939370018 7702162 719482876 378152910 388631432 182471140 757105926 322510524 979829514 33866870 636233282 283522946 553611206 924225214 258389968 975066810 671827356 601416750 915393204 593633604 954457404 213970310 301052670 428587472 898220248 536653136 60815624 59032410 17780520 818100924 185499572 347258442 516098250 430909052 240138386 57664430 199868848 651964376 975891622 772035696 545518222 662238320 255448872 98894946 621027570 715940546 388451186 187109024 693582476 572051022 338358112 645380332 888881492 405813868 940979482 7914400 156482844 807289378 967188150 158997100 816189036 440937428 23921736 77681758 809998388 170777116 690240246 303469770 36324486 384270108 484164580 529985594 867161876 668132846 909817090 276330806 240123838 628817688 715700728 796946424 280617924 944680410 934722610 491439046 453869332 956508284 769443374 302784444 156903750 78905182 293988912 909571242 655988710 401656246 868242850 532460014 595686390 196255752 822685016 675443682 486626940 881834694 719617786 133320174 138097276 292739956 515505560 425443952 357823072 804757104 27224168 261529524 290473612 39118928 500876660 530418248 47519266 495478246 268608218 963111634 530165612 125829296 62802406 460289798 622919090 457175802 941365862 215319476 453505682 696919134 728421870 251382036 889910550 432770178 739850126 446778602 856225274 918875846 220781060 125617186 350165806 83253140 627174056 596574230 404008338 239184232 9807934 149872620 57972172 861626774 785226754 870806540 43476254 668736526 511390388 833955534 393263416 76411850 825535644 444717176 536781218 705510172 173264522 958407142 890957966 896359742 206784024 933602538 175959182 657617976 99413602 837643702 557597078 957069780 36008128 977937552 376183394 232501342 356999846 795009112 163262054 699074870 404507724 25665328 890199556 313218096 246508982 429329326 384301418 849126850 122792216 817871692 996763614 906770952 219549570 833668996 927857978 56610638 138970790 838262174 723378758 979162560 815911418 162136690 784677142 491414010 645233820 491474084 940390790 570322962 285792682 906476108 633395978 17908772 422428808 347449472 942399972 280313762 134215102 512944540 399876160 837721996 251383488 444733136 704014902 222494222 881006482 952237842 385729282 146894356 547010356 294874182 928520768 424542758 44954512 553737242 480088748 527371608 644477950 818085650 197425704 975224024 407252144 956306436 531331526 502843846 493574276 950088426 202778734 674151500 678421068 627696042 282919564 786559520 812319386 179453046 655788780 879125158 930837772 641937102 900050424 82603860 444627964 503375136 836074330 598005364 105960536 779051026 142246540 197567734 152093504 821272470 227967092 659985332 656491560 776114082 765202700 157061878 94801358 899984988 945239980 412006684 31512796 202872374 686102862 971681992 364032784 422537176 138150870 753970128 405294908 843053132 475526542 760056242 403097822 809364310 418013622 168482634 862568530 442340406 187528154 572431196 24011524 666093966 990488690 163613718 873899876 562368100 449508762 165952548 822277984 599518426 123052642 340647702 20302520 918970414 127874910 489036752 124242376 422300214 666414014 991052656 845669640 327626820 54472508 26190714 978937786 292707190 261303582 690746324 324441738 232922764 779324992 502830394 464398082 896271336 207710156 810466034 199812460 504770286 786117494 959662668 118108416 613824654 480841404 137819982 803461162 287058460 34989172 711693676 435515322 879585446 230348556 901815834 100540880 668755774 166640752 73666516 902041998 867036106 966300534 21403570 924053646 433298752 374069796 66810532 235924990 302710430 194523236 26903454 381768562 105399226 443017920 482444414 341633464 729417940 592269622 253181054 535367926 96680898 502548998 154628272 76722576 742958834 804894392 462760508 420659862 620097314 721247974 803062404 99862768 429713212 505388574 467026292 960373404 171009276 19326344 521530028 371393888 715622534 968086492 657497200 498251448 418774378 42822052 810282128 94637290 607654470 377637032 358038794 12802130 462750182 595305938 691002732 998384124 740765986 345517256 784330476 486934540 308814216 895645692 915699658 852780132 579840868 678259754 938697846 406612934 369592194 386690564 219620604 155591520 647309724 544790392 683101688 754913370 590455772 269641066 514341852 656844736 940133260 560274608 314861646 91032744 174578370 899260630 896999214 531105714 685264780 765865714 524876726 60392340 430749806 458308058 729681278 813825112 197947856 723082386 567671332 259227114 763690522 929639894 422934854 471206730 744205070 327000422 901257344 409936706 300823064 271819122 355448740 199149736 16391790 522128926 863765642 183404072 202890696 584118380 20340846 201920148 61561904 121643246 649296270 648061410 410610670 280200070 357898966 630994204 760486994 85067426 530846916 631226620 253521908 344063688 23567180 278029062 421011396 685003972 536473270 346615370 102054206 865588728 546569476 563381150 605336398 380760744 936293146 477898244 244780186 459056738 919518258 306921104 119113178 540302988 733111956 515036522 614705612 124710350 414771870 894893892 235485444 597913532 830829430 366231306 93303436 394949270 734903688 937113960 887206186 315178310 953977084 580003994 598945268 788604472 657828032 212571940 529490544 686811930 164395356 969775924 583323128 892846782 861087962 352396088 19925604 246802390 460246020 782177498 532880160 882954894 610871556 986792656 285063938 232715628 546941020 381637054 519691616 120234980 407036396 837087516 555442824 262671950 594295058 18015140 680192610 502179542 519562840 552113420 809384438 891411612 189752372 335964252 49151684 564667872 437147068 169432582 190922974 486745350 352635210 598386492 344441362 552225638 733631260 48017282 143523206 529263962 841016254 351143944 271370484 493096948 72800932 623626428 765196622 400468320 925844694 457035956 699483432 401045130 896833168 386869010 755659154 177644020 166203104 232750756 796979326 583755986 371278228 837195154 33507368 159635354 675705040 499171710 512522362 936145196 943883858 957817878 583114428 864902478 897222536 519055978 629921662 209184116 998137528 150644156 917195554 910094786 232992654 661083460 989708228 104554454 594097332 239963788 749259170 33368 112839680 817569406 326146992 170233688 249602544 150717436 881329292 351610072 698945994 945215732 808034862 592446324 798251498 618144336 79201384 161892360 851004598 233609136 996292028 706278764 352920390 295246844 164303218 776156246 699970358 159988098 353149630 561329596 610353180 658604176 546168768 714390710 565637446 103574110 555819460 664874038 87881754 125467244 113361974 104789370 144870148 253309964 423983506 539679280 194591700 19373232 488955176 136612548 99383880 485206634 238710580 425299844 662737482 375864430 41198934 199153312 324015532 958070040 762116686 24501430 517786822 272002224 33758826 266498922 141087720 180659840 790161966 538999882 84322934 511006882 736463112 210875198 496039604 575657452 812996488 942032024 120416476 794866876 784699186 768080546 993154238 459404822 720901848 777271838 883232668 910326992 107298456 559054804 56167360 329958066 191308264 715621942 985298140 537929782 958423078 253776726 604445780 627499646 747668268 636808634 217349804 470968822 439475660 180026656 924073316 425200614 472570646 335403476 370506968 666096508 63183140 402140748 943466356 274675508 858447154 845062618 231281810 871690538 122594344 984139428 642329282 123659106 603429102 997337282 994844158 50496802 660173126 616328392 606680234 635786592 840207402 799051934 748553418 509146076 822603758 990685538 616333360 36414288 304645822 446224614 46988556 148495398 603809460 380196618 164079656 155995566 567803946 534680170 522294116 608618672 788865870 709163716 579736284 332733570 498665392 863983468 382528452 361462166 802639388 78004036 976364572 172416744 454299732 855506420 840121310 287656732 458066120 100131798 992591436 908197330 418413832 757612332 963659302 704734442 856155552 351843384 949169346 372136330 329511626 18239114 521338066 324851946 326938224 701083258 694474492 252258762 117662524 673524928 976042398 954754750 953736604 859201116 79324198 99272458 129196578 95265354 665286670 890437014 702853962 422140540 770265922 734942454 316576246 847556420 473040436 955325904 138190974 118326474 803891954 146293954 525232510 387330174 885847304 223233094 852185306 381417758 284954244 196016372 295369538 502055342 563383880 308720960 627440972 133394668 233517644 366074480 515952770 848873262 214273284 301909166 715610050 22157356 172441794 815426898 489708960 475023220 284644880 881955218 395968228 938621598 362183178 279508666 470288558 835121404 180853866 930390766 549786166 208197918 12715888 689406886 699457848 998725826 879004456 223831596 919241260 119335066 533534604 288282656 921797328 553010844 433319870 115396926 736331596 805201662 28548656 144093638 168608846 358877118 301258270 797148016 945614292 390457058 866321314 52648564 937124146 112294560 405076080 270285798 787268566 687500184 89677186 969816884 160027966 591045668 353072422 863177604 981827098 85832490 81149266 814120730 795395232 913917636 578879244 463539190 493656844 796517988 536874296 133812194 530344726 220209858 276996104 964219950 154119308 3369200 911408528 551741854 847762210 533735754 739004636 302675304 204581428 280275052 48627364 765009392 210303146 719206786 860871198 126045252 601566548 316777128 919702772 524318640 231631678 800854268 183326046 465840200 863964244 373545644 961729944 239630944 930654198 605036376 760791268 435036754 80360980 987817754 727501172 486286678 725188276 991643376 351242864 280986832 359109494 845698996 796473594 249424870 399356172 857056598 281452648 80913364 869533556 510519102 358757852 727914660 614991274 19117592 257861838 972661374 899262766 603449542 918007598 302141660 167458148 523111332 825019942 532359170 704147500 76685688 327603826 852569990 600532824 819300520 317815458 669030658 517658768 552461436 235534940 559612318 183310924 761892406 884932324 920316530 808041734 545361610 276866276 262470644 758051240 951554954 743044888 993113656 392189782 815170488 726170722 204578822 232623418 998748390 260937090 399943330 905228596 657907290 156090668 155490168 85059062 574257452 562509672 749876020 560242504 122589600 656869440 564108442 270832228 17478032 51354160 220525774 826945556 423007164 411366472 184267430 503180230 774407802 421941626 535244584 460488966 405994918 677153738 325484634 737782662 812655364 94670068 287452574 441900480 317881024 87499412 130849400 292815202 463463506 733919718 982644024 728292304 523279844 714753858 216563426 584896172 969968056 881629284 828520882 907345690 836617624 707019274 603377102 902711900 504432674 120802398 93488126 243915144 214078110 189919618 443568400 208069386 215058828 19402914 798282912 991668338 81304142 478465458 859969788 462970432 183329128 788998172 280220582 331011006 596942168 699115092 886979534 75224914 659238064 333018708 818812226 695787052 631532358 189187538 135015674 866512038 192993004 845856488 979913196 12849932 228818682 249675980 866074076 244394584 239909976 494751954 53579146 180448964 320876578 651337872 380007360 310096462 169447192 534207682 708223870 370594130 619030600 321494128 528415070 111874174 892997704 157047512 117453846 909513738 268215712 112944822 921037154 401709600 571761310 157304494 831331336 996529586 33366606 249468584 607610156 442557384 25507742 339161454 764649768 252212802 769304100 281422268 202080926 664067366 537622162 636701654 964338306 948401794 281273530 906481374 613627516 45720082 219801322 504026444 873389304 590878464 79260178 24770794 947285328 608677792 238164420 69364540 13207928 781414300 970931382 707139804 731149504 713055160 571533118 644951362 905921634 267315276 913240294 874044172 840590036 199737432 796348458 492451334 923893962 907744054 834980054 824494810 93333098 402519614 858148830 659345102 709350394 891993766 164151076 133209520 172878290 225717962 743914110 956735752 887343176 196295624 67924188 994943738 314226960 119198090 13803966 427592526 267405036 149441148 474912578 239653804 364106924 879407878 618710920 719570630 873534448 299026342 512910864 316924260 519271774 671228906 161141736 812392806 622070092 618311146 257956124 377117476 110519450 657803718 148837350 332238784 735733154 717218348 873290682 859071574 937045322 162062262 567731176 95832014 901910864 523926670 319148186 255871208 209676226 443661972 686770138 568415552 909690180 15982178 40969580 257978856 430096078 910493778 194492156 1296162 110191626 504917664 589139118 945521952 591584984 740720480 302652128 553752210 162251694 718879008 568074994 283267630 516765990 933984378 695283016 662327786 852926252 995170860 895413758 976299978 639605622 140907488 702305660 835714948 98073558 357597824 654466914 828537262 853832372 892247830 668123786 695418100 429761210 229154004 410262892 799708790 658211032 728129222 409538222 83997206 152022368 90086080 771989444 80433462 170823302 706373732 336100962 500849764 42566228 276805248 688907634 94485408 766303920 766466042 814583320 866969256 893904020 565471840 692902038 262525216 928424532 137926206 367658730 943810420 149766384 717580178 570821198 572477066 773303552 500628422 533556586 971736422 429326042 914881716 966264742 274099768 33651294 918807618 732289504 690915418 582831356 131118508 986896912 890422842 607652852 962392328 442582660 273148146 180507540 394386290 291929264 117252960 568594482 233286326 822475270 751903896 583039310 821190904 87528090 261449470 282902278 272565438 115257860 850693382 45839990 621056998 333566722 773120524 163772392 560492888 260207120 757426948 246941392 565023098 261918898 341330030 962645048 528440006 713504774 761866604 398278016 362590580 70146748 842288264 257608532 513529790 884300852 420570552 357265044 768903510 969097786 7431304 284016044 116478604 296961804 657500146 387453570 742269720 290147000 735580996 316749820 957740356 27424592 916433728 982213934 677472558 59013860 39580322 844058174 243924702 263247942 806120338 194963182 620459666 972357248 804127774 602159534 755425434 967640576 96130390 444466010 810010232 679327522 320775904 249292064 792898252 478952232 442100908 797364362 228864980 536298064 2555176 472880008 942794062 750384288 156944030 458206236 232730454 308357742 73549576 104238880 634623580 462283184 907279050 175229724 119781824 357775648 692764690 854350612 612577216 889235464 611486384 291275762 174510726 69083944 647111342 888298638 88366986 780851320 517516858 341957168 563178796 698388342 884913662 796566846 676162692 103598432 210622998 40299400 435124984 155615356 162369572 505673792 812202252 672063578 231058762 568513056 923151362 505303058 962978108 71981874 186651580 448571556 906902156 146510478 28850538 782506378 650585420 598877842 638688082 426591894 7290536 414242280 368445702 63353194 200391696 389751598 36998460 213724166 740810904 420930210 794165534 675991896 951298954 581428308 734853686 429219442 504224044 373177928 559678230 219590206 210231612 875188946 442987494 710166628 349093192 108352696 188493580 553190336 158988652 499650862 490589318 223355626 784712364 560801972 649185966 383035316 55938366 25549640 314105498 238687266 680606132 454986500 901661976 700127488 150935324 67820722 566090984 281161714 56167074 759314976 150052846 586165562 759068742 593353732 119810462 167461286 952477444 627333370 257988464 719691252 32475206 482045830 933617960 323847640 921391844 462531102 814637244 12188516 700456774 112218710 343786824 6769406 439447300 852690402 588104870 549900506 613130504 931354254 108702904 400000378 899937738 282886140 200896248 546829608 146218118 999991150 614975432 402408008 40441122 649710856 207446096 401396236 494905526 488469268 193711542 86724946 120223458 496530388 144879308 756592444 489387172 819297154 964103954 229440804 759052108 710040898 412709028 441422234 676553072 882387258 286536288 42939490 370309924 681022720 984450814 711662520 678319792 271144084 296599628 91244820 560690578 289581656 227624244 917248628 37424300 314479898 144197158 110747596 200908832 198991158 384542460 313915252 325017012 471295404 876659384 752133902 825314238 556976838 398987802 411449934 828079574 329986490 69513042 337418230 161037266 489683570 297489426 31197654 268216200 921891156 729886046 475568534 637217620 520513632 720929156 286501154 769460914 77569830 328431570 808131384 533193392 219590134 9405218 792758992 662744484 845056864 583000362 129179152 67362614 907477336 612074584 970235522 850923950 902149926 128729158 515768424 866140244 369914234 771021394 496450832 10242400 990479192 226599036 874953030 972929336 60289046 853641276 656087050 263333914 892160818 159768012 690646978 557245556 942491606 890087514 405470236 920719450 534874248 215732250 716461270 865945530 759470574 896661786 159845608 183169886 305974804 515805608 145278020 765213980 3663566 791506964 848044816 819083896 540919834 473306620 269416926 557636870 308203858 44844136 64332460 694713108 257389378 891504628 934326032 570079206 267425606 17259970 18438556 685634040 304636072 911468874 996501008 804235698 423676556 336104554 61997966 906272790 881227448 574664728 740150914 502904150 12342184 915675794 318502932 678091554 22532578 679437250 943948804 897368634 201235620 713989196 2328484 180379458 378917210 974968694 248942324 840326148 226231424 886594720 210614228 920742568 470506864 359058090 945081934 692178448 503566092 676489608 873945460 147366504 962584038 2371348 9134330 378381462 438115036 879603356 281816054 938642740 653739650 593835720 693672582 873653156 171000622 58994460 15338242 859713654 166308788 290330360 282506494 657617826 347317782 22353682 573952708 579352824 187276790 856568010 685401512 95455222 151832848 838430604 912145846 190170978 647926682 203737638 425798244 761858346 440910252 81420248 353109978 46412468 538578384 71531880 91070416 617552516 592221082 130784672 582226972 997801162 677831414 706307866 819816502 559336160 699835618 261414724 519984370 431355752 809290066 609658558 449091144 311869514 791580990 404882372 782246976 923751218 103704608 433744252 133988222 19866334 562891512 737494728 641522986 517947098 8815720 456587606 209003912 412719522 70845582 797811758 874402578 520760558 992749208 484297904 678013828 254911658 468676604 969813140 641326448 876243794 696160440 602145880 313457296 534019308 568136372 7852652 183229542 817330096 348700176 237329148 678316228 872799198 126795936 231141136 604207120 505214090 786328858 997571452 394197684 631082576 383577706 903685058 102774628 702230542 291926070 623354588 835149122 806705952 163045210 320215228 496500986 98709910 887569754 131122662 890624970 183056770 703943148 452019244 395450332 425926848 761011088 249634182 302114952 982203732 213330714 455224232 382295768 250131928 739743838 778659842 126355450 357160484 785654330 352587454 298446678 729367398 8862034 516267780 332291032 374169952 772745254 43608740 157868616 962661966 889325576 596526494 488220190 727092158 781246256 285769628 779832162 628713078 304644846 105416792 541833748 106701856 74980938 693922672 220993784 326332414 619186898 178886056 388130792 290984250 23036958 928918962 523580430 911375786 978187074 866912788 654039820 228233128 224512046 774667308 439274960 943178218 446448986 707190860 193108942 778204738 985593596 830716812 632198170 39966028 784553002 515361046 237917224 814364982 880845336 840249744 138802322 175270620 201236638 592703100 579028878 753902118 552328106 887463488 555892788 892320360 218312454 515457382 376594258 991294982 573155944 182837180 988050720 820994632 217837756 866900710 617555608 869166310 701804718 859945476 458818184 854923056 246542222 359817226 596146136 348882522 235556688 30056772 246641848 521303774 648467030 650389954 227551778 440207314 730467182 472267524 399700970 515388068 823247154 596648196 339820874 159968944 734542914 284938566 148461000 789870912 185157046 117484228 35653568 65630082 356054166 403884260 438241530 791696004 521478222 773759430 961767192 39661294 60212424 712447708 783368020 887559426 864937908 381442890 885442330 317830506 192764292 309373780 889423516 741800664 786929604 983527504 584490546 117242342 191916052 852316840 444112926 769587614 410592612 596947144 74698010 240781456 477275122 180791846 308529788 151851924 388448058 628838746 477321170 854123898 414153916 224809020 803279708 491648470 616895238 44574170 153115662 487174078 715620722 404240060 821229120 541558208 439110432 377828788 206873642 216579768 698207020 629342610 48903464 355194734 119350080 460812706 871274386 150283964 687858916 865386302 243613658 227178430 266070210 241038548 477376434 739917304 737416278 895987348 830144636 706747694 692922450 848274914 889867154 689303086 487356258 849853058 639627652 847208606 341762938 194428006 754004244 425698052 903455464 806359784 664022524 445972922 514287714 285470392 574115430 38093332 337429378 889810132 323907706 726555488 649627370 822058536 179120140 192681120 233867096 627872002 987535870 858439656 489491724 210537034 590395820 57573010 282121890 830699834 12531396 1762648 486123108 274436854 133060914 404116996 980269846 426701436 581200068 247373732 288138926 263486370 638378444 371322798 176068254 330769360 610100340 62409028 541511258 167312212 417172332 54189892 234551922 761823840 172807266 846006606 498090678 49692850 292153406 901885170 265876122 861842696 432078156 767249158 750459542 519800010 81387568 144569652 799501078 420997332 952210720 524772466 585251192 828501836 628683288 448421910 969941722 436528088 381207682 217733266 524158312 587361094 917559146 398179426 264868920 894912580 847349364 947916930 899420228 897030882 333358010 644642364 391847292 788432026 991313504 116898548 419316970 430977840 580040922 270008700 933005668 64787472 694003466 125358232 149611474 337459472 669413128 274324618 41108836 226387896 686319764 861905630 833120762 343964224 922642494 984220568 326918290 140941160 13131744 844537904 684230238 757912256 34605658 611556892 9076778 901791508 323000530 441131066 483752706 572414950 455718338 633336352 862082448 830595724 927334942 878700974 856861898 763392598 811205836 837464782 119896822 956614912 944757544 182852066 324889760 759016900 178017514 123887698 446727088 938036466 147971094 596938726 10768574 974532454 40265922 2463222 830252034 853746974 806025310 407631180 666840808 242129844 48347188 248119676 730381690 148402226 443258594 752350482 507045396 226357600 332054632 724059002 915378630 318500392 445127456 971608882 815019646 295320402 805202312 529227948 140926544 520212028 844086932 895340798 777362530 580193140 826776888 774717296 388955740 90185740 729944186 99445004 921341642 994063064 626590874 122975316 210167276 505477064 849910370 129705726 687784666 377124784 44825968 81251974 296817576 283684066 425528598 130190606 853247388 838837334 887116602 775416948 896086024 95437718 723711854 864604154 107045470 925315130 471670064 903178890 939607992 629874512 249441262 508763620 374209968 73012014 150123438 486226382 855900964 507033652 534831192 103802716 648023882 805121146 887529846 312979318 151220610 166119848 563960716 361556358 432095800 3104908 321113602 598879856 165767506 560774572 211648150 639653100 588974946 781856206 109173678 476243220 190779932 925648016 978598896 245297276 122351506 750557250 575251140 686084060 907343118 11503392 434450330 989838666 718379198 209488964 557813094 525257098 108849278 638621822 988546600 506255064 588676380 586900836 805877486 884084802 473141154 868960296 562272492 8657312 925364684 412152544 508627834 475773090 363253352 151581490 184197968 51810502 302214648 803771666 831913324 654147234 730414904 68199382 641128082 125220494 744145942 416620984 712822122 241702492 12459410 753149576 813808366 72180462 488500900 473049896 909181536 198412746 359493598 85718634 185076192 433379890 179455322 318056736 178995974 147101034 109756150 965890092 487778822 758162418 569582918 741846302 248105742 158769916 114038376 311362414 731904662 439552490 599750424 95285352 57535922 570664860 864361662 25245024 413849090 75966918 638970642 719798772 239113466 217591442 61308194 835246968 246134554 620279724 630890748 254993622 890400434 759303616 811864688 179591660 756082658 882609764 276957148 587074436 201999990 836743682 188954914 757584350 779055644 879476454 143800902 436174156 641408034 738512524 637835776 809597506 619132430 633811934 159609824 854218060 121426018 194768416 965617876 572251960 13304992 753491808 203287346 731244296 182146700 124403680 659950624 780271382 301039772 682042462 361048632 83913528 513603772 520837818 373473432 329083184 518629482 237430706 764208496 834265270 838909076 324654666 689042108 184953574 890791130 215302060 640275058 336691550 391366018 596483278 199223560 508071264 449049790 545979802 754062940 320088948 324993464 631615150 184738098 811282884 669243812 746734034 625273868 225927376 77222500 390283496 529621558 223497136 687978316 161966156 157827598 982894974 227456746 161119146 142900580 538126452 346183978 205660230 571600156 441888116 27250626 23486454 402105026 156679678 779277790 170241430 449314394 746660770 824718220 544995690 343803156 941673190 210325032 980592364 903896120 922875708 695948008 587483592 44404770 764135078 20978886 916520530 796674668 783951250 971471116 894549780 270145180 279777132 415932394 523768770 213946102 587156126 935743776 791925890 347308436 343900886 478668666 114121880 919645642 742061162 110416818 399794646 384294258 762001796 13530712 290011424 609573368 97933106 501487874 721682712 157180208 43741164 887838270 73770346 775459494 356762420 31467948 159754674 160278646 202686322 527302850 868452648 786909170 976746558 65482626 860718412 387381872 775749350 28030380 216631784 791068740 777027820 921902742 549959702 804348068 156832526 326898288 73060554 298918684 565316914 143933906 645888378 214232444 156235460 718528012 269946472 321578328 5170022 627016062 779600354 815739156 754707072 638253804 910967160 178059524 897444322 341554076 866576152 530780456 578019204 272737880 403448860 619282304 848159092 589764518 921858578 604123560 808996992 925652970 362175940 560128764 96837074 496573242 837551400 401754014 818726790 328719722 827107358 678086096 261274470 55423126 443310736 864441420 659995984 778483818 274134020 831684404 213591278 924133436 981393106 366258132 456925430 458248984 601840194 119807638 127908106 591893666 794346546 786554716 194784130 869367514 140033292 264674196 380520082 187831410 144817952 31090292 866212622 16243832 963388278 784328262 394480282 854512050 744055924 20234436 584467328 480417434 812106978 260677588 866432532 228144928 376994802 801286156 585055240 301467328 263531600 183847190 665623136 223949654 763026460 865062006 623352640 646716272 822319888 795008562 596097374 273320340 327421316 445036638 983476314 920372216 625812898 510004898 654768800 743712476 302173586 663535604 491971050 523968268 721414888 196147854 691926916 969268032 692117300 442962492 163428072 491109250 389514324 154288984 30989134 971559980 851479554 820238784 273600924 41935444 567054674 302811324 827469018 850871446 243668474 283425430 39575630 841628538 465887682 846835038 44702668 317798268 719667738 203499280 625127052 91460416 877606890 642790800 209262968 946849240 488510304 57687942 169258112 357647932 596396774 284393522 703291900 801388852 135444888 259148784 637092292 363251098 636464596 186550950 17588366 85769476 836254256 652382446 670539878 991478404 73832280 466918224 878662632 161295588 784426188 548766476 802529674 3452998 906709046 500214144 638196468 675384334 687247034 294250086 685453448 661339958 841030252 531654082 15624526 541983834 279585448 51860518 769651146 210466280 827200386 470623476 962213786 843349462 604813668 526008778 545967602 792481874 793962566 469476436 199572256 612205204 959868318 42004126 498455124 972534718 958416114 750216492 591371190 450317966 110011324 533906978 576299830 844967506 736714698 485522538 548610224 716816880 490736922 770997154 300377050 45563570 864975986 712638882 527752568 262484812 676920016 573462670 379352986 996368636 274885116 886523990 381909054 459792552 220777510 873775218 106718940 150340664 720668614 33754362 571706606 939939522 7998778 310612206 360442178 688447934 475257532 768768132 966818308 751814386 857240702 179654754 630549242 712532136 249308366 864703792 590227040 70126194 697255234 876605510 751855070 694728832 815257382 484395084 625279812 473655212 165646612 738335704 562355778 916495840 843846700 974315820 864245700 769038542 868257060 426735722 588481346 15415702 448132210 871102028 932436842 435283804 192308236 354988042 497134362 534159534 786345778 238171360 847511728 714055120 186267702 237133878 389771336 502885118 637917710 506162462 660450344 910903218 398670642 704022248 936640170 226104920 753726206 347186826 616924672 231112352 782375690 814023416 924400004 907097450 119990886 30586258 972357712 485452882 277158772 353633176 843205568 316680788 551825382 48959866 595994160 32702638 961813664 887672906 205668598 313906124 731478828 968998296 69604188 286163250 275801194 364298508 165972816 800114598 235883890 593434614 300603558 637366638 501170310 936393692 926672170 246588596 590849430 290901820 747129072 273355514 542078376 578865658 418401256 915609110 676433412 401960452 154498412 286935776 234855816 345068596 843587686 269846226 744477628 283603194 887259804 218839528 484172246 122666946 780902264 687529588 77430832 186607126 453943252 954750376 954082610 762875412 153534852 748400526 186712268 876497008 983837296 491338092 524283940 790291602 651708870 216539232 211983594 755359660 967921286 748880176 384290528 163161578 445619888 941294312 77406634 556025726 745118726 244798390 399840980 440494290 604342104 473338864 835745562 212513296 301553558 882495916 280018848 341627114 740382606 636738124 729909798 769221366 549720278 158833186 299128160 260467326 247464974 685508184 524275816 205228124 278915930 139313286 993088970 373649320 390356816 706314266 193481772 152305840 365192274 69235922 18305440 424198282 563682660 794863342 960257646 852088762 683198074 214089420 688924316 882175450 691461010 745031752 890880494 989372722 674803016 852225344 619905500 863492722 858611996 380467756 848082310 658579450 650239956 78298140 838434542 883580116 570499350 743571888 743436904 19952224 389269550 718443122 356019710 641255936 200492390 187579008 993581930 989751314 553140508 60917112 117413504 643304536 224700358 716258552 839998558 251233260 937649036 331228496 833879224 946649074 316407246 291106932 195184276 165921172 616781222 647660168 276277940 203874982 8317850 326091386 290815672 101291646 314872632 285828964 799623530 652604682 928135952 759582006 440770228 316870322 993023540 911376846 886629580 445017620 936231552 617652386 463261132 369200142 652395278 799420862 732333712 885937378 235788832 907495894 279837020 306945918 572103054 102486264 777634856 754230352 690432646 682475360 355769936 396175004 201734904 783504568 255509496 128831602 317248102 864095168 360853104 525598128 983091680 643986018 980572248 576084276 524616084 636858442 724946264 946084676 282132780 206324898 240863968 514887696 275753772 846984210 595935274 872080266 672417992 400838510 308682406 773873900 279469504 742407052 403310868 993836426 476433232 366262514 700673694 937652134 75193318 817707436 707808382 596667378 63978274 941772922 508618072 836963162 273419990 703195796 328222536 13897762 152916932 231293788 815588210 276584712 391538112 969005078 566121898 487018674 740696894 706808888 678541028 571681628 212383290 493703642 147972692 170456350 886626350 961611406 194094074 411393394 493845036 121134622 886661966 655235748 553434714 127880138 948991304 339558740 674476706 277913316 490237128 62229628 309976628 769919252 166200462 95305540 625956106 548133812 412602780 480694146 677487276 538742768 81676246 684693738 251902060 966661248 369331090 311720128 156486934 50926712 179821016 68181820 716121034 719431184 191235532 943303128 326335252 755366444 398651938 877119398 313973812 870339650 587255498 327943442 275498862 657052780 272786846 471665708 589411800 123254932 705580390 950546668 834061326 857769554 706545848 941809888 665846806 29748768 571362796 154809370 695273884 393586642 81737700 550357162 960119092 744210808 379905192 771751614 871194818 475573292 467768602 561688852 622893450 459754128 936302078 983766412 823841806 633263606 282194786 613028298 268802118 166453956 47646868 935446722 837758290 452774976 54358098 773599138 70423134 317073302 532910804 452189226 62154654 906996128 841305514 648519008 522693124 535015458 133007024 499315286 169046990 439410912 137105132 972454656 162423922 838220142 813414358 252572840 397144856 587809748 544507144 296089062 871725522 142722840 209787474 379996586 320412272 597114542 543260258 61268952 499656578 225695026 806832576 152532234 262347442 614366268 702934156 825416722 49457160 515536856 415963466 401530190 344355082 124044412 194465808 3737930 279714884 821917714 491419458 207661624 860883864 772856066 90699458 784653264 271188012 18640382 601047422 879824578 171323884 624195576 178188662 579892106 213827264 691798548 829730748 136584356 10322504 772498352 971182694 575304706 555925344 876998906 739255726 925768584 214820784 545664098 896742772 644956872 680948618 153242396 403200414 637185290 507051106 645026466 859723822 503705014 817048716 905459650 244323984 577995536 39950552 599660596 56184086 665725752 483923442 786588948 965167658 790590334 891943424 21184336 151409448 827520576 883937764 691127962 322023122 731411564 542970398 298803846 55269426 968899272 529923692 600159418 403116308 873002680 29166152 842873168 241963020 198120808 403423564 920974224 792193562 809337936 406644224 300482126 777470488 573670380 160649456 25518196 389168548 720407940 110396518 234926386 726630876 97396078 705236552 677209216 356494140 736438934 910844872 378703894 97192676 350326578 670034360 968187042 513650542 137252102 534102392 313410700 389988358 558776606 479657944 735826426 162623210 738083040 116010802 281741546 314967494 559112918 583962882 413832990 188805628 138511484 753444654 689901242 916681248 8053036 967151182 396053032 338079038 776111602 449542280 597931520 80841560 831548722 405380114 208397282 412568488 985568320 293454370 581432764 465436800 940526878 82873346 146203850 329060194 225835592 772529258 871193826 328589920 900076980 461764734 371675502 41350890 985806750 473559788 641125320 235615878 294792060 382506650 65013588 983438430 28957732 481346970 402191224 217221098 568859662 14008746 124446402 776052988 10987012 143677890 316780734 963144782 917742932 728044328 615688948 695278214 447461150 935924422 14496778 721474064 136599436 338118144 128629140 211893050 860606880 193817338 533777330 73366256 846254386 930678300 603339044 516801546 107272314 10429316 113628806 91731308 176360414 752669446 362357874 755121474 245481354 285419602 469659594 813597094 892991480 552523534 735977186 621923804 997899524 703207944 837958586 215142528 266197250 572905678 475502666 355480004 837588430 781476078 396035526 402343416 241865602 888888436 964462110 828971516 652232018 35905534 345222716 731821354 768881802 260755402 172338482 535581666 52382268 47854206 151776586 59662574 659125592 247799052 292864350 678956826 54212402 678313550 399081846 530522132 463878192 617344324 987653322 126422196 523944814 315231996 580777460 200975644 389484720 267464262 768920116 125746776 626015792 424027662 606191286 876670808 338570586 867331802 611193550 139330102 723254164 488486980 778209750 503109288 680987880 594426970 113184330 204959936 295974924 10071702 332985042 684950316 156711994 28499826 934888376 405970372 891718334 56885184 625946128 789832862 948775568 604385690 831984714 876388014 937588800 776320978 955226816 828023586 162009284 333065084 876513786 93608326 749711462 370123266 18531378 541551630 381436996 18580374 803821064 783222656 328188606 291860052 466851712 642231968 236996448 356488072 101275452 317225696 958745262 558966258 414961692 163157016 238680914 672419858 737608436 545129600 702059974 950682094 215495244 331555630 582409032 573868948 114495050 6563888 310409906 741013158 278757144 297109624 865879268 901244394 969125296 386526786 928648294 847338170 75944388 372897034 964095924 891842284 523821434 382832708 410449544 168874366 914097966 24221548 535710252 460090766 622190286 443451282 864101246 115938216 785987668 13184788 37333146 53835682 775876980 166521748 25591170 968700560 235851554 791342658 778571966 729158466 695884586 688831172 915777484 818613778 825029106 304730296 80828276 151295592 305730200 212914068 66061624 129950970 56829694 42689058 615122878 837133400 158858422 84287292 303917074 251193436 878271814 839632578 231297516 241735034 583974152 369493242 141215318 59302592 172570928 490526812 252892456 824817290 647750402 721089632 556206664 432319638 942809356 645988220 322801820 721343454 153460494 463236450 868797160 425698458 513972068 321787990 378284998 757012978 503541076 295163334 214997580 29165352 922236816 12761730 145930290 806512424 331349204 343036922 996429660 452515884 505416236 79169758 566020444 883632732 111567610 237721336 51118396 155670624 12640470 739733480 865965560 312209056 172419764 670251446 279413164 501457662 955330350 879313836 411416688 352102304 301001056 81344224 613600846 118098248 399331912 770218518 449321050 275408842 637305660 133033020 685657448 283432494 73607782 33863236 854552312 918661028 903285762 32348120 362537622 447362654 475448936 816775038 274586706 316423946 245904640 24933584 902773552 911193344 431525810 853940540 632606842 81415404 620166116 205915840 321910612 223217140 281074286 935501810 254232532 538557328 314837836 95727102 317622344 864260002 508920614 727961250 236128312 778106840 986659306 583007250 65967794 788546160 606868638 202896526 584603778 533724106 756622048 841530156 168481034 648764178 894416638 644047150 254072914 878476534 995020492 851311746 488259064 9244672 252695326 679018974 139136200 132478460 546835608 781847862 965096804 746610360 336143440 661164036 659047814 300588798 12867844 255910366 630520916 299724092 103834132 25928022 821880922 133143374 423657326 541937608 810336508 606192446 651586614 81266150 617691652 463453110 96976042 133598268 587848438 805962478 478623830 458562462 193499710 224727024 281609482 277648674 697605110 69219068 875969052 803038988 249634038 622105216 149754644 727012662 802514748 587981464 399119570 212436100 15576214 347240382 681820802 30350050 207474302 681290456 792080770 977010810 532467206 98523200 589341928 448036998 283054410 265674904 102196718 219006284 929522012 364332450 775386418 455316448 233084714 934104154 417532012 511412396 758336512 579059702 770647022 552062896 933565110 137561888 603211772 8373782 42787378 670940788 758042588 580856438 576161890 400329540 413062578 504467894 346810650 533717408 869680566 540541436 68867896 599731416 54916600 918258526 746132774 372344200 790401784 541844650 935732246 861491898 882456324 351752640 308514620 743350308 711224138 465182924 932365902 304203276 580006396 418599042 789026258 523001132 556979800 960141148 662026990 718619672 427039858 931546832 461418640 681290312 277463134 243647032 554004382 180620792 806600432 722499180 702538636 107742116 350027484 996869234 155888702 484033848 3945744 796106286 901513590 829853798 787114710 251776566 612439234 828704026 535495184 655446008 308828644 451403676 996182682 926767540 348475292 382313194 203046016 432595660 458432518 449583950 586571492 580730888 637306806 322559838 709202146 510380858 927437030 984867408 722137650 30943974 386002842 800111514 240685458 851871536 814940124 44801008 621041584 744250282 676678526 337519364 654821598 830191434 746802022 610492406 738356264 154351474 164589670 494329606 163327610 161430796 518121718 785784268 475912950 844156372 843640486 414548662 492919376 318120630 2154900 934672162 386869070 731136440 786938222 501762358 642646190 589511676 443047122 756804274 921576708 431962790 403085274 437615564 706437988 574942506 581909396 137590498 616439862 735303536 64770572 597416910 494510394 889736370 618027654 284047108 822395116 995485864 278746408 16339550 809543134 198980532 552096416 876282006 15528218 351471866 159608724 238725008 438010538 63176120 872513816 658810982 382364462 246407410 637958724 318033406 352185856 326402630 351083932 866885112 196740052 292518352 728190852 709699270 981619612 777235136 340054684 258923744 344857270 50672148 587833838 509348076 559435874 503960098 74804124 585654352 863886998 822113318 861693116 729545038 955856616 557577528 291013328 960590820 338178936 230135214 128446814 384036846 17090168 10920666 566537388 291520818 131931414 283589736 750866248 835367628 687992982 251608444 27933616 528897448 699612114 495741084 695707354 214373806 360708440 109661886 140999118 875877410 275227518 708642278 27030668 790965362 296758380 684023422 582650624 29229492 416387212 684040498 866827702 983760078 473410136 626927682 367296042 450800990 344793228 336143572 183952958 712567680 320262074 627373080 866189222 546688596 359031974 575203822 721585132 650009878 393470030 501550906 330432634 38199140 358619592 640242752 618430562 700979980 108363116 364334060 89715918 202219688 681974150 831825286 648798246 445868998 138062808 10982254 879337558 920856382 622146918 521383858 671032506 962571300 684621734 272876992 596869246 496661358 446225260 949260110 23594850 244756980 559906894 41406566 323041818 719467412 255216740 288639682 438623154 603432738 479635320 792873120 506209612 681996742 30234332 179917086 847478746 630797676 347575554 391632050 643483358 120558496 761641764 334145784 218970202 940683120 108691046 343248460 157777414 878968542 646385738 61112606 103576 1039670 166226946 997890448 420277274 126410170 402009646 44043122 55891820 890728918 95830474 567571732 343602660 83976406 95048062 980312354 92597120 492547572 247225030 175116984 585127948 644362690 740157026 861329236 510610552 854742844 224758102 348810636 453988046 424724378 686189222 239092610 193187206 599821850 716447402 447707214 590390516 256261404 249867936 783548318 786449032 551554426 496936004 899719222 45911116 578850528 130540810 996101026 64151496 349087676 867046552 848228712 843550100 813887668 724492784 483209496 888268012 613667134 450614500 532750956 425802302 16042028 561106930 184870078 111712158 479147142 947525238 490500246 827456198 774065954 242311834 246898922 997370572 623572176 521814770 152687826 525441270 605024162 59642012 560797182 61709958 593353816 881160050 592791132 160354148 19405156 207008990 11201624 683986296 755342166 599483510 14000334 162437358 853154338 854590796 299222910 479816986 509031126 219632036 143459930 604360252 377306414 215495898 925198802 56208512 343708184 457345538 582684520 194774202 655631448 408436162 927245558 114037244 895757974 736471090 247493404 638796362 214539798 395712576 356408098 170266042 303812096 275670584 338219190 130194012 957833362 175925176 395984466 489717312 295739232 621269230 808167290 596019214 909956696 734354420 623097104 719109394 311678250 142485872 136247070 509063512 127067588 672779662 357621358 131776472 187064150 765182650 30160912 430313274 505518924 573540084 673935810 923087188 460422828 300163654 70328470 597338102 344969760 102109816 405115188 56740058 644046680 493543896 106228738 367023190 542781080 341291086 290620500 468740840 721270110 343150122 394710832 263073076 776935420 77241364 825522556 699017794 303726128 118157012 940322800 618931642 244453610 714182276 219959494 730956282 465469134 176268438 345224916 998363004 343758398 135661380 696242566 848484808 690293748 133865166 556658018 680331130 431454090 2208806 999882270 1282856 508400204 194258960 711785388 469367460 927857166 447980050 548798190 326947232 82741718 458715560 42842388 721374952 416967420 613535290 175886706 190489702 578508126 651303610 798298734 545292866 708210264 701282046 582205700 160461784 509657888 554874840 409146288 371335632 543673702 197081950 798666386 890745868 163683860 43656278 607673176 471021802 699683492 237322116 698193274 532491070 601383808 323629952 181676926 422273282 283731710 849793768 595377098 635118808 409629224 609865386 388025422 661929902 971101158 702242186 598820918 504518682 692037448 747409308 157044762 97292720 926873696 47928130 294635064 631039630 117240846 604989028 340557266 21433246 116526058 412108996 704439556 236976882 122854484 222528654 141102316 824415764 465235494 816028856 897344112 471901860 379817822 422890410 865820334 871806052 626562340 896445256 282396856 964528844 957970372 123466062 337871704 770652138 695548230 291162636 875203892 425374834 483374718 270663044 539022 436617234 218654830 962512930 155416254 495780012 381884374 801455006 10474972 975516110 292057086 430427320 205475768 162920804 260669634 658686406 239162830 352742022 168649072 724687026 21870806 532870128 673450440 454868148 633865010 312945792 281400292 39279176 719378680 745603954 524280482 834999630 774079096 223273184 623370366 549447694 335801658 849022356 206089316 870195012 336809948 929949266 312533850 958331204 591382324 906361692 529641784 177898 70228192 395075702 330810830 759383174 816665946 40577746 167175006 13371814 766590474 300750330 102608244 796978646 423237312 257717738 738992452 81161918 371192332 404397382 285809258 945493526 507818068 842774462 702696546 841899862 290015748 525370944 105790888 560171630 304232660 876682816 635212704 962489458 26873640 695355926 929120710 848208664 313155570 355634312 315929972 693658832 51918056 318156756 156148818 972995856 954887022 1789752 151681350 370894458 331569136 61580732 948421974 587622626 429131606 241565474 616942116 367912220 65326466 361364268 719425990 481893450 919800650 107316138 955443804 663085278 104419660 884555692 64794660 104797694 417508116 846177724 173029786 484607436 954549544 13069156 489630550 698795200 731692022 887749656 791009704 290423110 98584556 145443692 986962292 378133252 894462424 84734236 141494768 362864706 353489424 275294390 684159340 774111698 841978076 248691268 328776508 673353354 928875948 416159186 438553732 817728238 733570224 843844402 126073120 107462594 305008188 39338172 605101000 24433282 392996872 524235882 603220598 527270384 757820798 454480612 72597434 787723402 597753034 955818804 730787036 977492816 398928806 597603544 493198848 578731502 26285702 957197550 509937254 808402880 730962678 434455584 266067604 574638992 491675868 879145694 444386806 969835026 784181574 477256824 516356122 195866178 458642130 65460770 677451138 777604544 882660882 482445666 316568434 917290214 676143210 376894188 402084532 671695662 888645248 298596342 998380092 572040046 832478042 572211976 317150336 614451352 743437754 530719126 478244486 638742804 453474350 500090908 785195490 476896126 989017182 264661482 170311382 352884788 658859268 636550466 206783450 311278774 834170608 158354434 438560930 811541954 221046462 522884276 621895784 818963874 762619422 109733910 251634796 16671674 458300806 724516902 840282850 676477814 296013760 975700014 570877748 311786356 860397296 601664996 6702704 16046076 439109040 514409076 716943410 185818378 807512574 482684990 731122032 52496880 547718686 303462282 75764832 66957700 175310750 427383792 407514468 553702836 526152988 319911248 780235056 732983016 94954526 76489412 594610154 392685704 644502402 81209016 772172770 122047818 88632628 790611870 141205464 737731632 304406638 807289242 294858214 604894776 993805224 861967040 811169016 329180340 646436880 772684772 927399326 752897818 837742346 52249994 399851090 156204944 456961594 207943626 757331168 236786040 584495558 49320772 362669752 856620776 480255516 33283490 613651198 195943098 180973546 272083622 188517524 649414728 440376736 915108266 476643390 846595726 398641616 212125936 751351710 177277566 683773822 497052000 866339474 874551452 201001066 331119306 932212126 95311974 935079714 409120698 305770996 936460670 570841070 389889170 907292252 210828034 125600554 260324622 645932018 235485168 815078710 93528134 108741812 824019522 839647822 431587854 558603020 294311160 891940174 371871802 61165562 98777510 261413806 223710174 118498232 836019370 835520386 169014220 545960190 470266920 40361202 358433418 460193416 323379500 32086414 470349928 227979316 717485442 475098772 869574028 553702120 59018992 302850128 601615076 609141044 564469746 883992106 400763854 357201760 604352378 866559580 807156990 943446872 563452042 743547426 635184102 580803440 514947842 633009428 994214516 258820218 998590754 645635334 993020856 501516828 680052926 528289318 142083958 692646556 951849474 757069584 797889284 505206326 446773902 990510502 881462670 69019360 697319734 848661634 441624374 202806668 515865800 432098794 872116688 387330762 492899048 313138942 383320340 344848398 769385832 52476204 503822254 468853216 258407200 288177888 98617910 92349174 557629574 358578898 362263340 851173038 274307662 303626104 673755870 107006580 611613722 545056878 380056928 878992592 178026276 147817684 407177620 47323542 423862522 832205266 855190368 75235842 60371796 451542086 816048164 32432712 453445364 139794062 211174318 400266998 706988592 387950776 766336008 552502932 811016820 466765290 631181784 431049298 583089618 307740822 295038054 312737468 292349204 245037520 1209888 197325162 290478344 516663344 978128938 692593568 924078864 247967430 25336160 585706594 977388952 948899134 528594634 362987200 329765428 104888238 956752582 650016170 916528052 533597186 458858458 528970198 519209674 912318812 100964356 273916484 205031562 981594760 435621282 139022664 399898712 926924932 158702116 767156584 896989170 412312448 19673712 753601418 32820114 618735684 721926640 815576010 585411548 43676126 768042052 664525330 539012090 354678246 933552706 1997878 408357478 746549510 642047762 186253698 75196904 475214674 324674106 813358536 676862492 526275436 788598018 490556484 718099156 245223658 136878074 154982496 234313210 369238758 427122380 816303160 894126388 39908142 694904760 103905856 451551260 762131236 600958834 382094578 277687572 515186862 755165818 594255520 805629676 578508692 474422574 856684016 551796280 236796564 423995328 720177662 976049310 886613222 985542408 12115218 966484676 265657452 441875620 614333410 775324600 911177382 884112156 111664644 30285510 798477872 718774902 491843974 609447486 355937028 403140960 81883282 39798874 216722458 40412806 136687274 941506876 860374196 929826486 688778266 707886748 805225078 204631242 259290822 556124928 701221484 45956774 433588480 227127064 269343404 811129526 762896288 990177114 755279912 703773402 333408832 632380850 545081128 252910818 443051782 367607932 777743700 895919804 709817994 520404378 528418054 13897108 819478472 441566096 290784820 495551560 646555218 974847382 762340402 161681914 110415770 770778552 680030616 287245788 926157242 344817142 558611402 45235106 147522346 73981706 767790174 220650276 127726308 420396672 154134022 48994074 70798496 736707502 268001438 931896662 218368016 96125220 521864084 325877778 210658122 788213310 408692220 43059126 589711164 162608584 10006418 154307440 690110512 470543282 775877778 13005710 260903352 40618994 524137486 280410960 439204462 74257492 306388200 496356174 196588326 747344124 893516050 903329324 481086302 639347706 141715900 169147434 805484898 270664240 775632226 148071646 736902010 26078476 140221342 212233186 483473380 323101396 32645502 801513408 248523824 277686270 84084706 17391846 483045600 704552842 942408716 32994908 570455728 112348674 455422 92400684 142153160 810458452 852889600 363155912 19402442 10380196 535481950 721446204 111683746 946872980 265883530 780894088 142448674 955658748 543412468 124567744 49052746 52795926 94382552 239904114 275108658 729056580 303217140 663815312 496084574 809330250 513989408 410839250 408243086 683608174 126181704 304712146 462872632 612406774 543106690 101660812 438433806 285408522 538507662 698469024 349098300 760292268 888456144 551828090 829619708 222297714 363728222 335019052 789169346 479140294 817543862 629352440 154054226 813934612 189740220 654363704 218182874 413867308 165444650 218874176 426514866 240917692 893675130 662494092 617354108 521483176 945132190 65024744 390772 748871744 415510298 912897056 20606008 64143454 384330462 389901948 98280098 810593514 65871364 692299114 219793122 876385274 833640886 941422186 421383252 55812464 422290692 613248490 19787746 223834000 578959960 984081192 832974156 402864008 929275564 671102408 825127876 493681792 850679256 840882498 188204170 478479878 487886324 337530324 667392878 655370506 429899666 574858218 837450394 34504924 282085254 402706304 724446820 182984318 598617902 280710076 646121552 484154494 654913486 902093966 564047204 439435906 441573166 807014606 386618544 776101776 891733744 247740336 9613454 350004068 143693406 351529320 224467128 18178902 597544082 845153926 993685278 454678442 351896538 872990888 446708980 770894188 898757280 251938050 367234692 830050466 179930646 243544842 191561990 913610804 170795586 260264232 509485872 905876950 246670610 182518502 561464460 216221492 191273638 694261056 641151280 897564724 789896098 239945116 877317274 344338002 953216772 900306622 390671230 140568062 430296286 84693300 464101340 686381890 476144160 127533058 345726622 868348854 52136144 487089306 423409412 523276298 411364882 50459314 611870328 86224714 128694978 83809074 763411772 413363488 187059580 521176294 379204126 742048028 807076562 455210372 27340832 391608452 767611734 424230658 168438732 77134446 861003426 226163606 323143020 67377020 762604630 464327550 834655926 726768808 171047078 623188460 635443890 309220742 498701024 685825908 713960684 810454352 2628144 390690122 682483946 137615982 914905192 207826612 384427704 169971012 537523206 888968328 234612076 944938124 802958520 133454516 920269614 312298788 168639026 596902528 551005670 615114632 118783418 668024330 366724744 290770150 302376666 842257144 887186712 262329030 669949032 24753624 625826332 915056676 97934088 561205286 310165558 445232794 74202202 833144820 364968778 480505608 411965030 453996298 811858080 560025840 322028314 806161564 4431898 540463902 35226652 862545650 341192130 709597080 979152278 646416950 173645158 143583394 694474202 175513146 797656644 875616848 341702504 894764896 325135854 735404702 28056950 652152840 92115394 132475760 154954200 476358582 855188784 374586460 187146004 354376794 308408154 141465756 447260164 2263052 43984554 298179182 693321788 863589846 192456972 579840030 138005130 881866914 95811712 809055336 472766826 522377654 466709886 265191368 794271236 824713942 830920148 350766262 510785774 179253724 147124996 297112234 268682016 189928370 229198864 113416450 575765568 258754094 140530106 405174040 350623162 384552358 812666594 483967630 132000108 830132544 593459970 804562480 985261564 567932372 135974820 929103866 654669608 748309068 130607510 890199196 14514852 75521264 178124846 96328402 904697518 760364018 12131056 248191196 602432844 422001874 117772302 93996342 760701420 620561570 813930468 232889726 963834526 138597024 815697922 419989898 768145298 530094804 126537646 451763670 763886836 624965764 594650798 219487822 910318366 466537350 723346224 897430630 538227808 47491170 120150758 996725772 716889524 798138460 689951316 71999402 675220930 787730946 500781694 641339262 952287314 72827858 828645226 989589182 584839792 352866526 824576516 532082704 541042910 633160680 555869508 149689856 478720014 538071560 985898416 848882810 864555508 166566940 240962174 784388056 555932286 828902156 136169378 74350070 661466278 248326510 337417406 432537010 263169574 704358284 56220542 553331226 461801348 329692232 921197868 639144234 210728576 276318972 400999734 968594394 653652984 210092178 492609054 322606476 695866306 697585300 424676898 206135274 30979434 528966160 767712692 618806562 711488864 237033380 59490628 372542278 851307796 361409408 613291700 492169582 765836228 951996056 298508700 511455380 418955142 203908436 269671084 695445574 714491526 641649306 642199832 402829088 881930128 732471516 678389158 369555400 420856112 230478742 64666234 261774440 70156042 468102206 33083800 289292272 455649442 631808222 915749648 123619310 836898548 80417274 654059836 216854326 326693668 914117112 109747908 393091666 698275976 633443680 999408002 717457156 811645044 315377526 301352482 325490800 844963284 166409340 106386762 908773656 994232592 758292 588643796 993091818 958322970 186065256 990955600 229593584 789882324 832321100 595048908 101135602 370466560 896638490 443599382 279228214 861468428 725903522 272622696 122975556 614844168 587004092 666242328 613525450 987134214 48726138 936425068 890901926 989414392 570868182 287264376 410290412 515871000 987030416 144231936 304918658 447222120 581694514 49634404 982525688 253634088 848901038 591855770 386490912 872441606 881145766 486113480 71986628 367137782 699065672 19219794 590902260 245270672 467936024 341393650 410404326 496814558 158377498 254228772 689497566 609804142 222039778 912207120 624673574 514828726 98572222 698179702 410931100 827197148 743142878 993192664 123768886 442417142 729653668 608669818 223264650 191135670 185225734 257379524 69583068 540473522 744161296 351296754 27323192 897696946 568005742 487199074 590327388 923875994 18579950 627651868 26445126 438355174 395996398 780877598 980971948 7373576 169312648 965557826 195162134 380473384 558523992 36090560 113452770 834860224 92997734 175608684 36355586 60554558 427184780 721659342 771039054 624281880 330563586 610853166 28256686 513768614 743177278 100982076 737627156 294396930 169534430 238090788 671802904 522359592 618151780 650874764 226000172 969400718 541342180 119320238 86462174 959927452 818069356 740057256 101152814 280126860 607916060 679610684 766366372 636434798 594197480 221588418 576366 966389870 283988576 934400188 858805714 59733228 18686196 95534754 513704260 675448608 787748802 200181924 18827954 728838190 553118978 542991110 444978534 210133096 128878854 579216236 69503088 396498886 585932648 73171156 36245890 24492894 122979274 299400808 140691230 39239246 27693610 745232058 398681152 910243470 638672798 110607514 63544574 777119856 76301642 694934652 395653950 553608440 35361176 524092722 456832336 474801820 247618678 853630792 475080408 373405486 480318126 104936204 576802658 571115170 769291790 925322342 313279416 203223626 911941932 263108760 100491732 612035538 934799016 813609916 816837468 53129054 750864762 977693326 840021374 543167748 83043664 626511226 965105436 172199058 304756718 459709126 174211200 416238476 731167354 357791884 969846414 74324152 133462534 936115658 826120038 135973488 165855802 158646240 212906210 897820454 818236188 259097222 926772306 445927832 426414294 570247648 970896740 926233248 975592038 697689268 423407220 500902188 149870132 306124330 440497994 670958916 765324068 952666040 873473596 570876186 510933560 176472304 157000358 911291444 309186568 760397344 375077512 595112334 372463512 322513144 959683734 779192058 342450488 956539148 480934204 321971158 105506262 675254036 443309766 590851002 823927084 173488256 609198808 706638906 559718896 808581086 5506712 289280424 423744296 306008880 874451528 642973002 602149304 630451970 122319018 925452902 352434250 813848860 552657246 863387938 181588334 107474640 825606254 568413838 550074446 708093620 273971412 385803252 607259368 789468114 316838356 427745926 957812386 277241128 387721612 277915796 263145698 658318914 336859946 896288082 447103736 588261768 862677766 291092064 385069490 751765040 562989456 502837430 112013858 211127886 136812704 737453416 834205474 913146988 514295500 142656130 330200208 921283026 377955298 275980756 976828838 663875446 376314394 819126276 825282512 506247216 907567006 448697992 852324404 253662118 106081678 766447350 34667162 481510936 112906658 305785464 823899072 312892636 130452324 601243516 359843720 528043962 649870520 450276536 716477682 181845804 615624692 520081372 311913882 611968818 54496034 599083986 358692190 183020732 531813134 16907406 19486340 612769816 182758120 785200456 692487816 374617092 961148692 754363006 146597358 518250262 474240728 256765580 983671904 151813226 918705960 411442724 769328114 892880968 5472802 315435484 115279132 60570716 397609902 781444458 793927580 41365840 455688902 343034916 582846742 524408888 318499292 565916428 488373800 832297476 367379210 541857954 264312924 45769468 346290994 603443046 395386138 690621926 690430672 23774758 422494514 475165882 559389650 436959760 915891094 562406288 990400824 516291452 567977212 125047610 493594946 118692820 231247620 595909496 897295940 442157778 518268458 965168876 201582536 22954560 154583388 892755746 640246042 526055764 782235246 87853648 343366192 166565344 919586106 564272310 406753780 947923338 406149994 907236196 47490416 729740642 301220696 177592574 352251856 949811468 223360954 434214800 613146676 306914952 495969840 5558128 118957742 602927140 21212592 251993110 876636514 180474716 283246322 731735968 45624108 524084468 229829762 285602776 897266646 144464790 709152818 576400402 95718442 472443756 38892576 200820214 163401640 380268900 516108090 648725202 441474212 794191378 184870200 236701364 698278796 669850486 416639468 129558878 166967554 182314712 448883902 427459108 78721052 127818416 893429684 42949988 596684 223334166 596635024 827339898 1562370 644386578 505657740 256820226 353112274 493555630 905680784 700734404 26753312 954854758 267056490 689866410 934846988 548017822 880170606 207547256 419620898 527409022 457758388 104181338 44890624 255058054 65764956 708907470 788599854 312588038 156609700 368667294 363614528 927418954 777439204 619934084 206795994 321986130 278924480 673115386 306434728 301400830 30239360 32927800 430608754 560216032 343781160 554762632 47791902 450785066 115213122 226760384 317172356 444110464 202265440 223168642 653217870 801105666 318443576 226901636 291716744 838632510 404602080 716154538 687822006 87963606 370463662 546157664 929115318 577879242 326768806 621032392 722429404 604517134 808556056 462295450 583810666 921299604 650276982 411097272 481496556 647140596 768106436 546051924 121060806 483900166 522105152 771600980 959935042 347350388 862544890 862425468 544624734 472633966 111417312 994381186 695213520 982777054 361922746 808217502 967214860 690895440 817431750 922529058 693675106 939812230 661990738 23109010 206335112 430392392 974885354 815532746 181386570 853068042 211561484 203196318 859532964 699525966 569646578 838455856 369899624 723257288 653230898 772710752 84762140 523381458 688558716 426744052 393864762 466553242 726774254 705062056 468793842 609021390 797312298 427652026 904235566 98456184 403173328 562960062 61099224 591233880 628860260 925657928 981389964 515674110 526713706 204236494 8490462 740539148 967909874 961955800 555329386 132320304 325318328 42012918 328990844 519288298 115785866 660797586 484198300 395002668 735976928 265082346 429933856 874209876 610410842 268810830 439240146 518291540 573148780 956280714 608580688 712847308 799817156 701059680 869253880 909094748 863916120 856847814 989888204 614548036 663796294 178877420 908853270 940453192 698302266 779809270 540251958 855104896 716754794 895996626 686753162 688839428 177844624 183630386 975426992 406770610 502549090 858196766 800095610 100133366 644969714 782579832 117235594 156219104 764763716 55712824 253506644 404166496 115173178 627661890 917757446 973015442 217187924 832204448 60129808 267395990 419433258 225414456 720497354 870854920 322836472 640240868 769054146 266851326 582213776 436062312 158334478 61794190 148603984 172726076 220911412 619837182 270928008 829133318 958692676 381315878 923396728 962856416 925915612 235263326 575114790 914271048 90051524 823966074 546387206 471236692 730316804 805775076 990784694 186259280 535664952 682876016 756909402 239036432 97024964 921371102 728873324 41940214 643827572 999018856 135831916 948891894 664053626 141086224 565049532 773679006 707430642 20447268 316085650 539492896 953824830 789625836 337365734 986226142 136087746 107537614 386345378 565141776 386878606 289519980 609763024 390266224 289606304 247286028 352457880 344964584 620177162 876138190 816946558 877602318 824710310 798519972 510760494 193444976 2569312 227932318 894392054 901833190 135207496 366017436 330194134 541087958 361776532 894147910 821518748 805003264 775540300 415240738 968305102 510270614 372026296 784640256 661026144 114738018 750772684 668979954 573459482 5524876 980194810 626912918 170754150 677113614 371259474 501507436 49880470 667999274 956766920 351030532 606462404 717706758 858992086 349786606 389286244 694413694 32495378 393875602 983082100 815801438 854487688 238534836 813337640 670684532 498551432 225533142 118353062 707861846 768227456 182006152 48661256 251405588 588130760 788507962 696271734 325470156 311890306 680146850 96291132 697799662 142639736 286601880 978631784 525226858 144783708 317698318 231818702 391775536 910553720 162729318 924126658 528666608 314943978 811077676 907818810 815193962 996032332 929403978 30009670 250360986 712653990 697406024 316550834 309410476 910495848 187934462 262695484 968850166 12719722 307134324 1030948 88144736 747580998 568536266 967304730 997072624 127914352 978471840 80397280 749300932 752061796 313617706 212533936 869554808 368511120 219112296 273322586 164438180 519097894 115009990 925077064 445384022 728170960 415205224 864091272 479898920 513692086 445796334 264012244 698225908 49787634 972623764 854610400 657090034 184211886 442432782 367872774 810782474 61790726 375862534 824273802 974774878 540965256 836045428 49814702 833534922 315200082 368800260 672474210 773138386 486135386 950135748 921515014 946899248 57216420 61061098 314520638 799364478 174691308 203437308 524702836 229891538 576933776 196630146 303550978 542278404 31149830 543440158 939091744 570875654 117390596 830701642 65612900 274634526 412051966 155224962 853316264 197954984 162005592 795843654 865557594 487221610 916331628 945253340 99727186 352644956 380182508 824645310 808261382 762435528 87773686 289811188 249625800 393735828 421662578 882705584 44585292 562420580 13811868 808616682 10051818 644486582 389810 895592782 30112432 642610618 856711228 815552658 904675218 774226096 305632384 942500568 529000708 3870292 683196804 239840586 428390706 394334978 576304652 320226838 833346198 310845236 238165624 634758750 843952750 186884440 604314044 736039122 21176282 975871304 335590514 411448018 493160382 732394550 191393142 994092864 692172366 80592264 689714896 213037154 15114750 934566936 631704072 773961888 783859548 887619680 230709932 68703872 151397364 180463014 144876266 158763518 577752242 533680400 152844584 337588806 593269536 527025842 269529344 589413754 834043370 581244638 754852344 875828138 650739512 27445508 196770262 432872082 64911488 132642480 812148144 259117596 783489826 35010302 269568154 943388408 625336026 862968318 48392294 730238354 685108006 625934856 251119740 311997826 766379600 204605648 306940052 36288778 626429830 852213850 240278724 784355210 610706302 61466030 216878804 929581090 397762486 653674792 696879246 536144212 810158290 785753416 800888268 992196342 601665108 799229368 915148442 926143476 891996430 955559038 78354618 254371796 204820806 633221272 530985340 438882340 864185410 332912172 686022572 728345694 51589970 917967884 274208500 130797958 445170394 523028166 566667680 96398144 254873084 794059814 632503262 651273996 118089130 993121392 88153452 130062770 969439700 921684226 384129046 15701432 903733700 431603612 65286900 568257858 366615090 339756340 345466556 686222092 446217360 885069806 727653710 1767962 144800070 967352274 73602656 645607698 983998604 232544560 213636984 952872336 155288796 542072880 833124250 222139954 429197478 118384458 698087712 178769290 467161996 153361106 48879148 615997638 621595626 969732876 777083764 311326098 106451912 573644766 771820848 626786438 405206474 743476448 942648614 825237220 887457674 482208228 690929950 564939034 471401324 765597836 193424338 856530512 110744372 796872984 961025332 88099368 232936004 713523314 35902134 527027516 682340838 849549362 36357196 498202232 290205780 109359922 760441002 689199084 688993224 570099144 608030976 669543872 165577144 597138828 459936554 171631628 869917096 54562178 3656510 451142978 625062078 120595652 227186314 645696306 820961936 759578876 667847674 266087450 127088540 171543256 91404760 984807512 967534110 812550056 324955092 667534836 987999270 863264710 465285692 227674904 999857878 878893044 267246544 478408022 266248282 319133894 5197234 18716056 89808352 309080390 89123822 172361540 406672872 643975416 70473564 768941018 381274922 615828554 659588576 499436346 544333394 396584624 991393032 656184362 785671870 387707144 872417586 188221100 646945994 235942070 697513860 391989446 127495846 986696982 558601780 169256220 554985512 493092476 682470092 580163854 270170534 678282068 245521604 283405750 887019360 803979624 860189836 763396996 273588400 619622236 260859038 72737366 987025884 627827388 159409370 94353220 895574210 507737092 949435248 940423008 650748642 946070736 122816896 667190336 289153142 476479480 884515944 415389322 586874448 165869058 135024556 275577946 245340674 63544738 294103102 529487978 297352516 543489852 511429378 42033948 861370750 368181170 738653176 264464728 42931350 824619822 692723020 968125450 219318166 878673444 839934600 120897954 475169668 181610130 675644858 451953684 379983004 448222004 703453062 407801484 669472770 510120302 736763980 200355326 474426258 321147640 876806356 713973502 1680324 102348272 130232812 494961982 795138034 701462730 811820178 413785772 751914644 801575320 967008056 4311428 264504354 175490494 780075600 697070164 584900256 701665672 348014676 594891694 150958780 851636650 145934288 672980290 770222052 469184356 126210302 264836852 179434024 517670386 188192756 533276104 565703336 286517702 485181196 873195138 529197452 7688342 558215710 15810970 207149102 747702000 568402838 298936864 44315540 324827050 682387550 901137168 941980328 199084060 916531510 90936314 916102510 351803490 435617244 371163180 15439576 180816646 430671062 878897990 338792670 514325566 343053078 413940520 18860014 933029368 488042756 703240636 464172478 234836938 400036140 156789134 965580376 756094980 496769160 191734772 12909740 908470532 833829878 190985822 705234402 62237994 568891624 198934882 918913624 203860604 82408536 710624784 782058020 652738282 617990134 507716606 9809522 306031366 231335702 270687438 622497352 87135634 95090162 947510802 687389886 277168978 344227198 938426756 835557234 614942532 321395280 441266936 667420724 251325554 88966952 443533832 344096134 40480310 392060998 925401492 723633422 971535288 787781172 35395038 435460026 506523872 670658536 898336060 857342242 252558354 274066256 433451784 138468852 76850196 515870706 166672384 198494904 581113158 768291132 608130398 100873554 846156912 965543114 864761022 812420448 535144356 87978682 689908296 307375070 435651946 689095968 602234250 433057600 590349884 377021796 116556858 570417996 113813008 128174902 323656832 748132062 665362150 159474066 243122372 75845308 694559466 371200954 394784720 143577584 95243834 123452410 169747854 687795408 746234518 666812110 105531372 192588666 684874370 83544284 931484898 143633804 245492302 779098036 910345014 640576248 51295936 246520470 312626940 738188122 195185892 932086974 138068924 71031102 137603372 963108914 379999030 467867392 751612986 886466992 665846148 650380426 876438482 641562762 893206818 369445226 69606944 777156368 691528066 364673854 379370072 384590396 188936568 575561452 633889578 342609658 273048792 562802396 483697876 442540094 145835248 735412438 31131474 113364272 34819464 671416202 189953826 838099188 264193094 138314272 935637312 209830464 340677958 312278756 267686600 97240424 291547110 397679860 541217952 683662096 631535082 520772580 80074810 738252420 377246226 227849320 745221810 631363698 298405446 561888782 691781044 617444758 113507880 927700084 124626006 854259770 612385640 840252976 653308106 387216612 171452244 189286496 843082662 506655648 196924194 427001118 111745648 284849738 84399058 834652324 851066774 58216548 182455692 579746062 151617084 231650298 25686112 730139522 580213940 984901866 944777608 567326082 553499444 268680524 729781502 746973724 832907096 575007440 831369356 233039692 402451670 127396872 842005370 118374514 255248780 161591678 721078592 204545194 475110220 394420756 166369160 816304858 136115964 567747130 144745710 159699642 502178798 371574904 390163250 354987262 174475942 685044404 778844516 118209510 368587994 199170448 420076258 499872850 396343308 774134334 403365650 405031608 602677550 484502030 979971616 84891960 870650592 322651432 652324112 692028052 714561858 865931174 748022994 530744828 328020512 468158876 199975668 717361606 539692230 273339584 490672900 201805540 904083134 840893508 546766662 45902320 943520136 508535334 970510870 829659232 175612762 376023398 195165696 809086964 64058164 672365208 710911170 263792950 70011590 519911738 910362776 771063738 370266884 795895044 352846022 1687610 959333184 380370422 945398758 97662784 386672978 799440066 429994436 620101168 247496294 247761688 436658276 472528066 819248336 994515218 168333634 57675276 316375632 91175374 850186096 83131256 817131342 389465974 410303624 693193410 273421114 990136652 429008852 563247648 76302768 991171766 120531834 485544460 366805386 864593620 531694004 914052054 584468954 755542550 569333622 160858616 84589358 87847314 397804014 513291956 669447896 626334260 707271206 397489400 148758086 425784972 804358292 874686620 934117098 818286778 794807734 584514040 984070106 297842344 961029028 394187108 396876390 125700784 233666192 309651000 374602830 990019136 625455428 837210680 211314128 982691384 289846964 657601472 81267212 743294672 273318436 75446038 445167416 757606446 591210810 761205396 396091094 801066086 466823350 290641446 905076598 493211000 191474272 459171322 825256388 846342198 929299490 756157288 726109878 44164592 826419814 403356014 491053802 115446456 55581796 593877566 748882872 162889602 324307446 94686262 992952052 362868598 314701834 336967010 983610948 915664570 855221156 326793648 321862454 790659420 97632530 533263974 979078740 631042656 355035268 581710150 618977434 774876192 343624480 960939550 849704414 142366996 165566302 173200916 149036376 248431142 12514586 889272536 152381442 174849788 952540018 361388544 584350174 655356678 244514912 359099560 621827380 446283136 190784234 993308596 627263356 847456208 111431744 623942414 612437886 654635932 578999454 111964764 738899750 336239012 362139716 222789106 86246720 986860216 820040224 843398788 768725742 617470494 262810524 171266784 958039012 32991590 569836140 113644118 38050896 180179426 803697686 827993426 889166544 752659146 6896836 132547856 795573514 98177380 25146896 116049154 621364638 955232090 515306206 763928882 254748520 477945318 688765098 302626780 721695292 943083196 425337036 684199696 811559596 892961954 153040422 151387314 754617996 583273184 988085756 267269834 383231886 842121526 64098188 968011650 844320188 91429074 502318730 206575008 662732372 692894950 323027806 75358254 380349564 949144042 74882642 569603058 451770248 432490168 230803372 498999356 992569466 636871290 399231434 591212454 108622620 75352862 21794810 402494142 284352452 488057076 679310436 530635474 526955776 965121802 366198900 85934526 517924078 805097034 700734464 933902760 487753706 209203648 996632862 441817788 983460548 434486518 858983980 862746220 155262356 265751212 489840214 770227554 797084084 497410592 978053816 897151928 212698858 336702584 17160942 248169756 717025302 29732036 482402090 865121492 134621254 567548824 522344982 207619444 179614168 365811812 788054734 963895316 194227516 826331740 876817894 328025390 473395628 537976216 11788396 906628144 131234086 307037724 546318278 155089610 28846458 71641480 686742558 365684872 410692120 608067364 708255484 342832424 154419532 985694474 145327052 616372076 3434230 762966236 275930544 102838976 850613500 193270988 259556576 387220034 934473986 841291038 55503040 830652414 573057102 426941754 313750724 899532796 917780692 770155504 329541574 414919068 796929582 779845220 611869248 588653164 920238848 237318514 687975288 39081886 51501528 19540302 961296068 185291224 565556612 767677274 289900616 724507608 423682226 615407942 68668938 783364206 236360142 937089016 313856864 938511924 127236662 773979676 641695808 517326820 74450278 968145726 350301548 691037150 364973654 364048444 630754262 793497814 125772052 938046454 991284882 913027054 7948044 275793896 666248158 549703342 33745998 42718758 141086428 97424950 79509256 383437114 844097672 636401490 957861350 486246528 956493320 471160434 261818782 565159652 788201712 414212260 616387072 263419156 389593428 526246822 381999798 329739610 92192694 821770244 73221198 993539186 99386054 276643886 776899442 303571070 27058344 121771168 952466698 257631264 569572656 930819074 246450900 62264232 981731540 867330720 554773672 713897360 761699642 872893544 948455492 775218820 362427554 476125346 7562396 559143410 660965520 373065058 619890562 938339786 486304426 754322376 638185306 740835312 349358790 606323904 173194430 340115816 374824408 109444986 80570194 717434916 223178694 296551390 804290226 616100316 677439324 276323538 901274446 338708660 620294154 914598904 439834244 504836308 835234224 365263554 526443150 420015884 618037312 365362896 824807380 425275564 695536842 881171332 218065956 96906034 973187876 833682458 347176508 278237586 8746770 777393322 856638242 256414758 375864816 29027704 232491510 473990504 420394656 147141964 347096312 894097880 176713424 60122576 584498658 109667302 10289018 12327136 908714858 918930790 202032738 39229978 29135746 75539852 453976552 537227868 906792974 744621154 255455868 498042782 111640660 761332266 117728826 738467378 944260618 903939268 997094854 846231540 484890246 760148266 403175446 68782302 338560724 700316506 788022082 635066940 919941850 291749278 663579594 308152332 151590704 312829672 631734390 521232628 420466552 985831108 194839334 260676856 412694968 522836198 787095930 541410928 154572334 892048128 563653092 247394778 344192420 747576650 928270012 346122442 41752352 866328812 821843528 636671902 43934794 689833688 978578148 340263232 355812190 673458484 639310250 383320614 460903444 909026268 206094388 422594990 824763916 148760718 961527632 992902796 404447658 568584080 278816302 967804424 1897028 818368244 438784474 957095008 636772926 614383254 110208954 235459738 60528662 151202234 748801136 752269304 24521018 693290090 837683398 223136330 797967690 483309440 44493468 332554960 316863696 929572836 922965918 466097642 404123878 182229130 189323622 730025748 411380528 84464532 722845800 83149626 866022168 793368324 430334430 734416946 912432932 183873882 573159788 51646400 601230716 672938282 336675288 769183414 439208188 720815232 792306726 631911792 144967980 277017566 237055714 103921550 287150914 649461568 516368952 123581378 953520384 468418856 248061688 446762346 213199504 563925804 684314514 5410250 126442578 324752536 154220684 833072298 579618526 603513340 122307814 551764188 733410930 99117842 752241748 733800106 875772508 22243812 677759168 309970304 445183732 92337600 911128518 600528368 507195722 745812934 7330940 308642692 155735528 507962260 640439504 370659406 950831916 527984986 406119744 396130138 428136346 491288702 155434302 536056520 995117440 553724482 793222432 774498094 612338272 268095060 577742518 114783424 13456146 543843602 332912734 433144730 757193754 957493934 527982726 359188568 644564968 297888300 567835912 163337672 259595774 758753568 913075526 708521860 858323756 884510620 532123870 31629286 771762748 497950870 259363282 679674120 732104440 790717068 863756322 497062332 399556598 640881176 312992606 859374286 458727002 288712754 361777144 888402446 624952474 399204864 831042812 309944512 447134886 412342718 525504928 950404546 40960638 812612142 254144916 295854716 380237232 528848146 238501510 565215698 748153014 334529056 92109462 558918832 158317504 568869530 267811980 678615008 308391216 331545572 991423756 791728414 554963418 48062148 39910908 653316938 324406656 972864716 75200112 976774910 225331998 462664230 927364190 881647958 606042520 551568606 222203122 178278792 175424582 108709246 290194618 425356792 759831248 155361244 477680378 986647902 534974520 135595602 392514632 910631512 724034284 491208754 482664178 579301656 7675618 204441148 595947874 901433524 474173832 411100406 872990418 460762436 847322666 194476860 35586960 597731418 898555654 805162248 977530762 587948050 166534806 811219122 597794946 211600204 725128060 200902380 436262422 856787724 844803490 557238842 294545680 272749270 433379256 393229016 560328030 157669110 393425484 521993486 562930730 859697194 163941226 116461094 57616172 300720242 850775030 225845188 42555728 961704548 608148506 897134698 732798778 603867452 949394204 516119442 716827632 228548098 115373616 261130344 257115234 387835996 128291946 889057862 106908074 142608826 8065510 593551866 88471314 78400690 531006090 300774880 483278894 795600534 400744882 698288336 621131384 180295124 550026918 251450498 340866620 161493232 648977566 205948130 828389838 461567510 50957482 144175064 360859302 631923962 919876552 489324464 529607912 54452346 881409970 339107486 285928850 705336128 374393392 610289958 990508222 16970264 106527774 316209024 567168820 122371622 15818996 686955354 832089696 615277432 244043058 610786192 755663480 727070396 842402234 398192738 187522160 230986042 948280730 312449704 74098258 980110794 457379510 843719702 281910308 438459012 769161956 420660090 948039720 568044476 792856072 684747648 619994892 46458522 570786872 67506502 888563340 635975960 154649386 877491970 436688558 66310962 481700400 448559604 477239576 986131996 796977434 892325760 779884508 794979438 565315294 834006732 441643728 555628464 338673348 267576216 305970780 603259916 326168486 390057282 778792978 789266610 484934156 272485140 262600804 298850120 924563196 94423094 409883014 322217372 738900400 237069092 419043536 246806586 21985268 881468580 337146030 703965474 167707130 215068602 280474992 615066288 219801992 314211322 242720174 177537184 859340714 191901018 403414008 131263168 716086374 726106602 321679822 548242272 158787800 615827254 208221574 984110684 563297108 749816420 208704590 889732986 776328432 809983088 932549904 176678628 579328874 827440020 3752758 159729458 614939050 72644334 331615036 933582222 280276344 514336346 132059414 889205920 4050652 832225322 265596336 630207110 883936340 179619612 933014554 439403492 473746000 182235920 768712248 111041430 154394310 415437150 189146156 281101070 68374922 888099518 318928274 345246302 968132338 91410396 355136100 393820718 824775472 380199464 605300956 43590214 81709760 559550950 435761196 123901692 788704460 943274186 471743530 254820924 80868220 741776096 836098090 32361670 318238652 328826280 395868412 396471728 398812926 243816510 251102090 528039528 206793678 315162372 392772008 938286680 383251210 34352902 384886124 576001474 452498014 445019824 264745006 576803338 256123334 280774654 727562760 50383418 72026604 777757208 634059312 577347764 779739838 985509752 501637478 569905646 741230784 416441710 655385124 955444618 928026124 343388398 188050042 374492120 583518810 567324414 649108644 606340680 35581936 242439984 287918508 373078094 99204066 11422254 406123214 780047704 819451678 571866016 54422634 543152080 188974228 523564044 975057210 933794806 447642290 3203278 83399618 214118634 351050328 980430574 811782986 550489980 317557164 498625092 117735116 870961672 558514692 342438218 39008758 713517826 169587144 20659920 166754784 924526882 347238930 682813228 767876490 921403002 804431644 441723108 168521690 916358168 424925374 80321218 505432158 855815838 443914924 530669902 982958678 891482446 728966480 822969448 795814480 207053378 115848984 479659020 912447946 370126758 645054452 658150380 477912306 62027900 297463298 623338798 996438526 116071510 947370590 960027940 935709682 615211620 110717368 455146134 520286076 93578888 701780148 397714468 303305318 421419958 183078174 295227090 342229382 363583864 154992848 936079804 655973036 986906966 916772776 36972928 599039770 220048056 118304450 939119840 860080232 555509742 273545538 791531454 872787956 395097402 713981504 450756640 637368634 901243834 297980370 664042216 468636460 54649866 920241968 951864588 387142880 309551842 258586054 821620006 167479914 201490382 245109372 433739866 505657604 967775432 535603728 215480308 164408862 525130204 553788582 389082600 779553096 559365816 263422140 781922414 577987268 72804334 828367214 83294268 195399296 971125752 889864336 41735412 705828164 766015684 782013620 500267792 593582056 975389886 198058306 222923672 8287038 124145216 747050262 468348684 95577410 483691852 498147588 870675398 16583094 497153620 865695992 106645194 316771200 145379052 864207652 29300450 807087418 113139628 547506308 129544966 379096318 243045834 893114698 342092724 48988442 353591074 700261306 794920324 174285400 637035646 354472020 706285476 86007666 608545968 274305120 770336476 923221844 688005630 32388546 42271068 487931448 617655150 286079884 814723156 588310580 603341460 262173156 258549544 597502598 847380826 222377244 76597164 85093644 875550550 581583604 862319514 652324314 537862056 474704558 933746054 548683202 880535188 295102726 613681334 645758602 715055630 147775162 136999438 502406382 607316532 766060160 536145706 761097570 769504264 282853474 110335416 489728794 753561824 728227750 934491146 540041084 769621508 677658986 568732022 974586854 258868920 32923384 756509192 245676244 417849616 401607340 606776134 54215834 98314316 708185944 934210820 773695884 978375100 686945892 15884406 571615600 456722554 483638424 293522450 216187824 750375568 58354684 119286088 122311252 629716958 961970646 328006868 557399604 595622474 403364440 515747304 557436540 934314878 167217380 471463248 309774968 91122668 122184570 348703436 764873012 579021968 533086956 386533708 803780128 217384286 965775402 140729828 223266300 891187066 34451016 571497258 440378812 945713392 614448234 886241682 873903648 381023268 119643770 37959464 340931732 122000484 107857690 835438752 31011656 206507534 836073118 939345248 527427462 968138856 557182664 294000746 134229630 270262910 910736688 212001430 974844490 805510882 575583856 353693180 278543796 210902266 916353740 110597108 665018804 699870040 654603116 994555864 613097422 389540642 768360216 783345018 944814360 885754568 365421116 954425472 752606482 3216056 639703526 647793778 327158796 760642538 546841678 666224002 679984102 991430774 127379650 965246012 166429346 765553260 834781512 631699466 241254456 735645946 153170710 898690072 788069758 4540288 885743476 447408110 862069520 939783126 611198016 350749266 444365698 363535390 507259282 555089972 330231974 393478626 99694060 529717556 183104020 326966662 379869120 590010050 284819632 996913702 738326420 480628154 573414130 279475942 222688900 323192692 304276990 400552530 895934636 783465944 932104428 18515790 633250342 388595592 343953686 305353730 908373538 844527402 269346464 288996980 545130510 289035824 599783328 247920292 403421232 272251108 154191362 37149130 413744250 74119232 146579716 68031694 492043754 608040540 64549702 289493116 815586288 132803984 224512884 586403512 872697742 175278814 688297988 136099820 19822856 40551388 754261402 330693194 31696534 728945644 675856046 268684100 814590714 83293202 787910086 982609414 149190478 700289266 127154560 421385522 831523368 279366834 173230690 773967294 486670136 885414366 451483440 270823364 266110200 375666942 180137578 669530188 814361506 911575670 963594838 61355298 587032612 221421400 683461538 809562406 828280054 137334574 123408042 172046698 273833348 305522320 493642370 813768790 417630036 552387788 423606890 412155800 518821486 905178454 928578584 596466058 896672762 965424374 445872792 684157010 809579640 608899944 998736724 281827342 141236344 133055596 284257706 38824874 430410566 679771980 653454498 71249828 344124176 944899806 538382034 523099746 179696298 835564144 603500920 508184716 830115008 653759518 192253594 845570892 75243476 679071066 801494156 43661064 901531656 331769712 715778090 217449770 425626522 818030650 325749606 457143192 105983532 948571286 932204142 74885104 801343516 605114246 391243732 661328822 545199648 624035606 423951988 983028986 202173956 44221998 99806732 197183610 727951714 889608122 278925170 56685210 197626390 269440040 931971894 88643504 458264924 984650298 233183640 91283944 831145942 474013628 953572496 424348124 723747032 510815318 288142040 494857944 92960904 732686262 488107564 410593188 672646618 937739268 581565662 726380846 887791830 665285198 978155782 797971742 688829394 807847474 945765154 541054610 722139734 645768700 3052740 761243456 574381386 260108758 183284384 432569026 657396516 357551728 159130782 654851476 346912618 108850948 235637250 197711964 270808654 700047852 230442236 168506124 957305662 981346582 676806694 223849144 947435226 127496502 272548882 603968314 660136266 524544552 771932526 990783424 885122064 949734976 249973108 957079422 900807354 338002252 62152990 347342038 76659614 929983836 348362462 61277020 128294716 853390816 216589400 116394628 775645954 783477786 278591588 882876296 395722430 691618322 810163900 289979618 533302010 945941610 119972548 228188950 889935270 162239538 585421782 208030394 860430634 671093066 79354954 994482080 245775970 131329214 798658790 219711480 926648036 635562490 696649142 501497360 626564654 241044580 585243302 130358954 188773928 169384596 797871066 287438516 631713408 710971194 591247952 207547262 186650706 534650740 18089712 285586096 492097330 790245738 140121772 658911532 193594604 727224468 597720658 467318152 494729344 123270516 242542426 267385740 350541232 487067872 271255778 505592610 521385490 405102510 71365470 561336782 748612758 703538252 966758690 652460462 754122364 36847134 935298196 435764182 994441508 220685806 527717482 946024996 357619238 420141222 488370284 586533142 970779670 261717326 658312368 196509626 165888274 853003414 110924222 873380132 123014972 65810498 807856524 187585488 925482626 622903568 987149368 592126058 209275576 623144076 598980536 586395708 752850798 721544940 12899664 405587612 414094730 111527598 76678108 908471674 700099082 950527400 601133318 20828368 544788886 449946940 655244036 289208052 367105380 397462940 895090790 786265520 529119324 151019548 236487274 284176160 728758200 114873226 155826880 163782934 942621516 891550362 81424922 850193374 354106840 940301558 168895594 889941148 489105334 874508150 24379870 892317472 960501526 570221358 604464786 882943624 850549482 714273122 510763274 614451472 880301938 659722744 302836730 129574 26201008 432185882 299954076 919371194 399329194 810662866 50098770 966779768 614595698 454460012 555493388 976717226 39889124 465386180 637449626 626290080 935250606 983594190 166997098 107400364 821672144 91328012 934834774 348260986 662074774 621628052 373208158 392715868 738924742 769760414 90494562 573335156 374729328 568757544 275124822 228694362 179025660 733663564 918179256 164880622 901604132 881642486 195095488 197033712 323970184 126683038 220021616 50475790 836254900 924354816 793404498 148842264 437984104 782155690 376062206 9758134 248031592 802720558 73307992 406518892 540214404 491056120 860556218 479906444 63469766 779493108 521352880 369481682 984812008 363632702 19005684 340430970 679980152 351268890 892166446 303403194 736523310 86258452 419141778 68491180 354788910 835340414 903281422 370291144 868564470 680630450 512730092 388136894 341042482 481238986 366206418 511069198 783819480 540361868 654860242 99217980 266993284 741945834 889992582 873215672 5704042 411615296 24347536 854036094 489827410 298176530 732095054 432649768 86729970 956769054 162254826 371603124 149976004 730614230 271692762 465472152 146729522 602622204 96187528 511801200 710163128 386502856 997354640 796323982 843984178 575588168 195041718 212392962 251192088 894741258 457150744 122765356 328125774 597094674 824292890 180258352 626197094 249003896 999393334 857073736 524214800 192195160 286585954 999683514 967495812 711408046 566226108 295269458 255183394 727235604 430074118 457654728 994089676 894352136 231610272 1443064 58308460 216902350 61195430 68550974 144367098 214071696 453151962 621630474 28075840 420549096 409407636 697018792 550239284 183379478 282645480 774374030 95594612 833676040 50352700 684906860 601156862 388180810 163812604 41648088 616259316 923194218 238394676 694330076 420742296 328112504 542412184 468402042 463186960 539365846 140770178 447003134 748350444 457000316 512562048 142112188 941496502 727970134 746790632 758335192 519674612 875317388 499835350 157534218 897920698 753137152 676604458 410622690 682527228 739088490 197879296 449259830 711838484 761760690 866715788 234672820 228042418 491986110 289495506 804206446 772684682 523755754 379602652 705935938 263724646 216114062 919617418 16309082 341916018 895849392 105061412 503381510 714963832 351185378 422007378 227270814 990507626 333328546 629779502 544514808 931676864 78202984 664339680 411182260 117657604 66764478 260124942 187415054 256318728 232882138 807391346 417886882 83306800 748729172 107822094 991712570 991060668 437382192 877906378 791132438 346620546 202451704 232690260 12315940 492477168 285886066 819489764 632498630 528717710 729015958 738738590 811997754 618322876 317494738 460099494 368642046 914783386 896852894 581045078 506146668 735375460 686731822 195120174 202371018 999980482 280285302 284623530 741396468 152916318 187149512 773362392 984153268 583555988 4155270 341395300 979829440 692897798 918852600 298841574 697041564 320510006 935332822 699059486 602692664 281610762 963626810 818116580 276150276 574719990 356384136 884334858 920385176 644337524 52951298 42588392 218584886 831886176 697187028 679160250 82662380 461073360 571413722 823341632 324093524 619251702 703212072 547431824 967169036 262776212 507693402 955920510 683771914 753874386 928075666 215728428 566521400 195718352 583652478 29942586 880330060 954265516 292696542 998646412 691099606 731279654 320806798 437643414 410087944 422446374 226089128 950917746 733550832 548128372 178521208 576365062 526330954 761817212 904430198 696871958 457176582 887231154 711132784 835527700 391829098 739600160 626943562 75711404 926735032 61061884 589177000 823903248 816958818 557921758 725511380 286709574 405685444 649427986 574838592 486119828 894672862 807913926 747302000 532519172 810079894 462651118 940980860 721407344 77456664 159796598 246839354 912590498 865375358 877141132 331825388 191973964 762933516 211080872 652249318 670041890 453310288 717660008 678209472 313377622 282297396 938357438 410201186 735133996 637293270 202526730 521699132 490117104 264476536 439862330 914449946 203254700 669120066 157654954 144248718 171020918 80764746 368416418 288496626 480612056 254928252 51699378 550680644 597632722 985449854 316936940 759291818 507126658 168479538 957235554 235198914 6593356 9236652 195566758 6327274 453828124 171620904 691578064 10303224 331950886 281092656 212159042 226031788 553175024 987818 790416058 608693808 530544322 804061048 428782268 342610674 798515716 909083798 257220332 395122756 311296740 668299816 710282120 755278586 548411656 388018082 501632730 185316208 660804614 252496716 728424472 29221656 822680858 120081766 333525426 769204502 189673666 794192474 749252652 680228138 911900498 439759616 393177770 150128550 740491758 288404034 109245282 469554006 832058948 434447952 194909008 467154516 9428716 684160140 105543244 104920756 76967598 128687138 25457218 221173592 171191676 435704254 345530868 667432690 140180638 447361932 191375388 521138880 318256962 11102078 545124574 660040198 240343906 235059552 554460044 408588788 177376420 788123074 296374876 795715248 124649764 596389374 970336584 71536688 57738824 440154530 817580688 73093174 421469448 204306724 665454466 769084974 826457660 658635500 58447216 933834072 581581328 204900248 419564346 713848406 635299004 599751008 705415952 607754858 695322502 61900410 324418606 254078576 844354268 535582774 692258944 268762644 949601710 749286572 324722550 783640450 479768026 264534034 504929956 336981974 87741248 269001552 321308218 103807042 960979352 605158792 944780688 821057102 930611304 966438040 829883318 413075100 237153708 618168940 684960530 81306150 449202046 534353886 106692766 413729184 719807418 295273598 801963810 546189146 389590854 307736092 359820852 852181242 144791670 197318790 445962892 315166510 658146156 409107242 66729568 271025234 15064784 839939288 754997992 331703990 831580916 846772998 448620796 860068224 401256346 163594594 45381486 641372626 493351578 583574472 293981956 910306970 314278982 862939058 777940590 628170210 944844454 593417656 3856868 698596420 525864450 177451354 968259130 1316538 684288536 85449088 559555994 195542246 176363510 889698104 358892264 357715658 725348012 239583804 757606136 597138984 520964514 319536272 521693618 543541730 297576068 749920060 596440136 261743108 641754114 996968660 69498498 535570552 71209526 644289006 512770002 850740174 611659540 482346564 514228990 648553914 426192628 902752796 806026236 265777364 126254072 197742464 409276274 949427786 392689074 970184922 1498410 766396458 59921534 17513070 645899276 180484756 732372936 832852386 530146184 117074544 406115898 413358404 473561614 628931800 60218082 337515504 918586774 652799538 554629136 99372760 9417412 249963978 135412166 672818956 731090690 547651464 563036480 113217518 321504378 633579166 798257398 206667858 893680782 243948894 534859662 157432024 24128870 372702390 572341244 909087130 280647302 280563184 281567138 416338818 731450558 201295282 248086362 334759850 379369352 797570476 949134636 915547620 783114688 229509848 802855634 712216950 25776322 827114004 196079726 143723498 969928778 807451338 274486532 864603904 857752492 772146374 294552954 486893192 94237706 817252292 25936704 811271708 16018842 538246588 395079284 678609220 382206148 49137640 9852420 82122036 599013470 53937766 832793012 110771188 702005570 43439494 637235036 646688090 31367196 648617462 722853992 874582734 682891400 102745258 157104090 110484712 338827760 65206958 215544720 730213384 62865920 189978848 37259840 547554178 552974604 864291078 935883560 21165854 602943198 815339600 139597988 275378876 580709756 356322644 45603044 619398256 540431796 954290068 771210754 638854752 849728630 480633972 921951326 37128948 899593738 179045788 207877922 110693544 294881774 564157032 511769494 49019280 20409052 819978260 570144922 992893342 830138056 267200276 681694232 881759960 239678716 654222894 901465644 853371352 807898906 808227150 983531642 19304718 469320992 423850602 2799568 696790186 810869728 19182962 507128196 72694474 180558648 853043540 344815178 241004286 262383522 496589152 925529876 780863600 301519330 568184752 170813398 492955520 808807442 607854600 189487762 211433710 450252598 274338054 455748976 763425104 286902702 113856328 157167148 666484582 408885312 646229632 324014988 279029962 539493188 149632816 584523262 953139498 487197876 117736890 595285614 359690446 477162792 85442124 377491068 691373868 29799472 815705788 462501152 923809646 994189260 397757580 334560568 966824018 737520510 829238836 401555130 871647756 453908670 340725854 960775568 718117236 175375786 140344956 313861316 958421578 93488500 375312128 719332208 328221292 571670136 289217678 131173482 561090460 89243116 821391124 659730422 509153592 798455998 695010158 614010656 749663792 253073360 239773016 308604476 254458534 587815946 811069938 685039130 954086924 619019924 872744086 432574906 350254496 634253902 317848294 826601418 263884690 12917890 478546440 618763042 992937608 453881740 802229692 250575988 16315562 572878470 757395730 313563476 416773768 471670394 416249846 902229062 291004632 363641562 902435752 103978866 123824370 870434146 268316772 317477004 986423810 136199074 486689830 607173390 724008292 781149074 718241294 558067372 539599848 399535982 903401206 317512658 52459804 214857438 361413018 868888870 595492066 665321748 524370184 805321578 541899740 501055330 20491874 588381046 523562624 841789326 254428222 583864880 412993136 559184174 962352414 632497980 751547034 983412930 272531296 306512904 606750508 114485868 241491470 802403036 977378492 230828942 408071960 535840726 295374950 46111786 322338462 176207402 83677614 963283296 768108186 509290482 57875138 814887698 30337638 868860476 379214564 666344950 306128120 905470082 506832652 853714426 747492734 280222108 153091974 746154592 819204368 25362272 371063724 172375144 93394558 217317812 890375732 211702662 881538416 897809324 454814200 740161118 875514986 79865752 363878958 931684172 500845844 850724908 499438176 441569170 519118852 332771322 751299176 581253492 522897304 445170478 934871904 345987116 128962156 69968400 766135022 614206152 871972312 382180086 133796912 453495526 189413096 39440788 315737100 123378940 947992392 561817328 934880718 14449372 199592658 921395470 868206974 287482402 825262192 659266100 192374928 153193128 998265676 719514118 946813728 919669114 321053144 585912264 620574234 904854990 853487106 942640642 23555384 961648006 680509374 638316948 671342222 583505582 505645532 661058732 525060126 412124422 803149756 320038306 677182596 679072592 259150440 771958706 613788312 977757124 693742844 737491712 459351194 468401492 479950040 418007256 994004548 965112560 183724294 841880912 192126548 270165104 874962484 808976898 290867034 130989282 748267828 657816828 707890784 3364404 859967114 939571526 826568154 748685096 467586472 658678142 88881790 167055186 151144330 232396696 289723304 133811616 161247632 464187370 861049978 567828226 754861308 356180414 7285700 163877070 840857974 882651708 266569518 956993368 370580418 938553314 699394710 826755294 689500122 468299698 977815622 140202450 861580168 259052190 801601398 726315740 344892122 809450676 917873600 213106930 503370298 823348232 65166144 108230956 357206556 268795272 669734476 599815020 51336852 923095726 479359576 852476898 508065386 611990526 197133410 983749244 191318778 969256268 212459304 897253290 377716 25423746 597017506 536376638 567071402 716712674 45139330 258493006 496757754 985245886 591171766 888065898 18345520 177799660 687023322 47494820 1346654 868394688 590435724 898129718 141915048 707147156 547262418 156183120 292366496 803690782 892517262 247543174 996287734 971404770 454095166 101274324 32137070 969107136 259308772 978660802 116675974 136501628 474954436 388339302 872060084 104630170 434356436 255903680 696360756 80111472 49191076 630948136 535799332 184979036 300312460 588446922 594765162 769273514 177278398 635476056 652585066 581793038 599081744 588183944 299705482 578118302 588813702 744846770 387574056 23793166 254573354 861955602 52348156 689481344 900911962 26416490 860691710 174620658 478998174 548451096 747746596 904234408 154158922 160685790 597152902 534474116 294922404 452880594 415389360 148596970 500969916 814102120 594555102 499250400 323438912 42650432 307157798 246872318 321543310 597138344 926953020 879755602 467717502 864639262 164563748 501818790 619105454 597844420 627757872 828763682 441169244 81174742 219438608 161674604 24421672 24458802 433541682 760835386 589887438 619554682 407353052 214538182 390499244 617081884 471596482 154243006 996135306 214041790 297882496 681129746 391173330 349705078 718994842 413765370 725899138 125855648 571547980 652464862 823623008 387593122 226672168 922541376 357644966 807298984 130887144 154435918 885632572 156038004 514887376 607300132 825936212 447377508 355959270 988126930 520688308 714439032 275916654 681273518 720925112 192791956 125720250 173476498 596975200 337054196 902357724 56727956 273340852 17060240 228091304 223973896 950244874 134909690 685593262 242672774 904495582 816964512 245634678 779662452 702806950 612150106 160526510 330534910 812451916 517887316 141218942 759754392 871677628 141442352 395311914 443748280 521835232 923255138 899486058 713382824 250466008 976235256 13927594 505995484 320180258 582851420 910675990 50328898 463418064 420290854 635698556 521232378 693207038 948229880 910648628 307664506 317607050 953939246 603291530 326513594 536319618 394943060 607655148 92425712 694790872 240915866 472751936 580442350 765755066 504316606 41091614 310680984 631552886 697941350 740414458 739818314 267428996 189526788 202154196 403563954 888761712 854303138 483388812 561569278 440072732 422324948 139674862 668705216 822240344 817350450 729116628 463828496 558367902 496258198 245456198 99431688 819854618 123269454 605909496 406233072 567327028 738212082 950446824 456512426 815604930 598732530 446169880 532223996 56296022 165441490 75455742 706732452 108396294 78335790 494495514 423648356 80664308 882281696 636898388 580024436 885260178 314249026 373679716 281939132 833700414 631541874 275006124 355594012 85913930 549835454 215391570 598555932 759790548 259915894 541538426 518884212 947363662 389700900 661824082 434705810 656105840 570460248 617400890 871531572 202839222 302418840 970944158 556522008 83651682 23729020 351429762 214115610 322897170 427393456 905984768 679763134 259431552 235551912 49879336 626682720 578567322 629648064 16437596 653507664 944592816 105618216 221201646 756599824 98684082 134461968 848852198 758046672 933571620 164801066 283338816 553242858 215956940 542724836 688147432 185292382 620059428 651087416 659083170 560404464 407295962 560754906 492240754 12957890 525687138 362753626 827500982 146952484 707496504 494335584 448510014 576468818 804407336 169088568 240870926 135621500 446249862 318131476 870647518 280037170 17723780 312488170 358001120 148276118 557636024 977152972 360838194 37976362 916715690 290799896 589887476 499132642 56356398 800489188 54652328 241123050 871784476 336990822 590853564 124916506 426237476 23474964 368250170 322736922 402598674 274319764 309060546 529422874 620375860 39156494 991742544 670127924 522368910 891222200 267019880 226614522 911653506 378169974 765082502 184213576 465095000 431854550 876447338 143378534 356696528 570952778 980221172 158499154 537908162 625248910 683626352 910998388 86066698 629368456 948691708 492607704 125762052 550895332 949667956 320625078 867253400 304613706 691056800 598566446 84334976 88042688 842442014 646066270 967417310 782264360 686256752 479243556 481973702 158673300 418203026 520439406 527756246 355796390 842787924 675171046 705618016 595116372 609586262 483648186 311503680 683727240 622070490 702023474 266118388 103120686 441429776 827086890 161003976 447778020 511917782 117275156 886111204 892580228 509747670 556496478 617006266 240261444 635453958 433282858 208228616 194201366 669288196 525538654 475429426 625857534 335477058 826216910 543918156 651507124 139444100 906747916 788400276 497787200 35917558 386954810 455115344 236190440 643170074 743329454 804565092 605070826 98952324 648092542 279861214 873061126 329137090 369650596 24897178 285156578 562806058 300222444 216104440 164410998 941068322 941194556 907461610 990561284 600237308 708643172 941320560 167438574 526843428 925028086 183217618 422601116 298727910 319061138 68317840 311741414 172099114 689616086 728165802 989200356 546034816 664416108 967888346 241930298 112564190 995947160 114174548 342933496 591454088 493165068 113619152 369514406 633975010 897188174 915657314 285440264 719552058 282089154 426830536 833386284 312367948 809786802 755704832 786890140 593878928 561366484 569095722 160441788 876459756 850810096 664677224 296125158 729171630 749428316 646306634 57391216 548697410 465303318 939116512 528882954 518238200 668664002 604071344 462991522 965579728 409881916 906949832 412343154 655572210 672053034 577712808 746179448 186928484 309586074 390154364 756399270 10775106 705177672 584444966 917886250 750283026 992399548 886728622 955858698 586558502 501383084 308495790 540976804 121936244 900968318 9099220 652814324 172459470 4071588 52256804 279682506 619046150 245700214 959871020 661609540 232888022 372015330 650723352 47525244 315136238 309549092 688130880 767582142 972344622 705448344 843068602 687039182 13532996 901921988 158414374 254451062 547660198 293744736 995978690 224303768 150094130 195134658 641524934 741403730 921028564 433072024 489190228 100291462 993247646 903276550 391424018 826248920 536273572 783413624 983322866 508737620 154915438 825830868 785000348 292271274 239500698 380656388 170201844 753526070 932761060 310887904 902133276 306635124 114032820 55390884 224866028 242797716 34578290 721906292 537674386 137506930 994464490 81147344 246212634 407400188 728229964 468287572 826477288 394886478 358309606 209321692 697571302 4862380 991414908 274507972 582941728 710003398 163227598 35535666 749990492 792143006 113883124 594976774 297401668 556620586 487930520 434264142 526195444 890148200 150966462 852698390 719016866 928406156 794610158 417436226 71691478 401919864 922565674 939868612 279815298 564974996 835970736 962607030 846715460 186683890 136017020 319526958 466508946 915156228 263506664 557440678 258504902 779289244 607815636 344868674 725851160 387127006 657294502 101712764 530201640 4041168 550932502 318113700 838009380 88897354 253394194 826294852 409848264 30981356 433079318 151244688 953655992 802031668 839274760 776227980 489562496 613259550 271733446 288116312 81802856 719650936 113017326 468801514 694301176 758742176 558532568 972339028 359593194 470977710 136338112 429226334 65921016 248737446 809048796 392762946 826747056 569456410 914808986 904167920 396562978 552933102 602650410 861491202 120174424 822180914 436647220 713958176 341818138 941198428 70926086 229273208 600287432 56576140 308564620 942492456 978380114 903290012 659793324 759046446 88360926 847077792 54994492 724885568 495315778 634806110 873911948 945365012 280424996 908949250 697185284 502282364 557497604 468452230 795177370 682717546 589950902 4285036 660873040 201287370 994888432 568228226 317059272 798798308 600980348 494868758 115937468 753319820 729962790 758462982 682304010 394736622 155836038 960815794 509094128 675443184 523708890 522960608 202020948 656330434 379959198 826964766 174697302 27977022 536169454 666830468 627547200 996417244 463171600 953775052 812155748 341752618 655079866 840037796 322893620 67344578 485563224 521840116 923480342 442590652 870908142 67417214 270525946 297906744 933986540 641168544 296626678 264715644 809972648 77995248 166074390 379637738 716182912 998830236 552269596 467738518 633957264 749586772 513245986 621880228 332439562 908228778 4613482 643470230 597055914 375786046 659736730 899191426 327809148 810096732 369679626 433999880 664447808 21218570 500506042 895238062 262816592 867132318 186922456 555744618 759399750 95116784 787429822 35535526 131471492 639297680 938435608 657861828 187666604 799450926 234409180 425496198 349939400 285731712 432387210 856926782 139785966 593002528 415425664 946715360 154691986 967011386 502793720 891152220 839553528 656097242 659121438 536653558 62398964 161445696 325750968 464176536 713085950 65567332 556831064 106419752 370622148 119441870 699640818 930183830 396611718 248042472 338325948 502293354 267942982 515990416 565044874 273881782 429071196 642688782 408399694 377578094 532854670 731659112 881958212 379609592 276486154 134400700 433524868 677971322 574335648 797755220 500043752 264359590 584777660 522905768 151397614 356219184 133017128 107518216 572889908 435435518 140915428 289574524 687737646 761396000 707595136 18416672 242466984 938273088 97529380 361848200 960860730 329902740 891398898 925909284 252577886 901917550 304479648 376503112 661814124 662545244 793650376 163669144 233894632 226628390 568110466 419822872 685075208 383152264 102899750 602478784 616537142 519192960 98344626 952247682 826673070 50099768 153551042 555284602 554870580 352820286 336874426 381903976 889202514 29869480 926119490 524184046 399087878 369042948 817013340 672921580 708899286 947692730 776046090 167450142 397508600 706782974 687688810 827608552 954492358 655076658 442272094 656118224 647814936 819492002 248740032 490202056 602825678 428136972 97678324 637444118 58006590 887363184 268147538 278662076 643462092 338899080 442243912 920514482 327190278 692279938 753823794 103593274 846693202 945308918 409878062 772291704 684692308 969795300 607291604 245076158 581620442 298994894 380436518 224355862 497993122 568022572 10509522 856329978 472321342 294116548 351752504 717266664 802383898 941398896 174208122 101535102 521392572 252738804 223517628 636195930 875678586 405981704 994627458 51118502 447744796 612491494 359214280 665970108 320676108 505025766 593382012 225367002 652131736 730797196 314391850 124036462 211064778 584724762 442782974 144284248 722770736 67490094 454118340 984766192 528808862 409883848 429230454 935935350 981231202 389672406 267445130 192248672 385006378 125757510 691932436 335056080 924695056 415144550 188994380 764451680 607495376 777850938 228627824 421915424 941733486 837268620 214047026 18213240 663102580 967296734 41824996 140776904 446873794 755726296 960633464 106705210 333412282 992293046 211244768 28985914 682455520 292172936 878018852 220586024 684320110 478208750 504841728 525639330 696078868 422770086 952810254 258847092 35325336 268231674 228889026 774518828 672743738 61765574 113024840 587674872 12892608 769826714 182032506 493033006 465291118 653840884 230726012 79595298 34411562 857949170 142464224 273011614 601118326 11307984 203819076 487769106 740369952 456107398 975639334 556027684 414950694 460587662 315700294 164886924 450560050 321214000 430708692 20153738 955151632 104078808 531439458 763988560 661371284 227449884 57359664 24340618 155236264 767142782 968192270 335094212 894017262 626596444 470864918 831228874 871076778 347325000 27883954 278051478 471225996 137593722 579265634 365092006 879900794 761497440 889982010 911848316 673991842 10086668 834038076 620274488 817747710 613608436 925019784 48133192 976229704 55584094 887660620 469687406 825092908 271337386 551320624 610570302 893187910 121007672 74709944 401781024 70550016 765219832 299256820 515894 134323788 363558246 16813460 95142136 842875002 519618654 219857452 376268640 148940476 32750328 313663028 762690772 938353902 579544700 535516262 993396416 628652896 78099542 186505868 431301444 218709676 468327762 31716844 76251390 929398832 170053590 663787238 374389240 289085752 538542846 868070604 274031944 429350246 785908786 128908594 559301672 415440306 963058564 527040470 975622756 590101662 94824906 141979264 25907076 91571824 936765042 230231770 853077142 649087414 892845538 459170388 38021138 984118598 649830696 6400380 927630772 869847356 87339392 586500542 8619934 205673548 437135976 275866458 474835332 29207422 885033010 28994472 110166182 539201922 922920862 583967698 734799772 526563712 452832954 630433994 300004140 627064812 565607336 205322286 697091548 459027790 773790686 862951518 832361244 583436676 252704950 816156728 428942140 128617928 329261884 355988658 485423124 362061806 48443386 999616710 389668326 487559270 500209618 139702326 592000016 856919890 272365682 976697742 859830490 608481472 135001678 518300284 825602846 156148960 945729200 731226494 127566418 663824884 255553590 604392182 129701848 869374804 509935024 897683904 606532668 748462460 193101656 425963356 100869754 442492060 890783820 978500324 851220928 212623882 439370204 922623114 60194432 855950782 504264554 205953616 475878772 768602734 6490080 761224814 33749598 589340640 875628850 693661110 930594164 106224132 680263246 106443342 705827300 681269186 72904380 297908896 292608698 947296352 587058622 327005022 826044664 117292756 706086122 555650922 932659720 892576096 930608336 765477562 970213184 825132212 584784490 569115648 481221376 504554944 406808978 310409792 501790172 441457314 33913140 12075112 901710574 113013620 200801724 831222546 9009052 224157170 954226780 96118936 109872478 258952360 223593554 139541696 764327096 956322460 963569130 193448008 539294706 129259146 773329826 295270072 840171080 862129666 947660930 216905638 467473238 630576958 78953276 600395804 529711936 94902572 420659968 264319040 269234426 220076956 244574524 471022136 198636460 783610382 819436 819988756 241297320 200572282 725356310 59867956 768163228 485195956 244484530 535576778 905967014 460074492 476475610 287210576 420121732 990532394 841521178 851051872 540804246 976423756 146902570 629008644 422993058 881123368 491057064 368058478 54894220 723410236 803829004 354449800 596142364 216205022 930835616 542830450 443339516 60175046 827173938 200099322 696819616 438808030 642778142 396873784 153274788 204325756 405213360 929906194 40765970 596923478 75813360 439382692 739507844 752878562 448266204 28524158 689548438 734302630 103025026 21115460 655285222 395528336 85846578 830681952 307015896 967213846 212928478 512252998 964913580 969655110 731832916 379928650 642748196 705581194 575368094 627953630 293899416 42280100 807181996 319759026 160041916 168579428 706116482 831911488 127678304 20732132 340561232 410668258 677858706 702539720 771751792 334919710 250458458 389667694 924156810 85398948 253016072 793637336 58825406 392424338 426603262 670598748 869238792 738064756 772721700 462771688 421648868 828406238 756068350 58945246 687306738 822353072 437862886 662649426 914070340 864243854 65673178 244810650 384949322 902632788 227755882 158714572 650078772 487482336 120324538 192941396 360254856 709366330 418976262 226818116 76854302 539545060 143149556 389849354 631594710 135675218 920489726 23937990 263784644 297191468 461960112 792169786 632422588 672548530 736547198 710799884 367804138 918876990 375869334 617942842 632564924 306237640 133141814 344431234 338112876 211834872 546398086 923043470 752540626 556050434 299541818 418461744 975348248 189324868 700386776 10930456 777281268 118916844 548225898 772625806 401129764 967385968 123335608 399409858 370125302 603015872 818253746 569681712 698353622 879406726 720915872 591142114 34281652 951420732 700766496 188380502 683472696 157739322 494492602 465731844 555469322 654468138 703146080 274181830 750736850 199401236 630332480 158055398 367656060 969192680 999687274 904724032 664986750 556104874 892313872 734404588 284296578 398461838 516634460 474774984 682585202 58117998 161991656 563864704 334538940 883975274 883877190 25694018 79868046 26941374 459585324 995176186 526779816 71261122 413474262 25550308 49360282 780882178 867811766 349986468 318039684 264263656 97464428 289487034 707289258 738091398 511991206 164944874 4624152 489306498 802654880 649829744 783358448 156744472 1909232 642023296 130016574 238989568 12219388 203674614 734875014 392908094 589246600 95970948 217475482 917646922 804923658 21467992 92017436 503724150 226020138 140924156 389300888 700674092 67071526 115695346 729884136 504082896 726280200 770444522 590963698 437434458 434202856 99351212 693969414 838779234 325808486 946754950 513607326 283572074 333386616 254990144 3372566 520700990 188424148 888887740 966420296 889289672 111566022 321966660 544718536 728093842 769473848 333923730 120332824 639393448 682450634 644887504 783954906 10102994 40121324 344036900 839971090 999494774 965029552 486717558 38524512 650648018 186435116 135685916 378757578 742328958 157345454 665709160 135367764 256698498 160930488 376531934 256318748 108851876 220112294 406489578 870862552 703847386 193377500 652161656 992954792 213223600 769255882 542140594 707748200 275324300 124863308 918631458 691013924 244267168 403004710 22860374 41467432 147003490 635895730 540476912 192711488 296022858 981167338 835862464 897092046 624825476 720577614 887153086 100813434 915719146 147319358 219439360 388411628 381288426 562865450 586061118 9108724 958208510 744953222 712392094 790194336 612648586 981987492 453630222 769552546 688040672 811356970 783022990 100775462 114173404 889184530 473361718 570634208 286446692 806870180 507398176 208942054 567075606 238271164 527508062 365607946 668965564 249572774 683119342 242672240 672952646 992550374 496959560 862313520 837367554 229311126 256012060 116334446 642533578 403273834 562605338 968462142 122810162 398746322 440001430 648096158 241615178 252919810 759287892 838317726 989344912 733095116 14496936 518815814 484955268 808132890 168643826 934014880 921204100 259559020 337674722 281235700 292941010 752055716 788531682 36905322 389961020 256014958 807781650 708897270 383492552 606242068 99048458 340411686 181378236 883755636 328370798 702285816 698549850 600062862 456979420 178674798 134959452 832213642 831838720 420395754 164333800 866763372 76265070 508128898 642357880 539622574 426404646 156572316 808165954 79565184 17009598 830291744 134619734 907003426 961504216 137269484 465448182 801524224 189001104 766463944 571158472 628737458 772119516 310834176 103503680 507098858 371419590 994917732 5540402 698230020 781143698 903495230 373766968 498499190 374473240 533438026 220194006 894794600 950227390 286155884 523552926 793615832 380663880 906031860 634936590 436221084 181354560 718046014 237796020 628778748 196200334 19677096 27590908 164516916 620592530 583453080 826971580 662958874 603690998 870630502 298066516 442106192 112494104 503302606 541587156 690478546 992098260 346359196 419041624 240674076 605886322 490206838 834051482 639702606 509871708 441174068 999375364 926290504 51079454 25127212 743915598 40027098 50702168 1887536 194759462 714646060 490357604 835414182 201895428 420724818 67917082 156591068 278635460 119352452 226053028 754442782 216037996 293629936 554066840 600922276 44433072 990921146 156379152 774312228 195020812 472348194 901812308 247518862 157400586 313391656 974808576 136721406 418897786 22643616 801597152 831157236 923075938 768069036 500675602 485042710 607413332 202092800 973211270 286123282 469773744 374260482 891575136 610003858 73527848 262267832 758822 307005124 711212184 163778822 26989352 179801162 897682198 298848684 949377832 438322572 212280182 923038358 625782092 434611774 693576920 28852394 849438538 69910016 935171202 581624618 445381986 394488284 459882298 910889214 22560490 173403426 302754256 308228536 746481912 994471812 203353860 891729770 374262922 971451888 376852430 315726588 631941076 945761052 912369436 994398480 970262072 683561076 57295962 324318968 228449614 408330450 518941544 933371964 386979472 22917198 397549682 333999410 995302046 289262452 546481522 460523774 456133744 151509784 52666246 823813506 377183524 294835928 339599014 805440132 41043670 371254870 666152818 693870386 400153806 392176134 155042748 725232234 356767034 615768238 592451384 753694456 822869916 651858480 529432062 267573038 782895228 998196954 750879842 255115986 221224274 640397914 777392296 428442288 820442396 954111174 341532746 793237072 749263228 492717544 694110412 569849540 769460796 675014980 757741842 380134590 917569392 226955906 383230844 156905156 983703982 591560258 285896422 194976598 373493302 560009468 163838684 91939192 77306010 701779184 233686444 782450792 820161344 566714148 335073442 789930108 923786880 70134544 428660346 575754376 961823882 422914610 458178918 997462722 281505502 237875400 445814164 987718266 942166170 461836710 925344364 369080366 571416248 869642650 588068436 744152538 167562218 191712566 644271202 530405584 128750408 197839914 194785150 19491602 460818974 725623208 790638292 901634236 849031566 475599466 77953706 116175366 631804050 793552062 185865622 450001762 345789756 560676702 326815514 647169744 478395170 958252916 91795888 712717340 137454612 525722612 164047712 928205718 175841600 444352330 867131518 664571456 695184142 294819614 354015536 218446846 556017168 101323010 143245716 127576302 424229432 238139754 727369630 571533960 218601266 745391290 686089034 91377724 965085492 848141726 778089342 297236140 697508992 847989144 27303006 987818492 685991536 823761178 573335478 857308154 889660044 142789242 662335800 316382830 392437736 231587102 748384664 730348470 450041656 200555950 651495316 827133326 11753372 652350750 117388844 337530636 467361676 330008152 844592106 802540308 963053260 141347306 166313546 651280084 760050044 392337630 382873632 344975914 317905940 843225916 288993220 346208256 550317126 477242746 11262366 77855942 821083554 762792932 205432374 715592732 770259230 77550986 658092200 860738958 101910522 620667360 429800948 284794046 931036412 60455870 114610594 250121628 103306636 125763162 264787642 509881054 716521576 501623596 534400134 791603322 970253644 131179416 244003708 660816380 312515986 868084268 707392666 508284002 82065012 156809488 13310368 764973744 35275096 367476916 120477276 95136142 849541652 975133186 166030218 793970172 229343352 742628876 898105572 983519756 615073380 77301784 624174830 538736296 991889280 228071588 19989802 918072258 491495122 970064264 817647242 429054318 658098528 318536272 6076372 186296370 245738174 122966942 490342782 77753166 984796400 26402690 931325328 84488908 536312468 886853716 843092096 7453874 255443332 315095406 450955856 128334148 691656146 190307150 779250852 936541944 791002956 559301336 479816604 64447378 858922156 847557648 94203014 240334692 439166270 235690930 276525768 516073800 408889372 649281978 405251250 988008502 207447440 842706892 938142826 299570590 765138452 378375204 930892510 52993832 517991936 5342746 307964850 220489944 37845436 172512740 878417366 48494662 885373026 994868066 356994854 131806606 418284906 474502302 827573530 701422634 835297894 699535226 223951566 319286042 633399654 217353450 154213954 956280984 657055018 953394514 404048788 339252750 518963392 160767124 897182278 468740692 406789242 191361622 146372580 184655180 164665316 24776028 17628374 18702818 371778038 374615398 306469882 202816196 235219474 745822546 478436382 816459554 572080660 560618040 995397038 755379410 472301334 183573444 152515540 960412918 440675016 912677978 799541100 679643196 734580488 867842632 732426336 865492574 475858078 408691356 612281378 935804214 203933544 515724738 295438910 833411362 847354764 920066640 863128622 449830062 825936418 256382548 275647872 928752468 23340160 548863858 165125046 356342842 899795858 656620256 283482734 405615550 34112862 293477872 793654544 854905806 174989070 763428024 474808334 939313112 472344976 885612826 986734802 298661418 657430956 673831664 975708836 706265866 189957496 389753064 701490186 569042996 863928124 327699214 38084582 429867088 629198770 42170542 425928108 216778068 409681080 768785044 16163738 545975538 804896880 56768904 109472498 83408900 623819410 798078662 636810644 717158948 615139786 275639158 812616256 304311768 125693672 589036294 534004948 811855144 496499374 348436678 288346518 988770986 735246738 302250850 348025378 710063726 250253400 504292368 397010928 579013856 180023964 752991848 93106580 862051722 17260446 464272868 348791692 825847370 547151110 812181744 980072978 995033112 728889188 773996730 580385760 646887492 859749372 781829962 214900232 405922108 341267900 734868582 851189314 786332506 433727326 730401444 943269764 292925710 164828014 860936288 530026708 363256782 746052526 321914714 650403226 593776024 582946794 956743142 75465406 150525782 231058360 74816396 349673096 182193690 68776564 177091238 335320720 394702722 191822498 307736364 403257386 554447738 19219094 883251684 793517958 339157306 70397518 168876004 561450552 599373446 201601774 343251700 103381494 868829290 373272936 481454524 260747702 480153356 439305592 652133606 453646388 758425454 320438652 489221122 67495164 478441904 978673254 853976488 562779764 284634794 806234196 154971850 904879656 911687378 859078618 557944026 928903568 283348078 849696732 492768440 623999800 5484682 372664484 651294412 503478860 611367270 519823108 188598498 329544670 44402468 949005882 739061094 309378246 778210798 526834824 486933676 874300946 233508758 213803242 209333266 198956294 354356798 896137012 39243716 480099710 379269912 87239660 931147146 527911928 879807456 743285116 249094494 417864200 93382114 368247844 854396000 637736224 451687376 459443810 26708190 285073710 442956320 43477816 481818902 909121166 92061314 559765280 252916374 603350554 30241810 572413196 427106640 123640806 905555584 225970466 909200966 642286308 969418032 678107000 200991406 238297404 53795774 212220828 874114390 93341142 448188370 44768730 857486634 235487372 667639434 454662584 268985710 555885932 62379138 190808410 841670708 341452850 176546206 275280530 843339500 548008934 859663938 187768058 968341850 359490228 515560614 983242896 103335746 313838890 751707116 463661008 9958860 794523172 754505422 415334034 604057288 635255768 123639858 27350896 204685230 265457406 850412904 478054044 753288794 12916222 569987784 609168082 664098000 626757516 856085674 114137992 364838336 822080428 438814964 223524008 78072854 762223360 779012346 514595638 764936768 964774850 617412334 773263378 685666248 788755034 286466216 374816614 863666594 700585676 118889736 680012400 89688594 771814302 748557802 517330760 476558110 940327240 975619812 190932074 705700736 835967602 909170704 745607910 945190408 42795432 366152556 281890334 313827288 46573600 565157188 839598220 179130712 42986604 607757752 935722616 385317372 296707674 171192490 660458406 790704774 609295802 688682244 109606134 141797698 743389618 210159454 882079520 333537440 843912732 844560190 338804634 648128152 333669738 685729466 521118092 651707244 248316474 26963762 743722630 238936878 636695738 307770122 430586880 696774194 542552084 981122322 897347998 762021390 78945650 127496576 28463760 460099374 506844534 940467426 92232900 83120998 162362328 239491718 822138398 542072296 617280662 918574834 254137570 912347152 57057824 770810614 949515066 722776900 751947526 545050954 808299658 714293606 518802116 87039082 424184836 965798660 828587282 681529318 820210296 940116510 46518280 18903850 354031774 978724596 30137188 510866508 278802962 82783508 818693930 891229482 301861928 294552180 398218768 151332818 369541640 847983670 239673138 121315568 321347524 455586594 504562510 734011652 986804556 698866632 894136300 748264934 295444294 202006312 258248410 535123842 967926828 955750766 955416040 632345176 748129068 77932338 437269048 154140050 110708596 424870656 448725668 927777014 458286788 858327776 921299544 427729114 744411618 975220330 455118632 185615496 611756762 402808226 95920746 816363584 348452122 601015940 422016780 334837726 212284962 69323112 295338048 914001400 176744644 556795152 776010206 348923536 923981196 699395216 613559450 438311168 123674842 481147128 446595016 165226248 217279552 400469810 543374486 261904120 763174846 167585200 858654912 251405870 333175538 538479420 364855518 747938934 9511368 381284178 263218210 816529112 501191674 498848956 819531156 542277882 157943558 193772584 626351992 997363142 278988368 686510762 154842568 125189314 164196976 552317320 636541852 111027276 344001698 246303678 413945146 931090432 767565074 863180338 235373180 494754708 725294240 410914716 242472108 173758182 811249988 688984068 522542150 748206122 904873712 187620448 425309094 756405334 723253238 473408550 567147506 785641344 627507910 615910550 433058962 421571072 853602634 209129188 653161676 628004696 811297288 752130546 917275378 511035072 605670904 111375678 853477612 731469904 675650602 913991144 226825420 763164870 195176562 101085120 952117726 590422892 118531172 233333180 492342860 942856940 909751738 724024784 456154784 952816718 712493240 922775522 135480072 826208906 773236228 815576648 428729986 317402246 281975172 785311588 987774606 251366908 617395458 946342884 481789214 613253628 585298396 808444428 541498172 554013058 659435396 944930898 501762834 135573558 271157840 624457938 328403684 951830834 983732960 624500460 580853416 44929496 365905594 877357326 922599060 992698366 779904904 633254650 376022392 88797830 670441854 386450756 47359428 51753376 396137114 411997466 718890448 234057458 155396220 523823664 768395942 448013444 846681030 686325846 57141820 870164380 571108036 280569728 242110952 331220074 828564440 39448456 569721138 481061714 798803386 293675632 528714758 54986996 186604308 342196870 546569674 525584280 19579158 142272480 634707002 701173034 177761946 775321244 738752544 252064064 513741482 122615986 205852412 574578664 811957300 164682642 20795794 396507972 640877300 884638524 821937666 29486170 477421942 194336832 174103570 283661334 946081828 1288836 516017770 844957380 439483734 481123452 151464540 752971406 301219846 172101926 349169308 913337772 606743110 908678192 407247844 364135386 278007608 43227728 113110824 49128672 93007934 375704484 245639474 159192522 449744958 232456584 271917634 715396978 689663026 304314672 966858518 179167442 160075068 902989284 531197874 349843024 296791130 487644598 331303072 286194832 846008902 520400532 960076694 316111354 686492750 386970632 700801720 215162032 712947128 636479808 671739802 869991060 10918704 890860326 782484730 487379738 438016480 983933118 710308752 331700136 182796732 571829044 720712944 653215764 370967910 946595218 750431840 438749948 395953836 467577612 889623792 764517116 755565556 229014176 50471168 991098310 574076536 957816934 599261396 405566488 891918090 171548132 10659188 282110992 679360536 685935460 585705960 139040154 237033764 212048676 806065110 35464660 726713006 819909498 766826658 250790948 181816802 746056944 512709226 95845040 112371560 22518206 848122860 828011758 134911474 398545448 773224124 985106254 589519090 491601578 842534482 520964268 744786684 594008578 981133988 81652200 366299138 757939850 767024286 961760844 378893448 814069220 4837586 710073996 779165164 886474450 496138942 471220684 794306714 921633772 486661754 59599734 385310914 499207744 611910316 182727602 713077144 821961264 922398918 612985994 927428502 903398618 691550830 863602656 44043072 656861014 377139386 370114468 483580276 460503302 218082888 136799760 827941400 988421754 36216878 140222466 35932994 619718806 785823092 202328920 980782470 10753854 235998266 194167194 835469720 527934832 476763032 84971320 674111256 142160392 46742334 714467962 429552974 407974578 483280066 876617324 680535494 490058480 104950150 939930716 119862044 449269184 267743990 936088682 569595338 897856374 38766992 107290298 176189652 546390870 651927098 724730456 527861492 658990996 918805212 33940750 441671440 269537876 228292102 667337116 475120194 758041560 907266762 454929610 852992930 919668142 950958922 467770378 37899704 573413800 228095062 294221604 872082718 752236386 339521216 562774800 188291556 126664044 229573618 136710800 96700672 211448478 294337946 422632576 192995190 436239260 344626994 297849320 143251512 635748604 833523678 778268986 850593998 16928012 625598738 332377822 906300840 239502208 401806472 275589550 671805834 696536310 492226138 100283454 766706630 491509492 598136056 235199026 717172834 528166532 20631036 444145286 420442064 451740424 576105690 459060310 676364914 686099184 116594920 455667646 428889908 709511248 452496432 505523520 676314184 637907534 146019748 96434098 127285796 689718408 861840884 240866310 462838230 692895720 41003714 51225448 75722088 203494752 782360774 108433624 915270260 126856608 326287346 702508096 917221166 742215234 989505670 109355748 457131574 401025890 311205224 801577208 127513272 897435216 925585940 215259220 568072956 553749076 789421498 507556918 410174772 153783020 786649692 895130802 506280664 484942826 651795960 633327688 639306054 325995414 474272552 522659836 624035712 931030938 403566930 84920708 71268264 68183762 611224828 125211074 195054828 909409974 971539882 99378572 82895386 431110336 568281950 900088750 894781118 557886346 259413060 598201474 212486540 809794636 265180100 898802942 269454802 901847342 510537508 261648896 519516756 354008424 116424282 299913872 601695218 227431798 457702678 908747104 633764396 96117386 870990830 620567544 816596720 838587506 821901676 614371920 470748532 679770908 294315660 406684046 817921822 626384620 22959512 548165870 75640312 815210288 927942328 704875708 527373728 178458346 646956024 593544750 246150208 719321254 903796376 652383932 168951152 415631768 991396984 674089246 389960054 15241518 655958494 714390904 820345616 933243934 149348584 881559054 444748816 237086910 392873108 547079760 120330584 738240930 772422770 226587174 634396550 483081586 118036864 200127310 208888184 829921662 279707596 286973266 547240954 685443306 215491622 437475816 613612350 482815400 493444018 289110466 553585558 905766886 83797572 655413108 843170030 356410714 305696550 664861226 589722402 674562544 796734646 611260172 19911508 498115792 747226724 545243854 396236946 87676530 231174994 906004982 205162502 262618712 679232582 741642394 384380278 78002658 28730752 671514484 237715126 296191566 141176528 115083544 588755364 819325794 859027136 107533994 358144062 69228676 419925212 870333322 58732294 235825934 981894028 410571790 388824874 888158616 575294334 404064616 299059442 101783130 441783634 104659200 866822952 909649162 506338388 17526800 40590690 826491624 10466704 574271340 952763134 985767776 673415984 636636536 650830684 88229880 601180956 592621060 1858480 598889616 891534078 299031298 596541330 535242064 141596594 156601306 988009266 882092856 74762952 362488876 880965766 800710210 101999394 85695754 909212872 179756418 453505718 558451560 361994524 626772674 372114698 501377744 908136430 274255014 689406620 599392130 901479206 449680704 196683220 242856100 101123512 628937988 70185190 731448996 389623234 872806200 463260676 995649662 59483578 256598892 411385516 470903272 484770636 30552110 654195226 276668630 337170286 39826654 410154740 770528348 84531194 678163140 660985530 403376352 935037266 344080140 3909716 752292218 982300786 955702658 389973154 6786190 594673204 850886464 360745708 377526714 416017034 952414674 383511858 677071680 222882482 928750762 351991650 514372864 384014956 79336630 587146050 290305038 804122758 606440558 95304768 930067022 672113008 354587690 658789988 714360286 354497620 599691860 874058866 634145386 847743026 674453682 50196774 46390546 746290028 279963172 764741740 57867218 251563766 407296622 667671270 184529306 409933004 618198950 827495592 32593418 978828428 460759674 175238780 870670398 688159084 827245526 613247972 911211892 803553792 781451680 449136600 58784528 519080 470827758 540876128 794491664 527896660 213938516 578003612 68215118 689206930 688015278 891299640 276441988 167812922 665390922 787779496 550853448 750249478 220048080 732517560 169027162 186995976 125413792 235110888 870408580 238491862 912296018 928091654 740667500 627342726 921317666 978633380 905450258 624567596 365430002 142257134 869319716 251164768 800621748 871473568 983398686 156795818 825154958 748453832 74831874 817363468 290450070 201611944 162905818 387008352 574246214 339191570 94367840 389966326 73300174 886612246 264797728 717326042 443055036 928370494 112702600 228915102 32560962 782211016 63777928 773701180 170637454 914990566 988353420 274949014 281097320 621519204 664342784 535908148 396145336 580771516 622789180 709072608 737532684 848920520 19269208 229326182 241975346 90234194 469456828 225337248 148439174 877626492 959861808 289644152 402315658 978396966 978732956 187701108 53133156 434340182 6628312 787363950 709868056 857305358 432057088 273372048 672418352 56262982 269429044 485585044 365720406 206820768 888150456 18480406 560690400 503111724 912119686 897163504 411135568 8293726 844902440 144550562 693062702 774756100 475847106 362507940 645305646 620770462 795178180 318951034 695020586 333912206 68488562 364321596 996050890 25575376 856688140 839478364 654828126 959791146 734051980 422215066 147603284 668279440 220845976 361105570 993049818 146592616 345420230 460326858 959811296 827005558 913457712 16861572 107569922 437343850 70713912 696393198 734269850 213495632 739930108 250441894 308641994 828481010 44357748 668755912 721471638 40843150 892328792 111799456 321616980 368568720 680812296 592668004 363665850 396180626 706848406 197263332 59814166 673540766 429133226 875018048 495756372 509641856 955507996 42313858 717351910 225721790 392943906 573268764 659428820 880251558 398850186 464483602 663436838 582525778 186311872 914764144 92292660 28150846 473051298 743499618 448209708 500279998 452522012 896855344 436459772 417193098 427884848 721527532 281334888 451672078 354585646 610857800 18441460 347403842 71790912 399483050 900930186 955282894 993345454 427881150 445729724 588244604 539409392 923171792 575514178 103111712 734498582 413479992 272530174 592686842 972192588 456862362 29390186 772447050 250229252 318237802 304601814 782826010 486316168 715106350 558281832 325191686 461998164 881084602 796233812 383970176 199160708 355884730 399609828 793537782 12718010 506895010 639150156 861728794 14005828 228611796 718910094 528958616 983686988 962233806 678695938 896721588 703742168 817097064 144875990 481416208 977707574 288358130 381595912 705724542 477481320 700357600 115651562 275434948 772729886 92073842 407840962 443220514 759926210 474983694 55210436 641815648 415498966 48431996 126081332 50468420 687534136 842564710 55803468 544415250 165354234 268975930 246269904 752461966 511456484 47690666 592738272 369230784 552797372 237660412 363225810 199412936 60736958 315208224 982330776 42328090 423098520 198620250 843134024 709807344 120443662 13677594 446694630 523382442 569637612 112433858 470431782 492910230 631966748 169863242 768669100 532725010 163143438 615407394 845237584 939923852 265788148 528149860 196294824 817795524 363581608 72001256 146790724 707745550 267402460 625787004 132537750 613806558 203177726 375006642 895683264 691082664 784520962 11088410 914974760 15781958 219376706 214041048 700247486 111621402 407109136 10618634 582703022 127897132 774346558 467825090 800604654 497219574 457458990 668326306 524807894 911582642 838498536 907796950 193575550 227377980 69434848 621155812 590177380 842817018 381024824 275601138 287427160 290825226 51537570 968933920 758806892 347106410 477556500 355576836 37317080 613412720 606272902 687410848 895408716 975470872 197530868 33045952 865105850 582496792 190222582 347185300 253068900 881650276 578219986 401428516 735162268 173966912 77781352 47986096 908269264 116875650 875187104 329207502 703834224 929284642 75847838 514783862 215823170 12665398 26227800 664384550 883319032 933482486 402084258 85065426 618972242 251623662 929824696 592603708 831726898 489671500 535010598 819894050 581915278 199017640 815879642 683915916 478074712 892954820 115512988 512788610 946327384 384864802 11038698 104774940 657706792 597250784 643702634 485944158 930302362 996340088 883218468 944761534 540780292 133264766 300601474 293605534 199964036 456698322 418943226 36921276 991235468 530608678 454804508 35694668 42737628 490400300 364623464 271611156 380366728 830138714 538874810 963404088 700880038 624970276 544086768 89986544 530895446 37165370 460484160 430407754 352914204 134720278 993154042 782741332 821921148 328811400 836323450 143278222 803888584 697562450 217151592 773972178 595502998 388258008 97714458 587256748 922455192 966894064 799679542 957098140 246382532 279787564 549554198 120302300 273459286 492081696 883253346 48906454 867826044 929098324 368362070 186572174 101283394 794976184 425841424 707620090 199337094 349797516 525834258 827848624 710094592 331935534 591610286 434675596 744758874 31597586 13114610 909748644 254444856 743223032 258802360 239251658 431266112 33167264 967476876 179622314 139761420 733038134 750568386 333039406 614647242 284491670 10830612 697476528 620599234 464733044 932432452 292280102 934793510 481481700 413611582 226993912 605625132 182857490 465705988 211281022 603152198 512182032 988788336 67884716 647029390 740234252 429003508 696865318 869632734 595696988 358747336 472303040 929120616 693745700 103686664 258635730 612284588 509146214 572408514 301349394 587953976 328975794 972584978 266753940 466656322 540329510 198987864 525138860 708251262 250906620 654188588 812617314 518566842 949071018 503812354 77986222 87984626 890073446 913084800 447285678 155286706 305097018 740554006 195698642 66242340 909833722 633275508 538646592 791813702 303810034 164433762 245080900 722152548 743799808 854008410 61376468 183406894 342003146 597630888 117231784 433436574 308064424 216932128 320333218 799542670 408467394 149083906 175078796 959449530 275428452 455211736 359828830 587456760 414544162 954775794 362462720 500620772 210259556 808521370 705897298 902169190 338851584 713963590 84655026 951302122 881206456 571109000 325955710 962366740 77165924 409531384 295470942 745202292 759133672 73468078 975017718 698995718 803461718 227311042 255849016 631895042 422566816 72791778 678813798 851188972 430275234 392545078 27413094 817311138 494386598 381070140 562606410 137335034 990448874 919846018 806120188 702672038 988127570 532105310 850227180 320514764 720498416 720272238 60979188 237615870 290388818 148301918 61015730 711089218 771305704 298039472 193704124 702677720 749677528 681372674 469540004 655881448 756101926 736239256 407638634 382965142 660178544 884373454 355798994 805079960 23909158 185394194 528296470 37520290 763532362 606117866 63366910 200972008 402044280 424949792 676529440 915379302 956731586 794836674 659785370 420952864 786030 677259682 503278214 787441662 421268076 261377778 969444110 218244124 859791640 844255134 293691924 193644038 992963798 723104974 617233292 576845518 104120582 146828644 668104480 127375278 744587010 253797398 603353904 711388806 52975180 754324456 699768948 773245024 348197254 168520960 339374504 792907268 100851186 388040512 956256850 344148124 544558192 682531422 549255442 896374808 687656936 598113022 846908636 849631434 854786994 830624110 816770196 187150568 834151668 239660574 329402442 408520150 795739940 955904728 408782494 333870900 770383996 987257802 443937420 243346968 532098036 808889936 515276516 746212712 732646168 502018856 370382928 841779750 710006772 822631976 766065812 98254312 624585934 296169670 245838962 34861358 682765854 137788574 969739050 652810222 756764426 964174878 115129240 628551312 937709888 565488626 68769144 213714770 7116070 840768296 872902442 846695202 237093254 804268984 120249010 743474566 265507034 68281448 732125872 858340710 143931298 220754586 920972170 847931624 605772904 713354654 847180138 193644028 492020872 762889196 409108852 119446514 976395804 328823782 652236374 634571730 584623204 126873234 85987434 963727018 982430694 958824830 285521184 278987828 98191590 645691216 201918370 951867994 950675948 448301942 615208538 194775320 650453550 998591118 807193612 213384938 542183614 972839540 610658286 115206498 110780968 562042506 129310874 214124298 463529694 470989630 550937180 235421546 574622916 32496770 691425892 829970046 724726228 76664944 350958596 961138476 358093166 924656182 175980448 926228620 90422238 60494822 364343886 157296038 338583732 312031894 585772062 340235720 686327842 884516640 545526658 991908672 385226152 288456420 43231918 567564442 593004410 490786090 843870826 329951986 718198300 807041940 94047004 825150772 153716200 915195088 12504768 352919700 66323506 592654136 406241248 133890376 97685078 105560032 35805658 511090728 809832278 487231870 551253184 756620066 689339722 704689796 632790796 753929926 83429908 701504374 161637634 208460142 799476544 497356248 697591494 361555292 105442346 334259440 824412144 909836224 258665340 992123030 156602072 611280928 368145522 99659222 464370228 289362194 452562252 124615056 557319296 756098036 893940546 834295502 217925390 209469708 936081136 456989254 480151166 566125662 722899524 998451528 345415150 940677894 71954134 262533858 807958042 573032238 867013600 406443524 885467470 162793250 700515522 97646146 257891194 588027754 912137850 609879412 315345518 137937196 106221374 884750926 740711362 293346942 985692732 829211240 670976696 706424092 198709292 481524112 790388580 737178614 599602094 701979286 709223896 435298894 345717306 578917616 12750018 106426236 551378456 918492438 837397512 684045672 534188094 809590770 912143396 36394132 132554222 567878974 829155186 658462422 275083290 368981488 38287700 834733050 590036812 295921392 696508080 845266812 783264314 131005562 33870718 644084694 887381394 405197686 97089818 690910038 839317978 417699094 373771136 751046258 30785164 448053116 134832888 65394984 560271872 315420506 459554752 433311084 49403306 692778794 78220850 928528024 478442256 907465504 125759600 420158040 912938394 553399582 60611586 581867186 14108150 764821756 925584108 840831342 213144156 383105468 854441206 261740188 525402616 668227252 41413264 446813724 889246656 252148496 843318894 429572370 183420332 692720746 258907084 999557084 390596700 958902894 31332852 579184958 262664550 62343368 845043802 849057762 527397352 691821922 73294820 998257216 269117710 245633992 130403736 154106018 968909236 113958904 319172842 2932966 489463726 607612550 584519948 118053346 933919110 57860552 9286302 460024894 512091644 9949340 801923642 250150204 383382212 800517098 396650198 677698076 464546162 635969548 830963016 87949226 238272182 870938534 510185314 618827404 803620420 670492324 845821524 236896980 147859176 11043596 141936050 15795190 499535770 328515288 771860378 143493002 975586250 245379442 319640364 365310886 852748774 736150184 928456540 93400594 218666396 857820710 219440486 789762306 16507468 919946390 423376786 618868676 90471190 756456088 902484532 441362948 908577038 553561618 399425476 592123012 946142998 992589528 421923064 9485478 492081758 790037742 318610928 91765380 552670222 991872360 42008376 623904322 22231806 839339206 964688176 773804142 693247726 21473796 462120590 412603934 269508396 762330106 311445904 954125108 238235516 886300170 504540512 448578708 945055504 704343318 800959042 389193456 78977964 496430686 456880316 88145262 694131314 238959906 112751524 956753008 893949804 537622720 383563792 505761768 640337006 738190286 530617964 543465692 79745870 952851362 509405324 37467510 662148220 913443750 198003230 364134624 459590956 666263312 419872 404500568 535176850 800809038 333247656 110335610 992044824 867686174 400936566 684958112 241074222 52187238 580056954 412455782 76482428 887070530 372300238 911228050 194429112 588937034 864685612 787226606 172347640 929043574 121462528 259929688 692488852 777119112 101643544 322189138 830875780 343765856 399401712 552422240 283302848 109504916 915742302 255760322 287473986 316540280 659336416 351645458 186820112 967376658 981061980 746061064 940360136 272384686 402277472 890238500 248346428 500017970 291177250 910908184 865472610 178782052 522443714 577332940 914130016 956036772 66962656 122406320 396632078 974928832 211588540 468166194 957751390 653078462 243700284 114489066 862578082 130513036 526610598 240780138 889031142 936124846 297512476 336454762 75408962 492400212 353738140 777801616 577581832 602158080 246761686 326156442 133138242 323927310 967419534 492546774 962818144 932983184 703980000 243502238 234541126 707433102 299625818 135342768 848371018 257358300 861975152 399534716 816472256 254937950 846362686 618633698 446910964 139867962 509672686 6003408 343443368 687966736 103496710 4464966 998791620 225521538 622812940 64715020 162703086 489657552 989027846 949298304 293750220 96240918 623823290 468814020 829321678 412283496 299978992 151796942 983113306 405010854 988817314 611027956 226703604 472469502 553244130 828124084 823478142 812400842 450013302 310549430 821191288 380120824 677819286 852401572 627382206 625524750 965263098 966984920 47156166 778719168 416154944 822153114 469047964 967006006 188689424 732800594 398530622 600376908 461277082 80931910 191665834 905317780 865728444 539491080 737813390 362957160 784486742 448477114 96933302 340960720 84977380 669643640 995573220 212671368 348288518 351643746 163536592 256768274 632596976 730750066 436132092 568037362 28284316 323270676 645207666 446327808 79436124 892067436 705101804 762418840 197496656 421407060 561451270 829412668 539581682 751954044 629814112 976108276 419513040 714107850 666022574 14573680 583394658 430802986 44613876 126466812 545840648 334256466 783510022 840440462 590098232 880281386 184426112 397490704 901153246 536159534 288203640 680423204 69388594 624558958 918295696 937077528 417366890 335763880 779418762 265242438 638011394 930828984 244446370 708272092 388901824 731745594 433513902 517639904 848101488 826426434 41367854 415266740 653771558 516993054 59365418 603392368 320083976 38705924 614695620 634906752 718927032 418919972 272624460 992236300 199429644 117493244 35830674 504740212 844992668 266938108 462959420 220040978 734915352 563741248 444063460 775575572 628522570 431786350 182783128 967449828 652829942 864736124 484685316 226984464 419701110 333918964 676952406 981928234 914237896 55228358 705853612 575374954 742553248 305236114 963067480 456999000 569370244 823636190 788607002 402481442 147638624 456347302 958215328 829130282 110374566 477743048 482810700 327456192 923650016 765759974 805064644 504548568 283128212 473115068 444164130 216045828 981140028 624471964 671606856 675968566 711968312 878175232 596706902 520766304 78161622 311131362 738810378 636357592 866225460 895194326 402918732 885056286 635748512 490418204 330914444 407594192 388032014 138736946 187351574 505273722 777330620 741356620 888669770 167946748 668791062 115077810 687402760 665235522 529402240 821365738 999023766 894813000 370989504 158078772 22109624 514849148 22720628 267777698 443590686 263817754 394427758 985957248 548952020 889068736 627478046 504804172 17573456 49487068 7936750 115704712 323296422 959355802 340265074 419782870 735699066 941418616 362766874 641760518 267780874 350688186 664241068 962947520 966295940 521187784 178704390 436685186 579852660 714656446 775265824 733655656 364117064 239736414 814641268 884717492 302524078 300225556 306831692 746382456 553373432 96125544 306751084 309562074 319994916 102948872 937000202 971029964 725523206 738597300 320402272 288287924 439079946 657182094 483296896 376935006 171171888 251312136 285091202 372736162 342227716 397478136 19305238 668592298 622969256 516293826 525066958 475530398 856832710 15229764 548317094 685464312 229915310 754955052 791067624 154428334 194136280 613793790 401418226 333243312 517917108 493047252 259839402 34201960 854950280 989290530 739300258 469130432 3079284 901863966 632595916 744555362 114270174 786068120 125693080 474496332 406963398 112143268 229034250 252332236 900813268 445783268 714014402 610555338 46739094 791485130 800998464 737180626 166751294 141916536 763140022 528855990 89565452 149912126 289966494 90890150 448674578 388748208 758296848 308284344 126449192 981863424 134233324 92447902 692137334 347484220 618327368 908238834 301078430 734423868 899688176 180910870 387767762 435468164 688769016 396297074 555501168 25750220 790044832 377535882 720813442 331153622 47865400 828708878 314499122 545448886 766648456 869512744 626082342 469740366 140916938 561915818 771201196 839427240 840228248 868392990 513852794 675174750 379388352 65508814 178834766 17053878 621551530 426156168 216580672 62420310 352379506 453507126 600955180 968875442 21449352 291671398 47018278 594833624 487914084 719186270 522644508 979963732 400727624 569398222 807326820 413571516 121334868 462666458 476932904 918272120 583061570 315192214 487961438 768160618 852076872 732334462 926628268 995637336 230914538 540422096 452093838 255445716 698464328 876517040 2824014 67589426 585106440 91310730 717800362 108727466 978297474 660729258 738085388 349294178 747963312 71213770 369945390 599001706 237869368 184855136 905448840 796678626 817720028 212649390 291088002 329739904 714891710 765628146 71149672 275772550 32313408 645200796 824088358 309618394 747384248 627867264 239901098 53714330 148700190 526246370 286500658 360992404 234567998 458484114 485372280 494101394 608880144 648350430 785029762 338143942 95455828 150912566 615619072 40481794 143752590 932129402 152817724 476393194 40593610 23901742 163637950 347747382 63711644 242182354 107870856 342185354 364344140 78146516 164685454 346212144 139014058 391126336 581987190 239223624 531778660 566975966 988197904 654139772 187544336 649555258 799129114 487142614 722376468 78866732 573049238 413257648 730996192 467719858 517452002 541238792 977035236 548284556 413852362 952280832 561030610 467007644 625620066 849844838 602622582 4264918 130311472 102587720 306646908 388872542 117212694 52115044 397481426 785054632 300587954 944142878 282967650 484286976 767853396 633816688 787156288 464188024 550314744 338906286 245144916 754333096 951294754 857110758 945711634 887834140 30551494 544418446 50014258 249325994 881015040 96760492 231920032 469373960 16960132 818368160 922792628 927582960 166473582 901492682 923057488 45390340 599677840 736014252 875512948 224352066 754686442 39501414 257568164 390525878 114587024 83263240 457803584 400196888 528343598 601694504 451861696 760604388 79108834 356415002 551988342 548984148 207687884 77446316 101246244 507269498 187566124 25320028 135511812 953280882 829699090 905596488 559734238 510838384 735615422 343157748 42233690 27900972 383955142 510727414 200910790 656274124 713997592 486465138 601780162 790230206 886776324 664278802 131724554 267561908 429490330 971514354 175703932 204307756 382100152 766592010 149996544 366508808 994279278 630063454 135842242 301894668 410475160 499034950 916831560 868101526 632128236 426514084 181176332 764909942 75737432 909245216 973974864 183888814 955017960 872684530 180666438 377799424 476453236 562970132 953048612 779391646 609411308 636686148 680470366 837710988 164205134 38173590 299122432 124828786 804740414 667074958 325554794 196114312 337415334 342196788 48840250 895811482 64257676 850113830 211701616 380109758 686199182 163987132 132621508 510650664 283216938 212218782 434014826 844973646 483496662 688747008 681059900 413372504 938735840 829853030 9025232 379096624 816222944 461438982 381211772 851682992 194672620 619737670 154194606 959474340 594876300 575337270 604760164 227230226 135734382 271441836 435173824 538125414 207353190 859993878 795065050 26760236 742784698 59800042 857165412 133415630 931271090 472528342 44114062 260263544 988038226 322773350 534703226 822265550 70932088 930265020 667462326 560646496 570644338 796041822 183818358 725842672 730096722 940622184 123825230 764943444 157679540 31847244 625397638 71588820 701337616 434704354 275386988 648334286 806490194 650887258 659870148 442331772 672853524 969308370 800339850 290902842 133808270 254529028 361745260 834084780 718335388 426379964 993101076 979451410 112806628 590661462 993926282 559110236 176122310 18650282 191394192 351554536 774888398 404733358 575437260 911844220 914407054 343440898 865530716 103463218 111359458 304827164 253356824 879966756 165038234 645828728 738891846 164381744 381209842 278082206 585843296 773856196 60867558 157659026 49702928 280842126 465547092 674233100 582092132 947953584 825033484 558941610 495832884 576879552 664933084 135459748 605255210 135642074 356223166 437932972 780007746 522117400 566791438 297502718 461193198 408861902 509353324 730058558 329975930 130185050 936850062 87602856 552769060 714914654 745727218 621527874 953438494 89359648 792205508 930551012 358267082 548222202 311284058 749223024 863509292 360779308 767507192 989713076 217831934 415210334 885270588 982602320 830685906 366924824 33356752 821665620 640059930 306740034 331178054 79862648 83475732 73114056 51195700 406908018 114460236 654606478 97094824 567847596 361982248 999564532 575028246 764647628 690421886 19875668 89095564 105182040 65821790 668347006 524917016 310973092 47539106 966659122 244081260 17616726 954877542 95156206 821321056 751794320 190795680 951552478 840417224 308837966 481865942 755507336 586883678 227619694 402827120 886979420 819235624 534035012 972775494 166203218 788685636 254715080 877098984 453406862 207441328 130159866 628456704 494159150 629281990 913151964 176762580 969382912 17764738 366528594 188214754 546020250 772956576 905191418 378989060 279999236 835702132 751761018 678919358 546199696 598178254 71574610 362487232 76666294 791474626 888943700 45541262 458233874 298807554 93894536 933991356 981041616 12232458 658744998 903469748 33396864 607294424 857515916 785604738 264027230 576933210 402841492 525994810 876619274 10919498 69800918 569959276 524613694 587560426 313775962 829309610 158576260 761092690 775142370 366454560 203945638 10142302 797707554 354387014 797044756 272249584 720445948 763927736 315140302 618443030 268706210 25649732 223268344 878612198 943905748 523293056 215303230 812588252 822993900 89300588 403084202 14008874 655713186 415055182 266676098 467408688 405172834 647035410 258635726 974598210 387438144 909085528 849163692 122684256 28873022 293701528 165467868 389206776 217857012 153989796 900785884 68813714 50121438 782978972 100552014 511841130 110356148 408320408 273859548 107621008 480816586 429174448 635403338 65363060 113389748 426716512 56590474 784854010 588954668 447947542 999329490 735960086 766125012 300670376 504086122 181091164 79454022 593508822 707154564 246927188 142154038 261461448 169203740 490012858 810960368 634064494 388887272 241247290 95538850 475918092 242609638 286425174 103636796 267203352 162331708 231439416 376723874 682628802 802690766 499776588 269949620 984237584 562828024 575453330 817801208 754974564 310159706 605731662 258128676 482244598 959232782 655499606 762091506 538283342 670691856 244787510 414396146 122664758 654696622 869553558 844934574 890828442 413068298 744514606 172603920 968821424 732088118 417709236 296735304 549400774 771014066 592686338 781018616 250216116 201120628 789072518 547642204 772637928 159325732 908113164 751320692 139150938 730133038 420379436 35663052 736951984 599917208 443404280 859304334 502619338 609494646 817706966 359698020 612341728 524632240 176586718 206976496 739828762 639921182 255630122 683212016 264313558 467262138 961133372 477774228 696197702 267833250 96891052 870064712 548825650 746151838 635056928 932133596 301975146 529678754 362111942 365468960 10384788 503310650 189901646 720635694 954942552 373016658 389486424 571868700 463294420 756488360 208212784 192702100 902260898 282033200 428123502 948943278 268590524 937339570 438972752 831340932 510141384 898819074 827516740 307276914 700895888 995036828 764483486 636970472 914703610 911763270 835898898 481125874 202800968 745389752 164099564 705777422 245516228 946750312 547007570 287921188 762343024 732762602 441959418 831263382 31934080 148550718 953236426 504547240 78316194 684172338 249946486 874165846 958713234 315852894 113694036 714758464 476523714 42357702 206759264 840759226 511617082 402367434 871633580 639556698 918917500 902283560 567086864 702424420 677130106 845449278 287308896 326935192 873012544 428660308 683472140 604644810 677143186 934619960 115023628 242492606 120362762 189795532 520103718 568843460 686490722 590895654 79124302 845809818 345273862 69281220 167718940 194437616 296841706 322286804 382275176 689634226 154910600 592252524 900663956 859078262 589057200 347021288 845485858 84749524 217460544 248277780 814280228 453901926 92694248 916961580 894315458 563541220 63430598 608528382 391886064 569890464 74589154 201736802 246700338 59468342 88506862 503366576 312025424 415196738 276456356 270226820 167788894 305234116 643676138 31518594 638859722 676692806 159894104 229154366 549233232 617346560 801679842 115070504 269828286 131203836 335904676 961905012 127431436 577881924 645328192 486495088 415652102 46410226 919262312 647058726 144038616 683436612 469853904 28881480 82417878 71726102 408028452 570321634 527033162 789013224 453028080 921664712 463307902 898563404 196889966 515038204 723892214 814598666 200687440 275110252 811897908 771195952 430358998 590750990 171602988 583318904 355104538 695736532 707537066 461431482 3161208 291832752 483882322 756855576 346874778 987931886 455370996 978915786 509077728 349622566 807860002 143157258 118326588 406883736 156313588 408727338 971549892 62884236 169690460 740330020 756751832 701423448 6368514 313027276 47385074 649819270 237003624 680929590 525382266 92663638 628637000 916616604 381433180 692629926 368214788 705009022 668508096 211179604 152552574 596881878 965877558 555893686 86893058 123013120 275533492 932802764 959219262 89089952 883880308 498068840 698404174 343305994 913579860 478536316 175195032 883197338 262109112 200400582 839539384 829811662 378687118 61761530 824066726 808610636 126297274 180057784 911490976 538030416 656714024 637886182 252054530 991757462 453402932 914204576 868828082 996644318 579114154 747798380 138495934 130255182 52326242 11097802 3099652 779731102 642375480 267880710 219021174 318550602 486879866 875518146 334500030 219710272 755583994 463212586 277352360 744026314 42866574 769547080 420905170 764450130 334885602 855366868 493951774 820194038 920196240 644544960 377897374 267300038 113543340 895237958 339650508 309457612 519989060 658134508 201347992 227256980 166434166 659576208 919665062 667341198 133222360 506336458 40280160 13988878 884941960 644129508 382252352 766069884 394065722 824784620 969024754 734914472 564479274 633266576 895991874 336020800 613268088 269217344 309861922 237631390 122691282 414613924 272118648 64644206 914548548 768556868 56058490 922498554 150452904 13044308 394347482 449268080 804033406 204952284 829493914 884561800 756790504 868322516 736284716 558695818 611994612 681424256 216684168 165325360 180924698 820387560 798288660 570085182 486404444 361120758 413229474 109462818 456186582 557428638 942276482 800981528 266167046 337492852 117274544 354438304 479910192 113159388 461922888 717899214 964181910 765065910 337880092 320953902 966757256 906726490 420992442 563932152 667566124 330177556 645538092 500217184 574321602 598713022 757170304 898271620 876069526 489332242 892248772 155506844 662999374 225077428 333874790 767504368 185267384 481923594 52307524 396043708 844971512 68326424 612285620 39870406 525205886 237927594 842492564 393064626 762532832 273922986 73629156 641968888 108845182 902335966 672802998 968951536 244061548 914799832 539816710 276127688 468978474 11164930 93240204 840887250 416052424 320828356 849495074 732007970 750421812 736439744 301200618 438698000 870961186 420471688 135852126 68341996 70990348 252012716 707938142 873805836 954105422 630051584 108450998 206047222 478648738 69973656 348661348 863326150 807154056 663817328 193518162 135952188 737063514 162761706 568093364 946891602 846740990 1283422 896882470 270126748 295722406 656450728 959304838 688216904 746042184 126210480 665337894 910511272 102383726 207477998 334551784 6324518 547795552 162344100 935508440 838773592 574434442 174095934 863504630 295682608 355415282 292162706 472129904 665195632 990230616 949442520 179309676 907220654 603252876 85237896 836662458 102239880 662867068 747650038 561971938 970210052 360334558 969696690 153945620 964028414 874562172 14548628 830371964 968815164 660949320 651143250 87252934 676862936 398955668 223423284 418654184 338326442 34070894 257564272 370181792 953402338 574576882 359287694 810314140 168489666 676733688 684537794 945976078 82369046 163940494 487936448 436753272 594280546 104817900 947303320 4712046 446814230 749436446 500606760 336618220 902607766 368605452 24753464 584434856 341322876 53859122 632132234 367313168 161031140 173207234 394948050 812876048 367390120 482318724 38758970 270970880 925802662 737765320 540860466 539513262 372778704 864169306 375681060 779356370 181138164 376740822 314180986 592762430 211724306 499961168 280485608 296153736 565495990 188465312 813773142 440012494 420486176 736208168 593847742 258603994 692501998 951558192 102570532 93417726 948046380 223033912 361270640 155001046 816511002 173069544 125610992 338754780 68676720 794557022 242912162 993009310 72959190 64653276 975491058 89704578 758510892 465108598 812466066 349239656 914902740 138098270 723509362 478889718 786414568 934939314 777703690 818308930 722439164 675062508 236168450 367673320 395100262 977656036 877073084 817577114 877337238 553893440 599400426 571253770 943091410 741483770 53728258 904700092 408259684 34158188 899255212 510021028 145266244 858636566 698294054 902178638 638218702 855714638 908170164 19329482 792949426 916353034 245817644 126908440 646675460 624978506 663476546 581052672 82428510 335715652 414586966 366741720 332234962 762084910 826758238 642152612 464073702 926286222 616807796 968446118 499492246 937825192 937311802 553026966 55170110 485421690 693308826 494785984 69225128 188332120 278226064 65805904 651089120 495034930 13840406 648284048 948635694 755153376 266167816 688613126 773045004 958273280 653276410 478696608 227309176 985251258 188504396 111058748 324847898 571213748 806722068 461875734 186077698 571129268 240530112 690942800 742790110 668737066 602947540 844895464 755924854 551391466 33373668 821289082 501956070 63412868 387142732 410121380 836684034 340610852 373475572 141206926 494123858 740695862 689834212 386856770 271367782 452427156 835304548 795378748 353223386 548339240 61718702 873825592 703647258 44467590 836194578 534989800 787543034 793268902 698480312 430556696 565480888 751577784 763546752 474490444 632546682 252793718 168179074 39165638 74581204 501503862 204868192 250597568 427399494 354694084 825781256 59242538 288608036 696380388 838028756 597994024 910422388 822525616 802467650 122673976 878956810 3003292 674834050 811484292 761252830 383688252 861274834 65502048 826512082 688610738 346077006 512620482 236922216 303001094 201118662 875827754 807347666 421979006 183359444 159845302 985810748 753273366 842388066 463598188 807220062 559646356 11583434 358646928 686419332 655414216 324440152 720294612 40809442 129845618 19090214 644843278 374113418 457057906 939557900 154368648 100774506 184618456 294465138 517280696 289784160 525978982 513412366 895367544 795233596 637380404 64313088 557421384 550512960 484939726 489603280 676893194 761927332 605449982 957479606 345723776 710455002 8804898 78465898 825990702 761129996 177377874 475076912 388666432 789644804 662471612 916525784 187169236 643515162 740713356 201701890 19193674 187353358 719203816 877987664 151569178 693421784 529178638 277328344 257186032 839369646 183180834 945303066 742740140 657054854 645783984 843890536 983141288 230049874 7415746 262931004 202004372 416889708 680975920 988747082 694015474 149468230 791578390 258459200 97532768 821967534 695435380 161117918 778333130 100995566 364234914 24800300 947778334 205001542 2582166 515750064 921149252 946239520 204969348 784853730 263040120 896496722 913488044 426468166 440418826 881145714 131724840 549257606 4491442 431743452 409048086 653608516 936983404 252459368 477487242 688238206 463276168 797254918 821116432 124520800 206836814 392363074 307273710 117845266 684090474 211471512 885270990 619942598 630802224 700821612 624994590 602082522 970418864 484027274 877402818 898385528 17390266 457818424 663166090 305716830 822120910 758468336 866215322 340799734 872449812 779342508 531974856 123121038 507271204 903299522 475771000 572898948 629478690 554590156 525897000 207645170 548337788 739291734 124373964 134036890 425550246 37011588 437619306 123852438 166484120 232372944 177700314 395975256 947492484 909103034 72310136 290145298 844352050 458587594 732610594 77082516 478268120 478104410 302215782 283859724 727739472 306974016 999933544 920426912 125293808 680126354 366787712 302654480 496694448 226481334 538388270 351509690 8045040 997467104 450144220 392392472 482777568 606441650 206383072 120648538 545144494 924378680 718102112 51262638 652273830 217572232 171719894 284510232 60766672 752785562 339153402 612821072 601032258 235716562 658010778 858777852 946167914 334041094 807717520 429246378 607260878 752129824 981393656 685508810 209955012 724661814 991609378 472171740 86471334 750160734 483349058 300467314 373233018 921547026 764909686 891170580 68823954 880690588 212802054 601248838 377678340 395054310 372739874 854527126 343248540 277673186 861802454 855230156 33580910 451580188 406107928 854411080 562741712 257126510 754891334 310919566 785159432 629849988 904347926 524439262 502928858 154295784 61480278 204856714 949757128 461194580 901418658 34109588 677751724 933352966 203158014 845180722 429771484 293309868 192939398 592285930 915873718 679881552 886116132 119677584 31589710 435114026 181616596 31670350 335193362 407380732 138309242 155293748 698014174 191416836 987734238 23036612 794920228 832488678 207660482 136846360 112746924 522430818 99563578 106813822 294440822 790711132 866253168 661409108 985198364 482314502 798284754 43458220 574765344 727315432 280803756 815660134 913456144 404879894 250828280 744873696 918555982 246368454 588208668 354494234 784638928 748634760 152043040 241367814 187749942 635890596 928175542 324793160 2972636 52561424 81475370 30619350 938711878 741343938 578576066 939701626 340456996 212305722 103563970 802438598 408262926 882951066 450281536 685199656 630432728 146730052 591623378 711938352 195634958 525881426 97566872 995863900 714791526 655293452 765418334 349410248 558154444 602516654 770626858 794310860 347867240 414149060 508135188 61084612 814583806 427466580 857484004 817274498 660411690 134139388 298915182 6401208 522560522 482775736 943160822 641320942 843503100 498968936 500364348 505001906 435978036 709081676 579311576 773397304 975358660 498991474 939639496 381318670 850401602 495522474 741833224 922006196 676796436 44571046 632743884 428150658 120771046 919939228 392395608 833276866 728514368 201951122 296648028 71728282 276957680 739759234 794435262 588226474 30779408 756034934 42394110 687217326 645000960 437345562 449247146 603732020 11828682 83543690 874725494 3366800 418666020 889599592 563583966 719838536 600522598 435551202 713019398 281076374 473273342 858979642 802419034 639727382 900605486 382394688 570388696 296302404 870650834 982928756 707905148 59685830 675176418 72901458 404109894 890439058 360535566 103595028 954803468 998432486 521464540 795379014 175370092 466081412 421376718 601461546 149806324 590477054 421070224 95576414 197621280 809232846 42848368 304668 599653718 754579718 642503050 563856010 542927776 211809388 692056596 887077892 584786400 559160238 220514848 772563470 808312656 820695038 98150650 584194856 825852978 697545256 63815512 386420782 969808562 194679404 132339390 936450670 316158298 181937140 860841698 711662386 631603496 656077514 663731356 935036926 773501958 176463890 293193782 728491054 830972060 87741328 806729998 562641402 747815310 654125670 165094182 438662386 846623084 544317162 476769400 545136766 353605514 122878888 399758430 2497840 465095638 493441828 754379988 880181436 750935400 713214330 988446838 644241312 400010490 248392900 284977870 427401964 556537572 183620086 398165700 591614792 713988456 991851870 491015654 281237520 502620590 127681608 666704128 598180950 147070948 168531888 874528592 656080808 254057632 303406790 196694642 933461866 827129466 195124494 785252606 801080934 833963984 322076152 405846304 356658726 409686430 346355638 85736044 816576858 170908 389374482 858818908 153135366 210411028 651533016 255115002 852618482 320147718 222074238 447681656 206569646 30808570 44500678 431406372 188387066 766545314 539085464 233590328 389650494 514379964 510344178 528424170 817442774 164679526 524696954 343309834 372818202 56514820 471064418 22784596 815092928 363215168 495204772 105586796 525458836 98884610 696504302 817471966 920489598 350068754 836173522 805529176 926928806 265468108 721881116 174704310 347374840 484430208 420358626 112726072 326177320 32829178 479556136 726713430 489227048 350350846 162030940 482362556 483034672 696689424 163345358 66700784 388640574 849856768 971007624 808706286 423855864 386973346 772137574 351483772 527975550 482310984 734139368 75143130 235738742 318362254 121198248 501725362 570173378 111477778 410979384 227988394 184538018 8834330 289385270 307730496 989775076 231299514 914232614 20074126 287155060 657728226 47082856 731834512 776021570 434768250 363241794 53703732 465499334 843436800 85005042 595981470 222829736 456953952 341479866 80166662 877452394 35084852 19366766 555109958 94729852 187430976 464001592 507288424 313387564 167711760 53672946 868315700 674619722 919562046 179138976 99503516 470396398 229694152 888497894 139159694 149498282 973651550 841194648 291007914 87460314 684300192 838407550 185030778 824521580 686915370 817622586 336446888 588735256 340311912 344468058 186148078 314539650 350649050 659387634 119988168 769119880 606127024 557437464 391403992 297558420 543475168 784123056 869529500 81413270 349233662 282176584 177863354 599888916 633755458 500666634 658542080 376706758 192408432 903006260 905518756 538092448 159403776 781988036 788369350 151639194 214489250 14458230 362878404 242541796 245915122 752108932 313420454 11199518 161086372 621302860 92566936 497883482 882825230 151651862 930765380 406717100 161074258 666574118 155766884 406509200 625022604 798843366 747009066 189720484 730471728 41812582 430467432 914488146 686233708 189127834 569486822 892104836 541739648 365946064 229595664 137725788 488987988 879738538 293631816 812041756 482799804 698353218 401930296 20913792 440408844 353314470 993970634 498597608 92470610 615447854 298901802 682187032 409057318 390451188 567203564 193034208 518737054 45670838 377093408 551984740 642973040 712623620 504198932 368938334 314381966 869911386 32805630 179565354 527957458 693933634 173880824 368962328 605293560 552431622 573967264 288899052 697786024 229511664 718467170 784488910 640439582 491258140 675901506 189364430 458847774 942025536 657471788 63844590 785638636 504408494 831677106 49968448 537316214 166385512 168561946 58735560 906373614 762104060 932972406 208697632 897549788 572778736 973598748 464495454 251834044 517007830 441584554 386312736 258919572 333599610 554878828 52918614 209457576 537074320 476027446 976465604 2882840 882882524 68587626 386121020 434074980 540899998 52342614 982238008 561809724 305168994 848486016 240198010 620004224 710800082 48691228 903429634 676970258 889873112 920073720 941956710 556834378 177935876 920219128 133412994 636889298 213884824 998071690 644161940 747401484 663976494 694718122 22776270 843847750 497545740 67699536 164504856 788546588 224843248 154138290 938646466 664298092 829255392 308697364 470612646 976902006 69898258 792573464 656512334 825204654 768646330 993571660 234146100 364725720 996518838 652623816 5738712 994018632 504874004 247659678 405521738 120489006 369644922 97745120 664273386 912131220 874150920 772114820 507785922 153642526 868182912 807357962 362308654 368380452 807666440 939451324 489825636 477359706 145257480 520823958 142054660 389007840 730841944 709070630 330556286 826780198 3006986 352752664 365203912 768377478 494250776 838247156 155953102 817110422 597840522 413606694 650934548 426695654 962015728 395218896 842620784 438772424 252465062 350250802 839003022 694656410 520539402 492731450 304220676 527143866 873328726 272638812 891532666 822735316 882650248 40778042 389165712 632091396 818987380 108371996 101435380 381145740 801695432 111418766 931097016 493991566 571810304 137472434 954057982 108503670 133824794 57764072 526440510 29939238 301562798 673764360 200016288 845087760 5331308 838555014 838744772 122648072 648851794 274770530 137351960 814841550 153397304 15349208 979711302 586833410 999790180 450975250 823280628 77842426 886888154 817406862 160245312 254490286 699636168 960325628 433164374 900653810 30567202 726742024 15300634 153605978 764964578 533781498 137936672 799946870 289601610 104684892 481008168 992428466 211931656 404861334 866813086 831355098 841145386 952368656 932814292 360419272 181961852 653935396 747905592 662170374 335827252 834841400 236255706 429414230 350760764 680698390 827644730 572214614 178507138 140744948 433014584 123676824 881853286 813165750 70655810 289254138 649556752 246513228 709464356 725185454 291407326 277296350 7848514 913801770 520218744 960789494 629121252 111212266 618916634 254165528 89735698 258343256 250030642 741748270 892043820 618568540 419161732 335143082 250345628 96185768 367176432 983492830 398923064 406692894 152256426 853656086 125547002 986213608 772848024 770155306 646156584 529808972 691455288 855153080 515751084 584782898 784237138 148745598 225148280 124893876 29738826 948852470 572251224 128020314 881851994 732732278 673719032 940612538 531694766 461059286 762599054 825702906 904242056 32838168 540147900 952487344 939473756 197962470 839067816 22716734 741051642 681729516 641123534 653113834 696115610 762376050 600591380 538108036 269807890 74122672 884032440 253753270 680994504 288340026 132892480 614867276 172882326 222738560 595818860 809554226 501967372 810547242 453283606 21198882 151616090 895652700 374147028 121192294 631635062 955007630 318442882 471947692 143920434 458211262 70811920 841214064 431959834 334366828 963146294 897559042 871233790 228340968 112770414 715266626 150349838 542193446 320782820 895694238 871410282 501276306 616809506 590213712 799547196 863088830 684785018 888419706 52199768 146091596 625629204 614569050 511858866 59294534 162816068 793902352 151819742 812385046 959433138 132466594 599592462 887894338 401712662 657168774 160894568 226061060 856875030 522740050 157944844 258081784 771166914 633168956 639006548 9204820 366399006 407480768 435653004 59350816 676807980 921257962 216341640 312428154 819939296 598354194 461198612 824663946 2235614 489216232 491790272 339400942 665981460 889122352 434900038 366662108 655534320 661242796 211453274 731795012 741418688 678484360 621859298 106090556 2458630 235893276 534275174 142157350 256840676 766921236 386494692 396955850 379222262 448707284 428923780 971543646 117244906 179750078 396984202 964819160 45691906 656077910 75061592 217981270 191720522 638232236 749650904 54047024 107811010 119394730 343213140 796718306 621623574 891533734 325087206 613014644 294192058 155836654 178411510 952862450 35419642 602877336 472411650 655639156 700594746 479768498 200670924 573456708 4794800 818940592 692880342 793897736 210307936 175018066 959738994 212256850 860648892 68441170 748316032 354177518 519824938 810211512 402257646 660197402 778036760 481650824 183634992 447405486 71639324 130848700 24227298 733018236 851397996 471444786 224041252 927222650 153204094 796564364 218357136 888998970 416087326 593949386 351590938 986130934 421617048 809889192 697480676 934333150 377132580 44210668 743787376 329845710 729491030 881270544 549487746 213779234 703869246 90492766 895932094 917115166 593151866 91685142 273948540 145336958 404988568 190872422 331733962 882452000 68196788 577696126 711787060 854002310 164357526 105894996 313523002 677542322 224897528 297969416 114534626 104897852 192500440 97862278 579603240 386806392 696675738 805044886 486070304 844399150 911857444 247629658 204376546 659950352 716268476 422084256 207214116 772656184 264738024 69396344 325300012 548730802 642020632 149183698 127646146 459802950 463164354 660175080 76507432 107389404 462752664 839255790 802844048 397075032 262495710 371721386 698852452 219389872 864344586 507989712 218629546 902829066 276679802 842867842 369334988 158780274 666052644 1887718 64016632 63561564 22469298 295785522 799780944 487044272 989275464 382084686 476824058 141495004 32902428 564223076 982711114 340465942 211326764 107666006 458255798 260486154 275682594 873411876 252529590 407523006 697036398 624534546 922592364 303313264 245331074 108886380 823189768 835703424 77849010 331022144 175267922 311221222 89204894 208856334 524919508 609279836 533415144 631950386 771516118 58842136 308103052 6417502 882132040 230747108 955228528 192077460 919880022 12864306 408533096 117235026 267312308 254551592 842483782 5565982 724943666 838628518 650671806 872010718 10630020 354523268 631619796 182212396 288568368 542128964 617548424 505784238 625062926 183928180 715329776 976233418 45571348 927359560 820010442 257059410 197961816 823582250 284904334 600976356 589294668 39323536 904925466 923530462 385531560 123396110 383011624 735671122 714677814 749050796 630538970 164370218 906603848 866208986 741515428 78148948 819668094 345738568 992655086 29474176 181788194 596524278 340273354 478625128 374975894 114897834 998276016 349848594 325027568 93602528 36704578 598092236 630116498 688633970 925332328 643437070 499893884 123080046 308349804 672289432 760410996 493349060 75004384 639071110 966493864 418577718 670845106 733662858 261326308 311461206 941035044 649896878 525783722 26279104 501172220 652200740 839227564 810711486 932930884 223887524 817560162 489247960 680574730 669804114 380652984 479043748 34311790 800136528 221575062 980034640 879010066 625261496 547313884 427636388 196487426 816062958 367420950 730622436 714802828 971533688 980932762 323150740 723436880 248892370 804617622 125524602 133997094 230017412 370596602 562777314 375607208 181513976 717651332 131380616 361832486 332491846 152054502 985907564 885296278 482742896 300216162 590626290 335847534 336715374 111836158 607032902 288789668 490759024 441147852 215974542 914019148 186416264 826800192 553272686 743629752 546720666 267482782 354170840 524453522 82683054 581499284 830447212 736165522 115488960 890128024 414691236 321621866 503163044 489672160 657101076 716730224 612337792 164095960 291786156 717277300 294324320 755649518 534501678 547061586 537074248 354023534 338519786 189324946 383638242 574693934 125774522 164186732 334625326 791868706 667797566 100102690 47927902 719455218 932102594 222104932 173179776 653284458 414756786 405635338 94172174 506359006 465994592 633346124 726267528 897298514 117544508 845484360 823171510 378751214 508671936 219338694 81528 217099298 833293966 61855796 518043280 872110976 204355938 993807122 718002164 273419174 782126552 268215156 468777068 746408918 595442530 107066978 457558692 872819772 74923034 785332830 313862674 957406002 805769598 479604536 211415226 953202190 996997646 816664832 712585928 108425240 916741266 854137542 616161872 810431410 750322672 642803548 888068376 960874060 585354348 593215378 101202742 660958666 529949868 80714104 786373328 879163034 718716328 609380552 835814266 270782 429034224 308546436 370586520 1472526 267476060 741573860 147471466 624802652 732683812 441075626 592988880 520367496 871468526 191126558 331195998 208375200 154057138 910692238 698230586 937374824 382502372 731814308 202871608 583682756 893041356 221229174 700847348 247894028 682168930 193328848 748140482 123175276 957444356 21172360 690256338 694234296 733876002 225031210 301363662 637890136 222395864 36134524 288759366 276293574 690497890 40337042 671514380 141784534 445372428 462286918 433546538 312862574 856562128 341344056 358223900 403748420 953478180 704896744 935363110 701638590 938050848 838101806 231074322 236065644 230552776 114262842 420837890 267169726 416272142 742615928 773093612 676158058 825870782 693153246 589676048 44882924 678363932 247006714 810343068 489888936 629186104 79039268 18506358 690305426 694475976 890593358 846158764 941753632 789457414 84869416 852921838 409929752 929562058 536496174 577084790 529474934 473259810 77333114 719886996 680181394 906671078 811588302 803745042 816262860 426390972 897120948 862553972 435379700 664789210 178873152 98965124 890253130 28957900 625102576 658438148 717180588 593334722 987764452 557828016 253263224 948661352 47003714 189738316 82807350 73363432 980485956 890965528 389053904 997964042 399787202 575006114 137131166 15084878 119433492 414768538 22263510 521409296 376819252 739596498 122251918 179190858 271721426 10176770 120769736 367886570 609318696 71144628 946663376 991274124 980921864 459260480 575838054 708271212 96419770 433202048 554890250 439677892 634387160 214274852 737268740 328283454 921658004 558326216 323081512 611155918 223984926 812476306 953795750 332112630 729064408 995085212 259426414 903794178 102153492 469921780 975255934 527183904 677626288 652565044 182919004 427799546 516582968 122325772 333392356 925050804 182858132 202067780 625990544 793775378 63054508 629982568 808874556 943244916 383739018 230345366 235210794 939414712 617609420 239959410 230044696 935727278 483548582 275412262 543296576 766559232 619849634 563998848 548666998 572485958 845978446 63691616 976000544 101365850 734560028 31335176 132890 714656148 547450820 633063218 50792496 269521372 731075656 790422808 80183020 63602650 341777826 15306288 159189288 546672684 280224428 949765322 560122576 906043616 67162610 627356282 164200270 589633574 891268530 238080974 487901308 271190374 915942812 144283466 934377652 595993108 245262748 335555010 376792828 562584430 536593938 535342030 793990784 557968022 582915900 232479178 84122264 900194396 118026664 356690948 706444890 53213664 44248064 678512864 717871636 649436478 140713830 962477598 268752424 653995658 774737158 686364774 415202700 616210930 284719296 199018156 254691556 612163108 366220676 776411252 849166388 240232400 426966912 360473566 386260510 227716848 857582310 552351752 310929372 194593790 912868984 457087186 18370622 928892602 395376412 472463584 478996712 880990508 955750350 129460472 919969528 878284720 583154784 391670476 55975868 488327068 73080518 7984818 793347068 811652830 378128122 374206010 78866756 477204782 322495140 992698764 738660940 319116590 870389452 856837112 207538168 660711700 368056448 80497474 772921196 339083740 321771654 848850506 199178680 570113004 7242982 374049628 386285624 723524770 980632478 728817472 425439898 813647384 23251420 399911414 451255404 215216202 920994014 164712390 371745134 289802766 78242380 107233474 219863122 28823018 141493666 918437500 161361714 970371032 116976032 147193348 610370158 835011378 953117980 485354648 952828070 732623360 100655856 674351752 428652150 389518360 88025574 33299458 563942170 980293044 679541346 218883542 149230924 304094930 165002818 201271140 850792828 19623470 471343904 572210740 760307284 718520814 451629290 336887214 572342794 934042790 446760160 231655294 916262876 783080036 543226708 221222376 154972858 687558146 767879576 898497102 852513188 704100654 322693592 329743606 127124678 998226000 345197194 480953688 512914920 42491890 945799108 287510792 443070050 324061788 962593562 581246644 784418264 816303602 402460148 780029682 121718212 925061404 727658136 253622436 843660896 204405358 54306566 459666180 809896480 204540338 262223086 619991180 825574424 745068516 356926566 505698266 131978448 575851792 719553114 410844826 444659600 895991944 441609146 520832724 767626210 195252014 709843456 651869798 920167432 187498960 181052108 572973136 635624888 272993096 296695870 487064904 152974522 28733680 694646402 828901446 36246448 701610868 96752522 40721506 682310302 135041304 525887782 356056226 99993488 238167380 911763230 105404254 98205500 781372632 275762372 84104828 10450360 698621722 55036548 983824696 41172550 706979100 988317594 215032162 527180756 657182092 573761106 330135650 986447094 749645070 9146122 165835268 219477112 282713432 561326848 630898748 219397244 786379614 154425098 791699452 439016114 177626444 597317218 423201042 787968154 990923686 764089738 796283108 731395406 230676126 539971028 76010980 933995364 537978588 921270 65662558 918862208 263370206 670708698 691445128 866105002 658815070 759173926 582709942 376746890 676754716 239184924 622340260 202133788 494133088 265194660 693312600 209096584 595930762 666065910 689660264 856509012 519560046 690469856 230496808 999993836 700380420 761717946 619935778 599596740 362230446 330685618 315242612 376432574 308566062 244486606 334477784 384567990 507770324 980334194 663424076 789411226 108595952 425107976 246992380 894528650 832253216 157454 52136908 484688566 407789368 641696122 893707222 76977502 291416310 447020796 297433056 184818064 714865402 151636780 967452884 376567940 77495826 674720448 857429812 756765110 643171040 99688544 88456194 507951994 145663106 300965268 265122886 403360782 428722888 538988062 670948478 521946514 172076466 350454824 110859454 63617222 499619904 976570428 11411434 630466366 811841148 840315342 431896768 865652574 793572862 282538834 223742144 264337554 749541706 35985738 62509010 264558936 959884416 252218302 148983198 266950194 597644962 229832756 810714548 976692356 168565224 392696478 406287862 423893766 319765758 875992040 293828724 320340124 863031008 787166088 296732162 333043186 799598494 557964230 298601026 495676712 560513828 645338130 248103670 998440532 175669630 368962466 90483620 848416252 44737432 165551368 152811164 929922840 658866894 16599682 625609508 499704920 496849976 200139442 32461532 981515294 396604752 86899846 920314586 296405572 461022170 819845500 307075386 325446020 665545348 598113008 143126244 789541572 528690722 741488544 865155032 213513732 255405370 905620010 941072218 443396164 631302586 16020248 88076580 444124300 797442430 970188898 438681192 825298614 437226248 6431844 423803212 242097046 689071620 51139638 60551150 865489698 960047282 745560622 623762568 309345434 728214970 406955958 458665622 297690890 735184070 662201600 183683526 900055180 852698618 169471986 130412888 396250990 969201834 795659106 68888334 214197410 936963608 893717914 172845048 415362214 57179466 572869316 874427888 953769334 820980928 563332740 204638456 933155258 639988852 529136200 279006442 162283500 466757160 163220766 180960852 555595188 95851426 959334006 992171222 545667838 648756792 794699038 660063734 742837122 103851200 553059408 109467444 731916314 403238390 841501854 123815760 695107662 82345568 981512544 922230060 567311724 949877414 763106112 653734338 174259470 797736162 125393008 855776056 568531286 808600212 446643526 517352884 425511808 237847170 878242970 147632054 648698416 830928128 251035004 814602942 856994890 543842106 29269578 161694574 541102656 301199888 536424404 471943910 806010140 87789940 834029478 68175536 9991058 834065310 255959360 500732296 581710696 178619316 705512848 177731806 983025764 759693514 502795572 218525812 734686542 80058962 189087332 914257284 21786480 465485296 682547542 470125944 554642814 393579846 679195002 551847064 768495254 536400462 697217540 467525806 606956780 491717884 145449342 402866586 564376676 857779458 198555398 360949998 431707776 591118 638727518 736065840 476953542 391988528 597688332 894473626 101935722 621853202 16170084 358805206 862674804 11097926 625971676 435911768 915974076 229109304 733033024 737310126 777474066 156479966 525817264 603143490 780372554 753306174 391710778 718335250 622520626 317670300 980946924 859651752 492416100 419008122 801773824 592069390 951541780 979942030 212615378 777305554 656843910 988362478 671604204 950111900 178070228 303302638 906369994 372512674 100381080 432374420 364779078 473531272 703388510 313686304 940542040 511314890 839921612 758915018 658041730 163183650 917958688 623385538 469984512 972329452 684838056 504360294 786320068 88954958 935679684 799481318 828480498 798370082 642702422 754380024 942682838 656393924 747247482 894658968 311691850 78634894 957529634 431241022 825740436 985255558 216581918 566757274 951470158 757437546 243185780 74705236 949466840 722762286 928798714 219858036 785644352 185249690 172687384 930695592 469870300 443231390 784239488 402696276 318072862 938630186 129154428 224302002 213204802 612649910 552462666 798282688 804397664 244828966 502786874 246388566 619594966 188265628 104172094 716263546 876054272 667453962 416929770 865905254 32140530 58638238 114180330 101757618 682625196 353590546 810627318 988790618 231253414 449973472 747574490 844433838 903711692 783743606 42762724 981759466 412858118 610464748 413487754 44821934 991719206 593264326 944913448 172067474 333629946 551518668 537242440 38599668 28368914 127347950 648230092 555035026 794494556 291048390 501691124 663116274 960385054 460569882 151054926 778741880 526570016 400588422 64727486 720241306 402415282 148992520 813857962 882484920 436632546 732648128 580329380 404238732 797989440 370554370 194254504 86242098 703916402 820959178 45124050 936999170 454090896 853638442 114198924 809063860 785712240 305896520 498291052 514638836 605895382 760563934 437915572 73936320 380745988 115060846 140135322 655920030 525720214 925627458 293034100 862715600 114444906 489852900 707843976 576494076 106125448 480978420 857668802 510744320 635063714 57066500 326653120 998021060 972932650 364098482 959534838 116638270 967283560 580980878 98332346 543866496 789153738 47174130 502092826 818595426 829478424 800745704 577863804 542901824 370516486 697150442 946250826 569956892 678513840 630624164 733438318 895765568 357295588 626120956 211570716 785321654 52761662 301788006 923688136 447225772 661674664 63921164 959955634 792803696 578454746 744939242 712047786 407606082 496999422 625123030 546778548 215389316 95409050 759731866 160879148 536741208 278132220 761069436 365722302 114506052 862214226 653226010 862425190 488369426 304380800 995265146 299920408 70911272 927993686 298028578 499896206 376884300 161652002 992795056 389210732 192035260 598029724 934437580 790188636 866648038 243644354 220947428 343043768 635410920 126265410 664253080 84809940 373487880 590221984 326469518 304808204 292514926 828157476 240482240 950474572 496343992 591983910 1519286 587113798 120175316 254662556 474641860 599454196 236511198 986376202 709449138 241779496 103367034 133957462 13034514 341320662 398507446 733063868 490043278 967246516 538755352 676932990 371841986 160862158 387836796 216587868 2712312 941142388 372370710 282515858 223348870 942809028 689795418 810071916 838209398 628343502 964810842 437416758 531918806 158395960 602546052 734920490 496755854 948589574 147750660 475338748 307766248 700890314 874316548 795265106 958027900 303649478 323426602 134672152 693896500 67145016 375660916 847001460 751341036 940099126 517285722 306323628 294497234 675366852 736349470 168670522 555086286 884794106 565773392 556935862 825903786 544149796 124820174 662500918 970211586 981205454 361700426 580302746 975117194 991641188 739748588 557616352 946496886 143347032 276586012 375452724 397255674 446473408 412634228 744762464 146948488 149738932 740806842 724427212 478147132 908390724 63351226 985417566 16136950 282024732 982731058 330127642 296057710 994222974 675634342 885215010 530799776 392136238 807284168 803716312 395430358 811684142 790199548 907304652 891688618 577582412 627173960 124319952 878664766 659766490 313251712 693467466 412172096 991250158 763316452 28793674 422844008 83816526 480502706 825108576 791463748 161259188 412601656 842358370 691456696 570555222 94604490 549204082 148881940 171264134 965158590 836806322 549618462 260418656 869567834 379777330 825318748 298295772 896483188 136026552 657412568 879391470 504237970 233397014 391486158 364433186 355855450 164078900 818600432 621821226 276717398 492000812 303611624 408045308 328337680 295017688 103859734 225088832 745440130 436810706 823613410 189665034 956246586 890802678 185742880 74203266 241923242 35723648 997613616 289528354 303966312 266228952 902690330 28984018 674176944 989774622 849156164 531297406 345824298 165954290 360603982 632343402 581892602 603269958 362073522 896700518 741107032 566526230 766278086 984589072 662208870 131282374 601489196 33993208 134299616 553470604 358030096 296997160 516024152 970120036 698225318 790567858 985902174 226584042 395851940 602821532 947685462 742660598 590137162 901233664 81117806 604500386 686308518 591027408 99566866 405903624 844766602 138920978 141644884 672824754 605700780 360482808 99562222 616376344 364829032 472345660 812325646 198491182 290591762 113171730 481837510 544491554 243462210 684493746 19713136 557072250 663177390 901636626 241101386 485428458 404842256 984596056 326525672 47123000 36283198 747885022 510372708 920434796 59221072 543899280 562907324 740811872 72333138 976507360 251370824 434510696 703217086 872028826 389716600 653477842 230311294 978857712 530889330 976953172 44964038 430653492 509214444 298004290 897962574 233480618 243411980 152484184 786528206 594492358 146579246 26084576 724358800 696033100 970039228 994584126 465736766 542795860 488660166 797318540 379036054 737612428 855735890 740208910 912525354 132367886 414568964 604898256 731369856 288263504 679206498 94421044 824763914 433550052 950522126 789027604 519402042 914882176 662641578 105371930 626209906 101130740 242686566 749180364 587938406 837234780 249885588 186128094 152644328 513547964 975106124 841418954 683166418 108611048 885049260 978200722 217445230 109026060 719457812 66563764 341639712 271662 338175210 942311634 421004224 429157838 872379954 167816526 153652298 511297260 928037582 371525778 989019512 935885116 996190502 97938912 732114232 161175474 328924904 64301348 436472130 615587412 103539926 572337558 626781302 864369544 962489056 432116096 998342362 64669792 312534774 804209100 448569640 572488322 794000402 543305612 211442940 413075694 555253148 728344218 45608412 579496424 368567286 362936314 761158666 16864520 864477324 257302156 679797340 643113234 722873538 305297172 133492488 874860948 314607770 174100250 114965598 528669874 802225728 778086394 402101828 538210470 399813652 733997036 601381220 61608022 985116806 947781474 967131800 20290252 717523644 206940538 941678112 412181436 919562532 996100638 511441592 838454394 134865132 757600258 5950062 501110968 414241618 899568526 453830128 11995384 108722504 821891792 145205912 172361826 697996462 705517112 204785890 828232660 30018352 18028776 102912310 875229188 897974408 128674316 653224962 60827386 638096572 390418002 599847614 43915778 926008182 902334358 787739416 903438580 171512320 148006050 33875964 139847086 8025716 402768024 432635838 354001340 709392412 609625252 270338046 468641170 353718766 169924140 5861166 415219468 417633412 278520720 969710180 416285280 632109184 64672524 839828688 318227558 643068470 998616864 12536294 708081584 634460508 363393718 723897386 597814372 807202888 970619004 500121388 427505542 529892416 831856734 546036522 798533282 13490400 154588620 690880136 809259920 685935028 18749090 608712248 646601778 245577388 200159460 157583970 470663186 995455628 626429974 329493416 282630362 798610524 55782304 293964834 796941832 605928130 1837760 474368016 43720414 491965690 232298684 14016636 93426224 84527666 295440450 278403702 626720108 618779868 597676938 930612414 418778006 954607070 340390818 556459474 397826366 933467756 814263324 245633324 215831452 678717968 232133468 844127910 519526626 393178118 803778598 587045818 505019122 986240804 427480786 801470476 785735970 781054978 53867302 948315016 500828302 688677362 959863278 834498842 386429098 613972530 504031992 499187120 497254720 561102036 508732700 837353956 325587946 970963426 324780936 91524090 62298412 548407756 840921422 725154024 834660164 97339050 619626602 306031652 846037424 127374728 769637088 373928854 804020206 439795336 841762182 953519650 86141010 743074870 464817660 290123844 928740080 985650570 42872904 765141366 678768912 696842816 304342698 199045758 355580680 179477026 708416858 958345428 43730658 803651204 53957686 879192182 838119018 566878762 614847774 409696200 213210854 81464888 738097450 477121192 452559418 295759302 823166014 87949198 370569734 663860598 924294990 284608528 900801834 375561380 31054046 61335506 590728448 597227620 583792258 691673584 674864942 218834004 198455598 110911974 33619526 183458864 430053736 320098726 475528252 58562250 83962726 672557864 275289712 796595050 495454474 188628106 27383896 645887228 588138256 903851436 561732114 571329718 605738826 370988186 363594272 776709414 452392310 680955654 507729528 16963792 561067756 372540506 480484106 971390642 661243688 181463680 323915358 29431652 545062108 57771818 50168846 796490506 340584048 977719066 69904300 409189094 584078170 391340686 97316666 409429828 195022156 310321858 593799316 450218860 38202030 302884330 920587768 782296332 933626136 463002244 728632246 414002592 108504396 37719444 158253144 656775590 524936114 733204924 89454052 499583144 33528090 631542226 513233794 592321080 161456206 175659240 965407846 663444546 548587266 661349434 107047386 348646190 524060376 207671446 275292380 702358964 364524596 176237876 280719732 546866062 947778698 345464072 851023628 288778132 419687880 968409270 13811534 158544360 928146926 233502854 973143926 312987558 9602324 46941488 71422944 66612344 986745452 353228546 918619618 765083384 932809584 423970396 515177374 716995696 836641740 869711154 554961008 315608546 469732596 988066436 439745574 52808804 732945378 534188866 269188868 541458760 110861254 800729142 699171914 95146520 168645474 665388714 879461606 220321870 385340930 877275484 534078666 185954014 10893900 148374556 213024284 72662126 12137790 416098778 780877694 958376216 499395830 453620028 724365538 155641246 865687100 491121776 212546174 810640828 579330924 935161636 314573464 986596560 721521238 710715130 246631858 317802848 13728404 259819528 844620660 287808250 708236118 820996342 477952232 525991800 558319992 951245140 938064612 254181484 601973956 81077836 469171130 581053542 651230184 840257308 615864886 200676000 567535146 980478572 206034484 540032526 471388528 611034916 567332616 765164352 157999636 99786682 819619988 821261136 616444806 271578700 751165380 286760112 117413160 184766242 385895110 394033898 575691406 223373794 170169320 805079866 120664670 428283380 908520924 722898654 69759198 764634286 221816516 995569912 987005228 764607678 202262878 722982046 495752650 309602374 722822846 598339892 417703206 108812586 858586144 853359758 459677168 369363136 226714578 600222236 133198748 228197024 454251602 151049146 424243528 382818430 805231580 531234462 30144530 414616704 394985928 376409022 592675212 623463344 486957654 61958986 210277094 140480672 480327662 857214074 57842794 273514874 587187306 666487840 282549100 588559210 18269328 611057232 535325734 6077134 415434930 845077678 861078034 100753738 510000544 632944468 751448616 864575384 92822696 76185232 944739538 591456804 123779842 166578170 723312136 228327478 767393890 240372618 886818574 474235564 199205696 130249176 614093798 735991016 656771644 203024564 729918536 173021964 804649308 665959870 808339302 780344324 607002180 98839912 548702118 129614678 787478832 351667360 482861356 523574070 12152974 689117794 744835244 170189204 66450984 747139606 707748032 953309932 978260166 223363974 936978614 154529566 568364822 613245090 187230560 263004300 990719678 597043650 937284466 423190134 466346294 12953242 389346962 620379746 418410608 12821192 230579578 763127536 874098272 116010370 724457132 69715384 455777472 194915880 227652484 535741200 933694614 190122812 749961168 378279310 441022962 492017766 612046748 901036256 774666808 634885112 302213302 896391782 373771254 212918236 651484876 957257926 179826758 180349656 671713512 573131060 225501138 736649772 405979650 121628694 739017082 943543890 708609274 981898870 480473284 898239080 990448608 972030088 703534782 246002294 60357472 186665188 897140366 717173650 568137172 645719594 586888930 779880242 929141574 322724634 351163240 626927430 776732444 793916362 203762342 938439028 881473530 738296602 186653380 357829696 946583014 254769506 185701320 380655746 128244536 243826054 885540732 187284264 568166766 644537332 715459660 650163530 856200324 598204894 105510262 419869528 792247316 972654116 681951764 942705554 217578510 522677442 9937162 503738220 568477286 579343500 53495162 585046938 977638008 656047782 617434176 951341610 410187882 736109934 284109166 804891512 666202322 658862460 455034084 817259594 851786138 23481860 12765518 799670050 852966470 501373950 669708542 19379140 66549460 525530632 27891174 837134850 53235172 446743354 445657384 841678462 587707646 677964426 460057562 237467474 427865930 515017654 656915908 370294436 236020446 339156798 340524274 699125816 575056274 31347312 542615360 325630174 206313370 936379020 355112034 680333086 464302892 50532152 619967388 331350020 54660668 178235294 624610146 490711522 527241628 81221386 703930124 415307644 530615572 702300352 320993870 337476944 76007834 301180568 383553710 593613186 358621948 765958316 198417018 155523672 526625506 126175776 270010716 107147668 189313772 921229100 951273832 155165072 223397902 416863762 457775166 484518070 362421640 976920366 676312458 951716312 163761978 913393228 444554734 391168838 393435926 419400724 830602790 956101210 191747908 527884498 334397620 681089922 322163072 406232400 662117582 373355332 233476574 102056630 232175998 76856010 153724808 145075354 399617040 856592260 487104708 199101764 724478722 719026492 284086060 600336936 750966470 741957804 590886416 219060164 134990684 647369806 256243754 708321588 333979964 507073772 474242438 877886134 673661462 704453578 988432290 814013204 19226812 382413284 752274444 388004488 718088856 238860398 416039102 737534664 902994940 303685580 160171386 966023684 63447182 730769620 49521264 152705558 968208706 451761792 711366724 946431826 846415804 135293044 469545110 830754802 786329688 569458942 121419738 540881690 764669108 910865284 993324820 848269670 615583354 696309064 577001276 351252286 981419230 627491408 521131290 472606810 948359284 557624460 675428902 415227874 420289228 414926260 75148216 860797764 487876996 545947588 388978248 176979736 96101416 812957226 878808924 243494214 804440584 148780226 620986298 618793198 235362274 866620482 444090432 26562428 217463146 869397008 470590574 978404368 573299824 737885170 676078176 376175622 600558036 380608076 69112954 408784738 194972744 587605832 348747078 783716688 357833438 877821340 64177796 579602810 829892396 50501610 298717506 989960552 492288366 337922112 455529646 48775292 365918928 359778958 989602770 196623396 961754908 722441798 503360362 957873026 211577776 513599714 82876418 774109300 76834108 695980030 763618888 474187572 531955464 542959880 992173368 147875432 9050164 446606132 806756686 902150022 40938750 272283818 463143954 172587022 393638344 867428132 450696016 600800790 498529592 471204262 715040284 692579618 930791938 921294004 452830148 341373738 346146012 259339286 852312862 421805360 904528246 868035278 905782794 239328666 287976746 61903958 485952150 482313006 853578300 843544472 523797944 484559444 986830504 603300942 455628332 133805856 879007660 976941002 471646640 284905592 655482656 984038336 880992244 50307190 508134318 191817102 311193006 31968430 420696422 659239812 25490006 861389206 717127360 475431026 38241974 354256046 651257542 875127834 188219850 306858532 29487728 143329300 433135266 40134516 417921738 541956442 587276320 125867018 399032708 318686492 871618596 853524888 549615828 821031982 677899346 339065638 328609074 907209590 424267262 809757830 47643656 233659534 709245924 739774882 951304318 494798382 152150308 689400794 946986852 448173840 603092774 517301182 979178206 227216832 442532868 607323666 930560348 803914348 780783140 691351820 835990384 681807412 256855874 842447000 362612814 344135054 81283572 866111342 644832930 105498912 244634672 82883964 199893504 210358312 733482640 288853298 270393358 530086956 82474270 529210350 662128410 948613740 908255530 31874004 161556068 312354438 462933076 609155002 445266094 374262446 702958090 877057924 831922166 823768746 413126442 493955520 437396718 131907528 588624894 301981498 522918550 42006522 825871900 882553382 315197966 900292192 126666648 134614424 667036614 798743412 168206766 496405316 459351514 564182130 559222200 564737456 305463936 148299856 767978328 901795110 347328076 498472608 574283788 929893120 155625296 652719276 57277356 387988484 194615566 528963718 403660478 656984072 125907276 48724412 621556976 2353276 159438244 649788790 266312692 516470246 910505290 903028414 270360846 574390112 340026560 463400690 864887012 533328516 242753102 633627010 83615206 634456700 611796952 806642758 820806564 234695860 732105896 230119360 919775288 952850438 614497366 583594718 842098088 913326368 356491740 681173440 970854210 39142974 14069826 389658454 464368726 870639436 353894612 695299484 861906768 842993988 315981306 146474650 611443370 419414120 14607102 440074506 403550122 21308990 453020978 359242804 919136692 591417068 490204296 20993396 592456886 63608540 578870948 373569050 730641542 216331236 180035032 163255798 250706480 54413840 74554486 760686242 556340218 364850464 315064168 979343152 820028190 277238124 822350430 193284768 166801650 411387076 695967520 135996024 30891110 271954078 697398254 817808826 743385948 637178780 435822474 576448052 120007838 826775128 784838224 410700068 345759168 969322650 570152176 321481062 791143362 66926550 501710494 912597124 126665952 409647514 441004420 818486286 395747492 311853996 450983220 787600382 599757592 412133686 640046402 676507894 584213244 782049304 68715694 779858734 802669332 821181028 96036608 437562260 56157602 751074560 619850064 716792602 58375338 189241246 96782508 880618544 266316182 130688986 811498040 175708214 986447880 316083244 339214988 820310228 424309980 811273114 236115554 934110318 100374204 306121278 447180304 711267380 694931924 313637640 668691726 763164606 351293870 291611480 995837304 916194650 743382308 499362704 720098764 260973428 51089338 171806646 683255344 922061086 381974662 3004080 75569546 493602910 506033454 352601034 575196166 449220774 181320818 857788966 472961578 910557184 526779418 700118692 49715274 686306650 765608246 175029498 590800638 711890992 93205276 278253016 751150282 828234852 42708056 502222238 854240516 29085286 778539028 658617200 354573754 473376496 415702070 406775574 549897830 99241804 268156042 534634706 1552292 139939680 718212836 293917464 435786832 697400562 253177280 468442232 755033614 307834516 700085346 1808276 471384038 605658902 799021334 330485230 243301666 572497928 694409864 881104790 602683558 812109222 290024246 381416642 16232024 685877472 976470634 321253552 840469408 123047370 931478326 49875782 62530036 334010154 97195810 721097214 518703422 89870716 457874276 846861966 343814830 295072506 229976582 46596594 542115722 303670738 286543054 526575408 562838562 89713198 874498390 660507420 567702058 130546432 672306576 929012834 577707770 836603140 510019662 621642520 424122188 687726848 622283518 668476920 519768738 240102550 755883346 74813050 925167990 441501910 65391808 958189844 468342168 440543830 473579236 512461508 897641376 249969528 621170026 141403262 38982184 49209136 834161238 734889098 945517760 400142900 764734262 684045960 790252968 959728698 53952294 16661114 514057784 529732890 649402576 429184462 972148884 723413718 250596774 598616 545817654 615974752 322152210 756985898 219802488 904881802 12508686 160738812 373216834 210357352 267634228 579687432 896372658 472009512 986626810 201742878 177148362 500991468 220551748 987994252 109520758 795855302 376822566 633364562 815334058 28289564 772915772 610901322 267672302 765791710 577217702 576266044 779290994 570438138 604590306 934542626 454514048 759262946 544713380 587558668 60107814 236425888 132297968 718828814 107017654 147985210 871487050 823761750 757237940 287524996 243776382 429034062 305524988 642875362 919654010 406450176 962748162 293797964 927726484 923570164 464045142 412014714 109831028 582212040 701911584 443446456 387340934 256092704 766833100 633401242 70993460 166978658 487597078 92792618 261047956 434436372 94999432 169036978 72432578 98951572 996883724 328841066 3693780 570499006 473883210 83712816 288212538 619305474 539288312 611386258 639368908 23218660 916260604 850519468 956434540 570551498 99047324 962870980 55809146 251067128 63141752 21232452 942611182 825436688 233069408 623134148 524219514 671293906 325464226 786981760 146718416 304084956 898263398 922861834 593284138 653264068 295268292 470897378 646270800 468724226 904424374 27242580 214526814 852042760 366410990 879630026 454753472 915967952 667557024 540389696 483950192 201305010 745292866 226995372 970958928 592382522 930702142 273617648 516111656 49881940 654049528 975310602 408898206 239932790 338267778 564782178 413048482 186015928 255095772 261803316 628687000 134237762 730415506 114368570 496921846 710623514 158447984 663404752 764698872 568883100 448568568 71900188 173815098 373284082 1710118 2079440 933781230 828570430 81077228 746009920 55583428 689584418 106483210 874644888 790305144 24864124 50918598 169673916 8539272 592851436 821395474 834386970 432394330 198402774 941995180 504126664 910726140 847864342 141572880 586178668 114328160 573836132 205336054 435522244 122500334 835107842 813328376 879419578 539830568 131970496 246293580 209916600 193359456 639800042 590113938 935782278 26298966 37510776 495037086 139515142 395213144 579904392 364317904 491262254 669922310 373958066 349458014 196059952 953491372 539760466 876350286 374701512 486404778 534993600 669596124 491537810 325890482 322445012 121704092 253172270 551505216 197676246 324430142 947244656 780517116 516727138 730389868 334483844 418967680 113880000 205046750 590253104 95488576 249888978 926305146 885030618 956219546 136744648 654141668 595700100 296440946 622456618 184912540 985443154 555260478 948106902 322937894 365667342 242095140 176412360 806380540 515677290 130995278 39780076 869741854 263676680 740845298 495834436 553813908 811661136 684877914 908731064 880191566 438491374 650020444 1781578 985573822 121229710 356568328 38338438 79148996 984598592 272940382 11750974 302287790 897954302 222060908 122539778 419515706 687852508 314849426 77607216 153763112 89171524 763393464 203882750 976715160 435992244 122059648 143985090 929826942 595007898 162699072 303226238 680553150 214028678 902517764 917240758 63980650 687830016 672642472 137349338 344160812 308280636 316776154 665876098 624037506 37028936 185376832 247588656 605113734 50943100 584057030 539067864 325546022 573491236 405408034 276628500 255995464 665222586 602816156 483986206 826133828 78975768 136815932 694228622 588145494 558976160 120610688 208543334 984244738 948591080 397266522 112526874 348849700 872013910 136755934 35018076 337634780 237287666 601533342 886880874 308243746 407597156 88295026 276108966 862444618 869793224 208946502 258425918 652645752 635658374 997766148 140583012 579363964 779169048 555985312 680111558 444160820 551328718 982581232 793520118 547797972 208653024 443302034 318850908 849605778 786587940 98107848 659900364 62895284 362773272 725165870 424091310 170693924 201992510 210303718 872598568 464398278 183828842 685298508 414573656 53689062 639227028 876548244 628651934 985997994 506059778 578498284 957554958 917562804 938445112 176186522 590103972 197614024 637615974 65643718 624572814 46171304 414228812 377422898 421775870 551246412 819496316 534712372 958759404 267403962 144029220 294217710 374437066 566381468 423635648 391227068 740572596 115013654 156252298 958958924 352088618 913108984 606458236 334611156 694068524 430354054 607725456 826123992 663636288 240125050 981945794 633880060 381538264 214592102 399854506 670445630 759520564 898528984 809031602 175536232 348493034 247844204 503346468 249827076 732190664 228491060 645639908 505581524 451148420 27032902 971185002 881050640 28095888 772873310 591067740 765649250 148139646 777755366 995501890 577676704 505945100 396072332 455290422 113554960 374206774 888245422 943673012 187389126 456868504 70949762 472678780 773934242 139642556 266137100 133379002 77801082 412134220 996739176 959192832 353083462 642996882 220694794 156875396 980709932 330791984 6134264 630581036 708641406 805007842 546628620 575279956 502134768 658513852 726429914 790966196 75577138 421589490 293358298 220751250 610579684 966711986 894239598 576875988 524979726 535331958 670690558 756727446 491513248 231386220 367605196 836578178 145338952 533952358 628975106 762674616 916649384 451593408 526243834 47140208 895635124 349998498 957205630 657036810 994018810 487392814 468237024 601313122 157823934 321810084 137533864 72325142 775901678 497007518 981024786 793455346 666741890 231447684 500408270 728349482 343391926 951387726 844167734 603024460 495977900 221928376 278814586 458626468 146016 7876350 389048154 93320894 417727344 694412858 7540538 704239964 788479806 236091088 686551198 256864576 43881608 13308028 667967402 598685140 714116198 729671418 344776826 606606200 754550786 97594034 658561154 610099840 720556126 371808688 422408448 354211038 591389514 878217864 140182034 754529952 421531728 219775338 627136822 86260918 693710480 865771750 951041562 293356868 748638096 703708820 154055054 583689224 788554244 854708222 596067550 460078766 580065962 616732172 665170420 446024458 681084954 848682696 132933210 92038906 687128 432965430 974319388 3451864 495323334 451648078 645932722 714115844 24760164 726837342 158671088 701822464 387942938 849377714 471592500 652423246 78322382 138201786 200442500 545127622 353775606 25450970 223563176 485066042 945941940 424107432 779043596 89709148 121859038 918591860 198268118 343329156 416703224 778765872 622228426 631018762 889901458 363953568 626055480 926349170 707213746 630819500 189815990 536349988 999598864 507133866 871914796 258449560 837532182 598549498 563450368 561831802 942764606 647544176 106259300 545886724 430307294 486075978 917180536 904318288 974023386 311895700 226078968 979412048 31635274 490742024 297317166 792190470 448110406 928949318 382608670 379817152 354481920 724773296 939240668 245392858 133724484 620727044 757043626 97830906 378820380 869771594 909175298 211065770 733370268 293399850 671205428 596538964 445203728 922079372 353389128 408176814 576114148 547508286 733706834 597232358 961126888 953854062 877197572 937144648 506922522 681612680 53690520 155289326 514138710 663019864 827918218 249891526 482989356 803894072 573781838 285505272 956856988 395372712 573804880 92905350 652961686 162955852 365273524 344431566 829634082 803623992 928359520 491974600 153405502 613474136 523199822 288575314 111561194 187010056 584218534 8176614 255459954 597729442 477836768 26134962 865669944 896292614 826323666 842137100 708335170 473526148 684583586 792308406 456659284 747436448 386209470 163247636 19765668 639474654 544202892 608614664 208355106 382115196 617745630 374275910 274408520 408496946 162188838 501682360 985943012 61471914 691225274 480195076 436691208 828582488 321242198 96097582 949036444 543625520 214510600 848183170 666393102 90420470 288498506 182933808 994509000 644254236 953739640 452904694 396658792 729624332 616719494 315729446 182531572 325744148 665616130 444915082 22252896 400737076 752287672 228196888 84038998 72693560 965734218 249788480 132082362 526002424 371881534 311850496 386841178 169378322 948966990 575687962 428321428 45200670 343761282 586318246 139337888 569619392 261174460 688272688 625006564 777394738 286766656 222435916 489002004 539621282 194216340 249081140 918130766 935339364 344171886 678358140 289547848 604595188 334012044 190898688 805468158 741455514 901385790 826800806 246601396 78566176 620124926 441469132 923840906 907715000 484277174 626846942 59805160 189780864 78924616 455348006 46840478 40273378 199697106 227326718 83142328 990233060 115869632 697004526 880046152 483435968 199134312 998324102 404241352 565306550 121535538 563837126 554648186 64672468 301337724 329317064 870414286 848218766 402598412 373185664 617897828 356731106 475266624 366163936 136090614 996583034 424375818 298352606 348087416 280171926 658314466 393535878 559580806 312943134 170368570 416426730 731734726 502116316 513846158 570740984 993162264 544234682 765032922 246077074 172821860 768402494 681896970 821057326 349207490 245407632 457615542 985146880 652626670 756309580 247968564 688217004 716564532 112733052 184818180 147293334 609524084 168379468 350061356 793707650 511126184 257052814 972971210 813086906 165871910 582462840 282587654 622181666 370511120 313806284 7075416 262165496 279872842 791310590 885397818 324593096 99872846 337799344 438333874 819782970 999875430 949403852 237067244 182094488 530053722 711297088 674984848 332913310 119337284 958069004 247388746 409615626 585285516 492829312 288541032 414544930 619283704 790155056 745360734 142224978 940677418 412070762 24736556 58289672 916275124 56048196 464370624 115577092 616165298 869710488 78694434 668466180 188644218 202618764 62209716 781112148 269194836 866835960 801953758 369531014 211446062 794565480 317380184 100121220 758008330 63118814 880016156 542354428 512219244 707808788 487452424 846173906 409863958 975605874 812699552 27730370 821483608 210629838 802346100 939305750 65494508 712741450 935485868 869860914 16876090 607308938 510152864 18764400 768045568 157135306 798096820 525069258 314810774 341983978 235699326 314370944 436072764 554571814 815312362 419137050 463642234 933697672 981648812 113792716 782849510 532659132 338397810 776781906 981971878 738643364 754474052 80581662 736964880 259395264 626106598 1223906 346786480 55006480 918193904 639236012 780777124 64689386 186454606 505021124 388242452 521127014 115871994 706569080 763592788 174047834 835742124 215963862 162118488 514499930 477260094 715276376 109762156 493878870 102626800 272903000 198792472 399861670 812101992 227090228 326974934 73238458 231132314 793170096 182945098 353537548 72643436 910232910 781983102 889623506 199815402 921554284 950054024 699576160 767300012 985269832 652325588 551455728 936888124 656772936 539426972 669757372 333890194 21864236 552826752 287630202 711302578 66862498 398865888 996184414 43574848 111632846 595701712 903123632 277452250 406448786 423831002 318573902 700046390 224847306 561044072 809587208 625778154 41179858 98345648 442965306 663386030 622251290 697771250 553199184 923444136 811708836 84275832 601924518 116812208 100194454 449102362 690514730 594191092 87704386 349646994 93086094 292160592 316530030 325724776 881604538 667068374 752316236 830030078 979705314 370113768 361696834 963462948 97045568 510813292 427173340 198481362 340875180 434202166 581495816 305675380 926899600 126183406 672965034 621317950 73721440 68926864 482183170 815870272 916818186 442665770 652261246 53504056 879659032 239255658 617183640 129804682 811035198 586058948 181741902 512830878 726776710 883341018 115364858 531097864 992750558 867024 108049384 217244562 883190220 547539094 60827108 307947826 492143898 243875276 581832348 967041526 931107128 135569232 877888716 472344948 815029228 871557256 36475708 826582242 241153330 363467828 903187790 181675498 934355706 630226880 150049556 279724414 954601148 650385992 201259816 671126800 30822818 771451644 992151238 328734652 570974886 706889464 135122644 876533022 587774312 834516062 385829406 151614112 542443526 915007352 208350008 40895366 78182774 696699630 274375564 74672892 627666436 370112688 955802218 286782536 342087054 569635026 601170686 221289208 722423406 945686410 232417988 419270136 162077022 129115112 838692450 742261870 735950956 11037152 570613438 619378880 328433068 128670516 323778724 489297216 716064342 549248024 647520084 930567122 293272646 960977228 29576194 376535666 747286792 233386550 412837532 185445576 58497080 467701944 334198624 177586776 837273504 475353600 433753102 448543890 267619440 882265870 525240142 325807830 287176748 435130692 294779898 487754524 729648678 718135792 327949356 565635524 119781240 260011384 661657126 335939086 954161804 220517444 848679356 290436938 31270652 939733046 640813816 614950038 18872062 309642308 288768772 112414398 967270032 260310992 805280934 852140104 130879250 567726026 729587004 93839740 87695950 408984506 805044828 971092332 266655542 217988868 238202302 735500778 599871478 193668402 503003762 966603564 875192088 649639650 310934046 856183906 667266306 768858790 567938926 198186160 530891028 884813872 21497164 614557616 823846816 550550334 294396562 119417036 100406190 71702154 61139722 558894396 282504888 816008190 107708212 701446818 756449564 121743750 83891376 500688544 236387010 51316758 964196298 747352006 850908620 171608480 746486270 485336948 171697430 271754806 187882078 369645280 442507100 268051746 807032812 734800058 728895976 118606324 308096860 925332128 456497350 255079394 740426242 285189294 799701016 450612044 45644146 268940378 94112304 248672644 379588618 749190758 221407616 659747812 748954380 874630534 795699038 479908794 649583106 4632140 124900302 674701832 515741790 207179454 197715072 632030556 375361560 564026548 35837346 4684110 71679596 933115624 304461736 971665630 695627188 979341320 185294772 945057602 469796496 909896132 386814548 245777346 571384452 248916334 495638032 404089390 630002996 905039234 293633474 965283968 856944080 467291502 568096570 903160048 933702058 518209120 85428806 311980720 146859348 111913306 802458028 573385164 816084520 577150916 515711724 761376418 695922858 295925842 876526588 285836696 384641922 830638300 881291684 195321784 437725672 25152556 711845078 840453132 146737512 679880738 295275330 274253832 612508788 214009422 628646076 183207498 175575456 381729070 804187372 326203006 17558308 119685886 720336418 747802276 40397208 181612232 37645658 949475224 779187910 867127912 878561338 529983654 60711990 29625938 700616394 921464262 671810470 424562428 196336192 689936734 179763670 510438696 853943090 703097912 65960296 278656140 568605640 249757668 385383554 216952218 550821064 554857142 316041624 745564194 693580470 923911122 150935910 284733432 251357292 4449632 424924800 553223788 443412076 913753668 250041000 662933694 855347962 433390724 918229322 922369322 521989002 685926122 527666936 413718598 598877528 491320162 164156154 240819808 898949372 805079686 584044184 599870046 372525238 482025990 505035648 726518340 590747192 259450886 361652268 75503734 645715478 525273182 415869600 540122962 365144238 913203508 857953608 43890092 172966238 765002022 691252718 421009154 285401992 535334622 205488036 664017300 374724338 660554636 588292346 686295594 230694386 255883042 129370674 827145740 672144338 804227374 660348528 70266258 908764890 109775642 57153708 273014082 168521012 978677876 298585128 202120038 384828888 870141792 573036686 13016922 809042166 452904210 641397460 386384336 697487956 557460774 245135846 587929348 258767644 338699320 603653916 182617386 551426420 766231018 921893806 390500074 746667582 269257452 764761636 686068468 393529664 332788852 313707856 505689378 948548556 499994182 389495020 343865012 158771544 750434786 111297674 788467410 332695202 237906992 565721732 192384276 123875884 316158160 577244934 109363884 490166274 116677672 786240584 581429466 927225448 864812434 255268634 830358192 889000196 225145074 248035680 390595856 782729740 605993022 281922782 44112632 32923132 957398882 373665682 301957886 849887246 815824968 492950614 423827522 925987678 652898412 155025532 272609240 79017178 598773826 467391356 215481638 877010876 216548984 118183482 393343094 902180966 655972492 925317218 50024124 329971876 391104322 991632432 352302594 22929194 185263920 957605430 647202156 683626716 259015748 648827006 437356910 254046816 197908950 690087286 110299880 436619138 540015456 988675812 425304436 799350620 28660266 378292350 291173516 811328122 440569230 865664824 305034424 268208424 212258250 420516050 778920002 153686192 976765636 962822140 360253156 573751746 112599744 637104564 700642458 492177066 783454424 174008342 497838482 630294662 85717938 204228148 908475570 364688412 682293066 3064550 761368898 24776308 859785958 180284626 874751232 101673134 948893888 525134542 907286888 50040466 232465876 167133672 687233528 246081670 290823012 188736142 634786296 883735800 33868886 166125420 41309618 950104818 397741414 462467338 425785544 629761938 231220882 235453298 765536316 873707576 57875490 210369396 838066918 940205604 453152486 59392346 522803034 996780250 37416132 41310548 420533524 461465202 568187028 837935878 660641406 359481302 276883130 743660082 844394088 433652966 244253752 41886822 924479546 122897816 624315774 614653796 944874974 117237778 439763804 418070842 856618706 702607372 337664398 559513272 448919518 369465184 218511212 697136312 342240770 963369870 830285666 209329054 290992368 497815950 537587594 338552022 261319254 692768608 93537410 972940566 168333884 642086318 258238470 940678218 995359516 623990982 974924194 381707246 29879358 247188592 873951918 919763044 823565968 659479252 720818258 481608412 606705752 378860346 470176686 376035052 978145268 825923030 730771570 691123830 627039084 464580210 258708892 660246520 452316876 181674672 242510446 267646086 743230574 939418040 809184426 916212052 506150422 885197868 968416590 743997124 392387262 793683920 986917428 709725814 519804986 772423544 787680232 117206998 905140974 197108536 401506382 804134202 46940268 810125390 712362306 544754078 262287340 648791530 698193204 381463120 628844932 484560936 361364338 64830090 267660906 809502564 526524474 519480094 498116646 315028412 407761610 777187252 795165494 553391090 628768548 765605306 604377850 634091382 802222514 122610498 624867784 400190704 329027698 950725026 427096644 574851364 528691846 306580568 545147230 744619876 61464550 660879186 609797366 764351638 156307992 475085788 60442158 677232368 843331144 556371304 154743196 397897818 571158838 119381580 414889718 486985266 563239288 530153196 330593216 20061790 494989422 660371514 470342654 734505628 265498880 732684952 558305426 643921684 809300552 924106296 807512400 772523536 630915882 318144066 4930754 191588518 605237580 660111538 81834454 224181640 741401698 602123644 606503256 858996960 225511110 740409458 391161548 887489288 541375404 609224750 966741240 368894532 819381478 392024950 326828968 413699662 207810352 828444276 339680524 587287634 313335644 28762376 439300260 366650678 739471868 438619774 355586842 109947440 68050366 416491298 766091918 568019668 227009138 620753102 132721260 934723884 734446700 957225616 134453552 988628690 668984090 939264394 319691758 764704294 317980496 40960580 361480746 549319542 216890236 517714746 154961224 101696764 606600108 217746582 379474834 191918512 218368528 318024474 405092706 912407518 689212212 404059912 305624252 865230254 433360996 446742428 154856214 916950494 28017294 400628546 458508344 742763978 258770312 893004476 372429402 182558718 501531320 887226948 194859734 515532966 582616026 600568808 480961280 797281638 850402162 626990222 374330918 58098242 759029598 174963644 53061440 792243694 317461668 725224908 3497682 19392226 600517044 759749934 947303336 326674870 958480222 855249890 956174418 319945162 217444346 514841672 810016486 52340594 375478316 468592784 817691238 300879316 92235898 116856456 803470926 631411388 188850542 94778904 181441184 380668582 805768610 106314070 505480580 807711634 329183400 929688232 783334052 154085828 478612986 647294314 926670430 734936350 482628736 221814202 487085030 403115964 452935700 747431444 931098650 804326880 172132922 235562258 731712122 491499980 353397798 769451156 54483324 885890214 287849924 995584656 1256940 632887328 77876618 288722520 671841254 953149866 311363484 776001952 403622954 889356070 531421716 908532750 974265914 789361720 589944956 365774890 327756510 838462402 498249438 726037976 226601842 944083406 47848832 717287402 666899572 54706270 939581112 792866794 225237702 920918464 880513646 896842144 351985918 904934098 852731818 467044782 60600724 81330400 694353092 334579206 53388730 961725256 810709896 866799754 219114572 39538944 309519596 825532034 152422554 691774258 519355230 768379836 6213712 381223670 644550862 941928556 790209916 120588730 224158258 935769118 860909320 444138758 150135688 579786552 433302188 645735538 95385786 934294732 354400000 597258524 252589868 65213998 239527234 995905696 61510010 252579360 72785884 970115950 848743228 924027606 75926030 953579278 108172370 688637756 770730198 845894154 253855082 826210330 304589630 83643106 578517984 614574450 155796754 632982058 280062006 689093230 505390632 46697496 980515826 831567578 4761482 461519502 502706786 475169732 16181794 692995056 447276818 785577040 337291200 27795408 508218680 474598562 728654550 222390220 347338406 598784514 768552126 853919980 398255520 194363226 944789872 92532054 997682608 264346140 621328448 493627188 45106916 490756354 902148938 70605972 184316558 801013572 653918538 415039452 678021840 523090442 598109450 341323782 869885672 956724796 912936704 786340462 925564866 254675196 25461770 745731742 524292030 961727412 626803094 564024724 539310614 913637682 786915826 145158494 136125992 73681324 992734230 774902522 128863552 798376978 300347656 103090396 189632046 202671218 856690718 618234946 830653848 196093240 208566692 61530018 21764334 90887204 838329730 313066156 189856234 691976408 27970664 482783730 864878440 41546314 85330620 812960866 921789158 779244780 60205340 63249372 19158670 522029198 929814932 669420050 489382730 774232092 366541124 676571752 831889322 403243894 379323690 641119070 246746642 100101390 703416218 157195650 387833222 779868588 989585176 573271870 991325312 809340922 28874990 640657562 218857068 369066194 79569790 132940984 431056858 454531122 603392430 512672352 992977928 173551318 844711778 370103344 950453924 287963804 366308138 922198790 161402072 346118900 605984282 707855546 401478728 705773474 460693052 276831204 655010984 359643132 986330890 660637850 623823776 119366926 98862412 675971942 808976870 586690646 766391998 335022424 671877098 884786680 540391058 101009230 418489052 769517442 642262444 152811842 755799910 926092766 216769612 598748982 19973230 112020610 332849804 899497086 868026834 693170366 511555902 385115616 768940358 937755300 858151012 104878462 92844608 255957092 624755680 416605124 65684168 471145978 905055624 618545840 398168232 886327812 449582886 456846148 562381852 826826680 567428290 349486830 86185042 793535836 473131544 675887742 655438644 664440090 948865568 457513048 379782092 792077660 681801230 946632916 644258640 59065744 946132712 161696178 736492918 568193312 827860612 122244266 628145898 232154442 249345802 507705686 622473466 373883266 21937172 678438882 143845780 541887570 570442052 36180266 290822430 505555606 475304004 461942548 160080832 765568038 826321442 875133340 851291954 530185420 174560400 94545114 872325640 919573560 176808016 164209180 522023924 732223878 922710994 148110016 16652126 94443834 680765044 700123462 219034740 326979516 539396798 829621060 197071308 575561036 851960144 929392600 178744716 609881776 676618634 805671926 633426848 4612226 905122132 209522654 495262006 272937678 426831956 228852922 870134710 676882416 751068260 767037050 864246842 507443538 242915052 615098314 908193754 587774136 319836700 943860742 618738570 602802734 429979576 230352020 642352270 169672762 282995966 10356222 48590230 534886360 310397446 309223542 241265788 428748644 258774310 499515790 442079046 425551904 889611878 553453654 134200954 813222910 413647268 652424206 158811672 824242954 393347732 312347720 714179796 624196516 159316798 561694958 480080774 343318624 184804812 648256148 764461572 936414808 217219362 544362922 194700004 476556056 643913680 602565892 795064642 413321536 529456788 788622198 28035554 418082904 774541436 641638878 832300714 502798260 187904084 842800374 339747800 628050652 731276962 334618142 838451198 834532190 960771248 176838362 518113228 538280364 943863704 97525352 698569548 150268550 812600718 240196350 59893584 61685666 809359884 828322948 574237026 113196072 35979988 99932846 217419668 679610804 584183424 863267890 204465950 481651264 814434854 339013182 250445436 486448334 189486616 401476178 220141082 173914604 968783770 862005438 776083730 285242314 939277634 370538972 989615732 978140782 694510318 196796780 679914614 510914932 25045710 512693062 153319090 870201316 79043132 314112548 908303530 875252926 994764902 316556424 981407100 717284904 251200736 680064750 990655912 986196454 314574286 845765708 611346420 650769812 805168388 422303420 507074412 308793602 962808284 661355706 895993320 534537884 658852668 580549404 139065528 484155882 277165878 21708470 362427062 324402330 977114940 174975966 773345236 90890112 96699794 799316416 829281810 629621174 543956948 318968990 511116662 287657894 98720846 414937372 152751344 18126584 867797200 522547892 428077714 852186826 949398718 875783922 234486638 668873468 712468182 220857262 203168912 186750098 36831298 666809016 568272926 812896556 595334390 312492128 905657768 206273454 387216032 16809218 687121726 574199848 776032514 114013410 929882400 782688804 48657328 805679440 774288462 813789010 538099074 250405692 147795076 371982216 850290254 901687746 999335766 156153462 63343250 822578514 264169692 302173994 869174334 564614438 22935536 40351422 414154478 245995722 315342438 366826384 694914072 316236552 641324450 674823724 653777530 145350908 734448610 436429996 728264776 649575158 31627460 224963222 393465588 15879048 464487240 616098150 267161228 50964348 584476348 811259138 860830938 818276736 264944116 844154150 529776200 722840252 719340964 727654730 999269452 464071184 369007400 683726764 91397982 477975718 124891508 2388508 79040572 853659708 284504554 659924040 142921294 731769526 140545368 290735334 667281638 441423832 6405238 219582170 478631882 557681500 551804294 761212206 819570024 589304786 316926550 288899674 67511586 845284412 770702754 236583978 936257662 572776184 420302018 701250308 65687948 506950138 300858842 979314826 175350474 222442268 662964880 410969946 622182482 255369014 285131974 847694220 427984358 949657530 724979836 831207698 477915916 883959992 63953934 543403968 621719058 623007904 26337290 652955024 414131458 921909902 847290294 84455824 859774278 588158008 354547950 971769074 631190516 351785782 294297852 848131768 261812566 603398994 950891176 292477770 759206072 542252484 386522954 456344998 184105934 221660308 96611982 994226838 181559296 685640084 926533234 573199552 635560622 685261388 850944082 629891044 493660322 577897694 937359296 64628700 585627250 117240108 754422502 442098818 844379626 360289048 619520220 683407388 173231994 133382002 433803358 892166056 187735858 900781480 328015252 524236310 611586738 817446028 262676414 305730162 951329888 36583908 735920164 442278076 964549578 445202604 496274716 997227104 369150546 685481136 467956088 263225042 363613586 966502574 16960444 521652902 812893676 555774730 750065600 917211804 569318694 414756636 549625834 565536286 488763248 528232176 576694072 554577332 11712000 937122206 198549050 795326766 717772304 576575838 963178294 958023660 610839746 899716616 22524538 40197876 564711904 281181730 353507772 162069996 772846516 42032372 225295800 552463612 157336996 697948430 556646962 256946420 390905604 619069014 62235850 678791110 919548960 670353256 965719794 572223912 630724248 146473594 64148932 788468566 688519370 849697254 904420062 279560268 849213558 811746378 863466712 759148416 615778698 969199138 164588766 357326634 840590860 96192640 147445884 138201358 576548464 605102816 135909610 87817362 741524350 862454752 772660854 218492212 164261108 76197552 311496306 148652028 896210376 495495852 791677550 438518372 967096320 327143274 297777418 183464158 833437200 898029576 731738742 199199644 588572384 134640026 435282294 817874194 457540006 776973032 936830440 456078556 188507272 943123490 141170010 974046704 639616518 497822278 569637192 517206612 477520924 89789076 879993826 538190280 769477162 632292748 800357918 941166034 610230198 763161404 984011432 510990972 974648918 925234262 839373728 534653782 843000996 191468536 340885474 75660104 514215144 440455908 863324570 285687876 255812926 192405468 323515122 43782030 169934394 407171530 917163916 727069668 799237958 638009702 87591202 992746990 986396982 965384156 423962498 787754158 191868432 768216478 477614662 468645228 955414852 9674080 206599662 598186884 341583434 148337018 231008318 744943498 629528464 811853064 792812220 426018688 517944432 441317680 417618812 325908338 364981294 400983806 438116516 155023820 75660326 490810958 460554144 364987660 929733152 902686862 388803482 659584702 737498574 807555548 956490078 376172300 22933370 206599306 40488122 329451376 186611368 396414900 732814138 704000688 502492570 381353938 244630534 53364620 747611624 927584164 614950336 683211848 69336582 275885630 74825372 946919912 67163104 696701008 48801790 212523722 363141048 118935140 54838910 744947608 871548896 294322646 352419292 627047324 277061400 954924280 911846586 541017360 588992948 389291750 75674178 600992704 745896232 405242928 351173528 171103090 868288090 40192932 390033294 964864044 9611770 179181564 650937672 558850848 627618196 53494780 82526070 559207442 259719106 86509136 913320768 435994292 503948048 456216710 845492124 647005508 24586258 265099628 908129628 568596190 745495286 167262974 391841112 884376684 476856558 165652712 486197148 331799950 107049724 279489100 59422032 378226006 147743040 892255596 437602618 921303064 801936396 45873676 932118526 867413688 182824132 399735028 411283124 976929572 466493162 266301010 191323612 194611632 159843256 990523060 354397532 348757948 250416632 2375832 624485686 789407572 440248378 991339416 13300678 119752088 274412984 623280880 419444810 621674610 286096354 804696416 287704048 454556510 56891032 636287716 732026628 113204978 31532270 926317134 429532370 676063108 144623906 417451540 864391708 174778170 937699490 609804892 448371628 575415654 558304810 251784478 27897268 504060430 884238204 473661600 510719014 699775464 421340142 929761158 978204840 817766326 453523034 382026656 63856812 22297802 363190096 628050570 603639822 659740094 862188812 48548038 126793188 663885744 276095912 108154256 278047772 147779158 746672966 903785568 360789196 770990140 382794906 278860444 119294826 905678106 462164016 261617898 625500588 433748640 228961960 860785018 718407054 99903154 835346286 532329684 101708732 620044814 724970866 616453058 248476736 674613684 501962210 731066728 461473164 304648012 45511880 804321176 6756380 675823360 383989096 667816366 219456704 195134206 569122354 657639526 545318540 501156064 884425654 926734134 515119838 872229274 248964918 124579956 754894464 703613820 652572192 720793028 464620354 78905840 934896660 2860296 416737328 547331196 234882944 67021560 121576658 638472386 457459684 788338832 194621598 877936438 710482038 495983476 281683466 883134410 666277230 523655528 424248316 595407218 438874372 185730260 153400902 520197754 992549002 574433956 913147050 985036918 677352186 869390200 823584930 541371882 522363408 972306376 204497040 839119562 906458986 975349422 166781164 494844770 40635936 593909004 168034342 217268616 342269214 243534668 247404208 262787638 95510394 197099096 412022470 5809246 458375356 491436938 355512094 113655480 111841398 837625342 575333920 312675046 836129584 910064668 499275874 570682550 219426716 198493248 193189624 630417348 414375548 549505604 910388936 566341736 440439724 943410760 839740004 371940942 783608860 984419978 115648620 727951884 207309812 62518580 88230576 57352834 426673232 479106046 873351264 571790316 21909310 65112956 41991988 246089312 216163510 298192046 927442688 464313024 3109738 507515250 738154718 602592394 791358720 366429362 317831206 581095550 250273750 103839094 119864790 449982234 243658156 135731748 605454398 430833390 83615670 443926860 798488586 663380024 231228342 384010656 810947820 361436774 601539538 503586422 568687878 460416554 423009322 903750712 321562156 319565596 159911418 146852882 528926598 919997026 847169286 852837666 570561742 870260758 95199520 304217132 929575782 289898576 773789432 356271776 71310316 932345576 50730378 734356206 584498008 774572204 264623582 867151808 509309756 361379576 806604732 876771322 615718236 109391716 179341860 15845444 782954474 175834002 218813876 308273076 202663156 831635512 343473718 701981254 8627394 454711292 367043226 453637918 223793710 68111768 321097092 85515408 149806778 891377564 205469194 751599244 508565148 812874270 951371200 244342718 645861574 617221374 72755938 363086216 174525260 795733356 715198932 988211938 810088904 286545370 739142240 517718634 358274388 941532852 410100446 939173444 703208216 509488450 597220652 784414146 981007242 566765744 451189768 656904932 153619080 219319804 969750640 924643376 577107686 127035232 139073286 693405770 808099096 343875172 165537642 534119326 267251026 81272190 568425584 772607584 395281454 991641962 776627080 583743850 215719676 652284824 233037332 910916924 802700792 297109980 389276138 142490648 223621056 17913828 586025110 60457236 853668878 107319226 13436538 81228940 390055334 819033876 864071284 884675548 838693456 557442378 47931334 799230528 665654534 645852374 310810260 879696124 825848130 83624418 701933346 831380464 125969578 402663710 562695274 521655208 353018412 74846518 697606202 431067080 25334020 965718400 733254568 190058108 20213612 575400340 171025542 9491990 149540370 857444830 461770184 823998742 240017236 838862484 868659378 918492732 406135964 850151700 793451488 469609970 787355252 259227556 443079238 375454698 105219506 141837438 612444006 858702328 755652768 539063170 240048696 381060598 948105262 468011890 333650628 86120088 584404238 374636776 254608778 445049518 829248134 230839592 113416324 426357604 859329052 742147568 231147392 577106856 120340118 276073136 543824736 922427320 412532740 191564548 106532050 400321506 301077184 358530952 906956292 227373290 4592162 208358236 563974118 449152212 402718194 410242234 200989922 702826590 223149010 225080138 889567300 397987418 661063786 696955484 703889650 810615630 576187522 386809316 830736250 586567034 263104934 65921430 673746378 882866170 316633600 97926542 866441216 476955958 982710008 956664166 805535376 120182254 646455900 196974102 259347736 480458994 513375824 71230942 325706122 569501708 51632290 375757002 294764656 424927470 903003968 328598214 195164944 664696644 897722460 50421408 63725070 452522984 535072284 298395380 346425356 223262942 933422954 442628 897510340 746492236 961164206 264855492 558903536 729929226 515339788 874000432 599285568 229278124 692991042 498186046 678678178 636756442 679311186 491505898 277871782 438743402 806497706 265175508 940621686 290476464 663612732 431977210 296198200 543182138 941507780 84192302 905976752 221683470 840291164 427880386 132323268 849001418 958908474 280444796 788755194 79109632 59241582 231178342 384731492 372850952 652794136 204367138 150978092 628760226 507838932 333870008 649852456 896953904 337865832 473325922 985842614 819761878 119313690 332314050 60638108 639608128 474266848 595637816 111912576 595470366 405435096 693869722 814819834 32273828 304123656 952967442 833715190 912397262 149810 217806110 565355398 615489040 817411682 552744872 980356824 751198328 116130820 64552146 856091112 554559126 884736586 838533076 738203344 445604154 746118620 768270790 739276436 185118980 860932310 506558830 681085422 481920916 45080412 429574750 957440992 526103176 39381092 456752428 553773272 496984532 206629512 470062548 489837024 952192244 393447592 74269740 322607066 36990754 604155884 948059252 473968300 437707446 109432020 247957974 655984522 247870450 711688510 900872166 162125690 524393360 299472114 462647830 890564266 936685430 684240994 57256754 771614886 911934202 30456338 345167322 671783726 423058098 696085602 387141388 930276884 972301808 688366750 266055616 44340202 62896220 557196930 861507800 350833090 850573886 959752474 541812896 746738816 225030268 191174948 645319684 840678480 834810718 858962948 128834358 996588480 451688102 33599096 329498684 554625220 556120334 287639820 86175666 237819274 276961540 781319124 211666516 529913210 463199058 760364108 74047810 302995636 32271814 606462408 970787088 156364154 263842922 502705138 238819984 429719654 461901430 354992846 875240408 247881176 170218396 551650662 400877976 355299478 313242566 4396452 951968242 819916366 666285134 81103150 486364516 937907632 209110106 643067386 186822426 437125334 180903428 655668300 311810360 523945650 778752714 242052374 51848854 95006840 391571676 657130102 377700722 244786556 457429574 282242648 870372546 622109888 116207284 507936372 711511066 646355580 91397598 42193988 769456540 661917958 202536188 25460998 711323872 128662180 394521120 443797134 147801944 312416114 24047940 1531178 531507658 588003214 9223222 60284174 338093210 475898140 702370400 919638450 753667004 129357916 636702636 619413734 207528032 795398362 517914838 778654274 211362688 868580060 991500068 280897678 586074286 74865790 519302504 611755418 371687598 397966476 436329426 818664686 360878648 210175392 580833674 568412830 258363870 663514652 660682302 648737160 288674642 19697040 413175674 53463982 942144546 907860688 648061242 982816582 50160682 833014672 284500860 753629908 901784768 519801674 924828674 779739036 333726568 273852070 230680110 706541768 545877536 154682526 453203384 816576450 494250858 605320250 758938924 562206210 63265586 887606808 445489548 465193370 681554046 169738148 57310430 423993740 978092410 546931376 144895782 705105594 927350410 896546136 340594046 985709756 964976072 151768188 318184540 171040334 705887204 42221480 360624048 79414378 438515158 441283262 553429066 535577298 797194648 384942884 503696326 988989052 773375470 906432118 353242906 630674890 621231404 721065552 445494082 472893496 822554876 521876066 644116266 233252598 889954408 30582164 411109938 988715784 580844298 810852202 340548398 467471862 703375850 508555106 724055862 908645062 449033978 80732348 40544032 996020236 950012148 740949956 384227664 658078794 143316114 681499386 768395368 683300944 162174964 26473904 255654370 472350242 344839830 771690436 930647064 386102182 962615986 466533662 378304214 39723256 994170780 150136220 326451574 856339356 314000640 426175666 625309832 468920206 385168786 456353596 293028268 962376634 824472598 576234506 817881644 447911360 85441508 433431628 991790540 134576462 902029864 656211366 638657692 621895352 830751026 534558730 74014192 508730596 126599148 404857240 71049284 818897832 480672730 97949936 597026430 846921852 797470008 915274416 372657434 487779144 899953068 794221704 79822388 884296722 97011858 917265112 751053942 629248068 588780952 338412424 579828932 231895734 559179034 57860430 700914426 307397698 446910624 333542860 58577556 368481884 484721696 656861252 51610818 602180956 955556324 779345566 657639828 573697648 224752554 237665748 891569590 188631024 415454598 577324562 931080010 481671018 414780188 442663522 317536124 773680696 831092752 939472666 466678666 133340766 8780264 518899748 180094066 307187298 975312886 266505054 843892590 598496484 505055088 678877966 348044770 61338324 450611450 553020146 898047878 651834572 747518914 890005952 850927542 87927702 897759490 347319862 975729756 54075862 655655958 595612838 161961950 480351164 996841002 311975836 266490784 459646576 838575296 679478788 331243316 224365036 408969764 359598032 488681858 416242852 1529672 667909338 863671592 90354206 893987442 542383300 500859708 436641594 672650638 964023780 499928656 632573866 918896640 239593100 985252246 454148416 868555894 513853964 54381958 422645420 169793650 301588134 430466978 837384572 393573492 115583392 968792276 649151956 502136706 182069064 706446048 168013164 945817344 703589654 754193472 408046826 642073442 60793142 406745416 694731228 617609728 667368478 581665008 161499230 536934330 830882470 946188888 326463464 320816500 8092878 799185720 579079826 462775450 233830070 325431342 722804402 507271470 819047356 793407046 222813998 65777270 566041192 967683790 141556228 213281964 828361368 550092810 608106246 270014664 394572012 984057082 637733624 155224270 291338846 139360084 970697914 316224290 297034572 969917976 140465886 642219286 628091952 457174928 824061350 850708572 800954736 432578488 247876200 392948752 802469796 19471858 988527062 381694070 881236684 807742596 461665060 440730306 921706648 412853762 665514486 465695876 785413920 974378900 828113794 170678992 102210226 653590910 253048856 174735238 162340072 615309444 677107496 464671500 312007904 938521540 321079280 464764842 929616814 961194292 690946610 745366362 123293036 846953864 270973876 55164912 941180112 10034728 117536046 235119516 265145264 801427024 494937998 804787756 399822112 247332158 390390230 898802412 901262878 122495276 621382834 62122382 579695120 191002484 70426116 430136470 974526880 529793696 760279592 928063008 62346312 694218188 791819952 623415918 352625088 584134664 233559480 334388510 642118880 435931914 465855000 285933940 37069846 351149070 639381726 710527252 508949608 685057868 103373958 847146250 972988546 633488954 568252688 342209962 216031904 724874472 682495984 124255892 171672352 671241742 769220562 120953880 514185056 786291790 933244554 174515896 809855884 639424884 319367532 20584136 928199826 251755572 249509758 643877370 498347494 402018076 734480274 777018156 350246322 101421080 471104366 122442250 783307648 752571202 56891186 155096656 113768092 823490120 179863854 163182290 353047494 770899888 685596126 341307010 609732200 411888086 833296222 304628434 171762550 288815926 224993824 460461966 987561306 967115884 688246148 517285784 72631000 939264604 922597506 542589634 594959268 604449712 927066640 248569050 162430684 782171844 347272282 538772838 788869676 672239530 939460506 300517902 684760512 517021226 842907872 447098162 135975968 172952498 211102688 602182660 130566976 893432078 589262622 524213562 787786554 19275758 115890352 417402610 547430372 820862610 821868354 214515622 845582590 868724686 196391248 791096014 393482974 365766956 170451000 756368954 958299498 94314390 975836726 509688482 448773184 911635032 299414076 604265914 343244268 315214904 299628598 14644112 601622290 969841116 105249026 212346544 574270684 432093622 270531930 770463588 741993974 336609882 216362876 222917714 313896108 736661522 195702476 142487026 583881854 993486012 396507260 336192778 539790886 739361818 754775510 748707634 334865074 426958330 902252088 188362408 431383460 631080064 537923622 162845610 837404118 271511550 187243508 585128850 127515632 18897160 337352914 795240944 328983770 942483648 365208660 395136374 528953662 236858524 721709352 462608416 988616244 123999486 570988892 72586348 234283974 480447216 879591342 707241884 243494876 328706822 685224082 437724724 607588536 299221258 471637086 50319744 126842452 82766770 409165696 14143646 835961842 39061406 383823032 972793948 660473872 110984662 313358616 660927882 409717138 979027962 653913062 573233234 543929180 981973576 615618542 339933746 556368464 326059676 130479916 893578516 341015826 935525062 261988776 706217492 105052988 534938796 987238430 498525450 378351820 692743798 628046554 318126464 444344660 558999882 281633104 954682206 587261106 30635780 16385498 641359596 719002872 687522226 853736174 288956740 234371718 287456326 167303582 319255558 90328528 771206546 966489538 195268810 470035550 106696696 256610238 638448042 272052038 230226608 365919878 542310350 838821002 604163478 82361558 347734872 861472822 948531336 519192588 703646902 760725820 182355542 811461058 362653474 848455994 462848024 235323116 59752688 530290210 110211900 618923606 189810934 642991262 617411512 337039384 849972048 20303598 894076116 725324770 939780926 432475088 691992628 173548372 654598996 823749362 285447630 958341338 566308050 318379498 634372380 81882592 90631834 24513170 608649572 9095556 40420476 948199376 567140492 167326060 720600774 478231808 941281250 899074844 92148860 541451974 865197546 361395398 674935476 909348048 852294194 124332672 312710322 452865184 604328888 53702954 878895968 876971038 820223740 789069772 461903784 972385800 11028270 486103018 732605800 611281366 343461948 884066704 392085264 178752920 304187184 409704476 513439228 480606286 345695412 376762792 251819388 1232838 657074668 988894506 877626914 907202790 249955438 773245500 994313682 315875722 889721566 700716744 698694348 652085362 370272442 731040982 105722312 894029184 946525484 703299924 749795014 856586478 505956044 348155242 403556728 652166718 967207496 717132046 110762750 956368308 886929972 511917538 714593438 750399590 536313932 288012972 998138996 356178834 427805958 33416172 311133914 323112820 693072864 593740778 757548718 894676524 846783986 279221526 485241200 254508960 927957348 742266892 403978420 606169008 431694948 669197348 104409728 653271242 545560058 561069958 975561732 995595646 751043240 672224530 568463226 235414856 894101864 461870362 583726900 936326092 372033796 100455538 440276574 890141620 247369722 772352884 783269244 215953516 787829770 563265234 27782164 99982390 588968404 577631034 853355408 633845624 990649798 137267580 435522722 795536740 883060484 75348390 176475856 325124272 456404466 700549880 172601432 304812322 748264284 948782138 126753918 571626536 296080416 278757742 126597386 861307048 235008014 206424444 31930210 700345392 650222536 310335460 812750256 944616934 386261110 545732538 766995384 53254416 465848298 92829572 502215744 218477666 957059496 705577082 407652684 57227870 508501118 573653702 833201352 765557972 596027454 637290676 487281222 971812408 391445564 548279282 476562506 629037580 109394956 742951892 593554332 591279324 441321800 880454634 422176048 959410420 414155960 485742966 945704560 57950126 59898836 720096546 450534602 789380372 990892380 828335420 512637614 201413202 453935620 230480702 668238982 178702652 236516256 177256178 903092198 209490052 859150584 962054024 677800736 161590258 822564340 237080752 160418770 521473536 642509036 656955786 836990722 946733500 206181790 898796008 497834974 13039842 638128048 3103256 828179320 438896384 866374064 62596368 398535978 406547002 410149010 854155138 364893170 10136556 564541812 806574110 956348514 976976344 195692264 679917206 740272148 514855962 510976052 202360130 223438948 694548680 845451766 64268218 195560922 544619746 1381674 939905672 243331082 839998472 407837638 626273006 324693464 814515866 359238256 906480410 500929448 707306168 869563666 706240094 168807368 290146926 221877004 807278310 384087384 25233700 437138444 192703856 654460822 375282388 448868812 674619596 463172246 415501738 46057716 581066692 332590104 593809630 925299494 136362538 720410080 726814188 771326332 336096350 397445770 223659378 867596598 388760116 524721546 467925684 237953548 80247046 402667048 685270432 37858290 248584452 912970688 352815646 319998258 518278134 948215614 427251070 404990354 640674086 978964906 610304030 502288490 773527050 752379624 914411336 418591196 949928710 749819886 422890516 625750422 565633632 505558836 234459696 418962394 582624410 325672046 58664000 860136508 554607088 782436802 440738682 801556900 489445382 175478740 148968526 804060108 789928838 31364726 941868650 271652732 522804484 609970916 968061534 32572402 446664234 751112106 984136978 306032958 795415054 60029222 104631300 196487896 611865798 510153242 31283660 471372462 562135958 965112624 303717652 514570200 785969144 659289370 180454060 518052788 414750018 436868936 285435946 134388754 99212932 743909876 6155072 296378868 651236882 243201018 118438342 434977590 938453168 791531330 132165358 731977030 328905622 732683842 729900272 321529032 122008124 861823988 74487520 722977754 174766780 86730640 291687564 484912688 920288606 664912046 676118620 237485394 137405744 224293790 485297970 923428786 294889366 876051468 43944000 118658554 540178782 735216736 896806608 853515688 253602926 210701548 751943240 494413122 47622922 295325548 526303692 773808044 996890496 871655554 592033658 33476966 850749478 142507426 384853112 431920674 228008120 523712474 881864766 278564512 405759938 290508370 880572480 989358160 797187460 183327706 474794260 363698136 439784406 560259994 337342162 936449672 118834852 252512840 909572166 574817494 663336346 210622738 463867698 655478100 515168008 925179544 37624920 688130816 270500288 545858512 777106514 471562728 252186980 792226360 238533142 809861020 952496560 720944548 871956072 109122342 28355722 259825564 816178298 507953876 776006252 311141206 569789434 209150120 776576120 479447366 831164174 606215268 426162954 218943430 188827312 755099984 673247838 788246760 630283584 595260148 779374842 147425934 738465676 244350604 114612598 590327196 765182868 128103350 796945118 522794032 947290696 775791762 542894312 134607974 555025892 812962226 834467368 857817448 384927776 298199954 204637186 241631308 442753828 488213500 285343618 182865610 952237488 306114208 11412824 994301458 200799302 135736144 357366150 908168264 440155730 361837494 429275072 524961840 521486860 42035092 328340100 685630368 968933840 392330494 168350236 205992256 269570460 92000032 759578396 160056748 354979980 817377162 910176050 583850498 967538374 436351526 131463794 445220166 804627400 232051304 615761704 935527180 880508156 954871694 167861270 59188826 242896216 350865724 805911750 940726114 720993868 350238556 729025638 930703350 950544784 239492020 692721338 982989504 251038764 615339662 334605102 651753760 969355340 620334682 774167358 210435672 303484426 119177814 398548114 452051648 426322268 16982312 176893576 480046438 197594622 252646130 316800974 744156614 447809916 442239566 936798404 927274362 776905784 565072964 452310410 111641618 695546642 51078138 347426048 666397202 669271556 559435094 49260206 84263174 570730306 307186856 33882468 164446624 458262790 18792542 29632746 154435534 795324488 560321510 719971566 679482342 783434512 468390048 971713184 521309064 838751970 905380484 979398100 12723498 867085448 445283606 494378232 46837082 887198816 576228008 408939460 425387582 957664490 845796224 787179628 430665196 521460658 88875716 90407534 96926348 643967326 704019324 817994700 162400074 596829540 141378222 501101960 498136678 567770086 515640502 434158826 904905850 413560864 700905070 595190124 357484386 131128038 574927858 8237846 683398748 876259154 365215392 984621928 840411430 831682622 822735822 498918856 595098038 466637518 440863586 949151252 860901210 573860930 377369632 186302362 207811040 53412446 511492256 143004616 410667112 822455696 763402824 767703812 246627950 301595898 541309766 483612910 259150118 586460724 146422284 44672420 716904856 148358710 928224904 837998730 381407462 423947310 716514196 999313614 720536190 160418942 985063262 417770486 249674002 921291498 433196296 365539452 890592878 788383408 597136486 498629010 944843428 479622534 689717784 462664206 196035368 312754270 600428374 93917598 354973964 857885162 43635348 953557050 174068648 912136846 746886786 411337430 561536410 513289042 858662464 124714328 262319978 121587432 380279396 873653358 724825036 640283664 298599484 645872380 521009746 842396112 752263684 60795172 979043770 745701054 921896918 329131402 228780370 282637816 736422122 775526768 517165178 804507462 453711866 234692698 23843948 202418914 593264528 234309536 739687886 308742472 380699370 57119962 508566142 427118458 995694288 354054432 801319380 810674386 46365814 533238478 284598608 916199628 426552052 525628760 944930280 899635910 754578766 911863270 766984632 601912260 613667254 823145248 651854196 819557424 250930622 250315908 369683386 218497314 545848290 288742426 219428848 196455102 290202950 362610762 263289844 231643098 549361318 492706486 975035002 210652672 240332984 930228538 255672934 198730926 68754158 57189810 144603188 56108478 772762256 389861970 249424810 160055118 936485620 798341486 394861370 746488222 461422684 240332042 440040242 714384940 931240214 882132006 571460276 953405552 38349780 872653618 358168666 672994926 608374132 210630836 37885224 848608960 135898808 775403140 362728736 208447966 942048616 842261220 111393864 558145048 440431666 201803398 609283428 863974424 152320314 102941532 917214774 352112246 510934134 219152890 4270246 446980664 539674908 249143424 287059288 553285776 639760986 689771742 140325476 49498112 247017900 30051430 125658604 2619806 720724980 778668828 653896228 49051486 55964184 986592518 371941326 170062612 730142636 169258578 15265136 169326560 523160924 607657212 987210000 352585200 749101850 609439650 983737126 778955044 753126580 526090814 596369110 488009778 764179216 936943062 179431578 539092476 577607628 973649538 515869480 41466958 511733334 275320688 639648192 182927250 29693684 236181586 351051610 682709310 180686044 440181164 763871634 656014526 969001968 23859084 38887208 401719900 767201042 112459340 363547738 207911900 932052170 981959076 948524610 643580632 731231046 125373048 354070752 731901362 316632080 106309332 962673600 699360818 426680920 16788074 332514116 754758672 940928076 632581704 767483220 394069914 864660644 715147426 544655666 511543532 178854570 192124014 418418782 511565840 786326144 166417230 334034742 438896870 203417900 641791748 810284420 995492 133065028 90314928 550195832 969960422 971323572 401609488 628719580 392208902 158256388 70545478 767293084 165442018 590589222 330378564 981634964 900344172 478900024 138152110 192213144 514219960 642720668 177943666 382601590 547567576 497182126 231337292 362703114 996649006 432918338 63873034 369800014 288469032 863971132 391605580 999440718 897349368 28499582 928289002 452827602 244579218 620119748 143329364 516630188 919836740 656032812 759341872 78045204 250160852 691441524 694071058 922861980 354201606 190233992 222285446 621309126 936220028 656709762 396594738 471807710 148909238 583279746 210875752 560985362 300848228 543491738 231921886 304552330 552160704 73241692 47902076 923723450 868725782 956801656 306222416 974480626 266477568 228241644 128032230 693129870 99853194 249517062 169441884 82175584 726581078 184939594 383461246 45445420 704293182 116392730 891533992 161099652 823624780 101003166 775297590 287235822 369601884 320303546 668800804 615397272 756420090 45628044 631953022 963479126 990133194 619264212 775898016 639125242 244851910 640147140 325087458 744495910 619328936 319969458 109192076 601117302 529446390 633211580 950445440 467514598 219250452 872722608 543801114 501076034 497400576 77234666 272158648 333819402 456497894 547276550 116277736 252974974 826564856 532728900 915282666 734009932 325415280 898937970 553936568 679522452 320653270 190244450 616074658 548432934 88664240 566574136 562693426 559246058 182701870 329986472 646103098 448548334 441105674 652677516 193766526 266264630 272331138 40115178 831382644 547821316 217986038 743473368 758527614 69752232 294527642 187644408 432409378 735241338 95881298 33951858 829257636 330302168 181110694 359227570 621043208 759764978 707194498 163480086 654270508 803156134 960129666 364954274 625983904 728821388 630078404 382899074 814870796 522212958 209958356 876807982 135054958 542090886 736772098 854684164 66973198 323530360 482120012 512561634 910501884 217010612 885776742 157694220 88569154 260684612 622190158 555356232 79851606 611747878 762478984 646794042 984986586 117181290 672407766 156313468 938227758 695382770 822094470 573550024 533451898 508335036 886059556 513870180 108836716 673565060 924187302 849134932 402441942 750704000 393338776 181597076 982076754 257575832 405703564 402678046 573585164 458441748 782564546 888262574 757057766 349660386 406628614 191564638 698985420 245347320 520631322 652009258 33391198 821417860 479561696 949796526 297345232 911614248 141223326 773483286 558457916 405040772 551943410 611731366 152878018 933283668 681251092 244659602 919853792 403348998 65879184 671597504 900413570 544030486 925702486 548026976 998801486 834898630 73030628 98585550 738171010 261603246 503266196 401023488 283326516 291896992 446920636 85519794 761709950 385253002 541536272 803970686 883467272 603650474 957361014 638640290 72539950 530272006 586169080 156351428 917636332 265260896 910779358 70262480 827966122 996728656 129772010 611747794 758590454 511038336 224101204 128843154 952323756 264798506 633867384 644728466 760790786 333053146 184802310 631285608 716692284 864055978 45484876 861271584 924263660 931209646 864586304 420501034 94831214 975849592 229510308 412232180 794497512 85831512 542905136 520537688 153994574 983946178 326406762 159657962 531485014 720853540 568483092 404843728 489875080 396312244 84489374 583516012 12950854 539943520 273833150 516238770 968793216 809109284 776418446 851436836 833379438 993492228 811076994 481275376 72916696 46059946 823848940 83980508 768815994 421302820 974335676 28877932 928423088 107310844 874485826 255011322 925460506 832590194 221228300 959787342 320453660 232171662 245871094 862746774 474701296 429570788 122561054 377693634 981164084 775111672 121268148 118655514 622330922 278832346 67692242 228403874 496358046 79039092 118070306 243025870 283357928 175654166 881658498 641441764 838351898 431506546 655779502 976525264 922567414 278242510 740855776 786001218 818363770 26418808 131711558 23707134 568560858 632349790 381346958 613828438 182603538 54378544 136718918 235510784 350959764 684702066 262611676 917483088 919953946 932108120 793843870 68080868 991944942 905432722 742504080 949375530 880001298 289332594 102568854 315177038 751058596 8895874 26574860 118476476 760993786 445403476 304853888 559835284 971468200 759098922 334326790 166461678 757053244 998507076 961798622 159391492 430668830 90022088 371410110 925321808 94899516 835711718 425955760 82351196 990142874 115218100 134250446 794073016 19779768 58593968 221212742 443395168 935427164 41941746 778784300 966029574 610019604 427565820 185365708 887044016 988648836 48440530 74460294 170233656 970158734 526285360 706194128 996244 761071914 107476994 259980508 767309920 917576396 319841586 721248262 482617576 444556004 338225310 136194914 445484118 855487452 383778626 424428230 144910814 392761228 918201334 279587960 414496910 919607774 915364532 803406570 472609500 199807170 806163008 660838154 163012122 787542462 783344148 470338942 380272040 141020096 31034310 742499532 83398876 593475218 508709490 961096482 168001348 744613664 337668070 698243476 94742214 904269862 922278662 958370382 947854302 964925906 525788904 540007622 574514252 106586442 118572252 909875234 244134598 6310034 478156522 207962910 923589620 346376828 877897462 534494194 266997116 536574460 969750002 286655850 111404278 640771304 799410626 858857622 192036034 956453940 371689652 86856888 938371532 805793718 225987022 186658458 791355284 979769072 324674570 889888936 658973832 799674946 673833010 14258890 573425462 334258298 458160110 525784150 59391456 632630774 992140136 656994718 288757318 619210026 198800308 666008934 883524664 361293910 391251492 344522178 523701836 290090414 655591466 784701120 381160886 39923878 478872064 168749754 426370352 855966072 850395598 622457582 386737464 594184832 864183290 146866456 576154374 354987010 577315410 35662832 490987204 935078932 997676658 267788680 926808730 652298234 913890948 94940612 245804366 330975484 370019982 286068348 214515438 341247522 8254152 780570008 690647800 958676536 106697748 538359076 402392758 696988530 87819322 115186270 630370402 791657008 182122276 747477706 409022536 387664060 736503210 634050028 417101010 691676894 472233470 567156598 880933612 215732704 382761902 466489820 471270286 215089408 781379582 397102880 372196756 308089348 51406904 651269604 963243468 852894062 595594252 305476150 849770264 143709118 818830960 827536744 186145518 222453586 787975626 150928160 295452394 394052812 944151378 49185756 180613332 147285336 317452526 831229352 655710580 699910216 682032738 875617740 564376554 649106802 388164098 605029650 356333916 419476808 526979256 421817598 837690410 815069506 658949694 101076126 179339122 360871884 393327446 952203930 261565762 750740210 231083158 868843644 864430808 940084292 567081204 612770380 249041158 265842176 863465464 411834056 765159162 861227772 868365230 685819910 755923512 941955900 507023048 822595642 671053942 118933374 939198868 92250094 990054536 194335030 474692722 51215746 189039394 883144400 778818234 652284602 646787184 231078824 337885856 412627892 147626240 644751520 414183610 31187498 89186340 293985404 606998918 664709742 812749340 268101342 899636560 19628282 226214318 801439322 746058560 980750776 269988198 694523274 315355692 92214286 882039846 274958534 23406870 743585426 309709186 748694236 249839122 229793462 980591786 159932208 106430146 186883504 924784510 301893072 739505434 648236794 730997786 335238602 857921034 392765634 947994076 80106460 595563606 842787224 869756542 436234370 273287964 442820164 607060508 53022578 187396432 187171522 518939738 685463800 154390514 338354216 435635516 994149246 645997430 189515198 926269188 88774360 436337498 227215562 120170866 247507408 881003238 931375136 852758136 532143528 488087324 931830316 424415088 478527052 396570812 862456280 976738382 932896342 350565696 172874866 307743638 605933270 126951188 167644802 290542978 557177304 158426052 749448114 292754250 393578574 120943286 866132146 446236066 332474624 155215662 907230774 568771656 613443400 386035288 317831446 774669188 956409742 799436778 756215338 549874726 691162144 885773916 756398346 401243040 542186706 9746590 135018152 625454162 201771764 876128018 893610690 176101386 481602572 752843794 887301992 633398054 962099512 316740842 773058148 162245686 16117010 408547670 351459672 419289008 63099660 360945656 409000166 857908702 668057546 408932590 687454020 676358940 547958284 975477124 371363398 622121208 985507660 759924386 974840280 373674224 977225940 106183154 38532408 409825246 441135528 684960250 732347454 369841512 653178134 143508674 889485594 673781680 715493468 514880430 493447608 402999176 266664674 605202784 928534532 570294594 550781982 596708470 567755916 167873048 163641694 10444856 88371562 711678398 465165846 472039402 299903012 106281922 146525432 157907992 346384036 460113480 209267318 723694636 327910740 938177764 235350552 846584476 684921832 670507532 174853916 16217074 455913896 593537006 92749814 427928550 476005542 299865774 849052010 965271838 731704854 986711908 501997270 938928980 3532948 657412700 771279852 673686944 971370768 327831516 843952094 458124768 112724378 846343116 507037164 514955140 627963070 159403130 752190806 215888688 669195452 268224236 261269630 653517294 66870454 564359862 809658964 633420654 421249826 749615668 701199590 349009606 739270860 38658042 12632446 893896824 321905872 275916508 853403376 89456464 491701692 395725380 713683220 935776094 871444382 440302970 741221826 89017316 959057462 97033092 291236 144150646 662658776 296730328 177632642 846812944 938204 130968196 897625256 703388796 745890500 805858680 327520940 708046188 507427616 984989282 789649444 460837576 161014374 129007544 212414512 497099432 366263586 750152040 144803528 894354306 691513140 984896102 952344086 327596766 605119846 523591466 248001664 88804130 664252224 883539624 947980232 164447716 940185918 12536154 703920424 111546392 163422574 711414094 824230896 825117004 277819204 760993524 269476628 524043498 699040340 47223022 825324734 632065590 177738776 684351178 188123732 83722490 249944938 198140408 671080004 118041714 315254158 32268324 822710258 726408770 141364630 722083404 650152158 849061032 636544530 940423204 147885008 47819102 219505102 747550708 255368942 208073058 309737018 225671046 560763398 126715652 2728262 295804710 569931258 701496270 123150626 447958040 731635072 699721394 345365448 151588270 142915812 594668160 853676436 34370214 889140206 649200410 336538146 624759024 957994708 677235296 359721712 32729014 485338198 48316696 521931026 194538460 850266328 613437826 275415788 265725182 109448480 479550420 175306608 208077502 463496158 876330546 13511734 360953002 156462602 471460400 949226996 514609938 227290 314704264 902115400 158053858 900535660 528451070 914702316 837000408 637561122 939319500 117733594 369750014 928424062 855636472 862671144 596975042 371516566 82912778 727272978 809461770 664457718 482858622 175746018 22365152 543332426 373481376 126814550 24796452 839295066 923883660 109782306 963482308 517605780 631532454 677637352 175791566 383511048 8452398 105479676 581680090 404695808 25105956 486309600 618388298 686085856 667344880 504723490 807427562 858602838 920773980 694825818 770568436 743245314 687189766 973233296 714895908 789518980 401781480 433417082 826785904 915544728 949883116 832077092 44182060 329805866 161897484 751956746 782501198 176604732 979176120 356972438 713260306 846770058 24257638 474144376 919384378 733112344 505219474 499496462 313410578 770130960 905788180 156389370 44450148 3098354 398833154 552851430 755722194 76055472 972282928 670583122 30295184 534017196 741701356 385436612 708651992 588782164 304160708 715129390 233257962 416749326 760011144 769915700 564469944 944957554 577038110 911568116 524560562 830954280 610252748 278611028 384046358 437703152 82187584 258691230 903754274 634599274 304549470 894643014 625662134 898238138 78857850 52689992 386922008 828515596 779662634 521444884 39405336 330545140 891929982 771219458 422189262 911826284 990933758 705011880 133510692 680005974 350239198 949507446 773967088 991817906 358054362 28163428 21834572 690879090 169019032 139661456 93579312 33111382 796527510 976925578 179717720 5756574 12664694 707287962 708871316 567105894 952091522 673640764 816461196 50909868 771287478 636647516 324847364 668524630 710548224 131899952 305942348 418417604 587146012 608367132 215853590 960186972 811972400 543486612 975895554 536787192 743620298 823165878 79893776 560626320 426477088 323537830 313216462 932636464 144008036 929374316 25169158 77852758 704255310 324697290 163046762 651545924 395446032 92083192 938915414 786939308 701680662 655201834 524033108 976832562 399136742 555149382 206512910 808239252 81324042 711203410 4932246 620686382 28271578 958705990 609595924 772327166 201426654 37824078 895506308 933195226 727866286 514434154 353573088 196171872 583817966 195377208 130096630 178031488 447845274 722675782 886791472 328510510 893717106 49913464 734674374 293191184 397227684 334861446 330433536 961434878 203586152 806816438 116210968 684027772 553721970 358778518 46794550 827344036 832007254 152447378 135332394 989940988 792958024 552008912 733796406 572056070 220653846 19413034 153439214 441021810 801005070 832050070 941770478 486686498 39360674 712986504 523582034 306789356 902093036 230724942 879831666 572383264 236988816 176288314 298146220 237648706 864844910 931279020 191640016 502684890 732257132 18653742 251572710 501768148 149474664 304897434 69987286 100155720 622447652 752120396 506389122 923432010 556239650 588143658 47246302 86477928 915348596 556093146 405385820 982626740 926701784 96258598 945734310 756969760 252590344 897828662 44263252 22199156 381597742 642396784 829237342 406558034 300668732 927961834 843073514 951775774 25614866 588200454 672307614 933063286 183083286 167773594 44593244 550805664 998052390 200162016 860457588 71084762 31972458 897942334 157357654 209025998 956614262 178536590 636646084 626048024 576070916 715422314 530705256 229589984 801818290 212269626 890651794 972645098 792815728 841507780 171071412 549594870 248633818 293241874 474620484 343210932 552708490 783237152 101451584 286721402 61479232 762140908 162097350 996991936 647373406 400818900 765232500 984286322 414763190 765943404 443602808 32599182 887014110 691969730 840014990 33404134 47952360 854235226 247488062 487001688 896341610 7276198 110316790 302719544 4367302 876497670 738374376 848133446 700909318 718300616 265726418 636014340 832643712 705965902 384588902 445839626 203091868 790167114 331401384 638600150 588856376 213053202 4998580 465235358 645028416 72830394 781268224 163530722 316664474 680732312 113832558 882803304 57426430 169495190 477364210 680586066 114476214 172686888 906093548 304926714 332935046 406677834 432986594 685105108 443729670 228316790 820074420 184210166 215373112 786087246 604114246 863173220 460354854 807840318 695282940 185766394 917152208 61368962 534661284 875216760 32117994 925280054 358688444 788997806 303535430 499737534 284554712 460166538 954088050 684173458 884456300 6935498 343280174 76945456 30233064 355367262 16364750 289847366 949163824 207113308 895044832 147800514 646830214 605165898 473758160 138733186 385329272 684062820 268826272 393328952 451986658 892086276 707070072 186073922 491299938 689248412 629443278 54075722 609694608 407611826 507491838 517046860 535682228 653128296 687843048 831927230 407423774 487230646 258506062 533191312 490805918 570797790 177011568 561371288 476720938 752544746 433473308 20798352 7286218 690538972 959683774 94815000 308719028 563707814 880681840 259651504 889913362 372004988 389675524 458517036 946816982 913306898 533539668 341454620 710756472 236340756 433995082 737131002 871489450 472945088 269634882 661538246 891248638 149160842 11062940 960236540 291192398 489729384 549748490 841042600 172027838 113744058 29861938 946782138 880847328 668330746 933745060 592932712 100971590 933423586 961181222 396827718 60390568 708370788 384592842 476883058 348315474 493284650 547555374 904591664 152031206 755207808 1547426 249433086 558238082 896282976 601906404 546928948 795196002 729912142 767359228 710334506 60980412 815512530 528555078 964859622 819658444 79391350 107488388 483176672 267402152 962384532 166443522 927583036 224102850 219459550 193675206 332539992 154685392 90878312 438109332 385968998 979402628 238377518 138306188 842609730 626043224 199324742 426004990 159474646 609400378 773563796 879432920 931696178 326460408 193859326 597961588 501737068 643093328 690654804 97254412 575890218 690770936 383200588 611270874 136390742 16095436 346333692 669573534 602519902 58047642 701047244 316260044 440718516 300553386 394600316 589793806 751226542 492513808 566596810 684242330 271364534 69219276 589459154 207226860 617075834 509732970 223183440 868871698 913410106 362770636 576460626 999227170 238101382 766414878 864278594 766317010 635175046 399629732 463475322 114862188 506659574 99015642 154291488 910169540 62898246 556346390 501707182 51512382 130042180 601668946 978092036 629952640 763558752 470678026 444607638 288417458 574351502 533649200 683977328 362380548 856905684 519117174 910312064 219489356 420464994 10446648 399962360 811132800 416021104 218141336 73155924 8371198 502975170 80139498 674697598 473812280 398539674 849439148 922656482 406129996 548007518 666884880 516675992 464998150 534050462 900110560 154609758 613757830 58104510 422979572 286704466 865818102 785305060 595759270 52458824 118474884 280390172 196508366 966954346 518253112 407338564 407228750 497371250 567277232 783143754 673302958 244044350 828397798 99137930 193025788 143904404 932188176 868914436 600589728 170364778 763994334 853252296 208149314 445856594 664364938 138767336 507881514 817834772 878236562 21825540 449248670 541149162 976905670 859818060 159132734 678529288 14158658 895888848 818777082 932327942 669068346 476001822 264567234 921998702 284856280 190768506 941677630 26272300 694907892 483001094 463480716 60002792 775994088 978018798 330483698 61458020 876208640 958147728 163890662 831904982 571816240 632145806 712713372 199870464 852876504 469506570 934955418 857573890 347398758 440322450 606263376 248168882 63127012 904184060 247989794 125037510 773123092 105373930 788137254 922219230 943412788 356729394 117570538 647147272 776634196 296494558 974774268 963230806 697056666 118234402 804850110 334797034 112561320 132196598 477531516 376361386 683886690 347150270 149458152 2284642 218884070 128806914 566152220 602141360 963625556 603294032 289180146 532119442 12384412 659180954 610777072 62804200 317207320 209604670 912445328 931076958 810554006 795030476 382145700 880455316 695975880 442981780 50530952 120518636 27312490 972172446 205920740 238368222 404790206 692667224 215060696 396450484 530351510 935392600 365667602 696934026 883806860 177124102 788247310 637577222 633809134 468112926 310182016 696710482 822594074 829006334 945809518 235870708 295489878 915956186 57875286 273020858 267091420 53829512 919088576 509267296 340114804 209465334 502525460 786919530 3959050 918618194 35922004 575129390 351405774 883539378 978289808 613300692 568960396 933241916 744030760 814906946 563426806 55478486 755481270 56401948 74008914 440252760 528194216 928875986 681603832 296372866 633853034 283695144 326657866 355130776 130778090 579098312 544634864 808348550 783434090 169646386 303246758 38679300 683988402 456974802 823264034 919754286 931185126 754527148 464411874 82478868 309055218 702625596 379514352 745340158 125097638 735990126 226663968 389816936 860120048 471330678 845039670 814441424 268106880 492825290 788986920 129329632 34773482 563908198 889728788 523448676 629054340 88652476 547206802 170009182 671977572 820652734 974503400 546741090 67678112 817243798 233975232 828356276 739529512 987807982 358071306 544465558 434367308 435840934 53483488 537143144 345511496 974526226 479520518 887440850 719895070 155589058 296281634 706717188 562375102 718811628 244068918 578825734 121967174 874991594 584474920 709089388 396865856 667635138 414267282 188099410 250614970 727245906 690699330 956981416 559893848 644838094 812058736 390975746 604412676 99505046 899498628 964343822 613128240 118522498 180806662 763722478 692351810 413213464 124287324 82360778 223813646 646046118 129763824 544892546 122993946 3744278 733051974 224499082 480763068 53896780 117343734 420055450 489032922 603753620 815341170 292764758 16985328 380959420 409334948 937423276 72852136 971610794 254616630 493099830 231398314 789890916 792424804 972062390 745274302 615410026 405865158 439045930 708271794 978115044 120040052 649109870 266875806 677433828 906900688 23162966 131309790 548903838 110819218 650031266 674286664 151165906 524807250 562286484 687997632 353566452 750737162 514458786 211670790 785434728 199077048 453330858 479995438 736886150 610437650 911702716 609193256 957128684 542903706 354118932 773481682 515176534 392227998 652635036 550117028 911379722 47317354 450826698 951591094 330854002 509010950 468687246 290099720 397583048 539332718 755912458 890288266 687833778 488490158 903168504 165761732 322867220 607835922 625631000 33419112 73772276 288438648 760315604 959971082 912971410 640430872 618464312 733768156 555000662 259444574 341157030 78320400 660596010 924647136 510996460 318097728 702544614 217684550 54520866 359229218 632720860 85125860 252526016 423339150 599614316 489763910 807095444 84374926 426572456 493003414 904826600 200100856 45294926 597399160 761185664 675992830 970141406 171057348 74962392 90874914 732271336 513040756 960810618 136758650 552542824 731961152 457261976 877353626 679768180 438609256 927327986 699677540 25537498 9307300 575739392 99459556 659026458 639118126 300279444 488525604 840790388 45922636 952658182 139039340 678113618 378625474 545697986 404320018 797803500 733386006 518462842 114015104 236565114 625214924 807300664 326023428 689143386 55900444 289246428 226152032 143567378 943468380 580633088 544381720 143435694 54925210 904845162 597141142 202522030 456483558 558049680 565604592 920637854 854523668 19455722 896701672 76234982 463817336 122433556 243416882 192665630 352258282 5959042 146399998 414904288 624515448 986697640 101635638 973928776 531420528 375598576 15681508 956913734 444997564 803333370 994858184 909970168 364208108 646699782 176088774 721557028 804921310 903645906 962322022 850212842 610093668 158180022 685309950 644231862 682810570 896798426 548146950 449960264 910772120 440597548 639129316 945961374 872918710 228205510 286996754 280345996 983858040 254895524 932526954 654205602 530814630 548877778 584012594 387009124 569252194 494929254 920983088 228791282 284960584 916313270 200213358 729197930 828797574 510948990 106164374 876415910 163031900 26410180 746500214 361717540 557734888 248143500 106628038 334821740 441310472 256643654 825631434 65978468 667057274 890249814 477914226 946260420 872252498 829281828 556467982 138048364 341142444 286794460 989566368 201252836 113580634 534803130 505534084 29807302 154935416 492409906 120883022 931148560 269350724 625054956 537091216 83579992 468750652 388619362 704603038 436185982 228738430 366372004 827193876 227567902 234214168 733171436 775394530 887768924 230851754 588765284 440021162 348359434 419572454 16528526 926389898 262501702 768402530 711628138 817065040 639615844 409438402 891937818 235138538 119248696 394595398 536785900 199041618 999074766 78262518 835337224 203043786 148659622 103238770 837547308 400706504 377248176 351211208 717309644 98141086 509464976 622835252 619518786 918270170 271393786 339470064 253561600 726571960 441758342 465252300 895959326 262821296 347081322 759125312 199926050 40174674 833583404 916968890 121168214 895174810 209126050 272457108 709527208 702367808 319445724 472834492 865328044 257737848 675815378 329474796 530759332 645964396 14154916 227311502 413589730 434833758 265840862 361744052 429828746 524753566 193470112 101023634 358811888 933202644 303085428 552566288 183211416 797961794 629774972 859242044 829944502 211823916 118168828 768413040 263536440 171926302 686394646 11837914 864152310 773472724 371920948 233049490 401358480 745633554 571192734 737171094 458045174 181936 287900574 910740052 826177524 604070826 395574466 46621178 630073944 684677856 859641780 879746776 406703890 824596004 752278842 122233710 242133854 67430918 647012916 758751186 368643276 986593586 339868200 659478270 675685104 940981976 745226134 954283836 15808706 5193834 170334880 558553728 913541106 436387774 331854162 513633824 447245782 141990266 974469926 289350314 628353186 454323574 627924212 969290778 712616560 873833634 289263324 839051170 800908534 489103456 62571332 21000554 660561620 506953094 504578010 675273544 940987048 680052692 461267252 787849582 846945070 292738378 398651536 291557670 966364928 797738328 709704388 691726896 832458694 260961568 707940152 114466006 922595088 984606456 588851308 827026896 866594960 875770140 598304392 451036804 598839082 30152514 484623386 628045412 312236934 528024934 174766300 514668422 341224752 800104540 812697172 254479524 506767770 509235572 660672476 337407452 362576474 569618130 294313292 856065504 78012694 467248556 973114554 396178746 612075528 296039510 72212586 205582308 181959224 943072278 469911962 311862530 991781340 488928 930269336 77149034 521525096 322251398 878480350 5301804 272698396 443020900 927628358 826280776 462025540 573853346 817109514 999767056 711504288 939919996 189449922 613260282 103806192 598520894 128002504 351866098 429901578 916130890 718052930 212279708 172386022 125126934 662525172 24341738 763517822 914830178 572933412 882183020 457305020 579285974 560513350 320933978 951457204 501998878 302138012 820457434 994745834 359091874 120020578 456104720 142876302 390430050 966375492 823410520 309132472 424990386 115025698 477798856 638474054 466112596 436140940 90215484 529336540 602789070 724448040 796763690 912961362 705533048 223365038 614789162 32139300 593991044 302904516 85635374 338181076 647762448 228066758 716923144 338624148 322922044 947727394 317033742 169581604 924464168 789824798 782934218 732403880 759308006 412829130 757192330 462057642 328529806 336684242 834803230 26686396 615847176 37199358 363087452 888781270 537091436 345069738 68979486 591709456 585623182 854694112 341161122 350586492 982067282 643581836 446619224 940319116 424260340 51755770 753700766 272138424 239541050 812708784 225612778 160684450 498434718 992415346 710004834 837231244 843562014 974779612 389375988 550845260 892426044 975434970 946774774 267306502 574046596 767871226 80748516 880721774 381080216 295544012 120178728 182903616 379878000 810829816 869338612 352227232 325384064 721476490 631591276 448169710 101540880 30219414 88803042 129202718 970287280 146549708 256720462 461873912 329798208 985135254 40180130 874063760 984152902 739759360 647928984 263216280 150180810 505909202 912128972 958080058 675113008 789136264 330552606 625488740 21977300 785009542 259477096 162657116 776445136 322309258 117968040 599437998 772004242 62261884 198517892 164885268 302584432 478657698 557609248 889883704 517306778 791371914 410356594 155685974 877794108 408857450 905055146 810956054 41178238 236546612 246214580 555292976 514045442 483542454 192476870 671961050 307419964 447304616 520314072 954401120 552832116 92562534 767714372 995553072 397760740 181460036 134511444 831737850 8335444 365939158 654960346 430963522 395094096 425073030 67567074 163014180 902792014 660911736 730904888 31653774 783018696 991189886 27149468 599145316 718291558 209836656 269866020 678603702 364390220 967403752 306150626 625317158 488592138 801949216 512262814 733669536 302133008 860349806 165213662 533644414 731988628 468215402 121732432 403457370 574189626 566249130 333647350 886633706 785730122 268562582 410985350 178440962 437793934 351308372 755915880 925385100 640046040 987869316 968555220 427434278 637774314 535668342 52262414 511299578 166032882 918905464 995292394 629823740 552069864 595669662 961521476 601428612 839378546 70147740 315473296 443930854 974893124 903776396 844271242 794040750 959288750 879298850 263541728 393122642 57113596 950738778 257660888 84282682 579248736 204930414 146885060 983330934 702876740 894127576 610121742 568672166 554549032 655325984 899643962 377866440 600442190 506194202 413515626 102205446 56084048 785423764 456693486 606619420 786346984 92771044 790421132 243346190 768004278 824288348 401769156 168770324 688858188 971885580 679397084 578455570 651159568 18504724 339931318 445326676 918789708 728565432 610607698 464395964 386354124 346515164 725845898 873200862 907961678 893481402 826395904 461591776 285790896 230139146 402735696 809103720 171347310 457202426 677578962 166626652 35996126 302281240 467314056 678762646 575531868 297517542 480972850 85045542 311623542 125140328 878444328 128616912 215628162 620321706 654305788 113742032 47838910 107608762 728621904 296958714 980072194 443016816 186849820 700687238 351668420 564678576 177894200 352563782 605312536 850488216 955510356 645933660 228951650 655385436 550603432 169393572 257210644 910188916 847297104 952314790 564726242 311820048 475181882 999889634 533173010 17573080 538623214 33458514 895745728 382653722 894943776 832239744 763130994 925243588 986457382 922189870 270665828 210871918 769036030 994881440 357450956 707105444 27309646 157466 56710174 726286628 608382120 562883540 699910362 807287196 687956140 932855542 106568606 863310756 903114076 576445158 61945878 976595828 228632860 307072692 885567644 6636612 602380760 691408188 904943648 159957882 42553408 492591428 453500436 376311252 175670226 444413326 90594622 734056962 774071402 799676754 997350998 476198218 164586446 23304276 161786140 828083586 233766248 517880872 734543436 973252024 434650086 594087158 63342558 115483004 867368356 828757548 626857528 993406170 92401700 235845110 916290438 50553680 738250300 866279634 638873398 521653022 915815374 810395604 697646646 302563092 848917260 93505268 125514958 436182648 267759870 386273324 57957152 321020688 801735720 508128970 447335844 609533074 693159610 182306878 51734256 39443040 612667158 570908758 322819428 755819168 508120668 73229638 293272440 447493538 492792434 107230166 378439722 455211850 773793926 971633360 905873766 422415906 824365142 645491104 450070596 35931636 430769390 53948190 268024516 604471930 253428644 512553266 152286766 625200452 673487666 168561028 671480602 404401352 748432716 170185806 590962824 284070504 319636872 940542526 21012464 184918112 891694520 592797142 54697948 137665356 955007878 744017514 900721352 852877012 596240470 589092618 108726774 703995640 980722688 505716944 125395748 870778034 358508080 87409506 261226710 64569494 882645762 989912798 78557952 179993626 547958748 811504770 369930934 247037328 36898862 718257364 496474086 998902498 417961270 809375614 30067502 914836834 469535994 698866014 785093784 925737778 368740080 865198748 506171782 650403828 42458878 366508960 49684050 320615026 183115068 701890826 634588084 484670326 255214110 554481312 604940116 890671926 60310000 631845548 961704566 866240262 962019804 459866338 898161676 886311750 654888458 422483132 822895790 853361150 982540602 915916716 953315446 57635926 80095234 638062162 539355066 629490836 252662740 66685632 952650766 996461956 701171854 219389380 810947872 706281750 897343368 146530008 918677054 894167910 135951858 573575502 322014622 652990424 318759704 105890478 242940338 713916468 306452280 848778648 467073872 28253016 103179580 580118974 758855472 917384258 392094176 908530146 926236088 226683434 302620972 401412556 122552658 923521536 638694588 86774986 534521962 423036924 703485922 886497270 550086778 295623574 753009498 200686788 914030148 161454952 278811178 570284990 749183320 329488248 584438294 817205552 143977258 882418648 974147862 607448942 692949596 852519348 878996374 228064766 804180440 614774662 698204720 519619588 555911634 820782140 951679576 269496468 736947768 200217298 633452658 471685548 804073978 81626214 658771830 957726734 463621850 180227708 600220230 191490256 965670718 912143966 593027874 26778508 472096774 95512098 769033810 136588610 659823396 320173448 229687360 871239252 297551476 566739990 318095750 310056420 249562726 684766900 163571388 344665068 132669400 386133234 884221814 761375562 446533312 922360796 785864020 31903468 477741412 798680994 248065290 621404060 73669406 6590604 763889406 356634600 939452306 318655248 954885346 237831134 558826920 396713178 480367296 659642586 72332066 705166870 158299060 201736832 602408612 19961596 873818222 47842180 156945934 942373192 48194038 984460394 120834714 95106596 453016934 68533920 492840406 361787482 322047676 819914966 361792 204632810 591856598 973472006 469288140 43023410 261283136 972942666 515883582 612124244 530575970 278804126 947490570 482307820 267671368 701288344 440320430 69961846 602184600 857184222 760763648 842057884 430013416 728072482 365389956 75851214 689232320 561432634 211759400 928973418 4146014 720814928 801921838 749694502 510754188 872764428 589527450 567126206 984587106 702648888 316424688 196690872 24789504 203065308 649129672 409852132 700878098 57301598 224647128 911806138 126084088 867205754 210655470 548997604 57716392 485298288 596226822 519666796 524465634 421253642 647034284 849544282 529981032 576840576 502973304 106348056 830697264 209843308 158679022 525312552 463270278 574126096 439405232 603604332 706139988 27974198 362878800 238506026 683847300 365862800 697719976 708874822 778731706 368465672 574514910 722993154 161858122 713790090 850001214 113773294 914466364 965044370 941821288 982695250 81684376 621127182 484124398 266748870 388179478 821454414 234526832 456310630 864893362 144451834 36398690 861338894 37146928 656022474 943976656 797356806 132815490 616393352 106831870 759354814 547633934 366050552 615516812 313315036 357884038 289379374 58418914 322675882 432879672 221044348 171028758 154135118 618980598 919094534 970334178 377044142 450609262 795682826 164233866 511288886 255831864 374356630 226478092 168339110 597211218 155271676 259125328 136400 212283070 827851404 424206508 779807732 344165946 78264788 462259166 722032018 208346244 696011622 153350826 158138212 562377762 755933766 212882322 867742160 131523678 327987910 578658576 434214988 475698542 572703586 795206242 800846404 690525604 50053604 836468078 841882974 644373044 574611208 797991612 458848012 540190034 895044418 924163510 499794862 323611210 178465510 638778730 456755826 925224866 385258422 910947574 672371860 946027024 846215216 808828004 1030802 255252770 704043720 464442236 329103210 728923218 742538138 453218656 35183068 992036116 42627360 693461282 430625076 562862090 769621520 383446140 663346262 20425846 733477306 699080678 477916378 7632600 4583028 227848266 274311862 592063880 742608708 899221268 826298786 783531978 427867966 518187404 213948606 412750328 638386936 520650584 716570018 420214190 255689440 480253870 116756020 847848802 839164048 408844712 594984974 219046498 688964994 837850322 39886258 299953110 53586226 979881716 753899836 126355740 386431708 434047190 311440122 2387326 541082140 390050928 140858196 54027248 605716308 453763352 85661384 159815272 732087574 91660536 437919094 391402630 518985388 440459628 326610104 638392560 63005568 21908000 301270358 419723600 191602546 46481290 942187938 452117350 972531680 270508264 92268666 383466396 526161088 547531756 338350360 322569630 670771576 894334158 598032072 840242746 598625208 317491148 623733376 878804726 481258220 115712984 651920578 463449344 612766544 328918830 232414488 96836848 858357408 801433672 324763106 825240430 8887048 428479682 254051466 363785880 387013510 648749780 695498134 692889282 985778126 167025118 310228896 577066016 741656548 447106994 814195818 417294754 895682820 526451774 197197354 19510688 532452670 588849500 237576298 248973662 665471946 615885040 585623382 148351842 443305922 106125612 553142916 41493402 910193890 66071492 595147808 451420648 999588020 716387698 809786986 130307268 166179502 297588420 673485448 408062016 459959924 817814160 993835422 570298474 951542106 399817188 593989042 987840900 60918884 610585636 679477670 914006824 614309184 387077892 979658670 782537786 614737928 151342286 365073708 131629986 33399424 248178538 351263410 642610384 430617698 700498248 60911094 968219186 68936348 5428056 476525436 18731522 452510972 317472680 907558974 880592198 963207098 929583758 600831404 88608516 699606184 291260018 113197168 663545528 687630686 778326146 880487602 230671786 167940994 911205588 931262552 68057580 570461322 515966334 283603556 87684784 275257448 168941780 582038840 647116880 869427844 303034470 55393094 562407320 371225468 22318110 262431828 834905524 571927116 164950670 244996928 317433774 616653310 584491410 410173296 407110050 172156412 648918126 10834894 318187344 35231992 448787498 867016588 923451698 189904368 572745634 899117620 147799260 618917082 594422636 864762754 12164018 584524662 437698370 201423336 184712326 607584350 438049914 621014582 460581404 635524370 991699910 766693422 88807420 205552874 240980070 14657682 520362256 184519828 674070236 758062762 236314424 751425676 219637726 704524592 658657506 669709158 899797046 169102934 904928116 499854310 41403322 36114994 58635630 858354832 116730122 211081966 754320704 912875708 473623690 188316270 546138800 103604798 650575618 71364640 552130108 965206300 313989434 634004592 890060016 728244248 987608278 244512886 407685434 355714470 456755986 580270924 936395690 747427172 517072484 189283658 145490654 839161250 326651590 819483374 607237470 866735990 45829964 22948430 791600708 958743944 70639510 813922340 807455824 662708090 395768368 120788022 181586990 606706300 540776734 251028582 640818186 289878246 127329816 985824380 374099142 52476160 998257374 609027896 674509180 538343224 107958324 490713950 865885668 835466594 673391546 765174654 779762956 285175152 149848766 723489714 17141900 176887406 659278282 33573738 331975956 521605150 414713326 326401802 331029860 80497950 946947864 228818052 995735138 748865838 967439142 734954316 372956950 110789002 510039304 630243238 923371920 986265664 284143534 260632382 670641612 13139916 505559696 371541920 369459704 177831036 449144866 905592704 517146756 43543070 961006712 788364590 473014616 510287852 405578486 598228208 521576802 959225636 335094502 972001042 228891264 532947410 961996654 265579292 634821454 145843140 111825866 434926314 984682972 672096406 896804674 686712090 692475142 895736190 954849876 4355620 439676112 408342302 376540084 479290900 886351166 982345616 14790434 847811514 796038112 240474866 950902550 529756182 682624226 419025852 613084498 167653668 324354484 738568216 686946264 527892136 242740562 446084974 996524184 42996674 664083658 512381152 413452398 807436232 358826286 457712900 727632022 943174316 713885748 903998232 427939054 455832090 810034042 482318882 192431234 461160492 966417614 649523826 704675618 6130078 11817220 194744844 534646982 411708872 104089320 459595912 594597276 591630924 730570942 353501740 481804102 910512430 238657578 304920194 911058394 509444202 294353110 135277232 947305826 270046606 422093984 215767078 207408662 75879194 101825248 676437438 23159188 449292868 770464734 308043318 772529672 44763872 758033932 846213196 595845564 379296138 290475180 131372622 246511064 93723258 595398206 480881448 789665900 882137406 492186086 52110276 446349282 573246210 513002192 966910942 738331668 657110528 609866312 648465818 915492058 841921924 594813490 378038048 820656292 441508188 737548366 764277978 249911138 359755532 216866886 237601228 771204774 946983556 215503458 699221084 157938776 837046790 78094276 493516298 80456110 953447080 645697320 524119278 417318564 830780888 186502388 788545454 57843770 332103646 464785180 42338114 692375104 703357198 777935432 828509950 527306434 781008372 128367204 524745104 213957786 430332688 970124966 229228870 660037280 189800922 558414418 688526210 381215940 786327730 860065428 464651432 905459862 14951366 28524578 573581510 157164072 436867390 115177654 47111328 145680184 657518092 145428108 221282112 939749596 943888608 246349082 654804180 920413106 884670190 526397460 74322312 136587668 837435534 745219872 369553354 970622362 904900622 998014728 993844954 265016196 467374296 288732092 931158872 28284410 452095228 631553022 82356582 249931622 379948808 345146758 732754118 724380962 221194238 548559026 625228294 769092274 858252236 531068088 965537834 390652492 832565344 62914172 192192862 168223634 954860178 110601794 556309988 59034630 220267156 108431764 799787764 752764100 866196032 850633332 959816584 768150994 663543946 153486440 469469882 797477102 437580176 494123920 815081546 631452072 492283906 798025810 376877058 135012256 314734718 345078672 394271310 268602936 530299844 938454122 83911704 401682152 318604610 32870912 783285450 869256182 289600658 504586540 918382666 310433616 911911236 182180394 264049882 368948660 42673964 720587176 466648818 535583060 667514058 912684824 798077018 411865058 113465052 303799210 41254116 987536986 434263742 81810650 215270418 147264342 816389940 948018122 896877866 210683436 809657446 990925074 336607564 606006260 343854870 696267650 304350004 146058810 996469984 755393478 706757086 845182790 346658036 163409812 417818912 969597766 655036142 799528928 941620550 213280200 271923190 485525200 556353198 332796996 931376526 425451446 801307662 752653948 132956108 355719752 714211664 373499932 327712800 204001958 752056914 358889302 548426024 391721620 822189740 898689590 891472710 706421382 710992492 589871654 441207312 168358304 697266292 468216072 749424942 560178580 388773018 538757558 903704196 502494606 587084728 56826450 354669776 948290272 145031092 377720168 330824040 966147894 412401634 770891688 785443222 289893038 465196364 488148840 440910422 35762734 754903582 528833094 858098590 74261880 240748248 62377536 443918958 703619740 875716832 302923212 449476254 812356908 433165374 98205798 788631268 488227950 653351624 687576948 105522176 663568632 924264072 873834056 204123762 93116804 701050040 606534034 58862982 490621074 738013558 77592940 81650942 444526676 781620626 941612524 982636070 85215054 12110258 52618708 760281886 381259836 469077966 686990052 403214056 240520256 407440164 821958498 175463644 477878160 828266482 376835514 472193934 217217764 801824534 282136252 266815478 778134758 908441072 100494284 487861656 565308900 649131030 785199070 176114474 771209638 238559408 956110656 424600096 360934572 48504760 723596404 538800570 913825790 503842690 972450372 65291516 17854064 163273022 139852274 278232376 337862618 947223436 451700050 925197706 535394382 262993276 897107200 701812714 754695482 488231292 805854672 409949402 366948776 138666498 958636860 267118790 145280620 537388060 641452944 177797956 773157788 868008454 625752774 520578940 829627600 735454246 772770078 435836620 921670592 196562972 277733358 508897556 408284070 466326738 826220560 499812084 489444946 974306730 428875174 168177292 916600830 427715510 999914144 437146998 384179314 728660370 196119342 484095588 197486012 265974992 318914074 785391466 954031938 856361180 309774620 542406452 784328740 362326286 552325986 956695912 891499706 248349626 253605434 572265260 248234798 458830312 713085984 75982596 96425042 39737246 459288006 66206562 416253098 443325014 428440558 404255148 94411260 326999356 698674458 917551270 784245902 716633460 174065562 432126108 26344572 945337490 540478416 954524790 432250926 992259568 420005720 651698950 561104566 502082232 503205556 871961376 293687468 532539862 475999926 456466318 666207778 42011718 865086396 210627456 547501774 108057094 143888830 437300162 295066110 17828754 890553806 784948002 28420554 403490258 327357082 420550450 966743606 43222836 758319986 90950870 119455032 685531462 457821208 582167536 630150596 344748252 718034548 443043226 6312066 719045916 516778040 707800362 535058216 24237432 243306532 690076994 315068720 558005778 802636794 943483632 62106416 657031682 225343866 533287928 65458492 274766184 928408194 971397694 410140472 197423248 663758480 759322292 55226824 39530436 981453530 826968800 209799348 798797230 256206700 544395216 118936662 700224204 351367328 306337314 204095198 656304306 507769990 125772280 991003502 481602534 281653738 765396046 934168246 268045922 106555706 83896334 320911782 136043440 426116760 430022518 452154648 373939436 273159318 667446004 281806298 383139614 592801962 903167400 970733906 254694226 785140990 777762290 775717778 684092732 78231562 139717068 133933252 846031746 152181038 123290314 225496982 398517712 468891658 907423276 768072902 172492136 369438754 340612612 607675990 906320440 807962838 492317908 163763168 75910158 700591274 698417518 130855184 802397750 642149818 807146094 637952862 280146004 644448550 879672648 179019972 120863606 618769868 352137366 26062658 311177650 868368326 965149148 496130114 41402766 974639050 41052058 613818626 30710930 425214056 364588616 642348192 253911506 148275534 801559572 454812646 131732866 233387266 755881520 344480348 814932968 192851634 749128076 667078892 227570848 944557574 487285376 573562734 111271206 661564424 571563146 231271718 148904860 327238050 823744952 841385224 674378108 173860142 163385634 734491602 7248102 823884118 939359196 916729416 999607808 378497986 928656676 413842150 572962378 313468486 58808940 141293766 5216186 363187246 878333440 427960496 567462490 771483350 461274234 665468602 260812846 284289278 836577080 662641818 76626892 443829810 651366260 353669160 14112264 525047152 29786544 450588568 366469282 881194244 318011286 235934460 820467904 469163158 47898342 460764940 840559532 389261638 581150816 403232780 383614698 288684278 177712918 681453526 960710924 364939238 81398538 731493672 704492750 404802630 110664670 158101400 534529430 796166642 631973790 469996086 201947242 171825040 898160196 455920864 247637642 710481300 983593572 555037302 381102140 822856506 116731466 793897856 119307480 298441898 892775650 430427848 736079878 759965288 364514884 89414342 315901864 807344790 415255238 759333338 329447722 920327570 783529466 33411834 972284356 610058508 485738740 896827832 659180808 715643496 207263752 545813202 642018762 290369556 58298950 536838764 300422402 592286646 663485592 538768336 921362668 742547816 875187736 186996332 781579754 358386836 238858828 955024516 102574254 579239058 636839438 320104014 845559420 369082686 240163782 995611064 920902130 443005500 648946048 442729058 986529174 591644168 331730218 987793332 604504928 565094228 982878122 447485444 245975562 717968248 21936340 315455570 527877664 498501636 527607474 470434274 631671110 400933426 332354400 943322332 667291054 458827038 26911492 833732480 409498850 348205164 458943094 539976038 718086354 791699022 376911668 2181102 80858484 222842888 47745050 896604992 831395140 625685716 555343098 784806112 707448030 228728810 958818896 404961390 311686838 590949268 437023612 959977104 840141610 755704566 677480784 893606244 849755630 263814816 504189786 559655410 998197498 618209870 433590610 497175268 306115658 256559134 250277258 793843890 275584208 402549508 305634140 883639936 440202222 584555630 224161156 447901172 722614180 926205732 57591554 660819936 198587030 174711290 485400412 313912656 803608380 396401158 291806466 930373912 932591482 961494334 402074288 599249462 359283256 816905504 841256478 704785736 246367948 230231784 133499204 693367708 512188244 91176406 844740504 357194236 336894496 952020172 708246360 847623188 977816290 602263076 350407862 280873092 738075276 356031052 43665418 494006330 817712736 792277232 725819000 973450744 35909026 395108626 852733186 805534742 761853876 61780942 714920300 75905290 703624130 518059840 735928926 70236274 423738748 949952370 419852024 913128976 41571186 289336566 320822672 530590022 18151060 396513262 671211048 738537974 406512048 980924378 698574452 667474980 944663730 247900106 78105866 407610484 775237726 396301266 914918294 984548016 865916826 670474004 400640038 428786944 735146820 741598558 410090524 10694080 127010938 734218332 1554070 409389048 47057526 593873004 137669662 335533660 91813654 584010594 767756354 780319898 938724254 870951728 45280580 635014632 194516476 529850896 36339638 73337884 945846532 338165000 118263070 244270660 734028032 627062936 490819812 934847572 48662600 525175452 837844678 60488190 290537010 88006536 608061778 231580236 420936606 787745786 772731400 868113242 563999214 722234634 828022070 861830496 100791350 271487298 622643472 447208624 781029300 585880950 67869416 736922230 356086564 52352064 279321832 614713826 707284338 52681154 71212460 402141936 839694944 394655122 690477478 66305342 942196876 470391310 40721688 481560336 760631704 263200652 901641974 819569234 22112180 649322052 715221516 664666546 512709796 427571776 879114974 595806548 179952416 936957546 436860240 999640010 24795536 913083880 627155834 852780098 373187926 62216256 70805328 245415150 260376806 983656992 681155360 554316644 940780844 173711800 415079096 337117554 34280870 189015986 695159792 228904144 402592048 841588336 395340918 657511696 19760340 667984346 348985174 994329498 536179128 679308140 405625030 812206716 527766910 206007170 549387670 233571300 318649106 76807380 361716680 618282632 736833712 386743804 643725906 310749394 985201380 848503920 668548224 554431754 911027614 830146650 491893222 448350892 523751986 793249870 744522124 12340166 254307204 551372230 232589806 381981278 713387938 398509824 885472974 92111916 429809154 32063672 197837540 758762906 604695336 428596222 282398102 225165170 275691004 667914264 730184974 648453402 873423500 960363630 240679672 435251350 378251964 704927082 225182282 541648402 269484156 415626038 726746466 18412316 866882562 992003050 61566298 141948320 911732092 232601080 758937150 981393686 635673546 216224656 627079162 522376566 975407698 936183640 125844498 756327730 856213614 654526062 188712570 509516572 684993126 450973764 36764284 607512986 117729416 667966324 536558784 280179084 56301432 346876498 65122590 945786684 866436126 596504136 384173732 277681628 533153798 312944396 997567866 106599952 203603662 693504792 534076952 574885980 530063014 684791244 287588130 164665522 447059650 735542146 528376928 146355276 274622326 216719100 448181192 549689960 79087662 446747418 584118260 383126994 6302214 769915240 557759150 895862174 629870032 487339948 461217998 417618520 408666224 283271702 198886544 22984740 904707558 132714876 850581682 835149702 298361372 527545274 914119988 710335266 990719474 725438542 985978136 884249346 322810694 195248522 179906804 505412830 500685770 193561342 978475576 619311836 510407392 226314572 634980322 430235236 308085298 808096134 10929228 219093852 231850530 582429580 15955224 35828980 814957666 348956894 504519448 193359768 789578600 387098030 105669456 566610580 124276250 465017530 451325528 324476212 259737764 6395418 481401178 693947702 272532578 743947976 330271590 965767118 473987844 684657108 401227966 223808950 574651424 661029304 207161874 969548976 165534150 843112938 211602368 94288582 712257632 589390116 144294288 554881432 857547436 314083276 318959556 741523594 91182310 637353188 68082230 714344386 267338202 95619400 265964610 615224376 720417080 815444228 824025612 12433008 796427452 413413288 382886886 338370450 14288980 182627840 838796194 972879086 117170398 47432662 574908378 393259576 278034662 33588042 921928956 657636106 525874458 924832566 175391168 854942980 556704942 596436072 488111870 14232724 764553666 100956198 845790688 830591410 385444828 70685846 601242784 728232988 737646282 286042162 633889930 241991040 952535256 112776658 634913694 334970048 181117454 333349976 835148592 475670574 40466632 182323090 888298224 30757100 267445304 130761318 113652294 235626144 181716138 237904354 616751394 596693240 734289410 233208170 851795824 866425446 430865998 487378178 685358406 523592168 198136538 785775858 454968088 76051006 364176672 903081098 75200700 626110214 422956526 733626098 214081708 7664516 964388022 507123668 912364516 805419928 735540318 389663292 708934760 948151252 637665416 733587198 555965522 984421038 714926784 658364118 490716084 192319364 2899832 55106956 761534728 1044004 747499110 397998318 312833758 299431374 965873664 448337028 292223928 377357558 751494056 396780642 28700550 518787988 902871644 834600192 223517364 142537002 766691356 533969830 31601946 844101136 338486998 38038832 176302946 288491846 46283780 261373984 122762156 192582462 874311488 294509154 733220274 164854750 667730742 542951000 912616662 931692964 477778924 995327654 508719658 378754400 990155628 898411994 142553374 960352770 90939298 230656994 41055412 767523436 195471388 142356094 859198932 608653158 308466484 46523254 64509470 722688372 556174690 853158118 308177854 462486660 533359928 791778432 866143722 9324868 576153842 358519176 520559902 179704262 720620942 58621508 510146060 438653778 821650874 865668504 349038998 827115392 206735960 547123668 855660570 827714984 350506720 925171822 877002848 421355566 653282744 667095692 898051090 966981210 688152880 42172436 788407866 797330560 48924366 932562246 827017382 388332868 256071362 729132876 707386544 125742884 142375436 581317228 290416740 930278164 118138704 128357468 800976314 121245412 702935118 106439914 449287592 277933750 632517816 39168016 367989234 7176014 265569264 621213580 629475924 142560736 845895888 155851950 282802248 519354770 626397112 401610264 512150916 49143078 520633312 115005428 655525740 792764006 203008586 48274656 340125200 662440296 692647018 78363132 398358056 936762014 438189708 689021404 643583164 656910034 170542910 531901210 113201404 626347246 712574032 869003808 790952496 267325326 156751086 88330182 989150028 835190956 610998874 923224086 506960728 455497246 394583508 751673116 201150284 326241190 574173098 140598972 888765606 493992714 798366640 484862996 818595458 524469404 826303544 996395012 249790692 696491626 73003426 248759478 884283724 28636426 117131452 442636802 915380444 763968326 373292344 131969318 91214014 974261396 649076116 973537946 659957830 159408954 635951524 782092572 33612254 877200878 567725774 370331608 342157344 31815928 963161050 831994012 715756244 534218854 636810942 412827166 825815970 771090270 13942818 505198176 1676430 13467574 23570430 44910364 617285260 757348838 207142450 570453732 408464496 335689698 673852480 924481226 933248708 183520712 876119062 412406108 358084284 441888676 791941208 314128480 193502518 909375288 576722192 90294556 924125876 290382414 409201344 319258968 435522214 564354468 361102344 524727016 373309152 301100880 517529026 516332692 83913786 815139552 495582968 784874610 600755194 902764798 125699684 122350190 883931912 912264234 735905180 778401956 628050272 352302344 535671076 410256226 649326286 190767596 545481730 738406510 111285278 595474428 350278144 392177512 56797828 228862316 89135256 744854782 315754984 199961668 916451996 17088242 647774350 949204492 537741364 295933808 15490060 857380620 120122846 676490718 775464220 327695344 985290484 980967854 444695420 265058176 929308452 996931296 509865262 901809872 993255254 850481352 323846640 817109452 33365088 981253920 860801238 460494984 556590720 469802630 329964774 859309946 988278580 849400496 775075606 40282752 950008624 74284924 30488054 51379622 190075156 342530908 320506432 391715694 102330832 612470700 39542922 441385676 118408778 532757550 617503310 109204572 576656894 766790372 467214538 698176384 920456742 752483172 648603836 377877178 989404772 165708282 146064742 647399660 725030064 922385674 809489302 201469360 547802702 181318340 765055078 103136584 166283522 622839986 853357032 481434736 913515648 980725904 642882936 996859210 354085430 196424796 697573532 646967502 830463728 990520996 265845782 860414376 169215364 315676160 562251980 644712874 672408284 929011452 121788456 932431434 962916402 944894464 504655432 623704950 319787874 498214262 554755714 746496478 268561146 142916318 921503918 703500604 246782930 8491476 380933312 521473278 210988982 381116908 78670626 971949460 349029480 816706640 469040024 801008808 560728078 231796596 861490538 752738554 211268312 943963382 217289646 175730048 511203550 844497412 57114716 906493562 702139698 691609170 96396298 587277644 920336290 146441784 223403238 230588928 376538404 711479288 920916978 568216914 734582336 46450314 719874690 923027246 24442416 658746252 137591030 172523644 797565234 850991418 305755582 968648374 381821520 955470908 513885936 502158832 20080144 809032624 761803384 934061410 34908512 615673488 361437200 241671330 802429924 27693260 950177090 350680520 257958578 872111652 887588538 494698552 489991296 730737950 222911190 328865226 477793046 863756004 549396316 386995888 183777522 122494590 466046910 125985954 541215636 156329234 259440400 104489400 258724942 705320396 112876512 405601744 507798998 477305090 263019698 303283200 935315588 412072936 368112594 766057722 542286672 471664292 271562872 63698816 878408382 62555198 782524144 49994162 749077792 824362590 477461866 171932418 260940942 248329616 968731908 424963388 637454242 293774954 459184040 667293830 193711840 879774210 584286402 691775786 929819902 231654362 663479516 898150872 314185086 977689498 594270738 949586414 780466534 604959602 56380058 762751606 986416348 113084432 775194740 687539910 72735216 46002892 193800954 231867950 801440146 651330772 149592636 305349096 534770308 642486748 131635674 663523928 929090662 223929558 785391530 371510200 210212578 278278796 138152910 748564642 111520094 680900646 308798442 759676454 174895418 182292242 980019802 593212690 913132534 824590918 687762712 669076582 519587410 241153384 894545016 529807418 352506058 249449354 690131182 112869878 944268880 808279534 827345660 346586226 133790094 163570706 261192780 95050640 143570628 325706956 438823896 876701164 630215902 713989140 591604902 217369616 314018958 317933154 181624214 754037866 827976744 858016762 300538226 205115286 48440710 322457092 425684064 122100548 488270540 278762698 964569968 645123374 571796094 271381926 562028342 248542260 747043640 689402508 183091366 526365964 348796114 120356156 288199438 4336856 532634232 853111028 384819636 338661700 419917268 470695708 647048114 678611622 74172044 396665148 806533006 679910124 759713488 417466958 205520862 751660402 106043964 434363448 586243740 388256898 414872904 773512386 337670464 36088688 874831476 394139430 765540890 388435688 148904422 201795936 992556796 971499804 537049602 536867402 165069536 102200238 793146288 299384676 928244522 472859204 412934468 206426574 650303708 85903172 706100170 147338504 981080458 408283514 695933746 875018576 169123900 84631700 728330184 714050540 185548028 283312030 37278768 878385696 6861488 824366166 976925434 532792588 611427070 911955672 315538862 630870606 993506814 454923196 297072652 930539938 248734372 789769918 784799278 792648924 368868 383861346 718569752 533782742 832144390 71068538 490015794 809564992 915890876 778892034 183053634 263142808 542322542 412852764 920085306 206436312 647864210 629099876 216121968 429983200 440429538 701018692 17110954 525973846 181533460 924476896 335770080 226315564 843595702 451837106 731315176 672995998 982647736 121649266 479989048 630944668 782648004 606723010 457982514 315146728 532846508 343949070 952514554 222724716 757908860 76158556 613277286 255277624 522257640 577768536 296750208 946160122 194331170 832366614 446432774 666088624 742247990 414316398 906537062 506063224 815079384 321122770 492263246 396128734 591517788 610038256 715318312 833774982 475645336 595072034 846721798 633856916 640481868 173864108 676175616 82746976 351259686 833783068 691706248 646250608 971205966 163663026 227179862 33505886 577742860 256259272 714094048 484108988 461776648 772349072 204678848 722203954 121506430 121224606 729626094 182948744 673399522 984307650 657735994 314569440 857369136 850062712 653921286 730109692 91902424 677069426 793781692 737185596 204363274 796504490 753981828 67570258 928682388 227351414 723417666 741549782 141203566 210485208 299209352 912165098 574363708 232849168 754927224 852742244 27276980 118824856 953876114 465229360 885776230 128105842 91728210 732759386 742311330 750023464 152177400 142359746 367925950 157767314 901267134 108450770 605395646 492046168 406775456 954040866 524542982 280124834 382853800 788103486 904568184 91343320 203849662 107009144 980808826 991653990 137118206 454440098 10771564 132079156 443283776 425892062 670038284 88237394 771251228 884083404 874585356 166369152 663364530 768305694 503006174 388052986 409928010 663869922 372733496 666406502 285897232 699691022 649930296 47347594 364133574 91016362 892982150 471011324 162750536 387898184 572465480 192144786 474985552 653912332 115486926 233917196 369440968 524261548 964836788 120929796 37285652 787680166 52272128 78842170 804001706 144238928 675669832 178121400 987513364 254822856 790315936 786382502 825873398 883649150 911439086 287736358 782453450 604164268 453222534 205276180 576194066 712126050 197730338 943271380 883096088 115324672 454424508 521588826 188286126 411550522 40739036 229610248 906929552 957957760 885923494 291585292 231046608 41731170 785442406 623508766 620910238 418498548 902880058 244412452 419212042 77171756 358825230 571365084 189905672 37720662 761097462 418139486 15710108 671879712 251094918 375517860 870459238 384674864 276244492 670764608 217373324 63613264 785952882 610497256 862175310 651897922 199556630 739284484 199038434 464095510 140064386 265504700 202247110 238782084 830718956 646373218 856911238 681205402 520167544 298471280 172395294 672393614 914143684 784958462 207598380 757138894 387686966 448972818 375032252 146660488 932411324 60361698 70671754 40698928 740509274 407197624 296376496 991725244 898457962 128485092 430391576 335081306 907333376 285702086 782188662 396063502 455324826 834189002 237870750 558004380 74791084 269016548 782022556 97260788 697797308 569743006 656847494 716729528 542045358 15263706 287641496 86815908 351048464 140222564 937747810 738422904 577325762 160756712 780980920 413832444 708164206 366724294 841667170 65611968 183810622 979695428 607785014 677032844 394066402 116749084 264387974 631943894 316058228 548104830 39314690 8536524 7160684 484855314 227144288 472225468 432123142 987730224 324766288 964052218 778346370 586609992 728810920 397666102 147129546 555608850 849984166 309305408 833821920 43635926 692609152 163577760 861187146 224091216 202449868 862183674 245097558 987563728 474357084 720664800 561332748 149615298 295623484 581115774 852015888 719660358 900887714 790778124 751379050 697300228 828524650 286372370 642824816 805980678 487896556 478535956 564925536 47132122 867337774 952898662 753954136 853530320 281162738 763038658 688437652 13367704 899643050 308270836 503061212 888736992 7897874 975675410 903940580 151474600 689488790 206273712 976024724 995564660 389867296 909264538 523580434 347644892 672220226 400974980 318492676 787621360 737439118 150315906 20264576 647185194 274159818 740047636 40031316 839750340 825363334 499654300 300492024 929249976 593779352 138088872 323363796 297007636 626922584 487758716 397396388 445086632 785100578 143462032 686331632 234657594 287778520 768476466 468211374 607803400 606488296 358485262 4580142 270019714 705033122 878058688 111471548 972468034 581226696 482135174 761924364 683250296 335859544 662584508 758345430 285068240 293568904 452450834 8155930 605939708 641976138 106970474 368723784 118335894 638254874 799980922 10006636 796984062 108530568 986266360 749871082 576276674 399497510 957190538 61069268 726917468 904754862 289838134 831324156 343928868 868131680 470187212 888763642 284938614 296181034 714639468 459512046 145481048 791929944 813908256 674411640 308742666 771591602 887835046 15111972 272908092 568816738 775276884 960194854 695346084 215118156 764761096 357057990 595201650 766477924 664150738 653771342 665588264 89953096 307408770 892634474 69779726 749836994 121231138 521075374 87019834 760999082 812565258 989327394 909474150 697285432 283319404 197936688 889108524 819276378 286645822 546013344 812900232 871396428 184389030 330456314 698574542 70561544 387645674 29072660 479498194 275267892 269026356 168759538 586409576 45109020 252300366 349730626 630087390 452391000 717110064 684142152 854864330 672197348 342663952 217823900 759806960 493883360 960448806 370415270 495093442 232102778 409227934 183312888 49508934 188487516 272523664 686944950 550789422 158131808 13304610 461485264 247953382 972983222 722098926 442922244 809423746 44887616 879698344 253107656 427317832 79661248 208958618 937441682 15914198 459789074 15543836 901179208 765961194 891151414 246273030 530132158 69381544 872379436 815737182 643506370 520309634 574328870 760252394 599294986 813806290 780545080 308200512 645468606 407154006 412459784 294359630 711450748 272188516 933657304 335922154 950757200 54017196 334355816 747572822 18807174 360556896 432160584 829368782 811354818 210597708 2235106 826992608 499563768 770634600 801979418 750858882 3868840 142199128 137825372 653425860 235569054 336250534 521576234 656633484 816588210 844876198 658318924 152570520 290138358 226525062 374002954 803992090 512351450 819712664 330332704 696330268 798134590 244936270 587526804 965081410 87690394 828600000 226407436 887791624 755394738 893217526 534061810 363130810 945790052 48238658 257703964 160742558 799494978 510487886 705756458 633908320 52906676 569951620 192514386 89629902 726583042 681088736 638585854 362234526 596661666 612986716 245730318 771152454 540052814 758771152 329056182 104932236 447538436 179399364 807003326 478339878 232692024 938040124 80943000 147774350 833575270 578291126 14896026 703189626 737100306 417441216 883832708 711927224 960814526 353709112 258384372 785763412 471746030 808947414 942330688 149798540 947820898 476340248 894340162 652006128 901405236 590763678 927328292 983434320 292192528 901488304 974694578 411172298 323698828 99881454 95933868 931362616 771358858 61078564 692675214 899502522 680793682 883410028 395483896 54560516 744267444 875447626 413012628 905180462 243786742 473242256 286977182 284234664 975666762 177003170 860881492 318204772 319003522 240192236 60048188 76371394 110767178 593684224 101911502 979793004 738888270 884391848 953974120 957277860 254275796 15357676 910952832 301635296 980296836 478365060 517377632 747377068 72851026 151245582 46691080 118422566 631730542 823281840 819206752 544867380 126920546 430705664 260889766 642346066 844803864 772435358 228635722 770262264 416997368 781983184 765121822 377004538 472994248 792850392 398220118 815593978 433819658 374805770 529928434 182787142 2005746 13502286 494925336 838681132 890152726 339353204 479347212 398546824 538205794 120967838 397035756 130162490 257085616 746459294 825935094 168441838 347238932 320318320 102600746 237790774 530420734 958940986 353092046 994299946 442421532 897486536 451550514 394532992 994751634 643328016 698617276 557854480 215000196 572300568 310942704 130602214 147825720 945358320 409437982 306433532 10943074 442001714 259134376 797033292 313402710 312925578 854120448 83157826 317818954 846189628 363761706 589706314 686493708 263451200 194963236 695179826 431618804 363932260 718885574 942254528 389789406 163717704 407993006 59319386 154512276 80738386 430329076 994394376 195248858 570699136 515127818 486496704 600328244 706025378 665976504 945183324 612063100 886971414 812572020 744089638 305024540 533383208 425829210 587948464 464587882 256583062 260562174 864690406 56880166 864238344 614656912 463234726 310909426 207166616 815579564 613433144 663959396 739186332 303090764 882783770 726222824 391800532 501763718 263767854 186443018 496629610 650154720 363911034 310625554 980218648 152426488 747197764 703343892 899386760 688419264 970864104 108644476 570690386 328063576 930500628 952144862 44540922 750310792 797619580 956798860 88537274 46353956 734816656 687190128 266232440 207893564 608067426 548026378 851707282 939802034 608645454 597483310 547428412 460097056 338204316 431187574 230327580 560229510 628400122 965616014 108401834 465081224 378964334 527541428 804051204 677748628 995822238 403729480 534564978 484565318 936607792 304630822 483704788 230262394 748804266 492953346 503891278 529348570 109044186 96295310 582048816 86546050 139585436 827207358 4895892 71539228 949728 330437658 208150226 805686068 821706606 407537856 818875034 575297664 686694210 569879566 834083994 702495662 522792200 3072616 649945728 757930096 206916688 936781796 461739074 515755358 936844050 276534320 759718470 120930568 956944982 276157438 72920622 166901232 15771906 854975086 792034896 36848142 230582644 202876722 424816772 778332718 893282726 849730742 410874132 807077372 676241690 879337504 293275356 173909420 215246798 176354506 410378690 55393540 288078038 920105374 883242762 368169040 945263480 153756936 736901232 872017476 681629274 547388344 15654934 355324174 253093836 804222696 364369330 617097852 996743860 55620988 347333192 857331692 672900760 393672380 48345502 566418756 877661968 825189308 336235972 203903594 476366530 238660528 182967528 929750274 287019570 88583372 390853048 103210198 704932196 622337006 304002142 741739420 115209980 552914074 937845118 424962878 136765596 190131318 80165384 624840442 223072732 270596942 133791134 263523308 889422214 849037030 746278852 205901898 133385938 430322088 34632216 604931388 105028388 607636736 527057534 367217282 466191082 56600464 592853338 858362236 234623138 319135700 205594034 65152890 58330498 622678828 155708810 832624278 916699918 176390800 81507464 551723334 233246928 816092994 89700058 982203700 427332586 759481536 538661192 535963122 45843026 566806854 341675216 555575002 724875590 22052636 76426214 725869294 967054088 317267448 702583244 878610014 459708206 865097038 474630046 834849864 283709070 766344762 465991848 71921484 673968166 893437104 344367422 415718822 333523188 866417962 883247304 316798244 185867372 569120210 683246436 958731866 473494872 925596502 995407070 206442288 930321680 503508758 145274012 752257032 375902612 900416100 895366840 284130948 873185092 469113312 728554452 811792840 581812070 207828796 605176012 185870584 855961922 532910762 107934702 676109092 50332714 341938104 278278644 791981440 879029210 282019798 900078108 792299456 996605990 528060772 575781182 415741036 86099224 463021054 246217812 587733442 572436418 17082694 928264804 827152674 229289356 716083010 743978054 938830902 731635282 579623422 976239994 341587472 59763228 60489726 343397524 911587070 335519596 737179968 959150790 279721072 939072176 648332228 28004732 319372004 906432860 342498388 659896442 43983396 644486544 379840650 34268310 302927774 528142690 329189264 349896528 168582726 838230180 1647548 779270206 558741276 13322174 77937238 173664002 99312528 560753562 172158998 198742976 674173962 49602310 349675202 754773422 9604612 877878356 161776200 313258738 903094808 102811786 210196084 54488140 875981982 808761562 142693060 423404672 158113768 549464732 826588010 857233014 71412766 974820674 758889724 148963456 507635858 738210652 391962562 425208944 77020814 128747148 334018844 230789396 456489794 728371588 397233096 408676072 826790326 565066588 113862970 568628532 27058676 239371432 242485100 350487000 840797652 205708304 950147542 240798290 282695908 709892582 245942668 536088112 674983550 613948142 220045846 164855352 819876302 768003960 292927102 531445090 498189122 600374272 159360350 77817940 861635038 623323464 426925346 384338190 175852508 673042992 146455528 532022194 597546164 605650778 518968714 370236334 455779386 334344478 445505906 644152338 979351954 23146930 559459296 432637650 129123702 100069654 664955966 74610168 213982058 998949132 795922450 340294332 529430812 458465810 860903716 283904288 202076174 691900704 407971362 501255120 990347556 783887060 544837126 997064382 92838378 675824426 708222324 522524030 425908322 505575160 556104378 578492424 592034994 969371008 279695338 978238536 594444130 968450242 430536060 13601236 165930460 964097914 117340762 272034782 242786904 373767424 404230252 967091530 715395586 117976032 206519908 440087176 104288494 621769912 360547222 996249496 332990108 635540752 993852438 254258352 745663110 240864158 711292432 838226370 33759522 574213234 599876436 563312616 124236868 660526782 909374266 176073550 410534702 490801828 996914620 989182182 284524194 185742914 225073886 854260224 466036000 400966712 389364718 216420306 882939710 526131418 441490758 488710092 482030488 682887186 647234498 172939048 638444532 979326812 870250450 714544614 632851684 568728046 204966120 757909288 864296562 834113678 567849624 712200478 356918480 836028118 339189622 107916344 903223226 707247660 694529326 955853880 837114860 904892932 132637284 784204364 458880922 609341810 920481220 192278192 837395968 601096650 242741578 950078944 910388818 774488378 51744728 406477898 785818992 525338098 581111334 657757898 520295250 910221996 140067458 546060558 929390604 67206428 504895128 722950356 793986984 906952978 459041258 942923582 241559008 6465922 297399018 1159178 599550710 89638478 723890090 661661248 183222844 627695640 467814930 371596294 471080314 304235702 638009608 148347838 950122758 118702226 30427090 968735492 546863332 913642296 667729912 470127300 257474110 281218688 906548552 649918116 696805618 769389136 155466520 323926200 727991396 729914238 11942622 34779718 502575964 707558896 851745528 50518666 638753750 994447606 666678068 725474456 693917412 613443882 360436182 938882694 814903648 952536888 995911912 539341016 649821366 590040526 290558576 305420534 753529652 31114102 744748538 737611246 323855150 226931736 911274662 126721822 389006904 579107802 639593788 564490950 643657582 267321796 136235842 92858558 171841560 870673744 461891522 409325806 675959932 356488834 84088542 530479096 45994092 947661706 212327390 787337636 161682880 9792076 262319244 447741994 837641646 176714032 182973316 436758042 80851878 15386074 259137210 310026816 522136636 777788718 161485508 578060560 639790760 52989358 500056360 409180580 464919782 241183004 421056574 489274046 896382060 39895186 221021754 754805020 998032224 802529850 129402810 442765266 307137372 934931678 177249646 858697970 750188460 640396298 541901524 608093720 371653384 520789552 847666530 517490004 588471914 858123166 831073566 582400366 44459030 348096576 747675988 290439594 592905736 917483720 711133074 943321030 421534120 176986936 999036230 854236084 944296350 207956966 359291714 478749578 837324454 763068064 938121960 923711082 500372108 752949440 378015328 251350726 619793908 104034954 349452486 99322118 92792252 916402154 100393228 544991246 816259082 36141324 755793232 806755392 134837052 553902476 142445514 649952314 569948130 679735478 160561420 81429040 742950592 671848664 391040200 543322284 60662034 398500542 423405050 320053272 340801818 897962584 721695570 240666298 323231352 504844380 588419314 278218122 641062492 605106176 423774840 610945182 504502370 205397712 536479306 16911684 665353014 832112312 919196080 368544712 529829664 737345780 904434796 574824358 634478202 293194952 790283392 894688804 871715900 860824918 233777366 256347816 632933694 734690044 8718748 753391800 34202254 993075930 430298386 874993616 274400530 796306662 585519332 796670142 561816456 434025990 975888392 265581598 980403396 979324332 740934236 348575596 574411580 380837074 799511822 580917420 19905610 889072630 696893570 302087466 205469286 813875526 389958292 472509280 339218168 454127602 645327524 231237806 852609346 768238994 467156638 838704258 289825642 150830766 255853766 378446740 133057198 480069886 721990186 311830612 283776990 694044588 445279330 535767960 374493074 35237606 459297764 349418944 789196810 937768422 675678716 101952866 74839012 882483550 59563220 384560300 741433510 918787096 139254768 633672860 451744840 678983718 616021720 654224096 569767566 395443172 735224830 798141444 865837358 750894390 532872596 755571124 726680562 440622112 89732314 751576478 310572590 487678102 273323734 515737540 592632832 984523748 784307406 401049994 546988818 578692414 391029766 641743074 68928170 602808588 745790130 199541516 887642060 282535716 570849566 216633512 277731228 308628888 1315866 352548180 819750564 153394462 337790904 534450380 89516760 824657628 778726232 136081370 256519754 292480378 919473186 219783704 550696352 757390504 417454762 626376952 103049040 749839124 180915372 238573068 837557998 878841106 287611850 647771438 243308504 136556264 855573204 232244938 117821000 796154038 155253336 259312896 437111278 802275558 195062918 653163912 275594784 40939606 407451316 244384416 71848238 899462176 485765504 495004982 718696350 913056440 585265650 758968196 726408286 715307992 780486228 913833090 894546594 593957718 87929070 570606426 909210344 224868054 47654920 930685470 411895692 423008926 666056952 635444858 202324734 245470716 153591054 605586816 536974590 73442414 776565140 791777762 139721596 91788848 954107328 137335960 165037748 80622180 981144210 326625704 51894812 633615916 203749374 650940598 557895472 338972398 180721178 72954070 129216284 701061168 444915432 266395526 810838574 330851406 873725724 852994878 489637272 413357770 831361234 12079862 53361550 404127640 625187416 728388142 365486780 259290372 734506244 806573728 917990192 473425676 385300662 400973436 546075520 299085502 297000856 456338042 209498628 206589006 943699178 895836170 544041304 296654942 164586386 396056610 185290528 208590486 843280530 429704712 757655276 616344964 632244740 302486042 524241702 851423072 342097380 120440544 26456144 921497024 567534078 156777116 559719596 568622150 826642102 199780962 961390158 90218380 750662582 111808144 116494660 722731518 865132612 509576138 719626622 827955150 445942438 706773390 694293812 718768250 194825534 535979346 79037448 439302562 982322546 936818682 750141108 436557490 527595708 643614400 559902636 97735606 437936852 597561550 170692230 660035010 543490886 858280398 970290064 375960782 84502610 288756922 353450652 727682670 685749474 406378086 491056394 650084182 576037154 874789492 869270406 154273326 747052418 431696676 229901170 243315138 708992526 248469372 413276906 395356236 177928734 146249206 61749942 297110046 878516902 305696554 605648198 518077946 715752174 884383884 792688950 38541540 933442510 732346160 270528476 721938216 937731662 269046 688370764 962217192 799833570 889210914 294352180 816760540 287744348 499369022 684365794 246535022 641490866 927855306 485500048 334329666 453500784 241573856 682066158 548517044 480230060 15559710 177140248 591513994 267514888 693251736 643679830 316284258 383869514 588408730 382905606 819424332 978824434 755278778 897100580 461139348 460666346 167601400 530147852 67959856 287848928 974894346 903486070 85492066 880114850 808747660 182262956 542649684 398447392 530831664 514161492 614854190 204714342 793401422 516983208 866904686 989626822 55957310 560512858 501855854 193647002 578934470 257653382 804182186 847295944 644647484 938414336 797776042 632213902 136877384 952190596 175040986 873603198 384230566 902166146 680636892 148984230 35954828 556984110 795052362 138570864 199968372 933202372 967666028 322016402 349842666 349706168 649563190 947700124 653712996 253825036 973594538 656709832 706287838 10656314 936479184 133741368 428205704 79304712 897492886 918879966 677972688 659235068 46542178 248758982 532918084 605983834 321788388 19395696 117287930 715880976 942556852 219423256 341630304 737257112 159469612 293396992 176242856 46997592 817598930 758074432 147138804 298815136 946450006 970180980 452539556 366806950 989835696 445634894 639865232 85106234 543803516 300398018 31030950 776555998 790075148 533290900 541335276 874622254 663489966 369790770 812501702 368560252 730837936 777760746 301414422 694354394 212924610 858257516 365552222 416627430 455764580 690869526 276648630 841461224 628395014 44181260 665918166 367463522 267674638 426239998 591028498 65484716 9861802 311609088 812441024 487234882 801439680 51620812 150185144 211295972 948061942 900957892 551551048 242377860 296259688 713133368 311642674 280016156 363637830 997941566 652484422 723837188 625262564 270829880 129151932 794154248 850469890 322785682 380745406 836251538 624878268 124476198 943555432 494191872 122803784 58288872 847950658 8483212 469434712 408074610 849852072 946394016 288617490 650785912 268746302 214317232 697172296 227724380 666389382 976556024 56831818 235293760 688208636 54726724 21437834 546870558 720584152 48760126 355101074 802277556 124693678 516244660 666671690 492369486 730736728 612226278 943202152 210503692 452661158 781046564 372179456 499042184 140020194 464761884 321838242 132163840 323082518 593442334 618390098 186455792 925532378 668437648 115684690 721450914 845867362 519878228 438631526 605059884 396609322 371488434 842763620 825623658 50497606 667673260 853269674 210852792 741744920 350808790 895205058 873425402 68801894 802901596 927138880 825183010 834440708 680608206 971040436 163698460 225188222 397788146 694044020 312559226 662151110 130088914 479227418 539859558 933909052 573968690 281351532 356021196 228728628 160020816 718327394 706132858 530287256 457053276 606752812 2888528 553348182 462666960 687511226 725699572 675537978 923772682 951641916 308246972 620731216 256140174 553374198 715766474 822707888 619249804 679004576 720998048 411951888 566272468 80930020 441975238 356885686 521668798 741466486 661695882 204444700 987287782 52535598 938549296 668789916 537330882 865366164 860687874 456333746 74531482 204082086 488841550 704903214 698778718 382891736 386459732 229632100 210471136 40232998 443145100 439680782 390588650 725866010 855266904 443001760 182989976 453181852 592014524 245403410 945045864 469587694 767465352 26882956 299623620 975165128 395081736 875911526 836336196 354794704 521138668 162340304 583765778 765197488 877088854 252080694 329763948 805720890 673226150 913225842 596283668 179922868 405980612 583967206 934941224 679358948 704849752 200403120 276106854 303018944 785382408 480825242 292552766 886264056 729678986 335625000 607357352 849137406 157100458 386491070 557733882 186236308 673366828 454216950 13429352 768313812 292534774 307299846 437948692 334906928 383678936 928063568 510155994 867956296 970803938 349586592 589907088 486751514 527293146 694537336 817726452 300932168 634158812 114975350 238540016 795900482 970181814 78700694 792560096 27875820 921704950 431463172 923608554 81808898 142316654 370811810 14019928 839235260 935192118 854138666 318546382 392781536 429928640 261144396 775777656 159837006 281645202 551773020 796644232 268618426 613918502 862649354 347381698 360601512 471655850 28550692 467583856 805743266 403661498 329908770 205534750 231037568 982620904 183147832 820135602 222477444 980188422 995519820 256071736 981910510 927850054 276831324 281597088 6070210 277335550 724728396 103476052 996633624 663122034 881553244 466131456 622035584 250738134 619104674 527740158 583143770 430697812 422904058 323168026 115209084 432910510 255202174 489835240 933486108 105806826 307903244 127736502 45831842 717909522 491871258 714785478 207560242 599454464 208716364 582287090 552832288 370922968 996186092 534589360 211211868 25757242 788854258 167790834 399501576 510648696 813461176 886595570 56796630 363648350 790231902 664674548 197829598 915961736 346626688 16742856 541495932 846243698 904862910 358103064 254225278 37860080 848305172 917614420 90080518 204358046 391290096 151606012 629577386 72645168 37108868 389870806 306499852 889670832 529290836 513313976 174437598 582732246 272079540 725758746 553406306 187837622 861291052 20232186 375854206 477314764 24509174 528051578 99783060 842253570 23731454 194891092 910639124 779678000 98085788 494531500 463645090 84804976 763591508 20405746 447113562 835852694 655202248 361259700 998963222 757134624 64836992 981087416 13556342 689533292 122486108 702837710 808161818 130470890 737891890 426143344 74565388 735936752 7491070 971963238 778902066 614433358 701810912 293049954 341708748 319043042 136154694 335659582 128818912 282974490 225060392 236479426 689017176 510945338 723869252 43667704 606462944 180038610 569225112 214834876 166005476 751668574 687877160 310405372 797370656 514790164 459124822 917719164 813499432 199870730 507015954 102098500 371738242 941553438 14851620 69370250 121610012 290594024 99258626 104046100 311317694 747239890 356537248 141514206 490863066 602927458 774772776 469578332 208146216 731026722 486150892 909110132 432223756 92471852 793917896 284463064 807654724 436799988 758645090 401469494 469408382 296803358 669441786 396482040 81669530 269083912 272195910 543493772 714219800 162052050 788206190 586538490 89962982 562721884 435069384 869458256 730511586 555309152 789789674 120883392 286346182 204964160 359553868 739554292 796204944 574320482 255546012 655978942 69005800 635103058 365846052 204911508 897001782 441989824 112703024 174409398 665872858 578248596 600100078 396192278 66594984 592940626 791318270 842361756 172915838 157276852 687965868 426040452 948365254 939770742 6205436 970327088 380212234 684174420 275406550 742128006 454273312 182384520 192417258 957730504 119974520 684897910 26103224 273641082 882810332 123607234 13143086 973459784 308670068 518486830 387316076 468202892 292813316 219247208 11797320 885157168 255647116 315229976 952323836 939377312 475350464 590863840 531163732 627343376 372329922 685121014 516584402 534632396 92067790 623710344 485039900 707660174 388034186 451196542 363307030 933773710 270094348 942104326 379217228 54676544 462559310 708324652 747517754 502542776 596521726 582420086 322138850 882157532 185484724 328577908 284363238 818394786 811201774 431478742 708220562 758312396 190313508 818037782 226204570 685200742 988074120 229027808 118795438 979914914 315927020 201826034 720508352 518739114 917166044 853672308 787233138 325740216 715008366 256150208 995551674 935192138 26855970 91534462 679070642 860071648 159372542 747178714 276778580 985871324 219972528 743640368 519161514 302966568 611281746 170359376 647971806 98218704 373699028 326096346 881009762 548121226 9918796 347721908 213061036 701998916 526304956 665528248 865592142 532278858 545812082 607245174 423733504 461998344 776197282 798901302 663891888 641300322 666868072 227679604 446524072 161943262 998434708 20456858 213515132 337475496 840460776 731696752 940811270 784234828 319982178 853852442 823775614 375428690 543649604 317087012 781899726 744444972 680982332 682898670 359599128 712002210 60468698 7096674 427006940 478267052 96303416 984931100 95339674 580489958 115530632 459117448 517308358 382129670 308338354 633604922 293752194 679165644 644729232 998817264 713113554 675603998 507464986 433480826 596826640 376294714 584636714 714396822 29862168 809553168 898420098 570594032 913790756 841945678 804416856 802852372 912949074 599798026 850107200 251800782 407622792 110341010 932036424 92842574 853247938 261179906 324499664 895816784 305010452 541160872 385060866 766911202 745360134 584913734 911281564 425390374 122992146 581646694 101638096 984020022 875642184 460635764 177847776 403505076 873786144 16540052 720055494 156486398 343839292 481872558 814067240 549051962 103076852 254518008 814452330 251501264 877456790 697520290 367241376 936809900 596650334 566825338 746556880 10636340 980302088 34003610 731238910 199812388 909319354 624602272 870259582 931326928 420781090 673720260 697781646 736621674 643079768 780985334 737337300 212253528 600504342 638376286 995311636 499818734 663253122 215138410 401533782 838355850 586695860 518591906 813732090 327133342 230197502 50492896 521034534 182229078 635993102 775844966 124870104 364999140 347319786 515223954 44807474 61428654 364777920 610866218 778805714 115650804 155822804 85676910 713224696 893529066 636073678 335543274 786882524 592919176 262438932 409820342 590795430 28703324 375569412 20897964 800703410 151530630 637879930 804875260 200964604 546388722 957125438 834098664 330759678 302875334 399299894 323672464 531988728 479681816 62690588 62767354 181526034 792339530 224969468 740475062 436807364 537207998 690916380 685049334 456102454 476320062 417881232 344153236 773356408 581560108 248899590 994737886 411853744 700676958 135975000 191181656 297208984 267850280 821218360 53569944 386126900 733129354 907254004 410895056 834640120 349229448 389897944 535938496 841520172 971549818 333116426 272351946 779296554 723307924 617327160 735189216 282255044 22050804 977277502 411996790 693983334 6199288 485711402 503097436 540776814 901915766 74408044 892425694 193823424 136676304 781801694 931321798 256703758 645554136 489733288 835714404 74920514 902900132 782137040 548211538 559793054 533134126 484815794 335886774 503803460 813172976 822586746 136340660 88725700 566976508 317253546 340322326 354772296 610876118 140776978 641329572 45602392 783164478 426950044 39740266 663228250 892578466 102233530 930381072 547765610 725949574 228041022 438410754 550380324 661906164 878715586 119435174 807711226 542553376 142426752 180505228 996621572 246021710 201146376 69836238 567104092 791290098 703968790 454362746 298091738 805460144 419430836 938742272 848673590 526348758 6613062 209327980 243054864 715554576 702104592 571717098 842453564 255700334 804038252 627207098 145467402 173772180 181058978 624142378 104172490 568655866 258027016 462393476 851267534 276678066 724502348 858641800 559470878 579889084 565766810 837472118 39131568 90603246 352430774 381238638 882743238 157045774 845309596 838529698 435352358 515353130 621363118 471883322 807400584 686878360 546348254 837059690 856927372 774515686 485384428 507987666 556996996 8457334 68981668 656951962 660830976 267660620 353722686 336962838 248499242 74184278 410952154 664166470 982554992 58096802 883113438 113669608 989030138 600283144 455116330 290665822 679921254 505200340 280005418 496063442 357737258 855106884 719456244 991261810 983759914 820315054 753880276 607359538 937821948 860853544 292159956 977915952 966212462 19212856 418783360 502603282 21029658 551040466 911925082 752484862 249643090 838067418 47005838 111382210 497124400 100399606 905658540 472725820 73469924 269715098 551793200 414222786 894624872 460561642 332581102 274104416 308350598 458336608 731708006 732400746 412008478 772658010 939161960 500639630 666983102 427683446 346767062 783553274 627502326 408788236 399517040 81358084 200351176 873596564 681678602 310201558 851167142 112444666 938267710 494602798 437049614 446426464 953959352 560999036 338354220 39898178 304275442 241388046 62783598 104068718 824734156 271602534 540873662 860860756 258587432 885877482 967257786 492769096 993237184 528042642 705451340 984513220 394683238 325405826 652954890 104957044 202844712 824139354 448527150 202089462 946586748 666179310 776439556 144196554 137543264 770012032 166351622 8028568 433602652 571331672 107608840 350337736 339230020 375500038 851969962 776229926 9290098 581970522 703464774 272471810 249540904 722874426 678071826 33807288 460211872 212094000 822724564 890754848 371092328 106045016 840445260 614822906 86852864 187231030 762012076 684295486 517831096 998897472 990344020 557969984 70997610 218858942 720650186 334757664 326840488 335529014 527447100 31831204 34261494 890802218 844712572 422812826 317303582 44837816 486158496 734479612 892628088 227754570 151163762 277933562 794013008 954775832 792260624 831594026 363615376 113843448 248091216 911033820 361178344 526575964 217062708 786295378 45669388 87604916 694776528 539445600 819825088 976165602 608040450 766448434 209587802 113105146 520378556 648623208 309179242 186540168 749632020 841426456 705226214 764204522 365579334 734400406 901378916 298545780 284528032 337535176 248373182 258853878 42571500 104060148 950599106 868040350 272222584 331532812 544906332 651147278 451007422 241561436 127772622 44523600 10502232 257430936 292304202 901492660 502911962 43730724 569213266 480190674 611455964 41434112 48097166 883739238 608500922 260913234 111378344 373318324 891302216 392330622 965403560 11162014 687141838 499531836 751490748 440663690 204346310 887929734 780613492 831363490 454342242 102484978 15962600 387767958 133008732 819625042 965546948 449539890 535603472 214775060 58866624 444981980 160028458 136623826 709016534 996712544 262596208 667772894 911489438 885551502 719603768 172054162 588355880 153081900 57775596 787888610 726423276 687430956 505230808 186026872 363867072 542853840 908153862 739251330 986609972 314136912 122445508 145488758 899623962 867151154 486902830 562421168 839683908 213440738 240336036 758722448 63849150 67264584 227196542 370746114 737056040 67601108 296641980 730147452 27409446 480125426 888818618 361052768 919575964 122643290 794767468 909935278 140580540 819058654 457093546 640119442 792535316 248311724 644213890 530414732 288228366 323188708 982557312 848002966 915251248 521637694 102082846 578988556 112586152 479417658 247378882 819051936 920838386 169535054 706713854 14174024 964145804 510563850 191245382 592798600 365920006 283927056 304005954 348840900 908233640 435583468 210553942 51971594 738651318 250556196 765932012 212614 148351812 219219150 90890420 586715044 271035888 833263322 11317418 838155210 818063140 633211648 83284912 20948 674607564 339126020 125241134 103446022 934901862 226106966 412549918 763749122 283153620 89714272 693391384 860441896 926657094 885064624 669217538 286289476 87842518 632500014 735887872 815174402 389553062 805952930 599660572 526394480 913777194 401916660 841682308 334806494 187865560 251534362 896082536 39814372 639371338 736363502 324054312 106976486 66115126 404162310 589948774 694931302 796556828 490486758 671923032 287798370 174640002 64197366 728861828 854313748 176029956 340183376 605875072 537999338 795813264 898379184 929171276 792952504 970299774 399639588 986221842 148565450 402508508 869050428 643022520 447218016 551588460 356566870 220899596 824547448 909916740 555947450 543035004 981871072 60941776 422743794 639980928 707751476 741912810 331691458 36630986 974641138 158131506 355114090 281522452 926172838 169561188 817086644 299829340 338487200 643814454 152522282 238385386 639211152 658499380 105684636 994361062 591955658 119785918 804816836 560133478 809061506 416225552 241185282 44545008 178496754 68597524 146960062 264710228 200958980 785573750 52965000 797407920 458529976 436412724 612461200 936685436 510923890 383513288 897048046 726251094 742446644 970556830 60793122 387871000 970339586 726240910 445304462 965165230 505070584 70169526 880225768 288913088 957625130 733484100 471067330 817673384 252783658 161647922 924904890 938519938 569645240 566792022 544027696 672058322 53097998 450805466 882162270 838038172 520273096 616706278 674607160 590427362 210089806 580749122 670024844 84064828 319019042 198700548 66374960 851893368 133595426 157242094 359015726 448429098 488132298 857965214 930941708 237800856 687567484 370957484 748007762 615332570 561476510 672287430 637926478 888171598 530342864 782377316 294615512 329741634 962156752 237792464 968633912 206106440 595199286 819435812 957515504 182030734 379793150 220536142 536967318 37517136 660883498 843122960 622563108 480111284 716769650 937164708 464272494 987634562 878725428 989556740 547732584 185992840 402983046 722548192 955604140 219884920 405548334 987424558 770041278 743219724 389941432 304031534 663998628 591486114 225225610 525009372 835311818 482960042 569877632 179593798 395559724 307498200 818158222 571125418 151307010 995965736 760629606 157950700 249459378 394738892 729728924 119992498 533535648 577476558 322105348 279440426 79843448 361583400 265147516 271218368 906277340 320759932 55532836 920448176 823396288 268251490 84211340 722416642 197747384 420241772 372951958 802324586 633413650 902670328 378161060 530844154 597716266 269108290 769055248 711969664 665287276 402639878 43272128 587833772 254039798 878445334 603076110 370098092 104284204 350552606 426155512 699400092 517440864 506779646 525690280 635805280 16981028 606637718 247527818 831407784 648109578 203425144 483288596 643661396 476995728 611572528 716554932 999623520 142008990 563367232 183424976 956256268 739622544 721934188 622085324 344009864 327493894 445008066 25876432 539544672 169470500 434418100 706861140 623967400 273963618 568567942 778255990 856547128 54794108 580693502 253315082 607502708 592046078 949212238 427703120 13306958 861707452 226843900 489900062 537368218 690203216 77656474 450641540 680914344 973182202 665298660 924106588 163590048 623842680 72143942 925576432 536888432 327831878 357703064 708957258 414035434 195385654 548055262 6985368 221020822 978411790 797379706 780790736 653098910 433854616 391509364 422607704 853924268 233964920 633098130 515115428 643975648 387953856 12619010 800772552 662228216 536282176 265836206 873541544 620492368 117591948 257581348 920961146 104400936 382005496 455005354 540270224 857977190 371386592 811986442 720140970 256450126 695084102 835214868 995208672 597280636 5198238 393909938 666891908 406559358 274782532 460751460 528450668 22037444 351074444 177013444 609447650 871370162 778736376 287495906 228959294 832131634 973683148 816049338 647479724 374542596 767381182 496820636 81420292 957930062 976623066 330665772 413415842 882969902 28356218 10414574 590365036 648607096 912689122 332770494 769252948 3063774 195592088 768290420 672446044 602656822 276153286 45710890 719565314 444129752 420052342 170102328 297572972 13322284 20962294 253040966 788146250 435397630 460992344 745768440 982521586 79404308 831548622 824617242 199488566 285326206 948694452 570524756 214553016 884806062 933840770 728495296 600341972 444441598 711680518 744062072 660511062 619634334 817889388 298190654 77660558 985816538 605490574 993907304 398020920 1470744 103107754 65194604 951501132 400724256 806597506 108878144 693093724 531063334 434815066 523379792 281419514 291827092 218500932 886096412 35112572 710876834 395320934 843338594 20275294 812929792 767732194 329568216 590859818 641837826 565999640 534362584 643181646 997507048 76602342 314734840 802478718 58238346 56849790 311490380 261777426 85274054 726430078 902551378 412893478 457654816 493423236 985776132 220102800 395242830 991124562 526101102 388028796 102915550 601666874 562543250 851676364 280068444 287623110 118688714 297511446 809693524 619987866 472982154 924474618 851878144 950640606 60642048 870371028 322654938 286541912 36621158 153188246 168943464 794039972 421466002 204916416 242286450 766608566 544837848 986856586 870891434 484450876 993088018 989295812 803258902 759698568 150260414 411847874 666833128 444029502 450014644 334864154 321395732 48196142 729124238 626610784 46137392 974771794 974562544 905299638 673849282 610473444 949395488 517264632 225278976 838544858 352446652 661246796 765648118 170456542 147732070 636481774 262389870 831860970 535640262 295345436 647399470 578456604 356425666 540599318 707638850 914482676 852231880 991293002 829609276 338074176 91500314 696309784 509019730 312039330 491309562 323612348 995646876 980453084 765112520 43303238 278130128 405785384 670344074 888881640 316642252 895758772 739619092 548368108 558713100 262665920 440703448 16685996 188852684 699876030 332890066 856354632 362712352 681938714 500651332 613804524 357402460 955613806 345800524 625498582 342685330 97850330 853243952 300792668 138173500 887386952 94503292 756111738 246772702 373316948 902705586 943019752 110961258 594208462 101214348 895837874 184695940 573669466 339197390 191255264 712785940 640898812 156914310 215796954 110671206 505559532 359733664 369102576 892382590 760761352 830753250 838409070 393259440 910558996 943502972 955498636 337892552 778003286 419814580 53597648 287835472 185827412 826127334 227409834 699061216 221702018 892565422 909003828 162622162 175601492 573101362 125688556 700674202 215501106 970943320 820776142 846372076 339792362 354637752 511363406 811567482 137128864 353474520 247085038 757491482 577807324 344788722 798519434 240860036 993485536 196382482 9858908 468254878 331940042 101403720 484811046 680078458 759683526 841705906 352759452 170617190 481590684 450425628 115485814 924925184 60187702 898601926 800943198 987067980 724154742 772516726 331817296 211977810 30104162 945054630 820713694 640954584 39609986 687774878 298304406 778695580 589709836 732521024 136708228 291529656 487623870 176230074 39223716 232792900 21495376 588905344 162751272 517815382 804397914 737380314 305283668 999302860 461626040 561771770 774497518 762758054 925665590 405491276 634967988 530847740 109325166 517136238 917489080 88348222 172258928 413902088 896008540 400281788 718706554 797356376 177825126 147031938 703243010 376285782 7899490 710742888 868972098 728216932 293848112 351952824 753535462 637282466 283938900 556642692 169216402 617190702 373941736 747880132 679722054 316142788 221229378 336922838 581052410 683297854 478735224 874460824 17699322 766410952 899506888 340236770 365807740 851807322 431639738 649840056 450771760 702824388 52510576 956368346 937794938 392956148 834069626 998731698 665555444 416141896 879003616 367457936 523490824 655019930 659722830 456613344 676799086 74587934 88590490 235652488 113894582 345647140 376239474 598669526 434117542 754758450 928747198 651086436 838315200 461080338 740823994 339903668 624422080 976448364 904446112 264510610 88740520 683468076 13266924 662568502 463926078 133808184 23685284 899145098 481315580 353953176 869630528 7987664 149938292 35004326 277355292 524392914 914140278 794362838 384826068 571444092 524844174 525047190 109945308 441067918 844822504 144159824 54018170 144866198 890133628 322923042 813706468 306148030 139588010 335696072 80302322 928263750 510126028 631659668 672217580 55193992 570973494 386336440 736243166 651201712 769148176 215331358 365749240 378435924 798589708 632274700 507937660 735530078 883335272 557002714 349715138 566221262 949026020 152594226 564522172 313884786 357715862 773469010 569448988 712499534 925960264 493217584 600899660 249117902 983470488 94621748 113836812 547971332 923919036 351727558 679154544 397969248 441525300 339141022 867058770 175048664 918794566 291023418 985065910 170962526 401471632 5827588 841040264 412259152 914100124 148763630 467361240 735440558 542024470 586176760 876803540 992207612 336089856 737915958 34643108 466164942 339704020 30209308 916727918 412193284 210202798 866343832 782339190 27887146 385794476 171272460 207965930 506185744 992007162 604548686 608686448 707150816 124132502 265469754 997323312 836512640 149955632 372979476 553910912 531661914 756361108 126551460 987010718 121994490 913048602 368276912 905649880 625357646 977902372 861214128 555871032 412566098 869753632 130330552 736525216 62956434 458661596 152002072 210871850 204441986 251157818 637025328 751347302 802516818 921399990 428694432 506611762 72790508 178510686 124319038 157478516 880301464 543272694 706783460 530171068 830136164 25608510 936904908 328971372 413127186 65356376 56041382 249197018 884234008 39156574 856997236 413046788 801525438 167702434 833645176 421229280 436760620 450066454 918364710 818698744 227148466 29846568 512949754 936578006 973505956 780184288 114146982 699965890 64993038 690648818 84802834 60199306 24813256 235816454 114295598 823892140 543845156 136582922 171048844 925514614 809256594 817792002 142945020 580479470 854170278 541781760 852128830 945145850 916807854 462328156 842427632 921301926 747098748 987698714 183397916 742876868 50630860 259640124 567553562 670213932 356786068 767633606 967657194 755666600 252995582 331666282 947609806 52963304 509253340 163874948 340351100 41008152 283942270 981981272 237091538 320375286 15332668 858960364 918671048 526278650 595168306 819579786 933194858 978660836 258785086 53134780 35660388 676692566 325320946 458863106 379443078 396402848 312162656 11494064 184174824 943002972 532305808 227728556 654461192 144240086 241990182 781104066 101338554 860450878 690010886 808297418 235387732 544370994 818858244 58302596 304480098 261031766 235916658 159091478 21430412 893687592 453630464 532534080 992457628 413699926 785488048 182530650 810365330 132187154 314491378 661910916 63258876 983761418 250638522 83006612 607719726 919282710 49348440 527587152 570611478 153390926 229818056 653709854 422213468 234512584 556740538 989827132 525386928 52753198 152681388 759668560 912270916 871460648 950098106 191638196 706666058 715945268 985571280 948129962 201869586 118265628 34349660 981263948 869509736 613492428 517973678 936513114 199284126 583778954 708618844 497424276 780531540 710019474 106164326 529041080 611908514 72341936 635132236 984431960 63293250 425221606 190823160 147360472 581546738 494816932 780828100 548943044 56830920 714445144 589293260 341344526 718204326 519316208 517137872 507926762 50196228 230426938 931994774 831678738 907975374 795333656 354979464 120608264 508793376 265188184 26850394 492689542 420183372 929075332 244091228 419225296 331640296 930974912 402431070 508373026 990477472 922798302 263806782 977761890 797983302 42492076 910457766 105668042 500311746 724992628 733315080 594407974 560993530 216786958 923349676 280706066 1587766 271001260 326985338 650057290 985455092 801645072 606035880 254755446 35373480 141504302 279680742 11386080 451642508 574389524 304565512 805809828 930901222 819137546 715240866 117835228 333217482 140005082 677255564 208621208 903360840 549818562 626426700 603182470 295188310 247126366 282426040 560200908 689966392 679664752 393954492 793524328 137033874 656285862 42111152 132123076 904374084 313950290 22361954 170862626 478621590 5282670 486363578 835210814 846522704 750231890 195643246 560775766 14000022 143804760 750566574 503736400 119780804 49362208 222605766 990992864 163750540 807074638 745548842 785118668 63806988 744817582 722353272 939764464 672932768 437170234 567018338 246979878 705515484 78403626 835450560 522064582 674073498 876194740 924161498 387161952 656390714 912007972 308475032 180682252 593689052 625874972 508869422 697901284 614227216 950639810 575539506 48747068 401548972 495125036 511015286 634118894 357617830 233721792 868527532 770786498 950140024 750376884 883186462 319593442 25851308 824399438 898295004 668991672 174830966 2644638 553743010 4746770 955542520 521342750 426281528 503620370 369725952 514307024 737766260 329307600 726957614 150232194 772952004 643645194 792435162 920774606 987597654 173657620 546345030 847557640 786768346 161044902 693364816 840955312 185223192 862371922 893299254 491919674 29816660 315506832 308904822 633134144 197148206 611007062 860233134 156708840 458665188 417632826 722922564 145431496 279945514 140401512 731495352 982382940 732370680 200013836 806330246 653126546 779617128 973749462 590770566 716842396 830689760 129772004 984820190 823947564 282979806 735892240 126954028 524912596 875527774 984596658 808712834 890239620 321343734 873892922 31075178 524803774 466735160 917428620 364765432 833670556 659653496 698458642 175045920 833281232 34292330 152263264 379386540 112477594 196603904 232240952 463860784 581333584 780952364 733617342 615973788 680619794 757243884 733368054 604174856 28391880 544649836 171407620 532527772 224360310 572530150 601162558 706783934 9639734 630607304 42224608 50019616 351299074 741303732 790286240 56472562 459757714 634859588 941191626 890862942 25764976 988516994 375394658 350296144 342327348 171522438 306055586 303068300 35644296 716513228 232873212 465886234 116551578 124106876 312360504 927560240 398876318 988651840 313776708 876517338 476123776 718841558 999831042 565261612 298769864 397722920 115460902 265585754 985057572 396168112 940169000 758958672 464676008 784835608 440933836 885452012 876270656 940093202 679095206 19214348 822167752 718033706 889600180 171033174 98440372 604813530 431926002 666222782 323293234 222512130 827220288 969352514 556188326 200954140 745025444 533490502 876322392 712826554 211407862 752472238 57325034 744157420 763217754 345609908 630164362 902441650 288219036 808768136 286878692 440473842 773778276 383227552 286824766 925992002 296730078 658107582 38708832 722643722 181723944 374265908 5637022 631293564 690895888 48377558 902023224 940498462 232909670 306465616 181645344 888707636 111781720 858994046 363232280 986285790 234970938 661623996 432532020 43482422 707322210 479377848 584746134 176684710 547334676 48600978 736386110 681461594 311400052 430272640 476338700 735518604 877706434 861435444 188165530 313251180 274196044 430183276 61870088 279002196 52069384 60581342 731631292 441759686 12774388 815092894 665568266 576919594 91254162 741098964 988285860 484743356 326344460 48843404 136897650 282291302 884446808 855593406 242007338 24792594 706926734 723441798 849295272 439785804 740878104 818939484 650271324 923262276 266964212 885507592 95357488 731412878 862259012 669546948 163552062 473962542 231676776 881773412 93224078 724177886 389778482 644644738 722263388 25364740 882795484 970232580 366057024 30855920 165007530 395612354 765273328 875150180 99448764 997009870 989613134 697453360 756974724 710025120 57409422 391461634 177997146 135737642 712254552 335088166 49313010 98932342 763366004 335950336 211173398 461187916 953044232 714879222 322700678 829343992 72933682 707175532 96054290 905800824 117107620 334929480 830503436 218087954 840695086 945405946 359213530 490245640 350615426 776866432 798965676 369156180 693723344 903190574 151469956 584515240 229980706 674310786 103857280 427464058 739264078 49591352 243249208 421853542 859600652 359080900 465010774 467937464 421206528 959843186 947395212 450794076 873633430 453936280 432406954 412419852 530531644 680739624 416324016 105524446 710443954 16036110 249399822 159737136 828244778 777843550 756702144 232950954 354985524 869811082 346205248 943484008 561461354 539238808 541375058 61630890 93204244 654522430 271128238 923897374 817485166 419496670 429458986 854709088 828386482 243311788 459424892 299673140 254393004 683979000 191975352 561208022 164623640 490291488 74945724 421996758 531193600 720693774 190802298 213796466 933908062 745658710 660349066 782661268 665466304 981648032 179140782 338839838 16754606 611145010 384940932 809747458 825291442 760590102 537109060 185830772 716243686 921360942 405548368 483564162 250322694 555912418 423859488 101560482 899577416 567818018 534505446 317425844 485099934 46008310 807568834 478827170 700099684 283636202 30339882 675452930 390453504 495838826 871176974 493063648 966806648 459017356 807331972 58623594 318303348 582416612 437708580 162376918 967764274 311843324 555620998 42135228 871929606 544272260 281437664 809839516 689941302 785753966 415476160 118543444 818668076 354409006 585187906 405093296 44441226 178444242 98868484 345973140 430584948 922735860 367721796 732198474 817526464 56237164 32902094 219342636 935666582 390172072 911628532 426336030 592786800 808264552 478924128 130266 518509468 598773700 454888266 978131804 336186626 723786790 437495058 314199870 819609346 777739414 824262830 2252306 998614614 673565464 832917104 805614214 613171370 620143620 678371194 129905864 814294420 439031508 557577088 508305200 383782722 922203466 235448984 482402512 886386262 173633016 14272082 386668630 758860072 395306536 265628666 964510510 190510250 742060782 508358808 623278462 932321350 226702478 804027774 959554524 949040474 699851738 775293280 644125228 330335724 918089332 190581234 575621522 462542438 128691192 445053408 714156942 202813016 779980764 696639930 991472338 229381082 732582718 746033508 222798708 623505894 63998590 746616502 378542818 305287102 657340342 392821668 132761662 168445914 793844852 333271048 848716894 242847410 755162294 241242722 902427194 735886454 959666202 272814614 906662640 499545930 153387944 854063448 795851610 631919972 5783234 851970906 937409718 572740608 212810406 405844650 590496186 318177180 106201002 888966402 151079726 816042156 246262790 857120490 306974122 659625916 88472562 371691760 548210914 136464438 626333002 196868784 115931602 797584710 160835000 127405836 417502154 313638224 54343882 558952852 263174604 327808904 819877836 829559542 727839064 321182146 904435338 339984096 135395624 928464658 999561996 586156390 722128274 92267678 947982826 229982390 114908252 962366726 398698596 705906710 720106898 717554384 622000326 471215262 426198342 49095194 44714676 492580890 371272344 407647884 499948006 509708862 761430050 80769394 641034020 595927744 128350780 769616192 255770324 713652960 528290226 767007582 867252118 876185942 68960960 716882414 764114780 323506180 870338640 591135202 21899918 524354820 320129856 140682052 401777130 783885954 628712900 628877402 723135760 449454120 552813450 635879232 237140048 549970722 379885612 940917538 920481294 891759200 562820284 149048792 471322030 164771474 527128912 420322982 98507904 83215504 733776578 595368454 323480204 345261894 723344688 904509138 214132778 214199706 337462988 904527382 307949770 807927372 457860892 931169374 709179178 53479158 144374352 735440506 738290044 165573828 764742744 296340562 978096142 262206784 473149134 929025866 357416028 655073314 686276142 115651552 486896056 603790850 676399090 990016050 45009346 889157044 121028756 414632734 143287394 98539442 372694404 706063402 429308742 179884406 244297692 305382272 776031952 468421174 723583606 120395904 554000994 207018782 272141990 21090844 902156488 139756198 373917930 457928824 262371666 477088052 374734648 208521416 732639322 493405032 823982228 813388334 570873776 779645288 485460628 695117830 858161104 494174426 617047294 687100274 518321726 376261198 230592094 588282394 793371794 168084576 117398332 974453216 378700402 15317866 611510374 750763632 933782836 380794016 894069394 594488224 516520374 905708404 913034530 707711428 826546756 717573734 607744264 853175890 111621770 939603032 913238404 925154192 182639536 584912016 166783484 911160912 508803948 857577738 364690814 474316434 831888896 333244488 753261058 266665470 331364180 819582680 169789342 407793410 182364854 931853342 763670444 7998786 775893318 18750844 986051472 749438958 405233458 414099744 646673536 274105844 309034154 815826150 384394056 391804042 357794372 755398878 175750192 640694152 183237234 43119954 275481562 272020996 122660176 202574572 791207048 925114610 117303444 779780600 356695146 728979568 422432608 462961028 66133580 55499142 907162114 164194988 168209404 367989310 82359172 790962496 691963912 592942426 999971660 742739890 902688806 135079426 648988786 672869972 676628178 770176020 876862188 624124974 662744760 203779112 194434138 331389658 41109998 133449490 291324530 401886300 882494546 141874640 947271984 167300312 834571428 402138880 680324402 761086362 535825780 540180260 405064658 59513222 786582586 688750660 586075370 490301304 930256202 941298206 441814962 899723286 877906748 877585396 815927926 253549450 419822762 747705712 850569004 78668454 53108970 342264212 117240862 47583160 581805372 325073040 253817542 504442466 310570746 249450154 72356510 953197624 429063050 157612498 5070334 8067018 705538860 100684372 891715342 645273044 74057786 838961344 908173016 71464080 483059172 716478806 716671694 775580850 475317354 275390784 674702584 93627648 310918572 429541232 118108710 231197002 548453972 450890352 264652932 19667282 121834984 330339132 389622264 464716930 827525128 292683770 99178934 658449580 571385626 998663456 540243678 626654688 974365870 973891070 183788554 513738254 621226640 260913462 50905898 86628430 698397276 487886122 12149054 226185962 877333472 52110310 150465310 6407850 770760006 557136286 940825012 323943484 549604874 788943662 885395802 186018328 298630708 127064976 541501026 359539100 735222644 586274454 305682510 562205912 329205864 749828404 246923866 580487992 784903448 587929608 329617568 90864012 729755204 538270544 96172554 151727118 980040074 161371384 766048822 714929438 823565424 451807318 227195858 264341102 519879160 590148758 592516738 241982406 441100566 866622444 872211890 435166414 41690120 27673474 804357218 297325194 23775750 300058550 604250094 125972934 295769948 299775892 17463530 451328524 507518990 190988228 434990708 520406616 906975052 76011150 573696140 255003172 306086156 374613288 790340452 539814778 864282570 918810132 473968002 439577856 754428764 878338406 128840322 145749942 264465600 806712426 993690574 225704694 183463544 482996204 299371436 924505808 119388078 390921774 849132940 115749572 466593648 666255494 521430208 994344790 702021452 107610368 61184454 658854998 757584650 366521044 760183758 854052254 278523480 442747486 44992688 64305568 893854172 677895970 931976506 290327536 585983808 311667410 254243496 984338824 42401520 99769052 967082298 468865054 877194592 762290230 467777976 626913444 132463440 191900658 174062034 19631282 974599300 229847656 277238602 271233522 320959086 926822388 491744154 522611128 412039222 961822048 194602572 779525956 813802178 855477314 516016462 968664358 268172318 562749932 522218138 598049262 606076098 54202348 310930446 808742408 294905544 18285378 809267220 755689224 48657298 509784160 332041026 348340112 924431026 980171266 241526502 171427358 200388254 799295724 697178038 42385314 894344612 701598984 507513986 969063336 147939820 965059456 3385712 395917030 434446300 634529968 160960334 990165640 331366284 651398474 265264598 571289058 411942598 965555242 905015638 857853038 565890060 355559682 155304404 735777528 927488514 32807636 953057912 410776770 949712406 789485370 826033052 514413942 664103938 161951988 144629860 888481214 997337706 586307324 968338752 452109204 797323768 890291778 639622944 387915856 438061694 698748014 772978550 141153860 396128576 39540428 513998014 24384072 453563798 32985104 637177414 635813678 821623816 398520158 34834702 140749480 947642038 941270760 782768628 757414132 128896448 342834850 232866438 781949144 665804944 362485690 675741772 722533234 114028908 717743152 101809426 353056570 328035706 672602334 737020456 301633196 377905416 403912008 623304012 10659540 202035510 47071640 237626896 997003580 869818512 304664534 238082916 477921830 629259154 40275630 892485158 414625796 257539570 68748340 382022164 408726396 235418766 154943520 257142462 220542362 613342404 938781784 178238106 399895794 271971858 736194630 688836452 151749958 677459792 982524736 371415266 380198096 469719152 487785060 162609690 718492148 644395618 37573802 323651844 110010824 634250678 694241948 620809248 962231836 696080052 210053096 389984558 427175952 792920904 898791986 17443566 623291520 815401870 256034834 357952650 723064540 321692402 717796728 272351036 523759844 209217846 142236952 540113860 425208238 580692478 79812824 60487642 132848946 996821554 640379762 816100100 191524402 29763162 882307408 368400242 90173470 171309432 542585514 376014914 81459568 759581134 5148882 299196528 812295610 541934164 780843084 833749408 296173528 532033710 803758724 638440192 343058800 745921788 761814738 23919700 895807656 190713242 936744264 488381786 312773098 113140690 731552258 19095598 934323558 982773918 245917702 173271588 138199704 859287076 214636746 806107168 971771392 69631384 710555984 473894878 922748468 974898562 810963776 838530846 658558344 57502696 674783192 751407248 486423834 286173656 428419802 416100280 966439940 581111040 251370030 430498888 128392752 709514844 430552072 405304550 852270528 868873396 169065066 316781570 573461842 512207238 422240698 67007120 714551834 353023130 26893752 439976830 68409016 17810952 558081852 128629762 187252784 830085908 938099544 985077002 264910084 96962306 578592374 743745196 750367684 844753352 431352504 503620346 723098652 105221710 325570314 35304212 386647918 286810858 553438680 379140500 717826632 180107938 435418538 879884874 460189268 686232232 990415530 418779516 360251118 578030536 375164582 55109518 478127258 224088778 335817000 578471708 915800596 201518914 113451042 790232734 261630538 315448304 131699796 344105710 66092994 964354614 399452052 888498366 374450458 200039820 708053468 121465926 383588182 868699082 111161354 102185556 161316330 215750842 594098358 685102462 265058686 193137260 828241324 323152722 676835656 536511586 782503470 350122982 631663668 479307492 684687850 539040724 872658742 477846232 918719354 391991718 744187084 837859872 483767774 7475608 49012498 339577340 802196974 254214066 401254046 192596578 92991262 349746112 162590392 876129150 531926544 924521284 220562752 177707564 930310770 839717914 814085474 634324842 746855140 853566814 391799262 405828358 136451534 941135538 780397864 956107968 989205754 607065142 950896774 243223182 509618418 682402604 505935070 970341084 66250412 617322046 660863874 768097246 740562082 910624400 975250488 381852316 432007380 944293308 627745518 536767540 471892032 427059940 708955382 682605312 681776854 74091614 289967312 16513770 352702066 944258916 420148000 105748328 443986758 619252882 457838626 430150520 762179770 292523540 517291532 261245540 442068624 880748490 670444622 449794926 311656554 448212076 501190692 627324154 295901908 879377206 194100892 158437002 586095162 909229374 578135874 581273042 377476542 485360040 683892194 934191072 367930604 416340416 464743534 600885574 513371750 486375186 428414754 878966520 973390084 266909808 589853950 16682062 514018566 294892518 156594690 155172594 692259946 934721506 877501820 20918622 819602502 107053600 965524944 183900262 892750410 240116954 86352988 610137392 492470264 858135442 539970968 994991708 580805098 104215482 935533486 727997914 684175590 432105652 764417364 829546582 504415720 290156532 149777710 364089188 223062172 895301022 11252708 259335872 429357178 260197374 746413120 277465012 146149828 804036550 461132078 537452898 528329758 405625126 144124738 562775176 840879742 154598366 986874566 295472206 29289528 2544288 387983116 679231394 815282628 608183110 329508260 218355776 738519742 541290712 848587944 569106664 949088890 172091606 953349186 259393770 366905132 657065036 836874740 587900140 318517400 468592668 134868718 432567408 581923752 56463104 806890776 387118036 868651810 573821758 743346070 373600750 871978144 805685204 555709278 392316660 52038270 426764894 129330106 564754704 195636704 994152962 752322818 981917088 691943528 921474042 6536378 357708000 182796448 662327966 828892660 10334732 413718770 703390106 475472450 715518148 193053890 278411452 441153832 466436740 30769316 735841124 897539400 494720942 215656854 857901676 976816552 275694056 731274654 331285288 250004170 743639116 315648804 173577580 605839564 619839046 480734148 231137290 625690908 128638404 535864354 125498098 200164384 826127422 102898608 178352176 55655634 954828974 599335864 255786254 220096592 687557828 265105856 606234050 236528396 172618956 998056274 188617694 850564886 28772538 714414186 519216344 930451122 507548670 13695178 363766942 822430698 552309314 971477910 640869246 518912166 737595170 861617782 652937406 853665070 488122714 252968790 716365218 673744904 8541748 188423648 993741448 728363684 500298306 130793968 107819622 341025654 922432244 254053672 664245678 501400386 705041400 38453292 899348168 273057288 717918134 252909712 189061016 995890126 658886552 132473450 676197990 791588824 285580772 690468832 107433670 736451748 59814970 378909020 905040342 806377572 315284988 984313276 391527644 608972638 836482184 661476124 179238860 64091712 994348998 331683254 448977278 117405168 294996478 310133420 51298528 465195568 406480606 183112342 839875642 28318196 417746294 719540998 401513038 16157272 168482494 226106222 124620792 477989996 514678242 585483506 594851394 682250294 220605684 648689246 723857744 762489118 533572276 317251086 831576582 384917188 387966080 814069586 794508116 885258820 438743940 528147446 957055608 945825374 401114190 323139314 34962274 313118466 861117730 237459246 175256188 668015732 162843058 560661672 220053052 857664072 159860360 640145304 96372644 394734866 530997180 263221352 14346740 270002352 238216796 317975100 365059246 959610720 977906034 768200972 929041808 978542278 258780494 279877590 379199594 388170808 878890590 730203588 291120600 983698458 346214818 831823462 352242884 688438128 945364528 95549882 235640642 631619394 810429122 587777634 84023490 17307278 787539344 4519652 848040618 726301298 51430762 115158048 241348924 534246608 997797892 353576664 416707526 609609260 63950636 184205520 162722188 565555682 476159912 702174922 620405094 951454242 567552630 178403598 119849124 962168566 285885444 304305204 312722994 724208200 116871154 907272184 374594188 365655586 13171634 434785908 940195298 349271894 52746324 898581264 727870430 90045992 372244594 936979320 875341374 61664474 214989904 465552594 810681292 586613610 74160120 402873964 424629270 979060614 871944782 822018786 772703546 145972346 869743608 257024156 318846474 495566528 197365736 159033498 260713782 57739424 468477402 514755198 955358150 372046760 519858840 754323542 585777434 83107920 700241076 334831172 941892438 905034346 427063312 574194500 241954232 30905640 418040370 632243160 19255618 227394232 316688082 309467592 877943672 152783064 883254722 841229758 597194144 428309248 353597248 211542070 679783380 34961162 317960924 710019474 301884446 514505576 431025412 702340026 15044482 585131862 65681878 292163566 346993940 671871510 357150186 5967578 950274406 427160988 729153886 897147228 468926344 179623680 710589426 603159162 628810096 960011836 722002834 459630644 834097972 42505162 518701136 792663492 516774986 1621694 798261762 214507492 354531656 590151026 728485290 321433182 15457738 707476644 281644498 913488926 858617500 464927016 195752280 326096238 474908788 303710690 587040522 264634084 795389212 821841558 737947346 130369502 619495168 714882068 944703984 411196758 391850586 255396676 721128376 569105394 408967666 735553274 318342956 844176104 178991120 354911512 599308816 911915298 761430260 735330356 722648806 916032788 91591096 768349702 427595224 537153524 241636522 363869484 445524378 88466782 157296784 922434338 396268330 971135116 939965870 768476188 722725324 709230240 954667862 351160498 784539416 112250636 51111090 367363932 978797246 282241982 642503938 144686198 333211100 114026850 904019202 354336180 702941332 167812266 334545530 970690498 197599132 736597474 298479614 609032140 994746558 759365866 639420300 423252768 313493542 247589886 799518440 890370902 254611854 725984302 493115706 621463652 798221248 949039092 765506868 925725126 509729940 119979048 903737826 320634944 20018950 802867884 750401942 455692970 571713904 629675850 311470148 300785392 913462620 500201598 371991726 658483596 646593686 89366752 270143598 914320868 760179830 601028398 347630716 371158700 597095772 82812854 96494452 414126278 551928154 302063338 660065934 62122524 605737254 963761362 468617402 865042984 799986072 178533214 208519552 51588848 648559478 336210354 796027018 329007924 578870346 896964992 539243476 370422568 695109620 246389930 808312272 614670222 756188130 498152794 790672188 899096484 268138998 492222494 919701752 975298650 681417372 594290150 538470494 549691414 613935156 50325260 770114406 675316782 565718658 476715920 321832704 328061842 709098332 956290460 421068894 780162516 402629648 109291604 509848756 563190488 786454060 544205104 390248650 105820296 569737994 379066796 987018830 476205242 720568798 25324454 250271828 669346652 840330598 568552482 678835114 168178870 877584302 757324986 822659176 526139760 591886840 267286918 402480936 617313038 235814052 127171488 823914482 159820582 546402124 40199632 192837464 730396428 480733082 177474336 187371878 457624900 927157068 318802310 919042922 646010528 697360242 576584264 643754132 404410772 902609216 375652964 401694124 376095764 283836064 183737816 503843858 192245516 50728472 30897554 682162384 718298336 923921500 856921522 549967708 21053568 922356058 326002324 994151738 246968078 397076322 803271790 223851592 744390852 145644584 372746570 125922550 457604406 137089018 714655700 558935414 707279380 897627014 340670038 142604266 239453260 925415524 118447348 287735988 29083314 468443970 593654026 890799412 215361596 24210146 262026968 937127684 750980444 331305566 313996338 69648576 961286996 881164028 879437474 153029762 633481468 781661364 77957366 568132930 70688244 902328296 986919070 142126518 524156110 820103916 174051124 294102596 191776722 874105032 408016312 305032096 16689184 595979870 655757744 350246806 103779218 923084736 320916540 385699040 664184154 676981006 958976226 168756308 763342760 748885426 243732288 408331580 651581202 296748362 765827110 450663482 504908406 272671460 470134190 48806280 84994790 766859702 204863704 716949696 129292992 511263910 72376034 696975022 379937850 277853770 352773370 429967752 114945910 159017216 41290030 143928734 10808696 314706462 309861364 854714158 174503498 653100858 688940526 532086996 192011112 946853368 455899576 322163952 292861320 140073920 566040124 193051296 107779596 124030076 789321606 14488704 885962516 606264822 525493082 629639216 899560984 138609998 683886000 814058638 23861218 634202382 656470790 60644454 583102026 28921378 838027602 997136870 358498488 125971098 456840976 616195250 184506276 643488698 199203074 62560786 582614978 839862484 174705846 797011296 261441176 374751050 669119678 832766228 258681826 868563098 684506124 708915530 13033252 870356522 105932292 450664386 64271126 869852540 722749684 839830376 815520486 6649658 991825046 380567836 58092670 596721588 104573062 229527582 683819292 53596230 954503306 782676204 808277886 598025156 779883624 964928354 155410560 819430056 704257544 461866784 231877702 868015684 992959466 753859822 421583632 654167426 200500374 722224060 878780836 7314846 719250354 52036878 972559748 815292056 211623520 385559512 53085594 399114724 770776458 310337540 394485506 818078814 322044104 406237828 169822896 509326638 345711260 72692852 271574184 764920572 111062536 294151106 687329508 374318168 85017492 194113872 140483768 493488112 941569554 646834168 567705348 65730642 393033218 64658816 194073614 976770418 914053556 11750608 669356670 243053822 963055146 475153924 560191414 294291598 474585870 613272100 145538728 554874896 485739442 183745260 89922690 950851670 238787776 304694880 841395650 220444166 470711566 709253052 301398424 216825804 340274504 667587980 226752126 493500998 369701276 61991830 742078492 721676504 987102062 361513398 813964244 182468980 595701598 106530244 172575806 371060644 979008208 803604144 375366586 483457480 32658622 671192988 805779704 17545020 684645472 185229618 244005592 725172370 976510918 144063106 693735300 872222246 796218900 195529440 140883866 276745938 207240454 720884748 421280582 798071050 88223454 593046108 751337982 63075292 194362782 451399330 869244734 375573546 641580456 187357338 934508930 425595310 814824858 927653726 310438446 171187170 325030872 199205784 527662498 918629078 588686962 836111632 207570252 644760228 906638928 225675878 968815360 697120384 280595918 880287956 845538162 13000326 174292332 548448484 875418728 562337452 7937060 307403970 840297728 544129542 105920736 829449228 379071434 641462008 171201088 285459292 57590610 730648670 932628268 412512880 991911216 734348318 582107994 853812322 684095378 51509212 359105334 768577478 342482992 198795218 859358170 238657610 20694124 25825256 815184546 397715876 503414766 374268736 882076912 382116806 221592142 258099450 12136628 286251394 139983500 435118662 385708406 513866680 83549392 494569342 187977128 710847902 422325712 83520320 85445094 334736974 597387000 367386458 41451810 863029430 262079916 198964868 701075716 308485786 448732920 907301850 629628600 846008914 270639346 679118838 70904866 497226828 413699442 983714702 112056144 656637952 498655410 523036878 145287774 70425206 294484306 704795406 500293070 894340542 848293638 999089380 641783996 201635942 181502154 81551888 340083816 943886000 432566320 62618830 992846280 247705612 486969548 924263786 938283340 669857118 507648956 308515000 746319116 559445680 973096858 100326592 952506128 865459612 706928360 290508094 20119610 677089660 17605292 827988786 572017616 688369036 136266272 376203618 945053662 33805210 796282468 22504292 666524958 556685662 908558632 423497822 569421102 618882282 651733558 699377950 140615842 251403932 821502670 438793420 996131304 14548168 218199386 555213508 633169492 620490890 144381562 986850030 695947958 350037850 268739674 360946834 72533022 63922878 600436932 901586592 472716894 932306944 830807106 768607898 722962730 885676568 40432222 137113506 745495684 174749884 418292526 24402174 326298726 954398958 310595096 560801232 785117902 794432798 331089768 18231628 446089264 570820538 486828468 767089754 498074438 326875612 248146736 926081766 224463818 137024234 938165466 94751960 972344878 893409294 448592918 974809596 111884930 575648192 882461810 95443994 448046158 954805092 261576830 743876322 463572242 281140690 91130104 726211528 488306988 976971236 856343990 67583222 258317468 899601678 843966056 897910660 555791568 782584222 71435658 760776290 802273068 637706820 652140880 938704148 33240336 851311456 368057734 848962390 954811206 806117060 169593302 315464502 620990754 772757016 107105218 52618124 271506880 330048734 336543204 335091440 281752870 479026906 499902386 877522384 590059728 568210162 497563864 610819750 935969162 482754904 313342338 168142830 931196184 715336026 851804894 962833398 109671074 400581384 318550816 540194044 828904866 696540404 694915080 501894894 133882612 651107512 334758596 754622616 381884250 691157316 259908992 847068148 294332618 580209566 864643916 550645564 504168724 963780302 96576780 711607382 296455166 734191040 758305184 971522110 348796434 602926924 182359176 523108514 378058858 283803282 252633344 724531006 878859822 169963552 920138772 683984560 177924682 45057838 854497226 323809200 560457606 63898896 660208088 104045966 943735082 10489386 514894422 542638030 385617838 599296924 414991930 788794334 710563752 840709608 681282688 653466216 554990614 687517600 452872280 777181424 409121102 697397302 23658470 815762558 953039452 656320588 730372890 666281578 580269266 233314644 923712698 208789378 129698004 67413676 768639706 8609282 954256502 671384608 972866182 540724684 565941412 267975686 386730094 31535934 542025774 213954758 859194502 944238086 900287958 115513648 225206286 813285888 658768690 180685858 170422526 638926606 886586210 824758740 233119366 825628964 833741870 678091498 574036974 66930410 766613470 969727660 983404394 734761258 41787444 74667510 263216358 331244976 699195628 800234690 36809186 86977242 775737498 502223868 641200682 197543366 887109876 88798998 795309564 351371542 414802116 533399724 794272134 132235280 223036428 367935096 569926764 726333132 610667802 470700486 246460450 483647102 515700516 695495270 246977680 967686236 159439854 495369234 596200354 706678886 829227218 7536492 919758446 307880428 542203136 221230952 159669828 343226992 299709242 270553360 545394630 830322212 438519430 900083508 372330584 386851788 900942706 935961996 77489962 980863068 336662340 494120628 656781552 971810634 5475250 62021976 502150434 68620128 983006962 274390888 931888104 497621126 949962212 9636456 851254880 244272840 492057918 733732606 534459236 284756840 137105124 855625542 172990964 21228086 466489964 645921358 2989938 741317522 813183386 256596450 33506470 838537592 327155008 247985772 590936174 144880080 252980536 409704598 797425970 627899020 891537140 669233448 952487132 265080868 647139348 248409572 548158452 627531190 30756976 79818474 796223370 242327866 435997740 434378532 461834818 866843968 922731014 500115962 648860630 80100234 79060892 347343948 758218650 423526848 597928528 52833378 395238900 323809722 290653238 366337132 942587476 483307362 464062 191465868 938335010 404534702 904264900 142074180 976564328 907897936 726445442 925868072 838746042 385000578 681659442 414154680 864107874 241967606 402333736 817933890 143420864 836013796 160782726 385793860 838810212 968259784 800022080 783085084 339895254 811147690 751375722 488875506 846655964 970267706 199644088 681098566 926644264 948110798 520702542 541847236 351305778 899068802 463067314 219430714 695434688 504968464 683541304 54343426 672745868 889093178 556956430 936716882 863689412 716395676 578388292 349352534 74924964 213730994 376632726 382487736 898704602 587856652 284804786 545015322 94555606 165926404 997970642 815274168 32417248 890191458 669868118 546379428 523592832 166509056 197233468 530683822 359745606 101442230 89225172 975124426 855625210 518870238 660030454 166050634 563558416 402667810 646833614 664029076 154809072 35409686 897343522 347239912 605727814 405178534 412205742 172520508 199303758 236122538 492936810 252625790 265016484 857690306 591290016 605224612 577002408 513923614 516937250 906839916 26821198 894705850 21187518 120456536 592068706 506914450 358252588 814706758 722168732 314049002 131944614 219376828 300648860 102317850 502100690 774488020 455885846 964183292 863879246 463659916 698626110 736353190 838531324 819764272 919648288 580667038 528200216 519696754 149320100 761980870 34225398 435154544 547624142 188743194 952270680 922552402 473323230 322751904 668608120 775204846 175037752 37290758 24452824 499423280 810712148 24983012 757485496 391029148 937037970 533822872 56693072 490535058 849975176 15621956 539098650 528458900 669997588 137069302 424053316 706550750 374850294 162704048 882846156 16337180 422814608 477301386 20243212 804204376 288919462 503278278 515136988 302994362 932057618 664854352 351972134 553837220 299079310 496660536 710283878 80347312 281380266 77788320 36913454 293029482 475197456 11143548 270420780 413126728 159238590 861987982 803238030 75849724 421568152 83509776 158882452 446925032 276542250 804152752 317795152 154743324 424582662 316357980 92247908 888092438 738638254 718386028 459295142 863805442 16235006 777179062 375373318 547119230 517181672 877022392 183474384 985424542 703514188 467864434 397220882 219527918 456866692 33133590 745754620 829794826 169886554 158640214 567600104 940745978 470927138 141326710 674043350 707280906 427042802 370086214 627222012 337124662 667384112 43481654 342413670 218514650 503323292 842809374 964703016 466948254 674314184 406722672 710074466 689563174 627672734 469624286 969655662 722305252 719693960 60927866 334015258 331945984 923124664 762663302 350954556 334282022 187350266 347952872 56505122 845831698 417415270 629573938 954065344 98802584 624451592 663177122 843631126 344279392 689095810 530029244 958562776 322092774 11399478 68154636 592089760 581908182 169916966 856693634 605016090 871707120 543568476 884226538 623062792 973942524 810210422 409664930 675667748 153708544 345887294 348965896 164087758 730607480 447566632 287075234 627104342 916241266 46922302 254001066 351290142 349206764 421177222 372106110 172257842 187003062 521520064 776485076 456984214 923485212 821228674 866235800 374335356 793652912 740493628 329539624 275886916 981020998 616460854 169869620 725134148 517982836 8802566 534683092 708166506 751661562 317008112 480685232 555905808 994319392 917515070 600140372 745030916 964010760 45741500 863173666 246089734 724261064 868102266 495162088 495752606 883297496 847378566 402738416 640315246 342062742 392260472 658048222 562218076 138453022 491237384 537871618 355186266 212435976 477487374 897828882 358759910 932925460 907509546 642423722 327316778 860441176 405079648 688002674 446610708 427411480 635918490 610778638 12796008 950459388 914473124 507784366 217236090 649264876 289032946 786265808 334341652 618288720 96605928 814940420 396254 513973064 230471924 586296338 363505182 841715366 380573830 411360602 977645516 620508034 637889738 429565372 913047188 231715502 486807210 370920200 553677986 273109742 924656026 27586644 684672218 111245416 690412488 845274678 83500656 196852936 716058936 801340922 967727550 451365914 575922716 507389160 95299592 65414570 337508004 658620884 921742534 846497046 724420874 647637120 204526046 303350178 379918448 26855030 752283056 577046880 632498392 292489594 153551156 873011732 118602448 540808540 806487634 208357534 476787506 217668582 103941316 430681144 642155214 756389944 197898214 246512948 712879236 666520426 473368594 933414490 173719908 531482062 706742198 483111620 694152418 674100486 128785644 104090854 533710464 240143274 198403854 192758966 768948350 251094828 459357396 566378194 319936200 165688500 385727634 420829514 396896340 228655592 670187612 150585094 682670006 642508650 947424644 574683444 461404426 545048968 739336488 218178122 548220920 703984132 663825544 498082020 951903410 295142236 829787756 746827918 711066726 508848092 941676292 655385034 970767414 974046900 82131028 3521998 412911068 385861018 527451354 331261856 891510226 916960348 720484576 741478864 374838562 815604698 592906472 600260706 360847806 723312792 21048066 116160160 92126026 154400092 153483062 182506096 168075366 390613486 59371910 514929140 172971530 543656726 164124098 585515316 876511910 962156932 763439558 768112732 173909588 757508106 663407250 505143562 314675836 760345472 618372578 411293814 916889178 402924048 934805288 578601812 71755978 700064294 288947090 471092014 512367470 201850138 942491078 730630260 960114756 111822954 168371216 598189286 43310792 885147620 256163344 517205468 350929672 106342400 434849760 164286716 956367256 927905146 92205512 636127418 263745136 401320592 926660732 863277060 817058034 687106232 561738088 853425134 534752888 71821362 651041132 941331998 843551758 536973470 918786200 708756152 74770628 226599668 977624944 774576666 845242406 830661984 844294668 780625660 638131614 253457848 46748978 202564710 320775762 871193064 364457072 642623692 39666822 683908258 382885942 862999602 21008808 606812070 147285990 205738270 115908786 810372308 849893496 316237802 587702876 807542290 729396210 948963266 230677726 501712806 6770960 340188292 888231116 151043134 926450574 239562076 911858856 241613094 351746726 279755406 21882116 874161112 974240090 398551360 73211438 565774834 758470290 412727526 519167116 287885094 318454350 280948772 287664250 807834090 803254142 481895654 182939492 683990622 54579996 278880898 381610192 707853828 400627830 991107398 694534442 997850222 985455554 154408156 14130272 343598232 715932118 375411492 399849142 436126370 31314710 937722264 238156652 339324264 296937130 109985742 750204620 346546148 318772538 163529626 236956178 68973250 120709462 965324280 277219098 245501256 842245678 154545492 890227974 932071508 241077306 437394530 969619552 850023020 626446128 682917308 191931420 745030298 919839346 7797588 310575048 989663326 316786622 291798872 742947318 769566474 235665764 826679836 761357076 874394568 216834646 40878754 133711752 622555178 539200638 711688284 201473866 650939096 178577764 651037876 653141674 433553960 468987772 753983968 136439662 855548272 891951988 824190228 996073478 301064468 2468186 897875218 819128824 818047266 694456548 49958212 941224086 104672834 292069812 102516828 6503904 877697636 847557686 319956834 103171498 169598768 351811542 955477454 519419268 279272018 384266430 665617380 51015406 528434394 959347916 451192436 621231042 916313306 419265850 248496932 252537022 892135008 849617170 60781698 71096300 848062598 479770000 343955768 563564062 589052894 47163048 519174186 129183926 49759480 34098284 468651346 781459002 51605230 836734466 876824458 816654016 71434890 626363358 699914680 439922696 811864202 908041216 123702564 754080482 181066460 437466532 234711446 816318732 985327352 983118504 807801724 940147244 833083386 165036890 311010246 387726616 135923226 734596622 793539630 352974236 319511008 834063682 636581056 579751566 353236412 966894364 42960922 268032576 50146696 185733664 898666642 555289072 750971114 225037642 746809088 982643548 873550860 293173828 800314830 49619784 825719734 844218410 833387608 640026148 814718404 397973756 225973600 237833172 180464756 924405890 776671786 852075854 887421992 13376424 963988978 125777582 532556994 764157920 443931398 303775452 192735654 972132526 187188940 972578848 389660358 576899626 411170250 664921570 116628132 416902474 121557952 797242152 17413114 104855798 197473044 811343822 568850902 390959266 738478270 841034860 755904372 639022984 766495612 966282032 238942016 334165726 914887166 295426322 220853934 796325498 591874892 275714858 34046362 506675354 329768736 927855722 410611740 187674482 890930550 454202546 534674656 300562776 474948700 541989544 712508120 391777126 866333038 216658192 769196646 755148202 272254400 254321570 596526280 32564986 68122524 551906064 434454466 969658636 733055824 801351458 912436124 259463670 269663100 744008716 111635636 233199424 878621520 962797432 24408690 232492224 14275046 74274258 685203778 470367216 768809212 869615152 91751802 578157226 74293986 81307830 257933130 633078548 367973556 894506204 937689136 971697508 940254766 602356326 193286230 572615786 974715172 123613752 422279290 505566266 893141160 163044182 573138308 561801532 201614680 957888644 601812088 272166930 790817612 120983168 261937210 565298176 963303266 490221654 471934568 69073622 831830526 815557888 242020684 291848768 562616132 418873476 138203280 263177100 173069430 796497190 505865198 975204294 982088422 58698134 378392548 808922806 290435016 635096584 807884912 173647026 900263234 540686820 608757628 861520818 133247106 21775414 2289490 836203768 853941466 917935224 779984310 222356412 166379910 363496266 338094168 615192590 536975942 277207928 553010544 226068234 773757522 535842072 676049580 237775708 578378988 834484272 302160970 749351308 959079594 256736308 856834370 170203952 125113108 585960062 232077022 920824168 43689136 269072900 759116378 976505504 305186804 997056154 588284612 322870350 714112836 600882076 393575718 582583960 920854896 9060724 171031442 592310362 346974890 269270786 659314886 447612046 405238584 229540432 835658952 866588334 141319232 161657446 868781102 467423996 497903546 580178652 667681174 203295120 159941682 936985826 298314904 551309336 578026156 699950666 599509384 779721170 464914496 46144932 676578626 858091008 922711742 707915798 983094334 394899000 295559254 716644416 442485946 502066594 174915968 168144216 894071542 475338994 846581020 680662818 69553238 368417984 194389514 716046146 597081298 500046334 474891906 739278218 565910886 937413796 826535098 216654934 157803340 580587866 503355528 803809754 139848558 354664982 463926068 355991578 385127784 63791914 876683650 877558586 92754190 596117720 196240834 179657024 66324390 4286830 268949772 301402628 610721212 876640752 601450912 85768280 865979634 412537634 544765120 361752578 459177794 719657970 164584112 884673858 689842310 673256866 157185826 372275258 244376372 814347644 453167264 972443026 842666730 644669564 216151644 121541352 119845778 893531274 271492778 796111692 94480450 920444300 759001234 527594552 464039328 290318460 915092928 948900658 908098910 950024172 329437304 886506470 291157370 161890730 63530234 359581174 354202546 825561062 361003174 760555346 552408662 111694930 120185580 939516792 394427998 926094330 627510000 523197882 198063522 790770870 358480064 272452236 214812470 191152332 701982584 753578426 112620886 748194320 130812506 327036486 526791666 431238120 661549350 951000574 167183022 508633450 92531852 505231776 984493750 154020142 399140332 802318252 557613198 673772958 847352634 352374280 744445756 559397810 762438790 691543084 302717494 520269418 550498616 710150976 747084118 289426850 494104302 195615090 247946620 38682158 812821324 677260988 264084102 220025684 542753272 946577740 291283030 783024626 568188330 796922706 297993894 183306654 429545034 176432684 113690172 788040344 189582334 965850512 77423208 157264890 971544442 877314800 774341504 122491822 269371864 387040736 418058580 408198274 951097808 119626878 824653004 229286116 178513572 736693152 715340452 929887656 648267418 980097942 261707878 95035204 555720082 373910826 178862834 865947820 851458712 981872232 95408948 42002062 791639286 51121798 7949814 225105248 667382124 490530250 933079936 378275842 868107416 523558224 224750194 610670252 933999420 763849914 211964356 414102782 170547798 932980920 376263064 290939460 368496814 116231686 636104780 917369412 821467060 642100844 406142994 790991696 678002442 139751774 974325456 370226460 513172312 309117562 143905002 255178776 591147508 497552878 895144170 171302330 49674426 599200262 521184266 373044532 634718328 818522566 268138960 134796516 778063464 185068576 413490438 104597672 258802756 102346162 248796810 251345816 491894282 394453842 853882972 146829418 822859588 293113280 216859710 537773478 85157562 953509490 105660206 215138622 282905680 837681674 11788850 681301384 384476278 59793654 835780418 217607782 4387452 315774666 140809340 790698892 128420640 48054800 174194640 888990476 675516422 990194934 102932804 814936258 181500886 113494324 607451810 409911546 529741324 984734706 607481272 397749984 421353846 884988640 262799166 736257900 558821230 780631606 707520106 924027102 452479544 932038408 620125756 104162394 596102962 295737800 501639746 985027372 185718880 406753530 204439386 708560588 78602328 301538608 935526532 998108588 875469208 933601322 634795460 465687728 38465552 193302680 565790714 344068874 945676452 885649010 874215650 509965398 29933358 514345584 809771358 280356414 665639494 475992008 662845434 891890662 600773632 713998418 761190464 518366734 671314268 846289542 854972698 291192504 573570626 862466790 491096856 599119836 37916004 998301076 639791830 332180088 198750298 949861904 643021686 573463078 848866854 592227598 166424394 337883458 530839764 930104162 954710394 325433526 861774828 163809720 417569912 57760962 378084168 500209624 93036992 476116424 113430166 3484758 563128194 962927996 268926186 883834786 78060316 242615962 514199354 161692832 751071132 467344702 770001584 371331192 909107164 329800284 23365014 453155218 813739390 868444264 208748532 436075032 785592142 533179334 723480404 224438402 210455108 831416544 407160578 511412586 258226774 531070262 798343354 227207446 528602522 977725660 249898076 676783824 322421474 458099606 786276048 530069394 805094142 405367052 622676740 501180368 173117066 30002056 927477586 429920018 738426408 526032046 910481630 891622814 569104094 467538988 291005912 730147276 969568466 290884044 543563006 529580844 442976570 502580622 611550428 409808742 797923548 961114956 80900832 147701790 809933434 503636570 741007572 606171408 568027616 420813306 207200952 75215202 223218334 833239970 118831424 967494260 700181776 396799474 675039568 655513390 899979720 519754380 681349566 597155432 285302966 429571438 756734852 366235774 859485626 549253706 622662880 26868126 931581230 88661668 211081144 608428700 499707586 319239940 329030250 236414636 511977948 296832728 415249976 758943738 283861342 161450214 905909462 296372986 824408322 892756640 956205610 116710924 784872786 301232730 785464646 869595692 67684436 166208626 253578642 223604064 987145800 476165742 84690902 589233634 660866526 937322652 47055876 987745668 164753106 52489580 43891546 514207520 760802114 702233214 803000610 687623696 339413950 759591158 337437934 576317388 437360274 14305860 99640508 891782278 226075084 949001866 173775042 292512842 808406570 159897422 42588534 907023630 177813418 129179300 784283658 856083980 765540594 692486464 183048196 567407660 173971710 669741690 63064356 737919014 859788732 672024026 838633022 258706406 650321432 133067938 538542098 84321142 627182264 279967772 751908542 76951690 489718616 972418570 955687106 613391380 718188450 383505536 715251634 116116302 85535168 219431386 944233882 460285354 596672782 302186954 495377400 224301568 605721786 282221244 141607344 958916358 229823588 166725248 186648708 886610432 144631374 491536 603354238 435204392 151716926 149127534 763107572 314182152 274969276 734034402 895643542 944615424 324702226 800527740 87031128 961562612 931739366 724786314 731835572 191438326 871219804 383378988 506595960 598296168 751654728 678329432 45026844 689678878 582374866 754531520 920515794 889266816 660183076 621218936 159000902 271652812 889659476 72072670 773399602 62887932 999792932 647395902 559711002 494719694 379463724 469440934 491851580 221417472 55857564 630649850 82486476 566449056 815467456 933323594 536858914 600037338 828860242 395110236 960209100 48323010 686944876 306716394 982397566 775947742 509449068 355902684 300475196 441037250 189099814 509226472 503954416 205310416 939479986 333029028 118347758 281941266 148713350 715814676 609503906 259303770 366937608 324869448 903092962 742097228 172242078 819245668 844417352 758354018 950647626 336325794 290385310 499479152 167545514 888240430 825520990 640656356 164552974 195652038 915197344 887073796 634641198 488030460 196374002 726515246 363211346 577396600 948925004 501273476 239310626 539525118 885214270 664312230 1471800 538075462 696145448 274123040 541785360 943558848 783540428 250097206 218087384 260540968 412426324 825500090 198071230 588666488 286335336 403503196 260751560 223709388 348104400 416848800 376284504 615625146 872967064 418057390 231848486 493341394 662138094 461661240 935483396 635571484 41084976 390744642 310158952 488727380 504351938 25336482 987547002 665632392 745481786 578709204 669040682 236893396 346724090 962023094 598955466 73271178 406479182 967347222 636732388 638350764 292299638 809299116 43069118 565163764 910174380 380473752 558142984 285798402 31503194 679084434 413035958 643172570 245809336 608552016 879929616 84320308 565382564 530108874 791583570 817815942 912888782 308027100 339031860 885417982 82669166 657402144 898834680 407407520 281093266 185201748 309520710 453405012 140272132 792775468 925434970 992297788 623140776 463988994 687908570 618588342 256517306 267592936 34417870 649311320 849756122 378226830 397718526 254946994 631711496 90997926 450758680 940784564 3335828 98225746 65265696 672605586 53193002 505703140 385336474 486720724 527601688 290845958 322073414 937772278 626786096 348861842 498455894 824057554 990434540 11944860 833547266 132369858 541063068 819757738 53993548 132878500 164276904 389262806 602505000 696476668 263258336 776948224 787421656 218567454 15087026 650159568 139799222 746120774 247613178 560267834 201600648 251918394 734699886 193206226 408503688 436838898 364428340 444272738 351669742 24043716 975660164 485833864 642297184 881417828 284490018 203312714 830021060 476863838 332885352 795258526 784888298 495380726 587964532 63982610 399447446 781783810 786301632 901516938 889915438 646978512 102793694 208591618 208551538 86223220 870068354 29373340 769596228 149398574 903115598 172367238 914516692 802405746 921014470 186976820 444776870 627932010 679677234 421947888 935528450 20290176 178455426 103671276 552706208 402872650 651898294 712506954 391518986 252263992 144309500 413990432 390268646 642189190 585321086 547044708 870880744 420550752 786240196 349683324 898243268 63139596 285299846 348951376 300401462 861083602 853429428 955729238 31677488 835986880 910667212 251739822 54328428 642483340 287032970 320018940 115884130 286417082 690279560 324911538 948156772 388459950 829013600 586995076 333011808 373189930 341436046 904658068 739923194 525557554 419870460 870261738 209947596 273538376 662647160 318483474 242669930 952784118 667589954 641210880 395462572 22719850 167346516 889312604 407858788 665806214 771943872 552652068 411521378 384211910 694946586 652599048 148091264 478772312 677022506 797078564 217898102 747755112 930503600 402172474 475734732 4840580 481931570 932075014 690754060 39658418 320281940 424792902 449703852 957093984 484768372 127487526 746486896 107560886 55711936 301192498 232485158 280301164 223604746 341283634 55483026 19656586 209518660 824516622 467307638 971490892 523301126 820083878 639026296 99460184 968392122 815905026 375836494 117946430 650430054 389569628 896137610 74468700 607335932 51940236 439930384 457020030 730729652 758942244 798178600 612126666 911222098 584309232 699496818 184974872 671064176 140865422 436817074 364772746 723546076 303675944 10036206 436304584 32117340 571234634 433261920 978625062 18768960 208876970 629853370 808719720 701336474 729642826 952120618 745654832 619017880 18127872 456182278 885670926 976710024 90392696 739383708 967769818 923497898 343925820 916547170 413859596 692024790 207289318 640771168 593313082 689222444 648156368 259557226 481317612 929856036 376003638 982452560 921370414 78653974 389073472 988541156 367808990 82792384 914413532 431171258 155399112 304667072 272291678 859972912 891675218 199556128 448557270 846523642 526957280 17856918 319776990 694261556 36855474 433358036 688762186 635217092 703155482 707090310 638847670 664471100 429577642 55421392 50278830 524154364 977601810 270188144 303822658 636934804 759686024 769975790 72563782 127583320 654477868 152187692 294564222 113747326 799733148 206085608 147023400 997328128 905676560 179540914 193722226 927073982 722248586 445061760 675906466 73355726 356125704 920055768 586613440 396055808 216434190 268169474 962787478 512820872 694792230 573947144 324738786 459862778 535005770 777656698 795949344 735941490 5715500 714814330 494779400 747527970 110035612 518017924 132897678 550723824 705644412 497555570 349301186 114168856 648091596 987850748 948866520 756206024 373416158 626723364 323938956 515825114 377258968 364893570 400243890 125868652 854410622 95174632 34602778 550898212 951275258 936160452 247559192 211977122 546989938 302098948 538179028 924547744 247985686 6873266 18030236 518392672 911498706 94302540 326784864 49415986 356569412 593143786 792754412 402546896 606077682 877031720 264334514 598885114 107109632 94963308 342697870 594197026 679347950 365278628 299673120 225925312 604961126 575145928 605232254 826241860 986301688 254728410 303182954 232485178 32948470 320875708 830777424 258238686 507310582 844537764 435624856 838145630 283889588 980246638 365359980 964300040 553427982 256811096 630732092 614416688 345229322 866771634 52325986 293729672 708534586 857918828 894261056 194103852 108746124 575633344 165158226 594948222 676757674 234092640 163321310 823562150 879718386 736672344 106199724 628382432 931239846 862175064 446253304 413766908 351104808 94295352 878887656 122501312 830030628 886931780 686111334 823002550 505641082 484715536 293702460 297483924 892387980 286044336 737440770 295371124 811498538 380757824 46459616 509053788 505741556 797283112 990872938 631314392 353036944 62098712 467185718 44824904 273335158 162364900 954772110 201356992 542549476 929337930 410495008 41324088 264153684 266835178 981554044 420360932 56896780 149000608 234366604 499875458 807510656 466978854 304992306 908155216 644657386 911702326 57943766 101196650 509978184 180400376 224071380 122375622 452150064 380691386 870089516 911506464 698936364 808217342 680157422 423741220 731317032 392961054 88488208 705933236 549076566 780526796 992476912 211029064 913174858 541619692 746089774 561289102 721468760 450329754 521843228 706534800 966701488 727651320 358910562 560707266 747140036 520366714 454125298 441169272 158773226 436597566 363359260 42167826 502046446 167274130 440635248 92057650 713630236 173146068 192614218 556196730 273657852 390907212 333922934 335186880 70908842 819604840 278961616 754225090 107671022 643938546 121319894 625123950 300234198 371446942 406900512 65889086 608052796 837760720 566597180 874032960 509016516 730179536 647044672 432583544 171360112 259852642 84594888 329401040 758254008 727979316 89818310 148837064 786274422 985553690 17397856 230000190 377187400 939848674 537865382 365897520 627057290 626409784 583457416 905401626 461434252 726975764 396952860 690586030 412237316 45997698 203924108 897714972 957021890 716502410 487157060 572538562 669373266 416936760 381780574 99938188 517876060 808239640 290761894 131223480 701251524 387015250 71768342 55679472 392120370 209527912 207364070 382075264 252569938 564325200 34129322 541230636 205133160 948206970 957405696 146799248 893431802 916600322 579821074 443971644 593994370 729715946 902062460 16440710 46665820 187786372 17366348 372924480 909683020 45689868 326606528 335340568 93965224 755473846 227727680 202983310 959805720 90974900 369404410 843812144 704682128 965799084 615174708 945790822 180949456 439276784 249073470 857747840 73292218 338233070 13880516 46353072 798915050 109463538 734959052 783159106 582822324 850722058 880378594 843172652 862341780 662086154 235254976 293552848 844967112 193432698 45538544 337786950 662994876 39760822 90014168 322843462 82713810 321335980 429396206 532608972 299623718 340698184 619366720 998572632 698952196 273326310 185200114 210497006 979616060 618419456 833717694 20737968 727690158 875812184 452366386 872935798 830284562 831731962 277923824 981481504 804417656 93591866 70631568 507166920 762444698 923347612 152970236 872709432 795609352 326424968 467858670 5773618 902369044 375444424 140110136 881173086 943406844 539154494 587496282 992731740 445043180 90741594 886318584 257034898 97287962 507736350 295351078 436603628 641657368 26290302 175530552 340321584 526618458 440677710 14039760 166405706 107516494 192385928 562821962 780216198 581567130 963715814 484902344 214935458 405364506 686250608 242004440 341273528 801392280 255521716 736863670 363817400 179093866 481223708 120641600 716020728 636613424 544436560 199559952 104265864 490561294 778756520 434858584 769864712 925507042 473188612 967554548 890480900 847696516 181149276 362233210 407258780 741676030 668149756 440619508 899361904 727876948 907434718 405832472 72619908 204293476 838472178 232293174 191061602 283156634 752590904 183677304 673530388 534555660 731464898 938522964 446530102 598579130 615840476 628718698 924786802 252803746 825013042 682449406 36872790 492395090 658228262 601950642 999161644 51754572 571440966 952426284 628705410 482914712 969436132 706965236 356220582 279928920 917598626 167146430 415638912 554609948 32442356 450909740 973089786 623451774 202648062 381949374 546952332 316901106 4173234 62194686 523634876 279695714 603793296 379029162 823344548 154938212 385736052 561658566 585475198 11457340 402154140 895656704 873449448 990825392 190294490 629557634 528544000 568425568 39999160 231354198 811062948 302475998 789716468 861753084 543972028 131693904 839577996 450351538 233538194 318228632 918492130 482527974 22125118 88561948 887823344 595630384 381157386 81989516 717964864 678266832 858885088 664106760 824287262 460539052 836376362 75354088 292820482 775453800 381690154 141720716 629266052 412644502 781109562 421168964 524688652 693785460 498312324 258696356 323962852 30488438 240081634 183722088 961164098 944890360 365250122 728468102 409817102 631879656 56494288 336182444 448251120 205406218 159098718 323755782 707828162 956504900 566787672 688927568 88374054 590520958 580990566 418018126 957173674 964740092 293699502 484891166 373065758 113203796 502058064 291699728 196936638 125328626 558561856 803348932 526857950 320647620 873209244 701938690 700620448 739868498 49151120 358305270 620264230 97941990 369318434 377455752 805323910 526990906 210683906 548501160 684644926 979453454 549959330 46635078 185757320 829844216 299425300 246916652 72048320 16948472 277690468 406475576 272929376 407390616 992983478 70038020 978947248 531517234 405945940 431936086 937378800 624291216 551655040 415278436 699169202 524363144 218186092 979556018 897353762 690788608 925457834 508894928 160784222 845684788 205951156 968124584 532246326 565741632 476918174 49367492 20942626 795790484 517147002 852021366 425006246 912772142 233031126 970929426 921973084 116805532 875963696 272770470 78602562 434092770 124996354 193008694 455578132 937717800 24962188 923956632 876799256 436242488 57995550 154866226 625984892 752059946 829642476 64467622 67570762 298661526 828879420 355844376 905048398 902485566 430411330 413862440 737872454 394963482 879626384 527194870 849179808 864796320 378006358 44969660 946989498 409712756 679629504 801537984 156370642 941188256 264429654 628161568 796027946 626504908 940567968 680706524 815711224 221904682 311679536 212642730 359250766 707258100 598669954 678474838 804233132 53501904 820741064 284876844 823589518 281835958 573368020 470763482 382214732 303179882 848980196 835650734 697747466 716615872 432492976 797620812 106470826 604692484 880768 522803338 639387316 486235662 880416112 848604998 998985212 432460918 715155170 388657970 607889882 471306802 320181448 693925832 192028134 408860658 881017780 763252112 56160138 575615538 412590440 574549774 947239022 400426392 705988840 90561406 401395536 904020106 907668122 400411440 602918908 957344784 880650210 173885058 2003502 947883392 872552602 52573254 594273904 432866008 333741112 857215408 684659862 80274342 563203212 885470176 206508188 600547076 852356750 42314034 358377364 634460778 882276840 758902658 369907182 19263934 63426894 48160570 238116200 117823466 682860732 665335346 461178252 411847748 842166446 71629922 152028846 607424072 830283626 219929324 662251724 356954014 168396844 512491854 131699112 531868938 667913188 981202646 489176226 417101660 353512010 542192382 377435936 67977744 291775518 992110168 803425924 258042738 939197654 237266440 681231650 298466900 600598194 765573294 971571716 351054194 203170030 171435228 564428438 614708708 721451798 741221482 642583508 968210316 612971432 291446908 513467638 291904414 766309300 912070510 48142302 700124292 392087970 899176746 315555802 475023636 839807888 466833276 82596932 882461398 673427770 518635584 345193518 729169760 277962278 135263672 868417134 98519406 455948946 64212086 9708864 455885232 373422810 825551984 339842256 70006018 829945282 637593346 318272354 995215126 562568742 258736196 456475952 480611184 725197524 301840916 357541418 418123816 927101200 803469480 647417088 454298826 408655464 731811152 921299086 731719992 541429858 299240792 678965170 318641244 501663084 554831918 638052914 95694184 218920738 540385278 704066486 699460670 661769486 355039674 809643238 835243296 39099170 288509926 408338392 744135990 953763710 65874656 955828934 889398866 806872504 27059574 350960972 170841154 631534832 574396596 216290778 436259200 789499532 709190450 403365100 381807840 42066800 768763236 508782854 635390918 90274172 737148530 670155794 248506986 116491996 297998022 173524754 607128494 909922630 860823984 400062958 854262482 725060382 424047838 968291878 137875480 454632894 877857744 532181182 202058064 659576698 474641398 318539290 702810352 897155228 533801798 369863310 777913674 894829444 991383430 62808726 360356066 552821426 417431262 819626482 756042778 976238098 821313928 194241440 794436100 539359048 983531220 972417162 105093392 112579592 607886790 758960448 343857886 431303774 720347504 240408846 137528184 237638508 617820946 658394868 641208832 325960892 664051584 305176628 297179400 471025860 956849464 623516440 174374180 372181308 371510116 53513844 402110070 598800698 218026266 337986394 323077098 336436604 913718458 795195926 780485978 940977980 310663068 59762722 749097606 399835282 206997618 722677990 694094388 149748794 29360600 130596116 383430038 151513740 525107838 505654924 404081498 956455982 33772134 706910774 818466836 966460052 728876390 984345210 361406500 966855288 818805144 108634882 66748482 552679552 402812762 442538664 623510846 457791762 955491628 474756742 416348872 543400132 73205688 810531378 781298948 102672822 250123688 531923578 599061780 346855566 908297502 784664780 212363166 177448934 27170748 132095900 530908802 59943932 859720038 459842132 716176382 329338856 615933682 460302120 247667242 593428572 726826100 109137504 735456154 737285208 715491146 220976024 787167646 502817954 774572894 14843380 430588438 857686854 759616178 792909038 221763576 866805558 581389094 47264876 689835280 211905856 655994996 660487696 643363458 235689360 100867758 137127340 722152214 336432776 751059502 405104862 60812508 436232294 65462550 409400138 652784908 731561916 248827146 790779058 369388294 158946234 825913886 997809786 630281972 107591192 245667938 883017998 370345790 720833268 54763460 384695802 870136074 983227438 207973490 762025784 479741710 705923266 455645980 979945720 934078010 606185062 956942578 954586314 368017126 218232136 152966662 492982908 254785746 836718640 650981472 47974606 893503776 817864710 120473466 326180074 603774022 715690954 713767256 689173150 180341492 857864368 836416656 477832804 779373678 913037156 622540146 892282702 930585600 77265510 69964948 887656900 17811088 984576880 36560164 29752646 261142348 354372848 626561560 776062810 638909218 191716596 487882450 344010924 673166960 975702434 830295934 39442472 968800110 511813058 302902392 403081010 990722724 566128996 228799826 902213928 44575212 968948512 503056472 969506234 744428748 155986262 197234896 339562368 522659576 311671850 901341852 319407870 738605508 591732316 710060388 743000438 576672792 623931584 423876874 197483062 88546184 883218434 525914726 784546452 769973542 305549486 708766218 713625522 427420360 877333378 952207068 895689846 923347926 609135864 241418344 888477374 481576226 858240606 308159080 275846016 700036820 157544822 69932370 415927880 362656006 864772866 156697660 835729412 880058598 748498234 131870522 416874698 771415992 968454232 467129288 373347284 758946778 958338718 146119982 738261004 412535830 499563212 536008592 325465374 35317962 104072206 407580600 850446506 283421222 315506920 330204424 489953306 50061370 689398298 274609420 511290006 418631072 792499522 119162534 264065898 967302852 920412736 311707690 181484252 110264514 704173372 935327012 540026186 97878846 519698672 522143938 157942242 397061084 815848556 141565654 999815606 940045706 51376744 680918628 383835960 925098086 410197024 276760402 349320436 905556544 464370788 393957638 846717164 41270672 577485654 715127860 92531132 69082216 329418428 968696718 330659982 619712060 909618242 324733054 417538826 442163622 163213248 341921536 271507084 415958636 465975354 177107246 641680048 999787576 127275914 60154502 924030198 665795048 64838502 32769964 939993438 265726188 671861574 217403860 892945540 196468750 11969774 480665448 620937704 441117410 351433394 907851806 508429006 414949400 620314318 481284870 645543398 446464122 110132970 374945474 532025360 737499514 876011402 870791046 220036596 273375474 967742008 957023880 684878268 270738150 102566272 951125348 432077568 154416692 744105154 395454942 762917744 728686018 431666798 144219462 927145782 463153052 437085638 317371344 987881406 844115600 747200698 594354988 713432124 185427434 714561652 848261556 416853594 243224718 666801266 944553622 338019708 743175646 733532368 620928402 491015902 21715344 470508014 337534100 270224706 949626076 219099736 70232124 593671498 397486820 691195732 847460844 447176452 342622718 274624880 345969766 644576606 901668806 937787790 915021822 905954024 742809018 689331966 595118908 100078806 316125910 38480064 985550354 292417830 355490374 611931722 68203290 205955568 232215842 424573212 744639948 598640210 311458848 292208148 911476770 145454650 293336922 740588616 563980928 252914734 196064902 478930684 614277130 397343274 487649688 112298196 231174428 271038040 588413320 439536096 677837052 249910528 663435344 297770114 65220038 952853036 693023176 131937360 28813512 904489166 970878472 654549366 719848066 762762552 595309024 494758464 624095086 21308510 338991380 412202410 710553392 268025832 489828828 723755136 787712308 348178946 259692764 39842610 655768114 326573054 739588782 614792734 822021858 1889508 325702242 494442690 937408194 365344758 236830096 507884070 943512234 75040562 28376800 350089312 489853508 907586788 567182718 532720650 962412048 851658814 431321816 402834672 344278290 771395680 447881848 103755602 822245424 635480034 785083316 300096026 249035368 892136150 627135950 52370190 946841340 955806802 966527674 722877160 58850518 37096150 341059838 768207466 292027212 30911022 215332158 218600898 449695136 77925366 145366544 818784980 209140972 261951108 589518470 376599556 418564214 181229986 742953202 773581992 392842796 606704512 910040644 124526836 403228662 933961468 752635818 209141630 527162842 400860446 646986124 547984402 39244124 585926130 821880422 616924786 785558386 66763448 910486822 450267198 143277106 617204526 364094204 613313620 463607960 756476778 257128842 218920030 873065804 962007552 807562210 390905594 156793262 423841852 650909684 44786832 510699690 592007594 819411118 18940274 167603188 303927964 516779176 172765022 565535756 540817640 322626874 79670130 497531170 121815810 235627388 115332478 298583072 259078562 597359026 970943082 857762222 412037930 445801090 788312010 637134008 430331136 904558336 700720714 265243142 444520106 776076544 404870990 903719756 673834556 598299046 473714728 563247034 284869030 198249532 176008952 101847070 39311942 512320312 69182206 40624128 311533706 318776146 703587076 805832972 328793098 130079056 581354840 236902034 136981788 732369854 460130232 460982250 655328146 609372010 175806616 532421276 450173512 96484998 2954860 700063532 471132896 398693146 257240628 231814458 661677560 76115882 751932430 37406364 671831212 663447940 662954556 528935044 200416268 883638524 510912852 149928126 433380532 121044306 812073036 636550328 873220168 707552478 152322884 614767804 999448294 108386164 684119196 1959588 395534578 32082090 202135516 821731550 411718074 583224170 405178084 726327268 563973196 80811780 404103256 149725100 914019638 85136970 508511942 743726604 292008340 389804816 584374792 811507910 691598482 51092192 876210468 893195876 171227980 168373968 632428694 315661262 525124952 67406698 416912590 98554238 895573026 935097696 949571276 410810726 511862442 225223792 79066112 922354166 866175012 962750596 189536414 541991302 957690060 233989638 414930686 444590358 176602764 528096304 998882036 881628772 380350878 13030162 548290930 410338574 804492782 24890866 332793240 859329026 673761626 758811358 617198346 830089104 315068462 248789444 327957168 578414258 240921946 11719066 614693674 892690446 255124718 529504114 829237340 533875342 605922092 116588024 251270480 438413206 578424110 174345180 52717458 686464458 620560090 819730526 709297506 686140582 737014798 459853146 957746996 318879326 880837694 261183502 920297110 468164062 663250016 186002038 736969960 140651706 322666006 933659196 146894000 317592786 878278564 644003016 127708124 824660858 290430598 147797154 483309134 605559592 64690414 761751012 642487870 976449712 324352948 660344142 185484576 46708560 182678880 839886742 369390386 481005584 671512882 483399892 244603140 195140866 492759268 317635426 629071510 262456320 853946138 364320574 232380310 4179166 581969262 84413160 535236528 544261924 922889484 255182808 74339058 982213952 364673452 153664586 64058170 939294094 990233342 791777234 799686748 320267008 934857666 499947072 624495064 922234740 438038330 682322510 114572098 8314998 829146902 115109252 184109226 33343740 277248500 523796028 862853732 702270408 630166628 599215630 332747358 190616446 741077520 292392206 609471932 619528170 638025984 816417330 126636250 842965416 1360098 45704982 780407634 53168588 805179832 979382974 123248208 769660060 962990352 289453278 246532744 500962480 819981636 238650034 336966986 742854320 82744490 408199738 70275142 577921788 591647630 107163614 547277330 932651296 598842680 22676116 275337298 824081452 212554000 363035824 177350682 366761610 6195546 105524280 767260478 624801964 435277376 286440434 832575628 349560186 986143174 917593342 187638834 5354452 681910752 726569808 917016620 4566062 453867928 672868470 417929294 678172712 63215694 565940614 204717258 142068992 128212056 935782318 83260384 905049404 661934196 862166096 248098734 952446552 477648670 364459204 61939512 432933014 637264666 708791190 182938102 353738670 181542414 696436348 678037238 198393428 343216402 263895462 835980208 882336820 270130578 235175052 768002014 229167766 872834838 360633122 675010154 832407696 678264334 161492932 304894376 259224376 668569840 197460270 843375242 642166546 999622390 68512850 407923076 642321624 45274360 284386874 56999638 106652800 630276522 904019368 412225560 417944480 399522728 610490128 440013838 354397836 414712682 688106756 88608428 33015544 962476432 404949698 780465180 337350100 876564576 549477104 493777230 442482018 210608728 777919668 514749908 425127470 279996442 720733052 901364378 170535834 911870122 403543256 843957288 521214800 854429850 304680858 480706294 829830940 583035550 439959270 140398364 869319176 384776980 89500608 339587920 553277428 96003948 321249270 901529056 987116164 208027514 767156212 289348958 645209172 532589508 315993428 618027062 796768882 467843756 881989686 520940598 778743182 858455710 632980198 296886414 144371056 487287184 388010094 359175924 809962480 874272952 719809832 719754874 623681434 555284892 292531734 55888834 572691696 674128864 318116656 423086640 639665844 875023278 734836346 287214360 323035922 992379052 696039028 881170344 963106902 330812646 518360820 380918190 381822324 544510128 795862124 398554680 575660348 686683076 526665166 613138330 709911984 944823776 508092002 750103166 521553950 203834606 407973318 742301964 686362980 165647032 591940462 774435462 3906010 650211218 817674794 790468668 678816092 231345834 811394420 437526940 53545834 125326814 808462620 186245348 608777236 593407252 177328226 481726576 843956374 452020574 731084302 608935452 155953600 376284726 162919646 536974070 37642450 603254598 538197718 794247936 911524134 876526270 162808234 800829658 127118824 927255372 984748060 491444496 887752578 975428992 375959000 308568272 182302804 308532582 562914256 827791858 529466834 450166804 786766834 13981346 626498922 353584648 940720856 433086940 88610136 208715368 371672950 335846900 924819312 629823716 566411786 219486092 213488756 580669790 561066116 299287814 979033964 587034248 189534136 893968144 831325812 213958304 969710092 638735266 744893366 441845916 113247832 396707048 322225702 539834834 354901260 592933890 886501652 943662206 57496996 669117698 94454178 966330046 482924566 46407774 583531840 836206868 552671358 694996724 674678546 475425620 595323186 36951064 191788910 212755596 417002134 710124770 96681566 825312670 297300320 463160818 378589038 404972384 428514404 38430984 689401468 879568582 396537102 86332496 677659258 812830894 458588278 47114952 748514350 91880556 557977986 680935036 495362014 489398330 564796950 612987440 255230674 395732030 45563724 484324050 187483516 706312172 956888050 69882410 434494960 801608384 992637370 681649772 28435966 117220266 591763830 131451696 182800986 98828154 828251810 41803766 902650922 33842176 731206408 5829524 976745548 841025026 233170832 269095910 403918976 584683906 736985548 289069466 560606306 633532084 49661286 445319436 525638808 288086324 726848866 231143340 652661754 162017312 280994154 964590232 280826880 861404928 855583308 772931382 176399256 213766692 436748736 219451860 213842726 864724310 60884134 13163594 479431272 222971240 558780946 267358382 167110752 609029786 427117742 383472352 183486012 351446106 384060920 358681664 309493930 124630220 344117276 438860184 280512774 466624846 371158476 661094196 488493296 917300062 587616136 336859902 202526116 807633432 707085008 394104944 535042330 278433370 231311204 101790778 567464614 449923100 368174266 715735832 137563782 831693124 652671828 115772916 927311978 665729438 674882662 513507418 820540678 394267320 163674018 959384730 166512144 468882816 773274674 25060876 227067108 164284418 653075614 966233590 810502842 669069014 795776222 517435452 339503696 527767362 159725422 165798110 278703832 682384802 228105346 421461416 186117298 58964318 974060420 501782062 861107678 603427266 18684338 635651174 712188148 155709312 86359424 126005882 67715066 272093692 430128032 730815820 450741902 170726730 46393672 98445696 949281078 571089698 62447328 723921508 421535786 747096006 784770206 285767818 595743564 880026128 553823302 905194346 869610568 869408026 217620320 778812044 584700474 193978948 469629538 625289436 433758950 931513428 845389740 869131780 333233970 402669414 451604390 695661472 623953142 877628526 830906312 619478548 733488154 657434706 852327554 433993676 722761510 370752664 126023396 494458208 696271308 143473826 120731802 641573846 131589824 834040406 712134924 212840078 691241960 135109180 601276898 535827778 816655360 850669898 167070560 59914764 346590148 690551138 72657978 409094456 969630764 157631920 750844388 944371574 236402140 497614918 714615110 594651202 373509028 59061566 393404394 838926194 495136130 380849040 889741354 308284312 639224178 170282096 825402274 350458976 868031290 917195406 232590812 403472432 540035916 370248102 553146452 421923744 224649834 204279224 947036516 542723828 418645450 746422454 409861802 397150994 767029672 594155904 708525902 216519904 209972400 871063644 463320978 946681134 572501614 423821178 240770876 940841322 837198388 211989440 810349916 207531004 856962792 460583830 790203644 118930802 276247070 113031196 215776890 276187968 836534472 718982880 120718966 711305580 528991880 439633768 234118134 453603158 733065814 639267628 339311872 963466340 89573418 333462004 341262284 337661368 193870804 520828722 552433880 905592348 89289638 824564758 924984940 111343876 33305518 946015248 964441668 675695008 535896056 84995580 199382530 216120612 888776432 234832162 360497672 49897812 749105164 145146146 503700700 340659896 896220062 513148952 298220878 709313532 642777082 930821858 321981494 946613704 398450536 49620336 349772124 861257570 798057158 113830308 682021624 336280966 602899644 973984856 768728390 763000040 484213224 736589082 386189866 295391008 580032190 857457704 686681600 352197534 808176968 185103724 899089176 737199494 449902466 290803318 238303656 546167088 908605430 473186956 360081506 235542914 435794382 556635934 634087784 745306550 504738644 795270236 949173618 503148864 843533332 761459122 357915830 47454314 321273902 33104286 881036764 683190390 462594478 697892944 908028900 127746062 942520936 52220006 142170112 652174416 265903060 196568900 402979260 319379136 753195796 862343984 502074170 555879834 463759430 563649084 190888470 128000568 989282026 282300840 474846078 820252114 409345652 524879146 618648930 235036730 151052386 869142520 563077386 834540240 307643790 399808048 331954664 659269734 270418922 972660348 470622790 638496282 954514092 628498194 883986162 811285004 194122384 994587994 803126212 793985900 325229822 756348192 772613256 847677404 425027502 355693486 892232578 469344790 208006344 757873612 943338542 394407622 308952150 757496966 538478554 33579658 975407122 995677778 755397166 693594250 472326122 616479182 557092166 412392258 525733516 967875968 89736326 716901660 377636080 145496580 561685394 417357158 162399578 745110590 196039376 882649566 630033370 988885620 73784610 912502134 183658914 739345752 671909694 556148772 42344042 421121160 277600628 33496556 412316432 258604870 368270822 325668800 286613002 680160326 192019124 674788526 278164564 557730548 100045494 244282398 624827616 302418518 918168364 653183826 84195638 553764702 80085816 839382902 805140050 563563958 587054266 798021938 652128046 381463058 501577464 255530000 114160964 499575976 585549730 875879504 220402458 128764654 678535546 220441472 660903316 463053302 365118724 750324520 197259996 516810430 768196214 226310148 941922406 735669788 190553930 720976158 234400432 902407900 811313058 600751262 454132646 585091078 415454790 916204310 127637042 599555410 614725110 164512250 567110042 568627426 657778616 921056482 406693128 268943418 459424046 761936586 647140876 110416998 134632300 185092842 874890788 726742140 145652928 174891898 997968932 903392942 694620516 927450022 840565152 123797948 55989168 820767738 900255356 698561546 973368752 98700454 188976306 734569484 966274250 785808230 974081474 778802782 388625534 673999328 571117156 170831022 911259964 652432428 691116424 707127872 520289922 980046750 172643584 446479784 501034956 359988940 920699312 654368110 342498670 546550894 43289578 452723464 499851994 614519710 368679380 886956596 653592002 334503796 146009408 953635984 288573334 497315618 454308682 328828122 23402310 808109876 11182218 180182102 358831168 655931846 378334286 672017716 613499192 247713614 593719092 871833626 137333112 679483412 537176924 525373876 368807238 407494848 872472646 512672134 204151814 781023524 505382014 453853248 719452194 724084392 107462602 229695584 964243764 471915192 439539046 507697222 282605340 164441014 914337194 664176178 380444816 205986548 293816010 853946534 36396556 772577758 480794600 598625590 314103488 360906214 794448604 527380278 791017024 985330866 151348942 433978534 284346054 716803094 314602374 702213110 525861298 579910128 202508458 735513546 421475934 895220640 955247260 124334754 582186492 832362388 354859910 705415584 603589844 322484310 225994672 548837982 843591720 84411932 392381026 164653936 159369294 180301474 708928630 679658474 940247820 934196250 104354258 959002100 130047044 888598600 824826646 333709504 84458788 553897704 705434940 268228096 410388124 905034554 356136964 593439538 639908236 874810954 800089490 392275216 171978700 480338562 965451026 975148542 180746046 882565272 527006884 240972216 214512342 788746090 433865090 136054340 92854726 555181228 881765794 915554734 851155870 481891892 236782134 776424402 457980734 536312850 22574236 235664338 788730072 186400544 789588002 104282444 816510230 285967016 460499930 445009618 558773686 649265242 899215368 284350336 201786874 195062692 899464348 316188248 405148392 731687140 76816886 778071652 790686830 243816438 538046708 315526158 502268790 689287308 238330638 731281706 972217174 879416548 641561248 833122562 804794504 943822294 799251104 210716322 307540414 683741718 942454666 238371642 198027994 425431624 63545606 249032588 159303106 910099368 488928740 984522244 103874502 795119268 247754260 523379606 696317100 683967040 609177938 679111412 340295294 996933942 490449144 747504238 759581324 945857320 690633156 689611592 931082950 40382010 295339716 300738828 975583050 416653196 103030766 438460062 315475940 25364870 102426214 58658198 60894260 275220732 590615146 625647156 350998394 606210120 738346948 120517026 957075408 637494748 650268264 718912172 827314914 832915646 130639006 122232834 962420354 634592390 87414982 204848450 840754432 629878866 636180920 234464602 292235808 953455186 661093110 466656676 807734040 53403768 155947020 886769512 748825514 628344004 788487352 341654920 923838400 771033368 80805234 40781858 775296618 870420830 795322256 436332760 100827584 246174800 326797454 306854652 346569412 111513870 960030284 625214924 135594780 484463246 363852440 408081362 538722800 139213290 788575406 460771384 235396596 719250852 176175896 156367748 51626134 773948544 300361854 10011204 717664224 56482186 409402022 650237718 980798006 54566528 939570542 419461834 568909742 409890122 723747212 589802070 618734736 497675272 98745630 758059590 508887138 784892610 470061422 345953788 366381436 346090840 779017888 543640148 465487972 292137932 423036038 332856288 591867962 400811194 176354294 474563600 823643442 8052452 27960462 390773086 467126418 893243120 474648320 930821832 389111270 254532142 235950768 331658336 103750600 862876938 39094630 427050636 2248422 81874678 370624196 66854526 426998702 582319014 116804544 508205598 504346810 28624576 3822212 561950558 694733190 901025068 10274526 476090656 578618996 256839830 843746748 456858468 347417680 257547166 475384280 42945316 675298020 359554610 689379108 606276086 239466940 857012966 724060728 50382998 652737924 94969878 958712766 388992352 941944572 842509762 553401508 961031396 771693302 800080244 555499864 807473786 730357894 842520526 732466320 963621810 114772508 525636580 961438944 831593400 923698802 487461136 250651254 504574824 193910408 621306982 379571176 449258968 451439404 335271650 528227752 451410976 126996082 268327790 392912736 287596598 260429542 440269482 913635062 388873060 84807458 412984278 584694318 225723698 108167744 106142016 748831708 161081308 722687958 608953260 704589692 581973386 925837418 352738086 74221434 830370916 250696408 537227348 926134904 932991300 821133594 151787730 581976030 825168968 333496068 538920484 273459448 899180394 498622826 852251292 46846416 15116594 963265492 420735914 338505668 371159092 825571944 825113992 757516438 319342642 173183542 949392292 459449036 572733384 408765230 722387302 985471044 443176496 314307452 670039938 833171346 189382186 17494672 49896032 352804486 208923484 514710196 718962354 897240872 168878754 453189686 557029362 591489296 392538542 720908572 53546716 969087408 810193242 716340876 667129964 596670658 548217630 437749078 165923920 791112390 726173776 640335576 361159680 566103866 127921946 124581016 929583352 417948440 42066702 381769606 815792906 807221438 957632406 392416558 461576570 82941890 512537242 883035886 835376844 110612646 220158192 906090122 266999376 768658428 13010332 429023278 396516086 157329634 779049204 67257434 505176144 370433382 23663538 632255840 776537886 15410338 733154942 967722558 234441168 42839744 691163392 727753760 166425156 950386294 681441994 507625480 855847182 917692556 242500478 190284142 23664248 106312206 927351056 580066406 25125978 792109282 971817502 344744534 421373404 404491034 408184684 838229218 939987450 111923600 607348780 304593420 980364726 446356974 938231804 339081752 787217550 293852228 977090434 735711428 666402694 788473306 354855072 166359104 372827752 435106256 440239132 886346452 296573480 701373474 446926738 597616410 945454014 239120340 485162808 193520728 400099738 220010854 24913728 25847714 179962260 989271022 404353624 356204788 35068376 480795280 229401754 330312788 551840000 874578368 344065506 197544826 913974486 552349150 530876444 121752398 673225732 383679766 412807520 149910910 157245022 467301474 49096420 273162064 792622980 862041798 758623366 144789592 509789546 136021010 523980546 583278592 32982870 89565798 347290448 126966548 118149618 359129322 918946216 860333422 941265044 96500116 390997694 854127040 414166858 732599386 763467298 37104646 917608188 280039762 675355052 391887176 996348398 982974052 529074776 376406338 180309960 448395016 112564682 825727324 894638392 910678106 338272472 250285564 613198024 770993204 300735700 296981832 507047636 28680068 154026190 415087176 255194554 22795000 635460296 387939110 850527370 820477966 174876432 843682996 400769584 133568550 133029356 879190164 100085212 542359902 576196478 995886576 996955380 310332526 365467106 201241210 390860450 645165238 658538684 907960662 235589904 708412882 380613300 22781878 437276824 286699968 271714200 914889210 602436268 763300964 226888078 203523392 385308462 31741430 281607424 848494166 934016248 352544418 954187238 299414792 971926892 976131094 645553994 181426774 702081870 411859572 122973200 933877034 56089026 646516484 971031618 849645218 500973028 892934364 766598114 104061330 703708386 15259500 86000094 125119210 933013382 980425608 765335668 159255370 758478650 742645592 787487388 918771386 124838332 935712338 960742200 130577720 452596096 170865326 667194686 110549752 604913854 88219588 36130592 35980244 696860958 613093488 128025584 856917774 749826752 28588170 199003878 231274248 106277062 61302506 352707438 749304772 907833420 190663622 536718594 248923864 581353574 569059538 541541114 151105566 497745034 231902100 601758558 492867850 607893320 55057728 117285680 838135988 730973192 932179006 395392158 122396838 981399148 29881062 262760480 964254414 140741554 189726790 745318360 297381606 42616146 875045520 703313468 960709990 803620242 305363056 171360300 519924670 161052728 988884122 813203950 917743388 703951772 407663486 874760028 825434850 909745772 736832880 372031178 805010340 877055202 557187084 662829394 557883886 227962240 503163866 688737780 749742936 941946190 781149192 750931030 448014188 370382222 372469218 140534612 773577270 595215216 537647308 934018790 686949938 504960814 883923010 629592228 862693862 429583120 597291958 637310504 790831300 514441554 882458142 713040452 410096336 918558808 428875108 46474762 264888028 193329674 866652320 602031968 742369432 965033774 967670330 368919438 425983164 572260920 194321464 336343526 526753642 384646958 465225158 108463148 898887742 754776924 291572714 388702786 546607590 701555232 798093106 637623118 381524454 408821484 680739046 556161544 323663770 52978360 57939436 144513432 83588256 521070780 265721322 960928654 864026524 681078370 485045546 747525654 150310116 455986294 215422940 883982480 901746768 880663400 428374198 859870880 554132474 182329320 166149260 255656918 499762866 866347508 4938406 784460624 129291210 122424432 392755272 218006510 414762768 111692418 26979868 87224492 33514150 624131130 217667852 207893878 470508900 880098574 657109978 325287832 571186158 312793980 529699674 492919334 160685162 132170416 344990822 533636528 21616118 298743212 330105298 986438228 691534418 761884108 673712470 153898714 893671814 851927354 506865798 502158868 501017972 167652690 398108922 481937622 759356592 986579418 191783024 721582938 387914812 320229160 5081958 419935460 163817994 395890970 374012732 390061008 346608098 900557368 281890264 35624874 537114712 319878386 524526460 677322400 465161696 766290412 682552228 717254040 643735566 385922906 917965912 763785854 488694896 511280120 553368374 704174392 285741414 311247018 599040946 823791470 155262632 441970272 234033312 953244162 184805852 660196804 531902694 62963700 413635370 638801830 747812810 731654662 667602258 764464492 571470742 439414948 62003216 413186930 994821208 444626732 843021738 40843686 78033704 399650610 683853560 787020958 490944096 361970808 851353698 43024454 337313736 100141282 436100706 806820730 692992630 59588798 216045752 308704188 853906568 573184480 728022118 501692000 234054726 472472062 14853474 980606156 996251652 106400602 845474558 521441838 23861504 124835754 838803774 581281194 567888566 598854298 577135072 605045756 623318268 310954146 429056600 446516168 750391272 898092858 449639714 43026 343851704 931693932 360039966 468517254 676772208 218495430 461287828 805565556 259714408 627235286 664327762 968145760 141815330 889423208 704990966 279503802 675364340 711992068 869727890 895044802 418960358 534761292 712086792 324619606 3499432 329203822 373593820 648702874 181842792 680394284 669438250 277740988 574654608 233847814 263849460 557613712 508174506 839682624 433445700 375934758 543938310 577526968 318495220 411429200 313067462 766777084 516654116 857882594 139751308 582564542 808263092 211567708 934901914 821799728 491700722 749475110 75212434 511724510 935155798 596284560 938495280 979611380 388536108 438955674 453485920 846685730 233408294 405805524 246402750 565850302 585033770 939334464 480890330 538206506 351125128 966519670 410616284 97106518 154693212 754347208 134072000 403412934 751721780 336231400 405859696 242535690 461262712 20483102 574247078 848527818 349910666 321986398 695094980 64862816 387470754 952793226 462857698 635683760 494224856 551516256 739993212 614959202 765558666 451289396 487408282 766440644 324196158 175745632 796941064 555257384 355664546 410865134 264662000 577369578 75902000 399732712 77192476 173804650 465982720 74276824 658044346 702779372 101622456 175872266 159698764 144110300 569395402 144390890 1357758 112852110 297049682 393410866 891292680 302089966 788908716 145987604 662301176 704759346 838469890 160521326 348847064 223432894 751644376 326239594 275593142 278307116 497824856 241024446 341698200 815858386 573834840 501065620 976173732 792393258 240013530 238756810 945280588 886465448 788306872 740756834 725535140 299330150 213433718 252518228 294993138 87741548 699753938 206422276 537518456 339286456 431891248 459044124 510055850 893336252 291600042 61362414 444094562 510500544 620438232 624211312 475771810 719463538 439537968 450275502 413699844 957348822 4485928 500827310 432555992 683453516 900781650 920641306 766566604 191740626 182422620 808842704 322037462 827615252 122900710 269998900 601352402 902061080 473936366 973740928 821616492 573944412 72961812 255072062 592254180 764298664 361645256 435068742 566578900 96044574 619897350 490727520 793274712 262180794 21588096 571048790 34090046 851168222 153469270 968166904 396439572 756691644 222733018 119712334 358829246 568381224 222644968 627544192 740509094 683107992 441315334 878950314 880394580 146836550 990825464 509094776 318040456 862853848 624091616 213318974 548394512 849532976 920221350 869464162 175675942 219229770 871856676 222076938 807267830 172371834 710690624 767622146 777673642 30839832 755511286 988499550 906608416 775710700 817472048 224162640 22082140 123166542 627992200 792012478 658945090 726861678 383102336 640651386 557352048 766993584 504695930 623704304 86002452 997904668 880885660 996719372 19926670 218107726 24323988 878113616 402438302 964649064 785253986 511877366 596740482 523093014 1129652 281056396 980872436 450194502 718806170 161104292 385477640 402117512 375019416 610966592 558102694 525911494 835745332 587056276 665839472 119091380 387920880 211906764 617586688 635044380 15959596 143385476 808715114 226904706 152921858 381369388 658320874 431897400 361392466 462815418 692889654 753313928 336801988 660726290 436489436 447382622 644089254 944381354 920221244 551369876 30411852 536440650 66935218 737725714 866943924 59743032 740018062 157822734 32313934 320543766 244683304 896349392 841742642 62078086 829118270 579028082 384859244 449249902 453954040 87760798 165368650 959928536 428609242 944276540 375321882 694240898 349555534 751820144 436728672 646555398 625773960 252825974 571482740 700904442 207835468 469555768 105464582 830353642 725029328 728980988 475262688 413270590 499007404 91232616 485869754 511286428 666114478 485893454 380277282 881552926 450624160 512726728 550717398 801352774 349120808 838528174 820605690 553968852 781148512 770605626 483926690 587755080 97039886 523638994 722835130 2043618 854300122 618323560 341136800 185237082 159195294 362538650 897985984 10433890 764876172 331323626 167593650 89070524 297177264 841327794 856691370 410156254 463763888 409174874 484320406 375454506 344395638 429932264 767980206 834058962 755672366 651201360 147166554 91272674 620074700 133687926 60841958 85198470 491985672 183775394 224653372 242207628 816928842 57725714 317656978 379465206 780982588 875604038 17428434 520462740 820442746 642253010 45948544 682571160 762052506 571106462 455494758 881653474 311014406 85483310 616605292 941496696 982930584 178302338 638069570 439136242 723592486 478850822 434496366 428685980 992420986 741127960 807607854 924993250 472945900 864257658 869012236 308229154 407086984 596303218 79475688 570067076 340859092 911306874 172801268 129194198 318418662 882313390 221130792 648431158 708778876 116638252 84779756 326771458 610733190 451114202 3958794 215276092 450084780 608072200 326569170 111512366 569402394 578811706 446009822 209425200 203001228 935144902 117078548 573867336 820837932 703429918 405038584 250558602 726929084 920093498 371986398 337268204 909613634 713736834 133492614 358612454 213924994 918695306 984175150 162008788 271267492 411837210 819388204 6471060 488615424 895015292 699452984 47895210 717105562 947473258 599093648 784600186 683249604 598982234 283996406 516619464 34609798 844376942 50489330 318664746 672270140 798518054 127754048 119755118 91149604 340348336 288868732 812296456 115523220 127601300 243788224 865579200 318527164 937468222 152048572 202032600 298833472 650605402 459922250 634080326 41396954 833521694 496084978 496503086 903411712 801071852 809506870 910086088 473813858 168533384 519881186 781751736 447898212 415862698 34923082 726991650 175977224 895679956 629635070 244729442 310866162 570814708 241346252 613737150 96232598 98502076 78886072 922582554 173783246 224405376 184081668 178203044 524921070 956183000 739670372 131574824 297006624 123021168 161157052 326605352 186689072 676743298 604698494 339020292 376217910 255174498 194635636 49563018 985780336 819374468 164984342 599684184 949628976 803509274 807601652 913192108 41259062 110450780 48697556 39192880 190600640 211552236 24954688 685293892 766112616 176849252 975128468 547048870 228780172 265546202 17484642 474460680 883318740 869299942 218970204 252289144 578847740 570989764 168657812 838605184 167640188 434413196 349637478 18555596 409599158 451938552 846907016 862893516 664481318 11256844 168323758 533980594 126217028 100292920 738196852 666536174 862793492 862424116 309471758 869043188 914399104 883741530 611278450 54902932 445602254 77840558 640438706 626979350 841017770 754783440 41335468 399740062 54630602 760957252 832856192 258752236 960494772 381254516 462405408 924034970 695882156 145867524 407127132 473379220 925911414 151945540 971174518 270591654 515090088 338446374 103567386 850728194 116323850 831040938 594704882 147320340 968636448 155020986 725069656 686410604 381146682 510257308 288710926 719276452 925602640 457772466 578383082 642913552 505039430 420362338 596263244 420681922 448981212 284382650 876632444 544144298 895078822 15672058 415813316 167614780 970681700 283104540 921656076 892914196 98359662 617185020 520757298 699969620 794825066 968715800 575850072 278523056 910578560 102665550 498304218 932407722 629031004 719160660 181636990 815288024 810963318 957368276 981543988 864853430 222620866 332366388 568059656 530791502 292866052 821071828 213843148 663014502 401688330 842957682 253488150 538314214 84780620 491970486 561276348 869277616 816125424 111350764 561959016 861003926 552360074 845295188 426745588 957767360 693598566 968624510 59637908 603088528 975429766 835657102 955757638 492006908 187438824 376916314 162341658 946287392 346435540 350125824 704039926 699686276 930915182 930170848 7908732 708951634 217245480 756695544 363607704 350361012 718696186 181470652 145683114 255769388 817303288 83738462 879768096 930769618 164675064 131007186 906391182 66812036 176986094 306713722 215301308 963422184 219471228 45883308 864436342 739412966 517625758 366538952 882256188 671592912 33170156 805180854 116192054 44941056 545686 224627582 713836774 56408594 24278750 63348494 715165392 335420222 580226350 357491840 466981274 948049490 875113014 1275802 141583744 598343750 701349624 211182380 223401982 702159188 609120702 777584188 182675232 362001000 195011564 24433072 479826106 855719816 76686290 997213320 220965810 920346326 518292562 859423922 307678512 315200034 788684746 100762930 676374018 580874534 948225846 507218048 374657194 612197790 275173798 264713090 899023336 936419806 963141138 732161230 778135278 231244924 443013688 890851910 907503790 421513984 78782390 513653406 452171248 401066402 562133932 610300052 632731266 753386254 1654974 794864994 113531162 298634138 649730056 547830104 378442396 103132160 458467084 829792488 355158950 934318548 942166310 451176802 534308288 746875534 503095726 458043752 222935090 680853798 573833784 542972022 553427368 792055806 813829068 332366682 500034068 249568828 357038860 430217906 64655926 434722724 908951630 644205776 382208816 467007682 839592436 8418150 882850466 810499824 34318336 880612414 354714546 859106256 629828678 564883828 556387176 401359364 209323304 870176166 444335574 288799940 162390454 804191508 190645362 646345968 692680074 118789378 297218378 634029948 564315472 184637878 582541016 69483590 79864710 873094778 847689828 969968512 754205356 456671912 687143782 915177590 685213838 920490962 22795188 211177598 481973884 707506326 997039748 64425694 713844322 758884676 589325392 181688016 862178606 530471270 724691812 777269598 266252614 276971680 415335594 595529282 223629882 516063046 256524142 756642668 348087202 527637446 37614274 235806574 661246762 639476456 424130008 422687538 419013712 994030798 765424486 577522422 138751028 808922938 748043330 52952876 36750172 871344264 297744524 37710910 350706782 501156418 851059232 610193826 759713112 286481962 799305294 141272370 704070830 775032694 474659914 594001878 787543864 598668586 379347124 95758582 942557526 419227758 490912772 186714428 950513514 547740794 98533282 76330970 5076576 908140380 606356280 932466602 355853288 963408840 927993102 848142686 86427460 473962652 163616554 533164362 613243522 286510358 661432340 525251942 638073654 639874446 40128966 183600712 116594200 949342818 657581868 691357124 979634742 242093080 662904166 389887804 52444714 898817212 39255500 234986186 889950650 658307138 382868980 229159782 43349066 54978534 667022524 838907592 936260478 917039836 148819372 950902264 606054208 968935242 169539716 833726564 309632538 504301636 936564350 897563652 52043864 903050560 523916462 408125578 756059352 88280166 102254888 208215132 582042300 464946810 296977628 366389436 656378528 208310182 404104910 68188264 470322996 898447832 931454844 962290432 55513022 728065696 267646700 534004444 151484152 973911004 89097682 18121752 594777094 452445234 714430262 352840550 15622586 151350644 564049386 960431724 8042638 707736750 528454336 287405226 669739916 610390336 72335270 826349098 696287632 376625402 719260870 830905102 813487138 973207606 633013412 270251338 686625664 253969060 710968472 919754608 605341718 431842672 530330148 151439274 727086950 907316504 98814962 657396188 238141548 109325422 377632374 969902896 169028396 548667942 646056654 422771312 583432140 329625352 983209420 602538568 613212098 616588280 977116406 696377110 89612702 175642848 448319236 195597810 109077150 77914416 536267912 391047008 977622850 109119664 20067058 970096826 66945668 972129978 46740152 748855782 290560754 681136634 522476822 697093768 393061872 894362590 188103264 660346108 274543360 60666686 549852886 600460008 438438442 648271966 576194460 200329894 94173466 835386478 489928356 278485314 639751478 60776946 396527824 531329074 271520974 533472410 317325526 801268008 268474148 458162386 52095060 392934490 786727584 422135334 487199992 872433404 394279374 662481602 176814174 494640724 667825356 160264862 474072372 767551348 531051808 634296288 433880332 440771716 325893954 666182388 448950652 335610952 727854856 852062604 497354498 282921450 778527162 979494732 236818246 484118264 594944832 741253584 815216154 118570128 651484920 824367562 102376376 318008650 349381504 199709754 112022710 195497272 163651852 504594268 321788008 422924376 420967242 443320818 437347250 858488164 87698186 609406576 393264772 734968264 141704620 1367966 299382804 95116030 338537944 151172006 600629492 867421638 745634506 800989972 462053292 821757228 314471158 941441312 749932684 642416280 368737762 534883738 466521642 99949054 960579162 802146262 834978518 414234804 62161746 321687192 692725516 166601526 5651102 512469692 541751936 699041840 979972218 258761950 876818904 680221082 137028194 467584498 987550816 4767228 370765560 208528434 875762816 351681840 513377334 684772742 257027312 112984356 59363138 706699028 258082122 831866648 998375240 189958670 340270218 555210832 537516726 435070608 379540846 549777406 511397570 408884768 926415982 712979090 931134842 844363100 277670806 3541866 572657432 11072672 809256726 393404602 468635554 801582646 947126748 632411444 750706386 775428502 995560890 65058660 337613318 10285304 764255446 10436112 585533168 912799942 385179660 455547846 435039700 746472568 725913004 240598306 363468500 271426406 37388114 591036066 749569396 577498674 985352138 70094852 938318888 485965176 423837464 568775128 71781134 102554224 206326854 691858214 22857550 518328178 420775974 969563170 345347090 756730494 230486862 524590660 215122612 961079050 217271366 940873086 214720098 516191980 689677548 493032706 8824156 978328374 116661934 378488598 920610860 959860066 919445010 35484042 597844070 976134384 758134950 941938568 319226190 357132154 132337362 390967426 131873446 146588126 2222850 362236338 34790098 508915692 490232114 982717558 176833412 912334968 481467956 683113296 359013454 815620816 207554972 744284600 407019142 248676722 331381372 130418426 79766714 273992804 149251758 514075026 252527782 684268746 465049920 260103482 712922528 689464704 638176828 448222056 600946304 372080348 893682240 777190616 900369352 838674494 204032322 607693522 353169188 191844238 751899532 817892492 130104770 569187570 973051630 605826474 821468952 976992368 708150492 804977770 155731500 491041396 56863128 951320518 637782514 669770484 346350796 139684934 773380034 329274670 487507374 149173362 339350872 876882486 896894196 272635978 765198014 591203064 446867454 524286262 272225418 328634508 86879526 954295888 176326384 574413542 347642274 584514322 71244230 611452684 580291928 577324462 105565366 349581492 414907136 411984602 306935376 603497874 865260590 204047454 83475054 207765748 760228702 952233508 445972258 753952280 614208868 728636534 361615836 201484972 262611370 753063042 629912552 955226818 102142482 414965346 206331308 605507744 706853756 974747482 72483288 902998130 140666452 993751794 539852768 81130824 170220968 384285452 257897676 939574086 264312984 388731270 810079632 906579378 624357128 92509644 407293884 774933984 250010068 431807568 637623758 570387662 539044966 425129534 2653488 927554258 646715592 83557960 448404954 755626684 974145256 472377128 559225302 33699824 233199922 866911686 999853356 107491108 170507950 469830382 96358140 418181496 599982974 484802002 857754320 753138406 496666756 729568876 128756800 401109604 820245620 904033252 139991258 780412168 5139684 488962632 413381014 114165916 119187168 767831166 136122684 702774598 782664124 281592348 747812480 745262454 923266734 6503184 1372654 709379432 95115628 53757644 925411740 294250094 60070018 860694898 61308096 526573260 299390566 457171056 736058210 108084886 936287036 340057520 813846342 774356468 919648824 532647792 717843878 97433568 117638430 476824564 105850366 381132572 755084156 22727732 893323958 936430764 729951278 961107594 342582038 129376898 572100272 194198522 447685428 336085110 629943682 536525608 528006946 498280000 701857654 7621368 963884540 881562588 330423954 8572514 495667340 323013166 35627988 948739508 858828046 767416498 931322546 404548730 749346880 775241948 496232756 326065462 604980064 999936844 332526264 924287562 860813698 115476386 961898812 886812408 122114110 968287498 993308768 221314584 591291048 850186816 908155390 704623508 808009848 68217710 922611634 89134318 548473586 785412860 350093868 285365772 868878562 194290832 58689482 779537770 769382104 267035984 866376598 180377396 76184784 132830868 258647858 829608012 823470636 763165912 70880562 513514402 590947792 59843234 400071992 277997358 402837382 807903356 600095728 108658784 302342474 456946694 575890852 904122722 751506638 365691534 378226910 456956828 431567604 689159304 458128308 699338042 127880758 715005036 15529178 967461652 158409392 539427466 812383622 363941746 99345662 245398248 621732950 946798992 919617598 573888380 790750656 830633758 22371770 109043440 49758754 976099920 131437036 11524878 218504932 518908162 490498556 507042862 937887144 667720388 195408584 658916718 48428178 320141288 474565016 761641806 805936568 319623256 269031400 914953068 14939568 174468782 71575164 301488432 330626418 645281838 760783656 221797462 232522152 69498776 910858338 162855576 851920664 593397916 475431922 888110318 386103400 2386634 971650570 15168620 120957974 650945530 662099560 404100466 376138644 83774860 601942946 327130560 431860930 55337552 46506228 89226784 91369634 680360914 826521998 947425542 101535660 442643310 576637224 540577820 666330298 595040544 95068232 643629286 709621968 624217484 203849322 115209576 815575852 382426420 65581360 778622420 534379626 370928298 879833626 210504778 545753864 385291090 312591664 739287856 716982660 595996352 814793748 43362774 773405886 169896650 741847856 548152236 48618916 114303126 679958946 873933338 492134954 999035710 765881610 735509618 263374644 386744326 229471250 179364354 798739814 770308134 394128150 26261052 304256022 62748558 232669170 997831130 841204624 348211748 90965974 740378234 651093876 844691798 914232494 599319440 549419212 289942246 564001700 547534334 207811132 208044286 487278 727817232 372897934 844934252 206107598 879832950 766845910 529597932 247715912 775102080 39133846 272397092 193952842 286430940 395790340 120617424 861963696 152531178 98870996 60300212 911708000 108116380 748568054 107129176 363399306 658151396 181975754 441153648 79382156 150232816 63953870 503481188 941648864 486442570 260567112 944062006 347105896 776369374 894313602 721568942 209315472 129757270 128695046 108030748 721401162 212602310 154634832 398519396 626966750 588887242 298405250 598659934 183332384 653836258 357222026 286374874 847808972 808562582 769281824 2404356 777301908 619856228 273129000 105642804 960505148 581413238 849554414 754677472 365443428 224759800 979803352 92877126 4906790 374025812 88588072 360979694 438312290 744176666 221219652 234654668 223394858 566385322 310952888 261047970 578287704 595733222 780036846 40517992 123002572 661353498 50108050 186108942 874335924 572519072 64705010 718018950 391719670 255696718 556267696 421425536 991755928 884821626 443053716 742674814 71126182 476378790 354821188 678623122 888594838 947590870 499731956 374778946 435872046 985450408 768133970 185366704 229173602 986756366 118584836 584916792 650061276 771844454 462869580 10702950 466253330 678507004 893685894 536616418 213926494 261622158 902603928 371827388 949287150 284479102 879453254 154365172 209201074 387879258 593045790 994834686 375097934 391850876 453934968 180973624 324395640 415357828 534199686 370439044 280059830 491363424 820869706 231350540 990048128 849239190 902296014 557385240 640227524 177384808 836204850 849980610 175972454 80786866 887982570 607682218 609654400 31814764 34259896 391329444 544230580 419424518 458434938 476918010 623554896 162952408 297696660 407879458 483329374 721131840 234933086 506038482 113372476 383689884 33108224 372499878 239994788 422370764 478330642 797585692 299792696 564191674 83755750 827555158 657970814 194425092 197428222 190162682 45168124 573145786 833564478 394027440 209776240 752853940 191027238 215729472 972580798 601517834 643994666 341481950 159978368 953268132 466846392 987111670 206165850 751933156 320886910 490137578 374651636 871560648 739745318 382762590 292523844 876717714 520920748 672687184 418147232 498653660 145974698 26465988 151542390 38784378 491927100 11325492 901535862 620758152 606072292 977274584 368736960 645702226 754418480 798988574 592484340 136937778 779921492 932324280 580652266 531378728 398246042 854627132 761376656 907942790 851751672 719630376 180207708 596425464 831288176 369306534 887804560 622803022 147612970 591658138 422056054 239956854 256264914 983726782 687017876 230016940 842762604 511340536 477626386 834467370 988647300 710442626 882734474 407375804 75323024 22873012 74997978 638799530 304770044 379725492 278241968 782827222 580773242 137259374 976115226 799631524 31405800 545177406 280271954 658533018 205855522 772788528 863912830 227488314 123080926 253441694 894523892 733164050 229495414 873369330 71459780 858932206 174847934 265706592 748780704 158552856 158415624 911438990 826616016 610886618 689749062 729782334 184202482 179454210 465504068 139808050 956852848 140008086 39455748 135487558 326604176 763145710 762080552 110100066 42185046 714257018 433151700 232599912 611630838 145372510 589776138 370987204 179737408 96023980 708060760 708708284 211326728 987954024 371131862 876671920 102227638 183570974 986904664 540833872 892933934 801754148 233498010 255564678 357954618 676977102 349490582 59678094 151969830 39995214 830816560 608380680 941388100 872721810 505666114 275626096 773700570 539462962 861814122 633929790 476544366 427559770 773491500 694962558 675216616 851803110 307294820 609445798 581628098 923901560 88958958 170428368 827531618 298864782 937370324 603549750 409377034 693812532 257933670 290639412 206689810 738287752 689969130 320348020 235161744 932787072 894926440 517728774 754369338 726140200 110484520 411371424 407386686 598487092 576804144 283250530 503943466 391331696 501865580 426608552 591260874 763498830 24433012 673053842 135374876 617142300 994084660 933167388 818458852 214842278 518157398 125934266 982414154 802328210 97685522 675272864 523052894 380748940 991724026 814220956 184274816 902841252 835731788 253536722 354937008 513921656 345863106 95708200 302759006 947720612 319582420 164444286 392442096 702511534 500892968 762595900 459151874 775478466 750877852 127062362 991837778 494481088 304024314 263546314 695400452 773233170 657700042 606430116 646065216 177763996 898550136 175496254 324725348 676146444 260596060 199729406 26735962 275184450 655127458 87956074 587867496 388390252 780303180 116358446 221689576 898147804 193434872 840457062 401870090 787588472 467667368 673172638 165224450 170235420 962754552 322957194 840385348 781005924 669907594 989606664 662576654 686918924 657857230 239404532 741414794 318125996 823944506 376269918 577163504 160875404 539371460 928643412 178835820 213949354 182007316 114855860 952061656 710806530 814119988 81004254 971489640 792607846 490474588 22574218 377559056 464660588 919493440 6663012 457244946 667799126 180328894 495997906 398543834 176680998 452151212 532911434 248368548 485892210 231748920 688982892 424863540 270408970 666784730 8420624 835024290 544696708 202786668 537116738 396445480 722039690 641980302 869482790 475073082 264456058 459569764 140435772 822334942 584031732 664833764 882116680 450211490 374585250 353143836 818083314 429972218 140469226 683052608 398313764 961054652 513387028 611830440 903862868 135872508 448208222 448234116 328422032 810302106 416085726 762690264 906924522 300059108 695499752 686555112 168257730 200751456 686499728 77288576 203944094 817296570 727055778 593586484 611135260 176737278 439627618 88839536 42472792 591440120 513029100 373009830 994033712 501195112 251245990 914135042 475072696 635639458 769123014 179694762 960984046 364394536 398935088 976514998 562255254 466235276 577338116 634514538 873731788 355648422 947338068 745900304 291447568 136105258 62736488 73299072 819704186 598166594 161507298 712207778 329621950 664627308 481065210 465909952 839344016 824139482 709677638 473178968 720294468 991187542 43912106 359956344 753800074 826536904 846931074 919455154 658624244 963649772 577464266 329160222 770156610 743387668 701595954 640377236 740301012 252007678 181914876 274379650 564133372 758715196 579738268 712898776 729506938 937479166 296103208 943810188 235968098 947813912 137170226 835953472 885476740 722007242 322225222 650820220 553889882 575860718 770880124 472102638 946559854 217248146 409370908 991019336 182543738 732686138 53369046 425164936 708831600 781479970 610283256 736542610 459632784 773836918 385846350 962285740 765144472 997847868 401086518 2465072 957817424 911417768 426622340 265396736 789224366 564653966 959444624 247497330 378699472 94307110 656487944 246307874 678170988 684513010 42323782 230400332 630294894 915203602 989095612 756674866 225085414 719249664 288500830 703099436 861486750 432192808 873315262 642534432 77043994 42802532 363550050 981636090 115420098 818242792 608573644 666587820 355074612 465583224 573506912 106536424 350900750 85201792 751042150 11468070 790227594 249249624 794080662 528852224 936046668 6245056 644383662 85822618 345280582 234541676 490814440 308008032 39497848 830831906 727769860 316361584 74618564 93076294 495956276 51651370 82407002 980791576 842811472 814154114 172213032 931224188 886007056 796272168 674152260 865665164 674840972 449165472 291362288 158718472 412150498 863406758 271802296 647038528 509051266 269820986 897601016 492160122 515712512 239232876 758486056 139465716 722880246 231312806 933822834 559053848 218592164 31736934 263745146 662831806 315114336 258807448 766884302 580080362 238285714 380484866 506247418 720426046 249848242 189048080 166408486 873354532 618258172 909879270 618868186 376006222 371166260 903585326 969718880 988028772 201033028 675940342 424157498 869357936 521285560 771011260 590738494 913830114 969074956 824628406 697342398 295083466 296749354 637841548 371552470 521378276 719609004 139619474 558156868 969350354 40553352 515505646 515841974 651297994 95502356 919058808 511126870 82044424 13731964 810630958 31984586 370002126 994013724 916417882 889341108 39017746 517604228 996184340 855336076 574577918 403527722 872799140 800529034 940624672 102867194 921748762 998878668 659408126 843467186 548546644 206019468 391239642 921760974 234421700 622424378 531530486 745160584 119536066 400872216 991264556 844856732 679431320 301959622 688221878 483963986 979960592 832418246 208434708 551495864 47950094 725212408 347775182 18425442 560308856 965109852 993306978 862245856 141335522 833579066 142157258 199892182 375084058 427587334 359834562 111096412 397413436 605822676 80711128 215819470 993218362 831805600 113720480 947625510 580796588 38829204 114960884 838606070 662419694 302694084 280574964 917164782 929780600 466589366 332324420 588519340 109766264 299387064 325103142 890209670 26840558 876679336 455112462 258891340 423102624 177760016 725641044 512567808 339806376 575020598 523418914 591996960 252622266 462696594 997588678 164109114 281444380 840044252 477909920 573495786 795914534 57146822 345006396 386104116 108221510 673425440 281689902 629055554 339457482 652935642 188237398 338061320 930389514 137845546 617945498 351834292 902924382 305371692 201787784 668075444 16560674 482465206 390115618 866392986 559217018 161477004 549009964 268225424 459103428 632875180 508304826 431192198 815413574 697514454 3532534 95703630 56012658 600946398 984973358 789341174 139502752 336874422 97480042 74355440 76799584 926452808 311078464 75561858 119643086 630054394 570733810 642946302 224573650 791656242 952340994 696402560 55794754 825186588 717794878 683457626 673909758 749504266 521319414 258468748 496402612 373918984 77722846 593745644 937991596 465693572 444723300 639844320 932407850 335063274 787063302 939735178 529808446 565959946 285001596 109373606 850074712 425114066 293769546 123965560 791499950 829219980 94319240 819486848 297446206 559251094 221070150 727794160 364054706 241366906 813392714 701155096 78637312 647398720 169201490 832709364 430862626 625666484 560869570 664341360 37826368 649165834 66494746 700868496 372894116 329698350 467180798 163203072 432496880 42647994 741570138 765616700 510978336 842906124 33135980 22318572 263981112 622511566 376090240 193842062 433596892 642467784 603487174 934242098 819483558 443386506 82195798 130592828 900161766 235650916 211753470 128013066 189990686 692080606 203008436 260926444 54900160 584969884 375834112 625476626 152245924 852354568 959719962 110608498 399342678 818512664 72126942 36203248 927290776 812852794 356354900 284084688 642705722 253053028 219877574 141997394 687946746 763531910 824559540 279289564 406447646 846073504 903205298 526109446 141317010 461781042 926578462 118270076 458877154 864930622 31500084 552969078 541994628 59895908 381410116 429270530 36455492 522412848 930647394 563688116 166989276 857155060 147410374 180254530 329474268 699211404 651001670 616455388 564826318 765773062 253964972 314800806 864702564 8273588 397828688 767426064 454390792 287932464 676275234 429822594 793868188 646397698 566153384 272794248 133640380 415240680 483662430 353004432 329263504 116859012 218718442 296389088 201681146 174224896 768109918 794263064 330539916 36406502 853144814 448071178 340257824 801040260 11035256 682491722 54982052 973740976 394747268 408242640 420951924 253492200 791700812 643072866 709618612 441390896 720249138 102477970 392291834 686758244 545895256 746442478 383008342 928539042 43444876 268575024 371185594 220972474 502479478 473668450 635006410 660169806 243827076 849948048 826791720 331022474 40452898 761637512 968237756 626363168 472175192 984999440 218077254 320722788 114625006 298582278 925402288 939136572 74536218 708334060 38433826 685525562 952961676 501110202 797837134 379260374 312438830 302623970 203607124 904250530 515573676 193339876 436971452 668404204 516332444 429779438 940025456 988716706 890383224 212913572 658849596 173016532 583419862 691064370 193456812 529148558 796836502 190271436 311968280 310241556 972636876 321370642 14677130 232576740 484676358 655345050 713329800 910529896 754761682 564228452 495646734 942501670 421234164 920844656 694763524 539516186 484187830 84353196 13101096 253163838 819058770 524693378 145526222 518641998 850252366 86711672 295546868 551292056 938729948 523206798 706204992 714988104 891048896 898233006 198330904 510185322 280867122 593565722 148883998 859452342 257110768 12310372 658414918 847874044 943813900 481721170 152800370 295192286 7086700 549651976 358827628 277437114 124871870 597287444 307611494 336232524 411512074 398586696 494941020 112180240 375405284 977692130 781038514 918700054 778343224 201015062 131403664 48771674 251797504 699245874 440743910 275519740 827881714 357739068 212266914 838216856 685462584 189919148 699204790 786029790 993485482 427264470 948375690 236402628 40326750 48304506 937279038 49407262 390377612 837183102 824115698 683269730 501676650 948051206 548320576 65674922 466846492 478152002 972018478 724999442 306177554 58350146 562727374 531456592 527748432 458460612 807734292 731334148 575218628 971843934 510652792 450800388 512949054 333066970 620214060 760112346 235448730 577434820 243337198 871729924 275442576 609231880 610285476 546673230 667764182 501022744 296617726 748389762 163132720 357809926 842923700 75658314 601375030 16112606 824119924 530416886 505804196 140027028 687597142 580915840 465071942 286550426 955565694 44909350 601314038 377474326 739146526 213673744 746593344 111600004 561249032 256227910 712575928 548464744 153045432 894691508 214841242 400400808 344537254 634327152 300440346 394777594 329068432 942574654 828889706 82093794 59078914 198027530 654077158 393292480 69918786 965386982 314002724 745036692 859853980 86372974 954322312 448122448 387684504 534155608 98365308 992231778 405191510 250674758 164740094 121450552 872042472 28040744 454108202 803980526 282885250 15815160 187281348 738118520 435705708 192100994 600075488 991125864 251864864 14466770 290485618 971298950 416872774 498755186 636938076 140322350 353229836 294524128 791757860 569223562 685003306 209692772 392639006 423280696 529167370 795815216 387887254 144126618 425352210 165630864 504906590 935012664 344408326 789455202 460533394 7132058 515691198 917198208 659535988 909134534 335838028 910020412 795789646 350223626 705799238 999148122 710542606 952669840 38171788 606266464 494200694 305144392 535486300 608037312 388797082 348812664 305455726 525570120 301315762 482682298 124297442 754771266 87371026 619521908 553944342 63425550 812951098 425950444 644204392 7724904 906649538 719821726 503309600 253093932 287899788 407260646 768600614 95856206 371172952 723931310 22659104 378031170 98778688 154618466 542074448 361270012 83812388 504328230 138909768 740963982 62147644 969617380 144416292 682367988 954936636 78073182 591319550 989803014 558236540 513078068 511190268 78549080 25582768 223934926 282696696 495914662 85512072 927728760 211706120 595303196 409184166 350137606 183821652 281135496 920451598 162768658 739340532 803652044 402079018 597218000 339146708 723413870 659620522 486115890 780069328 271259272 272466954 48565890 869420558 237865538 979154232 542963868 140348994 725967374 204540692 469724156 212570654 745925908 149855848 458363640 40449278 237288988 833829198 372171184 709028896 611529966 256207262 705727040 767703980 630890892 243023168 469476346 874342142 283121686 456510082 457298562 677159506 575086720 645248538 545237172 416749316 318059282 283009202 741801248 682704446 256289674 94265676 498371598 359546522 71408556 984875384 713458418 677905532 464472996 234802224 915753232 173117940 834065048 411952336 317383686 161582672 381766370 523536038 243299794 787486320 592312854 377815266 353308618 669027312 817459304 551904492 985914788 231559550 717314578 418800872 847973630 922961618 999721854 468313992 77961356 424148558 53217322 844322890 130068996 367720182 452587448 799378056 231970588 367142182 280551946 156854498 428138202 536442256 349344506 322363892 799764832 741734106 443874958 39750638 204222078 425788718 193085174 138734266 575812022 248085720 409434860 359676508 323324290 814303814 44919084 971016452 735984798 713123372 647573908 37546820 923062720 885899206 798924704 945832024 93196544 471794632 318820906 241294642 235422892 261073626 992618786 532133416 81959786 28960576 882975410 366060862 669316336 849495818 325083488 582642362 413028758 927428240 211962192 310492646 419862552 13325212 191349348 192279026 925711472 571696868 592791070 562120222 206412540 105942536 736878434 338214712 697814868 842382224 401873886 772306958 242927216 258422612 18946672 880752122 865510208 571044658 553561976 644934316 176772122 381300236 151300202 196670378 701123730 666610892 651846000 483423960 441673792 998210048 376799984 797033684 382991912 759400154 226197466 598144852 480062872 103136378 150822350 833641948 638511340 598867118 100847980 567131850 319636744 682326104 328161936 524460180 439013082 103835306 606044908 640566938 550113610 354933380 475721204 738140114 604761612 790884862 545952162 595278324 285393940 675743942 177995438 40773542 952547944 428486752 561792398 917235948 156830488 110094040 56288526 986037056 451717972 441510150 498436584 318117680 603254726 915774852 384764836 257746616 468663506 273120364 660213278 990156432 996616318 282118038 54899098 338775046 696940072 74764544 487335436 699985250 723871272 826468446 51681938 300422516 390281870 300231450 219149048 21546558 797322416 447731660 669631752 618212490 941184332 157822096 211112306 968025474 809095034 65415670 576558494 906874074 404718384 605376502 697447184 306819546 937462192 289138676 322098996 988253988 630308988 600330650 177988520 295503406 315025936 88994686 264968516 717048026 617196038 829769346 915593258 881821642 693716398 434940722 524010758 361053032 155051056 510285874 288808774 237033828 960187142 295706912 235747200 212819664 403002676 472415086 582899578 611443300 564330316 141387736 4686392 815424444 527517950 523932112 983005306 520506140 71731372 898313318 886557654 189487712 38973946 298720742 697381704 749447048 701166002 571511756 839817470 201167744 332118830 940740924 118925740 197570652 10039212 564357388 734613538 922524782 266522092 886721522 203374580 453166162 35843040 83448710 229763194 321418310 325560090 33362348 386319592 114182852 995465470 606203074 977951586 422668844 78642180 254584614 105489246 719093042 573821032 55305352 339893326 169273274 436093444 592106316 933509398 862385552 811585798 599108096 166536124 743914722 215675276 126020550 998155862 681309858 128257988 637904926 3366756 117382842 697080682 162523412 989790756 518823222 546664942 616973802 696661332 866449448 333846182 8970272 654547144 576204240 6770974 86071554 986249586 651097014 711447244 867752944 807358780 106285562 974605782 387505032 167696198 801345584 27299598 410397790 836019694 752282380 991179698 118447258 15924940 817515780 28429922 389134576 778332714 534665762 364798296 950703462 965369222 239799996 591656336 339950062 213356680 723256308 656101294 469898812 146375514 106429518 404085994 290921308 84209990 262854058 369819076 941048644 869971914 224332830 958271364 656094100 407874486 248977894 320295382 604093468 447846572 961124194 182854086 550363580 281304938 200932442 153244264 705956564 570679280 401753662 416150908 571579054 65115398 417653442 867550706 272031282 233179492 544426954 795166566 391069054 995446336 236796250 874326154 789425302 514200578 934161486 759468002 663659622 99315168 802044040 60352452 380217166 886954896 901200940 972287696 139770304 666418756 623993830 370789628 116176550 979385890 88220330 498530866 65709430 908534442 217934866 935410204 811725326 187261296 512446124 250833136 146670776 105940418 932070902 575523816 779513758 960244460 311516806 527289524 299377414 530368896 495209520 656838852 19973678 342522394 386402908 1540742 982001318 493427694 272927792 364267692 775655452 891063922 247787844 602076568 283946272 82464104 61460950 491099736 799304922 507260762 696430510 598209416 763775080 272844826 350859844 768492672 560970068 716871046 579581684 353423594 508006936 664798210 242485072 980510204 347372760 206478570 173563016 968868170 514263636 818774288 763910276 834318596 421955780 229747950 274369312 326786626 680880776 825782466 679950592 867763742 835768774 212180252 955613608 920508976 72936084 584589660 988936614 778422674 944499540 662357176 173580314 581973750 864686638 575584256 253048526 68037620 154507394 214753130 410141400 797816826 682568850 311383568 444943702 928441370 856927332 71730736 415083140 23665470 439070678 611905392 552083726 922758984 554304398 610868024 708178724 849937462 277101378 633543376 566250974 517266102 431215992 683961744 255198632 450577898 975991060 508361650 324771830 316359896 164897236 448070198 895645542 213859394 615708396 186087228 761535806 373497006 108525370 505335502 619316122 973886274 680331516 660623138 878304198 663115360 615144596 689876024 577648704 336321714 787184056 897838742 253168868 556017106 154295702 560835184 781946994 740038024 62502514 447374634 686408406 688182346 737341430 481807266 47463450 691913460 131090154 760151606 940301166 937145498 360473996 89675492 444530748 335841588 200987794 956646230 261545728 213035922 535889300 60447782 155848070 29925364 954480774 430651706 339989430 791249118 594758492 489419820 850357980 856173208 969460628 44911024 668422506 347063502 796499010 946054922 550597370 406089880 386961894 483481054 641715792 169941406 452070970 541109630 27734012 447295902 720115238 588709434 412209722 759509714 752158930 723678506 449765674 738885712 502730986 965962880 280951056 817575356 761964430 247195680 627160228 756097744 681443212 490117234 746797588 808128316 27803158 138232842 757408136 343705062 206013970 810526068 494518538 847113022 853719386 428750874 110086438 265591704 222290452 287483494 557014676 699367798 224272684 929641118 690385140 305184750 96135700 307071492 186243874 741292394 65418368 748749960 624585406 781730146 620091534 96257674 218324326 551403072 354201856 786864480 660136318 116840522 936047134 338277128 413156968 921196278 991321924 586951364 824043032 586712024 390161040 565152042 126410114 453573078 83377842 609331556 902537172 799126784 319670968 386488578 234400822 971552614 913978604 713689532 804858652 165265358 533999538 215398068 661026982 207385624 85203886 618324778 158739610 223461308 753917396 504856208 18116426 586511590 357907408 867690344 184907266 577493812 495449492 955236328 781935744 813803376 104127134 685540576 805737324 838137924 676829864 213716426 234294924 819281548 212453074 911518160 513330988 141426128 101391958 679142640 986753754 584904334 480897398 688797666 26861368 110923520 920799296 580404490 168092136 571878348 103078244 327321790 347594860 687686176 140621600 64310248 368688610 874959058 853464720 164718482 305136198 388742200 561289394 5126568 325190044 489971340 116831454 448058766 795602046 139065080 352484634 256799816 103224164 477292052 633848746 832222024 361901910 7369514 743956206 102714624 900268104 503178794 736936306 384569068 1408608 223844136 456937112 577170238 447432860 840357696 634436436 724495318 423026334 4364976 864244934 879791242 996765814 700161956 756618870 238162136 95997666 924085196 467501766 65450288 587223096 995197872 859804470 790628174 164767428 746392668 299532514 900881496 850510828 900079438 432454624 244021354 427275086 136303240 874693300 84906758 639568408 421186648 242474258 118831808 397290904 734515602 314462142 37323662 841860040 23420502 959398912 285576556 346861136 181449442 655553864 763059510 914831038 30586562 410461432 991153162 757178212 80576738 749019758 254870040 149873856 760144552 417627088 560972862 822534672 91000616 147959034 478387764 75566752 211974496 236181908 901634422 992306862 869435414 151408284 214866714 905562950 795992106 644097996 337890446 533029870 730763942 691205776 800428360 182580360 442444160 803101310 143322210 416203180 63332152 424151954 475753592 430267452 612437146 113440846 548955188 197966898 83132972 274018428 234357840 641650404 171039686 548607152 619274030 630156734 149461342 807478694 858380606 25529510 184620816 872523742 995179346 763562772 267915036 363631406 261119804 85737560 810531056 362138098 549119046 541714068 355882764 639205030 920853452 172708938 237727336 201728532 846197544 119198454 936606912 765864980 390209718 669165422 506994472 157352248 643501442 258703290 801521504 550458986 612394672 654841986 89835790 470460826 746438790 970217828 944849558 787444214 260515698 685327872 726200162 386447266 373291976 507740188 604643490 464115980 819643344 235036116 559787992 642244990 972157004 200215772 308104510 736044526 376243668 326273030 560612368 513612326 35480684 140626776 213349842 900114378 701833314 533485554 459438274 491639442 657425360 49164272 258318034 652324894 331903738 726498094 673327538 596811950 111541644 73494752 750571752 357183828 733811392 680207798 913857338 731872922 215730554 208970128 168969714 388605002 804017188 570281386 171382282 320076314 400456342 835571946 783559862 714064302 570967922 954039314 7459942 808162038 40798516 180063882 458432310 351617948 316595708 833170470 514469714 579316606 253328604 936642602 70652446 924812802 699128672 76185770 211905110 731292052 894352218 979602184 997789720 931716752 817970266 162034894 669260392 69265792 231837010 875112940 514863204 303606816 666661648 25451200 229562846 583118354 360781860 79761552 996674250 43443556 385817336 514629340 671975296 851302948 616060160 407285806 402065392 841872988 547322360 696808226 779277948 494461558 834504428 138650812 736049710 988626238 158329530 289760574 491078292 788672836 103849294 510245488 960338642 706015050 342374516 500088454 597860032 299652696 432172088 209388192 627406590 540451436 220580194 211558846 87953050 646938148 488532076 812031260 563066594 562897300 67602126 52138654 491390422 910961348 845541392 188500274 517957156 769047670 675038832 911942762 371821934 316139650 807176866 572773622 974768070 522203188 5605286 311483060 611172526 805949708 392891088 973265686 443451532 971607840 423979088 192745180 673072144 952501682 881441438 483940382 940768832 803801592 234431982 470829510 834013978 156078224 831815454 64460370 775296664 91803118 921040550 157525936 722197020 950311160 776269308 433340218 437261948 493391802 592173332 717346300 290614844 107552856 863408464 327428630 651210178 163010866 424415554 160379778 893415850 820236702 201789452 953964434 919159476 784042718 618910690 457154496 647466450 677213462 981518680 786396426 697429246 729530746 6286766 620827136 275841642 640830670 372087316 689497090 421307234 920061866 542437876 289059968 503822498 469229766 153948480 601226946 494262754 971192072 394739836 793575736 109981282 695484476 549262600 423038360 128894454 611559438 300579528 431489646 193453624 516047734 89347548 213242542 66364542 832743754 596627290 397541710 256353336 70609644 804660900 257736468 549007838 988766072 880984376 256311946 842027754 380607316 992095374 292269470 473410446 301828662 585197606 323001912 875779456 338034262 346861108 918659076 776442892 7658568 362476640 931322154 868589630 635029286 863562332 126448762 477917348 846909336 936949546 530949800 542357578 80678182 538824260 326614276 540528834 390609920 370348298 297060340 525575162 280734652 150806234 738826444 44538116 331066712 69255348 666698626 871822270 603097476 641738754 135364316 554384452 990042900 15577104 917820312 470765588 858048608 542593340 594086778 619608326 982375900 463846954 343915136 737755656 862339244 591982340 479450728 114497174 924127486 825356326 836300788 877484534 861704908 360344180 541048 358605954 224052388 366300704 412412468 94922080 527056856 614935634 442110816 31621450 156962858 753766698 35815854 581506698 424758106 770283112 186204082 149645950 173132436 870439184 418146568 141454008 864163264 843066506 474720962 594325464 28578542 220981836 74873324 285846058 479348104 710553726 227973008 16391762 570981428 524870566 780095398 698993424 891620426 735695774 242702980 182185942 558760186 831467770 19247044 317162930 91458132 729764570 371692706 663634982 632503642 493303048 101607414 500137982 795626568 841333604 168644602 56372748 625667066 245528852 318898786 633608924 195987564 264123022 536757514 84547068 132111542 278406460 966342678 161100822 370638152 185431972 92471536 525597850 637751104 26111512 389781582 807461376 303926430 347772540 612747706 207267380 254737752 556891218 160801630 471156594 619873930 746936632 817620178 228115876 696612694 812000290 925495676 37332878 401671142 744424910 949519564 690711978 488538144 944154758 501487448 324381504 831296648 814610302 396688840 714645560 31879174 172643380 973654124 769192420 295939470 998798670 641424152 723080954 32512844 764719568 240220906 179957144 50512398 106960728 376023064 680084626 400517662 157442204 897269770 331762468 501647874 604712888 248281076 955897340 921207680 737039492 868009152 928290306 498499728 921994740 509683656 39941142 905005976 13857276 28502394 599126396 290677034 985467422 799761686 249864078 379622538 155472316 510172178 264258008 382068510 892189076 434442782 164767582 157698878 192006668 10264874 163858374 651671536 314543328 142112744 787032674 144783386 701325620 338262262 835850284 71735240 174580684 889190136 973926610 269929868 390632444 650320288 157654138 121287336 389797144 134107628 606163126 2322048 343097490 748922396 411825410 302746240 975051918 846550272 957747346 2709704 835044824 18044892 317160268 500262904 587088854 356289938 958548456 528833144 120687106 305225018 879277740 459732370 664998000 930409406 964598842 595325060 778397504 718060072 223806782 899236552 775125648 715583670 878856894 584117010 647466532 994984698 181002666 937516472 181862366 2643950 203159054 705206956 706344320 957149118 963935578 171773366 325479994 153130392 115462382 834059968 226810558 677399678 800157118 967313292 223946058 550081784 367829436 350309982 935978958 46543560 160678528 856423562 817915654 982169044 982164364 64810232 660861186 394608354 647787424 266279500 189477360 364509616 862324064 72332532 672760674 377655490 998188918 929745076 446605746 17637318 297790098 69292764 163956960 575852326 433052656 740880760 416529294 79521884 364079264 876439562 496850814 955855932 273667242 910510852 244335194 747974990 363039326 151973908 718713692 702770866 937191214 394785966 994151518 307149334 502036934 604729404 543913380 810941208 342596448 921131826 770575680 785835588 680672232 403127344 975723734 169847616 998285160 1138054 119745440 355535418 142666308 439118168 457771722 632701310 59279208 829242768 32339810 62599810 676301982 578244570 676632006 885001818 427488232 580297862 606577062 326665976 969228604 818581092 833543518 815918126 202613208 973076184 671203900 400399650 335533920 218350334 563637788 560310408 189348420 484117924 89097856 413927250 233004274 796733022 713155038 478246954 734592380 109646580 341700362 586694408 525474542 621441890 402891810 32899028 816139932 649615620 647915222 647337266 810868362 713111874 49603120 707658644 42244190 280250774 189114702 714692232 2974890 810947878 164979054 225052978 461227310 86332624 312440198 687624708 656107342 361951570 769443474 116293016 917878336 166196458 531757346 789303984 234108070 136126098 240081550 790541824 32780176 467567558 739883350 651049932 150248050 228721118 462165390 110475696 167221006 144755864 74728040 908311674 564759284 117554174 602637176 485618632 339363808 661082636 221308982 3044524 674540746 33814136 897988914 669037998 151512900 236495756 326103528 614697210 641403694 902494134 297483460 230420782 684536086 708222802 464983420 54650514 944578676 196627650 950685624 923297420 733536022 117300380 649417212 115720074 515940864 910293504 217358734 202362938 703516448 503395326 450374976 3953636 156557820 543359154 241928580 390040136 547741070 514655380 159407580 813708860 332151052 59355904 395446690 718491546 872234010 187285862 741119196 567210980 201355242 148095958 203728612 701524504 385404630 359797162 161780530 631252266 147683110 375028658 402585710 143008138 153605904 573962942 787910470 525138466 72008630 268151958 285028944 608819564 166575464 129054810 387965020 38198262 706319988 832426698 478664016 130185156 515408622 396560756 580203736 56639024 411363902 500829332 800884378 563431332 592868720 497374288 942740552 724165822 681397782 735926198 727312450 341831684 991299512 699099486 386986468 867065626 325515958 187502454 885899198 475798092 643997348 214652990 818755772 781984362 625617032 782975568 529291910 824762348 635453834 831886928 304659134 165263284 690290136 105236832 173652858 435928442 693271722 270140026 941955720 402915526 263049256 173785478 41200920 729085948 813688330 53450046 902361764 959012840 416783222 495372890 496981152 325613334 701762048 487236580 928641662 444635088 886589860 128417072 702068826 741012134 314340870 556178546 54076034 572638898 273377342 695879628 853852864 932388526 634468812 595732480 634575588 719170858 196166218 110523316 843103744 354675822 766748224 188725014 83170390 179889938 659990072 783427008 551948522 75695996 716042520 3954666 27132940 303071514 990173416 988594926 195754894 426391720 280628024 75614620 444541862 920814952 174306916 622065844 500303668 357472186 95204068 510838194 411130246 863253762 260443464 864543758 294172130 293642890 275111786 216228454 168582002 591354564 466798018 209015392 780892086 909736044 891926012 628266512 190603984 364818882 121055036 517857984 855195154 961502422 911953086 560503758 851656768 717130842 800752534 433297820 307445332 876217588 289972090 919871658 131099744 718010152 260717704 364946004 949992070 698620380 109107602 712602672 193413594 699659650 357301638 710987688 681392930 733139552 272792144 628170962 887816862 306847716 25011008 556950610 189865406 702153860 72991078 510935968 243178458 59956678 378605416 129232814 654717956 819631124 389576136 321767664 725435792 470009558 788397816 429591834 203999430 453369382 96968294 933025686 455868652 734637422 271609356 339983296 324769074 845754328 394859750 610193100 115758082 578678852 21034784 539351138 429775168 322057656 83089630 933873058 352153718 133788938 893920020 855014698 317748936 934773146 523422846 376426888 342430492 877850918 978885026 663641412 909731724 808615778 415513326 828934184 981266260 801954418 330940652 719909676 221744172 767805734 777199098 585142532 415569666 950816996 371828958 353700594 732529322 63830174 677216382 614204972 411274034 316481122 46006440 800142804 58758664 238602842 913004626 201785020 539901912 813377436 808152154 347213176 10665052 697599818 523906660 98915662 408492242 311295608 170958622 785933736 633444764 967407934 19107194 397349454 168597292 328686064 509149698 837711046 167152326 378173446 889920400 175132420 158972392 924193420 956815218 819630888 111718298 695693244 586534702 905401324 867609394 98165174 304003526 660894986 732742622 773331892 2593784 212983982 302434186 812655302 516445368 366855842 570485970 835699810 939028114 604001080 274334744 399351944 561832198 489300278 798160184 76004754 781624738 672010662 793234532 862689670 165710136 404954736 540194602 271603176 247376290 196907918 594588142 757078216 849206842 465613568 93316012 834026510 699691656 882183492 884993070 558522204 503894028 787006310 49183112 34959928 827951794 23179446 845796888 24651920 500139054 940842282 680125212 53405478 287730826 442193818 381208534 802010262 371616096 158104990 365133978 948578888 598270108 979155790 925273468 324380142 182214752 916459244 778293534 342502222 186341548 828822652 121196842 157936404 845848018 264291554 812478982 864150008 535642706 277305166 808562042 192870262 670338328 988359996 891691790 66448364 552409530 360891998 374375520 64517878 140716162 168725420 995369992 697346004 218410124 273950290 603845738 11521258 871519370 764599154 760381958 49048706 119919178 124171166 391238502 781300672 182068242 82367338 298495802 242832802 471506720 512397874 52078624 584600302 813968302 580953758 551892920 934102600 404591134 425962416 636668998 89324042 473188896 296972068 721114520 409721128 672944814 368274726 551744472 943265264 322926468 705464840 286119332 850907270 100806376 697828348 302619180 759651872 390978464 135791076 137818914 32941214 735178066 371243222 682345046 976749750 714393946 435469982 604311966 806800438 104186488 662674668 582343260 837606770 19259974 432433718 855295574 67836890 602685202 82200400 252515188 924057684 82687338 933197372 358021796 292148314 156496924 87850346 85537804 975894068 12911274 415481286 280166154 424114998 176359740 65839138 840001606 433194408 55860280 916629138 929594464 467631478 134041088 316000330 789568662 803197402 113468450 399688724 593339504 709516626 59343630 857646700 95424416 498741956 478481930 598135436 717157760 379377470 826199680 599026622 321944144 518855546 708659618 689964756 910383522 288232964 389315564 984271772 86427348 419029828 614115146 991191086 506912194 120859106 452416862 661276932 500403170 1280230 611322078 39720966 55635664 794932530 729242720 890780198 148620124 326426358 633381038 710258342 60241528 653983782 173227606 588156192 963626176 252026448 290221252 137942154 377681450 944145930 268543922 359648992 147659234 421532222 428748792 11887804 623254168 515610262 866234298 739979946 870190540 831873174 982537108 75890240 55311282 924220276 106248814 266643048 173677408 45860964 716421872 158033580 311377146 676682598 929158360 58870694 54710508 97136828 995022390 369031844 537165778 913627762 880280162 883528920 94138604 607892486 899715326 498272096 951216740 192419520 972361984 254060712 526505388 842789928 500879426 660199224 401561416 480201636 763443188 506076106 139987592 783305476 822569312 975472978 578286768 264163014 898724830 560690974 754208380 931963612 306123836 740955346 841379358 93809022 575341874 958235436 560492616 979232130 361091126 389689270 124585654 499712330 254210320 742452924 887026160 536241040 558953952 579344470 812435998 309048116 824726448 323045040 664839238 701942094 624710328 751971752 248643940 541813574 3008622 121836816 874188238 691674726 35834888 375822494 484399946 285296518 430908064 290628886 807062904 598614100 479871226 87575058 820584798 715265498 593297826 100202214 200624336 407860526 59666804 384365350 305447752 733482542 911608326 693607204 499232094 465969006 775658986 791574188 529683932 57380086 811508144 578006752 472598506 959589286 312412702 369526422 497840442 807435424 255573952 10420634 856013060 251319330 56049180 420767596 881618526 518624118 129096076 902078766 474829854 963845300 492171942 488904590 602004618 663165942 812245190 282074462 818757986 603591418 796899654 989757660 783379804 984985360 37077894 408408588 437308426 948209966 128527220 117710960 144800794 791774010 204446772 204970266 697869484 949505974 989012312 54096420 855548068 325778268 851592068 590543632 905233910 113167604 972241472 456974636 357806300 248431412 972296148 672285400 663546476 773681950 511261132 113594006 404039360 780759400 818142502 275661504 19957338 548010838 293103492 213389434 333926314 825900900 905096248 829155772 179868800 673482050 994531562 649033570 924730128 125193104 342915364 323499058 991470174 371136260 925710792 597051500 433275778 518996656 610976928 199374892 814621712 288983040 91871224 226787758 392323944 509264842 981075158 769235288 643639062 709888558 313043846 678810758 666997098 626306076 346620912 319072852 525784912 64880432 965752202 76943466 419812110 601947228 426780030 795963762 486567394 885318054 32653630 986297948 244851538 26957330 236303232 656908576 341054602 424447720 516582666 908186118 276619758 635222002 462652000 601083926 868568370 487397598 64233888 674562464 247581810 664654276 593168482 640093920 141186400 519023370 742875322 946025032 933098582 888578798 361857540 129503650 91540748 632546388 432287016 466076158 645011536 399731632 81296614 973212898 728851572 951182554 222332244 992781266 551545704 942233662 454212724 202562642 357882790 991572146 822464764 443777090 482960996 500565388 265301500 264764526 753867274 744096574 983087104 303529092 42884848 967382318 835487240 818990678 722802508 54435092 836275024 767138014 306328502 673955394 266042022 255912294 713088540 629116288 107820944 156511388 570165618 129170952 639787112 44561140 466006750 898012346 493704674 65593500 954389846 539794808 442033498 507938094 240856200 423790486 438594900 671639036 871745814 531139174 161507908 858782372 73336428 863979540 244666246 533712932 2912726 863896588 492665004 231510434 55707796 296020360 871908968 161429664 254956606 941530410 934648916 572407284 583849674 539895038 96766902 714743432 602605702 208896420 800020072 859952106 80623418 550736846 572514576 975425716 762907310 514643482 471401302 130215198 267838028 212031556 140193580 145839278 323536670 740272824 872080506 605891512 14038820 844415662 367387760 563494964 831903840 373224432 394373044 339578520 538654318 623504360 565952040 586235466 604643414 309890180 818453930 916156138 98509952 560282848 806237478 405411536 448127412 453359916 317730476 23617376 417336382 960845462 258997326 614223126 242247478 197044856 739281834 646235778 72142940 240608262 103774300 374358836 778217716 344098576 80567012 769288936 985063180 932928904 702754958 277931210 667133336 982292804 374189650 536771416 513327818 578743726 413476216 707628454 899478314 264803546 884941164 713823882 719840774 859199580 271840982 457355296 219805162 552277840 421115918 271738226 363465842 940236686 886064922 944566744 881310036 24127722 779318398 437400794 504785864 76261432 842996082 646754488 665783942 461298130 1424336 912513728 176528568 381766338 489473184 684078952 758092954 741198594 149971628 573744904 135274222 335892084 364224586 624945258 283233652 381879804 663258686 407692648 601709290 466573164 247544816 101207356 30487702 158331512 296649514 697916714 453599166 361518670 505669490 718040712 215328234 241428824 778669972 421594134 653660536 332899536 658624516 680227140 986419806 810908470 134734428 634208690 644237546 587000608 989679266 118360810 221360288 441066624 16500106 685802796 62749122 474979030 737449970 950117690 701464228 460955290 931298758 75775634 332891008 104200490 478786160 899119794 929610082 427016042 823088918 432382612 145479330 180236352 935898156 412435092 972672046 50752362 474426960 784897728 150774388 880410624 829276862 751756636 863893918 647300604 2854252 653254220 353201652 361875080 513988056 445349610 704279086 819489860 656102954 975435004 286152600 597310990 12288372 585806646 48410208 121588668 43465338 144938850 334750240 729347228 314146046 360768706 110419658 787807824 806108120 398590898 962684868 250573530 100002054 377918530 630150236 815333614 804119282 229994778 811053624 169569554 20313962 809884734 663350572 156381318 99717254 257994634 568811572 285500698 500380180 290800116 425655950 760789080 950504780 470484050 198058256 611347058 643086082 151511634 512631034 398511160 582674922 58288862 997149462 280991250 753104728 813791244 20762138 633593064 739763700 880314012 46397140 174986694 662734648 664366418 807075520 470745474 914419292 318163892 663233910 83501626 911190610 107255258 594887812 865959488 451486008 576938658 795146966 473684256 924766716 906196794 98109678 906293318 264006066 666278260 357237938 709060950 378959342 496045940 168769768 416788922 168118602 379221936 543680618 327549770 379478182 697668684 610187504 761145184 479086736 293000536 871546738 473461304 245460564 43532682 573141348 651028206 682312366 838378970 648911386 267573674 65413806 889173502 169440922 697298266 137491166 600980346 671534124 248146072 576639918 12012582 135991748 297025922 444314120 874727932 798930966 612172122 399894644 736654678 243275972 611371072 598164708 494157710 886573940 172375768 406940512 8814588 880545400 925296092 692863134 152743380 286976796 752655818 403456064 38872900 444643020 966724842 81545050 637499386 920498876 365737634 123832614 97421924 893838432 917437080 894134390 498196078 156659364 278695828 203632698 668693576 888753008 898492608 106354134 287553432 544870316 746695486 220342914 437023818 376967082 105929574 436578378 695949844 231284020 214152994 132302614 994771360 920095654 945577618 390595646 893932960 372582076 370578482 877371808 237322716 751590116 294226568 238898946 455199196 892297804 92904338 788779070 901826570 336894680 851865680 161388490 648607248 55482652 213961472 641820496 610426534 853980708 956347778 363802950 40075074 954192312 291590 942440766 47367900 244365570 800848484 762241828 387723274 390927732 517799954 936600052 56325198 179092866 84767898 34168662 182034446 53563558 289896690 135201790 844455342 422703494 121192840 296322458 688723906 288132880 813434670 730466432 520300050 283942890 300628552 992659388 310984776 120012614 961299788 871842834 156500978 767556914 303002012 683600772 78746648 748882274 139820460 423008460 884661260 881850894 158383156 963304160 467246498 419906054 796524988 262151328 435492830 990334740 166694154 753989074 434173554 249739206 295955896 352531976 186076848 690119882 112403520 149206102 696920388 635795668 868028132 542457202 920983776 173908212 15910688 664131890 991169744 467368772 718719090 391648682 540929462 900370822 844199404 964395568 180513844 85100018 495960860 237764122 722924848 871347376 614243194 813258878 297789812 355035376 867891822 545428146 292368858 249240480 725097410 954928258 805656384 745759126 998053374 876614198 360172216 452240586 880666304 604420302 897113828 946067340 639831866 16380048 354088876 189420736 589789786 280790246 668142476 971769932 136846730 291449324 525283886 255321038 483232560 799199602 656228952 486473802 422021378 291928170 330606960 51738942 681980372 588939748 205850082 551114596 545652462 829350488 313323442 405565078 745595790 805357218 109441654 958906778 296888422 97768752 490270410 289745152 762013552 853075756 567720130 521189698 295003406 959487190 350291322 827734354 410386836 685399794 341325810 306525222 397807796 798985166 630660722 581610194 478878408 137285238 122185572 172969512 510181332 532444228 611571412 395793362 123389202 753541410 823247172 831113284 363464108 419557638 404493900 310836880 634142558 878546136 707776652 308774210 780508636 859429206 361284042 467557340 381794810 288456380 276326490 264890154 302038632 536987806 688899730 726506794 331135656 183919484 625631680 524102150 562566518 109829466 470732768 206530884 201165742 148023484 766308150 160731574 957090202 931683984 196054570 172928744 92599986 643919374 479609774 786570660 281346642 838061170 41230782 738315516 489777470 56720112 75034740 362544346 165585040 691894594 627442606 766532654 523823318 550708906 129058826 554953548 400628894 315370662 93005642 679997112 705392222 284288522 452713980 666604258 108139120 277971936 766341034 633539774 845636446 948708792 502290652 100371142 943803266 487031990 718424250 936190230 541930564 334767932 710807734 499030820 581313708 439144344 515665726 452230850 764177898 984606160 557839134 299956958 466375194 804210784 592830574 867478356 409292406 418987004 416700282 543601940 290225658 499100094 240018652 294812116 355806224 21614490 75485710 415585944 781460686 115406204 368686300 447665812 763207000 235822394 326240774 306490112 463705004 737965038 195743288 179799184 755453692 70968312 33979108 783449162 389183628 353927820 295730466 146298208 923592754 840047302 823650476 166174326 728880844 478713942 780672954 417424922 15880296 208947938 160426278 328749416 540574344 298055846 807802810 817287712 356997136 362157706 487639022 685468108 310408460 418862456 636919092 834423158 351927918 515124662 665229476 74646522 12193678 756486580 991146840 403033426 186367898 597697654 346556640 359906346 949517066 212482300 472698558 611967172 690915030 715612852 889610000 791974450 221046038 431594974 888324328 754217810 366838624 350543782 819291636 542751042 777533046 238794314 342334656 441353812 365314070 270421184 672046342 377884150 780706112 598660722 816755766 438144068 170112408 142761474 360403054 120539218 160858570 355176838 38069446 571855498 720848612 635704342 104942016 783229672 384629318 839943056 238161222 766081404 465912116 854101526 828220282 430191930 73109632 670571894 955248964 110207800 627759730 554735148 479559906 888064900 531823990 594719058 412430962 787086232 275391012 504695686 226327782 793519208 752266428 623145524 518700804 155114550 622781112 518079222 950526378 934800870 255096650 799298430 319195468 983288592 489681772 580902286 536088566 501459724 244721560 655175308 196827668 780146526 831022978 484780192 107494836 69414342 987965244 347189726 287287796 420935242 211226980 892935072 258174730 259963666 828463108 716600502 116208972 584239774 306203194 197428094 893535344 258353790 881432622 981688320 304064664 132961870 49980422 67378766 970693294 846496872 480959774 126101932 81955278 475952414 284517380 651886446 882742724 938559010 57536184 471102134 620460580 859345992 278867912 933904120 642458126 287432430 84159772 270345760 547297894 280217734 586760402 344375738 373880346 573868506 157005052 552021048 22795430 854318950 52180134 451871290 694855320 722238986 26480478 568436476 900798706 142579918 636270606 864096066 950178158 503492766 538982402 192445790 81986304 673743030 811439622 382245786 411467204 121500594 165464212 550327486 287031856 873873094 179932264 171469592 482906728 664425458 818358888 708415248 771696560 76113156 83539860 971390290 762761794 51471690 134462348 402916624 787805300 465226698 442453634 278530966 83520378 923665392 66182508 233569506 129415234 49932712 848119474 416806876 280140656 869292982 257432434 320687782 264302538 278731686 282687414 479113448 108898046 407052808 306269904 680378922 45266216 187587988 921729444 616944788 652369774 515361434 503707960 643876270 968319562 239033640 574469220 448441164 317045024 60927336 961699134 216301080 512730542 894062376 977303040 356325466 136443228 249174344 589904840 253239278 918679900 375976060 845905074 789185212 264678924 802428854 887528250 648534950 419257762 551428440 997349966 68945414 577028284 572262192 246570944 752350060 47328802 274339986 733695492 227741046 390154774 659276144 421015420 154845002 553395050 384491992 798145154 536704324 617374886 570771042 380337584 184926388 761878334 858893138 647091628 833799058 430552462 752543582 390908542 431607878 414493924 482011880 830379006 795361360 73613396 556798868 165846018 515566232 73845942 551657134 207572340 107227412 374632424 538427472 767204830 670386336 603402536 994663288 15674542 50544080 991848922 120464146 831284148 621401220 568608460 20890852 352263774 285410410 140674428 538001396 671127964 984759582 605670160 438249802 280058694 99101788 684629250 810068422 115197652 626080650 719770752 927396700 83580084 498512016 329749834 141946524 975248234 867572622 368098820 568525190 472611630 359363450 329000432 520807424 197726382 466201652 367766508 780085718 761981700 585658696 992775872 542948548 351368962 979369542 491721408 352346632 79630176 911219932 138642464 38078570 13090866 221189042 785591104 633112820 130409474 371004530 716888752 546491178 805808038 794783866 373879654 727528630 801654730 693051810 43077772 311359564 352738878 208363146 409642566 359529046 120992300 912221112 725598786 462593276 138037260 296911832 992939060 724352274 1037704 386548750 400768146 294842742 299415144 828352092 297664180 432975996 40515528 66222212 434046026 578126260 476651402 597262838 655208894 430874028 91006798 258576650 607911308 110669062 604965984 860041190 354543054 974391806 862189612 51429722 667259256 648736954 712484636 242444350 922012854 512280366 576084920 469073554 164296542 568650262 467271088 499000944 248572562 936593554 741010742 700118046 866257324 431159096 610002552 511950130 831908840 917071160 788609572 863079698 286132768 409738738 913194344 477380362 695932664 836488288 841501386 477103590 95613412 527832566 653265452 29839244 99657606 961023682 550308642 379777186 204037926 151380946 155397234 992805028 960042594 714803122 952183038 881195164 922467064 841333364 129703506 983663470 6716740 994945516 705656986 15377856 503563366 547588790 745510270 356908088 686097600 233962508 27063928 291056734 149377626 106727228 733466156 990813474 12076922 25527442 942121794 883925644 670516142 786134724 725825004 326001620 60049256 834042680 785464724 257263242 469536316 443799370 739527466 414266682 682363750 765742532 697185744 439174902 753843730 434736512 201864946 330666196 778945346 849681976 482160654 679232566 859425128 193287550 66605370 283802806 689841160 949850678 455006800 228565080 112150210 80320594 244911090 67642044 553886914 761605708 681346692 538505716 731215862 516584642 107415298 925663160 795226328 227420142 134627648 218336766 541004846 609755416 70664914 769359492 766206242 474633070 959711736 823636698 945876342 959021746 382211588 252192474 231350228 350258968 617654584 830613328 703650986 670850110 940096718 135681290 119332250 533720186 345334040 482876754 419295248 59821864 712173918 304303996 380457212 642057172 551543148 382765928 290650584 522020448 468609182 480797882 816720482 769143260 800028670 645547128 42640672 113836688 143148118 137649830 866039398 787733184 816761690 539238326 452530652 352244564 393572304 536052682 708676116 606018128 371990120 300658706 233542940 214921990 391909874 325540900 960332642 21344160 330899914 314541974 364607398 980768616 7164140 285415674 402101352 368777986 944015858 413078138 421844154 464201346 443888460 354681046 203871602 640523886 919897368 216159182 727680326 706679480 736077486 101877924 990408650 254175464 549277176 440331994 431495922 185684754 208291612 524817706 944330166 355802906 918989194 609860470 476857486 481618544 401731548 576727068 353586114 983549518 477739382 521341496 514406750 144783440 663676 456495670 35000068 657002244 777339606 914934556 599880492 251749628 294405514 826935022 74240790 255252876 831598296 793605526 951097534 300098060 836865632 372823222 320334706 571994118 315271290 557836216 563176300 416788356 708108254 17741156 360069966 380824188 189694886 167901180 44806138 490482994 328480136 28073104 673945842 75974470 79597044 285853182 72291594 835858690 778650658 87012492 303881238 972955520 920202512 704930136 563869066 247412578 975385090 950487454 984147630 228681924 562356380 44122498 776259780 601142288 153203780 182413460 632455424 622720088 314903404 10528862 7588686 478607326 382268986 340250958 717580046 778113930 405405274 443446052 40984230 955112966 885938268 287247416 104463708 198601318 411637330 979095886 953773254 238230344 959863442 183107992 191850092 669380642 957691562 485648028 403324120 491055158 75506984 774104714 61605692 79683402 738993430 517777238 914111622 725404270 170450488 992937536 149874720 312174294 72696156 645931404 786878994 799713142 329554764 76927026 668117356 743225242 959441848 206709614 758407492 783551710 381347434 497782352 461682796 115208736 898821470 870331080 574157260 932008562 1469754 299795484 801697960 683356046 134798256 670509846 643970418 983606718 519073124 766633288 3689814 535389126 230368438 978399036 495542164 165241238 635922864 68905528 446114240 258889766 19086528 914126522 593081722 4064064 68261796 276989998 236947696 857022002 855648620 724579500 591148750 129695292 618736724 957381644 35675286 106645244 695305144 804119792 470191338 171728916 772655884 463076382 408644468 275487948 717903648 113251344 461465844 876354716 555221832 6443422 226941264 685776980 42429374 347539320 675393638 145645570 777354928 884409700 590454650 857206070 84371012 142264310 761840904 261520658 604768934 358435208 999334388 18955860 767596022 154036114 491946860 557740850 304285440 127243136 566190214 262943440 71952748 756638860 329705234 322865068 520376066 912347560 224934860 652693102 626168480 477897612 263830630 985433096 652489840 357344300 521132056 603822950 795081610 953840726 786422164 195758926 244793750 741891226 152384264 888957654 923783286 535637166 473326406 858933298 619971206 760816020 343642504 448718978 265056310 584311852 718870746 271745498 560332006 830275156 996047602 702610998 57390084 464845028 905042650 134693682 641035356 397681038 419630780 548004234 757915494 930732350 647157840 486638844 422733850 291201886 158759644 439344688 998463250 688135974 900843394 699562732 70363540 910475156 806425456 368333038 692573344 256238670 122684664 179565956 807008982 528951412 48526656 956133930 470667666 543420834 508247086 527982458 101857160 70868926 566555798 673115878 593638990 393092716 581359410 968416466 423485044 870067180 858152536 440956002 999440606 862486276 787348942 925442598 371726796 558870812 509244528 569491142 917954086 448652600 423672778 421118840 233165562 157705606 19545668 264959338 439478322 353996128 277121462 658123298 353615980 22616610 795503230 166806224 421477182 433847312 795404704 331748720 6935264 177283666 121242098 728894460 678236896 851397736 288804410 232810876 102931286 136356270 370505804 467211728 422920032 851106320 864705860 70892934 935706840 88877570 702501232 87974860 929586880 333726078 240141984 492996010 227389066 748146488 791764922 818948124 904036970 840325288 45205714 419679212 335325992 116184086 909088040 255418778 151061328 592711924 641612082 641038772 632033072 999530242 340790984 959973890 383405846 280098772 5519742 586122778 869092126 709448638 565819340 137877530 28651100 15233068 636316006 318015470 299588232 212405366 840549464 443832964 373090804 572343400 861261244 310272442 435584856 727936528 198345302 127814156 952047344 912341772 645970746 838026522 211847104 254453942 128076576 403644974 272633240 811640538 317538406 118639758 131006942 6728306 975590966 867446208 548513936 538954630 15797324 828329392 874304556 522831350 797201388 359108850 188369868 929503812 56462056 619152228 194577888 912075920 69232616 347998104 68747490 828976614 70151324 359554468 292746640 230734842 837633726 915852136 82559248 81302566 938189124 553201254 103471386 423730554 183417452 503890410 553187712 614423896 366847304 990955292 852029336 402458340 34949244 496782386 679019946 330042956 879064746 674727190 961724900 839853358 935699998 545438266 308656158 801772268 704129206 85972906 63158806 708256520 508731624 319240838 661312960 305387094 57281166 799683888 718854300 91674690 724456652 96482194 724397602 73713964 859076460 512186630 240865912 163447852 741516218 539982316 379404972 335211100 489827790 958334078 395051664 247138334 931484330 278117688 999395730 909972460 15807876 182126502 694473186 792681246 747984714 422000638 963218956 488385094 279403366 449922428 462792800 137107448 550280510 18433896 178735508 61133762 593103252 914456010 509488718 212956564 206948824 92934822 297538242 660682072 814220508 788401794 822868566 992780258 241243964 629357758 396919724 650947102 529532642 471638418 138214746 499553554 68622996 829216724 463084642 422395410 542773934 247407566 714963088 76709152 86840606 748892878 133968434 448483594 135351282 648461542 629316206 918877690 74359198 491335744 339401756 337027720 743494626 927629444 510628700 243720228 398752408 206508560 672774636 727312196 887920998 615677474 357576444 502625270 313300912 333280134 26827410 67898796 588844560 608029940 872311738 887667040 169892622 383465828 118693886 430357734 449942020 512204610 61178836 581143466 419309428 79532406 426083376 705657700 377300806 213874782 989843478 158436142 752033862 15930242 998005652 910765002 964739216 467584436 306826088 702489160 21942798 988198516 430874542 419176136 41945524 607633766 681179936 398022778 6766658 563319660 772065220 114810522 185731946 730353146 997019052 343334806 721811488 746925310 104517998 92377932 77654050 211690524 995871380 289416158 721970488 209735382 947036492 522199618 935963210 477376690 772431388 492759808 619896948 502371070 537743188 571796284 426560086 175785498 691698044 486274824 681484508 518760848 724961664 145140160 125477182 454275472 506770664 233968602 643436624 455003986 70231440 503149426 884866838 128194594 511851784 123685592 769510648 377388384 85741790 938168406 295875952 818543054 733957050 245033296 998413348 247102408 229964332 438834188 698715382 642592948 208419606 134323266 996218226 899463182 24505298 224757938 815045180 262209496 273214228 817242088 163714588 188272736 747412500 284270768 578067146 464335686 748174100 211309844 764160618 184657366 667174544 963207114 151771874 801195030 78012270 904137414 128333058 333413400 221465660 131644908 693563982 94779290 790584220 47878108 327499272 673034920 469070794 26047764 723409674 328717210 245701016 188451846 104711106 400290406 6996000 114129996 878499296 663616350 848424964 925376942 420231740 80321540 454293334 189774088 540819212 274926086 661060802 462350806 394899844 177726592 164812136 97471614 178234614 808429832 569042578 531899564 434330058 589539412 333567338 309628646 426355990 792946924 188586568 115799622 927930468 240660612 406654236 591308328 108623148 50434314 900110426 11306400 400278916 879753556 446358880 787193400 233119008 290306900 492407392 821800338 856169784 137942532 852996428 976081878 314883646 561291692 134832938 358766436 402254988 584228952 440905160 971403068 86628018 432254452 996968014 380079842 289562108 376279866 676319160 647137970 437095338 2943266 826441034 121094232 196270208 642849532 852955312 225207216 412764530 613139084 749045562 16732274 327968892 403422652 333232086 373178582 209379134 435999532 686977472 400144242 633705912 623555638 179125058 357158626 843983938 50707130 966959222 124929814 718581446 792792492 741353626 103136728 277003190 586441372 699912892 790251092 430458418 391612312 30925080 890186260 191730588 570278306 414577756 468411144 111341626 306768144 742452922 46105516 650416764 29314154 706332496 203889938 41927180 895272936 371243920 791760520 84804860 262005472 964321940 639345682 869721548 477649918 12734418 340243174 153543632 15985708 202275546 980693864 317838722 496436092 90005190 830433982 42588960 311940038 829212114 262176538 981313268 821301324 557201070 771359588 61716682 316999674 302911880 13649712 242942118 505246434 605670438 29848098 20666340 871434588 473191358 227882460 26163416 164686010 633867062 404505502 733872084 129569372 676663824 577633610 376814914 937756004 428343310 479603536 624173878 334735226 164283324 961607468 407493854 791264492 909176540 831061354 2296694 575402436 295344002 780258774 148802944 970414262 564662218 620628042 25837848 805891988 563086240 473220162 207495440 795626770 327940400 928264654 653101012 317680892 234963846 13463218 481862372 19308098 461123668 266491022 391801982 939315182 827237204 21674044 740273638 894736260 572166054 709244558 767577218 198365928 343468920 275440470 516930978 408753284 216552656 715944648 979105520 168863622 983502768 843404600 409444462 395988706 497635240 994906476 162658572 696300378 649733464 181263364 196892000 366235734 70315206 423636446 512851176 442215022 800640628 376580368 120234800 329764086 67054260 58376846 615683998 614351026 216311116 903678992 970995832 604610222 589130472 862702296 737366494 293441338 418584378 987176588 768714788 376961076 76937588 825390024 581078794 93338486 748644040 363642994 196298192 774444460 46221756 24746230 961802634 714494616 963492138 693288784 758448198 413083506 115697516 863178224 37389752 750165104 211752408 732828464 798015688 163810828 889787834 622419932 764527384 262149928 307161120 540739784 322669062 86422850 538839972 366351290 256230376 204068678 212299584 584885822 436017430 186956604 554794076 466902754 534108874 450461600 989497354 209216790 479594028 977080984 713172058 683206236 760867272 275057648 688047878 775024594 454058520 598648856 311662954 514947608 392466354 944494656 860670730 644639510 435032570 742439954 238216126 47200264 110208154 788104534 385296518 456116840 747892878 744887144 844233224 402290354 312256182 627410212 262772868 31629568 524302342 834512214 154018492 66528432 221158176 327408584 772668482 613780960 479560164 131903364 737170210 335162088 215276756 867880176 17198916 79599912 180365742 697206494 193784792 17132788 377918340 636316224 308697672 549784564 811205902 410612504 999962276 656951454 859231194 737393326 181728380 466982314 276601582 397014572 738198914 452810898 749253848 715049578 128471806 676254096 167330884 312788764 767786302 167252132 766847196 529128558 117225842 226231240 877558932 878896594 222540032 726817052 928326440 726127408 910488306 492587606 755687232 23205078 771541446 467465392 689041970 575446664 309425426 58863542 366440072 264909026 764578332 707302472 662167914 299777806 735207372 855881130 8834522 430564578 37172826 784504126 700378950 800547214 881512208 641601516 171446048 314960884 739278926 555813006 202569542 4103868 393329894 52297234 111296698 224460872 29552812 623348108 477748452 980299370 609568672 14116590 906073094 95566596 308960544 789268450 243572828 923706724 572013430 572012570 447379042 983379350 991108414 260074594 731019206 706297934 628818084 742879346 895368644 325634346 858268808 341567192 166819230 183876652 530128710 685107606 470207898 200463920 787854550 953584986 312433934 600846436 627533752 475437762 636358724 787603546 735425414 856251558 31305430 633568480 559133644 822273182 122774666 442972258 437360096 770288588 888041184 773679178 887497912 72129392 786498514 170222456 21552304 469589206 28844268 884010484 367753708 321693434 776668550 421192078 2056300 631335876 726824968 320895166 553041964 136013640 564563710 329589994 494022588 397356674 815567424 637733794 181440348 44761678 799934972 333109468 895892204 775688980 985760572 403888402 814840384 267614878 354954394 808791836 515138630 601973594 377295352 215388600 709026938 857680652 609588876 926147738 46197060 456752954 739724508 126604718 973558828 748867982 275058620 19102120 74937234 50436050 895761830 629387514 964716292 98332818 350575802 180707594 617776648 973534964 638966850 87209460 596031152 192498190 963321648 620535146 439483184 905765146 913737726 333605170 307502890 957267944 878008664 456465160 543983610 569386448 474013794 252490188 761558222 92590926 801778536 649417426 530119286 219612134 317536204 247715188 888696 28017932 185983036 627033122 863323080 816254030 62909044 707978042 650860404 745931986 153796618 926618992 653308116 437212278 613687718 302414626 64477124 166395114 248697880 194380892 262086442 173830952 431834294 375837538 757936140 103383554 305209260 835773466 163906004 818290088 261526034 815602658 7692982 387481564 800070946 600375452 519570338 996995510 198027542 428605816 52343430 140959926 859613264 910169842 417106542 148582726 851146868 345943122 458420426 696706748 760043698 493922284 741851094 743776546 56710022 718933326 768575314 463484770 411792964 879859596 87998222 123429400 569567686 877673260 118960032 574718750 204514690 539224726 676503620 514242826 255897920 898350594 560111590 915134824 571976154 733515200 819691212 906125884 871414648 269309386 338474696 905011662 372640766 162350282 609212096 23719596 885739818 313464430 346632126 468162680 423969436 161872582 982067708 180569750 909798234 3784292 909422888 259624244 250259048 31889814 701063570 225257866 802282356 608473352 778167592 583627746 766213336 475733394 272498622 233929254 689301138 447292996 952468258 737165958 342241544 440701936 355604412 892933264 837749166 903220716 841792866 699325440 473159898 833785690 488522046 728671364 13698690 794009146 783585204 204511828 56098308 813938622 78416644 290089526 951981616 298441504 411920024 912805414 621692956 837464670 339650450 787814466 805554336 201180904 152841842 777809224 651544814 870709150 728873450 463957506 10202692 767760272 601272632 412462456 159531490 514263196 530283518 881205372 963599558 373035544 42208316 338497718 207195352 32607738 360880582 501374510 890527000 302439348 274644560 761855076 85873002 721087248 34824564 873456218 530608156 164738026 600074462 301746102 350382976 871828422 610965698 942110934 335740976 861860854 155166446 444910044 661206736 280016464 135277222 502739906 769804664 230748348 229499302 31859610 870375340 426476628 926104766 594344960 192021972 527942064 261630674 503468074 177599900 444466950 81039698 722845194 613147854 437410194 567190572 922263664 980957924 202552856 853761156 969646904 25907246 233578378 487432950 468791734 402603192 919983942 107395786 938576664 432359180 786612582 346704228 664159440 279720552 201563704 294380698 528667002 976637026 411818610 194337514 727275870 862642482 393212004 712277086 812879934 258947668 763872942 169667150 212789752 514515564 940954664 31680364 147278740 192827152 95807536 329036006 971946614 558238384 512163228 267605488 333873514 614368706 125143712 126633498 970681182 244365560 11473470 724517002 550688316 631964090 161864974 465471280 221893078 558611608 622736274 415409280 341356824 119445416 143168130 770615980 809050070 397185428 811996286 578281726 836947414 867400144 748506974 742214572 554643970 137687438 283195566 745514686 122344340 982509680 231221314 166259022 974750704 167147116 737297318 215185828 957420824 744773870 818603552 135673022 261735470 771651362 887816386 749385668 769205520 816840770 949279192 587993074 383912358 699287464 214525116 330424198 569274442 509000876 18644924 551813138 401573094 454531008 244171456 843177620 880530640 163236272 282730900 602658398 391053132 813264616 473729362 405750678 174258194 278303946 340792964 494922052 874044798 44187160 691671330 596099838 636559534 158407396 739794850 707279428 806423056 694226700 489027140 747954618 482132454 326529432 121356872 124890752 870405518 219959472 954019902 859717886 129787590 646744200 109521154 677429276 117218202 539468318 329209006 531744504 823911348 423020052 94856698 319435110 33699478 418300332 228241640 639494498 571936618 923040422 23298518 914427972 842680956 485756264 528003682 846183976 609880306 230941202 362850458 194552960 777362996 272586150 227392760 586747224 313545272 361687410 84626930 173790786 194309168 417999580 58850962 33849940 845806348 442740888 701550168 27463054 754828822 480255422 937529642 631898764 693785292 700360236 37362898 816334796 935477592 929046586 129492960 718433634 620020662 570821164 806223992 659218680 452724688 360859254 262251092 937649852 590648174 995759878 576673878 412815086 778458336 472331688 344638008 100947310 189811554 301755840 316945018 175032760 726358248 303924964 996132878 50637612 163731554 231753596 483176338 195245906 604405976 97737066 172951732 961666994 709933594 67349868 132488768 257252030 544251002 339820066 352208164 50499746 459430598 706507170 75756270 488907786 44476408 226645424 884868626 989925158 363264762 894533982 919830646 734733458 953971688 129025724 835633344 728566244 52976404 872759030 180547768 901396998 449728498 977173782 663678568 181471842 648486998 517114638 734016856 655982836 133758268 585129886 652012668 704712680 741665902 895747992 755726040 29290710 203356310 915088690 577570582 675934788 618439736 313374118 766015138 69414884 25177828 609496310 93252530 977624508 99257522 208078480 348693310 332503822 262732016 942201688 285997842 409045436 356806092 3140040 150028108 825573564 314805050 906940376 817812968 816465020 785835996 505861676 505385390 874404724 191156288 660773116 629606392 115321224 365572424 420288312 79239566 590369868 527628958 327334110 915514410 559451858 885022988 151859550 24492450 806452124 294648954 263980512 782991714 805703924 136305666 963990134 778547700 659000908 493594702 643768502 855730336 478043450 457633182 642915684 227816580 431785778 221652744 680575016 424706742 93310832 597076270 752548806 908991670 110428776 732899186 893866768 891336602 865821334 894573922 54352558 463586392 762629600 988200056 783116066 356338570 652238148 409670952 933666058 344656214 185711332 12529988 931646656 89098578 418406718 711614676 344669912 479073014 707559588 185469684 819411780 934850904 677552056 640649032 531118150 393790930 96535372 225341616 384687008 976297074 270744774 481699866 716424864 438322466 631959162 956761854 591886730 931972672 939350722 196649938 954392862 570766804 378024500 203355556 782527676 642840168 691443508 890802724 720976094 197232284 322331050 119641532 708944 364656584 708429290 987000864 691279708 699998280 42499080 939052360 83550364 789922396 839773902 639745686 33460870 515862856 990268628 158737872 292850714 579580436 843927846 32538758 178912184 221975390 345130984 846313290 200046938 634349430 925995866 579175448 511243792 284207680 935180420 240451528 166283296 130943140 656116390 472684370 489648974 791945764 140282834 45499082 526902462 780891156 778300802 243217476 205215490 106274976 193669180 576545116 374025736 660042286 387367216 242352976 945282450 416328650 608534602 1735182 637323658 778764382 121907518 918830842 165866258 238022030 415576200 638732054 66890550 759069406 852119218 318361018 227757304 598577748 411818624 977109008 206096378 938846248 546465746 245478730 833553890 146246932 996776034 820708532 954412314 992397016 723334046 69851320 398829402 303883162 800800748 835489710 301238786 842809140 636504118 760564644 846514892 601202248 854941220 12522070 478172924 818722588 977944146 640700516 984146830 630192532 799007300 628767626 666705508 670428598 595117336 240508254 450363020 612028912 133301298 67618820 867325838 313059844 153462726 140222752 929049426 688749584 833208274 965752690 820774612 91948352 732881520 671936042 79935840 867023678 665902826 890650618 355403906 425660604 316298452 161577906 127415862 66181462 111206268 534752260 344741860 17350094 794006538 904168486 902367068 122152574 953932486 790804438 116750144 273658054 20517374 799648528 596220934 523823916 715393512 183341092 351765628 466071174 290321538 116420692 826135266 370733102 651322482 681358356 659028282 982161828 16115246 292343654 706139254 658846278 490437634 954106918 727036412 644405686 713907092 551504746 434116594 84081378 842526074 319293158 728108736 277551396 962936232 161371276 368780634 859223100 562790778 175786190 238685506 982871360 494914518 470123012 625915326 75481330 739348850 724658422 259552884 323487680 350306492 860584640 714153748 558178998 367522480 646157064 165705590 559619052 445217096 165583466 645174708 279366102 582109470 788339702 371069152 265035436 185294560 655795364 812894146 190494082 14857572 585070082 152161024 856067742 602709216 602348008 741138190 594869238 122432216 768587232 819966188 364231046 358090264 777776246 112093332 608180754 317696566 83019564 825899350 984036898 963169436 172153130 838159398 641910164 648084916 710621790 888110658 812821184 272114498 506279230 821477692 16641864 450959454 190310450 500905042 19679996 121396818 732102196 128945408 476807634 293142444 116250582 913261358 123883186 339492540 518283272 474164814 610282230 431268638 249547156 921073574 128754198 223081788 876183192 927967454 838666478 914312048 45769516 307736180 79449838 719193260 18370462 735585888 512636028 595017088 829402172 176728920 408554446 369745846 135842994 882786844 497939834 472353124 22588404 255947706 989597968 723411972 905229824 386985510 244454142 590042058 362099036 625881122 516454262 992511996 436052088 193329576 221219378 952864418 60731074 993643704 310379128 536874684 689307068 169628674 120785808 290656608 599265978 604372352 164581812 5648644 811275934 263519618 83596414 165009344 216629226 257390910 228674774 465926440 907558298 741079032 878787920 776905626 69904164 136033658 655415370 376231324 228007384 233996550 410940130 604017178 583630028 100766686 748541056 568745102 308736784 828390246 742612470 610023332 505613514 245579082 671556890 460472682 64208368 392384998 224915472 233032032 61506140 604416358 551503688 565171994 994082064 513297174 852709358 411228744 746202554 618143702 42992794 192446136 506483650 841096082 888465726 181902296 217316864 498707926 790430316 257210250 65853624 702724944 119686072 727805308 575334104 707900274 329579106 601107960 299524238 593883526 389858834 472837552 635976762 507790500 216347730 926594366 627685578 891822446 588834202 24743274 452859804 414598648 396796956 326548490 582140792 616332366 517786920 715426922 231123108 352863574 475856112 32175928 398169228 438975864 762538590 483886740 208172812 757708758 865976682 982084384 404322812 327594674 65707884 425282798 808671270 604882232 140542262 796831846 347500518 953477400 832407450 202343244 132635238 166719398 256756648 74574770 182000942 451935340 604765920 533324894 750567122 1404796 639571932 247847548 769580086 377137258 590272002 428594180 475539028 301824844 283023782 920049278 161591140 127539162 7482480 817089900 71852320 375272940 845065836 813294672 280669784 77896860 973697298 897957538 275709408 332920598 260071518 540730606 517602372 472647710 160359146 860354870 504096054 591771300 36830266 540741694 106708802 595391754 999754224 227232548 397427888 387154592 506851318 368582430 486236620 731431738 324503088 327016990 736558760 781968660 570198288 111072532 435061954 269557458 230554850 698137046 129516140 805608626 83355884 373351020 204401886 822137058 360553752 505370440 350778242 838851284 615908076 209314122 721983496 974753952 9393860 238386358 522065182 338339096 422442040 937887982 115407886 642741178 544481822 200599510 719913312 772778052 215632890 341844842 987391736 618402126 988371952 580755810 652345768 451093620 761365570 719596876 924321994 673457646 508825458 365510928 638731584 461947906 507566638 795614888 205912760 370785198 12955988 372295464 244509150 842576724 897749704 991159104 977944346 418060460 526767980 932647008 981786944 90653244 200774 592272476 621802720 152246760 490995516 406429648 4013512 371207690 648799560 248490772 991967480 161984724 952592712 517784280 763485066 50749674 523314522 739470790 124427558 309852178 776230776 697731444 789808172 390131284 362760472 311084040 378436432 60038100 623218272 386735082 814179260 719698240 675953598 924951792 579145074 75855102 635109010 254317430 576270848 410453876 631820302 178276190 962386970 902720912 343761534 997228380 70473432 36861996 857791690 687680008 520748614 770434144 995510112 390329200 926198038 424951136 688599882 694138050 809503584 706167136 941950278 63178114 271330264 599314534 389508994 7052732 964889192 551266666 744236810 270913440 851858916 402154434 17192670 985583242 431944328 519717750 513499286 987367090 292503010 51422966 38778270 573729862 608269668 502079190 680475850 34510488 950624320 192878040 990237814 516122370 782668692 206044338 183915216 867429360 983238482 625287092 813043196 798378986 85479144 33066874 959612922 64822168 610330442 127345564 480845032 487573440 38581724 415330042 932306586 679367624 803338262 990736188 37279316 539261798 686948910 953817614 144493630 346078018 987415604 603096596 652701620 909838132 340455116 588609592 731240830 764273320 701896560 260327410 724800160 379533174 905446406 412912052 148186250 132650804 866005242 80875514 735458610 417688448 653098588 69711970 843562404 673034924 436657852 270867988 2807360 390507534 623559938 7642258 113530622 675760004 414540368 365512774 331214166 457802894 161231610 518509418 196144486 760952068 816722376 498208514 806869430 56595002 554985972 503999696 556448552 650473450 236097510 79207442 174075718 158796958 743611774 412840538 629494672 564092482 506462 959077090 380019782 730292370 342547884 121648104 25547624 712146422 94389364 483818340 12264006 242746990 474822156 59913350 952688450 940753898 100321696 660729852 933847638 566588748 243003770 628421926 944177238 121273206 14766166 107513582 623457036 371635096 62083874 896180220 810724472 529504592 793975936 624899060 602320968 640792792 744920916 70065228 433358354 425968056 484068406 658506542 608136692 752962348 318644938 220155384 126427494 628373578 329031840 589683774 540893152 188714070 554154436 772566404 563144730 122632054 635343454 166904794 634504048 274113556 168994758 741716744 598658472 622909568 461153766 43946722 493481474 744971044 411738654 496734536 731650828 330204294 384036618 452961162 985221874 441737402 58726702 487812862 415333874 471463244 140662742 395858158 254562124 765485582 905955058 438013006 926664154 589975844 891491444 575364468 266285418 701575202 49885104 535665508 270241476 910290178 799651820 309859854 700374890 534052958 672203774 376440804 820711942 614971928 699401302 777468264 413532422 700596720 511840814 306363106 176224126 163164202 635382760 297817068 569961418 805317106 325873122 855908244 987825784 976694270 818142586 514213152 130793316 954285018 514944328 98109096 551220174 127510012 426039040 636978792 498109794 694599656 745790966 465327346 982648948 484441106 13145616 500811620 356168766 65550108 780391772 541693570 892498224 168378038 316549754 366444728 571540500 89137208 875677182 87715958 297356308 291719762 686918692 616702148 10476560 237083978 800084180 109468760 596300232 245707126 474485748 154236058 420199708 905024310 551567220 538585490 128496034 212822014 34137266 208254962 116271138 59009220 650617724 640378324 72050584 610697706 211546722 526031518 869015688 380471924 566713662 575484420 433803246 470185772 150030734 957306598 657330842 986929184 780104850 548324740 124649974 918292094 924793646 89320178 482407018 625420886 751447628 568992700 924289808 128095002 97693476 304198858 814999704 516348404 359584132 952176000 688528028 169901296 277463870 555495312 734780054 281914326 915580534 869482614 271278650 671870976 972738590 19715352 263325722 869719288 328831850 916468934 663016720 307206948 614326334 748989176 253647432 161811984 309661654 863634942 198387274 236180084 378934852 794592676 108471592 969793678 429932896 712895736 454449144 36773944 879307990 843801370 406118722 261171340 969288536 555769672 286653852 570861490 363672672 100648110 68885094 680205342 172272950 80237996 826242668 14745248 303080050 512624636 740337244 140013512 865078258 983673470 457948848 215407596 106274616 470587528 503727658 178698538 677812708 669753976 920287712 194185816 391023676 193750582 395935364 729082910 407095132 205380742 805551382 287703996 393423526 720673748 526309862 369485328 200792812 309144162 595238240 1818374 306217910 16260154 15979360 563329902 218009482 896537130 162255408 260143332 289950420 182009680 661145478 118837468 723330714 607722780 745227352 938002850 539701780 220025618 660966596 330722026 517119522 117568556 283058518 902711546 855824548 536966006 421342420 951467638 802320098 340851916 371760464 309237266 567787230 933503124 636471630 678920286 413365864 303389832 399402710 430538980 904844466 249428910 164245846 302143434 921632256 828364432 737271428 973836876 296354264 497247684 274611604 953429072 989078332 32240516 962149274 921171722 296134048 398842026 646181760 703682204 299605728 349824022 96174940 316059308 80621478 944836956 635983930 436912538 251305778 385716114 896659170 156076670 11516838 458889566 789342680 645105692 857882608 939138984 180877262 970719428 121249512 205782730 592781820 853512586 906370536 482792702 584121210 869742452 865765322 508278100 384793338 80296582 478769118 34049984 859405752 532948818 580661306 772584772 12251296 543191276 203897616 507996986 793355550 758636012 687077634 59454868 707166726 664007612 772086070 608303332 421132356 572667870 826112022 823864506 547334302 817671614 187721296 936176242 825467798 114846004 396337044 821810678 39269748 969806648 534911042 649488960 606173408 441811978 705991224 744604890 663477468 120132926 50852722 400300604 863875020 706184634 374051788 891938866 66385598 187301034 597550076 422693540 85692098 473819054 374535308 834468272 983144040 125297176 86111454 716008084 396628834 53458064 2455356 174101130 321039292 307871740 41978326 221881830 661176804 52408534 557159714 912928506 728615844 160812540 868266320 477373908 152937954 999750332 710284082 673526520 517430986 798604140 98628554 727807908 787757710 344811456 803155106 189602372 574235010 779879434 724522680 537232830 895480808 361224960 381501754 365966612 992898784 584859342 430847790 394772282 465678184 171709948 51555044 584108148 55234110 450604152 436519002 554288340 926131486 459874682 540401270 455574960 129275946 911178950 119724356 222630046 317344852 94340664 169168428 409683436 579564456 136000404 553186578 650783110 901628654 154677594 26007672 246264452 451283572 912519958 889206166 878067654 636156214 953958504 235965328 150779620 392689030 903169794 610507868 790323122 875471086 390233608 407730470 555047734 494550136 427749404 755795688 676722284 260587594 71605984 335411892 464445980 97140568 170327554 683708806 575674516 823343514 638673520 861428972 186142644 876584968 231350846 870303144 866336802 652928676 985697574 96888028 771210566 660464022 591360342 576253950 637171848 469254976 767311794 581231190 580498906 60841160 372150384 529279794 264183486 708862888 667946530 863095168 45634210 260541274 785819058 969015874 239207328 200298850 494348392 131545170 4900770 8081534 820099332 565202010 83858166 83204832 235155582 44312660 753262100 338777068 636188146 153242536 600591840 734184332 77339860 288642418 398364308 474652544 794811894 889084760 105331870 682755386 332865998 814443192 107831014 527888948 433809282 87625244 511628328 342063846 728179062 57985732 589252696 9274718 956966292 442201804 992379282 133613244 277559066 921557356 501668464 478146938 568891160 533174708 886335810 995625264 87256808 182055178 922196856 906152468 991978016 651056388 429440184 689887846 193232626 255022054 825769618 999264894 986396820 272500260 337685978 47457522 22984046 627340074 441885162 815190858 935954042 892404568 917160948 827385844 735578106 649262956 99431752 133775450 765481906 701109430 255902520 916406382 909478668 630033144 96521700 503016166 595518944 744730050 814143616 670929730 630663430 637669256 272767480 328381726 356165292 976608292 264739600 30409848 801712860 654196658 333483556 486684338 197108732 172650290 917334022 795728488 829520796 730478924 952242710 274146590 361795220 630148756 67063902 403574026 123952826 268953134 703635406 642511950 605728102 712771096 457475428 614307168 172600736 326571406 920010286 338084862 462672682 415353836 210117464 836748950 8169732 512883424 612447752 426416552 90920274 96952424 19150112 34199118 481885978 640615518 301984634 623693400 569819428 478936358 441391902 37597380 948039212 733766250 691729624 701307726 527002498 361531458 796671156 905724342 565529700 961536626 464185962 798607936 152937032 817612592 162542592 471683260 162156350 255876440 30234496 456510654 247407478 703368384 505050340 463611388 422635304 521045508 886624068 849555528 522175352 766684912 414086074 378448560 847574606 871351760 253566830 134240402 508430288 933514668 565477992 320175770 148199010 986530900 179662514 656854662 393663308 358572136 942938202 527127042 892435520 185328956 329231664 424938074 974226926 15419866 9311138 508908318 467062576 397833686 67495086 531381218 785880592 859844302 864751648 47903788 514050114 798253582 97724414 851620890 284131996 148340048 935002764 763969184 964424820 651847354 557606244 737803612 55634214 647514776 294167126 993510408 9437824 993231862 237229342 765901348 709432076 242018356 751743456 333090558 333406130 404205710 621096954 949343946 303607718 831748862 441489602 974555988 354779770 940717566 972192850 690505042 853142528 511302578 116597640 466264888 353715598 661444334 243635566 623282178 985625304 11750082 292839338 792711604 97198760 284980490 508480 610387330 719763104 402790594 346262824 308883498 594326742 531748716 357439862 536088550 619788872 982048652 103361132 252472410 211306708 688915216 885563576 965315240 58233192 641412832 825495550 788989474 631674926 451179158 657281358 655646274 654700920 802163830 22433362 416550402 746276808 624849806 858362142 392418312 344961636 883283862 267149428 257124206 141334190 732568416 488401236 743649980 979991388 562355774 48936390 482402462 55922166 250559120 463592416 162754894 721727412 316997614 855120750 901103260 84139130 614596592 335247518 783791210 302208056 321870760 347206946 593721296 303807994 516078878 530315884 607003350 634993104 485826762 692475186 16717748 191050778 497173102 619185858 785153064 923313434 223596894 469297286 367476108 347968518 502559786 389843108 152349434 290119626 619412006 599697766 478629588 334293886 916109406 963301406 330082636 858626748 482855376 4030430 601311560 167491402 551458622 482204610 308598932 473465788 583315680 93353506 393854420 440539606 820535858 689052920 113417670 223642218 570436916 858076454 460018430 671384760 392895302 718476394 965034776 456806996 636465464 988571126 988514704 792745518 451149706 357431272 509392028 146443524 118208892 409060486 694985636 307812300 557815546 260004934 103715128 364053282 126301232 121140668 955609626 757604008 120059170 662011230 423523748 690493998 599984934 589049496 555627000 893576442 682383738 722594242 483748520 462439802 911086680 635699914 869291204 491582598 350251204 412646666 534014274 620767848 101527088 100665348 16990412 776753890 917822166 729430852 952235122 929121890 287836178 214249482 382673900 173810486 787113086 178376560 879468528 682643020 854799082 603476268 36473680 90036890 489471044 426484570 590403390 737310992 583390236 355265530 564499946 822106896 765883946 908725298 744389572 123189220 988216574 361770688 249983180 631439242 988451246 762951918 859256460 590456594 376460576 31510948 488690284 827320052 148774172 662084858 947602888 876198456 289221758 573169080 313344234 400942202 5522262 63557914 871948376 787182526 475144360 727784242 800132680 787606952 795992234 517986992 770900584 310617424 807917290 487374278 481262564 2108554 560975056 966262452 411357372 186690178 318744372 707896032 744206994 653052310 227808034 42234406 818627662 451257966 378610138 54778938 673690770 593669350 749855772 759886232 749778302 419056930 405154190 982006012 892024490 861400786 225163252 157200800 989475742 262617420 70005844 5473040 104356550 868654918 900023332 915647904 477084594 59635926 784904820 62139820 37243500 551254302 228546004 319010604 583204582 59511718 198303688 365787998 828783900 950060290 136418352 237805664 205452790 219302936 229955198 38983276 955405584 887007578 121189606 12922844 871902186 837586918 898192566 295669584 485820292 67534128 988856294 904111914 762877542 717585068 473915994 690157950 122486506 621730900 364758516 605337686 377304178 118686386 572441108 986555878 121232896 180031918 632040216 288916998 337735110 33468976 626141402 481831628 422832052 392124070 528275716 64626078 754715280 865567194 566402014 239822490 16024260 565643752 399293910 553951022 107949390 897793694 423454068 323964844 746053132 556057220 582280562 102598158 422305768 659253498 319421088 442864724 394925286 725458180 535742376 859178674 380158744 591514962 712346830 834453460 553918638 968846428 445090590 750028950 490276446 636327644 921029686 886521134 396555764 985088788 324356620 955383248 647709730 973102840 852178364 712457846 184642754 264310518 882718384 866220028 652489518 649542548 944785556 703506846 746029386 695531842 16679922 754468130 979323864 169859704 213063970 458635944 563445890 634098900 752629020 490589872 222215302 357229790 732494650 606486612 515596538 666522442 5366156 925936978 849874342 325617644 541755402 458291674 293449540 477820930 74650098 360590350 145543976 301060914 825029026 30066734 493901010 958014312 627812238 491019954 745518944 99904912 304268790 677335122 277615134 534153132 214016188 477731562 82375796 597537506 790520902 239190696 934851334 684973204 27545498 335501370 951858360 872129162 286638424 446916796 400594090 549219972 351374294 748196216 526414562 921890166 203340698 8217642 524385300 438794492 479941176 827670644 574791564 382120348 141436288 46982294 911063754 441151698 547381034 721889300 944506540 594986956 799756304 805428298 545469852 12058792 740567080 718901060 617489750 847588178 822251722 867781752 797864440 280928808 33464106 346249098 415375000 844703670 921668036 20201276 946853304 66032454 968013542 173468296 554849808 341673992 941914288 870591690 355319118 477285272 625187922 174627962 682566402 222140582 262421648 70554452 235115298 202743908 484167954 234655528 254090738 602403574 38021382 266069218 164014814 330611266 291528002 909273234 224377318 363836848 764872850 563784064 356507740 245128854 140498424 395981824 471460954 954857502 714560016 928678450 990670868 848064940 222228616 720810696 979200442 799217694 358459672 70634920 153478758 706754284 705839120 720382268 776397810 443379646 229857064 991527580 836050986 844322974 901598332 4149954 201610482 709173078 495653714 270313170 98918058 998207764 397114516 799187436 617573666 627706034 704217030 957509278 518107220 713605522 320650424 988939784 386612412 168238922 319245584 631908844 43455088 971952444 530709204 989542770 303039424 529303692 822121292 605486808 580943002 599005140 647740114 117879446 28323360 219962764 975058508 190909698 819401954 267863434 722112586 245647976 589470322 695740304 937023916 901480236 32636486 915345260 519961564 935624618 269041608 128554478 452748262 916597200 649575518 220602746 456333918 485426892 672695936 588893670 817544350 334148666 913362782 883393728 753142104 551990948 714183236 886892016 701573526 898198658 184078072 216854482 336134486 436674324 330544046 704659130 697654294 343405152 96160060 470026828 142532242 37412804 356790784 170908020 54483736 394111212 827633934 640609030 393712602 404582226 796308812 27508062 205323422 686140912 540421468 96446940 751764512 319766200 499051604 920497206 620443760 883896634 720511146 358534076 964352642 245043078 745217112 241244788 245848160 292042406 633289452 160322146 202865492 599193656 197641550 239940286 960959574 910998540 382842726 12579556 498172562 765322516 348651126 151354176 110856510 146744244 275894262 931113248 178201398 970664824 202182412 540993702 743758090 276957536 975311316 209729940 223275888 105042380 580412636 964201532 659942940 322629710 333288568 487424962 326676454 270326784 559588216 270819840 160447402 677621622 208034214 955850256 482262178 513593156 513038260 309055032 414379926 914248190 42129302 196402450 527190254 15830966 152573004 66640212 301944116 739087534 249666698 732366764 945768496 619160098 520107126 783474918 445614364 62135954 848165676 570773970 941712800 335481698 482928334 416597716 969124950 987011994 56019612 246451402 931457272 957770640 701473566 41684966 547516380 420861480 213995734 31822802 178129246 237340714 678445174 170512512 379323268 855915464 853137936 74208110 179542442 327525938 329761402 351795868 114354334 377758248 508485840 109291950 181364082 316534312 82321406 106881940 82583090 721498448 949667028 361217858 491970618 315262570 693954534 64125124 144675532 334121124 460581222 352149754 567219080 300130582 259145700 144278338 933698686 651017520 971097762 232028406 43137510 77850842 816872226 298785602 748437440 710879708 166183088 583967746 299125722 8780684 208471868 895795886 298128152 382753592 719605590 929756668 848471670 767910824 683499850 208748656 346446670 415789422 440231872 375733236 155754580 370343210 852322058 133219306 504573026 512236648 916160838 838223160 998384058 44723102 712443994 533983922 278633932 774505026 892808968 289080222 333365608 387786338 570339814 26913446 186892674 96349268 752290070 109428634 392530204 363871356 945832726 790901888 71602988 503605210 216714428 128239896 122216374 674564184 376986244 662965056 938794772 749481584 267499858 572032976 471728322 886915482 815868220 18197090 799322208 341058006 844096528 756329824 298144544 856138348 703828314 110578682 631809852 657273056 650110732 666836912 847150214 463424898 998480274 370355604 585547464 815103272 20053082 374473180 183456304 879324998 82370870 422769402 877226448 297402694 78501062 404181420 914062868 786339178 270990708 6968648 30529674 293002944 934363094 705066488 354243470 795014874 37114552 344572476 670946928 3522608 115552838 670866672 351831572 864500326 452690764 329418496 494158706 330784416 235062390 280232982 857065910 77969150 256730500 371438542 219525650 97780446 202502174 346085668 42655630 741445806 366722522 55072112 896004466 892786308 685604330 358630718 918987850 784456038 317364794 302826636 81347950 590691450 383475004 438078800 273525752 305364938 49543346 983386352 948039740 464225934 157725432 223240032 890060316 25142912 166474524 566475512 75664252 170586258 509094486 341308552 306587090 853941414 797637218 735302570 494194852 158339544 368841986 936553850 839639598 964323722 182910126 408622456 395683750 881033276 359310652 410077432 888184694 72875886 867145088 26748560 283178028 502131248 565014754 553868700 773194682 40571400 322140016 714930828 623210946 233119758 212225486 370048986 315101150 14690000 622699262 259385204 128066740 573755236 368979844 940230038 717947702 4718438 208471176 802206916 813070080 932773986 220475056 506604360 415360126 998325880 337082862 983717870 155209462 781284950 118084716 294093008 253322060 671178624 656367360 671967578 245272288 569448612 503118948 408484856 101421308 811031224 558624306 793254090 324045310 822163660 185327194 574547756 267868032 131046430 792713996 579336432 529003788 906739846 552202078 595205854 39832990 813746664 881343600 82066192 739343884 200681212 465147466 635260176 158902092 614521400 831553500 859805116 993179762 774629390 42776864 246187702 739617290 951818644 368330842 253371288 353477948 551194562 375648858 669948642 696993528 109906478 236821814 485576438 639628332 585684756 760435440 416697816 836328342 169506500 946330078 697101728 392912262 209963020 946940224 248723062 486823544 337135054 196277948 53359894 684844412 538379486 59750526 296265496 665300826 448707960 659051120 409373364 321560664 290181576 368172882 389040790 588411744 756885090 752362654 966329354 980608508 143877634 841374408 690635494 107108906 431348132 607018104 874412908 993481040 253659756 204351886 441439148 576910910 874977684 626011084 433482034 435334734 501276336 965632102 254659912 619467632 624577216 551035172 327204638 697447594 956852674 598344262 27761890 512601938 452820446 329322766 194391414 303272508 287033410 919448664 286444736 940398884 191725670 368411412 87715680 362556578 430557114 493482734 203643724 860760306 394896304 725206270 277910940 915442688 683149576 60324230 814093854 398916414 404699486 899103100 658185560 344203896 482686996 476856092 950407936 354215036 607823246 248724864 196788762 505988164 364074972 431388046 993582974 975606806 165131736 861706202 768150028 467604614 688080656 569335542 949924852 799497296 385478644 715970388 828090030 515970554 345832880 39741110 571128782 34745692 638449266 470287642 38371608 118900044 609358940 403413644 660578982 432909278 903570138 844965054 428494572 575650174 472207122 977483604 391905560 303923900 445392412 601971700 362308256 997048772 104363410 915691286 430801660 830045884 21086202 570171174 293992490 139351954 160690812 797857300 555784356 476975912 986962386 224359970 432407258 448724998 380094054 936386538 220445934 294981168 708778380 610730392 743241676 270802126 680072962 335018650 468438734 292520444 845916826 601224660 8637644 373774244 76076808 869736960 877312072 118558462 626676548 722697188 597946350 205821316 742301356 348932866 364333284 827831894 764792218 498024892 118360866 781880396 530506410 697272336 442591992 829742468 804227346 325626832 533328530 633400472 304050496 19776170 948451500 38127776 139428206 875671966 310486946 772954742 416170420 624109804 829501096 741339630 355706520 429302660 541765578 690700990 772208430 894615354 781512252 583536474 448173294 237484390 987804280 299788592 372456000 57620630 686581784 449464748 177629472 158732114 103944626 426270472 638253600 483797732 418489248 419066124 541131686 578734960 694451006 896713446 517857134 204418972 109785900 754240254 240430482 806842834 787323940 819378464 155302082 290231274 794515032 516501084 393687882 627555224 227788852 387644688 985359038 589656896 484713952 381166930 265923666 16679348 823716982 736877502 495881828 58381166 403403684 542273988 35723318 282554520 843336646 950269578 232897234 43660502 719334926 22489414 387075424 890353902 554647174 226999200 148029660 105335450 631821412 884356326 267627486 317679878 702505066 620595098 839180090 542668264 555951952 918638596 680161464 678972962 310519772 178034200 801032548 733127484 333363000 185743526 211649742 762017480 732303776 293609684 719619488 310830824 357593262 548859770 521972550 11274982 685576884 169205728 674987400 736816668 319162658 88499002 563038404 645437410 913416966 344174000 310039824 348412974 416206736 420869924 390920882 462036394 367294558 871068064 253040394 938727182 996090174 46022882 772445054 866467062 513577062 615067318 632981420 570525728 709069286 365150964 11321802 233924322 877011698 499596588 68818002 835738108 176378100 540948124 493934236 37964976 593554096 256969106 834168230 645760372 400914116 408051522 996674922 424512832 937393014 460106766 477554892 345665028 896374638 803349234 278399226 71168422 980216306 513009540 9541374 857511942 392583266 967561498 797730996 419851162 363080944 501069142 467798264 413890348 880225172 897356636 255664068 676203176 786447638 868068482 179940242 790559032 624315346 820869662 595919238 421720452 93088822 860590912 184035344 370941864 523982706 555572976 687054044 791847538 795096626 318324718 883054090 513830610 410359356 199525562 864902784 348931766 411345034 854631920 459541424 97315196 489519182 518260688 947700124 455583066 909461272 215821200 895728030 117025528 482084682 597140240 448042146 651033754 780382034 159487022 694130758 636698812 522559484 670658458 13291532 105285462 985347944 680567688 676287378 973615232 342940284 417302310 744450538 882010496 474592004 878448156 678111858 9215158 236066800 667234316 584151960 691951908 826174720 779123858 886889464 212957726 544813082 222367658 143539302 212599452 572856174 295909458 897553726 229179030 314913052 10069850 681314096 879529312 403896044 769843842 954222576 65630098 166664350 78871138 561873348 663283890 324102 244700148 300621262 464211746 503937518 456376842 498698244 463750400 879045474 742341538 959815656 363357478 473065854 282533034 964702746 558522540 59108844 956874740 126822824 8151794 109611038 645177000 270500880 696107552 160199134 279572282 908462498 846050468 854186864 609339998 179174830 212956928 128714580 505708522 21645672 577284450 100447344 397653358 320243910 925436922 762265282 66805690 326840666 320893302 596996214 768986986 90692606 483305428 774113334 505683540 937725898 473372750 339842954 229841402 16004072 175580138 726509116 209657946 309958958 984091034 821478174 254893868 17194552 124876484 736749136 319735162 979544878 14908606 215772408 916564944 502935578 412915992 802181944 310228710 748870226 208134632 72923584 519259464 423077134 835993252 757871914 831806682 266950336 596051778 985980878 888044708 647196514 496241000 923685744 496140362 308800870 266300732 63494092 722465546 599645666 111225350 912539126 854112802 647789438 213586820 496499556 357328888 435235666 776620334 7660306 579984056 108182292 994072960 989136364 631836942 284643780 581181742 159802038 904058792 328712620 562323590 735699424 274698504 677729722 305144160 268394590 974505738 637379736 245150422 660147454 796935338 180107190 759421176 571833736 17600578 267540714 482078708 961465616 647842950 487793664 350844474 96462126 731917102 277085242 608988386 480789876 555880396 84727854 824448724 163680696 624942952 340571402 174992350 47765084 160997902 765441294 278486586 15800762 978666594 721369970 148934444 313397372 895033936 290520288 688204922 976107538 920977128 258927696 675866002 744144708 168770718 501916528 576580444 207620442 415632580 541518326 686607876 226116650 547682886 65985836 853704158 519951874 748021426 707132824 180384276 251088718 383252934 687032774 4059162 138965810 801617186 815003564 508606514 193301380 551219074 385744448 191051422 969676380 679088974 658085712 832437328 723505730 962572184 319584106 450901548 550517112 806360472 414924270 5363256 594087448 28118616 485485952 493690964 3142008 986302260 112154620 919946278 320855220 965485110 305475572 519877732 99080952 990044248 515563180 306524008 534078212 451628594 146387658 260350856 43945220 22737688 203551842 902632890 145503976 826232658 993761094 349325156 18967970 261929882 552911154 259124620 684687884 205551318 238491836 820359670 453105970 72528244 695698826 986167884 306645328 905953462 450003578 665673002 855533086 822546310 389718270 726273504 241317216 284154198 331806950 7175764 157905994 24461582 304264690 572351076 39212370 925900064 941110144 582986912 129470058 96315288 280049300 750990232 739538660 497028696 782875726 903682864 440886902 518565588 358868184 121939930 727075054 918260876 557127660 345457106 704612802 305573488 985945444 959240530 560119864 792052360 973054166 277761828 308646106 437962406 325486880 562075944 408589854 25708752 18302908 523278460 810697352 361694028 701966244 852243764 342383580 398950854 6474272 528582438 342725284 243875706 278945480 521196694 6564064 921887082 581297392 692591664 993003388 518229806 439112802 204289110 162943316 27530854 851252078 303200314 242545816 329785732 383488220 906611482 635236664 218540618 372458196 358548720 113916534 86843568 918273474 941810288 246327786 745959420 916846898 282012542 576195512 751521894 312419146 612150774 3976030 287461662 488809404 840708966 945748318 252933230 436448044 777190372 115828934 580770212 424903006 471942312 32339340 984836500 828901288 798675412 516774684 692091870 743190562 927477940 458416374 449606518 849679644 168072388 760747600 142965426 927343586 122592776 310017892 932051676 692356538 824880178 198949056 895479862 330774444 900848180 298744204 200006600 254523938 899763786 145844308 272150822 724882938 832385030 691533036 482689858 240931670 899302550 867035820 209780152 972967864 984133596 274032686 142465472 694489432 254325222 365896482 612352010 176384268 62084412 233250254 654027534 122331248 43399900 87119044 749960608 765600876 277952856 863165072 377799328 795211234 517458164 544150358 903318140 597714260 823695664 54325394 686780660 469979036 190085182 144106236 545648002 274302810 937243138 661101760 661131858 549366342 843974638 171893618 841674442 504428306 721647610 536976498 613777536 605119382 781533660 153817842 479990768 857991238 194167400 855680418 466478450 896634644 623641878 759834766 659656150 824203430 177722534 203603372 441318044 905817894 44733690 618697530 769930844 904509806 371927244 730126436 602229946 50159448 466203622 244160180 861531924 713696446 476074684 885119228 840742098 80693218 445885754 595688028 161827548 480530050 790608338 241329870 856660076 569236756 248406536 967670338 368197170 573252028 287715830 585517206 593237988 717651770 921105538 787464728 664302608 246474694 968571070 540471918 765463862 203204516 565206296 93077030 43413606 255970594 479670182 93853372 378095928 469643710 417611478 814330870 906210674 489982674 928819228 195064250 836094304 928847738 648856266 153009908 149949314 527047052 873489964 178705454 928252610 363814596 581966022 882968068 345430352 766299408 259212326 227399546 431643746 815612418 1003374 251368946 402362022 525078824 318838742 391588510 636800710 83342668 848444036 300226454 840092230 712265140 569190322 504177724 596616280 707303734 484333214 839756056 684358918 920347922 558588686 292905676 65625164 39685332 675038860 706286892 381548932 762950880 294464538 894310378 61339998 589529504 673069426 667567084 174013180 358273334 630264490 962287624 839478266 75065972 667708314 578127396 827949756 329281332 293671104 702873498 399079314 409160104 114497316 745532798 791653208 297291770 171250336 872180406 764698276 128415826 668785164 25003064 600343496 415819106 601526158 801430400 55053580 226034586 474988074 134193088 176233542 414483376 685608058 624745328 512652082 507981178 312550888 726781902 589610960 462473972 397114222 672129060 624080278 460206688 307022874 838140684 611534802 109945932 637537056 313185692 400957020 146772704 447923960 655668864 736485240 323827692 151284792 477509730 353581054 23565986 876398856 356340146 112189582 87539360 888790286 893178526 469914918 900955986 956503412 460422350 155929676 961080656 455856328 732581492 702237898 649746784 684878442 443058192 80411808 84705690 146205192 978935374 472084192 713137146 707238798 331413274 877410770 511311548 746633478 353430250 204737490 580399720 689136644 25161266 166639600 702775808 915766816 507304538 8177278 177744108 2963848 626736536 842182330 391291564 809469550 310189600 4706780 28674448 772010048 130768142 125562252 31385104 508779424 578429092 720837552 267609258 260022546 687630670 512276666 418873218 120897948 253301104 848905492 704852722 28574788 971634306 523729534 667004244 411338862 144517794 35847220 616306500 539497346 796710874 979808376 35043808 890499586 360282508 738598652 283862622 534722356 289110096 433627838 203062136 166889714 939187888 979091764 575156856 905652300 96824044 214487642 249341150 93592012 403274682 996588412 255365904 713473466 79838882 312282670 360163322 944599926 44069262 209521352 956114666 835776146 280457492 532433002 629325146 997480836 691047234 615946820 807463094 784735634 208039878 342503454 521787480 197065660 163238660 340771828 114556538 303581554 456860592 70047384 837730340 864183986 354459304 967799090 696011560 632929586 368642638 401753890 976193432 517230784 545926522 623524096 932947836 817538312 879362762 531614530 601717122 552595746 944748822 253294080 104057704 915906070 959028736 640500032 907760578 466689588 961009206 993060534 989243172 49359480 416222478 469971130 300059484 933197250 816324652 560020636 249862624 497316992 334701390 455309846 46301834 861120748 862059356 258374866 44021710 316767548 22226156 146706854 35436278 841926864 738984000 516359694 660431220 916875182 109343928 83025696 548812804 452953040 230754056 156771042 77408232 912820190 975840606 836723522 8424170 849816384 897672508 698627662 822885066 428879916 619621344 411913058 299495082 426712836 788616418 909170076 644145100 344030930 22159394 712906136 872114224 768365558 663371242 963401666 975420238 897251804 133918958 156891592 389794828 661769092 56556826 551263266 116165868 409351406 337043046 644462664 198133646 944471954 391787944 870351972 725489976 144490384 780588524 712718710 975305840 454887526 716053572 715046390 945503502 11683362 30491380 17933458 254141196 379231786 377030086 14473146 730450972 130930608 355955622 219690722 779362138 889557304 397640462 326169890 318596216 325743376 611179274 86504442 50574492 370388200 844093472 679602504 449319808 537595092 937873144 303108554 85744142 691337404 795150294 223657600 657882050 317237798 348452974 681173378 543118228 511976288 675255986 6471108 761924632 332420074 608648282 450525606 44546398 401219342 910959056 534959324 30282202 131246180 969843532 279894444 639844030 364451000 589540178 442142394 549011826 983962462 975182260 196490390 109514412 951606348 285124642 659772586 420266270 323247072 876915236 867985860 743196776 619887374 891952462 112538748 341639648 708807588 449756396 612084784 670595980 191653186 480296696 73214328 929734820 972457574 937881066 531453492 574879496 218770772 427760352 991262932 837696328 199694006 696102700 382230690 668490786 842016778 677969282 322966996 471734156 359386078 318189774 521738680 991247722 810294614 69324564 4612662 331410952 931134592 753344006 376578850 684937604 359067888 968874488 490181616 546741124 179065526 703822844 9294504 694143478 151142884 79170596 137459708 450994010 180680294 732606108 409111920 74827996 599263290 307431738 768401766 243268294 904246588 231171518 791043612 828906926 435620800 678369060 805588292 359889668 451998812 316853784 493423688 257822774 191087236 410462776 396089386 537546152 98524668 599313636 169079388 751527420 270057940 862489142 953146736 77371200 938206636 670822762 104749362 694150474 780086866 710099204 180669044 408044222 72401232 143225702 704617300 560837260 774211900 795120528 925183728 672813498 316718028 496620850 904638176 79736804 945765188 970432532 486329218 926552500 46721270 91488694 212903640 891581430 681910976 302133042 460164076 976268930 573919998 312732444 733513122 753528536 787582302 129266236 264817072 337147676 899711062 83286864 192910708 415379734 375722924 926254106 29669038 763666144 752808874 782183744 366367152 927188236 893915202 465936898 80680566 155764742 875502528 389579368 127239640 184123712 232368192 66600756 585422634 445206984 728358908 75908770 588767402 752629736 168370914 568972774 901032440 900008920 172564116 660982752 166482766 180973956 939380970 262182192 669285672 835614118 314407840 54495942 891254476 471935046 703436248 550606138 566204618 280620688 752118890 840802584 940200218 233471296 170747686 5592562 366267636 26428718 634168598 187319222 854799434 813667396 787816098 653151612 292342348 735792144 180127928 606285942 533171168 320940952 534287490 695902382 853380364 785351962 651890022 140578966 812794474 276497304 555814842 920859042 173217572 56386808 954584820 409788890 755023312 721696044 577516040 121740192 980296148 373329984 673931388 894553684 23648198 651817474 695378856 265142382 437062908 674433498 870563438 688426364 63833734 460703528 207898742 404579554 239183976 910705174 331408730 887406024 28177934 557515072 833309942 968126778 14671726 276907718 780934124 765373646 244084314 74734948 585840606 984445594 312823676 428528818 545360196 115558170 634043708 815282660 924624980 858584786 436712820 731966014 840026334 584612252 262413042 857848866 618758134 568212836 364770828 455834878 113452774 104868742 608803800 185719730 904291690 658188930 189104114 790432854 607539968 240075268 226447032 358831954 559232070 874927178 328876238 757239292 231559020 3049174 184069046 855236304 722777672 886394264 205210448 857949086 955825884 237583206 545547944 279756442 421333130 341625240 228245118 735458756 248248340 865398282 753371554 49967010 551654984 229265646 528169994 310082790 206070874 485069216 181533888 144081364 975110098 680692712 747863492 258396264 611138866 780669234 516913824 866651426 559169112 247750090 140984582 415615418 597958198 336017558 989648546 133580016 957721108 630010200 272940184 337881168 341886192 199172036 289092424 868692520 826049048 935842736 839874294 48185666 933717726 464523270 39309164 613501952 247166132 382176166 972742354 142749432 152413764 952121510 957179766 127283564 944456936 580976166 215567796 378952322 5616662 819191584 109088906 116044084 429853990 427212250 637535600 924916608 436997300 997045326 262678616 174548526 237542232 279234934 224287898 622938760 466767764 51598002 481316914 444144250 885577428 79117584 326049564 216358824 170330860 492605114 253805728 66129052 145134252 690871280 138862628 641626028 896027506 427371654 83916134 485802618 751415468 406945694 459314496 118955736 260370276 615260764 853984622 84179070 975142626 282372058 768524854 162367782 703171894 53451148 581664098 271444444 378343396 676726984 7640462 264295586 976600126 487672928 341164902 422357682 819002182 234091404 390855372 711990252 561106236 583775778 79431504 393083504 355848540 454320462 791023408 708495566 294980436 13618734 179628746 888261280 168447662 318943474 272253338 76987512 527371744 842095114 592880548 818091706 22430314 304565740 964430512 156632940 604153370 930071466 271249310 709020362 262150988 203359524 751079340 162250836 891899924 888086182 688625816 119284216 822535224 243684834 684673956 116493538 904617582 467393262 792110352 446072166 653324984 249995406 521866916 615506878 618181748 487191820 284043226 134738550 684795896 33379588 409493540 383441044 246443622 933063388 972402314 67612890 831800304 93482056 953026348 808296352 749214162 289674512 92133054 636541680 268186092 390754986 678679464 985293976 160248966 470847690 424457876 369923156 82267994 788224398 189312126 337308624 204969618 687091164 345145952 108264430 269336942 300532616 889236332 230762746 613519136 930780124 992987320 406902196 956531498 111004234 283594766 794665668 955292278 504847738 401792598 580180796 275294906 624850998 756573032 868625732 530735922 249623464 969396252 209188568 238330958 38087418 704840922 882880630 807647588 691087540 813085548 154231870 979986614 993131336 217020944 50555246 446079448 317079706 459647344 277147966 142509896 895304096 154410972 20044640 390471774 34049896 96667364 238007530 174227666 331433952 946122528 415109816 307778008 118095548 230547540 808056770 141025874 480699014 56965088 347422434 293033864 147368280 160067478 479483974 836208290 70891778 524869370 495639368 581795728 617324240 404355708 309693794 836610972 443266106 501750352 156436792 94164038 405791396 991981590 991796354 375190034 553119282 718783174 435465394 789785068 461384076 614522616 364475024 257196534 340624838 737871398 724885118 553776380 248913720 713039362 406215532 788986696 462841704 839712094 682434712 883890874 122779092 152398846 352054088 53246324 180883046 840002906 296209624 866261382 479416482 190316926 993297144 516315458 271348592 380368158 362081912 647847828 855377022 386288482 132169166 80726154 103833838 560939906 735417566 577548734 883720584 351689068 410926980 137448594 738149980 69295914 967297324 803293200 332172948 219703764 942362254 900087154 188694546 938242648 414093740 810945242 199481100 287299012 276653298 352804136 63134496 330218422 209018558 258810074 746466948 870198498 266956158 786239886 570621626 921539256 315274658 911247698 81466960 689035500 455048116 884280610 711565140 646323296 644403852 350990856 250788250 308319344 975418680 375528952 295140800 169686264 751269920 830302740 273728716 590524666 30895844 562836578 775233944 142775004 279336436 334198496 514694088 543054356 173483984 514870920 481353156 902204662 363267444 758764314 155089090 944837234 223419130 632400120 774164140 238295748 73181088 320104918 388608882 214484324 234018490 414364784 714431160 380966218 66829912 980203024 703824632 18201678 80746578 327614300 996565186 280588548 800216628 654713672 146346540 294109846 116889386 39287448 192083766 116815210 66272056 804649090 427698750 426364282 242282022 780161682 290346568 862786042 446174902 793392816 770240886 210328244 614265022 38435804 907336992 204638438 925084312 459163230 99134718 98620356 994712880 770982334 59356470 230677264 277690494 874570484 740515766 601806786 999260980 143560052 383391864 732097862 834195668 954509362 699041458 342833198 790786262 922778552 713857138 599646290 912021152 354580900 492325650 357546160 47305144 498499792 82965396 937101984 41708604 444274980 148486184 884263246 934275856 258633594 349257656 908438150 45989796 672607108 199260660 271735026 142519646 564253164 652909970 24729042 875339432 165227114 808014544 654563856 705694030 338792790 390386646 805153318 514537256 270986444 647692702 318822810 434889074 775973530 178353784 640568400 619013268 343613550 580760502 330672960 189614440 912488030 172488010 682026580 1673278 291572218 179085462 211949550 687579318 864031798 614564942 179195060 85496134 733610550 484803512 751319676 566856366 718472120 884132794 547568318 78944292 634865418 981646050 614627780 964191150 284066846 24350930 266647484 683443276 482964258 465431532 989012288 189004884 892333120 9068246 743504444 111296418 633864430 566377586 537221538 550543976 596396562 754068242 717716136 603655272 359172796 542921154 843436750 76383102 512091218 786953750 558323000 273364310 346507446 500152880 235112600 830153434 478825454 895488314 948926386 208215908 20244978 280948898 411413226 95612374 2210366 156324756 332746802 428425828 884493482 40571952 554893802 251591686 161726510 881342014 477705312 325892378 7248152 97634954 870089508 270600214 193477560 194129088 46975504 168651000 915502962 659184928 414177814 929702740 461975796 268160484 258462356 294796762 318946354 81275206 277448238 190004920 134361100 550304470 887040432 880051376 571962642 80549872 910812216 864618956 822814054 582496560 237031604 92689068 822570682 137402482 122980714 870644596 255106884 581404178 130352788 341567372 400063856 580405686 482890738 77833604 984469396 214472930 362360896 221364892 954561640 980887414 163676374 988988724 689191164 160935080 727747514 202020574 929780648 621904700 292293338 813361714 580565654 727042018 44664752 170059304 985837870 836400096 86716282 476857526 105358006 853121864 965564598 918854540 381607204 492459742 492258452 539519974 568693568 717593980 467784310 477182648 61545720 852275144 10195136 366672870 155311596 101099580 348093026 881474164 56217294 10649060 666063174 467853852 490301642 674199758 314977280 204308564 351224720 814766102 93164396 9292820 752416022 993529324 29945756 917742132 368926928 93766124 175946046 523956620 595689720 260941848 559723948 639838172 495768400 883020800 830629110 612237186 790368580 388087550 299355476 627429506 111416062 662845178 720359518 718998586 802510106 168427644 917452546 205232836 554895382 288824106 784528010 774975184 780429244 544632988 52449086 11274692 744202384 408331694 211530418 887693464 251953526 178393522 94862754 298220808 264563466 201219122 648304708 290131656 207636762 982100958 557556414 23462522 240400912 652021090 699357934 989551056 53409208 359309586 910977632 161381140 299331452 221441756 145006274 167179714 246044692 266151970 637856230 248218368 750551996 157191074 45029672 918630620 844484692 405777160 890641572 464328642 816359534 311661620 842041700 587013986 436245466 372878816 510618276 954516744 204100094 726174686 900059710 352756006 646435558 552068626 995654518 544714338 797736262 544916804 547249036 210646470 255240156 361425000 869101264 366641562 249526070 607667406 823087612 955478770 532860880 486812488 196424030 27205008 100250140 497612562 957244344 123986760 91154008 562833426 379839496 7637290 124848390 897554620 644906674 14463234 528282494 732207120 227435130 676013658 854106720 100797512 408809908 966960862 336305918 821399786 490746988 219880042 908187476 335219844 947720534 985332370 626723590 74749148 650453674 925903270 642992308 967823716 560631474 507249970 233850862 261173544 790434362 343702320 661477240 492427442 616363812 203933820 340665236 168913658 721880494 565432174 154249586 5102990 45897060 426672206 406500410 582649092 923738630 548729184 772276598 309453094 576684522 769974612 556694832 321891306 333454970 278541934 248567454 378622090 878011006 796069676 996168692 527543968 817799748 973073406 971637206 723294600 618995760 638391692 703857624 137136362 169268728 454823902 725249582 292150560 125569822 63290244 13708916 46770654 472725910 696578792 23568778 226241666 233007858 910395580 172133752 857098272 308972434 344731086 630257548 939244274 243403310 547169892 412408374 281528848 317118276 85938600 939579732 563249024 714522360 266723686 390209104 555846834 95525714 472457398 978725626 861064140 664501676 28262584 719717240 341421878 884883048 844362364 377628698 552059042 930149948 341482230 828219582 708364156 247248394 196599864 715610544 309132568 168632894 576058844 764995584 527579318 195362564 974776944 647418154 634156226 810578540 868032050 829231056 214864072 576860170 254246966 674465616 176481168 959133100 529560662 39011538 181894304 175740592 329044974 463865520 768240046 95403890 822071860 777809588 903016152 395285370 933170874 111481808 543057936 566714266 771495440 729891034 410677078 940425442 840563834 852763482 164100902 521799364 814992344 211128978 893168614 750548338 21366128 496737698 184391862 759845094 649354848 263370424 103573154 224956404 253196944 131279918 91012544 368080012 412078210 453861142 984687462 463683058 958886142 964077136 742750020 994760228 32226086 513802686 754548220 270426540 434441660 514771020 700157466 609379806 293009658 822760134 978227960 110857076 960542124 958951540 416358934 580508316 51669746 525164476 146007270 604512196 601860706 905327362 811955052 707236310 754100550 166242498 815136614 897465636 551167368 31492684 644646390 166537422 715160108 914411988 790935380 105670942 866289856 962677854 960724096 681948422 469183250 177646934 128377022 171122622 306128054 310548940 488738854 83194948 251805054 166014658 914146008 707539564 93645136 341627430 369120324 352167354 204187316 324597410 928915030 793587856 366773330 795705934 457944362 97085422 940491568 128516784 923549086 5323490 507260846 77580980 219223948 541025836 292750802 744436080 578273404 827564520 540257406 968438246 57701442 789146632 152768236 843866150 216540904 791242742 843168722 529279312 683034286 383974422 817452150 245040324 855136170 772437482 419696296 899312740 37826206 650129304 478515242 336395268 768532150 494647230 756669688 72661190 520636274 975999684 249529016 61442026 308122454 207786226 670255346 202335392 480756464 101383224 295037538 651792768 172450840 991652328 431609552 396024924 65514306 39240240 561927558 943297754 129968550 730942094 558944256 226849174 523983912 316407700 638130420 244311756 798099264 133292706 297715862 245237956 753421478 846623890 155805250 441260372 853299212 374669614 10081290 228211660 754209352 713395784 899839236 424597852 229439992 285551962 220734514 542727706 114933606 521453138 896480252 434558900 39210796 694413692 889265796 168211958 340527794 85966762 151292192 800787600 3699068 79285178 149354684 390702298 140606680 886640162 813904952 721114214 995617236 615610092 685571650 472828796 817314062 741055814 48341920 736722984 222520762 90707994 120590416 103613314 655708652 871853324 135958874 265751736 365731466 131014948 600024212 511464536 417893240 324777430 230643940 405892180 353231912 488477204 893443940 521808570 587775232 7826868 71720466 989219362 529176224 14504156 576093808 588284692 255073956 495505350 306221774 84349232 694026622 512777954 563452592 701060156 398908754 967278870 85988912 420798158 355687668 51363860 997608764 344154364 980117030 180084440 306862470 833280294 458670592 120216264 935059690 495239620 961520008 99161878 715027226 697233806 900990656 245735108 284639850 244831646 817120904 762172336 234020152 161464276 871759004 888660662 344178716 994647864 923423806 667076454 925976272 297812506 487716676 713407560 194026018 413647878 5586850 448377020 671766458 371592312 875160688 741255958 58712210 559675942 599738258 721278996 404022920 369059052 680844394 139608016 24694918 691582332 761048482 274989778 14073544 699789100 160082784 195710020 635837800 501946904 729075420 751973830 339151578 941332058 621388466 268187248 830212814 352745254 354398172 614446848 399989456 123793882 672446038 115007852 157700704 305148274 298237282 885972962 879513834 129907598 373141956 162465296 750542336 288462778 895428800 897121890 853080696 433652902 84726138 458990232 312208134 522775394 174010318 53426678 566796370 50184682 404294194 957867394 656837140 831571010 489969074 524019592 165404948 911827294 790848652 984646750 239981082 489265182 62549934 206589556 934311022 882049226 162827578 912136856 355324208 979056450 725712590 741997438 348167298 124247628 203171966 781093344 49174222 543370728 352400890 39305250 891473244 472678556 541394432 331777450 437751064 890979224 562622786 17206152 631838258 827899180 235391870 711270668 414240500 379067172 635928720 234702144 200704712 136737358 464277260 411633866 375811202 322578464 793239088 581867364 34465276 657919880 656956226 668398384 72760038 978412478 117022588 524529264 572450320 903277596 655947368 784521644 476005990 637926508 560925722 952226050 260845058 755547662 962741352 250453506 220062594 106121394 784216330 220094248 742464176 810559048 107952326 227296570 693119834 609345922 549259578 87639844 873583192 169298610 267897240 104663236 152735492 616874394 374156424 278506352 805377572 443588060 181554726 984652984 398503868 11278350 759467134 272769830 209267842 701474408 568483654 321366086 759014210 887480050 166014292 221698568 837853486 923360434 66795990 740736256 335771468 743552022 854158636 524513674 525121090 964176434 277399814 690861956 39457458 677917438 57620164 678887374 600247804 910720356 922909002 927961012 824930666 994454006 494988774 507584716 261514100 79863008 79965922 674592496 612380558 760171402 183058410 119527514 385209568 912452582 79433500 71643932 329609686 871862866 932473748 540067550 23656660 265335042 139825666 71962476 690037092 304704050 215226450 963725090 675276100 354501342 901387134 454007672 968079722 988731352 872935874 331576360 38888984 866706500 867218022 840445202 257233724 179460486 105013298 730070892 822052810 775459346 321783102 777361560 130380334 255451024 266712024 263406224 78835234 65441696 884495232 749788534 522946966 58931722 465542084 301847486 490884254 984345872 409537104 446521226 335548282 523819024 807130004 256004264 541465926 149178958 529893548 291668832 670881618 569012226 577673264 325071030 826658184 158785714 859033526 716717218 677363872 18904092 285222642 123918896 157962714 955964654 839073302 849877984 648647028 923585816 406549670 580165436 610525178 107275028 633028034 557792548 861021912 736273840 19677654 693750202 234429662 172756478 266803516 531251926 178753686 511451498 690877268 845209660 186568166 171396330 525699332 990533020 381032998 930250924 483845054 494491684 575557212 331161570 842370710 914686892 297508338 264418088 837752046 144976708 322237246 30941908 558030664 214313854 50893496 23193390 504084444 768315386 712936478 177664512 240813606 847430040 933766248 526357692 389930620 973960628 836056510 765131440 167060062 799440 669840404 948249186 990791762 992410176 578306684 865903008 156245764 163603246 673136716 646277668 969306888 350430880 387782296 203270870 430862100 972789954 335003262 529279998 431062444 400840674 167853542 156829172 557970324 307396216 696317368 217050430 102785426 563909072 268123572 772128980 922728360 193750118 423382768 228149086 168930674 245561526 408139378 636570848 79824752 396035476 757598794 930684476 177186176 490443096 850621802 122035944 827671616 7921156 570631518 445253564 683723104 741801426 938640752 172374732 588623892 933109968 101019908 268039790 233042306 293986118 672927174 392347040 27354632 522548960 663616764 456348630 226536158 17926448 825822006 65826758 227694426 501280186 390483188 289593300 898440644 182759692 984581938 454842220 30995404 450850622 614788302 1760098 151698176 199054184 334369850 328301182 387288908 771815934 864325664 216603646 396139346 729497014 350048658 943910198 188296442 760641730 955259978 92906172 284422406 201518842 180582810 422906848 420186988 135873162 462440126 41517978 6962992 667162994 963640910 5583844 26779652 188723448 604562530 249928690 57888280 325465210 947763532 578627132 945876400 799976304 279089914 22608624 355766210 588948276 486914602 100777998 292221894 780115246 29116074 241344642 894687158 319180100 82909840 978928516 95573476 832038268 759587806 67298246 996412004 812234630 347836984 968426314 30135414 67039160 768254406 432582396 461028182 31285058 739173800 397208502 538797848 410407458 363222012 625361194 496801890 80724230 152350890 303010668 633578916 485652716 458540188 342909874 919329272 676730110 914908522 307658022 796835978 332863914 457232986 755524396 31094360 817073104 527318296 82780272 692900026 906030976 708089272 528046398 744740718 478329704 512926408 557306264 50953868 754852960 602009980 956257090 614622660 932581430 849266912 871447940 434776810 303431258 68037850 221785408 518031364 567090610 292561606 782991868 820609818 990505590 61056532 670252098 725375958 981308322 723428836 20700778 572512398 692277790 338527576 101409088 972995898 57700304 428928480 586678886 160532912 358297756 68195986 54897900 329066306 667257730 157117786 900702890 366503136 828001482 155890646 193874852 994014298 155289028 760414608 589970764 506522656 19782330 497321240 757876284 416113350 654579220 494409688 187165260 589428440 382451132 54906386 572265752 574503992 711593590 457261174 772887594 710774298 722406444 541603222 125514808 676306976 373195356 688101310 764248274 212333496 420485520 564768490 708503908 95689984 24756390 878627396 534037168 864384870 192956222 352144390 315026938 464108830 554802514 12549480 925238872 758955600 235209952 616963744 894757010 42443140 737705034 683436874 177654316 248046682 97954898 927298406 390125964 362608036 486410622 238558748 320696570 163310928 206548448 511853798 632613304 807146302 827092398 139209234 665829624 834953512 757436216 702934244 947682920 377341744 592566736 817645680 653755150 936327984 937151094 747203422 612680216 866612478 41054446 370490346 107017938 14214804 954267620 257000872 421024692 913368456 256848138 644204668 734850422 776497228 643927202 190414836 140220874 562521968 844417206 790111118 108004196 202104470 764266584 338004758 209998440 542146838 507459018 357698238 899748692 555093498 287889898 235968876 379316508 443698116 418439304 678759976 684957744 438849672 876732966 203440312 334017448 957544776 25499882 131054770 482361662 515218446 564176366 838772626 952840142 21021528 952422680 363147240 489419030 592731128 69504672 796456438 59250192 699631376 335085398 851671350 532331070 854333104 475210772 640775094 582818990 954640622 946355264 567767562 86800898 23804850 437659320 9687124 535436078 168253128 993618272 477702536 422729716 623942244 132698568 157546446 439480746 965326114 397450428 142807536 361619692 139062536 949785108 609542878 948503554 299551168 41032912 207489432 211741520 992256346 764606462 97441016 846381936 956842948 706183974 985622394 566685600 149296760 777826224 790877858 746247084 128479222 760700540 443055192 554106614 921055304 497988766 584971128 492869916 184398936 843217034 869589710 611271912 611979032 110250190 373314672 735399468 327819550 159112532 687365778 349252338 1544038 76703556 207937164 72340936 976556150 128339238 253045206 109680542 182124540 396344484 370954290 894076084 111469014 753621198 924151702 912978806 307449640 539032372 251385520 967439540 432963492 856044478 226375684 896304756 386189278 848368296 82577220 77679490 357524554 519422570 575944514 981754892 613190138 786686150 770521992 766931522 927770692 557243464 127688640 27430866 724578814 957944814 536426610 795142510 299624506 208028814 969374692 322419540 39350182 268883426 938585692 204455790 882491872 727941824 892855458 652736658 974964716 281319918 110943382 580815422 284430548 950336984 696429158 178681388 497410196 293074806 143451794 656760060 169453174 202972326 54744208 950358210 435585802 265071870 969891688 6697652 801643188 502793244 515462512 682178234 524560784 456979110 756154970 669533220 497300992 150351418 465814728 166621474 863409624 928528050 908988366 594953186 406570550 72365676 87371142 291799246 187866364 889228964 766672672 594850412 23310782 675562090 904287418 920650020 553586596 920160684 615190706 114363890 417574130 336741554 847737542 133550864 862438960 653321648 343847802 815751050 492093492 4467508 132068512 526088920 933895108 921480318 721343142 200237122 398590622 261008070 86981182 509239012 70627876 235930646 494861346 839128168 477842206 739221172 178110380 154534142 338284998 23760206 23357510 821321526 377215030 659592478 302261236 331905442 423321692 499600582 971361136 21348238 74345032 89768058 145920292 693561370 417546942 603823268 804215194 733971252 948513724 734554964 619510246 756290838 878672834 315976890 941612582 515638878 931839598 52987890 817051714 527769634 295439792 900512648 470016176 989981924 960740068 629236692 910390276 438235802 230382740 810254240 275867310 347727176 741633804 499809318 126887288 520955716 637737604 298356024 840207018 611544300 738636722 137545858 851931660 468888028 584069500 477040220 604035650 851163968 863582460 937776490 758921044 912386064 96568802 375929626 489845170 308274446 704041926 735916456 984223870 356830062 45903030 927366348 214679266 174289910 195250492 140219312 554723484 146781594 584271820 170083828 817850230 500405126 461690512 540708888 767397810 452723136 785271544 993759588 226599586 350873242 363801276 698322964 715159790 690749474 979151724 31238634 406404996 214611820 39017464 792268968 660776726 555601750 426152620 143902056 974006086 882269128 30029270 108951054 815196930 875248356 889439456 745451632 836831618 22769956 47403130 252833586 122687158 663284122 618957178 711275970 96952284 956768104 657765246 609686700 4830116 699800146 837556840 34652818 899365418 722294510 29870828 835956396 904044338 492274052 404148296 843878296 544315898 706384570 320982400 773541540 756180238 941748308 141335772 189921694 338619116 624644992 305545482 930011302 54424010 889559904 48451272 123085202 609292842 194664940 980420482 611769214 465276654 959844838 706333870 663948558 863402442 734883622 326685328 714102500 750505036 13905038 702652950 34900304 392342606 102709928 37066778 41480546 84519770 767172050 728007362 217614712 343505028 300285432 16983504 584941050 696444944 492396114 245187320 378186728 989913870 814782474 727998766 710339876 739955190 958875140 809460298 372390066 492697446 59121060 785602712 209566228 188779550 46031134 668881162 190244946 685356944 822462792 187084008 775456240 709493830 771353950 872613972 800704612 725006370 531786834 708046920 880497818 485837618 346971978 293747580 446798334 443955836 482791478 547881988 110195164 364504946 179738682 546290902 920899426 635667478 145837752 100149068 197749056 229722488 516330080 417513778 145594346 566483790 853752306 787940590 664399140 264181526 221780776 148505130 430151554 990974394 964997922 726111476 904383580 618001846 309279536 489651072 528923702 245146464 27900618 49476416 138228164 8708952 313888752 279354846 270664574 664738146 317600060 765682608 393472306 858160668 890376392 475649842 226101002 468929042 26330190 866119756 40146540 478080060 371918564 871755680 74950720 360561818 270209860 735809264 456142986 231792718 612440230 307936896 866881314 787869846 359643662 100427532 615430578 838630812 402919828 506727048 875520722 159559290 66789536 923351868 308257430 225974254 860649480 430571812 743796524 908568852 98350560 276741546 380101438 783657558 423409638 440831862 219221772 975055590 362135344 660610034 955231362 130218824 953787858 770937024 919217190 747474588 492321792 370459586 220696728 146888682 192557522 950590184 747874950 836335336 109932730 969263702 389704832 211333554 737276916 342136624 295879434 427697550 884674780 941783424 711466900 719639490 26502638 939665184 788694574 569237392 225156924 187678104 772388684 465564142 400123702 204227338 368572938 406313416 659223908 450085910 764536332 442915448 438593390 235866694 244243034 708997216 883214052 174797928 358170432 887844642 510156964 958139758 253477306 876626812 653313490 303650 864050970 443460196 775304556 203347978 66902948 35402214 387931974 58451568 786615700 396383344 336610644 792916208 727415664 26683618 163752324 287241930 87443592 973348304 190890096 281639648 48084014 821099606 579241688 662066364 591810582 191576636 787956080 964984932 636493208 539667524 648326904 483208468 723206950 24664886 984275246 708283010 755671316 756732216 573230430 966000702 916074976 224369444 189794382 572250362 762524052 312961530 449868738 979020138 994113304 753315410 614494174 650715442 194179776 951059148 673229584 671041664 37723318 795814024 329270348 58035966 486201568 368182744 543146420 665096508 697364576 152700306 957741950 607209938 307926474 945577814 626379512 174092588 922827068 248782212 944680348 953234344 785338108 633248920 586928886 662142830 28820290 323574232 784673692 984819006 246808756 196945564 148279146 886108218 564230204 681304770 791013238 198839078 251127090 400511112 722538224 565709374 951312450 967559700 158895294 9762462 584671436 341028608 327406786 483024266 514008342 247584342 67282000 873447770 635126786 69077380 938709686 186479272 646384310 174299722 935660286 825873292 896496246 857130420 203795138 957232906 145988102 684621208 373649382 472842482 409494644 192452930 761864606 205580772 237926308 171086262 689842162 997836928 14480624 465614456 915972104 405858906 78676302 588547226 221224776 19805912 270102654 461644132 444528916 71315330 483382798 61488156 492435610 877877904 350820400 837573722 309544746 188619148 545340330 112182482 47538554 570262234 486723184 278873948 851965794 409762040 177319744 936520182 493364766 579174142 820750470 983379780 934179790 284969100 896193928 453709752 231974782 911486104 733025634 185451978 875842262 996636714 776875834 266346022 633343514 766537148 999053356 93832154 666313410 270415970 962279436 538469468 191616832 409146998 956617996 768590736 565497014 271915654 671954484 348871446 326712856 55913772 777681828 974148498 501656564 843481374 789984996 55596644 724540648 127147020 847430236 895874130 316890068 904410812 78447342 523380262 200980802 963735972 684749464 658949366 299550314 2229100 650001490 966207472 354889586 260964112 789241764 246708974 652289294 19692176 999369282 349323898 699819622 704205648 893464268 606978488 24362798 949217612 598877642 342311390 155593040 830683496 271091172 445712408 267906362 765934390 449286496 260129324 681427406 926564288 655368202 526198738 774066150 915529544 593443992 835119490 588065852 919824626 308332470 284324834 731513810 200081382 27763110 550816400 162964046 491178148 478034666 728296666 631528 547045858 811201844 467796518 624483116 735486588 273246652 426411650 62062668 564897622 295124618 941871396 595771280 962235448 418244368 391991876 551221796 553752288 181719740 971570568 731283002 257792602 77161098 888533566 593303328 384577846 650898624 789945400 841474006 660448186 284289150 92524984 751731512 938583636 979253426 703276928 335085282 869041140 126050652 75971322 164016198 974775982 106892916 881632240 382559384 656864210 854610312 400432538 988607852 985404384 742226490 410899236 182287712 797622918 867343984 453449332 823025720 212197778 290761100 376457234 192427572 637605398 593405562 443370928 679652022 889959324 653572504 506101352 950881960 142590370 508681796 888050796 259878286 738583680 969267942 181380648 205940572 937818312 718192390 304937102 319931010 693756100 372708266 787796368 589767354 274623198 446411302 113434566 517429446 965373074 80513914 366992262 70317172 514755016 669925564 715878352 339840442 970488988 933502358 207542134 655387518 484118450 118251262 467189294 549209956 851016172 728958620 22086450 730910058 381600746 347814362 513553390 23078594 328791770 800246418 487705940 566745368 983654092 2553096 457371052 735600466 674035646 364792782 897667192 490303504 824679030 956377558 80767008 319590778 623486772 765664984 485149460 421465120 54829266 236217000 730210462 330823694 429265068 805526618 291629784 821567886 410202250 339310460 166907178 175213276 755018336 399742764 249836180 462814762 132546830 337794506 645140492 594504008 983359064 733461146 234175678 327588672 301443546 252294332 372220874 856941538 169049064 603820448 901351034 912123208 336260710 12316278 960969390 568749512 239429148 803085786 753963412 897651432 375340032 442456664 909550506 224350428 64281506 74662454 757200870 829773416 667059732 832620204 858352394 99337756 308440588 844691850 865527868 896342198 466044142 136667454 129863000 249441388 548473442 238303506 525006416 462172692 752370158 908574188 853639764 918771222 429140426 415223826 642164964 821309660 647019788 894897124 202563022 212545850 160817240 446739754 222066616 200410206 514995290 702311056 230986746 87779542 945073466 293781758 781982498 579089378 317028440 943249940 642959640 749695418 638235102 427307814 630218070 766391122 607448672 285511118 365839860 419476124 10200838 622177674 233205974 657148402 649812178 477192860 871256716 885459756 995617510 36901890 162415972 944547846 665198600 518740086 435632842 415620328 345324656 116081420 777230814 50357504 424496058 369432488 1041666 390748830 349685572 575028488 631171904 995180812 228156282 416428022 461738736 150406254 367564742 984068764 76807046 140292652 931756998 278565376 233449412 112977628 965059960 347768290 596987170 67486874 67405936 326426356 158198280 100538962 63907842 86116866 952066168 901605560 331551482 872352048 272109624 361683382 767618568 575578596 121028910 120629880 344264650 630785428 113798392 317703540 375684552 655844500 292048460 664263322 380238132 872841042 50682264 816540256 908524872 24916598 839301132 72601084 577826206 74417550 677595156 755495202 840515948 549004650 920372696 268383248 25606350 499317676 178046782 955990714 629365004 473567834 953871844 893981510 287571922 231709542 127459958 324691148 734176638 669772976 265264250 174574858 790866492 987415528 224676054 405234538 166944236 35577172 455952406 917898942 187474898 186183586 386317374 291769978 151598718 123086424 9936052 38642646 846092948 801774954 954766138 747641752 432689732 16755360 368780870 667528344 660305072 929124852 432055564 442994588 656537686 524849146 339154318 691760980 204250674 6173556 820627462 685559636 525633092 617266800 889413524 542726356 101756476 443244972 118178862 176947850 248920868 38188568 233777238 909620474 719017726 919773764 341493598 585328320 405948002 480443820 36923194 799710994 185036854 827245060 232469898 108860568 773993404 923129270 65756090 5445248 257518204 658111144 860444544 293059110 915464888 772447302 8625262 149209460 383322354 232862904 920838844 699316726 373353036 930264088 72251392 793582880 560508102 574834830 644629960 156846138 315801238 159064712 578130208 959156578 425779790 596840396 76408494 329224904 843872726 131305604 351490334 484442544 790868784 349032748 622107468 205397654 903957036 94169590 703225836 989822700 426248766 126714804 146791292 243414216 782689408 129054580 106394990 997697326 859779936 790804332 946489744 954761268 97292904 877286194 24605154 446687228 339816110 938590810 779737858 651056014 688313544 666443158 872438128 676728340 335190434 442472804 51413760 956631548 30155206 74310438 287035012 427282022 603353396 507980684 191033152 982056600 656340378 479213294 701735392 521986922 437964124 574944276 997940524 652277350 40960552 643319852 523922080 93751872 250739728 739883372 103930146 946819102 301961772 170638380 800674732 367300240 558401346 727487728 763252034 806016894 712336902 808904798 491608166 125625708 347871740 299218810 283382848 750466382 881629546 610403224 316756666 844606844 331838980 77427642 971208068 77548596 236489874 114160214 180035834 233342880 643858300 417853706 113220460 750110702 915760692 822785402 122767358 186793808 362658486 747539744 115360606 112491416 333041742 42839386 213988902 90449738 989289520 477473672 333938978 295472798 530857082 740856298 590221890 921711660 661957310 11563476 565147964 4071074 174350774 755736086 56461982 964718904 433176772 681003988 558109990 301988142 571594972 592631006 28706334 803345046 490910820 924020354 80329682 281933118 229865052 228370804 106750340 673566800 238531834 541286354 168227268 757137848 336404500 616308174 794651180 889057790 136982510 819844656 624049822 478181534 891364418 18396452 489003624 731820020 864005964 98565836 730450580 610539620 589592792 876184428 708359124 818281962 821541016 777927646 358988864 569271360 851056882 317871172 224780618 29859646 618188830 223235634 6368228 349774012 604344600 837695166 971606248 796817612 838725624 688566238 734554326 54371110 692651068 56327280 117506468 219605548 709961304 932103104 96801876 749161654 98995520 398680448 955127734 311172858 33892210 535533912 743470812 262494292 72707042 150831634 920277008 705322092 583507756 811936140 167846960 233977818 623165434 420692748 762470736 50316652 928102460 965821206 927547446 329134556 290644498 523641152 114911670 881871494 772058650 559862588 721698704 562943316 933089102 402972834 903429192 513968298 433870772 111220216 697543692 184578966 516649422 497045926 509189264 885468018 292699248 983381192 81057954 585961154 415658844 369078598 934142340 920620184 302993076 939370024 90749610 84276608 46989652 250019750 664517278 660083878 167720352 773811752 896549570 421367364 975745890 333041782 481058896 818806456 448250436 886460604 803348800 190784962 589488626 500493468 3908402 599788170 144547366 181914494 391587672 274245700 410603666 554423102 49601758 632668548 431376462 629844752 127127554 364243602 129120948 453421456 245910646 118694650 509761530 517275632 235928670 47100188 409541838 669201528 712218474 783318358 891009570 775746708 194626880 396613994 115884446 562311554 121884590 978805712 2555612 74270630 250501724 922441604 637482738 971394344 576986806 700453180 50870412 603475620 729002688 959510420 4107900 830247910 563975630 751544910 467272690 344279910 28315942 865180146 296953144 756619998 580215252 15443570 977585116 564837458 152655836 486587746 537789840 765020596 277087272 19892508 302833752 435297404 746924902 217556932 275760400 573674278 119426878 100335904 622469930 758742542 494782566 157520690 178615418 186763574 793144634 132650796 525894032 523478854 930970276 145677682 247185440 699499934 773318584 913682242 58154824 917710132 837564066 181050218 707946826 134892596 342956954 690936640 802381550 853944312 150460076 534135776 395175818 114739662 578902662 665782442 760304504 347546058 848081428 832988268 453906692 908658538 666617190 794977394 739307822 589505734 969577712 857050318 721305940 376020370 301793216 332455174 612233332 604925676 443533694 281986320 709728160 853544094 444338260 834347524 597019748 96941098 685942768 630881302 599705722 793168478 958451316 611189634 121923088 143349072 33555998 911761720 108631952 737480316 354320938 196896760 493971352 175024206 18398378 343951778 396213776 722925322 809844462 451584902 517103422 659779850 833918610 209809014 82450412 386303738 196293998 544693956 442044530 323724768 89146248 357883904 429871100 757528204 508462326 8198944 74800174 444783928 917808212 981075610 557344116 323286656 212049614 436562540 905329528 312224714 203427466 380114052 414986528 693585686 84861116 874056892 175829074 613221152 242024058 775207398 18517982 790584412 395113558 248119770 125438282 777093518 491420530 441106094 384002252 65552364 427915540 574576874 316838178 910536898 318435818 296897336 658371172 983513436 346137838 740411762 540867460 179107954 930796420 861626430 128152870 432703508 299375818 797775574 288343376 860540312 834145912 180784848 566984364 155443040 463477400 251204532 192036830 565732622 30183082 869458672 70691472 603552836 252197688 760120946 981514050 894118542 136098376 697037298 861299328 5773498 881964976 67655044 553363798 177337710 333708246 495620488 591799182 34846822 143005664 321769894 170071340 310812254 802851778 571357500 674672712 48141568 864817044 813826604 998682146 506162414 895863154 867801400 556449520 104569946 648441722 836305010 69865882 120630780 894106166 215994238 100321330 873669462 213249772 107716902 717229514 402459848 149544610 822618430 881212906 625052626 248740428 947018672 169831984 521024712 960689380 603775204 560959744 357219524 996079864 960983068 153407818 806974964 951039056 49364344 768596268 190774414 849211608 525667594 540169568 804717040 273999014 631774336 487879894 729803966 919462330 746537150 517986910 975797092 447637502 152978150 851948398 777281124 151566572 555680796 824061858 336873630 802798538 841196542 557275288 164590336 474911520 318903996 588155608 441159212 380693070 404218466 518035766 639377510 531515650 778171016 952557720 708819578 830545720 78371868 286918134 184974472 85103562 877589366 190973092 348174764 626688088 788768616 537144256 855883994 734413320 45921492 362579014 660600732 734328516 913115136 288641000 329842554 41067322 89177716 646869086 521239356 515063694 471354818 994154212 624560060 138512890 650443754 894589014 304903960 183054386 978807928 91438990 441102878 81606228 559084004 988323496 936768372 263434040 133531548 375534130 903681472 489635524 368022086 125765758 907461032 896301212 881059506 528639842 228335252 222990940 770792746 37898436 954487812 946845528 732761866 180680478 566764596 115900182 884706458 518076618 212112656 651469744 629035932 531024550 635579372 984903586 6636842 597071646 307933676 127632296 933814642 459563940 669560494 265140716 128537176 522078400 918572604 26737458 637462124 157311242 721718878 37604758 849281278 678479462 969357666 563069824 919505602 872043898 370165706 466179460 165316630 523923050 325726464 745770486 404950854 767359594 29988900 155709432 976793550 919216676 239589590 668623246 380286674 454304410 297024728 300134450 812826206 734983662 55280966 255851080 247513520 805582222 470495344 51484034 347538458 787421218 968128738 646250496 705987842 168136918 300537336 353429814 895127740 486316314 131828442 104925466 263204702 591252410 93589722 192235722 647719762 783764636 991910120 780459478 754877462 514405006 512004068 133552694 663181162 572677948 886271306 806963846 948706466 470988036 501026100 339418586 350566582 236429586 340415776 500657950 935030260 309022900 205159258 458047706 703981892 280393220 755269274 32159314 608135170 204140114 700686478 168298080 577190326 321189290 834558282 303939896 154590640 402533520 548153474 297632614 588071952 335235124 928747072 552856772 905120184 903331952 162812440 440474400 935690652 953987138 171386256 597823374 99500410 83930838 153935590 805162594 166095404 731316930 98920636 271603326 568937544 413982628 242683886 952324472 409962758 526273316 350141094 6464696 463525038 388766130 483862562 557508258 906273172 835548442 72582952 493041500 794534426 235875814 484965244 384446136 846502692 90254900 136264668 967573778 468522602 683527070 729286056 921944056 111118364 89902532 746628364 267496594 656055026 63582178 51197322 888289162 221986142 257360732 737799944 281502600 571936830 167405970 660709862 696788664 310895106 568753256 751226666 432517328 181223450 776606572 449449382 450485640 453746400 302734406 471509546 464432008 911278480 236087540 213424768 657370840 398399790 519389246 4176634 385759310 286110702 270251610 633096172 465813256 175082934 727119348 263771732 290751172 109418164 164073876 295026866 250892912 98332526 805831628 207734572 915560216 85506218 260030554 274890774 200107072 345587496 219256472 735900768 946019472 378497678 482264994 933037108 477726820 759008266 924251832 295396516 756575910 561287514 156992754 291047512 9745230 584509430 341581814 404767860 128455040 620184968 237800714 413624186 149709992 766004650 828831924 387515004 354131626 529856980 197705498 426861522 187853152 501714618 719184606 838596170 8495080 985029718 330919090 582653386 404587836 808839850 996238292 751384394 895293218 838034556 328913532 505081672 187956144 232046978 967264516 752375102 316752038 546109608 827906744 605638414 913690898 706154950 458384578 261243442 230908642 189451540 739627272 243861548 621185888 118264490 953575314 473243464 94973176 881742222 785831566 961827220 626281758 680100368 736134484 201003794 812150758 565420598 687496336 189522760 67211216 928811804 787772508 472398696 375598164 601535732 614413572 537452348 753026138 568936262 383606920 265860092 706232988 76466658 53337074 309122906 485676868 546684056 54010790 12619880 877776650 515597330 133735276 624900628 648507610 446843418 642178578 814889396 920838584 360684944 387649276 298197782 434543202 988557616 386590528 446011990 734731728 953744050 257222822 171486810 862027028 706356586 399865294 322532224 709162774 155769308 180849468 881836224 183146184 945922970 521144212 433805544 141117366 709994278 828765034 70512124 741396326 947062416 837230210 810967096 974910978 814827888 721959348 370536872 809349636 821154536 584030092 132612324 77860792 385134888 128606828 35454780 99591244 581232508 900985232 762473792 928005690 331490996 977025104 992306606 281644368 45885184 1423294 28495248 351865040 571660006 698050546 439324050 434398410 186476800 68669156 977562316 289630492 124749188 444034738 847612712 475012570 581302252 526573126 281247438 298401658 35053406 971391260 649597584 303241944 20525240 288236214 219824168 684550558 183612720 394128036 81624436 313802688 884805406 787613956 41096080 586002030 707086600 627224130 133253926 814144570 217503636 206043430 548048752 915714350 765421522 69375988 85185716 370684050 534177500 697135660 43325364 571789756 53033626 260966848 956150402 539870112 417943620 72134282 524704698 512170442 579330910 812699910 811839494 954444358 682585120 483545484 613694018 270614862 725909128 157931200 298475526 793595864 874207104 306764854 899367256 549402338 974922822 604325032 639074334 947495304 971294356 611909958 230201106 993160074 524951524 861107280 241827836 965933938 338372032 700138770 402852234 867748858 232137878 957732314 378656418 441632522 235994496 230663704 316361112 81773844 323342170 370771102 30126180 201459964 677751316 265051226 882608270 964974516 34108230 450246958 631386076 338500658 938254862 312772356 686751820 31148290 790960312 199559132 302236206 31748912 788364240 853794078 9208008 100190436 258402156 815016908 69660830 287336492 772350548 789394132 535534470 561440998 529515712 351484580 464900300 682956288 402221100 61949748 859517338 370325466 490777130 92892604 899792924 552873340 541016866 544759512 698163602 67281972 542282238 531358242 346795234 195165006 831311834 515269128 535543820 528638180 359146602 863281852 429908638 165424698 895067250 640611546 892345056 767589626 609677764 742731324 376164234 181733784 381493632 431843088 668880456 512506646 919395312 232317830 780380358 25245682 493504684 88264880 946888650 369147604 78076388 673685128 42254670 362605558 130398562 951212936 57337112 263877980 802164074 172191938 186443238 999633246 564468788 939868038 485984498 268414552 910017478 859185566 696273030 180716638 994063166 160435062 283633298 741453032 60078014 136894932 393017660 239628160 397937228 416565142 820558910 855519302 171763564 696810662 293116284 82794640 519410486 476435218 455267294 832716144 831627010 849795182 420437416 616904042 694925712 322827064 972537222 235280140 749221196 761357406 499998866 881163202 423752400 473098266 323406836 550020578 702811734 32045700 441770810 897259358 364517422 74468924 853765286 111790140 356469250 244427412 600530654 73563854 655574756 227223624 678708822 245050010 937862772 401388258 665027156 710269740 617812332 624836662 325619182 827338098 93072920 820340222 268076504 989671972 624587378 955557436 345345524 896484164 100991758 765445054 726010318 128094928 787593646 70206078 487717054 255484056 975676364 62290002 594959114 676445000 993882532 302326660 879859814 806761262 939987866 657013272 542304544 617275466 527348814 837657580 51304868 71843216 617232996 765150802 760747286 263531558 704790480 604250456 543074744 970312588 489352904 790147392 114140718 818868904 202097940 19421580 494457184 390327718 527641746 890917174 24591556 197055040 933083164 569033998 707904234 145106170 299457634 639261734 435616254 903467500 799130318 122935588 558358478 836341058 774340108 455921120 233342340 595813674 845203100 672838988 237046046 317233404 556480570 568924926 506454166 467208948 949823018 684170952 999481000 388672404 801816832 948363844 42342286 508888854 40445082 107018264 601257938 61195312 492454102 508335220 657517544 158378882 760266564 922317606 838011948 978766310 490498908 564947418 114487424 249530882 25453176 924190502 641395434 776230554 289716860 574957908 743063072 737529136 887244314 980819284 230832922 597513842 304260210 522158266 584675384 27413168 486919668 952763920 248224096 601252130 636721872 243427512 806106644 227926220 940020132 745186526 536109096 637688530 637988732 654834818 215133516 628859426 304480988 546873720 823911474 405082168 107591028 564266018 558107114 824083736 573256828 874316450 116189792 998216406 27767246 393100546 342636462 717372090 83386370 65452834 791377358 983849308 50860 583326606 711429144 670898652 306890986 283235992 472672280 195988654 466698038 964658962 38376674 68374570 44050052 718916798 351997884 825058864 222581456 708305550 568681930 72656884 277762068 234802038 957200956 109966066 397232452 793490864 252656386 446277304 878121882 257814976 152708360 377225756 401374654 712255496 193231204 703694972 63321088 257178724 358766766 38049706 942832208 856495628 780044216 816905716 512060350 561253780 489390412 124709764 665755646 655862468 562303388 966314024 263506210 280134812 919365104 171246376 48425684 313072144 520274704 22382732 21822640 229904834 375612750 618078616 403289158 976830644 783720386 852151726 865215032 897612380 645136702 803186954 956704416 772805020 772515526 425352914 307680236 357214264 346870080 298662084 991706744 531648658 716303182 666095554 945961094 246075808 342173224 830659142 407063458 989165220 891487728 515411644 714071888 611930504 634655558 532946574 430263144 821756764 314096224 227443636 480549796 131808468 52647668 19848970 244825432 99579394 746173516 322841308 984317524 435985040 561124188 443254734 535754398 926116252 86914124 847568122 140305356 473538018 16353162 523739556 507171576 848414422 873905044 689126790 331321428 642750308 7283468 509895710 833979308 66050788 602454012 886064080 579172118 579756134 311038206 608901780 654574052 696098066 924227508 430275142 683195752 580615578 592565708 598850716 704357234 928910900 181851552 81306910 521486392 613918478 127721530 343375334 239035610 389424250 398505166 966777740 741743690 54584470 963639340 159983394 147639710 420024694 483143842 165283000 783909766 265088842 351959696 395424234 777117214 32045554 363650772 898797550 984156756 749174314 820812310 809375820 791579224 557326630 506278200 792436580 766088924 966201964 887614088 881472856 899832440 718898220 867475426 240973324 437672134 692538202 798777866 559874820 159953402 241559658 683190192 985663864 850776476 179310956 705553330 45903310 683213302 697608746 328161818 164079072 234868046 695386422 81348476 548013022 170629006 118828454 731872838 838546668 477247976 417239894 689369948 665465152 985647050 847853712 219480412 617579366 36875166 201880298 27794840 281691918 57463482 755001868 623819478 882152690 546766602 485879820 342398104 68996964 161536774 253519294 429634876 459039906 679783794 861012760 879806270 746072074 810145266 275310134 183821594 142257160 115979096 81128932 372470884 142354804 930619844 797091700 163923692 50180582 445665636 869115802 412436062 833062980 968157588 81407194 305526216 536520448 643638220 246737702 844350300 413232794 987536536 991004802 968318124 837469328 846231804 645395764 706214 646313176 294513434 780825148 454809026 58595536 676237324 965519384 975512774 387098472 122607010 516109280 998456182 66414418 752676272 523990850 926503404 884404672 956688806 218594252 949389194 861143714 944907892 591536826 972520956 386190880 606682984 248776182 492956132 758826706 717732772 561381590 895054654 404187286 805002058 374621814 547740938 538523452 699337440 205387086 351436784 898134014 646786488 800053608 911128730 650192996 348194834 347802274 328623980 114578412 32837160 80035642 847280622 231266130 887132270 465923120 691009196 425519052 995625670 309073714 325335956 704160208 49518502 278544546 282532026 960817632 633818858 768728264 566586048 735156530 493079238 363050722 712056414 35982426 259637956 805121658 802359124 887040904 666645480 343585248 250061892 238645294 861748720 84503482 590752202 487199038 853978580 421364972 30872758 753062528 378203422 309047670 933987748 848769704 138338410 505138708 762733776 672815194 9223632 611556314 938000928 581815074 334683566 837354280 938335868 884571812 790374240 103702988 714262244 686105756 867283384 654871460 489329000 219813540 574964028 197325320 539754034 467347844 212001336 536753584 116268476 231063166 237896082 746396820 94533774 26539446 798481074 575388688 373584284 104264126 265315808 135405838 902644608 380679974 347743052 823603792 671077380 235999622 71146968 98812384 347664248 506492046 69831512 128468026 505603402 174203772 533348836 890508646 264152990 631016390 177112498 624849726 15004388 536238910 446264704 809461032 603469602 538695840 690262310 221556814 29261194 548746784 597162558 600118818 81072018 194421598 69355228 624460564 952362846 74554294 345030582 447617652 612328410 138829178 923780790 89149350 116852956 359152894 313533076 418651648 404953122 238247484 819689062 377527658 440382750 890899436 678916076 244962904 802710214 76459752 107530916 106448278 313264148 582486416 649298302 243442608 454016098 235328638 324708566 464865730 853441656 618357046 33922662 392782224 154709848 78419498 839568250 281832326 999806398 378744280 453277752 976500792 887982560 520881488 273217802 272040908 454645990 798385072 374814224 733968652 452998646 775470374 723358682 47224110 466687312 926452758 58220540 705026124 667415954 213162658 375503640 230562754 217139436 66926730 297822020 894145354 359927122 762740018 680282892 856806530 817800096 498503080 455477772 727101546 423010784 904077256 767977982 825566672 175278384 188706456 694217290 152131268 114023828 785251702 515151068 56844854 567507746 108805230 86757650 276964078 585069702 371101112 658444268 35261938 472167708 392383636 228264310 534529414 833648670 488656752 484489216 704410910 238605008 809246030 564197950 619275368 888658170 133596372 644346964 82759642 26706226 904129458 74476264 105862776 226273606 834668914 552017568 85155458 794922386 678090380 708537074 284018832 95735338 456289576 659688184 347476500 482739164 1830382 762879922 15617164 645001110 500726336 190696174 418512200 160562652 120970838 906864686 396112568 274341722 940152528 608032532 635641558 961777468 723919162 323482784 607101432 563231342 395788100 979439850 363187824 527640360 438055810 904366486 288296336 560671010 709916472 313257574 39831236 470667780 923151186 409206736 68217724 927257402 22482702 752682202 690155120 645228092 736298430 57669672 596777186 778108876 761089062 493524470 308588158 965993816 10136140 641266 52312452 76480142 970590282 926953898 970929088 75164928 667400242 294956200 914390394 857484704 204056348 241780792 638888254 860525432 318192640 589555174 379961032 602889302 230666358 265382996 624226628 996399750 124906712 874808738 202896720 265855152 336837474 786474050 798822442 568160046 289551978 558278946 59560530 543238608 136613352 653029500 839449624 307046876 808427162 244596626 646357920 253209816 899635430 736190942 762769210 466795226 839785628 653990670 512116420 977702912 268947182 332164502 536618882 725525462 607016970 35310426 952143176 503158874 936761650 514864658 383153422 335969532 429822706 224690742 208667836 218219868 274400578 191887122 189442250 212943814 436940880 313740726 468535320 421673626 994015446 68546356 649139486 492957602 129456182 36682922 562233882 983746986 525012568 888435772 687511500 894275478 50163372 982159238 696963116 149647814 65500822 808342270 306521412 393206192 666910670 220305954 397652406 60361416 632800402 798558362 495815306 215909470 764478332 930864280 851029534 345148054 917891694 798704524 726831332 718372924 12142064 227207980 536896326 704973696 814928926 652011994 852797016 597220426 675085072 553225514 698500874 558432788 567918062 589859008 727579520 667569950 248202922 658297002 666560092 7381820 986430146 139769128 639156138 765800002 616851730 132124086 149597734 838562698 498548980 104706466 198613672 128982586 358100700 983777072 433072820 894701398 373154088 505992824 296205878 541153108 153914542 88600054 862922878 816926540 890520858 525411178 495552546 835507950 683576656 841742200 367481130 838313464 784065826 168723336 609458872 171929170 903617276 294869640 47072032 22942386 193508478 521267858 123847734 58323294 286272362 590104416 538792082 957209084 133677998 183780248 527153726 999483274 927102172 502352446 403141950 117072 554794610 759457156 887374082 25973720 355754530 534713454 84577342 952809896 387393904 658160630 573913932 404919000 241338036 596465012 755806098 290938650 604875532 441386036 891372430 675309944 646791802 15360442 378400846 726064434 506818886 623381766 34023660 843305186 7663034 140011696 783877970 233138308 89553858 974539852 788058192 52918058 613252674 376146816 273721560 895691922 381706432 526885862 341793082 249506992 201503066 682003656 209245842 606950666 556963066 80568654 291419480 485259084 627864206 699906730 175542690 505275736 371194270 244727568 894907368 962737364 807040044 23641146 558792726 319751808 447396236 187772080 46346280 818283280 115682816 236114166 59535180 987054842 450455712 815655268 386370636 569153814 107106868 153799390 898084972 568852010 790779332 919467148 922701878 583016952 387476958 68435078 201929174 763945972 835047196 542816442 454007818 591931698 818455024 419565462 396546654 824575274 392987378 643965768 843594554 294640122 358517486 11183998 109682410 520423134 844066858 279343086 153785046 415076168 951499208 423429070 669334190 831101218 809090448 110933874 935259712 239166934 690944686 990821002 683147138 914465492 52806682 117272912 219456136 796210070 986838178 809475044 477199184 672989100 667566904 110044614 659013352 921629338 625890630 570898450 916729874 285067222 697320922 840783970 909549540 722671692 331059454 797710814 123836190 749850546 844878666 558458452 983708904 322286278 996460762 876550858 75351082 860059960 530480258 101093848 664797894 801532134 819808418 811338842 691582082 439715292 795945286 862274566 759450298 248518022 122861310 794070804 562556444 564631088 515731332 459004080 372295130 436021728 574584702 966549576 457015236 411461074 250471222 661211564 13861356 624288278 794555348 729968602 850174764 547245506 64620130 788786776 936200254 854204858 729027704 832450696 888499690 163450266 845403090 553047230 491021046 427420408 899639152 995896636 785486576 613580762 221050468 679842672 595138274 559596020 877585154 635075628 235788454 981034460 281670724 629230078 5435360 380968198 531341542 409102196 905424508 59536930 990836154 418302328 85755438 743595482 362730960 25199192 19316664 438010674 831269042 549202202 929103808 579205760 231608126 520838908 332270076 61438656 488445990 486619326 259343282 519504262 74298500 450130686 669038624 16493778 671211876 980700776 326858560 547289228 184722222 147855348 395859102 483189072 807381832 303339224 940993202 861368128 992948708 396631630 453049040 36356450 504394414 908110944 895999606 25853916 63501790 99754328 209543298 419901158 989440522 929657636 279625518 568386628 140370296 11802678 531631628 619682156 421538446 337195696 153096962 48145824 363046758 356806248 907134310 509843552 381402978 894019094 776824868 796275518 933804918 461365014 447927348 742965298 752272426 582582166 461726680 968139324 49346470 756648582 66478022 493625596 518549648 141351724 475116122 394425368 100963236 27743338 621311080 206377322 612914810 438811678 290080736 595038074 870577320 783296192 277936210 497609274 921521602 347832014 757426508 488080806 825678572 151622962 525461204 804539146 342738312 271862072 621600134 686733558 220280080 954680428 671980178 843573490 25683262 380213986 873900306 905631614 458680870 274646756 213092908 826518916 779584920 178248474 517776576 454690894 599795182 110607296 462149514 976929982 793677046 469415620 204670196 72203322 836139822 270619618 128424252 253440094 522521802 277541836 319070140 535853452 724314326 137209806 381012686 217455352 760347448 219258200 533182172 474659892 406629702 813634462 178757288 944963566 35941902 646617400 193063918 276468918 318416616 870291038 265806932 5606320 55069314 779427930 70676320 849312526 501283098 759970320 935945230 7888930 844037228 245257378 908575322 903426884 629664456 316630388 118054814 41649088 323703680 585588632 795860760 637910942 287012020 329036300 689003284 792381326 581916076 303614328 726808196 659374672 388382600 510384930 998719160 677028074 235143168 480807658 585641102 123421134 196445868 782596540 231739282 508687284 90911376 242146440 250459716 265808428 373247816 709519004 488145240 783753966 755891128 823699524 991893134 412424984 437896946 297907206 931521976 446775644 774358964 874128226 65841384 935689142 675864374 246673554 257292544 979362936 809974022 753384532 326876138 726556660 887628354 189663612 908006766 378681646 907340458 776706776 334037528 935312832 919293374 784079774 398822234 529693008 28820356 13806566 456027674 205522866 967777362 196901112 624635288 870509674 178591572 461534580 71746046 461321524 507001918 586838910 220879276 571519844 492190554 908655414 461029174 314882186 273142984 794095414 493583986 421588648 778403618 830384950 955892096 928508840 148282816 553118964 267361956 489185178 541196326 346338632 593364266 278805484 69285924 623825494 320845082 408444246 128755878 939553318 908150618 496228976 18644014 344026820 110297598 929413462 687796716 495878832 821770228 667630384 539492752 451833952 982431434 342526566 990583164 230620338 373609760 463898660 138549708 461277762 502435840 750352294 778346830 782443806 611521868 267387376 210369974 127212938 913919370 728768920 329711320 967253008 16000714 295239322 46195890 141339402 361192362 716320812 365288442 810036908 373561970 746475504 628104282 129003630 394839564 751299258 640653218 355458550 812856168 466014684 125497370 44298174 764083018 96383470 817986026 215848826 847647920 459568268 788088164 336522252 984121792 33480286 22790822 207592190 185474220 817248158 967514698 70121710 896133376 666186506 444000862 247783914 670836062 923898662 495372876 399788818 421589160 429087938 628963042 447621924 807823962 464517786 403801762 386532566 561491538 34696460 239896866 409429576 570570716 344641828 530323712 576983802 456591888 299977914 184184490 208422642 206371214 39685112 659231936 216206008 37110704 642203188 170069606 425000646 300011754 459761762 309410772 439425442 66153166 542273444 214485936 994241530 453683198 696875220 115406698 427023756 508512124 240487708 943470832 47770054 327466642 644807150 388423736 789262292 940021960 355447782 712447442 116864040 404880062 838933584 425832906 55239160 871734286 219935810 241818772 449652962 588526238 836879312 63278028 622461694 758479932 786138360 821680746 352703850 437930762 906298 952199676 640658088 838349370 677901036 489207550 756822888 279067602 459464730 136345638 959974212 466033424 717039416 219182820 242249160 392840472 877167746 806779030 972374292 82639220 66011610 487997150 736487288 185042076 296565884 688056806 480892600 273259500 454261038 819184320 972265352 720470064 702734042 694153090 842172810 126020468 754407984 370094250 945929978 24284486 750967682 373180856 45809286 141723794 620381006 391960172 715712926 828153160 348771366 951093668 714477756 693081672 214240076 199516614 429089252 797052704 617620312 56489808 655606568 282347396 498543746 947276720 63673526 608734788 353307410 762799942 946211256 991562182 619481016 513316768 421876274 97719910 35077990 678888838 796549420 873573110 506570732 10735988 289886412 181606794 781990806 568912694 890162946 825775406 78011872 140945584 618091972 841074662 156039854 782768354 516533296 759946922 844272800 4566364 737691418 586968698 557379420 524720220 751672384 55050460 590850418 738060828 367005288 572742110 691307152 86443662 863518036 331183174 596852140 685980438 426115148 904988340 484588946 852230566 430643830 913922644 779110452 105890968 780798580 829745180 606440502 65959458 79233306 638051562 461471184 547331778 887350962 204927554 957789424 274739858 723517754 124629436 253650454 430539654 36362906 969333802 881203908 459117596 848336526 9170610 460601544 741096992 383906774 790209318 288618624 406793068 671056812 304027134 274183330 941867606 584866462 747459942 649269622 7065810 30652586 976972432 416415482 981813476 598354080 310671690 73087814 927730688 770568450 271842796 820879364 97990498 935339956 701142608 940274906 240786166 428937464 342200144 331232076 73538814 200358878 93641820 963313470 383381716 357474524 918670774 547458800 478253134 922323034 196533976 91622572 141260602 292526296 796191252 561498272 640858048 208830512 572976884 5753818 561074926 584483602 833240966 81251478 971623504 841697440 733475912 480016338 122965346 110234066 3626480 676545774 416624644 810275758 774349044 249031068 444563514 41513890 173196840 691348926 412968578 746013066 768380756 110942538 915158914 143912610 861303606 711828674 86748338 417464000 826105324 349805000 395634786 628095638 135204538 739999354 940014522 272378784 854940716 661616826 91109676 661325630 908549184 727269930 125898554 83059780 379578600 570908674 670237856 670731912 315699142 965165334 541198138 458894238 621490298 29546112 747335700 457621052 551822894 161778130 326036394 680652816 81183960 534817982 446007446 713231550 615863202 4622764 454328880 38590110 907809228 635975710 832878128 269679778 738776018 849976084 949884364 78339068 434287094 962921970 105674318 450762636 870478416 408777240 740358996 559874708 958304756 538665292 617575556 250375616 383070400 469079438 423565886 866796218 241454446 187961600 174519310 223702972 591599568 673742858 940254378 346321454 500393220 606283636 997064516 474171202 94493998 466023898 787870252 293397194 622626482 327701066 278745960 970277994 39098986 98760350 356938524 682016808 519522548 839264104 326917782 658377808 303702470 181910876 877516410 199615232 78794468 611434592 494666770 574909650 852778876 510218866 558212876 730823306 208834456 928544202 797202508 773103648 574310292 34072616 934431478 182344056 96472598 957076440 587755752 668529308 957423292 614948736 173900184 977509326 839424358 115934616 360876644 290036678 647323810 774289298 126219410 995529142 402807410 933960456 804506768 300734656 50856528 235317030 439882716 378677430 688803916 588678596 329469546 206156792 242887394 767403920 424784898 89675428 114939142 822564088 167667780 443036206 178248592 893070962 21164312 776474928 834862502 684266166 270382140 833146846 204277162 57190160 286815614 585224482 405728692 494123828 904329628 144762840 52587150 781515526 237871984 469974086 526200360 940944104 863005680 491275346 677636996 997923624 16352456 596127226 712915398 898478348 468543412 46559406 872971918 645433664 326396018 375455212 169887410 778611538 543646828 4105748 144681428 835782178 605191390 610296998 259144712 493938052 100618348 504549772 312246156 968615386 498335814 658500280 844682860 523025388 444893230 858563914 495912638 334219040 424231272 599341218 132135850 406548742 395743026 598594372 448227704 16124568 552169350 509796292 682431640 832873148 223855386 343607470 298665728 728248058 701480786 389743080 415124844 930435810 735407842 321219202 909874704 508785338 881580314 431480878 250470670 300713630 19252950 516245420 239398246 994891534 28786630 896468072 175847748 568756044 610203750 245303338 894658890 674720692 933177040 137675208 784377352 790312996 952254078 758159290 765537394 673819052 756458672 602821354 426583940 678959914 794410934 773585990 622736348 678214062 348258054 214558472 36362968 233143796 690633100 576563290 344129230 933850858 139697202 41189508 710449466 691737748 306538048 22100836 947036914 169216472 483671430 673642760 201526516 119285660 247853682 506385266 880729820 538963384 84018170 830954664 651927104 556660892 583483738 292837188 213999954 363835438 298975912 121942054 657499812 807227432 375576714 877019676 777120980 48564084 725299844 138953626 294128596 439573948 133915178 739323218 889550464 872625786 201619170 612438544 775087188 245453932 224127526 615459164 870838758 954490138 721076562 82474264 671899412 528193498 38664628 476110612 765061632 921402620 613384408 221598264 200435100 363463236 445406928 53383786 804768948 291973940 222795104 875219712 518288906 154941580 518226100 287642676 954768190 598869326 418316702 538890222 197185080 124693384 975920942 975198510 452185154 208813436 995594060 516755698 26993762 854982220 174224216 789399740 165848680 601609562 805255504 160316448 236199822 573490272 511795184 288267392 72305588 795563808 322377606 150482204 145126996 945478478 398637052 427541486 619988930 209879986 379847292 784491626 599717536 234573484 109727484 778343284 7895222 67492420 761199954 348359282 755196282 704430568 656247510 169940050 887876002 427822936 636036598 953037636 666677352 364479744 523386292 48824442 955582442 470243540 580008462 718107920 106884698 421555634 786503250 969642422 269747604 917620068 317954120 441760700 428053948 228258220 12380556 654236390 449422516 798402402 934542244 834125224 995393270 224429920 888580754 948569546 992405932 203491696 31085580 48654106 803404220 962777048 187169528 747464686 379661808 333129414 721495478 352415080 612756610 532787220 673145102 728582310 165190068 101725030 503214144 334687728 338988004 48976884 89482060 646345308 999032552 703615180 506270242 866121868 902418912 624285628 871395358 524193874 335321822 12576680 197391514 303666226 257719736 225994244 378973840 372346762 60714384 244524854 143287180 517179654 768746232 878173574 610513712 350156598 510091792 194902668 359685530 530436606 236743442 772440474 3424906 40989736 805658774 436417764 916078874 664799260 656068952 51792780 756757604 12176322 248312498 16421832 436791098 453588768 346542134 383793238 777471244 40301344 686714070 478272512 176966592 796673614 717336564 673934258 163033416 139722 5708662 483012984 127673958 312157778 703981342 17305538 72033026 632522926 975147218 791964018 842141670 753427616 584592800 163129780 367111988 526301416 185064306 741551522 906315600 321262574 758874634 41492872 741616976 401586730 170076170 226174128 989370124 891146648 161150988 585694802 762237776 801022124 715174634 751624628 765747766 967337914 311776388 925779400 780554408 422246330 320113424 671107580 194664844 581266106 145132032 344202630 551323858 873033244 535862546 89174068 462076422 426449694 660816682 571854198 115875542 916747520 385523706 8131230 276804594 247391486 201858950 817215458 719971590 388923664 817879614 28631256 54238774 512268854 905611966 567531410 164831186 885955612 668345508 125679370 670665440 578997388 77881620 668852112 325860436 787610744 512626256 460673694 956855004 621774344 533292652 930171776 258954930 806946518 644275216 181023636 919500000 687934548 10943008 856810020 265260802 289263136 276433994 97390980 841525920 601292966 944515534 937862036 632974878 999830684 577804056 210342122 804404984 534136322 160790914 959986680 584019278 224793244 393816818 287063890 908577820 502790976 400052738 219375564 737054274 210511668 900950016 702036006 112373144 21943438 70023316 333513706 13448182 276238584 7664538 640761556 149900782 615469188 499394034 330945010 652905376 632481378 217395926 545139812 682379022 87199024 795542050 486924358 241567960 471966100 696548484 573191328 225535562 282767980 145451840 987266340 642351730 777988170 506498344 644088942 580839848 516300166 262430596 754855406 922067186 178220068 104656510 852529062 686904432 321380442 831011990 600955666 721132338 639312246 318722912 345440652 167067356 269416904 740499156 107521704 18051278 538759398 684456236 727370178 857294242 297440986 545017360 860092388 766302302 425172648 303128240 621178894 985549092 818284830 707923896 174509782 44959428 384336102 452671962 88287636 866008960 175109848 86052016 873299704 80963276 144683836 844223274 679533696 668803152 194244858 258046198 114715814 859079356 710888094 827465984 981086370 489245282 798216564 730334238 681667506 733797848 923706600 368589132 639701956 30988726 715818540 64801888 107574022 229377190 324985032 944639268 904497442 569902308 472109598 342037862 237558752 684732334 414727870 357632358 184701682 748919474 219866964 555688580 755955596 629772972 779559332 804911796 459568612 428171424 615042952 634136778 254154192 898306492 853637634 71512290 521429062 580465936 413332902 910780882 22809382 718806834 518299862 858228656 779349216 561577336 105016908 463606300 79322820 74313722 707691338 876451994 974309724 692091310 454282824 824090534 138717324 87399832 319248114 535582870 18110654 713414834 482668778 272959788 150790244 548111366 606443008 820153054 219680792 295674062 912616686 498945874 431234556 613322550 74505378 553485880 430564598 431944540 773080354 785327036 87006010 400230056 372489200 5662340 75135786 499889664 75930682 123099128 715078858 373198880 166958640 301736456 711967152 550697250 608828560 413779996 912605642 950650140 537117912 185622142 955226820 543228686 54030474 338155616 987959658 263965370 529750706 727502058 580035004 468948756 476432646 163313736 679874234 653257654 512626632 437005454 882713596 61704768 489775862 259570264 978790834 811699988 118711932 901550534 220245880 41797822 132408402 16878566 201229728 188274798 940717826 775711478 411565034 499085448 542073538 111298986 238605042 917424784 188161094 427427490 736472972 300812996 848506604 35346264 368046738 115352072 462054054 514514328 359820380 562824200 369775460 741867484 197610958 141682970 143753978 304097822 502225394 61201746 943579448 501063702 896734934 983135512 640993392 349478932 618873004 191171020 377006052 911431564 629127938 204519084 299938972 476364148 675069256 440273748 437675648 649986226 584036588 786592538 648616446 249558358 188960904 442723840 281911734 830420638 283691764 396493322 140016892 823550244 852862238 735924082 672924678 998017362 399644078 576714774 730183974 969232572 798195238 46629368 621644640 298220830 76830732 947182282 609766158 6329304 880063560 767613432 749916140 398575768 292606218 506788 501725560 921229402 902964360 403821106 557528106 398123370 664103778 464070580 512524128 969492096 348570300 907634338 544335418 446295234 288039592 482632508 782444168 260127596 980341464 478519048 131071584 963805968 434027312 936698102 606983676 800474048 375493510 759515544 809190238 423749386 932192344 907895058 868792846 942187150 17810596 422457556 598888456 551168570 24045706 638194738 525338882 193495240 499215216 487396686 217031988 376634514 661251186 629139442 764860016 581808430 860814398 900004432 683627484 828829494 195146238 845799478 789012164 359101970 7554010 428030800 614632286 61317158 29220156 298505348 137627938 171969438 617066700 36394518 245668518 763416376 212224594 507583920 145022498 401445608 483355406 284085582 540171018 692083742 24796566 697398184 730925702 847271152 100649982 523685286 438743900 17437812 802279668 451824938 951118126 224323782 40691380 979155518 373956296 979153692 468013620 584878636 479554954 19586400 287280142 642871406 450994152 466560498 670779858 947875292 728475550 395749546 984564354 278129930 276064346 10482148 406237606 422094004 47523854 955370880 688189724 448450682 137920810 19109700 328440764 68767934 447469650 546054772 264552160 129100080 506802618 946056724 585743802 283943548 963164412 223775752 66612454 446020780 865294426 550787286 651855672 800184430 41806820 536276462 485645172 158081106 629048820 3854954 786281352 782609756 465704568 745779064 94908764 590131608 591134412 67169660 817969648 698354468 678335742 470414820 427771902 962394372 882604074 569217246 255917330 680709554 551763452 28259632 373679748 417523956 483764730 393582594 169568752 73624544 417213278 906500698 506371692 385912740 922836904 400812132 82729232 479047234 71017302 308501238 795305624 555722598 423974844 39751116 79675238 44890480 149521042 391855702 434879820 215393186 25553644 707798320 439258412 13868602 489004274 54007222 401108830 81720716 675142272 601327544 837184482 990156894 557122824 251092606 380431116 648404758 188360006 317297154 994008122 755017084 451069082 881954726 442388110 60950334 162635170 945516282 941473272 355147224 933083958 765002462 870000956 783289774 753889410 153525652 361882538 505779350 46480366 51050232 189389892 776445916 176073146 325765084 441782376 847029434 239328506 764174140 810639228 619584300 641592012 844461672 132319702 404621232 244437582 155933804 804181074 137710050 961391250 333557914 409819196 435573356 191622384 49776406 586262348 187949148 224650888 680069294 997703706 626970910 494830896 977095922 847116024 512895838 913537424 702736876 542589452 208733366 996047632 735646284 451085382 756378272 253828742 539625670 476763942 248338862 990171282 22581238 305503366 893808696 395743150 347301966 637270448 910892282 593123532 628349030 391800520 501539630 285888218 535118440 584594776 378075060 138412676 141844122 503940230 495236114 681158150 548046132 731775560 955863612 391426730 644397472 374528278 76524192 810799516 340543560 949316926 756424638 5771870 807274690 828380716 332087760 685728304 679985688 599191258 212739090 624711316 307436554 476862310 757486572 578298054 641057194 433770052 407807772 793249138 820749224 781252880 204111650 687655930 316144318 125580240 970230796 836695526 142033706 299261184 153749790 888553350 907748152 986756092 456903852 616090666 514847652 556681558 73215426 280618554 96089182 414500764 901960806 246338942 616744086 69143270 906867000 330261236 718654348 813746698 147795286 238320302 964842120 598032578 30326880 485105898 749541750 28620814 473475354 139548470 293193128 471031758 454949368 147225346 996844434 997836296 628955434 713252984 951175342 230369638 222771656 389237652 432681782 42035636 435703742 156574024 556926264 711688362 683203046 951124064 928473658 609017214 11551694 724180866 463984290 939610632 259482544 430114362 125153980 749316714 793175568 547130184 927661142 104633508 442569922 892398830 881849582 915557218 279089912 573124466 245460138 239993848 304578692 448534444 127406244 735299122 794666576 121409766 49325470 837234308 269686896 694329018 878439788 429748360 422098494 35936582 468376114 725173348 54653852 480168814 274191358 349965512 837556570 800167606 742496158 603812252 418632062 325097430 401095312 209417012 435207568 727011622 759185158 569748614 634630714 506794238 404152992 157535646 572391202 722778174 727706812 883804952 402816968 90484646 997517480 366648874 876941264 173084998 563949104 236445904 594415262 314733980 751654806 661694286 291321604 232835030 983214030 432580822 837654494 168944074 387120522 281656248 511089980 41087402 972596802 777891374 569804498 115653344 423741980 761723184 391977482 213550462 776309950 504856508 469346102 689982330 269307004 186436340 760962962 175743040 153431684 268082458 379816142 175960104 968203764 306412222 737175202 245598180 819884318 584979532 942230558 496711700 52070284 687955938 196945410 840039708 467831054 514267654 410656194 469738298 642913552 557233892 708298356 430449534 92063022 279266188 357969758 19619986 792145130 766552882 779785598 464407162 936110292 788953368 81141874 316170428 969244408 42925260 768564434 565290648 997645610 592485744 567014158 103440354 707342128 476801906 507936234 451931926 320146620 700255608 888974730 72942888 984668144 904350554 307804628 925698832 752155508 59666296 192077106 73270834 196736506 20849430 228597244 82798938 32759282 748266792 998277528 807900372 187401320 49753966 540925306 106271564 348896664 972022566 281140896 609052346 870826614 480167612 339415608 68308232 751981934 649601672 846935044 369128832 598675964 173136724 834675578 76783974 967807790 300942616 753809956 402508018 895062384 595166710 377551432 763654686 92287618 690403656 652843124 715320530 818092930 815314512 325158510 905620606 779120468 498421602 582621542 237076082 777525294 802078622 813541908 620217412 675482356 824923746 77837300 184759252 169805526 645743646 204855858 505761258 532186178 697738190 423164274 154943678 372928390 951136924 940121232 406225902 600996650 739127716 538310922 857823618 539240122 646474048 208075942 300259780 866937266 503231536 702776540 242142648 197621584 716793934 18843260 629671612 412354044 579150562 149688358 48407110 605870630 438239636 450264138 785506554 638077576 199665536 459130856 654404996 640494264 85610500 120512024 598002570 583620074 508413588 321733134 260189840 945815196 949139236 858508732 888629618 264452662 180527910 151721342 721472694 682045524 817289858 701100498 730390356 580659668 337560188 689353410 367751536 453949376 539011884 869870756 880775602 257913674 52323180 458746674 447919850 272873658 37899120 612976636 357850732 370609358 570894910 240673406 317592648 416656616 396731030 629172582 347801790 161215758 764826010 208930766 281215772 851677534 407180680 70802538 657448138 781909224 516723920 74230492 523348752 149490584 4566348 31439866 255871706 976915554 331873748 653705476 714670204 906532186 749485278 462806298 979939316 200884486 2985264 79197010 905683520 978741212 283435892 739393796 952326838 809650884 134977652 335307358 992949406 59531182 927360984 77411312 248068638 426204314 44531416 733965982 955715020 743825050 734970304 826411798 129284210 217094414 310941926 992106800 508316910 863269200 588829192 508474242 965393488 651132746 357493014 742306836 104863222 562312524 593807440 383527240 586685926 429750238 64746762 347781656 272650718 221929268 120094842 197159318 155207832 660849594 375329844 217337490 386232670 83287182 101469450 480291808 576897544 369067114 888079962 853778548 378585394 830943730 432627948 582707244 616367470 435992592 217388810 464494466 150155196 465828138 182701056 461936598 682850544 958149154 256429400 57118066 703194582 936620304 861264866 483670996 905227776 72507418 606436242 478499426 426276820 183540412 559625106 627190274 536775678 752513730 137409574 509328312 569816108 149469612 622439616 588338182 371210668 637825350 328631804 403834004 699543140 229597784 316592332 114947642 469483042 882833962 815072904 550305586 32126984 259168994 958170352 30878854 977770776 249518234 807146792 373589124 578665762 904532156 538380544 439013168 557091382 642880542 858983138 995677330 673219332 11491242 745761420 322075246 418198330 92375044 312054564 155485972 224578912 620680498 355584428 896656952 405329654 807889386 661492180 284297382 581733074 645662124 104765982 396759260 652894836 567729182 782063374 565482178 331567264 445130994 230118778 861723660 629688042 247307492 891676816 15846320 24952686 956823078 482769438 70304314 59272832 226038598 510623566 413681988 263250156 258178724 893307686 844034196 726508030 779267848 48169232 607244242 123820898 579898958 135393640 807477242 531682326 285285610 49010968 542442324 697191914 178292980 164348728 804090046 74103798 608341532 698408768 450292330 568914260 171414620 352539738 934930892 80202194 27001612 39310756 182369784 418086716 883701182 792112814 87277420 272401780 549355904 917483844 598192230 268037638 206998842 186371556 37055968 760677756 668540246 543390670 182796192 108266318 126040984 39443402 812587904 412813736 476845490 514632978 201908968 443335926 861478134 750397816 775544964 886489890 115069430 983445888 663519344 214432806 559027716 928375038 751880600 142832422 922401386 823219848 943595920 652617430 629428308 296088580 420911784 754117464 54081654 179479116 971016286 575236204 621314418 87881678 295005044 430664592 461377496 262626810 310673834 808719428 798119744 145885534 281220984 568580540 300372834 741945718 476414504 431810648 852898188 878689374 34423894 52237110 12527236 931422066 79290980 891379186 7553652 250629216 272766676 218840332 851653750 819834672 375973914 372201300 690941222 697448158 368660276 670720666 918663736 706537434 206349436 864152928 342469256 37020508 46099714 960961566 416450328 765544732 521529376 104526938 955587286 402215546 71294158 677742300 453063754 924338686 622084978 832949164 496242794 96589976 990190624 878882154 501071706 979515106 25341768 597631210 910148838 805050114 446111492 680120360 89601926 693060816 226643406 131180798 60879974 812370368 742155334 338983882 304489130 485500286 647420270 129684896 859140836 194764082 753609918 68127092 406802380 176688776 121322422 887155086 834385358 10550156 787478172 269919468 580254022 639460320 268174732 279012246 204832108 450026494 554507304 935645316 169874002 313624690 297538680 183044408 100566460 282412292 374917224 85462028 501395290 544978756 337097610 289542538 541935382 687105338 343993936 614594570 935539332 240892688 49741072 649955816 145399654 495924100 822942580 145805850 948560252 724972478 417203320 104785960 751932538 507461514 94611740 43708670 647570626 855313908 409773340 343075974 721714316 565452996 133449636 282382314 551010038 631565422 36931204 287153992 502100322 831818674 326355182 170565452 898350986 529600220 971654962 465074232 397523690 912935330 214680202 367700978 363761642 719571716 526140712 522443360 68781942 669706894 125298838 468491076 803527110 379671428 904575332 880884306 475684848 163054588 49586242 175297992 878601728 294126580 338855482 762175162 102288878 585637362 53330520 118644674 253246690 680609286 395621904 313980128 873158874 374703894 409385310 167688712 116440288 946043148 895519374 80055900 793169950 96021486 784590722 161652190 463471958 425863600 585945206 208675930 769887914 683649228 543540928 835606120 786118104 123733380 4321940 523938150 583150408 562880788 370329170 49680542 551931360 320390112 260684544 987115524 828688100 255468684 511400654 283572244 603185458 967660282 955110668 184289082 20447718 198754352 80996784 908976476 623446408 183874418 541539840 976473716 947697380 362887404 400616454 570157148 848722000 2925072 539005878 551786974 787497656 997849558 642370672 615005076 912388978 784283702 602616038 360097202 779491558 648034252 463016494 321365334 4767076 722125894 227789120 551817886 925478008 155379504 447968706 124483968 447619066 664615764 524737774 406626846 39161860 292003206 424605712 934039684 155709712 716356080 339748508 89963180 307779988 981639692 641088592 626299064 458859580 77459150 327236858 538460822 317882234 338938096 101644612 536901634 804546428 672941410 76441084 601049324 233739826 251266582 235058712 164313000 134642160 178074498 939922226 586462540 297437790 804161690 74419790 440955000 281511382 537461950 940194352 937695186 690300824 213999388 258282270 693106182 669631088 22741356 164320136 971558114 586637532 424014876 576866118 421969486 289145146 116664404 533828094 923195686 898064104 376245666 652782124 379602306 420216792 556114336 796917154 473726700 532882184 69115214 137147070 404779156 943227374 885558652 550234864 206097260 962087154 849735674 730323246 355461104 503146198 603058590 245569336 641075358 984956382 59920144 820035570 865317518 307792596 814328156 29837694 641234056 517046690 845918126 936800236 634088732 732618886 88650598 183143806 84123080 142641118 341361932 652340976 424199982 781018910 138246046 654831654 649939246 225514530 855975720 77736488 870603728 653786858 742979164 382821064 28408348 738770054 537722220 715662672 127103054 470719944 254924806 254109848 913742610 235427592 417587302 56034108 324226248 842370608 998984002 538208806 770724422 618059070 462794830 310524628 474133218 965046748 369503252 441481722 777731364 358493168 854114810 695897862 797353066 307502184 592185450 703486248 629572288 474792308 216659826 833975626 817663760 219699792 857101692 514902768 261097064 612155774 885831834 471240674 848821410 625264790 316230028 527479512 19010142 732384844 553688670 537689950 743545322 15448250 475962260 100953682 564984178 832736500 51542356 875611428 561271870 72711536 146799184 13936928 714132420 372118236 939908514 181496926 672439018 192933474 313640562 663370750 911189552 417749810 839665028 814551406 764663322 773103832 284855820 770511838 452306940 455881602 168986542 437868638 733422226 838999272 936755100 298527320 182803146 255829884 544252946 939967186 993172214 216566564 745487778 593064852 597083234 113576750 62439614 277875208 508989774 232429262 495066898 585846974 77662830 763227944 926944898 345189556 561111908 636210194 267778672 85104582 492825570 31554396 478296786 537550688 947485978 893359776 597612888 878242608 947897390 744576704 989801032 975456696 3580612 654827812 440935612 180459912 998454226 673132320 2881510 564286502 817592012 11848910 43983150 902383832 134406496 555294202 17140258 721600076 394921954 828468772 520100032 189787518 948389488 550763550 501081650 557032698 494914152 31031998 950662814 160822664 623544964 447409252 918558564 773491678 794852160 782520022 949790062 952202654 334846980 427448832 484010892 909989312 930888922 451586542 320358442 992090768 900343800 509144622 985690580 303237372 140895864 74296062 510915924 791852280 872998676 923255694 714283480 839456252 83331400 86505916 734199322 194083010 915761894 954685820 36190684 780975282 13591904 290492136 583398298 697558502 901536374 399225032 510149358 913519342 388746842 144994182 338036350 581790176 985150542 40199946 907441216 732085478 867936362 743697730 317654702 270182614 982335656 659127560 991520326 231456706 744518506 518596438 460241150 645247814 853169552 14346762 916403614 204126020 973509498 761417772 395186422 274820452 905236360 296679616 925712706 104291748 344656204 293410452 512591514 716569638 685728256 952030436 156383390 216881924 479904610 359157178 711138668 767743894 620025804 156915060 458472202 69373102 241928012 977931008 393698778 943568694 857628382 731673248 116998530 353644492 759878314 271628988 784420878 472623144 279910116 429911310 949195140 228325936 285867270 215476134 793176560 530671734 759552394 30001578 834328188 147400966 509147006 304009736 183630780 665969022 874472426 976618540 63691660 693605902 458406604 982049862 34063184 52329192 514512820 102709422 223711282 812240248 855902886 252169944 356511878 526853044 750204908 129780248 569997166 211005086 225064834 288715472 252261290 483099482 97501966 792901790 122594548 100519046 597725874 517846998 593161770 462521702 345590008 73006264 995349522 790106696 911501214 643105018 743481422 510496468 877999846 806320464 244424722 547237652 692100430 211526362 147378512 997432436 989436840 594283240 924292376 679549718 709673646 812037564 813966822 505808470 271470192 419845384 767562790 541775956 154851400 281699176 42376740 907695678 753284682 470058470 245492850 641776684 994075272 761672490 438983714 728863512 173453086 513971174 183969508 815143484 213694774 256598606 514421286 664625890 301535458 798496618 619192664 882002886 765773062 374946942 591856824 809589064 652116560 596001574 171497334 397529140 524242154 400355436 95233008 812193242 624701434 744124874 851380078 61671748 496167404 170867084 560639610 485540570 133380444 894416342 686096466 548223324 870732360 580776300 538391768 568129582 800780282 106296680 501700446 689753930 653360536 665259338 625918214 231785596 537765534 174444222 930791886 931925432 82875498 18215366 827069350 201088340 637651374 233517732 672371308 502066642 18924286 790568190 423704490 623516166 144740640 173333334 182742106 881766834 604188166 397341500 929835034 572214474 870101886 967670228 526356238 23368246 90518660 316268506 687297352 61836412 855540580 620462034 847890042 750872540 315756818 715841380 497237546 154368142 301306320 164295586 587489092 568948110 516117198 28414152 770157730 684337368 330858922 668973544 707223604 444468894 945966104 846255272 988130874 775294620 549262780 587314606 710612730 745226622 370781788 710003334 572452284 419662180 336131188 706171376 912358936 898466430 493863998 771316556 581607712 134212770 792781484 241346584 278861324 444365272 83283244 555869608 667009464 430260250 527510934 167467114 137605628 968784902 353418916 706011274 365017984 233187746 424975684 104676306 919392320 798279274 569739192 752315908 465060468 638377480 158047338 715983732 801777336 190032138 731352798 118608208 217368396 229049634 107452922 973699280 291093210 293716210 99917018 191364034 972070822 753994626 744234726 476038264 314848146 971719458 947829384 83602124 613840526 50625502 743019948 189888306 120642166 719288900 116241420 325046750 701303902 857405344 381157824 595058238 91224726 970564510 132540224 632771458 450258144 66309126 542354392 500260778 325742650 718767468 509673308 439610286 728094012 540935110 541833434 817967856 136973138 297290832 918915020 944139050 91261174 860941918 535108598 169023092 909026430 656689012 762254660 874691062 70709358 550201044 935213254 99983542 837259408 439122454 700493736 257441524 93889644 892079640 723505156 832037504 752437978 813848788 416982432 945019898 646106446 508921052 311453368 535008836 438369670 56090966 717149004 434527242 771560850 292792006 621120350 175107552 586070780 414788090 366699390 241866288 63577652 430652832 660882856 567834046 48272882 747350260 604326390 309695124 573468528 56234014 365955252 366097182 142196094 994080954 619200896 267770440 968589732 383753788 51411558 293832996 914831904 985516034 989225950 970257008 545582692 70443934 155262552 970517134 499526746 837918950 613356772 642479846 895759416 526965994 162182602 689549460 5508694 639252010 122643064 168902212 383698676 87625884 987243144 323128746 235057834 369628588 900367882 946813232 459658390 116258906 231749802 847419944 814348394 163588930 178083558 361646036 815576140 118394494 774825398 418142768 847451748 323681826 265840172 514760592 942506204 800987848 586646726 231028780 281671048 670608606 968299094 44344438 307709396 196780002 853862850 566357132 65121460 295185636 250069700 859322722 939169510 603963764 746472760 941322908 636402576 720281674 679917960 495023822 173537176 407619362 714527698 753436818 703703336 992367488 118062426 688942340 859441504 969559884 278228794 854472094 770096066 199844022 339053050 622386486 714749340 984797562 32708216 530164662 809960252 700453802 163748884 71071912 435206818 543962660 870109354 938962824 204252294 252666970 630627212 901802382 842664394 684980188 297445626 204780124 789256128 362505654 900793390 442739686 534267698 643792580 743895054 615831016 429389870 731942008 812602124 417476544 147498712 632760306 446840510 442518608 665801978 815038618 688252052 395408776 134808330 172158234 282613548 975654182 215030190 848016778 56274030 601966024 726178216 530013184 902252346 118421800 890197556 989327032 966490082 473598436 819423492 722788260 207652346 775409946 330163732 453378662 815946864 270117532 418142146 912910770 639856980 211912184 856573904 692173048 971993016 493485718 104633218 467218502 532186384 480880530 908510456 520705680 89252504 74560866 458369398 27456658 662591148 943043364 56674098 285323922 345054322 743633100 538576492 227963086 857977784 343278764 265671234 107000208 270572562 244027828 432429704 781569176 42196774 446077148 614778794 380629944 648487272 953185804 892691572 757911302 413362602 744750394 148170310 906240126 292067452 734893566 236598046 290984546 622830836 172464644 964007428 704872512 628189926 265455490 509034256 424893360 417316600 615903586 437024244 636256036 320585300 169980816 450149062 151470944 588403332 529534538 727782868 645878750 153954234 856297172 830299304 267141922 11120704 330388364 341904698 178795922 263908674 633144294 293148050 153297844 189678832 740544002 567574360 97264602 860761076 901243900 850511810 238925560 689692788 570265388 243386064 810222494 951412152 148370136 551812746 261039998 490274908 712292064 228938154 865933486 985768124 467031706 805030546 504561284 548008488 381619688 939705798 240496854 10298602 819587064 119727598 790825246 544613924 514232448 468381656 255526982 346247394 821596354 832132142 36942044 615028986 216162884 476125962 43246476 477000532 398002046 241304886 455372878 961333478 163549090 356300546 464849772 217493316 73753920 996583700 485722180 950296892 384359258 922560536 772953098 297718588 589362980 772830360 82651294 80029440 142313600 717146046 969272176 825178056 94061456 624606098 218381638 654451798 922440316 490502564 98871300 50727912 85052124 98990282 443533656 549240762 981491918 114523090 517309152 702549602 429155624 421902376 517188966 530706234 186636544 128907412 483419420 661153420 431082574 815348188 434744064 807207348 526705978 802566750 476738654 247823790 444850490 91863350 808489562 899397280 872308940 645484470 995248258 69511156 137000582 888527838 202527688 187242498 523063248 737740722 616027272 812891100 149156346 716909730 714364732 355032980 472908806 914756688 535729842 940951518 532464326 281851698 121319450 614956902 282889388 60810014 74813088 522907760 568625916 905335412 5563682 340792432 683516368 468881044 614377248 561726602 363436566 359179748 984742522 442910488 19161984 27820002 903967472 853209852 131326204 227789678 869691034 744736040 200704056 464677292 956667232 235583852 724478348 45738276 126632732 442933918 974458426 685533434 386742694 912995248 37319614 688772436 217032880 712523534 894337166 504863718 136385426 304243636 837592354 76560438 741287534 293522418 259692472 192452214 73655938 986036562 311160054 821296376 595266702 992561450 296483868 712782270 544854210 416168378 686803936 692505340 852633886 930686964 411243532 516766782 182695834 829072832 594451448 215616256 431292752 662328432 87908892 624108968 516860896 806832004 719060626 937286078 649384636 214592520 48552954 437445020 653437204 678707264 328260432 973670752 925994362 906809038 907958452 579542992 595180776 64342986 190060268 404170258 210613208 456975728 324598978 796894386 794580496 947779638 105627898 499031552 161776650 16070800 990493024 928199192 656078162 382743152 999525766 324604948 551177824 948698774 33696976 745842056 434418598 209752096 144422862 778383078 288882652 309595418 45163878 379106662 671600332 91902510 540106694 736348350 76908618 935923342 126229492 59919126 392538580 218618812 399020894 160501574 873576976 387272954 920108484 248281480 461807764 177475802 469909382 41758894 325100460 705991958 850345658 500883682 647425262 240945580 233956524 449573544 281603292 570380130 861352278 817267772 491768714 904409162 853620450 715305096 215422602 643702466 304735870 455627630 187132100 463332906 875785848 381670450 394461198 796669918 917555634 231702398 548918872 440978330 514647788 511388036 818424152 498527750 854853866 80798694 512350296 58058254 375086164 478994950 733800642 955028540 684476634 890431028 140574692 733753832 866010100 299070050 544813738 459610034 995925796 555764244 495299132 297931378 293660928 92798942 440366280 722476732 254607254 285589180 552626882 253555472 315586336 279169002 926778442 246674490 131827596 242922352 538099434 72922154 482899036 608492192 380536224 119751542 922872616 685565746 283848336 316944456 340994168 560256954 15145334 863975982 57155970 993576378 732001684 725513366 35210522 19292016 633913196 663062934 299395410 979448614 873964308 752202386 150423572 349314508 906095972 58659676 223531482 510043712 870320166 237499044 821552716 544116488 903940408 232336982 704241860 967976540 54916148 509503652 257910858 434253410 730064756 413892826 602201924 235131456 120901878 130373936 886965870 321900352 498940292 654164850 583867920 258530832 843828266 619762592 875347926 372247488 217477336 839050440 885058218 609309256 867410896 181748816 214524374 123944010 533994258 689732930 505269334 920190238 259662854 249238880 76284496 663198246 983663448 278367338 326038138 933880464 822104678 620972836 393436462 524446184 803899190 954549712 610201706 50143162 400560534 166249836 227940550 192732974 201239378 114460328 293786256 248977782 369347946 851341268 454251696 696297434 226276096 107372132 913012328 479288612 581144598 125865722 873079036 708570476 194140482 744719244 100775334 245457286 85662546 221473856 969465412 443778458 398270738 262463044 606483066 624120066 115806192 167003926 186822336 544396806 250265434 483912346 135712498 515643646 96190188 200602100 904883646 384343772 216875038 541505912 119006892 957577502 106854234 941265268 629016310 993253676 936203890 25609460 929961596 494018428 986816662 642342858 650930316 760124916 393655578 724080226 633885948 663988010 624333636 619131202 642941764 487973094 400963610 602663164 433419764 848424756 127444388 430899816 315434184 326127072 55125384 292106796 561855062 614574376 838287348 539972698 784541486 114889858 677301144 609999256 285748386 61507032 741806906 649391650 711849240 304421014 688997862 149683148 690766184 943399484 849420278 483465124 713353638 842863674 447643488 202842932 663078600 517181884 81114200 521286386 646176572 754838378 136768338 980190214 833761422 707400682 696163788 494518256 888244448 738945938 645621186 778330902 144187694 955119450 883847596 838834674 305197144 928842962 39697444 870817698 703715924 892547248 283472442 484781060 686477436 81319274 861959786 149358224 952893704 311724874 31706046 21961750 465179092 195074108 333173628 905794716 279345980 799810170 565142674 170570662 148366622 237602926 717618962 422525754 226202804 203413846 342188668 10791534 999015822 719963924 192426028 116681800 789775292 996439922 963557056 925835646 868931080 97985598 41289992 671070202 790311092 640635668 489751044 31930824 360175308 779854776 763343978 337935960 130012182 294725394 60201182 418830710 548167284 488721106 472439294 787486348 80847726 445528568 431669588 762109772 496132430 842805882 283308700 289994866 970838412 418195802 951548610 556056358 576657596 768191802 592375112 936647370 871466612 648103808 190581846 367676396 953609542 41276656 785239850 455968908 874928340 68147424 704766544 418625078 507314830 393833524 542198456 742840266 148773410 956811780 337387268 798799908 950813772 25872374 413474584 321634028 392090722 550706474 739384086 663739274 372166430 886625300 74946676 893242220 521317368 654924002 253410560 317172560 503022938 786795976 958393668 93381566 812013650 637495274 629203992 986215728 887368660 705686328 433847178 673058392 610832372 18584202 735864968 11002372 436536864 1687580 270881920 801491404 220742862 471343422 529682844 949197332 625936870 271780480 792212078 324488136 236043452 998683200 915319984 58411622 933662800 295487346 447664656 407280620 631551890 584977286 508012046 609003460 993251034 634094134 258848486 552349618 651071958 358292774 224934606 138608344 126548348 910833004 59054544 684202196 629813178 697336614 198173090 380209298 400473550 20013662 756031178 643307746 462647066 302025530 633461984 560523698 22250676 900386380 237801026 47720482 526442942 947480132 705326834 964375652 765150792 561501994 798612866 301724060 719863014 883470496 322207972 199412528 910835148 990246622 548630200 183253170 779951626 6772162 633285304 494891238 954830288 728793570 345494672 112215164 937639282 23085708 450663680 460331252 438238248 248493504 454104796 666977562 457758450 431495856 203470826 344317354 246940164 629182914 400669350 765014610 803445780 529590792 785074622 683017170 609446970 637178948 999544416 559800758 332089398 426531780 38659296 623436562 711755626 375547918 982931004 486924222 846035426 155571166 891275430 913412484 725954404 130876642 607663090 854224482 773931864 537957660 945890238 987837198 927278612 218144986 638493930 511446514 465508940 469889614 578503982 283937660 221081934 990285666 181909698 600161570 681210800 436874642 930563066 41787376 488246158 534361258 259429704 10913204 374768104 53749936 186494228 685382122 931337102 374290012 334724916 228186342 688946404 105652326 542060216 678895104 993303378 26390380 225244548 484683554 902009276 858107232 916884802 75848704 248387462 76673742 199326238 540725352 247453286 564781370 205745058 366691130 658031196 246175006 323772536 490850272 154570396 443724998 76110382 228692316 204684126 41755790 837271614 400390078 188600836 927701414 682500990 304565702 912670036 635590388 719457794 618975800 271920430 68979472 755381064 121700272 3425478 540100174 556213366 253597894 852797554 171917884 516155318 665597638 454204878 614881568 924282886 67514638 285105710 811875580 888818724 136016564 34883464 109456638 209963544 436205758 342828 533816416 387749374 854384842 935003086 42184152 958733714 466453988 464976796 894819212 744493480 1149606 117301172 842803730 487380908 27085750 520522190 723097992 406782550 947910972 63819982 979799284 135743556 629208622 809614038 778234646 949369832 45827974 812577636 700080450 872063956 94160404 957562384 813332576 594597560 513662040 321334644 664788206 964959576 207872734 206684776 718116806 947152926 631215482 867379996 133986502 45018462 77730572 795014198 822591228 403299548 972611554 176186118 413477354 949500348 306030416 25023598 348835318 27266236 459980272 911006064 779370732 311003696 199701324 552807198 174766362 453026882 603269506 571000566 794299144 59936612 490443248 525301768 148856074 992809002 572160642 691375088 646984760 125991830 708096148 506366610 221136228 64132308 425637914 636729070 466541498 914611960 45591482 235339454 271524468 362423404 901234032 808434878 894221960 314778006 498290336 113560288 8637900 313865426 934403816 655537798 454197012 498727226 59180270 183822778 574417028 388916722 696851962 457684692 264891666 834896774 518621764 960376010 49681654 756913232 80694606 3935546 197969988 451889100 11094052 565921850 860679882 699341916 877943846 769674422 967519170 928143516 86046654 750050810 801160164 828288682 603362756 730402548 828896164 604939592 743934884 589787874 998512908 707788146 698263916 639398994 825720774 697777286 929022398 872268842 511019424 331153960 340831056 654958276 808544870 297611260 470334730 852969708 151402834 564716410 313461100 878553242 799484538 641240716 815824720 930356576 210841780 672517926 339754370 511201924 145800478 636635732 312291058 821662058 42838676 830188238 239472884 334783534 293433284 838757496 666790488 113870472 816948646 758603692 317669478 68590280 293825670 837223686 367098596 234155396 360038128 431420762 394697296 908535306 864881666 992605108 931572092 412744920 412643102 344461998 305732470 494350650 684942230 855819220 504560712 661632378 498932292 827233674 785458058 704245268 494918740 533840540 707308094 964805582 856063086 955122126 454563716 169712686 86247190 542501540 164294510 965445536 634853930 210843276 82522926 310835716 197946358 146103288 250763708 430367666 735938496 423564678 286088266 534923718 53538822 644197282 623721020 924262722 171705806 901713760 581873130 933936424 501560600 841380204 407068886 915036830 883155042 824550570 241630074 24699098 146733754 513691238 667297184 262173728 277719058 269765720 425181774 898616094 205060822 619027686 311843754 663188438 605159634 755760060 788250776 131016032 432380442 561927974 765748620 660513576 472987022 526125142 546404652 304335552 333453878 177631596 411027236 795169524 474078554 280111924 75654952 747222874 731880628 517349742 244384814 994965666 349770602 464670872 720275822 545930602 966302458 198529320 4260270 166000244 258753834 169253618 120400086 358968796 240794346 871082972 483729624 275858488 567909438 807434070 148670566 754526522 720366984 695274808 770350270 995608278 568339100 702805838 135337036 211225360 119277206 699708564 437448854 526353206 231077876 386453028 705189920 314749784 429608310 814724720 595011322 765888104 751478790 422728788 861946720 524020212 492916932 958591834 549154918 907620430 678700286 570325508 705091350 299777474 889049396 646333302 108538308 524782954 983222310 162335776 464838510 592526094 416368798 462207712 844445020 176774048 849007708 168988024 315563894 737288570 87532194 952961980 154964620 779708312 982459194 144771600 292736774 751263352 585063736 495507716 607383596 970717544 957099954 355674350 587857878 268844454 227998248 1634280 298442386 339699746 704143718 857940262 11332576 202686724 823022796 133179308 223842426 495096944 884702566 367552698 496320946 769713536 820317288 866424366 787024718 10132238 92076930 341342750 172629556 647037386 860445880 287580892 26216206 966816688 371532026 74071280 973642288 872844428 144750784 48381888 599809556 75681740 624514978 946818460 136183920 907631558 892136226 477090488 458070632 308003400 944566282 390092600 953587156 863932560 153941318 352593436 855019528 708791680 406937654 762831508 696934404 804701478 662177202 531303666 863134348 973199606 699834440 449216426 662158290 662014562 710993118 720447900 579872566 845958910 187185492 618670358 82219496 343001730 518231394 410001364 870601086 212062464 784306066 253235738 268578748 515695356 265494462 319038474 163905264 478221390 121742794 801935342 254236550 356141590 777095016 157639324 527452108 684477360 76932890 621389002 985083416 526402424 491277544 241813216 55555980 219168752 720795852 240086436 31069248 271708258 458928732 182416498 915423666 748196034 899130184 355150892 385978388 919765122 107223622 952381130 863771536 550384582 419666690 921781316 846684912 216679084 530447630 686648202 396463786 462815944 33440280 627791932 449208770 648458578 240822922 285635888 586436602 694648788 706011104 922243290 791986482 897575412 549279960 973847162 358033228 191840672 894896132 183599114 901139078 579086556 583132976 415407864 586271972 219576514 546730084 839371420 12217260 500482662 405125666 113189008 457937472 438624250 62987962 433650788 246036412 222890462 653235930 953585310 649510470 379172304 537409500 402334038 856823916 163920268 166361358 926462724 112012296 889718234 736133758 237992148 79421540 52548792 76541024 461540946 927823392 61976494 513465312 216663226 429175886 298532002 38060352 768097500 854184040 960104540 292440184 700218086 873177300 957509200 156600686 956662050 873381952 848460492 335876032 231867666 900338236 446592336 434960360 42511760 669871632 620274460 908749046 835733136 996291924 70414040 352710630 778765082 19947556 133312688 406038576 685897796 51165058 113687536 784085314 98191304 238984996 612944342 584374332 528212540 288668912 545323440 227288812 63570938 846739682 374266364 910018246 703967738 442664654 102407132 341076966 864787612 358344898 590369002 622178970 87550636 898833792 880661720 208811776 671989246 657190572 438852074 877376806 455496354 393608624 680334474 52415456 247196198 672753324 127894576 393717202 195154254 69616132 268404760 914172520 797302796 446646952 840672502 445570144 151556168 103955364 756579076 713966760 970536752 440743826 302558596 836000380 494811002 657038044 35931724 135614900 505846468 567283684 595916262 234646372 392267768 513167964 947706814 642677260 576979604 497317204 633022304 949127348 453881548 224334312 18235726 40456312 85128570 463273722 927400636 142510498 328491646 295429246 423525790 344101002 632266480 505669860 441902682 407299246 175290376 656275968 875379462 708682318 842989346 764800182 312518014 371114450 802715774 184415168 522229034 706179324 366694682 8947308 81238698 467005116 148990464 945383446 471946038 339576438 202941094 204251476 82988972 252880732 727411266 710759120 197813768 344605910 971572678 167950518 146759344 928763762 491156174 412988492 688921468 730111766 468177874 707243856 582932098 616878950 559020808 330996746 434019896 871404330 882268024 364393566 960579414 927268224 651446464 316598656 307999734 560837376 383568836 827557634 868313124 790565944 697909712 131193782 201646068 712051208 332871794 155076100 814594858 139012832 333712592 510933548 743156748 558660324 594465796 365818088 657393276 703492944 181112132 263958248 603079910 244865990 490067814 554093444 329231052 291820474 299613386 236763058 274640854 864082604 225968682 224612788 309159740 218020914 810249164 416924024 666215536 242967012 481002926 115342576 6488592 256522478 269237966 822279868 57298790 82359266 964139034 951791058 796932658 967880428 444793816 437205440 575126022 523225056 719838894 470514042 683928966 71882952 599210296 271650450 515465080 142151286 220449644 129521544 450285760 173614998 181982878 654379228 451563222 502333042 441904756 792150170 897662766 663924844 715939802 248515212 882936648 632019986 929818454 719533752 223417832 731484792 121642318 424963634 871612770 305922454 130610876 475753628 389579174 987197242 758441752 38403736 258469124 983731850 988736960 326467222 573991116 522555240 403024538 515978400 939415814 807986362 952749566 334218982 756452042 439367724 800622434 101751524 74360228 609580346 779041838 754536590 650745672 587274598 19533584 887777192 405457432 917541646 31458652 875490472 205481620 886542464 574668462 831256136 968305748 640538892 219531936 265797298 695204464 542258926 509086004 870183788 997966466 692849956 422931912 463334954 770041642 589067760 978470530 709538292 654089280 322708484 335316454 13196208 765259612 250608882 612656210 376652258 861730292 729088332 367068350 504148280 862058232 424502348 603246472 161933082 184533274 900253390 162617964 457839926 762492010 888092686 38653652 138887236 19724438 948313978 941374172 308703224 505873046 403259434 896269352 85921348 739786280 632806992 775856466 603987516 406434516 311093920 573100014 856227798 1401412 651867434 188643836 602357780 404842270 773537904 949512620 115590824 127710328 746652806 431003398 970187646 183812348 258795258 260468026 78686444 305007868 53701264 219951350 37451126 423511990 528536884 183410910 246502574 26695422 829203176 741574038 897819216 488028468 320197322 26244762 107499518 373194168 197313574 331028278 551322282 413832642 305213174 264891050 792345170 531092736 407961870 176969524 578483254 433132012 294325740 463061058 311587916 503306194 313749880 464701734 851286890 687146016 510224712 746931408 296116714 887872066 827501398 40744398 276150816 505159066 256029062 972464310 88685560 580381044 91763742 730222646 230329450 446356406 743002384 29940108 194171208 599914090 756117398 556226776 42153894 567533754 502151638 294214112 972282320 975021144 568914956 646227082 660776982 620572904 998720746 569070030 599462842 963828286 510718298 899279740 826824090 414358764 29667526 200340802 971659370 645733230 173982450 674971950 834790804 326407876 172585022 392341456 854947786 693882544 458137680 963520190 673908898 610188540 109228830 879272534 4682 473765840 962372274 993600944 270520588 25958864 556920036 134213336 383959116 131439290 456502268 642642494 506704158 309195920 245933600 590151002 974532232 920942658 380413364 503680016 777235898 620274206 420390518 160777272 385182714 450860666 491553598 987847082 633037772 319411790 626186468 213295368 627692304 705538888 926384576 104557476 187427866 184987238 445751686 901572626 712941140 174585014 492994918 847246074 230012448 782474280 821695094 684905942 913264066 344365088 235003758 511727220 218276060 660821290 515639080 59537350 663416698 74766766 131378720 847589550 473156228 729752790 280594990 814518896 987715136 566101082 243246692 174346564 294861946 142759670 865514012 701459250 226705572 386765518 239628714 546505872 178073912 955623790 935156626 13495104 400537014 398404394 314506336 209744720 754966270 801569738 384850484 11566008 637625892 913094486 62027630 904997650 23074076 517538174 355413494 943189752 451833576 81639716 505420170 359964562 57606602 973997998 66292788 607286820 166306162 303393994 116828174 783658820 611001592 783436570 286790308 835042652 995947436 430958582 826165574 851535898 780546286 754266986 166778754 500859662 400502022 679017254 973878492 360093232 785341150 175670266 477245562 94817094 692862504 768550998 954928808 588203512 290693480 227156808 670292446 765757664 884130452 49786286 393652098 28352734 864157628 151348568 44166960 45433642 166036742 303705794 548881816 815340264 780300988 551699604 488208992 68146010 277930660 237352230 438442592 480171330 385298028 760660800 281762014 916730764 314382760 870681370 528969242 275161646 677655968 401163652 139628082 786720900 499310822 825693842 13166890 931086876 179495670 419602208 675257534 160512966 901428340 783535108 213464490 839907280 928050300 62769930 980513074 690845488 138926182 436257212 715465210 749637688 916930280 852703034 975927228 426779038 596441056 293574582 701671158 447578802 916658750 806149608 473865018 27198626 772498258 966217508 696968342 948245676 964981124 26788708 730959002 635041666 466320152 197385172 952734772 787250502 465683508 446369838 9286216 660240704 789062868 347034334 121250602 948216084 880886698 309258070 406934680 807481066 708643462 964118734 577670144 173177236 591937498 842756402 543809870 643257338 372959822 390899498 735697942 899106202 733724042 231443816 849618408 137743488 958741988 738491014 19181498 988605848 808003758 416603358 285587896 413183660 116010578 181594880 88294772 182568062 705744116 696259832 530331962 900789080 401069708 677515418 470908672 48288092 174916232 163631866 346221674 365679540 194086918 917169088 694239798 560202744 869659996 660804514 563404522 5772104 320913338 820457770 934882832 533374938 67274598 677002600 244486568 762451002 96746204 25418392 204541136 45496324 666367782 711122066 151980964 842029476 682217656 235377142 796587910 557623458 207423190 496219436 574351722 562575686 333417020 805629872 603655754 853949302 856436608 91991194 871014698 252610524 445661024 186074390 803555472 911118888 997853076 617567558 125339494 313927206 971664500 963461864 112801922 437026134 398623572 82982232 400641548 803009010 516470234 134579060 314076042 42536990 245344686 376624342 164502286 911994714 476032782 834662686 659829706 221454564 703013848 11504872 458570582 623213466 41764802 138981646 762751238 353193304 696146850 343375308 635903182 328574810 361673976 311046134 56858404 910030542 824290972 245562504 53313716 366600618 831109222 538863154 984003044 514635678 956656996 246957550 625045824 578608336 883230336 404978364 601824550 47893160 602273772 762700430 706236110 643587138 330580364 761786338 188699738 251098518 703364714 183104022 93680706 174474638 948568348 230826516 877077564 868614104 299484252 130207150 389311526 862148906 281673032 697907358 180499900 415596104 986178108 144843668 475777174 482808784 346195170 708321966 263420354 987358408 284542086 300622978 245005904 568725082 459639158 575358574 780119964 916826538 211734328 871030180 298476506 283481258 342268432 547061188 883487696 586762744 508896324 741964342 531075190 262099762 818235982 166689798 374976758 819089804 404107524 524700432 982539488 159335058 948932896 944003908 918708228 398974100 325106012 205480160 395140456 387829680 247233656 842713880 207985382 632826284 880177028 494193140 219903998 879327684 281143400 345017958 77132582 183083914 800641746 71425268 344113288 534969716 650293146 792740726 199162054 813297194 522815752 326642876 278518384 908152874 273893126 351509318 417010498 702416332 864026890 547362940 946598074 467879118 609393136 682150234 537322152 101158296 444038328 102021618 582280670 592106284 479010886 223883184 461787628 530155972 905090036 705662950 80673722 984804002 894035686 755366804 613702716 297226220 75601530 674773176 980650078 337116816 939162698 188186404 344146694 612404298 955338454 945586220 397943030 940339124 455763022 993827842 293592222 23837100 754406268 947439808 596493984 427894112 678936056 997135642 774252606 952619936 59170332 182899850 540551224 599687296 609898398 579384232 269290276 540730770 303263900 887111292 187925890 918457012 413682024 963476844 968837938 825385392 872335366 284209516 846661894 414714728 134144540 180404670 700163682 71935746 253841022 648893566 38051886 683414794 133940638 872792774 521513322 941189720 937836978 301171744 723404892 200591998 916780014 670176344 52563422 983194048 540560122 349295374 284222206 73413652 944845850 241193596 373303832 335022072 619076824 252011686 554463136 959655260 346031900 3631424 955232188 496597282 60051518 914184590 226708762 174435192 307616182 888731336 983494846 197647828 782832880 953045506 774839432 300921476 60259846 269963234 995488318 852520514 232792962 813682094 748089196 186751304 957101600 459227226 855600508 702258956 878301372 566366230 756597386 362666386 393718864 967000440 833488402 477535568 371056296 121208578 181366568 584922372 273837026 244227710 491159906 936425496 919631020 440835618 647369278 913183814 472032486 499703930 108336910 867623982 588065478 404954034 734031178 29380060 51628914 313111764 398204172 916969944 737656750 671333434 216416488 361069130 856993172 573759504 600936286 536613640 711165488 263339016 472523210 839868520 127619910 662615862 714243878 335205140 417158888 50456652 2725494 70548404 215426774 525904350 216988482 530444216 784478064 118747066 55611936 818738172 703608900 621599328 282981444 941995852 964590062 507695924 556153616 471988650 243755884 75851754 555493058 954235374 698244786 946783326 383726290 436884032 69456784 240683516 229106830 709322920 764367444 408320166 324565656 188597268 959072558 453319374 58867202 631001918 793605876 680151582 424560530 251005630 733036586 857332132 15706580 941082562 199522592 320351300 640843610 615814792 942780284 341521980 834017018 62612104 964816026 524482462 145511730 709721930 864136688 795860178 238285708 688400674 409643802 26612038 213282274 505885600 330412348 605833138 438301746 68282446 787222934 575394936 622392402 320550096 774158690 455245566 662873388 9340494 404056578 779439550 194084874 808002022 179284046 994664076 485962552 732139052 252296526 854624296 882131262 267077494 773784496 913046400 960841848 208514572 851904232 524094480 853992452 721757558 264576424 881918142 364143218 826423676 607593738 544051612 884527394 772946418 151892788 132701870 221134872 815706806 687858968 537881690 251944510 510653418 788089654 749372288 874801210 684319828 399990486 669198054 661163184 264759248 345752108 370703942 553534198 678086506 638034486 893224938 390248416 708783350 55035616 454227520 849844994 762836664 562510944 231329386 157094818 944080394 577002614 763982074 754588084 535025884 305122440 14520510 647397194 765055114 640329460 635056586 183493926 958485000 169545760 716091890 869963084 364438390 367408998 727021922 481508964 618960902 342588378 358854982 337241558 212226454 419588608 454123462 998388984 384866430 408713454 432519438 25117782 779257138 974554978 930345108 922331188 867813866 867668768 162197556 97939266 716576896 335610020 28135056 998145980 551691950 657386600 989458490 26431842 251485898 834173370 529186788 22854840 558325584 303778862 75072428 922749896 823345990 976550020 930040802 192773040 874661410 70073474 199122248 552700270 463860470 380716082 632214392 586881188 40229964 658883968 768749746 374063500 367810362 644187078 460531262 80626400 213928840 358013166 365552010 137902476 591357248 401646050 958521996 248885114 941665132 300901702 91690700 570326932 674405290 354512056 514451586 29643138 411994524 553123758 820338466 884236102 488329588 429033864 971143916 885797292 948924586 314350564 286153820 522968078 906036412 630947106 581381840 417657862 219921428 751844846 918277634 351696772 540876900 823264466 215168540 403609274 779015664 924035496 555257634 849841540 633523868 999695858 121363348 264114686 808725058 454706348 782088660 604545812 474157600 409539676 666665696 870767772 757497910 986582614 787254446 581097676 835759704 678870320 59635158 883551656 120562698 756833342 340302304 921510624 349343256 646008706 89051912 984982232 753257332 275311106 800628448 504733142 802252880 711248494 143660820 554888940 693430906 559441760 165122186 973794560 774017188 542398334 988109844 752549922 916264380 854435364 856560104 727283684 527725732 378357388 80907902 93958472 830099816 105767678 383687864 610210596 955581052 533441682 673048018 332820306 105211848 481529898 211893956 141686316 640442304 854201028 65420248 441837360 463928514 38279440 470619952 114312424 981795048 863693170 45714536 715467472 521962482 434946384 847152156 517329076 333891390 644793738 89872370 660902638 882314408 817545110 967131644 914990592 119423466 810705044 274030750 176995392 902146350 29142144 678150620 645615616 726775646 914423350 847766866 854369238 105614060 690687166 612112632 34973956 885903382 865367164 536024230 76582634 271722386 739559410 376885260 796211928 950020230 511681020 456241738 811878098 704131330 594133982 643080830 7411386 540808276 484700502 685303374 582724692 389815900 120841788 204574758 520926226 287149886 292870300 970912466 286449168 354521722 982990136 427797222 761138922 755670772 617756764 772134352 567722412 528834140 926046094 688357520 811774588 320114702 462927662 431883602 61500656 967994200 463067294 615059634 590172272 416795290 426982588 536286656 77958970 550720984 528400700 93638144 528048364 753589176 805750866 607380574 929756306 892967202 450771750 231720740 797672412 568624182 185889456 896034490 772809082 425915442 754910792 44143780 712403152 196444498 291777206 823357862 451207660 808594616 167852926 5256628 894030162 172348912 692610930 406832836 822315822 923094964 760747676 688089170 888603064 239933136 572875622 694713122 454106380 354488564 552884806 652488218 319953032 639054398 780592752 132496612 388134696 312170058 943225312 887238718 445990388 690792970 148117082 120252910 214357652 552549996 858429468 963859244 390143004 561421872 507703880 120034184 782430210 601990050 4080600 87317448 636954802 721354252 101207908 860935586 83731372 269635728 808799094 73051972 720567006 259822064 725139938 688132074 848207344 100127722 22452526 567453428 843091164 946463870 274417294 22711314 985260924 785932682 409497704 447673602 341482496 890893230 910494290 231745330 214757854 795305494 202667516 179504674 268205744 12118928 693161076 119961330 52820126 485435376 941782292 361629114 278272598 951526844 58104834 500529224 193524174 877301872 16578570 120368260 112372594 540327652 840406912 124843594 687922732 825176474 141645530 577219080 37221280 617485400 221611232 820735162 665515204 998190182 20710596 154274250 502178438 572574404 396148776 632657446 32889896 336917962 831919682 423469206 123406160 845542144 70284306 549740488 97836456 478667058 530445840 653648820 774569360 402588264 354715290 628675748 764731700 45471010 799598856 215821068 502263092 639593000 693782334 469854554 909416538 605950394 122674274 469045270 926951428 798102044 248576838 347463498 811970506 46924760 343914892 743255988 617676866 194049550 493028990 92242008 169833748 460419798 943063160 58107982 934290306 113716890 260121856 665459882 839465500 919851086 578299364 475905650 457075488 707778048 846020632 343263990 482668952 108110224 343593576 892059278 925147278 49747834 942317830 140853638 294346636 277031160 350094402 30976324 365441066 540441248 296031080 682667106 715355772 705219072 669255356 181389574 760134016 315280200 544724410 819011982 748546178 742186544 579111606 164091444 931024738 251747798 874484168 305790138 641367314 850519454 567983438 76816702 539017778 15838332 691400632 962122020 800345686 762008556 601982634 659209360 251322448 18816156 625801038 245460586 891970428 224724528 309199100 659342158 30465932 142968976 574521636 776091884 787427812 299980516 956796482 59652798 22681498 808413834 379164334 41833866 309013302 27792972 316765050 946694204 45640102 272988332 719074400 491700796 699789024 242237864 867378800 762835206 793660952 324855272 572786276 735092984 618291816 716874716 980057276 752300026 196915922 874175132 851103600 755055798 388666018 538385772 809629484 151167260 955984162 315814864 154141752 374253862 824372016 465076464 361121958 672893904 559042776 810022150 762301076 66489874 27743944 126746568 444558246 450586580 932278934 190728368 410028820 479591452 798543036 326744922 625726206 231242572 886381056 788649634 839775616 288143244 528516986 495962242 6222146 884309672 616900984 690375906 995270686 929434922 921754102 209067020 177519456 537600906 995809396 733993468 861678214 610051458 367828918 767796792 895836516 297258988 872991512 230885730 674154148 965253662 587154014 107046188 725772328 838866930 418362922 338123282 205788912 389264294 424664826 117893444 777553288 284427296 423171586 651792180 420450142 306971472 395782326 147473500 592229802 882773402 543203658 250040304 920717088 358412770 305660236 373776366 147246664 625247176 653823144 322863554 822740812 968130336 205623590 127981072 473272460 912788122 289406488 50738960 585000974 96859822 129242452 632478510 129266424 559613682 828206012 435799230 689940536 534197506 329433758 516947106 703880508 234749452 951748446 156866536 541633832 698253238 257371644 674194432 482968596 696574326 147635394 512049224 946924258 292286930 445960090 334432088 641867908 131593458 440583420 77974754 188491238 933536336 13926610 754756180 115642940 795654522 30614870 136912656 726161878 435397198 637910662 158344668 229308600 669655076 483401060 447200596 93566082 548438708 504349012 5889130 960970478 665359202 277251626 804916788 371886894 87707970 829717980 645076924 114696584 442995512 833938290 4390966 242642088 427174438 215852634 431381826 811165002 973625574 473649712 30790700 162585596 897819024 549214580 272419254 235499156 854337076 544212886 540317736 780924982 439145342 91734774 442874200 438107196 739176218 792347282 225086298 634515094 288377786 986354822 239300132 44804732 686896886 64240392 631885952 152436098 833522894 269815626 662761198 770910580 491521906 905825058 142711498 28877870 403191718 242118532 28269290 829708090 458223366 228991850 121341486 952548542 448471398 628507770 382567886 18524818 728009818 287141462 214057786 448086372 412328996 536203450 256983464 757193444 490780106 338942724 664359530 744103930 62913830 779922710 896835600 21774182 164291928 154329290 907922290 396278696 929541304 921134352 700519410 115044246 71266134 780645492 20580082 957421352 864943134 947144936 140490566 429850934 69519658 356683464 706928438 55134750 605127764 722870860 35361368 45325280 695339278 708443572 566141530 676765576 354894542 236122106 191296232 514215300 352965136 540926430 246377326 516584956 101216808 989633894 523435672 293022258 646471298 937410312 774669496 984789008 569049012 780711502 385199566 506456150 680853852 90406658 179940758 472390306 216278724 875404476 687915626 364434424 844263258 787274172 304118714 193432860 996498320 705513212 754475498 966373016 341988474 648814446 692709926 584512 790526328 438102570 400477126 2728846 928874170 600639214 913610576 774865652 853863000 970776902 809837412 530787384 810597566 342487358 630004486 348395178 248316982 36232378 234024316 259940276 195343266 475421744 96278906 383450564 873886624 425232124 48003892 980505710 490105864 742985686 771151360 193788056 366051956 546127658 585094426 427834338 808113058 318125726 179737500 500628778 30222356 545923800 69139380 172563054 331320758 229857344 437916878 879373788 80319188 660078346 877091556 181361328 690306226 839728524 351271006 401027840 927660642 320445116 465890142 16334708 204181798 993018858 118950302 359321876 311849728 617014338 153532628 833192058 28241268 833089722 974966292 614621644 679168110 743242154 997141998 389371878 190107938 88692602 428880704 625168464 217176492 568877458 548720506 342545938 277698580 381375080 590265734 992732532 94911024 564471088 595295512 103971222 55223834 402378016 778201660 628124380 6725624 372727204 705287626 474416760 623390728 337576210 972264808 919263876 171938860 286365318 552837184 140130544 666248898 683256148 77899068 416463078 379396688 902639122 461397562 81746494 277315078 397329526 794216328 362836772 617423290 346629060 119257500 918227120 41375890 673830794 812421472 186297530 325871650 284993512 454418720 154141842 26908848 955644156 812755248 262359810 775305124 415610672 270441612 752627460 23389498 605215226 355567172 62928224 362261582 690778460 932917750 377581654 566987714 11082048 545174946 832718254 942047192 965415662 522386564 557338744 620850724 776644270 363720904 269077682 709311526 904447824 250157064 302820428 634199720 720116874 632000156 600856476 340476 348249626 996606472 209351158 374720860 245735350 161298606 934053422 871003254 353327532 390814694 167430148 337422084 167803074 318767730 100801298 235252534 39181094 316377276 432949790 393635180 165189020 668705982 471176688 485378340 231321682 14538240 710393162 826093044 801728922 406013076 680882032 479924420 98109948 53611118 85310810 148708348 444651510 366550208 158353754 456812060 123066610 690525362 422658508 439197670 992053156 92456182 164917376 919301418 26935876 782656020 42282518 741921160 554579334 470931404 220802930 971923300 476405434 425608016 907270240 409279626 819133722 330438400 899882714 69753484 560637382 504855978 44402958 973938596 45944208 239401786 353402174 829969100 500867114 152583112 199283756 133145564 214758348 835445334 532189944 338098158 369042020 855717608 608266624 310189862 507662308 328063912 432176950 244715826 951687724 6057008 567513826 505679370 570123190 671312658 366057556 181777770 551953626 467256328 220060496 691008752 512053648 908586904 217537644 774102432 480389780 373937836 428219376 518344810 188745512 845068560 358215192 295726214 656927930 203759606 487513362 862462948 471523334 575225762 405087824 921178164 489142778 422842240 181083744 435705258 67664838 793152492 624400460 312841328 429066956 729921034 268790934 24741222 722386424 523019402 917722904 623718838 650241764 118626822 909058418 379279320 269849416 278376136 687615974 577285908 341962364 864258886 442059392 330569598 397238242 399597242 679029802 27074712 353121668 135087314 244387604 691305298 724961140 16268564 275400404 488003134 584863876 776792658 772577186 293214040 780874894 823030692 277739828 235339594 962741126 622250302 795366646 249637128 431029224 918243272 690001758 632443560 747051914 793644892 389515458 892947268 206685998 272799046 693915932 977679722 780035306 355717328 886658194 516367628 746766420 202025066 861294908 269227638 456633348 427661968 871609912 602019398 182868882 628965620 82957162 417069980 498087308 680075410 597112216 353568590 766465224 301445912 814754636 898836090 152817304 737531006 284402700 33649284 378953814 771452868 922373134 181507386 550665126 230320122 709411746 259158758 163152142 653927976 578871524 154931410 3494556 259548948 278374710 763832332 269509226 368645412 917434018 754722872 983271588 677541232 584962756 88781568 287325316 607758402 393280306 314397520 789533014 877166998 909981700 382302848 783440898 237395254 842232008 683492902 716267884 35529992 763917188 933070814 576103574 505451460 290804906 595226298 515394068 756655852 930042296 293142192 142671508 289315120 319487518 177483128 341521320 171518168 192039906 691151184 88459022 858014094 559139278 643128264 546001270 412010728 127973816 586694806 604250206 166420996 958937482 119814426 175345010 954376154 872798556 562507184 572681382 522406 229811734 626120914 316271124 446766442 557633298 358584404 540145524 693842924 368942254 608620592 452147086 901155138 553727330 746390180 753756442 627792458 481912836 934729978 582095382 917010888 290993930 608663348 848410780 914365280 286977160 586811660 601368428 281219084 114348832 160247758 600847332 859595026 310168758 829978168 360422504 230755044 963200056 758014098 419415736 380499048 619054380 164863468 511471150 696114322 150945914 135495002 579721838 563537720 76795912 313131910 353597828 137810998 242417780 704474218 380153926 695439548 19106148 433502448 179761282 613716964 992838288 299072086 407055594 386818786 713649918 206465548 723035530 580637220 16620690 403892910 521648490 52471656 497339256 162391084 365045340 956457280 415758638 243557268 923952992 933940654 668186276 214576120 152080900 775661416 978668732 586711520 111077488 972933478 27433250 854436924 180343976 154541230 139648544 633190938 405233860 680089554 448804452 944496854 424384414 925958396 682926888 611648798 793167146 389260764 886403654 539850816 848921642 988508954 407408860 473392690 73435042 586791730 629292632 952500290 265839662 98295462 642532480 990129860 56173838 593061778 304814320 103020010 124038124 843785556 615487844 717629514 938964078 457965134 557497738 431371328 473346874 845291916 654900890 745274234 598347434 477945950 296941934 842599078 959564764 787602672 143954674 425777378 974510058 649562998 139825090 589331904 50733690 922274532 167879940 388622752 609762066 335877558 66613588 536111332 853239874 193736436 284549776 718174796 810674956 675323152 645614240 888620506 138616860 985682702 154665758 665897394 685158872 235672118 830058492 272603818 166547576 20758322 745252138 57796970 671447650 275722908 924476402 275633520 560158936 719697534 288451876 462201596 654207626 606290652 556294106 807689892 777425970 993652886 276939918 353748408 335378320 36406458 721213350 771554886 367429538 411678796 162769562 11089288 404612766 233418708 510475306 45799916 21104206 276372310 707710082 485780622 104305392 812263156 861412352 321424012 71823160 964159162 360086322 123104818 524078346 631795164 241280382 435497754 923869218 442624046 575466830 377938544 488371376 141442082 679364034 348231226 690482960 393451998 302865698 820939474 505080966 572325202 983217244 487859988 440250334 145768898 104152900 637389508 80554444 473934756 597763332 763155328 53610470 498908546 424288812 176022060 391512482 98702196 971734628 882726314 617155704 709920636 508737832 966879202 928303962 368071652 754081038 590060658 177906016 144142998 143459768 253909792 341003332 277737106 945692764 349869404 89598778 694439750 452968614 547706206 671521184 328540962 796595530 858475098 431585434 584136576 537304380 811148258 81174624 865045330 928659356 927226906 275858338 968979396 434729182 834491062 10879892 917003248 224709140 877953562 177686838 886140438 137375498 605411566 421540404 364047234 991485370 472279882 928345060 628779256 415898942 609904388 98244904 433930376 666634594 342011128 459078422 822306100 98741000 659003304 220968920 55424958 596251788 686317502 651319556 990517622 959327398 100410884 779161126 421565254 692448782 908397604 716563174 579779478 969369916 392044346 507302480 834146226 199967786 810830882 344322948 425733476 401550234 14256444 185382934 334322386 996604524 595252612 539767300 545519836 836373074 838563706 945016608 624713652 21198678 619702256 579966596 249180292 751806400 668775592 714309888 589845436 501758552 250402494 350429192 149832236 438719714 771591940 514282066 187092304 644784670 776205736 538778632 597824656 230420452 636700014 895976486 227969382 834151450 970225468 925540124 462108194 196416298 393572478 191475390 946055910 447628040 547725596 893608802 430886684 157964302 628622774 616008404 239780112 676800222 582741310 245073812 211841638 414334908 890220394 935464362 774935516 38252410 930883694 834742874 33338520 477544824 291423814 791908396 904216684 166996698 836967846 98842334 362055254 194330224 22612760 519589282 24065610 813152762 636727884 781345358 85637776 250255366 753570444 758807746 348993928 744260032 461433602 780921424 735158472 329031612 642554622 97361606 284447788 463485394 747508046 13842946 612440642 1427958 586671076 20414728 279549790 198347778 545102316 231696694 371085078 267850174 265563684 959907686 573887190 852861246 676070838 361875964 319190728 638359914 511809994 459261396 901373228 38178760 188601688 217152230 150765464 740050236 589153140 461311784 334883858 964010184 426633846 545188702 941959206 218798646 376852430 298680252 876626636 624538698 499886532 302413358 493782346 241862146 604152956 364390292 409803698 497071792 791616634 587380902 941115656 93780966 8614430 927321246 241858674 180598436 781574782 965279656 20866932 625895154 799674732 897576882 786394730 497441404 736092092 209844216 13181766 712444086 649018474 71572698 482730560 287743258 926352324 78747540 635117804 391973048 341365956 625011132 745847548 34296794 152476558 811373080 420013314 134676620 538303664 458262804 258327332 316407614 822087460 406658726 138066304 519223632 136644240 288916524 675775256 533742470 365980430 601590404 302929032 91440650 946397490 37626640 534701270 844022906 914687254 739360178 119723146 54105826 594791778 256424366 158873262 502444492 932250162 762562886 739724248 154623380 177754850 777820548 232218612 808714354 815791312 951337232 383471564 604158430 92066602 438979080 342643644 206334592 987482952 314850076 40944108 134137094 114585224 177548688 781846460 514329260 175727128 426668470 388535042 43349478 261216318 792072862 84507372 448270404 702487738 669881752 889695486 104227746 292499380 725174596 296480842 743474072 227875264 476167826 49516326 903962342 858560356 965045044 224906274 313870272 76899832 820658922 751700778 894051422 812944472 707830652 164028204 424066572 351390744 195281880 641059682 706382650 130864016 831704978 799878986 875750602 873979638 795612534 764964038 437655602 763942156 157351560 227223656 109684566 142758188 212436534 305563766 709514082 981643816 673363090 291983982 247698756 856249326 134640746 30731274 478657026 933819518 357014782 521026790 27118876 81948602 545194826 766671626 895401226 715896048 380603564 928216298 292608892 945206568 218238512 445985248 245989592 475800762 844843476 897205930 3248962 372371916 524055456 669927812 821768434 641406896 715436614 651761080 26402602 169989066 622993656 373510306 85294728 155616084 648376262 630254566 210757634 362325946 352658828 32746646 450265154 588295644 662447928 386720098 2958606 819129248 554089548 63759270 771941324 973141914 176481642 736324888 605549724 157534248 825860394 955527258 140443516 476019930 454421270 694058004 214616540 280605860 896202822 932124994 619747546 447783688 669343868 396753906 349189918 655239766 243163800 509699928 567021502 873057534 934405110 719937630 540049398 470350654 128504700 127621670 312741816 696872668 46408944 748557430 856934456 350404662 407671836 452737254 917221450 490291096 798916026 603479042 722909242 855221412 621579282 478159824 328639980 130156256 450961644 140765058 445417040 958332144 193240872 831197684 629049196 153672134 861351296 27978288 991672132 393228706 489033986 550581284 390585200 252369314 363614556 347657626 211062408 581292268 256397342 920911720 588007780 688565488 433557788 46951290 796586964 8942196 586101366 244550544 12406020 332066166 397228980 590291002 253257506 947976366 320645638 33719396 108053176 60000230 567711876 319545296 814395898 716638834 401190450 825816760 32821484 137123996 943364930 955386070 609155190 973582622 936972088 214063304 934124802 516337584 437794240 425123148 344442432 670861412 532799288 74890960 63295184 841146532 476046492 736848134 142557240 118489030 443896654 64821432 261792140 195508958 772840122 238530386 777482656 103832440 341994084 793243082 503759720 79942360 806200158 527525150 600634332 613404552 831079270 790241636 394621164 361243350 12311790 871679466 324247920 673277204 664331056 24350136 851657116 582103098 955602878 104095574 589597550 202584560 631521980 442559364 451690720 551829894 608202418 4615398 156520544 511919658 120515510 629586276 446671924 647694470 472877744 104146154 860854364 909277176 794447080 163896692 398687844 600077240 772926988 140542952 393707638 275812018 780131978 916679880 627852758 430659486 557785886 715564228 623593390 788543546 513837618 985301170 550813590 197152288 410582374 324194826 900982078 220999376 336562904 95000128 380941410 911487820 87958392 111980964 356098668 671369192 981045062 860179470 868577496 659049806 698564090 995596846 726257988 441052632 453015212 975801054 222409082 189672422 458112332 777810154 514534418 736208618 288127746 50343630 294824636 326584048 995199756 951581140 810293580 247279510 20883506 411746452 260684724 327388774 85228762 908136566 115354468 622439962 706731506 602252140 205657976 464317476 881664098 644046614 953283610 970355956 365848324 170178770 816023286 278577324 873050236 909008904 265551560 184560308 21776590 853389394 823378050 303730808 905432228 645795634 488761080 161668686 896417432 944722958 360213562 832318798 70350548 141440272 858065736 363026454 514386510 706323240 894298774 304807046 32749906 606192812 34703248 218129590 481601224 429884650 14925920 178542436 869339086 357257890 28881522 564200156 613674304 134792668 846749636 767936484 343759726 852669434 732178070 654190598 818972146 327903572 431237888 823649054 222740044 480482084 684912132 762072584 774600120 869632950 174054416 313414588 597126416 335214592 451623736 30204514 538140148 418601310 846622570 141572262 959958538 259839830 457950552 585268746 757268266 60324302 808415558 257150372 736866354 93451542 927673848 830531910 428883800 98998006 377789526 283671804 623723586 725105918 137379072 610339972 794579742 734616986 29770524 310172094 586421042 271270460 212436828 554894854 639081514 693805046 175337590 537372494 738038136 701313750 901789350 102822652 665220160 100049772 5231398 95712062 686826554 228197880 956083146 704377856 574127828 27513094 262131208 383986616 739413192 953163930 864690924 835626722 232416458 325800004 414115402 252777266 572294170 814467598 962383148 507762002 406411350 370979844 305254278 469862160 187844208 839361452 750564228 47872894 12799424 295385322 988853660 392426894 413217338 324429516 62927362 541922398 222845584 944751514 924894552 241586774 961494284 263622724 141408728 46877706 328982060 750054368 292471720 919548786 693390226 233950438 430383508 515729400 499260390 209627362 290262102 89181532 579554878 903321034 840530330 924376890 567855102 797895340 526291402 816372504 544093080 403249804 945112052 371767720 239640732 926860936 190516182 249274968 827142084 532910128 258298914 231547474 984208754 675173960 821693736 377520002 794060334 886536064 764340398 950029488 968144526 865050854 63970044 804691488 606930372 480244742 795104148 968108394 599644246 77374998 904548518 928231518 512229466 570961848 372054160 439318802 870476634 245728428 965331924 467552612 230740016 897156130 96810592 499237606 811481670 448844880 451878564 18580006 336628138 814610564 278734202 381712922 470881044 261440892 720878668 770298034 391972434 855607046 831235574 764545124 337581114 699490336 702659604 754477068 751705010 602880302 138378580 3758652 573758346 18974554 348911640 176585138 961854154 348328276 335616390 744202612 376223894 930405088 72360326 830134214 904309552 830763514 706250720 752582148 890372244 745370068 488276056 310083950 536826708 996503624 96021734 655498754 680246518 718188806 247626302 763425712 317788560 197938496 856268030 761773766 730967504 132272644 749717306 636476308 11052930 231942510 722814830 601619538 618673986 831364722 275786746 27732690 223363022 903052028 875392598 339639188 800375698 954128104 623825666 267538422 435488954 13255126 889697056 584834030 750916256 858946082 993951638 974571956 809550302 172092678 712820490 458107544 767497980 32261124 658451200 834572674 35802806 571322044 198797196 118740458 555228060 351826572 357007162 187541868 788414958 654159298 161633904 467407598 153272670 502271594 538756340 323982196 953134492 932067816 377455474 446125234 639333508 288478922 190114732 6719926 287836288 179874100 34567576 469497104 161377778 966336886 910820144 63503960 124315638 45358376 98465098 292450118 56497088 705334282 182553650 247357892 222596654 152265374 15831442 671907324 456668666 216250152 726119276 415688018 568695738 458912292 246351640 559990286 154670364 8530312 510053072 933275940 781261424 888135422 899819790 844949942 522424290 293423482 838185998 300102506 163155154 907163414 714831862 194258152 557295532 799067172 557914046 389224328 898411058 151434382 165525332 77667938 303044450 923974766 120726824 457912534 780221124 884091070 331939138 249578682 356761904 313806138 801217254 953077890 305151106 770265492 861302338 523389704 618530094 574564378 10380104 893328092 313424614 304005068 75704780 823820832 707521102 894783306 667289842 468074768 352655288 933082998 741931500 638511616 129738576 432766588 549453220 755464122 556550924 214502308 612574402 864065864 953787942 804854056 5222962 217112650 266567110 476784912 784237878 703002150 641240044 227959670 524542600 631411198 757769572 33654024 279455002 279801570 143794812 308672158 330984778 942312810 635410872 544002966 343053412 178673718 957042774 516358380 683472700 463775538 867759780 698811122 141007750 753466030 780815452 187590756 925563510 758116752 695881506 340391112 718182426 497521484 32509990 994767700 340236182 8971888 462131266 256820842 174920608 644061788 440521690 706006636 375177940 855438282 165700750 631276958 105888962 550495736 143725848 897301954 624071164 878576064 119268648 220578596 30040732 967245086 623015622 869562824 435921556 299729964 184857590 871637536 390839632 713277014 962916164 330598580 627258948 239377470 110681226 80186138 168893326 80442668 684097752 575258224 523021314 751157288 71832944 81719906 929753580 870885014 337761326 36536534 723561264 478252192 338018806 564661768 46130528 724966766 700758904 496514784 947116704 499966072 508631352 189222056 320833364 882781796 934770356 558029612 633813184 591846190 118012618 426955086 166886864 997114434 145812274 737475262 939823440 931072906 235573354 457470006 256639522 946154858 635364140 725388628 583524172 156640196 795099588 185550996 547085038 2927214 41086298 399449842 442100610 292837554 70053050 50815150 342775038 263328896 698969830 253640162 475052726 601237984 390758250 641639414 435409260 279359050 722053838 798646278 922525942 859346686 485383284 214624142 636713532 846470894 880716196 636297660 550843250 387792524 148148074 376990758 303498756 961026756 41706494 946870040 423538734 445696522 195277248 469770160 673583974 265175494 419471952 878483310 406858476 131187648 407672754 150073566 40658482 458472096 232004256 641514388 453533758 97601888 158448082 761526544 684086692 949200934 875059256 383854758 415764846 928393246 515722560 319059390 800644952 932917274 17877730 934957462 981568490 98292476 661194414 17828022 843161454 634467024 6762120 108241148 182568576 243815010 926464982 862575674 344503708 205410746 963541116 535766072 330926174 547279636 760859626 83010964 260821850 719170274 501009950 18648800 616084370 432176242 797206800 725746106 127802388 859426574 889394590 354338416 477837844 214416756 561297740 950766060 267555660 681894236 696852432 626001764 951545552 76436270 853341860 70712528 511071794 868080674 437876666 215321536 472433042 71255978 91004436 803147980 873437968 765387538 460519776 682698484 867316258 805436706 966639114 874466862 394219826 478232820 435622250 635252434 440530778 380315560 633587662 980141646 4225168 294394656 955026398 390763124 388075026 51354748 579361810 231950766 487550586 109996210 966200882 944749142 221056372 383012210 722241614 945582062 10305580 421772894 618104282 366257624 720065858 916134578 953976060 810812912 647017914 967827248 157893846 969394072 895220060 955569474 135085254 583268850 371072194 117941366 52472894 68690862 21750044 232622432 669838646 204408478 192717322 313566318 752307002 805000136 537068166 315066110 84610596 680314778 334436152 740180990 8585668 96302240 527602098 837427654 355539580 474261916 947073092 490374418 67599756 717387226 959127830 252996750 957104470 702883358 877116650 446254822 22722520 985658046 975962234 272871476 922536582 307570888 96323144 600244996 337256206 228862012 413516444 50316818 414454044 643307338 450600784 930846372 84126702 522113212 100008566 157450172 920685186 600651576 230039906 712685266 206410422 210677108 218430584 75752448 120369254 990738304 420723460 142726338 773430574 769041326 469508796 741500586 907874004 574605824 554727632 54218792 403916132 626773814 524156760 48301510 829572966 496841988 889675198 964998878 962910028 310113804 667297506 315437190 683055034 713889830 774736424 75106852 850983630 139346730 427632318 291827180 39485882 9925848 242028414 665224786 86587748 258580304 715295022 200735590 908316754 512898428 831017836 676760290 61414200 494650240 235445446 399529942 785694230 435546384 867111860 817875944 114812640 124047762 204491604 432963002 28534154 396813492 684770278 766335146 158270952 80038376 461334222 184724442 318241046 897184968 936837620 950485154 903619686 189854058 97059884 992427408 476729726 44590464 439289372 269835058 309595518 914613334 412588552 1595134 642687110 510006194 67757910 589193852 915037996 796173284 734818554 821288172 396780268 66078232 144291784 154610110 52166958 591922478 415026622 262614158 494708336 558670440 975142214 346907908 755320928 61366184 469497362 397202654 112226960 616112918 145107604 215044566 45317776 823027962 297534174 341137176 94549610 251007262 798922744 397162142 37942912 158241020 854319906 768823600 395048344 931241042 741502556 201169018 441186376 856597464 333215122 297817786 305585220 810216844 506573422 839028134 424256790 850784382 484182158 989444400 18050302 184593612 673985844 445095006 548660962 701843252 426999770 577946590 185276834 477970264 417822220 397987736 940684866 346688948 91925218 467189518 83102402 662443708 869420842 836655938 484509616 806821718 316765164 859313454 847917538 840838642 744916352 497586836 933962796 29131658 293203792 973947314 464133308 129956704 384871170 735824224 304894380 656018320 205511656 611909914 798404774 339810868 429860622 713236368 662655632 692593914 377181312 428200590 54276986 200295154 865062248 804298288 594933654 808093792 321012950 499327210 181423132 407779816 918577266 634015268 125578644 603417318 905761414 657022252 882382594 542095198 344913670 59160762 852789484 534586956 779657986 340429676 14469292 588225394 718641756 126549264 980059268 612342458 213904610 394454994 200439172 620988000 635942582 911232696 355919652 743610038 925707330 75299826 332098906 613300112 637533468 283269296 772131238 585251850 887339264 217646478 736086320 240176986 189374090 217325342 253401100 953297720 567353918 720911302 372718420 960725530 275865916 24380526 663957324 857591520 961488552 519570718 109014128 737736576 161361726 306176660 118937120 281320776 648298670 557081762 105082788 709901098 900680150 735616060 107206408 888465734 683538408 682734956 676263024 55358690 599905864 18285404 525950154 843307922 636261260 32641766 160680526 447371380 233907874 474204058 163130022 673086440 387952218 743625656 871721460 586497172 357749222 66063138 488694336 360306736 529552854 739307536 42392500 769321936 443122444 602850336 794219732 238458820 172146044 652422270 363107860 383146744 195131866 341773764 914983872 300507104 498690792 318672768 348901232 947776676 780041714 388894510 638477896 397713520 8127298 714622574 488153402 5654256 163330142 225952156 521157650 297623850 712477310 647171864 654499476 555656260 98802038 615134384 715953564 10845614 939004980 963557724 639905310 507791630 989268596 102110874 473364680 474291606 610333662 474382782 424577896 33675160 969563192 752040344 371912480 398674466 733485918 999529906 27696964 516336186 769761714 986269108 46476568 873260884 122036300 856302508 434947210 446879890 432771012 613041608 667763378 368636124 60008394 676436494 968255786 163295518 844062402 103685148 4548964 692952534 362596802 516043630 23437668 456725682 256430370 431232918 318029844 152589138 74232746 411353466 897017246 522705160 943547986 122112666 231200148 799087362 495822718 315154438 379584838 415174218 419782566 776213596 504488518 296220304 546097970 218344922 554026092 825043432 188278934 613367656 470165422 679425692 436906080 187238378 15903862 956946880 532123482 394732984 611874430 350892636 631015370 755326232 728009098 402811258 696317002 350704430 89717882 595366810 934544324 197937716 700420590 544941142 302302358 852152558 743702728 552221016 158021744 828319304 672691598 507559696 268018350 374109902 388811468 707348654 544509806 468364622 248274524 917628432 421630758 673959872 355267432 711155462 841082734 245893450 932356150 62068196 900177010 40877818 524432310 947726320 219771272 601928046 531277210 329090560 321790880 121919130 440748328 876795080 267950252 549981070 317330482 641615030 787302676 453422962 762997438 415391870 364163878 31758320 607136990 167213108 747843594 60208178 721057846 979419528 641218162 827367090 942668292 249844906 65200168 523648152 933979100 669437716 958815614 591004418 558555358 702233250 728008870 45542814 208604760 141919340 194184174 208766670 324438826 43205650 868637352 215294882 894560998 581825522 817084276 490331782 126837498 499084 581876280 867609886 169174088 892812384 838689430 123965998 723266386 117399940 86685716 575964028 711427320 308241118 459650376 448037222 834095580 641921192 288750092 67508410 520552034 194494610 711678622 349977138 475764610 641460264 428545408 337798520 419401824 320340856 250298320 462289962 921988790 920964526 953127268 509539308 327231474 765265226 458217686 238426572 476170732 168181992 840409756 369174270 867969420 560371894 730776856 545109294 542036580 451694464 119548260 422377828 868228104 590013760 259573228 797296014 181294338 612018462 903474168 47968168 168764302 38944906 463837102 438278218 604621954 131592764 318310870 973915520 982940294 287821786 29837504 684479032 559586464 146927588 550492162 327987650 77281798 581391168 82173200 988405548 432280900 340569766 37386348 139803582 706918594 209928126 322487352 851704210 795813274 326487306 322470566 880636080 633695442 462465230 979270726 817523428 698838158 90775036 986536734 5011842 826524452 533068304 455815618 356680762 159035014 402391704 145803600 918728478 731031958 82154716 638245686 109037732 185934382 958035282 741495406 60688928 828340402 17067396 271759126 398252142 510336446 659136326 362157176 582145814 600590070 983946144 426909922 24835792 799189166 73120456 496291746 113907268 954162030 876338108 291374418 497749574 355039594 41498652 506936746 93772282 599654886 365672960 436704586 101381440 33099728 480383798 787667576 475910314 863102968 881450394 634762300 315512924 830974212 137975142 243996952 992178388 957823278 292557986 147598512 101827508 434980906 41322868 555739932 970834278 305451116 839930214 502310206 442659560 324633802 426073610 895276020 237918798 271444406 313195450 551107898 494243040 763036172 187387940 729468476 280666356 890240678 331246328 651163474 996878556 283941440 124270866 988796338 199413622 208305978 505537700 671922374 409390532 774814226 261756422 615043484 88654912 302945240 891324254 471746176 206578072 915891702 127466458 487044520 235525336 164421404 710824488 51548352 620068000 675210284 212740610 542202042 832655922 729135782 372032936 149737456 360688266 372379290 255473350 667155822 208630034 317797726 184411710 98358356 685860222 922705678 761818366 91644474 901922360 899211648 746010660 531429212 404372124 230926652 482256834 613857982 846603010 59526510 125715192 265386008 22946354 26002234 434600376 347504908 744323976 310208070 218099896 495032030 334573692 382331516 260535488 748074332 78802292 111338452 933881454 131748714 115784142 653297380 349037416 315158774 147498190 273246320 40621990 642091442 483265606 110465552 297023952 62116884 177462878 454662842 623096670 614945596 809019306 25624876 651567210 641972094 274094706 832836862 964600834 150313194 707469808 137945230 277754842 103733700 443094980 933045490 183391426 926301038 535191850 624887754 458824082 446194944 912944822 371271586 282577286 560549954 960403730 394644162 794459204 309101742 563656750 76136906 778566964 549763732 418681800 999848248 674848902 616144660 800559308 515446958 286093664 120063230 6461638 313707832 538770942 897981450 166909850 956777376 931026898 672316934 197504840 375506706 373106112 157704980 548103834 890226892 431206068 307436044 541437924 876620262 579001266 30809592 584105700 113899604 682189960 918851318 549359822 211508100 346119386 966517388 158923518 707562344 51813018 157646154 724003508 249205256 613744204 266233864 128744870 343858166 790135176 22573922 706929772 570803374 675577308 488006288 272169992 406136332 82047522 750912950 342620324 912366890 874796302 561692848 53925304 840777586 843583810 433901838 8709060 269990426 939367360 234184278 698577370 696771698 953641844 418344138 639688204 548434640 626314316 609565490 88779810 148134476 906539914 784166680 786733116 107911770 478979534 947667774 912536892 307543182 102760088 914193724 336364050 459469472 420764328 757775560 764583626 121684796 136460384 622841794 120120286 693968674 853873226 801174094 687433578 366942368 38293836 447567298 411663316 348402300 470204006 406519176 210963974 773880788 840763080 430656890 681673300 793061768 474744802 188203948 785841512 778865266 111362220 835907370 88515664 641050756 44452092 873010276 660470406 375028350 364217014 380316950 466033584 978713740 22610312 698134790 687555356 485236068 710493368 823149592 275702702 350837528 298147936 989339724 743085978 771556014 46598734 416612146 242239438 502324316 730554050 166424498 712874312 139436210 193138044 407993860 100896816 497492224 335549836 80219746 96910884 919614756 866489340 989717542 80811466 882766694 522131774 673331754 14280396 99457566 111228438 369296132 901676042 814142156 499653728 92824680 211886128 740631206 529691416 566766146 563832274 789237618 748625802 36188030 959181260 969779036 973271364 615466550 794242818 709986440 868652328 47272820 334793048 534636986 575804502 614107058 946293012 133145642 474127260 708484622 348597476 597238912 954437344 215497078 70868506 409693804 621748046 20965540 636181232 925819056 214131566 283351088 292552518 694460484 947310836 604599244 920904612 51322568 278965734 457981172 267362296 639918150 392537502 503894450 495722594 567737934 210193862 636305494 48572140 804025780 199376108 261082136 898183434 201677336 221225726 144475868 464559460 698617472 467633318 702059170 303265020 944491064 520037832 411120122 16621724 728606888 610080382 739524562 278017222 586776314 113205294 719975380 251500592 714430000 407623334 490866222 61108828 575993564 667248912 935091890 636802940 44282016 511805514 302262722 821263994 524258824 31410276 313116484 38483274 273070576 293498282 724026020 29995214 328121418 363861444 405093334 194868298 267375250 592858290 961300236 70570862 863782400 992577366 874673862 860852854 200750428 989539376 995311128 733218326 920892368 133060026 80275414 683490714 947230468 775664546 89506502 99991032 937506372 366310922 964608772 188710342 831595722 297582266 32147782 919536090 267268028 523336234 215238036 385843056 578157350 906718184 819578874 435312540 637595794 951702442 795254358 384622122 240667520 243593986 438736858 17350874 78155232 25110528 574040838 535798848 747210008 833875200 555607720 879119436 483183348 319690832 603215440 71322284 81563004 194288052 446529736 265071834 582739670 826298798 261511034 492269326 570447390 201572082 643154966 254303544 116939732 1368496 667499342 8957230 644514740 766242710 588385032 703496830 506685406 193222788 284862390 597389420 954960898 571467048 217461648 900743836 477502606 390825350 215355916 206933516 628100936 314932556 35540982 23661264 260038678 789609030 691111852 481219958 55011764 789602034 515392574 816779100 26576408 424808564 985943830 409483852 239514936 999172364 819536972 187647792 763633164 997963230 438995214 552100810 646213672 672705654 406919584 309920408 993794536 601441090 898213072 425158068 488225160 532951572 291102206 353660126 617961174 698669800 165009216 547571358 285853762 624782068 657759834 889157284 248893886 586926956 962360376 696885970 564892900 596084178 123642150 330756284 339998778 351960986 650876432 91656614 577409938 73132794 848412472 681702904 75214682 538930858 124591444 783001322 997333268 484962188 534888978 156466684 773054988 112346576 132758148 891060070 585674390 446621578 383504832 701196140 700054952 734743494 554669942 809909834 358408228 81730684 466819180 450977088 756039312 10945188 561430798 707526042 638690530 222955494 962468608 234465176 6873436 260660448 893567700 243689672 60374266 811931638 637685852 519842698 147716528 166130654 516690 899394658 376804566 112873088 939217744 612489822 712812702 598175358 123186952 583935104 27824316 705572416 420681968 373236688 697636522 132335544 886035626 784923908 436561300 87340496 142572344 633293630 366238338 986091702 833043546 720145862 718262796 720320304 638221926 99447634 851558668 393022876 794176594 802906572 883516554 300447186 568391156 388379348 798587058 324482250 788599496 830108660 650525202 868253938 845722112 154327434 387768120 649953600 164804838 56684382 69668700 388051492 846049498 552307646 264594672 942115794 920672958 258569288 585470436 946602156 866037738 349527374 529588236 83576434 963182956 607224070 11662104 908105076 997702402 844113000 348338410 506677496 925909042 833638976 931900594 688184792 747872560 627726368 538547786 455310990 251288392 469429480 965507502 441438238 199995396 179381108 570764340 752317408 235323206 37553052 986716692 658488364 797069608 924106254 659899920 124344468 999890560 460847350 375281336 689482682 97061118 156198058 425313238 383026440 954227836 104444558 415501018 787440742 378508016 878835374 534180670 995964246 108624622 839063878 662749010 847090192 581127770 361844794 29576826 986314962 439159364 711875630 429417322 230931924 312611406 710242676 985235742 301043296 502154832 618491586 189659322 747790530 361432924 587557250 485575602 550077372 142494790 971643554 919379080 152286316 314652154 129880592 852626232 669435352 443251864 94245704 972830178 431522120 732747306 422984096 20737068 948349664 357882674 992905974 126594964 544040702 32855126 194364118 124549132 182868326 726891312 188058338 146640914 883856072 805541804 410566908 175211426 41264228 855206558 112652608 871328236 743665462 285007524 335464312 164879794 412919974 702681812 808891680 871582302 136354788 670981976 585899844 883646830 912755592 877339108 529638138 695064966 121185210 288776914 517274534 61443936 215118942 299480792 894451516 195708920 867180010 197933736 943989592 982969136 634330794 20146822 176251610 389944252 748131644 254621414 613624676 980278936 413172112 546905810 967691722 590835344 264275506 894338834 410609740 904104064 638578234 403445984 785089414 610455194 84737074 683509124 680278012 200660926 388788170 550508574 692547884 123305906 349483526 756152000 186258608 94343524 92238732 19421502 627646654 166024258 223195536 180347012 591533552 688905478 651854054 828604320 270782588 273297840 89060394 851307840 544884546 428585930 21662572 907416686 899771094 589427756 714982738 923943542 925067570 348162224 135754470 7807922 395502086 581672416 351074798 617549612 619849756 471845648 310380414 73514072 237533872 396522058 710358234 758106578 533697352 586288162 311052132 838815700 10656906 583527088 303155930 526632016 553851030 226156526 832915178 747790416 537417494 575659882 103587022 518198324 972611868 837602572 224108908 774879704 423228076 84786772 810199138 527911998 807614872 847275544 945800534 140967368 584987828 249329174 248843976 182811272 786528070 523303114 483025978 716868906 909891884 457494300 248304946 762389056 405191016 457737734 721484180 851751796 945889804 926726524 769386370 398776840 231821388 569387308 427609442 990172782 577810302 184309458 200728526 678560494 578643814 10436506 355964570 50490910 182912212 404728656 530021754 208910508 961329716 215858320 900021738 75448552 384277970 963408802 560561284 644734442 755261952 759858506 604023436 6199536 219523128 902153954 752586920 277860068 966356368 784541742 620535150 418135940 156182226 458970296 127963986 811593024 117753398 424105446 2242882 573959316 270097924 912677622 573735346 985068436 617712092 434130994 957891476 838156874 20538370 432773424 576326340 112058784 249968090 492084142 56186084 982186464 789753558 526004892 405968326 840742210 7459680 814015502 451599172 888840412 196670382 558605870 196179140 664486082 90281924 135444882 868729356 233638224 43880294 881367228 262121210 371390682 567472910 621934290 18277110 654040476 227771298 106482446 418098238 286945316 315047734 391042344 92296278 711915860 207415040 710735012 228216526 287544906 650982162 52078970 653529178 114769354 120540024 182806174 624080416 904112776 718202130 331999768 181689610 353430904 279464504 454816954 737196128 374775950 616985104 41596374 359567112 741704902 849170432 118770842 214086534 51564182 950683784 769890236 311176640 720228274 933547408 942273562 887688434 533205470 923199120 47802162 708333746 338884732 434472868 236930412 746059568 705345722 547541988 875807150 845943510 629355382 211490946 986256612 289954900 279720938 402040036 540433288 371873930 836896414 144046502 689472508 488914206 267651548 363673572 246513140 381878438 139292516 38603222 787464058 140928716 358783558 201187254 531142842 560395610 109736412 534418076 700869224 134498458 331889268 660592530 916272574 440377846 226659372 644422096 491582920 709995724 458880302 393194040 458879244 65162236 321598364 913215662 945664162 666120208 106237786 150352974 526373572 518578352 747590964 230004598 197654658 363279038 205842658 618923932 462745008 444043364 973303388 820500094 598638660 326759084 478133602 155668964 521058928 137056950 317534310 689679628 395112216 222580148 681376096 340204078 212631604 13788366 579313644 658525622 72243186 250417072 2573384 937412830 299838720 334693670 570086530 752971058 983375790 50776844 720258278 240647772 309881014 37379214 202234576 344846162 555950164 425444606 919971774 43938340 334831154 391782528 184782906 573172414 505080808 11575050 965038110 424480446 562884304 358367942 218846310 778228814 971266186 505604014 299143326 582386960 419624910 203706718 357942454 214361386 562852962 396632918 989427896 126877298 243356214 309508524 123492948 854415408 65797592 948379024 595788522 557958028 881075766 615444226 972165468 800062912 941047678 965902838 481200536 747296754 759248366 949842384 356921336 678546254 623065190 266345592 376003576 974679924 61084308 71599670 118704466 674111224 787776236 834810522 231091328 672170814 446214154 821473726 58134654 636259462 43662512 860685388 825460088 116394228 688374462 24790852 575435172 267248008 155847054 829369048 606469376 41508140 608948236 638422248 763064116 389846646 471615678 561299190 579361172 257806864 235542082 784915904 51954284 857388524 494379934 741586582 436147416 532956244 505980352 593141696 401193106 68706144 36221650 196934000 103683378 141498962 909697748 833146792 24299370 649674980 882648954 901244222 373679360 576379248 77769926 321458496 723508270 886654598 855637562 290892752 515726058 248931020 770443140 742983444 226597922 892845318 142800 393654866 77132248 292266352 696886304 603664728 796112920 947254200 625258112 702813072 5689572 464563118 979639642 825118774 322857148 367810172 240001802 806695228 424788216 296931726 887540560 420901622 471056922 249990014 29766158 34780146 496253080 990172888 439105090 245634156 803594926 882146902 571777672 882319456 781704946 12360226 823859034 893022740 811121234 860346454 835895914 685108422 677714420 763997156 262286454 321574774 37911090 349163312 788777380 214931036 558612772 700197040 740358134 832299782 406364242 456415210 61088082 69699494 800224710 84473792 322355226 906584436 42316004 278755924 969893912 501321172 164115542 928033650 469888060 31815138 326293930 383357562 691805254 436553914 45570730 341263106 679876316 175156674 3309928 594337358 257817160 594164104 549722318 976928668 784164084 165509126 701113336 542739016 332456364 260018556 384446234 764760864 738756420 380550700 514625692 788624838 73010528 999017662 145504946 341415150 32718670 988148182 164058650 371277130 268157254 480406606 361998204 149160636 393431062 184911014 831452152 495724372 874847784 896993082 294755880 113592456 301824058 649917572 931727870 471914506 318130682 237898396 712817332 609206932 226847834 822498356 567173672 397888132 893351470 987961636 201990814 396272424 384648964 612896790 318143608 628559760 45208230 168613822 638879512 12681460 626754880 653161094 644109882 857395082 590054662 946979200 351063192 556122540 67400006 969548430 511327316 260208154 131450730 285192196 693558742 66329164 843755818 645426416 890757224 517126928 321754464 60986088 665309690 661616140 132866692 808866836 369354364 907909070 768009240 391239278 920619606 626626300 932542148 166428764 26760918 16361668 231586880 402187388 218532914 417024302 517375086 36377202 498849140 773112788 381472522 904016466 859875700 367682054 969930098 280381380 984977236 305096710 777175258 501547412 543273594 13212916 634526080 305810566 503984296 452950168 945002546 543015172 389386422 561733052 446099334 25128978 64365434 805587740 373851030 776055554 569135324 891370222 859165710 393618000 625397308 30021256 538407852 156677516 557038618 46403480 592284762 789229640 593599742 84868492 791385054 855744340 658106824 594491412 671608706 783720622 784579182 209645954 738400270 7030800 373437000 860874920 55257562 164774368 194730936 346181816 466534924 87065578 169282838 238165320 242617188 969382530 941059146 412569470 538312626 984294672 695417256 396067930 909407370 256286378 461059516 441819024 384504268 445227954 243258992 810033694 88698014 807472892 697214804 698038926 547964842 730877082 511331710 935304156 811627990 180063066 419699516 786763728 308305946 769728160 683837376 639171466 534717042 78547688 16664410 399033310 218511112 130108764 146005770 70228644 285630620 357313618 423553120 444432822 513605070 904363576 331595834 211724694 858247730 432848610 814763036 265347876 752771486 933978748 549722048 424393396 995401826 329173306 257385946 448843924 540031870 548481318 861430134 329472928 815972068 40319636 149867630 934976990 418117582 951260752 874947112 883445386 327958286 529599524 419584414 783972744 801430968 328943702 692292844 426446664 496806792 965766646 453469928 582501314 353962208 306436542 654670996 392060354 903908018 472667252 518869856 405978510 385626362 253989996 279495430 537296752 556540472 700051244 838783748 994333374 108507754 414762900 573712918 636564102 701948036 29923956 72703004 530431026 4657202 795786008 8487766 20476852 542717834 807148362 623881470 439206522 992572740 837255090 47135496 539694976 214500276 99537416 166332532 238740990 481162486 100557332 689801834 132434164 572730530 461330206 547335960 145391480 491475716 3378714 813285748 545171768 664571064 433707080 769940602 263553290 361120072 105839550 305235656 85007408 5105198 322034310 718090794 95470794 697983030 276144366 362249056 999071380 91172818 478742764 866105526 822321684 661586500 480672484 116087908 206051774 166181736 72849666 764367290 892421136 441481558 294976090 760106894 400227246 799098842 456226156 641238882 501814206 18490920 334451866 609889488 74061846 966657028 789561650 497614930 633842022 530535842 341143820 993540580 819245506 565011280 84579990 96661482 256910034 145111134 816886572 656110968 951673840 858813870 950249994 450930398 283340902 469807380 594436758 205175008 38196522 962486790 150999230 13094212 225943010 603055056 545900044 90301574 149078268 716649174 820335098 513494838 918428440 143565396 594947894 704164946 601933574 866545986 949840656 708215346 201454290 359515824 591015328 403872252 328667454 358691542 118428924 775101674 168252670 980383082 453451954 389294400 863786680 463089506 876014098 982378760 608664078 679054854 527985694 838193788 99915840 897793614 696811868 368142680 596047334 803318292 417875338 964569200 198364138 398502154 73618576 778767232 321315718 547345906 22698436 709693336 247593676 505511578 774903966 245400912 918504034 407258984 796171214 41404180 576217046 346031058 910823982 148143686 44483090 852617678 370471120 206886092 647757622 42775120 797225244 494909550 779180312 972733962 708784144 772167534 196040368 642617842 572845924 438756832 962108902 85952204 401461046 440427938 852202488 12824012 672857054 643038508 611050196 862933112 627513852 260706112 501343408 55158320 6158484 909375748 449704352 55688406 721718084 482688352 329166086 383113044 556573248 407098262 323186502 730690446 70673156 155500716 573911726 356037728 506718642 271172580 154527482 224013246 245323326 103443458 250944206 213992420 370626830 905481118 949137316 291293760 430694298 467131886 427813568 633227286 352111112 357011876 53374244 105891050 421909578 512382502 642962464 660252452 307160206 126439212 823127948 583616308 314163906 840523040 973826066 85629548 473154958 539718848 167288742 730644174 266570892 641981768 356135954 236232096 941728636 141788880 707529738 306556516 37838912 937150964 11270342 607499962 263261188 884981990 964445684 317436654 139084866 242707420 940834880 83042066 761629190 160226604 985084102 788541174 389060294 327132504 634443674 320603526 718786516 661003866 468185040 11315248 423157850 563599426 84512010 915699064 614754364 805934706 776182978 567756416 637103770 1997902 757613240 825733590 820469942 25343986 901654092 644366908 574731984 120009596 576582414 53641404 292144142 199576918 544075118 451783394 924781398 537893854 39991680 50603160 13575336 334417708 292498316 17826028 531291416 408553092 613008282 173149296 913115678 578140602 408037838 777896362 224579524 458396584 931368160 515094138 599776762 206432712 370274310 233998524 590884244 623175400 138897768 478184564 75435666 877109494 74016882 628357000 589550448 155434054 704978004 516905826 598499580 674239610 371490630 331460814 987765612 220414290 700208336 718489372 507576144 169811928 957740584 91202340 234106864 676874182 637822218 122604188 346958358 120466054 668061028 985274842 525597150 121309404 826348848 821172744 315103572 7177356 322262316 208027100 775839812 984089588 421526958 544776058 143844516 938097142 555604302 877623692 444197332 786623352 422178076 481221314 93035218 930903218 35335756 528889836 151486700 205730574 325786704 113191130 829414652 346182980 939600012 380368650 120517836 514457108 557171794 741019422 737754566 452848250 567810634 279770030 20627456 561272446 831460874 119255586 398217310 602193960 87018758 11358658 20421482 758012320 643111856 437982908 923002316 301666628 830462294 509408710 815226320 951431034 761941454 379827886 999695458 595553918 254327270 137135070 318506136 365253772 41977628 933904550 321565416 682099600 804554582 305488416 221803014 924724162 270122958 85901612 930017778 168671084 53721968 203409508 829526936 101991178 974810736 509937480 646794392 18598912 204394938 356216956 175761756 150960688 437402552 855743216 974563932 906695580 88509558 74061384 301088442 894926928 130294056 376818238 505344892 49323582 864834858 129191574 102198594 318567026 972167854 976430876 699645056 223270758 497668010 373500036 869048186 970122770 817605362 155659400 4221362 121267468 86903040 365268520 979788114 708240650 802931982 996641184 242297588 884028726 730238910 472966296 121679486 169730824 701038220 399246410 783096032 154088962 620251256 621843424 61797754 96069068 641413984 253524252 276830590 790951972 557656280 762815746 780656114 993191630 352597282 68996790 958776742 421216554 921477780 330350942 584267586 841601072 467060958 601355842 823985660 744086836 255902 516320478 970867662 53174588 987306698 288317630 248970758 359394970 920889184 620558100 122400424 752670632 917499408 156128634 252633450 409024244 504826336 633575096 2214924 537092482 999199828 379455530 493290204 684203898 412698920 459279128 814076366 771289148 793402726 506702986 261374490 483595114 264442658 218128638 136612184 350776294 278332456 586226270 842834216 900579124 570393312 755681786 889132374 988960748 171471664 384996040 364765986 335656970 212512492 172180332 895857922 739127738 732260856 560600296 170747452 75261156 120662104 796214372 949329256 171603008 146738126 993610792 243015884 357096364 931002564 523263422 569709372 58284184 421779368 726048450 888666798 217149272 861681308 644030250 692543244 673134948 889353612 904211172 501888430 811529026 189373962 811486402 637085218 483059686 214722212 397877686 616072662 763830380 752411936 422839912 60982838 476909500 238380434 256234064 136178806 858608156 879571284 385453644 977990724 861710500 545357016 478365312 75075284 478309412 957624220 78073816 660000422 382511820 715493338 416192182 104999046 374034620 305926808 281057946 847006184 970556968 891098904 322552578 570687722 575174928 6223300 657036390 318312066 713174352 828194616 632674286 597527814 409787024 155829562 910392524 374225342 585079788 598701636 363435402 528259892 704253408 45269976 854977800 364047714 389836586 230725458 182876068 360244506 254443810 145732164 525925430 257793592 448486730 881295840 386083880 150651094 988017416 422299916 670675424 493642140 207492744 280500498 891859970 968939872 65521176 192169874 775900470 34223098 861685354 200074524 343484044 257960400 901283268 328210164 911001892 220774608 476674196 204165376 349425376 142282396 394021364 32109134 429866770 623668446 267234624 350151460 385616502 854764816 961361184 294946516 2165204 646543478 29211904 939700588 815358582 430155148 287278662 940949780 416713694 961647036 807575098 366758762 67840986 72305760 532100760 481568466 420323166 567898156 619531958 787988622 660301042 470050844 676787986 873062370 688295160 144833478 570504496 355386174 33696262 893282122 973808652 839231492 296649754 843873774 526145082 630813706 310940260 249581622 422962574 821188058 82543858 764536564 146647706 708077648 105108178 863548832 751308858 404940734 900860312 69684866 875331372 87283158 659979440 408450628 375362398 823797898 500871600 527658088 509661864 995596404 860118290 794595610 639844432 173143866 965660704 501798414 513746182 11257040 244243768 73040768 256615660 910791580 295327200 611765222 7128106 386300794 580798914 681033440 777414148 969231024 835140434 569295060 43685002 446836024 196392932 513374290 291715232 19672300 694246728 761797658 619663448 902923236 813459132 814940918 922470306 67637928 677462524 958726392 1933478 786397984 456144968 396121766 917998740 461434260 658940166 309090934 13900626 774513532 674558820 845706446 185207846 723723384 122443264 706337060 718861564 604367676 593071756 627691730 922174790 721436616 599001218 840297900 989626318 757337506 384474750 885165512 975225852 295081260 919925092 120189600 39995730 515175954 640291066 732031492 616623212 316521434 16267582 593016494 617455532 461297388 222947966 400387130 43113370 583360406 991515572 378803994 237044582 922533010 25407024 587728538 313199158 670883232 577994362 106990932 209034182 402006140 970883836 847115738 526046054 613954218 216898434 522840176 245982804 448351882 777087088 143506198 943830968 662817614 879521990 628229662 116237386 597407230 569847670 603675532 17051574 671909896 858322124 788257248 849193164 982890188 407810820 909367184 423815048 689929504 63515828 750862116 801265786 965075732 393267338 165750788 366096122 279603268 79398874 551700550 774601438 967838976 245884952 105708662 817365230 108914210 28046338 792525112 310472998 264064888 35241696 448112692 182906906 939258642 330767410 180505664 73907398 631479852 752415314 709251588 897715958 3501558 116303360 817553452 97722450 341329934 86535138 207210134 126130604 318110172 473931740 471397712 953812386 59245128 114541696 226655672 612227820 776353920 267702630 601873806 853005166 686219340 169135836 702343206 161645696 688614978 371399432 636163102 517103302 579346544 775396534 303610362 445942814 410988660 328693622 859753884 539449494 947681976 210218868 124244102 888317848 912545666 550033970 649965854 735454270 92794268 784079658 476406232 456341856 768506018 111764646 824414264 846241064 182128354 163459538 626708562 668239134 202449118 100510428 385792324 14339884 544897126 10007374 611605536 535308130 255941190 443197362 367414644 722486424 367137404 616295028 142927870 670751534 954997076 920081018 469184972 28981840 940588988 293714624 769300198 775933080 540433116 457216574 835245166 364208618 525234848 739694428 839999148 859413846 236932654 800723224 81096690 994560416 207024084 303600892 109435576 187694682 191918270 950697426 194496004 513066540 325836194 981229588 658630378 368344438 439374594 369265580 230909382 299195998 599998446 64389158 318230094 987202 523205956 142656064 160139868 69162746 170396942 168274452 815591938 760169158 202956482 149815202 254492284 306455394 854308522 61986344 455233712 776270126 507465518 127735888 390601440 435141654 178898062 802376274 310096044 463077492 566422528 707775216 104357304 101603070 21167320 620418756 837483466 290771170 592643332 168659180 192442126 972484470 839407872 333718900 787788922 323867990 120691896 754171774 99238164 297222012 906326280 141047936 640604060 909969640 935737024 360741544 892777592 456512382 598294894 280167148 57849766 980363482 175570530 969738584 933566232 952021372 491560970 609089646 556934118 298264062 906259178 240213530 734415910 29535370 764789932 383553582 577024118 633016610 226143824 199376428 395953430 92766874 314506936 775720702 214101122 170737042 997036988 994801266 657913332 356695022 948811630 299040964 288947776 324379698 5968284 390486678 49171594 728523520 294345724 693527596 585095832 457037808 3617470 875104838 347850104 446716948 643699394 161828880 941124426 479305342 855727134 241489662 659038542 283963960 899695978 798000698 812162196 660020768 330485460 523886572 14459122 881436854 908027856 774484758 901935250 751703558 994335834 805026102 97613894 75608046 44971772 732507080 662448312 259355998 434834938 887376542 53525710 541378290 962716514 684724292 236117348 302939084 291662622 340367106 197193298 586253600 882242874 522146524 604136480 60896416 887359872 215981406 185233634 768408468 627552432 831395310 970862650 726595070 876078868 294137038 151004398 707852484 176236844 298111726 989341918 886739202 82485586 673220888 510597904 472316800 265620600 951368824 686495762 468309132 600685004 997460660 586229570 109282458 153766378 723846768 649900864 831376898 885458464 231229970 44749858 649771082 284530312 879244168 257872620 377068568 116847976 876788078 828179886 485015688 322831358 436831524 12086680 32130080 888976546 326053522 132681270 586601840 462710080 632077822 102905224 418049960 972594324 396927098 69669904 626094932 993664406 161224460 853827588 71195840 802914752 308131990 813244354 77598134 517431630 38199168 653572752 532117120 919260678 658306918 435237434 853879740 502033230 820932214 222281866 907761008 272553888 132942916 221363528 654242168 407675854 293697400 145856130 16601862 309109942 122825466 590825720 873442268 443897970 369676616 828660672 79314820 839405536 307225850 859871658 69068868 370060026 630907462 759607298 508947546 275356384 479020838 746508574 750035662 967291924 722184798 48601510 690016884 668256644 71175190 294923068 579206672 932950854 419004556 192611106 610166448 288451414 63184928 671352160 7395796 922482442 558087066 198481486 479478094 993055400 636418586 967010306 739388414 1312234 755723202 658099258 781819824 902749674 597576410 855924376 504576328 792436040 913380900 763330504 904605076 325412860 692997134 48526084 616527908 615099188 158240842 78853424 427148860 85515512 96533072 169355774 63867400 628940590 13258458 267246028 314962814 758393498 441483198 113799390 154028160 815608250 646583588 882535670 942598708 814941116 302045050 990752686 807533596 924784430 828484104 38257448 301141448 377460746 257983936 73351640 550267810 31715290 423269112 744024774 28520804 754515152 857774902 216922886 446985836 366238228 375521346 508172330 794737440 302131208 13824742 569221952 413391602 525836744 198274300 437063722 597424598 228895386 641788910 204845788 311712368 916459932 148181242 639162388 847912762 275247620 598124368 797130972 200374864 726340124 492001052 514966032 484619206 144495562 471173390 570526598 203195382 329821438 279914992 657813058 225906652 189694078 345174756 90165570 599156008 97363386 909687544 148866274 136655428 60595438 71329512 734349980 611597632 407223718 96128588 935257428 139517760 556086168 833570492 814958962 514881876 881978360 747274162 16308248 255232498 354051962 874910016 879718432 93014132 545968034 191061950 396052656 88939074 234024104 603248186 21058374 933694932 676975348 880220360 525152640 986817304 894272052 467195420 107571266 603616384 719694144 827070048 23397712 856480546 755593550 257380708 615107188 188741558 663316880 557927672 50600620 386057098 960715870 497185766 938662180 895801752 55420238 83935290 802283088 230977466 167326078 646851378 998774214 717773300 681901816 895950898 200219350 591084730 725718058 857558798 316357042 7017030 42000146 775775024 731261372 181538252 391473896 864847614 558743540 413849722 885783296 563255868 640608452 917650818 725526804 969095248 691866310 567285732 985445098 868397054 734636072 756738588 829950452 503903712 547518056 623386902 59921776 26711858 697755686 117164934 168266672 895016770 522449006 471599386 68868374 736058294 954192822 163059170 136222714 604532110 355891252 467211752 581408024 457888750 597664956 963087624 804854688 384109698 73287724 690851318 251323030 611937832 781992136 88406402 561303352 702217708 775084568 283043510 522812762 716725440 450275172 584884224 755371200 794672352 630283680 982470248 804880306 922058212 329313370 264747386 154095200 694958974 242581620 44347810 45185118 896849086 121140736 625849580 650310714 238782566 281846752 205344534 867250952 277501408 684893226 960194 912867186 894626824 730994734 468530036 324314522 423357150 923524248 964479896 190357750 188406044 361730312 584189208 955705384 431382268 363920126 441985180 497454204 585897316 324906076 134535032 817552350 903130746 950177580 154289756 75557556 336952724 576756590 951047366 717815652 839017826 706263734 688620372 646609142 875895418 122412286 291880064 453991326 681269560 501912836 733909806 785099780 477480810 256520684 447537568 185197848 422551558 588136810 684985046 437185928 939747422 451800020 40926544 520213716 959177580 623077370 267224864 470090356 31214998 307372180 881718874 965676108 870027922 789363866 296009928 274685190 354952678 268767528 83960034 544424688 283148468 134966792 959580374 738345976 450064894 560565176 512668098 464949484 69207832 649965640 945931978 611287836 18356526 438199194 121792738 38146576 778658858 545945838 828347984 89690514 403187818 379450320 858330436 673836734 77928356 638757020 427428680 244270416 759170318 438277508 522774070 150843612 633026350 277544072 114521478 188175186 679705090 618884088 814645282 142870680 485609976 593021736 87742230 846345808 953575348 920259640 407127514 769948198 853881826 308961040 432686490 559376366 860263536 300468484 749712420 401845514 436662442 154911570 463288484 58551066 850573042 758795494 428960154 434673748 508296568 312643632 240694442 108834022 327177426 897924612 264783912 312401010 895567302 892611490 125075746 236137252 39972584 955816396 484901740 189239186 644185156 980754634 63450878 41451266 370661700 156917428 662294540 240497316 764739544 164076382 538426412 665269844 480060018 177028818 80516782 587595892 525015198 728370384 446473438 113337810 918356718 487792642 83395848 247381344 805696102 250738892 449159376 765675158 457137200 730403330 49194714 292443128 231141970 725445266 503082130 771217328 387154720 690289112 323640350 804721460 441307892 137864380 7740056 244460726 852523482 781818442 926719122 423087800 456502826 113114812 915565470 358954762 998961114 284781126 471828132 391868146 54041174 731057038 73257982 869861396 724698260 883741344 203649582 425243216 758901254 590175264 959431444 487982758 935015000 177590126 998901396 27348336 378769426 969580302 595723348 478776464 469586004 160046240 596382840 342455038 370161004 683609792 257969546 198512848 20212108 434628336 681012668 610677718 90538896 226899096 813723290 933031106 830233974 645481436 743967640 441192202 313034446 488435060 49178320 295657008 531281958 950742006 139404926 29007306 355268434 792093474 524115240 246538154 756822222 95122914 958142714 239659004 147695064 760160408 439410626 199956312 486734480 574019766 304108042 953462980 444350726 741242002 377347602 526912500 763193610 424652136 869064460 929587836 738179170 581993172 915071730 152731622 840891956 961130570 457225442 462241508 778862026 335453602 216513106 638020826 811156970 556604218 683210108 208576446 523057418 880176720 351754430 479594494 234717844 76413290 327485332 475534476 881920572 80474948 878305312 743678004 114523368 873323826 132984848 474465986 523438440 79892740 766519762 75049952 832694104 500627248 812615168 151480350 642706446 942196650 421562744 644044348 710028956 984154846 628439038 246206460 328699860 21455596 815104086 522131284 73555938 65709568 824788730 291106854 378474960 770165980 793599652 712646428 487598638 252412614 894609726 565001968 12525890 396737942 95703938 654363152 240241062 731281380 102153776 932403652 421134502 920501982 360400268 231232532 574752982 51427132 170710678 990599124 744055194 581712566 836438766 38051672 390399584 670723806 29673170 940280138 644465416 60606666 870411776 452699982 141624228 580528628 381549504 963804144 243296692 379319818 568676768 703928366 53697506 682406040 854915166 787747476 83815408 362065130 238155686 535354680 79210684 405958616 26546032 792447514 704094880 378220108 254336576 632357128 359978798 854528278 380956802 190338262 860319860 107631896 638719022 316907690 231927906 131686866 602607974 113148572 458073756 445244838 620872370 682963418 438658574 442867626 17014684 971650058 24595292 907685022 156739958 249870886 173132156 964011838 207094144 893750828 432792432 761340410 276355568 861479228 483358870 81354162 615016462 305951104 884826928 802753986 965458186 660614534 610894098 654140278 394111812 533941702 695418580 638338080 659980186 410135834 449607958 521784824 550140570 667501382 556291160 536561610 56071818 714161004 134853012 915525110 168908062 212330662 603921014 120424300 399821116 908567648 889769808 450886896 277885122 385622044 768337760 52855646 742554350 956995538 730270808 789188510 277588866 736121724 447563610 480196060 479221686 509769340 854635032 122398230 133011162 963089026 753763480 954580766 618218252 150775902 121279392 600240336 209667558 204530042 471004066 554515544 376836188 223785768 204431736 75414384 120506206 840334380 647864126 114490738 421426308 346927130 23975290 498455358 740752470 653062240 153309926 167924198 541220162 220018126 344142320 294324920 384697990 938170970 920134990 769831540 11188230 157179198 36317152 466785482 699951136 669387544 828585828 950620508 258058372 13176844 267002354 821620830 220423500 558776216 777552130 213657858 549721322 206286988 884573672 166733410 382255492 431077900 184528932 730642468 345409128 742294132 138742428 123754116 261130138 738494584 204125772 531893158 992600226 747659364 407812244 599804506 694268962 901089970 918538416 288121408 594458942 655316058 260267616 146346540 648912026 327013368 456543414 491787512 86364920 741693694 405511876 937254168 434195276 493349122 885220318 593513928 80287118 852008228 336154342 813623004 351080048 959362488 467690872 594066080 657934624 632439190 540961686 297549584 680106772 203392812 292459190 708399386 307783278 619899924 720436788 612060300 564092800 282883944 347108528 485232888 736674626 487821814 561894150 446147694 588809646 287747340 741757680 225311822 828520752 344776688 964022782 430983936 739612826 473985456 107070354 79996302 103466724 237836078 379784008 928080354 859889484 382153534 805839718 790672622 65626534 261700650 347775070 214264566 231249522 215359502 450470398 724937026 236740652 512733974 417564992 960279610 810151546 756366458 672384424 81844382 199541708 741263650 750255858 22037278 503599120 643731658 359067464 85987004 64634718 430293914 410676216 140565106 154650982 49213704 881881954 908695140 518185102 361853218 231624904 508654268 361609428 330131866 234327956 590548016 131368076 189166458 965807094 721303198 374001272 291792482 587866952 617719028 556401568 86573434 954294824 453599886 325310408 315608252 692375452 577638064 125132990 696754762 756445110 162214522 323692378 182823114 9833896 987229054 140277254 889046692 345658438 368245222 707124674 941475796 3275060 377615072 23600516 110691592 461506864 702006180 172696520 393056788 779279768 212203290 36682386 304001128 492731508 572496276 685072998 813054996 879200912 367930206 693266712 693280162 695738560 340746148 242222322 376736302 506733026 518662776 845396918 777560078 702330096 114991584 59172596 525495488 263072916 442967380 810689960 706979880 867256906 654369740 618949746 51628996 9619748 430843018 568813208 345516770 823269730 505054720 584747752 810436176 634350648 275313732 706294516 37109226 540256638 686984238 554070308 598069778 83632816 979402664 976934424 284940854 791249482 450230880 718837412 536486896 582714396 199831420 501803232 329091082 617338744 367988056 84679148 762650024 522194974 405163028 296493418 962133940 708239594 691414804 749030652 699042586 912592536 687268622 394150804 809411642 737564876 809825724 738788644 249976704 550466600 509088550 788229366 112215380 494791192 978802964 416124444 578985976 864011224 293878924 372995774 114590346 42073490 301509304 342068954 759630892 908595432 537697732 807641544 463986392 772167468 487882406 800678296 200718180 835402082 814588530 347985516 174029176 989242102 235196512 40430232 758281476 772681622 241217452 39195878 226418430 648873430 786309218 782606514 294115816 800145522 234147112 124414752 840278432 179766826 198428920 105419034 185897156 765989998 784912576 988541830 664013252 563377306 27920648 32085230 178784452 700663594 424069570 858351116 513937616 908771290 770740674 859531938 189231998 305534176 565741088 998419266 371211162 5020072 303312110 356406094 92994310 856087284 282010906 757114412 761368128 512835862 565142604 467746528 929962834 929294208 778852678 371594788 477824274 350403364 48148426 975104908 664097192 503809998 847128198 115065396 572032042 556305384 612144464 881419454 408504976 577045100 198824332 278624044 66915152 694360074 143459676 344011392 611264116 400170572 985323962 738905770 141427014 441767472 38979514 795821262 849666518 325900368 246159146 614255396 615437064 50174536 720756210 753915076 648406980 263488116 539173412 962600390 872570566 129321226 135454784 141215290 641494680 410316556 873071972 327738042 147611572 784082806 103779958 809586384 512485126 524299606 379167088 681644890 997452584 448874424 888007058 353189240 962825072 433582828 800648382 929873686 856260924 107517108 326116558 711718274 309943000 588566780 513759946 426336606 384003356 247531370 913489806 492224210 494713356 61475324 889431326 503787134 528614354 68412830 61779012 250365074 282745006 669264306 771937220 706609638 309663016 848902138 624730212 828916982 48672050 911584530 266133176 494554182 80914684 261033754 813323352 936923842 414272024 249468210 476425146 53427910 214386896 71167282 995031016 460402932 899664172 400398960 875893792 254183188 568158794 302277772 953983548 525096220 476880130 670683924 735557526 358536760 930971560 921531762 424900226 197363814 485325588 462035080 556279914 628142464 910407620 699254698 314684902 835062816 318332628 486404790 252289562 983122044 627398836 364341552 763116380 383676214 46379758 46948318 207490472 52429926 405151500 968437358 232304434 113473514 879377184 682409576 266774752 488854478 573133762 910330918 787082238 946745240 52847842 248404978 793714712 492348280 461308888 551962260 142809760 157042644 603855054 958012774 334417856 765581762 514108698 850079876 69804150 556160194 64335894 376283140 589583180 827848844 162741566 94533276 528709188 603845806 948027194 488105018 18306010 434772770 578033024 264557264 982133114 443071908 119710768 813803272 722935678 660045694 673736196 603513560 213092496 104117136 489096106 759835432 100881074 327092772 79923386 648891640 776407986 873739134 159705036 368018828 600849714 629824588 110659956 237038400 642546578 522924046 441772082 301659540 245409886 523119690 425871584 787309348 410494118 310007058 94763714 34580802 57250494 997724064 711245458 738296754 327875250 546750922 390180264 662710380 9931734 115276292 68597840 822317688 947234280 945525682 116671536 861396064 962704728 176332590 542399266 298577414 608731892 238015554 783362632 302412284 223455064 576407016 396571660 445512984 777114296 757948446 390055638 69296940 946474304 412292722 104491602 917012998 171304230 360056322 608899052 944830894 902834008 183098736 492954900 844263972 859440144 695663270 982939376 987819568 613246080 601274470 880089584 507417378 897703814 64889388 307808772 367674316 779967384 462534868 611021474 603256076 341536632 636910440 903471800 739952122 470973452 891649362 261002624 194503402 942489174 653398326 273448432 136393904 727322010 522600056 148649586 905706582 494857732 134705786 822995372 842645722 842674780 318969780 457576970 50460460 722452446 907051374 861786332 612411594 946853296 195250612 876804272 362736080 557672430 541962374 924676432 156657128 705850574 205032490 957254378 700489630 628518282 84079670 182251628 512164626 798749586 205783004 886277376 236825290 942353740 108526124 585850818 948390440 297256558 995134952 474005242 186735438 804565032 445189502 21418196 165541368 911158876 67235486 632665138 238329342 152664820 206191240 457538032 258493030 210529686 645502788 949411746 433757332 810934268 262356368 435014294 471927482 234378902 687672342 456301778 769082310 411697506 909484478 877962534 38495178 338385354 444138126 965410240 577531562 216402988 437878340 272969106 128327130 582109298 592446082 662917014 431741668 631152212 292269912 952755442 776167118 943741182 862202532 660742556 95790576 482815610 955238378 976366380 114046802 975103554 758688336 362450624 435604056 151098460 31889508 596319692 165255018 680253840 578226282 135603962 535984924 679618708 98030224 72509402 254479752 434077394 966176328 943034352 624295458 502747962 136511696 367323906 562334532 950540008 712137448 827215780 839086968 168538808 546874692 110750998 545932930 101519362 996906064 943392448 914255954 160893252 546417832 692718274 349583760 117301932 710386808 987688200 170790502 129174186 38319902 224042920 195628176 53965280 99406328 104205122 359870742 124290458 343005454 122898648 512573784 556033046 857781282 549112558 120449960 30613262 971987430 392428752 657130000 691248180 996493372 798503508 862227326 771002612 53008316 685952214 542419806 780397054 459800306 766917072 861526034 970177426 359976018 472225776 957776998 298043048 434144100 68386124 385446532 89628126 968404650 976745144 588661608 212024706 237367430 414580620 238765612 842337384 549371374 556984618 438428610 735683842 221389012 104198972 674576130 326043324 511215248 726852774 37158508 13482768 175013890 68072938 547376262 350053468 30606912 987700790 730159148 744645162 115963268 198984872 193669314 358945252 638106256 769564384 877737336 822651280 221759000 279368754 385728006 522262758 51422924 14642848 384474630 758473222 525588190 202005286 558602464 175215172 329197496 336217194 525743294 712849062 666661340 236648520 875481430 321279506 694249716 902936694 361351322 252427976 899258174 787298740 72130718 385587758 812035858 728260320 801999562 740226646 284267510 769777496 819418928 602683560 609718372 551306932 744991042 427309344 907947562 765691260 790320584 146874584 428726522 563949356 903599534 530756348 764053378 109931798 410759428 992660212 786236918 729671720 541312478 318964820 508297364 132628096 14321030 47955904 61037934 755737480 65892144 996191380 188192062 935216056 663085304 895423738 532594918 720907398 615610564 696550186 835037664 514424038 891851006 558079422 533702596 630793200 628000588 668545470 609257274 168334106 823840712 810864614 761957422 216956322 189637386 516013874 524914812 831282354 222746598 190854114 931242150 933195490 964674018 608734642 290346976 516498162 714521778 664333384 462676888 195933852 332015720 809419332 116843614 818540720 475462448 695715238 831650038 225662210 422618488 229461822 189841368 515317764 929667794 733453192 652457612 944007322 714445746 611364474 701601140 721182170 180094716 772109944 992622166 919227154 375379554 462651412 827474126 826230460 817218888 343767564 352574174 488268152 352327096 111555456 301696286 72623756 951924994 745044002 641629700 918957410 646630530 634463030 898007868 261285058 254826460 593504792 416192068 277123788 455421342 36868052 730393134 883205814 608284712 202302868 404690964 112616330 444784626 417437336 879689986 133816142 505346352 680413578 424975362 32569302 708122980 777148486 762511346 799199820 58587966 797019578 913428886 159715902 56149534 40839948 353091026 990421858 210146152 571314674 345424514 78665006 357225200 374481530 330227422 410380800 506869770 421398450 265824574 121420806 674468274 718107036 685473110 400831148 565510970 870481746 168004006 108727638 200697752 234175520 199510902 256470054 475725734 480843400 669736308 261299566 357658284 12650212 668842328 260710448 535041556 569761954 233650666 828365656 743698032 650981660 570907578 918168804 272299398 323661128 183416064 739348340 436046124 600632280 576536020 339052436 247828792 89846278 516861348 984223240 525106152 153496226 388475882 175717882 650608634 412014450 491956042 876499836 92429462 48639720 17157344 632132594 682745276 740793270 505934712 902590556 905505476 242720384 843750034 539394808 12385704 415576412 697371966 730803640 397822628 51758210 273154854 817348800 246394966 613672152 360215110 135251092 268988582 453282822 703125536 156406946 975208262 22318046 591903518 529386668 80075658 62066442 526975914 710748678 231886340 841132368 855371074 904094204 188210666 98260412 100367198 500328898 222737422 440290726 572107852 157772328 224352392 793837780 799383410 787802168 932107700 826606186 609863826 921550564 207838014 196108162 867828476 171028088 770479742 567141300 907211928 278929108 272300182 46810720 34430824 477081748 638013920 511003726 184905096 568161116 549250358 700010156 261953892 457789962 697713404 412835938 443688300 608280300 895885878 934763572 885589318 479966140 346514100 29117720 724689504 288164728 630800648 880451442 192906434 964655914 931011982 242537666 539319270 123666690 227116200 756726156 758104436 466291518 267873532 493747254 763744612 708781174 983410214 89426208 661785474 441518544 226514486 419979756 773835846 196302352 179515316 602294306 789566782 741511332 125535830 914634632 34947860 51956240 810769456 778520796 807395474 241737730 247296594 304520766 445361958 610544396 469442126 222549798 658769822 908042634 615781752 497923904 50378922 236768348 922267438 412030256 62002758 261265324 74413742 916315538 183784758 26970318 177035826 560639642 65363804 10934312 422746214 599527602 846925048 94428096 374543118 109541210 707927944 743446594 894354670 624769478 715950518 208914944 651450622 435711678 952342050 110393656 256906348 590246998 31224252 11250808 562886860 335113084 690503386 622480590 902491918 144716426 886246198 703326264 712417354 338526048 901666844 638545102 219315544 19250044 258873308 986226182 226759290 868638558 90366828 504455054 769475642 419514228 631260282 616514876 715730874 209513520 66106542 575819546 864113930 51135208 359606838 217798820 464696686 992076346 803887050 344886928 472511252 533392250 628854466 861515454 844808784 429163604 640774036 940172184 142175608 15201932 456277444 960504366 183012786 557299082 709879920 537786690 307819426 403823250 754479198 614100978 610715194 661317258 879793810 224889292 14143950 440668510 417759982 360197646 795094554 807837250 230607480 859658910 128010340 962955636 238110534 56935794 830474544 935583776 661046144 643233608 76239916 954513314 42968414 962962366 953346316 827925542 771839702 225590766 473251316 268540908 196342906 261541944 460393898 733643138 771721194 303844026 7023230 167065444 412032776 489375350 805427596 89984516 826711144 601312418 898502824 211441196 681046078 496863908 868359590 665493658 380117882 137875090 550751054 937803822 382842062 247908528 101760100 604704234 476225376 692217606 982186322 97533196 476021678 133945026 494468150 467913880 397110556 408747568 598067254 403438950 788072990 249961296 839849696 782104300 303971036 763655642 375167746 177597260 912025894 150248156 443516250 577086680 859190456 580866582 934882900 684019370 437233348 564392568 391805724 951804712 697984410 379321106 844772238 224022338 237401268 713086856 849679844 848340218 148754046 935036914 275322372 59786400 994872522 863547850 841970670 653517350 437865310 279248312 255782712 137389290 774200546 15483684 118537504 132668186 863122444 324244892 23615026 501442894 483937400 423199032 103469500 959591976 603513334 732804258 68784164 49251116 53090278 399896536 609848866 353823490 762015214 585910882 384068552 848945546 437193236 294050632 754121082 903404804 876053222 349615186 814807512 283255722 506228178 105121852 776600664 125956378 280394460 355102918 919464786 212117470 708917642 458390592 203355766 424310402 629690234 42974860 512583760 714489588 956373130 298387952 703398218 218459196 551851212 583037848 393521082 495333348 706557360 752430030 583266906 164123518 622418242 622138386 599611368 524093726 291125292 106146790 127334934 44354450 894030330 605430538 85890628 905495366 2135000 249379088 538580588 381110102 966354620 763106024 226910636 235663506 503988780 298127668 693537274 78124812 421326680 975417328 646124956 241636406 639369848 7063646 245196768 421295968 376505076 356073796 519066302 583780558 885394272 897739852 72854728 243155506 873640532 383257286 272798502 814898916 301495968 958533296 92722994 498749076 171142840 485686776 145536266 909723906 626141722 5273400 66194460 316167332 105188560 257788428 565283050 757368828 852277652 280969318 834693066 663939752 833234896 965734430 804827586 511989622 801583102 869381640 819031764 715515370 370932796 445744440 872220108 139060400 746055558 304544044 30518552 90575804 119496840 497731344 177201364 160105820 311978384 419435160 859989118 510464030 568787530 39500582 476729260 947837602 574554580 428176648 802976454 245291996 449971652 601030904 220822808 56682330 584811016 10987172 339817614 555827204 735691060 438974272 276220452 699127264 723929860 599356826 359417350 836206760 932785778 752571100 479651800 131613658 909249956 283425698 539640152 939321366 837128784 351145816 577413928 419871976 293344970 502464646 745148872 465048006 305502790 506326908 618925576 376545184 310708366 890927298 918822944 668626838 749182958 203603012 131608952 545475778 972807322 151260152 325369448 237431426 741892958 210437612 404469816 594853436 947977622 178833608 604186084 662244704 255604614 822368060 583560384 205604868 105414430 646073558 852192476 973960032 706894186 761191058 16537638 431045520 842284422 867059588 527872162 177181778 217441092 379049388 550740864 827348534 5163638 657097958 977603648 188595736 714210580 419847024 983742240 131323528 38696568 185455994 850801252 995168106 841088964 633215608 247804600 813094252 700380156 48850074 193662056 937363954 230704788 643711040 492343170 826869510 948470986 84407582 390334452 790221976 669521508 702594978 17814438 776970420 226336916 649132278 674297374 724354692 91197202 458858252 789707722 998260452 171983466 908396798 671239686 431012676 985498486 299448918 816641976 803582362 541239014 383119420 919829944 218228432 919505406 842378320 511650950 12638768 67834760 514969006 684559816 668556494 882894142 271398194 77628540 625054420 164403416 277663214 52962176 657946656 219831134 926793498 478304498 127307796 752795392 477580056 219456054 632772200 592160828 595317934 235790818 269746354 391664176 396539520 932692024 200601002 325458070 747323536 609516366 601210606 922370318 753774036 525922100 116685684 998319298 181675224 298759400 924998178 397642976 558364540 360703046 324487296 318291358 457867172 863543892 4831932 678447694 721954378 109468354 875531324 608153056 562513436 717523548 664905474 746387210 520289686 943100450 529828778 290216804 846529086 854272422 739805218 515867338 631064232 264648274 813614930 64895936 966124588 701452950 729255096 179010210 510183462 674457948 379455252 588406986 530672484 825255172 861200682 837803902 445070668 233980954 568418330 540066222 192007666 527318212 233309476 994297630 121844184 508060704 530397808 84702228 679077886 806716214 364415102 550854392 615849280 357977044 554523060 530146508 763485226 277973090 75836222 150967646 240370884 521010762 802851378 564720156 804305844 232164974 568662934 759530378 963483704 694808156 872033858 144461196 702246786 636373680 437926962 943510218 633110746 873138070 774931116 671730440 7722398 779924966 622623876 459145298 243758068 729639568 738253444 205871174 249700392 104529952 965154276 759418594 729195334 526954044 270055138 196266406 666988180 555743072 808875484 505881688 594962148 106319286 86402770 425777386 581000680 668472526 603366096 837358428 667109248 634546334 881424348 683482274 162540924 743656892 342741960 284217872 283846630 913894616 41091576 749586062 761607448 422987610 83274358 396169562 847082410 555973896 930246308 213201436 629068900 679209462 968417970 926359776 780272116 992807206 183218892 473894712 435926152 951821094 168252378 769577286 358742522 789998620 496767866 896764456 24990866 29089650 206771380 349657138 54470848 63917414 270547212 31796306 159627000 141105938 901747588 242586350 527642286 418370190 209078584 381898088 264148710 528944026 514764090 520830238 615161524 929628070 533293530 865555112 479245172 441525132 78295336 761948216 771228660 552090158 63313272 10951826 959134920 222480670 300537510 363083676 292007390 153298320 685946142 220203400 675388198 944917430 687937570 548151344 446822522 245090216 578454706 123521092 786411462 960344206 117534034 980257230 735394880 655588072 62081828 905437288 998911800 183859948 891560164 168741414 151103914 56974578 37050330 296565082 966916972 275512356 808697640 580430150 458079826 709877220 499026508 96922018 188941924 989578812 958039872 647436230 766212342 241023252 352647448 580608242 575128968 928529138 557520754 558758288 394897898 678934178 112642226 253315718 749189150 473400878 140865304 133173010 714051268 734918194 432623896 625160976 520515162 572269012 979396786 262471542 743790518 828726402 135557022 238882630 34705714 1007326 83895678 742825958 996523312 991143378 696917496 115333398 363679238 113332050 325898636 851088016 254013094 166097330 963265950 735412184 515917588 713982868 213316552 821208738 623838880 488015244 664208522 697104154 37769772 469305268 224882978 188099578 39544036 991752886 503372444 291273976 179803790 732077502 982760076 684742666 749540200 678655048 544530116 292413692 9717414 250215740 465358916 553006500 38932432 953289910 19505800 372973604 283448146 718749160 385729278 305650376 310619752 324285342 309981022 196540934 74545476 369175628 706766780 595675012 184945128 740600698 306683446 694105954 332870860 351333216 64196306 519714832 632270750 783637396 458266894 383925150 436433944 417278366 827143798 453489250 55982414 29642216 70356404 202270118 357082268 399888242 814046966 113225600 726518558 668805680 27751724 922391962 512499546 19566196 851160654 829719030 151254456 564144034 732824038 832662438 128944750 239265026 182803286 248849380 582278548 435190738 591216744 859054484 602252572 164547906 293672120 429750432 539280546 722116512 982939674 888648882 396004294 897459874 842733940 758166514 692506510 965045448 865013370 743798944 672541998 805738382 61116028 95843700 249606170 249186038 338932174 744406328 922306110 383574852 166397892 48925482 911032906 978173922 17910502 739714598 242561462 781330082 167480424 729206454 307938662 44642598 557266262 586118580 888907032 848326128 386695402 552258746 24175158 135198120 957752176 33976158 323005312 473101990 876482868 754841494 214590480 245908182 111811576 635723420 287335158 399096882 727062112 39513222 527263344 314610296 238594306 932178966 76159962 576796906 542464790 279879354 289129940 657294346 433553280 509722832 590437016 727609710 183790600 577060518 791333304 444475104 147543502 259366122 983714318 426211532 151197778 660413794 880000150 805936760 571432536 606391340 48100156 471316462 443165048 791727084 103299114 452861162 440379398 113658230 900175554 818265274 954271134 937503356 67501770 160639652 398731538 31873494 591213342 255813810 424512922 441260090 515859588 312529922 158319130 724683368 951719826 179462766 57704030 718897562 334491812 714083328 874568096 188075210 156516472 5812046 624541778 597417362 127201048 13431054 560780988 300683346 20154188 426309554 990379782 932023142 976425584 929833364 431952104 594804650 826351688 628302064 627200740 871404594 951249194 208420952 360569104 19735818 21986496 506888908 998602522 101910228 424015860 114635006 857227360 60150010 730581644 426761888 980645216 556576214 316861142 72040276 50940800 935209260 377740288 654268860 357113780 199884382 987490318 352087668 412512354 852774234 665432958 683575656 594692872 475810094 951397108 242579970 33292990 422293986 853207056 103395492 786482388 365341850 219253946 515555406 559097590 377657920 564149428 743295980 545282444 423629210 795124034 419764080 450198424 639419890 678492158 4909234 110327174 229856868 40594978 92582214 621296228 216133000 605355172 913297640 502171710 920766372 848726018 320546226 670174052 171595762 732264542 548134750 494504452 655447412 618432032 903944660 910697736 263487124 750640808 163674864 875143712 521524792 931515888 566316594 410179150 679134090 220891058 686287364 498769780 917368818 747020262 566589308 788780870 693345158 329341036 632934734 974130440 685800418 237785584 408543542 162628416 994205270 731602124 897849642 901285040 910928996 933559638 938756118 380810192 193208708 736884356 317373050 518605080 344453664 142157496 236938774 429576706 185555628 219495728 984346456 148907164 662277986 916954258 712228656 217080610 763542760 380131984 254740884 229679680 875684118 221473376 592529176 877563822 842368648 489155262 104087970 117835898 369792980 716886444 851530126 503422946 851452562 209786492 597381282 365551484 739626896 492650406 985274778 654597512 384024306 359980954 273857542 789483660 841715728 38920492 712446548 16469382 506205996 993258234 403613448 962081588 956039904 453405468 374440020 540247830 827573586 541132112 586888534 23801408 394129902 421314238 632558132 735699656 909245800 926528280 415053030 65539222 47238280 515553936 271547972 720949964 769897634 975185966 414861088 785340272 68069476 441012554 429783964 89235882 287295752 395024468 155219744 797342704 558795830 83956414 571614022 255187000 502971436 696338944 645442676 313110470 432905346 896274194 133237458 173437612 106126156 15759738 171927784 606034438 299806306 427051650 685029744 844042318 635388978 784480862 162933178 894740764 850342606 151812414 402910220 272104690 998234392 13082200 826971812 296737710 417318288 390199748 2860010 355648072 454762192 197737902 500819332 908461940 568581374 107112348 706075148 398297260 402688774 9417650 244794942 19745304 419016086 751724662 210731302 283669642 949456164 117777256 291656616 158469334 356303598 616702620 375492372 955894334 235777664 802990620 181295936 189664748 176325724 197810228 269661300 663963852 553947480 897245346 981181024 824742570 924829828 907031326 195648306 190895476 82357458 712102682 652564294 978330424 704814986 282540762 673422096 888051450 915308744 554511542 344477700 275666466 736443208 49846066 687324324 922985588 738428592 636293486 431333658 240074306 771943784 517556960 611374226 601919672 710020880 987566404 83874796 394996670 243822888 827044576 909187278 805664366 912578018 675725668 728043706 431840194 718384398 146362208 587703590 911704472 95962702 234933492 862873850 525689680 337869396 906926044 332063344 952093540 24337028 824513056 25499328 79999682 119213330 81277974 65244084 483822340 817768090 979560202 783637842 460819410 388631588 314863060 702221230 484417476 200721230 397954032 242837244 875449828 571708304 599535556 367372886 949887828 932161290 707533874 710581102 922399790 497303418 597135208 999361284 82781240 395896346 717765320 609406786 591747758 432588094 55181494 521714644 964873234 225975464 848598442 805226792 130797576 237990502 147547138 172804884 893513930 409115912 94945096 758970848 750057968 341506152 3486096 50412864 980119364 629086996 326100982 794917134 908190170 636756958 835019916 174281474 532007932 378115944 671582396 316687556 824519482 49537594 534140134 160508588 382199520 521924830 441653900 501608122 644511462 539788128 997368650 23228568 630872022 180282770 663043716 175180328 257273952 623854608 712314996 490791928 535463566 961358120 627525402 513998436 937996234 725364950 887618194 736601466 868729336 104708168 562437724 505180008 758090900 308216322 70664308 959776740 773504004 197535154 965833534 736471860 367724404 977054208 144643774 364129376 154194818 535349472 576599196 841204302 685259756 518397198 774423226 52785040 48906770 512926558 465897284 725823380 771905908 190734824 121643240 981327838 432518612 824351650 761121092 927435794 785522470 480367130 787706168 829903586 40591836 34532478 606005320 795185080 316304070 249281600 333348724 696804940 590842600 557109936 134644704 825913764 732655820 393504400 56857512 344745814 489402116 271536052 208077210 177925502 256602198 155041808 322700120 553307676 948901124 460094852 358510186 626536460 127842192 541783908 466898522 41076492 978760882 976941998 81222194 65684578 684467046 770028568 746911866 236982434 277744898 342773316 571346474 823160656 71171762 105138100 183683016 472109106 331036390 851056086 21722954 649773186 995275982 291592572 606666376 630048688 459007920 789227950 801542902 806418902 667846790 760946454 681016614 236779464 190474424 51407024 374327268 587327226 182278292 884335552 304563924 493619558 430990130 75336870 859854772 678678746 239788976 262032924 577239282 626734860 518144316 752682904 761178130 14037930 585002274 782178164 285068992 990331628 900053470 394603972 199984994 758361096 228689968 850973392 79650136 133238936 696039566 952021346 525126570 82874534 748223592 213141640 310738652 366936040 426966306 250305460 792083974 203924880 369656682 510357578 839341386 212733128 309391778 163832050 185514166 775683452 49904222 285616028 846449798 473094884 361380560 169392080 547878318 161030782 738846862 553798380 760507772 745549810 596841974 296540886 544322118 77619756 138657000 864148692 489973834 775176866 914779130 437966144 635457382 630317160 27654370 881986200 402128312 843508614 968919598 160365834 26652852 966740714 225635522 66325576 598098870 783087642 610152424 404493574 21661908 744011954 706041446 254880072 855854098 596059794 541596040 759470300 831476308 66883382 429834948 541583022 730997180 511707084 36325222 779890274 818091848 736946330 198007674 498455598 117708482 178416000 858186830 612692420 704751654 3455082 108870454 480142136 228707980 789543106 286330166 209621234 401147294 646827072 862261182 63211648 241216836 264792898 8089374 77836654 744676472 499629322 752375876 605765440 577561022 880421602 803763418 198224462 556967434 454014070 553480096 39548362 457262366 450181616 328735538 677746934 874866442 804704890 132485816 806899466 881921174 182631560 90378236 478309588 760141066 229569696 799989738 473993028 233802124 130888814 405235888 829580198 656980074 939407780 606872530 139098578 606237156 752367060 326140606 960667448 139599250 917881672 502785766 863868102 144462354 786380818 204441646 121708536 45557598 936224364 997195098 582855676 122501024 627705332 24110158 394178256 712009652 256516142 163381930 694306498 845268084 660067182 940296238 294315864 839365468 593547766 492655066 847519544 373769158 36752334 884588106 792981888 760651488 620668614 974907600 958056688 181258744 212721944 448542208 934387248 673806960 634920884 324032746 803754710 975022152 134092178 850854504 990335478 275712428 958706078 953333142 55934912 25716434 485563616 352545898 674552476 957911598 737643142 291878124 310815110 761520236 491904292 884393042 413302108 632386630 202341990 315216030 602945826 782064540 533789164 665544082 514336142 158832318 354516720 606884014 428474920 67542014 632781606 627564286 19838540 535890534 520413064 510209898 711516282 215136984 625609170 120576186 292346940 452582064 262309032 365228914 57390960 83036912 369594934 51090422 432013590 7701300 323666664 269314200 636644418 688711144 948012858 7093966 524174852 610028980 453973620 796494462 457006930 365341594 856250758 171535532 332863400 708427074 799550576 569065278 317144580 416176612 108432674 241830652 691721720 885204714 156641394 354726238 832150770 501159558 100913516 389087110 521863646 14510992 133997252 271658204 704072144 907200024 136856844 805794014 889279932 400049762 886052780 553764722 843896864 463796296 551953644 544554414 148583928 603102812 217655340 93169370 493869502 752136382 875870064 409236992 329058386 504677558 239301298 29574558 116187890 87039902 947146302 653818392 67986886 582006746 199013870 828727152 807122570 935380496 463170736 733019856 631356590 516128552 111476954 94625260 282866608 458211526 340395216 337381938 822749078 667404562 846584400 118686360 490639420 713057116 993842682 832423804 129354820 434736972 778069378 310512628 925625476 811716228 797627092 187966250 188815784 665447426 231473364 601292992 666175094 190019160 685168824 592947596 143193486 117618952 976006198 399556814 731943428 365922624 831841412 364439374 538274098 470932706 563551650 761521592 511800232 757490854 301924662 550447390 5396106 785323872 290914908 534379518 940900644 916907076 454325904 79745752 160368634 694460154 297687426 998128900 325043672 405700312 529990790 908001082 70780682 126160598 859254820 67111738 114406276 687032180 543950718 323501316 643094458 933537438 627376346 298747450 103973838 885561788 671783478 735152656 186180284 445756478 531841302 857859528 746339112 13792966 690564778 608715804 616758588 275788818 256426226 850578410 468714426 862368346 208153518 530645020 936478404 956534388 71716944 168154646 925495412 39142260 75363746 334357662 382437446 623304468 508638228 155792556 540436564 325921712 290456306 328781324 297448676 53178238 502493524 103336252 145861160 977947794 658596136 128001078 807988364 994780332 845084784 30109568 34846984 970649984 10957582 371750458 350204316 291156702 277553952 3188502 352070682 590914142 479268498 962703756 811140788 609482894 331925118 610565342 730041410 484019316 399424682 763950830 567121996 557899106 878738088 219517050 398097634 269670210 174056088 553877074 782895406 960015736 855043408 653845136 50877956 865687724 994067738 34139690 240100766 843697676 93241078 875015262 756331482 52080330 557885654 980351970 96201004 96363572 160411700 723763696 706709032 381295574 700296574 83406688 270027774 507807598 327223294 662436122 690213328 282754710 358197602 692914492 65658548 556834190 943863562 987098544 636513760 691697170 414708040 779794510 892499416 896826636 657461008 760877988 85228672 89440404 36506752 347441472 521099362 118089596 98026542 674613500 277484706 853307064 238893236 526584408 696587672 696802068 179719290 899853318 32942388 980787104 891674732 620169852 854213094 794530960 571805554 249579220 961145862 557903612 180587492 742595184 303484202 918724250 91561626 337069454 218089670 501200908 136137912 209398576 273172280 769021874 644015656 570282592 108516532 969263506 795461342 524278252 849492882 146343896 613583416 577530958 550083810 662533648 420026988 935761112 398670488 553036850 333390274 395522832 101331400 139063446 458317818 467899420 339167684 837868692 554271652 592100724 202713760 330112342 892550212 692724692 927987470 699022552 701008236 229219632 609861200 247714966 235704820 508846710 403744874 353053892 440172628 637413018 60250660 65181440 261303278 472127630 102954192 592713476 580630688 448179808 272762878 332729810 25559932 723862530 776061782 497242468 885902338 281033012 932066514 726616790 95214462 842983164 986860328 337267978 164235046 308583646 951477378 624343614 19798698 422007708 359556448 722011262 875514170 642019362 484583358 649677366 614113198 888592414 100652450 689054334 798367918 867515490 347668206 618837302 15536562 505867400 722219414 141750874 312555174 198565658 424149430 285628486 75390482 928941788 19055520 791044890 914124222 637931084 645172618 134595908 588277976 832048420 469337448 745875232 440112442 756530054 27080086 749836814 219382670 731223958 286669382 649032670 812978690 812619898 477187934 109469110 802233772 970834304 267197672 433788272 901807790 306976550 66877174 400742898 599193594 451128408 361608696 872130296 624975316 342186704 683586394 499984102 120905500 885970 256886858 931923354 175126034 198263200 51932920 66126986 24338912 920191982 555091104 750755382 42627800 360207778 680854050 338164976 43000612 882385378 421055322 147006964 183247704 131615830 151989134 520021224 480273344 283668094 833898826 975929814 599437670 432007994 757939910 666290168 800155090 306230056 220734962 961515310 68363820 900701198 395181266 939859198 811503014 224153306 988954246 671949014 368572868 161623822 539535948 700095872 982462576 553800992 478750260 804581142 281954706 226832938 484123772 829268800 483620500 164982890 939542630 537580778 292202680 51839678 772227514 551588728 499510714 43006524 318186442 263945382 651952232 498117584 235495386 544113354 22886294 561185754 514730076 295904704 687691734 665801382 45784512 414688566 578795234 479606074 91043966 10872642 771595490 360931988 110069318 663259122 879272260 372684030 230458984 915549240 964883696 105135150 69613068 510278238 194055748 16742642 679695026 169353640 345241324 803181452 147058480 318141610 474166830 60743948 714790686 958022224 209322532 140464790 138660668 779378466 491673592 50695004 418360626 362155368 840669098 821887440 938578640 145237902 604890590 385494324 210092396 586867790 79895276 105721570 606540760 256514488 784867014 494190766 351677936 502236266 135562068 438398474 139478930 537689116 964159586 584048854 668314960 611180178 646271884 570206646 892066104 167091214 217192290 400644172 837494510 490621382 511892600 161564978 846922278 865878192 12171114 968850 533078130 100717354 50018326 620787378 466791172 834502436 656126280 217519546 839667870 269505740 105460298 833665124 219026972 753856358 881786434 191650310 127951858 929945744 81347804 785480608 95440128 25953598 836972228 164611232 266691726 174632392 611013444 170273888 752449064 329496810 5575708 607009772 992139654 76231912 522394922 859288142 107670844 610404488 760963492 969259428 178102822 883522180 275759344 732626110 382678634 589157398 554097028 826121892 816660056 710599700 546681486 816612376 385210796 102512666 942542422 292884570 326197330 516726730 617810122 759176774 76512914 80609764 602319560 459798426 381861068 44685858 483373248 182824918 481566822 700659968 840581654 367038234 300161466 536283406 959477360 727471544 365774254 976855158 998251030 795093392 161542784 69447462 182107804 29345090 73251848 847053376 634300658 406269794 200580046 880554276 194170020 684987934 640622878 373792232 632463214 819215254 720239382 5980272 917710774 474594442 839307774 801588068 529757906 292431774 164432532 473096434 839544796 26159650 616404568 542495628 828804482 271711758 200279906 483418866 461301274 47033122 94005958 834250802 823197648 771944538 198604222 485501424 67853152 949654976 84501636 201360854 610091866 529630756 437338368 970649312 202588882 600211296 873470334 163867600 106929464 806595112 4438452 59720750 254830886 568501986 448675962 218451492 270557314 383078090 742592038 900517346 994876774 690848328 173022260 955855504 992948916 739841000 71488256 363283834 334832494 711479034 1078288 215765614 313095656 457600348 657908312 507699920 82780150 258802236 333224428 838757932 246508902 333447100 165551088 871711928 540820356 326441186 315183572 658219418 638210432 862002672 645057648 786972310 510859416 739668522 624879498 464043412 573797708 878712146 529002202 62455842 941638904 781575564 591295638 660492938 685018094 11587838 151197122 987947250 889252410 402147968 393377132 657037408 211798544 754857642 527831988 270503462 653626558 301334448 212808456 872715492 395081546 767056950 580075644 321362290 879334854 633534924 273963486 929446354 439673666 201975906 408526088 712209726 617222482 28149998 319052810 68814022 677795572 948045290 416136974 803368994 713863112 460985846 352891966 650634842 103139052 655483664 889108376 378678032 736405690 826595972 628215318 596610228 111302414 577157012 315141142 219633776 687312430 406857230 283059380 106997448 121744366 297228756 496100356 490136328 148947076 33169900 787562108 569896282 662544344 831579024 495060546 270360224 430530256 900436 521204666 678382114 118714668 398298532 674889152 256724464 607275052 725191834 998435296 124151084 848926084 47710454 889508752 574528526 453985232 268881438 117903468 709633732 687064230 801943946 351215664 26104914 268583342 299207516 852319294 995252390 737151040 67350956 526416574 484890616 91476358 571323890 888167326 838999100 423305512 92779604 468547032 999204720 14535032 392826772 527134628 914340206 872364112 476422512 281781936 507285800 593906816 276029616 77688440 859617512 735305866 90156612 199942080 953113820 406259494 346846450 837541048 612480998 119495756 468451096 913181904 962800054 919824238 664285378 589558242 248140322 944241836 973296528 870434652 172376124 576333114 201105154 531125088 431215606 616875772 273877194 183063504 732515212 472039904 546076676 943651078 20356430 737530578 320532724 409210960 76515492 701537960 875655898 857579606 238268368 819239664 461615514 970262300 922585130 684089192 273657830 418908642 71983600 259814162 345546996 751418296 495834296 888779750 984230552 879330344 692149336 260816442 756116586 57046486 831086628 577471434 487661686 270734788 530814800 395022834 831206610 307281458 951348316 978915726 50113122 234981244 106130032 103126864 661151442 292431556 357511936 170824954 242220946 799857112 948996930 667104066 89444690 423770184 310804502 373605012 834668216 258300326 728732376 615224718 495766338 750859304 334368888 267269008 880463724 814627676 673428586 524221054 646461484 421273598 575699396 819968494 320497082 852570022 615215334 927929232 43986130 111978652 619167472 890279140 485599200 804236972 378806914 156162278 880109496 688351780 614970418 412755654 521953806 91227760 387020804 906609126 351363754 728473240 543279968 880638486 238714112 700435436 612029510 114787172 748577326 201439548 11810722 644547512 853823112 154888280 627772318 361973944 747235504 917084834 802858638 525193488 498952306 488627790 547478408 907562678 554660596 700553250 127252690 450093704 584348914 911253014 551671878 938411782 436993040 883168620 270351164 423806908 527175166 150484344 527650854 168669118 448416530 214338404 750372610 828792046 556357574 263531580 196200462 666996462 284933406 497694590 311505808 734748478 353081728 278733812 940026514 399997372 521722444 908176306 789582654 681071108 346230984 376675882 898227948 604012516 289802244 953176202 985752610 629394466 312020152 738178116 30262350 328447144 139999866 424278998 456713504 205038174 778523022 215337984 242005804 169319864 62712434 566257414 557005904 134324666 313099524 145724102 928947448 300916148 672284172 746151004 364735956 739904276 492476924 10551474 189331316 870688010 484358712 559880888 800294164 928373174 496469882 273918332 627790764 762264612 74604914 507390382 300236372 528829140 445203340 483329754 914468680 444768902 237159424 582049196 773979984 698028492 327690286 381018514 816453752 308484398 729648112 208127538 341619030 226943382 230281262 183138932 996339008 145509766 205772754 656226168 986659290 309911786 272145600 848422952 249833172 195687098 632613928 194132120 566607582 449957056 181454828 603216196 48049248 602279418 625091776 122059968 789027176 563043048 998871840 741958726 210372886 998448242 412821110 740720096 986942450 545047024 756333248 77234836 13101534 884678836 627304334 865682746 403140450 607204592 350538892 378566156 968625492 763870100 773314818 355533294 995839888 124485432 881451874 483797042 295317688 744876886 593582042 42717980 740370950 399390812 272878206 667328710 86040278 674739020 60433558 743019916 388696266 496936324 859369512 675080584 963999488 180389446 935232498 423808404 203388776 598253048 111213744 964566994 895870194 808763320 979773638 788531248 129428092 758161588 840750664 860148688 64409932 595460358 934377218 500269536 853665668 891496960 247614956 839643782 747673856 641873734 147316528 570139610 920253418 498871900 665509580 743353634 680973524 670928624 614454726 74388162 216375114 370596682 107830894 84737356 70198072 53481884 507014538 104777518 475115420 711594630 231133552 753227686 595078300 550080332 137507528 375462310 847772732 597503562 611594214 126700542 855410100 974563464 787525118 374900762 176054620 287892388 680033036 329013422 695596858 265728676 799747786 212615162 517950870 82598056 558524446 356183408 842963432 487372494 438870656 623767012 130093674 778614636 533053738 183922258 479529214 145605274 101306428 374921242 792147124 500817672 885301158 814796606 829507010 695428590 202953336 666455856 471152742 295118858 837083918 886626898 55239950 366659044 884154542 629936764 152983606 211465908 215539384 758128712 79576044 571053778 453435970 577024106 222418012 892125776 580756418 435222684 181302294 865239422 208586288 68102204 994757712 97256996 467627514 315625732 923248454 880499876 377651494 811895264 496061368 848826644 762997474 68156012 691499466 330119536 251735040 166173974 353732056 148046870 904154368 96622608 992312670 549111704 452286914 942258306 990140776 404830210 782091160 450892678 330370562 44829868 595923884 762346442 866026404 247362910 46366744 763694622 901701610 51659942 416556676 616620978 197789420 113838614 128863438 251702048 920398850 300018608 343980956 897195996 255429110 170878080 675207080 692714334 944959608 23524936 36764540 629986448 455287164 430884098 558228520 450241646 634521042 248661112 694687096 467755498 324604292 741502340 234311398 227384748 596765448 863432382 151847884 163940236 184835680 215110940 985931522 2223796 354883604 878310952 546496200 455876388 660817102 652665322 762728982 83910204 243943848 90949696 448388356 745317636 463402620 736213960 785022028 258905216 242345804 800553792 829389714 962855380 336429418 930631188 468715830 444557988 412611562 311095366 306337352 812057256 86179668 887956682 734590518 124419626 3603032 350477290 880202996 923774548 220581798 654939360 655474596 644456874 168713108 462305386 595486694 831455012 758947320 957766974 853328512 899771746 165655062 973237412 982361690 388992528 914896176 102880430 130121618 191735862 12639622 847193986 683207694 860350260 81359764 209130058 793031022 382216964 586918304 529378568 306734440 169655760 412613924 766149058 905356160 918413526 368271542 477069798 765779066 13262914 992080514 412247326 428428154 177804794 68003536 857435694 848037650 504513778 999993670 109860858 704779512 655508084 872880462 554796836 768043758 951969948 110263964 895958134 17970302 531996538 846222538 37615312 165598652 962722284 407062998 1270550 179315058 979069844 334388244 372064838 363252874 501633902 328620054 933876274 192286746 225101312 513786952 211158714 705417592 478689380 146698942 712580092 317998926 871696594 705992294 465629372 109179522 284182818 396655414 774465876 136566246 373245144 300683352 530778104 297337428 512754420 564964736 146160996 690454154 114620072 473835468 929460692 452201046 177790450 499091044 985987366 561295366 283147220 114142126 697173264 928289094 111035946 354059098 43348028 238744424 577398240 917884588 533803426 474807530 631573368 807163258 493031888 390785780 132287792 41384990 344004044 741555666 616104662 706807658 826296450 870512956 435924996 278738274 506718810 829407470 3550664 31383082 557760032 446096526 870573290 276022252 326688266 658160960 686306932 124063524 140209626 482970002 117093756 536464918 960503196 687165526 819346676 32633620 654620768 208161572 182361146 402302966 951975988 570910328 494509712 91794626 568237792 334054988 5014468 442587100 296282466 730489964 317970280 845375216 50077280 359731392 611279014 999683010 957690404 706986924 389154752 117409404 224522494 248230794 110362580 907105598 365147852 200451804 652429284 736582114 276396930 339899790 247205718 708577880 21085762 827982604 243359578 565513744 780506700 160535384 670680848 270014072 976123468 691547384 943239518 299755296 409008080 800163608 520990218 517873440 453647756 4361780 718386742 482156520 391413136 968763118 877941650 437062638 719669974 220577558 265782134 153162852 470211178 22698280 202135358 712835240 823565090 185950262 190459384 609184708 567291532 555629420 160030556 349393186 348829016 233750784 913142260 867641002 790115456 928703288 267200116 330070822 45750552 326928482 897168626 612553854 128291232 927600702 613606906 63110918 298128562 993328608 801553480 154624874 215500734 292264878 973260576 860731186 949568228 635605816 234414050 327702272 485679744 806908670 587102142 686552150 610658150 360793444 225767084 654532068 258027730 538006790 28097668 528385366 265877288 587456864 109775964 879113192 419829940 713073550 946326948 401569868 253613736 292502760 590263148 724197536 772628648 739528848 774563132 170684708 87593942 983723532 326379754 196023716 208069708 4143062 415188762 780885336 973064730 493336040 758388266 322275310 728905028 989272034 421345330 298740056 87285886 42790910 755774134 891602418 389469826 670712790 309577654 415465712 499968908 688413666 190058570 451176248 637476260 422740394 276901960 582513410 306844880 741698614 415947108 93080618 893183486 819566478 903804850 407973758 929389198 602843518 141072526 100172256 806105404 138557904 922272920 279538392 502300026 885202378 204625670 86784836 897554572 662608414 922207804 198266090 551654722 283788260 613767332 299843342 222471252 821115172 147946618 687965616 124725332 948795616 605917250 555010906 327018838 364273684 191904268 22673394 696783068 496538188 344584642 960892164 507925120 675398366 365026106 209950392 415240250 660876434 694590434 81325822 123861396 613415418 572277734 172003388 155617216 901274554 387811080 784401810 333223878 777602942 435909466 178229282 285033892 990218898 197058170 429674358 30318796 40564688 727283088 982469664 274456320 354749374 176691882 493974746 201553956 660808294 211560132 282027726 687055248 780269194 111178728 500468864 176477270 432016870 964216022 329037010 381005772 106414808 862932006 115198508 537778844 11797562 791421062 4187336 329627904 532339412 294626576 125425990 162774882 938220050 638967460 957118372 444867382 99540480 811096102 359901616 811449624 460290850 403880196 435803888 776304992 991378950 594787808 991445566 84665482 369014264 908264868 612410618 626249634 748339142 996458352 963321740 145908198 56153018 741961854 878712196 282514842 726984786 872782060 539602062 163551742 493600086 70421130 544501682 540122932 4137388 678333634 413453028 437329000 672250860 900182332 452638002 755216876 885645094 825415622 762398034 212402718 933931938 913302882 769300818 296345792 976186100 220202444 850396614 60507352 31852690 604055358 559910780 48200142 810773446 135442888 44334240 957765272 749825270 209758746 864596934 912790740 491278760 457464424 649424720 724847844 685793824 862986466 147253928 840784420 761626866 382537300 975185162 29696010 605893242 130624362 520836064 226553482 786348886 12187848 652317342 303048254 732131500 273461744 219418084 803930978 866576232 221232428 794431872 726820272 338662894 2349678 966888260 581403774 475497276 526237416 987998028 670013884 624609224 164608182 741920398 145770202 714284274 212052778 479644164 925444678 858031482 104879506 775554534 759006934 698815312 746983528 817819942 268488176 775447512 207355814 488893394 782212250 54465504 331774096 910629248 138734318 946516412 983598206 707223218 681615194 198420920 744335334 830049172 57757376 400602852 940998878 525435086 808385758 338445482 227100000 563770598 638676694 361905446 814048942 452319068 370124868 631389412 912151230 685792720 138744512 787093294 596010818 205616224 831595094 691234814 443190404 295822492 894831856 566094698 408165346 50111834 500016056 178552716 535155038 397596944 389333810 561000912 295234598 411632606 377003462 811535096 356290592 538779798 979403282 70883870 402820050 917418610 519391738 532257050 772157798 92162546 186149760 440973066 117144966 145112360 205745470 818750724 66012882 527053144 203640230 918627044 433840906 364295208 782372078 230899884 215212586 938020140 546632026 374745434 960656654 813094830 100047790 334082324 701694582 326981556 494510110 7942960 764533850 553441224 695479212 411741012 492815220 862615906 90147126 496201882 166578766 861435032 606960786 790317044 504935352 814394 507182236 652840760 333855334 814957936 463072454 193110020 746854262 660992476 930115230 530982202 228004020 419114546 753535666 898579118 648143576 336595192 861636520 557495234 103338676 384891310 477659706 23412810 704225834 632117478 668374780 73537610 518480234 480858466 58328500 205317706 866483916 613912382 935214320 444930220 790636192 133107496 646391246 390022672 218955698 462649818 550758378 950901710 694321874 157267640 128400844 699319224 60801896 531768392 241780536 840756958 305598736 271854268 211448872 360698768 557331548 596402484 456904654 777748030 854109262 533512462 144675836 589682298 286007164 554076602 250974774 594223862 757028154 88782718 357688014 555144662 435233620 559666232 293072816 273594812 488181004 552080846 391089268 660319618 853081326 274629204 113912582 768734236 749807834 985265530 157881044 396965362 716582270 72723962 372851908 120565022 365183248 150588726 634874384 685808718 343046838 26689498 906097062 77284954 151468288 47800890 66641548 468518270 160290134 193763390 844738314 187843482 437298324 322990802 449987776 919332264 269396272 195777804 72502910 934862360 224158214 525658828 701622812 25537710 870324846 411556488 489952868 531657228 495253736 479357450 180817462 137487368 930954310 885185474 183791136 547091362 302588038 644493302 241017396 886843118 61110294 197895756 196376510 797080776 414651956 223061960 307372898 886726650 325900912 670047456 217212922 356799664 767123380 998908160 195879582 918002692 987014702 239285390 376877038 215495390 779820864 709151000 505813554 940035168 387279472 480770168 234098904 636990336 859114778 127914004 132860852 775737630 97534640 395807184 349633330 749560578 282458194 641404306 138763802 543079698 744830388 272472234 149949626 989670590 363477344 4960868 409351898 501178440 921800016 365451816 572040122 973809210 877463632 427406962 932341042 594258694 600135986 963750122 466929564 335086636 223733250 977695782 839109056 875663824 755604366 139640948 551899234 344546224 397914026 773054566 383421870 953991992 66168662 620339006 180229102 730818800 969205326 675884928 430115520 664707324 729612926 330394776 167582136 55900096 348302912 919622338 936732694 960100948 26611804 679412326 157591850 634559780 48463062 778542114 964794334 298385854 440398552 240457410 675322322 524291418 178361752 326506478 903189698 918769556 833937640 241585278 109598664 40840688 95544618 209614220 832325376 871442426 305100728 851790664 602238476 410821236 437371674 496821456 670377764 301304022 53760284 489011732 991123416 193033972 714388438 384337364 87169078 689382030 119173980 176774738 258283376 719363578 911400392 226647032 531018326 480781426 815655526 247722474 671655160 430482640 730876670 4191074 386850444 632479664 445279112 664142892 598503862 840549212 568096204 966732796 571286066 825185726 685847426 246646858 347671082 934933078 202244084 117520140 927847620 637881536 983984966 35827100 873668444 114595256 296204558 701683032 19267886 990665464 848545342 976496254 70801036 627834832 760368670 930646248 655606964 736345980 814344778 778899590 86826430 166396176 421659396 581860630 19290994 361011206 530134642 552648448 22230772 951787260 519453268 5272252 500967034 271093634 721896 275089006 920489872 849687258 635126084 249036586 399719058 612227296 425284310 285413544 606590496 247462382 510563318 460688872 899626450 677579238 427134598 981768674 458735760 531381530 439128528 109243024 609626938 638904290 245283228 543741266 481452598 804406986 83797690 985444680 482762102 182100232 554167144 685285302 605939256 456382732 611761686 687414622 142412054 982133332 377907072 766773542 280376418 68993602 162467772 7477254 679941506 947567840 219342754 834064232 510694812 764077232 650964542 39388758 352198648 358626648 752874650 471022188 237018352 927356344 32237776 710929346 331150942 309066876 757606940 928271956 454078176 129055070 423581076 708180338 219665004 757490084 807823564 251733108 7226428 392964950 649329254 562247364 952075654 504811002 500310790 647977816 124857246 880506538 786648320 739709312 578867578 86998904 446972288 192034988 435703816 152676664 483686844 150180542 440583766 222603016 901038140 940780546 709281016 297976864 208902748 576330858 997181844 810686202 835519118 841009888 380687220 130893490 729643406 502028614 625248792 944862670 606334784 161533404 338002942 250556190 498785422 121483418 535222752 159645060 245430336 228798624 454305848 178105196 249250236 60423414 90405838 788152794 278051976 658720884 120990182 750707722 594046144 620801192 831125760 13720560 679772448 374090660 479093906 233200600 468311890 412694160 553805942 850280056 27063972 996002830 691132056 321424766 898267682 229835634 448078506 374698648 411141952 994828818 123413660 991925600 807923724 687048550 27335506 716314548 846673136 425384164 42206070 560643002 488692446 367259090 570913468 207306782 3842962 108842620 871271040 95248528 276887666 850808388 633665660 171105888 551963326 155450198 679890768 560391308 170879456 461049086 621412016 17536786 735255126 734364610 124902786 332540048 534104560 269583544 345936326 352409168 139917484 676159158 672853892 289397676 587168442 675223168 542508280 414924568 77778786 339921812 440405842 423904642 646680568 828690590 980170626 899114396 184079898 247398514 891533046 366779468 105906598 567068082 205774044 999408756 18340234 497441958 349707284 494809934 388308110 232149016 884673270 71317620 649982702 156125616 381917208 395989210 257908618 748452062 434798612 243741410 412263758 913985132 521656188 303497394 937054614 567615854 243991700 330075788 51850572 363864338 486015520 646341122 118349440 877269520 298685118 140941396 646107410 662502294 764352626 807191878 379333714 365132722 788326788 53673336 105097090 290900318 31800788 267998782 964682 394468266 374898364 781189786 993004192 845734066 352909436 356322132 948322208 939104422 621943762 577790846 557523228 907428956 74187902 512682184 345714588 864324952 784031074 76112830 232879436 766453940 928939270 407409326 261533950 660365804 608055956 854016342 180685562 489998410 78914572 137014794 319903764 4278164 924409846 517348734 74787271 197323768 664136186 387791128 512608332 456965322 135938800 430748674 464375058 722127046 84815534 841988380 536226978 446968052 364568400 42602454 660066162 170198884 265094376 544177978 350166312 501443458 688401982 433663016 896530184 778544730 378670656 22516154 402961510 134683320 933174576 798692562 650522612 159257812 634993684 539802852 430941856 503859464 806107082 833398228 279788568 68717956 574878970 623359202 702793202 691951568 622869368 879865966 254786388 912539952 5772558 168549512 468516486 132610138 287009206 331629306 823769514 83071268 417390262 440965380 409464326 794463358 24503694 717709358 420711242 852989124 183414678 149108224 59661072 125910186 642090556 841095260 901735378 762126964 772007080 237469208 583584302 531338830 86590464 685484438 887315810 610362432 22473108 575717626 975882320 355924802 569127086 612316516 139884564 277752532 717975874 163270048 493157020 568659610 830418984 408532300 282145010 642281634 44106512 113312160 519381550 664873080 307809428 209164332 791313904 973399992 397860630 258647738 749838822 267027608 438617616 269756952 895666974 49581990 838743664 849255600 76800232 684182032 273491470 874129188 254410100 836494052 780554542 746371364 132399386 499151248 610884234 118792050 468598176 817009484 65786558 483602708 395474018 544099962 364703518 137307406 904214932 755458432 901467106 976570894 252867424 897634060 393818838 432653404 206882988 517143472 959512626 531497494 807348790 636658454 765800108 885384702 767725368 335101464 994410666 249025242 596322314 848929756 148965654 323014170 866210258 567115980 357572140 504361160 396684034 293210208 940957512 351821290 181317362 599387752 238537992 880867140 506118442 318922 930941254 310616694 496272286 843714620 143364154 565702976 863741012 591852890 695947358 470525456 587826854 853514966 844266446 989128390 165723888 368894708 543379826 375759548 368903852 923090166 325350694 229736934 463310554 568709550 110837200 981913192 291637988 438148568 271838308 443674544 964945558 257198504 160717174 221698314 429598048 988216770 172605066 23318104 297364276 429552786 211711072 176697572 270609222 72371682 157523398 301179772 849079508 595183270 904127080 208403812 312569194 779982002 412562942 600750164 162866356 547046430 853084400 819422680 322454298 966116462 383469164 871393560 991109472 187970780 154248334 352441146 87366160 240146016 237518246 318016698 735874114 89675264 60909708 52172618 127991522 747318874 38666248 455912020 905712924 238371692 600973126 234225722 939782490 767894128 169336128 46396660 879252688 361848788 985330800 289238524 401358578 9084106 72670414 595980614 537004238 825526500 615772836 50031428 404447732 348170196 377360206 816837284 137207678 12712542 963206648 372483776 934489176 926471996 506911998 718517810 194005288 809874126 862887176 830460336 956980122 894506808 1913778 712044546 344514568 653003878 925059782 612825406 660935144 297640792 96970316 252438386 966384580 455127880 301254744 906412442 550592728 75635900 410774752 889825192 798045224 740253356 756041658 497749676 708364818 71542086 934780510 837974106 345568272 770207430 482457264 355365800 42951302 856304208 961536522 751398490 294960376 453005404 810442076 798298620 327759420 819610696 194487858 547411728 459849882 487452822 881760746 841992122 207747140 785099142 383343172 733801764 254929728 135972750 134820198 813536814 552201196 246718648 309025194 434337862 821605524 431454444 33838140 557613792 965277784 257657970 811345994 103150576 910909830 749409292 280955446 474881446 118892358 584785830 938006680 883492122 502356708 614391602 188733176 198403314 356173350 961069294 401218702 224573362 362713176 376561036 419448598 954474426 249724134 818991152 10794186 30042600 339617722 76953638 318395252 779778158 913415962 437815388 938255284 947343798 729490956 147537268 231929278 201037894 41709816 972905634 652616550 56590952 725249376 907828618 669665960 15456548 108938858 441353934 916955328 385420798 754941668 8314296 888916654 133430506 751095676 116070818 861834802 368719346 806774350 482272164 856623160 427282834 237834262 246570582 216137872 161870952 529310460 200371760 689849510 917439852 281458432 311968118 135786356 360878084 489967746 712479834 54183570 737680694 927759866 676843530 60485582 145207048 492578476 269226630 313177972 781744678 317991250 135358682 27644382 106996566 161142814 581055770 647659656 496187930 112164548 777151378 184845238 107907438 956174966 86729410 281337506 300968140 731302416 39787610 290023794 547020432 368558584 736027944 724532990 458512658 861002784 201699056 120288480 19498962 618490448 419551158 754677506 323326644 603286084 77367726 519608404 381081134 638317454 246867128 937268644 101111184 570426532 685956800 817200536 108161948 425325288 202021250 665626500 930603896 123451554 635491714 114824932 600145174 244655276 246328710 80897756 65478566 163040592 680504362 817487752 962776272 521189280 237208886 234232836 525719350 453957826 356965858 91598724 366651324 676351588 520395200 148576916 264463280 292168850 98176602 162867220 105131720 396065784 937393330 545512840 145596324 554749338 41944362 512650494 196005574 158186280 896492926 905337300 661887986 911650618 808177040 885309004 773488850 710867516 124706136 578430000 752153654 335041460 540310834 169740978 786464248 370902316 805817638 608376628 442004600 262391126 973980996 354185446 420189532 842181438 774653584 827371938 334343730 986186004 531445874 276416768 928596024 401896184 275278580 604695296 306408398 414738632 504226940 62925550 722622138 432993846 249263644 65846934 257825900 740030424 915358726 488147522 424380544 696126642 898483062 778043074 454414822 947092598 621638702 719663566 455613310 894952236 993333688 689573014 16204830 797061794 963756726 695944824 134702880 396723268 188106502 313089776 671508182 90695844 446375970 71604984 646978224 940182406 184882986 74922242 858570578 285762208 203061324 64553134 705050570 308240264 560669750 74522388 892537938 573797928 760847784 293981216 712444450 611657250 171222672 656727130 535986524 883081176 92532114 935858976 165293836 115295930 21030688 536240268 919125958 625268984 56372256 277391756 720659518 802929218 315434908 572061208 488003188 169271696 838120968 402136812 624557104 110682200 402161764 544077756 276783322 918792206 200252998 938033418 389498808 318408044 310140742 613316314 137108622 611934932 143497724 674799078 576359810 849519786 809121672 148845392 3833826 38339158 255159540 610374166 712749116 534667314 878144586 827979362 541895430 834463554 792166336 489003232 464102456 113043126 807099512 345290516 297971444 346710074 32683592 178002998 890192532 170208386 735797752 62269478 881829138 300790660 559524856 233464958 573620930 972060730 543557284 670524958 197414808 897671468 635113170 415882720 442830378 319121172 116825934 681580984 759615536 523650826 409584850 837699206 700993314 412264068 40293392 81215744 919855378 5471426 575629894 380190292 417094396 802885936 436199308 208576336 858409944 781467304 173199448 910969846 720640328 905553058 108099042 140207918 490899254 302603856 555290092 838608132 569628368 255965564 923948036 559161536 921689288 178882120 162223676 184514182 651759132 174554390 104089540 801749212 255769438 909644858 149863116 559416458 781610490 5130350 742049604 327747738 980446368 318660164 999859460 775482126 853152978 155959076 779428106 916212200 724546830 976901028 999794696 410840440 504557088 814209486 857774596 102483260 637139050 416380100 413143396 213032588 468904898 134446342 783032060 318219114 651492818 74315908 232544220 573511030 90543900 993122618 25166704 498337736 365255484 877028416 120994206 671509434 10823068 367545138 738086368 577113848 893103712 873047024 666476208 881509426 165503892 941760128 944641736 104303644 801618094 917420118 151661150 836816344 185448336 457911312 987644788 350765200 28843198 635401460 240302382 142253542 553414694 891963450 448870162 806004616 898550890 747572518 907004954 69513922 820611728 196029906 176310870 309396772 810933578 526548372 382466066 771660660 52682046 104282740 689544826 836270056 327870074 150236782 357779454 714512838 768552240 489174430 608483754 311969420 54308318 628238222 831543962 11191980 147267810 573756018 894227794 817261630 463630900 974933112 584640174 759910178 382666126 470766892 611541810 415820376 191537288 773715034 585376812 14980136 519687054 822393892 102059848 425182716 943943946 901185376 210997654 100720218 955617312 272240216 931997698 987290102 140465012 358335098 952490220 181122742 200349478 373689152 960881254 366920044 473290242 325942982 146469948 180636718 30989520 537515570 807835132 733738432 332341720 121433510 10716038 317931152 305866864 241482430 652144610 343194644 377493168 564831252 785904022 994804342 69071752 795050500 194399580 542336154 877570040 725537962 310708918 475421864 679612784 752709542 627655646 904662286 927785596 17106924 543112834 56368282 267292578 607045768 247487938 652405238 224888556 805028366 300262834 574541452 673377260 909839418 363950958 854059448 533386898 692675132 447409050 37632374 36791956 144719036 102639652 477271756 107641818 599240712 403588158 366012194 394997822 781044062 246832498 641952698 902972970 830259844 658507174 397018004 280726762 435311464 523583956 59577678 823005122 550536852 77795330 487405390 406497020 570028712 368113208 468474242 517797822 112019842 831319320 373313966 138417338 627189746 92283914 912832920 667243476 601161626 22537106 163392310 833097514 342844318 353959484 504015224 623743154 796272306 37286958 273044606 710512990 538638198 522449254 75933558 111312788 676344762 458593986 133765114 850394120 520398888 925575556 734595932 155893950 838892718 943577754 166538598 46012814 226840224 313338190 202557656 393673756 418902984 110237162 206800774 659524790 932995160 835440000 871137408 421198012 621900856 467551604 243677780 571281748 753001180 884088554 773842192 428183408 848908436 458426376 963815070 921181408 965719308 473035934 4576388 250581262 615624298 360293126 148352658 74550304 296416742 265428900 45485902 885313964 558058320 756488104 880928452 37400438 383803020 615353232 504166914 494893698 75406558 727899686 123578812 761659826 223475194 399367184 582713420 551811614 563786916 260019826 612449288 778391758 49622746 936527056 128883470 724987146 251400004 39320620 605213588 36149378 828121960 985248160 839618368 514371472 550659472 960774018 994598574 570454790 475382582 226556506 364717614 527842398 22997770 768779894 790462248 460743310 932843572 578237852 992298248 521098538 521967652 887099386 344582246 54489384 738296468 498117902 871744330 822229522 870669130 785928488 582592432 216588258 895789894 59036878 257373528 219989732 270694790 801426032 389778332 461304210 934221674 813469460 674667018 878478780 110441742 75940556 626875116 193855854 131782622 706842012 964590496 8799832 464084484 260322148 924359670 680733022 681702224 830592658 572703384 677623512 148000036 838641102 533947370 71427040 368802070 44684666 748246540 874177616 89864536 560291396 738970914 434894912 311299038 361001840 130957860 123582982 670278326 579904042 229529372 233480318 463957816 461604936 345863780 350853754 835913050 888879090 961606260 531211296 345027394 72596576 195774548 332028722 738723026 505544310 827185140 665275732 768786534 505964746 326898558 836076688 83798604 748977972 919572282 657936724 471710682 692879014 429946500 888143914 870376518 668324434 907960682 263598240 198775114 98244038 30229156 853732336 548416060 869549840 392722890 215942818 400866044 286958468 409711176 490477752 432789492 2660388 257539696 440580182 119628902 351543854 685408078 618071494 525214620 378535520 478005966 70047598 646104254 79966048 787157342 804900268 625606848 354233256 606493178 390213916 913648700 230263238 672437018 82540784 39928120 367766188 779172068 604015858 652225704 420366634 962039710 311879926 308766386 739161552 703233728 101812534 490301222 130082406 612975250 207495978 226230546 825488800 361453566 13433716 146042910 675139802 950598752 526437736 728834020 181190608 935953268 628189338 590657416 535233206 204620564 510543178 294972326 337924460 209181078 776899842 481588010 584186854 202158078 825475238 611630868 171214836 682131676 285383996 579819824 173905260 617111778 478701834 231049828 890980520 325109986 389207398 610778828 301211490 292888176 77231512 946917180 860569818 768659026 473127756 230921666 858167126 311764964 70221146 42539982 500282366 971435782 325847492 342098272 972457918 271041462 268792318 672109980 249500920 191729112 91233424 51629812 267216306 220355560 163673064 791982956 851132336 165986666 203393242 233649588 287217598 383833570 477429928 620741486 720774904 55407758 574630430 826176240 926447514 415979720 998138694 844891982 466878108 333794124 530943828 48508698 559327620 795563350 109506902 108772746 919873194 877492156 55015010 765377078 184364674 574907992 461527430 823289870 535845622 498551822 887645306 767331028 427565080 536398250 880170712 474142614 221535552 341563276 158980086 725387166 845703496 568585852 296087500 826799614 336936982 100856100 37904614 608448570 648663294 110964378 611231276 265225684 706971474 46163488 633818572 729802582 827098244 947864394 171436346 925163768 387809044 354824732 847617962 28976002 853179312 552598922 600971362 628462386 372455468 305301104 682739836 178695258 10076760 890321940 485995904 775086466 239408490 866445554 874820002 287629942 336832972 319370456 640646518 936342668 488851574 452611504 200109048 652572406 419145298 325110782 988256186 368534606 686311532 591630956 419485988 526070958 394162064 466903632 311924958 904628698 767257196 240932690 851923848 589960622 477203142 994392396 439459214 727586434 526954128 171855324 506255312 166563360 55763302 944078820 228833260 976099132 407574372 308677674 132851304 140932080 397217976 867979130 945130406 559787396 869209086 253947852 335225376 185218254 442292872 107801924 551724678 320439228 749798526 698117692 657086508 775724424 951141288 869501958 461718028 17900034 838434316 558801944 858641246 120579582 708745346 955313090 770905442 912407478 125979548 282658004 947544516 850117838 967697060 381049286 912835830 854343068 353224974 416070930 775328702 986639304 320239646 437690016 426120242 26350304 931045408 660235390 188778110 853556318 841390136 708510708 443392030 666919290 38270310 91867894 740665714 731825080 654810942 428967958 640032744 166637708 256130500 282412860 715832368 482389916 493468762 595487616 522434950 745312304 195997132 378466124 354035742 888296040 668197748 914913896 677207940 655654472 964680812 201160852 564843554 143642458 649330346 587753588 852450988 225963038 160713326 624088596 500279044 159399340 223350834 234377618 898106824 675005438 455876696 871466432 456986658 365167036 583080592 93366546 809634404 567191962 988457116 30979924 803663808 815673846 352395064 991771920 774294614 394270298 555139106 994799610 833739926 375190978 163336666 435978198 903512440 817209942 162784636 146078052 861703804 849729330 218440848 776734430 940432866 548827036 890061674 661709032 11357208 562038096 995434006 518340518 310753892 627639352 249730356 71443436 367539092 412586404 974720734 346744892 794671896 773748376 139113612 603478848 518250992 6731986 722229712 794660400 593587016 726979790 374805338 224932452 733734094 930844546 617787904 215234490 686446006 652133294 232984094 876602686 734130416 569114436 605950628 85441490 537955956 880499544 573557012 434679398 514996096 74732974 930430322 347641638 319141046 721403290 130339768 790048954 781764016 713316898 340403550 971269980 404431176 632588344 80603778 588010630 101530966 977537086 302793700 701329590 924221906 25175782 245729562 853183912 737748122 742005628 603112484 515690406 704735918 548641104 810559956 213019234 492426388 450649222 217955528 685247918 909274416 346767024 618666584 415867158 932397848 206839662 15051794 154866028 577135278 853454068 895382622 689015254 596078962 359768394 121697820 434567470 941927698 352156088 83584520 302994404 995418328 165488346 318533360 63164624 606758424 341049714 629189688 769345968 983492440 264726184 246755326 630121574 5304992 627523816 112767064 128107458 179485078 973090106 873046998 203071554 229000350 740258330 124376690 357570144 359500358 285987766 294760010 753737632 484018952 724812782 715250658 230701790 927802588 599848028 875244804 138417142 612984500 73299202 29155572 589720446 153331790 464975248 640573074 41449802 15074250 329964488 214779958 62405108 313110680 864243698 623178960 134971188 582257876 112473958 480800614 384959310 511450626 311750464 995259132 72399834 527702810 344805482 232623486 12796416 52687000 879414874 914748874 763173292 497961902 82078272 327906082 221013678 493098744 616323902 448800430 320985436 334911356 571931664 448788120 920574096 751857840 664692238 902561140 385030758 348093720 511430556 176775574 875617270 308374230 745139372 219526464 283316098 322224992 247715376 662508262 548772974 817335676 626344634 286984526 263734782 825453690 861131460 399505594 987438188 640524992 464998720 162366744 522871334 775983732 686394520 97765596 357287534 582355774 293126064 761632064 203987652 72075682 144687654 474826168 514810022 486910438 793279958 920386770 58176302 878257178 637044296 296056408 89973268 230597874 883809426 590958524 670890754 465348412 512736852 477370688 16042244 51144716 95072312 545706696 130072142 874929878 10131522 124063300 924378148 922989632 912431070 631165456 954450776 759114130 388954032 447643860 134851612 399303370 384379942 684487906 618321244 296353720 189503276 840562018 798468532 306947866 849436384 884369682 582450544 691722954 682317984 678128722 214106474 737859108 935674776 595770124 376830952 953918888 354803660 591832068 913452372 63831510 188650476 160457452 351579540 876715012 23630574 22739280 897601120 486079322 472361676 911610198 670271134 594325648 579621376 9763582 797451798 907036436 488840626 770400034 611116972 24634142 696051422 416040546 926253110 253353744 691803146 406752728 623682264 836890012 968953808 374876054 407397360 203464746 986357790 587849526 868568242 859628722 124721082 790751844 303507700 349805390 71534104 209108202 564762248 605974158 633740162 261116430 506476660 162072922 429275268 330982630 444452210 808231770 515136514 727332012 422875096 179809088 358085442 144575828 708483802 104951322 219618286 897133822 323106062 595467536 184790124 791547980 637244452 402272814 251922882 951228932 430987120 309346818 414118990 69104906 639976110 343029686 630978986 353331384 529544302 695866928 94624234 807985980 876133078 765474464 943971702 831722848 48306778 670583336 991472692 268990798 867589726 207214728 549867538 958749538 392415518 846596716 454217220 304867102 296381864 145614794 978340554 268041642 454405348 341718634 491767460 993150892 178955142 936149692 426560350 973762798 718465710 924126780 641316592 161273492 65443960 402926108 116895374 103572334 253319330 36118204 36779188 371963960 299514750 119707426 206352 44736886 402265036 297926180 784999028 468015750 794009470 750139184 137134010 830836078 118109936 412699458 63886132 572931326 334119870 272922236 733117336 368609892 117828270 169294714 983434942 537255610 765965206 21405390 274544978 846040458 727821532 187332544 349228502 327702256 322856138 714978240 721192098 148685534 734899974 136608828 515902706 316162954 53490492 995160406 20068928 670368536 504267598 383826102 27930998 246540084 327715236 754535868 557305182 448261016 274024074 876171340 956461220 998171908 27894516 252689198 4931788 615419438 755558692 473476102 951810942 560761368 111180468 61583840 80310908 447716122 228633642 733240662 290789466 329805682 73918564 270501806 262061698 998496954 2728928 812046300 188890826 183847616 315260324 708045682 821189296 836206954 64092688 630555608 53215396 639551376 753710696 309004912 842295492 218938422 573134876 118970542 818986820 37953982 26356194 359199984 424449930 501395102 930683368 376320406 387696492 857983432 502095370 235074034 776770626 706808316 569927418 595848024 201951762 584747432 26729174 739530456 292596188 891295178 456495232 611618050 859477818 494905054 253388900 464948180 143981868 223422870 412935656 681866892 408306394 54313760 26465032 580282290 351672 253081116 488893498 37242868 181784418 405846510 327320108 530103668 81875376 619986072 477194586 829697814 205885842 200326852 241686916 935820350 982273984 260809810 602916382 27158742 340276116 629340566 229787626 396888594 634511750 845308818 903830728 36846868 902140778 498974116 720976102 988559482 800760220 160949020 193741150 444839162 9568262 687434098 909300794 854329612 831155388 939651930 534801972 9435600 925926986 690087036 783656404 259334438 581087956 398559206 493925896 151456504 944344252 655941180 621523626 202130422 734204486 685623710 634046472 467389252 719644048 9517200 813514350 197312162 798161790 90035778 556481036 679147430 467465598 198224328 642274622 646562594 889915316 120430970 79118990 290225808 532897018 237798966 843960292 721233252 245494608 418136890 717523364 955866006 293846 478288456 465369266 128725836 263458294 354363498 187671464 451338114 519641408 205089594 7834566 38957916 209642898 806877640 72992810 287633440 234347112 541882854 191363650 373513850 145221876 138382854 176997102 915595740 136489214 785733816 164603456 769703696 468648362 527919106 112435052 912012154 303217368 193060946 980064124 57392686 369954870 994935168 711987704 744422628 962445302 127827042 124198388 745735794 439367246 441832804 323385704 208030622 220884670 847373410 141225214 23838840 737352730 286070880 439611058 637692016 598526010 571616842 318340724 94726594 870334310 327154214 59713680 549724472 261005452 946629184 944474264 143508300 892859172 645574598 552557310 994602634 708284934 789840300 500597704 277903020 352080498 262460950 602428902 533468816 769404190 981634056 81113568 378402044 455509310 971370340 746792882 190093290 495281486 851825238 139319362 551510584 250308804 631367790 844187664 486552964 255212584 905545226 417206726 748679086 781669430 616682916 4881614 152563838 363450246 636391640 740746630 375147930 682532090 499459068 100152244 207482832 954527780 591479352 762468836 741069472 591963362 43498656 964093918 699420114 897976002 841854804 805713698 59360968 954790846 735688960 672090406 480951872 510725984 349886424 314295866 959744672 979782786 218535426 339895404 949968474 448052330 340640770 609044284 936936860 456086170 394595444 358959984 411838872 81113616 53317370 473148350 919803754 342228428 499816390 864551918 693296670 957796342 310288752 211394088 648103266 587628138 362661202 462232736 308407506 709163218 792945050 530236670 967947828 159309404 386378012 410613842 715557262 412152208 30072552 418557578 936322196 650091376 302709952 397351946 654044600 132004228 185982556 544013506 452706024 884943918 379456256 521455626 198090488 436536354 431402476 966981522 376609898 944971278 344864582 36948826 902483884 748656656 464979662 140462726 52789612 238347066 941191114 462900446 807531756 748533422 833482858 796712464 690404828 143358908 888848152 149473382 701335830 222192040 325536332 937887344 580464432 479771660 961769532 532386786 725122368 706141134 835066052 19860592 447114574 300904486 921140522 687531116 686884264 530567692 246482868 860366170 632129960 122347896 670719824 444026998 883496030 236662296 583268576 185255126 629130018 412389328 850865308 643621742 810520892 335737358 862689404 609035272 391399972 862660118 106971446 232386256 951788106 774597040 286616358 957509030 352154400 383800190 529098466 77516534 348111764 70363064 965510854 690604128 730864884 201735102 390710776 330713450 457922656 625737292 963088588 243840064 428144962 524624968 570400204 450443112 903487954 516974662 580561612 351477896 287070410 104898206 226756110 47267530 896284202 152058900 422889418 813932500 953443290 464516640 533157832 507940466 520716710 189643832 736557904 959500656 87906630 893742654 969062702 648226154 22894256 536474722 164285480 326145548 68858306 315310876 305102024 379294826 263994362 228034318 262672960 719247268 489419238 157579614 631494518 132318172 2242362 701329456 938353162 544216792 635366698 506069110 457789174 658317634 965564006 197298474 442213790 602062124 640330790 148678598 827797822 860069192 443264164 857082358 434965342 712239056 142520356 310178462 372075278 599466540 153908454 750587198 359188864 778504468 69833020 203812032 318615578 346217070 765200976 396196122 302065900 466765508 59557556 41289176 413281226 1096176 55553422 485336612 41369178 364684500 834071454 612368434 576804834 825431192 9507144 318069778 144120176 488205484 725954728 88728292 281133150 358294658 828056946 501686012 959108266 19149266 329112774 514957660 885892944 286425276 172519410 75715160 923567264 887052378 362165328 133980126 67532824 419648868 164425280 703197518 901672914 99638648 35989564 869459214 485141206 145102302 45512314 497814434 988533140 541763822 113267832 97613254 501624410 578829604 613223820 889349656 564299358 602187084 168705884 43779130 352589132 417032774 93100688 463413728 415996966 592550588 989428052 326561034 348468360 796043814 812400146 950071060 513344172 390583542 502393492 688952932 774695564 382172222 746707644 95097060 344560634 268578748 788359698 879920426 38515240 498464200 881317298 992601644 813343684 175143410 82363876 322360402 851192738 524955238 594316134 252737352 345367742 846964060 390774690 281112624 663589770 995326720 307516462 699352206 185826826 570987096 222924614 197525824 210291732 466920726 77022578 671124568 393457536 177469752 857962526 969550312 962467340 668019760 378222750 245831802 159376608 562259214 577972032 974256620 887203106 325737026 505044674 387117230 294157030 915825902 503305288 788630306 198879206 701051636 768280548 843855806 524852806 211450538 382817230 361810550 31247964 255502304 115951050 213913050 403174498 370985224 397265920 169044904 16588882 303298730 548061546 494043062 190418660 571258794 886319346 15927788 772096228 16527134 699834382 570953048 808013034 205741878 254283606 830875956 954023154 947817456 872210780 394533590 828331572 186091486 930135726 784413162 534928378 991716258 970984054 715911374 448076444 530007846 277550884 128002820 115843504 726999238 473730358 661743242 348896370 845850530 838861816 680080846 488513934 712753498 80653768 36596280 507308656 4715088 223121782 354976134 648813592 601518888 310888720 135281402 517545164 267658798 185140654 293985774 38971324 475283806 749464304 170201384 120463100 707614886 494251184 445496814 587510192 121686554 216629948 235821098 19412748 768689968 181896940 201925418 232530268 604409540 698747972 353419998 744677854 702385516 764476688 361755050 918583488 501475394 786263338 880921686 489263336 419653170 942674866 43518432 458288162 622491322 644335382 501307322 449814550 551016316 7963314 15928036 433843520 17575936 958825482 581252292 906093562 228696610 998393312 646974532 904216276 427585482 705720950 585209746 437827202 39293274 214300914 831626842 626214696 63671814 138726802 802941414 421855002 998940460 570497126 234412708 800346696 318503344 754702346 589971176 197693762 590664464 506419000 493546674 15361964 964508026 926157324 303663696 818082902 135703396 72221362 574310708 369070046 574886596 622497828 237422172 621959696 715431696 685963728 242651800 678177168 310908934 865462442 643700202 460660606 54424922 517274958 464627604 608169040 789490024 489638948 804637244 603675538 286781596 778550214 287214360 471625574 664451928 931820152 235970024 928087710 255664326 698296500 206561246 549256628 562505868 601599294 300503558 287044964 518614922 269749482 154254064 970245806 423352446 867030324 842641202 179835058 972490970 739987580 819044172 433863226 426364982 675823956 401435840 31340912 68615538 132193164 632423286 389054368 9771630 102040662 105307030 573343272 1952378 845188860 919847698 189788702 978336908 426321384 925271912 13333084 915467100 991283888 822057046 903358708 578073774 191452728 129895496 221851810 449285002 639548048 415044538 136608896 560425536 518519932 255194926 735957894 979548432 149643534 145324130 723778714 695779276 812158188 485395054 216070752 969802196 359861922 571878590 287169200 725403066 532073158 496904610 521549072 491566150 375229514 430509286 412424032 352492886 147090752 529503320 101228372 653429072 738060186 321653868 656953822 35142580 665435208 522383058 387486210 91560746 868611706 721428554 568330892 778951416 456076740 213034258 737598078 734160632 739874670 217636392 724248950 386588330 305737464 522952756 198522276 638628220 87747976 354534026 501836088 664886228 871319250 692153188 813361268 167633600 735336422 263236800 345468708 463944954 70923456 109161768 882616348 248629214 41944686 877004840 107258536 489009338 336477342 182350754 377065694 94959740 136499234 713534712 192024720 38343222 52222998 481591328 141120204 16403244 508841984 679814752 972007288 63757196 425839556 286716712 425619282 953977950 824051598 801598678 245398308 821667178 386821052 687514344 606325056 422217326 992189874 680543474 976115500 664145638 427717436 869082310 586906892 341912256 916384696 861318504 598759326 854258438 901323554 716186152 918626720 91243238 278622314 343549090 13857752 188293888 577986690 352645550 341909882 863705932 787941172 741594958 619333266 360743202 37184968 116845970 568795798 217924496 930290542 434233352 23830136 83054396 107925814 309152352 423299336 328561972 480346862 160837410 318755060 690939270 357652096 880031250 712871124 755531336 720449724 481417734 812357604 552988948 284355680 316297874 433109388 788928236 850010074 828410390 801554074 917088406 27842092 339800744 328987620 443608826 263989336 868386622 878046548 314681782 69008170 107193760 947805670 243923792 393214878 320237008 109828402 86174708 624118000 286849532 127058578 414504320 832124340 522470038 981389160 374388362 504871844 128609072 163440574 281718394 970257982 72172374 705045066 47842974 758167884 604334770 265556528 697032342 989186426 763941370 536270234 291192936 719672698 380265862 49642226 934294154 441463746 947664688 173567636 669401290 377598646 53255196 420000484 752787782 20803780 492318620 46393516 884578436 618526272 827578482 841798510 405634250 340702334 65833846 362646126 857203688 358918888 598375924 493871730 852987696 719600664 602820140 223056944 750021878 231530536 735709104 516156346 540890176 743403098 339619334 516219990 732242956 621283784 96068600 694341200 95189184 973296818 974024020 190424976 50144128 99257274 592266136 833312154 359272588 700667496 739509882 541273212 166930378 784847694 893446528 29146560 655402058 8142924 556723666 700321980 534961834 935568738 91872398 94521792 714453546 43558504 525843000 337434624 899840162 547625072 142871716 341326734 719393288 948153066 621827640 142988330 34856118 144318136 785913606 148656830 156567950 136760606 610469750 851252880 721573994 567059512 612378172 208205342 443306558 591303502 128842832 93859964 119211220 464445978 932616202 467530816 77479116 149835602 882260040 818779036 811274158 112522006 424954096 211467580 273634784 231432594 282247774 575001404 539232878 666122678 849729388 844131604 651766072 55986188 436506374 974323168 810728830 422899054 727922196 922599112 107137276 162271250 804665762 148868500 307882768 822574096 634300514 767035350 293806596 683835098 568370300 800141744 836764402 955151022 130696798 653700682 45619374 483581192 128416274 336046310 267686396 797623366 187892324 128243694 215264062 836521882 360815852 928991580 853656882 17537602 105672874 985586874 834362518 905074592 790468980 534424192 890321058 405424144 880499334 212336390 85926732 485253836 699453734 653432676 788761950 136550740 107164924 295644712 950473162 971556470 932468648 665588060 649574468 428223168 230465666 600064430 561150726 914905406 800021740 730353158 582899506 887146096 399165112 946539350 72336432 350790694 155185946 822941830 380104102 293251500 21751710 899689624 697074502 791923018 862865702 505146112 773147798 278906686 304844972 718564952 700790612 681048280 677836942 298318852 323910324 215414306 300836630 46131452 579070208 272410992 674238546 455921412 258422832 270467018 921574992 387351508 460348108 341409716 334243390 252678048 522348670 562249510 429208734 265284298 581559932 47722062 248561220 535596394 165379458 902717718 281804270 792706148 689471348 154009326 796782824 535093892 20626288 781193468 303422092 707379830 659105646 298592774 391875218 115984718 872981212 896476506 712040126 397349656 566737674 186808884 251772020 902529666 733530920 479401450 891335570 626988760 347495418 49853732 314590346 260454396 18860850 739397372 255926826 527667952 806582290 506190380 322027372 449242796 104256928 771662826 374287926 196939948 798197262 540620486 671997928 703967326 743564950 210551726 402901526 299427200 673839260 277524884 59097662 412856956 678776528 589990604 382082490 74958600 519205296 164458714 623680880 518790996 236428020 741464902 578403648 657591794 543744070 118148682 483709392 615330848 444462190 748492398 783580956 393954216 405076220 292852338 13371688 645979840 69949588 523652182 904533724 977845592 74362582 79422594 662558720 394936818 102088852 59558384 12664488 982713098 929604986 103411772 853002266 976163146 15670018 899897260 612651980 535310662 192483396 299597316 471191608 78721626 909112852 882813972 978649806 618052322 862616382 389945040 459943548 883943282 21392990 271834082 704403846 161541636 707135798 906678860 637407878 748273260 166890274 61595370 259853920 110375638 765540838 699201804 187919828 618917986 794677094 276071938 431449200 595130266 93631658 50398424 538373578 566482398 647243754 561117746 295867098 238186178 377126472 838107062 868263188 307575704 451208100 31430752 650774878 181651646 190527862 67745296 310707130 245461158 536104388 27492090 856692634 797692108 821980448 523610604 822820122 343046832 725936738 310180396 11816138 498926794 727886826 38782708 603192540 755617702 663135302 903735676 372135300 72842668 46962462 658848830 922820158 74265024 338739808 618355596 751743496 426041418 850692870 934325094 372370614 917387550 269868886 459765390 257533404 705752122 961876542 653946332 646712780 863013346 350205322 949950110 627198144 912214270 318397886 408210950 193308904 325857330 430429992 673596996 301631358 667715316 924452016 664664220 745638996 982082122 768990902 608033168 943473428 491425856 671318456 878891468 109353722 734874600 927369530 828823384 333412900 720253772 381097832 594581142 658287934 984643432 153494152 969798532 603707882 837248080 502614768 545055188 821379596 221337278 216359904 608289734 444543448 191750360 424587494 680083066 905063858 412351366 157778736 519886096 25328152 425266636 789399048 644429380 8049350 462919818 300153756 101210032 199196264 107748906 790134464 419903040 631860216 807894948 15203610 777309150 679543306 520415362 993846310 247563350 53733198 734056860 7055454 12852130 724098392 196962554 812485694 236356616 683179100 145492134 792720624 484372298 85929694 599149474 488758582 558018434 212120560 180033668 228982858 103315062 954818382 712849432 545027962 189592868 977932550 848453540 118295016 616261622 432161134 50391716 555969060 988789824 43760712 759007040 978879042 819957594 683058470 839362652 815795840 513767646 93240460 27524900 115270098 74286098 648829670 576057366 921561296 918138500 673151076 192037274 764774870 54077202 82705232 50727212 219484214 457867202 617000574 670225600 81460678 675382772 556698768 722049232 989282692 388418960 683680720 605750986 985093260 788110670 787301448 708758014 489461638 135189076 241780886 855897548 665215058 914915860 839796766 463798056 674205164 357452714 494405592 686910962 274626460 474854366 568411412 423324302 525265090 977925050 746015138 936949294 200459042 267530960 183263338 49137268 612063412 83194116 313340722 358664962 891099658 607700290 78804622 34210152 893926152 525012086 431225706 783032206 242402288 763105178 791259088 863273316 335444652 273887438 618723226 47916828 699534980 151850128 394236764 970172460 121050226 933032316 128804740 897581370 391768938 677581782 662198208 660661538 459051654 294936426 5983200 616440136 52460376 634344728 856527156 643648344 690111266 759584306 936522484 658085258 611808926 305926286 765817304 257347406 575410630 546601084 150526038 379218202 88049654 436391442 535364234 297687392 230553688 930138186 202618612 637435250 848448792 426796442 938251586 577108098 640015826 1738756 347031754 455092576 619467808 47636508 145066260 883761468 808975974 457099016 37771418 13876158 402307728 413057850 5609422 669362706 371558574 589761756 341799488 130194470 439469580 856263260 321569508 78242468 382911004 149963536 232454274 912565744 827767406 228497908 559486596 150596782 213942556 935707700 147486468 424142408 23812808 542806986 956827556 713612520 949716660 83967008 651842984 581964064 590188940 786258282 397796280 249441274 116263618 97091222 223241692 37678546 485254970 984169070 53962628 21637542 151691512 538050420 654349414 282105414 811813790 539515006 330192244 1024566 626502536 543619216 527662834 261863770 465388254 750336536 988512740 207912450 922933964 224102086 957307650 707205926 762122652 358849678 150609728 286186312 969946334 453016298 577409406 40025322 130806336 338819140 476582028 746049212 502783870 35846550 725542756 78744152 542888006 921465346 93472048 234961396 5046696 837554450 878347194 104096256 87181090 39597518 692680202 80357908 808752456 865635074 804503934 665400000 89742140 337692636 914771786 428786620 203322612 889642914 115443594 903385046 754731574 55374016 309462190 549972582 349080554 703863924 757881516 736404694 218968026 673779404 645604224 872855008 497782824 283476644 988310012 971663386 955815234 416420672 919447054 24599752 705594244 470672262 114730572 854200394 423477514 505890994 968481394 858929444 967147438 702568348 279576710 760563424 720609970 98308946 635043702 844530976 84785182 755330230 890971914 216655904 459115782 909417716 603814294 458334302 908268410 682536062 323519350 426200444 240902290 910120104 661074418 325442678 83637798 305783748 15760138 117313196 463062156 964585696 597604886 773770212 448042952 809274104 643501840 253056874 298956940 826744818 249006986 149061258 376845800 78672326 187397804 292613924 540624406 549998108 864701592 658730754 107249956 710648984 426530708 445886518 510964602 609248520 213619242 508912004 748317794 893252122 92415054 170065832 243283934 619987396 249993614 924136436 941101078 791621556 848296944 308755374 902923572 351740838 678297360 308697302 831169182 562431280 414517752 981908076 399281308 410159462 647422422 293093766 311876024 883476616 331795380 35404062 983354690 741575398 950094742 128863860 108599964 293598558 951804434 59698094 80848076 635416666 924321016 886959116 112918124 169263040 483428134 99649870 839038732 696018712 308315204 307721390 858226820 100473972 635516986 848145912 781331424 749860478 83439594 502988848 326313924 995036950 611864464 583815062 879151868 451070924 953255122 360172400 648835532 615805016 789280254 842879456 385009798 776002338 942910000 827120198 659673354 124079430 18215256 194743452 814785144 59248004 177297458 684580792 76309972 906167582 519487654 813275380 495688280 838793632 944325422 232258732 391239522 41003316 595264116 803589932 291591410 320712616 308705794 879441308 585349666 872211066 215123412 254444480 459424982 400016156 116926442 506924736 101124668 576158140 559845524 153561686 185174814 984322932 557347520 106396420 604764938 821960078 875601198 272628046 570355894 258829920 617189424 163166732 634992244 306224360 956765880 897873938 280095886 858205594 123907740 557064140 255205882 298126334 493524532 137150074 49823570 735680264 323867422 170354066 916643416 634260194 521879864 455420228 879037080 534785844 924227314 49032594 100957058 600791640 984940428 670532470 88021824 424658476 113275176 601764582 519552122 803784492 619297832 957543720 374507256 731129536 500594248 622917616 822850708 627533252 338600934 524934940 264078026 21701988 699235940 237157798 672467302 945768726 195844700 829975918 904365364 766056830 490424930 531817088 805745922 976832396 663539014 277370798 160245168 199517520 602653498 199309566 684196302 807446308 469298530 251463390 83642236 798819210 479602566 687491290 116435960 956765818 157836070 478283584 437934780 683114198 365323208 40000860 197321640 691222364 68646444 102820428 257041330 536566156 863170500 598083840 779976446 931423934 846161522 574582388 520018944 703493646 446665092 50264628 575803964 141510904 675246156 665221420 585946222 327853588 633894346 376619768 242456048 50881454 73834014 200248812 395163306 430129712 835515636 130241888 562566092 403302650 694928188 300293822 985447124 536155422 724610002 67456856 158398436 432653740 322367554 913502606 339934632 810451050 886543218 60529690 388708078 989908710 264823634 179902538 40615570 80815944 74454784 100664392 288069342 253208060 957220578 233918882 661701510 223443330 25964970 747933108 139598140 290436750 494534388 990911544 693582826 322947488 84214392 783832072 407909464 889812500 375661332 599601546 638322716 496209202 663426236 938235240 945438280 514545216 555426146 341493724 449474150 295034182 741038138 502823626 721009242 92480788 617526488 959930248 17652414 750388554 530666208 225887948 428705766 288345746 631420164 909543840 482689020 419638500 173679648 817313074 599038330 437034870 799808222 952741634 229324194 359317830 417226650 491404906 732767894 590219062 582126148 886762258 386807598 764788330 271972002 467157494 76435608 854402460 256894414 67905216 935073096 252050792 676902080 365579616 561393334 585268356 113974854 250880480 785527520 655320626 714805848 273552402 760967130 394309366 770545192 783917874 190098606 833139726 17473950 84183992 802114636 648705294 113656846 835359394 505960086 583302074 904495262 880768100 567384144 833500562 884605698 957769424 776785568 793073658 484356868 676809424 493431364 655945348 805254330 918401824 323473888 60153064 605952826 79069270 71434702 647314400 381847142 975465246 175092630 558009564 354685164 826711574 926483326 205229092 867744906 161566706 611343122 564446896 877617410 724914090 170942722 220651758 928904824 79282560 550129802 3588202 214300232 235749514 307655356 19404134 251428006 567989542 561401868 483249252 554116346 858481706 163796432 12232926 181744690 89121986 530062296 318762238 508902360 270191806 737615390 858572454 390999074 981084994 761519558 658342192 812506696 997402544 854575072 168517038 300434272 129640850 147454976 456225712 953492684 370117532 569320898 437342466 876339024 848251088 844374386 853638924 395092710 61998842 286258608 802010276 671639516 238084574 549462004 13378910 332618836 435044604 698603692 350019064 976155854 522961602 382892756 377518076 672520974 821267326 421360400 889604580 357244794 364432620 338715272 533130578 1064072 392135752 326043620 919673094 827515146 783627078 659824278 188562876 734201492 654137240 885002682 695335532 813546992 944925028 594925398 301345658 404590366 652499160 837529260 818086822 210804856 888750056 971371780 657437894 112926750 954730892 576105714 12968560 382754336 994767856 354135656 831548240 827627412 980846896 983104112 646842994 795520576 833065802 552695682 823765896 641658532 854993550 77289766 811837884 46683438 441275180 657023274 462415096 415328282 152010138 685219088 294019300 85244226 607819366 353166724 70028762 151176372 696167658 560047102 711431086 956365046 539914138 109368552 462655228 231690470 709306760 693795440 10235046 671451062 955072534 830453238 656446374 700999346 22206052 484438906 587620606 301553334 32588538 684866716 183153854 346648258 679207604 657790996 657847332 903309118 389961054 625296634 521898732 574090608 788661270 798250100 360555948 413858306 386731540 759584466 374057104 978617572 569234336 896741410 205417940 272184432 916238060 46406292 11352136 733027270 400873848 711484198 894231776 779787800 97059658 316409762 84540914 245476966 907902682 976847554 794383808 846160828 301302178 238880314 748703660 706425034 561716762 968222114 915724574 886848456 532716104 532127162 356770896 876045120 544072740 298543398 573312768 887991250 878331768 509378924 250021086 414513656 757758368 750429826 495486280 231191046 586480888 541309772 618399522 578811420 51484864 813178198 606164836 466497244 703334196 90938328 359684386 26496984 224131422 803336258 617562010 655971306 794342888 747549230 481795378 241620770 987117120 729156674 35325512 398192936 711288820 604728854 604113996 346414504 403079124 863419952 164071828 573367462 66842120 600358784 66128400 832115086 862497566 853767320 588156490 195462422 51523664 614236406 266236712 406468756 937816102 14337620 296350174 865456454 695121626 354180258 302432648 827124860 843483730 3641536 15801666 992089000 830157260 207822202 188167914 994774184 973915300 634901898 309593606 313780280 598583808 924408356 810342000 52793002 860451264 658128680 60151632 303801990 224748644 114753546 51330000 269362982 616926736 241967200 877926788 457603836 309742680 376791682 553817656 181097046 916259448 211992262 499856410 510352682 464310862 498207800 108993420 498076784 78699202 769612034 741994482 127698274 132476510 375975470 327049130 852100660 533020052 565394096 35418198 992154728 291146346 655175012 531494120 2662428 751831626 408191422 596091300 277763586 761725144 84873900 374897616 254899662 172144816 58886930 782512628 710024510 718039768 368633308 228574026 588491972 508247112 23843296 499126710 120043034 84921070 216742532 297081812 170168750 763381840 697462026 957262712 974905650 486457660 294071224 470506564 86750206 160280712 686389958 156329244 30564388 418654682 24683116 874544556 773990924 875696596 26338814 840401214 892983662 833210742 564100930 264816856 8818810 977031944 176747658 154238438 291357300 497079372 498363378 710252286 633191804 983452662 653453970 368151526 485293582 934006504 282676946 321519354 690743506 91625244 192665816 989898556 556115990 231714200 389139472 256755554 186162874 116520424 757220538 345952298 473800410 219188692 983093070 514865628 633258672 226423632 711749636 292453554 872314930 939243864 895962364 480948584 759187438 289450692 111444234 359198568 150527924 52767594 80426626 361552070 193435310 136104460 988796248 711495496 406841272 102144316 219002592 428445640 432139398 823201600 522868302 427409138 487311778 478702 360694354 251844376 950155944 206696270 881950074 835822090 989216294 573189104 476242680 697303682 93635420 935211140 707244206 923322498 782169974 707069006 108905116 14906800 875323360 346629162 793200684 673521920 505168996 867588240 807626728 995418986 965892952 206823778 47340532 303623068 378023594 967745450 552253402 237632114 259621552 443811708 106557840 438803986 912730310 407633142 934498216 414295620 610576030 632078154 885986142 542923300 773293460 952646604 225410668 20424234 330251410 746649554 988350284 783760384 955020696 420792174 715714474 554197726 891533640 191517766 621836286 221571912 951098544 912822954 887435530 578218134 454360660 920661776 501144618 508366672 833274264 136945518 525027228 163781932 277972370 715244344 724027864 224981366 829308398 991007452 812798322 314164118 817357596 226201314 684921698 35254188 41677996 279332174 347294568 883332256 130732060 529494830 459914998 223061894 542664524 851610542 190925280 405021426 594598532 205009132 410171500 134617834 925427980 45516784 723679500 905717184 430233582 785817226 401140264 621789142 808534022 753178900 105936760 839287610 462177354 238289218 533867476 556543328 135276824 822532358 742925994 425839834 809462412 728938828 655891412 408637478 280484916 933547270 954245190 688565598 250267686 146401602 573046674 514415768 153982748 657950702 809272116 331837000 349047068 675537746 454229206 421329992 766308842 461570496 649936706 235492532 178868558 183900714 36235936 738031782 802653110 679541792 993370450 675854004 252108750 377483886 682973554 456523216 468993182 221679450 12189840 834614296 935650954 650927216 132514276 949892988 869316564 343252802 429941372 882672458 605232600 288373770 151233816 996293018 955774948 761977298 451197206 140541142 518128608 836512988 155714492 97895590 513403912 329865846 835363364 246539162 285118046 820252512 616710878 658702116 47396248 659014624 774202070 620251848 822047606 641671746 417170362 577019408 904706732 63311784 85685380 737947934 69297782 420226426 314541200 533586652 264489586 713071060 32121264 614058236 929500182 104408862 961706776 336371364 216584098 202273380 659679608 903554152 737367088 299005404 459815632 257623580 788287262 791709532 229292412 873692646 139653346 172970366 283066536 241136294 316717294 955336280 780483916 355055334 93080768 769652282 127285874 626473898 642838714 346032818 935347934 399472500 896364052 319088978 895513508 106979156 606032972 884920544 282315082 381018858 647620312 827612660 26114344 820268400 931159548 213380310 2004752 903517202 148997750 752968340 917977706 563506084 861907892 264664144 394956606 387373166 424110480 496704398 13644054 88121832 496874262 588247198 258518156 93772678 926368272 942802088 397939666 601772036 510649138 487217232 970116312 438823560 181514684 774032056 398786168 927458580 602568948 16413894 4733872 544772584 900198002 8220878 895929996 452649258 204166178 951044944 549021096 575926604 58180012 715798654 513023916 293882826 353476466 491771716 702573142 275448002 291825550 128833800 372908474 905940960 526008158 306468488 218514660 91025610 731227066 845664678 770540040 54766920 445189134 856881956 2045728 939300334 221960240 36922906 229228546 190551984 514406312 946330678 266398836 18214492 331211350 429763160 259233044 810516174 849678338 716296590 898075852 66745872 873036268 157160292 858842916 666154374 242332088 577470608 579722802 836475404 503973732 392590808 485235012 972657128 632367214 26456032 280558858 678032164 114542210 909109656 802381688 91109140 967071078 85055742 532320432 952662862 160142372 211220378 104522698 552047498 185195734 764166648 111334832 189533526 817689802 999195734 207297936 544036230 860637218 211815268 624796814 715990404 294702360 274707794 715752068 403165926 505825612 896717708 529228766 127478130 271809660 761115112 441692664 426120594 265657678 90251066 964584032 393743012 189577188 950214698 92202654 606423450 504253308 469893754 114791982 9699872 55118218 797220348 423178660 373473094 243199080 143972820 958254502 306232326 877158438 221845488 849882974 516822334 377585384 997626394 590225400 528247994 491762900 135561198 140739402 257050826 533815286 855115964 329580308 999515038 738774036 886686432 982104292 744556956 380877676 35651656 298753142 380384866 911923232 424669148 724862848 149241154 474914574 166791684 6820860 204510424 153879590 729479268 426973424 762646382 775166596 633052144 705508580 413546746 656620814 874195222 954555672 391694310 334026280 498817072 781533642 915190284 435169160 467399862 437921680 292850224 985997100 924301184 381564488 642607000 66964442 305640606 658681600 614036570 380711944 576252604 862823758 29211310 143749190 546023054 901114206 485380166 59183770 851452950 427916852 49870494 264243132 813158848 565191482 621541878 666494260 501054026 461617134 162718650 733735442 874250540 737002528 275948920 145105388 263270134 104725100 332397808 739356974 429025136 112881522 494862532 440098726 478100906 217951608 270893286 138543316 226367768 948263314 225109396 227811740 557240914 759952452 864148576 39829424 348850172 425748224 185290698 981272656 841532392 283354066 683878086 508825892 512808350 527966052 193069936 910968312 996349750 728337120 701379162 610696676 801722698 787385220 548671198 694979266 566601676 200096424 119399548 93997134 790396990 78143060 391374024 165996112 113074498 365635080 489843990 695172844 675165036 525466130 714363014 56257060 937096226 126126162 657199232 446354710 152311200 575350956 629794476 676073114 423669512 480552226 289896866 519318400 971709822 8226424 941085046 541213022 499062852 162099288 321505144 599930020 298277236 331769718 376367968 662551396 854737484 367112302 790582708 700570514 371110910 117141430 308102560 965539480 463142952 269483194 381427462 979909294 611641190 929663368 615683864 495480922 785310812 366307972 824900260 43024526 318951882 201769108 46372720 557529970 235949864 279750686 1477562 47668392 502420988 454710096 825536960 422622680 715183034 591370348 928005924 688797472 210418942 76607062 782152154 922543670 698456616 145916740 85602928 904480900 890671742 667566192 858770314 824067874 35936552 364826302 5708112 469407730 201167798 961090604 986381734 527555828 599736600 373299034 459750146 619828658 580894392 406095408 323148996 115452880 346911136 257544046 736491228 966151778 404889314 241836240 759120036 934509232 467518462 981520198 231234582 911157826 866984282 608087288 252372834 804520522 766391474 962285412 983176256 242484634 867439992 257241490 125561526 845286092 492030392 446477490 104877150 424976992 67538720 575652162 268296710 128073080 72988024 89626694 411608568 936086308 600425130 993972770 809167008 566724824 476693604 329306916 607945946 192209508 418568810 517659836 370453284 614169398 592112120 76857780 320874052 196561750 709675598 716167002 68507724 977845768 549202176 733749990 180128382 303084410 552614986 891297220 582219630 523113946 272382872 852485920 546854798 243962806 234450116 938609164 279807474 623493476 177055554 766749756 157108960 212528484 113987958 207820760 531603826 785747494 476145978 506198030 954302200 868868202 853428956 222468456 45100778 26986874 394368510 116348418 868760856 25983414 130781284 132947894 373768234 702582688 554630782 192697024 943005328 821287388 264211398 543696526 197653856 100881588 373033398 600321882 227701114 825746996 148655734 514513564 276839096 738551696 391531948 269098966 490055840 586315540 400716262 816928370 978035052 447984046 961858448 62312116 526874104 793724792 840288162 375425716 72261506 164053458 654108006 360980646 37350184 309206984 454212408 568874688 348071624 913552536 734144454 723247698 544951508 365788506 850673710 632535546 516673670 287717064 333127270 892768082 956598006 668829970 578009598 947086076 912315704 383300576 681304726 253063386 872355770 480902568 437931328 826404288 943654 425309586 479611330 94716496 383976314 16976912 882966066 404711160 593541734 606578972 37350398 392122384 564487184 70031072 981306854 461131686 116704706 986862464 804577404 465313878 324972306 391028562 64235558 680726922 360946222 914539064 769347554 617548292 686775846 350372472 651825194 56680764 424073760 947027242 401134808 772198220 436189490 928839296 259002844 572599992 922646544 465860622 621910344 400626944 370994384 199434022 17176160 776136524 923793714 16761138 915326960 841442360 498419138 992306290 823389134 539839880 379145512 902368090 123972168 263764994 379540634 106331720 706501570 533170838 870528468 18372724 255674804 43199158 46454462 221756174 243296056 68459376 542694726 78642522 61460226 524984442 242903230 700544088 149969556 750978616 75584742 957709556 758289090 405773672 570129118 373459054 745818530 641444068 800734974 602669952 511100064 710337646 288368160 167302966 838642446 923936924 176432984 970949762 881766776 761677600 602002654 892891606 144666214 638403018 974575488 411169752 226364348 704227682 568612844 845571882 687436290 699099170 842358248 235369536 164681850 489076914 420357794 981687090 2882824 845416480 399633522 655667460 88447574 708160302 673165364 335629894 865953030 98128090 4102904 586440598 94621216 70182280 184691750 90922952 836599588 144773476 149842146 173866520 721139948 33909662 599691836 563234740 294034536 267981138 414505530 976227120 463187854 997585854 239232266 660606028 896681144 816416412 128609342 195227086 666289814 579761300 174620946 682147586 749346770 847626216 702441302 312917984 253423496 106820116 121137428 315893726 292441178 254243620 77937058 326620174 591528976 952923858 976695864 65457244 319847014 749750666 470412090 576424336 98695750 529052794 808485756 320524060 466658324 353363160 826935200 575026502 505873720 115119860 46925288 185008988 874158702 31998160 10208438 128419936 10732296 712359380 241446094 794299194 241347988 108218858 925711316 1131820 922134012 866735732 241431430 527211960 521278792 617380738 343328326 921415178 475133828 289140000 120459482 459383658 76374824 138074244 875758202 228003736 253206628 825846488 969549112 502376906 50971028 771274758 330942874 303422014 270186996 516593732 115476482 440096496 732057148 335820008 917210572 591676304 361256144 127852590 50997250 2389672 782474410 521422488 477274534 717464624 810960296 547554174 306651388 188318536 884017486 648125108 105282156 319861994 551047462 281734088 911578430 876887616 652398200 917878374 253997284 924331484 161643626 239838630 699885978 394189526 606605288 103681790 24881106 782565372 516909866 240343120 595946754 430615478 597172944 817562252 115955356 527560698 91297370 381121282 72974098 94769912 771344056 977566106 699991344 143667828 735946554 53162178 774364482 208523828 966514406 854806438 154340978 982934956 775238690 581862272 940683276 307642570 68555306 380883684 248751944 726769548 512330066 63950826 483166188 546566410 605797242 842095286 763123442 208026046 377845202 342553306 132470338 770116202 432703668 293848504 46859376 729581618 458883392 885926604 183779932 360497102 838389256 861862468 412830784 917456430 757128842 119869244 288367724 980038334 73625706 412189778 913045472 884865498 930241150 821180454 893171816 982982790 81767654 404041826 737492990 928960074 627015070 400956184 556896910 229960828 685471600 483130892 840099998 906198484 395682390 741932980 981574758 923022550 440133274 10618826 739949118 543887522 460172728 252217054 189087556 215062312 404178032 290026398 892667894 516944112 552691904 38452182 98790936 480750748 683317514 839071200 589329052 961942388 212475600 373847768 604619528 849462584 436080128 398760832 986255532 293862988 457314536 772405376 197230926 240458882 730199682 776313820 632823652 577387666 70631716 221483390 899960204 178024482 53293586 471496314 411892564 377129608 618610818 636278066 859207856 809679668 507989682 749961902 622598004 193630346 914508572 464152988 561164288 737755162 918374518 717119602 627951620 745406300 491666576 108725736 184038482 756371120 199584124 700253610 490521004 530851266 626944798 88851774 769692200 159436332 974963370 214261486 7891212 850207838 33263806 247718566 237315886 222156848 631819726 579891572 752291370 843477698 642082236 378351678 446216808 934142806 861264900 769485820 322956146 545811328 522417808 512855124 915831640 384939178 210230762 225352856 60325876 896227306 740822582 559745712 589048486 347056616 200433744 407427398 313947352 898093376 92754484 60798922 888066786 935284402 455096130 398765360 35222854 970779532 825719878 381329590 707651510 571981496 538566466 198353148 35170950 271661852 797171750 887920760 541776862 873584458 596803748 591097486 188837654 615457232 956102788 743488110 733283470 841416344 393057196 220058110 886892616 931404610 493954832 191751292 867176192 593180492 746294106 970245266 904654480 609008922 402532374 50329122 820740272 632046144 739218238 822056970 269916390 192428650 682064410 577545400 779304160 794982144 149521574 219433546 213463942 996741354 732803478 13792434 876807444 945720396 638246574 760837930 532292538 854220038 824350654 126012320 235437174 148441084 994388398 772733338 911631964 906570808 101880246 79946328 756444206 961399588 862991580 284539494 584288926 492021792 920434294 896092196 936424094 339411034 915747562 820268286 345132148 487751654 606451490 711542572 749398004 238252080 899452730 139016564 526478330 787037204 229797676 455662350 770646444 526062202 728851592 318348982 341101088 232563496 458981358 92961212 995146358 184877218 983300234 632900682 10105370 86694764 448528568 318693616 760592782 646846420 316533184 961686896 899571634 164268922 924375622 290265780 96532560 423634190 393594674 273270892 805637792 990633302 821276974 723935782 319969962 739556516 981851320 682850696 775738544 486661236 595822362 861952728 582513390 127468728 863422776 85381144 186958144 74428216 515984212 339981682 285618300 581746058 700156510 822267760 585924020 262458854 610439594 527851080 738458626 854885394 207248612 974401916 731913416 69074300 633914746 197517312 676268424 679959208 470059740 465145694 900584110 877900346 114454630 436093198 351672660 385722154 333182798 170272532 828933876 132028194 483970324 26220022 855936272 556204482 156390600 973931476 588825222 496286538 782533494 895665756 192539700 805487218 779284618 205942316 677088744 334893974 573616132 687206526 443546872 275718884 208144812 599557976 99634560 962685238 728705592 20588738 564549852 682234796 140772072 448032124 17880034 164036938 976338374 613168822 940753212 427728636 344012472 233129280 312949446 982294074 228137052 46338242 940769918 445864082 576613144 866672418 674614134 520457648 566694724 534940394 3236024 106292886 183735178 383812738 175291850 261269208 164027292 123131514 318373934 994228788 506935252 911058516 884849760 298412284 826964608 347386580 831346726 572246202 710678228 689358146 585986916 984644324 2153238 689719186 828476378 235762054 620596024 687030664 75955822 906392446 190542298 4734630 434427478 737448780 410135938 949129888 438112454 94139440 975629548 582540300 64025132 692731834 380305814 484256592 699653536 116726518 428333418 628161370 218460080 942092602 853487060 858624150 986569864 603149742 818797562 892148554 917309756 742611466 41897294 925861656 480780114 434369838 84707544 697335444 458403262 495071026 944978096 285843756 601666114 568976764 237790192 719671366 497361938 463292338 686637926 185970474 177095656 298753894 365009588 636180304 637654418 145571948 986616434 578540586 518383142 728854456 566341666 987273732 324681120 742642000 304619276 519358546 191681426 85389906 936261644 322651164 332389836 677472818 921182536 728966532 609325918 87971344 210694148 232058128 605852272 118184790 812557814 108598686 279450140 23892152 269066272 137474160 530941452 331627432 117558224 591514554 144440612 124564618 117714574 894974454 684251040 240866340 37217864 975244166 137813870 490491166 794681754 553044522 76975460 658272088 866374368 376309494 647344852 440478932 591103136 44641062 465799184 227371242 975107380 717715940 601599332 596092186 664095560 875338056 67344032 225627944 699081758 689699110 560068912 812247662 604309578 958008200 290319244 975708016 212864270 848104858 105975726 784897118 844584276 740978654 545274760 743423558 77531488 929326222 853428092 579577670 135420422 81417696 89444958 141828970 82797880 424987602 451668228 496281646 72584418 556510008 147649256 478889458 761695628 456297258 222433232 140728170 658402690 322002610 459440556 517887178 535437882 923325238 659782376 431358344 994578860 199938686 339153864 870581966 223870684 407226872 156492942 87838766 989262602 493474868 279076390 746917670 471444602 957276270 256404864 549266980 851278698 650792270 950414604 445690322 418504588 419160672 511834660 927421036 796260008 342377648 65222114 928436458 974583860 955381270 258772398 802422494 597310038 325590488 584453408 654649918 986549386 676629156 92447646 949424618 485934940 16114656 829408670 481248444 618114392 839642876 507813724 199800578 217563010 806953148 595130434 754342244 414289352 182501246 101316556 815197022 448507808 378862064 229008632 195573380 978973332 419957844 454228910 863493606 643715744 668257896 318346546 501665152 233922528 443831048 497429130 458687968 98700816 420530184 410265812 221957970 254262658 455312508 850478064 920419516 189937284 654713036 747199634 476707104 354299034 227303986 394026364 495695940 656526114 428153072 334729788 153581504 901476556 427652396 284350138 726526938 307658390 865565682 91829290 777338036 446518016 760616006 792620730 111071750 360152766 248233896 161466036 950391656 625841154 256798962 524026656 400234778 778795944 178965834 916903028 922911472 501091002 975147724 438982258 765427286 172803602 15212004 276757054 145420352 640052398 559182532 40347516 749706282 293571410 92219086 631049038 642196478 348227292 792882110 912144756 202026022 64335940 679351350 777123226 891419762 290470902 231477304 509429618 255044902 867930948 118252214 413376946 368034978 40274298 424218720 796064236 573672876 833033674 165420646 867252568 652436868 341663870 463709480 694379338 108702686 448981176 231489534 691742894 794588096 313716934 194540332 480673696 29684010 409762696 45499896 640410714 668671976 756946240 564454186 372883982 545194540 885361136 586741102 268370246 482627736 393111402 451974110 638202590 923147942 290178334 17718464 331786028 452224698 369559024 22531096 823766276 648591706 667231124 77234118 442407744 606590028 903423940 779948414 43597710 177814914 787012022 956853798 582981310 875670722 238633412 266445748 357323918 53870924 871257112 878309676 797720390 680002422 732115648 743003120 8870506 665371870 430338590 961158224 56764162 35703368 755238524 55195786 663716656 253491126 278454062 134902348 570686570 331862128 196210696 759620314 415858486 485939110 886887092 130987012 451548284 108076104 937694836 251171980 871026520 734393654 692836902 209420530 314572148 68795492 918444640 797748952 568992750 559446710 87160494 765315140 747060972 475807866 354252326 489748126 843026194 566571226 382019530 422136800 83156528 699584404 938140614 651502816 519615222 258108234 932937112 758781046 176987632 848689340 370858420 921554242 175609258 267253574 991395142 389200760 813843294 469095954 173521126 818689616 387493328 448918134 823996596 425578836 704408308 710566906 519716846 921736630 572898156 300718990 845004610 855255834 506400486 63336694 522531230 602452898 77346992 199673360 359891644 554817336 748619728 931514906 287350772 97909516 319558164 560094190 724174102 351780796 264053474 937377322 794876798 686296748 133126576 531092306 67023940 253976062 620829006 264686358 650613160 714474582 298969116 375166378 680509584 861338454 771979094 964366992 63973178 777470586 491199108 856574474 664692206 912746788 327085954 32168500 926775676 211646424 495645966 699346006 758207050 815632960 739390212 201338356 270601654 557556746 880494736 731329924 929085906 241734578 501747680 206236074 860845504 255188930 960697856 28721422 103592240 604495634 474381896 694995170 965953198 303873994 388979346 821891250 659391290 142103972 620049154 706403854 29054662 165568640 72749476 816499016 611716344 442795894 933087364 353963690 256053066 103378838 848039338 377969826 489916350 922274390 775387958 168414302 350034962 730983638 123441328 331604868 29895286 78589322 607383220 947065286 345964998 974402304 190218108 234106036 352853078 386927888 979600338 319161276 254610786 7621096 986030782 118639122 208168164 42279426 385686408 119235898 925637862 343864988 429796282 980135806 617616752 448789862 645606516 299681902 633937416 876050070 244396146 756708922 923136296 458003426 907177280 86179608 863997506 467455302 349305768 672462392 644386940 136546670 782417804 859450882 740469480 348364930 67425614 265753142 852325430 988060316 468037726 947614932 111242810 793126686 937845868 703133174 700626124 722294138 258169876 202436718 932801110 368234042 543809268 31514488 451852532 565571182 838588084 10689254 285834604 850669274 456701848 927104652 637849310 740685570 687385208 263996598 588333182 219051574 521008496 429840384 571872462 586886436 857321962 415751112 954781588 347830464 436634790 306466938 39474938 482577226 369552520 992448288 614416914 36951742 928744948 340964886 547429218 346335792 32889770 627549224 752277870 321106364 330778300 683898110 725100780 852360834 35408534 824418716 186027342 896798382 196601546 720179896 751293328 706810830 15300690 229373286 667229006 697067858 902044158 75172042 947140018 984504652 348814428 770587260 985988638 992025704 410455680 188029682 275570612 21607644 716844968 342924056 552984634 767804002 500518904 842822814 648159988 778588382 997149732 953706342 353400504 23528014 479663692 14610584 324880346 958574062 324841096 741803548 9945322 243664022 9843206 367424024 592544266 544909234 74230648 879693182 715431506 838153336 470977598 923553772 475616318 554078390 569237108 544595448 325705944 553644638 275610762 318917594 271468502 355094882 262597344 792927024 556563792 973116410 597662526 522987282 765308268 484349662 598835770 384474686 634998488 659059870 314415148 267710808 660177042 210243160 71263704 406973056 800746998 518761102 329207376 727132956 252616076 953172228 755313320 614611682 119294296 406974494 467986440 229350824 597592448 626095756 798392582 664412994 739920852 763981768 902465024 892431388 642933836 992020310 299817418 992199696 369055398 620292802 826672552 566260554 419331400 439564632 692081010 462620918 469277536 545942980 741992714 439821888 215227262 924487854 548661896 902756730 959232666 389895126 622126834 369483048 890579262 194868514 169014948 849109508 968036614 237716722 718681770 775245604 899935696 717239906 351737512 595792384 536140216 987576552 876819114 892263644 412299628 815964300 970639442 175955742 884122100 96262628 236862210 371693044 961237056 499447200 538971810 476240416 862679990 870878256 561192756 16353548 998706112 502111958 905794720 125529008 304119476 375190084 660914692 265327826 788426276 27986512 442671026 611241984 77126348 315544380 174993106 187039890 635588868 981499876 227738070 491312946 845957806 414008426 84338514 792370134 89722434 156454212 771182090 921944870 79118776 835231880 231108156 119761192 208011582 889443764 218506124 963717460 611517488 725033066 731955296 737962460 11174734 263634756 367556182 180587998 420748996 408131236 487607318 650838670 311206674 70464126 11286710 951550000 929178750 668152916 291046 813343716 320281270 685198422 242994982 896587650 265611948 478318814 606700890 177829740 907218640 511468638 715471678 695823526 412542708 226585584 578964936 858605040 692481898 65538292 927386398 788724088 274027800 711015234 792093806 902136016 212888818 459991618 760916128 184839654 354940236 67948160 878822464 792736676 309853200 969827080 857603474 933426836 720897874 702444636 377668536 7282786 438901642 673246410 983248416 295540844 582760864 673239512 589308330 595990128 766663284 825694638 357134012 187654908 412283330 805432322 475287606 238304892 292372676 43115346 814043482 819498554 749995296 369377230 659020686 401947722 954184640 564079036 390243394 976954226 183344880 304469512 223104152 664877358 571705588 108651240 888020256 147258368 73720824 395102200 997533732 261585062 865833996 265087684 150769532 186616598 949609914 962923092 121880424 597479156 575901780 343570558 708379370 512752848 206160762 878771224 150436624 168605706 599245102 505125972 151751232 154743416 56399678 110592990 280641890 895475348 721992076 236843646 931640662 571460738 484254604 643437610 731352442 362486474 576484788 632498534 473715422 479554426 490995274 158513326 859910502 889208658 334565528 591418278 707943092 418008926 45706388 402089204 35347136 161722876 334045646 500392700 615035634 998272838 406068976 116003566 712246432 963521280 493949424 918585942 160523524 933375270 75054454 483868166 525171580 136707350 125645952 330810260 465821588 917971376 363206902 926225694 385965100 665059536 103209436 241361926 416761952 134674454 78254026 718158052 624247980 5782072 462920482 155922446 455937558 787144586 771843850 448440842 283243000 302734750 37333482 936357828 736412042 436103422 331326276 441681184 603768260 680044068 990649180 54751262 430175604 959009496 615617662 159628050 970589754 126481858 162551036 861948988 774509358 72410524 142523194 648264178 491825716 480705994 951733450 182854978 188348328 285669336 205861724 321423260 702369282 663552288 837431768 465690036 246688450 51763254 687613074 533219550 973326894 884876226 618054560 667054028 234951348 429359952 66764286 462594476 788443598 569672404 748699876 430244090 139243054 624596232 435309000 75553648 598741698 783704464 836998170 492374924 595477344 7599118 399794848 169032900 514091652 34696364 410790934 226210592 435354262 770554592 395401212 106527288 890387120 534270616 629899632 333833818 30502410 458166412 55318942 263723714 130059036 744534186 397084576 457779448 914658206 958116156 568989618 5977304 280789800 716813600 820700686 945672264 395639256 880633494 26287202 366582340 984817348 775147320 950168692 716229686 392444298 898192552 83544554 547858844 556393874 865572684 713849028 736640082 427567170 720985310 953592708 17900126 420220864 191748756 709144372 842399484 950883694 351224216 512190608 6402862 734293564 505914608 752082320 32272646 399551144 118650830 241051338 34236182 938331138 910920730 24719950 791415216 598877082 875249454 803375244 653285732 5357286 219588094 81391528 907070234 363562324 530806624 618326176 919293284 335624672 134790752 910982412 206843574 250637300 437170880 333422258 92243438 75832672 490345692 457117144 126842448 643064666 524111318 930203990 187401140 159279400 696762582 168069162 254657420 148631934 837547582 27768404 521627644 162599840 893343878 965488158 958770902 504431502 75461532 371137862 813749248 658856666 808353660 431541520 577274036 302131158 279107800 247440416 529766720 989945406 452953352 702438968 303030046 781212018 299220770 371990358 613010262 288164258 704482246 804233982 864467654 438319584 209763606 62543960 805163408 212466466 899154424 984667984 185010922 525462846 569710680 302208672 455272514 213818150 832508494 7417752 689095826 50280160 234318722 369624356 489068678 499101504 303151674 275256780 261785502 87521102 574071174 734557650 475846708 932980074 169921422 853261506 966523426 117482710 415021424 258163612 721363838 369995952 231906678 875331026 926777472 896721840 587337070 501168282 131341556 274782926 21763682 138046514 685142372 986576720 63981158 10097672 708193898 591746766 485875730 644422862 177964874 547296584 493868934 373482300 683795464 344751928 921075726 97886414 217085380 25926610 141521232 644776244 557644612 665249044 303244714 581289576 505949790 971165156 537531800 483185300 502772768 343704362 855418998 543701940 184746472 900843566 955514714 805408452 961781414 933302374 815934940 239875292 301674560 78484652 817644178 37695906 349738884 494315088 440081862 81014820 76353476 701191278 416329458 60824852 455267650 361794038 919685244 429483552 718186930 177774192 749226886 834377688 106046360 370757010 883112688 807104842 872041696 52104554 241935206 8191532 477424994 941225898 676428146 876957266 362047142 736932460 49253340 649740510 665162998 368457212 690372094 926222140 490203620 567830058 492611546 678207536 319700736 682061340 159630654 660256298 669906222 65894574 634194812 144747518 496029164 296988834 109991404 274250552 277957576 247312812 454872110 406216374 163382254 448048340 48436110 682673784 740956448 801158004 928297992 147497486 531181740 645278996 533941194 471985746 440423408 2053242 293900868 933451332 227216568 683856726 945877764 455963790 610667696 180311636 341074174 638121464 638416108 231088488 90481140 60213958 129678236 816882444 386097224 401510982 123224166 434260596 165370272 257051734 458081442 764977288 28656344 628639880 991408756 803914550 168093378 252394186 760449650 178832174 904642060 570729054 684250282 722756644 495001604 811331038 84022674 846818610 872600934 657485244 212664406 492016316 254483666 607802792 895304858 336042916 197421690 190275086 442809668 509116584 511996148 825134080 824671464 393699032 126412408 82476882 897838664 153077860 327982988 624827228 308301826 274731702 459382390 620995372 494120116 201443910 126612958 774693572 918015610 218514734 656544046 597782976 984777170 518082998 290317152 794329796 591925914 363621964 642436028 618360478 271024026 124153838 612783010 479336028 579904196 554446508 153667284 683606284 960134664 236776220 696880248 553231996 234065366 293262470 973395662 894655488 159303166 558334702 346451072 153954558 912691702 951489026 158186070 516335222 566171312 565312032 144521164 163290620 165880322 957049582 770800432 909438426 871806636 764242980 756372818 583971118 753095266 456680126 621253944 644654630 626236038 941801270 391599772 599708114 293107896 762962734 455517148 48563092 794024332 251569086 971605318 334384920 309138900 374108050 8430338 607026772 896345570 173689916 266608468 44511956 346695986 476937812 825103384 367092006 650103778 768606824 479561018 111708682 407554710 105216952 350998910 53412054 408294180 572279136 508861186 817668284 102822008 119922208 385581672 174884272 717141850 982292828 411041002 153709152 685439884 182357522 620740238 150805266 505915086 196691916 683042736 130097972 343317048 426966126 875167156 523789414 809300962 223782836 120542830 234521788 270235702 306098456 657500334 453695864 523853410 165605848 606258984 339910636 694684224 960941454 334103126 640264012 132716830 790626308 718158310 776785004 295901086 652904414 698642654 536029256 148479550 243102554 301547806 230381328 958907714 260284438 500180190 169951674 190753836 60706696 964907410 655686014 300180454 674687614 321326376 57693760 344776656 143556114 689357658 378985832 983630078 245915770 704765760 633009728 939718982 362036360 125944008 735088582 331201740 871493616 91509984 726238742 824815026 755087570 471958944 211972754 486606566 897152524 253873894 774802512 759997892 333894400 97555100 216197340 719587776 570967930 584371464 780667128 222754132 413492496 879083386 758389858 873096696 833882408 959508222 276228260 866435910 320738274 770461062 573562564 56001898 976679142 113547790 379376382 499926090 300814300 674116292 992554806 420817602 643321408 581309856 899020244 812570432 520146842 414690646 967999582 220155826 39749680 882117952 617693568 793216834 870274084 955990692 228895216 724127118 591303164 510214962 721169678 811139910 56017468 13368046 806427334 450581718 190787688 535671712 526096352 864278400 95352098 276149234 728785472 923241320 549555366 240282320 951480344 54613536 986247706 72227686 655318688 283903318 901992400 55812608 272763450 524780760 661864950 893653226 324041182 335329302 910547714 180549056 880968008 151907822 662445650 595131994 226626504 162027632 673242290 961374670 359916248 272400436 596151588 228922450 72541142 935584592 332378006 5473078 108167964 392078002 700098128 850967798 154181212 722727050 756078632 703238004 180242638 270920448 849360250 780232740 222625272 956046738 526328600 707236062 107367032 988414668 248346648 490602846 688321436 367421256 529774086 377869284 437569710 681620594 705887038 21753398 444004186 92608108 101979282 122617032 990018390 274285590 667745486 71949938 155369624 102284184 36373326 564205632 888302984 468321328 985880876 898030124 597640882 224637074 749202794 388318678 330067734 997913802 534421950 287963826 319557584 312595456 275338424 562624178 922998038 849440258 966516776 370305748 140799808 620109996 339841148 199078930 825401720 849423998 280320966 698670238 990160438 709179036 828075740 480919752 712000028 798437696 463313350 932130148 895386758 236428342 43163934 358703082 775134494 249401254 17204354 329287662 386339014 166676688 647987476 421874118 357979616 601340210 91194898 349811378 872532820 395079436 990841654 265517400 99388154 275346022 371672070 298299752 924965914 3420524 728345770 790023088 469889302 993343556 137072788 6178144 780891870 501655416 442887814 859017300 626386308 75065790 635574342 546004598 757242718 732063706 857060102 995737498 682477942 253891220 33248076 339641190 606381324 71511748 603185950 85173666 97722902 368219970 662079380 150456874 789639088 532917302 73585926 879447930 389052018 606591070 126682518 64341340 217497802 585786980 539609262 738989038 186631434 546466650 17887692 287682434 570060038 759091522 17658192 33475268 281335530 538291950 64247536 101741480 840768204 26489656 104546272 323326030 413714738 753701374 359371434 123241086 287585398 464837312 967060898 560803982 63260968 852408406 125156888 564911012 675534854 212474166 709851846 90501134 604855494 251882306 825704410 569924626 878644886 439189898 986406426 516464264 765779204 725392522 886760204 604309070 802046666 354675366 654917194 373850518 81874774 484330356 98474812 97385542 799478276 998030200 111584092 66963954 57825240 483764722 262742334 230648824 102020016 822297510 260932174 152388204 715252614 621194118 821317854 848364716 931241592 881852630 375122704 73244766 553169034 211245806 911947744 604978312 213421108 667285680 915911066 296114486 845962252 528689974 136922258 195476632 98977516 576328800 457740896 983716914 720649976 291487418 863858030 325770954 241311424 796611296 719247068 965243900 374005984 724986906 132581568 659065944 3754946 65823716 421434942 190717652 540713164 824364882 124557652 853892490 842724514 694082570 844639714 170404374 887016602 498688006 416808492 954158600 158809558 66316730 264406702 269105696 229909552 4662856 834974704 434869604 19330408 792646940 173210978 859599556 850718658 349578598 927936884 894588390 515772704 458984842 33120598 491587046 893661118 610801400 593083152 643543806 84917514 691940738 511264098 155131090 343351208 914487802 407696452 807395040 658041482 591233596 58746358 608521588 986395352 703985688 851278510 171714326 291845214 37342132 273883460 128295322 586583998 596593726 777435032 530156524 10941802 195279082 972593614 364269466 214851960 777205954 909218988 262282754 468185376 834205900 215079542 109988850 249123774 386213744 34572170 888194534 818830412 855848738 549626018 958179470 580192910 752828694 323743912 234821920 70575624 616575930 865566288 240688294 52761428 231963596 40688980 752620200 294742646 317296068 730021304 373753412 238222344 19972736 588136894 552804668 892168554 614803696 17083594 359219000 947123588 911645158 564525366 44927198 253778094 848459474 620375696 380262714 496315862 719530652 418762850 442649206 548125104 803854924 6088764 648440636 179477544 629768290 835394040 897160526 445534430 306381500 942466114 951066002 744312748 283972052 793507102 854626590 515549942 641110750 105915276 82208000 108337960 526960696 258639858 883987024 898875556 937933362 990253118 744515712 9304332 764399858 628528188 587541898 997110052 327796534 53338510 506572294 287064574 854089686 72093900 916331462 702475434 535760652 659504012 615616780 635265772 916284410 375670690 303802512 781653098 619351616 271449422 824803262 997633312 313168592 100556724 957331076 764662444 751117012 24972368 572035354 500545316 963420818 939862984 365814804 873994054 54000988 856769442 882761888 394165792 341404224 365821642 978779050 713317114 881643946 731697148 363899416 573683950 8315026 629424148 935611596 939738468 386312580 494379480 984012432 590100834 92719340 838772262 13586198 875724282 914598568 593506892 561453012 997591260 469520262 55606042 904725338 139606990 541704328 210223610 717242178 344113124 502385740 296603310 736661994 389561322 238001894 911812950 593748520 665710476 148109094 694294866 666215376 978594286 671095046 658654598 457508066 845384134 277818536 129725222 836590288 118047062 493475972 692196298 967874996 616564070 219858012 346620956 115995082 292410560 486807640 679242066 356982358 288543124 24901962 698401234 110792724 792151280 17786236 598576558 122562380 235397972 369964790 731037670 353665592 70982156 554458624 917418862 915694618 82796218 32474498 152465456 40565354 275293706 377839678 95198962 582904278 796520854 189100342 671762868 148069110 500501594 467045852 71450602 841974944 809315918 241162504 820744450 681047616 745692092 82228932 382812344 328379962 707316258 887090698 712317848 965983220 491758040 340458930 383696590 109038570 238083270 449296482 951268232 875895690 121824752 447570380 364818436 951275614 827625858 590450210 119349180 818539638 334696620 389475618 770715194 321200294 658808558 459290522 679323452 607019008 783115234 968092794 971336304 964388682 668580808 457836822 605760302 468849718 312755802 522051310 81807514 278324254 642054390 716000968 695023112 916510470 267823584 451977160 302429022 256775970 142395782 944592736 818479706 211417566 983625184 639156884 753104070 597684804 432182148 543102996 851329560 176542836 909099184 682969560 513641930 271426264 512033834 754154904 184290418 612195794 684521346 442190322 912022594 518863550 439650732 364872570 182153574 626819192 382130120 883331556 199738870 955497648 516896340 580906400 162651576 289154586 776276088 125221976 618768236 515890276 57821180 649289128 510085580 27115542 726967820 873556988 400709004 799041102 573029394 28594368 753249530 353041672 513632268 200459934 558204868 756840554 155942934 765661742 696493124 402280080 567743194 316627308 833781852 527757802 241675838 176031378 704753326 399958884 121026256 855092462 794325360 932307438 394844006 978413252 946414646 601830450 866218378 664731270 291508492 776765458 803283594 372878206 199578540 481874474 839117230 320725604 792545836 89134050 413287260 739242790 325783096 798348904 865490564 901624194 172020410 692639594 761602266 129997140 630533816 771599474 957618212 927856594 647830334 304466330 271796406 251227964 813809230 193290158 460511716 875786398 163759314 676404500 949340070 994491360 337443130 872171880 836167048 510658350 310543636 632484598 34566018 596671836 822007418 742270022 465132002 812492202 321469120 103032132 267602802 703371964 721487178 884720964 803979428 341047052 634279584 630860706 409043468 207145112 42301476 691390494 989724300 134061024 728746830 756626096 171634586 368050120 132827952 841726322 304532436 296623752 353797470 407383324 109341584 642960416 108406186 972563528 230781100 629970938 12247944 606039942 558050508 939550808 876867904 918685634 600701304 402730322 197949350 669479452 518530636 804484448 511261480 56956156 612926308 352043094 731933628 513271482 871868638 413017318 224572412 270261670 303850082 355576738 534245260 993993828 989306354 352228318 953388608 452437320 480191176 734134224 270057378 931470286 382743772 446625024 402967246 762785070 840948530 290524408 360728452 811934124 291972472 859227434 329558698 378622938 480056456 913075490 479756380 153960248 264111828 35479288 201656500 300838016 828462238 219935392 912891756 802260590 527753396 272895998 841743680 390562280 979215998 335457662 955101262 353661444 668490104 569524264 127427596 670526622 511717274 323405412 617903954 255538104 792461298 962335586 157268346 590087978 977038212 412003842 977931296 46036312 414807720 650129580 876476518 909214144 80639660 778604430 541158366 606935204 222132526 57825234 707526642 674142180 587678704 216581116 688603856 184630896 790422870 847588724 405631052 49295424 111766154 634797574 289745150 921792426 65353652 833522500 244896094 222039162 405839660 564233736 335261350 77100578 63730242 570751848 377803042 793768110 915475744 725171638 447561478 517503802 113440368 286421514 169466750 883136258 810420120 594247594 459623480 813205924 499498090 664667276 302904666 915113800 141128660 538481158 474168790 878318968 376490892 824048156 162785184 536023366 606892000 260248684 551433784 609801478 210149824 102480328 888907646 668795224 688574172 113716952 523330780 146922244 705132884 970636954 16093682 525896018 550958158 479575514 622138338 9656006 393338220 548572288 399287968 443460546 728636570 157908140 738403666 59913148 208763808 399720008 844799766 965183632 902108678 904390566 17022598 649122460 745273986 147008968 622303076 59743404 564848168 631598330 851262152 820386282 73053766 723435172 982533710 237715676 811736234 252921812 791029860 359418876 499460452 84720952 945257016 726305246 327782800 976437970 874222732 914120676 463382246 898313154 888008776 570330912 20162758 515245894 934995016 40744662 226929292 926466916 202590190 188810460 719393952 115674430 93408714 889078946 393939396 306474574 78102646 240112518 403424378 133454704 665851910 225558366 884309328 333807890 271896478 638891658 150999618 473205894 80669146 115737658 55020898 863371322 668448046 811844528 927527636 979242262 928504418 646980962 351790540 531748070 314222758 895263062 652842622 224415324 366093968 587848844 384416578 982901090 215995850 907762360 340798772 927333406 10488098 88389180 76273658 381249388 376346884 588125464 253835086 912201432 625187098 552467926 207190220 821284882 415066648 49518254 902954566 606968316 74083230 80287672 79060630 448953456 797278680 731572356 615877168 743586842 647260704 496063684 908409612 639496182 852073412 488645196 716442154 28241970 956971176 972785726 679177794 187257138 661046056 475552902 565718510 572529978 826820790 159734894 133150140 198473830 832333594 652447418 2222302 985351372 809616812 532836108 933571068 778651464 711842782 966822948 674730328 100243886 837905980 235077214 834849976 194255160 20740866 408021402 804775762 428528244 4798204 349166362 161589600 50514546 804158144 325436768 609939778 840350154 160173736 145765578 579041048 320015390 77404992 557848512 487894382 510131632 498497446 279557372 557091114 78284328 670526810 459204968 578530070 69833576 533627106 139621062 358007668 839430876 493100206 789050324 648683984 906159546 88001136 565260858 707060510 708104490 880305266 918665722 269361616 956407312 243066376 755833704 114389940 684200752 404482538 363382396 552840140 452766054 267613426 946354466 364614100 818177132 446918546 344042892 844455300 823243612 978266158 887380840 105054890 126324624 830394502 431885088 220425876 235388690 374934934 624105012 781883900 652663422 965943374 442582092 131190556 693446844 911920236 681671624 247612136 978726554 438557672 261182284 105271744 896415336 873777950 776398290 679048566 61638968 970115170 17682056 756988286 63628660 969456900 444358512 651736546 763407378 845017790 841135760 773604988 378168294 495559550 920760942 358449554 942555480 319067408 822616246 910514646 621603540 803808812 536543706 745092584 986866600 689957062 983070798 88752426 564005050 728140078 290841260 624253384 418899208 91289794 251052784 911098026 963574272 189571612 95867290 24529400 345830930 557180482 836579154 969223856 291304056 66673562 406531310 147109346 707542388 581074374 876281092 929075338 868904926 76561940 786118078 744322882 165022808 422480030 449606168 115939476 45476272 137821964 416924476 123634008 216176168 970726314 68444342 781769434 552361244 773281350 312991910 439956106 293831926 392960022 25544408 733914462 306384838 796790446 15997418 402913708 910995310 140796396 616231296 753531438 163017052 501849178 153555236 242111264 169500638 146192228 447568188 518809864 334583066 542962096 275868898 21593000 445154720 287214424 148144810 874685208 339259408 849041148 224318040 567901636 610818144 160624124 161674810 101010942 555445700 824950404 2456064 686344442 94407490 535890832 948324076 895780598 958038892 702556100 515522750 819406016 414402222 279212652 930590440 61305346 461749856 306606778 146583226 636619940 914491066 386241720 52306896 508387300 503358852 997349774 346297650 882613736 225285318 843074714 9814902 314446154 320228896 511726476 343205840 360368958 363249664 53622128 888910514 587318152 750218646 379868594 789428022 186385068 194888992 873068198 174602506 522613116 317944638 440720852 850042300 453018716 561393502 305060830 252379444 548340772 892072108 504575240 574928260 160674150 744444756 571806462 570771374 165657702 527831672 874815560 638437410 917261938 241367132 64361092 938598882 382779400 325643822 120925918 399709756 605004454 712019770 884073122 304199682 225483050 193435058 751358966 324681388 400026906 830958646 348510804 747286840 783488546 449808110 994531182 321725036 198290142 32888950 254951420 885132678 53126212 595800596 450029342 185356512 61135536 112768856 675058382 356425508 441143034 906828852 711088988 954532384 302180946 115017348 460043040 557969612 84359362 825305192 531913230 782943110 23593264 619367208 634034046 481362036 92132442 506228004 623328834 343094692 905752950 457864588 264161824 858705070 273413058 405735590 80071120 664441948 453472986 347901072 650313728 590497684 596218392 211889392 459449280 692419698 920915674 326579494 393908316 536119660 618519874 554721388 585294826 295318302 541853550 839642042 945656146 186169502 388764688 976503710 123108 856649762 814190972 206488956 954864272 697947212 138162164 975067634 626326632 391073122 374852902 820193058 263282494 611722000 991034688 592483358 940820362 792658222 839375466 166141616 866361754 974742058 862018856 975124168 439225436 376616168 574079554 950319870 667316396 778780404 794407630 340475452 915019604 789294454 31839384 846987024 357601176 728853602 887251444 286234576 126025888 620297780 915405294 677050966 620257674 490969444 540829790 693660370 340904630 854693916 91055386 914322480 72788578 576823282 25734426 903072256 13139076 934202234 687216366 449130592 987939478 238452608 168921194 167791708 481370308 810448902 312152766 661377786 784052856 20904964 249207030 501941186 866137138 537594266 373576624 505311716 287932922 224449152 45395670 789235882 9769054 906260626 59068420 212543310 562401356 73584948 313210082 362327158 622935192 641636230 32824086 958256584 485768086 507562506 362338640 883850522 488472222 325509146 554141060 395227134 803360790 388185590 795089198 785688396 215647294 477871338 887320330 826172356 648653632 396057482 775056818 674201508 344254860 160935206 622045550 274287682 525089386 805639154 852484718 1713542 270578172 768108288 130363868 264172296 723842160 119941016 435981806 624008794 294009044 803012936 554518088 609992038 716242744 87506456 928629832 52182366 282837886 859350854 674744462 907458144 740312274 165057096 385582628 296134662 356923220 17619398 817756330 969048504 777951734 575885034 678427400 313858680 396902472 466892848 159871118 65500858 209539870 788519236 944465976 684143414 409310684 364586946 299593116 64388422 384793800 311167954 413434964 165166030 98657350 117585812 939856664 471184194 758705622 457293166 740914566 162786830 38515114 388371730 403532994 875470502 814813896 667210666 862000474 173948508 589924088 394246530 1961382 194503628 820928156 204887076 46930694 920436882 211654982 572775652 79522538 575673866 952267596 352027960 575754512 191994852 102774352 588702872 183196596 856915414 123167586 869198486 626457540 977951882 628809994 949837368 335563154 473087640 132841428 629592734 712049994 696363922 791485408 91963334 479863372 884886636 564682700 391700136 655627642 540019050 84604796 176470534 992833712 74040140 146104198 118016378 798921764 138711332 331408716 364518296 409855850 571210742 20606848 227394688 133166542 713745600 816780338 629197422 463314840 61464696 635242424 957717874 674101922 994986448 729502228 139327552 958690358 988831472 125428120 546596624 27201668 904265508 917677434 337379496 839127048 277474054 923538600 635189838 947672708 577735170 322096716 333897880 677443098 19165890 789197736 73985382 221637892 594887948 414963078 620943970 78813998 958487306 244956906 893552242 804029102 803085758 183582120 750395208 109516968 470539232 746063636 412168132 84595248 529977664 127880024 906417150 279331334 867045688 627522474 415140100 502576338 69067622 88889714 980409388 961929466 869529702 734294418 373263536 242290768 899106052 195417050 170916386 233767196 167555560 430348938 218035196 980717598 279493626 757352034 299061386 780527124 996375822 948325926 794995126 644132418 669037562 98311440 917321398 916921604 220742786 781532770 901169170 730312058 299014168 378211320 46964110 126419590 189759692 84492502 95293818 567349286 149860850 288029966 525185520 216760372 33901690 476721458 555721598 401485480 775597590 187851030 758224244 975817104 643142150 112933816 876644202 498580524 522220254 785173626 249263342 594269360 235573136 19755928 866366824 17627052 747054976 692018288 837635964 175310574 240861610 379913938 104853892 93460152 309251564 419988644 104497572 238766552 865915366 356276916 688519264 619338578 275223880 558592364 424379400 511817224 483760776 515531284 368506494 431601822 259583130 406227564 719045052 923512240 901771546 620447282 725784810 677416582 217069070 177366618 904054876 637587114 757457178 687039974 256049262 9769604 786414480 219400736 727128784 657812682 622130512 271508654 480934996 661086970 348052886 670607646 93824716 325164212 104936350 231713576 393071676 157897020 177398710 848277508 710946406 389659064 271424434 94524650 814202610 70049082 508663446 178439582 452922382 757277524 510062806 739235990 759210796 802613806 862988300 957421620 882202474 928030534 525997968 852136912 213469862 814746716 545727754 810002576 87435638 405187382 10608340 999653590 450250596 493680334 698886134 478616604 84594990 695037660 616058782 135545734 150047422 198908124 728941606 329828798 310563422 3883958 716480322 787387340 139414694 560838754 802480024 632420500 406383458 471137706 724297156 323291844 488207380 111853420 681661292 228885520 740740126 323330602 874558286 609366100 886219190 509455324 37404604 429521496 642507588 608357984 724336062 896525536 364162008 809965704 979302596 200569600 503758560 517464312 711866158 705567190 627809708 162724556 562806038 433364922 980838622 671356834 149668816 770340362 415102676 46389208 948986122 715490132 847405958 867551446 375679716 792399282 454134376 886911776 269847562 197065638 404251140 703755418 741583144 291005636 378540708 48391706 491798974 76229868 434834108 496072804 127561226 837213688 620115888 447304444 331193320 727791616 378208146 433610392 940183904 544401886 408270168 318545506 108354254 142994790 603155390 281989534 724555892 928573044 56948472 885279700 515014092 90013196 657366238 499023576 785544260 416977728 378871614 319284422 866284040 56785130 236756830 261445594 486403424 556731488 938138782 730358378 506545588 893576030 161187066 706723088 347744646 85856730 661442418 623634814 570446262 381819758 3384160 625301210 786389432 955328400 841180144 693767572 118981480 677338302 878342246 760746462 623606582 530977548 311038674 321582358 827373520 216009710 559910464 372470836 44154838 247575892 382953436 43622884 159587852 602896218 701665028 745623614 679697190 130334804 731625548 237736072 489669580 32774484 346341634 440051108 642437074 167057072 512099550 656687640 647054770 193344612 969962634 934378868 332326536 838299470 215767002 763782560 670037170 938194576 574004616 170924506 632574298 536879000 877240 30180940 763284576 204350562 541321234 700343922 262018276 565571012 597940066 298251816 493481848 155026916 110800026 887403286 960699354 224834036 48102996 507676386 332098588 17947624 112295306 970838366 740000536 76682872 731677588 992245672 613047690 274971600 463587624 838060872 779003008 14762530 660499678 894502120 229542892 228471260 584080776 617355680 424702238 590941706 36831924 242447416 333260734 273221292 441670636 24011276 294396138 317850262 109999388 844673846 393462052 253016890 916363958 373001514 823232068 925036488 258709972 814704738 819036996 994955648 863866594 354872382 260267404 447212160 384452080 49488486 332583966 723973748 987670676 63426586 756795260 580872706 310434372 710705906 979918344 176016198 569645430 815813518 908589962 745515980 431087412 649125854 553201428 250620594 216164892 722114864 653669108 725313628 428413878 446044370 239006604 843789656 667412506 990497312 406592648 999557046 819230826 571265338 831414122 811232448 94626988 973568798 161767182 317038440 500098626 566355244 985017408 611426180 162812358 487586120 227861706 944892498 860150942 2484000 276102946 321274718 781603860 171307568 737691630 768246878 708106392 503032196 290793288 188179988 684207754 216611358 100427926 344231594 599730172 262845136 542104380 996778390 32587188 156677466 910924724 136751754 21439140 603584020 725585788 883738786 934812716 782404390 678403838 614767830 207469904 365981186 917520440 691910850 963406738 781392624 368755762 969355000 790167532 864914044 187817560 170828936 123469842 586242842 148250768 118909794 862839800 694394188 271745758 299145676 629827346 638728514 78179596 213125310 617783654 942477064 129429748 915147222 358559622 973208950 990683894 161800468 215736930 7961904 829397242 56007944 627605970 816946370 958434726 137113780 893338550 601764572 481454464 882753276 514564194 733348272 132870134 286214982 171243144 885406340 730517436 271521514 59328864 773821718 615213494 15237576 932681988 166654392 106370312 441248576 706212540 451336594 342302658 664383632 642817012 445963110 194817634 279612140 565796400 88662372 37671134 743064196 891152228 157869900 611915588 461337192 285607072 769483418 254269660 313695744 634513418 213062708 755395722 792283942 346614936 120433544 944363646 993900948 432787362 112902278 983802888 908277188 166408552 549570618 910511618 185372076 820234066 970239750 215024794 765046706 181861680 179446092 734924050 262645976 821675548 828332466 384102 617930610 743351894 711008136 431764758 939142404 813254118 548829020 474170164 131426206 26651794 958066932 77562154 497761444 127471310 175846926 60923270 651038986 452419688 549383640 843848536 724621856 955386230 640923238 544647398 742407812 172012686 266818978 974854422 388134224 881939062 472830798 769025452 623923748 450171130 246236416 662701716 626627402 296128736 453891112 594949400 230061968 987577840 257605452 627933472 25155670 243944970 364732710 423683544 735359242 980451672 699327068 200874524 838763924 479494090 831204794 775294560 74008956 246370958 149486080 618485498 88636642 385279888 920145624 416504416 794571100 379353198 831477920 207704818 669808416 573332130 324398832 476075990 613504140 221706184 90756552 845643754 137845808 874211298 128045654 503476748 855180592 585591732 219909230 472157782 521665142 308135600 542551994 19398598 732298586 111865982 604889114 372718536 823343372 113102356 640239252 509420620 82564496 734912802 208334020 239129084 426419148 361672290 771229408 860554672 775882658 2511014 861271000 287323778 322469054 334806188 502299004 962077576 493068832 998194342 313338264 983861700 122288878 64110706 270095628 325919128 571541454 994291566 494676212 629728340 322781840 833580456 615726648 783360912 507071460 251900036 98320512 508451544 910539936 574236948 541587802 141306346 496736076 815770094 490742592 77655792 496571894 451647566 844649380 219657918 604678652 276941220 571913024 542718238 42922118 511292866 32864438 216223582 404317422 715304434 620182248 857113084 639761262 958371316 814427742 303373824 650529082 844988064 711517078 216273578 921975980 395621334 942544410 282018150 168749780 878141762 632263680 497800374 494851186 347405780 23362726 52651830 16008232 750078058 586347158 536757152 8127922 336759168 280852380 568830218 635013970 582865586 318960032 761587316 185253358 164336250 425035614 650789828 616549504 106215336 283072604 993582312 927697656 413900118 745071532 718200360 147110658 858353010 334181124 928925248 926280298 272512962 966102576 829923472 88207114 428816686 805905782 332519324 296027570 38481582 317754862 341710470 305655892 600145868 747889936 227386012 691474982 852821130 724264256 715310816 535360358 769245378 586313272 832820460 937176802 173811396 754687224 618117074 276772374 310008578 326414524 396857784 706218498 640293478 409661530 286042648 943608168 301757630 438577160 739983084 921485098 843551956 743185008 14203498 97782824 991770246 916300124 409972780 655469530 883355832 944131754 337764048 556567286 790491020 373052632 457461308 765317280 444823506 592502118 441668532 410938710 888028396 600538194 114194986 279828134 224264338 310060658 750900120 531954278 434422124 186125762 876722490 632734624 86934736 785454054 162212380 597734570 497907338 326407452 215832328 844161922 512984780 338635108 852337592 471302148 995608102 22210646 53551486 797906828 204042252 656270824 606928548 999396346 786499286 867322044 450491328 375733616 611977604 524390138 491165958 402590572 553428318 370001464 988113436 318208430 664840944 704201182 110657006 320280436 146763748 194953490 71881200 143546736 119225856 417324456 518795972 816379982 377439882 679942766 610710804 965377930 152037778 256718524 748845870 383354634 463467004 671962552 625662806 852136298 827856128 251577796 156725066 779337682 84371860 995461942 313856634 713994588 404834332 64200402 631659916 160326390 83238644 988532862 628903802 697452144 86709310 55752254 518555322 259698434 181151318 912717656 914540312 554127974 974494156 8315610 876843058 912645498 480206750 932619714 967250500 189608160 695028620 529901844 352602436 25637198 3733208 535307304 521964076 472678420 589190164 784804548 243813372 383781314 681498688 941222322 638169666 160240836 407147012 902364084 983386252 209145334 748333728 340601680 815543382 570687652 324981228 364929144 89451538 542838140 991360390 421939070 325666206 777941186 758346348 848982080 96139216 796275524 161739986 704832790 386766238 899375268 40019574 253540800 340088420 546209138 518644814 932083636 729626124 381734204 890852766 482395238 678202822 528577464 981535356 402314992 63416342 123317898 360574692 188102010 778362708 513798396 11836244 682890962 112000356 415493680 238517518 52899358 882657304 761300672 923735980 163983400 587095636 761800630 68163678 702530038 443327630 222829804 431917594 675817302 496959940 100647782 31764768 804288574 957102702 879580996 896518436 773789786 812718342 38126262 1276372 107293816 617033524 523903562 297353846 389396886 35471158 359290848 262170756 995961116 440722440 417665526 205967748 42452574 46307384 467037430 220331288 778016052 349624084 764866058 369958306 940346020 549760506 651267230 352966834 507365438 44737326 867173470 172557670 218410380 360966752 988715866 90425932 710857722 630736674 22382116 429109826 961987766 213895212 72131158 511036670 746585784 641785336 477835880 248276622 199008358 224202112 849854350 747942836 460851212 561318642 781784362 686763096 908691062 135824426 801895956 931630272 834534580 87037286 162108598 147525760 755717432 724291814 169181364 757139756 862506998 895996464 234328438 43320576 149979914 739914000 13915620 48498548 571553672 501694806 543244888 981048612 33667838 770332716 566293322 564806428 898984908 64087864 171612206 589431272 71674338 438984814 878149114 558113278 530109060 144922820 622732484 361639280 463685770 344862926 983023366 48439488 460474676 386995446 163872838 345611350 335357122 883471850 649619408 874672618 631536774 815784444 383016666 800271122 639816768 169113110 448076696 799051776 257964446 185476600 353324992 835632228 160071518 361627254 250309350 550656432 932826912 982069944 474168004 17395206 543826078 131394298 505606090 953704242 56255018 374245372 450067580 759270914 619697248 127665268 411843800 833954832 410272098 502560304 256912820 122998622 289408644 143270950 556114134 231440392 417328592 75992866 689664854 624182208 54878000 846364848 603726966 420742756 560381850 845988660 787544752 611178652 906642502 278549610 844002464 436124046 953843764 455321718 830719996 457204524 366897058 649379338 691223918 819009248 427655336 664322900 470120528 592132586 218793280 406162908 59047520 112352722 430700918 841610942 941077162 196315982 458596736 658824930 790372740 872121080 864457298 520842292 84718740 255010590 528581944 506974744 93191116 415471648 1796226 52407778 715390696 913993308 860375562 526359710 640863232 362934658 816020340 965711910 150038788 20200796 210695070 188217058 545529172 27727610 321056518 220205390 287110504 796248394 29147760 656632448 427723486 422391754 407556408 676708486 196898628 520787862 966922928 920224 357914852 483591852 352386914 765232698 118265588 716005690 683493552 619267806 335870008 68990490 719362670 161857078 678660798 192718428 860091774 971684254 703239698 437891004 235862502 507703734 196971190 496089614 314115262 870283692 627909158 653977986 949199368 275584396 68892482 527376058 885853580 720936634 932521204 10163004 784628720 969582690 360967088 962162706 589389196 429754900 983398530 272748230 953293024 623445120 940493082 395349360 292287632 880985646 756249808 196591472 235792110 392637908 198975282 485475992 68984980 715250120 436387034 774644078 153130560 402791810 635297886 607345038 698538064 771220308 97083398 274804308 945576704 47249398 424138116 133606892 377230904 500373192 858542010 208858094 513561258 231161690 770407782 258947644 125933288 421922712 674415318 298273282 998119444 360253156 592985666 710063482 687224602 452248352 411888722 708255388 599343154 203943420 644406542 185617416 981216178 973174030 663531932 592495162 436598478 359749484 338477124 579651576 509521008 715478342 391384146 883738760 755959650 648810292 157787460 657197770 108008888 791028694 284347532 555229334 649207904 64302440 610271632 998853178 575400722 622987550 536811152 319403874 824543514 760122292 850358484 452756694 878521012 947770932 201498794 233050190 802730012 809436284 435938914 209945256 315323998 115664582 815816280 674161244 766658072 842545904 343285516 106733738 649214722 853621396 726568302 381825226 650138842 336559876 746549672 711331288 89519872 720977760 134566280 956497778 658473262 803298542 931147966 232875234 293934972 564031592 810186552 347011510 691024794 367713026 135365136 157925414 346704912 336856100 697323490 178186832 103466708 731296206 540826846 809207546 193317188 108886106 601337450 50846268 819809744 628599934 864963486 191770050 583754068 646935126 528024102 360423086 12425692 595967450 854094280 669756862 966038120 170588034 693210482 700795898 833357012 298741788 647524834 414009356 507200914 928908832 11524956 155925498 569684004 390031094 926577804 678877822 836213388 613142760 586019194 870223052 854271848 903093086 985058476 278178866 364345730 81503206 147472122 641544344 594964124 894326190 506771912 866933372 988033534 267804392 568364518 955772876 735731780 705220600 151152506 967004262 318346314 505532148 384884310 463563876 972923270 233238960 339195052 669660086 116083020 131350730 175302830 895312152 135102066 386777246 763064064 370385578 554005336 670833150 588383206 936418146 132255522 97737030 823054660 617581478 493588076 116643230 619765696 63331280 143232496 604986264 710620916 844998726 857534394 468497374 243234820 829724374 662211854 226842782 406984352 835478440 825698156 871860180 511201454 213412172 14085766 584743062 480395250 866908866 78579428 951747154 883774358 196278174 35826576 339039128 140075288 809944474 437223052 625512442 155380178 535310776 325818268 470238834 982940256 941392634 890541512 201333824 659988218 634053630 959842360 817634468 726105654 368146150 477693734 288918938 140836534 125083342 270496850 257048918 554604048 480799568 99631062 26870072 474112692 828278742 898961784 822527544 421048842 380872760 594025120 397772126 287291124 372123470 252007622 56384378 398390200 586165854 125353018 775973434 434675082 227064000 823555432 52599666 494576484 756006536 445946658 166421782 637992250 23056846 194159506 476780566 251816566 481173926 753347768 456445856 194692408 720728640 96568720 616178036 745649264 482402744 591984914 357716200 183617992 175068014 383030536 982939844 93256562 944278852 772316626 175021952 449508282 445762760 688727122 679574756 852198396 326564188 806054638 992788016 942188102 349910856 742547312 154920358 861791762 11419620 703433756 483817362 405752156 272648258 503125694 118855104 934251548 687245348 725286128 624762666 665110436 951461550 585646854 158863048 981162886 337087346 639850936 483225614 625517636 119915440 347371860 374362124 942773602 872070804 752779782 320775244 973680644 88666272 605697176 692800140 412723234 521338756 770717368 81172292 688004410 774283202 342401046 567555024 152380676 148812298 337735996 696606768 961818236 321639060 134742696 321777146 586933964 31150482 30491470 640119476 961055312 655565858 51195108 557915390 106925272 560541422 602832762 506554026 5299158 312762058 635768928 331559920 32719798 833405924 341031124 376644008 110941680 903606402 401234120 484956054 372648446 721520640 861791894 818660634 90229564 716586820 222636090 735177188 512522868 52800896 283615556 212782130 487659754 76448454 88321414 790489408 40509390 589915418 216775052 652903644 270894770 696308820 293449492 19327010 443057668 436722356 177053078 541940070 728838794 304264816 949239344 679816868 226962470 438293154 28675228 478982604 85803160 885122714 610581530 56723918 185690488 713993662 456762142 93698414 427362790 844257108 511138692 327960220 621727982 697653900 368094160 150853678 907452896 22383780 173707738 113860516 104934816 809409866 183560596 221807736 456557632 783994514 560085718 661763696 580441374 992965990 837413224 437636282 722281170 804453950 682141908 862133702 422127828 383102006 631607888 87092314 62785656 455135056 344641274 987107910 602012060 731810706 594829094 269693926 210356542 965160878 777080062 98436424 618037894 574960118 734449682 173902450 958050910 190654416 421608424 981769364 247528918 557869692 25818106 386019162 173944564 630185832 281114910 980417314 540426592 324052440 283510792 804222760 212504152 693854858 513801248 667079550 786320654 870876142 443561982 446668008 943883740 530314934 862108638 266928192 154956272 675428458 558884442 935002122 938784904 426313492 128513162 475717774 546251360 351420804 445135626 952375918 906148592 392153234 38875456 281313040 481373018 769979352 103248178 718755460 747958846 668948860 418202560 39261488 908351650 958099194 384788920 668538936 585730338 830599128 225273556 808076850 675421106 612967166 208599196 454323012 38701912 420063692 996946422 45617448 213858634 578692544 268064994 229220066 589526198 312814374 541371420 696655302 582837860 393975146 2363234 389034052 816872260 983799136 109266372 259352030 227458826 892553916 98591984 421202104 479390006 620350450 840798794 929212146 430704160 708787212 279356682 562300906 468911466 646273834 707999720 74388668 583779386 678854414 253522982 309808332 148640884 573067088 700240420 64687368 486437944 211522166 110313568 710885034 829197976 420676084 408951462 418390996 822574636 204398348 674991854 626328436 637942518 974871932 223966356 164166196 476527824 26633454 999145874 775129630 777475244 29511692 350403304 11737860 455393868 829196270 860562568 102638066 647614962 801865258 683056740 390856642 307021616 187337716 14472568 365626450 623658272 311355432 900557762 528802918 989600204 617163542 193561384 610635236 694812760 39664352 24761964 611066958 494938056 355681914 434170248 423461656 698730568 671242260 118815994 756181668 518749018 916503468 337726482 981993946 443895010 787249460 931262302 836555610 914538656 12722386 801052290 66320198 445046644 802444866 696334898 894430512 836093020 230510980 570592400 616994002 933296512 176753408 733363760 306048782 800953752 774005810 747976268 209186538 596871802 815817328 553952006 718877578 568599866 992534732 920055852 795690572 530397726 60064700 840559576 113918086 713118172 668630726 716494702 62660282 388923874 449644608 961340748 574534118 222139282 271037386 141073970 379105822 667042690 409552546 484326324 467598494 616185462 478084818 311246416 481237680 611266900 505094986 188179140 523706028 163779454 357375686 811237254 817894096 633905840 945071646 824710848 871249544 352661762 751273804 800109916 894069698 909881640 274629650 336781488 905119242 287150766 702661420 93429120 689488754 826750668 437283192 189698646 34665222 481091498 651223902 57122924 770035030 698619998 358007360 237391366 472519862 885014568 148917634 16414252 662763534 239739868 714941142 167153772 140515036 898328940 587589550 295613424 863919598 79816752 337558542 821243886 761314960 357974114 587020952 862977300 99236820 90798514 535771230 737803606 310331360 293941816 773112790 764317402 894747090 591866122 847877812 33974724 751487086 733430382 971787428 173040374 678006884 556153086 136614808 247105974 73861390 537671654 210337402 215873500 577315966 475591022 993482698 814639068 315450262 788973874 33940324 753092952 310596840 337939382 421157138 308589884 545790684 558674838 863453162 112253614 706177996 180320412 689487166 716315218 969003010 548577562 798602434 699654772 636972846 534544642 950180946 114532200 800899760 908237126 521530898 4302444 656839422 121341428 343959478 580722854 51672386 120579758 208641826 747379916 63149250 398533470 441956114 760927208 542338934 586166662 738826454 917724848 520420940 889378752 291801458 471154974 236949400 323262944 427677732 288748554 531531798 801091450 627867472 376752262 744421930 54556386 910158590 514128028 694855968 692104074 781121172 939947642 940641180 399419868 865594948 712118044 995423848 103731642 872491450 800852118 814546004 211126806 541302856 310932406 333462074 282216610 919300648 988445286 680031464 766588834 147532312 430748786 913075654 924721360 499731954 264469636 330576698 981484620 577921974 47087066 423096510 475782178 893127828 289154304 111972886 371724976 785451084 201885004 649882360 146591800 646927012 511781464 71350846 715208980 157614436 570724136 693474480 650027982 420770860 339505700 508390434 167037908 405134598 915531420 27573396 460723444 609433752 272713316 453786284 144244758 716221888 113241216 842472116 375149042 40999304 879900014 331793348 113143990 841947826 898751664 972431040 381116528 880532074 342618186 901277416 563564690 136077724 127316328 204591772 993120502 331659548 833295870 353623946 218471750 540393452 143773010 981160352 749098286 962329782 847470136 61839122 800146798 309852678 728441874 791978412 468397200 606242632 482870362 514970434 513411862 725919410 376223524 900785228 560379808 965816952 475659494 898249806 952745634 704348030 748624114 445654292 159408648 212460186 850800300 132954256 874569188 974353494 45081612 447564474 451907642 513153596 210954494 515693686 364630472 129660722 731317522 468918388 274100640 572142744 442563626 465626500 439220124 786463492 977076636 59321108 936329574 755811190 729518668 353360804 948676120 719105096 792837360 927822460 158723594 362753856 771285004 604704248 565232388 913017000 191915434 491521058 807558416 795601392 54793288 795175012 541434972 773571324 462228848 997536044 816514572 212124334 938190106 293175538 850499772 226668412 752709608 9453618 828785748 822504526 602151824 104622546 615843518 263001482 800357828 122623454 965997692 148853404 352842510 357549272 252646184 39705922 92922090 232424672 135389246 183981610 25215048 593141390 630679352 228940072 700859822 181800078 923300732 256518532 647948858 593570146 548767754 154734360 525307398 43361364 830647322 629384560 794383428 905947638 549866118 578878294 893481194 53857418 72323130 739596824 650001952 464282360 435051904 225436368 124623316 71256664 866310922 450722178 78832170 736491052 114965962 113106772 426168888 629115100 926630050 524045202 27490900 463919874 914013580 91476820 449890982 923332030 984388884 618655066 119516094 713446392 616276056 506502212 782858264 11774042 562106894 184137402 852301718 381694154 233475808 677798280 215161794 772949042 744534104 51865872 884156094 567404622 333751880 523406498 596446550 105874434 132130592 399771856 303265266 894276504 635481924 747477220 506204398 223741524 344641448 776275162 173378302 293834626 472346636 151727998 445335428 394832772 403264158 818667770 949951572 678510852 147742852 747525168 791455780 44403866 788224946 893021940 348602182 408126144 856820066 503461058 799382148 522982480 296346684 782560046 845083524 569620118 235926952 398679418 424961506 691003094 645750430 699519788 790094464 251375636 160863048 9365386 225101096 123698410 272425278 879359060 193009024 724735796 404070416 287912096 243490294 107918564 679748602 233371214 11358308 642024554 24649880 178171808 499066412 425408446 744594980 966537058 499546416 667251114 447115130 102180896 342038352 179939754 768161232 153372304 690380844 482899982 357979202 757425210 557394466 90499832 340378544 156845014 357716586 154534216 667307728 261858366 130243070 983212274 934769222 990954656 366133294 44373800 892164988 347188682 298328576 203446228 236737186 621305368 574294780 856209372 477402200 795764770 369440162 781172522 230566652 837320048 342922358 21003518 368407256 202481772 446954280 848890044 654448724 782477720 398923332 204482950 189002534 83721630 705627172 319622506 939307636 315515188 870441312 266927074 302158940 815242162 560363354 779701228 824170830 50716662 610076742 691153496 42967464 524431526 911507064 259565574 706348672 797318702 248471392 986410504 456364466 942011996 57726652 236621522 737517974 479298974 315003338 194019088 565508798 373466714 871885034 261513456 90266202 641838260 248692464 736879754 499973736 272688052 241344830 982655590 592612350 589699296 667857502 4281482 192562298 28898516 716515210 471368130 250672690 863518510 176432976 893928698 182937280 994377648 338419994 596567336 759866054 560928294 411963646 436060402 6949100 984649584 876753720 58923078 760407720 889479276 279927580 753130046 829623082 917687030 624031808 724716460 731720140 843374468 4107340 943930182 349484982 44794396 622605728 412252044 255569838 709042824 214308782 883554828 498185430 700007240 759318988 703665382 912453728 559836598 170727408 338057712 961321392 328842956 573905748 987757008 572297280 327588382 605075500 558558524 651329848 944247924 220366502 717955786 181682394 732791830 533321946 105630700 958824676 757157700 115646494 934634672 60615404 191519076 304463242 723570796 725320212 215283364 856259496 501701402 34696660 114255836 658347988 75866546 159817844 381868444 403002164 905650026 883230972 726675620 793430232 120324678 337830260 657562690 906498696 389199322 349654330 830824834 455348194 781246160 101806990 707129782 130530636 111680558 925575042 663805292 991292636 418951508 494691164 931580448 509414892 269095958 340934640 660198062 495675284 881221310 872546586 814976980 55740124 803774972 65730350 69506228 985508944 145266880 953068634 302130258 384649940 931075172 839436042 499913688 930536750 969131432 956616114 445980436 273145612 702676318 439462190 526059402 966637780 534613064 449805906 429273714 252616140 566225788 668809208 180176228 400476792 642944278 874948454 40667418 631316514 318929862 588958374 885099702 814516934 187174314 820872296 146422416 350900780 934214978 802202646 238701240 189211976 283774244 395176506 998972374 845315298 832412494 657583540 733898842 489977748 941966974 10094174 846720702 19083084 153450712 418365156 592364382 699170232 216755496 962290062 313197806 74644060 754385724 305766480 977188980 376180974 808709130 429383818 403014992 371578994 622630322 610812554 350737000 518600742 687212516 884709540 346070260 222792512 680201992 528160360 486564756 475814906 629084346 480440444 663047574 174680058 223416786 164625254 497537704 428626174 146793506 551883436 348868686 967617858 173261756 564779638 716539128 976897696 197616934 785009692 184024672 213352162 952858880 791825658 115702482 560818110 179219870 845672432 317622366 314112240 754239132 880173858 421211450 152711384 69947778 447656916 86788510 732686098 431061578 629454818 530697784 317523516 775898216 719622872 260041130 949767596 544456766 56708918 609195138 147341274 140133140 195956894 322367030 726168516 176316200 360314972 672841460 174712538 237459270 743924644 630147188 932031564 373683752 975070110 88438308 95888506 304398150 999900542 985778130 417719656 722404546 877518432 285517174 326792662 473976200 804569270 366029762 167349538 531071504 316844096 170088664 307521766 29694958 108909626 524626436 177808164 8426634 744748236 582592852 692171180 614875068 527568916 801672950 603474756 520120356 126220418 63489228 899639214 627538524 809275896 525644924 503790430 456559658 77606192 966729578 12461238 230427700 133710810 758735802 9962830 592565762 231285628 74667802 214303964 884122114 127220708 137528504 772626842 329163960 413647170 701374424 170372642 341206106 791780370 167866370 10957980 457831072 272378022 313994068 67009284 288190708 945645454 632758708 64061980 385819820 560401576 612661414 905885880 40629352 760548188 442609416 376004 178787436 109714020 117687814 304219766 334670980 99536304 522359576 723147908 981703360 19924722 212254576 86732828 910785300 118868344 422163804 578890836 784781856 371400960 699481672 636341436 4982538 288301784 329865182 967020968 347946272 667669584 372413638 672882990 750309172 143987026 560202154 320604940 619497346 110625732 459526152 11757948 781404118 695158846 830085750 224739778 97753668 998969156 752267958 141505878 95536962 826487486 623253448 294397360 660393928 543985548 297440936 845219044 33189454 589631854 346139540 82465444 83947688 314191292 823078544 430257596 409266198 601357356 536587956 491201050 746027572 61570648 797605454 171150072 884317158 510235650 9481318 698430558 223184702 565875168 574410294 777319446 512172648 673990656 739665122 914221268 566776360 153519090 510332326 625103284 299331552 724483876 1075250 683280802 79569668 418240020 485764344 985930166 466837346 323198718 826959374 169205784 802558068 812309206 309849716 580326362 47777660 382256544 89092368 324850982 533475106 136023438 271441202 576168922 470045518 25164050 255833670 379940224 979909898 866723332 218332344 601169508 463556504 696952054 329715628 234810074 69203700 167522846 583546450 131619726 813840870 374533880 142044638 325366086 958474516 195332684 705795526 731770926 918204590 15608362 895611592 576218752 902460124 179977460 626686786 17795438 911460596 153161284 506150402 818520672 575801974 753165026 482832260 827881114 264774936 282244930 295611932 298702622 9283618 591991052 730808668 422307570 535214754 433005510 408336148 905994042 109760532 867987812 816862410 190055808 936398050 813928424 855791702 329475544 519198234 7676256 263085814 12774962 667229810 227827972 465354370 753817132 980572638 812844340 306681082 10375516 743254718 873258754 256135534 434262786 590841136 364930644 300786942 150862340 316157274 75715628 923522774 797550026 641209518 279549670 307383494 754513392 526120456 89041046 300296178 345579698 967459468 167397506 209010500 908656384 826705484 578955404 126358160 343875820 858391770 558433502 271887406 709660854 464860662 267458032 512838718 277709168 271875834 136930058 672082070 721897000 701026024 580523712 117191280 854793402 287374344 612219472 567734692 32109608 495132196 722088336 587816200 593181552 447996584 749900072 411217830 810418308 522202516 122245692 82194782 592163186 768771548 430886834 146474346 545854168 647453556 648959814 311915836 702294588 255345630 586824676 422886852 343506072 995311796 22276418 366178004 525285086 782800826 842298740 660020208 569447216 113888400 390030612 700769004 756491298 864585988 703713174 37711096 917770414 743954276 194936158 496142774 662261646 772359504 761075672 800339840 289889692 415798972 11801102 359707084 893106708 874138642 341140512 853563274 300155526 708865486 197095322 941692146 436803734 551754746 84699874 270175258 612060846 361135072 246435046 544825362 363615162 427789152 696450440 613388884 207129454 962229454 784331376 231927324 250819512 132207528 167834528 474708874 693642616 833281062 569652418 241871628 307660950 308198394 452667984 867583464 357344256 797368616 202844742 587918652 447383624 661314210 560019024 149484872 126535872 875428302 255766520 467757334 684830802 333292838 438745664 199916984 815372848 67371576 981937342 97815882 858472362 331995026 153304944 943659876 969951004 970973478 275280452 188745382 103886920 127613074 659986194 281474588 937714790 766063592 350585002 885759492 576999362 386013058 789846558 722418110 875767524 838627256 755374564 440747950 841265658 604513270 293618882 191880702 177748378 226570662 16654356 970266666 463557910 106367244 838968292 254709826 52462756 83781424 789527134 255671402 723419010 454663172 885694554 58361672 444718690 777223308 666138140 656026002 524548716 746409176 56995360 780094844 456549716 844323360 961006846 829186938 132895586 907031224 413990288 555630308 633177370 251532028 263988764 174119162 772795574 965419060 633068396 408196506 58093648 639926134 941798756 44583312 593553354 305289726 769907568 252205404 816029580 747328792 296790550 897644836 998862176 271161004 673473972 983007406 359364210 656249692 737240478 819646510 498315056 906374160 244255864 515548934 930549402 608635968 325114158 483252962 301192022 729783952 563131542 900430502 126068382 12848838 935793834 173505406 807317594 566814064 254254390 760710830 145295570 228801284 603064024 579163900 761917494 311952290 48213396 387994110 678994080 857254520 911844278 59354064 300763446 527957678 767685698 93662906 634498442 389917130 5414008 454909982 139992662 296054474 437128460 291099080 713343900 887413608 48834960 119031764 625900796 473406992 801503458 8699866 783806502 746022634 76450916 403641696 821660388 838331672 38130270 446210286 343441584 980825092 7165146 613545100 202419284 617142562 435628902 739030098 636156182 972132332 641302892 438999874 453205180 161130702 103331640 832186104 640000838 206437206 598753932 972902088 64037978 65952668 148690756 642046454 725497586 4042754 937445816 814879504 876637906 540005150 741883140 591753224 309363652 168707760 973202272 741030820 637140342 420725856 998293922 13872470 810876168 726874652 804798638 136065784 138344536 799327128 990873586 70232946 123801552 605467078 46736390 806524600 912389824 198478872 88103884 164596854 559416546 768082358 582147832 85098184 866192888 12083198 98695708 101444372 397904312 107092612 966955778 292285544 395004248 727632026 223415128 359059280 434885844 133480986 288169008 957681640 31108866 230495430 481582530 731935768 680569390 199099820 115500986 997828634 505161152 438755396 303500350 945974936 835069408 515652850 48385322 213379884 469882910 892230270 265495088 690006884 523477198 324765896 445510102 415029498 90589908 488008928 182966804 951462288 895702318 430172590 613164662 810155438 307353170 877765506 119377386 681686220 992253468 575024680 611307712 343255628 803548092 892490390 668947510 395745416 830559774 359833390 405438584 791795246 434031202 177818896 777094506 376400452 150201698 230261788 276545912 202170258 61388262 855629762 526907322 901256154 937561774 978910630 930481890 884649740 705329108 823892062 808786854 403655946 717394562 407025418 294377016 34103790 527553656 632795870 937934696 87342998 924487228 606705530 198412808 35752080 834396812 446169186 785142742 458395122 53156546 929380660 964840484 840213994 903974554 646777672 8735894 87521838 893879000 730114900 855387000 434332360 138197000 901556512 982664016 954878604 170674090 19300568 773560802 235464048 425856750 763226818 254845446 68330474 675862786 736093820 100919996 130172748 459605084 730968426 185543740 949182876 25253944 407353048 100766248 533855334 203290398 812370918 702357150 401415296 796581920 682204574 503273906 262221936 89582234 844601004 960916802 655778780 639640650 863370422 558411548 82222562 874572696 724257040 168951038 6079678 947663300 399734930 944927870 628227848 644094584 891710704 252001504 69223400 875241936 469347574 928965704 388751458 187617762 416797302 532096568 923945430 803910280 880882006 86445794 620744314 221628612 834264014 19349432 266897538 557998362 398361402 681976734 584972032 460992390 5810332 384725478 691274762 866435164 64031614 583980134 992852754 454114488 786109546 998094568 332347708 987472370 659091716 99124918 242010662 477518898 756853512 151578404 785558610 474149458 179438392 598580828 129301366 608249422 472909842 858277300 266991248 828886014 407701646 128076326 915183922 3148736 957903034 51903494 325969916 564358484 962353540 454006444 800142146 501013662 803936838 791163038 493537610 260929766 144594146 171486984 408871586 812889076 384353886 451989318 380867584 596941930 75732228 238197232 718185646 939668004 531885228 294066112 981794904 454099098 896969270 706045182 842080838 210363962 509727816 404401086 360307410 6943814 90977094 482410976 502416148 607288228 789581444 69662826 292854798 690751056 792788928 584445714 855366328 909686970 758124798 386170708 399458650 918766860 132414382 996923726 425253524 724999718 445198670 207796948 739131276 401435266 610115034 780869402 241452318 31885378 669103974 662059934 480394344 855992016 884737762 91710872 394866078 933740792 437699296 807852600 960391830 528804068 294100622 563571900 745472612 423736188 262154772 739841572 841093524 151756086 671572260 984091460 999759238 308276712 125267866 103388414 162073528 713966544 256379906 867092408 361304562 687911652 410105976 546578294 19485386 917894730 92658214 49651264 196386666 51134748 226512542 853751742 341691468 834538154 668905676 78466460 528008968 20087940 708388756 920833812 401796276 241146044 914118548 398588652 819923724 682716296 68285442 523206674 879131944 447953548 721564902 523350574 850626026 467880394 207954726 534347268 447932238 848476810 677244236 505606790 606427154 317207506 919156140 350052958 10196146 451234792 344135252 942396438 517133918 330269952 333126434 146933100 967011430 816922238 450791826 766174564 323452072 460877424 547268724 20711644 501452474 509657176 444148772 93385466 706979122 395203372 649997690 356911776 304316196 976505148 350032202 770711840 113654990 297322718 172095602 874647120 410231198 932066576 846158468 812922518 680570212 809016854 104477362 232749486 618294630 724230408 942904754 994424190 126723362 579044642 695673662 163636936 87337340 505974894 19059338 631248584 903846968 586913552 310680772 475356440 334305742 339694404 631096414 461468574 739228758 382420202 80247916 675114052 171075346 152150732 743384304 449652424 31588218 494085992 289036036 755806462 407307050 354709220 632931118 234833856 253687100 403479436 711185130 114134546 97691774 460356752 38642176 278116508 680399646 258480914 752935972 175159798 198145546 25487734 391149164 45222344 16684524 819260614 459007876 800600810 11101180 817990102 655108932 927500712 141165674 893656916 175955052 321367808 417291688 667962920 619718704 646502242 851540296 619132072 777025510 610202996 533569286 376365900 602330666 744667172 991336444 754390158 845981726 871451510 344460868 569165662 60248186 321756356 563986106 74333452 318800274 165089808 722776318 279053714 479099404 506128604 575839398 678256362 494420050 176126962 604958612 902290298 592719886 87013350 388954776 394866462 26902258 914217030 795423128 190343410 394363462 898433350 818403898 993691038 117802436 954012568 864268758 408699152 864943892 615581270 91986592 462682900 844831280 58673376 614046852 620599772 163692208 819358008 416417644 443074132 874763640 836647022 769953906 333198090 482412878 740022640 82000608 22317986 64897666 901562286 122926494 608939296 456413780 651785666 997540368 202489044 158132782 901922736 272775124 210195766 175175672 663136588 693590770 186934432 917508948 342728860 675572416 543147056 496736398 959337600 511503928 189349744 44390744 821851854 427414044 286404874 231483304 749260438 958956450 688616850 577230600 518103526 178159512 121334816 579177008 529628220 332960972 19415142 427454892 946326852 918463504 660739378 732772534 414672706 918013538 698973488 907866724 892718390 335395828 157210898 752608552 56364396 139127640 185561468 358877308 456876656 424248996 620289996 974112572 56656394 520887814 930918050 166016412 884289232 452666380 318917624 274527056 191090570 58011106 976168492 609342500 410819790 65073122 728039468 467388336 500646388 669534780 773829116 957047240 721285234 700934822 483378312 602051586 393718932 488099318 784121704 989249090 703848262 125566752 203748484 890249472 211753450 893735328 42833668 44118690 364306256 999258518 126959716 684375872 389724856 107368802 868039382 765820570 311051306 66032818 222761448 641912410 634277956 9881212 454734636 229753474 210515230 366343336 790526340 50453370 969922974 955444184 61016428 613291748 442181936 63719500 922777684 970374498 843541260 197629358 432767568 55331006 663631796 703560766 685652042 996242208 63380580 371547836 648975998 205471364 732061994 424687298 106722146 889954370 455249080 763039722 105259478 327733458 857730804 279294882 245681222 841424896 966760516 167635812 332319592 804450622 783599782 593767058 599066678 181547632 268249134 102491052 909452026 900189756 556013494 675733944 768204286 244320670 726218940 201660956 284835436 555120090 614309976 567312264 680011782 398205750 780965902 596381572 18477180 560795334 692080314 274373314 231994960 462969750 969360918 904915248 65709132 547730280 933715554 264364636 384896528 137487428 572865856 26124306 57846302 241339884 658817902 671221154 922744760 139574504 538929760 876555270 922420988 200311710 157488030 306853428 593153944 536224100 629855316 697554494 190938790 191163372 833910208 29769588 402117270 583825332 247798090 126983352 828798554 854331820 706580146 455662366 523612256 630909840 769092908 490289752 20506580 703610198 249923956 756440860 13409826 969677834 115269864 39684650 391641304 144364290 194120206 56676146 481827868 981915052 75938662 704312830 181694882 334014042 906895708 754060546 720107672 375596420 514416576 544134078 349853050 578317310 559582992 629297382 496763042 88881082 317598800 492113326 750494884 345670162 836721034 466573936 623109086 343340516 807006258 39067536 328679354 198991784 562709844 274646588 472183828 230420752 37473166 837927258 522071856 456457920 14030998 123247842 100283394 786791078 861162248 726620786 249300882 958584408 741706518 892120648 773833676 100697768 913587262 544196164 413352760 87734476 183540762 479903324 783130590 224251280 874651602 337678152 645388536 926447430 933081956 622095768 640154864 289878662 984419508 777645378 862353646 229529566 524968238 597057742 913982464 257455706 471040070 938748780 766650770 970679796 361190610 910296340 441528892 305056978 908032990 337870764 212380900 805917538 986351564 240452082 740103122 133430236 366800650 601456354 47057110 413528514 929677232 668766000 411659608 311205694 501345736 502837788 644517260 586434914 253628802 162734876 240098024 216854518 989355940 114240682 251066586 208854394 604355790 837225776 642312584 317261278 185257162 377704146 347784358 501166732 603613486 345247306 718364470 687922654 542813692 433996284 990771780 516578632 388711608 45222308 934052122 226393516 771251262 393196180 332004512 749951718 445069340 28644366 275646172 8642920 636593294 170963098 74706558 356094578 912568184 811028796 859423636 355523466 603821018 969051482 668635592 854279932 759547902 21945984 64226044 886241492 322429772 936273052 762447650 396065778 678903388 334220708 601408336 911347708 811495434 704588362 128909802 690001804 751471978 166444536 101478224 513630586 737772344 273367742 338024222 601326412 64967810 553398364 173181220 433224814 587025662 953526378 305044300 546132876 308339340 248951752 76231970 26457444 881766728 88145572 764261118 472414908 542014792 639737636 636514214 754198282 260480384 419402354 86762194 942607142 892035050 653597202 809960738 537711900 885382908 103443768 206548990 730050582 785740710 145824320 743433718 564413888 774343948 893987584 416899648 461604812 879941682 151460756 662550176 752798726 556774138 362868828 685781126 714919914 433236928 11393274 890122708 949461852 89441870 948138914 661407872 341432616 100680092 134544306 915407994 868540166 854963284 142816720 396731440 508783536 872715560 544774008 416955896 144580586 683999046 684925684 36578448 167923270 854818322 27477100 570556356 455885284 9510132 810509730 348573602 472492600 353084768 324673198 100738422 575290706 965690770 971109056 137850264 139600952 853833404 218003796 435893718 734026784 557494736 154239198 890026224 593458530 131027218 323059012 51780404 598983410 316434076 656453738 106857086 98931888 902541848 349263244 754471396 427119028 513084564 343390050 885979272 139876966 582377578 650566106 976762368 87162026 122521356 341647618 434892550 401154900 155827740 957804132 542526304 784258822 349575840 996744860 269537244 530282562 570188090 540295562 911962658 691344754 222497388 423536710 867686004 515579308 230504704 427252330 63556940 124917118 953536554 391872978 989136926 830280752 108527172 256681162 644792444 669097478 443710392 726189736 753621356 743475894 187781732 963104420 70983780 727502696 398247064 984149428 776275104 672783984 949438124 131085438 807584476 25072030 102453570 571270150 210065732 850398398 308940704 786706932 100814264 94447386 496267884 786293310 42986890 932289276 801252832 329487594 328255408 247302256 561840834 360378278 301053196 402354798 840761648 383395584 495670432 854094104 370561390 719862532 60326352 127883838 467971580 782028996 81818256 755465724 69507856 330793024 439539734 416047168 510043248 443317790 509761030 30146634 785353626 658410090 264503822 275652370 580098242 890248064 365984110 486104862 460072852 160857138 622654056 930052274 548988706 963934902 680094512 527429518 61368130 745142358 539385846 98478776 828142850 107273792 518369740 457231590 871514806 271119004 314690304 3829904 98040044 260204720 761051408 140378474 831525168 257539920 573646990 694750820 425747114 91722950 537663658 801325438 796205032 187437096 909367840 203489986 267923214 188864608 243526376 482118594 398847646 840852458 977193330 875380692 291984322 468648026 153131646 459386366 739978688 111144172 538754846 811693754 730706412 855130342 713223338 166177288 992025180 472613320 124094578 508253474 170237802 9020094 255725248 306159328 752789408 353470310 850085772 254217906 801211272 663037830 736911500 948684618 510935722 116450892 309010772 136125316 417436810 657469816 828440596 87978342 206155408 468357884 992876976 1069478 547729228 749056624 190874280 353404566 42918526 871951600 410942738 588844300 210191914 250169238 474174328 74399404 726899760 63426736 843989592 2051072 269830368 123814184 978859518 280786242 969701020 640816358 945504476 327319378 364721430 824565066 936839908 855980880 173696444 74363256 107411058 195144776 498903620 10399350 909605562 105201812 406707270 398639828 768676836 939658690 825312116 604053542 336418110 110165408 316341538 912528082 9044434 966819110 87944194 454500708 229192532 520652422 175827504 947855356 783134236 956896596 293073388 615916462 554530612 263184528 484896778 514941448 706859694 526766518 937247538 729976096 73855988 489295874 386946936 840026920 320753090 40075006 641756730 894556144 435185610 740939278 974563118 475618298 788937474 284890812 259315598 612473480 961480726 109394196 243524198 494011708 66717012 252529318 930073092 686063348 708688022 760353018 644340924 585854936 357332524 494087806 609211824 759945950 293199602 342197632 389308912 310466340 455817996 413504290 665655742 510273896 56842376 826137228 827737050 357305454 775148982 763098198 256382200 445769398 378765258 704971522 829930038 348201578 160973320 778765896 205128736 597001924 989452926 803157312 604606484 727958994 40261068 151388432 471438322 377273252 574774762 144892338 392945462 100212456 720410414 122381926 300979048 317637450 680153268 145686420 345141238 62412234 101258690 134103850 375642872 960704440 258172600 370461290 568277862 848850070 755265486 93077658 772939092 633860054 861022500 419642180 395808898 938082526 148765648 253891642 431115942 757030186 127603530 181823906 138789086 960728136 790430374 177839942 876791824 438385050 801885232 610961742 138676294 416596776 54478486 331874580 748640316 118807624 622660900 795536940 246297146 879302208 922219768 994611250 681833148 965246692 668236960 389243842 777304076 357527576 102396708 200824528 529029830 695417994 208498532 975850752 416589654 572090880 945129176 61179846 660664116 706748928 635097142 868088728 845879014 348941302 103667758 459973012 666678422 674716006 149087750 456161316 372794984 952488794 430255062 813944574 55350306 156067822 169220078 702466100 667706078 84077010 516818352 800838532 377058554 525898016 588395712 210481304 259766374 836946970 545422802 477813452 659896704 262601222 684888548 835855710 484517318 448667822 300327754 329990500 613556664 799792060 521898458 83826338 264051502 80730654 529744532 569831790 574158176 941656242 522307984 895921434 419287444 725636996 259284158 772241366 78264028 245725682 850006972 221709400 800627736 148390558 27247880 256038048 564945918 747775086 939844940 646419420 997617080 960359046 80879400 629365758 42033220 863139106 988300000 150127268 384663298 421763952 741990542 517730564 986410154 230138956 391060424 459315472 162812876 517197518 857163452 951245970 300191608 76801782 825577768 299646082 717171460 37103626 719955674 811223554 184358446 234519352 31168494 255879834 575294004 908856920 112580084 885353120 976836128 728243296 937686798 109712 745131110 409409732 259166648 339310162 173045200 985867430 398134512 891745726 539967216 983775324 485526302 412806168 151185686 717290058 616381320 29060934 29330910 61932762 269391318 360551808 409947936 917652942 726982196 775393342 195321794 513195478 227708432 156978874 172616668 488120780 16080154 137316802 751641798 173861710 441444916 186812006 263549930 997130164 583481794 242686980 910000306 265818826 402150978 200909382 65173986 946242814 935790968 91035094 387657608 292629832 13459316 185582696 579651070 38560884 389547612 241375020 166513626 381484180 736426058 16573412 695208686 410867808 170405042 296068740 393117672 643780644 697572058 582804126 635461544 544856698 864774646 306478856 334686864 867918964 930650282 927368528 517771776 278731294 313102266 270245366 463960942 801103872 192570484 857733970 907555158 465370342 261124628 4075296 855712166 6420784 167717150 322723634 739501402 25899760 116115370 377512062 761929152 188131758 799762838 609553898 727271046 575936906 679931194 472409498 278126764 707565694 97100046 458340396 446215176 129736768 162634820 664317920 990136652 47966540 833562078 169684108 436418076 507646150 259175852 326559588 239817608 34347386 288892604 712837608 989149138 242817860 339790380 155608124 414260714 340976764 650203858 192366710 619214182 584557314 480304776 866511470 828453702 434135624 617624100 315684422 443421594 714947026 70644404 31192994 668172394 68831156 260909624 843580190 623719322 954594492 935251006 150587298 187855256 149076878 532659474 18723224 809652460 318846470 888963416 489830792 40023644 436758680 324070410 148675888 778283852 980859524 598946394 24430 97454510 780507362 962652056 378951006 107938236 804311340 575255108 680420536 676505152 86595676 974094436 111348924 184295542 536572606 855667272 572601780 892107890 718251322 218246124 344628798 281092574 747774366 883656884 342347156 327388662 688279694 393201804 609570202 143187724 546741220 261650020 97612850 497063418 809386470 480599154 297480820 680831000 598991184 805973324 574858826 818869532 156353336 228800252 707886284 534057288 645818360 666090182 565835006 696343616 712025432 904298964 452152630 849824034 801856718 711817732 203347518 102321552 481905356 293415694 485501810 749048882 269365584 474872896 815813500 366812854 221146458 880835992 953550374 952804532 311598588 474742174 20349082 714691080 946220354 471452278 87755392 185024222 885237892 403739188 219548754 544512102 316661862 287220154 932384904 299557722 427308988 543217124 400073698 480191518 806634324 556176062 133479848 884442218 740082738 516831028 681137594 421550358 569484624 822219398 288995376 960064648 16665682 36915316 339784808 237688222 82065616 122034848 926730762 928176592 179542738 518194222 325044374 802419824 280843984 159468870 97661822 565358890 200732938 186899284 625167622 437124008 557949126 564221130 375220514 744670218 150244512 525238504 841281320 322009798 584732994 698921018 419358384 459621190 665335660 493795592 222705820 519843736 309828602 10995170 970111166 991741658 289180432 968875012 610445344 471771478 498602058 597652652 993496120 454876114 40282674 921045246 372877214 234069554 49975934 467267262 138400956 121854392 398278258 841296858 367133124 795552930 823425290 722113592 362222956 607586564 126442084 843362476 993760842 267017056 303006132 556656444 848134026 857754104 379499298 215178530 651588438 500812718 991428910 813038216 476753052 352454934 526287738 982036722 895034240 726707386 990849932 871839978 573098560 490028262 427676186 408918592 87658210 838355598 186947026 32774924 440531010 70281512 567490900 979005964 304476094 528260912 436656694 39816284 908818334 5818424 258614576 951855164 152674562 932574676 673440032 984363000 824068124 793844586 414986048 609046078 705151044 695412974 654794510 351371136 791917990 710698718 314411344 884061698 768916164 720025462 477001176 379861376 158023118 38426326 921275042 940726962 675688398 156445820 334021898 134345646 151596860 771349716 593387376 932652936 109107918 2884444 921059152 207219146 250757574 161081128 989816102 292163490 416180608 183736794 98423322 973724604 436082290 269233064 264846342 643545654 933475534 97926320 34570022 546398030 826199416 848695174 674557164 360031456 312303418 803314242 232830124 765169246 170043476 455627114 767894540 460027568 231065064 137315498 355742232 537403368 475461770 114859892 943534926 108250600 494467284 837018430 848581376 23925738 799144112 421154870 797834580 679659680 657941220 734720082 251606482 457959370 641380928 912723340 556233822 715589546 882477550 66234936 220141786 515874852 478006884 168564670 31516760 382103286 500929538 22716996 405016466 804206050 52633856 728059146 141940384 449701790 319056472 657483366 561475574 847651136 204561048 226910018 829906908 477071782 565685642 81730032 190338118 731165136 903969780 356225424 641982320 646222656 209386512 770916794 322588516 841973470 327254332 145115180 631378938 637168518 410439094 402543188 685879410 612080756 303474208 744795948 948817550 851359292 738212244 104014338 140239010 65019586 956090228 68641512 103038952 208201922 797692750 167705430 524681698 593645224 295037580 932532658 509369848 915298920 493819640 944846600 771887532 443651608 351663378 647014604 530715084 862323106 342709758 154935324 375228244 158391958 551639878 466189750 886642448 883673758 907177420 252854840 964338278 793478098 632273650 162911742 342500470 884101552 270342396 728345040 319758572 518303464 93220940 499405786 169183712 205864522 718288792 735805768 463465838 974280836 222560294 18320614 280443388 262855406 563716962 298589394 987854346 866699540 124747792 270283524 858467346 328617280 987609428 724063902 362417578 804713278 95806296 545006214 743596206 328277220 598292074 48609514 234174526 226372538 247594870 733045300 549609810 631199356 836859578 569635964 443524192 880698966 913515536 977564546 458788742 62772074 415803818 836183202 354371068 730738236 250003590 223836874 968835852 785184262 506800200 616482068 933713332 212388368 831795786 63799954 555050566 908858112 988064204 114580634 246843498 532216106 987069818 740999204 853098172 918261966 376693358 678348314 196438650 425005786 493870994 486868128 667941432 635040462 966987698 393953068 750300160 577223142 331769310 299388286 528306554 584439180 180101690 852898124 964018726 613584676 681066052 25980622 333187594 749168450 334244484 933729944 65617868 699569524 761358104 666288840 461347360 823559968 456655834 600063572 906087032 917345750 472437566 304960712 554967686 22687144 548737012 56474320 744186552 95959020 71419724 493892810 528005628 770225802 671564584 709408354 948719364 153840966 557813256 645338618 336799862 418214668 696451156 936632010 886875212 895934434 953973490 230331842 476497878 553927702 163121534 786023426 916567068 422323580 369472806 404550226 455282544 360303966 576500442 593807908 326955520 392399462 674341270 848351232 997336302 239952460 885402748 770175722 603151048 83118916 880050592 39592072 555590926 566793100 658492614 613197134 558482518 989553986 873253840 753685966 604364778 98722702 140953112 661890136 26285918 140403092 733987074 852315786 588970976 13656324 541323448 721816218 461940436 640453868 785460530 456563322 92311842 144013242 784095436 206935108 403199332 443540182 219373368 956325338 166111710 203453132 540283460 741068008 405179814 753953404 892989972 128695288 732582052 247090572 396935128 789835416 339085880 235218506 719595904 177732436 734929862 508033812 839024066 515731520 312529174 472741270 19030612 219703796 56575582 401781620 418402504 779620782 233554168 774551978 363018806 6562804 141490990 580458896 370782484 39416328 501428792 109837638 332053868 601391282 46396108 234031592 357698298 78456224 374006042 618486044 213804532 735791844 767269698 753042480 715941134 231831222 998542252 216779310 904900142 32580100 498249698 287453488 686493110 940461088 637045800 857543702 343027398 243601212 10230638 616858570 562665758 609971728 185020282 871604274 734726382 393047156 282512696 288042736 940884372 761119730 881550948 989947534 519556750 750945652 386336148 745217968 731819026 813013666 115726848 870714018 859034168 592993978 960547710 415079690 971459408 560635408 725858650 169064542 480738820 721464882 790233596 944657452 381097934 533938822 461829818 432069656 700269236 208108416 750205150 762006314 678867266 81741374 782229612 12689556 275491156 234903738 661664366 749043410 481912316 423397650 217580482 958018546 930256082 965301572 626252512 829159694 525236898 937589636 812357450 454217448 34463056 351896482 716929996 31122342 280418712 766865880 541176916 311548684 468205556 320598196 381446344 722512386 256862898 360407760 193362514 372744864 168743040 166672444 65859420 477518810 875542650 357410986 863712156 66676376 316928792 784370458 614358358 230610822 227013800 605367122 745836448 212639822 112069346 173642524 532584906 602256936 401489268 895773236 308471482 629948650 894414072 665429834 287165912 74194780 533631716 736618238 529925936 344819120 105054642 4162172 536916472 424473012 272727454 82744622 301193114 151437888 964496542 400427784 574664482 313028014 61252692 964621818 128821494 366582724 3277154 676389102 471101830 668910972 840487904 66785032 521076434 649296434 578382008 486171648 96551920 194921806 684993068 725969254 945883022 628248740 967445356 680481668 78190064 819395546 909842942 987719816 970945596 70638884 656630766 356987812 721457838 738799056 615234624 7181306 787820154 457137914 138113418 39378288 904704186 87860506 369900028 338744858 8493620 638333828 29909034 505261612 20152668 400212876 509509518 305570474 248606284 327251662 161530340 777558990 357957256 257835628 301306038 928408948 114920912 857788050 216082484 441598770 410542838 652868866 616054268 825748184 316015238 476716354 859938020 89052806 925226040 294559432 724877686 578084426 603173226 278949862 555423446 310906856 667134590 791061498 688167502 104438094 927778546 630861750 768786176 921760646 800448362 757201098 619369086 383703378 302146034 82974904 413594236 606598856 881076486 917626030 560070986 371226170 270044394 30418220 506890692 890858252 828488242 899076810 538955794 292489392 345158362 818435816 75688214 509734462 845424818 553952604 925662356 545790528 96296674 142177464 46001200 582304204 308399746 801681474 523431032 943460720 96969142 247446908 752134486 267623140 521405888 6063382 63482162 172959818 447640430 32416530 487191396 917426114 303087640 208310048 571438138 789311212 50791336 177246586 450757714 578541960 389709600 959979612 624603022 686933802 657361346 551743642 865616894 254245140 590833330 647900908 498151774 327477848 113973356 302550902 213504208 926272558 630561216 806941304 129671124 679442612 439106756 992410762 440073290 699349494 243842566 813275644 684793986 107522186 291620712 888623410 240804200 179253456 272769112 888505314 204301594 687948654 686115282 771461032 351273090 200009880 107159010 133092448 739642896 176497024 679669658 722106710 334418894 933471818 738878832 767802318 710318812 601254370 25853390 575915608 181270116 691091212 821780302 951111004 852588458 614767842 533384362 301040474 219590326 401077674 258649252 240802978 755320180 873125534 52666716 456674020 144832764 715472670 548342176 11420110 278855770 564334316 189685562 613647864 865253254 491534672 711668816 246294666 694593280 833057370 262833488 460991346 905629522 787758612 221315898 844605132 577613632 422050078 737614198 436247622 536714442 952474446 305260112 38181924 2980674 452183622 297466956 738661318 59491118 825620324 423632386 501287850 622106204 398478186 226975646 286044600 624573634 654270606 306586864 93921386 325249158 625311108 372328726 495019828 229379672 427760454 769213162 697909380 468001716 76974806 147433408 608334966 110187420 438753722 840245450 234953484 328202656 717216762 477977440 444448786 675869708 572380894 881811486 64490106 519182758 847033920 410071698 58469648 114108366 465144994 461629688 976694784 194369774 256414408 229898600 147922082 644690520 436557078 272438616 181080348 433806570 726487094 446332710 183486404 100454132 95430454 896434006 454453448 943645464 307978794 923151602 92259360 78215548 72391548 769055160 392161306 983267664 144928958 519939822 886994744 441171024 424330744 245008430 835895884 830689262 632049452 982101334 929799562 603620806 905673736 700106118 550290288 896825814 230924766 717284214 580534444 326816036 905612240 435671222 756139724 535149822 990117514 611062994 593470008 417732154 260760928 632414966 295904796 911939004 937183336 903308140 373083510 440475366 157829538 355776352 509493784 114046654 799206486 576217538 175315062 108774220 143657298 374224664 189833516 774550068 701961884 827255186 587301330 166987962 138599024 299942684 185192952 804170936 222734952 929939780 930587562 616015592 920261880 106749202 546636196 8802418 809050578 992025436 776407570 681742566 316340666 668095500 971355502 867166634 256358142 425933356 14317562 189747882 90238554 993817552 366045772 108697024 44291618 827056400 30574528 122720818 635815458 75084250 572377224 115772758 599218614 845254528 483997298 590398886 581117280 617440038 976250656 656441238 136132708 971442042 406923630 352673416 492142326 339362908 520264228 252549750 728349416 829669680 920984378 561679376 449522852 279509938 71585544 220383324 530520736 458845564 322373268 379277772 114755784 668791078 24667186 841534018 85732454 294467640 536622160 501454370 622271492 129427526 270597928 704047300 594279340 839646872 258293332 863042778 843989940 556098266 462541550 550675000 858062246 949551520 551029054 250895310 356100384 964884912 463973290 154330766 38483576 406775566 941408270 761464506 806008064 229113362 966045456 437265722 481705956 783840390 618235242 432177832 561583766 218311728 130123130 228976636 95470644 663418236 198339292 363474694 274862742 21466398 320723548 225726762 408934764 354820810 705367526 80141750 464462464 63768736 126490762 441536672 913212272 824155740 152664866 826160450 393001970 600059656 218335076 343088716 612456788 482997388 185529560 157534630 113325354 262215184 402922418 743092222 506160794 937641826 420231054 481443798 168840476 317580754 829469226 227935114 540007856 16275688 382052278 248364492 29635866 637943370 155628348 909771146 971689870 722288948 352767844 875228586 258625464 750541170 462802848 683848860 15417434 479565050 508402890 904639912 691005180 901198642 276052872 267605904 629029232 128921224 791058544 925234412 842820488 993701014 381569338 282946306 155550564 500685426 599655700 874913012 593086326 81995580 5366414 272930842 187316022 114048650 298503134 80809770 800180938 13154882 867152048 778787064 499048868 292446036 218120586 718791950 697427846 621625032 44391066 390804962 70524226 271744668 706530800 356036844 518049268 702799068 736195118 415712702 265290644 443769872 359290884 546557680 96115960 487516704 515649110 588350380 36834652 450678234 342298216 812102664 480662772 664421904 393737762 13177092 293918202 297680368 237374738 526511226 218129038 594971468 205747702 403961508 253283234 147898472 717707844 20481616 269766802 552715858 855314674 209194130 685131816 904241800 676439342 855141082 521992412 114373582 672991740 341989456 651744622 142670436 998730444 420577462 968302896 387214160 246419614 573733106 760812470 636315322 653328420 198714900 278670470 303873602 543012378 3779302 84149422 415688828 877344826 991120782 272708626 979768118 515746466 540880098 221973774 948764742 240112932 580398146 807725260 800776612 158904396 357490014 158674780 119556286 394733710 573308450 940088298 85647568 479542032 287484420 140397444 681946938 428219202 824294230 746519652 582558652 302942190 152238652 128897352 473391134 423503464 636656840 717987120 310443552 702163270 668174568 744908382 751953414 725517906 385724886 148208530 156392274 656659572 519260218 979994720 471096290 250630796 185293864 289197422 485697550 766990484 3997216 300917848 119812560 711043926 692292968 816176320 800061296 797672368 441056600 951180164 325512556 928463062 88161542 245015384 682969816 714979008 919049858 964432966 921976268 722999440 419710488 620921348 827398978 930092968 416478448 818910062 564240930 323787434 375486134 51507318 557590730 932269624 19725240 639150242 977785742 181871190 175077238 325576248 918220582 500414860 85532754 217270496 29623332 335517808 23174942 941478552 521731774 146734690 398035132 571537354 658019434 405985460 812378998 531750852 297098082 867411852 329136482 929404102 822510658 962015394 662070990 261938192 633692340 724112148 607337676 654786636 760254420 155081732 8600934 364207314 299687452 460547126 769059644 466824824 443817626 614148412 572658728 448866262 736998894 647810678 84571008 370102964 540740270 711879130 487259732 291640816 311181130 516221502 418203780 313965368 345029142 615117372 820208496 89404924 469378720 991277162 738156852 458885848 470469238 18366164 875394626 839367348 141130018 432073794 593194224 233094326 406397664 698530192 523807230 878769984 12920680 102339716 517246232 157218544 147758956 372105832 26013972 269259134 110158038 403398070 705118048 844329174 1867348 114319558 509129336 61546612 415710352 427489928 723464496 534678968 932937498 265396618 116648176 141159762 274688482 845887004 262248820 155863782 902046540 508995784 246658584 245390864 77822802 747104998 742952202 754612140 348862668 496518424 522185764 891290008 843883826 958428600 125854650 582194822 482800014 396448816 789795258 987045818 923132804 342727442 943492042 445547776 425363962 274905056 549854440 985399790 239077266 982002396 780830716 787792282 44079268 631187932 15707472 772244606 138724732 996361334 705126576 884508178 353314360 254446312 619145216 782177186 404661936 945262272 93799156 917531040 605282034 658281662 859785836 634197840 683480664 15656690 159657584 396303128 569227586 963958662 904827422 545555100 22066412 297099232 917175476 212102766 38994550 31059374 611634886 63220084 697796152 935941590 295926388 106958140 419580988 553785942 949315252 540118662 436164210 402922340 692005592 115030706 161583908 589659964 243983534 442691618 521992070 616214278 611941172 741636336 597525240 369605040 483228580 944560166 776303926 421345818 302105352 741132254 177372410 152737590 419277316 594196042 160191184 310383182 536027310 377639586 882984450 200006104 228994474 933689488 182004160 213452238 58564480 434852388 29335016 367628554 884740244 338273892 971129832 84233920 77079844 955098238 34810124 1966626 614242786 865297034 186588822 121742550 194637522 668022322 368702740 885472660 393553594 416570800 282119802 317215478 83314390 544452340 53945606 406109738 408414212 118570994 457164472 869210928 457965380 501570564 564819342 49762304 951072134 102355562 131926856 960018728 630050240 547886702 366354278 826720774 342679810 384000330 89498204 816803180 653605192 767836226 765991866 537002348 637484266 462457130 366251954 921061674 197371114 951185800 530616980 660375578 66742366 354123392 152301756 609001822 995534264 999381842 590529104 673416296 538418624 989242726 44092286 603049300 656395340 985134052 533859152 74711812 560352812 664411970 125642100 778740604 369062740 707074812 704103874 128985338 94147938 998357942 111207812 220296920 386358996 504391890 595054080 244966532 303369122 869023134 569371156 400094358 642927760 442473988 961777076 315838130 63313182 486150606 608424406 550839186 848361908 71639530 150778378 386736432 187335236 615775618 973070916 90976594 498014112 873862978 76607128 157734032 144358480 333873942 223579890 842146240 336649604 257394534 528212784 430062742 109065048 981348314 923566388 284891260 72882272 45642716 291290978 478399870 134364952 899765464 452750112 95016712 431953464 822288416 822617752 754478782 912931746 275215214 504280888 776154866 154227360 37319600 111810254 613583310 134222084 860855258 43779732 59488668 542140262 520936944 705355742 251825248 765621390 942464196 104479686 970448608 410737706 588762004 842217214 561234400 606848958 160032872 367421806 206269312 297068658 663456630 662439016 391325360 138092396 330218484 484472534 840928770 892871184 965111694 396422830 789585602 510057422 433039792 945427750 578456662 893805492 186325814 408977054 923349244 443329642 835559028 520216372 567644608 639463372 191205652 362599696 732289408 39163692 770916716 465198408 915086194 101564594 728965162 225524126 486878240 159212004 404236300 162467264 75488960 127666772 859180792 520268372 869062440 619923216 936165918 46383896 701108544 328670554 303023558 577846190 129899652 962141034 283434708 171841004 110714864 228192056 788003982 151700188 945446126 519589820 263095606 300778176 484462742 535396122 598727624 154108086 687362438 426508424 728366268 870676622 847913118 214689452 607006060 808097404 598204650 776459648 882337082 255535602 76076932 924113508 395239900 3516864 675103154 757531100 919413292 171100538 236863668 699551244 176141966 990672360 314323934 710317700 473791208 818047414 323698202 446430958 662595526 697519194 356983728 615843566 648501702 122279534 13578078 373687224 596726928 176932736 62139710 78073768 600738222 525216874 461916302 452153526 982644542 467684544 898589468 543369972 457230822 64724470 598592768 442525080 613705566 353894358 562216278 305821084 462221688 579497728 437164568 341337764 19217202 696992462 818909304 448461084 101676072 538166912 676746454 225722160 974958844 760676018 658296834 133794260 233419180 62395542 894369440 160466754 517562470 971458404 76517294 569050590 823957180 216053126 727640528 119574210 260775332 515053390 196368236 326738630 184025516 259051052 99261528 79584080 809213976 609976536 561840002 368211952 678289540 926555028 812319084 622481568 442258070 65540026 582720706 812378104 667239810 919078952 42014312 227801472 361620310 225904658 6250302 863647040 982129868 791935116 582821624 25658008 857474858 817451828 975476308 74080938 939769940 339005796 18203560 933589900 219151652 172743614 549465730 380949990 157426962 547332818 558382754 776218726 361737298 743855318 169727610 370678130 584438990 490576994 140969634 297233902 459982400 552249164 505172304 920672038 861052848 854601974 497640176 936088928 118996066 949220496 862416380 850741324 334356594 723173646 986545178 775881020 134868688 310624036 189704964 663866608 549426562 5837342 627424298 341012012 512850086 218541446 950589878 237606686 234368354 244096612 418432584 528070586 530629428 677373608 697276228 850227936 428784318 572209178 68210036 895277958 363049980 364918826 842835382 794807172 284795450 109528228 156946416 288442718 121601930 206222926 229636142 281896678 8500256 834675214 2391104 382494240 178254674 948559004 444937808 554933286 185974294 15383806 983610046 773824420 370209500 122985610 551565706 953879770 989726622 370268254 681572014 764408008 992711426 102136556 564009112 735071630 372111932 671232742 804676436 294885282 136288322 115553492 229487770 801511922 486988740 569731994 981614164 362916572 596833502 893169466 392760710 86331900 742157956 976160904 62740518 373251746 1636392 742343560 960199682 59040202 649115526 865539374 489382104 93269376 314479554 648600246 723710666 980570604 879789994 681236616 333553974 669032810 694112452 721235450 924514790 913025512 856426190 108350040 87500876 742492828 123219730 682701998 914193830 404992766 933193948 562383550 874555420 144000500 407569888 730030462 693512010 655202006 998923714 587740254 532715914 481511312 131006960 802549328 919606584 847025156 496771094 853806480 615009584 636419596 982227102 740183956 657308302 333555142 583547144 818100962 644513116 181283598 518511410 934197124 375228348 460495134 269076962 323460180 485904746 829378808 851330646 9478660 471603436 94322100 847403272 73650106 169596628 148202574 21917252 633943900 200430622 865090446 416964750 113551058 139038260 33970804 602859428 64175738 807562750 587445040 419534010 248149324 692318706 362090160 613964698 853990742 986138848 251241120 765703550 523533638 448375614 26206260 452263120 302301142 693623682 626670858 242975822 864883000 963050658 788332334 396655776 996426826 691736332 850864430 430561104 432785464 614126986 850341600 494327784 358891444 601687992 159083076 32249614 461668638 43819688 144376336 676464688 849350838 781265656 676310226 870535372 43392324 315931288 815910346 675779100 48287382 941180632 98559478 980131428 904850716 882898088 148923368 255941316 387564408 59208964 506638336 133425910 442438684 258490136 117212820 682794506 612182486 643543586 615497310 600799464 187939572 143518154 772840558 488836616 232028610 465202360 973238382 762751466 71707626 875922984 183439228 314327378 479193282 109041226 378596842 758829698 38608806 831705180 223519590 913453530 675534734 68621152 750176668 537778962 515083964 836543616 381739260 648205142 134532208 276450532 149580656 2841888 893900660 733043030 928276658 167062468 849553016 410142036 767305560 594875590 484901308 151550946 183507156 755887686 442541776 698002302 573272730 131717118 534903050 504400274 233905982 985116126 69252784 784091616 69801588 44840302 871679602 548721450 437633966 975658056 870573916 19824280 590709042 942205332 738813408 253582220 445084486 633093700 841473572 677475330 936944078 157125600 709605598 812432264 980110948 596555358 293178846 901817170 729279166 720407700 798647834 188780754 241214138 14589050 899844370 647406742 244080474 816665890 170859986 664437142 802075186 565320218 495747332 360909686 445893354 15302816 507624172 839894760 780842638 208424282 768582154 201558518 430465368 510958344 291046354 457898276 161975550 939704378 232252078 777076804 454700352 991477716 344718364 673091182 375402234 363678502 7389266 812374128 148656064 167505788 532586354 19398748 622201214 158713182 427635640 608032046 978288432 652327376 87673026 637558992 556314584 41035116 465351048 828875468 980174194 660555606 619408268 801824880 246921474 133655636 245218940 913518394 356280824 632957696 609302186 910435418 198600528 554941306 287740306 612457778 267489658 979414166 530950616 837086034 362555682 465538856 183487208 575125520 215581948 100576524 469946482 536119426 612591294 207321686 160508194 109304202 15874628 817983982 198037078 679281512 786772048 101509110 126955172 544933024 923574622 218348772 620832544 470421046 81697478 418772302 85819126 133974390 609575672 854764742 518007088 204313758 933131996 854364786 757843718 603528896 243229642 843603908 774040588 235896954 145490616 463919890 476581372 729874306 900444090 159864808 439789566 944285722 674287766 495430112 437326962 76555988 321493238 41726280 624918066 775942208 60840654 58706380 578035982 36914360 121311684 902339754 548685462 359653772 350337440 966323454 756418312 562478140 408183340 351982892 459951982 75820962 767158584 753146454 945068920 93401224 821587530 254839376 325643306 864765740 985114268 19928872 664488170 992259492 110055474 454780740 238004210 199544278 207470238 99472978 303774322 608188268 813751330 942537044 29503954 309281102 60376746 789381758 277890402 188960200 197602166 660575650 201746914 119897376 61274708 206772744 277860468 179872928 701020040 759171370 580442958 287462222 738556438 952437808 605987826 531143088 21465474 743601836 938302020 718918632 824900542 924174694 606784130 883212798 878981296 672855328 945757204 102561568 451016098 276498964 352736648 846684902 102499936 33528812 443620814 993687344 763455002 772360870 274909158 467258762 68073200 120276564 952113728 791954090 989380390 907325636 527608690 76870500 274255858 421945048 68155522 726191600 645036894 722814714 309584726 141985678 473105696 892759106 141844416 315990892 892078886 950857272 996248420 372783362 1207012 425418724 870054544 385299338 669059174 273917074 578380472 886997434 653497552 460841034 189974554 17865642 687460722 582212156 974197982 376232414 354824398 259309706 243974404 788531798 814418824 108871688 805860208 883565430 878491364 638494824 599097404 874942594 876730728 354891086 791791020 446372316 57874728 198938748 183423568 55184432 66125566 853899946 722658752 854690246 885766622 633442730 304293734 68746388 811262890 245917868 292703044 733144182 945357516 666212950 393458440 619744392 134711300 766408352 739320912 840002208 383531430 772152876 244391926 169222098 338039698 938405396 5472564 634779590 610103922 785571588 810902976 753746408 671753476 141664284 618713416 41261230 298457556 352429750 715824756 87038206 440122738 311462182 488870360 38692806 67470104 882479170 999036932 976973340 246181010 505286952 616048664 369529488 501770180 453886466 809263768 653265010 915344960 222623270 792100888 562581384 907821926 988752536 24251220 7493490 573392728 611795346 619575402 905723102 802911574 233071966 819730810 359868200 87255940 60761810 847060416 767701524 463968748 331844852 479361628 123357100 556995356 248358458 184687278 297178286 500574766 575534088 585828414 953044662 838999812 681751614 825030390 207681750 636714014 252040294 653267744 683462604 838834560 671556640 11256016 490767104 139388972 324858132 433791570 514619552 188655534 969868910 291113408 822354994 303851000 882326762 439298782 283996356 560115724 711469616 202717320 143569586 138115914 504714938 533657196 884982358 703000950 143777464 509255492 987259842 788423404 199028996 30166166 525517118 78104902 637733940 36542972 472800862 323046160 760239966 384079504 885589666 927746766 65284484 409770822 855739226 761501718 716588698 876011518 292937622 332873238 228346842 366994796 248458830 788526868 564319698 27050390 773393238 446510706 858455564 378112658 470467416 425503346 204377920 275402630 521337996 509388968 269005496 451716140 179087830 884552340 667325524 803966550 244710032 475940620 692024972 144516528 827807080 546281762 254323042 628478948 698049090 807993732 768589898 189326384 102546948 672039514 463319752 920232984 449738690 749184004 542824890 655371764 549560052 222547818 617759396 105954100 133768696 501266692 247536672 894612086 569894318 283303472 603897038 634616450 595833632 977500038 124561530 819457008 833668842 67200290 991948386 386145424 544099120 115056088 593427104 440676068 837315902 500093124 243202928 544481788 756494036 720842994 164214444 362768438 859237036 645667644 753600490 27045432 512366820 989729170 833755866 662889418 648130430 90575444 967447626 820388874 297956316 669781708 255942050 313400548 911505684 368110184 56606084 489531530 350454512 792543682 675127838 26469632 541369800 315062940 151611168 777779860 590175302 128259256 196298084 429765694 188709302 414719088 606676310 197307228 625875862 491546990 47768200 908776734 292297002 420885862 677543130 119013970 684093646 793345614 234670148 605499372 491463960 678599996 388032432 828998912 227416238 815432580 563296066 728888294 392896690 562998196 312711806 228365446 593722676 575889888 318426392 125967682 883475402 597012050 541086762 239012678 465130284 89469472 944735120 373563612 657479946 790265816 872934560 559955740 550793326 144014034 31421494 763000948 298253900 783100514 143355110 347274260 869387658 184545310 595838482 176858448 127303734 505721420 620493084 670677448 730488366 956303286 163326880 153317452 29557998 587394506 205376946 230412970 931955102 414923878 636076744 398020692 595867116 435643284 282143752 46142218 785658608 261723450 194140574 352889216 323597710 536919662 297677326 558817846 524104082 270103152 717295770 574969326 391228614 311130342 608662486 439442716 274707080 973089776 397926088 109179798 374645696 210607286 932344194 789944648 131984378 87054408 556204878 648244098 639030696 234766326 118592858 354301190 295501278 406024900 153891742 114255728 450669816 24810764 963690276 786710376 108790642 894235320 571009018 776481344 819767158 254758870 565491848 924595028 729752380 812836982 913878270 148815806 378912548 337171416 136302616 33708006 746288862 842527536 624008154 156744628 39047762 273346546 764476204 229845790 732738208 231267968 142261316 442019636 442014902 124969684 281426990 678146822 453362370 665884694 859423334 571509266 782986242 842842060 28507336 702403136 246236444 472701326 384249752 84268596 745752360 961897142 498163890 835084990 192287540 22533270 768356386 442887632 169494650 795651396 928849022 922359228 122779432 97993788 808400872 704019050 616138320 641663374 270929820 743598178 721534898 431701992 58951932 89099866 660584526 338758510 790034076 662004744 110543184 50893164 515699038 283586654 978858820 214366736 910956036 481452692 10845192 511980734 313229252 98048530 726778890 357123594 404161998 67848094 15960016 947646114 53339312 40695122 375302532 456796938 969764356 709999972 373188204 819395886 6017270 576476550 761721958 561213914 716183604 917078910 759415232 427434092 85211370 263448938 647906602 443996122 348940116 208355706 163278814 557662722 615199032 140707510 738632078 755315582 99266398 471987122 380565270 238755966 861752402 664619516 261513792 491319518 75148592 156693220 504481244 866131700 142876218 770447928 862639752 5076724 274442256 524679338 145497420 563288674 172620984 5006210 94831616 838016192 576380202 106073630 104585058 725015156 93279522 673683790 425361200 395141238 982370450 231215270 442986456 593821194 752690654 188461688 966462728 422880212 447757862 964808176 985626264 820652838 559594886 670099792 93726824 365591194 999472790 455880288 850796890 455092250 999912566 653712666 398747190 679851036 369845922 96621896 984251382 977146924 938487514 735063654 333425110 42305808 688509164 779523656 210267014 535964098 968722596 203258712 736508944 668985766 3708044 139627138 125300906 944996090 25147544 682466180 446470654 729197830 781860058 257730320 879855876 735047566 552057106 984367378 986029070 640123878 500952932 590465242 969337512 219169260 804195058 764824950 609115962 752011026 105126954 693587530 422236656 389852914 200633162 623946444 176271180 508169270 992622980 764718802 56766496 57841746 423986908 250209178 910377744 922335882 945599016 785055446 227051542 261455504 245090696 392793522 253057062 144919734 916985070 263991492 92100768 85961898 802766694 336963382 756927310 10698660 565023414 197581876 760187454 959385888 717593446 133628448 886172778 273686176 679079344 345760910 695637780 632221938 602815200 784657674 124936668 610256454 374535060 383872710 807957568 968465720 362622512 911185526 31287812 890434908 712894312 338922704 106132564 593709006 215569536 738095412 303643092 515555500 605252570 227668636 740034410 20912102 497465826 869187730 198141020 612871824 217161280 295635696 141471154 694150542 974189158 54644438 794696944 99664720 903722182 728889844 671364256 974463234 610425232 364187614 50369040 640962886 359885178 533105554 904260504 271933844 408614452 967273180 587374842 313892214 780672348 458272150 940649386 857997282 977577432 473054170 330424490 950620068 195810394 694870514 142378950 913778916 784097014 141296660 861181914 42937574 160297588 414619542 487811628 464582132 282576466 673994588 534535340 723885988 221480988 600787770 457774920 216453496 851664430 44804806 520523830 148737194 442501682 756973928 903574280 901750794 193671844 4553770 426151290 913140096 419279112 13482096 761670884 113618232 555352126 434371522 779778790 251506384 867561902 860769948 180321488 244014568 382138016 597134454 47212630 463464164 455132920 202412446 830818166 458162334 685461794 57937608 907101456 365654532 508095642 678316994 740751248 923416902 289745862 178097914 100647916 811092880 316385770 558130966 268003674 313826926 693156594 16769984 46931280 354206336 874369576 421214798 226508702 763442716 539537270 472981628 861676454 410773448 228105290 65498202 624361794 972212410 683373044 522370058 740840382 363450442 476251314 503592656 678956090 810796622 691858228 625624494 572004788 668752550 137585998 366698370 376487144 143653844 937141476 386901828 689661944 25183236 772495298 892152990 885800482 53838006 782154582 43629572 196063980 209311952 70830374 527458130 884899346 294556968 193824448 476481206 296777418 200810254 394416056 33315818 406663188 778402884 381217616 858138744 524359242 255397066 667086666 892773418 53649876 226806282 984494270 871774608 821339984 267034484 612738196 491807208 492901096 859099578 838924310 184840108 579573632 22371412 577031798 793259148 153828064 656214440 764544188 976259602 898403560 888887420 227179182 995396750 265293072 564688294 712711560 205950860 657173020 158243924 500913338 779334312 291016408 165263846 549497636 217451730 87429242 643174542 142891978 337914394 257381860 667632732 87426706 484979376 758407776 225326580 994412092 945185902 667989276 66756936 461716332 786019952 553313208 846646458 882453742 328677864 782499184 54630390 503666578 192646924 399315150 844509946 587801576 341614480 57179036 328159280 984292174 905946136 642061910 324227128 170663300 567707136 13079556 827423498 505303128 677296182 5092790 815442894 222863092 566791176 733347574 260058430 463553858 970111224 340957908 75234154 981387044 534225906 433692234 420079838 552196144 378547334 169169736 846325376 411069130 746390534 615441320 697403490 329768570 353176902 401082840 916877884 963947248 328488166 9039844 105900258 775465374 98546198 993752610 878428350 3734660 965292078 252506572 82736088 243941692 267669220 249916582 297358398 829756802 364475466 425180944 790307940 26141754 26525322 941612698 890684496 354096690 273298808 407415114 845082162 697487642 541243062 426323930 773225830 607193102 391351086 371839938 302935592 40077766 406252104 561174604 401753938 885282030 414030216 723179710 547104978 698480842 883851736 940857656 535172184 808485390 203096350 846103970 8770640 742578168 976134494 130817240 680846934 789608796 867237712 55283912 95044874 188665516 297960208 917783148 760662514 445454140 972626188 429003126 799967374 474805398 826789450 976678572 787073822 854762992 934133376 768070726 993881862 514553262 26896462 655888028 642153950 386716378 289286050 830966938 404623132 348310114 326991246 523521628 8724426 513629374 267777320 648912642 158127170 859475662 503599010 893891990 386895564 791845268 584349970 125453140 41093658 111271026 984625192 720746492 643887942 67136438 174872574 321860238 860158154 262508952 920905756 104504846 207966934 62676950 564582100 691916498 669795630 630046620 321548848 153188102 527635528 275497136 504682146 204044732 543593682 618282282 102690714 911817932 370300798 996384476 24839626 430602636 64629886 726683448 678686722 81866904 859133710 852367910 195594466 154533598 346270374 750260896 759522542 954232514 4571590 971147728 517758268 714986326 571534442 469160216 778625870 46848820 257193894 222561652 685146182 545899094 534440804 993509238 639834974 344219112 758393162 543858010 57939932 747671020 331107714 236571168 641615608 967927712 245836446 531406106 100412296 485996764 971140816 568311910 73994864 246951626 437245218 519372362 501259754 711083140 632044636 763547676 607795260 121016554 15982396 252694240 11359450 131564304 592287202 423374940 23745312 154332396 120876512 936239988 129627220 597421342 677732116 731516928 311677978 187096490 794934976 171540434 659926942 697919940 568217350 615572210 704415662 337136272 742934332 56178760 312556214 983455340 834478508 336520912 867704384 88742028 279627214 211223970 622528636 133122644 714166708 284626566 538919208 758204018 468587494 218186856 744397392 419979618 828322146 569126458 648897820 948021026 100288512 139418274 334231452 106470858 500733476 12771266 417641356 196204592 535375574 577873488 56737222 475166254 333247346 156754732 30610106 756943426 990774286 59120684 607985002 713883992 530372064 868988754 184148244 563028854 786625916 535159530 714924942 543553506 444547238 301462526 424823230 362259234 454478796 209004436 300238820 579473180 868186452 709271448 12532530 342109526 148460266 454242572 320164594 922984610 131434760 567329748 275353654 608582326 871003128 302491864 842652404 427473998 196396804 135249410 677635584 410669100 433348832 781323568 172159914 929372074 41474696 29972932 867437056 593387838 236865982 161050638 71173742 173628862 651612570 903324466 523348468 935244978 975004916 987923686 260899334 241606564 793473134 328175620 541357370 194678434 202228128 312059726 594548460 577157968 666189566 27882946 786859546 21308308 642831782 186246470 975198290 342025490 696631446 979738740 790711776 519643658 618983242 945840586 337478568 834766566 3155300 541094536 816049308 484393026 608494766 297940434 738579618 81058956 335189250 851666560 214101084 365393654 116860562 796432420 574978816 389191528 226722240 181173838 546323374 160905594 261849514 458631142 151102204 85758196 154067332 514905610 844924672 93570624 963333174 547712656 143476598 247696312 143580496 50784972 747916230 151074442 45759402 184027348 36462722 950056046 344181430 817435314 402762410 898795624 449194690 691857900 280985124 495134174 766785608 939168904 210116474 874311344 593927852 175580116 567729556 398452186 511665038 234391870 953259492 26412860 515947926 474780326 581171882 310720376 654209262 269290624 913053706 501364198 966905128 821648402 10960856 444333450 843925436 67888076 989890230 442772080 367744326 231982342 768890880 854761958 730269466 987722124 627781618 657180088 820944250 597259686 213926794 977381842 897574130 759488360 423932802 869603276 212886278 833993196 153334338 544753440 793145114 645363386 433624696 358496238 506173424 455099364 986999692 146361318 617866606 523783364 531742668 816819010 180760634 254222008 518793190 102870124 119905070 970934126 808562586 927928936 623536102 663662616 428946134 816025664 598255484 785792178 827530126 589272220 355229904 404239422 217445558 394516894 743432484 59058114 367366250 978120314 51239154 252737662 876885096 217875356 477038518 597018862 121538724 153482096 922116446 276074302 149135074 507042804 700399254 566025464 314835266 627279722 519027334 500173996 496508464 43691246 370718214 942885274 260426388 862462326 891442714 358220912 225794260 924734706 216359652 682723574 632825632 78411294 700782832 464935758 505384874 757617658 612730280 463584030 669192536 963396078 613341714 178791936 260955430 599437436 214809180 720379840 216762814 545789216 205772236 96275892 279827316 382930730 910644708 774189432 189358970 119166062 154018544 730151208 86332082 601961870 796396428 13080662 193232366 675245398 467301634 404394616 397432222 551985150 668766060 979003610 347947026 860108192 665179934 533548002 736427310 40453190 721677374 415225138 481268122 670859334 137830852 664007062 692682104 278335490 925784822 219342554 782738976 136627584 646007186 293654164 718149172 589361454 228532992 686345038 845639462 14020300 854993388 647871418 781003980 246348580 177846330 520983074 288632188 513139150 641696324 576957748 924698476 13766570 883485220 801709528 944252866 277518568 7501644 389330304 212036406 476941220 906355828 868024150 327595054 513197486 797319910 459185050 96949844 238779404 914511640 749148098 207362388 259819174 521179178 805954702 21638250 681176912 368190254 979608766 85272258 278705276 966787086 462486988 738808650 837467936 499127154 782348590 245730226 205447402 745532184 255443160 35241050 534324950 987898274 501889098 144266622 1769364 633037718 136459300 36265676 903377446 189425096 850961938 628109922 497121622 908972950 319185332 90163644 311116388 799404006 795332506 599228444 597701924 887814642 576054464 734323562 253984560 904342526 230775392 76014454 456020384 73636644 405831676 998259124 835744630 226426572 264719160 226991252 972894030 439761006 480579564 313927232 65510804 468950344 918533086 435194460 492630436 145452906 657554884 686024666 87275184 471982016 698733782 495475192 834869978 234808548 951839568 955814232 607305966 227541396 871274602 297275428 412451974 232829908 165014224 443699394 327973666 904113310 364568110 961164814 180033284 791291574 313729946 756136034 298561202 300209426 381070544 856403406 957941748 209480102 675892110 364930378 499000138 917015012 783945302 849309816 54081586 357619514 89957418 675994380 270511900 707146354 290088218 891641210 401981584 334324046 574911850 630102734 895720284 490569712 198044970 128125934 832266550 631600290 224488876 999739184 193193566 307382270 785705996 219341170 136961250 884655448 190663638 295888716 447514860 95152954 866924974 316337720 853047998 670394106 854994658 132315276 906671640 568022048 962055816 418061334 759995972 96509020 602013932 621727360 106838040 249294848 391955784 872270154 146912390 276663330 879638924 374680326 621463954 819126102 261524592 530032052 423854108 883363982 58712028 163117646 704314446 133127238 451090982 910404668 531106830 428517374 977720468 29354350 284685548 141383908 943862226 120620740 458011164 33543792 563864108 178469402 369289528 398483152 142897036 469085614 595551732 113304180 307807566 264855440 400117010 469919792 551643158 621664542 557959678 639520480 403548544 831072142 589464444 150634882 41819420 710824964 426002614 25327484 514981792 270951416 241513430 146834392 604684736 306500954 422420708 762613820 47056236 908607358 540262018 993538122 978061098 94834102 283332770 974144272 722309468 431298310 497814334 770603680 815227622 941638586 55319606 785799554 378127128 993823430 368928092 441783150 77222346 385687852 913129304 400673354 790054892 324408430 849107944 18622134 773280478 162446428 640433832 764892890 125275948 189391794 984841966 989590616 693410840 612150612 394521272 485353132 716925394 85960584 551325782 152552378 128610146 524899312 809199246 400220998 820860392 768007216 825074810 898460956 470476898 572694266 643437698 743236022 975530242 448459020 499632630 955117324 703288482 292937088 125637886 749680166 562278390 903171780 862343186 606156690 263685174 947222906 398488860 38086230 441930310 284882030 320517894 108491384 640492352 969500094 308983500 450616810 77951054 287417302 584022658 974963288 134996608 424215042 176386880 662337486 515808226 513401950 205812282 275739962 126215766 262684170 545980254 562468178 166024662 136435004 393425732 179117568 565847406 449855748 449395026 643079710 591427902 416494648 507404058 65447222 283600808 813449056 54276394 422706782 612955706 839436202 126881316 510145994 954389780 645953100 522804466 113905630 881206664 463725464 820151892 847737550 93749720 845049124 193789460 184882782 807331674 521338736 269413728 273429516 797445410 851938490 765492012 239490948 197888464 502785586 257001250 284627356 936442862 273523342 126982732 229416522 976222392 940262888 73320204 308466006 676015830 601267160 832623662 385861238 536616788 684401030 703672050 695061342 436350954 544881606 696847102 261260910 739151568 147382222 373253984 580972106 127981212 94454286 113990822 878562596 948552724 178662708 647310854 153082298 961645520 282035030 651275988 744851738 804861924 80935838 635639926 378754130 271351210 341187358 137270578 813544592 622948078 676139972 409978878 750025424 932541042 599178324 72082932 442859040 904391264 488413620 401466098 26705472 856405856 25082376 361588726 181663254 727437842 730158272 43653214 142559044 709885834 613958990 986283666 230888188 763610304 449374972 112878724 679654576 66294524 320425362 17743420 346390518 987435648 849316472 900159692 508051266 219241136 901339856 918790918 508824214 981221368 535851982 361457534 416664554 965709836 869927522 299415882 230009940 17509132 939793580 684843694 182743186 73699700 651822256 730121510 788055932 586480420 55800986 288004348 540631646 478834782 444953874 162671948 671055668 930881978 539304822 849550634 759668964 982811508 240672236 452666502 585318890 272183770 502050626 980841422 833286070 644615034 275390826 866587476 956911902 449238678 92019580 250159522 126372998 460451174 19092508 151421602 343488742 11071866 676326872 529518998 850237736 541858024 757347636 450920720 819773968 862755930 65455612 494247308 470999312 211564730 27116710 447074680 406774762 654815298 179256650 211304256 441520166 401430634 435630616 571637558 248031422 617301128 967781612 577422812 668641818 241028706 887039798 776748574 627997572 445014264 706500710 863769804 112922934 671484676 668690810 849729130 813433698 4660142 915561662 269035696 327239248 16326244 305013808 3544066 973658160 734298510 597105996 657581526 250448438 679846382 706804016 850072106 351191482 675000582 520890714 98060448 419810620 979491810 156379290 390310522 482078024 839209596 378867700 787384054 348133302 556167242 137073394 788578320 353022970 34689504 789364312 515713972 712017072 84568550 655337622 146714980 769949524 706223466 835422696 701929152 364318006 84766866 331015060 160921450 152047160 94086828 675155246 689188026 640282528 506558954 279310900 105613302 429471052 566907836 620971594 587339730 587855006 740699764 818502526 790184040 8867076 634875108 646924446 884274618 577269330 327655192 82282308 18274868 618341906 59586702 870229728 466154156 900182994 592498036 901356122 669174746 191391778 649589776 340832784 766495180 666401210 81363376 425692126 317209200 998640340 779093402 808065746 394337444 543151718 337811008 212635858 815788432 122612292 729935990 63904976 38861546 771593932 661950292 860710752 761076088 379864592 20841040 724534898 558783754 286900862 293853412 390808898 232447988 741301232 672791112 459521816 723899442 544558272 927698014 759501378 305406270 524164490 365140806 471914438 148175132 423912238 943337206 907794124 3359402 3015850 795880308 726958246 328734804 486685678 508956398 199097526 452206034 111940474 313774128 230667732 694921504 213442994 462006304 479096976 232618572 857297184 683456850 388998642 375429470 557958778 571181920 942413476 312516664 38491158 970214476 612769406 3721884 458865712 814760194 299065252 122766814 847587570 146719372 997452876 772970078 241420860 387908230 784118668 761367424 26780996 379914698 663793434 349315086 805485324 745247834 191179266 325744530 406529124 574334206 375738336 877023056 880386478 730784924 35054632 84404534 437526340 600644614 859916962 686700162 134041204 790838820 186502768 947690824 723653610 583149400 990243182 647749428 438177220 977269970 167530178 738936222 991618074 79437576 188285704 62342312 441811968 295906646 219643932 946723734 512439060 438723290 946304268 918556338 131544480 351041244 312354122 534304270 455478542 317029562 781289816 421703422 846199892 812321624 87623142 704245470 413189918 348102270 567119232 594050436 48247594 341037980 87114236 233405226 776268752 382702812 627335550 841130940 998796672 687042448 708213998 217330530 14760794 853847140 336094730 639089194 846492604 794339060 967366174 111051796 170528644 755937684 189026378 702502372 378627382 269207528 971115156 451533556 742299956 540772446 961736538 426486550 131208880 955381044 515571068 918284732 481288362 75619350 350058620 75137142 763585656 879060396 209944194 86677866 543705632 585433764 128492498 825447066 794239276 190608240 536214088 55202120 372175578 788152706 661714874 698018814 828536400 157261416 793564740 905478608 724719124 54603848 573539070 876799124 274669592 559734722 779844138 678877022 792087782 19366964 674812968 573068202 108302290 697764096 952870696 169269122 912070812 467573386 655036312 654149758 197324860 917269588 503038964 933753876 353981948 204774902 496766830 522653152 488465850 355290038 919294202 251196966 312098380 46102388 276724828 130821234 170518396 793034064 362251958 413439496 235863972 33264452 37142708 189291302 819847926 636570682 44458034 521263148 18202596 870551706 226869762 677360960 400921464 734196326 990580974 141932974 965539542 33291864 213003354 311094936 359159456 42522874 60599840 355143316 353180800 984801210 955397540 455803398 826840176 380700624 844402720 92983794 413965418 606237346 715299282 970056704 600789996 176446404 234592140 750402652 49588876 238532608 966729934 944213328 537922660 811333630 11942262 674665928 56217046 333564116 485464706 879057920 853460294 752244464 884013000 562012860 76938044 996989644 751464762 81645908 784155408 305440234 127038068 926636034 291585740 365162054 349276998 310867612 728232156 70849802 510434812 494192216 355153170 94634360 636883530 201484266 831752216 346388196 358601320 727236660 568805932 57378268 229284646 719188506 252309888 387756470 954996354 334516126 378138330 551481324 143271916 207620842 869308576 656827328 354289890 982795386 976289410 560596052 666063540 736412296 787263250 963754288 631585304 933339470 499647126 425224292 26193096 809112054 212907630 208863586 487978798 291349266 297138326 504935950 823669694 201095254 46539578 675334862 315629806 605358708 28606352 93096790 283456252 745415536 429271426 995347906 933997026 422385138 641414302 964845266 384895140 18347544 763738610 641828274 555806078 120733006 515340788 463445428 622029674 181808344 196817482 965450474 404899264 636983080 836814658 52500028 485527112 76195852 653734912 177827280 497197588 287203088 276661394 528904558 257720846 744566586 505837300 365799198 60543250 894273750 708110188 327025156 578310016 174686426 115715654 829962254 364591956 696504554 502575372 466012644 806729300 842763118 993540372 927574794 222765588 821177506 356197488 997197118 140258352 480313548 431541648 572199656 424849552 166620720 215910722 611265762 352119810 796006650 661723708 117850258 531458980 522859848 955163126 915848296 570850900 631356066 320074910 535456262 79303414 796200990 938333094 538419682 474720028 672553484 876683762 771181224 265986358 11769664 698433228 278111182 223016302 46022608 466608878 619359238 835794994 227632014 930847964 277553006 603679900 384835746 163913234 524846176 487079490 139093958 911572282 316860032 640199092 155788564 928485710 479933832 181129002 327205966 101379402 946884322 684912114 999799620 736515286 799007588 861659642 195706274 593180474 956888964 121869468 514837174 620658100 474464290 34763844 554305002 782556482 883994906 866064698 315619878 559902068 60302354 821539878 723997198 744824720 442171016 384915894 636988496 103286664 2210990 38905056 306635140 915981776 382195936 446953748 457572052 944130966 972798442 481586836 443807788 738973886 458783390 382571990 73200316 453427282 69177192 331858324 864833652 867593952 771132470 35314824 955861838 121906234 12250060 323852084 981857576 682047378 501009462 33075166 244861368 79058084 455353184 435630714 613620088 381510638 295506406 191387310 398929016 126116146 697623238 989890100 548511528 793402908 954385850 518018884 111779020 492383478 792453108 484727942 958202842 632765046 223693104 249513026 102034340 418651444 520887962 60324714 531800694 904834460 746494444 340965836 780557880 667833362 579167152 998652342 211079702 885197064 511175594 126181862 660732458 524547000 553324992 103084266 142113614 73985424 929738930 897051948 184150912 789375832 46109702 616471354 511225910 991831478 717988954 132088274 665879278 713711026 405559966 956374560 974141458 917707784 915227062 576843048 866471496 777550966 289175402 903683070 748803978 164788728 992285504 314387908 279950312 71832444 826890482 907476874 608482614 414345550 344425130 867785156 401902174 942588164 991412676 48218882 353986994 447129264 620925632 127444 906731912 953913794 426050318 172393822 448245854 879490744 2638906 746606048 61927882 305579388 143793314 311539810 353408240 636777548 642001522 920785464 286047636 103901466 237346312 253443204 223053266 591116786 115911670 874242032 948391834 45693464 280056048 429666674 938393188 291462742 99413906 305112490 881071348 187339814 280784080 448812814 282264638 594466334 250837434 237468722 454601272 231633830 499594684 497698134 522680584 586887096 84556516 542070732 298487168 632478140 92920732 520586350 222657562 507095166 990563476 608256194 443180574 378643184 274760 540990120 503732472 758296992 964390622 450824588 589076788 994556728 71837208 308650598 197809284 392005352 880180104 407834580 232137630 888603486 98800574 54374460 459602400 55471796 848102306 510383726 376583978 297111702 211278848 428630276 349031232 402832226 201304582 722595958 372121048 93862518 375061870 438847932 784068602 682263450 369692072 600372366 713931656 771104592 548803132 615209990 82675340 749339398 156021868 250625146 12705708 136464284 501193252 833659082 254355512 648608034 152246390 896519588 123266660 567466764 853040892 348740158 519319972 114544804 35772252 118959758 125395278 520820040 947123922 470927836 90709022 565678364 136125090 125711026 750815968 61953012 323948822 586112378 265503156 407937884 745080922 618957842 22024742 962175488 539698100 362230664 803234704 212955054 503333486 511181300 528379356 800465960 279914298 131979306 586947618 86180950 195891366 321020156 100629594 86877816 472437272 573244730 37163632 37427370 764210562 193120978 96718374 685868536 701557308 487087628 676814852 481103064 852754956 753963436 638641772 647039838 162633682 764831416 738706894 729936072 453407116 377229898 397324386 324362358 61326366 236301654 22862894 695220568 637905104 768971874 925259910 549782294 883653856 760548648 654375770 671723906 999191240 846435918 416761252 138346604 923752866 474786244 274969088 72419762 686693420 479210880 588523216 679886340 606405802 196545470 74353144 34957454 241359452 275003498 281642192 528645186 834177354 162507160 29593410 992864772 94254668 747653394 338097070 797618718 431417582 765797466 508182504 56586250 857151198 572863620 600011848 222239566 611529958 935289494 60091890 582877486 192694946 630235544 290805120 161763130 961109198 351750016 588767552 794679866 273734442 260435816 655705998 476395426 629131012 743539634 854107410 457465794 126242236 922031674 69517552 640567524 373799576 140157314 165637458 617054564 135238042 162570446 579647086 601982694 23954364 886187072 272199954 875480412 73357210 680781248 574428506 611329814 218721916 93826782 836790334 914461260 272138336 819967642 44734862 413487438 788485058 598006030 103488792 572411004 841249848 256677190 422847856 385121220 779627936 100919654 983401778 306365632 689730344 884094586 580612304 24427560 420290024 126571434 40934372 216078446 506410464 152670656 911911256 387114210 513825578 970665776 412511022 134721740 890137670 481256642 453436298 630798574 967580314 40077988 49152258 717741670 147023384 110514148 673921088 491839874 207182466 653253502 738466270 218631570 154704230 591690644 404637078 947240742 185199262 406554580 346935152 203322380 849497258 632454842 157735252 243050668 794497466 491190950 322604656 740661458 213855616 541969560 255176598 466566220 533305334 914501350 142045418 778706082 692534972 7095418 977342748 103699704 682934970 984282774 806949902 861302586 393417400 280139146 671341334 652530704 425524440 811917228 846985506 365226442 902572282 58294054 466738088 579514164 170821240 945816766 951247998 24624584 76011100 764165994 385968620 252271366 312973588 703930836 516391004 427785860 846202536 915774576 520381214 723506388 796862000 446649660 233462486 763387056 943005216 315080764 905818076 555094476 141940428 142069972 517328316 661494190 566813794 822375188 896405358 376160958 269814914 928639956 349781758 667331794 922806200 671273418 711598328 395991718 490755386 958332804 125492670 162972298 732947444 208402676 573661780 312520436 854501760 294766524 624921398 598714168 625492166 671861746 183252270 519759500 189349406 88352020 11865456 461571286 1326954 153987818 770184784 447421328 325170268 394644886 809125270 618956220 503173638 761836814 984863808 878633464 345814530 38122822 804742726 763109300 552494632 971169398 763858872 206713242 55356864 481957458 149345526 123223312 896292666 571474872 582794616 676474914 841034840 579229312 930265902 266427030 41118544 173979406 606753842 794052190 586966426 142308870 706610294 587562462 952484362 918472076 363995872 747620502 630884380 102833952 232017372 692460768 853179064 715633720 47581944 772563986 945716168 863655138 511251998 559092026 832524882 864417064 849744336 265936576 615639322 781088718 575489926 682148484 323131198 249256168 897857970 891392912 981686032 667092574 433675460 606896314 473148484 419994630 293046444 854062916 255618898 255673126 806356544 240089430 396406110 896915494 718430542 378101316 822795032 503480910 213409370 718447214 757575988 701487380 472120612 360577048 319274748 864242078 193322030 560433972 559205934 154444834 710602818 326483656 493353676 253637790 479448840 351507210 639872458 843528248 454804276 443225400 77598796 564952502 588701324 420257544 498348850 297750738 705761612 7019844 665513386 738252820 731761412 727573680 955445464 332168664 553383696 499652288 148564646 343801004 593800264 321185108 241310456 290882548 167205436 787650232 82323392 236958506 643424202 160471616 461750246 559361762 168455244 650175074 761093144 781016568 160915934 846168600 236583006 57715708 590391144 850325558 997247576 622254530 323340568 656885988 325979490 295375352 204970464 747634342 204471172 937688240 934815496 562039206 39585290 562712918 268836126 92029998 842773534 300989114 423996388 486516394 91033284 665820938 373167160 537850252 804814320 592328320 614487394 907016428 785231618 471806254 716939632 106874164 320775122 650068800 499278756 944956038 129883332 123149900 92040148 555619486 224858462 34690054 738136168 736241102 665105568 547913664 625223658 925302690 493865000 95055264 185269280 937306096 685694582 359041584 920637516 57559246 201152542 669371734 372596554 663478690 548937304 87552728 216086344 735227856 410749792 990308072 905383518 673205142 613286634 700539260 854585044 902810928 16739626 361857830 725699228 547449306 533564318 703461984 427697222 899885446 184050274 578290344 871982598 939292558 701580686 556649194 383267742 143928690 36301534 582751316 790504142 515827452 507237434 205512310 687191542 567479864 38400004 175684886 110528982 638839726 928166378 493429048 355089240 598661482 18201390 281337816 383889116 686581350 465728898 478898692 619526132 134452258 539403194 844550740 106335076 590486406 4829798 554607790 581365760 147119184 346926186 263712572 368029344 759926030 685939078 59473960 637168760 388086588 691633170 805781372 439269740 138481958 605618098 809546866 954627122 740320348 798541936 210012670 639617312 770686264 204018136 254346428 248358080 437212582 691571564 425151918 920475132 76546600 914169708 401045550 608140454 32886172 367102382 863268030 985738770 568625756 47654472 78107996 592830270 183787024 205048866 947949966 933548434 273666316 252635276 967322940 387949186 58550126 510311122 778142360 812914918 509513144 825883032 620567048 796770198 80769964 744818866 131347556 247919520 541115820 129008060 162696100 295836746 963995682 507974308 846426664 58451508 543304158 559663168 648553030 263694860 329641418 357637468 679871548 810101270 743116794 790725736 784724926 833230132 958555592 41034350 25362166 442212318 639924972 701118406 321438494 398612444 914831902 141963522 747473194 198016354 148724190 390240032 945538326 874439006 726022738 687784312 232810152 611216692 381975536 512076784 426027816 533437628 244557436 112385770 510113972 272965476 977020822 463883290 726366732 76908312 284612688 340169172 131694284 745286350 853624450 321861596 792783494 972125560 189614662 984314452 702202720 669769454 490273656 366658220 271122092 845506832 504106238 471741588 105406336 248490712 932901874 581242498 663507032 372843750 82079440 731247534 708057928 898806082 278304376 149866810 15041016 929753824 786432600 588393060 196927836 909974906 222629272 242340214 896402078 763259824 721244800 7202786 356085270 350236924 301673208 743389610 755033480 426152202 98209022 202524966 881854610 399243458 77429662 141355184 709848910 859833410 32728820 677346414 733102046 227873776 568592298 808906380 169235556 161241066 585703734 278893910 883768600 842199866 831004898 323394906 173918494 138712412 557046558 47023578 39092768 117817140 226696994 524923448 928142940 32467704 81363010 519547880 948282986 53574646 496525052 75912928 975273942 886065170 832559380 376760688 707506990 269643424 367178088 250916068 891022182 214287762 532571394 840497522 877109458 120789000 845060054 231492604 863701520 712628136 906288558 650476456 344709454 253279628 537984236 478828002 395704670 499860142 69714870 919184400 358222740 897935662 222447412 584578540 34897036 962234648 453811252 754435120 524907066 574406062 673079100 91044650 250387336 860885154 895823288 249919216 759740994 980737668 353523878 933103292 944173094 773345780 180679556 383489932 840504044 461560828 934754376 287484360 535615092 393162160 859019342 85518404 972706132 990678390 992854396 757886294 539420602 944335722 220964760 772322144 902348392 181735886 233176026 227134742 529346648 864145392 599057478 891640082 734581186 748080934 810314338 981080974 506008384 546193700 968889482 701911266 432788002 115558024 424018370 358094250 907366260 231424492 630982012 408889212 576383004 881807134 177683854 724184020 926165216 398224716 663699684 138610326 45972054 505660388 312873652 71921954 26879228 818259564 211048846 792856268 803244886 265983710 721327364 362226262 286505862 36854154 61575272 817018374 594459608 966732870 543829140 983060410 406821970 975532108 205876450 180545900 727864850 959458118 139811510 906281794 28997802 200797994 474831706 902745112 737909296 289679976 446384490 740740362 896489628 45199948 932063026 656671860 341167346 68747574 197089684 252706258 524515480 171169272 994084702 728515034 905072796 61929972 38142470 950467350 205548300 858401018 525535390 618037518 654291818 462444896 619960522 152924106 873036236 235719420 378741590 697712346 982306842 448163780 803876768 408805276 586945036 636299044 231037058 283469978 679686484 836476088 507640990 36839798 165739422 299008730 744506864 390807700 978500260 313697598 301617050 708920366 477960450 276107178 427427724 116746964 952476676 357114976 985964740 541598812 111260940 23173122 813247164 981873178 339982140 641972966 678798800 321414198 620863714 496057978 827434648 44840166 273465720 371648516 689972394 31848212 110161774 662561086 2405496 239156122 544390688 697942598 791516122 587618758 845403910 229769696 42465682 308044270 578157048 650660156 290702880 985871588 286164452 422143554 231943654 491785916 734660044 139514408 745142568 776021212 467269384 427499882 436217302 671240544 475279938 845340752 802727622 153454746 410796660 865344448 498484424 976553884 114966590 253974354 327495356 99383694 469008406 811073020 755503650 637795846 812192574 302830178 964190236 369358156 735985862 231593100 674097274 429255336 362092770 383717412 858638226 99674892 912478972 989556442 473051170 103227522 499723350 339887896 709052022 838068432 334696100 68621246 281967490 31988188 456889088 170181300 288778220 72869524 553326536 984230740 916431566 891462736 859409604 916545358 172277786 580688000 605922440 921317308 751605410 172925842 768173116 30591926 541849156 661761788 327252460 167897264 139358762 184432698 616707430 154078712 63562668 269742964 914883944 155456062 429660258 774949654 624346786 496999152 306445380 462436246 467762874 191819516 270296594 511744564 176901502 884265104 363731704 873214130 862154526 625623992 10445844 219664696 470978672 533769138 454203186 796658734 478415132 6578882 509016042 583361320 915641708 738319706 1096074 727895870 901479322 690381630 775075718 353088396 720090266 636100194 916543764 695087064 144516096 877971544 749392562 551307060 530900962 907377882 221231770 82210710 309609780 71621562 51053906 117704768 135080310 198529610 383932240 680381452 340073736 862256112 679201024 144194648 659143074 557001136 531378982 605823030 180213602 657921356 497184250 130367384 867453468 908349322 333955964 125061064 51391916 6930568 271766680 36294322 638950472 816178300 807032068 752021936 640845090 965399636 561286320 798435312 121507618 522771738 535869638 821419660 747121318 338106026 570015124 36419858 683019496 221094172 857297126 186047128 267036196 77986790 384104368 375518396 596179816 148689838 600758660 336996434 710056972 528780822 114596998 219821244 897705304 415648522 700381224 397034020 829019192 926870000 265575716 943455872 286849044 507717258 372095666 139006714 160585076 862920674 149504456 57670172 971528912 819555828 366053232 240120190 452661014 73469468 987941544 608188058 807891002 780360116 763604818 4035924 24131544 240177596 359513284 28575790 417605476 888817324 801008558 400992588 387312918 496550920 990657534 457191334 921530918 150173772 842855330 256521596 941734916 581256730 810381320 226183222 401631470 212137520 688664438 957360068 648264144 939478136 794377670 72667552 896859902 791269668 757028914 414633624 968666066 217313110 287726320 669497268 899878844 173502608 578522696 301820422 119275528 410488696 606077976 897107262 941419102 786003308 479151890 992188654 996535628 440882830 375589860 631895386 539798002 738092286 169076560 200384472 652435994 26602708 898969696 796378952 660109804 312966420 628791362 530187478 181193108 707316182 507874640 712181498 712893464 400527478 917578104 105458906 60186928 280066630 70263056 514507772 909188028 942394042 371716632 224850318 506273060 598691090 288605694 261461052 44087726 144786276 107989364 683701456 913788956 751177948 115671600 43947120 271665124 474023110 19670994 481176958 607429542 964730900 848497158 917108684 198883910 516128854 439352458 858345444 784575534 476519008 188792640 11726228 500476808 130439190 886300092 187233722 256042190 926856426 428391848 651913830 728687822 636486558 574145378 904945994 585277276 884154186 902987062 639229208 284657968 601702274 582054654 629254220 289761622 947577130 490338578 980645888 274441342 654376668 559929408 737027422 702860268 855098364 228652318 564775288 7402424 83628348 686416174 364486500 578005608 451511140 902467480 303255732 290288590 910179124 924219660 764204968 948818052 232291674 354273634 144832092 998080352 42579562 422237218 914181684 429565160 143088656 593768806 930873780 197902948 584171916 598559716 502421818 644932892 18401798 937372702 828881614 771952758 699626502 161557616 186768282 30973446 464308764 827006776 369610858 969110258 314241132 978305676 782329472 436848056 267111870 858258268 995626108 379988664 142659110 187847912 247086476 581297332 632158698 494249806 216857614 347346510 329425914 417332056 181728474 902758068 814800706 91484448 776808018 505171916 567935072 519924908 283066250 389530150 882196548 354562506 6017688 742807038 903916738 96976624 229198362 24181652 185488100 852592694 814357348 526263212 866375852 117648806 504212172 92119192 985062862 112934812 236380934 571361836 113985606 988045744 412805286 861917974 891520762 338153010 158227924 518932230 236552320 387864422 978447492 483825790 376543188 28629606 272215056 956240878 413567526 69111622 951622998 139683198 595476406 414384166 345634336 548955656 52775374 589666696 909432716 133682126 266931126 507414962 929383244 791634782 435652576 332062506 431034304 807463544 892306728 212672584 294273162 424515866 568411748 106312292 420697012 197349410 673353834 662168628 751310998 202099320 908635536 682696382 337211508 746932732 943197252 313931798 407343232 227752272 977636624 723391280 205508692 497030152 352182732 712041740 22805900 978510304 668933792 527913704 264496820 943772690 398816022 835672630 3853400 206269414 218580842 126517560 777389086 949346592 704733578 826170240 782638062 786269966 571471888 823187756 690527750 132908714 832375320 908116178 24161574 516831146 550678268 717368702 67270342 437964548 561613186 933393838 73681570 295548842 647999154 776235722 740497294 248363808 73497924 458894976 290997404 872223224 780161140 492907902 627578490 650912430 553822670 940810970 510145368 441423606 90340558 142603594 690110998 968995872 598327370 904382078 574312618 560522520 771984890 333181930 856255832 285524314 101912764 965064274 288444818 480696104 903141198 615821568 404673988 239806004 464892264 901535072 172299322 753483528 35749454 312985490 972450028 373830920 511574766 847107716 69385630 718215964 120365578 226362066 245269038 887035658 877356050 953947084 278358872 39954620 738603586 145182434 847472460 100928968 579763832 322059762 800676412 253798698 70416034 225305028 391428008 888412188 913759842 933713748 307380384 777549450 956231788 755954594 747905442 925177698 285235342 981747468 295826626 972841338 497124276 755526960 406937562 586202394 125952138 652533092 992770602 980269624 33079346 596841274 964377056 242284666 792451246 907535818 843599704 625695152 277303152 803611570 544654952 522338138 391144186 274177932 387694624 912717314 114549908 516064852 712223288 143045040 519970932 979410932 510419398 102502876 755057974 208795988 693512210 314952426 269090472 151138830 705271988 268492142 942683910 796641056 207258212 247170560 480802408 177865242 23366294 351599854 183961364 900217664 255410894 575970238 935463052 759046160 896219660 476254686 456663774 282371738 723991028 267429596 594917460 906575774 179947468 383766076 42394270 706688026 278356360 58896348 331410566 948326978 705711944 311545076 852409832 668528322 416791842 993832142 676969190 535402694 366468798 836681292 774495340 775943832 573997442 498389254 777645924 628678988 415266344 763132558 633738096 167222796 840303228 551921508 186489854 254247788 737452052 942975892 924539516 452666148 576498450 836326310 745431946 492350128 294042564 319463258 290882726 704031140 491885078 206465284 477025850 153472598 139186792 749657358 367542428 741860532 479444926 297501626 146610532 589217984 739355354 808039116 435702090 182570734 561930580 553012140 187420026 448412554 437920438 269728822 501206082 522539238 861863016 995972676 603338484 736689098 124506550 340711658 356118378 40632764 96352280 401683320 625499740 154407470 660344738 755057008 76375922 693397826 228346246 630737136 131441092 371332694 869156716 536155698 959036724 227725154 3596868 886795356 302829570 809419604 547096206 53581040 906945948 638799820 823298898 981570246 844881990 454519218 328139704 975122234 807887256 748454266 152823366 365225944 781708574 625145556 405739714 747419268 113433422 504036874 335170344 136547936 401096912 982369378 282483822 928683344 329504188 199374594 297265382 64435556 10948112 979344052 653101280 855637920 715353704 907334014 534996088 840153236 449609076 55697882 698840940 863051870 870190008 799327732 939827396 708018752 70944126 786622606 340849160 386121796 522296670 528750484 760884690 200224792 753304436 204030500 320734440 74745592 148677494 409061476 501550624 152089736 310480070 850701636 228360576 401195872 512262852 545891058 887430336 940753214 773964846 563244180 155955362 894152556 251543188 228395278 140778492 382468550 783210622 15922122 674166734 645543990 705863476 583170558 81784548 406291804 726475376 530653318 82582422 216603280 80575074 864426820 318290908 983677846 301926738 318107824 914742838 437753672 126632196 408160986 540216124 888300806 83600372 730507430 537842776 137263818 109760102 831305672 181996092 236158198 198378972 649376062 784303330 838863042 259294640 668578246 357963432 516954950 718875540 419129320 621902922 53505316 482518266 55070190 135960986 329743418 685099024 36354154 140270908 21101690 631371412 617558910 322382148 286097978 791603212 612624012 108235106 709102298 335195788 382692956 31836882 857211244 135725040 550875388 341707938 755786962 11269886 714322608 378993000 992387630 745555132 38667032 43085128 201427536 408383906 854398112 728680766 783248516 434540822 88393372 744343148 404002340 389899580 262525346 395762618 605945392 729939614 205145730 718189914 199987518 59594160 747897084 3566050 809218 864851792 754759380 301565544 87769450 778032684 964824128 190218952 861972702 824664754 900107710 190602870 900436236 838042990 375468846 573598450 981126048 36176478 747874422 640312012 267493698 603131010 706013022 288981702 558113198 587212098 278455890 509880924 803396730 215397464 187210478 767121488 609966804 354462680 14468324 920405428 918928738 628289738 316386640 779175418 739837388 916619624 651556474 276798450 200456528 827719422 173605700 506124916 976990718 952195822 259105978 252189688 587818150 781569088 232241022 824096034 968020994 210770758 275752928 661933532 169319954 588659724 217160716 608502696 647655880 148426742 259011022 869310812 940724138 257859522 608005586 303793868 841107504 536153082 865815398 360914930 159697316 627450300 97783134 978343316 120516758 103367736 500718268 688259148 617288038 123163426 71199794 953146058 371946128 614747618 414613648 560160288 71057790 334581876 35652770 614267640 878737950 969831770 904868680 577502528 473252028 221808702 56469166 307100658 374744688 415416348 421490606 301761364 181713730 366593654 216591682 222598078 640687238 897378600 298681642 872826988 990641022 926430170 89179638 498376698 847835372 891760388 192475346 869871774 467020828 933646004 183724644 255803054 155927908 281085326 358330720 314879542 162650474 330852480 575741740 430247994 660183792 558860486 371421430 475587832 12211086 381827064 547218340 668021908 507607910 99459452 276390254 917267564 762785278 49305232 203683276 403312746 823645504 10408494 286578026 524378170 428392746 264322012 775350454 736126650 596321936 254258940 741922706 243755034 377603580 670858714 657571336 232616026 829852344 542139068 229686200 761513738 543052260 729338796 797083614 650285070 597044544 518549874 70901414 148757228 341838252 61070 810995082 828259326 732744426 577776710 43976596 643912114 929053162 118467372 547509672 260287276 843515510 274309572 315746102 216415150 404089462 16812162 210238932 426303622 594716072 519027880 896910988 814480430 883818318 262972412 787869076 297161300 190133646 426179388 472772914 20612924 673978014 115323598 130524926 817995284 971451846 387077188 605126644 868398768 610935404 534899066 556935150 926233426 241766606 784340206 477876702 640433224 627158332 233808818 901922996 586929994 685933068 169235730 363893388 636155454 284033684 589246354 695081688 446721456 936298766 672354570 466891822 454896552 836401422 405322876 321185148 259084804 663740886 559549372 527897562 896982410 966450850 656967896 548240430 769475892 91561080 569365656 538890210 677647368 41644568 719595322 640023550 162387950 662079708 225273952 553821242 301724892 134741960 189272900 272554306 861968768 103107220 69583420 251416118 342417452 961310180 493067276 841204340 828407128 867122748 738916194 801273892 428294990 672029534 326995708 679242922 329074870 299638156 180767244 395285318 758382820 696904050 134632640 754315316 115170736 795727238 876200918 275750436 500128518 320454332 854411876 545849718 155585086 791134354 554630774 735121110 949039672 896759842 950655610 814358348 248555202 25572152 663007220 451804562 478433118 879844952 731217408 511788882 45488422 325457522 842756286 207814010 699433474 211984882 697529282 592395618 795614364 795483696 119080982 496546848 881455854 229371978 73242820 440273944 907786946 765108298 940927672 86718218 757859002 472820432 545498098 144117928 216707536 410066828 69045162 472120256 336696546 406926414 312276248 693302264 431964116 274053274 271424246 311653446 246859382 202800842 368944748 790699422 627998788 341478650 886664490 888757426 167458090 261357910 894847958 647596868 918047188 267355440 659520876 791466886 114353008 949793150 423240472 908454910 822332180 284437216 887966688 308580920 304371086 480723596 302187456 195369744 290153594 88167118 761346158 543644398 73072582 20945664 281023654 876499842 286065152 594772822 49848860 830675576 97525314 296187040 79035586 440487366 867017326 634218900 980521126 128414610 660857350 764421184 555605950 478448530 109767554 595759966 232798970 408302884 782374046 200095430 448411696 337464126 15505112 367131798 39487822 876398648 980137954 150197380 276578958 593708790 206384310 329330044 190078788 982787380 953722492 554703850 183266604 714644506 653433142 181582778 697173102 566505502 146115124 921226844 122846422 860399920 513490288 929669312 687665718 842901256 312312070 381841782 709124028 902539722 317044788 863373180 514114562 607348612 789068596 732700308 599391378 847052032 39938548 858044904 288521124 410242714 357566598 288622054 245932938 895240016 856510012 727189332 970001366 340693474 903527514 539195318 709636432 255172950 328688728 205209236 971282328 68149334 771917050 269452390 729433352 717927300 261903880 957609116 170378800 736177352 343599602 406203900 874127108 880763702 439460612 544110970 952304834 155426734 496975556 227158214 789610118 562431480 13874968 478527914 978117240 633324558 459082118 637707270 169668518 417872600 687919182 200421580 566042518 986361526 231776088 989230990 977385876 523169388 988547404 817364890 172414636 629730472 557600850 235851460 524760698 8035106 787663840 948598030 175774614 491754020 365873848 683449412 588009648 651746340 695648418 666546600 638281150 439419776 557857822 119769178 18980292 377397178 536430050 321370958 219208116 256400970 643922814 189059468 520365526 245962414 757854028 775392886 984662934 318450076 249722122 880488316 554965690 324858220 464631382 517230892 843379256 311912200 455992466 621790598 546241950 143298048 451212952 300124140 767242000 283206470 455989028 516265552 577198194 841985002 172271494 283756316 1718956 384637600 345965482 985583428 413629328 802101170 273843184 135586154 390583920 1075276 976079616 423483446 225308838 318578822 751456892 543638744 135645498 285460824 69137204 501093006 860270226 516211978 650734172 290843036 24443080 892791420 866174478 618097416 84216172 41756250 749902738 414990872 702176128 39414416 266950190 574401208 715550558 597158456 984608976 406385884 219386798 139455132 450377034 677226464 574869418 584104686 896012728 459444524 922181966 496929010 103089894 787043918 224148784 201092792 526614734 174698442 975488280 708247810 291321844 992603038 440020592 998164772 711001268 627077344 595898242 972876868 185822876 155497640 505675168 315689032 900974570 135270140 888880060 756898750 227391986 994291406 708025894 171593420 626183100 181098486 38423950 20032324 142327122 17114694 313774356 600539212 749378050 401270524 877314528 779931888 976609176 354831138 236184952 410314290 347043652 530172104 12221280 226138646 349722640 949039790 498546112 47700884 129986972 328583148 162870244 958523546 296413676 639824576 190991626 745489120 184963154 827596840 900186958 369348586 454459780 819565110 68881082 335260966 82902688 546494810 2523288 910278888 396517520 206367320 793781808 407138274 377220888 116290700 263766228 542172518 124945236 112164168 94522834 34084840 379701266 884605222 5204460 376711474 516969258 150962530 628355160 337816952 67335678 624486856 885524052 390498862 418938422 473700772 448668388 538564070 603516268 709625030 700617458 458018408 88632092 711357904 914083604 863439392 773978474 534885366 617251716 963477626 213817578 776524244 77279574 821660998 411679342 171499476 205846134 149484948 484138070 509692874 682313636 663243264 292118978 244283188 217010506 805924550 391585848 946441326 503257620 464570910 516951274 771871746 821206038 317664982 243735982 561073888 339915976 42184972 77972508 193168572 294840402 431392166 512011642 405812182 131569810 631306014 102945668 506250026 445455870 114015102 141782516 339966926 912172310 304187356 709120344 370392374 426691150 48188808 764917454 933212002 534926684 526028164 296442878 968775770 790710944 192772376 6556290 123905282 769317806 658598448 510685490 75756822 807054740 4364386 939199346 941096806 634825846 471319144 198666982 546186888 171321200 841877264 624016536 639825994 580945676 865670214 983908188 108097908 396482468 812306254 291285418 762604876 943829144 775349308 899009588 407618118 914675980 900305580 92339006 152391592 7796260 647538464 388255592 441481432 452050648 771135420 658469590 759020480 646640094 906968356 738305166 145226506 78555456 766762360 96267968 627422180 845948852 860245314 654527560 642586028 265948398 945923968 467496492 119212344 792741646 168160058 951513370 955757504 963412204 821399622 346408952 834343006 225558972 733850944 240645068 35241880 985935956 180404734 314683814 935354870 283746642 191420266 805932226 523847030 927053992 270330064 167023778 809037334 973099390 136817876 44193518 263711156 825888240 124640836 658429148 777649678 312702418 336188468 910060702 806002584 489776824 887673486 913144340 148779018 824203364 548746106 367803800 710643852 523462908 125235572 512664372 514973984 31706038 453998190 138617100 719722122 597157744 529944 577598364 245909782 738047008 577059860 274232310 333703920 829625250 145701322 825919878 24623612 373657402 530658374 877677682 185350954 269806364 1319840 172839030 37945296 100139516 223996298 573202032 203212054 322418944 803681514 575499914 762033994 40984770 583352038 436006118 31666746 241918178 117666010 971252530 703249340 693167030 870591702 672024128 614211496 72724396 890390570 411443626 664831424 7662644 188829066 566278002 444499108 177667108 578590478 9550236 949674144 782210132 677441678 20174894 669354298 686683880 901481132 467656168 61561254 59243754 468408026 707260592 42641692 799278488 77568852 780394876 178513282 504987210 33892798 735982024 345984034 941613676 716601314 198417072 673538910 205921838 48611380 326970324 669802274 402644714 822779904 664286830 248244116 19410906 831979720 790044542 747233984 798582984 189725294 557739970 790235834 104720146 813647712 287279670 596754416 192300804 452124862 833395452 920608338 405509048 999061376 282629378 435632196 832798554 668989044 705911570 934748374 65270344 131725378 849067018 687600366 995025318 250146894 713687348 169170564 337806378 905529530 30312312 766664872 266664350 108970632 508846994 547048884 997097006 452136480 951077036 635841730 534300598 100761972 404092474 613898150 788405932 141371586 327904844 725923324 295876516 288156916 40215906 836897016 54251654 465814930 848216996 915020572 425259712 952157536 377048014 394464542 509448570 790232722 3842298 781408412 28620708 414869118 280168520 734332508 905801496 343036478 975872076 487662872 160529150 947204536 55354766 904249868 54939930 181903496 791411366 559841316 154664500 380076414 963667806 596500892 828438118 449095634 157915946 331540242 917212152 735187180 106687162 858223254 728748490 787340172 63736908 169476052 806475530 293242620 164445296 475130940 990758980 239914890 268842544 404395194 133488920 54179870 39680352 400807670 960305898 245477318 693685228 261421110 900067478 445875992 446035746 754980126 608485798 98666 619260174 785723142 884334894 374116888 643025288 841838770 257751200 964661076 352012528 323252022 972553864 856512346 37334390 224899534 959337782 514940270 619825468 37249066 678128786 534174056 984641460 857770868 297242960 296338458 158532060 489270228 480042598 227618164 211306686 778951314 28218256 80436132 352596818 741044858 977935212 552508330 47777940 257544700 367852490 128198508 344167886 144683080 989198498 460394444 8643404 570074192 750877630 436783268 592321046 823669488 654396364 428799340 286930520 325367520 634880108 959342940 836033410 759083652 767224412 194967722 848333364 988869908 273838666 868390658 837887430 948920084 999212208 508701744 318301248 511064032 259044466 85497170 258690026 827408634 895344510 768512242 801510324 522296258 495053236 830413666 431925028 856546472 38301528 621914626 585172858 943318946 188769520 435692662 810781474 167644338 842044436 251180204 787345282 624173620 811117920 336466370 13041584 624251250 291792348 225844842 462465208 533207848 571908994 904354684 211215126 744451992 763799338 884763972 872676672 209191470 167827584 276098994 494575566 892020372 708338862 918519944 351405814 708229162 466668 664201398 632384144 483520878 668800772 805246050 801003532 482755110 862593366 712638154 380761646 328994160 235054284 622057082 698475176 773846180 660049104 772656598 860783256 572525030 146136930 821447796 146947116 98610062 144208770 19055590 16796778 545667626 625786290 402799364 348421510 828408828 954669764 653648062 317801032 528893488 670625230 109494088 564293786 650212716 553468874 105864892 262358378 757299052 706649218 336945804 920152676 117382886 544910894 430404250 673883618 17414118 931396634 405892008 551986668 516089112 641571006 120484946 936447080 499833150 972219384 418726236 712307408 717002206 813787712 843569776 480721674 627625400 514853454 518157498 752068346 707505952 588340642 22124344 290815340 139026066 775352774 941428330 903309530 315367046 988687872 36102390 704126278 955848662 643871216 397488196 180409592 735091728 743544344 31332104 799057654 831139100 106166432 228287094 684343550 976332154 176105996 274309806 980715732 425729384 254080896 796402150 618596970 503980568 15607028 343112194 298313418 145198044 260364542 947891668 176635392 485349842 56641368 938867658 543001216 529272052 51951722 387768828 192961592 369969720 1453082 975882864 861468590 125809940 158650390 744326832 561636148 349346686 130958358 83905486 866189374 525860984 468906664 264820248 728817874 900173050 643329056 607622112 999905008 4440258 134406324 809476286 423411014 795443932 174534932 279179052 746364236 303274080 884627446 834350392 963044836 156520564 822402580 946912050 127438872 928076878 540733620 169114762 49618544 493425638 865800840 107859404 966655886 840840076 106130648 823476852 645679028 352319902 259573960 645976282 293468620 785735538 269443502 461196888 128752238 84076012 79268342 283030176 984723068 740758160 635669966 491388128 813406904 514078774 708614554 900180972 286883240 616076260 744868788 797174584 116489542 758510632 58424212 983525816 916688138 530419040 534219414 896876488 555692640 725146928 859759878 269106164 539870270 457400482 116431710 621501118 439350898 408451306 279824786 382629520 53105282 161846702 672634602 553403582 954315386 898443580 46932694 232313790 602282064 729942252 907229194 763734880 468120092 169356116 887540776 541437466 682392314 537038220 986366386 718874952 487237546 771265952 198162688 844009490 435288832 804133474 838767838 684482204 968836234 686057940 259852838 657074922 65118722 695004542 663742128 837979280 250915946 267191116 161736118 159622852 718689154 533835094 547992190 479174062 354529354 6226204 867825268 912056684 778605544 57743106 63515606 442045198 977794072 228945890 734424376 13500144 900969870 582186156 93003812 606913618 624752728 298500992 660455204 328262204 212965414 916834782 474247948 497185160 282302618 722355726 459724786 689140456 256200062 287154222 519347664 681839752 978994498 348505194 57934770 925748782 279607768 99597628 953778344 27993692 469750944 705022236 233606068 679365840 984126142 201756610 934466134 228090988 896065652 317898848 133772806 83341840 147923830 35763088 163600576 680907366 347718610 980200808 680266052 521581948 231646308 348538860 245760234 122931700 181537134 41614042 235630182 982784374 337084258 249688352 549237236 736122566 982098800 884646528 565590246 711377488 949312460 704656304 643837958 753353976 31230776 220601702 914087106 653717622 5415988 446065590 543824174 653881420 363321264 496044288 711110754 456830086 543857158 404816830 141600586 636885020 863503022 748975452 344638910 894047268 631571984 662938914 604295412 237589546 343931780 868035552 217271898 180300876 506301552 225153694 626226010 453324488 924281092 282716592 445666680 1408454 748538740 745102408 937834278 465573626 646833264 81135584 810164602 257311716 474255964 298940674 552736708 139539338 386066726 618749418 290380046 169748754 758515192 145400406 933476688 906636986 403383986 11835808 975836908 566927262 583400866 947983306 244295282 768032260 913500258 944827984 207911470 161590190 214882676 173273216 922148232 84778124 983436276 211808962 156151084 99350452 386848184 982871986 139308212 181250096 270875796 134177278 957103808 171911664 735081298 801985206 144239384 531039034 697677652 20206604 829266792 442642930 144992308 472410158 673561608 602640280 608535780 407049882 91251384 308061738 802237946 856988262 122151882 282130590 201977800 490337056 333342086 39853910 978963706 18542174 157398156 425107880 769778062 444424564 23274592 872123588 72346346 317774424 791002176 581678862 236524304 9828092 103456816 533447576 313846952 419730910 610442760 411912560 978242154 393071264 35868728 433481574 761079276 358508384 137043924 308771600 133074322 917133216 877762134 607949190 419885418 574511120 591369410 757221286 558913218 359937278 356012702 626718622 931019028 960447568 980780352 341707782 422026930 579232564 961301904 948778094 243450384 889345620 675805246 554913062 557190346 703527812 67516186 511613034 709049150 616057144 315444768 261004468 288920728 156265900 560298024 532535402 151939708 38906340 688068396 554397902 523166340 944150000 39109708 465491648 711481996 469088472 75465886 399766058 578039220 99549998 507051716 208575982 586679886 680039284 309437222 90303780 871497540 795719478 225992920 852679414 252512136 52926336 765524870 276814466 448279068 632250446 518378988 145403348 890936206 673907084 722870396 608005338 29453560 813795000 170982958 513694262 395937728 563459562 496990746 518276714 124109654 150130398 112079928 123113222 626901098 698091306 816221578 981843552 257023058 608858760 453856388 436831916 542718454 677799514 201182326 330249904 366957048 174959752 519428488 183544694 394495216 991934700 215825246 205230384 140898822 6674822 272087198 276290410 824579680 503738450 254196426 771386584 431816120 442998296 332817470 438569434 520907694 595175056 258244142 338608578 186324940 446647144 592789278 83082914 917016148 671813714 816076316 666784088 496797732 315943108 969554748 338793882 843977686 813649526 401709586 98808342 80729300 887375916 124549482 193953230 798895424 571217042 333473192 610693216 836404666 238817262 396733206 85242786 17587948 378088366 637061632 524295964 361410312 15155670 140988318 392366346 1174930 806941044 585738412 152773980 599378846 977111206 710057570 435345646 860572702 896089214 79881504 452771232 218620676 151136118 354991338 58643708 99066474 31550924 436167942 616966274 372228422 497081904 102703278 406509130 896203560 818821600 875723256 248244130 897773754 796462812 343632494 872696652 370256174 703981078 455476142 103323660 574886890 863834188 995449764 501440696 240413282 315547042 279671930 524517462 166207550 595557352 846534416 863549072 486304292 630928382 386787354 313926496 611653688 886475648 594067520 12437446 513833582 123261690 154426680 284328828 61867876 981422512 353784640 529043332 501736668 628244772 662142138 61466230 71357790 451713644 408181758 413828210 1332972 549549956 158201540 411032962 763157984 464553706 374314304 633185504 639254078 133784476 802514884 757661746 161072178 840961450 189014014 249685690 658177272 540787248 666802098 542325682 319630738 281942586 447943266 378897430 583484758 911946140 531630170 439605432 392453120 969344536 308379828 962898878 306497440 243321086 773562612 853950490 330801330 853773078 578845626 711977074 406184780 29508394 751267950 563038260 241035772 510582104 967213664 842483942 630147034 333737526 817379388 205518186 222572606 896515812 842675636 599317644 28243548 416628940 241378782 432698482 65020376 938070826 432606634 236282132 925685124 857846640 78831180 439610530 136158990 304399280 415114032 977942644 747945474 280695848 861949422 629211586 301070496 977762328 233913714 919701798 921260706 880162948 131260194 166257330 2463648 651567696 725841726 114575558 566588828 249499902 778078698 961972608 727211342 775351114 951097936 175040630 525209868 940505102 614252820 217698742 577681418 715418258 132493904 712562846 330236008 36409052 79283998 43048166 965518392 550283630 38681474 289540460 956153902 649846668 81106104 834500274 396353178 21773152 235532626 890307892 754859662 383388890 246336742 248611232 882464212 924178138 961410556 130584102 545819572 632893792 336855524 872731702 65896894 547012646 908168224 998794850 497232470 720509700 63239396 798083668 541144970 418320890 273206780 475246706 895055916 416939534 749050686 672243130 712390256 883090662 278662212 911569300 217316424 226559924 705487542 890887482 48487240 303056388 856851344 133788096 729367616 224345884 154518064 318848620 625766498 622943578 859809352 882203012 692635184 650233726 705019984 51130402 338189432 964981114 220714852 764067460 365561528 126097222 519686752 47927926 455315862 871065622 347600226 560074634 941439088 95565196 506832608 997115884 914753608 211778050 993441738 598430012 939831950 256244202 659387598 752495320 141530014 57880752 598002822 683789654 821607788 26235054 918989492 435628900 46065168 982605522 57281518 45530672 376501340 302548304 707121356 849777498 563506122 166627560 551396228 278965540 772033254 429776310 229325184 190707118 592452236 136680402 578296546 84047230 707550398 266147982 964222982 368111658 401889346 259311312 947080522 948493414 437170378 570818204 601493084 750072530 854882928 402020246 910184614 698094532 543452956 43314992 822427738 235089906 852230598 885062580 763575952 802946580 941183250 788376018 446532560 249380330 644805054 687090858 99255774 404979854 264965992 96363118 953668226 827433510 544381478 464462368 56810000 435232590 531861834 987020972 376911778 701082314 772177788 127348194 852374628 370548798 816189472 85106644 845420552 44046242 226849744 844246718 934159132 700062182 56097518 720620970 923186218 259418020 985925938 867529344 873766760 241934790 93226970 611587728 164370132 624088328 863813116 389024052 860268376 15347270 125551784 921728432 753917620 146909110 176249504 951681574 746099856 721557856 351004834 392027736 678529638 2844782 340799426 896738806 377738658 646191042 663918750 528178604 928304394 632180672 817036720 266685244 868923552 656635228 543408070 244231200 840912618 888789796 68117854 718203734 665581862 443187030 629473636 652587086 520436246 26930276 573623978 747173548 375565868 567353100 784322608 999827820 219048188 337035872 188184680 162864830 320153212 861126554 908405992 755993618 642280574 302135974 733770466 871008174 576740460 32454038 571626326 688213986 384117172 161634090 505502772 711674742 776105000 526429626 670785356 233352796 472272778 256153936 863223936 652587310 963585310 818709100 135690436 417187650 411587700 354052344 647691886 564431814 758937168 988475770 246038842 730981310 274666900 355059854 530480536 429095520 753195368 619732356 193769092 854081300 823595164 447148544 823818384 213996452 932960052 416618498 39984482 200462772 580242900 207699274 961923418 861968900 293496846 672410302 307126330 899692370 478443562 240872272 382229304 805864204 220531558 731266880 646765850 109773618 254442462 127776496 441544788 938891768 874791332 544303836 808179760 758142064 682666310 578887206 947851226 367353462 262191646 840548948 726007216 549254802 174732464 39117988 687228210 126066450 6359304 70270996 133219272 432405694 851154316 50062176 551967940 183982228 61468456 881048262 31366374 360532882 575628182 546605740 206539914 349478736 281112666 440675114 209651290 497240442 420241884 811722488 181522258 207451652 903727966 750814828 819869132 557247042 275133884 951231022 698794440 225038878 677002316 984703286 102025120 938046202 561078614 940268236 79689198 488142204 543640012 778085430 777151788 497119722 967897268 198527940 50680364 442870374 306505118 348571656 374868952 94120450 736477668 215015854 816794442 650227860 681886998 567935234 801712214 615345036 138602838 749104854 453187772 31234606 192216550 206806398 801856616 314347134 932111742 734630214 348939750 248655450 815330826 978356932 172891224 231837486 465833652 840854002 756545288 305877566 363658444 300249960 667013614 719957538 970882834 911723644 760008878 875113648 640236432 52450808 253835824 263753794 889675634 46102618 494399892 23580632 28425360 634299340 644543998 517149072 262526234 512364546 648935210 452600724 525823902 253629690 727079678 64879886 522662864 862797802 738618766 339080492 452588910 817718522 356151288 908108220 991354886 239006914 989498324 846893994 102507438 106315918 656682286 591367632 409106506 892751220 877646632 497467384 735571506 530743086 342894122 264544958 228518686 68305098 420969240 364613850 269190040 512496838 63598260 812283822 33350224 84315918 354443434 592598548 483064590 541730422 893821212 178060474 72338732 757411810 945174526 523560476 18938792 690863264 610222444 304445318 728830150 515941470 391993618 690824216 916117882 309306556 761128626 801914732 6784888 28623994 786991172 451144532 911818068 780795210 800259064 153404676 84134606 494328462 498526570 35928006 187100664 477056324 608835950 281946428 161163940 639310882 238089728 257274282 498323526 606444266 992044400 466080498 988689856 976370354 385573198 217647818 75225266 688927718 291375962 599517720 684619240 338947524 365707956 797733202 299163488 883800450 606770748 920026370 853220924 516503768 314912558 56017252 625712582 862413752 613484472 784718432 265142358 298687190 31377422 726154926 672208912 800801204 148069946 213784982 195597150 120373446 275285842 775365740 525580336 28427776 583797798 819440268 967965848 965552932 744282200 81230102 423067302 292643566 741108858 457414836 855563284 791253568 683882446 821789692 85941430 575951482 841506808 571527032 415046504 735801268 284962862 111599700 207285256 339317358 57195910 310443388 383974876 425882968 266904512 214167720 965112938 463014410 32381534 194838108 802056268 157746804 606210306 81757352 238389102 556652014 488971640 115049104 641936434 128231484 684088452 483548040 230233370 226728410 550784348 717650672 852680120 414735292 998314974 663781330 897125394 972160476 964839064 842238568 364176330 572769978 689365488 970398686 142981350 679130472 268317910 569546682 660748618 52282646 724480346 760040600 51875496 388609028 702515068 982883108 576773956 989657238 355901930 592282820 335639548 375870068 32245174 92068928 746596512 180430770 64749324 538886838 431834808 214417346 334945180 537045404 529742520 218817626 374792148 600741096 944134118 838324944 382834292 373810738 175811928 637652284 672832174 306614060 566624656 62237658 581983200 811800036 45594330 188773238 604282384 946474788 719260006 621494880 259660504 861101150 590207424 502523756 459394410 307735636 63963808 599367112 643745302 708022314 936984570 655247320 718815276 211149280 971621384 349736932 744869738 630839606 35857684 347762908 913600558 635770150 852242798 889961594 516718138 359466580 724484518 175735668 19005010 905706922 317524192 993187288 850498000 138431948 88724030 651153864 122069796 301956916 590789956 725852776 568513600 155387048 563986760 523718470 295251682 537192032 190422208 2410988 311770164 978697062 620082830 714452276 4224658 77390804 36122906 280308642 831933356 473092596 614209430 180993488 262351730 279147228 706028120 850502172 825602636 45337426 861634696 938434798 590174816 688112672 946057540 83925252 572879260 131759998 179650594 361970210 168372476 837837986 463887576 525148828 911814424 93474626 276597612 880169708 689549802 585915310 205710360 555752108 162778706 630624530 984814086 54163166 200531002 542965474 928668914 93110088 407744670 685592070 667632612 41369504 989357168 566115026 870483800 542949354 663767158 581926624 365949062 970313238 361059474 328984006 664512710 896329176 715120836 496455150 153601654 123313724 654497252 695130888 707280164 66993864 67112810 505649208 721509274 391937738 809224696 546582076 282827138 24444680 55271014 973134126 241094462 504185974 903150420 960259214 856684236 543538918 44600586 987285086 263981052 257452508 504476182 739253924 216932686 572596188 755016018 51458852 100409500 495996626 72299662 310522514 719133254 710624760 408214648 811446132 302036784 460051572 352970154 808986958 563025358 826901112 181751116 931269940 371995864 28489352 23561994 399785078 593941312 627343160 832655486 162780196 322255104 650753388 82580630 480567706 754854996 754904954 750033268 688916876 917338654 548909218 298197308 681627364 432155926 332577382 314459910 74335648 124991160 850056544 718336352 720821736 225506792 546379172 988007304 781788570 823386126 319866236 169910774 68027452 803245344 372304428 280446014 671627814 867333256 244923246 228902518 158071882 850477012 779515272 287294780 482411400 399653340 89397138 641317120 137505100 756433114 864296232 20060214 959875370 734945022 385816882 690085144 910683374 829326952 10310164 791353118 689088546 891937804 123410904 112731716 16686608 767831134 578176060 574074812 922429778 53735812 630989556 415978452 297296298 522218440 451927984 789522198 666106808 379008184 783919852 117342436 911986146 429729086 55259808 976033520 785343090 310982182 234125074 957372066 633628212 656865980 35843560 107477664 726302826 950213086 757043430 404097656 902548564 32123976 579082452 166596968 658654956 452149080 288553626 217272076 939852486 393862012 817275006 104025574 663327548 646496272 898563118 497040428 115890766 886406040 14757524 307359172 234246774 887364296 841865820 216590974 707752382 315131680 880928950 319764544 100059690 665038806 964801996 670562818 601080384 375104736 16606824 609133360 737696110 786697850 195313070 40383644 978088910 709130532 257506914 142738558 73320198 586392146 804718780 780189504 248991140 25824208 986092162 147591856 298530698 861721836 516254806 324680990 933364944 312497500 99316874 574754390 405777392 467694078 246446022 386605086 515521206 823126022 360795656 925914978 203732956 275393076 984660694 849383718 987538112 163852196 318662518 975957970 973801808 597127134 493859714 382295576 242215242 675653714 870792930 659470054 361470478 794914826 675288840 204538046 424163776 548027192 419270026 74161452 819661990 616261844 142565670 930820702 19254894 39895264 702904312 414727188 652264968 860559760 618909910 911398730 699760794 93854246 378333214 507236040 659961952 23119350 425394180 816963806 180147254 599117434 213356216 398105170 218781300 967186056 204341080 401834602 41878632 13296402 699531206 360743694 911173524 681286434 776817272 620231832 793476228 165974248 245732358 375139848 743708950 707402068 95147826 167852800 117680796 660314104 876445352 955433550 504182582 352105468 686160978 672076574 312562312 221846036 297829378 105852450 260386094 724182094 276887934 418060464 887658400 529477384 503081708 564451084 920207842 360365060 632678222 569048158 969382594 445511024 896842108 595081442 280856106 969580200 728053116 478980560 946748792 568030182 941044194 575480384 172996302 912315902 809708660 313917014 219755396 553352896 522959068 880160972 498076388 434525324 164944012 83014630 131309644 635582422 443516806 159428560 523694472 957252752 51324132 293251214 410470608 780757644 403614184 20095686 406505490 971811410 92497922 240735094 883593882 731407134 493992672 302733998 280455834 508447122 760380116 82802604 572128102 922535736 963626002 830255740 880697464 72583732 555622348 190704976 763549128 500959110 484833636 596383952 887040934 867384554 912188458 538686868 550358916 1428318 520930738 849508082 483488002 596050612 466577066 326441886 297041288 604413078 883307958 873064832 965101444 524443558 180221048 341477246 495044592 840178000 320457972 330755580 355156220 171584296 712077276 156821888 392479296 649134476 794067328 6899306 695783812 412260210 896184842 593802052 260560794 221784062 486311602 815275006 413195522 551953258 741446896 138201844 687986588 300404578 675574042 284980878 937925894 142851918 884097078 675203496 784352048 958094060 25330928 364485096 69627934 156528762 296909236 277335618 989288186 58826060 343937750 877479172 944073822 496189014 475365016 203505174 988487902 491481086 75619136 65517964 587683640 238918238 383720382 616436088 379060010 104317780 564342760 913160444 309195870 17879862 7729068 407099598 635433720 326226042 824690936 396696306 48344510 775263256 68256638 664712298 897357186 278193580 794060794 170479946 187876490 896608200 724395358 311626078 322947956 615412492 58536526 693226666 175437752 845328102 635059580 578364718 351802968 758986652 399295152 141799406 998520052 347644172 33771294 550471664 238125666 597455138 544974682 365278706 90432358 966543058 242495132 830808752 918041554 148547690 152568652 533307156 984459306 287118836 856375080 44761258 603281362 315589156 815632100 525692038 284014100 550672546 468018124 6293976 776120972 198883722 267959106 703881468 149240496 104400962 358558736 278282412 139478730 767426528 785815826 753924016 361026652 501640548 354728770 397351004 426984694 872733350 396455816 908312288 663448262 929223016 343411060 755498716 450001860 888676092 464768302 144270724 662423872 631341266 300811652 609738560 430842186 57987902 55831800 562285470 16456900 766713248 761013730 188769536 255293308 104806226 115188752 282155288 682610744 473013698 562515740 7898408 405113058 192678322 944683560 483218774 590904442 524137128 566508366 666182600 560354982 385437220 739615216 836123420 26079594 66260208 43116130 578559800 827563574 581029754 587070858 336917540 94342244 262605432 461038638 525060430 176001750 676379754 229559888 533569228 861077208 148546314 909872302 880204726 134144514 429201366 684132680 62176046 977331542 474805812 107367734 907679388 297932236 419565796 689940294 965071276 982822766 916654932 236373586 77197128 821819222 918727042 421365598 470800174 791534794 951584872 311774084 923518658 978676056 582261828 412574626 540168800 167676998 429547404 689972056 194044564 839269652 240848792 216970456 726431890 297775936 128122758 544798304 117274234 813110964 851295862 858792840 442700072 336118470 186312752 720194178 223543766 353342294 670644972 551799714 893953186 270794034 635687214 189154924 10077040 822079990 768070760 611534688 184868030 140942772 477159958 303543144 933328056 610397658 334633332 125446130 150600904 735637078 865722040 613098118 957487342 884616496 267747292 156110332 992010104 456005416 727535308 770297218 188582744 464934030 344831032 171053410 838974854 644342492 563833698 828888688 705755664 892677692 624335236 889532426 340902184 255059876 858584132 540571438 308784338 830111392 529823494 609665428 11388866 995269092 938498214 42241186 244931400 840434960 944695674 364388284 237030140 371752222 85930782 370317766 966818202 790777748 122224842 579804418 638339858 804875104 602503920 323802022 522814018 749831774 48522746 611812612 285073118 449913120 923631998 543810328 413654412 294440310 538667264 180015316 963780598 506948436 951993110 325850446 889933860 763572510 886182856 670695966 860770768 261609204 490040442 485842546 70304682 285554184 965201132 663176496 316336856 26507766 821381194 649042944 207671676 175032742 746359336 184982478 111129960 84439542 98056904 421647180 418543124 610146428 611469476 200837214 262396628 476224258 297403154 120650330 257955250 241745504 209728180 641385190 712986210 77935736 70755280 432411786 138867050 377446770 669639276 64777588 956643196 455706108 569924000 780031010 98711868 282442256 181879670 622769778 673975534 409795612 150223778 36202556 722361420 565351270 93671956 51890670 90866874 481387578 856421810 69225322 427269516 952536006 56126024 144513564 921675418 135825204 528739038 912806348 950093876 802369534 236425498 257541562 684670050 232183866 545155496 97347822 479448528 76858910 282259548 48484056 779403498 349393394 646743832 19709456 605789906 121215094 526864590 713706970 200751186 555584716 418870936 745632800 41443780 632537614 174768042 754276510 612530284 742691026 176340336 146206830 97448224 700092812 546220088 647197670 874925736 227591700 844389214 418919256 721603608 340033984 679713574 122585864 391264008 158489584 210498300 930997550 627887202 751894712 725815272 231911676 451451368 916193434 571871088 754226072 521150388 57106412 859337960 399460020 678846148 894098118 49938114 144323428 622958674 224827582 119273220 329826074 935927746 161956918 837679428 181262434 763357744 248194678 534545466 95496206 7622680 212868242 379785906 133683588 978788584 839735514 537306432 155472068 459872248 465648330 709772186 835478578 747517978 415113538 6944596 206513212 211216348 361960512 471803562 217857368 601228836 980847834 147565886 35115914 458592562 719674608 36218964 813842492 732477750 878963610 169547228 840570310 642188740 284845640 478033020 459500194 986198778 637926964 936822810 7572322 309462386 191747644 793510828 278677072 609836216 264850394 45170070 29199346 458052490 37186992 653507038 92419392 274201104 434131796 90226422 901484736 470186584 878579662 311693524 602261494 597883888 681775890 579763262 540616014 16146122 303377830 670374224 377749950 797159916 657048034 309431766 934399274 182311256 576471322 711632806 930966636 133829270 943638212 291383796 746092058 398197228 98874772 610965806 384322068 159303886 303626002 326275172 748405890 343873198 236476234 391565100 790738650 964000010 131904760 404292240 488306650 737014708 252763182 826809860 649987626 835998118 623264062 397270942 299007244 138174756 421823152 813912904 449832478 253004104 94010062 759478960 463251012 760418046 876904968 750287076 720956948 431975426 516952834 673232862 945629232 432060004 949802192 545371238 269888670 167243258 656812362 162080698 979049868 293048332 463711032 789324918 247526276 442317138 281490190 801978172 810153990 713809322 521608054 498114936 987847484 478896322 463727946 808356194 432321852 398586958 183441598 6459302 210034252 588888608 748780756 732818480 27683084 238905110 387133986 354562924 339121386 677872676 25122190 603121188 709981700 249659898 439381512 358036238 582678110 644909022 114745468 289552898 133729412 454237382 395266880 147124322 524056124 952670832 901003724 683606844 222542740 866251856 488813234 49798938 171646432 650334820 294951832 749638236 773633270 841032068 776003472 698984808 70122632 716428740 730997482 435307340 911678108 583899974 668497990 527058346 338398714 507900156 772107936 887179320 493308328 979026416 216331080 362522298 327172392 607013092 852241304 224970194 31345816 993437228 551682978 174787722 791835742 299311034 911616864 4845706 16924224 582079958 779594628 691112380 586525792 532592324 131165714 195581802 249805740 352014806 804572710 346150992 24409334 402589210 573342482 25782500 991825536 94842460 929841696 384446582 679465234 877649190 850412950 607543780 88924612 915055252 642892368 118205848 76207406 347446850 527057592 999712198 751077728 765294858 979161108 48751840 984564214 208046044 465099900 189423614 888358678 793999458 378052122 524969986 780359888 445600504 829065452 235432676 663874372 434099890 748986834 612241322 355426416 345287260 982132378 334806340 569510642 628048648 2314734 835990862 334368474 345224450 679403008 689075530 505622878 957672386 45116198 871159830 375993962 507703964 588530302 175574310 501193636 601830972 538995932 401921262 423012720 766263308 5875868 62163856 845927944 613383214 559596402 848907204 738157438 57313968 906992152 336617932 320822232 346777160 183594804 378834354 807149590 269455248 414873384 530909458 662333164 64039420 563718894 956957726 470759604 134318708 958768708 119103450 699463792 388218602 940445090 285452478 971247172 631479014 79283092 732709032 81531572 826228578 951928574 729744064 343905722 331457310 844002642 914280612 461470968 952369934 195037974 537133876 269261644 87631536 958057456 200406592 659933764 186274200 302265158 810718268 778034382 498715096 236313174 433306272 599741566 228807486 99610602 624528090 896958316 217267112 985913798 154408780 199676402 609044034 603412738 830706108 405980418 873768138 727024294 742343318 693792522 955610496 585578572 170429374 279215184 96405246 967530202 733649118 485749214 344202236 182880126 563648928 4558126 647421900 814238616 997822422 93919010 293234218 74891082 376402150 101807320 358424002 290309784 558194678 858472658 312995348 959344084 667321300 558916020 5766770 362429248 322017140 74569706 222937542 577022566 780276360 457679640 424872088 455984028 392985778 229408592 753528376 975338652 175517722 260136066 807167952 29394010 738520240 447999670 148487768 662662298 341492676 532317232 642856422 685097160 623581522 101479510 122458204 595968722 640741250 519167378 1296202 424322224 770347912 757586520 85852112 847156956 425158282 818398790 394802128 574713668 981925246 67648604 294784738 205060644 975940276 28347492 897989860 95305748 459193654 896296452 78188876 646665442 166957356 744193292 568940954 210767826 998661092 164337522 235056402 137927052 431256062 416087488 26592994 451990754 650933810 909363416 599973440 133709296 736188168 270193532 657632874 605826142 830824840 622679628 813014572 503757028 620639546 825884288 939539280 330938724 853263664 60667480 480636212 181218498 863801822 342008150 453435620 176654566 212462076 296735694 682680954 141288684 681384976 865124000 639445822 367169862 925403278 705753268 597566554 688387762 667621700 893091750 122882654 305991144 401537556 195332798 38465978 149040102 251242650 309354464 241987118 255905044 903658050 647732536 898332130 238037622 996877212 740955254 630519762 25432732 357249164 470170756 261674282 644704772 442082874 467925716 360881344 473856976 455063300 265240506 884946692 308469952 433656742 8513892 682713622 723240426 62562434 487039204 779069230 336167378 265118738 965289812 533588432 69079096 504105294 657570622 308822300 638356650 236845456 422206226 331130494 30451802 454722712 360125580 384518412 944652470 482716518 308438964 978983600 830564418 524748038 380483898 779828948 108901020 302720768 191859654 811275812 920114480 583807186 418452912 299158154 941295498 266731482 56738054 105718342 711043210 674686414 258440912 33325766 861851604 721399472 444810220 836134280 463095918 118660004 253355536 148208012 997971094 667286256 275509564 739089662 63712500 324809286 883432888 545481480 621773282 911572704 417450210 383955376 360738690 865870260 910987648 358559424 810787970 59026522 629234596 707876060 336150116 341246320 252157654 812848342 666330120 984530796 527734688 399437730 807387360 467275156 435673632 304156382 473171046 330199142 539321390 206874516 257737844 299554534 383422970 342599204 318570368 476208360 73479592 118601212 344216360 994068956 64865054 729502774 774323070 537904390 319205846 975608620 997666266 210865042 433633208 469052620 554481388 209959312 388448146 409805738 960110154 483001538 114706814 473674640 185733050 790679472 422252544 682190266 393278132 190596868 625739416 812657100 961594786 715554724 10177730 683942916 440251072 627640898 490999538 845302758 583693686 549607058 947510878 643572972 73966008 86418080 792709744 449410260 683319228 77310838 382132474 945587280 66601216 74051776 406262266 615804986 270312774 759211030 416702324 634521764 305171270 696485290 837211148 496728874 475209978 248797228 52689104 183081734 681019072 854245096 6902408 501596816 96553914 342362372 689947874 387983740 652909994 759611524 391558130 606873742 668334740 188863472 462963362 816221810 715831344 978266462 803243990 578108616 58868526 307881306 475243316 570665528 63760552 371626358 681261698 412287646 948269986 523532694 474771096 384314204 865468606 932349240 909009244 754881064 930237106 840388614 576110562 85543630 54818550 22683544 535840526 446357718 14983124 432997104 432915058 11268524 883986844 920869450 227815994 149974946 873469584 950432304 545720272 641408012 93105212 314489660 765808398 404133770 459493206 785467326 763620626 353823226 165716354 766334478 574482734 593079242 994500400 871895394 717358164 612116850 54544746 991746658 772421022 639357546 890073270 123864000 881289014 165354138 675710800 895618860 280863212 144370612 246598460 346967640 870048766 263538440 648480834 984949450 655192914 775981142 84350708 846358292 804402792 460764196 950712624 850503726 917867924 224486054 74774006 89902370 478696476 913143716 632279236 639949080 569466774 636721696 441276208 961325542 852230606 516140694 181916740 85813582 298613354 907082372 191915452 675850936 10959480 612454732 890815572 566098706 189564648 44897788 395558576 431014014 497971362 722296380 68340340 594986352 694224102 985084900 79923958 371462784 162681490 438116992 531516020 688999786 281395566 884599334 925888428 190280670 317312814 237366368 370230038 757130708 569334768 751651948 740525002 792252650 477188280 588444852 498191472 209220018 5749814 145262894 937495150 771919162 208356662 57013052 491575704 351326486 664516396 581622930 616854834 312946886 69906042 730946296 68830808 725711844 344154912 746894954 405548692 181206326 384441344 386072748 732263254 784036560 205630406 703273738 641463492 194441740 105500282 723816774 448433096 469772376 325673758 395839696 28968272 322525998 808699278 125222234 867734342 259847528 688209314 816694840 78061134 903235968 461061870 307262902 700493332 909199628 547216394 549993312 304724586 4009942 652220530 424161430 768450786 779372918 391804784 571626524 582001490 204084280 240957518 563703878 808113368 425768432 288714242 719202428 36011512 165457516 893499184 178864070 476408154 615321060 804984388 834182632 16702936 933821808 161492570 913620878 747061756 912011568 463509596 154122188 907996234 122642236 410211886 352043134 51942226 361996708 442579808 199521824 947689024 285720966 127589564 906452164 35092008 391919708 106414812 578140096 80550128 526271748 188746524 853829306 605394846 668463060 603982128 480142330 780317530 910843446 349939036 698743434 644030884 982607164 546005880 899788114 282739946 806644356 512665866 271874680 156265456 494810608 223778326 579509926 919668182 819365032 579722658 274339024 243383648 263751390 798350862 422914908 628577444 973220528 78040876 300129044 183753376 138125014 529163210 493458110 751894178 881804632 42196742 93327778 650956626 467777750 57673550 455203618 846396712 713782304 35298052 672502166 419039058 989151526 217592556 944410836 818100368 108203570 482534770 123291332 900291728 799930324 136304680 26990904 778014886 549523550 71695580 53699272 443299208 72347590 934680306 252948664 974939162 123967058 948335956 637022954 837051030 791449552 872026112 541173336 835316138 209586728 52241720 637418170 130500688 827351280 166911218 452103114 425216424 261079866 268045562 668884012 251488002 306460422 246130572 287478212 717659298 966574524 389736554 674925226 599622028 7365940 870873400 452259422 723619864 385591830 375070976 998517506 706632772 25650662 823883362 984871668 45341542 711144612 643915896 495995968 536062214 860370258 544100722 54505216 936242384 629917966 672348818 574014354 265906472 195075124 273771490 5784094 376562174 937836258 551902316 383697134 965326750 629136314 196521176 761784940 184709392 159808670 793226718 460342750 513791506 358281572 196633448 249389764 767598826 703780210 285664336 834013638 529588736 307862620 754597804 982837270 379228792 900649376 926620644 294850386 813062846 687090636 776585836 911700758 453253738 146309292 570235258 906378944 153095016 938893972 629889536 575639876 494675614 329370164 426821746 662895960 442915940 696845236 114674336 33673432 715503434 863297110 450016828 173463438 548163252 306609854 239399668 658282816 905473094 936244364 792510314 827478722 267867890 698773776 704744232 382988934 997231342 6056246 150768072 69183692 208584034 923326364 506287158 204542460 891248648 841939772 456337770 148217190 8542176 814014096 488703524 60841458 107655364 846921674 25997298 761526302 605446274 980862738 851973214 354755088 510113878 29943996 356459040 251286044 218907942 575864314 670150614 903376814 58787266 241356884 708610496 484930844 252128636 262103406 348479892 449468864 974153454 376597892 443403378 544746940 10144260 67483962 182421994 482784370 458751232 601966928 675719016 52948124 383873598 396381644 414584920 921042960 574501242 993957524 177069206 609607860 502981512 384549552 971613344 183562458 84075272 602364148 372202658 574050946 339763560 697285736 849983804 443444808 376043184 155224728 878332058 951475558 491248018 501766704 477773732 249770792 416813202 814601440 859097234 104418776 723949606 595921460 257515408 169606732 398275234 180133574 138396672 128228570 165327782 830314536 896529386 189489506 417832272 64862952 687209570 758187560 813077894 697080664 706928828 153121184 874615614 701013702 839460750 887462138 187377030 552574220 565947150 100522164 172610814 742650950 837258566 26279292 876656412 419270974 909390228 115995970 250674768 393246958 435014658 74278448 599859684 184719560 702281066 901246436 808329306 810979406 405464272 590502378 55124810 318989784 326797348 817052866 738665102 606079988 317044304 628021640 579851694 971106598 330672666 103041740 147689798 320098738 52533404 832834568 166063772 293071706 396967760 117791292 419887972 95997734 342216038 380340422 761340390 184592512 512313510 547692712 144748022 703494074 261525050 469226976 267905274 46297574 204354146 916313270 76947788 18097362 495291720 97364252 569472722 703846638 446722604 957975504 81590390 9545088 971653930 657311768 118748576 474298644 176990636 855250874 1401874 690683034 670116134 49507336 941419300 515977926 920229090 913612240 996988684 156666776 972156888 798637040 682117516 976100422 829912066 3180710 469799272 743215466 477679422 456730466 203344834 79807266 834139462 421223382 17963176 211660482 994613654 183461056 852434242 425555034 117915570 586376078 315737746 831402640 308117484 448325436 279479476 592433658 519573818 183931986 897112984 617102444 238626214 685040246 867695782 11075018 712076134 803659904 418383006 842581092 551423614 424659716 239259768 399062398 228452636 238915142 784288898 29783198 742787850 726513062 249184568 233963676 644397092 200220646 378742738 585419072 32198480 902461394 610752378 186086050 850106332 945922606 499755750 956619722 943615448 551590206 579362702 130597388 637101074 686159172 327399820 743902020 318400290 205206056 981820470 784101674 946098900 859191304 149216950 780339592 807581702 993848980 517359706 848272870 227955910 377271086 674605006 583057816 761718436 531618146 213914104 212479238 329003112 698108320 475254170 610942254 620462708 775300818 34404982 907392700 483191062 549285696 188991142 85728338 538811668 7733848 570759622 579845540 11810700 821602722 874655908 40329536 992682456 810678228 371362628 456067344 276836772 6952978 836683676 238040946 435181016 325252086 973070254 148998028 420771026 523398222 299580548 797156716 56267040 106521082 249287224 620536892 716606038 167533046 139913210 362071342 117094008 632958890 630642000 110898674 511606528 144010082 366267440 333157256 632984330 464090532 613252968 929318566 868197472 98157326 977695512 404231934 365328508 525743144 568180620 878690732 809389250 808534478 274649070 202752298 550005840 746683934 379079044 982644784 234536608 177949610 533753882 220524586 311875096 130932948 964789738 765600972 992055760 959743524 679688540 904240216 99799908 220289236 303846894 377006228 308897392 676797070 19453010 856834562 121457864 502490970 413400514 51812476 276958164 450278690 925747076 578287094 274703400 542043574 917974022 439293560 563123336 443390012 940935318 462162544 906209942 454975716 838693640 400095166 87823522 400335482 473884306 702833016 295195610 493232808 712715958 33497032 564827634 62624474 643654784 727588132 143870246 770887906 492225658 945117944 496444972 57004228 526008506 930594276 673737152 30755160 108701604 260407966 360251062 315247992 370130884 971276672 437196110 639609156 421990462 880989388 201187872 686520022 573957776 960203156 339437006 546196032 329075608 6505308 50114978 940104238 358664436 797450574 406147478 436691936 868204246 603949072 817741336 146236018 362522136 409390042 493936888 272415046 46850800 475486690 427146366 93487028 899882822 144997300 166682336 513462996 56404306 594537354 184370296 245620510 264583288 270328106 677010692 438861914 417188554 520751578 510291748 62860184 99209066 144425956 931312392 414526730 298532240 949287830 141989012 673218252 519576366 553171422 510960336 153911826 737096272 574580026 217724482 743212942 728796526 334062174 909465050 265522652 611955976 344580708 883541964 929726518 973712016 466158070 601764274 991842108 972467682 518817044 326677728 552379816 221079374 162277080 844512814 312989084 194417228 705117668 698990890 866351044 578678608 761300198 29337340 76632256 949761982 241895230 984187700 400572836 737173404 349246526 802375992 717300224 235538502 289358478 726468968 200972332 920701176 463564266 499023120 865675798 730719156 883050334 654175896 528288310 800063280 326570782 757274958 967019110 973808446 825628326 21919812 424594842 533707022 546453330 739752388 176544386 923861436 208068244 512109794 800157982 144703646 680582000 921940382 165146898 356034626 231950932 415718700 494726048 484639400 313012268 173297236 354127464 709721266 7846838 155377574 876091994 799962628 132394462 976210870 614271338 889853688 374031068 49611024 412464556 330718534 833390246 922511808 976546454 48250780 244634338 167161260 583469656 771334174 383183006 882241888 582439128 591009742 511220744 518669780 439725106 433763966 111401110 592470750 892908998 5835256 89446300 410234712 52862884 685396936 443783372 448631270 598707542 758837670 443502856 708769470 785919364 778641922 321287716 616602478 990134210 880633142 404613428 678739946 436568404 381675222 110043814 7658398 286480488 426947998 811622700 15706242 780530886 997209202 766660880 687225612 973873174 351054092 819107834 402404988 844241640 519251360 501421956 54343034 731295714 128719534 595267074 75235794 456485524 477399416 477554304 790395936 788273854 297750654 567328904 447561588 892279210 963432168 438599394 579635104 366425376 709327194 907622672 50438850 266500954 33356228 185656324 935019694 148985134 499277168 926949470 102240696 783902484 479285200 35322346 696274214 592184084 272124428 693769788 272157710 135204228 147311754 884695304 646218046 657854974 492636976 926753002 155973824 860342288 553956250 449682812 386722598 716471896 237670926 157543230 21965586 339588836 312119660 813046896 637466714 870343130 761607268 890593072 562726292 682724664 591382772 46788174 997878262 64716692 370350932 327196576 635714670 530171390 741547648 804403990 707963070 960411086 504205600 334704612 851903166 137770646 628560828 817337260 554731966 865204406 954858570 423393160 407171718 580487800 51682400 786427300 973937202 914955948 87672444 781862756 403594140 324321846 454606284 390131998 53678458 744813926 887852860 355573054 323535596 476051238 784175422 94703294 272769488 16310084 670436080 786829948 986798308 627808630 545581862 891940136 528590056 837563738 704482754 5447604 677579736 852364320 437531112 946320420 761082566 62458320 651563128 904861080 556754120 669916118 331820440 87694160 414331800 378792850 660051456 783027478 156126068 964581366 256874954 841927890 351527918 989663996 495948956 744048570 227700526 306223188 969551204 978530880 674663106 736429688 398407552 312223550 643693178 931329728 356624104 496068484 331025510 77059856 654411652 366602986 399317524 492215950 543582038 698927910 705266486 101525088 629336374 147773850 652915344 723738134 197854598 286512472 817698074 399988994 933969338 844271564 960037982 611485060 706664624 117660112 284363810 848163384 819994240 788507352 16566796 259766138 357161318 272691282 797728654 393907066 83645968 81383042 577928762 692268578 115936122 575860794 13164624 405218236 674106544 708244658 561907370 831623720 726751972 577963466 997308764 691151038 247349224 794124318 516314156 441729150 864995852 806545930 757762986 30944588 747885164 54369152 335532372 522012478 444403636 441634348 211249452 489345864 855649734 51655740 49781926 720705680 570994990 37424596 138308650 510990736 18379748 96033226 168188282 12743700 264154588 152393080 657563458 157549926 512080680 497282730 777775282 143516890 3250808 66998806 50025106 761340534 787804640 147060524 347534962 77538408 160754624 491562728 602559198 999100774 441015152 879247330 334581772 977685786 550888592 936108938 886962748 692933050 485784834 725670010 292616336 304585744 356973590 75060938 241560520 74424408 846703168 579904912 521316568 669008002 593840514 250251832 583143394 796613750 110123196 920894190 527158038 521160422 629339880 959778252 728003296 92996116 191530908 655828564 562112898 754089750 908524508 428778474 983638690 744367784 341572444 941304310 404990280 847052618 301477156 407167596 802113152 448625666 319329504 679178786 773389588 185326584 792239040 380950090 308791182 526243722 220590984 861512392 822250764 625154314 66489934 433565928 521820960 536255608 985092834 147151160 153923956 664226254 213320556 935827970 383135080 49378948 568359026 715650266 188828126 610692306 1427306 173187812 909494280 528318716 27853076 554229744 100028934 264495926 176120894 354482412 332397312 533267588 550795872 95359046 835966506 425660506 535565932 271152556 450197926 303066322 471695828 188271178 607937586 602497192 295804496 699367220 327815372 753079004 387985542 610246726 891284298 420785828 700997726 938202392 140334068 775305472 939082960 995271954 258846604 63081372 765156910 785721364 807452742 340397288 827478044 427591680 357663868 906025172 259915488 607511776 338994532 859427888 196300708 902642512 969596308 943542302 387055586 709613066 694504176 54687766 291595382 981247834 475498332 959547890 553156944 332403008 724499496 962296068 563344420 555119756 627247506 82401912 930790360 339772004 252539184 873071044 49207722 893525942 297185138 857468068 348123218 851679128 738538942 129902256 44353194 755165714 530704516 119508284 569203000 142178608 442172810 215494086 311639064 226758646 744774500 685102134 449365334 34030756 130187172 342665034 670624358 837735222 896104228 214172112 93829330 743017178 456376218 73663540 22193010 13367752 634469288 198226560 723382386 352476500 624177676 19305652 921822324 471100522 219578316 15532562 623019780 420560104 976399474 810254370 889646814 154931036 293309492 710692130 850917536 105365206 511275820 750087292 140582378 429266642 263317700 827689072 469823518 850907048 132836574 612297462 209780054 615534340 816587468 825576870 230235682 222802556 976379012 539669718 439562162 775244524 254019218 327556762 603504864 105171958 349294770 945692614 27337562 825692590 125621412 111970226 623098136 214505704 812368902 768023618 211751288 395040442 274598116 705589948 786314478 485687790 523134380 992699082 443671454 611336230 216294550 763755472 969553600 204884248 654016178 180639414 150521758 444846632 230699062 819621648 294975526 298008176 704957928 698320738 428945988 144580036 282979990 738317696 55039850 504415446 69040984 460971620 397345022 592089900 354428302 72065366 986532036 381201454 906412196 532250906 89390518 403774230 781012578 959100762 830810534 410893272 774943696 9952936 71801518 465403742 322200028 600684530 240489138 345255506 795366422 760567898 97253936 325071830 94450584 219368688 840985364 882593634 300248034 688963376 911963692 569659854 578953798 899095912 602376002 130499100 745411634 468118002 66597942 934097960 905906378 46484220 783288814 629516032 646744088 623033716 110378962 973689774 579031838 809543460 554309354 914979546 265620830 911363892 109626404 772175254 873309172 331407940 553985260 603043806 225191818 875767416 797939822 912404524 558038070 783371504 19472054 330167708 537140970 316696930 25296612 279118652 602816820 576269268 430106610 175870576 653564862 469207864 385638028 462098556 900934258 950628186 311337048 590437396 970307378 337971008 589251324 651965518 497155686 782345130 300184470 217959346 765322648 904674396 150422380 698063762 36929974 846921128 867717334 418058896 526728594 374337528 653807960 434808404 274463260 594320602 341102336 360381874 605577172 630073492 275698552 6654616 781722764 892794482 648746184 596671894 46110520 814719826 478810856 987805134 520947004 402702050 815801826 392252690 678113744 71026948 37372598 309699784 409933940 431798286 433442488 311355194 235303160 309352720 718881884 380557970 420619774 351691140 742957442 534037930 154679938 275531190 658949508 887974088 903288716 235784204 306708830 231518940 263032506 237473364 489969360 122676514 928332934 336193660 434702726 366273350 565324632 447044264 123972878 606297680 574025414 954842454 955272012 84087370 472517986 634165144 9476014 229067056 850958138 798863420 244582326 372937172 948619358 275118608 861505334 584620688 951013762 164007434 912264944 329242496 217901656 322312678 729938550 907408664 546964142 608017598 805982392 237282058 653881644 777472392 371073004 329395426 668842508 429047922 144076758 469105834 550561084 878604994 510866548 681009642 141370052 723065838 209181066 98955116 127689104 693627348 881175292 589405730 135107322 714713334 962875848 136464322 213875106 387761078 199219694 954565424 486541918 525973574 383582310 554075764 207654106 247921600 317424488 190010414 636359874 695627552 498492128 417380180 290126922 542106840 164099658 424778318 252416850 304165458 1681106 612997700 9810898 360757186 648789922 797339594 808587882 896825492 285704574 740941944 914652636 410843462 264780738 383843694 981755390 476584338 814804166 722961448 713941568 591054984 144417838 12310218 844172580 184224390 868644914 898057590 767481504 148789678 94887920 740349696 669687626 144193786 970390434 274933456 777844462 744035258 155391216 992862416 304584586 154451898 819548310 559184806 471739476 105303580 129223354 685554114 915515284 482238542 794123372 659844620 106734200 221216888 519676362 752648294 713644768 329303286 497700996 990817414 583393380 920911368 932327218 697407728 928147660 849720788 571437634 800098042 423439444 358258922 658773464 948625842 172828286 444039928 286751060 409952458 285866638 883562080 67211284 277503520 296184014 608998114 26167694 676253322 729556460 629791226 751706816 121190982 976902480 516784330 464696466 525718212 831748324 160924076 393072968 24262326 384111528 210580770 35048888 532381830 158280868 478203568 620063674 333529654 75926650 574896670 161557904 124860352 759629316 750605902 797858182 607318360 144422588 157450072 340396052 162095742 927112508 614515122 565602362 620611032 699577780 123132174 665017850 592170326 647222712 920470032 62814060 246999146 121081760 343605832 948015676 886894720 239139330 616540252 739039778 875206436 598225956 626424494 745540428 77811722 560979952 114652248 431986278 858527254 505569710 529104 606114906 930295804 536413058 128676974 446209006 663547926 180427836 609095588 119232328 711837960 500289624 810066246 772004690 334754660 379547406 375518446 770771700 421432694 730208326 953071750 219780372 588210220 903243444 665943702 142503620 556760634 783567308 218280930 658092370 634172448 288526434 61445114 871002804 853098546 524873010 161432170 262534502 115468098 598870678 409596696 848455362 838673230 725234378 880732580 357680492 513984522 612022798 731677110 924611184 697854600 308496604 608935204 490018814 351025194 790289174 852057962 158500720 518881392 138150790 387738906 314398126 949968116 567304950 594626242 883625258 761783288 768514070 41424842 979299792 199492954 382133200 676378664 455057500 797455368 512885718 3953206 878978974 273747816 687108596 547092358 742676946 296669142 699190114 391802276 844095310 588094080 336428444 288571832 403917688 199080364 182924320 494741728 963129682 619824802 941957012 442096812 596156398 657433682 301748786 654506276 733093682 587513332 538916754 240557628 864031070 44398086 984207662 950737782 898905460 164505504 53831038 535876508 585753866 195683574 14099408 565331174 478275098 189001398 549590868 503064554 29088766 961944576 907432152 102759464 276146098 75691118 508959450 7373558 899526118 794978770 203373608 896556760 52862832 489345388 493490126 638158204 923938754 11587494 909060178 216505350 357678992 439207576 619311546 25541298 582718622 278330038 616744820 520194088 63131780 208065720 396752446 4230596 920482226 28471350 351206360 18731530 580643802 11849512 564317142 419836238 786061156 924632144 543494086 472492046 201119614 837946354 283844194 456249616 731078368 641851938 937908462 425026902 80235768 817234470 559920170 89406880 123635482 527986396 221961132 385411796 513812324 200140948 480890380 57030432 269865166 635063666 312766238 447999190 657215142 382262490 389620658 938347098 181411426 820855420 251954038 397047440 21859200 939929874 893128222 145848922 531196320 46486134 596648068 839439134 991749604 171352522 847853326 34739184 595747370 773051352 254138154 721132904 917700178 696565006 869638088 272794148 66482294 968704180 485527698 54958932 307304632 779815184 790749934 914000466 368056362 412402954 609327042 350955810 961657860 588703014 2882116 639933684 423048674 305758126 88590964 286136848 63775928 425656304 207299422 618832874 113320466 475658548 648738386 233571004 808846946 753593408 377644568 625308936 275813170 626131558 546198980 992911340 710532988 262438920 33132026 445690188 428917696 613560246 981344706 583150496 24796576 809082888 931971198 434076304 150230198 207629486 308948502 915640700 293023438 674341262 866754118 56514588 448974404 665267466 831141328 375192620 231730380 226726926 548617418 979855214 469939846 454913182 808545878 574306950 838765362 993219070 222327364 246663962 48168104 616494002 856048416 82615446 401857818 954963748 387453778 515648932 348801720 464880302 578926640 733988104 79315296 544497070 252226710 385425998 134005828 295560352 162881346 219865760 985016952 518672216 580308464 949082734 495271596 569793044 831153324 50741086 159797848 816664616 444764 756024472 946197398 891619208 209832604 730442132 367969602 765709784 239116616 207709014 540740212 589924234 726005784 308815370 594768336 617739118 631764922 438670024 188097598 826941244 685837154 824205114 764221954 465355914 109123692 595363318 828942042 533261100 334733810 675701218 889120366 881252116 970502018 853989664 485082058 731897178 961214488 158393496 928966160 597239190 35687680 297731250 590010514 925511672 850799080 368639440 370198624 5634162 593935050 282172648 72536178 190931380 998192930 994930126 760751844 255107888 297414194 909364640 242075230 876651780 99058660 578663130 709073120 53389926 335961342 613968632 518075450 812468122 91211260 174931374 897136502 206540420 362753606 234678986 75411680 166358982 72023530 849020630 251870586 442262484 10404804 731395430 170066830 124908188 106418256 540909738 390040302 102043054 286922816 507944300 210968362 85374208 706949848 130697104 391088434 932463670 370958262 609537262 181499188 776629562 522645138 836412732 592170700 344859382 389641554 954877290 369346404 153102858 641772236 526701394 979255986 173513692 992379676 975119172 911427614 129948066 243765702 86388738 329231124 864479720 183056518 498943254 152728606 766824884 353933340 798906258 289109680 438117088 283480618 160253478 584021988 380944880 29982208 803132306 678065702 831385390 630849458 250306990 451401862 604467910 17460890 862054074 378531852 110716358 39607636 164235180 158425384 294532878 229095376 993963182 611605326 405035196 611351608 584686610 239968604 548339972 668497574 439370048 786422580 649886920 589402204 840253900 721540678 11236918 971531344 684489328 78797878 462402462 284483504 888419310 686938162 689671426 755550420 16803874 475488438 325338334 799382360 397632048 850419590 752413958 61728950 274585960 710132336 447886894 453986052 948528860 423810982 551570816 256693596 276666204 80337772 223261112 275842734 572775040 221244662 331863210 693022408 197597074 203542410 755905940 778962128 328843870 504574318 572075150 664489536 942142706 958809760 902435456 360560152 703488446 163754736 137933610 771335650 929254146 561912300 171428800 401786058 926537492 834059820 242473968 963128056 137840702 851155658 955343200 927441430 662887668 648998422 784145714 136815510 826319734 667006694 20965172 118006118 760113300 990448812 628404230 192176742 725521484 689670978 173902616 86735874 391450958 33160564 497728828 765026238 902788922 489421946 600681574 682091800 310656222 76175680 462858258 27249750 91849112 748178018 229485664 690189930 764840454 58066858 369646956 881282108 832775812 133159504 904907018 424977910 645148594 701800464 297351822 650981634 518552604 875849228 306869252 92493764 103911648 282609346 882147678 657581154 993705746 860759786 682093176 246566924 412890104 149302918 944482134 886314956 369656426 139668926 626822598 185073578 476153796 860492676 181362820 820583036 177240272 568619422 482336386 338469384 532246212 943170930 390805372 839861738 684275160 276368184 686150548 32809060 751567898 563334094 649454542 432122668 638865568 171103374 178605622 93457530 769887594 767090474 726820366 199767030 61141926 16068310 340233968 131823744 528606994 232903490 37798598 940506394 615415856 184673224 563476992 479833010 607116032 126145830 937992572 175282520 334649892 371150226 405863730 228206924 749027860 796462022 291901300 893040704 172342920 683296650 22614044 14667176 818812072 328410848 848665900 630449934 221620834 259318734 573245994 220878732 976725374 545060758 126140168 108130004 484334336 870804256 416900836 83424468 163787874 644138448 159304942 140017604 881337168 894730330 182840328 241531796 99570394 400202456 156550594 407953026 438854472 735044712 421571782 564830034 825567452 747119416 358195882 417242060 355532948 925475244 730351826 292213680 744047232 156074428 691115634 468263018 788887276 215655406 882529826 661566906 639377532 620444442 286014076 663922816 913272532 856708142 433718438 380408634 509854818 958217802 446757578 538135578 688430044 614156012 513808300 777716794 269406050 71681554 63547032 441251546 725169268 507479540 488936594 687351656 662410838 489766044 517955148 906133016 408533218 93903024 651536790 53505514 769029204 855104294 82349468 732947776 804324258 900051288 668405180 705829444 299270298 337510998 717255660 460330666 308642888 400886102 748104806 369962634 641341190 547492814 295121604 138530686 735487462 437225446 340689924 193538732 37879242 414265404 913100136 516490310 740999980 630340326 48183822 673753782 61416030 130129566 582124728 581394136 970265164 459736288 85024806 729953692 791294002 257923316 895296088 889024898 778254224 51624210 147010652 376477056 447264848 760643782 838396688 973971940 69521896 93749684 260018214 183122780 631053734 915954838 421817942 943305380 310410658 953244594 50951958 129230884 28439158 880300866 128087320 671406146 737295466 333684160 419314836 575988880 112956074 535105408 10388526 160270712 805050266 916355582 70003142 667458076 756506224 575156658 347232266 996648612 939782118 575079946 267208964 395423220 27659526 7932986 916117596 70422794 509275136 399938724 273906590 719555902 524633424 427825388 1338250 940014512 480796786 328274868 712890786 756987020 197884192 323039778 379839930 182539490 40644004 726152810 233773286 318748836 647777860 232975746 254928692 848859860 153094164 469676876 101301692 214298662 263579418 732444464 1172210 308566974 636923266 74819296 836533076 446686720 428612188 416386080 184033394 745863886 778836792 496068166 131973198 866686312 320715338 105063826 329848560 220362106 645941506 987648508 946518480 536552492 687749414 863574782 564837090 762205858 316130722 599706980 327318580 134052540 392872570 819489632 263446112 481335278 349648782 436408360 481197036 875223432 504516778 348658034 868491450 905718382 570581062 235157750 226713796 9309694 130809480 96603700 810766078 967587758 567303160 93516298 698505020 418196378 269203306 893045704 195327984 560080218 702819342 667401010 81214152 157896458 650051158 797044720 437690570 362057772 157170112 601339586 528163936 398183118 502173292 138575484 454550078 237676310 792525788 4848344 52781414 455549496 223612318 180827796 675363106 824763862 786045882 760717832 554478200 85291272 52657514 424476906 555675430 866377426 863385396 134421756 554408232 285607610 684841880 184236644 100577290 544320384 327197976 270906690 113955076 856366538 457182584 30338406 540817996 53609362 670326636 716857454 101618818 451762278 111207530 956684770 980221186 645419520 921579716 6982852 638528328 260167674 624673226 510947128 895484316 884341706 869062586 269641224 105026672 556712366 285822070 553600892 519636062 928768470 631750218 699740840 753865680 799674276 747302734 668535372 582534478 461440650 489032368 865516496 560217460 559989378 661772548 950621510 976922582 787707902 257266482 839494166 18146220 984511028 300996844 770558556 674224086 199667726 967004206 282550392 593234210 84303950 33893176 77442152 151549136 667802666 757980042 661945522 433214724 727077144 401185598 330436366 992121930 432048588 277415190 181931798 682108816 2300748 987040786 274213588 174599524 854137096 463868136 147693750 682244622 814307778 445370964 758303856 899915494 782993008 958994576 939219180 437689588 323963534 833213154 48119852 8944720 823605116 111954340 287866982 922102970 955430806 361109692 529170652 764282306 928228308 211913352 323451212 268688738 595208768 925531760 586029226 723041548 330782408 68817820 769270038 574413828 867549890 103547702 881280232 737507080 404685066 312293996 842812350 235860180 482786290 744268446 812722370 254886592 666021140 878390082 330993992 487266522 666201020 21642182 189140042 966957244 13275930 485289354 122218394 154281124 714615814 181961280 986008536 480287354 763563788 302073920 352294914 562296518 718416010 398907820 520702456 393722194 988425662 952874216 364929644 303205212 270446634 699134232 260589516 319813608 799624374 469152862 50596598 31424296 518142358 433398238 202744522 772031216 708073418 528338628 64101082 805680064 225769408 326233464 161655362 250719950 395093440 736613774 631749332 709686118 614104682 677506554 543604150 587246634 865786574 694321452 840937682 378674370 944611112 979266614 612974536 719672856 632821096 925167834 702269440 507044552 342931582 664198498 715679922 527579688 911157074 203429162 377033998 107978432 274893174 134471960 304168308 113523792 678939880 257277376 914357982 612192696 496193060 730376144 481730382 981829902 737312344 892883024 663615456 153150480 629602522 926304248 864698302 745229890 127613034 204706878 565582700 572964296 165547064 245859098 23744172 450585652 531866862 903220522 937576406 974850538 186378928 287247048 248079980 397820694 589500184 246837402 372678814 107981862 745753316 750055860 756163204 456945776 655219486 485962808 35073818 753398526 524118128 170006490 784349668 91686100 595677058 910180950 651445618 170461148 235794840 860230520 195537636 999952688 700168518 586086066 227931988 20308416 210643292 840419858 135440034 609708138 335791108 829397382 435836378 751629504 904530378 357555390 899988590 801758844 872500870 219538612 477602910 494151884 97488078 1068384 171611748 556635506 915072962 108898356 795554312 723939026 951908834 46852928 644971908 266362626 585932770 123175958 336607690 691028212 348657090 26430548 421453500 282311590 202282406 870039896 756636008 401871036 196414786 703897056 403525702 97763474 832177526 485036606 501917698 908221606 853981216 755082290 234764612 253064144 348074946 761770072 681719414 809007382 4055294 667445414 16929410 123739010 560795170 675429994 165287628 304397540 992595432 522937548 124139782 795616268 694505152 687263644 439991826 46548002 382037396 196314304 88287882 879695294 306156682 531278776 495307724 195723794 678263604 193999434 470709252 965132290 69655572 713196722 735786806 892503786 98405944 14980138 957205252 726895214 642226952 595718202 923231286 503045388 166985124 333591808 628349958 682453164 61827010 405817480 119925322 964821998 993166512 709678320 31114028 726614536 491690080 163168516 192449530 938808722 733705252 692658428 623758300 843901940 875432828 62310390 824083858 579767244 387718178 260607704 15730752 783309682 455867824 161133448 187041268 176765614 816168920 275590198 917861916 875960084 710791640 83661530 53992468 823997838 742380170 957416758 229977190 933850020 82341182 922968950 326807616 638166150 467758048 650915942 984371964 89510456 438277542 394382218 88366644 411540352 715358018 185428968 734573330 623144748 633728498 724986042 401614108 191017390 578507982 272879830 359739790 138557316 973560074 214001314 130297492 988843628 664871970 303615494 802086458 404263464 612203540 322043604 491854436 213028210 157076670 57477534 521265352 166847850 84151272 37991908 45684986 119889180 245407368 629785128 222090696 412048340 451642094 41395656 293093856 670951818 924646026 183792070 429584514 802564080 170158264 742364468 69126506 436180006 442939402 689014914 680364670 452100434 533420616 526301384 886572636 96940202 638925990 461293826 234930008 891243228 182714632 291976654 460280660 366131904 954447024 402534040 681665274 63055412 771532972 824986628 27648328 907416900 554409448 229757792 169501842 116084184 372459786 921820676 129780322 682709980 168393388 511002532 476241554 343162782 273328418 136191478 121889436 974512268 439683996 375179964 388614394 111087028 162007946 458957082 972319572 823442090 630048944 953983862 867640574 670939228 683326800 851836318 402873090 118940380 811719894 71285388 22653384 643541874 392260694 900335150 331865918 642728612 508929188 99957450 344676188 287175394 445392284 91603986 909299306 458478248 561034800 674841054 164120366 326572482 302572342 295929744 256865702 910318668 163032196 684494248 284986302 790403848 686062126 944705726 807040656 890789752 214911368 501729216 451435992 784884092 990184632 402671974 846165154 807900814 437772884 217752746 329678238 133982086 593063338 2213002 523029838 451238964 400027186 344666188 664952156 582856204 719367334 438200600 9987010 890753090 767504814 180863390 625576884 661991048 902171164 596031620 568621882 366678350 878195402 387172740 506979600 746393096 76389978 144430966 301694168 109429698 777354596 154703646 825817632 593743826 34424212 504123020 933586838 982132454 732700720 330593598 335364084 494406398 188654986 422348250 700028690 781015916 628399564 568703550 257026280 939924600 440825294 908798876 603758980 655062268 702481522 867041562 137644394 335953186 704748708 99426982 14266756 38860842 334561698 149167810 250137224 577854848 842794284 197710504 202029362 419777178 217526296 240036396 577289896 771872364 917285206 333800968 354192030 699677992 180489286 341127430 89273680 863231608 837953358 491993098 81751022 669754588 289997836 287433948 350817942 850773304 280106162 455699136 749487448 775303828 538513338 756370060 971191362 772326696 649695040 554618478 12839668 456448364 168493916 190289072 605937060 790499044 981266328 281545700 333653408 125488896 938156586 55392198 170624840 979128120 415128510 386003032 919138922 321496072 360849000 690903550 911819928 326493482 344015528 965980120 677344394 95698212 635371120 901711610 397576574 347089352 230859824 908289756 486910212 162303814 139549300 194583076 242126678 752799428 867218914 942686498 699337234 617877074 923609308 62712698 613311308 599122234 724045156 488450332 635800692 906823586 838859472 677711186 619771624 240579582 786456258 491275342 573842972 440967542 190018736 760627302 402219498 211317222 752027666 100096250 350216516 347062576 963318808 706124458 134178818 467507414 136683868 116055636 572510906 973861188 542518496 148025932 606733706 851469058 89733694 958132140 625392864 972665456 31382682 505200020 521678564 689350976 214950572 494250464 760128744 91338540 903570338 853575210 505592796 485981472 657811916 322766028 275671278 811663842 32687186 39006468 835234222 32200054 333867282 19011970 388579362 865460230 402641424 626095300 513659652 538692624 655712578 894892784 487308008 874338566 364052412 393969746 361616624 137243596 6070464 1522516 499460224 252152974 698432168 316301430 716621106 691285188 627740412 360905918 305839172 128657586 947020972 918799794 525160868 131616268 526958898 691851950 512305916 415316820 437219622 639100536 635706990 981596468 365843612 710803290 564847282 600557282 718709404 360104616 941920850 396404496 51856550 949941288 188279790 130897616 913113236 990371022 388921582 532501896 37494846 19904504 363919658 488256724 945040318 151225248 574749210 674410792 928801226 237728430 175642716 904092118 232540440 621126968 33477254 716574184 759630002 825503000 358173984 820398060 433205930 786400824 453569808 788385006 602880700 293892628 69150554 95094872 805998926 160377776 377673940 258633384 213621884 153822434 711318800 665149594 965566438 78642684 186622674 394331774 45706480 82049472 954762728 826723262 993217654 420344868 798299518 931919296 552652824 918577360 158681370 63588156 977319032 171504518 136045354 468003806 593858956 592516532 77558774 576016132 162591758 934228768 540581216 148067232 863519484 703887884 822829166 463133284 251616066 292498034 610434998 850587856 587295406 559301100 398791938 630487388 126430414 528843902 839600808 750611770 909825306 68311932 892253382 697485426 946002492 591254748 497832556 859010570 354807204 492218812 936340942 553547782 759698562 625074368 94266880 206731302 786665646 539965030 247714436 927592220 112477968 929600862 207222090 715739580 736209908 582240780 498194740 459482880 705131104 233387628 702810220 649064010 521662612 111276700 567210630 418559272 820484034 20192210 767835116 318029664 699905308 449984070 443220720 889627766 617391480 806711382 84566476 789846146 168509844 323638936 146902646 106095594 407495642 97495634 19879142 218894934 424242930 923767326 859082472 230680030 289033084 70985466 823674276 566590754 524350306 941291474 470173002 777624688 466267940 771150392 427651458 587787652 755924 555383998 484239946 23649940 660628228 189252404 979673524 651171360 504334060 79901438 812480198 552139590 757795646 880985648 822042554 427048140 520471072 906356166 612917266 141653510 854763512 78520344 313397992 532599452 400603568 695693584 864443598 83753278 530035152 3186158 978370286 890780234 709159764 385797338 183106726 505427692 916427480 308237920 517733486 288109570 860381162 305902138 557486994 855819402 271006998 658203826 919033980 462537684 596935906 459701754 443714412 9592262 726735508 956473066 837751852 348430878 847044004 663895730 36671244 723156886 955209766 592988076 16913022 316702884 496171306 571740802 923273040 877020130 410143976 599832720 87357366 269695160 598188878 316896766 191636086 454618236 889084382 780161268 448690216 843358636 971764410 520983134 773810692 158428254 347089594 684841026 957290470 234207354 957946698 800629046 453262056 15136374 168320822 684487382 560000874 992925916 29499932 524911456 236417534 17179920 230736934 710541728 430203494 226418490 258415830 994988990 238084184 115533118 718432092 869254164 476248786 630635880 494508130 833735030 464675310 122043468 621089906 833968700 820037736 300135038 794529998 539815718 285582144 844251436 973965046 850019960 205681262 827204918 26797698 972848550 81200484 827840300 495519938 605169460 951506340 18003238 306927330 931363810 93187214 46628824 206504580 55983888 345775552 619736314 479963118 718549910 276648752 189224098 632280034 98886364 586889440 414901738 781334856 990337928 35408088 602037300 348667166 111070172 38582938 83762550 820428196 142909580 91214298 738774326 689399872 973315076 284469448 451354056 302093178 708084410 21721222 440231168 901653636 358459972 399841926 73218058 664147808 152785402 552189820 284372054 864889570 77669492 784801780 6048530 584612916 668330470 886813020 93145062 149420808 726859914 120511710 718298276 932798096 7762408 485353476 459878762 870563496 574080616 572219090 705011292 188543734 730643322 871715508 729493114 147584800 441163982 274072896 916401294 969578216 126742316 910269326 709892268 52990876 667588630 429335122 35574094 791636112 418979182 515945000 253414818 530246470 728218908 886767040 798046722 375488862 681993630 947380088 843207038 516560974 712550836 780249246 404472388 407588152 227412938 935672626 921049744 875967596 51332044 877689548 40594246 772438042 569984042 80911190 788061458 641748366 457249166 538053872 539441046 6446460 934087306 388127474 626292782 606958122 607300606 785937874 161668798 477120202 761701988 23209748 795464552 769578868 564843618 497741126 333722322 746048034 130158932 636826350 728594716 769930876 758060888 477518752 943586436 69272694 718255088 1004948 686505452 11783664 704029236 671782206 173457050 783207572 759057920 405332314 523732866 865074576 959242940 452575672 497135504 879622924 844096376 489444584 258259404 523460380 354408834 976037618 785109482 327873936 518413190 787592568 848655650 344332736 548901756 621656104 397071762 807904764 184812686 65464862 5282338 745085708 949863058 656448312 629791480 279126006 714265026 839083190 110112290 267414550 399715714 248117082 25464828 769615164 836420150 963291504 232576060 432229552 736052270 485040412 292627906 544559016 796564218 273462578 920854008 549990342 421860282 677315358 681535014 18687104 182333124 255805496 159531330 662954092 134773708 659489116 933002532 12392206 164995232 725980634 519358828 850523838 491563118 326350460 250120142 973548388 159585038 227320834 726263050 554283038 270321516 642948098 113116160 360041750 980112670 103009584 759906126 119003072 591582862 927807972 145884484 112655210 8767404 332327294 725035282 697313714 76561584 404849950 863106508 859370350 243291788 412291826 331367930 617544120 131973990 373865604 208345992 717366810 601161754 229792114 681727424 647990066 277152744 327730870 839227836 83002154 98499262 745419530 153577752 98997536 649539340 912959426 898856128 326650446 776092166 381404128 832194024 733318948 349682352 778256388 427015468 698466980 278107630 570079364 757020792 538152918 125938512 615962800 525519312 460788094 143805552 633056308 263503032 155964786 136939984 219500912 876171790 496937876 485818948 689436154 693266272 610880804 524543284 811070558 52682064 659369302 558178706 461508602 978531820 26828590 227692454 500241572 757468796 955575058 999585546 540170054 274812862 669263870 619286760 590449564 453852918 420214006 13585982 846644676 972366826 919378196 946748816 694423214 892377286 101499354 753925616 238919450 576413900 150524562 938927720 33959760 627127030 371272208 534067938 54304346 93601392 62479936 869173828 71498642 685437972 241389986 63312512 475461234 798308030 479848094 639382336 403403714 597677404 280021456 863692216 312711724 759590534 960609488 95356154 165464956 326903346 954906198 835386210 716510944 827497450 659804524 750555638 869789580 517092410 490909576 526246964 153499780 90626092 646282324 470717764 873537326 130119586 914417540 787654874 611226862 538504640 475801160 905463232 187006010 270202694 274738648 508892690 955742084 121399122 989113590 233334062 35279832 388358128 584703032 870817486 353877402 45655920 293719548 325905720 722829164 913924606 683215610 512309058 555729040 321811476 704717694 364987730 749839298 831551472 108697458 68420272 937290974 366628838 48902174 377982044 827020030 69599828 71558764 842093246 513861782 476181700 635818274 446670730 916645684 130491090 71112568 605025964 966508970 142952174 333313622 156053342 510614744 604182342 771304290 386873782 543799006 316409308 142679294 647513996 626464560 95885534 114577436 148955872 29693232 439751784 720190506 919746722 115672014 637181324 514529480 388656820 543622674 969780290 250839318 305756412 716671864 573518070 578395156 13479400 221265216 418975888 266081168 6112748 524315790 292655830 23475136 911887512 289548594 306013922 903437520 110357194 161097642 30076586 807855538 914206556 588861446 58832382 212568452 402432326 51501438 601867996 895380250 828366134 939829516 861347320 835018734 332945938 212516634 670412966 21583882 369377414 111646194 62356464 322170662 371006684 777933262 687917842 464470844 566405446 414106150 929863166 230091412 721796762 332984886 386028318 791711470 472297398 659590724 801179068 856483280 736106782 562517628 408354088 412730026 363321534 997203978 25775502 405822736 939566268 269595446 230799720 975146412 260530516 462087276 731626598 635786000 581134218 366009090 551372370 140731286 411124202 792167552 896229644 284799978 494197644 920757984 852161742 233549658 58184274 739492764 369845984 272122346 414383188 619628518 139168390 576331524 378092532 64212608 653425462 323475444 680846744 667152366 187424962 745326844 434881120 322234168 754460270 980917180 30308914 293458548 122886286 887584812 920599938 686718292 373851510 594561572 963969472 660554082 59866466 497991978 378487556 33832016 41474910 419815362 988867988 812691102 42074472 798185912 899622972 637493936 746003030 880500398 125035782 783413310 204669846 552778056 411775848 322037614 743393358 581649798 958639188 708196116 22731846 153767746 352531586 544665004 284938702 729418744 747657080 500195752 956065196 54289590 536894538 338237480 202405224 828389782 349260072 600035074 165709960 334030030 575440626 35344284 849049924 788065648 189327186 916990782 389945106 521813528 358155648 929933534 426676600 172777138 31558352 342654294 91742410 325787238 329541002 765266494 115899656 728579774 311653326 57492066 134546452 565249348 828644938 490971950 18065474 242060296 566183960 79852420 174646450 3680132 368217196 663367498 363493156 577009476 568242360 603652102 908755506 652501370 504488954 676614728 873588662 202611182 127163632 86490032 262585834 440462366 474093354 300426126 782134312 783082178 942813654 140055716 554891508 595118574 946769640 893540690 620085402 701678052 265390202 517879494 302502898 231392270 154581624 323763680 50304254 312016950 845913052 755490222 301499442 289966326 139763548 264010892 231187822 783710278 309841666 303019936 9512636 903882468 661207950 759015524 31060134 416248142 425577652 913850438 233232358 527288818 280742900 695813518 497529092 338726320 654916436 228671030 323029000 608088618 788065102 783837786 528470502 176973532 825590406 173031106 517245340 642644074 765970482 885255560 197385072 185443786 479418696 515999056 840233102 300727432 633720770 259114944 982607652 387897630 103080904 195176670 660997692 237323610 537245122 428027910 960071472 717434986 397215052 131857368 678629140 548133652 114532402 383375360 610525470 772523626 714590408 307102224 342509644 446922368 176769912 981064278 33760282 672741358 647644930 754631232 881760344 768957510 673707264 744969254 64717582 135669102 975082492 963487474 850950618 979993100 525731064 65599346 114707412 523663654 921296038 898471668 74143446 618999604 807295386 624902940 995859394 131147422 113722350 279878474 717921042 700121594 399342726 245831382 545479896 956977218 609096528 334449174 453283472 716542342 195993092 804371276 275677936 23501138 574748980 519373280 273206586 930394856 829790328 485713848 677926124 218208378 353828176 207026180 427867222 599461470 20441220 478788868 983552034 968851126 39928934 944837684 754568364 741753910 921672548 186575058 883574756 28166828 103587638 459044640 608236290 253614274 812078410 584198956 961503724 145056282 886983410 973532050 22166774 455114186 90058880 205162958 371132234 102987080 285705554 304363478 631825258 214869196 204288040 30383258 7565634 978402260 426747236 94228370 234992684 157726450 895846600 671006502 643075588 430440580 612155982 257625896 305751680 529801094 175596606 48533202 648550846 54346820 968531940 196309650 555102916 12812604 132097166 587082258 585714036 75313408 812449236 164953560 685025166 199801332 173237204 767554914 702763594 815966676 418825372 475250894 430008144 61127520 974930136 981724338 740047486 679716442 499817046 471931860 571240046 622313062 752880954 440355326 608263484 729369988 910087174 903157234 95839494 429846834 290982030 177367538 925570700 836416426 449973898 742646792 933781890 656034906 289613982 477685344 34496710 964620614 69816562 427248460 812326360 632232714 985306234 871128360 336408790 593959260 857417980 117071196 648185844 20381776 768806520 583439222 568892300 704152580 895035338 69022624 739629586 675773662 648485308 876556282 492784258 768704134 600524800 553412364 904790070 457373638 946043834 886297504 664802802 203131894 764073348 82216146 432642746 967473928 921667654 249322906 999853392 158453706 852836146 698813592 759401192 969280886 508317908 940536030 773981212 633061294 249421506 704709402 683520472 829870660 980947354 168453372 822648306 115708002 645948948 972959546 630632528 274360560 192121582 740471662 540604552 283050102 620600128 804558784 918242686 832077750 11858130 284898894 885389464 11503104 145203746 894086696 298408806 933013184 920096602 51361196 187240988 991030142 965547764 337065178 502452132 551688206 901770408 2842874 329551386 758379368 622076438 343613852 844955768 722428860 556868262 686316896 340905192 661030990 39830968 435374358 562012128 274379650 347667124 803667496 232664432 496124214 411516934 479097702 753000940 666454748 442226456 695891692 481051220 731972098 183755636 601012808 15425744 593730476 234827442 453836976 926041570 480801920 971911018 337735190 60218418 200192684 284992766 753805754 494709574 706303802 908055054 74386418 342795554 431154018 875498430 459426984 885490344 630568110 236722714 44687300 72032904 592274094 261592508 253450974 475988758 870788708 67116104 471978602 710802300 278560084 266839936 674666540 837094868 842683324 897807936 455001568 872167194 923525630 586977964 793511274 917973510 29482892 611139510 903421550 80203454 729498274 921468408 705067112 797815442 686204178 561425950 709725030 643767598 814102822 378389220 293635484 743110054 29803370 109895434 79473150 270296550 441202308 181854222 418425126 787362616 2239252 974381698 140161160 143281856 981255704 74869394 415281354 765887680 352632352 337827970 68724984 939792344 80476502 546271672 171780332 711366922 283124600 203591248 689357084 28960084 491090060 308931708 556003308 186397820 402261162 185561810 356137516 167592216 847276200 278762232 860952586 411927096 941870838 995933286 335101604 151227716 526777286 981692288 561070662 845529524 995611110 389456442 59515624 874947978 63439650 24411048 34761662 722689992 796805710 762183652 183812216 969871232 469582854 513777118 843859566 500031178 430669104 260857874 653890988 367746504 990386620 655631846 588524064 912587852 1295060 815679382 576944230 147508940 993957452 588593680 309614086 631106384 125533852 829614376 110251474 329498466 729261640 683301340 793838702 759169630 853037348 31664014 898687276 298762864 627011528 697023080 766612344 744279712 660411558 884541880 502861674 967485700 115659890 10609648 901367696 986473170 392975840 890320716 929509650 154829212 269090124 132483262 618387324 141458394 350906550 783119984 445183754 828797590 236405342 269010916 838698572 293175780 513034608 769534800 378675564 144344486 933293296 497972276 704126800 397166890 415725780 469643044 937780618 274005960 552284808 269371688 461273032 951365304 805239218 138929134 114175040 672851172 312409106 301650250 882614242 183717046 595879046 771811162 147567278 112061172 792347496 306825284 415939760 276112750 211195642 78072404 944470354 15679002 3161988 463455516 156579608 478618326 362053674 742616250 888527394 247835800 383862500 48039616 831857516 641548878 514191678 31582246 599457148 879069864 540580564 662770134 580448270 991381384 992467596 689223350 321124542 330948860 473972582 410109118 852124492 804602160 892251164 871108032 978530994 484491728 745141578 26572068 421153372 911223490 72132924 887408594 133993742 779069990 798511314 655839810 58284068 463151328 723876078 301144354 380777728 367335236 441663462 101735938 564832598 409003062 658612186 408257016 119467498 765282500 61207272 18172162 851993884 293375094 792998802 122343044 679752516 637461090 881112840 334584458 194422996 142311250 546668364 1166696 415980764 739824508 344692618 985648768 211986220 52658568 362225884 360970434 50388698 533053460 516867530 803648560 875174824 898647526 998099766 573621590 5850828 54391010 963110800 748905576 120845168 494640850 724464778 759759106 200031620 74491762 816836486 295549656 123966482 138420520 771776526 181423654 432648986 214602114 452538340 80105670 810174326 812889574 572515154 698628994 173624782 487120010 601572138 11122176 121214494 588484194 121247846 137424196 348682578 252909310 895485970 709018584 326854152 137924066 934634322 12222746 916792154 915498980 400362550 449988218 840474524 423993814 719707220 411529620 220146644 675153018 865087330 616551012 788189982 564959420 103706052 405584440 955315910 688881030 706159630 305039482 430792608 619328256 526317954 655780268 665807516 708937404 824533396 660252984 471504484 287420100 491580478 602566466 207447956 472290270 364924250 719428444 439376528 80306552 389016150 51351516 652320394 461278430 73844990 141975904 403834250 757278500 626488252 474140740 4353454 35476966 172634898 792580320 443311628 237005172 871291088 322329568 393334362 512340814 559278522 103882272 676499556 619729022 407059794 512905246 739492216 71021886 462555756 964205402 764898166 753491488 658180346 510071312 980461014 218650448 269969426 876018752 906863238 663675838 709102422 858084878 23948366 486157372 903772298 392435596 862909524 312209080 521280284 679370830 592676180 158183396 229790934 122044744 527710562 158513320 473480860 390349958 405171700 204130714 119618328 874923308 255884494 852995096 187581960 975728506 558751640 230415504 749161974 991782850 434669748 993817122 756077304 752066636 194707184 338046378 736555444 825402784 232464120 634488320 364080376 142439250 502015936 630830692 384362004 159967706 660467374 569795768 23886846 761975674 78521060 293817198 576970686 784296476 861472492 616481558 154905892 222019318 954290222 157873136 123718656 587961764 37058630 740236158 361355498 926212546 615036174 716456558 316044340 125337376 567763220 267704550 583902032 18487910 822540970 422662540 643134756 117154578 978423016 96144202 529497356 170752496 839790708 32493026 988323632 872481842 474484098 418173558 626162500 984653326 639774690 264288958 722962014 414579322 628807990 321807940 47503512 924509616 909954834 587695176 346409454 941524550 625248312 403283752 636548964 852960738 83486718 815609512 876277588 149266946 532786086 821300262 304905354 537620000 431716224 944643040 464215154 880046768 825346950 914752360 111486762 583824812 21945420 478360878 193606182 608366230 135340258 257463492 202219524 671295842 265893296 628774324 960048234 941840174 976919184 518242258 385255078 478643066 272639686 761676688 30930736 136613996
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
