665759876 597950008 615453266 858685432 933540686 531624209 901252069 585837205 564760689 973171757 601117421 944793416 821299389 747691712 887416318 859996859 760756906 937244594 564159756 504342516 722705251 844710977 909348135 778145123 710060433 549348460 834497063 579281731 677678005 508826594 620779633 518962493 524510772 776475792 659144422 631183646 626844490 801845680 563074711 819569558 560965716 930339088 981958447 848031038 728409426 610988798 867663352 501068963 943846723 540230876 939211428 938370734 609395469 845026420 991400358 504247847 973328509 660739910 909076590 826024052 657641887 617176418 926367131 633274432 782401150 503172964 689734753 702566249 588898850 660939344 503217381 898772923 728786588 921437365 599692982 583745094 739430472 530137403 557717663 813333627 502072702 672732304 912427433 789760005 694605473 798717911 875214186 801681587 580651429 790290292 827177129 794996839 582209348 917042475 721667939 940059789 841803127 572117619 731825042 540830129 611669794 693064366 952815280 722521778 759820577 529841835 649923443 628538117 822494574 518335187 652933535 509215579 776115340 802255661 785013776 828492105 652476949 630553019 939531874 715031114 653080865 617346027 529782360 632084049 800564007 620005600 934991760 537296514 515154486 935080240 766840781 921828555 528752276 997526833 519380370 725107428 601152039 917967337 938897053 626660216 616784682 815462324 702879884 590022797 759474958 637177378 770906277 754669318 738277214 736652347 634198116 892581271 767570572 729186742 733594485 677976689 834701640 595673002 527624536 541145549 943045298 562732143 763093494 959027209 504328162 981948287 622214502 844487276 881436702 664985830 953465545 985908772 789314687 994346875 729407707 989394425 600706510 702277605 574488322 880923401 797764575 975031387 584917917 780543419 887060709 774766052 612479926 860668948 754976410 513655499 548711309 766520691 924578867 730940696 610141692 574304670 926703299 928386881 911493450 633152512 951390353 645098340 604226410 944653784 773543876 552914455 758343306 797240069 829883182 632071309 569655964 699672787 769496491 917324819 947444711 821321020 824039606 872766669 647149411 709382919 675643105 749657649 599579332 539801456 840818334 513075339 748161953 624915705 615788538 617467229 543342478 609449033 870413640 955563390 949229340 729712895 693986480 507208604 839627377 511994318 589335980 995941329 527736234 849763498 667118293 986879763 549814354 853986229 714560124 642106499 902913630 949598706 725258801 786870021 669160424 686074091 969540059 853406639 687240731 542614321 758340753 924994591 993022559 802515300 970027614 743897895 551812419 520104812 539385729 801390178 751473597 552173147 670928230 663363143 506609968 646100881 849424652 773655548 900009707 895240549 774852273 688481800 934745281 608866163 778038690 749690020 554242999 782082574 804409009 539608976 721118860 747478248 809256781 505573610 954112247 520827487 880222321 565076765 663555390 800241545 829368896 699163082 710102264 678632729 973730251 827715246 678025405 653232808 730131084 514274092 631128793 724099327 644765861 573415854 687882386 877319195 619525244 575673685 922865842 511537909 992238607 931349066 959590777 987333704 656910115 655237185 991365367 739176175 973094262 965936236 882011568 705072299 812728014 551096802 561852608 876520604 854400680 551873521 604394483 775665065 570414103 912221513 863118280 656157228 770979973 508441992 687332322 760222795 812576523 970915243 655389164 870779853 762600160 631390236 610691510 978821988 680668054 559031744 630107464 927914815 969665252 648292987 526970519 868788582 954235212 553774556 930188659 550229751 726088933 928992649 817627642 515403769 641148346 810556106 615292873 837865710 919561071 624151167 740659089 542542731 935292567 858122090 959284562 504010033 686800129 522078333 864082748 756533493 736445315 736110420 635095219 818535413 842258703 775370216 623082642 635706475 593551752 968222124 781681465 962187438 855796711 791453930 699125931 949402363 913095577 793785875 557919472 750745906 891600865 684001053 843054773 739817661 849834865 552906349 602694200 994518268 564731673 971175463 650564705 751831776 606284797 550978932 918231764 975854528 822009863 809896124 778016029 733904395 797022048 697173627 644697273 530721688 723107984 897264587 642395859 753599951 820558765 897599365 562227904 962400562 741923413 932582635 912247173 898186628 873217754 767440528 974145780 738736981 767086529 934654869 595153778 946522400 839487847 606141782 820152530 524418655 616904135 875329790 537047595 529377304 636017573 521980793 832280141 862984410 833332551 660033026 674372750 560030691 658422410 917274501 890629910 922097593 814639495 909767073 857675947 732341446 930108365 690362043 897023460 700157622 890552497 962744361 646411273 630015779 978604014 758538653 723064532 971361362 555943067 928032785 700436372 525778126 761405353 586649106 611744286 769068945 878022159 603442004 826473367 768663271 673316047 622670017 957552442 586322486 994397365 535025460 553048135 921544499 603621883 557849040 687479892 826398790 506645395 943840074 932271535 849151193 614902841 883893200 657742803 798092935 630719920 533884727 769861662 956612508 989041571 813899154 950038452 792231157 800148320 906556030 913724432 981304738 563073149 542620170 551672253 860550386 555513068 521346608 809833328 846861092 527206332 556951510 723907216 603879629 836869264 823372771 503614662 847165116 712014796 573198109 680823001 845538173 913334329 660184683 991389680 798852114 668179750 883882303 951997777 667078478 521341761 672153806 821606943 909741220 556066679 981738726 559061289 931289278 523914379 898331766 786699497 505550370 609091279 514297169 988013810 767055341 842241881 633745306 931133558 700585882 554486172 793260714 679395454 975774841 910848827 979494265 568188831 504298877 652137825 953471071 550091324 686127637 981326586 764472625 928404048 934186761 665693575 545417378 716165489 537979611 845698152 777915359 650098701 713307463 801861965 623101745 896561769 738656012 974668903 798517534 739846069 771674352 598005480 659783180 723901061 503420643 587171692 639546060 537386887 653876737 983878702 801268265 807658825 819014045 594156875 525663480 578835084 677292491 907266378 751507152 805018454 838857509 896269324 929007880 515569955 565149507 758882409 914876003 605404911 627191317 770997039 932201518 578060115 707214541 555032461 767418624 664180941 708128193 704948773 671651834 978263109 660539481 615622211 900519697 630159443 905909464 579505877 727157855 508210101 956320755 842341488 615480819 663708457 750199666 553494730 739779193 545954625 913603554 851889696 792154099 928350977 572232956 595669519 923522743 855197278 968078173 957815241 542541964 820032799 980422224 790044088 632746799 674995950 518921374 878649040 926291452 673435678 588567390 518387911 979043613 665175438 912710531 963401853 996170143 531543828 590085011 653949863 706297209 820817628 639515540 800439022 857060700 574127383 643503845 780232858 720563482 843393159 669516110 620500756 879491423 931887321 782761017 694775493 914089888 862957467 537372651 854678798 626688849 726679168 521336731 897598623 919512193 910854423 575789982 620549535 859267682 781628012 918253785 576212704 851599567 832982462 722485343 762053764 919498661 509551599 611113463 825455155 711513410 688455921 735407108 953141648 918453265 753495121 749488471 930720839 798647918 736439272 915877231 773890960 700227179 812652821 843606977 637101400 651161049 604985345 774111296 534206038 838522130 795875308 927724518 675728180 813891496 997777322 879365643 514539430 752155624 527850332 837092305 941328484 943909615 598618243 596109306 565301825 743739403 912557929 874807089 980443362 757641371 812525417 561865150 545991893 505961615 661774148 769943037 908617541 819507298 754600730 579606090 752223183 737765586 671889848 584556895 518478976 555977715 502385577 857938979 638785058 739912710 545959459 598204513 557571139 734238041 966874692 637267926 726352668 820750981 598595019 619979831 918985803 523862892 866108429 552172655 750391717 608206046 718041471 580400882 587192703 568427543 593550443 574429627 643195609 861435413 660032318 896425483 992645155 938402683 929279379 966426198 787675858 825615767 594980292 801869852 818089700 812215647 647104891 937942460 828407921 749133407 786495090 945620759 997267737 567525883 793610151 824773590 900908905 866323383 791178043 535038583 724104715 702304748 942414759 727268420 907042751 520141308 529852893 769349866 914615480 647685083 594110877 961276390 501777157 523773158 681899524 839256160 874734133 952055392 513449054 949130730 582156938 578430128 512417402 997689859 522356089 620497029 863615702 671579907 705123994 507367487 910012196 615351766 534902195 666617560 803459358 561098753 507211619 582200662 734510397 842401216 671824230 545556407 587243725 506513251 515620223 963819152 536487949 709833430 964660145 545358160 731840805 905447855 900221624 878923422 894082372 902041437 642678599 780024861 678935866 707518852 954095863 805566598 757600109 990067813 865536773 728216259 684514143 526915129 573503457 752009969 736501686 508598203 968946454 581992256 686889738 914398120 630176649 707408740 815290110 960851814 767594533 721534045 995847423 707081073 681505492 575099948 654853920 626751515 782654243 925548615 923800527 625821261 869782697 716839738 764824081 519848283 946239698 782108531 782380470 543195830 715693749 704306918 949848853 520480048 692057325 984084575 756990448 927796366 921946582 871346279 536849503 837051401 537106030 962071141 604187767 984664692 826312874 666869940 953924534 604333792 645839256 582445259 785003217 827563248 847669274 853916966 796240279 733551863 605799169 972946874 886701198 945528879 741541704 840187548 825571045 711404333 634019946 614454003 696620343 986248683 594861244 507834408 742773010 953062415 857560563 759781623 844587617 929403382 871460271 768947609 864355417 662845957 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0