1000 967034923 587586157 185430193 918715994 767527829 653946994 749180620 641621090 232024334 151895999 241061403 6689687 749923021 271637741 969780558 466853850 679638953 836856044 5539595 212262729 614563103 926631930 388153741 648681728 175924269 420655749 641382437 871822258 9648745 657694079 415077753 286124046 47416496 691397675 870871303 468308898 20427660 42713838 844289621 930171050 479263804 185934954 473894379 80475432 70555080 645042591 188829563 180358759 929734528 787460956 905731420 438563251 993375640 566837783 934484462 896850060 560166948 280216636 116171764 38395062 169891090 245632046 585406892 226753395 563074597 194047260 684628791 339427205 431102448 258813231 697722927 403048786 426168133 679317774 669924828 239479345 823994809 148982971 192171770 619545777 403271410 377606772 539590765 502243117 737303164 385222460 272386453 89302135 595648467 271559625 671014390 50901262 961537050 997942796 389611074 253554814 684571689 870702546 205564014 135486526 534502367 81289101 195899257 736144728 986106279 463665421 338951826 891407682 940889977 447510151 749649610 971379428 382652691 434677762 971281183 355595917 404177329 614329327 909161116 907788206 787526432 924507073 750525161 639615245 718880753 90904714 85877055 641310136 47940240 263553914 102218157 786616229 233463995 960624511 866527418 552691396 107782662 648071384 68989391 69866026 579900831 174882179 138713251 635519488 659881826 390466589 393815933 824373919 23212897 52113135 559069881 117916307 329652346 734464334 894586445 552605197 997901936 613795253 138443260 905923480 892424875 523704298 844769758 869885950 740499724 547869927 698405823 995058760 716108240 253565920 159694229 516963677 391435986 995797413 929618740 190490369 376115884 164312834 202964857 507473269 344258429 421745571 951117386 664570944 585594002 468974232 398472229 280163033 147022977 442888666 120807053 449934375 77613554 968968092 207488880 3142408 669551942 941449161 89318265 787051378 539714258 728732902 802616444 886935303 524169719 373073033 4210031 63222016 496422372 656938676 156188984 133159685 331565639 815538622 808755315 853005540 811060972 438759667 985170803 186594634 96788937 209706835 499815734 602872172 819258191 11195553 808334534 246849916 39579795 90604929 43047514 711141824 17149027 626575096 583353532 780463229 36375814 971067003 705968753 17950452 574347294 962815548 715711630 541059560 473885972 660157356 292564003 144682035 506771848 781973352 681363806 6790279 528052955 106652371 678274381 309277189 536829523 437680442 439842757 839162653 870629723 380260873 553805622 994079410 525799707 773579574 934576445 592626498 964318703 194309515 149445319 439795405 783353274 819138085 607033885 956690800 79083636 339599312 144689508 809446125 794616983 299823013 895265932 128394491 95319133 243719013 890580740 831045706 844747385 845742035 738971962 698710739 364993215 330086074 477321900 393350433 316359300 902443566 717380067 352533215 283747561 346362247 453511981 941755228 987828895 640763902 301198004 867099081 804492487 93324928 781392711 97614456 740651319 598162321 484924026 919320321 520124977 949400226 435094751 683811050 17699150 163085924 336474852 237920705 357013964 949233285 275742185 21412945 335227602 110375549 127179908 101018320 403018412 285397705 31969587 209323485 577438670 423200665 847668176 477949543 94607999 670179441 405707996 656928511 420550375 324664470 788683830 502009168 885644723 360615556 802351906 974382747 90087349 198866901 660739932 438067625 209627859 791833030 408917678 358046061 951479384 252735278 924122198 435680638 177294225 247761569 47161434 56301522 306279050 922044491 290408588 364239968 496981143 422245458 456117212 290302725 811372246 132314941 270044421 490634769 927011914 252025512 630967639 604681176 760364768 217717316 27274869 549097917 146410269 586698795 399253407 281150944 198063889 61424389 115954660 589275013 97272807 644027650 566414279 219377667 993409968 314456847 548581272 993412098 815492034 193781999 687797050 790811143 107964988 468335050 791466776 517293546 889174253 708556038 417739612 193112076 120124132 469250382 590853523 929993763 850404146 619798212 300061018 897513450 131843952 568087145 248952627 443499443 134209748 67180703 251019825 210479589 411865899 487295434 46061944 375520906 900558757 197053086 433587965 933538970 609207790 378395115 683043696 177341105 142638018 312286914 88806621 800826249 168075176 711663481 112222385 343988926 453823337 542089139 939591040 97361071 627361202 678916797 18826632 574473529 954237132 316155852 412475413 615558582 180098942 431321112 362044087 856946953 637961702 381845847 40528580 330073484 690747271 143744084 655096755 954567748 245665600 436750742 457433080 928888099 207785110 784062741 22902742 640490516 626979187 875278246 478198484 714314021 904151447 158372169 213734378 666331158 473089626 74055366 716673843 965534820 73373747 842469362 381539802 4158213 736625864 263143946 233985669 390817672 284451091 619939548 946397756 439628115 941436974 258802736 923290490 527138688 895475868 795256265 457705176 542240063 204150533 35497333 685974039 222224855 459727909 903075182 543106201 908592707 699061280 234253605 867851531 132302852 608253305 974380124 726995514 106514432 342980187 783824007 407247418 509988626 121716050 602404129 52962074 613992089 209499013 162660342 912750489 388675338 528620202 467866612 61981854 707634009 777101864 292535072 350903945 693044885 512016867 260001908 690350923 931973903 119798346 293234790 379945763 429788464 570078383 613358056 1455855 128292731 579228086 854896469 384649621 347626017 555992219 124155321 229472649 759350050 975840713 552878504 906483947 29098835 262851219 604284303 977917126 820562993 879675929 33331809 397539269 706079332 442291796 268587827 467374379 147669400 77489177 168677826 571476026 131479629 107886827 327293375 800258931 68222736 706604491 910776087 520286811 427185867 527283200 463594702 975504627 932270516 975645214 798831156 788683963 549215080 892630922 800547791 173950721 215803105 907890689 446292548 439247455 307827859 721104732 603295018 309686166 920726351 808945379 465111296 595969949 83503583 365465383 308462709 83613568 306350285 61827492 748453283 313118494 262725221 590716302 854604867 272314376 838479 754979957 158620667 935175494 66173732 696866749 558841470 403460978 806308632 484051118 138200768 79438044 985891812 515060876 313042724 650842399 122764707 697179008 23053113 808597971 554852611 643742819 522662208 46472067 671240242 904743986 916087996 841356053 534758764 569441594 614804345 415851142 539613807 615217976 855173125 301281021 973814167 484144111 346454627 182125758 777815361 329579913 703038843 848797573 400814753 774462194 862747262 527322746 746308204 423149633 528144896 756198925 614097112 991185387 501886642 687377403 442882939 681709156 293016108 408708968 474013550 839563551 936715169 326181984 332313404 946006528 350481974 337781617 722839211 42223019 310155614 717729388 87739762 915701573 309344017 893301009 748482402 232807737 539732954 533711738 622838436 347592791 672417435 59138481 574563834 732226647 599336414 870443201 963002572 910045066 744472978 284965674 860833949 652305413 806791836 896409028 158275287 365558221 845086325 348345027 552787846 12800425 606510698 72808463 127930858 21540958 509949060 661555947 130607422 105265187 115839802 708517400 555768898 616093595 699544288 254200209 895626675 614531651 613584737 982754836 358525141 66864795 752486036 231348659 201533520 248785474 357332263 955260683 129848954 61860201 730884286 703838910 579446549 902199771 471881815 700500012 247246425 867302023 905907242 308980763 425700753 922042366 979574368 109269890 291835957 684244244 869922731 791864919 16814254 181756105 275774934 195501549 924838886 821043641 234025453 96009328 198928153 513624971 49578996 88931086 103992349 519785538 896788364 48243969 249510006 959952801 905613839 424541344 802645505 265539078 116443698 882951798 286584159 939714608 689175732 716974254 759292904 926832832 368959459 35891817 138495284 112658567 531362313 245590288 820330215 827125045 559548699 129612540 208734238 372811119 326784228 767189701 813226705 705459169 494673363 832678804 821673840 52980736 188993037 735436749 988494056 858544148 269890071 952905437 67563469 320326172 632913227 979419341 688299054 628872736 768987446 315859477 93769782 33239722 828604532 713685015 831137566 616864695 408848430 322424558 259802306 354079394 65906293 526854953 232403781 858549368 462295793 651426801 415759145 531003537 448791752 238065431 977170201 312185415 322188948 869819209 412725297 958718082 667419487 397525132 475522920 517648623 756447203 970134010 74125675 766026133 491515206 207589645 238639899 950753184 736278134 496644945 631078957 207682043 309369511 897709256 401610964 963815988 547358898 721507703 420883255 864779337 122492250 20421365 998493227 666389398 499912771 866531697 652926420 306936370 166829025 956121819 840031015 884024511 384633700 341792544 620269023 347636066 244724550 322715519 355745948 907726833 737230362 817316766 839316948 944483102 707487484 507186302 858377468 43145418 203535145 565247917 772126128 59924288 286899167 975793228 265529738 842122277 493377731 958850407 994517054 488641544 874414258 341158955 92360195 685975505 902385287 628662230 904133445 43334168 973413355 289809124 409530485 627549138 69685154 743923066 67379245 829267284 404130244 831440688 130109389 69791791 445299788 816604702 724647649 848635572 507057544 617556321 19940350 296918553 996984689 441630818 269440687 261326541 7933982 832068993 475194814 481766616 913329587 782969136 886967417 143009634 530714819 74192659 780698135 896255043 527599816 906494431 737423603 982347410 825858063 848773717 754229691 898052537 895298729 878049932 687065941 42745095 679721599 189080767 14920722 46795720 973535 232294781 416073409