278 1000000000 466 925145872 939772980 971554779 972599514 86374436 159246768 176482063 178817161 974270554 978908895 978933887 979091407 877282222 894662588 896419065 928123163 721598224 750604817 752657826 755647635 277591270 441725925 453129989 508067696 519704967 637316551 879771993 893319387 866577344 925332289 925541226 935252074 633061715 794516930 797914289 995120208 70455156 140840348 200285422 402128557 626366794 774276762 806923291 870896957 297432180 308377117 309760543 316947475 879413633 918878032 974977182 983123949 508136566 613038074 638404673 828337545 152987981 640955220 643501580 654551657 642673776 964721037 969652285 987220239 404869442 807446145 880420393 948634974 261951126 271802572 280340858 314305503 835896630 844538512 845372899 888164189 953179741 970792458 976648291 981626195 47258173 65117347 65620178 67778603 42200187 376026398 419558890 535963793 220029614 395249626 510088114 579698467 716592867 719797526 721958885 768213368 586744860 700252890 761382440 861026044 645190348 709085137 710721186 784510694 379013981 521481108 797121004 857228226 749610666 750858852 783651244 790297540 197388933 285190910 290823171 446277851 680114738 799482704 847210075 975052624 48628458 303011363 642478927 823710169 652644953 653195900 654034310 660917863 930018081 944524244 951904354 969647120 845015893 846758478 847085156 847092450 314618622 320440861 494834934 829203447 888878234 974721238 980166007 996373794 361097624 554398214 590702134 713280339 884735709 984611959 990275320 992107718 184209730 240007291 590662943 629117105 336818195 969980545 983901599 984914716 737826705 751738138 758815818 774594488 187437937 237002242 266463072 270507735 241655644 323227655 326397090 336536885 901415277 910453267 930698285 950198391 900252854 913955128 921933231 944587016 812720571 815145940 968919629 986192180 182966517 452422393 453136164 475141328 206688592 370990874 411795640 438945446 400127149 496019005 544607226 545974169 733791329 771954243 848264458 925573862 409065396 449663910 481426287 520915804 581630051 593612288 610666730 617595328 940016927 941521831 942642950 947993338 140331532 504613873 592547037 792518181 878950211 947879522 955967602 955991415 169793360 221473792 551011591 806905942 95018420 493957200 597894564 602207933 646899044 647524523 648065874 648786135 649495880 661148955 821624061 825967878 308060349 383162179 850457624 936149593 340282900 512300544 516130789 556706993 365581072 718743013 784512555 820199609 977760620 981803430 988034025 990846109 634089811 861434382 863785702 909224341 410231782 956724760 967004741 982215616 509652922 925717967 928607259 952945313 303358295 347033356 402421355 404739033 844389306 908977009 970303622 980044758 718944979 747611138 749862224 757996487 187817992 365370152 902562247 926295422 258246321 283483252 350365005 359950582 61452442 709670256 710450914 802737869 492177540 591216634 797822585 896326406 701721251 864946053 878391061 924991981 377597729 393298629 404924305 428540715 384214170 465476898 466008770 466562195 631824542 698426617 712997264 715675438 520930867 707108008 743141223 759212215 116486736 751866110 773064742 784055854 213264995 532624407 547139971 798779947 514678988 516597375 634689983 668505552 627132256 745056863 864337430 881537750 595390951 596348774 644599214 693498752 768152733 856214875 879793531 898978952 588409013 906481704 933165479 968482369 477931729 724623109 795545761 814958843 782555532 797704331 829369167 850435682 732537328 863220720 931461396 960218278 531545600 541334762 590009630 598519706 351922992 880689921 936928858 949868550 74055399 685798936 728930516 743615157 82395396 294324125 306776801 314117929 230271574 547468464 675679028 715302206 608330531 717016884 719548108 748486893 148925858 403005330 473197070 559001276 160807553 687039843 724489608 750356526 250818399 344162731 627161247 890620030 591869779 719945447 919227478 972824533 115930979 142280988 336221993 400420997 441645326 511281256 677193353 678894275 340784835 357555559 387038702 403111718 103258215 597658412 620601456 709846530 587712467 662530072 718152947 952444264 965588308 972347522 991286953 991525930 12985386 35338536 85433130 125202075 134116617 603430291 720829604 799425643 795291803 808325602 841150162 917911951 517761531 564751975 570884308 571922019 575817531 714608554 847555834 907283118 573067743 665407088 768271325 784969237 434401632 537512512 715649083 940154724 270720427 448417745 481759701 520324745 708944799 796119189 813919312 872690363 475711378 771713787 875375407 952185322 233721293 239891118 255990489 283718936 846356235 897439126 898476212 901463294 92002558 665639248 734833092 764652588 621852362 783200708 785010898 815841582 239259528 250777728 274293442 287820160 794947269 836539464 848327539 949426964 388825344 574645877 647915854 702278179 915002927 922873992 932156531 933132438 394006587 735942508 743719677 780491373 441916287 823924439 841663529 891656221 518174029 601232753 625697573 798969434 140553321 524259459 760581761 984298219 796694924 951638435 967180229 987971993 827527650 835126273 837784131 839540781 360437644 375715058 379426162 388268291 290212383 325536104 544432396 789073966 883689764 891872414 900193055 921584672 39010454 318457077 374058793 602163125 52446567 309785308 387119998 413623426 16158203 28123008 111098710 129187476 671165610 725189945 729109671 853281838 875742787 949007957 961459306 991695720 147288708 347752164 460601903 509562432 55767203 325711439 377795975 459144237 204216776 583150857 658711947 694150240 432025488 457679108 504335904 593101176 405032588 797011789 840898929 863095592 490198720 574045189 586914068 636905340 121987108 203088418 654333599 905374081 291314982 617751939 723695224 751429798 12161830 446193989 518445077 786350549 625870073 782120249 806111471 883032181 705383 334084220 531108956 764812595 226473901 310598130 454105047 577971064 440067068 440593413 442127579 451651765 652815864 664326168 787894038 871440389 554811193 565035037 570046005 580017433 543113165 875235267 982190385 985398664 741287092 768091168 803204685 909522994 760863331 776008587 816351093 898564358 424685890 614173332 778563879 877100415 39531054 263716209 290199755 318626296 31946488 65340356 109120923 113853153 765106403 778644221 785693217 839557570 119834922 174291123 251015338 606503862 672121208 675924665 677277349 678667300 560798318 642797389 642981533 651128894 356127264 502226259 503461951 507413612 919576728 976967970 977203161 977498816 720154194 823888316 840764749 991419726 439299774 467327718 471648402 472431447 515460290 582472912 693661053 826106767 404019509 448955183 562991089 834958252 270682469 548910677 556122080 621807012 318031250 560575254 574213993 676581816 797699440 820975249 861173105 873489088 813002409 834050146 888950877 899774644 709906777 710584843 712642512 727226939 505115280 559610959 604418344 620067993 900209364 984538202 987493719 997499394 130221724 588229065 595574287 613476365 417442518 791149805 834486397 994698819 961688930 962324270 986977316 989165055 206427540 346201404 631529989 675617405 783200950 810810510 833537605 857916825 913883267 937955265 944823169 946340378 190998958 284192578 415189807 485624389 370004569 574161554 588206637 624245565 342943902 425519669 430158383 471358669 335400202 355319937 587926029 635526950 382983453 670313470 791685160 824365663 824333771 824603250 888412466 966091510 645386749 877973461 909181388 951255586 935891217 940021652 940881820 943042117 447070038 512693642 517091102 520654084 606797969 651128392 787736987 856691336 638654076 687182865 697538681 700956025 712814913 913380327 922940727 929072703 192274947 265092357 433460345 884669635 638088021 761602962 763702405 764135564 697921984 704093327 704813709 705219424 819214914 893700956 904091476 953535215 640777930 721283309 739767041 811450641 253242045 422815834 469185531 472071156 615758196 867762775 906573112 971165552 170844348 495781522 539138412 568976327 998898516 999138274 999176785 999718467 455341938 504593240 738474803 815885130 94714175 277811287 286658807 311450001 882276182 913367713 921221618 948584179 423785289 756115312 795060271 884011307 866528284 890016993 894500885 894655287 909988040 910090366 910243180 910577265 659766969 672076670 680139699 680253747 22997073 151378959 237474316 263978125 598111075 635981097 647332815 765761122 245614520 594674404 733670914 800344415 299110797 614190704 702281363 710143928 113470483 236073787 262530254 573482915 116597742 126219169 147823844 154706183 885113783 909859342 927015053 932491089 761813626 797540992 846383807 910676404 279832121 319548994 341838455 529801345 529260647 603516857 623428032 626043362 489807981 493563264 496976626 498572540 859714088 878624107 889586773 892447313 180490345 233495889 238892338 271269561 540528500 551332149 551347832 618812229 722558849 753884057 755509149 788489440 346206015 469635015 483192120 488860263 653515340 720103114 754830842 766572899 46950334 132893985 319737165 512094154 399808157 570020040 656962243 691772718 916280934 957804098 959719750 961626386 961401226 981414523 985458768 987034760 50776556 539835065 585540052 645376186 917180263 951206357 962945120 968266370 23237702 381912893 381932006 549521229 645027786 933745324 945435862 945652185 764389544 946387439 946964294 949103099 150223240 261463943 503056569 824866343 898292103 903580632 911898884 912809813 584906934 689513574 805336637 887964374 238827672 256254885 461493985 471680459 147231400 155644425 172861544 195007740 554053329 639938946 648989385 703874691 114832884 184723908 213301512 213643804 614312550 626912053 626975275 628121728 57972335 144401653 223905045 624129627 593504459 705938112 718333602 760121346 485028653 491862255 496363373 532536418 954234552 962079350 969198011 987196471 460112004 496189156 498344957 507657083 969092127 969783041 969927730 970016870 668144649 709974266 727912356 891948666 180496950 262999139 319083982 321432215 179741328 374895760 518009008 518708899 682619251 727832716 803185990 835766247 231836719 474698759 679461535 841160381 88243082 172897440 184509050 187091857 806693435 865009810 907418023 934848403 688925040 853969398 881934358 895025455 931123017 932018564 938836508 941096855 636405082 683131252 685319916 734423966 667192109 909083862 963952302 974528014 466489022 599253699 601616623 641992767 465230077 630197437 776261430 809051337 347761744 494674846 502770898 509874601 887799566 888068582 890933467 894833075 696925189 976685662 979021155 981051268 736690932 858791763 890422795 970193073 895326994 910804610 920329801 938537965 750382981 778209667 791206722 805894926 980176364 983869055 987846796 996300856 855829206 870361243 871389115 871469569 622897225 739820312 866738703 890380574 313730620 314851156 353683279 365836636 204850460 291573696 620384097 959736468 834895947 891625044 909763163 910647830 756004508 876618333 893290474 976707518 612116185 614016142 761138177 880032051 188972093 457020911 469755338 556830948 88463611 365678126 392778032 431982569 252948661 260594097 281501054 401172599 654714117 275452976 256717067 339478891 215997431 341440399 37718695 782942760 260102797 351205199 458174953 538865400 717136698 503660423 168833521 40285097 151706216 313628001 458640145 816454753 264866546 269782939 353660752 667320342 457301162 557595397 648420585 67464980 517460180 617688837 669457097 212657531 576327849 172724246 208793364 639460799 671645654 94581828 458084256 103524646 705717498 517470129 472767608 46721101 676787243 755905300 901883482 445405604 169357682 42008117 668537146 133786605 580991306 14880370 470403773 701819073 590519589 866251582 352599743 823788811 87222247 839325852 88684493 866317195 174373993 948437928 572553132 985093972 572513783 860725006 814446032 119608910 35097811 938794385 207249893 25812405 983998640 42814086 538013770 404904088 874749239 69487702 302275729 691579995 892574341 349902592 850292737 679668021 539854251 786125460 283486740 199468723 816316717 978466233 337702137 379042867 710780804 681120808 423985171 587204970 955878812 857951022 939905656 178118878 973839190 65061422 820564338 674774637 191539207 920445725 572007170 558804933 441693943 618015492 186599512 844812521 943023588 370943618 775083612 84361394 835500924 808235079 780411945 610982220 661929446 503927194 533459852 935278261 163609914 776261332 664884617 251891009 762735108 495673315 399524055 426679832 623697861 656934088 821326943 568617911 118061426 716774425 611627456 627928171 686048243 560967552 585471438 780332761 848852133 274796602 214818575 274387577 475628505 349769112 451906109 701407254 452294483 339720577 520142534 93796943 51829963 838860014 744683343 896583194 73729647 966873709 677540397 560355644 135294815 747963040 218484714 897965777 376677936 278254779 698698182 28138442 531500394 698365704 128133683 50245994 805796874 237872486 612376920 460915145 300349953 119482310 269252496 972403793 821569714 338492077 665838568 566891588 956704120 400755638 233156260 54946611 897374238 192545293 151583162 949831048 52713829 92075764 550849877 477210366 610076545 111389250 537677907 571959587 626608284 314125534 232824008 436418525 78741330 241779017 829200505 576405986 948096308 85075986 590749026 127253310 236597061 619393119 937606193 53521873 540608640 697659498 151768264 313109454 300539471 599822850 981909183 536385086 190175509 36813062 668362207 643594619 286331046 775580142 311157416 551634869 435786442 415123522 459964108 84342128 338439102 877811488 354973106 447233540 933114034 464679354 606579956 927011356 933284427 116835286 388111585 515047480 498955043 676385868 117620475 944724267 396118084 76969868 70551674 406290077 67632561 96460309 592298184 455780746 457673438 749311743 978343939 916197056 816560946 464414322 117251455 463154533 520388236 793211437 203637825 373353840 172191675 213368320 831889285 779693611 262434053 758074962 280403256 572084408 384076449 51790491 923688062 691872392 99604797 971161067 133441069 781301221 807025784 384473442 615601489 202449001 216148329 172196534 435233702 305707909 69886230 760384176 470636065 44249340 342930174 194664878 806401896 880314213 662635920 554873379 477224533 85440684 875902642 911045395 819809399 260212369 41643067 320026264 753562768 649903399 15837304 952472159 502278424 536703318 327138987 926906923 703318712 445097819 544269703 921771601 678416081 162050883 578271158 458910267 880601075 571326835 699706451 79427814 514877030 403478307 148197232 582577507 511075492 806122206 518646417 154269529 122943964 817314563 279667503 364746113 815917681 499075143 121148215 162911785 310248057 847125041 851496840 234038706 462768703 868924317 978276985 840925458 735668930 368168250 850957904 833516115 433749044 203296268 358245836 449882386 283469947 760130538 632239772 847576321 571431859 646582785 653566437 42872933 720914089 134660943 810501824 494459544 440251746 908531496 895365305 35222152 493342098 240293301 606676049 829818678 960068902 718501488 794429309 209696825 384433339 954813610 826410534 232140857 877506084 940094982 503670439 649216372 136371431 720109307 899949138 363716156 582105280 916819797 229452779 162919798 487655966 623194804 323883051 490433308 95193761 103579915 182326334 196651708 62551458 172938530 191004230 808430584 128989867 744174869 643641814 791325956 122191866 523768532 687916663 762423083 457803523 241046177 4622886 155369803 821327083 771372436 919416788 280007252 759803150 920211994 34963429 134534604 432084345 315421810 354502322 868218958 609889136 694797615 433964807 277211654 834323946 193621945 522649253 288425271 482927632 318671563 911623873 580326069 904525250 580680950 421260419 413276267