967034924 1000 587586158 185430194 918715995 767527830 653946995 749180621 641621091 232024335 151896000 241061404 6689688 749923022 271637742 466853851 679638954 836856045 5539596 212262730 614563104 926631931 388153742 648681729 175924270 420655750 641382438 871822259 9648746 657694080 415077754 286124047 47416497 691397676 870871304 468308899 20427661 42713839 844289622 930171051 479263805 185934955 473894380 80475433 70555081 645042592 188829564 180358760 929734529 787460957 905731421 438563252 566837784 934484463 896850061 560166949 280216637 116171765 38395063 169891091 245632047 585406893 226753396 563074598 194047261 684628792 339427206 431102449 258813232 697722928 403048787 426168134 679317775 669924829 239479346 823994810 148982972 192171771 619545778 403271411 377606773 539590766 502243118 737303165 385222461 272386454 89302136 595648468 271559626 671014391 50901263 961537051 389611075 253554815 684571690 870702547 205564015 135486527 534502368 81289102 195899258 736144729 463665422 338951827 891407683 940889978 447510152 749649611 382652692 434677763 355595918 404177330 614329328 909161117 907788207 787526433 924507074 750525162 639615246 718880754 90904715 85877056 641310137 47940241 263553915 102218158 786616230 233463996 960624512 866527419 552691397 107782663 648071385 68989392 69866027 579900832 174882180 138713252 635519489 659881827 390466590 393815934 824373920 23212898 52113136 559069882 117916308 329652347 734464335 894586446 552605198 613795254 138443261 905923481 892424876 523704299 844769759 869885951 740499725 547869928 698405824 716108241 253565921 159694230 516963678 391435987 929618741 190490370 376115885 164312835 202964858 507473270 344258430 421745572 951117387 664570945 585594003 468974233 398472230 280163034 147022978 442888667 120807054 449934376 77613555 207488881 3142409 669551943 941449162 89318266 787051379 539714259 728732903 802616445 886935304 524169720 373073034 4210032 63222017 496422373 656938677 156188985 133159686 331565640 815538623 808755316 853005541 811060973 438759668 186594635 96788938 209706836 499815735 602872173 819258192 11195554 808334535 246849917 39579796 90604930 43047515 711141825 17149028 626575097 583353533 780463230 36375815 705968754 17950453 574347295 962815549 715711631 541059561 473885973 660157357 292564004 144682036 506771849 781973353 681363807 6790280 528052956 106652372 678274382 309277190 536829524 437680443 439842758 839162654 870629724 380260874 553805623 525799708 773579575 934576446 592626499 964318704 194309516 149445320 439795406 783353275 819138086 607033886 956690801 79083637 339599313 144689509 809446126 794616984 299823014 895265933 128394492 95319134 243719014 890580741 831045707 844747386 845742036 738971963 698710740 364993216 330086075 477321901 393350434 316359301 902443567 717380068 352533216 283747562 346362248 453511982 941755229 640763903 301198005 867099082 804492488 93324929 781392712 97614457 740651320 598162322 484924027 919320322 520124978 949400227 435094752 683811051 17699151 163085925 336474853 237920706 357013965 949233286 275742186 21412946 335227603 110375550 127179909 101018321 403018413 285397706 31969588 209323486 577438671 423200666 847668177 477949544 94608000 670179442 405707997 656928512 420550376 324664471 788683831 502009169 885644724 360615557 802351907 90087350 198866902 660739933 438067626 209627860 791833031 408917679 358046062 951479385 252735279 924122199 435680639 177294226 247761570 47161435 56301523 306279051 922044492 290408589 364239969 496981144 422245459 456117213 290302726 811372247 132314942 270044422 490634770 927011915 252025513 630967640 604681177 760364769 217717317 27274870 549097918 146410270 586698796 399253408 281150945 198063890 61424390 115954661 589275014 97272808 644027651 566414280 219377668 314456848 548581273 815492035 193782000 687797051 790811144 107964989 468335051 791466777 517293547 889174254 708556039 417739613 193112077 120124133 469250383 590853524 929993764 850404147 619798213 300061019 897513451 131843953 568087146 248952628 443499444 134209749 67180704 251019826 210479590 411865900 487295435 46061945 375520907 900558758 197053087 433587966 933538971 609207791 378395116 683043697 177341106 142638019 312286915 88806622 800826250 168075177 711663482 112222386 343988927 453823338 542089140 939591041 97361072 627361203 678916798 18826633 574473530 954237133 316155853 412475414 615558583 180098943 431321113 362044088 856946954 637961703 381845848 40528581 330073485 690747272 143744085 655096756 954567749 245665601 436750743 457433081 928888100 207785111 784062742 22902743 640490517 626979188 875278247 478198485 714314022 904151448 158372170 213734379 666331159 473089627 74055367 716673844 965534821 73373748 842469363 381539803 4158214 736625865 263143947 233985670 390817673 284451092 619939549 946397757 439628116 941436975 258802737 923290491 527138689 895475869 795256266 457705177 542240064 204150534 35497334 685974040 222224856 459727910 903075183 543106202 908592708 699061281 234253606 867851532 132302853 608253306 726995515 106514433 342980188 783824008 407247419 509988627 121716051 602404130 52962075 613992090 209499014 162660343 912750490 388675339 528620203 467866613 61981855 707634010 777101865 292535073 350903946 693044886 512016868 260001909 690350924 931973904 119798347 293234791 379945764 429788465 570078384 613358057 1455856 128292732 579228087 854896470 384649622 347626018 555992220 124155322 229472650 759350051 552878505 906483948 29098836 262851220 604284304 820562994 879675930 33331810 397539270 706079333 442291797 268587828 467374380 147669401 77489178 168677827 571476027 131479630 107886828 327293376 800258932 68222737 706604492 910776088 520286812 427185868 527283201 463594703 932270517 798831157 788683964 549215081 892630923 800547792 173950722 215803106 907890690 446292549 439247456 307827860 721104733 603295019 309686167 920726352 808945380 465111297 595969950 83503584 365465384 308462710 83613569 306350286 61827493 748453284 313118495 262725222 590716303 854604868 272314377 838480 754979958 158620668 935175495 66173733 696866750 558841471 403460979 806308633 484051119 138200769 79438045 515060877 313042725 650842400 122764708 697179009 23053114 808597972 554852612 643742820 522662209 46472068 671240243 904743987 916087997 841356054 534758765 569441595 614804346 415851143 539613808 615217977 855173126 301281022 484144112 346454628 182125759 777815362 329579914 703038844 848797574 400814754 774462195 862747263 527322747 746308205 423149634 528144897 756198926 614097113 501886643 687377404 442882940 681709157 293016109 408708969 474013551 839563552 936715170 326181985 332313405 946006529 350481975 337781618 722839212 42223020 310155615 717729389 87739763 915701574 309344018 893301010 748482403 232807738 539732955 533711739 622838437 347592792 672417436 59138482 574563835 732226648 599336415 870443202 963002573 910045067 744472979 284965675 860833950 652305414 806791837 896409029 158275288 365558222 845086326 348345028 552787847 12800426 606510699 72808464 127930859 21540959 509949061 661555948 130607423 105265188 115839803 708517401 555768899 616093596 699544289 254200210 895626676 614531652 613584738 358525142 66864796 752486037 231348660 201533521 248785475 357332264 955260684 129848955 61860202 730884287 703838911 579446550 902199772 471881816 700500013 247246426 867302024 905907243 308980764 425700754 922042367 109269891 291835958 684244245 869922732 791864920 16814255 181756106 275774935 195501550 924838887 821043642 234025454 96009329 198928154 513624972 49578997 88931087 103992350 519785539 896788365 48243970 249510007 959952802 905613840 424541345 802645506 265539079 116443699 882951799 286584160 939714609 689175733 716974255 759292905 926832833 368959460 35891818 138495285 112658568 531362314 245590289 820330216 827125046 559548700 129612541 208734239 372811120 326784229 767189702 813226706 705459170 494673364 832678805 821673841 52980737 188993038 735436750 858544149 269890072 952905438 67563470 320326173 632913228 688299055 628872737 768987447 315859478 93769783 33239723 828604533 713685016 831137567 616864696 408848431 322424559 259802307 354079395 65906294 526854954 232403782 858549369 462295794 651426802 415759146 531003538 448791753 238065432 312185416 322188949 869819210 412725298 958718083 667419488 397525133 475522921 517648624 756447204 74125676 766026134 491515207 207589646 238639900 950753185 736278135 496644946 631078958 207682044 309369512 897709257 401610965 963815989 547358899 721507704 420883256 864779338 122492251 20421366 666389399 499912772 866531698 652926421 306936371 166829026 956121820 840031016 884024512 384633701 341792545 620269024 347636067 244724551 322715520 355745949 907726834 737230363 817316767 839316949 944483103 707487485 507186303 858377469 43145419 203535146 565247918 772126129 59924289 286899168 265529739 842122278 493377732 958850408 488641545 874414259 341158956 92360196 685975506 902385288 628662231 904133446 43334169 289809125 409530486 627549139 69685155 743923067 67379246 829267285 404130245 831440689 130109390 69791792 445299789 816604703 724647650 848635573 507057545 617556322 19940351 296918554 441630819 269440688 261326542 7933983 832068994 475194815 481766617 913329588 782969137 886967418 143009635 530714820 74192660 780698136 896255044 527599817 906494432 737423604 825858064 848773718 754229692 898052538 895298730 878049933 687065942 42745096 679721600 189080768 14920723 46795721 973536 232294782 416073410 907021066 596496099 307272875 158898307 362657311 146215992 665344496 489887612 211342548 627883773 921391606 775572104 628877448 643827677 138191105 765520274 659377710 395674276 466871268 625476174 82900896 542145494 83654661 389284233 702374116 365928572 63227477 354384885 115975958 959225071 948179059 50536297 121909634 32826183 237220558 256350120 78363392 352945859 674517558 515970501 508915060 624180961 848097613 874288260 523738986 760017270 824915254 67653318 684028377 814034196 120343710 782054854 773518006 37975840 126129941 22734819 157100891 608340218 926071316 539224716 615654249 777595671 604493712 781529810 749931362 907656915 479412111 347222637 69387672 32105147 43162110 103127691 83278523 479247077 784748537 573474888 807683463 403259762 175314372 654191757 178933019 130202509 654897867 417459722 317903666 239146233 724591075 168118628 24061777 905156523 44187944 110510347 193107289 177447699 517286321 845214400 277356942 639167571 737621471 850945188 728085555 827543856 406422010 233856347 319989130 342047361 800268129 88059949 239569376 23560088 856683234 435577211 311902485 347053539 119584942 75954335 525515805 92667582 52236990 537639801 619403859 18785049 751226697 298848709 193198482 872428865 384509958 68716860 731296850 266038541 83141060 506742791 211170778 773402138 74727403 61410216 505675894 15534067 585536608 395656326 926636137 772723381 34243121 581808571 148325384 140308340 297745917 863789862 444621809 701501061 326703393 455056130 156886254 380149399 817772473 561997427 400127605 313473341 165525479 165971923 961153137 915788415 716128611 15669079 576041262 134740211 695884421 210502715 26914721 24748045 243591519 682435552 573377631 17720557 659121077 293594717 142127835 597953543 697418501 721396102 154519293 130903726 225734072 578769478 491985947 761796159 751916854 49537903 759749146 497362793 565213840 397374067 501422405 77510897 633767304 624024588 813491222 82952538 64625347 735145472 924806522 540273406 247791917 927866309 678231749 513457015 722034673 915445359 805480805 384040011 512936374 318921849 646480822 67088846 742165677 586465747 327927859 188104523 52503909 241844552 750549899 148767757 815098959 943606323 141068091 652388165 839349736 856701595 899409133 195576182 368419277 428373880 660301959 360453925 18430265 351222627 357844299 690397868 828043575 896129913 193622745 564627840 190496588 783264001 772811829 635735038 765099128 757429694 107207086 643861208 651547047 148120894 667050823 924252117 525554219 180528564 922174782 295616055 593451234 573928539 693738733 727855711 667019634 734432515 157173738 523518272 52296226 135833688 658302982 770760273 615823060 550065676 783137682 339704822 196155518 153517067 841148870 834156449 68898347 646095874 138720500 625391565 190981511 19164639 94391257 463455392 46391550 905594226 695619118 147221534 25498603 450867545 850248459 162766527 164668236 317389780 262420898 768320056 605032100 667737943 547878483 656417108 573639695 57017372 296257522 732486854 672319981 652158834 425290625 333009893 791616349 848287113 388052708 592371911 889888162 777328199 297058241 880913789 743329459 97960095 225636381 862956271 817003871 423085797 556815578 167578201 254320132 936326826 797245575 28833572 125136678 765612170 557487679 821684176 592114957 576937735 126116534 572530700 822153449 815198531 90758203 607945295 80133101 518883326 79256198 256930252 303670334 529649883 257662221 713254546 128012190 391517788 357329001 383879145 735502593 444941826 333699837 108778317 950344391 355002414 291195389 127209448 833316405 385581607 911738064 471115226 683593197 41160858 77706589 470520715 130690980 960237559 661341647 859348061 421675209 599301462 400390416 189058241 196266193 3270596 908325805 578323167 694040860 716154612 150412068 222155305 797857019 629302476 446015551 438159911 136989546 123661515 871820833 571686764 522217865 890757337 870491534 647298188 425455868 445409509 25158681 852346956 274786982 649195667 737419002 781637365 352585963 786665959 216711557 251986135 826657912 628668869 97620289 292924302 446813233 713958902 661186352 669055705 544484492 770286605 58742045 710703063 223244074 186346265 728967942 549338876 949915082 220844146 419995270 804783589 26089633 91612708 220943562 423969485 107031751 947705244 601340870 334802296 353203077 220475398 793667879 22089338 888193729 750753657 77910752 182561921 105075076 322217257 636224822 323693648 777084787 261367139 442849218 239369755 345253057 720476934 584945726 302209415 286753986 623507544 692689972 881998782 465889970 876554566 41444475 519616897 54885271 863254432 48868621 177060470 49640130 611008052 329648477 906357313 856343539 342732594 288906991 441261179 909940347 832472003 324089322 952770628 558357787 275420014 121435960 673763842 220523251 771624506 618236749 27336987 776024959 379069706 126991502 295070127 437113007 208320444 383313575 152982331 838213406 361939388 147456266 817547674 823262524 750847499 588805167 858922418 687574853 847232323 82303149 823508910 376707184 576226824 640124425 293513261 893619633 419145555 260300304 249389158 701558870 278355278 964174064 696348317 67862423 408240005 14320678 241810041 330366353 760978236 735513788 290310499 907748504 941853937 549352091 756702849 953363853 176980486 954339802 255420813 820587558 407996166 674507654 519646740 519516281 434114698 940052580 555506407 524085121 478042282 120431612 803347198 42422557 604438755 285285207 825719625 353470624 650082792 166758986 28758390 824643664 716925449 889175807 798131785 670379184 501755452 314512099 779547308 172476688 517102814 340208909 233495601 488578963 44749757 708272577 773692456 297609996 302974679 515183444 248621809 787274018 668226402 916647978 654136658 32959132 97843657 561028353 880372847 475608015 100763544 766542739 385493784 627895266 107710847 503549311 1885827 494460628 567972204 518812134 923617278 565863610 447483175 272376761 285196869 696723426 708328755 771422395 463548180 651575405 749152062 631297826 289674699 452356305 843708578 699730604 514170940 76273748 296049333 391927909 945613943 22520567 812681650 616434918 472121644 226961233 827122732 766058721 281605338 569944094 836815475 210279604 250671181 501420831 311007202 733230591 367213484 289296911 481350370 126466984 948176516 242749205 856393825 98633431 552592410 535579471 556938839 517581345 190356369 648894435 397004932 766798036 736295466 426536073 947605402 884808302 652218833 677621853 764512111 47464939 850104069 341232265 715115361 118508343 894655191 842841520 732742660 684276868 934484988 763419204 940085478 877083092 806279317 448694659 11332949 660699498 594468616 610346457 101577379 923703712 761012758 501258153 618252680 14399975 922203222 380415916 167322425 871979248 559290957 866181019 202282894 469707668 671775286 283240544 771168637 516556953 106034609 447698271 327167693 299768754 118947142 556730144 641694884 480419882 485191173 391434637 208466387 753964664 307517646 892488780 816227272 178988636 78753950 924353620 265986438 315959193 49537178 878409071 667917460 671091115 394074770 554389553 686211659 472666021 493197802 935528629 82118146 634223191 134544540 853023687 721045644 434061124 187782826 755090833 271057648 655876306 684317937 833273119 194760632 895290779 159378862 688044516 673968470 956199346 581216117 945709025 169267560 273409522 595909704 564108950 82080396 523577573 229439295 39029885 674102242 36566432 168250131 521961220 429760119 585191779 183716270 755929785 48016471 453859781 732472880 826734596 798244717 34601186 675476417 655334119 70239560 370975896 687397522 390346600 794590543 61147920 951887491 250977859 837403531 813589738 687769177 151478086 68614037 67659541 456704577 64274762 189662390 13661044 653469006 566015517 194801135 644203282 277624650 118868345 367653912 49374838 691342374 380862032 304748188 625320850 299049011 494603257 927109528 587132223 70082338 125936118 411386368 374973063 756856979 328949607 60389125 305916748 449692259 655754816 678728908 133130441 373977459 938792353 905077842 24418879 525819604 807011577 558345553 160730060 933294628 321504227 231009700 362825113 450254037 410951067 732893408 664094189 36187258 725766860 442553696 279221663 621442861 307772700 875463210 907113829 24719147 506502414 579714919 6608105 947123103 962016585 497918812 954284693 521709117 412056998 194192641 415985388 552788351 360191520 188912402 132549955 171967905 724268684 398896567 280591858 801255426 183021951 366962080 728789564 816701266 81042550 300144124 836510816 250829584 8398206 391320708 920465564 385923085 666564453 412636619 10315587 831723135 483669730 352737526 236155006 150685892 266488807 274198275 138942644 601416738 563591297 817598297 762050737 582485357 695971595 519651498 2994 811550167 401772004 555275207 526169396 729206187 103236907 818521529 149701351 515719568 794305860 274548378 785144580 680424638 652793838 755952809 940005200 527421355 843955126 451569087 778100076 306353906 589878187 520932388 777049240 452820855 382571551 714089372 919605128 859092113 862773981 227673686 587351208 217524085 66014723 353458712 434955288 73623495 504963513 561600455 188038906 639503182 357310540 36577345 956182104 308606710 160510348 39626105 592074974 447710812 145705633 195547309 847820139 278628716 940661193 560320609 189951598 250368967 98413606 26293567 94298897 769026539 779515879 392398157 886290435 506417264 258195052 15707849 441584636 198999034 294981794 596784249 309950346 727022974 560984716 692057692 694882338 681373865 389020952 922154702 925615843 717741330 806250259 694663253 749574016 748587433 905996620 727562581 956742446 843891555 748478754 67017146 272263761 203811285 256493710 604894376 595945075 74946077 694986762 607430830 60754924 870297512 131142291 677682353 930391899 97561209 385425339 408752608 509467839 467872047 158219931 500251838 723168279 630974971 90429786 856110520 597918545 706935822 31042011 913370653 947778501 923316029 486910002 69181089 690322984 285111230 459548227 444737243 673374973 881143924 305139998 661841486 314202265 688498072 529309887 587897300 69013727 465444076 176982610 743345987 903115667 838511083 450093837 713851381 416777255 32913276 837469328 587108339 432547626 713708921