1000 468145963 198730372 27838076 590195590 467423861 520495379 451366491 344173378 354694313 165814381 219739800 750398099 664937142 128795916 321751760 520953672 286503607 679396966 666937376 878564254 568161994 733393578 144504113 535325978 551450306 630068459 198040795 772830221 843247194 277560202 916948987 586485641 530682767 437343456 908988480 190035793 85518674 542503858 318921036 70100850 309096792 459692853 124761631 103649288 195127921 136536981 530739598 640750396 607485684 242678541 238193698 114832055 824087376 236551988 619879821 375623114 180198912 502282988 394569379 216620141 503234428 687631487 702512964 518692283 851573628 542493795 711957182 415422821 658235622 852161727 622774750 128295827 174266799 159520219 752427100 915129792 547099248 536879893 233291801 955114891 366804871 338548093 608966371 277812628 459073984 868845347 468953803 379756041 833824080 502342051 575100606 294391290 857061142 584339058 874174469 88148751 393357153 883565650 913593771 553126421 436234512 237294962 29208319 801689376 265404538 463360153 72095717 953808886 540105291 859270862 753811898 646196211 758643699 821369399 516493177 181704439 314631301 457438206 562712526 346683551 382922406 818116107 49047416 763663698 473901235 555587050 541166351 949694149 347399844 594459816 278898804 615943943 415419850 422982651 893371344 994871996 791076134 5953277 407174246 782219311 13977261 381987546 856207039 228635328 289254023 388723969 625653136 943067755 27435119 390118206 711034008 540314314 416100112 824084243 533728924 981910669 445501747 887305890 376745837 442109375 591608021 677362145 367124791 121092540 409839673 336358778 44879947 694726236 792850700 705998547 862700155 230463380 246301304 447485596 944035992 691320009 636188126 710260165 844146022 183048427 571385743 946666873 835379899 617351661 143832240 512006709 932992128 452193880 803994125 643149849 857474819 114431387 583412502 395789335 237122908 231720355 986187457 866736363 635745970 857082831 371770128 595432226 283230037 961155419 981309272 997656372 450687519 580026218 985392975 653309800 42961737 887178997 786862155 669545869 962474122 189743238 899613701 634857752 576012773 525345548 345013203 588311498 426548227 751104550 297898090 263937725 200389371 497939834 118737749 915138303 294268887 228457226 11005899 132698 675769861 99746607 316938851 188029792 201097396 552825822 102314765 944882445 304680477 842663911 230773297 568891156 306664673 294031174 506172482 28329762 590017717 933842522 907433304 295749156 155918434 52471709 542681612 249235074 359805157 690750386 173619150 173373407 235460816 934312039 898203989 233434074 773467802 796453415 55285024 701175434 669233572 857796790 307379269 33551814 872717976 246503236 586126353 756588018 19617302 94019529 17298266 32845202 383470717 419388181 633273592 977808916 56073724 879894248 70505830 97034455 46709045 384657602 424289898 20385127 717718080 483212514 212629995 32607663 940883942 290290365 464274262 2773019 665334954 465731131 311843344 630473499 660624565 467636928 481052137 389153439 222318068 937513343 456734656 520822516 477357980 798715774 545050122 809795632 564501782 347552193 45557997 789577548 176543656 199275462 483427754 141832446 760178261 10707253 834928664 400549783 834407997 11597403 539854570 911029139 261098352 356346684 730173705 516961761 727073263 803560463 951149930 921098169 164889888 445023094 911268064 315404933 477354414 790918805 768527583 510606083 9071363 177024747 27059823 888471270 579496111 109669789 380289744 710782501 904088130 304146764 34150228 215652830 72730160 416970649 674504448 994179270 681765403 612327269 826498777 984314824 473937429 754050487 921773363 538177071 409807073 543406595 234957027 837842755 5007418 457386905 448648254 371620059 604920492 578942921 941201140 463012404 727551182 840345805 904448220 716537090 994458105 743693849 369195277 876193896 618237993 141083886 449798302 372191151 73657817 223877849 104741444 931343839 242983652 850758092 924521429 374737660 301571119 611109996 134452416 864503409 79736936 894600073 349874765 220969280 812827543 784561891 439374775 862659392 812285995 46309451 290101161 115091595 930053953 467167512 237169404 811762786 945560739 772758616 196800539 765585749 826630513 43400416 355136918 424357865 245468388 642684284 672531709 161583612 445043705 187306556 159639990 689828040 14213157 415431083 1654353 918177752 44312378 408872921 457026659 191458718 839300422 196157959 507030112 799978741 278614963 364710661 743458027 699104916 688393667 264412781 239554610 848517818 805578308 818551240 487562869 128891746 188597046 900764806 273819447 495788373 779139365 135056736 419805418 575894418 415090831 318378144 788862344 188682412 85081343 260207913 213566278 221855195 461267265 455706086 689140135 770876641 93822674 914476141 768509869 376586534 109247660 390084656 188548072 361091829 765923196 436130771 950544637 64754796 138346141 701053499 556762013 512965502 948674190 94261173 175384206 600168845 781751629 194508578 233976205 552335003 896537760 653833776 108099665 894655101 392429431 347624544 632538206 505404910 392867710 887072685 745340620 571643941 787771946 432497772 939812734 44287503 300548023 915110350 715707015 688202625 19896000 78918290 223382986 669354243 24391747 379260533 57434638 176929700 463999384 959029890 308649969 885719416 253818842 565473703 780640691 497624852 219282269 525383264 214636891 279945988 741805330 432329181 267973413 468870720 153539959 16166402 140959993 958750387 31298845 230041540 400390686 729523188 102943191 508838635 211488832 616807064 447012883 398649387 142982717 782758654 355040148 135463385 155070293 269812977 898446524 946219200 443473241 969906864 31977910 308846008 913142078 247546467 717366199 972726980 540099413 335423895 405876999 501798938 362246444 931920361 744461529 234920695 573487330 756752580 46696710 481480288 265805730 97139255 550304280 597924055 350975883 383882278 929103801 10147261 800516207 272245383 392201418 272973831 804195085 183272192 544142119 370419416 422414568 217592765 271921721 67540010 870561099 105184172 826603168 533357090 854392770 74797496 189297474 648691285 221295653 363750054 498444211 988963613 445246653 367834599 312821493 696620731 347386099 217283112 227201172 962507292 300935779 875063366 125740570 889654334 740078566 700490338 692054723 831438470 334502152 775124574 945213803 919370861 414867774 656152140 530329915 561748789 342014303 349027086 699536185 998354867 107336539 910749329 2021489 903148895 55720922 703094791 2665481 658881735 528408857 578058609 968777763 144339633 306943502 263060453 677818207 542306111 514515958 728449546 724370690 357298281 516172630 328956564 172096035 833006671 33610273 35276643 843744029 832067046 460141622 675393768 248761819 757528106 107500962 105729881 773326736 970497428 763452645 882951291 261934115 403062745 688883623 209158818 212600765 67436829 216787941 331366312 973947650 765784034 622634404 873147218 426067288 350671518 838332007 236534467 87917307 351536828 525546665 781153065 103176607 493588698 174143148 925540175 745433584 251858231 150069915 321608514 286287373 574175915 862403524 843682814 322779448 686654673 641041633 824527186 615052511 895874754 285017759 716960554 267076409 140514657 311036689 229717448 940533492 413292831 20141407 903084084 98393856 38423828 366371401 524690957 236547101 670872958 604363534 290401677 579241939 491944760 531890897 594773771 322931147 799803606 549163888 970007266 844206442 222483012 872421228 145173921 572133552 327701857 865795841 520305720 36803011 165427238 761181534 803357557 576928805 413250912 194098516 341340912 95186473 614189792 292493480 399883488 431852965 976600306 72046517 415507185 669971465 897915741 54475888 646138879 326282547 979272706 216512569 519748563 294756493 619237285 366840223 29790216 687890189 793356536 716643678 924922061 874745914 105817270 382799494 604974100 495647536 795322619 656398733 240519584 219625548 690768676 176558055 583383951 175473791 598040621 929386136 570874592 661793549 48068158 586680695 164140132 799251422 405576971 395569960 561307191 729420759 122587602 605706150 921396475 223311476 192943630 587136982 429651929 511089023 380527961 362623684 206375477 711499136 131037218 65663355 944070966 400260267 869659655 466121363 260415818 563441678 749685850 66034282 671935409 861172083 167444152 168131915 467176936 398610652 566354275 646977547 486209227 703945482 918156621 491301927 701810382 741448023 944127179 446813782 3581405 883476457 992983806 386575319 166360750 39822720 70556302 693616315 340680409 402288284 628735377 108003916 562781749 328037099 467209357 310727161 979979632 867547652 612007775 261441931 54818181 618641025 406640147 198835719 997881081 25710421 13927178 479391483 134203937 818653581 314780984 683504761 769495405 198904207 470862679 621913372 143350313 702486929 30610848 637523868 547108503 581406113 269277116 635525312 890807538 761273479 340698910 827831292 95616922 26884999 980858318 280800887 482781171 677358345 747991231 473523833 416224260 497397352 54822197 541189445 712579373 864060062 392625045 149528224 593542963 357312374 286248658 759650964 218910279 366498092 318047648 991131060 903948486 991318119 992153758 712924210 843748098 444884471 424752931 830202753 718373199 180445666 31100908 799138678 817788028 455488065 287515680 906336980 462804267 211548889 580860072 879303871 418290035 77658728 585362610 908501235 767355222 454889582 771337624 151119875 328476036 761671577 44974741 479194839 399651626 250465701 284047245 256372502 299925355 744289120 137899356 695537179 634285940 68639056 169692669 872434233 618736961 150521622 608019814 258303892 346772053 14929117 887767035 543586992 846387193 913681331 296553863 998297597 75688454 497475085 307040551 110326198 332348822 509281246 16513600 311877193 237182019 332212805 46408080 260875339 75910365 974888140 426716093 514264152 3836952 129751767 531783700 225053515 751831605 829884003 875389836 591509031 808942945 579195816 753941000 24812412 212703568 147048796 375922792 342215527 493354372 358519155 147062206 252798256 458893059 108972076 848816575 93690008 459782034 897847590 598765348 181406059 474597180 507738589 981097020 670994580 300852558 289064387 328912058 387146659 194477675 306002053 939976506 784406020 325972770 28933246 298127713 617307052 161198607 170558281 477473467 927987764 248544095 858167767 385324709 194945270 358250281 525858460 670967919 935971663 478569089 276593570 727936226 747598826 323042605 442186306 346154817 232595183 481640009 255844661 589673384 819116277 496481208 751175481 148690176 695613604 326214897 130525776 712543701 5983228 819480000 800531715 468414068 89151170 516023190 260617667 939173761 225435456 653813039 989264915 720215433 626275471 271451828 489875420 437384034 496431224 548661747 364792130 634316463 418642606 876151369 111524051 763609393 323069277 622609975 732364789 715274259 411918666 555498231 627256351 992376386 211008755 594724818 337013422 264234821 144898061 217852832 690178378 358783295 619982149 456164439 347487637 408629929 338078957 56639704 513016753 961915749 507453889 781119979 911968982 347927997 323899673 964971046 868490285 725444910 890347167 668505050 497371132 341590505 117690560 944049369 130565405 799804791 801517786 133842063 621425614 232797419 87622945 587976621 384845492 568872579 953121727 921030321 670059170 56990177 990450940 121387963 887024000 475239307 540904191 149697961 538165879 423431791 212872085 164734319 665325864 41181520 476373061 434434327 839316452 264330998 56510571 118038800 348316550 501165551 504414506 221423199 122013503 210829877 688458894 769758545 573608623 519281450 887778989 184642178 474899964 294995495 316776169 970397808 339186604 253027290 693206608 323780788 857611149 742750201 368785518 762001087 483005441 757098530 108566035 279385119 632841575 869025797 782657371 17790582 244762453 246260602 474610357 26890416 724612096 814502744 475284856 808910486 591143671 243657337 209217800 546159516 853622799 667822686 117695707 51464113 505426087 10436123 312583557 2214315 113161511 128435996 918632278 214959186 448493815 503872445 692280792 657944881 289493899 786509472 515034911 728167705 569586594 446922201 477618474 952875286 389938636 415543245 274900904 896456843 972996253 547050094 844255556 753060184 33765755 573393795 419526565 307157040 538254737 513940858 965111476 883919186 64289254 940590256 519895160 700880484 231838246 899058331 370672359 455513548 127719379 436148866 245128964 677543347 496368199 756853610 921757295 462501359 771589454 261510611 802478850 415784097 538178051 309976757 709109938 571664458 160119717 876410544 574404254 893120818 744302170 307326616 77845095 190677304 537083501 776450517 42375998 447778817 228966646 195369024 396202189 648912582 910110539 120834036 940255404 102561249 503017 12939875 440217322 222357598 955018833 514331193 628319129 174278603 801975352 73752699 631200460 528830180 459061713 969745045 572538705 12348985 244897094 942938760 967785097 709808715 681008704 540384138 891713655 103224579 976363606 984798061 234877600 158070316 794069264 190072942 280264263 105631074 260670021 22081075 172026755 108011286 872151184 627511043 50605110 213733118 643600930 665133112 517467216 116360548 643793274 592811670 815956380 54500021 934183067 78418968 540115121 979600613 79092893 726338873 981146611 190117208 65263989 993818600 853057038 743536102 130179168 467137083 969193643 615838571 681222556 816058312 333047809 977592963 928941823 739738402 193692912 228746263 231464637 15954227 349922638 461394836 444352006 371337984 234797013 987531507 675707159 472889054 773977381 210535943 271926122 801418314 503104600 310193613 860713354 849355193 754816095 482906945 228662760 504668955 209874718 348676066 464074417 772116224 472923990 659365610 563395043 533529431 119020077 135541280 262530557 727603807 538455530 378612849 387305439 215846693 967117066 414419811 18404755 167247080 171742909 93959329 228746248 81067197 690609613 478054092 513212102 72318153 192957540 21634755 591349443 359935539 349058320 311391295 493374918 495303028 395065386 492584644 615614583 977665436 570907193 805030823 747031128 245140580 395465297 933517150 927277190 904748230 992480438 708399222 582959035 254544021 764021864 406853554 935764823 757740090 734956232 698396398 595285587 408791951 842017374 644684844 647192812 261114970 744381638 128720870 80135943 277597100 380566787 479143569 553353452 369972777 469739222 753742430 824207406 410736098 204913362 542091022 632854792 312304011 902313354 95591146 246147733 769653207 298986334 240636738 518857910 499763915 187871523 637755471 508712291 722222799 257569018 445326996 498434433 299681429 472665581 958613293 569981527 691784275 739314201 266318183 443869778 824734368 899845041 576394304 763322331 450723490 123955200 104572687 243252544 238544071 774724913 113198652 284382745 748644366 311007016 802762500 430177419 467879510 247644242 58298261 182467962 623594857 582518039 957687057 441659258 427628536 129188052 151865432 923128025 476175013 422999497 465491759 317627044 20979565 769278418 772011383 266338059 705918650 149452631 629840293 990838735 866448120 931563103 881346239 229938483 738348209 75438607 335198622 395970048 668318768 946282973 342415669 832709579 794738786 274200703 611912159 787538057 433703838 608450266 793130283 296883844 845140443 773789169 488595362 304455907 366757623 882891415 217351592 962309954 598998703 153668514 481405315 847906038 678938687 53370023 11287375 960974035 435653852 455177505 40320536 628972432 327548200 357443844 92627881 423172600 585768555 583663341 988321969 117417544 917356358 829733370 527482470 126201000 369565897 698516638 2371938 346524560 692145094 395551497 345774580 506260337 419835164 16881499 668066321 157009889 198109951 211299115 602510570 539186607 482903515 320295139 404313981 276984872 899552780 894037490 785007689 106355629 169800987 897315098 978853206 267854671 2065822 200382515 261115193 517095904 147178541 69345209 366546562 778357240 158902139 813988302 301907707 333362431 429984428 757257437 508294302 595952242 289747968 393779879 72990995 350737844 580420766 964167057 680091571 807080393 704318012 891146134 30793573 113669153 521769683 717542474 322713821 110133744 785096751 71501179 282827276 484994899 134818632 391638170 722996456 399801766 43283974 571419675 241926681 273904576 306215402 832338079 349253980 25595410 8519004 46535805 591505972 240223042 13960748 246904549 322727530 903196032 976918329 522382613 169860846 764239471 685435910 969376150 490205998 994832214 993142533 396892695 473192251 231857620 217594324 501464851 444814581 777328361 139232257 706434641 567157441 785428022 328837953 705906167 946944523 693405238 172823551 239232206 691375494 179537843 808554961 975847469 29008114 966895468 343312206 712523118 357039550 325393411 229515795 80426681 914052008 184529340 814948462 959488712 404217733 760111913 635231398 112054506 297775642 988252633 547492872 447889215 184474212 98312137 514971126 705702660 428618641 284561840 229651857 239129770 679610908 661999745 564888989 606821489 294331414 506649415 861970150 672031081 578541814 331038387 364466142 401750119 169450724 842668377 536288333 933501272 165316935 487404165 983091307 915093152 531417605 501047607 980037244 677103095 343464171 684238257 494195032 648783240 559811982 321324267 964589484 972663670 136309865 409576998 428019810 909646429 90591728 575701604 981762052 645085399 876770185 915954282 430101122 909482258 718161194 726774882 583083411 15291407 656898431 489890140 915024933 649838296 218061889 86854745 670552069 609767200 969862641 85980865 425760607 466484449 273403129 742727389 140855275 297007545 671325370 260441573 226581765 199134630 406235919 192501838 430837594 621130086 670495212 856233521 389862444 320978072 416925 284021460 358651756 773371082 644547931 740451817 167210294 291366223 658754997 85839974 860470064 212040742 213273114 77155154 533167448 398343405 99101616 484988665 563661182 37763393 611400885 215678172 194707534 366774284 80077417 553815532 193359350 361313532 523776543 587822217 60058075 358311254 186870085 828424211 208423984 460746752 855451924 575757051 819664925 394617526 524984947 692986433 416371401 250098856 220919953 358277335 880043002 642639502 262066180 385387554 936560810 730564795 114585526 916116321 327441553 851308178 841616328 667698405 183615687 607285843 644018810 163929195 713760832 873421168 806090946 560322947 680296141 215692076 624313796 137639729 159548690 440448041 297075822 365670042 387108302 746436757 205847088 894810001 69580859 991352572 487940001 399512888 705957199 155859670 424743803 303477876 176420578 577908246 743381942 191506449 973136311 52660961 866922970 659641720 464395036 409101528 608305804 733875584 235321115 561033564 731699879 673913736 748392829 341978735 357816803 625162209 531043712 368100111 638143026 613540965 8250291 372207066 484928426 252444808 394180018 82340553 316563194 619118574 744032905 482163888 906400174 436008443 350784613 69791691 893536722 432207538 58407085 686468704 99675952 200089141 121671399 845857678 110755832 777650874 502292309 140808179 920522021 760347337 202491223 817953096 745457229 204934856 291008296 720155603 926411676 435510295 638620044 78821217 561045742 555612546 765580979 528890004 617891541 946942256 737404802 601501281 524131274 902210207 805224934 486680574 125475727 768304769 33864482 456876296 22672647 32378597 484586651 213937616 461552519 332741169 837593774 19905563 206442198 622612270 28077408 299385330 305875546 511722289 536595720 770146073 207480904 676345728 484705182 264351378 707817417 220553030 372310270 913385357 745279654 544962051 246430282