1000 452773897 489658400 791565174 873685909 837939163 961670907 54444659 861374731 950944177 976324013 358582261 424327198 537248510 830994379 77250404 925673413 595349926 709253376 614388423 980618792 631741087 943998638 59419497 354740445 216834368 938630115 764898219 854260068 931888734 962643336 239144783 421613614 92322456 287308244 228186211 384084298 927805526 998119737 778777925 903050200 866166581 995516139 330848202 746017953 822806455 935001011 495797980 741236777 292565780 450659760 765546663 991484716 860224085 970420233 362100692 942205434 929409869 972667039 641666337 983033570 851997693 957299362 973331971 989373586 976050922 999970647 932466117 977118291 865922644 885866967 222144277 254309863 942404381 992278252 274062011 521836237 57031109 344936493 941812741 970925093 916272827 958045967 21852701 300469943 61377031 199652011 686061 828860327 602733384 761709742 944828865 976047111 163092937 707791320 674362482 863580929 565286752 854423502 807829832 829674530 343302086 943864843 356242121 644104045 70240296 927311625 199300563 331249085 518153026 937193681 420234014 853109266 257217426 521241372 812722262 965557925 477342404 947715174 561341049 706254364 241827087 915513112 647675412 745533895 987689308 997947092 756858480 841263982 406467762 754546291 700547388 931579365 730316641 977713628 986347940 986417902 422958820 436173013 915463414 919970747 528931295 928235046 795997685 978529281 940394823 981481134 944194563 988077413 753903541 917038029 655894204 812517193 784470003 984574030 3449996 175379211 563735028 593234503 92963669 406169047 508009985 787272416 35491418 719679712 379762454 935163302 566639031 645413312 826776245 894153280 113720038 459981012 931239728 987544963 980140271 985759255 915270911 970172415 433685192 755725562 986455039 991700156 690585126 771125159 211749225 640963841 243717741 478068042 850295708 939714691 453972376 642120911 362952189 656001698 474145287 845667212 434895908 943600089 533770578 593150841 683229275 888801608 77730014 619247478 651340375 869011293 371815250 410647101 46989409 637378886 769671147 943377339 646180205 805086405 444614612 582565904 489461233 861693357 477942320 693301040 407487857 477854684 404191084 679821797 621224873 637543724 509276729 717025336 281165761 822192770 425222131 697037802 915909736 949556016 68164213 846263076 817927290 918351666 316898955 357119553 590303685 602823296 588045125 906175471 21201193 972461769 115382369 808176223 263617491 991396482 238000434 587800951 148533614 383777017 922499515 950520295 730873138 824331118 301420215 679228412 803478605 888288766 789355371 928434110 858846649 966583075 15472121 420301316 248681638 509566030 967027207 990458100 755105874 777814287 127986014 571672803 819936585 833729251 900060231 962235996 239754917 806762052 210078303 821425935 298000457 951155083 858238898 910013343 55991369 532363043 227282947 616126913 733362338 854731527 245844640 631139579 904269097 924330409 164757199 633591301 618722216 735104328 25733155 472939762 772549284 976782098 54595412 177401378 415752471 958386508 58293251 913689169 444287967 653684435 464912044 850611883 692555588 975301205 62154447 470100479 662221681 834830202 60157398 221693140 817430757 943601854 497417986 993068272 981472772 987506626 25005300 304782845 947869852 948149783 618503327 770968159 781446566 812059648 628251645 870333600 76295636 953919942 807935065 983145516 750766135 751233040 825451055 980068218 220937859 607603851 192682941 607351643 146695752 370452130 332479307 647604955 711710190 923851526 379627710 708591895 489099225 938818123 423285715 663266094 555892567 841694454 519994811 580644604 386511526 621831164 677213326 916763223 210839268 664149606 897915937 910596021 638455925 858709517 958189968 983709146 461285088 758023491 186071365 332411008 610554562 658495899 858490914 929850242 845910374 943222103 16837727 142696977 258495733 422723557 38564536 350533025 202632216 734755442 106793262 433859490 809498184 992786902 337554480 514359320 959776974 987528898 117192097 477465060 656391548 936905194 483060203 919425482 247093389 722161257 494566044 652971930 638522993 937619275 582577642 762218111 338679326 865520107 510532931 972092274 471480275 617605310 917347373 965761644 762424405 860016136 347600601 529767587 289132668 777914299 52674605 139752292 987846975 992537281 352616346 410921476 975939602 987443609 366267948 747964546 710465104 759904648 374090686 765593528 520785027 945246027 635854569 764712041 848163521 905587357 50954191 54742099 290968174 935836190 699886087 945891400 146433357 934779548 467694786 826970169 354540090 710553885 605207685 672667383 38588558 776310972 517469082 955377055 872992315 923400576 175533990 517247700 733366359 790713715 53055401 396829382 132699649 262293813 739263445 907083421 13199543 137459267 712674969 908232701 200021899 488131100 689193194 822145844 379635098 930975534 718253261 852333710 502503839 520911766 357061575 875875744 225455125 649311211 468708558 596650801 3558849 968549639 726350509 858123241 90059345 857690683 26012953 661288172 394950509 656060490 318535439 852949967 432594471 574386943 825395884 831259662 649510886 921486174 634686552 853027507 869144211 892813561 881894883 984545726 124701888 687282444 402090278 851464866 399594289 645139458 715649968 945777783 45565279 66450197 195772525 451561911 267067726 857575721 654413515 660624698 826305298 965480923 757700847 943758319 744911546 912097675 765143863 793627884 969271841 994854330 286383897 489897599 614253813 914402677 101482130 214562019 34495972 875424100 769629892 831026275 26988380 232613423 876393603 908698051 280216456 296247974 842289043 888330813 659720440 835361345 631180073 827207627 324293112 532743411 78598093 468874331 954919551 991639177 451332561 635496930 540762408 857829538 247638111 316007325 557440968 559162971 771172978 893201362 559900094 885172944 179759793 863265591 187477465 527540309 672024119 910081601 793014754 877319352 225519073 798236222 204332373 634934250 315604527 481447329 574457975 764305799 113039783 843786905 114914535 649548870 348709929 405072681 689488976 973444407 209423215 887386578 99542974 749660306 542082711 717033679 661455778 819671018 488396280 592133554 488193308 693388610 642415502 756966744 68391796 739451317 411974517 779033093 269259251 660716215 407405565 419817874 47735791 639470295 41398082 417471336 531828138 674593548 803815331 806047412 405170257 746905133 633633222 770552152 213142870 621798156 331543304 382836229 627018858 729913758 559364567 565473851 330909233 468481400 945330166 962202091 298352680 709369559 802522664 858498703 870977396 962092945 153127963 650277351 968819206 985780422 391898608 479973758 651924324 918986695 955380720 999163127 838737537 966996723 972257514 992064373 540221291 647835226 304333693 446718326 485537034 694733970 537033506 879970577 710804230 883460481 620461217 763053135 209552511 507746686 920756894 982698525 954045565 976279665 450887735 998735221 486484232 677010168 548407046 579273039 958425046 980744855 23671794 692466017 480836394 965509151 966969131 976639191 891529542 923640436 359955349 444037149 798925602 891679298 441980121 543876635 312215423 935183154 861953363 888741646 93839412 98320483 196309909 281043847 710158477 871127906 823427149 828174315 231545672 280452432 218100193 491739307 114374191 641912666 502399489 737914403 432247119 460830049 735675637 835427055 110280660 182785347 1882715 683648448 222733726 328886479 503762130 677144677 991396358 999875855 192899294 443210473 500639505 718336464 793553568 881484314 175028347 843796244 776237544 953191231 979835179 995122356 144984589 677680999 553905504 574788397 21695857 372649410 570225372 866778985 215070320 894767539 858191928 958820537 40177172 225317300 118343071 205976441 612736159 902092820 629367979 975381616 545703694 993779745 924733704 969719639 481457290 494458255 602591654 671887224 152842570 508822888 837794237 863257873 978476138 997936732 402266705 617544902 531852113 759184306 628092484 686003444 90485217 948877081 311630220 790984362 367598558 368223874 6844271 995379897 462515481 976868983 1354819 653623669 750541302 828573626 410478415 748965837 797609617 841128772 307347260 988761291 891458672 981156676 114985982 663296196 434757143 827093914 699359929 943249481 789732637 965622248 477856338 796758504 154069424 599963544 206154312 968005065 769112926 870830166 14226869 506198820 530712305 749414624 32510521 936626580 353632800 638481398 79447903 917878772 793392696 810682925 169976242 785602001 103749299 117912765 158761505 699695782 929442559 939305160 102265197 175919648 304466938 382950885 862816893 944147430 390095451 390495404 105558537 436088780 525184093 682207269 632690359 718944901 992441466 999972717 417868787 755959673 326101594 687814580 330719525 987176821 471094060 806672356 842173871 846793670 28197334 843454241 780373199 932367744 336128879 913246152 327578441 330686993 622644290 850611201 775835306 926395962 625143224 886073134 939250618 966121192 572493551 868282498 492875686 494371187 150571407 767199307 903691385 904433156 840634497 924396060 490801325 687430607 130075948 272363509 555224245 681167821 830884326 938283228 140464778 564240189 631842775 720822293 193649885 344176360 956782689 966713813 428136442 633146689 172462205 353364055 847706849 902933168 891520122 945770502 338862656 775651967 60301494 922125122 869554106 918360753 238472405 769558788 45628706 90491924 564695983 949423064 67451470 771966551 647754151 843820672 25537197 36952211 498604486 616211668 862532808 934544190 292485920 773073153 5606719 71437113 798625911 837612361 875007762 997095806 615881780 752105292 113321449 362915676 957811521 972518298 894737356 996855533 538432936 808286374 90409964 388290887 606774265 755407888 537287179 579464331 577296917 961387877 610747532 955001971 366424482 483436028 53400583 760424487 383880436 472382254 908469786 971575027 704734642 771867629 935487297 983727587 521719222 647891287 729921965 774374975 518257904 987304753 218250057 817553320 54608529 58591667 998172795 999214312 389381652 778047057 240184930 554435488 871965272 880706110 134327557 717898176 27924025 757523922 986015568 999394035 806951744 878770165 552524351 802468630 216970923 719185835 415987254 868476369 35262221 512304113 40029433 209651066 82457811 710388060 836275691 955058649 412097537 764221789 806828147 908974297 160252717 660850018 306550668 825935576 912106144 973079112 133199698 717412170 806057202 883079066 835739033 906351102 816344401 877375473 392270250 923271354 81608693 359312950 764000341 776952501 94225123 568437752 444253003 563551895 199916037 622701031 697876639 741827518 689626681 863397377 694644210 937453765 768803936 954151214 412444066 516031143 485498759 771435581 648640302 964981420 333450293 614352810 403783330 586738521 918111142 992926338 66335433 972772730 238735638 444701708 831935602 877791568 429622946 537504728 778233753 990273728 852684198 891792074 328371179 866668652 960359413 983467248 63080836 446307196 783035645 888470160 302909837 626913672 979720593 980465880 627850616 814760373 521031547 861252203 32177360 148507147 802500603 819535495 78586891 302613051 60037119 829630127 777549867 982594140 226438444 923394421 643648813 947717787 580405193 857753045 322052844 329496691 733177192 928847714 590147793 834292705 374935933 758322002 165448377 783386841 550597231 606378939 54220839 267938408 592210778 748563470 661133227 924172149 935980973 999159326 750247722 922914226 992002839 998956462 737447582 916268485 796884401 974708648 9022243 80600578 753576495 790071455 855297138 957035456 810236376 892069005 972820727 983539475 181431114 921942439 487400476 679252813 70661471 546708939 984212896 997440566 300776314 678294691 557928312 770735451 930806435 983506645 532341819 946517972 331870677 881429243 73994893 154403737 252470700 487627959 192766786 680134669 184520910 620492681 189756778 976151348 231331146 901544524 937012378 965425180 984352971 992545401 803282455 974523114 245495704 713403783 729455959 959732872 455699123 674661704 287795922 942901965 355885417 481277743 974163993 991384067 508583085 636472928 346290732 393950385 37658051 116798863 661084569 922898951 351332190 901777719 980622732 992275336 681296327 802575337 995343479 995935787 220781583 301196697 756796045 856287765 944539765 984567994 861739987 997841146 230941088 824230842 472330953 982960141 655910658 755576022 8602470 441001803 661419383 990214781 583658716 944977562 383557887 930279378 289272873 919063375 77614872 993536702 119093560 484466530 788393894 849126277 395663013 522237638 62259377 888908507 616305893 916103319 334505241 671359220 621831827 677079189 286350702 948570088 200777497 696410980 210190040 882802707 656318979 997048810 647811099 674992694 602966885 827188439 413707764 690997931 176907968 698835986 64222895 437649124 832770316 950569081 810246945 868573637 622607805 679350256 964236245 974959306 653189179 682921061 494838962 920768351 623428160 850382017 339459605 846645507 528569847 709253819 69504528 580117558 790893974 834510299 793517248 915756030 177061405 221360196 96371766 792709017 31792452 992319973 617472741 958769635 415880155 674446687 598485025 840954260 11439911 23728987 666198054 787804744 177608406 974615333 5015586 567530126 379460961 562418810 925228013 939114811 578173770 621809592 601323286 844005893 609526356 912611304 409248549 717672765 849447467 871134291 778240961 998310302 743411735 958125270 875045271 934137610 621950819 646494701 786762587 921497744 441442355 445454400 445746145 510273270 460174307 984093372 182577584 784639470 318111549 581916101 511016885 710564452 497150114 639784789 321308143 635132525 311848276 533383093 308972788 851052154 545137953 781337490 13207520 944828097 916286631 998184851 668190888 839021862 1793011 545053578 868433876 950265749 245459641 324995764 426468009 915162303 328854745 671385734 410548184 887778882 561311057 911115519 267568023 428237749 758541392 876034878 937155472 945745863 837524307 927467513 910742635 994119413 7855984 653801748 168782559 824351422 949890116 974875592 233013110 755347656 396408642 815634251 893873874 986900082 971433952 982582885 242812491 577228515 927101145 933953884 310499736 758244776 164093140 504564401 710146143 969578856 74796738 163763460 53812039 995289935 522624579 915388215 670313824 736770254 917402120 994230679 769955309 794376622 297758226 758278118 516412617 996770300 220558260 586936673 823335741 978116994 177095557 931540875 261908778 432680506 56022986 911608584 796193468 865213371 314306566 870356764 480788399 933197567 78797478 181203035 149068384 697070969 459678293 878951942 971737279 975842572 437280761 950167372 206274831 995350267 505541548 733762540 888949533 994833038 316665677 552322391 475524589 935296832 973286007 999887071 494090697 684378810 363876642 407399645 981396255 989305857 973496619 981055541 543265903 818298954 127514237 952514739 571114997 864881281 578354167 780370812 301055416 444002608 646365248 812519670 294364599 403697218 366122177 383966922 586557383 619810790 167088198 341071242 553699704 678493326 667407146 807154584 244771660 695703715 371420359 911721229 224510923 345444887 919525104 979523151 795825256 908284386 543174402 875520881 491399772 798335303 21523038 751675853 86208548 331332486 847425493 955053265 34215256 454928971 356301771 851342336 40253878 104569390 12500786 270426565 902757650 932731327 998582398 998751519 282900148 630497013 112791509 269943384 62797699 746253494 37234096 726043808 376584464 640430155 879623775 928830051 479280421 799547274 728963343 803252791 779662013 881831259 154699811 879761241 807588801 888385725 951791523 961945462 413032782 704957687 986458541 997603072 671963515 744835524 885631748 886388858 697733502 781831349 109629855 266624984 421442313 617035387 213473579 929813351 164641147 236406296 281020475 408161769 414546099 518723321 896064780 969145218 264811949 836828821 242587108 429937514 634123132 799466555 6753172 377556164 594853858 681308536 220887502 643390927 370701252 476366244 84316353 867417171 57752440 139958391 182353072 666448860 21256599 950554682 214804333 552568323 954782620 971418568 443712221 561810971 391976608 714973889 955191462 960022787 852465791 952195979 578048728 936210308 483469777 771497504 523830334 885716419 821262257 864908080 109786245 226665907 732251636 773952644 482185513 547027655 682341490 728569467 252035177 778512266 565958166 955552044 178243846 426125448 235213156 693222402 595193361 976978127 730230599 821288401 829808661 891869619 783557269 822312416 619840295 922837288 475050692 828840849 361500538 569986275 135761506 591273329 957012323 999690359 361501934 690895847 798279162 993628938 38973733 998522328 305984172 589802220 666871464 963502011 795871724 905020337 864906514 958338940 282794695 295964336 397009369 848421834 880999882 923214067 74040540 544581831 194664448 357143544 233731910 237388177 398310127 427006361 634849195 751025970 1102196 137225317 458013962 949802550 413929669 423340452 289342347 459852637 677481252 987656063 203414047 354612890 997232707 999493968 655452659 963493222 943833845 959661221 468942 910941042 772646841 987317890 100275921 872155618 175290841 250163736 416204679 939032000 335410733 338026891 206518611 292432102 983635623 986270405 185615313 622018288 364031213 639941660 187050857 218324479 242347276 847414257 699168572 912862235 2915366 919997962 811172918 971334808 185475943 963625942 232870352 575957431 420324920 440180420 415363886 749840064 818942898 937569904 230886289 808953203 177108311 774277455 836105073 864200326 411394106 662582508 88310919 717621007 829682386 975608213 169552079 762977279 110176235 877514737 131149334 321494084 767702950 820351480 520004372 840975643 330459813 585860494 176838424 294112524 933436038 936403400 288726522 447841881 483178325 827212580 960224016 992724120 838447125 971286660 345959718 877208940 725123754 746941558 549686567 828759486 612024401 694206049 522137127 779778853 639954428 987793265 76071878 563095438 276363253 999872354 618550853 898877951 988037212 990627338 630308946 874893079 118982273 291315856 817180649 986136295 288413419 570372696 500588462 629314530 540522248 781950475 599874613 929449447 443836329 973062790 448549230 739486797 966774658 991951737 916768415 940079112 260244294 640575165 327915353 493939663 909248448 998914056 887556135 992891630 654871379 900358052 771582666 839677224 196818743 313329481 383258562 691256131 683630459 686864158 869477409 925644154 291362259 360150122 480646472 845860749 770764035 936705442 64913254 837668937 555170621 800494500 676652268 972048616 532498175 912668671 959446737 995037863 173128187 358699707 770858345 896224169 591173863 902228821 106125419 348285878 132992946 945718208 625824795 835145744 571332826 761046900 635883090 838236225 750642144 936654299 209658570 410855942 934606485 967114474 864184663 929963625 710170490 784903605 875770998 899489384 807114387 865138446 650178385 698096872 168602664 371406316 99097766 108855689 563056811 833036506 125104184 331455316 489994549 609580623 483591909 966818311 724932177 774832260 474651611 858921409 816006203 938341360 258588610 481294249 906315905 962712363 880816418 984747584 538812224 777298192 445094190 922281950 359931766 869666749 1248567 159303507 103993086 124887358 669847851 685610090 145920944 839653317 720098173 870066232 918175421 923495807 365129296 414410109 582567071 727496209 306450129 833938212 72049462 266101902 540562901 702775625 59408354 979889105 160142199 515399395 411936419 734883612 651842098 951308936 210771427 430009955 616282729 773573991 8488792 886425117 165425064 311330054 592034575 657377356 287591110 348751736 371284599 990237023 463653987 912422346 627015517 780788658 373940784 783638691