584 708126421 394229462 891200503 135342693 408544456 854341460 770976639 93352862 394338871 895257867 873798851 817397275 460531801 612827750 867068395 369076296 530581496 59155644 858676940 488893254 703367760 996402608 208984059 701480719 329886537 252850685 941241705 395584577 960508604 519557511 452069196 898742454 509037443 793122844 696252209 372422389 417282310 878351255 527941576 900794559 536949446 736216626 308482985 681549385 972177169 128877289 535596461 669608748 773563394 865391775 456614978 459696085 427522069 367494893 11548938 24060361 161287374 573507875 319631951 723739298 652441167 86466817 203920653 253447988 749867578 298666915 548960668 2573263 665779967 896643264 976974735 544313353 527710638 682569303 371377177 566886572 760652691 674059047 675671324 575241894 652914541 431065742 253772240 303205589 588516158 379563566 283221522 834521469 899540605 881563385 396707105 273092480 754820237 432681562 431694526 662298974 996050542 26004117 424838678 301015346 228096356 230998782 741018035 452265678 17570141 290120254 116972801 742160797 665122287 800141839 467315582 879372035 443948947 297017924 922338653 521183005 319598884 659751295 386249515 424433552 693593524 936595598 91580814 23246385 873800310 347199241 45761467 5304285 454128492 862786368 449775913 636808462 944587574 708056293 648624820 983751865 259257628 300760701 877532452 797056629 893358837 232837493 607974761 225873747 349245926 300935773 132472452 332817143 392174355 50554857 378075901 419755106 401368203 173247279 450279796 741245681 842643351 682370289 925060918 672198997 187536947 292106937 52409126 52863155 424046809 718242290 450389774 621829547 321662034 53810941 883006452 839156075 377629522 325107752 621379884 440535318 472280514 337004072 446819685 899590206 908592265 431786638 839172379 666568708 324138432 603402413 65849077 386166449 595204092 964621563 400484046 747251860 129069984 323549615 499553907 108408513 652823011 60868338 653795445 551261009 635841155 219078851 445740344 387482084 155103716 435128578 853781767 662267689 171548309 696517214 912783675 483789699 241721555 788008451 126243712 849528744 542943126 549554992 154435899 597106724 301250390 334856929 401914150 900664264 236354889 401908577 499414145 259419469 318908957 818173882 77447047 577537718 743376549 46041164 405499662 172898248 627808277 311611912 86010944 36503249 99432309 74121583 505446585 47268053 806046925 954779060 318792417 517342832 188632756 910635673 669254215 320479574 896143561 713740458 99747092 697332956 900998168 225351348 593642254 793964994 277870609 455747281 90352562 299743967 271455775 607751682 793076275 905635579 817369663 409898688 876550046 805311521 609752115 692815759 685510628 283083634 660944700 918622000 429619497 143292355 651323077 983834779 362855293 355845005 520551023 505766081 606433936 924726663 285356238 340970491 233757505 804982391 566939373 773027902 240193015 770877580 287329418 465855977 482159623 842549313 276736378 408150946 1104500 543856001 264240789 900050663 810437173 527034472 568857505 169643444 435353715 270144559 657932185 856817431 832237759 161519864 947338023 411020724 661680085 175424296 986199091 160593053 433700688 944972674 608308092 225576970 70336700 798292587 87766371 646345803 831289728 867494160 513647240 138437736 875916668 813154923 101689374 735879490 695390575 844940608 968502381 496161502 489445597 182288713 759954551 718034320 267496910 355789255 478471813 426615299 398153293 443921708 648562853 710515345 194844808 315238843 751802699 104049393 631394018 828532130 656544703 715431219 948522716 505959029 798141079 288852080 212262695 528489714 635073686 809613580 564080447 157463072 723163615 569486536 170297796 959762435 840114680 681867509 698615192 224760387 581927749 30134253 996422429 754840517 764220023 99768506 678929591 811044850 370448490 378718437 888693416 651789278 698896949 123284897 76583297 252281090 764491465 456516830 496586349 784551257 104792964 504814811 551718016 314423008 409839062 848244944 29190768 157419313 297888279 576804827 722590363 435324427 958766121 4215526 403280834 161187507 849939032 925635039 704723632 377888771 644962652 148383381 151322381 776027876 912048795 279683282 867896114 315133832 570680894 801541174 17184465 831215575 447269533 133853558 14403667 714219190 11514951 489298283 825417340 910155978 281063492 136566967 831248186 740310865 461086340 249074439 445416258 348637573 93478604 431545934 61287556 955342743 477699116 938423189 960739534 659156807 152263656 515773446 538715469 475875162 572561522 561063245 961544072 160624735 441064679 588233537 440917448 219629109 287923980 554334155 403892306 776883342 250421101 162032759 878236563 76145799 370599504 21325613 200736851 390889810 909663711 312846804 315309232 403750459 758741758 331446367 203577377 149588580 494752360 68145198 475526746 851400041 309044837 390464468 699475101 418259410 672503281 421536231 387509997 508578949 621440800 890086310 280899767 674896641 519281775 521064819 805028536 133665260 367265596 509174206 957891577 223748441 632987292 617281926 222414876 189373863 597772839 737862908 871664599 39052825 364186936 724590978 512597976 311586020 896464085 149659767 751008722 795972041 332323473 229322561 342801193 888319285 830512767 736104033 53503324 818410108 519362380 780576364 13224176 803048576 176357443 934874985 451735687 946920044 842879338 672893692 365237825 942602802 57403347 117724856 565514200 813489676 128028385 322607514 736375516 1985086 247948843 175507261 290832383 874498349 616234112 520063080 44931524 995239977 575706681 472608944 954141344 848749580 178971101 996482805 137146436 132198334 11302484 356468158 833233666 403831078 385255834 801097588 42056807 192546464 131506845 682583617 407853899 556666033 913705983 673929592 811317487 655079116 915333161 153928482 6362620 93999651 149900323 663397352 221430397 33696902 98995911 512883266 246396592 398726544 692992558 690842529 502720101 863357646 491487761 736957463 906499418 90268400 225971723 956381078 672194344 606609856 446726031 416777277 214327322 907811426 593300867 407589616 498188546 810262121 415112970 467878039 429824105 959167263 200168272 85046726 907125335 501978246 534649129 119595646 75576086 188003532 659586281 457007863 552966270 389031650 893187960 103085160 461259989 93717917 2893475 727526077 331887663 742460492 172955852 460257832 994820102 699542742 963251289 739692365 134929797 984055177 778387037 345163614 797798020 74237576 588742613 219701140 608109138 439806315 277377380 386279325 880766204 249526128 926759519 943949958 103798726 106495100 666541784 877512252 956386775 321521995 489048537 39289378 282517424 491905463 181940111 356309584 118856008 332380140 229609367 871319233 835038731 298128230 632349556 603756792 581276468 447645426 153213269 756106031 715558191 912893652 716408835 845101554 152220967 298737116 877159466 952162368 935153241 203355909 907658975 630446630 943946815 778554049 556884726 397817610 90789191 800811691 670903295 449830352 734562352 908240042 776834889 194280759 696059029 253024158 689296826 862769415 184768998 141462153 542757613 476401518 467535122 487637849 318044600 494618236 953368990 844266629 969800053 518079506 367694079 258780846 37667526 147775760 176678319 81010313 47333777 447141058 892883074 449190768 442054289 338890078 233450853 166153624 863578274 318386681 970394855 14690227 728322192 271221315 175476889 710067922 64956335 442194967 239412763 409523822 838506120 472786776 202322954 491696508 954094413 355688063 364259857 86243442 609255422 639606554 658512630 40335944 394698217 92651436 226661559 999901212 235648309 60905738 976560761 455439074 486342767 950927346 277060683 240320340 238050105 985443774 637593980 108375541 40803300 628031315 689950746 450415085 344679694 72227415 534240962 14451206 241524575 655828482 881126310 617119140 868031824 68238059 59561380 317648387 179752714 476310118 570127504 777613714 498773600 789324300 822692281 442665345 483726439 418869499 797588059 550945112 711681655 517581890 402877010 593417983 577232436 203604814 776368166 560320869 159663784 988775251 589070518 751602946 682006284 890371691 296276551 102628504 924490302 490532280 281825986 280624248 558079271 180338519 644838139 516167600 910030623 230137351 980469538 380855207 968003094 868488960 985139300 714903907 315669571 451700464 738074693 626795202 198123441 428136299 23194398 721079386 71531981 514730890 334038138 162827126 169952962 485116624 538511325 634374883 508458290 888485698 370023734 542278817 953826122 687263214 157930095 605365764 481949238 830360163 830454278 815781540 609175001 493277351 594004815 697933281 624713494 869816968 276984042 599513561 62281825 699994379 831728088 104133161 765847019 425055694 85764997 75213638 58455277 96446644 678385343 872483767 204312305 919091708 16503427 259751719 238305629 32336641 2142748 580448047 850510043 937175679 113092560 298675579 563621704 787169203 975951100 925734910 379462486 151432705 177286529 772997835 320599987 858550926 305956263 263636299 457885863 75728114 713646574 742243824 510891044 158564133 854384103 92439785 869532561 719626665 177972752 547845727 692112896 73581690 394752347 337932366 35449147 461813178 987722695 46130275 709855171 510365326 668987525 764258746 746086229 364162220 422145943 404539101 377827802 659355934 816018632 738443172 733445105 269157713 625360430 98992161 669791403 942489135 390642934 591995260 25887288 255683132 899253606 597504971 986856144 36549383 445916386 169938344 143684578 220995125 442195320 250027882 426643553 595293406 194395431 250530229 791158500 362151333 564634250 356213637 751314751 945029118 494984276 311185260 382240536 721060758 714649210 33705404 620866320 689502730 516882360 532887985 246377798 174475456 578734104 358680504 510273542 822944263 495807357 304242007 608163422 22363182 793507381 202805025 544791382 882217048 783123486 75638249 854314860 904790035 680580268 485053383 373391635 878234855 499748926 657471312 761247927 98368894 18376570 212855894 838283658 518650811 259866763 231427177 440009877 415041016 227834476 956034589 655776606 963793783 317101657 400488289 270217994 132660111 493564305 216587472 377750080 283324875 819878453 153803476 637866966 117463852 123098166 296527930 334498380 790601324 313114751 422496447 513337918 791226552 943942662 843127988 800141539 599254569 631971410 707088554 591214148 800938437 733147636 567764565 806625814 379981382 735917506 28570997 519239637 209765177 514267378 835828938 357060979 166987517 741049785 561904937 634562118 923515411 133084608 353246444 716365333 805248684 752356539 660993318 22611033 689231156 369205435 123824694 517435762 469756278 634517668 913498209 957020457 700895548 751938210 216083147 190302522 571302165 637006120 547849327 593899201 544293954 403836579 700303172 889465025 409905578 233678933 373042881 30854520 360755428 596754078 433813291 610796215 666331844 264190898 199094775 595397800 651943678 817698814 214842688 566736545 753299296 862765744 165319238 946554185 851389361 76175447 612948061 269909383 265289933 682818158 305100407 851747746 661754697 172528793 875476796 928277852 646999464 997636552 942851408 412594937 683877826 806381138 317922919 318061880 204945522 285896886 988469446 547230742 360031107 513104556 787254630 530809011 395008780 71122959 189355753 570845107 435974524 152465873 20455950 612779176 686673578 813226423 870502696 883922394 88643302 321478627 180836419 950978208 642999209 148866722 834045033 124644207 969144145 417399320 110013174