1000 591414747 75940263 760367935 901888417 312356591 130275571 548496961 611293382 958794496 469291685 962387379 20130523 134846207 43626923 222525347 266168038 55262494 100450154 473315961 746061222 32079340 156090008 490520938 486590052 697013119 231474055 299023445 380002679 726123174 528963793 634434113 980649968 25750352 822299809 600065005 278370194 432031451 445711516 593534361 304432744 328952219 744251175 629878399 472933584 295193218 168435455 488131371 584812425 813536863 837856596 877859885 328955338 276580102 238325464 958921357 416580966 771399776 22134654 153241566 721966478 349294849 969410737 868581115 908118085 428413278 405868016 456019882 99017263 444227055 701594610 845183530 598976960 766185388 388227209 24822301 241650433 339052502 436497438 604269790 503520755 803327931 289089504 654578426 313310105 218350263 491437029 701830784 923991253 711553961 629484261 935306493 304392773 871049171 298476078 401713369 488146744 80745508 220557674 816664936 216228749 68472304 551940937 903061070 93661821 743709824 519246013 478781953 388883752 389060106 759872727 554152379 801812652 491056685 742055375 867972339 740001838 339607933 401150074 906009495 717404285 525372486 364909725 579949007 615032731 887048266 349832776 560068393 477970861 153114883 66066185 324553084 260570750 866534000 343055182 247587907 22790966 742468323 518022237 698444213 27945492 777323730 542856012 510122508 985727231 640662853 222228197 71907871 993998009 77913002 297773357 213648881 189045257 163059500 107486222 743727937 138828229 807604208 594077441 124786614 201664633 92342566 714708981 731875078 353874552 580915451 388319394 759329391 564907385 283346155 456050313 995064128 880232856 901076688 613412325 779879623 946085454 515653723 859641475 904201414 375729347 799671719 829721844 709019540 962605957 981373466 843671523 680393223 304306349 392925712 946941986 593612342 585600126 210862040 889081979 206236059 250924885 779181827 217838217 842819364 822650258 913723608 202132810 583679968 503994347 96412211 539587712 524923655 185073255 996364070 320411920 845698604 288629672 520865957 952299614 488852489 540366254 234060438 614435466 190281424 367670232 79052809 654602102 958199895 129511913 687384416 41787990 153901901 444665396 287706712 52730307 276173246 224812923 297041600 784591877 270305389 699137746 963937796 514299032 896838898 295043328 157105848 700319248 381961204 467636633 587477175 75304208 528082924 61988714 139219630 88982075 923475375 234502962 580637526 885119096 899218436 182572124 279543395 169296611 743005193 505373750 961611320 759598797 365811475 365078583 69442313 748129603 927841431 803596671 312321911 877285039 795731170 910234518 169687352 87586241 746211311 330372888 903467436 602354418 780773593 987692601 385588774 101878057 780277183 435830716 149751688 578170987 336960706 697473976 450523560 332818772 941899251 903396734 165077290 533289935 945026797 755634750 857881402 728945116 669374534 394818072 220052402 171419832 258310409 879976612 888910918 324805068 113732587 750341527 307416718 518077251 766227045 308217339 256019026 895165550 749112804 936495623 27410345 98925543 996968046 231873977 389850187 893096670 859055014 910859373 772617157 337856081 646919282 299890295 248529390 462584105 476298644 579226271 690496501 102614087 840078401 898627562 852295750 574167196 409019262 832115359 437997542 247858556 113450708 471375561 806409432 917223170 368394226 773256500 752168798 440332218 902545600 149439644 48852362 23725201 59744656 238774756 797508075 383052767 327154562 840479499 554892990 482540858 167785504 512101583 554357606 539824828 395652673 890133129 281779220 79497478 862029970 514231545 967195288 66872082 387710752 949447005 949257210 478685035 328701682 73604919 304609228 82137257 228593553 578524216 451257714 81138809 135099313 197324022 468534855 465503901 534490247 662182260 626326394 666270420 314987011 400303304 487813561 664363348 427496254 168840161 846741138 295824972 662986380 857617215 635146212 164378387 133811586 239791222 33209972 260895838 249213749 514867056 13696105 800497 294889738 32546573 495583557 297177288 174505264 81376966 729609511 294583396 853844422 620798184 453789514 745998210 784002835 419787975 660554649 49710173 194068451 471825273 798680749 399410817 392432958 641027350 834041884 144115662 851823740 244504863 681078165 874865956 816732210 283817373 685104065 440577968 703444681 514125 295872203 570654192 156003906 191704614 753788371 825851013 608883073 26870693 656693882 70727250 45130286 350323309 448036919 626990163 4581056 107994497 264715443 538936087 758122053 860063158 66078845 75558954 316424729 900765676 741178392 133313191 517378621 572943199 789944760 906718041 679308961 662868746 500034126 920268074 358826234 185240059 906534058 889522007 436236806 45171804 919786745 930884438 855048549 725845811 113539071 478796631 768132428 721093064 891066167 494316916 681582555 837522083 365429213 121809660 205388871 545629888 608147479 935754775 29025255 995926978 56881496 236584335 876462433 270508102 883940302 970676003 24720731 370996418 200737103 61066460 724056728 767603715 975341998 444978864 768708630 789548330 847229820 512273247 95109749 537478169 463339166 448353685 981808521 311905778 820504371 967130936 220803788 718105196 248876093 847002278 962511821 961792995 797901383 268638329 449063321 987649860 926215158 543404915 60881310 609780316 579683302 123407545 926909358 818315656 636164073 185998935 963214715 573202082 588762726 135761017 904349632 78294129 679636198 653938237 849534598 527425347 46714313 724571652 292630564 849173212 675214120 640921448 90280940 677758845 662408210 619522077 613252210 698621713 762310216 583234497 345170097 598468677 446246255 932603435 613212614 485343784 192200269 574425655 750816619 741916628 483010869 96094520 442844486 463776279 109665791 57989560 147972246 775716409 2282304 674337231 225170576 438720005 232612496 176737420 554313291 390654727 612256440 275997388 884721577 652130370 522602155 957192083 947506446 424193294 671634524 799520451 719907501 593518585 963319124 669827084 732041466 290331200 527273069 805113575 826410461 257508801 156331474 10583685 577065768 89198033 542437694 52673833 529195078 325150322 685724110 795442302 617302823 42264034 80235260 801731983 425483272 615706412 414756718 785662988 363618055 591452000 565758748 572174293 371945993 578323065 616831886 770976215 54524591 439775908 594243982 645102566 450319751 38287650 444120009 981915142 148476392 957158882 44684453 918637887 129573870 352441101 206960488 92603380 779716950 367949060 584091883 6503700 574371707 54723705 498792782 7187864 839561919 421413510 579552950 880780971 954312611 615104505 88897261 210950504 236946532 988346514 913875620 455424640 949274721 664997593 516645635 218085189 243958908 352257909 824364775 370390964 65298169 423861598 181571503 23871309 325192971 709042253 39875501 182525392 647788725 682531888 665269330 456720867 749369517 458020963 313458721 562087240 313566956 794561510 811243597 887906271 416852559 476266361 163706180 525343211 972020787 309210437 14047561 29675656 951855389 110579208 313808328 494881185 409981515 405175913 663671623 468877003 954356795 768672417 754709086 442792631 47240621 980901610 167503114 772547048 130564113 516138874 764562626 90432310 402719881 390448891 605398994 526784932 999247241 304796843 819715912 574065873 505805201 225111127 47368358 530782337 550210643 566941263 715309394 723014413 95327888 800330481 274561489 783803344 165711065 455390981 585622620 489575087 937921110 591783116 389540566 765869175 792456715 816625644 340035560 993005444 79117230 589738594 567940784 327610857 143068225 668203110 96199174 734763325 189626500 565821416 640617786 366657743 595072110 489010558 725853222 87822138 750469719 312761887 817961745 155581710 267028782 715628233 479575211 104480424 168829455 991994340 30380529 42728647 796026197 954256182 380281230 166322543 543277154 101445076 65549865 190873663 289084339 746794193 337155930 649839960 350569809 916343323 346568825 386133770 597430044 665986767 385912909 480689961 154815076 542880605 662757647 420371813 586172252 538332142 669626002 152348318 767052934 749180215 183191924 709992955 960837213 621441807 599152325 305319437 15799880 904894352 864948792 481738108 929848144 788050247 518598345 460584917 175651315 408925031 318466908 799513274 682639419 115804233 238115037 842560748 850839782 535588029 134762457 75289717 678057179 883738071 731889468 420592704 694188195 114637979 104214500 186614661 334523553 922808750 64811977 185480093 922378664 842082526 713745524 863413093 35141994 92898147 467492779 319536372 845205508 526198865 61462918 929877406 646264538 407722592 485078959 674647471 820131654 229265636 911292078 904365908 289114776 901253017 607559990 868347944 346913582 266392141 373198502 976569843 638535735 555253098 137878197 558964810 548116034 788922884 317211537 947396229 366766968 692367041 345572054 110033591 896077479 769101168 188442352 489551460 253883644 426167771 176603608 347714210 16214329 509981030 456989597 930943001 906181719 969319633 303237511 523304893 907111560 452449419 528815095 932187466 288811624 567466945 273229882 589126889 691706076 697193364 435247294 85483517 895163010 900338510 467547878 113540722 898752672 571575905 581741684 994295174 955098636 589169449 832486683 367442880 296866323 780213953 163861262 967457006 900817173 661677683 793881670 60007296 110869820 943613545 458378875 19303143 727216622 728253836 470871072 966417061 338955184 169055881 924669936 567112989 784465647 757046601 163095842 188454182 195686597 263278902 761920320 71478981 719431004 170727645 470336324 126875555 533722196 312074934 805922068 744838025 708299762 818838117 433883154 708308765 787919989 852802476 525555959 159940622 807245429 595189694 168299641 23042234 301988797 527920091 243439455 905611942 507114434 697794380 317383026 237807642 294908564 258266679 422561912 649525644 981209972 936335718 120003868 803570171 966035392 436715164 818447252 177973829 305200576 380935972 467165788 133503952 776475498 289748399 761648046 707358839 728131230 530323898 523865863 734094270 153686955 111504004 986052803 236355535 432573563 648700567 136820209 8179220 524750090 403851619 870736558 501078977 7829863 141747317 477815963 342343372 267299198 147535500 745740753 720078210 711919550 916784824 495980948 49084747 758744487 23195738 243287215 100123829 220484107 604168820 4568382 725807650 368076164 679913273 173495388 281591267 869383950 939474481 453695645 263637080 254355867 907270545 991451007 505441001 312109117 153644422 884902430 147402208 83947605 883677731 853613613 838373664 644258214 672484548 941305970 494538235 862434283 429789351 431612805 145161470 685856486 285820938 980216590 1420058 583039309 701586397 447232854 91818242 231597722 192509646 491481633 263041537 436049223 561030814 737445827 650240199 477243415 721955212 540919525 840783171 100081111 840037548 363115218 469258697 221908658 565497097 793642902 483581204 18954352 896233956 662279600 749350380 605895458 541856320 224554808 47757356 91271643 269608558 919296035 255363315 693632744 287512824 933581650 282598025 653967113 849502923 766582321 956608116 267086883 766117902 526146010 372225206 974223133 492177006 520179755 526213674 199109251 341233484 783293823 896669283 278426728 748536582 883459109 726114485 795083177 724310033 311600217 73324035 493537758 791788304 767829898 878838686 717276142 983441645 565409325 83110336 229934212 546657251 348314333 155643145 746028398 246838640 490681850 99350278 770796465 576950329 734563978 959004318 381878076 164186504 106405838 539308251 730988800 668073546 381804711 606626343 667762439 134212552 650616422 156789118 164401625 455093700 414422915 718740054 467471970 126126738 471858183 831556333 548664274 914145220 392726816 722223316 756995830 804886561 850036996 256066251 241917722 107660885 244794615 353400278 134799465 29144119 447202622 571312089 817251055 69047904 301825686 114976932 918956011 643491765 486388596 210545805 173844403 682326193 689642913 643291748 470861655 354581244 807685404 554464451 840528876 99829906 807328321 586217901 315205444 399552746 995830916 436500110 197746456 438239211 123800977 400070256 696998912 926014885 4851567 119985137 697143621 759845613 546170884 236158976 167433316 341410043 688996650 901652793 867431114 44608536 823540276 855648344 83349653 883731600 853731513 377423866 371415135 668025772 915468806 545104778 603545232 276773763 85826763 840715990 799669895 19450396 605154864 577542904 484716458 685539520 637188109 476427912 343623547 39648244 217259851 980008974 309028659 614036140 299943405 9954559 53390916 188609997 770297338 406965428 976518939 482686465 497093346 386962740 874159231 990394242 353062645 334663670 413106308 880117208 313236037 947837090 316687826 452425462 602679630 6711034 349977091 362126573 70648031 998433057 741169845 906651197 331397195 600919517 421213032 708042752 200030790 924378009 53004984 389529771 702531051 346138161 454420496 681032617 626180844 20319861 89743450 885725263 454269479 19906300 133522876 185722124 525312683 14856384 582183020 546946978 390122440 379787469 526450857 341824197 748062030 157900464 620673853 332882905 994653489 507375061 954513089 695439907 364607417 791628192 701739406 321054277 209437374 500543992 392450708 280250765 735283330 133229366 610766980 245794908 91216240 83901423 879520917 827857040 671593287 752759090 292056480 696402956 843584515 237104085 841618540 152383667 619485649 95498225 157961324 175027104 178426935 962371625 666581283 281290579 584149070 629289521 316933315 768909588 596191512 218199240 540793487 688664716 364250736 444426226 23912386 33073704 521180773 554479360 270775856 544935400 6618308 979170596 52342812 763289437 971191831 326236805 159514315 692727166 208455987 268437435 546723681 702388421 649698160 645792798 158522181 659799184 374293369 173007745 763091500 846881406 577376230 224493890 797043847 47964628 35102065 787067462 372161197 628837935 600265675 150483741 616973814 991894042 974640715 596677891 782383421 297873440 595292532 668018216 939602957 922229379 70146410 116284931 811310935 600933482 508185543 679395875 152208804 994411235 533931933 41003924 909147019 544851015 768691347 786649259 469661277 708339549 787955838 924943551 264086381 704843112 122435594 678206949 61361799 654878383 221277110 176832023 917706155 801011252 553897738 887474742 22925567 826298228 880968118 196487801 739315760 661797826 705884365 795844847 55579583 628540641 757467899 364749043 362939894 558339442 874536800 864791465 167563169 340060342 360169212 611470348 110708917 659239960 19709727 185982139 347426657 250804289 750953023 869965884 450734620 812720440 319913998 152135423 630390570 780288747 384019146 199047591 325285736 791193765 208332217 951946862 520948620 85309112 420532361 843416108 220878056 937370990 771020197 449271377 616803614 384419164 396160782 160892345 317317652 739598042 72043836 611557105 406813065 511188213 540009919 540700494 267153319 962998814 422320786 310827959 708477863 644515738 223570465 947884287 824030874 626753490 500955366 377812288 416688309 908246012 472739540 567716772 494947392 664938369 812759049 494544463 309537993 278905682 736793696 951346239 286185586 842816076 700572169 638012784 275531555 495683620 854956883 746465683 372934873 965569417 225183956 186166540 831084195 767002929 655662811 918021561 596342532 935505252 924478315 558372795 589872007 655391273 315906554 26083717 919797871 690449944 818494244 655695563 551220849 164917884 540073196 861617483 987262208 418736298 602250567 54478105 100767321 251747091 116151276 205070077 823148213 901810763 564606992 643957907 597388366 439451592 464846134 328989906 24372208 359927629 862469342 100932058 409677292 28380507 498424163 821079721 473208661 793979184 143563669 439755630 11816175 765505406 10495674 993571063 58590659 978917165 414654101 124557013 351706079 517326290 282265549 990701533 728973814 366894435 535021875 531859468 691863027 889926593 977876360 707186190 584453845 329158896 223690026 490320631 756468784 670134459 416093224 430446708 762209736 212867614 195122113 241327861 489108343 795205836 214310775 225962158 591017938 199163391 308433751 175106792 337799769 277097255 515203029 450341927 234087948 600420873 476102816 648937273 948041747 734801004 622401618 361620988 967005017 688664922 945250744 467356507 874204637 29197386 949118475 743682512 550706736 746662029 181260019 338159947 836961904 874682576 276657763 711130487 613983119 265369287 439872480 996565776 627210678 991832919 665053197 992232533 126940363 711872142 44198099 777415912 249932804 227478186 617393795 56923106 921362518 206089061 860061389 933272295 630262453 221758842 673960138 81028746 421252653 23986853 239140624 891249203 962614277 792355265 628225416 970645055 385299960 737128556 351438607 255496258 185170885 93888187 198693111 844239992 716879039 162912511 307460806 953904167 340229359 608438344 907407257 315945658 100479585 809948975 832724730 445620593 948297026 888466749 141237710 884672280 666590879 732848635 447958732 56683394 769686097 702986346 491351001 479491001 947179847 333333486 993768196 557144351 44609900 713576816 170435819 418871376 664669616 438992022 279863315 231292074 672052639 178753772 470254144 668680289 451782371 25780802 105333568 705385979 13049679 643916787 294263698 802779383 193724975 342674529 557509774 280916057 424627 308289445 231387802 899597625 471385594 911418222 872700605 723461015 299150457 125923198 405703368 882424823 311655743 805313730 736983444 644215417 252449096 752090682 797828375 922399702 851418159 651944328 572685563 507821997 187378316 35809443 281884460 996952420 609039679 343693723 789357585 23827229 215646804 67840001 696010619 418720921 975601513 786222332 288820269 953930409 148529864 564310124 294723273 147952519 223381401 625256325 967031043 270609754 418243237 640118685 115870357 521762571 669461597 612204905 513821748 595978060 206196511 983740495 243933161 515196432 736194942 385652472 302046895 188637269 64028101 352427606 974573890 162333576 318088204 230253115 991926611 577617472 520350913 180080688 744471111 124807968 947980303 284118658 392454933 728944970 203558622 329880834 880470808 799935956 971227032 250294063 831818402 761321181 212449351 255624651 856537318 131400885 37782379 258256667 618935435 622858183 271303020 398034134 79892677 37758545 911248958 133888911 143382450 301920765 763625710 360157125 109922043 340971357 704579816 607212416 985412311 703766923 69953014 907112799 216586897 407912744 828973510 575651049 409167608 454563506 390555791 444810055 471483747 821049195 537840544 792196965 142479295 453490015 352427163 367906816 558679713 88541400 376193108 272519721 993957233 81095163 268996467 357121741 548970532 203357441 881042138 693429462 791604315 801298870 398145741 524536344 656712516 518121374 773572753 369967793 371459774 128083059 514903894 689673148 556171352 908610875 356167010 403351013 631183025 864741154 396592155 904118941 714434321 652563114 538058997 960045468 159786295 663587067 311215541 91020592 394267470 331045454 25590852 636849739 290917980 983126431 997620641 705178724 570015496 380450985 58632427 706377283 679251175 772765061 187814090 652112296 106649450 8669310 961350908 841211289 156469976 293666713 387678162 142533359 322320238 721933948 173688091 732722296 709086067 465928617 870019763 430246246 764460467 325553702 144931969 817384382 60943331 391015992 512485308 133203755 62964508 218111456 614577097 154518291 79766241 963857594 803123162 287683271 685188806 248244569 268484936 703384093 98971740 322958128 174346349 863107170 616132922 737512695 153401357 632936958