750840601 678722180 744501884 159164549 868115056 700377837 806597872 0 84463717 960069244 199477744 234032346 694580626 134293505 953232678 302781808 883764357 694234461 385660905 641964065 598859937 685213873 661266502 499568468 8297871 614674233 350791138 98940118 782397338 253906274 979959722 69953779 865962189 846023503 325116001 562899358 627948299 835172910 627052516 226476189 527469937 805357869 508609452 819487187 234853054 632500774 300186952 565823072 345052528 733974413 602581482 500384262 748077068 12141961 949024445 211296489 150216552 305229160 507547357 438361781 274719088 159091118 357416720 418010173 148966327 483053580 219547455 349154922 267125942 589526911 617442943 978072187 853010929 638178724 805666549 541105563 574824707 726742938 146012347 622600786 797162509 54546898 653119273 488240916 838355902 838567952 922833179 347314793 152186468 385781623 552696883 875274436 417152899 157875197 286562948 76714375 766994308 27138862 418330824 691841770 859636419 835172910 217762480 656198137 233896395 990879298 544263502 712882020 36042684 930557375 237151756 786897493 601977897 186091987 107549064 252248881 616837741 811059487 925117660 756108427 870896122 962790425 410113602 303084831 571552317 392334559 176314068 9358353 518754158 768991175 956521301 836626101 885699279 298671031 535528825 231007639 849064124 465817935 887284433 953581086 447594401 866968318 776064581 585561728 992418691 702984217 670988501 870977813 520418993 716506498 125552487 921366548 931645262 867577865 703560705 856037200 456309451 775773715 257036199 815672561 21911781 600617162 22353140 129204780 471625551 627144297 622978580 252115440 24029822 854622173 170367939 259957823 661824046 334492494 818657431 802017985 997730491 332682821 493847779 710830768 803092358 578789695 581484083 433039203 996807154 980630920 404024900 145172112 829438056 281208074 526258947 841888756 312821964 71798038 393984164 797045705 653123978 303182062 687510939 531672237 585639986 314045251 33513151 89303786 298250887 889820579 724324758 83913762 549559964 846762412 763160476 942346663 447263664 346540759 374316950 161094655 525484060 898997078 931569545 876633424 13828172 524712831 449021342 328521812 637464989 170996194 880341468 120141546 14655427 58814339 821212443 710123839 780296648 222129670 81593765 773127246 120450397 281565455 55229881 889575238 445638781 297616579 775087434 4247645 660046969 541229434 704449919 250674257 690889593 422008479 950277579 742765948 772087993 688501118 962153329 117029742 380227215 297692587 287463801 41384947 943137526 106616545 635548682 719869837 676790029 576305257 204178886 751553031 198012622 837768462 324599555 907035685 958701442 473734575 484144646 204579530 936549289 218036412 791913528 485066011 811913489 225409435 856511146 186529091 169359940 792482480 577287250 125350078 810104522 72176936 462172992 915636962 703718764 751666671 288923777 961249947 121184686 548792237 258749695 781261929 595813775 654885424 761299002 252914336 116426266 275314954 680493509 139976107 792412647 410336475 170782856 563103438 379906199 175443581 557830348 765191106 163864767 770654612 960872190 156534753 668229613 479741176 544173532 502627433 141993886 817862680 478081316 265535302 508620068 332876014 747917519 888947689 0 478273296 254822915 265558813 256752876 143663494 408972785 980947205 466382062 413938900 769836821 253546219 70149145 232288301 566352556 911471931 75906946 28885811 142894148 55646281 218707485 53159687 439643399 261745489 482869901 966689405 600280233 149207141 208822510 633542984 19802465 196220060 662566421 686084456 582378991 409789218 667938614 287768542 157621850 968095201 697457157 215108087 474584524 617452172 478617758 426810825 286971466 999975825 995828687 427834859 585599451 850547096 219511968 730918160 735074610 118815050 73231386 171075166 53352485 639561317 290703839 228014144 280620167 521604256 113028396 559708817 855819308 664069429 520858092 48497268 916269687 618104013 316036480 541682987 422747859 671025060 378018650 822974827 61677994 736518797 900717343 420170776 378267282 592836907 88432257 939417311 505981361 129353806 145258422 657474196 965353482 379186374 586918042 579963098 454280591 539862474 417191150 742175586 105112450 96073457 592947266 412952389 93948769 3593974 243530066 341163272 9593953 934304988 186536119 404663746 573272723 292708184 202808970 53882131 729174173 679391478 213803331 908571581 314638498 447166454 748594156 269831751 72468655 830850889 256230811 253760684 127573928 110349517 904319008 257953277 325599869 450248058 519932343 107347502 967155918 282929616 876551294 608458826 992065598 508037650 999755237 294827955 328865026 172060200 881776316 554130994 221185729 466074301 422092482 91938184 622156074 475200838 262883270 121384257 226746120 423012927 240496903 50230618 856868447 402598592 237642809 901581275 439331596 642345937 477728775 67333538 43569251 399839957 158978499 687247831 165031398 792069052 136114666 456320118 305219492 126130434 377008591 776749321 700034397 614556574 107595118 266518785 414988591 65256269 942147064 432340210 962153985 99971331 347063754 282513179 494095612 686136409 329715521 294575137 169079829 294494356 778973671 728583769 547158887 733883538 274447515 712803133 172090290 934538655 796529483 15195629 826593133 954892314 560678791 420192848 324438542 359768268 569603481 819189814 504428807 148446140 108048982 403155246 607779161 889571309 378802992 792638346 953465443 449862135 607747373 711439480 956025245 561864023 298597548 305286508 166576546 192925257 863395790 532254583 193100957 365585613 279664582 363363090 714216146 346198633 543057750 580511850 232442336 394536699 48831956 789151576 389463003 360463742 137118120 993287967 613396866 63083572 145922361 359642682 184546486 89995129 858561512 675145571 755415044 684866967 4312380 554188115 415897679 139127605 943426406 597972132 586378066 395461862 398580971 18920035 501768487 887747641 658663839 130062151 285276551 363036819 342744875 92547036 176469212 693441636 799073970 896711651 960869976 873268477 585449225 555290658 824000278 291120371 371876716 707726491 876630593 631198965 581220048 638492515 132321988 100592155 286999388 424788945 666004604 310820770 428483876 894743534 260990426 880574377 855105835 221438530 269521106 127866981 459750779 726350743 985259343 917921475 231917950 520110662 656666331 989226322 513461067 152273554 179255645 151936391 762085482 473498087 73559379 520227452 315431349 158739983 888436177 890424929 411689738 764752308 498535225 457562563 15026569 64236881 730127856 381846130 507945081 964182641 990398690 432006942 763750916 900278001 927292918 20995192 387029892 77856666 339375460 163704247 317666545 931146100 741233424 756984331 103511113 406888312 999869392 995044997 872691524 310062877 963448541 470774406 512544591 292337666 683636168 981078457 133458719 857951468 279255843 742985763 276625263 372869176 487768758 278789291 829105992 795610112 585872012 331406886 667757057 913108546 863890569 542169146 943283335 65805598 24038575 912500017 734592143 598222375 152262668 629323442 827367997 613622587 257969725 287306149 183766026 852172622 910717096 912176865 999734667 608320028 783820735 547934221 841322246 419171108 447470549 828642439 168121312 390254758 724535129 167783327 312275278 964166095 782028104 736996334 485085160 956982930 39107387 389837869 381046564 464074879 47694437 701223106 603787528 639295747 242815790 514941812 2303495 538983978 848748480 555020224 491286248 182665764 230183803 983467669 76283939 48594130 889505697 927793195 14103614 439648025 745411547 60689927 384521810 898331868 503573942 221154792 292183818 665947713 748392245 887427882 290772215 867349520 636206016 272123294 444417733 447747225 7547187 859222839 605587616 612056345 566650547 954021626 210480976 636991709 734141566 293605661 161300007 377194502 910136004 931083914 738276573 953502328 791163291 280187011 719295592 525528844 410915112 724973984 760808311 27972844 274123764 415946633 397848267 325792423 837232551 971874560 65274134 385089536 279440195 316824944 135641397 24951763 965294410 956637615 250993045 119918161 912389335 498490962 438935693 698021238 480662948 484994158 637025968 65711902 508915425 877209813 418890209 343419612 1382095 408289630 500384262 378873421 606310474 335513507 103447806 468895284 461212281 264612320 597697146 987491982 960284489 671614543 443478157 881212211 126647838 647715809 941500520 472058852 832805247 595301057 538067817 792693750 210232571 412047884 783760069 395757168 27852107 538198525 717098267 840693530 282944558 212605704 0 121362664 866220155 519672581 464966221 135351942 995956378 86522165 448519235 200468850 41252354 923135439 698632121 913031208 431194145 798732910 744955433 997627645 172095073 703499620 771129045 754255369 0 32422660 648387439 287738515 320382064 525421421 523549741 467773266 26374711 357351232 635099874 546165399 423064491 0 845377507 586764289 841351337 454354538 805050152 49558638 240556887 679410030 680107329 851940552 73278634 499093010 424468016 851483686 623116712 469685450 817827181 483799465 154844049 174105926 704731507 443549886 280051116 511048090 374151038 759525482 382580573 341335181 311109529 755032673 577529144 506527743 522939512 853840620 330910856 320012225 15778908 916528012 325756149 524317944 916977508 492757869 327395213 470596437 674078889 130231474 1436418 120027665 988042049 668312670 349736906 149036967 346179230 615612896 614897712 823964328 705213384 86229410 0 66900277 167564249 378904084 71100222 478745302 980283614 13776549 205920243 745805098 693493889 683613831 453250544 354170224 947291264 32488257 362548043 920298385 499309140 192613492 988282489 858654188 806575945 19105822 418694763 186574924 140997561 637436310 608281673 372943840 747976087 42027471 254486379 603405791