1000 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 324919964 511539550 118137153 404227549 596514603 473493916 776131964 759138040 584294855 63368036 789450402 248576491 839825892 751184072 687733234 761121447 664138891 614453495 852678407 280778223 862299196 242110561 376391731 572776299 909797418 283108084 991141104 793976579 82398797 824306361 904738080 772414887 25812184 675525247 550304798 959243120 954065534 593367283 493232777 302850327 409110795 255297786 729239606 107470171 103152133 663307799 975695188 821626388 673556560 655263302 794110554 142170857 321121180 752858126 717852514 793663696 842365961 396100507 313986072 587686438 522332678 82785496 198132049 642721516 214441051 20019836 826033599 373816194 572671545 868664684 716162269 675144599 176033632 402535062 622604567 981186789 772058545 673407708 322542012 998231067 525373986 109235402 702495149 100503576 690180693 663856378 55620777 904596572 150015903 926753756 133391159 648556985 223559946 689736019 263172617 721310170 125571878 774203925 285338109 989226808 663573720 195132378 808841451 561989881 996908397 407112074 801003273 857784407 766080473 639623466 323128209 736948629 153053753 914198009 71600103 388175097 748470083 897458638 420800972 512472924 427180717 982086032 489651766 770505485 127282063 660138459 46620641 446947608 548684670 874944885 230667987 805424386 566560623 345572202 401332771 932426245 653361086 191260790 866997469 668890111 518193094 600715738 630933568 132670926 58194156 747900116 96921342 622531967 147054683 466962870 780389663 477303762 117048988 656599657 677359229 804363692 313119850 572004173 533702867 359075226 394970427 818595057 736850935 879754826 956969354 337471462 84716781 93517681 514095992 587489472 788962512 469289975 310263292 390775015 360958550 945547385 420116213 118627530 574462293 630216911 535158287 752679424 124552195 711830106 705510792 70759991 963188775 598666490 24768934 704410731 34441658 126459567 596533435 80808742 735030912 344711848 195711372 850708979 780662177 601140211 615665484 623431432 944059903 984888754 842454409 112436016 839036350 682497579 688907289 784132164 738468845 821302295 17131877 40332669 935403249 110341019 423319370 293315096 427367854 95303331 683175068 836648054 426703088 291188513 934245231 984278186 853495466 400479125 995914467 242723514 11495694 436616734 878322124 163937280 327379673 504422233 532378433 209930784 213135162 804604123 518423221 431303861 634264502 13789096 373809013 662521924 434527556 842276622 371687863 479904096 110214361 972252416 387864620 10418891 846203304 566912543 504155020 347051833 21629945 420595756 750121862 431463069 285207243 885850296 589718765 726263474 457147041 904085688 210825607 995749923 423960346 340489112 287149547 364110020 578062033 396129372 160797745 924308035 890093589 455484524 782215327 562989865 269413311 825452489 967898535 515055688 126253744 843947894 270591861 173201598 142541625 194081714 315723539 736803580 849676082 223196603 936470980 570515423 251955880 452689720 402212982 797904019 229091833 926278934 904316799 548801189 704600846 526108842 906821374 434565987 255425306 472660837 33639541 470233992 604262781 124279796 192832958 872689848 558747157 429815157 739498679 111270177 487848264 856298602 838119577 567947025 239589998 909070703 750025502 122728511 140068258 273172590 469605378 132897052 43949111 353829691 832889158 635595761 561647179 491403762 34646903 901644481 973053797 357056877 992226255 51095010 300911392 542250311 794886845 605310964 79280017 818959197 702789892 831436764 337544667 56689949 26356439 889347447 326977310 896323341 576728672 262911539 37010222 461929600 943866038 794666533 448353777 195000991 549358987 26525168 505261537 997779171 106297919 771728123 451067020 779767927 899350345 4070553 681405183 580769140 651647009 933281669 954617423 136191082 747628201 685685443 270447081 127892390 250767207 705386821 669779813 597988528 919083884 586558536 285720056 935588094 702017691 6175758 78428881 163229037 991293290 208263748 29213389 593450776 199621784 387377090 52688477 694863342 359599660 1 619 426 268 190 340 292 143 147 532 770 274 36 50 556 697 735 633 440 815 647 423 888 943 434 309 192 172 936 817 645 563 886 929 116 212 186 933 156 112 787 933 380 275 929 847 993 916 583 923 86 734 736 700 115 58 109 982 908 126 681 336 90 439 628 846 199 595 275 821 953 623 413 275 99 671 714 682 94 574 493 173 785 990 988 964 845 568 728 100 810 794 344 838 638 346 156 69 895 425 33 410 908 715 678 837 710 587 990 861 329 864 793 744 982 623 541 679 895 46 203 473 907 177 528 488 711 931 192 913 39 131 323 264 914 667 823 440 171 273 73 191 632 135 1000 840 782 591 198 495 937 548 696 858 841 314 643 620 14 606 754 545 461 659 364 464 239 916 86 843 95 85 537 692 275 834 321 704 178 759 736 35 434 543 345 391 513 343 125 769 861 84 55 598 279 220 647 509 834 32 936 50 814 334 121 926 676 181 344 772 335 532 494 453 663 292 460 917 537 905 305 868 35 149 891 834 775 12 815 923 763 612 502 986 325 659 640 91 33 75 115 395 975 979 675 383 642 145 424 26 233 669 18 821 75 830 664 414 455 1 765 610 852 985 394 697 80 573 197 24 72 500 606 375 844 648 999 935 564 839 943 543 456 231 82 138 115 722 336 503 439 760 953 902 679 75 760 950 449 223 622 266 668 166 793 905 829 1000 897 28 47 431 743 773 430 908 942 476 902 782 479 201 552 201 372 120 452 537 796 123 418 126 868 628 316 947 252 372 648 830 11 863 469 336 538 925 470 792 87 260 672 10 831 659 577 156 552 254 934 637 50 520 348 460 377 505 892 650 860 869 179 867 16 514 937 951 74 642 696 412 301 570 917 1000 769 589 296 792 613 826 541 820 76 703 372 922 804 358 967 766 650 465 967 563 896 331 393 844 647 985 155 616 545 812 211 731 170 900 491 986 742 303 372 53 236 289 630 432 576 3 624 259 197 233 899 864 441 854 784 75 618 181 792 807 83 494 281 519 496 813 400 381 875 855 719 555 684 148 570 902 556 366 118 783 58 809 46 33 448 485 611 438 109 110 80 212 112 115 656 500 674 340 6 117 168 971 774 440 404 905 103 772 743 273 913 405 4 285 185 516 652 549 708 205 80 775 911 668 792 432 449 260 411 723 114 908 336 654 714 340 512 171 835 132 878 116 481 287 264 159 973 900 221 755 697 190 399 520 147 911 594 810 167 410 748 388 199 873 866 836 708 915 36 410 939 683 89 851 361 491 921 855 827 91 400 977 181 546 337 855 656 159 399 822 876 290 650 232 236 808 750 465 273 820 777 883 307 260 99 759 604 553 948 244 296 604 614 221 810 508 640 624 828 260 629 949 659 143 352 720 331 285 967 430 734 530 465 979 310 382 972 987 603 911 320 164 99 978 50 883 660 711 99 653 21 888 944 336 951 115 266 570 367 428 633 103 145 278 221 483 302 264 615 220 281 272 628 253 293 759 309 579 107 677 711 248 95 1 329 414 144 154 169 145 536 146 838 101 411 971 864 896 189 307 958 87 130 65 824 618 857 656 924 409 216 61 202 91 116 252 308 200 485 675 702 651 305 720 218 359 267 954 961 302 67 484 644 507 145 563 915 133 255 489 570 570 965 452 348 753 317 307 31 515 841 906 10 754 820 48 477 969 202 142 333 66 209 319 430 754 817 730 558 397 729 827 950 175 295 199 630 243 494 956 389 401 504 388 278 171 773 936 980 537 723 296 379 757 641 644 910 896 496 287 446 220 721 355 566 997 151 861 721 214 16 927 396 15 996 443 963 56 626 771 669 18 541 442 359 375 825 994 700 584 635 387 644 806 417 176 460 802 797 866 89 417 795 383 39 412 675 841 878 744 945 459 810 513 709 496 878 903 519 395 690 477 33 232 929 895 525 102 966 331 692 780 219 909 351 987 892 781 233 874 643 179 186 289 59 164 668 21 811 725 395 206 747 829 353 3 220 958 6 765 636 477 967 428 330 195 325 780 556 603 916 681 940 694 284 754 180 971 447 832 634 415 36 83 344 206 498 736 254 270 56 641 91 543 140 525 472 52 357 778 487 95 574 696 191 104 627 740 505 980 793 280 149 670 463 161 358 64 625 268 813 741 1 771 408 602 331 705 527 377 659 273 819 191 798 577 725 894 880 21 463 528 139 590 62 543 12 156 545 295 725 986 508 884 872 748 757 40 300 740 853 5 190 976 139 276 171 511 7 460 84 138 296 579 468 638