1000 589284012 636562060 767928734 906523441 647212241 921212095 585063857 909729626 454895875 669546421 693523526 412726717 469855690 319475350 957533970 60895095 292762468 411717199 512889009 850108282 872059530 567896598 515371564 609933207 421749461 993851818 897732743 76274388 362276371 93554371 695969254 21709341 395396341 894018749 835539456 150700500 934168428 934249073 508532761 858089975 859971373 495509693 558858440 838086821 728941349 126996196 773773418 687109961 624938993 153924419 577000111 814557321 560330376 113717427 445239870 508524582 284064425 200072832 831327091 791259869 489787694 232519176 610351305 145189409 20175393 348043754 663181070 160712162 657232778 238715771 662427838 414989381 969157730 732098971 483130123 386018671 658271880 469259487 968889409 749075793 106601466 64666603 715935305 701303770 720091934 183512771 225896556 384562965 138433559 806043105 338688612 652653209 390531470 349016804 612244127 41258987 470944790 681046579 109569778 700928268 224279712 681889278 173204769 701269722 624757038 271969787 444924884 500697380 509702566 262449977 669488879 170692294 362932916 118514404 724509790 704728534 340592781 148372813 835742098 211078699 395915633 711382808 881534770 14572440 104261697 668775901 899736493 723336522 103184873 942953057 503210393 547205003 59823197 649447930 484428518 793778227 21461600 42077569 474283491 303661661 129060079 385950560 317978118 516355503 127482913 739444319 341431833 945403792 444811497 985947832 68877855 232810993 743536277 606866924 608383673 928896806 284959797 546501261 561833319 984323780 100867851 989085455 618417841 89241354 997824195 298198038 342060811 10046683 716626435 904457921 141516877 694897941 769150473 903431470 310747425 284251850 196700229 427156780 629763467 593587549 21590319 177103472 890067579 397078420 5041736 157240647 727799968 611623105 289918849 755632152 789408569 309749211 465239517 267096651 811863379 618644229 425307288 635700179 962113895 614450801 686036287 239532078 957299281 730204112 480097220 482322393 908824386 751060156 124770851 319370496 823585430 873808756 442188511 425744796 725247187 946077359 268216709 624136999 336315624 946756134 743600135 631859573 778735856 708313567 538292958 572525854 247532949 691479209 423987675 455110889 664440634 651109759 509885119 20608543 504800594 323813494 768879176 708855940 309227986 311468463 411739431 663589012 804414987 460386885 943230859 145464174 110448692 320278211 99185706 611995164 380154712 634444799 592508193 616677048 36104670 701369036 700190560 344668167 463232017 237578997 962659580 151680961 394666555 104432052 468006394 957695414 279538944 865644208 576623538 755794614 480957067 107617801 106911491 987286939 378291766 766910755 503852462 903167338 160468896 971358120 932143260 40329083 174475457 545799559 660952053 179151159 132950694 836499662 910541901 928715052 866852134 441733870 611067272 150294417 437209737 35672266 74267491 748858443 400817894 486987745 451052492 775301303 54318573 930270940 392448449 17854147 918911843 247757703 12577900 821317682 386523498 783821398 805305561 184285964 364432073 559458793 525649175 58344969 363982498 214744635 192726208 19887626 183595457 852226419 497626697 240437298 939065568 370818542 996519701 653106544 756359203 640653872 34186785 841431605 176839005 536899145 667307359 54084439 619794475 750650846 255435466 286970961 659240922 729168000 575131337 928015133 633411016 806212872 783962557 334948389 595113285 427586616 228052566 225318016 238846593 199923218 234880346 611574924 794086622 485448384 526626129 244184599 730729302 273113194 91585418 62308339 60578726 466451304 523811749 334788274 945971442 747693125 405607947 663205141 192847981 582503627 26498584 917634348 72208742 798686259 729492439 513888893 487153273 727010807 576147539 651809672 962793467 767399989 504118767 232891361 489641974 711974800 973259013 282740251 147339306 22173848 246122375 814302878 946595120 343615793 971118925 411741219 693405935 631700695 348625688 892331487 558035644 675364118 59433 937001509 334857363 293713522 456825110 856896260 950624079 199325077 730015007 489765614 738184913 519056051 231399608 846902506 246361289 784750443 945212356 272667766 336824648 229041990 556413778 506539398 27555129 764057311 222769301 165028002 456002547 784306320 401761956 693921154 497760321 230726435 298101556 200207988 630054894 867132707 927557890 802170474 126198872 724611820 555531591 297312403 141807054 187806972 769722221 756423479 425265869 497303737 607116507 902403269 196795230 219972937 155529101 177123240 524046446 134038479 381836267 775328206 32698624 821761733 802078956 803871446 99424369 970361682 233485691 89574158 804505805 592912152 785650191 627576405 48978343 224580649 313691023 308072685 258587931 727205939 107689804 67686852 17641183 596623826 998074506 9921450 719317411 894467844 843051519 302505397 755371775 629653126 195025023 68671444 550178295 521438659 623250361 845616949 941140338 651198070 363095415 234508273 488733797 248787727 943679197 528568998 768327938 858137242 522009852 676938317 760797782 938759560 534873998 314628135 906828742 911546201 208673370 663440047 830352486 14212967 372839145 925898077 159065038 837976734 513646206 809139202 534069915 4346621 686628387 289351342 395764705 440762581 146995551 459801834 882742197 319805222 203847646 430712573 549024577 129554464 240858571 105059718 436068554 925771090 611185397 368943596 847045692 973406555 441707768 831126999 385764747 357711888 428958696 87081958 324088434 437271875 832385904 249359511 994513564 142257513 349299285 57366996 779101021 14976979 12270137 572804409 827404779 327042465 157782756 947963706 85386191 269104097 96210525 727365409 721605834 870186247 263461039 464015434 451550809 807598290 598470178 890778625 924009785 406984415 780657835 103669360 290262377 275027784 141178578 635585543 59457721 511613503 323839068 523915757 281447219 492326254 489777202 563277033 733667746 474610336 746922136 915509779 304426046 465401558 407943458 887845297 194509366 546901879 846694300 92746577 61040154 708712406 748395090 221829269 836117816 909754945 834735010 731603799 278552859 191520488 401378803 75010549 630930306 10402598 292940282 957831032 398200163 143307179 211585420 836651009 493766491 993386669 47902090 767917335 858774291 527012477 82631353 504119967 557094998 947801881 329434837 524426311 620132020 445138441 186951282 693175769 510338156 37970127 841435599 462141101 597461548 547626427 171655970 575716207 154435608 731639639 697355621 298066537 578986929 138362982 349701356 421632303 157854964 171659178 200930267 138955440 970645378 621613181 583907197 99063604 490604904 977689948 947084758 89090233 492422249 859399827 777569079 941812206 428450183 100351326 970710278 457742452 740908724 508116825 751213463 622981901 351887098 769061324 812584885 29065104 682965360 785331916 257719807 823520795 172377249 10486627 855118835 331019748 250037400 491922818 540551084 634564414 920972676 598945323 490939946 104656206 667522197 618208098 926663480 881291985 169256363 975863505 875662040 91269204 171169978 101423415 675274558 680331290 427815528 67337517 455301164 480368792 277759901 781357993 911647940 796971961 35760571 329623765 128603507 381574397 476611104 383011107 420664477 17532599 571068711 198891695 907695903 430849105 575820401 997819058 730434519 106960713 654099444 105739952 933606204 98813866 487653163 60092853 350792407 92913554 249907110 254662882 659776456 901420189 35513570 560891089 16756888 550909944 460415898 697751770 73093983 584750002 270519580 34859347 237469722 622933166 271861972 827950566 140719487 403970216 12923797 527233801 124000316 664088127 262692451 401926471 49026668 439218490 332932598 174970981 892837159 685865212 866534174 526461354 687220704 395246946 70119858 335816292 840991575 860965011 309665535 75642094 259221268 733980880 711358867 408804914 264208332 680678178 714960780 995228847 555455787 916911217 455362083 534377661 595591503 459383671 308219223 883216481 758678816 792664756 445449173 480117042 387132847 889763589 389941426 993175664 426848344 49399975 793154465 249781330 482199659 374219818 875063597 276202350 409911465 748550105 971680884 963221693 318424866 129987054 259357708 267812733 245096190 113715872 525606633 957265192 250633092 384514974 740633036 413645534 62659657 984328137 784592925 122209686 946739872 677665895 292526892 142609021 407009243 401842062 401897467 348327068 804005265 730268500 255343582 854198931 184525861 541094594 482423234 318087841 326920461 951294740 901072458 377818142 255273340 792840589 539436572 596314613 216377997 680749842 588967895 931244909 557962236 374502529 806127635 26435478 751163003 159804241 141575046 760120587 485139837 761360392 76095847 656859862 314385198 721454669 163589617 480516506 448272579 747407169 140970846 406224604 648666555 107408599 411037024 961413274 77775895 20723867 587213187 295089563 159427129 635902570 277779498 962889961 231422303 436726601 622676199 592789529 291684941 293141079 489029429 431336632 27377576 266731923 953529669 543169895 760862951 333268874 298257211 400543135 960852040 563682727 28478373 805945265 671772204 358100917 353843788 992307918 925907491 181007537 52280802 967959991 272346585 354265711 479034354 954807013 112343337 550240781 374173245 548283610 794673670 415352491 730696862 569178657 668280186 762924059 958703537 220035129 727046052 366895556 686150430 726109833 588798502 944071140 292791266 583769866 159202241 303546435 919448322 32464864 681887042 762718362 321739754 8465491 494157149 400161110 26336096 569659997 599217837 990109645 387783489 96094036 539780264 435877251 164956317 26106099 456885346 367875742 972994606 668115515 9139249 299646923 225217296 741841492 124235404 106747540 619699622 311144479 746540485 578825815 721508484 777547832 417543228 2902555 243829558 694922114 488402074 644666253 632154343 895305512 982248996 18115824 716491642 747842314 473161615 873680797 735611928 547401305 696427133 358592053 31245897 849158160 987339363 104413796 582458776 474632145 558294615 411353594 745130022 866154597 97587810 495002314 244554901 887795744 440557946 578873794 669257560 952693364 952366887 945007549 664459541 352512996 143303162 434247970 584810645 936072808 667537665 539792310 407330484 990363603 582107072 581303201 129836176 991392337 730893093 891095517 308291955 46145566 987609274 124659648 38691023 114277712 187660015 339826317 417830181 264714718 604283779 322153596 973190448 172300820 622885050 951662388 642029673 479312354 255597285 974823994 623722962 172046160 156626886 709869527 360381020 472729602 671655552 82127046 387949017 747821608 978172350 265642389 943274279 42536844 466171004 64364701 555781763 65582582 509670868 974670842 197957832 794444311 466820681 964287118 201382357 722179753 767948562 567944924 561573839 326896797 344204394 3328110 388897540 641349146 505355461 696942555 406137667 5572313 187538016 712820762 352174433 314761408 730518824 215139554 67868661 993965114 652029055 332056043 512869030 432952072 304942656 679745157 255994306 956331174 552453851 464507539 395059231 996667249 490184502 635741776 362363578 463625535 636492971 143279499 380647984 103942453 705469613 368714059 700411407 634610299 882313592 707785352 432467513 426551192 40335164 377842231 481189701 774604505 684599208 721598592 873009937 286363590 605659489 955408662 820942172 121854576 749738599 292304055 360238423 88108834 158576183 821703038 67254900 23288090 259739979 147372517 464158709 279847901 560489227 935317788 830092146 192640094 465229500 125971910 349092700 114894819 626425475 633179881 800365086 910694541 56380210 640176814 957563994 429283797 838518422 408381798 227132800 158708353 821406531 735442755 203004482 705192778 965035754 925632666 9589873 104429982 96886927 534483882 664842466 623931970 410641930 259369897 103683607 181489645 922967894 962696797 62851395 291105790 505325346 508083949 124375815 515131800 490763105 545880021 454951235 107329636 920330874 42574357 125966631 519375858 291254700 492051865 433569158 252611558 429295019 63211487 720892527 132976933 370138266 919933943 766401342 429139574 686321710 409522074 428596018 23594012 463598905 402387651 659844089 710395417 75207228 671473253 883052509 981390595 701605625 721333639 779904281 347981144 576516684 339538626 118623895 894766039 434903676 833012362 435266573 301885701 344717286 766573495 32158913 602989015 791620716 429131679 117880168 570006721 651018402 91518303 755074034 714766020 681596628 31820137 954864986 110915550 732419650 931113645 957041498 31342783 1296621 574362600 434053277 562838129 855041460 392023007 204619671 381420159 20533056 910898303 556359122 827505438 904924765 773660534 400737583 680123992 239298202 330042595 86470580 576898965 91601911 294822716 237722625 9330730 107389282 26784200 284584212 154926019 71027443 551645315 70442693 239077136 919419551 396736538 174075312 59170991 600954401 978390501 830491566 950209864 490066033 963443926 164678583 356687251 214314723 765499381 464913251 458427000 567187038 323939821 375208661 75603054 839107332 452952097 806403355 416954999 995586102 172221256 31087567 376032182 961741204 102671068 421517521 935339220 943145283 716822855 741724506 206929347 985793724 815273321 622427617 391426816 489517221 538012481 689719941 404144777 272757513 391821100 591716730 280144075 141630035 532544052 215302427 732012693 551961789 297791849 104682726 563048530 914670952 126036134 424711953 171632570 250265416 50257940 628602901 801909453 4145023 653896548 191748780 621708547 658060670 182643099 87369941 736975634 946929158 772686257 653472085 352594209 545069517 861884121 322555995 898039039 590021749 445903445 999458991 446255974 559163332 286911368 775439186 942099783 35327543 399344719 457355983 1485367 100818420 265949764 341700628 617629684 922105286 691144082 492314030 391338828 477371963 716953406 360887063 614012428 945620932 831810048 966477299 434120832 404522856 961369496 69881781 850274210 736025736 725515697 248109581 262948077 578605654 232419215 830039989 178292491 801638775 990802365 774629681 315762412 518500933 486506246 208330410 530383185 220725154 835555388 574954662 906490388 470099475 149328169 458385066 323007230 905008550 84793289 878356574 780479273 109965931 167915340 839762073 326630859 265262783 80916186 39257063 455978431 436929101 115553632 942477731 610118994 463849797 264738497 305035162 640415128 126192200 829213850 656041768 2874481 420688760 260037282 723527341 268863038 241019539 519039862 26578417 42941949 8019045 686878123 995790909 438411910 744267160 405237223 757146404 869049021 640019909 761321027 576852389 489173754 377888659 644452552 963729201 702315122 826745973 400548409 383781794 717510768 667508183 490576154 309849634 91339785 938879765 250368414 120717918 87372222 228099658 345763486 196530503 656407821 432745876 394735599 800187798 779780504 565762563 728060751 523638472 155360936 586232 180434281 456771631 69187040 68240352 283825141 223610232 374045212 94755827 231282063 646638654 921633020 767055106 862100196 168815945 170881974 367367355 650378259 780878648 124190987 712232193 781563958 917469468 684469912 595500852 871812394 27655788 514735248 61547546 982326765 85964946 52988028 555271924 314486703 810789086 767781882 34653181 448941346 490364571 185705098 885619797 115116661 717910058 877611192 586174558 508033404 632231753 947344877 962588065 787363213 617485103 439940163 452924941 401054393 754788653 553662461 383548548 954620850 791646845 936627690 5532953 168205402 745346314 734574408 987313565 36583205 762846058 950484076 190058505 907154628 519173640 547745773 150663184 137104639 385468245 667301585 256986151 991391521 677392649 303693758 744903789 364676062 114090343 644473658 512116751 628776106 158700475 272328531 275862152 215833149 937974504 684892400 528165263 816842183 965252125 385592133 199198321 761172954 571948537 630689439 350329348 869294273 339884991 219120705 479830481 855124517 465013374 286053311 383698292 320258984 982442378 785704340 49406701 781197639 203746397 311292196 559285053 620310769 403720769 836637546 259952579 854258651 735032905 369936768 718587720 827718319 790160056 943389969 151941428 929801868 389648021 473865322 48570162 522279246 349284786 481432739 533558148 609720005 184893736 666975406 91349744 534916235 486113909 930707105 674025061 819442185 431029983 334455621 447419365 954143622 870631332 748692569 373868252 497511855 227047857 284133062 63762209 617974805 940626668 209273354 986281739 795891443 128978058 359138443 707883484 188304327 778456482 124445037 176618086 966224554 803399369 61071496 534032834 93826455 103563324 414944740 927144547 783238949 608281300 620848634 395048399 328975866 367587322 813213554 616362000 337770503 705790812 601053002 555474654 606306075 520727904 54943836 967615518 111753722 595545595 659747845 887835886 785585719 779078651 262027829 41400524 830120600 795898326 232862662 255562660 969749548 691941013 46089502 364810638 357633369 781126503 107087436 627701497 510659925 812450742 880492391 270007188 320176237 162065112 354621535 176665658 873897145 550727901 150736121 927150536 244128574 373337873 73929234 260529846 757750387 784975296 424378461 333761886 540895097 771619213 421369113 360753143 420834706 781438449 853094809 875313682 758127233 233713697 342434866 174330516 957327260 312288045 752615783 193053721 473280907 370983877 222582361 515461452 714000410 560682069 809483293 916552507 648623327 955037419 532164465 236334723 126746165 668827372 842598033 119717982 527842278 492815129 917098873 346103003 144760418 339840086 518170881 527423104 783646464 77685618 74284316 300769843 944005181 969138120 789000286 358649048 189514769 476871733 543648612 394112902 848008668 211805746 501565641 574353307 81138977 311651463 889961147 326603870 848752421 634651620 552969426 989688316 10397384 864645481 146412217 777326157 764494061 600408277 634428463 990310480 751667063 528669039 387550434 938270157 675788095 895480976 466891547 229603957 444315461 828097036 445637881 13068688 34419462 346635577 65492890 246496163 911949506 544239956 746814864 791190059 247402686 104879205 126837583 552893509 43712306 515081639 245507364 631324892 727074768 964172846 636600341 988134280 10805810 393251848 510914483 999481250 761036410 586026106 47218262 616426478 944379005 191808557 558433174 124405294 32922051 262396811 240962287 133454184 239757604 625261053 579620205 115397791 932281696 308748559 853611633 490381787 34742242 22494962 750070308 441968798 50242299 525552206 261647126 841936372 632046313 248444296 808785421 526251895 253225070 798972610 666256689 901735391 686789159 245733750 143826527 835667671 999735877 910903794 720224847 526584361 940903741 199016533 249519507 138186938 138894696 376158808 506223443 271334492 73114413 78119097 692004164 269736790 772438121 483424847 375801960 309560363 273141017 989122605 284867276 483408412 136680915 944738922 564583071 47262209 152275141 575312932 340086961 486115670 672920957 350166205 781194008 322325978 26062623 286461606 461833525 214243202 700213454 528960045 916165895 370588863 510376098 354979612 71089415 285220784 14887485 14504860 978883989 519425684 444269733 275000095 726971033 884460119 485759690 249937754 215433062 333535584 998016380 849573985 131707301 767879220 516872717 599202957 98492296 756932217 246183333 449507908 735958684 5701623 565231162 12192473 590616530 548920216 893609676 89433013 65260049 54841879 971550277 699250272 922347063 688169002 163237997 32435815 713197 977183028 30045437 298849517 199123244 199606027 961977316 742501181 136072803 116934503 427336532 284165338 816096612 604460214 686617924 784344840 559073524