diff --git a/exercises/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.testcase2.json b/exercises/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.testcase2.json new file mode 100644 index 0000000..d3eec37 --- /dev/null +++ b/exercises/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array.testcase2.json @@ -0,0 +1,7 @@ +[ + { + "title": "Test case 2", + "input": [636651840, 845593958, 514430275, 950990774, 89897149, 679801372, 575598744, 260814438, 500059913, 881915491, 591284043, 454066471, 611431220, 826515366, 49617511, 336370744, 513856245, 737433951, 523386457, 376314974, 26425770, 503416333, 852787662, 81524802, 250492900, 454599470, 264058383, 706005214, 289983142, 349828231, 267236122, 409234413, 442066742, 58250154, 163527138, 607140244, 337917572, 552480275, 418721021, 38424124, 439981921, 475588248, 723105679, 454907738, 833649732, 595656612, 739558418, 92178114, 597554651, 499210148, 402179452, 803711142, 555111155, 312799822, 470464749, 323632338, 958649860, 918516447, 850765284, 774005072, 243439234, 428078375, 53159323, 876685776, 432607199, 902274904, 221060150, 26356538, 565952752, 952042645, 796639748, 182603727, 678670099, 786312776, 816696378, 725070249, 18401955, 251248144, 560406745, 250214514, 697909919, 323713825, 23256736, 10529061, 413854491, 319909544, 850519351, 361285214, 906945417, 955125367, 472768053, 525810000, 967036116, 188181266, 831917623, 811849170, 805524026, 917266006, 737719353, 484762061, 135302965, 451181703, 954765300, 972796810, 132544847, 354340084, 417689163, 626456123, 62408603, 858356490, 90287262, 217271665, 578481079, 89490486, 748019782, 682460519, 749377651, 941364701, 8529402, 28065495, 81391365, 176166607, 632303734, 874943988, 620960675, 493315857, 620799878, 851105745, 734373388, 735045287, 665025938, 868476428, 334090623, 10680445, 999261988, 394622948, 111765523, 701936752, 415164634, 289165828, 8478497, 886072, 442175486, 513963287, 400733287, 843645338, 166560308, 744100080, 765793829, 321384144, 465341103, 360206575, 771168681, 270799855, 138775894, 468918443, 541502885, 227413726, 619730286, 250379813, 96513734, 576535175, 572577115, 933967750, 205405841, 407077745, 68705497, 63987221, 247349869, 718786265, 428382944, 575143189, 780039142, 661292911, 429066985, 409726484, 404660571, 219686587, 457746399, 934006643, 864555929, 349064897, 617472053, 624939547, 262141785, 468352593, 745335644, 426033194, 873863897, 898024451, 865809585, 225474654, 992132468, 567256758, 61123235, 449609186, 188136792, 711306414, 154589631, 147093042, 415710209, 480541863, 919299416, 225285551, 705828507, 724272300, 457131120, 624753364, 965161530, 395758645, 278039571, 224793573, 382055730, 489456153, 72299168, 850437630, 567149131, 169335326, 470080495, 152283411, 852918665, 875236797, 817755439, 268816811, 105496196, 156292846, 978316116, 871737670, 925723619, 766192027, 592731300, 414472920, 840920144, 314647965, 181407228, 278349603, 287830115, 334712081, 270942025, 560187104, 495015016, 417123719, 818076866, 604750398, 8803039, 977175297, 139766520, 515694884, 522723253, 279450975, 277712172, 861601367, 419131778, 568539174, 341547881, 354830522, 264237962, 780930081, 902682742, 761553143, 639392035, 911172681, 69492981, 136541487, 397274624, 767416239, 114856951, 157498389, 836249890, 438580042, 477285002, 165817141, 527618153, 602351471, 641691673, 560630756, 575913859, 409573771, 438103897, 215485455, 272656600, 793285532, 824376300, 496927947, 671394860, 522438051, 680125163, 158388168, 306381687, 941213679, 520449928, 934707691, 712668715, 937884934, 154816104, 54768466, 281952149, 953339830, 358988280, 753485015, 820876868, 407861962, 375043836, 329684021, 746610739, 520600432, 545652294, 39927430, 354486970, 61823817, 64725241, 516306691, 109944903, 520526848, 340379020, 263831617, 598972834, 625853190, 26487023, 591040529, 27842822, 588503658, 696885452, 938385790, 959387776, 12426264, 732857851, 279704419, 715079728, 915253673, 582940358, 564909496, 480334498, 9133839, 445174795, 167751351, 102510574, 643530066, 748552723, 924747853, 726171590, 800975963, 991208938, 838656870, 54981822, 334626819, 802827892, 724069788, 966762192, 950427834, 286972010, 643344739, 801688918, 860539428, 961308977, 226234571, 730517486, 228446943, 670116682, 311766894, 821677709, 983254572, 787915410, 524200422, 303212933, 57767885, 812091047, 299978856, 258849389, 719597763, 823720088, 222040886, 555928359, 584113278, 603780207, 817610969, 57630225, 609169765, 241283351, 88414048, 454529178, 388885372, 365117641, 927947405, 332632603, 976307516, 809426527, 132668737, 607986965, 797582507, 147608770, 829827064, 98187886, 814420169, 490910360, 177332118, 462899515, 332410999, 341227295, 556483172, 588474802, 478843816, 941339676, 460719905, 688508624, 122231798, 297316133, 356045607, 332626872, 18133904, 476321652, 108381721, 770474484, 263570165, 284389888, 983998064, 648473245, 145412708, 540922778, 883867796, 912728036, 116390061, 428145119, 39644782, 837294240, 747485172, 616873708, 914880429, 719119866, 672505317, 241842587, 788244617, 750405064, 543842296, 605086210, 397542751, 766824404, 504970489, 911861388, 589419635, 119861698, 139100063, 711126367, 907784298, 124718022, 531855859, 619405456, 585326428, 420445954, 855680702, 260369695, 985133142, 992644680, 430567062, 520852323, 97088249, 161429444, 48796865, 288474443, 427358653, 789287552, 530964025, 71540872, 807935451, 246075742, 309791521, 6648090, 496150880, 96148695, 627576985, 79621350, 516824860, 155210506, 41368837, 309004384, 723524290, 739401045, 697675243, 446672449, 47146343, 369466717, 944394702, 448152952, 244587065, 617686242, 400646887, 967404001, 810675878, 207848519, 21983039, 414155188, 41556701, 634975044, 451302690, 539012909, 644788209, 152704991, 29374372, 822529412, 156818509, 119788576, 602730957, 125110635, 437872811, 510299773, 872387192, 207838127, 31218473, 422477993, 544585972, 979745469, 298017212, 277189510, 341884373, 225642085, 482571258, 71752268, 452472798, 141357150, 269010783, 506386235, 346324981, 290296551, 853867368, 117116065, 235935099, 407849155, 99370707, 463638270, 571352185, 512525002, 630570704, 618388736, 445904221, 605741124, 528379527, 776039167, 288180273, 61390839, 178139863, 84901224, 216667617, 695210448, 922418574, 112222197, 105586448, 701200645, 33390240, 479516515, 216196968, 748390212, 656720591, 120590985, 738637179, 556837308, 188010756, 391378807, 509911601, 912840480, 562186285, 97171963, 652875810, 862224448, 864314703, 251189466, 880005373, 68782564, 326895336, 734901393, 358767047, 181389679, 724037384, 600067551, 475491099, 295847978, 813190837, 85798461, 646248877, 994026179, 351527133, 706229925, 308273348, 667522097, 976946525, 764688643, 409137888, 554244637, 877680140, 853397961, 594676253, 413326241, 802849207, 487873399, 28971805, 310911079, 237334691, 697880358, 372866018, 861469494, 514666640, 212038648, 808729412, 454979192, 669838580, 575271525, 779352861, 76765366, 488341220, 624834397, 130045298, 93162914, 854248001, 317006967, 692710317, 818322592, 447868575, 997329732, 53048578, 342523717, 411702927, 653023590, 768042779, 710983809, 211829913, 154293638, 625456795, 324094030, 446429089, 298568915, 325489345, 498639600, 183915799, 326719115, 878467916, 46247888, 4435297, 797354194, 692450639, 860131494, 158907232, 425659810, 454466254, 82122553, 357883749, 139914285, 821031705, 800053302, 822651179, 310982762, 542259272, 428548039, 298035714, 251108031, 766458148, 638561103, 309239999, 23226667, 347547525, 692779960, 428387939, 741458303, 17315399, 255971867, 729530259, 421467502, 629484301, 57345794, 294587902, 734536400, 900227649, 199024649, 677466952, 927538892, 263491239, 998777823, 502805159, 864335489, 374512450, 202228487, 226154378, 271263315, 672030589, 584200144, 635517594, 832019535, 663497608, 331255220, 644568932, 455424220, 781717379, 440055726, 608308930, 525055955, 371116854, 104349276, 865777752, 983697055, 229885946, 399296293, 288103066, 2537751, 145509250, 127590272, 726341171, 33897921, 801365277, 826246642, 606481813, 811372924, 811561075, 951392691, 878070986, 695952665, 330465886, 344814722, 449946243, 602778728, 487807971, 156363599, 589852661, 466573793, 492766471, 832160970, 633449626, 766086904, 432544006, 697902576, 343417749, 422511822, 954453722, 420809023, 542850548, 338617348, 885056033, 349035708, 646469014, 708943037, 407465817, 645051821, 236605397, 741897950, 988452437, 439442999, 796035592, 250241458, 884566489, 63399434, 939197722, 665513828, 248335451, 474006103, 779580656, 791438105, 307385608, 936439165, 643492068, 760908035, 52544155, 574551154, 166099319, 324655251, 88859406, 558532745, 8789127, 821732923, 338673345, 740615132, 581717985, 894881520, 76321699, 212504966, 383907400, 504795950, 361891594, 319592424, 39670499, 751832861, 81436860, 77960957, 516690063, 387985263, 139562894, 88413997, 820676408, 987559119, 60226632, 424250797, 32631735, 332903274, 464092131, 7119217, 29169092, 940404027, 542280338, 85194909, 402796604, 594963944, 566145340, 701049021, 361061644, 621160872, 945746351, 881157351, 42047462, 662182021, 586960241, 752450684, 168372369, 819340250, 207157259, 185123071, 892220127, 549931858, 917710980, 869214066, 116931652, 768243308, 812213747, 560466081, 11469089, 520314317, 957420080, 116960308, 7259841, 329567471, 157553000, 780536313, 161715758, 564956740, 954103135, 402379195, 566673667, 642511903, 324406930, 345660568, 25342883, 330541016, 219384580, 984403987, 447810085, 848919687, 518593523, 731489494, 163040987, 426477520, 39881485, 667228446, 491570102, 74728825, 548499958, 573709223, 764857481, 915252028, 836261457, 690806359, 539712186, 84368476, 161464003, 418269054, 811786416, 802027152, 927490534, 163408537, 372651775, 474795305, 249976612, 198643067, 988553030, 964845261, 787177580, 267606968, 233153825, 254998320, 33145467, 950954081, 206887980, 638713098, 313079037, 161667186, 972986897, 279749100, 39905619, 558340120, 207218023, 788308953, 256624801, 449780465, 577889164, 805533280, 27523339, 542835483, 189412028, 505834533, 627015370, 295332018, 567332947, 678923701, 335477846, 549391888, 153920854, 687735654, 960564756, 684860804, 527240613, 728085232, 124922561, 539315028, 597466671, 128829461, 736455430, 186426252, 313298284, 396966186, 206728900, 487389851, 15357837, 907909186, 895366841, 604364643, 581150582, 175670651, 306081207, 276155484, 623450984, 473780364, 606263959, 732530714, 105987363, 756876834, 440466296, 959160317, 939286785, 226777794, 878576097, 213256165, 71305707, 780081806, 144750299, 673718188, 89895082, 206242354, 731118939, 291312335, 399694793, 494276901, 884307960, 277129827, 954739380, 173854771, 206029239, 885916607, 251120091, 760540061, 692940949, 778007242, 639237117, 649215579, 482064005, 45990526, 255386042, 252615569, 407293664, 263909704, 519107972, 922430339, 823653062, 50222984, 735509211, 158715627, 683597380, 316054271, 630144115, 830736786, 48413728, 759633144, 184977505, 320852303, 373062011, 119111724, 688826166, 267841382, 924340939, 938274751, 416395897, 883733205, 951029857, 844954311, 421596855, 876859897, 931535201, 990520027, 447626000, 118589962, 650614823, 423991158, 295079531, 395093398, 485288766, 948384075, 4647234, 691232933, 68035002, 132241490, 486190324, 132887999, 111888638, 61044475, 661214990, 381434050, 304609728, 328232176, 328643836, 464150632, 488330941, 343309439, 70671183, 551124154, 954603914, 63226117, 647684519, 339897033, 11352533, 635192848, 491847355, 257140107, 806909391, 666929228, 512889243, 7571178, 96340629, 877698120, 631134372, 802213628, 187869375, 768614201, 915872944, 243424578, 259152902, 828526850, 979310582, 621429075, 62944174, 72985826, 682799873, 895497939, 675015755, 404459448, 782859422, 963568797, 224892189, 801117245, 301091311, 625382048, 691946487, 765499322, 40432459, 625034875, 618069269, 663414184, 84326703, 735790668, 209745125, 307854805, 95449160, 698928180, 744891394, 245159400, 978278890, 479790229, 399849662, 434534714, 399916286, 508330241, 256244167, 903272399, 610090812, 167963879, 870726328, 740593976, 389695335, 720219307, 640028248, 72814718, 225739053, 587952547, 187661807, 297140804, 52286283, 374403564, 289307813, 782677532, 725796456, 394928386, 637172482, 305604445, 367860569, 714786115, 699930977, 533522720, 721239672, 289239181, 535448700, 560216250, 467854395, 149704103, 598906674, 348789870, 582930463, 29121070, 71516111, 419242434, 482304730, 957022613, 561128661, 187064476, 369173865, 518502237, 237130913, 667813576, 68088839, 573952364, 764164520, 897025639, 664721844, 320989072, 497979294, 319767153, 420253784, 631103070, 82506062, 618668931, 302029181, 88074583, 361821976, 300084822, 218866028, 922037737, 411174826, 25400730, 701163355, 508244844, 265708729, 74341997, 114321933, 987457267, 861684061, 963577981, 10471821, 347877914, 421845495, 66064418, 940604978, 167475875, 212198895, 718486791, 214881307, 377255208, 665987032, 623075888, 507145580, 278005645, 435732893, 859936548, 896799529, 604496938, 649239073, 834751581, 248796714, 468160100, 736532840, 645353239, 642608195, 260720692, 407986456, 347332020, 865367940, 208634530, 992585597, 365431854, 522603453, 922137018, 117896468, 407134348, 550310422, 270160149, 589829266, 376062170, 545332689, 739572446, 472548791, 289961086, 529864006, 553350584, 253259058, 565932604, 693201240, 505471196, 530985147, 546506673, 499761589, 243430066, 38482548, 21623516, 461718009, 255622666, 687146954, 303563188, 258597493, 463489496, 569164118, 599302723, 789093142, 641384979, 179518682, 249037477, 515364439, 580199437, 55643303, 914445007, 327604370, 743982329, 739377206, 794073614, 12467008, 258361993, 117416758, 689457903, 912286649, 212106592, 100139294, 265065399, 769636065, 800714752, 513611798, 741783241, 920892050, 406011759, 178575976, 94905213, 145684957, 346400070, 506098722, 592010491, 816810958, 895678312, 424369946, 463216265, 22348129, 770990671, 408415089, 44363559, 251272664, 838451609, 216282165, 610545804, 663161644, 503637732, 49347408, 302941178, 833169435, 660992028, 674794637, 240951694, 865789574, 265291815, 285168937, 897596188, 271374622, 783881170, 897461261, 784251953, 607085364, 501917801, 667187148, 648406454, 761318586, 534589467, 569713281, 969122068, 241423626, 78773421, 420382973, 176974428, 878784520, 34924555, 971944776, 888195441, 154662115, 321967995, 158310254, 990733599, 607029265, 549875632, 116002869, 138447460, 647345589, 744726181, 531058341, 548125696, 849906059, 675969865, 433043521, 11319902, 745418171, 248420826, 596967227, 553405030, 593190807, 935804056, 170698624, 858736729, 58819835, 5995323, 390094182, 436164285, 269572600, 839002494, 247849317, 101681780, 981389985, 311999761, 409313688, 976705678, 861532441, 776667905, 596336815, 148183388, 879175088, 66530124, 87200450, 812522256, 536760392, 498470423, 953283929, 132832682, 929591861, 137808205, 169231949, 316817817, 421069109, 934922607, 888875333, 791744137, 853416650, 86898224, 730727952, 319754996, 751506832, 531460070, 752411839, 738303090, 967735467, 468795801, 967447876, 574340807, 159057057, 409532256, 450091042, 328406747, 500411096, 352297376, 702396242, 799235600, 329227537, 900970111, 39176268, 43548199, 716154698, 393410807, 477907317, 404895671, 606245297, 829394568, 934712251, 991096805, 22318394, 689687435, 380238351, 269828312, 726809776, 462818366, 372814925, 127795557, 503757638, 916903978, 786635640, 181658731, 723404836, 923490420, 751552507, 929221163, 928651872, 171932859, 996394130, 734523601, 738426163, 167632319, 179871644, 786060566, 596342711, 495415694, 163326596, 364308873, 219955476, 644027873, 222231081, 107765853, 516556665, 905212722, 459867044, 286856454, 109762202, 616572536, 512777060, 411559973, 99761586, 735636957, 298148745, 157748567, 254359140, 879167075, 136099789, 20800108, 483398101, 360437224, 256482612, 51110975, 612531932, 441610978, 201395828, 315622649, 298522665, 799213618, 680686754, 832545063, 381366655, 569559122, 466638950, 29216040, 735922088, 816564354, 163724705, 89462041, 147122816, 914102399, 469062604, 628375509, 466331047, 582718046, 736437703, 480420058, 389360011, 647074938, 100619332, 91652398, 405271924, 664177918, 605494838, 339989578, 873385043, 277969998, 99110630, 532958446, 347248431, 715900233, 198765589, 119310239, 549249723, 654912529, 937815290, 467866818, 166329581, 802797855, 75072197, 984070332, 523622310, 325945461, 806735029, 234471804, 329604374, 155878916, 260817406, 903185844, 683534599, 350002950, 476006211, 726056694, 588745517, 349326000, 516726556, 648667639, 408228237, 541094558, 474572911, 988709550, 990323625, 753055611, 970197468, 716435162, 847600918, 99273971, 577272454, 492307000, 211179482, 452035791, 410623219, 985794852, 163872558, 791765110, 550730868, 90718363, 986097427, 630427842, 77239669, 158609814, 70383374, 831171790, 955521811, 350178396, 280795801, 66981893, 931344613, 72297865, 709964403, 777032069, 838182847, 278332900, 864645738, 821413479, 197435561, 614564103, 23333154, 569813364, 769222870, 445761049, 443792217, 753720779, 335242335, 155153136, 316403548, 681128936, 226289163, 104300832, 258244210, 656531672, 767489442, 78188329, 206937736, 567659580, 674250885, 812775841, 147840855, 637315357, 56742747, 511403383, 588367053, 18303634, 954376970, 759196858, 216957875, 225621015, 391959036, 729853498, 313793118, 508655589, 23413957, 648442705, 713858674, 649758432, 757313220, 384148290, 113118824, 352177058, 241949130, 774616939, 750801039, 299781991, 553839396, 966938688, 393760506, 102248693, 429132173, 201397258, 918448160, 634988209, 573577083, 748206337, 771340928, 669927148, 778940244, 418087560, 407244115, 584160762, 977668365, 587488188, 989752493, 548296510, 123439120, 710881264, 176404210, 969752008, 780820600, 764696627, 796349066, 588569749, 164311443, 285731941, 782962232, 5271516, 474633867, 139328448, 582432507, 681910671, 238557800, 55194941, 11173735, 367747423, 72355445, 178513855, 118459928, 899304356, 333713629, 838159382, 177529011, 691758602, 792162364, 48819328, 888451702, 14919038, 865761809, 464891107, 533941625, 1766866, 143208288, 838203930, 615512568, 485347866, 204012292, 120954037, 503591719, 303257703, 740497110, 346573494, 445805238, 334530014, 90573613, 175645071, 918650310, 19527626, 882910604, 570436915, 287710011, 619003610, 145975527, 745960156, 509429529, 53759900, 401043616, 250646484, 889518951, 909408978, 921786842, 555307071, 497389073, 421054017, 533257617, 794804700, 730106733, 316149304, 706797737, 491617083, 359728653, 29709594, 331979570, 310813712, 774282218, 339520186, 29051009, 425220434, 600200328, 696619785, 737638468, 44131299, 594657000, 191458267, 735794835, 756536518, 505252956, 376450066, 712121098, 378959713, 937150389, 408735518, 514760477, 701603384, 380959487, 57149818, 870304175, 850384114, 118129452, 577601835, 553599177, 653752643, 117036991, 480796703, 833444565, 289138190, 344993033, 298542456, 659808235, 358861850, 673108110, 347150432, 315987505, 31594836, 875591868, 787289197, 676690713, 359396285, 920375689, 612829132, 397187921, 397612750, 41897932, 935543884, 828816354, 772370628, 27839810, 971141864, 699594912, 709187573, 752398313, 465952401, 659874002, 113930909, 33698584, 44911600, 427235266, 271183846, 87110537, 759119698, 824561130, 934555541, 152404091, 216593908, 659149132, 738914642, 350443037, 464096488, 668215378, 72027855, 741770640, 631651179, 805929679, 825837526, 632491395, 63688505, 847600034, 698951378, 707675209, 583770751, 786765383, 443471904, 301974310, 635717042, 90588426, 341630904, 690872423, 563880774, 321669691, 628817804, 653428103, 155977028, 587546704, 901511559, 817613391, 80877545, 697302245, 681950884, 152131694, 971181573, 941424946, 393845016, 501490799, 289813234, 992714376, 828003274, 90326156, 900980443, 45673927, 317027410, 662487096, 260493055, 132752640, 557114209, 784697660, 160443318, 860985813, 73942581, 260475424, 809224698, 666437599, 225754030, 384758114, 144512677, 337823625, 595013457, 58161619, 130478716, 909299679, 530366566, 59178374, 425176836, 193811419, 492694496, 283335743, 877476867, 145843205, 572363115, 514879975, 274886382, 615022563, 624805116, 845310170, 47783001, 186065578, 739233859, 39655011, 560763985, 27908970, 33172317, 923488720, 528882153, 403714698, 92354744, 435830605, 65443059, 352103096, 759582190, 811409391, 926515189, 41752495, 243308542, 200425250, 117779347, 216343264, 302245526, 712713181, 558371965, 64456927, 548410271, 863077699, 250784608, 1624293, 730647916, 703563655, 994202546, 279109156, 208472905, 923610305, 185593130, 775851539, 241275085, 655854860, 53913643, 757043239, 500043525, 978762552, 217199852, 253331200, 319521280, 229965014, 825955388, 135492284, 533290232, 945310302, 693255091, 578344002, 708539589, 340467744, 847199912, 728333439, 279829121, 164345796, 128334663, 276662822, 221755614, 286787161, 141196819, 976936134, 426659742, 290221837, 173155714, 815661690, 966189765, 125188485, 824284715, 517484390, 534590117, 96231688, 36239346, 906948836, 293747725, 555518721, 727211248, 507187342, 23571546, 163637728, 952900054, 818877512, 282896651, 660584758, 413314163, 197237405, 911839865, 120657682, 347167187, 900744109, 538026539, 685486202, 52032216, 668628186, 526076427, 705760381, 982409627, 637800323, 891574335, 242624745, 480872841, 445594805, 242937803, 801982679, 302185239, 951635286, 513212927, 628380254, 763770750, 533392929, 977946936, 610619556, 81959114, 278875687, 952469055, 553394916, 771327579, 58982619, 770167933, 706964659, 108371113, 175296138, 751717643, 941406336, 131883047, 516408439, 524939798, 748088116, 272518161, 725705886, 457254486, 733586871, 638767019, 446558492, 156530946, 680396111, 471360585, 273143454, 850927863, 658418092, 565532806, 549721443, 434383614, 501739343, 178060441, 363162988, 802974654, 677329380, 198069264, 78077224, 973590927, 708177567, 939310749, 221160275, 257957189, 900013261, 177345249, 198920823, 753661787, 706188636, 436645566, 717480198, 778333679, 673762820, 683909675, 226379546, 74010329, 114819242, 52692092, 773537900, 761324880, 459339219, 839648984, 23599212, 734550632, 764812901, 681565619, 35849619, 691337508, 385207265, 271704698, 608229217, 277820912, 737986862, 768328084, 520177388, 131359167, 129847001, 93772765, 539627001, 402789857, 332772025, 363244956, 26087696, 582395131, 872203879, 24613717, 703335171, 342533896, 130580131, 959409744, 11141256, 11049229, 758884249, 192462170, 191157199, 994648564, 669252166, 473833415, 567382077, 419463822, 827513162, 501271136, 244536593, 311657270, 844272755, 259767600, 83028025, 322032584, 965804023, 33074545, 652924103, 568142518, 984594358, 880408393, 69834255, 501236807, 114461269, 937152103, 403454487, 800206709, 64609628, 96644420, 700195637, 7206646, 572892628, 796248614, 957502213, 238506505, 879301488, 517397217, 915463011, 535349905, 970416043, 640547653, 867762111, 848034986, 466258451, 60954004, 454060453, 578084707, 90832944, 25605185, 330824702, 831888377, 248758354, 709828794, 595766677, 766310392, 479274863, 810439890, 318794180, 866156754, 731414236, 299806382, 959335782, 705380346, 828545472, 141401740, 211814150, 204683669, 179888808, 749403624, 178161884, 316277193, 968446595, 972118269, 462816836, 778778959, 529239292, 769431660, 628225935, 158673917, 635542737, 59186065, 153963406, 635817780, 251982601, 357619202, 511630516, 582529895, 410422826, 189925490, 867513931, 62596084, 569932608, 650339028, 553760716, 352406110, 767147055, 125183539, 499749560, 506302641, 38172505, 207787758, 609290054, 249387032, 778360970, 850899797, 207708121, 856787525, 157312041, 310438524, 384227300, 156322328, 179997764, 875125969, 360743175, 957502065, 871024366, 885249460, 860206693, 865062472, 497472193, 971369422, 934599683, 499854161, 277498380, 380305754, 860878702, 754503396, 961148604, 886517999, 486901223, 91575729, 312157870, 381843787, 627577111, 819875387, 245430760, 672254505, 718949657, 670768092, 232042241, 3407755, 459080306, 745941193, 539701441, 27737817, 896451932, 305441938, 954137358, 80214082, 98520949, 892121396, 117901161, 666478888, 731548227, 760104892, 3030199, 822186180, 841770501, 850935195, 209993812, 477034308, 249636927, 590814315, 849091659, 869286283, 660150607, 652609193, 276889138, 610626850, 538832271, 802646067, 199559837, 265261191, 88215308, 705539120, 64115773, 216976214, 335364364, 711116163, 122527039, 932513247, 950111431, 343856811, 921505958, 901291099, 135484784, 520872749, 767316929, 297766380, 470150497, 444033711, 472707206, 120450661, 344663325, 853147, 661751215, 667009622, 285394335, 784577548, 311456976, 984194539, 453247810, 297401150, 388565654, 245130325, 950503735, 813910097, 278235395, 478940104, 40624216, 301376329, 872965419, 878391253, 624580288, 648479752, 850795696, 443922790, 911758892, 818876847, 655975655, 604408185, 2126082, 298273224, 395404513, 433078216, 88676196, 788824820, 189740924, 679859393, 704066924, 139788996, 211398704, 754928248, 317301200, 333604736, 5735140, 987571317, 393709054, 662863509, 588560763, 137012919, 434600272, 495743855, 428997221, 448140774, 708157051, 12552691, 625594644, 128811383, 689396401, 422621761, 644060883, 235528229, 953635146, 690877298, 288257199, 181134727, 580436052, 967159479, 218303840, 278523696, 236684928, 937236591, 440209693, 36526809, 259217544, 324593006, 769986521, 330974449, 724727638, 151200464, 135105822, 649933856, 204013541, 630439736, 384053665, 825233995, 530543595, 785875178, 346479890, 897206985, 746667720, 575659073, 832474006, 760712660, 302289508, 480598130, 61227491, 303400240, 845225414, 31380452, 558814238, 313759218, 730579508, 180762892, 558836432, 974515280, 740868022, 140169695, 223614581, 291861497, 813347713, 741089288, 996709066, 164706905, 789001835, 451197136, 189233899, 194333784, 694377284, 550043376, 264089617, 760832140, 395934149, 464557890, 191575106, 828700002, 421680657, 690157542, 338060186, 323754106, 718893130, 425695303, 991276056, 166471843, 52410390, 16899059, 160725024, 519000107, 165344680, 595555421, 932120899, 558940604, 257771052, 287578405, 574495894, 17166195, 418381139, 570889919, 175425469, 478225123, 257688629, 841173015, 327338950, 617023898, 272195184, 840169110, 636574849, 58778090, 349241300, 763509700, 174955292, 79387432, 960258395, 650087319, 82724412, 432243029, 983947273, 121868578, 217361478, 127554963, 399195334, 975763693, 618320564, 557305956, 591780787, 884547786, 113815731, 1732152, 817261296, 727416998, 146534809, 481222939, 959827467, 29408922, 902378683, 37342946, 856743344, 481013693, 947031960, 179376463, 911157117, 225786266, 831518663, 258886908, 874956496, 193546471, 971743160, 465775974, 744246630, 484337555, 413145305, 331355823, 434825995, 575602608, 694309058, 25115062, 743032449, 18022888, 854050480, 830205439, 305798533, 666817042, 618185786, 119042602, 71607318, 128125381, 333268358, 633928628, 528698842, 196617017, 559279315, 243132721, 522803676, 670671624, 953620892, 953492683, 797917322, 695070080, 264221631, 428150966, 427479650, 512346792, 563905313, 881944087, 144066349, 540644964, 801533963, 535411512, 442811120, 599694580, 26372489, 990408569, 91400585, 699853184, 301570296, 813124353, 585829945, 573504609, 415201072, 91129924, 438634679, 721900983, 119085941, 567825617, 769445360, 151296005, 494790829, 871395744, 179255638, 299625928, 422522824, 881338114, 958850552, 704767845, 409183165, 707276452, 413979977, 147620605, 789672436, 522419888, 105751803, 877015913, 486689733, 54919195, 105764641, 810738737, 16801176, 521859966, 526909861, 133517798, 3198130, 533391655, 31945549, 29157656, 264334426, 750248507, 947165184, 81747587, 969091726, 906772155, 22657070, 309789367, 366904341, 529102285, 277873743, 122173598, 946803701, 135472846, 881784113, 584885796, 360717216, 381023114, 854581915, 871247370, 259450129, 728730366, 758271908, 424706050, 446242299, 713152376, 687410048, 141804020, 323575825, 520748037, 754506167, 853982846, 561862305, 923142230, 588702279, 907989573, 339798953, 926515718, 733427365, 157121688, 617077621, 116190533, 177102208, 408610625, 489735543, 738603922, 21025926, 100160777, 997936647, 36117493, 570971365, 311694703, 453662871, 278690164, 614333620, 52312162, 402331293, 687703889, 342085693, 424891951, 126925531, 91985018, 858002135, 154038258, 864669341, 446363638, 660930712, 725759833, 641421640, 756373383, 647639931, 656182467, 232181208, 499778202, 766496187, 177173200, 3715322, 613037273, 349898001, 197953206, 956583219, 456168017, 238592934, 511523833, 367166703, 767446226, 500352893, 761474848, 825026388, 165784629, 898176711, 835644445, 664440094, 471840758, 146018240, 261533892, 686141461, 434100010, 503361456, 773560289, 252483526, 472086813, 212269493, 408076646, 612294643, 747348973, 324265917, 584296423, 420301264, 639247604, 113099186, 211128206, 307482879, 623758592, 622668613, 41315374, 612508755, 435748207, 6399859, 515130093, 522596976, 999576966, 520299517, 560238315, 432974387, 63439472, 719614814, 973334346, 397240056, 543804189, 655879199, 651426172, 413209907, 745695998, 140727672, 527740623, 983211348, 332571086, 123332263, 240809501, 998659429, 841328275, 807028171, 952783690, 73827314, 303161675, 543962824, 37308265, 781907603, 349755837, 420844760, 553209040, 519796017, 853703834, 562120670, 135173453, 308552759, 178556808, 679165442, 383171200, 229363808, 680698904, 207787437, 308370875, 203801692, 513682450, 949788723, 5252916, 973141816, 726744909, 108148814, 337594640, 900244977, 367503793, 51095848, 384225895, 118619160, 29775476, 643943127, 105876470, 941956861, 126089681, 28848395, 368780861, 670539651, 800304562, 68061921, 968785325, 749673574, 193270389, 553788795, 95145381, 559765102, 608557938, 455862118, 273549317, 617313978, 324592937, 998150584, 766643658, 273329281, 898270501, 317504428, 506892814, 144428609, 648379849, 827815504, 561877917, 183646590, 542604559, 395310010, 726124406, 414006811, 807273050, 291609488, 398295368, 34935975, 34346964, 598650089, 395868082, 917841956, 577099646, 34006493, 45083192, 656182950, 265798289, 149530296, 719844797, 882135503, 620370931, 97680961, 605767490, 624668142, 581194663, 157946428, 522079833, 16683799, 971176948, 727611406, 816519908, 298426911, 104505878, 890507482, 735236118, 738797120, 957238262, 251411417, 961026776, 442570168, 518452435, 79466092, 593855165, 965633640, 838795245, 984153024, 747360966, 541489440, 580009149, 206471512, 64778356, 266494329, 313289224, 142865931, 230583426, 439322050, 575649379, 93457772, 204428951, 204433933, 495669055, 231089568, 78710161, 850236652, 884348050, 702938167, 464273385, 930670149, 92252976, 958464448, 320870241, 566615702, 614709687, 16103176, 426147490, 423028271, 744042847, 48270106, 634468876, 995383123, 785465350, 861564015, 23059638, 929629343, 593900735, 243313884, 663477802, 258504953, 497950769, 906700584, 530541, 453468321, 946982425, 859182335, 804324262, 683508466, 8533077, 282713466, 537810285, 717730969, 265902094, 403318558, 753011147, 323193761, 558045232, 108771576, 813963458, 478794155, 510365841, 279426156, 631186217, 719447160, 893567979, 532662159, 783845542, 301040714, 523382087, 968565361, 797826396, 927857458, 884991019, 91545606, 57262923, 599309852, 892879446, 658235223, 42803327, 431630070, 387683255, 921586590, 725197232, 899209278, 438234994, 342798203, 249462597, 475951600, 510824870, 759625172, 998368714, 159456287, 158953580, 99132217, 825639098, 57584817, 612372104, 882315911, 393486769, 278598883, 164544170, 301065287, 461394065, 618582460, 109767289, 540015895, 333567388, 626712469, 685787382, 420450117, 615005062, 651397848, 509845403, 558990971, 557230074, 722319491, 258621496, 894476299, 360164900, 76229773, 537801995, 958283081, 190986152, 297032825, 518025778, 137164684, 554562824, 965123155, 981629572, 1993034, 802071924, 360639983, 973630053, 701985197, 504177230, 923555419, 957796936, 938270782, 748068010, 344993412, 633503204, 739304438, 938178958, 1789577, 74981855, 214527067, 227329542, 806041884, 823225422, 301877098, 479233788, 108287564, 290753019, 527090889, 268644757, 58300714, 705715153, 244213434, 282873054, 456306757, 276482659, 88771210, 878018208, 294815751, 353281262, 256760640, 561368099, 143938149, 38326849, 690452678, 702888369, 213572867, 180264125, 563974495, 134609878, 491280764, 787452806, 544455444, 526728556, 596810503, 5634076, 736911693, 276407164, 643330365, 838433969, 124919371, 500218694, 223489409, 208686286, 90488680, 950521259, 186151849, 790515498, 784145168, 331565737, 213368563, 688055214, 557934843, 913823856, 467184127, 872017190, 801219682, 349314568, 566478952, 34657580, 150378525, 253233757, 125184936, 225393137, 214620459, 349211415, 865305257, 649022680, 157941421, 220992917, 61269344, 205894723, 759903306, 619768891, 888978113, 50136534, 909883778, 393285995, 169510861, 780902776, 732759929, 12336380, 753409705, 285401507, 401367046, 488122074, 497376678, 486025067, 427469220, 916160585, 334795411, 223917293, 839672929, 864659015, 201487130, 111543228, 34951319, 260392281, 532063326, 804005387, 249948134, 438878301, 784989035, 698277800, 69524777, 433784988, 544636880, 922619708, 255670549, 726214762, 370366548, 45196761, 148796116, 886762993, 232343459, 231584177, 484126919, 393009411, 472992386, 451721717, 225095567, 15005933, 757420422, 928560941, 414248743, 780806898, 360529262, 129323166, 283127565, 188678927, 84563106, 476537758, 258946977, 600074392, 491106644, 819026606, 267994527, 993931916, 378526607, 520953372, 411784451, 312034991, 954200488, 670074774, 105141973, 138929034, 967896411, 121934423, 444576651, 980792836, 65782497, 328574862, 153600356, 286189499, 912598276, 651562428, 252511952, 944770384, 869876874, 734867383, 216171155, 620760045, 132518208, 331473366, 636365393, 608453107, 530362116, 683120319, 398140317, 363597642, 985506675, 907538841, 758948043, 88389950, 437614817, 573867912, 176269938, 850056642, 974108439, 245804746, 569486438, 950136074, 116110192, 191478281, 86799311, 708404745, 188513027, 298371234, 250775177, 989306894, 816204989, 855131401, 971824350, 550795094, 196814708, 667678484, 821104263, 605853808, 293732685, 709593289, 155157926, 68237475, 795848461, 96497109, 260070512, 87218441, 924888705, 695617465, 833489651, 215863174, 565740302, 174214771, 314595133, 300643770, 522028872, 580854682, 588470706, 270827837, 824468625, 326581267, 509133818, 461023631, 503045311, 167957069, 169805474, 677054861, 701751657, 99091488, 451359340, 493156009, 64793746, 674417155, 705533065, 572145688, 693602506, 794606734, 961561013, 243789491, 596889826, 612522134, 283216023, 785162038, 113393023, 180872279, 722782065, 224650139, 175844415, 744601224, 302378027, 960856450, 392939881, 839364313, 720376652, 847112613, 761238094, 208528097, 235627538, 539298465, 247256553, 46209821, 101384518, 448635379, 201519749, 100538758, 967209014, 945974047, 340308673, 520532729, 748425079, 821148997, 534014084, 112656303, 316294185, 770580329, 725409949, 516228469, 814106444, 26876290, 790732260, 99507018, 918101753, 632413556, 730836112, 659963669, 308409014, 289013226, 440352528, 562465624, 866154588, 921412687, 959965332, 547341898, 584970530, 189037844, 74962045, 686537388, 889893178, 899225898, 690722918, 460965110, 50556440, 33683839, 214784756, 482785547, 185393059, 570775225, 8454917, 296346068, 606739309, 824196262, 650795622, 416382853, 17218235, 636108609, 85629657, 243028204, 828943895, 5089917, 850254490, 192221532, 334014746, 917608847, 949944995, 276218961, 137610919, 361682815, 378870283, 659014436, 110947419, 49442965, 400636463, 553975658, 777572509, 243731459, 517244560, 670448653, 845264797, 284097186, 980006792, 665231748, 663963384, 597946740, 842341610, 399371265, 218649818, 76959096, 385973354, 540626975, 789502815, 63816597, 670170721, 749423907, 222880895, 721619696, 947877301, 53370066, 441632691, 818794109, 67896157, 396136334, 297877676, 405207227, 180970664, 500750865, 875835309, 523458737, 762648197, 217569526, 293987836, 921301612, 77073847, 55504378, 122642617, 632471061, 198736063, 818591711, 398814682, 978568778, 909522410, 474597629, 679460872, 448414089, 441780048, 222388688, 843715422, 964715787, 249673257, 180555516, 3670655, 199575204, 900508085, 963417017, 794032634, 212177120, 618751865, 142321220, 898238277, 411348517, 374921090, 701483544, 62325699, 564822008, 210277542, 330561154, 234160105, 860416051, 361055880, 565618880, 628121115, 328037363, 527618755, 100818062, 930269169, 90333158, 25849384, 192436438, 326477274, 172899508, 323653646, 148443843, 180766217, 11388291, 599033007, 483988293, 787918246, 812201848, 483498321, 545976935, 502357089, 194652714, 907535171, 136790026, 479408037, 585083791, 323606229, 357003614, 131757981, 240304389, 902864100, 989573673, 625826861, 295565334, 828407505, 48250125, 933623282, 780317305, 598708801, 65567911, 779127283, 664577373, 564642218, 209692377, 707096456, 188623428, 457757240, 127396945, 627674581, 458748961, 194537390, 799242424, 171459609, 29341303, 568842847, 975627902, 802521019, 730784669, 416942645, 191666797, 368929420, 649036230, 406256937, 562801405, 805700632, 231300507, 42790599, 148532613, 537870695, 327120076, 751690216, 541813021, 682126509, 25958722, 382003050, 316222604, 122817899, 495058930, 517267788, 27354422, 961130887, 433500764, 796479375, 235166201, 175692390, 92685105, 301489730, 770281603, 921675250, 363385427, 109847829, 327717476, 383838744, 699329802, 470699716, 349439883, 219803055, 314181012, 320787621, 531393095, 461678138, 20380435, 729769531, 619008502, 50602111, 895192609, 812485892, 305749759, 669286396, 112612524, 589739009, 731614200, 682553460, 981931412, 627948061, 632569644, 479133736, 962123454, 310399404, 304587440, 769059489, 911969364, 59994259, 85250909, 50899214, 858208180, 895625689, 796749883, 934683419, 191916385, 56454984, 919744431, 4095164, 680393267, 288702603, 304323446, 23087857, 447141993, 876366149, 131614751, 78099083, 654660256, 985661829, 654136263, 741992506, 13034382, 823998839, 306142111, 668651484, 723112746, 725140788, 888068231, 615668208, 213836649, 604283086, 620242755, 586189521, 239111248, 65766411, 961444136, 918580150, 460304586, 820420040, 250936437, 9644341, 283951003, 541099779, 245750069, 908525299, 580773221, 251444913, 985407478, 928355564, 743619210, 40691904, 674208509, 677388176, 298057132, 115871582, 996561120, 135564234, 468873972, 137124396, 764032866, 326853150, 519062714, 105203755, 27084430, 521668740, 583843429, 345074960, 139657269, 86221823, 962523140, 909613131, 153506475, 360961482, 196603644, 73729116, 164817096, 838537180, 22325340, 913400853, 455166367, 995204203, 794303572, 121653079, 336955323, 778032624, 839965735, 910170905, 759985349, 870408018, 83388773, 487089762, 995868160, 727887382, 486724248, 231616483, 374479373, 522123614, 244236303, 160172990, 112257316, 753667455, 588725324, 457332310, 581412946, 297589680, 181474557, 700453444, 297103914, 450557143, 80045692, 569546171, 720901195, 921953914, 872349443, 310932890, 533949271, 248195794, 36699895, 265197828, 448902287, 772953432, 119074162, 649221039, 792993741, 45928314, 681096851, 76858382, 387976796, 639288779, 845966075, 563306503, 1721950, 658259714, 625815904, 492191361, 723205485, 670685278, 232850312, 922759820, 199554192, 652471471, 357416064, 943302036, 718941963, 62478313, 178350003, 749979410, 365533763, 862062414, 975423229, 4319210, 931179967, 625974177, 806393099, 897426267, 524939413, 848901783, 100295995, 65531210, 438405053, 434248217, 421281495, 960022840, 809476572, 880610878, 547745443, 152821908, 497417557, 969394295, 873717218, 984177530, 249639417, 141039426, 624826032, 923184823, 187786781, 453091016, 804718912, 41465085, 110071156, 299905089, 623870583, 873538462, 545198050, 195917893, 609855049, 327698180, 487165317, 526199868, 720284163, 635729218, 439451578, 918238422, 225370493, 480058547, 246491680, 746176623, 173242254, 505232646, 448093222, 604221708, 483423271, 801760834, 636765625, 873457579, 970884111, 282272332, 818768167, 986855245, 366415376, 138355290, 203550302, 589535981, 143844961, 426524559, 917489840, 140157607, 436907942, 487121337, 101281344, 849169644, 819569038, 620259065, 522061222, 356699342, 302391245, 354528834, 232149271, 178365725, 197178023, 870857271, 645111638, 571443680, 412285904, 302782380, 372921633, 699419276, 606750946, 542161856, 899330901, 32061502, 84331337, 660830858, 576690152, 387098170, 534256504, 611665452, 56406066, 945367475, 583455515, 972819967, 266673586, 918375329, 208706365, 363386017, 826161351, 2233496, 74837813, 805146555, 70312557, 93407381, 446919417, 201600242, 78566536, 140109140, 382141642, 702564063, 316017160, 666495435, 741674246, 1498485, 534010105, 514089248, 277220139, 4039425, 522901978, 138652163, 320974160, 683852358, 270451496, 121924292, 588142708, 787454135, 578142865, 618764313, 512252498, 784082270, 107685961, 461501887, 61755969, 475786312, 975236741, 842614373, 597627534, 751211282, 241352670, 775059465, 341754809, 294957275, 496133427, 542878663, 9586227, 415537401, 495874634, 405268763, 786111008, 9008799, 546950416, 371546972, 397841781, 341397473, 569576687, 302875136, 775819568, 867759053, 386580716, 475387114, 212772479, 529925400, 42223614, 188398657, 729142512, 743701574, 337347875, 981996773, 560040239, 151033994, 116506078, 914922693, 14095747, 895495624, 522804366, 923704164, 943736425, 587940601, 565075916, 991527700, 92192561, 855883503, 654099304, 904257403, 681847299, 286991019, 141127793, 314800080, 20687985, 204559397, 453596922, 485339267, 332136782, 7677029, 809743041, 28263938, 562075030, 99151845, 599326578, 377873248, 875420259, 695745140, 178591530, 441259467, 342747237, 767442881, 299595891, 957581245, 891588730, 375412954, 109782859, 932105853, 395341487, 26830955, 220293127, 121431595, 693327418, 635200288, 167286421, 830641425, 930573174, 459737464, 968830367, 788519293, 800288035, 287494429, 538006723, 132070151, 66990146, 681000555, 625686736, 712701624, 603573340, 693126606, 54117153, 764373191, 927016046, 995732386, 868600817, 625288860, 290988853, 142891354, 858608257, 105949436, 913779439, 880373422, 930720891, 465919304, 649477552, 981928770, 702027651, 317462551, 298020666, 854019398, 542846429, 958869328, 302450420, 175625884, 250665988, 394469108, 348116712, 558457701, 777853610, 541878122, 673270389, 237247869, 733147123, 346683512, 628416357, 821032245, 618214505, 77045572, 208185305, 539286492, 920953064, 601678517, 56270681, 794864947, 350520085, 26246366, 930404623, 122703539, 829825591, 987822381, 929711826, 193927457, 664726664, 331537580, 845275982, 256197080, 253580139, 305090926, 580500331, 698486799, 898036595, 498022121, 493117518, 51493326, 638361184, 418207020, 297802660, 876415221, 980241461, 16689579, 271899463, 102853873, 673690989, 889453260, 794389280, 253710424, 750835064, 704659603, 56581157, 335420353, 125633436, 255068698, 299474952, 662129264, 571418199, 940962550, 237207418, 74506486, 666009502, 716604925, 692039922, 322505925, 283347745, 901282250, 58551949, 746813034, 412245053, 718055629, 953022535, 580746392, 942831891, 875736116, 987095026, 915353346, 805894015, 805923669, 27872306, 684451413, 16137946, 489336399, 388239920, 357450297, 76292424, 261884472, 804068345, 201240412, 462507663, 482310856, 936972158, 255653808, 302155737, 190003724, 6907648, 121279698, 229376011, 647297208, 397030790, 613003897, 308768247, 217653136, 842761257, 562718485, 350162322, 562158146, 502430567, 318281819, 356061539, 684523064, 562439014, 104538085, 576677260, 407087521, 906687951, 13542265, 23721462, 775389829, 872861054, 613170892, 462711542, 817610222, 680391358, 205782715, 741371672, 645238381, 353572614, 182547187, 962059074, 282612389, 73377371, 705369785, 882839320, 844984977, 309990295, 559193463, 866692241, 327681368, 725056770, 625127322, 267328223, 815044020, 284678670, 334198875, 861210951, 567618868, 881511281, 542271816, 557630118, 231032630, 291325839, 472095269, 100491123, 899477838, 778038540, 741881005, 654975208, 447244859, 889500268, 285168392, 895215778, 19732714, 715701612, 541290897, 579188977, 83774076, 459254040, 30292190, 643115526, 471853940, 73532042, 980281814, 421404767, 814543165, 787075906, 692099964, 899859017, 710859491, 71279631, 534344232, 813872565, 145423725, 184509524, 420316503, 708650798, 642361492, 917052846, 90703787, 266099679, 929622076, 399035821, 908215886, 780232064, 674462326, 629745854, 828588388, 768656165, 573474028, 35804891, 752967164, 296371863, 473338319, 537825287, 597092956, 216136723, 661531879, 177108616, 471778878, 804243296, 802225334, 417831287, 773084949, 97140425, 475261936, 677095670, 174806980, 496066779, 370932947, 633376919, 295909865, 337795992, 178616393, 348797701, 193801488, 32477419, 951271650, 834208600, 597955879, 599207262, 484412076, 956010814, 324809774, 828421739, 444055599, 409157441, 789295870, 737897484, 760559681, 979194175, 174132024, 934415494, 386428046, 587026508, 969120245, 169514856, 373562673, 804206546, 719833078, 871368114, 221378875, 260438302, 366638577, 277889482, 328794447, 128727291, 129811398, 106173067, 842096411, 657286337, 605172444, 178233770, 736840906, 974555751, 509842078, 795938130, 546274926, 484447346, 680943753, 313997190, 273414741, 259453256, 18376815, 451552385, 503214587, 363657026, 925552230, 511726241, 820558339, 738770397, 250974429, 76831276, 244701047, 698482238, 994825122, 652679731, 992486415, 493320315, 254011075, 460759263, 379983627, 125931844, 352123212, 530683543, 563545430, 198436538, 108218453, 571026464, 134962073, 650311068, 746823246, 739293806, 564361835, 912136464, 937032701, 849583098, 255101483, 152186146, 349056786, 420434090, 469839528, 798119222, 95987344, 767823036, 269687081, 567579334, 573165880, 718141143, 382003998, 491867316, 551094817, 223162241, 694988331, 579511542, 271381189, 414068669, 76388642, 824817952, 40658238, 229552523, 403358485, 855948113, 546815156, 148528592, 150736649, 57767411, 97326587, 542644935, 913258395, 294717181, 129709157, 881702921, 499088722, 783551109, 175074303, 358334647, 71502695, 581872133, 244620536, 368906852, 548128566, 106640407, 685283257, 397562903, 91319056, 413413897, 884707422, 565747592, 704186639, 21084113, 705780551, 484660747, 204639271, 178460628, 508656336, 523353442, 615761038, 111434505, 910912928, 346908097, 22452547, 509100716, 513019499, 2228945, 431517922, 342059291, 390670074, 429068770, 670864244, 780638041, 804283146, 729492248, 529454721, 588374143, 150016680, 359944102, 598795659, 148884339, 912030254, 24380421, 603735351, 484163775, 857933797, 285179018, 81586051, 457946555, 524323875, 241063873, 459641131, 285222155, 353496403, 740934443, 107525838, 6912034, 406736035, 941194830, 145072971, 945110495, 921279672, 713278015, 812806648, 721505240, 26007295, 70424021, 947665533, 195997031, 126546864, 639744686, 637032147, 601438589, 163337912, 67038111, 932526708, 732752439, 637879924, 875689153, 47471851, 596164142, 275927034, 622732804, 850293436, 342836420, 490196060, 9209562, 348186466, 790070964, 231793924, 961576598, 47498603, 780829080, 895583738, 361310284, 438142324, 73580261, 229233340, 286452276, 732331786, 379115292, 555367845, 840810533, 44502826, 356504582, 994937159, 922892101, 482774569, 625364058, 378367459, 49676285, 50248235, 362576621, 592224020, 478926555, 544194706, 998750113, 515096257, 82870973, 517248579, 839245523, 796186899, 216594676, 26362170, 697133319, 31958649, 926199180, 385823836, 556216611, 967004412, 26767780, 6019209, 700715960, 160063823, 356455856, 563352719, 320880399, 34197090, 916507082, 403696644, 84717882, 517548290, 529721342, 906495358, 818553094, 769914400, 715255783, 790642083, 313452013, 437065321, 358554302, 727408326, 495808207, 840866099, 506686555, 627933595, 498345576, 31980886, 943268622, 393503256, 362264867, 386045300, 15716856, 174257321, 177955152, 333367275, 504935067, 852416584, 231819097, 913235561, 182895854, 874263558, 747169716, 490152706, 589263426, 931801794, 891763426, 51265558, 708955458, 631490559, 649913879, 131171082, 464395720, 577914499, 413856925, 303641628, 551387779, 989768456, 582293938, 196551949, 289005593, 703952516, 68475852, 788126552, 244247587, 653355398, 936195162, 851376099, 157902809, 646126529, 309957684, 273186417, 291387064, 704101462, 986726591, 461991002, 275851459, 438713524, 353218692, 626911657, 723478739, 11952062, 761742945, 780506316, 594975867, 962128070, 368430189, 165945395, 631089469, 210087228, 12631474, 385584597, 989084535, 665192710, 786149897, 38341312, 534205946, 722058245, 319548617, 445753135, 561431597, 671716408, 773477625, 760067021, 880945879, 13666598, 41379166, 705086686, 195028546, 364066549, 312468288, 408136232, 432757070, 657283020, 816948236, 818370524, 903540817, 323193086, 800326134, 292970148, 348816655, 422621999, 77645723, 37189135, 333828462, 570129667, 953494791, 245876363, 981730932, 704779190, 591394304, 934890351, 525375373, 106755452, 125455333, 158165804, 469911410, 399709142, 18622457, 368227651, 506499015, 814069642, 878940231, 970243878, 364946890, 544635812, 840211381, 666968993, 134452461, 209686401, 744649277, 237766046, 165552064, 69704051, 896571920, 725284198, 748801693, 577785430, 212103313, 676553123, 935241417, 955787450, 254626280, 947930830, 442234586, 79962196, 581177080, 998437146, 554998534, 210394644, 595880546, 584914174, 487229865, 275578786, 258512666, 944465715, 517497868, 756527837, 492323760, 985784512, 114638825, 717283281, 664007960, 930657377, 351486812, 614454303, 424941449, 35157813, 711228261, 942004445, 158090617, 365864160, 888433760, 944118672, 405733051, 193963984, 233963826, 181933110, 678329818, 356884231, 518481414, 209415376, 901159400, 979677990, 533838009, 779987137, 39089446, 354578032, 832397171, 541690863, 76041552, 511937933, 934715488, 952553158, 157713480, 540318623, 806674641, 560437184, 617142091, 867967531, 16127758, 291438090, 573386352, 678633534, 451363173, 631112622, 163196476, 880227240, 151163567, 192815384, 872989423, 783895674, 150679668, 79126820, 516797812, 728493001, 359314862, 782641513, 22453334, 208258790, 827530602, 657573909, 364332635, 460119651, 666447193, 76798679, 885235379, 951096875, 880225973, 389615711, 566034069, 540728050, 355728655, 551223066, 556875277, 441197480, 568095175, 191477398, 315372946, 181496481, 206948802, 513357434, 631290901, 569959261, 982666739, 818102981, 654055334, 150833245, 260630442, 625078101, 372732806, 196516056, 45172279, 105248894, 940721195, 254975454, 156726114, 388748461, 129054479, 557780975, 208872262, 780361619, 706127498, 660843043, 133696193, 587154300, 772160887, 544339, 280238374, 912527086, 541022008, 75970742, 683557202, 384989061, 235220893, 961372496, 703036746, 806049826, 357628413, 519715859, 20200143, 336488155, 487898055, 443960531, 222823413, 758798928, 120141063, 373076478, 465461841, 264612606, 858785089, 94677608, 688205752, 935680178, 736672911, 175475314, 888449615, 718182988, 655916687, 643927583, 926353156, 743704447, 925511454, 464595808, 497105930, 384349723, 304738565, 736145325, 248614611, 410301537, 629572300, 36709318, 30919189, 799053818, 772679364, 40930778, 722247470, 315798477, 697094548, 178439914, 301585243, 377395005, 451245466, 115577667, 996275200, 753357108, 540599114, 559275652, 178306639, 380572847, 321688575, 245365060, 893295363, 321411040, 198687556, 908624647, 430960984, 698623104, 838037178, 721391155, 772900255, 180629798, 915568594, 511873623, 781970154, 103730122, 311600901, 787429907, 670986043, 331279167, 849996363, 904755965, 976320568, 583888057, 162482103, 894129373, 516418381, 513325181, 711561278, 714270040, 122366320, 682655664, 924827342, 25645257, 530921567, 195086803, 365471993, 423610127, 121623250, 726555999, 77613675, 832267459, 361447101, 225939286, 472833615, 508823911, 393676737, 836704243, 244347353, 8875242, 382850024, 947636673, 139944292, 789728445, 606745155, 732809173, 553213173, 612333364, 154955271, 238315685, 515763361, 967514659, 735054513, 564089733, 312687599, 635640225, 605904680, 350373980, 100106065, 947457443, 762080448, 467749881, 967270482, 457802116, 665314927, 103879952, 898998855, 441318639, 274926628, 894047260, 893261958, 299148003, 601598288, 682891117, 52784925, 272199350, 107301650, 272982082, 651370154, 29152350, 745727463, 285844701, 413928055, 284903290, 675344756, 471318365, 709884430, 320181842, 381373819, 303908845, 160275268, 996558122, 704076193, 166771781, 220837602, 299261011, 672732339, 183447788, 717740702, 99639052, 664505841, 72330760, 783091485, 894404721, 819327476, 32670051, 514616233, 324870038, 903246201, 339673661, 429035054, 874608869, 29873240, 662270152, 624113481, 204145537, 894661625, 911129552, 111549560, 980144833, 65268412, 240928398, 843102, 384428606, 116416212, 35688653, 777142005, 983660504, 172093885, 67681076, 915270085, 895553102, 669340211, 904632630, 478821446, 679865079, 90933261, 515402056, 679404906, 360048145, 974469266, 581124937, 599688296, 229481934, 573540627, 868964539, 66417698, 712009123, 238813561, 844458413, 659714649, 954999010, 13273633, 873938472, 769992113, 263592100, 517764300, 393480024, 360010088, 323874788, 567172499, 668403787, 684386206, 406640484, 540113579, 593160174, 789394367, 667025436, 184240, 112797788, 298972116, 987516304, 525083279, 496563727, 823439324, 247554196, 639054987, 678292485, 695054539, 643597769, 268901291, 761518748, 881330050, 470646461, 901070032, 86006882, 593914748, 259451117, 317743746, 285814116, 872734100, 210027333, 385721150, 194383741, 748239651, 552715779, 908723850, 779607575, 627692736, 370442367, 728440080, 741853851, 804792136, 945326479, 368148844, 546419890, 96463317, 231920374, 915306747, 806272393, 606595944, 617094835, 942837101, 821775798, 388443349, 948171886, 881499110, 78504863, 544506692, 395092797, 282143747, 186629337, 13157307, 994705054, 683632507, 348413615, 835452816, 792166959, 461877238, 498650536, 244381390, 721711178, 978881480, 47617383, 884291053, 404729599, 396718394, 880003095, 540814283, 690313228, 147462665, 64335905, 245756916, 837747212, 868962560, 377986121, 821552664, 686606397, 417578861, 980234690, 732118094, 692008263, 764420391, 431880539, 359159011, 411405114, 373779463, 403849244, 346581580, 73732370, 36196571, 69806062, 479551166, 567949246, 523203017, 723506393, 174882664, 533461010, 981512802, 264586188, 424478396, 962359033, 987011250, 64186977, 928880913, 339490120, 622916168, 203136742, 668750845, 976459862, 277903820, 133846994, 849883157, 829125437, 459874639, 47165888, 701313853, 913812845, 518272644, 348981321, 362960403, 212805479, 495172068, 559953176, 356879934, 469003105, 743219069, 444662382, 893172617, 870239406, 824905667, 419700712, 662636352, 974691514, 936976200, 203920704, 544266767, 830075423, 928555839, 773211584, 26718521, 337551908, 636241219, 998810032, 201788796, 653261621, 377368554, 176123297, 755504098, 942698741, 849177844, 767893085, 292596079, 436498494, 868329525, 53803463, 301835494, 109027225, 761130538, 752413956, 668595195, 688631767, 783814124, 533858404, 30510403, 840215746, 14216403, 742375208, 627106389, 620966407, 554980342, 740234861, 578042209, 300904463, 4520008, 326506545, 757245745, 81996170, 680509356, 788207214, 536209483, 257014028, 19084273, 585375102, 172099484, 360725014, 633444613, 403146617, 298758511, 700718659, 162397308, 100028841, 518216080, 769049268, 372995445, 994661292, 167678604, 542704103, 321426558, 104247080, 774104, 845044320, 436509698, 76365047, 444759222, 704647070, 255903457, 261582233, 458359289, 393359763, 897637739, 268533659, 47417510, 479443750, 705205362, 179441783, 396689263, 943276321, 969503186, 257664561, 508164463, 500988870, 795208331, 924218651, 476503679, 178219100, 216659596, 30911515, 932986225, 752915506, 612478722, 700301080, 59879060, 551349136, 130234893, 589345866, 839229108, 888474104, 788580191, 591103538, 751745911, 713315375, 106575768, 113155130, 845224342, 10392471, 309723116, 266209277, 465149733, 254514073, 12880114, 157604754, 720744258, 974465938, 483298792, 830500464, 943730951, 939869545, 48576581, 50013395, 39614045, 898578517, 217793726, 713009010, 389168855, 603116319, 16539249, 876726756, 260652751, 600310684, 691686106, 815446215, 831271805, 661119211, 816523298, 716416185, 287776043, 632456596, 533716712, 979958922, 736895274, 9332965, 516587069, 395274874, 94392291, 239029494, 324885252, 687335480, 196933954, 596797622, 155592456, 432149520, 396944197, 453256249, 894405048, 881730742, 680103582, 242991888, 983585160, 118764445, 19807474, 239231476, 71360542, 46927236, 549811779, 90989585, 647350948, 118577785, 941595130, 184152666, 37808852, 446041257, 465478606, 466429649, 240022628, 753484765, 382143437, 282138969, 429026721, 608252017, 877268276, 314955734, 188336353, 288312879, 627524173, 738626077, 211708471, 287825730, 930908493, 413603126, 580192078, 494209225, 679400194, 628062078, 10733108, 480835365, 995240481, 507320947, 375157011, 142532224, 949036284, 176026000, 93665951, 524638558, 645789899, 633886240, 259981671, 999183660, 480886755, 699146807, 958258463, 149084424, 285319957, 358193058, 222299852, 903220056, 63331782, 214617413, 821875910, 189029436, 725985017, 124804733, 402464549, 731285860, 787463489, 129000066, 304922170, 673618177, 664377880, 321775369, 906804512, 388520085, 408770289, 467480612, 261907333, 450477105, 270050471, 908622962, 322710999, 384629868, 894059889, 49554818, 20021204, 148710069, 205811573, 423320486, 904838726, 290388956, 258207461, 133963549, 912150358, 338537415, 31739558, 739149244, 89320904, 91243829, 179879472, 610936338, 521781659, 803424576, 418086632, 212810910, 106628723, 161323156, 925441641, 918481112, 46725817, 844492318, 864948057, 420467009, 994091092, 362173770, 742916847, 904092899, 362642031, 137080272, 243881258, 894957146, 829906248, 969701082, 22381990, 796902867, 664019553, 197351073, 831006719, 808043123, 936582649, 43055322, 682474110, 752215770, 199774000, 922709810, 50475397, 634405550, 227854036, 324417024, 431288464, 950115127, 777151754, 621823291, 436294457, 232583513, 310827338, 483759251, 185445917, 541240709, 644028592, 149511559, 17376312, 352770077, 789256160, 598627878, 636679407, 915207193, 286643963, 244788433, 321590104, 556265024, 604319598, 21537506, 805770744, 465018883, 605555798, 352710760, 187659148, 846980894, 861932812, 677565276, 42877604, 540207583, 199759977, 702289283, 896438574, 228516026, 864354258, 984240057, 749832420, 2649237, 210308947, 842087822, 368668511, 837897475, 264280849, 662649085, 760732328, 63829683, 473444199, 262704430, 555045899, 582844495, 231207756, 945282902, 951166448, 303481597, 912107721, 748387416, 376951361, 325527370, 275813087, 614698459, 651033911, 942156509, 685059485, 828057633, 459393930, 973965191, 241118661, 765128453, 631196123, 768446504, 274320961, 684677313, 801858893, 600496556, 60620019, 363835615, 295759680, 938226562, 361999124, 172780349, 908357990, 18041611, 435999599, 691859086, 70854616, 934317331, 892797467, 859561281, 465487097, 769070687, 269293837, 388299904, 393599190, 87635752, 800608369, 293491928, 518879811, 155946062, 259106273, 548550696, 768230797, 177306221, 959697924, 702239642, 522426400, 300330345, 229204963, 710660217, 47327930, 164371952, 442097331, 999559300, 862208119, 946844484, 348650356, 949766573, 622354544, 820495067, 882096415, 879646639, 880478390, 571514807, 100012759, 49315923, 681321648, 753037516, 853426619, 214299951, 707326243, 492966300, 854524411, 648857393, 754314145, 688565238, 532113559, 454329308, 864184903, 152108917, 184422019, 753248736, 379223691, 778821424, 723339182, 797659333, 647200207, 868782369, 429415666, 581972726, 421948265, 250056199, 184493403, 471782726, 109191134, 994010380, 138751808, 155446866, 604974882, 780695766, 750860232, 277340271, 513079998, 20956680, 695149479, 9712487, 672473823, 61155185, 696098036, 860349304, 282244680, 236669057, 429627798, 178854051, 973587338, 116542374, 589636476, 548193827, 372132377, 856045411, 40979666, 28583245, 505273873, 514497731, 46116170, 643862386, 393285404, 484897341, 541336772, 959860103, 756500329, 580690861, 705322069, 864131692, 823444150, 834104842, 885444901, 293887622, 191607462, 76508381, 180478739, 410195873, 773734074, 612691105, 356027677, 995347189, 150117454, 213092611, 47874203, 547281261, 106045297, 740758975, 265676335, 96503357, 389871018, 289415085, 786481717, 338486486, 212542762, 462077128, 711126436, 189217957, 194164664, 28652446, 602348082, 51942344, 379209945, 235606367, 405212922, 90632643, 941554267, 381779816, 448960463, 883943910, 138222211, 303280788, 819650681, 812029327, 351884708, 822426855, 762414647, 756179626, 782898257, 381549907, 228025362, 78705060, 389701951, 954979812, 832614694, 264208965, 234521916, 867036907, 497370035, 245019626, 402592948, 818991116, 588400504, 383673404, 607161075, 755421798, 44963811, 3880845, 802661160, 768189921, 659859563, 370643433, 302754981, 145901765, 142750027, 916172514, 74195108, 537033633, 813498277, 553946008, 990886809, 329242068, 25130564, 548535197, 924478069, 897482152, 510267472, 181125761, 631026402, 679301594, 899653814, 701666823, 340988740, 876163238, 88435062, 922561595, 871101748, 290251054, 810449824, 876525127, 991261857, 516272379, 149463586, 22709885, 334365607, 274042192, 747181057, 779968763, 370303270, 498167379, 144506476, 956165097, 602539319, 243039790, 962594990, 893371549, 589586922, 35732531, 391800896, 154165301, 80026216, 180560412, 322344091, 593596231, 578462513, 821826887, 629812712, 943887340, 4561888, 258627226, 216747286, 863983958, 860649611, 543916684, 999459630, 203921996, 165346770, 738449827, 725661243, 776268135, 186005712, 804922513, 821837322, 778398907, 30053933, 844078940, 819710426, 382858652, 167725630, 181337860, 482899223, 845447259, 664610445, 540059809, 227723861, 906573477, 824357717, 407612079, 812180007, 899465286, 929586568, 697920786, 866652464, 759616836, 326237555, 65428986, 583445891, 82391789, 501470656, 201028728, 279492567, 803668578, 850827899, 882400602, 404611155, 45863810, 254481978, 342353763, 349825805, 199357658, 592809016, 216354386, 458905605, 824570480, 5068855, 442876386, 129010397, 563296774, 643261016, 608773137, 316047254, 859634747, 252908907, 642215417, 905191186, 288524147, 871466713, 148876622, 735034256, 597133175, 301525502, 907483105, 670787603, 162647329, 739820432, 947740730, 614565014, 185625263, 464344797, 710494358, 651053573, 359535651, 724687897, 165867828, 929502742, 568919348, 643068804, 902056723, 141029138, 826053588, 516503910, 100982608, 452661525, 283503887, 108334959, 601595482, 199836941, 795354245, 158245174, 452857622, 583559406, 908113069, 517327709, 707662436, 63941091, 884216395, 922207486, 747666077, 343584918, 901336344, 568854080, 52757187, 678404115, 815121160, 731384612, 893942653, 654868621, 177772851, 493667988, 367450808, 540502479, 586018046, 580422992, 379640049, 727983039, 153014481, 401168275, 443866429, 604430540, 425815440, 858768227, 10892468, 789788697, 631362824, 920214721, 944566371, 435223556, 224398250, 756367965, 642002585, 19766544, 728724700, 799307546, 219660673, 780957112, 657326528, 797949481, 660569800, 645922677, 609003848, 946715459, 794042210, 298429584, 578301572, 607609235, 556666648, 123563065, 250649119, 499026174, 57148003, 114805374, 699542172, 774193559, 557791637, 324021856, 194958611, 323852038, 250049711, 229076009, 985244282, 922155189, 428592047, 510423934, 698482142, 765047580, 931715999, 216789725, 336475233, 606804183, 869658620, 143938913, 135357628, 814996106, 250835132, 854423581, 439240331, 916336313, 461695191, 608296412, 967600599, 380728467, 832597679, 827231487, 268751259, 253422492, 827826538, 904700946, 791440027, 144751154, 743180054, 752518733, 962902285, 623536108, 875355777, 277974511, 4416608, 716946310, 398275661, 517030358, 529001158, 540237076, 982532248, 547224383, 507870235, 431650934, 182184779, 527355839, 435266752, 588344846, 119059039, 421642722, 916417489, 835619434, 741581425, 678751427, 184508326, 172258402, 910861120, 290835939, 902259038, 267330421, 569188528, 244081757, 568677072, 912913320, 110505054, 881363630, 743487530, 954224332, 889833729, 262593414, 442941612, 425240749, 250350070, 908223371, 68662214, 289486083, 841614678, 404125025, 271308220, 842400154, 132914267, 623991440, 354441376, 701504404, 99228337, 806495133, 899795990, 390754939, 888277787, 588346855, 47449649, 929137050, 774275000, 640225445, 275183358, 84224485, 617025847, 202292398, 87191299, 43019532, 92916591, 984650925, 25704144, 565772057, 361544881, 543152765, 982929393, 653253546, 210284429, 222418061, 275532538, 891766656, 351650441, 820352027, 661895113, 273107111, 313352222, 776121665, 914039429, 723029352, 396124528, 288617106, 800194771, 638400033, 773124846, 290828456, 190744914, 344906435, 917403177, 983105963, 153557687, 36958795, 164453276, 277886855, 688693125, 734170351, 426381213, 636244649, 718041226, 16274904, 571941416, 436385865, 240276924, 315877168, 720452165, 681010382, 460792646, 935432972, 395509019, 903489463, 819462584, 102894996, 90858178, 170897311, 227467643, 142625537, 729893274, 474706027, 514215108, 155378979, 564454400, 296214416, 650778421, 228510304, 508172463, 208501673, 509074313, 499527455, 843273643, 891324382, 282137369, 936255656, 425216328, 501028337, 600275465, 419774213, 732459948, 249272176, 516427156, 459949917, 618328609, 563355812, 380592999, 443372479, 879372328, 508874253, 651341176, 932949244, 346683939, 108214293, 152668019, 880650961, 280347503, 93362089, 141495938, 395719419, 873248417, 157844928, 314247995, 548685292, 651904993, 652372134, 436705126, 137255459, 795427075, 707941810, 64719817, 994396184, 464837522, 989747977, 305616523, 678896192, 815179749, 818794300, 327625702, 933906095, 778383004, 20325000, 501648382, 426803312, 605161935, 570755489, 256711717, 946509570, 186528856, 302616840, 693058255, 590305521, 98532670, 729348252, 234607690, 270114684, 165518814, 271732537, 226856614, 960742574, 986776136, 319167801, 349094656, 475387453, 220323638, 703822736, 701693349, 316958423, 603310734, 127028968, 177318783, 310333584, 680899856, 785770100, 796103674, 924698486, 703371220, 153489540, 257204705, 778751474, 8009641, 68229192, 567055266, 643791588, 533938697, 557197265, 751063279, 590044739, 940230532, 352597564, 385139520, 731706191, 154114424, 430436248, 599558311, 809626664, 101697561, 509667055, 922847598, 888231367, 656322227, 751218572, 744305684, 186418099, 421214945, 806765121, 470612115, 411523422, 164252108, 325299460, 869576347, 793512664, 35562891, 539760119, 679522446, 170551352, 376266124, 162943720, 736481399, 108848230, 666807860, 127677027, 311329820, 330682822, 8302974, 655772452, 241302895, 598216808, 840252728, 24329811, 271628780, 630061052, 363558440, 849888135, 628295294, 898210753, 39406000, 609280865, 135590308, 27336679, 465207075, 908505506, 721946234, 760203985, 927930893, 574127106, 305072714, 662877852, 402706898, 561531400, 978876367, 684983832, 443139708, 868161309, 611426005, 891041071, 420152138, 586545885, 217325464, 9784595, 103911839, 272647341, 300056802, 231815636, 737095411, 746473347, 95786042, 599154166, 799312940, 152471510, 719306782, 130666045, 630537305, 826014234, 626382779, 260792434, 495589753, 91223088, 721090036, 863411035, 645746064, 27563420, 942279598, 609103540, 843818489, 295492092, 492795941, 515931207, 291862449, 181644139, 230759867, 474861446, 677676554, 724679379, 630244045, 353480273, 875440209, 969894165, 921466331, 495319328, 308513457, 65176895, 515561253, 504418207, 881677989, 772846623, 210350088, 551664287, 955999620, 343517107, 111180072, 228884388, 760817484, 632278235, 417727023, 343707137, 924966193, 989360195, 810679981, 243294790, 928430345, 193770596, 699584257, 169875120, 776111024, 937082862, 477111683, 986922471, 49201011, 714133981, 379619458, 77642773, 271851079, 114801256, 469737402, 81071730, 252922633, 814686438, 837586030, 164525483, 238246991, 822442619, 479034668, 662874080, 3566654, 833505600, 963313601, 517505410, 135419815, 908895702, 542913165, 293894785, 769775747, 197134550, 823399421, 585639117, 788955603, 1674477, 735598060, 736146909, 492661316, 809240816, 472725906, 399064676, 167250163, 896491289, 195006502, 475611946, 300317322, 407070255, 657261456, 17552711, 602944230, 620991900, 127467133, 601290432, 655214199, 110659389, 670972868, 93409461, 715735918, 445440523, 300475370, 63406795, 461162384, 67428153, 39425715, 891185792, 933616064, 940081725, 699911740, 540678881, 974552712, 526773752, 905716480, 251235005, 195644202, 364384732, 213228503, 798362132, 900530705, 887820840, 603005522, 975467504, 608394304, 344523681, 624307336, 248151227, 17887445, 977803392, 919705187, 919842909, 383242335, 46225811, 150486637, 815136632, 469382930, 135045071, 691459228, 382432554, 644799926, 227843686, 254172103, 929205593, 210272972, 409877784, 203653180, 440544882, 662131810, 68652602, 713419514, 911309895, 220672055, 652921781, 145377304, 570125561, 541937153, 7842024, 71264839, 790722261, 673627602, 156999936, 286802274, 842410893, 217219786, 920962304, 796687667, 835369189, 217596041, 143017145, 883074432, 175830029, 902967847, 442600818, 180433147, 282609096, 974941721, 152374806, 685714235, 686524636, 386010189, 173994692, 287408071, 913679840, 103755829, 102188743, 652646684, 206019786, 810754806, 940633176, 853745515, 425488827, 604970843, 229475252, 48375143, 680106982, 836773992, 867324668, 960478568, 833548800, 550705002, 179464305, 471086316, 745941044, 108333541, 24186456, 294756239, 933927167, 520908005, 477015986, 735403103, 112041118, 21366899, 630580405, 964979993, 524064345, 39536009, 585845434, 578476090, 953420905, 32224585, 813121737, 928914775, 871122044, 96902716, 442759867, 865738139, 417847565, 187363356, 847474660, 193860134, 153409789, 327219192, 405922574, 425371810, 405206797, 987409312, 522268112, 612288692, 8150125, 845285899, 723004226, 265204569, 75353990, 59442141, 237991004, 33688578, 507554008, 783457888, 737055109, 808540612, 592202979, 269352400, 313930275, 419016406, 367223523, 308670848, 523286955, 549563583, 841838226, 539725226, 865274629, 768977857, 762108111, 651051834, 202185402, 105461287, 876549505, 893032341, 9024129, 493075508, 674969015, 126146480, 934647778, 772775087, 584982606, 835684606, 894431477, 895685504, 326937152, 175013022, 423677500, 295536699, 443565253, 177237193, 68189461, 249188975, 927005703, 779034579, 938813078, 476467097, 410594448, 949190125, 680291125, 531619835, 594436360, 239769243, 715632586, 349409349, 464014649, 255621953, 177665338, 82492088, 196255200, 112643881, 567127347, 439053531, 890956064, 662304000, 533352682, 300319625, 53917430, 648164398, 939703058, 439363132, 972736600, 602170890, 467425577, 895479757, 114471186, 866862843, 271931700, 642306323, 644047247, 975503793, 95604373, 792887483, 531920463, 545998489, 806864334, 188478109, 887288458, 607158819, 123101210, 386045581, 80276499, 432079568, 986958975, 445944408, 582540963, 180614474, 952006736, 103675894, 246290535, 540840916, 191303153, 305247133, 155108788, 193476252, 881545065, 698163349, 992613628, 923100642, 802421703, 23971484, 114639568, 266648722, 349884603, 885680942, 692698701, 167520101, 50546498, 859167719, 929276377, 82554999, 424633602, 951209163, 218904783, 774852813, 30259922, 907847412, 809186913, 156880784, 878893089, 417482655, 642629677, 639199129, 988199363, 2958031, 98110505, 606842461, 602485430, 129879167, 694530656, 277935592, 745007264, 120979109, 627836153, 58879884, 38099551, 938285475, 48883015, 949975621, 484072784, 976092341, 626557890, 719094039, 955627543, 601212900, 197524333, 441973391, 127369664, 949674581, 818211082, 202982218, 653874146, 37232299, 125788948, 791487072, 789247211, 427403465, 942492303, 788410926, 512805696, 903918890, 440164111, 376750520, 120670316, 687227671, 378497188, 543174046, 665353942, 922931668, 247882048, 54527372, 877102152, 609104710, 907536356, 548256230, 734054443, 328429870, 416431440, 916391416, 602481586, 183337694, 754273851, 522929219, 793505098, 876037679, 978779203, 379079258, 523129476, 35189383, 210342886, 286549744, 692148841, 897132525, 398950834, 51545297, 995040187, 767619780, 936967316, 683608667, 366656065, 578887982, 185811188, 238605616, 740748851, 891433009, 766675975, 443971875, 318484725, 657610856, 575546279, 449756816, 121051169, 89704495, 383836044, 116710763, 178830515, 281280010, 238542453, 244065855, 871368042, 14530255, 124717577, 390313814, 156732032, 294422085, 115365997, 454541540, 612900006, 377003470, 175412329, 977117786, 181581449, 455970584, 250464694, 701655098, 69201135, 638791462, 267988407, 243941875, 2366294, 542759734, 473375538, 408375190, 860035717, 179327951, 601777932, 327918964, 265766085, 755133201, 339149561, 512120173, 882818586, 323368333, 984367526, 265954312, 783527170, 862302405, 683074066, 741558755, 377181801, 332169905, 868210460, 833973481, 439532879, 193782292, 744888347, 236227193, 556109077, 848762263, 694608553, 729247731, 19649610, 957931012, 28792439, 434428939, 542136996, 419048967, 689284769, 542754537, 445196517, 896068379, 744539061, 330718732, 892382482, 203875712, 722425709, 259577220, 991130833, 849110324, 512335932, 374810882, 486601164, 434946841, 756081942, 201523347, 501746822, 439850567, 708370414, 298238919, 739625130, 837354303, 21943114, 932332209, 988330013, 97807100, 404873876, 82670711, 807003946, 523134335, 201625460, 293867765, 840023940, 730427990, 209968590, 585174974, 290975106, 522387818, 452878529, 525182177, 35841501, 411877345, 40487643, 928042438, 288515020, 414105944, 262242767, 376404706, 446231265, 506398105, 584333078, 683248099, 817591760, 956879985, 164999065, 694397620, 516283198, 757916430, 314310209, 638783622, 398684522, 13888063, 923708572, 112059509, 205346756, 337493106, 501047786, 861550421, 647104760, 10464332, 771533809, 78137559, 418925375, 146417260, 497255672, 963345943, 156036487, 963917857, 128156753, 601624293, 123648150, 763764563, 826017220, 104538226, 533977825, 728068254, 897474883, 653206407, 85194965, 347061405, 71130627, 649502010, 512917581, 719319102, 836049213, 225811862, 974082459, 553348808, 544941959, 76167926, 533492231, 785093879, 974290994, 731296465, 631573609, 94221264, 177887006, 10536057, 579971265, 396450124, 53364302, 402830240, 496684775, 749361167, 808422809, 991534357, 702176303, 177648487, 701091485, 305084688, 846750203, 796093167, 175758543, 318060556, 884873773, 562540778, 794171325, 290755956, 188821738, 496465464, 915345819, 292906681, 786216001, 875430365, 757960499, 49030519, 327802440, 331175739, 406521226, 357830424, 441183923, 808526403, 106442657, 369933441, 506699983, 371364484, 503770164, 882969560, 90112922, 38667309, 135019351, 44448625, 224434573, 15912869, 834581528, 475911470, 808785390, 787743277, 844277087, 76529910, 174034353, 664872556, 510573114, 419258562, 544152183, 539049468, 441935942, 47808517, 454194209, 288890022, 75997851, 852331428, 589179839, 901573838, 236141099, 610184403, 852566293, 266840856, 613393734, 492721424, 347987662, 899899177, 380233335, 397284106, 823087801, 691795950, 984871374, 514037386, 342613578, 981658860, 852508379, 307414762, 734886097, 591172285, 204612939, 831198051, 896893622, 28350094, 248522095, 43472540, 712672044, 825320242, 479428524, 819069786, 678940138, 597603045, 751242524, 645077751, 880255125, 92563445, 394275268, 93058836, 639517505, 850178718, 862266404, 415454598, 349783849, 420389073, 253819401, 54887210, 206705186, 131490189, 802433053, 119373608, 98034863, 813450850, 226224429, 259451338, 493203707, 28601199, 850694659, 690582668, 527717780, 904582879, 289477157, 290696646, 266952992, 515988883, 142430443, 657563313, 790586729, 920508662, 953743941, 779916081, 578300204, 484559564, 237166369, 960040764, 881288007, 149900887, 161565036, 77717713, 542113686, 528425717, 198033281, 736927910, 497519112, 412312125, 665527977, 311066465, 532913553, 191777733, 803787104, 902742630, 403552527, 913866689, 386842011, 337637546, 100825696, 144914679, 949170076, 392454230, 440848504, 57779674, 537602293, 415106186, 222768009, 667758670, 86713648, 201916107, 202548306, 562763208, 217307673, 760614165, 650563055, 740136401, 723578438, 837195975, 265599095, 480935216, 761162260, 871898272, 452463267, 514584195, 868365452, 82707339, 976427921, 413653245, 170353130, 944110107, 140846724, 48943955, 274829777, 456123188, 352128442, 834549505, 448561544, 435281304, 184370960, 636276365, 975206247, 401421094, 935454815, 570549933, 814398884, 194705518, 75695222, 842375902, 213817374, 643182617, 229481303, 956460963, 763023942, 276663338, 574773159, 806937861, 128079003, 721095001, 476862393, 713786810, 669834675, 151298604, 615029844, 593107449, 302376116, 116675182, 285250130, 621588441, 301286648, 553068553, 427703198, 249397946, 962576171, 721952471, 583470413, 903182160, 314462445, 299982829, 403220576, 600003197, 163073190, 817058480, 150107913, 520891761, 770725907, 93366180, 573789466, 54898703, 746595390, 68348204, 391735372, 476123747, 125173268, 992770234, 449796088, 888761659, 326355951, 651948003, 666609994, 755942393, 864412668, 157515689, 874273070, 179149435, 22219066, 109883631, 220557068, 559067847, 310258014, 702983695, 377959498, 859062665, 68715227, 778425856, 503330539, 267872692, 556024918, 703137665, 241090321, 928086346, 633033470, 850403902, 510470033, 247731608, 658043476, 917945457, 293133412, 573964094, 521752575, 252318075, 649431669, 867140295, 889481414, 271005851, 550294026, 633054110, 69135326, 455843041, 221647476, 46876014, 19498770, 422592454, 884010982, 268557636, 134409798, 501781749, 973836256, 728452455, 375989640, 654561910, 564144358, 605566278, 164430841, 139129796, 864896980, 881898734, 68572697, 915927390, 521269542, 285474467, 956500295, 913520480, 623031184, 640729604, 28547246, 340004400, 10612684, 147258006, 787437373, 648521734, 418430625, 513016373, 779205951, 887618489, 332664032, 804716296, 50870562, 303068392, 342689204, 113750883, 899644124, 134982466, 793522823, 774496764, 612671590, 703209920, 757005630, 992612856, 201759496, 390475436, 265822835, 337105257, 160470340, 174134760, 636959341, 977899663, 432653252, 414801185, 744283028, 188191522, 839078645, 596518947, 316500549, 317772661, 275984593, 826319476, 191736802, 334857801, 299114023, 881738131, 389004490, 409301594, 643595957, 89774588, 569900127, 22993305, 593320118, 196471342, 113312428, 207670780, 420785081, 906014104, 412288577, 889857861, 292530696, 344644990, 714284772, 202688193, 132793895, 609879381, 962108874, 194061171, 655602086, 995722515, 776220533, 560318054, 345992031, 217124295, 956752038, 763650320, 286203937, 32913732, 484389387, 908274493, 300898286, 497503619, 889777883, 363039587, 991544141, 269723453, 262967074, 874487281, 343619671, 429570470, 903932170, 799204385, 83827562, 6387578, 801253541, 100992266, 620742812, 475256858, 539883494, 565163973, 371254225, 400364570, 247141687, 552714201, 228874262, 561653522, 355392781, 484852503, 554190478, 953681559, 554099062, 928536443, 499560674, 421492538, 578274129, 743301125, 693494134, 599038282, 998065347, 721453873, 635524001, 969045404, 133186245, 576112556, 1718730, 791164113, 641480245, 329137727, 491354695, 285286806, 193707093, 177815801, 122641953, 106647701, 389847754, 882427778, 324122659, 235529308, 510004316, 958978062, 856717939, 682904729, 689838946, 252635908, 238387168, 443580415, 852849407, 70478178, 776261352, 610290672, 820231726, 611280772, 429134374, 322911559, 850999451, 313478326, 910689154, 28875067, 934352629, 269716921, 994423943, 371578382, 868129089, 408199227, 91985528, 462420415, 706159661, 717497542, 274115879, 214244988, 314486527, 823214400, 836356067, 797596834, 623908376, 507826845, 608408323, 682331233, 656225654, 819317736, 517557262, 765820922, 329029158, 660900413, 947695235, 751643460, 515854776, 690348978, 930584738, 909437550, 930407226, 462153897, 600801899, 485043929, 437751775, 137284733, 301231435, 497864244, 41011398, 44439090, 6757642, 737829666, 518291788, 811161744, 589450555, 749756113, 656971163, 444747942, 481478450, 858177514, 343430585, 613608613, 525071669, 103090298, 748097952, 319249833, 364359927, 31439885, 308488975, 205533052, 459682002, 781395397, 815349220, 505578215, 657694094, 183359021, 548650407, 571145173, 159977275, 773781081, 64942450, 188202067, 268504259, 68928484, 49766670, 154170727, 232266031, 633244869, 871131824, 125304853, 683648852, 490468779, 709399256, 334341647, 495688156, 964196723, 950226063, 952289577, 550995071, 975327359, 299283167, 826158772, 279756040, 951654897, 958711271, 635488240, 837445043, 271351942, 570530430, 680704895, 512336690, 237064958, 956399175, 355178400, 322050372, 99688627, 93415300, 493886492, 707092242, 277175303, 340278165, 892156689, 926376389, 336379761, 406700676, 764008766, 96496980, 969218611, 326857019, 438191314, 389946286, 23714972, 777119589, 116180491, 1531203, 479456401, 269604378, 863390448, 325223040, 323505947, 161920749, 47242939, 937477154, 663217817, 994571415, 372985576, 8156208, 473331209, 906817853, 19244952, 648454843, 143945701, 819558981, 49011706, 488171364, 409073568, 548216001, 653849959, 335550637, 714581205, 877147106, 650694812, 289349718, 27893846, 319880136, 464143109, 480338202, 770380793, 660860134, 752476118, 721925161, 817076285, 15024466, 114865676, 362932442, 502608492, 805625077, 177581530, 982637143, 500004114, 73371370, 446360081, 948637050, 764686151, 123816742, 606741236, 795606919, 132051684, 810024670, 942938155, 901159574, 811546144, 729198634, 803086631, 143488649, 581512517, 479773379, 440889867, 930658207, 268148376, 37936733, 130208473, 713880282, 621210718, 512450981, 486667826, 618784209, 812739066, 829362542, 178768455, 346764663, 689074339, 348374002, 336090345, 453451452, 663018396, 647746513, 150427832, 492229625, 193241228, 925863573, 571807453, 354181929, 241208559, 77898331, 631080529, 162556981, 755735137, 726754975, 579736189, 348925139, 956967063, 575206324, 221023218, 935519660, 118258527, 865519188, 785165536, 414314304, 471252353, 522674632, 606068448, 296731248, 635020090, 818909642, 615200982, 965008579, 488832599, 930198358, 715003849, 231935441, 650324144, 986125074, 49808917, 291011048, 685572605, 251183140, 224648374, 963558503, 985112881, 768871987, 918032744, 382889741, 582609474, 308815584, 953020615, 33002509, 999986322, 233683791, 213276583, 756915104, 671577915, 478659483, 523581694, 49739978, 124003376, 506345403, 336087960, 128510931, 12913886, 246497158, 686662580, 492921673, 837220995, 868579071, 913919453, 626728981, 211831440, 668035086, 772736146, 758652072, 362912167, 316306215, 267802344, 940614291, 854611964, 350987461, 798454770, 969864038, 133252408, 920025202, 896656964, 217686670, 986481655, 2948636, 878249449, 530731913, 503659121, 508570096, 319837515, 213279473, 280736014, 192635401, 56931576, 10901839, 354883169, 411597236, 986826382, 892689156, 225483469, 432809840, 637222357, 212392326, 480707315, 88812930, 223928914, 845371422, 981433105, 422193903, 553333872, 717133907, 282429969, 212567368, 859834039, 722330540, 574700249, 453244193, 401642771, 136189366, 768566023, 610454011, 154678318, 885869673, 893713914, 106125725, 574193062, 484860998, 361573691, 597788715, 617654250, 766161698, 767979317, 566393174, 605250273, 485085393, 32959837, 758317804, 813606599, 404789123, 264789384, 896970265, 783485933, 233385387, 760465682, 952400108, 136980326, 785462891, 738452005, 529233617, 445598436, 808483582, 232332513, 68040531, 592282530, 237417729, 335441731, 778017008, 455712700, 640025919, 952924894, 748918491, 41699466, 227264045, 99469645, 669152456, 769750749, 829603585, 671092888, 407305369, 783854873, 558892514, 746656158, 319729281, 902436310, 764943452, 204543781, 270614999, 370737025, 657965225, 603010974, 37014910, 905388824, 454963826, 565385424, 27805987, 663770398, 464637367, 159688440, 375633155, 633734205, 894523673, 170360160, 27621041, 538768677, 721435857, 321201048, 173107549, 648733259, 289381959, 831660739, 844229900, 49482814, 53452525, 310027051, 971738036, 307534612, 714783804, 102255625, 91961382, 721234901, 905203184, 871504332, 955936066, 964486571, 423054943, 35179897, 378186680, 531347176, 83190286, 707080030, 121020995, 819898044, 712104148, 90199347, 919508451, 851270646, 857680754, 111326217, 789488091, 183686065, 898403149, 792867979, 467804694, 943787285, 215791648, 597069641, 801336732, 427868690, 379478347, 912380857, 911392743, 31834264, 272502855, 464896149, 186476203, 96187043, 611687055, 320501242, 803785700, 523833291, 364533209, 524023077, 346395176, 12783343, 313741029, 63285669, 150668637, 413807644, 91814275, 492355999, 888045093, 4577152, 860263987, 646666216, 218646697, 430940387, 481896153, 799321893, 750295590, 177372214, 849189307, 587176230, 792147724, 388868249, 497193279, 982815322, 594491516, 87725649, 411085385, 392834053, 311378250, 571209824, 783859860, 670852586, 515065008, 169500184, 388081493, 717586699, 128078255, 402396701, 179361378, 61993323, 442942424, 490414134, 835346496, 538394457, 438880635, 206924720, 447493533, 633920775, 649245358, 897337137, 753797140, 576734079, 297871742, 958446354, 604001762, 797890564, 458286785, 508541396, 173688448, 464199625, 734261826, 451044876, 167409862, 939062473, 944601230, 697318870, 82348671, 172843315, 510052612, 105168712, 163818282, 930156840, 612913907, 269547687, 65682424, 34070353, 770232203, 799316796, 472747428, 140275182, 590315435, 662780537, 440792251, 510991650, 174537177, 297258279, 418512964, 993478415, 197833373, 355045607, 55578436, 342765983, 182249110, 898752139, 900930184, 70228425, 622705492, 890759067, 865397614, 991353565, 36324274, 24915754, 755331634, 97494793, 666917958, 92101370, 660193244, 498204041, 739401292, 503261094, 776187640, 323321365, 735938049, 924964076, 463342416, 722669726, 20944279, 501826963, 660443804, 761325605, 665296224, 123158577, 128426323, 495501922, 222799474, 799200997, 916342053, 649768719, 838696565, 338988138, 91753794, 807258310, 617895211, 531107362, 467747206, 191866715, 57982704, 832987846, 228057218, 829551385, 698685922, 908112662, 787019103, 596593505, 658825241, 168484526, 716367271, 658403532, 23624752, 11703063, 226650142, 214952661, 955437336, 323703263, 373814475, 886321098, 972137806, 464888393, 916721710, 957656905, 13575082, 612184932, 278720160, 841989974, 954243619, 515423033, 965314472, 509813702, 575708333, 768685933, 786452694, 554559990, 820306918, 894570563, 799253531, 462043940, 760638540, 447738015, 411632432, 793881268, 289394160, 998770976, 273271060, 647650101, 162462090, 239060706, 229399874, 793486666, 644008438, 428156486, 864174761, 74422272, 783079615, 227461161, 970312049, 690802456, 783932935, 65558386, 598918868, 578458332, 875382060, 780026652, 634533301, 708203285, 715278297, 539302320, 240259097, 54204066, 676087278, 68889744, 508043869, 427838665, 763002711, 348997392, 456233210, 473307043, 358430362, 706294953, 715405913, 359179269, 240800662, 187043433, 631398557, 486568406, 711884555, 56811586, 640450794, 755813256, 231798842, 557996997, 569612754, 794580259, 340954584, 572769103, 830905854, 465628330, 679386135, 330502072, 131139291, 684758711, 759683143, 846756870, 625213660, 513371023, 881316684, 537437374, 959482192, 680468056, 326466240, 738787430, 838662692, 984862551, 120734911, 85100932, 932605787, 184249355, 945473394, 363033993, 357847073, 456918985, 681977296, 754390535, 882351968, 748156137, 860262760, 761623248, 767306760, 846929220, 339010116, 341039551, 677518745, 126791183, 876619609, 44482448, 755981601, 372911995, 680888835, 843934914, 643529986, 405074277, 297779400, 444229281, 851242845, 591101435, 70960676, 204296634, 897492244, 613260743, 206304762, 244509341, 633913470, 186835015, 807105924, 564111365, 526843876, 971496944, 923866746, 663138607, 450011873, 825209099, 102890418, 783453456, 231452113, 635926499, 925977389, 888334530, 929228387, 731522616, 975361599, 993890407, 939486676, 684352526, 940816327, 940386466, 948761114, 542945185, 829210721, 875363732, 412802224, 819847484, 902149348, 176932806, 147266808, 704835512, 188164217, 625262599, 36320689, 527602295, 367734016, 879511128, 661052987, 181421246, 274522179, 375528779, 406483932, 709251153, 447545572, 588227688, 751221375, 376293134, 75394941, 327206655, 362901507, 297759837, 949529861, 46941149, 761413249, 503879647, 459970265, 951070596, 501049852, 494326782, 213758430, 456881160, 197722325, 23804813, 125865042, 167199545, 115854735, 726175449, 240991620, 317294560, 742673440, 876648951, 719958251, 780796139, 542439824, 185501165, 449617769, 47456689, 985078627, 912941876, 930832955, 858831517, 543720856, 253055906, 645642514, 395556559, 375730034, 76902183, 830904781, 222466939, 935695879, 625540561, 127778249, 299670934, 166293786, 720382089, 640309849, 940081632, 103553452, 176547120, 976307329, 883670724, 41636068, 319899797, 307042059, 803837392, 527811671, 873419482, 685169374, 68767852, 560784077, 740159764, 691349940, 344335143, 629828753, 501220513, 436454650, 544320436, 680842104, 214877991, 428452388, 158800553, 875467280, 734455733, 208823638, 747954629, 779287929, 439712492, 197202787, 184203949, 389361100, 196921318, 759811503, 51089389, 718752123, 529703955, 645148229, 692478827, 119407588, 112606223, 267720371, 199757722, 369683177, 645748980, 246246003, 405733014, 53621597, 175102242, 335951844, 92920634, 706935304, 718729118, 47201278, 638658282, 313527525, 932677243, 42551506, 201480771, 294725306, 595690103, 703735945, 746449149, 508518174, 605908734, 579983743, 818690308, 269501365, 661583571, 977887080, 57915642, 951966049, 350894383, 33273232, 989332879, 274694086, 455602907, 515170935, 209953018, 74153805, 210463359, 484994065, 466742638, 173346576, 368287639, 257039187, 521409267, 276208138, 760389811, 183561388, 298574740, 95328363, 325627120, 408753167, 160364287, 681280216, 921019342, 345963637, 629833480, 841641081, 755898978, 54110699, 523195520, 735581174, 361276473, 935526000, 174516164, 796990996, 179536973, 80811828, 999376069, 272185462, 638568399, 41530934, 480341528, 296435991, 92327986, 392405591, 858330495, 856459940, 498581826, 547653701, 979721962, 832138290, 2653801, 584271504, 356293205, 94306570, 992939178, 350151986, 228106351, 901307959, 926361264, 942841427, 140349932, 984646835, 388722599, 142042450, 772189205, 914119485, 639683921, 23146667, 280512265, 250378958, 827040313, 53797213, 643780280, 492427589, 491957636, 44539449, 105927247, 41728908, 128543608, 451232278, 841237953, 237309287, 170050447, 868856919, 947966827, 795076535, 489696293, 45719109, 745881750, 733581392, 414070143, 949524229, 27255047, 840192809, 673582234, 857556842, 94053830, 395693015, 298387436, 633684729, 552113588, 814244126, 742257414, 268541296, 677448523, 882968526, 156335014, 486537840, 338936632, 488002950, 171598981, 179288651, 332004128, 610852309, 36196972, 113605550, 565518530, 381609450, 866662732, 896028272, 131972590, 476318146, 945796644, 798915963, 237614312, 616829469, 327092610, 195897961, 988877324, 718497907, 745955707, 919435426, 81303553, 483169804, 509590032, 771356913, 956347270, 330319269, 741699838, 393492874, 900176166, 143721870, 902301280, 114756081, 842438961, 710240284, 279511477, 415389577, 532046239, 928050759, 914721020, 261836938, 554313326, 224857295, 538179398, 163221476, 635120840, 161058526, 143255146, 808619833, 695650164, 673105887, 927675088, 925162895, 270385692, 341163229, 743524558, 692661604, 840678829, 43540631, 172393393, 995159674, 126956557, 882549941, 458912299, 722515548, 519970132, 187923248, 236063166, 115333145, 115987384, 963435166, 433312914, 363013083, 203984636, 976569944, 105231673, 107278249, 603053867, 813985529, 771129218, 69120603, 438925784, 632810267, 803739547, 673503441, 745576129, 750559118, 574835096, 559032747, 2173327, 960467510, 917599868, 281099653, 110793675, 913486549, 799918309, 129017806, 7044697, 490302736, 574158185, 760833163, 649566717, 735665651, 713190031, 184842070, 792096765, 143059698, 202674983, 193385184, 787445046, 518898818, 290159286, 811720960, 268894801, 885132446, 669144674, 310566552, 575792191, 501264879, 179601971, 87229136, 273782444, 926718699, 48895152, 299525304, 129989977, 157056293, 448286954, 181886092, 383517764, 895263531, 774663166, 325106862, 750685098, 675683461, 423134058, 485499216, 406128598, 587232311, 975800306, 355813032, 976369341, 66905889, 94644307, 339400816, 535273813, 779718601, 332194630, 994244382, 914200172, 859264961, 287419922, 838577240, 403727748, 529845968, 287076909, 66472032, 160857879, 802698448, 541416174, 711323352, 870529285, 766324149, 689944208, 796599143, 447228974, 977958835, 907534626, 555547985, 655416499, 210914024, 2663463, 534420091, 433997174, 70467108, 921405069, 467842634, 121524493, 672152228, 817360196, 504998108, 768706963, 779656383, 916793467, 1054241, 460535643, 41627419, 618466353, 205526756, 852627106, 281501696, 440472613, 720295878, 346611042, 748089184, 949261090, 110993446, 681412074, 318957298, 112238854, 211640932, 950132447, 824976533, 842229809, 970758537, 886327943, 330696970, 767032153, 44543141, 185077670, 720893922, 688592118, 363538238, 156247218, 601309331, 474830521, 25990324, 693231994, 664175740, 520778901, 784575415, 929641857, 389163207, 94348089, 580861997, 130046021, 232060610, 993733209, 405975227, 351649929, 459613517, 649790066, 403654411, 55614660, 273953808, 770990425, 432687743, 244721312, 841277931, 363431195, 476080064, 528389875, 618425605, 375021617, 290595128, 502542408, 764649969, 51615444, 982013806, 367685348, 783157496, 661529302, 800015609, 527185406, 774864265, 598129618, 387174799, 691468349, 181464696, 997106277, 575777127, 601810193, 427248729, 541840398, 440340918, 189249756, 57800665, 234091953, 344613823, 24759375, 547703141, 715519617, 962300357, 827566717, 319438863, 674727175, 11985644, 660528434, 138254018, 931462828, 232053433, 842213432, 552881758, 953275479, 636116327, 942009559, 119543756, 759055718, 859704850, 146944527, 151208788, 514036324, 401243353, 855859948, 792347573, 728139673, 348150238, 924221116, 204260500, 111487666, 561598283, 975989309, 588668697, 436746998, 700127955, 560538336, 568227078, 308485939, 230110178, 781673052, 982750948, 92144333, 442613167, 529483359, 769771477, 885914580, 478010984, 203895505, 778355363, 896005600, 487096829, 229384375, 97737395, 770318760, 338954183, 934071937, 383328878, 926191612, 994729758, 399588824, 394530947, 915828429, 492112304, 978816647, 216047523, 567307825, 663672698, 365545440, 179641045, 549346851, 469309540, 636525375, 9326390, 989648070, 263587124, 649430148, 888220776, 733457002, 644500392, 509051428, 942910610, 257416136, 214819032, 872632870, 181663216, 349359132, 400146918, 108910393, 27017413, 637746758, 95708438, 122714739, 310337623, 247774899, 50055046, 261241818, 995703606, 396905580, 212675301, 179801651, 162800785, 449212265, 618533421, 536253301, 862555929, 542113230, 359729944, 68684427, 307852884, 932505280, 771499185, 460316861, 483434480, 607147049, 564702294, 474430743, 258770859, 343828388, 280286174, 343386598, 67489496, 480451514, 898905163, 258848134, 813128208, 705953419, 791117539, 435269793, 135739567, 330273407, 876920619, 85263881, 817710612, 878812360, 722212768, 984624422, 412895513, 599761560, 904352250, 181462405, 923866040, 675440840, 705667335, 250877617, 824964482, 859684354, 404704578, 82457353, 111057198, 308959589, 872896317, 552900310, 511281342, 227381727, 70589215, 503386679, 223934831, 574447337, 305522176, 537105728, 955700484, 198476181, 569533839, 75451244, 816053312, 626134248, 943412304, 917210722, 278636309, 48855467, 759300229, 276214046, 601748491, 661867472, 425529695, 372146183, 52386414, 268437919, 748371083, 352325632, 663452745, 907193043, 400469480, 6364104, 546057090, 329374725, 824683170, 819795914, 672630148, 973882455, 378681852, 665688120, 881071558, 286484722, 716865665, 93685981, 173181618, 233376073, 294014872, 59655287, 584248374, 605134045, 450201182, 795033769, 957166732, 172789675, 304571784, 422636971, 847485548, 937840913, 740181544, 498089116, 763593984, 867624550, 938359074, 977943834, 67498068, 740972302, 949242173, 873790535, 286682567, 480154164, 475481318, 280552324, 163974875, 113184960, 559449725, 773532936, 740007223, 176744623, 205715507, 712560090, 947007029, 726623222, 244132706, 816592936, 1451431, 645135188, 554248316, 434331659, 335169203, 982954241, 532290410, 973008727, 6368379, 678623442, 516731777, 145430685, 240657464, 133846726, 166653679, 81007076, 91733993, 31339283, 670705567, 488682570, 119790510, 848396725, 394280929, 44075995, 934761333, 225367193, 790117116, 880925492, 191678920, 712858383, 696740869, 825278477, 236872899, 45327974, 658614285, 175315873, 414441108, 377903112, 188636262, 417873475, 699063635, 220508281, 725682394, 987023464, 326667683, 36981087, 817649382, 798736093, 111216709, 99046181, 377991638, 532343235, 453087647, 825347763, 383729804, 935537005, 273262200, 810761615, 631588141, 537392988, 595523775, 947516338, 691152498, 933670571, 364378157, 931568354, 233067805, 197524578, 185491641, 167934017, 888136879, 662730029, 714816238, 529215831, 88864825, 569732565, 500291229, 325190986, 385935951, 687854907, 603732437, 589284494, 179353828, 48605705, 302077349, 924819168, 302721460, 463475426, 721538229, 67850448, 480369922, 793635044, 471041625, 91031723, 808093319, 150778151, 202384081, 22419731, 66395996, 82795257, 749734452, 368982742, 932813173, 935885736, 80555277, 940998110, 658637720, 499031597, 178098514, 269238418, 993275764, 735066758, 618820986, 199393664, 837476674, 755662262, 568098247, 507824216, 598846099, 133211558, 897184501, 400716800, 792084138, 492631809, 40536772, 505480305, 432164574, 494238112, 88102451, 260470942, 485862868, 346422956, 218160399, 208331254, 809557667, 571328873, 144795394, 64566598, 180727560, 24512424, 303187305, 111292732, 212420731, 749316523, 139926183, 437547396, 986179855, 757256114, 848742071, 346023847, 545364716, 892410450, 459225718, 556263506, 372658504, 509563238, 927335088, 57073771, 22407527, 691472056, 961294913, 655751393, 86444195, 805449862, 285306188, 953480866, 675758689, 852965583, 561793213, 804385959, 523986818, 247878040, 728656128, 578942120, 142207438, 697084656, 319371677, 46240938, 454239075, 933286533, 325984703, 558098282, 969328372, 927442414, 761632481, 502568271, 279702519, 186241657, 164206986, 886038716, 567546549, 932561496, 609437546, 30937358, 563299611, 970142101, 484208291, 492996539, 214664142, 199960071, 113479828, 342606373, 310849992, 635074769, 121076441, 574126934, 692504885, 322709203, 156811535, 780277696, 350931947, 530918085, 858930084, 788269090, 792988736, 229177260, 576374140, 481293996, 183779745, 352566229, 829379850, 716114049, 285641691, 398865130, 415339261, 348365903, 972645167, 899407297, 572307510, 157808536, 805613922, 662700708, 724014137, 824000234, 981701020, 309484583, 15070097, 470158683, 541998064, 712846334, 786569859, 16382779, 552148745, 733282422, 727021977, 60252213, 968588481, 233386446, 794908058, 480409071, 942315513, 566587574, 12589806, 462925944, 830494893, 635124549, 116174669, 754355795, 473153579, 994180704, 850450190, 601948956, 250353556, 309569280, 500973763, 22415843, 609087316, 522947849, 404826179, 270490519, 478433189, 539455370, 168750296, 797381393, 609928842, 808546861, 504008379, 689867783, 870135016, 605142042, 773318545, 554352502, 188290584, 130522553, 855267444, 543839833, 746178048, 751772020, 383287911, 828635427, 164424636, 77410961, 403254337, 751156029, 281248787, 241236412, 243463335, 519311272, 324095569, 498258774, 801690951, 936713697, 699937180, 502210440, 458920146, 127351967, 528773333, 902277494, 901889212, 48324553, 652518073, 759676487, 70884609, 974607090, 906305859, 302120816, 136597626, 841166633, 764168472, 224114314, 511439407, 796963436, 123329044, 803134818, 193268615, 546615478, 181549844, 625506869, 385132226, 11631540, 632188060, 902274346, 744293869, 932494604, 993644987, 323143510, 690927341, 798477029, 573467697, 457152600, 188026026, 766813211, 56034552, 412159424, 732961386, 309962790, 496819267, 715712089, 799582156, 477845789, 139349041, 547115381, 52007714, 596619612, 757840792, 260293101, 538428936, 102308095, 32242341, 395988832, 604866715, 549777511, 395120607, 638670491, 604391631, 843265975, 809375338, 335665035, 90107860, 436791368, 763673003, 378297325, 411957647, 58762585, 936946872, 253933499, 724799212, 369959980, 933701518, 336888613, 509248305, 974966527, 167742483, 44185113, 624691885, 784697298, 101369714, 107129538, 260428118, 169547422, 210096236, 986393848, 79246618, 494487187, 303887536, 205370613, 664538396, 670958044, 465956946, 628785323, 893653137, 515899374, 762840813, 199844501, 123816132, 405776507, 503544573, 356770238, 493904491, 124988181, 930907650, 471427766, 490278533, 179376451, 175246918, 534036523, 201558246, 859273583, 753705149, 353158825, 227069310, 621895405, 18219680, 418332949, 82697643, 260254426, 185198821, 998830618, 990963786, 593733448, 528210898, 431140457, 391201930, 603040780, 231847297, 158890266, 99172108, 840217951, 658769349, 574951481, 129192757, 213836687, 952674170, 761011470, 168029107, 410584106, 38331760, 624329456, 85077084, 600765104, 298236410, 754824716, 490777149, 685718912, 244833352, 295913168, 202611174, 151805215, 682598423, 189575762, 425547057, 697450548, 683640693, 487068129, 479144491, 97124645, 89141439, 368711750, 533738564, 425975043, 407027420, 672563526, 984599392, 304641738, 550619307, 463601114, 650371313, 537827161, 503572756, 797939072, 523703716, 137987273, 198537022, 486832079, 899045889, 594978411, 150482470, 105617191, 584735006, 639427417, 15839955, 787213461, 58767498, 698074010, 471737601, 454821888, 197848330, 750107502, 574706958, 531930602, 955464991, 308196753, 431309273, 9958514, 214643109, 639526623, 255279242, 247577198, 867160280, 899116961, 171235197, 912529594, 296054181, 362899936, 810360521, 229905920, 584691320, 381191861, 729585914, 355017123, 147442650, 865618021, 114542025, 837285567, 551875575, 735140235, 251525394, 33911451, 191061560, 982008966, 268436751, 832963233, 733029229, 607773380, 177389262, 807962667, 801631246, 649076972, 87210945, 21571201, 282270030, 542528257, 281504634, 385317714, 505760513, 139203585, 211553805, 143339776, 340922695, 826701763, 221061581, 269018747, 336548748, 261684882, 189270337, 410731590, 485908493, 32381539, 853253060, 691822973, 783888861, 493367484, 452395361, 569466864, 77613877, 900284147, 512768250, 146304129, 444607572, 161630123, 16876389, 420538617, 887357760, 475732529, 783911756, 496656384, 667079420, 917149548, 384308966, 928771480, 123920377, 716780946, 663341616, 471865983, 842702164, 880284977, 249209401, 175650119, 47344317, 345906550, 224137266, 587820048, 639128137, 871379463, 684596075, 305797289, 161751118, 502794629, 39386372, 999767744, 407767822, 276811601, 497587452, 348746032, 36292502, 387430132, 89830741, 922562013, 177941755, 294153682, 957867123, 661432104, 136977095, 968283080, 525339912, 633157566, 995526457, 695187872, 909951590, 614283354, 495236389, 354303324, 868267473, 452641875, 403998288, 17127298, 496378020, 287028621, 790024228, 903039401, 38143734, 659074623, 542194453, 393245969, 684570738, 399245664, 338861175, 750691608, 227654923, 808318151, 612350957, 594342352, 790577733, 472801169, 812662328, 631583448, 804201050, 570318481, 173371916, 681502040, 678447249, 28183340, 265525334, 294365931, 745499044, 628959412, 437228359, 831094851, 348340488, 901326606, 64095293, 542178175, 699929710, 686395516, 720997320, 520080642, 880045521, 823024202, 196272199, 659140251, 844793131, 563310818, 460190320, 224121881, 955165329, 631215655, 626220927, 904068957, 674097753, 476584432, 279247027, 269071008, 164212738, 69126722, 481214599, 912186137, 747795068, 655871442, 113459043, 546704784, 924559278, 966420133, 728597748, 274624545, 489163766, 509366054, 681709174, 548216571, 13549850, 877794937, 926251250, 974652755, 861494131, 102632243, 620724777, 379678399, 668039943, 804226702, 547286737, 558825022, 385293741, 402115043, 604322944, 510712274, 150647920, 837546971, 188255578, 188579587, 297263883, 488528035, 513445491, 493343781, 626206072, 381725794, 756506432, 98898388, 822335824, 885712908, 234725278, 224573080, 608057682, 15749835, 743895321, 41952765, 348987405, 398145518, 293063254, 565945222, 640377534, 276230112, 340201787, 936838387, 284683895, 616763814, 215867648, 170415537, 381381817, 578094881, 209007583, 59768000, 469542471, 422415624, 606257584, 281868274, 152296930, 641381727, 910995116, 561206649, 402645234, 487791888, 287024636, 140352781, 382511515, 646203646, 809829793, 545692689, 866420932, 186783575, 614638054, 281977646, 451188253, 692772104, 667379712, 821026561, 440947051, 289100752, 464908980, 834540673, 22343657, 561643101, 613845598, 418458337, 620945040, 629120846, 671215530, 957788000, 591651512, 89156074, 456670241, 912512548, 464851858, 656037183, 164123223, 129038451, 220070382, 174740537, 748645947, 200209856, 280024491, 573253069, 282776429, 989168340, 698346629, 440874806, 835306384, 487476082, 884926668, 58398136, 487904825, 631492007, 759801924, 817124412, 476419760, 551977635, 273277162, 311971636, 506694988, 921011579, 999790665, 378452424, 418179038, 327363296, 947467798, 848319523, 63435694, 158169509, 755227234, 628288178, 361996667, 996930076, 175924441, 858225511, 735164279, 16370474, 904229159, 988915832, 450571592, 880772152, 395335575, 683808135, 924994768, 708117367, 638030899, 111185759, 921161774, 214905162, 355405480, 601883089, 867078406, 354269093, 7570550, 384461622, 744652293, 819547906, 939314738, 25795092, 575830508, 359309116, 735677672, 837206524, 551314826, 45473719, 917478030, 499679017, 409530878, 234121333, 648572993, 43738284, 378861388, 684865269, 267726662, 994098137, 372213012, 796660206, 133468262, 228112925, 51307920, 647280505, 773934384, 204957572, 722587506, 576547670, 515115180, 759701845, 372929690, 699960941, 282952649, 214427494, 95765381, 438700007, 380502668, 735999542, 192112514, 982982832, 398283675, 197424509, 950769622, 425971924, 856450274, 959690819, 807494394, 38541440, 815680002, 129679646, 558816336, 541710559, 872516501, 983084876, 804476016, 547154928, 413682825, 322031593, 334949216, 571920124, 682021151, 507499367, 930437522, 921994898, 544963351, 106901960, 799684406, 767777461, 668646840, 503288784, 337178155, 70847148, 426021206, 2865748, 570962734, 999214921, 306085865, 847157327, 723309611, 412546028, 785867598, 501635042, 173258747, 111982765, 730596251, 384590334, 170045187, 525701242, 652591949, 518799652, 506432021, 627961819, 429537884, 293912298, 118784217, 582498490, 44811250, 956976153, 887356409, 726269709, 480925422, 570076142, 177905247, 170881914, 500715542, 666931403, 821948555, 801661976, 506112932, 910927772, 506064378, 335150368, 557593147, 10924418, 839479430, 853340701, 622811407, 440640522, 923789789, 511681638, 741351018, 377003738, 496143156, 651595482, 325627275, 289875741, 998707795, 371198960, 286457467, 40939157, 312069525, 846158574, 318126735, 360629942, 489027764, 874365189, 82534328, 394240916, 546915846, 362338140, 79364912, 324513054, 506680315, 356149919, 730501388, 513129640, 213619250, 701549833, 945150789, 473469922, 386192500, 754988266, 93621272, 765465383, 940338588, 994431481, 258945830, 453672478, 970460173, 729356685, 352786454, 644139864, 677781361, 703186123, 974075878, 583082028, 542189698, 268004828, 41542822, 161960326, 895747000, 662440665, 302361758, 862426145, 305223648, 56624241, 921116652, 92899078, 519360588, 810195474, 919152781, 501996681, 758126280, 724697970, 569003526, 184680878, 19806866, 518976410, 935903179, 430049211, 248602768, 259882570, 505150402, 57769423, 76242105, 505835772, 345459828, 169196713, 380910884, 957816451, 390667300, 168814936, 599020383, 983170500, 515913454, 46760765, 522861602, 148096787, 609536277, 894136690, 639835400, 90945097, 271477827, 38337554, 837837061, 631305074, 990041287, 118419763, 372435989, 126634222, 135828041, 785280744, 264029115, 991662440, 498855351, 82201877, 350290774, 433418146, 636866268, 143999989, 97761563, 31916338, 356259461, 738559561, 135012267, 536013193, 108936573, 329693983, 920378780, 398859682, 578037917, 927528516, 923096492, 94690428, 371229458, 46706919, 239719572, 72844274, 993271262, 447705679, 680170456, 458895212, 469167370, 10549977, 855195607, 809826189, 362854044, 872321810, 297339787, 510066366, 369461902, 577086432, 412194771, 171506904, 838095703, 731195929, 909707976, 671958543, 200245900, 371610525, 577407439, 476477444, 973043803, 297872801, 379246149, 195743411, 647195218, 634641474, 542849046, 118298071, 385310833, 386718862, 500058270, 768510044, 20259269, 526279897, 284359072, 434205329, 189171157, 853688016, 579522762, 758595308, 935533303, 5048576, 205539100, 379161269, 63457155, 929027060, 457473362, 83887371, 344383623, 966651086, 424426371, 856144857, 114507313, 630641238, 117250688, 448160943, 776871921, 297631377, 408255556, 993330050, 58991838, 516896562, 41775543, 559052865, 357797329, 534541478, 278401301, 536320995, 87460684, 275313841, 140991793, 898817975, 715078115, 264060297, 323511380, 810317226, 59957814, 590106262, 287656997, 595262698, 683928161, 740201488, 105046933, 591208230, 885013792, 616265386, 620632027, 362741158, 570195377, 770414527, 349248121, 191912851, 950653180, 626930476, 950807107, 531660308, 603525084, 16379892, 766488721, 421249077, 568236704, 771287757, 110789702, 894293893, 407263816, 176482598, 550121843, 239545229, 907109896, 341641681, 700311610, 519518777, 361703128, 319979588, 185786155, 773424330, 315475159, 768639726, 212232963, 770507916, 397324138, 298103484, 366521109, 61569903, 37824108, 51071115, 130880843, 414523903, 265305035, 757857048, 859563723, 915950879, 343235405, 83958802, 910354083, 437974603, 116471806, 359215212, 223602493, 651431751, 828927808, 57473081, 234996242, 169280225, 814532273, 213962734, 326163617, 371198821, 166806323, 408758855, 819675019, 392767240, 324586791, 372174998, 680872155, 702776263, 987184666, 536728457, 810648853, 696502445, 143161686, 210352017, 977298697, 261306065, 101069400, 304152771, 779117291, 647700537, 700509663, 409997849, 452978462, 664706613, 118877144, 820583731, 379229981, 896676726, 324661228, 408144223, 35002558, 799745305, 615846406, 103961002, 731404497, 124379860, 301214281, 872141388, 919086606, 657884935, 882565209, 241131681, 50229175, 255727240, 670565100, 772390032, 171578467, 366780408, 975447972, 32825995, 84030560, 757219432, 772546568, 452825433, 403643108, 535850003, 604740718, 696577331, 425782174, 866720126, 755714295, 47701936, 173670658, 776589906, 981694433, 339292458, 407952118, 986557617, 427267737, 856135427, 602701362, 906936440, 847069533, 195932726, 190881602, 678999928, 75965735, 928983043, 419550800, 964646140, 188144124, 132657678, 666360418, 360759397, 500036844, 476673348, 660026642, 397461847, 356415484, 548007361, 390686369, 379757086, 356443975, 937894106, 889997808, 575200250, 169719973, 783609207, 110420870, 867108823, 261133349, 579655149, 489401089, 467361442, 825842480, 659437591, 29109433, 815425570, 844123050, 903466318, 561285694, 108844212, 810117625, 938983059, 739039234, 804293658, 131648615, 350968055, 429203187, 199158932, 61611231, 804400309, 833387990, 990187496, 859094117, 398022446, 317217198, 296859050, 65501915, 581807301, 956296604, 224224536, 503036980, 312228975, 499077154, 470634790, 521749644, 569799596, 880715592, 901720827, 599460025, 585295564, 497830651, 929223780, 506959786, 973280007, 429241127, 440015564, 75970345, 489363009, 326775998, 491580928, 40316340, 633020593, 45153014, 699837903, 536858781, 87001064, 938597524, 854111812, 59699952, 2685146, 657007094, 950357750, 240216463, 807962755, 148317359, 841739372, 466780082, 463315788, 807144603, 371411277, 868985155, 756911406, 721243396, 90340336, 624240929, 977334756, 811601484, 799956148, 350615644, 383545521, 23316791, 43002298, 378688261, 142220887, 696748909, 702108372, 32654004, 943168292, 950931363, 744758521, 245433745, 411673267, 169311303, 355366294, 161242198, 937961445, 854666619, 392671542, 601475881, 928266068, 757572941, 181410472, 768416149, 524383022, 60690822, 863346618, 844393205, 601902482, 397300236, 197431854, 518848736, 623407418, 980838193, 246493772, 355279251, 462032274, 623018897, 765591321, 80830009, 205781150, 781985375, 411363747, 320056666, 935565675, 362413075, 320264743, 985074949, 833486301, 871503582, 995026383, 236238837, 56603753, 324132064, 282343312, 575608752, 470002900, 525828068, 732874298, 713483257, 514678953, 843355509, 187885448, 43565375, 854721603, 638175019, 543016754, 935283403, 665300195, 799054074, 305298729, 909689518, 651170403, 820192377, 123626816, 940695959, 148104498, 727229910, 827190046, 736848138, 865956744, 140505261, 498238686, 464363131, 177613750, 60960060, 969533659, 479508297, 632886666, 36158260, 28099835, 307614011, 397829822, 637173171, 522086265, 855795644, 58403991, 57221924, 599737097, 162948553, 627685845, 472238001, 78877650, 530616560, 221486917, 17209778, 698986431, 552538402, 362608178, 662931401, 902317873, 666105244, 113793494, 423048823, 209102807, 73728929, 50882804, 417448704, 728507419, 805490353, 590989174, 923402489, 335443486, 681969776, 746420479, 683661913, 264052700, 734295014, 936588339, 96479627, 328052858, 156464092, 969541828, 359108071, 657332033, 121715024, 760785998, 69225244, 666309270, 853504837, 847070314, 909404237, 342250737, 170685741, 380032925, 64285792, 867850091, 254302638, 531793508, 13225744, 464964052, 619679231, 9693041, 338772952, 346498175, 786379513, 280891960, 920272695, 47894453, 568313677, 695091073, 392950122, 275468878, 618865848, 866210047, 293344741, 411240951, 211319608, 277356144, 948807889, 832009250, 105834526, 309136834, 933916548, 927088192, 720898724, 786288371, 561179277, 142148812, 880050192, 592755497, 797358954, 253891900, 172452293, 786845168, 174952630, 740935420, 978754251, 938752273, 730909947, 667611737, 914413024, 742495937, 952820133, 119649976, 165668807, 857455666, 669140851, 379107704, 317854721, 8410452, 187899705, 939836397, 190786877, 828312, 906686502, 188650760, 613624151, 302984231, 734807403, 853463402, 981153947, 403356258, 871984390, 607947099, 891865373, 209323199, 58866719, 141108757, 636393560, 165553305, 979905528, 26982865, 54669474, 270394206, 13773253, 635731216, 559542266, 802355660, 625342885, 303096640, 848282047, 186813927, 309777710, 29425259, 987953818, 483531561, 45487444, 488268254, 8310553, 151180019, 977590816, 300706725, 903986984, 409353217, 777186325, 55443267, 24243624, 316198587, 763067275, 731198837, 925215024, 254477672, 940365791, 512505591, 336451702, 532242954, 954373056, 782048545, 10325361, 4457939, 487936813, 781826874, 695835436, 477800066, 935305676, 286444244, 948484785, 655853579, 462096250, 50827771, 3029854, 470293509, 822712876, 695754164, 735124387, 289603730, 560875905, 539413683, 112178278, 895726737, 434915256, 55712919, 195769274, 590898739, 461637860, 506033343, 278460061, 287727790, 96304601, 701872802, 630484025, 584156556, 176114700, 967364566, 142279049, 747163528, 662145548, 875903666, 590771077, 92152070, 285372804, 573526569, 158577667, 172212693, 741380338, 51905235, 45678831, 504058728, 902900217, 968722168, 697343118, 134378889, 784302933, 404882259, 409082999, 106321335, 816645971, 818299227, 955110712, 539074888, 112658669, 2376425, 511161092, 473838314, 854143101, 35430917, 47374262, 105978022, 392610246, 529371197, 446388726, 117147497, 514629491, 2872626, 194039204, 518914129, 756548740, 259046516, 106292667, 639232595, 699738621, 419007466, 362734672, 389522012, 208722185, 568520625, 250949967, 303858756, 580239121, 23145955, 575706482, 402417497, 708728631, 955766202, 255144870, 516620116, 988356890, 232592954, 427616110, 837653461, 586210383, 179242628, 38419093, 699853257, 714147291, 821217438, 122515878, 520966904, 804415147, 681433593, 493054222, 999188185, 383233432, 878152991, 429073504, 745882826, 101955296, 120384108, 148233138, 401698522, 777581364, 780391078, 152049169, 874274027, 578276067, 801186338, 259340875, 258394959, 439030190, 759232664, 16221396, 79212243, 653980775, 186118497, 632868778, 718451862, 231882452, 344435732, 715962983, 131965253, 923008506, 337095701, 142520332, 349593936, 899157873, 133917117, 576585561, 480204677, 815318683, 473367716, 203036760, 223569509, 588834954, 535972283, 755132691, 893081284, 166602077, 991028947, 418239401, 694314594, 772091920, 699989082, 972801517, 661785626, 304925060, 694233776, 334196982, 59430084, 132861367, 958340097, 18999907, 559308507, 157462297, 850064111, 186816411, 229686946, 828479476, 365312437, 994761406, 136286683, 215598237, 225834861, 489207649, 534980914, 58485940, 443920455, 904220492, 755357955, 809226199, 685603254, 605960089, 644747259, 236692011, 817802233, 210654036, 605352523, 485627372, 996786918, 443071920, 346818029, 940870701, 604292318, 164891653, 903563998, 641513864, 9769640, 879390043, 192093290, 833306449, 931962859, 356297177, 271936626, 636896538, 107586956, 162669465, 964003598, 219436305, 469186719, 672336294, 739117799, 849096149, 158321675, 795822092, 691329343, 151889688, 422877303, 336115413, 900428164, 92184649, 253839402, 508352411, 136350287, 870537974, 340555493, 208942218, 979080822, 498283660, 839362284, 405797018, 522512403, 754198946, 727414590, 133612446, 292145253, 344586594, 133067580, 166435243, 478679027, 792844329, 896577743, 43803216, 841016887, 263029487, 217038820, 368434822, 739161049, 862431471, 2450889, 268833601, 258715611, 148385434, 897317620, 418847550, 851896348, 509038718, 321073772, 722953551, 584990740, 783140624, 201749635, 335593630, 467306148, 46754793, 7357820, 168136078, 588292316, 142338878, 850150334, 143773614, 565805995, 313117877, 214081418, 381926095, 666674921, 783530235, 278035121, 10267251, 806979253, 516577949, 873255746, 597984278, 633130154, 167935095, 143487877, 341013531, 492418994, 886463811, 701585456, 596074900, 861309204, 482900232, 192404460, 780751772, 626214465, 314176614, 812472333, 317148314, 192552862, 2867210, 298298299, 773210126, 863998955, 788184673, 25242692, 590786537, 171579157, 883677289, 796334366, 955751600, 556327970, 483484638, 838189725, 231310508, 359151957, 389671702, 575275571, 310049738, 747033423, 695001040, 283678166, 820673441, 531306842, 574426063, 866649879, 516803263, 418626726, 864812087, 737770630, 402264057, 587555327, 704699743, 172639473, 671849111, 734102337, 387979314, 666780232, 851747967, 878228199, 695044600, 95369064, 340155145, 232688934, 255581123, 556507003, 267643468, 331875184, 504698606, 558443816, 61641263, 870018546, 958342424, 613724043, 477578066, 24972984, 874643281, 320714771, 912657637, 421755831, 636982464, 12194250, 431757195, 41187484, 712827425, 600368319, 474048128, 467868482, 465307323, 3539155, 20295809, 809268297, 979636366, 454907547, 39691563, 662716573, 899783639, 669794810, 545516499, 243635949, 609602459, 624057775, 511006150, 199424812, 28996708, 420862410, 381530447, 463664835, 432588788, 485493842, 220100854, 179881974, 12905418, 119619509, 772105583, 275708431, 691534281, 830068772, 107611533, 31755890, 59466272, 701583788, 998910773, 207539486, 827014346, 547788835, 809159454, 806186008, 801445332, 281029163, 834307999, 336993860, 807458337, 158367942, 510407155, 688613814, 654445511, 275125590, 93113881, 248315446, 372315977, 966255967, 23426091, 931693531, 145566232, 128156587, 130615290, 408236891, 399080981, 201516513, 296316544, 522332340, 307283661, 524998712, 959074513, 283027219, 230086738, 782785395, 842586647, 542331765, 31689913, 629678823, 18749081, 944452515, 286369872, 907577491, 469777827, 634306957, 354160530, 494499899, 838905383, 366988025, 451827917, 839949901, 704338694, 117956736, 81090293, 76257049, 352144898, 711876489, 579852963, 733555836, 871182523, 244704948, 999844169, 171629569, 487892775, 571613165, 318134525, 660472450, 590470759, 689078413, 267919505, 630950842, 279381591, 689655927, 782489844, 59825328, 931538575, 456626907, 457802930, 903218687, 298442872, 881705505, 424957265, 792555297, 920025869, 649524799, 488977831, 708208884, 782205718, 249319596, 866384113, 706342321, 92763594, 512372648, 245822440, 781867701, 941120319, 713985800, 863254340, 94104937, 703937855, 788944461, 951993919, 48115054, 713542339, 484954029, 700503380, 841413938, 215183901, 278150787, 548863023, 550111122, 865612834, 32824790, 113779730, 892219289, 338911010, 678471438, 593960639, 474021271, 766138267, 304788613, 176543870, 376278948, 484250385, 257868172, 444685829, 200348124, 375937058, 604732144, 286540784, 33642773, 249617254, 843831364, 830204631, 208422756, 329945241, 447828199, 170219823, 261974717, 67255072, 714191499, 96215150, 636053240, 741356224, 282245479, 34580182, 929023369, 670550543, 770391814, 274902312, 609230835, 895486963, 916878427, 175325880, 863219336, 137305233, 781322753, 742350626, 842964609, 284196547, 550067297, 175756426, 494109011, 849953639, 655368439, 752257570, 694420699, 470781218, 804997277, 603206755, 924438793, 424284541, 500547692, 876189676, 560775264, 198303443, 667218961, 195559392, 425518453, 838956645, 15306950, 186183040, 85435005, 267523743, 536155285, 93722615, 257345008, 641198685, 121721400, 944754821, 489995897, 400837365, 698322839, 120065895, 415969370, 763403590, 330488470, 233588487, 784255864, 846734833, 24704042, 190378937, 60519089, 847638639, 861229812, 834312427, 88142595, 923297435, 155547103, 415454457, 608247942, 60130144, 587785145, 270373595, 325177220, 896701987, 772220237, 180460466, 23811332, 122388322, 357027729, 13935915, 631652061, 277915532, 152873397, 989689096, 813840296, 68947841, 807695200, 235616628, 931876081, 986132599, 495942943, 672999393, 589409307, 268622413, 127872752, 835245250, 181109764, 301119983, 999964035, 477154158, 478795807, 37456548, 198214440, 724053530, 584167317, 339046702, 574554285, 59315670, 548492847, 674045582, 253638411, 121283089, 521377194, 142310242, 87954129, 511958084, 875523170, 492139387, 649446111, 898633187, 741590147, 543497592, 641120580, 745021507, 503703160, 51557863, 208442121, 993415147, 912992913, 608223579, 879713813, 857788211, 643143754, 425921896, 947483294, 427155418, 674682017, 706665236, 502882675, 362193365, 911933282, 162719442, 101793552, 623096744, 431962871, 747186971, 139249814, 472813435, 936050867, 260874534, 409093466, 603148280, 217017342, 66301745, 415374077, 46347443, 215874296, 740107215, 662440041, 500505524, 896697191, 710697302, 833991869, 727482841, 980585117, 803951206, 260002428, 758472396, 925080068, 437468409, 343094230, 764130067, 296695336, 744341230, 386748355, 687893610, 533342682, 735776465, 429255102, 385384500, 680407975, 887502782, 729982283, 656788371, 763242924, 829866271, 84279860, 946898592, 79402621, 146592824, 240966106, 39961819, 701878069, 53759105, 427951879, 508437051, 939568660, 953504349, 701725056, 342403663, 874969028, 611306306, 323751966, 859096562, 666050608, 94508032, 85752405, 805268936, 727591991, 186069241, 235255089, 585965096, 677139395, 751844017, 944683700, 858100014, 468242301, 119889659, 767091853, 227964399, 533615049, 445666507, 621888494, 43674604, 80820249, 8310268, 379063067, 675722472, 805072749, 731852466, 381092369, 831469816, 70040890, 548654155, 643530205, 367357858, 661694768, 695894981, 171763438, 637032075, 67576635, 892429114, 681621463, 961119360, 915285720, 744759728, 17791773, 180559955, 909388698, 728215535, 837908434, 497248091, 765663247, 861289367, 625789231, 857390020, 352189492, 234691779, 101067370, 727536319, 824873493, 695476537, 502935427, 229660120, 698099117, 52699511, 394675143, 736179063, 992607228, 443203636, 925056390, 1087111, 88733139, 851053982, 734824550, 418779315, 493937927, 700543464, 979926826, 727577789, 462895118, 955535332, 361793543, 122564670, 622987776, 597088076, 955619148, 65773288, 41105720, 594417285, 681872626, 333610223, 605766385, 738609238, 611988484, 565804301, 605592778, 391162363, 702515210, 657765340, 461561253, 88962038, 304181365, 320183497, 771441844, 279528433, 536099168, 954978442, 646734093, 392138305, 238039214, 511763305, 495732371, 200480141, 368541435, 518083227, 906228881, 264407099, 435157117, 204951373, 850526891, 821773696, 357496680, 206970756, 686942473, 107002224, 430691430, 171355073, 404949946, 669514756, 417022724, 487402081, 680730737, 188781207, 125966554, 346719480, 863129663, 742166552, 236997338, 959160906, 812688250, 399317277, 475568483, 253951443, 375750498, 94172566, 688378472, 366030157, 970610879, 522554385, 563995275, 948244295, 833979562, 660980453, 896239123, 579253173, 796362963, 826617643, 414958383, 559519008, 653740350, 306760669, 693302678, 636525271, 399994769, 856890720, 364885958, 341271366, 576569011, 442749877, 812687456, 352273134, 350696836, 526239672, 258757145, 258112666, 975352163, 2434337, 867272403, 291858238, 621201964, 776985605, 342494773, 521190045, 240557185, 563755982, 569119835, 54503936, 653004626, 234282767, 604503356, 165217603, 74773189, 770045199, 266013483, 227385780, 641255341, 149561710, 957613501, 158033575, 531953169, 211003621, 157403580, 351585055, 219030844, 930112116, 133462031, 184024715, 976835064, 722192320, 853954566, 600202920, 580643915, 881380988, 63815317, 149150294, 273595574, 41389966, 85436714, 662057806, 989399247, 233188372, 339522297, 516141174, 257097631, 104939653, 401404654, 211471664, 219040002, 955308915, 832179309, 700443581, 88650357, 495837757, 734511339, 704367711, 444856245, 9174182, 810155387, 772180331, 123931922, 498767419, 451899080, 748194611, 838176201, 539595396, 549857105, 682603798, 85253543, 601991283, 591853854, 115137096, 709682353, 898415254, 776361809, 321284820, 666935592, 1871370, 407267027, 714443327, 92002833, 372969544, 69650722, 242542801, 273879063, 596801138, 793729758, 136985278, 534005983, 976632212, 47175509, 655418024, 502299487, 702251786, 758279657, 703017351, 595861363, 626201579, 987800641, 441319242, 498775017, 164547252, 305593193, 219896911, 643308840, 586661279, 989032052, 133540987, 219531611, 283563290, 118167569, 950831012, 603474583, 985382009, 931386824, 397565802, 704513414, 244688111, 99607685, 133331313, 144562586, 661368673, 42978978, 78014572, 239520105, 864932881, 649559093, 417173759, 888509864, 164889461, 256786204, 973604858, 811613957, 146989350, 298315054, 735090282, 674339552, 693725362, 339042736, 13520318, 934350220, 810466489, 792700137, 530831785, 592651479, 905981748, 631337613, 916654643, 622896284, 67031786, 215471686, 958275389, 719390298, 679081131, 593730436, 645502113, 42802817, 363878233, 99446300, 422260892, 155637353, 294979973, 170093586, 337457636, 227424702, 210395683, 572736137, 197527917, 356032196, 43727678, 695678235, 817288455, 859985163, 465833120, 366022229, 390285136, 255534684, 938222345, 460683342, 886341109, 969313122, 202210248, 399504549, 743133366, 725175362, 223626687, 115868228, 440292195, 241909834, 735945369, 811433122, 316612868, 752950617, 771822593, 662731208, 266121181, 463660422, 546616926, 95181255, 635557958, 656124150, 440015273, 730134779, 102013938, 608387107, 906097124, 964819696, 363876562, 564474261, 715094507, 990734415, 354832604, 405847676, 620259570, 358976959, 183576640, 518459420, 877866724, 812909356, 262387541, 599316317, 528623602, 280922771, 84738788, 550611119, 949965816, 390510666, 665818815, 909233648, 678083693, 498999925, 280889126, 512335456, 716751460, 761234292, 714626806, 25092686, 313651374, 361699679, 649003649, 145125515, 247542467, 111813011, 678338053, 696666051, 983217357, 21112764, 879144658, 208863315, 963789082, 261490913, 73342561, 192834560, 15017428, 961285865, 402981988, 228499200, 332714110, 842835512, 391126587, 652529019, 976777681, 146884333, 14086249, 849865233, 999315146, 973430131, 487199242, 184214343, 308871203, 906618389, 958065656, 112376717, 381012669, 843834167, 622003361, 67773383, 77577696, 937589528, 734783948, 711360173, 843096364, 533485828, 904834506, 292093746, 83827474, 791432100, 869445334, 118061876, 660905216, 994067813, 759429508, 950926792, 993076260, 95464013, 370583183, 23680286, 918736815, 914077736, 454203250, 306344046, 4757753, 420884143, 137430407, 703528577, 276284070, 528328912, 7897737, 159400885, 734270619, 197616764, 832807257, 879826745, 226004841, 602174585, 847628472, 84161863, 739994738, 594937527, 149194644, 490197058, 728736962, 819740004, 109684323, 732233945, 614073688, 326245665, 187051360, 404807187, 78706534, 273455486, 200440641, 683242783, 525863551, 356487804, 633310327, 564677652, 448973149, 382331016, 867809959, 808161582, 319028452, 390624061, 365079193, 342133137, 195288451, 962787843, 979404503, 290205788, 743827711, 210895728, 185835334, 158982221, 816632019, 385504305, 305880620, 115355339, 219915912, 666260934, 888408232, 428804406, 948529591, 650108995, 725578094, 638588189, 920642538, 894612953, 592788465, 851880923, 350529114, 113856106, 754893689, 436298044, 101451939, 737490484, 916166907, 593986749, 305827884, 113131948, 596443829, 844853221, 232986121, 748689251, 633697577, 861710835, 302543703, 312688079, 803706474, 171207114, 930443779, 389526878, 568809350, 632204957, 41820220, 538100603, 913971427, 96568341, 91822694, 335841407, 91345053, 130156777, 573580041, 217982681, 217243231, 411325866, 510748643, 834930743, 493463550, 574852507, 71500248, 449883382, 429503279, 188438344, 695086189, 307718744, 878730005, 489583256, 990878045, 952038041, 884313065, 788983311, 673758992, 624614831, 384433661, 727521565, 596884605, 462475543, 88268454, 882948111, 592587816, 532727701, 632838057, 245453846, 199248713, 855477463, 240304001, 901714159, 198469172, 526951989, 754653301, 147660945, 148467047, 636809811, 881629224, 307626135, 150686574, 773460746, 349535927, 564908509, 671868100, 911732328, 905663835, 77820660, 352808369, 82566883, 880603832, 913907740, 820746662, 14867177, 821048878, 406377840, 786919811, 406700494, 584976071, 422492781, 471626693, 31554768, 102845067, 218316359, 48485533, 65939247, 84405157, 679730382, 750938479, 836148003, 470921797, 817311508, 970190948, 640353933, 616153910, 274015669, 484369002, 637047188, 144238152, 91115203, 966295716, 507629993, 773291903, 858393710, 647446493, 883470176, 634630363, 497584621, 197286058, 791100497, 116417288, 131903373, 344369967, 425617221, 466655320, 21482620, 480491728, 320778539, 829454294, 738729781, 423331313, 922089950, 427054069, 44611982, 620789599, 721681864, 10316454, 777357997, 717060415, 18147794, 892211710, 689620402, 596197304, 236420363, 127332883, 542645515, 710746079, 649208640, 637097197, 573119526, 62080131, 6076548, 997195994, 455973316, 378697218, 875090681, 12183944, 874111366, 498209357, 974958806, 479600371, 438409521, 135033663, 948642479, 366221457, 249708675, 46675101, 186077790, 412259786, 550068574, 670492347, 874176991, 827810563, 818302197, 656224338, 388603732, 787734298, 93152414, 513068430, 165243662, 451990705, 388175137, 988738852, 447068057, 655342219, 989405475, 725447267, 957775304, 146034516, 637312045, 295167690, 836942574, 400445171, 594722444, 587603863, 999550382, 128077765, 263842940, 722413030, 799812908, 510884161, 387889394, 394765277, 909960678, 132897070, 672461420, 120453683, 356779060, 299902184, 57923033, 344856931, 600022522, 889832406, 338322705, 774397918, 905867127, 400941536, 646777211, 682066927, 419987078, 331295112, 71560469, 344978810, 42791561, 853967540, 516131441, 115641434, 948574960, 616977529, 1764274, 590790744, 897805968, 12365971, 984586500, 763042905, 871142252, 555569230, 130334091, 703620255, 654965378, 406654236, 219109030, 629762639, 389426702, 234193847, 528437417, 699013338, 925617276, 896195239, 12418492, 545476952, 471112364, 330795040, 230220834, 184026328, 438403780, 647980589, 263579930, 489976665, 834873192, 221511454, 808971865, 288331628, 866409239, 734669106, 673692502, 414530837, 623872344, 683432467, 278991709, 899596024, 902345327, 531204882, 499709814, 978361435, 593228261, 89111915, 842946149, 932885569, 66218584, 514742837, 930089273, 802356993, 554822145, 534003827, 753096070, 39194175, 497535281, 36022235, 131309448, 689608489, 971695336, 830805177, 600467886, 200581288, 297775414, 572374518, 231268176, 535551180, 470808726, 179788560, 646962922, 553133819, 498976858, 468869865, 928966915, 960097605, 893073228, 571000157, 946513848, 338263429, 304016459, 576911847, 105881467, 463978871, 141407327, 466788314, 923591012, 299653317, 438227127, 559652170, 400602391, 226404133, 703007711, 878044684, 747122538, 402340176, 108874984, 573017695, 234332437, 512280007, 118791959, 276379236, 47320451, 451012724, 521483148, 317251235, 962017230, 139404387, 330581910, 945359263, 317429726, 59881123, 936802449, 855542645, 836350605, 250695725, 140725208, 27203231, 994105809, 313000133, 462074228, 928534092, 446568112, 395680526, 402542776, 250443789, 561342520, 963306691, 707800029, 894394351, 896079939, 556139669, 157938774, 513592106, 314499261, 892773499, 748091212, 458336299, 544787573, 628857832, 913169361, 71029423, 241353714, 373955019, 886905136, 542792504, 333140302, 60414050, 535102097, 731944544, 158104041, 840548756, 211617843, 367576846, 915774934, 177496775, 86407055, 812669399, 600662797, 620191600, 458848354, 423437850, 651643317, 715392950, 553024387, 249987281, 803871646, 853421922, 558819410, 435352371, 431932487, 589765346, 11833095, 530248778, 485878831, 360968884, 478876500, 353769074, 669792602, 212963302, 666013722, 30763890, 222402124, 265584157, 2251461, 473104995, 493643107, 604201092, 907074482, 969045610, 847261074, 273888797, 906202539, 113759928, 198526568, 7483601, 581952746, 84737000, 218731825, 808255073, 926876133, 943004145, 660164956, 786962193, 861186225, 249193407, 753991222, 553956788, 760753294, 683627032, 958968821, 868847978, 646076436, 524111017, 98950559, 948712049, 364916134, 874783759, 671067317, 485903472, 876108395, 371934009, 153588375, 927133356, 364235334, 529197306, 942100879, 997023086, 92410679, 41435274, 589631699, 542630277, 23281370, 329066987, 718530112, 599432066, 765808058, 800263251, 29641974, 901240377, 939145549, 736794489, 176202671, 955836647, 587200800, 893956048, 976926321, 820127490, 513264759, 382775518, 55809899, 56372987, 606062133, 902218704, 590628826, 866328016, 161639281, 350728183, 540715750, 470409349, 154641545, 857433116, 88690786, 762431969, 367847136, 9664281, 526673095, 225378854, 377792384, 8797614, 268170880, 946952454, 521554186, 685664542, 783449524, 187754654, 64269434, 377813471, 255926322, 894143902, 448426604, 238555805, 38332233, 458817265, 781234715, 878492962, 687327591, 286975360, 108541867, 490640292, 151928953, 541276834, 820535552, 463537147, 886920165, 169903785, 215407882, 177643741, 634494347, 38369314, 670683079, 514162582, 383917180, 490201099, 374398261, 925681594, 885853557, 747206590, 601731111, 537129786, 369641837, 31968771, 446659966, 330271004, 24807959, 584856066, 352998509, 830199627, 701806002, 175163017, 836290569, 464410599, 312964238, 768591644, 330838277, 261214810, 537824573, 99521559, 483854922, 515446388, 638217652, 980115992, 876793385, 771624706, 932868134, 754990738, 636065911, 390520827, 529203172, 546285123, 587662568, 753566418, 698841200, 864662481, 551675199, 303749840, 323480085, 26420115, 104103671, 543320556, 869050046, 218424154, 55022324, 151548890, 535918418, 542249904, 311726215, 535046942, 664402541, 585966207, 733556846, 967867862, 767551930, 591834833, 865138276, 487162305, 127008990, 727388860, 127895588, 208099414, 888783739, 922442183, 970203213, 963526028, 270275156, 751300274, 620380707, 520285630, 330493294, 290530872, 265435041, 799518785, 26266415, 553114809, 517745697, 542613569, 284787519, 821618024, 876353690, 120481742, 707727147, 143831665, 786151578, 140008604, 408479606, 574100714, 258315770, 612556620, 559469722, 84773324, 794329600, 377338583, 562216290, 122397665, 444877320, 608585785, 763139055, 751776119, 521176003, 5914232, 348224149, 684208905, 136092928, 387418080, 837231263, 492992800, 442996778, 684917209, 835242069, 426059341, 926982820, 26032244, 66074156, 410163685, 999439786, 636659361, 191719617, 374508180, 644364469, 305052550, 933812312, 402560337, 657208349, 754383165, 2299308, 822572050, 219585845, 491857969, 57456129, 329636252, 800898924, 661847781, 960859057, 624766325, 922781537, 231813093, 251847253, 903423589, 471793151, 441567677, 955566376, 577707069, 29039874, 791212687, 533844874, 900575162, 234804432, 813001163, 33613147, 86656678, 741112007, 818262824, 828523981, 27499644, 827748029, 357515433, 689537099, 349162001, 310174852, 780356164, 334273489, 527161815, 234821162, 801821575, 578501634, 294245603, 118340142, 348607903, 124749828, 156715326, 9079111, 290299039, 950749670, 70618544, 267472613, 752071042, 537245540, 179925338, 956886952, 125488690, 181146940, 356518102, 251088715, 577579887, 138495680, 488624583, 836450662, 97078819, 631664509, 196576043, 164011528, 59333903, 526868419, 670933801, 55788733, 458176588, 428893785, 497654259, 398219982, 728670310, 908008497, 148222962, 973884608, 186726707, 873332915, 416834643, 713165332, 502103463, 204869259, 828364912, 19238681, 458306051, 865295017, 100187451, 282418462, 387266801, 627997945, 930841819, 334622270, 443386222, 689914076, 63476793, 82365981, 418178703, 482658560, 281526718, 282067441, 824497757, 796344600, 968422554, 409687095, 285208951, 318788102, 659113106, 587402217, 582022365, 22826354, 319403130, 565921501, 29058256, 472234958, 715916194, 885433570, 783973267, 843096906, 827065342, 700103398, 116816475, 118200401, 846056007, 954873628, 301087709, 879159797, 296021568, 917707036, 335318250, 568356343, 333234439, 962128143, 874395547, 974114677, 419074408, 972547289, 452614486, 959273703, 918338676, 834403780, 491239371, 264908804, 895449507, 811617416, 495745839, 28520154, 7289178, 889445970, 425156771, 794848101, 614723681, 178829069, 717694023, 964243821, 436361986, 937588891, 672952787, 90221969, 699408332, 340700956, 68267473, 866847811, 76349388, 308572404, 210728006, 352218102, 995388609, 547363079, 242740441, 622237382, 688515192, 430155083, 755417469, 764099437, 747726061, 251406673, 332022945, 518458467, 16388810, 254903236, 967964249, 102574196, 472610236, 391872488, 542935851, 69113304, 298455448, 29051867, 61121448, 958319057, 490694021, 354574313, 826321863, 71691598, 884722937, 624451055, 511329413, 448755262, 855047088, 188957482, 308690998, 135838807, 772076557, 538169146, 784861869, 804133939, 416658337, 197315209, 162894044, 341197302, 499875258, 11083582, 721986813, 680596603, 694863920, 447777892, 664579284, 924625166, 508547370, 342646139, 696346782, 702617151, 431017345, 461936079, 980527459, 382843953, 241280466, 709831752, 85438669, 802818416, 177886675, 576954684, 990932690, 271324032, 160490266, 323922644, 804141480, 395622005, 228199092, 96940742, 741410861, 649538972, 362799326, 158336068, 245535318, 673988790, 76049490, 217873175, 783942199, 246706795, 400095210, 754656353, 418293474, 579177211, 67226858, 142766623, 827588826, 18537659, 100576815, 265548120, 761434884, 936450701, 123286372, 341076539, 87049669, 116682486, 103089124, 438053875, 162709797, 572251200, 408654297, 771311401, 431682151, 94322342, 490012611, 905833066, 734367955, 891606161, 794693000, 630791734, 41033438, 687470975, 117989785, 830002669, 862255889, 502626337, 375982184, 722628372, 256800451, 499338678, 548702224, 308862268, 297100215, 21024783, 395827813, 178448828, 771332304, 235585677, 163851488, 822514408, 710020870, 143944791, 19010077, 765393556, 872621462, 776061256, 169901300, 968110954, 700274973, 46997478, 580489161, 503191052, 899664045, 814186278, 819834367, 479659058, 158829749, 684272117, 956306486, 752149211, 791148854, 853147151, 743094815, 532524461, 286779295, 574530160, 782458626, 948158114, 508219675, 877645957, 800761393, 713295572, 270365725, 879018936, 647875918, 699284034, 825396573, 637448190, 832898441, 872208874, 487117456, 6132834, 944846367, 366696607, 884584606, 245617990, 576762993, 117998771, 11362401, 491401488, 966595001, 445684415, 195160490, 576915999, 844794568, 706264803, 447009535, 167936459, 855850786, 817622399, 436562496, 284263436, 796911309, 438415472, 974012273, 166602941, 922170355, 405651430, 184373031, 291252929, 26263225, 170169461, 992384007, 558119205, 325750030, 661809982, 871874442, 726870920, 476860478, 42678029, 298334807, 915440355, 399506272, 988990280, 986278655, 962132880, 832533380, 333572986, 135867525, 902898656, 636815755, 865224969, 860430925, 507519974, 985734628, 201724258, 889843655, 278847557, 649884695, 984231140, 283340747, 677651899, 11535078, 806773996, 418828923, 891623746, 741353489, 811894655, 22609076, 743773153, 734386976, 21121275, 371029087, 772539020, 838959347, 40212511, 281860932, 703134449, 702945634, 224396136, 23094790, 629251761, 108209045, 917849680, 681886231, 984721450, 71413186, 93322547, 706333369, 159690981, 236407162, 512786617, 683648010, 182314785, 664345124, 780570375, 901659943, 693563927, 962240115, 965722002, 244989993, 493947505, 483101408, 624176800, 739175831, 170211575, 549659280, 244598652, 387169396, 147968342, 810391949, 17928349, 255578335, 598899745, 604783923, 954083844, 992682691, 90880432, 428349601, 207574427, 634580118, 963317394, 323458717, 851314105, 791410187, 453833834, 31431063, 807944232, 256852232, 773088263, 321080764, 315712314, 371502935, 962285121, 983176168, 15955397, 584700081, 355375518, 283739237, 537748339, 683794876, 853783395, 428324965, 447276471, 853792041, 167778107, 557566897, 657629569, 468762833, 198361576, 906937144, 404563389, 431356968, 559048470, 535117475, 309025, 206792214, 241078636, 327247692, 424062385, 268420658, 714889928, 36109951, 506025422, 797534433, 38604494, 158916197, 540400584, 186781565, 739246354, 990237831, 144653736, 336480467, 640733795, 677361850, 281081616, 403269417, 835846445, 462813184, 275208857, 886567992, 937019822, 510791634, 813073611, 863401268, 381549619, 905674348, 627446267, 502170224, 327109143, 226678739, 221344111, 759942273, 217997044, 392942109, 981325164, 88788976, 30490060, 512059276, 878578993, 431008657, 572506217, 824556233, 231479616, 721006868, 856635515, 258104964, 911052531, 115454950, 771208513, 929660600, 41476641, 546323665, 160130800, 5430800, 373948717, 923021681, 123062258, 670895338, 852393930, 523171942, 212876584, 899064206, 1553163, 996480791, 34362700, 900828484, 518189342, 602620370, 783970756, 763893756, 668061797, 114420414, 726991084, 538264265, 157486049, 627185818, 975900155, 873720263, 201266604, 37543747, 93509986, 449929737, 134896284, 201258554, 35515457, 546641344, 966494754, 46611672, 609969321, 222979499, 729935932, 317797203, 908115530, 943806454, 290412340, 522902773, 97521570, 623668470, 449358610, 141855719, 460707357, 664928416, 305773821, 74814318, 456939873, 966997234, 928997075, 93448575, 58633719, 582239803, 867372436, 598876385, 764851530, 166726765, 673198507, 535667835, 873544078, 142519438, 748770540, 602344166, 17614447, 641417170, 478687225, 422829550, 260592687, 573454195, 84199922, 711252640, 431371002, 924292447, 634082012, 140245010, 922201479, 416648357, 658401378, 949413575, 984518900, 805478687, 244882677, 230864664, 116710433, 995368059, 283786050, 126206217, 578008975, 607495510, 693543732, 772948191, 321438831, 976843454, 849014918, 279741702, 10448743, 377453031, 152750356, 361376366, 973634619, 84804870, 724762882, 522791310, 832229370, 729202588, 32745995, 332755086, 201262541, 183223240, 196997642, 816306234, 265129597, 216700591, 571419143, 210949304, 793614323, 571629311, 152539861, 883748480, 865191485, 507202318, 4940572, 65815766, 970820333, 115395176, 650176504, 358406794, 501008369, 903687566, 216126126, 592216880, 133754708, 549403347, 571576350, 917654566, 177708565, 617322783, 648752807, 989842120, 702313077, 80805002, 437821727, 343589938, 737873433, 812546611, 930119116, 545948667, 537249626, 716118596, 128576821, 711089357, 613384119, 868967764, 281464145, 185761420, 55258118, 590085863, 21978693, 359956148, 261145972, 150864611, 413419532, 291104134, 555918951, 869333010, 94837912, 695425165, 995683626, 383995893, 952442230, 866611953, 50451286, 632042961, 560736969, 999091655, 431276521, 777529230, 938076619, 778650751, 968486146, 666684457, 982272582, 231740933, 442277565, 202660321, 466187208, 495260472, 446745962, 495874771, 752861139, 763892286, 902952883, 125934966, 832005821, 63111128, 995222711, 806759483, 886470389, 825843735, 219198088, 313502931, 52906430, 363782229, 194985642, 906554632, 977382845, 769254234, 186495882, 102938543, 372564226, 680012649, 778803013, 529014399, 878680331, 184208692, 549860384, 889011908, 658556758, 486510086, 464173017, 550481881, 552751911, 841060642, 462828825, 927493745, 593624378, 10996466, 650915491, 887344902, 447028137, 574559342, 465306477, 71921167, 271734523, 138017185, 426536041, 110849172, 514976868, 672779952, 291130554, 170992156, 68679678, 294347432, 532859389, 594592860, 113306418, 78307241, 319873282, 43618808, 172609072, 713252652, 82732803, 699387641, 57939359, 535181686, 671623003, 927187510, 782728238, 59170988, 852673897, 20632213, 243693576, 281979701, 681854409, 652589816, 586374466, 190706848, 813382889, 424194045, 681300320, 807299332, 880698600, 98951753, 637053232, 317782858, 431777309, 899941350, 414239946, 85172743, 567280194, 808557562, 332167922, 518902484, 796553509, 510803449, 310811652, 199444165, 902017078, 778971904, 70178662, 406959506, 507554421, 462987610, 91350727, 258061526, 389090593, 500565114, 4431490, 864393455, 587852851, 300848289, 81054714, 306722400, 819573442, 799945454, 193758222, 112790444, 740113877, 933661316, 847268887, 745077497, 998375039, 872985515, 850429484, 944884682, 617564950, 431616291, 717844992, 289339102, 681890070, 441363147, 864886898, 182029281, 883796163, 667117173, 753200767, 44299460, 417174710, 475719817, 933835266, 100874551, 430896724, 334176248, 734029310, 289008929, 633425647, 60307678, 628609749, 667028203, 971455920, 921409436, 359481449, 265701151, 262473554, 123546050, 817650499, 370671370, 447045248, 46781523, 145492528, 253708825, 159486246, 462411570, 482111439, 620654125, 163109499, 15590591, 980673277, 602225439, 824331054, 493043008, 160310231, 364971842, 678032783, 941782073, 456750413, 553335306, 954208123, 968648367, 263576656, 101765827, 733606919, 653139077, 95554181, 47979219, 353742075, 53198692, 721683326, 476793671, 508928025, 84208820, 228273135, 175222494, 181748008, 87483203, 177432977, 108143592, 663080751, 282167882, 939421270, 34009878, 296534568, 39319630, 637353111, 414412296, 137274264, 346990234, 437435221, 595059555, 739956377, 873438088, 236921203, 485692149, 119586763, 272033439, 280471114, 214972188, 552140729, 48331154, 84313101, 419920499, 70052168, 383787005, 316296432, 53035233, 815695368, 818048167, 202481795, 429590755, 200508685, 432869814, 189790142, 464850426, 679719792, 589538922, 464729278, 469688544, 777546592, 947433683, 509308614, 517508671, 706304736, 162664007, 810780541, 144719421, 663018269, 217468766, 706969993, 335722707, 19059773, 211457140, 727572376, 176167141, 70485160, 969215959, 860842344, 596609135, 208729487, 891734791, 487976131, 182028075, 762322039, 131185630, 947019198, 273324091, 837818280, 369265262, 783874807, 895284572, 246642045, 605401186, 431456405, 352463293, 431059202, 19213, 260352236, 78653585, 353191975, 237348176, 305844351, 322316314, 509619137, 161661650, 400040609, 839769751, 572865070, 812402888, 850593709, 174597233, 736302437, 957533828, 10186433, 557395962, 877864398, 48756821, 712293202, 676528160, 147656153, 548099996, 478432018, 907554594, 149216860, 930210134, 540803901, 800623662, 514050565, 525876495, 576660158, 686503311, 83291459, 51457151, 76888649, 168933256, 46878264, 62303134, 890906180, 126155440, 442240794, 770539128, 757040048, 583565353, 860776293, 294927288, 970902021, 585446214, 893627898, 517058738, 302869127, 320551131, 63076080, 855183124, 719062763, 957450774, 485975935, 600158089, 767662782, 918254679, 101573399, 763394168, 954410714, 649694189, 989865102, 33897136, 997419576, 321525496, 368291626, 7630900, 956246498, 500959189, 841250674, 61773368, 639318341, 198401633, 961029070, 814553929, 360031038, 800661309, 743449112, 458636950, 196299866, 656315559, 90266840, 444361007, 192303264, 88104619, 508921533, 465056959, 846867224, 833929465, 219644458, 69705668, 657295588, 829043032, 832532187, 256190167, 695678993, 373552543, 727719490, 978541691, 92917483, 689276628, 880042905, 670543478, 558960228, 177040644, 538622224, 559864082, 592564972, 851705979, 331377500, 170503387, 428030094, 951071285, 793849907, 97211743, 508810558, 102719181, 922224495, 183142707, 446570996, 752903457, 810469376, 539789967, 987913182, 282648071, 255071598, 750673490, 604545741, 245916574, 621977698, 283252208, 789135001, 132725331, 967839713, 210089754, 836928246, 316513118, 455687158, 325612712, 738856591, 699217537, 483281542, 443588769, 684317277, 161449231, 81973212, 857585442, 714570687, 818059248, 421218445, 20682304, 92043034, 179511951, 763630567, 636827525, 49295117, 738564445, 121316649, 764561056, 172878523, 315625214, 514597635, 706650662, 934815226, 493514308, 366017757, 777064329, 772570343, 59309814, 59725954, 265660445, 925354484, 11401781, 467325992, 158634612, 980729850, 392536963, 194655412, 828328185, 843584625, 297486493, 669428956, 437438704, 746400828, 795408863, 690217421, 446136426, 233483388, 108699830, 289838721, 462213818, 946400903, 681008652, 875087896, 253964344, 838523688, 815330939, 978578116, 338273222, 225922571, 303764461, 597176410, 818363938, 812525235, 962125600, 429521707, 854121795, 692522842, 592363040, 65030972, 983550975, 733490456, 996714353, 350406205, 505486623, 215757464, 206801930, 317139706, 619870017, 444273707, 112776827, 966480325, 138728706, 510603024, 809351924, 496991190, 326337741, 508773545, 374439692, 145601587, 412714213, 621075374, 400271843, 69086138, 206586095, 384122832, 595476183, 143456011, 260102749, 280554837, 278623276, 841546725, 746472761, 63001994, 406649752, 752694065, 80230994, 983778926, 862305201, 491070093, 436660768, 291900648, 812473759, 803935366, 904136671, 742093139, 24733895, 67433560, 83192946, 160139527, 883880540, 159368941, 193927942, 188078000, 583793347, 349243859, 828668021, 315266826, 194961433, 717555240, 259315775, 162009526, 951280370, 911223072, 895947320, 273505765, 581009951, 307141230, 436057878, 386691991, 591706455, 239659867, 421976571, 404829063, 69900646, 851348218, 121213873, 245467983, 879949143, 129219224, 244322271, 357665338, 576665222, 403728388, 537152851, 164246614, 906629628, 753045312, 781396271, 215391633, 317122421, 518851342, 365179343, 685264674, 523088385, 404378356, 585976520, 377673062, 489009520, 119385597, 506765753, 57908051, 602020126, 915261551, 121499853, 469412649, 361677188, 513068155, 739477057, 565592321, 894807751, 661379548, 698788616, 752308610, 41091001, 165446753, 714882050, 14885546, 3689172, 501818175, 904173133, 387431865, 433413639, 258167417, 521622002, 956171793, 707222973, 376144014, 245764312, 319492580, 987869966, 78661487, 197481410, 832480975, 256675269, 608368017, 739277372, 190324804, 618317037, 979171818, 56944457, 708574814, 685552921, 947278090, 919564846, 470638354, 750866914, 659494729, 857799129, 450953121, 61086911, 457182591, 637736226, 41027221, 401909504, 568274713, 112080579, 170811245, 983167181, 3353497, 874999431, 811731520, 385447093, 742708483, 439520359, 375614437, 727167331, 948097684, 620219663, 829706529, 244132892, 12555860, 291222536, 37440047, 964572903, 582787024, 174816992, 997179295, 232896596, 285936111, 536453118, 433657242, 866192168, 847865964, 354949005, 601623537, 185205484, 716944127, 61534959, 352425325, 813163919, 77704730, 646863489, 668908753, 793975466, 281827943, 764540249, 320582782, 330518389, 380762811, 527876423, 895146365, 587812857, 395954064, 803981820, 405917872, 620799531, 251116764, 425141359, 272300488, 598890859, 986386822, 559696238, 256304364, 771984466, 100752792, 465781539, 189744578, 794917776, 842555506, 986543112, 552103917, 917808588, 203052505, 32123286, 135459959, 848000379, 966288861, 359403721, 717816133, 867794000, 591531766, 751855005, 174711851, 408791633, 484367203, 650863322, 271571734, 509602609, 302561054, 469910152, 711930688, 509815847, 886884789, 183754459, 234860262, 812415738, 84784053, 148748572, 616438981, 875310009, 456916889, 33389018, 765623663, 135417050, 130308624, 889074547, 925225605, 158460045, 83769664, 51813053, 349421067, 796685944, 357656080, 442994395, 832253451, 421491608, 469098611, 446952723, 468275378, 325896273, 209129547, 409283330, 832011168, 170056295, 893073970, 712345406, 143562408, 121832184, 676081880, 947638706, 705192120, 532009055, 670983936, 254285868, 221497026, 186257950, 956056534, 409469957, 100363975, 916371693, 98274521, 188411864, 234614006, 583738818, 394200479, 65930178, 65772476, 209776775, 595774590, 745194319, 858705797, 234262153, 315960081, 995296932, 585563443, 883820940, 377171434, 747885701, 47681961, 291013558, 878991489, 663574615, 660529332, 37186560, 956670470, 167731555, 423822631, 809784988, 377127730, 52985547, 338331652, 696792094, 125083962, 59740439, 130041844, 852111088, 883142573, 701461422, 771567997, 286118202, 677576590, 511909310, 195451365, 404223588, 150250985, 88320444, 783495549, 188809211, 980370956, 866022411, 522794838, 917170723, 544703617, 98318230, 743597843, 254737948, 621620495, 137799241, 702133440, 767070502, 530411277, 163508176, 542227522, 712924802, 467010825, 713005637, 833445816, 664856543, 787985287, 89392139, 787901721, 239918750, 434056194, 308588068, 109191680, 58351924, 843007074, 247742196, 132957220, 812374222, 158991490, 933015967, 947568114, 247601686, 944639626, 712883766, 265784535, 687122315, 972845970, 226413383, 284948619, 248596753, 570642783, 49001339, 969955688, 648330272, 220419696, 390506747, 175272389, 287359102, 831950808, 757678893, 108861024, 887057687, 13828634, 851773487, 851924015, 608008499, 522334255, 760358246, 561140783, 355309275, 589710314, 156526599, 667448385, 4782479, 174245767, 881711919, 991073524, 496669304, 816688515, 369702236, 225700011, 835467785, 236167895, 331890244, 689529907, 874863007, 714835023, 936896561, 698757035, 320879876, 849896756, 403603170, 412195514, 712126135, 222589470, 154202990, 669331066, 894656516, 919328527, 353108028, 368073915, 259635270, 304803728, 225767930, 308581241, 220836684, 715242653, 365459404, 307709287, 374726786, 140421224, 922963232, 802909431, 578123354, 910794067, 301491035, 561088072, 537467616, 306963645, 293385770, 450200695, 711368908, 121116277, 81389131, 225752132, 48964929, 43675837, 738058681, 115858201, 231922418, 725772613, 613521757, 717511770, 430828576, 594307942, 451245315, 546892493, 84482774, 109431570, 673923029, 465240911, 794710164, 593191056, 13724695, 225626363, 696281068, 343920346, 595975464, 383316717, 862835683, 46879616, 132574144, 504179110, 328707347, 449007293, 530818923, 334654814, 548114851, 519930011, 280079920, 116047134, 156718497, 64210695, 719900401, 748962985, 949895630, 661945562, 368310194, 338799526, 430838868, 152709572, 843731733, 885849537, 655365458, 985493143, 766975094, 306408003, 393731473, 133374795, 789435442, 376041429, 263511011, 401687331, 108222235, 269810423, 549403124, 467584600, 897427493, 875014288, 776598778, 398801141, 515155846, 420294640, 233401418, 810298154, 465509268, 43451889, 208403828, 765279448, 68604008, 98956575, 413425204, 823421566, 114911828, 270186157, 950822177, 177820413, 204306268, 164361030, 901373109, 758904620, 95986360, 890629357, 893383616, 737382858, 505248101, 58896968, 170489541, 585763185, 889121607, 336535316, 193013193, 593287233, 881823369, 665688145, 986598838, 14303853, 549898968, 531841743, 342466720, 619744344, 604323655, 764333841, 521012182, 684325581, 528721835, 549271854, 471125621, 930187325, 24683368, 737824740, 537177793, 707487898, 675548723, 774983795, 766218034, 341400477, 585897480, 996057168, 164402626, 356332966, 989101232, 506973393, 512685203, 894913088, 692251335, 687533528, 559162376, 260257301, 865223456, 398459581, 583300886, 210059957, 930775161, 428681029, 978256721, 264411893, 447856927, 718141118, 579415281, 219043876, 153613612, 337542443, 24477011, 681429324, 640832320, 611451114, 919828754, 243707025, 170374385, 211848751, 569727116, 65755170, 151074253, 483138935, 746387218, 972889421, 454853410, 653617044, 567918502, 194362792, 599657630, 91411204, 842645658, 744528123, 296820196, 494807140, 796495010, 363701949, 924522989, 662284387, 810717920, 546728436, 600528867, 974761416, 200815415, 63409969, 250751915, 649016083, 765110472, 822491505, 12230607, 998768889, 97170042, 221365325, 606659509, 533673129, 348224780, 797908522, 438261933, 534912305, 514287368, 203665668, 370513976, 833338947, 565570285, 281785681, 893525665, 704534326, 784515643, 847040137, 24042207, 560262939, 591179031, 987147684, 913956371, 767862026, 17981922, 945279958, 889335973, 53707049, 943081250, 884497288, 866505963, 596166850, 195335362, 623444231, 962489874, 827837172, 344632584, 903198084, 171229528, 428194310, 86630470, 37730083, 878799825, 968318232, 476592803, 621522488, 282732843, 576911411, 12248493, 51765055, 121542606, 800653227, 673864875, 301799532, 4530974, 533798191, 603430815, 591646591, 796394047, 136491304, 971607114, 817430663, 217644623, 19535966, 928407602, 474145097, 866467927, 896185121, 156276466, 29946838, 815798672, 37524648, 992541917, 219343770, 774352069, 536367494, 118848028, 735923380, 133876114, 325798265, 562746577, 485991661, 617053793, 82340450, 807320035, 506437283, 988170252, 255675598, 392764674, 958573188, 660921433, 351428117, 846207005, 487020547, 270750554, 531462526, 60603548, 640467038, 856793409, 562743681, 644338926, 692357173, 87888723, 348761167, 90056128, 495799249, 24076561, 433592312, 912653371, 8068677, 153856745, 37268894, 26083057, 236634178, 364912060, 890687793, 106089278, 705369328, 401164489, 119364356, 324738158, 757800146, 145300573, 17169669, 629364010, 457110730, 717692099, 957466128, 420282043, 615178044, 90063435, 334115974, 527192685, 265556727, 823026435, 867746161, 761308589, 979115910, 351212564, 862325221, 98826203, 856791241, 264750278, 932627055, 692924000, 492007358, 94573955, 344810367, 685246735, 93027035, 44293493, 845433877, 438268031, 187470534, 413469917, 436405793, 975829902, 32644106, 40668385, 791941451, 167471856, 232562911, 78737822, 807817, 833289447, 978930, 708498507, 168476593, 252364230, 545785179, 714230695, 915159640, 852969591, 294857242, 495049032, 71615627, 541175629, 310764562, 490459945, 157868353, 200725430, 198470027, 177009177, 519972068, 507521101, 962933507, 732376326, 710516476, 73078068, 353933978, 240358755, 953816173, 476569395, 515019978, 584966118, 371206720, 972894316, 183609600, 882571465, 317661034, 893174777, 771846600, 66622297, 570524395, 636171150, 51826459, 809622597, 636086112, 7568288, 364553304, 276597621, 426033695, 478585043, 803487788, 79562925, 779146575, 51132086, 207345992, 51067783, 263288745, 549075342, 845623929, 994347492, 211412938, 583217990, 905700566, 889933914, 823918578, 918841292, 998551305, 112118438, 701854872, 139667070, 193984982, 579440426, 210830773, 10277005, 970074470, 436144345, 273070499, 678394207, 111238729, 113500145, 829519652, 262478276, 731999186, 538426264, 452007431, 614891955, 413124740, 875323902, 466973783, 272207307, 954879990, 771411192, 869001052, 427385478, 680787605, 885252020, 81741592, 194706686, 905377057, 248131021, 948982396, 604410876, 663757430, 366980383, 187097806, 201604488, 73945077, 630306899, 659797017, 515603436, 452077836, 95750016, 383098801, 778750478, 560585573, 607307610, 32596431, 861837936, 77053637, 618182847, 541622075, 838389964, 945044211, 455324382, 551254930, 530705471, 283635621, 8134307, 661798101, 153488802, 284408069, 552460467, 926018752, 980211637, 301503506, 554125085, 573651199, 713924230, 920949962, 75363793, 841146383, 151388198, 154679659, 44755749, 464318987, 689693099, 481225938, 175698487, 125113258, 977724833, 636257122, 394994875, 229732972, 224198156, 485331798, 851855838, 464501662, 949511612, 485277749, 947939640, 440713323, 153776402, 351602280, 113779051, 151721750, 774174382, 199430176, 457938997, 759740553, 254432159, 203965393, 205635716, 181496622, 88180616, 717912277, 576125160, 864914010, 819766546, 444603308, 483383865, 199133496, 721417591, 903070170, 404845343, 931615397, 132463492, 113532635, 500846198, 96052845, 913752667, 582058926, 634595444, 488830682, 85330263, 154070168, 582182564, 562643031, 410163267, 437833881, 465029617, 503870117, 916299816, 537055889, 479916335, 4363618, 669877766, 592473482, 32406093, 488869806, 134887317, 938628224, 244755499, 824207815, 910686900, 249416167, 515422810, 229228319, 100076664, 163149877, 4344371, 827548352, 821096939, 521505800, 817151021, 844829141, 541657852, 498901719, 931546169, 460751017, 464338822, 644734741, 548648759, 77131618, 26282666, 657971461, 626130854, 784559793, 44425170, 726148392, 597151954, 269091289, 925603798, 230468101, 11372253, 597825753, 630322804, 776402834, 811130437, 725447005, 565181155, 424409156, 108728164, 665397063, 547066137, 309228142, 54037530, 462213766, 112095785, 63959215, 232009588, 121597970, 947331282, 676007607, 511151920, 456107245, 32302880, 949727355, 188458837, 71878751, 58627744, 352161311, 146184111, 972617151, 867663102, 631736750, 731788966, 493940296, 261509210, 886983958, 690090842, 538619851, 420417932, 99242217, 644188197, 878433324, 41916707, 704305395, 605324422, 851898552, 391095750, 227272375, 557306497, 308801532, 194312246, 945390363, 697595393, 146557203, 950378789, 160912492, 269309711, 151417221, 798977039, 905688805, 506433563, 249253531, 68030013, 53903226, 588225398, 982315481, 135688503, 135680670, 564524071, 798143008, 813525925, 688241502, 805936497, 596790359, 361135206, 747662450, 884559750, 846608957, 638825015, 995315194, 204673459, 923192577, 80823280, 694624299, 885784708, 30400955, 452729537, 633538834, 331393598, 826127415, 929222989, 986220704, 138209143, 350215016, 304483439, 733065418, 22137217, 850854967, 448671027, 410752350, 341385781, 128433121, 142033664, 31345625, 503333919, 193809965, 183040091, 326112612, 623832679, 289446557, 487803496, 714048430, 70015483, 442806678, 372639449, 668974571, 809960507, 802079589, 743541494, 228393492, 208459697, 154293140, 856046125, 353078835, 866239404, 261119325, 702469559, 206841262, 45393156, 254714858, 308026528, 129636712, 568087545, 824539357, 64096785, 497075845, 689826840, 902179512, 645410540, 298127787, 367996788, 167754557, 577437704, 186790361, 24971408, 464126029, 245008772, 244105899, 957025493, 9655177, 940498098, 421878702, 666288976, 119228316, 967118771, 111926767, 448750410, 400368967, 639019363, 259815266, 363536794, 842596229, 916227805, 370111288, 325766272, 543079531, 198607627, 82972149, 174963156, 501351545, 509496654, 180521302, 868843815, 336218620, 110541998, 414904709, 31052099, 266928768, 587632378, 888028062, 390375643, 865595774, 187699890, 670119037, 473627487, 945429637, 731321692, 378318137, 200707256, 987382848, 309103642, 908057948, 154892936, 119483555, 905079399, 685718179, 819258812, 264516051, 705959324, 209827438, 363716163, 301190623, 343888080, 281606494, 947307582, 180673165, 397153273, 553783423, 166488140, 289330316, 995098330, 678528393, 4896698, 88321209, 244412944, 713006941, 918832184, 313372713, 55286167, 382418719, 111757750, 114015707, 744312268, 615760878, 52523836, 180128558, 582379026, 223042834, 981452535, 188300072, 629979050, 250641687, 639429342, 387344933, 104105849, 775590684, 887807887, 308717664, 16166175, 778302005, 482152551, 926631680, 594122855, 451260074, 491377585, 194096363, 793706182, 221224043, 627480763, 454808913, 531727663, 357744315, 349996809, 249046752, 739551047, 145838066, 523340263, 653880491, 146482491, 508785955, 592584547, 378012986, 955371826, 663831047, 350239279, 319243293, 870687395, 312526289, 538413062, 323566730, 586929043, 641223307, 979338994, 807657908, 768419336, 751382997, 166276279, 469165452, 615692770, 679193693, 876693716, 356555175, 988293521, 583846071, 825049657, 798288553, 175523791, 136418630, 104142325, 290690004, 332259743, 182182222, 872929258, 454463965, 158195152, 427279722, 667334659, 518301411, 840387540, 692925923, 172541794, 146175212, 970225322, 145089870, 977431536, 514977610, 185367783, 980630673, 66428435, 542026458, 469078359, 177212808, 72969574, 483752086, 831935817, 794485340, 736330837, 144590461, 819606220, 270535857, 678802875, 194089775, 378473868, 688091533, 49017594, 476942713, 293479134, 588625718, 549747773, 738963599, 588545633, 270319237, 282101160, 113534146, 382539518, 548351825, 824320437, 242911571, 165341528, 897840673, 596903529, 721576913, 336117168, 906263529, 716121476, 11008467, 564546184, 433206448, 644467325, 226783134, 752338716, 274788102, 67139227, 118334381, 725478838, 330630717, 663311513, 849411379, 359808211, 408454659, 3487677, 321094006, 286504105, 279554844, 276849435, 256584728, 77666443, 53625465, 860638147, 777450487, 857454269, 898844435, 94642089, 780723446, 152037233, 158838980, 906395589, 289601813, 640797931, 57953490, 772261511, 324156550, 963189884, 471914001, 118584597, 146737822, 38523260, 796028073, 564625211, 809218216, 112284460, 374654177, 148356531, 803855994, 190347746, 898929538, 672711193, 363884590, 289284009, 768762163, 908884616, 853590961, 482437677, 427601007, 250219579, 993104139, 863308634, 756783041, 677481527, 102219192, 93541509, 972053704, 466840614, 582891305, 795380091, 189842939, 492270287, 71970747, 483268413, 917437765, 336563305, 311881715, 86305513, 510169048, 593429792, 204015655, 881603004, 531580923, 481150758, 14167599, 900576418, 451813080, 38594528, 624955666, 458215465, 891805798, 442103406, 265235015, 82641709, 291524310, 949430252, 797329653, 780226205, 284818630, 88149332, 463129089, 744160408, 989234233, 932192499, 578268851, 554117224, 988107604, 776646244, 119630745, 543007948, 435890519, 555724129, 39279508, 225949893, 436276396, 785014542, 134583974, 327013914, 137375994, 987286071, 852785642, 119927025, 122552176, 548566462, 4086295, 448064579, 838662717, 878322753, 451575931, 667473372, 452439098, 990645910, 243303873, 339710640, 450005909, 677716022, 32676371, 435867182, 301777783, 637498044, 907986176, 729618119, 46861013, 402677580, 411235463, 468161737, 12548127, 609775453, 170470227, 746878231, 664391021, 833460107, 80140070, 674683164, 345128564, 298075481, 558819094, 288483609, 550456118, 136427997, 121398226, 88917772, 357404218, 562552393, 843475830, 964791132, 16060493, 770917867, 735185079, 583204846, 711253857, 551828428, 238369244, 890693877, 698422453, 120132591, 676956191, 790901355, 990660518, 216139922, 105090537, 702541030, 571394751, 406954563, 316506369, 399715329, 582953029, 828635642, 979589567, 405411461, 971623803, 688190713, 643447711, 265446715, 196684743, 619330965, 280765084, 810234713, 15586715, 347364854, 572127853, 766983032, 700711892, 908510557, 602417119, 370322898, 975951569, 925338732, 440855318, 166954867, 15672666, 10239883, 888685537, 166858870, 931204336, 744761983, 476301703, 912080769, 542076486, 394648106, 781470552, 48494338, 50793978, 411999680, 113283965, 302909363, 497549521, 793861993, 881504354, 990038962, 911368838, 486491184, 724545953, 454813564, 688544085, 696051970, 813332206, 567463539, 921800623, 520677730, 158324556, 155406941, 748967422, 465904826, 439788622, 222134312, 742076161, 431137461, 709940201, 31124531, 345166897, 80009355, 862437159, 100572179, 419301765, 566355858, 82217236, 364334094, 479576594, 784374465, 552551589, 739890346, 573327278, 873907918, 445058391, 498314938, 796855703, 214338525, 272124308, 789498956, 974625726, 616283548, 569988791, 888203206, 487851187, 616834245, 302557366, 897259631, 44414088, 361058427, 495870796, 186896247, 380800059, 365042833, 977623877, 77423387, 487675806, 35399388, 677847896, 704902198, 689902031, 102355028, 489968305, 122323125, 483103720, 480543547, 172118450, 153544859, 648802337, 228237142, 918881567, 75451619, 628212959, 810034480, 217671182, 759742618, 97217278, 319363506, 365780769, 689321547, 4513438, 707346854, 34137886, 955821098, 789857092, 592513664, 488913222, 754979722, 33899170, 497686896, 458599265, 848079341, 877124552, 313589202, 873308068, 724446218, 262086234, 163826748, 823391130, 570719802, 892640869, 666231125, 931224449, 512683350, 796883754, 14844107, 576003888, 383645188, 852121029, 247919446, 957636497, 566190175, 878995771, 62311128, 419897658, 779191541, 152531058, 205232103, 596168418, 751889548, 835780515, 74349493, 666612801, 737218955, 661440923, 599244115, 46454560, 403487111, 378865904, 67488583, 597785964, 577229539, 499176580, 223589020, 961761605, 896985097, 521374232, 395690234, 540366118, 985035860, 35474688, 966605062, 728072511, 511923758, 22952237, 566725838, 218857408, 860959566, 9748209, 83281059, 693253339, 645685249, 807782789, 362663769, 146865415, 98359677, 927669552, 35635642, 399222002, 542050417, 206180449, 877890657, 736961989, 31642312, 190830856, 738720301, 724296886, 471670172, 876644822, 235603007, 971156189, 655411720, 945676123, 956446287, 325044866, 991788581, 35862980, 346273278, 580483429, 745152642, 294970628, 25033291, 513483841, 53101087, 92686689, 157163024, 551781680, 167807531, 374957419, 952313983, 208322580, 630561983, 410735203, 993406372, 456669989, 132565861, 442997974, 717690889, 153944413, 24828587, 968553337, 296696437, 369441779, 384437997, 660589325, 761240492, 65249984, 499990155, 526130930, 67406556, 481646899, 411203843, 266034382, 751400512, 587177458, 294045541, 67763900, 29280272, 969324468, 771984951, 646013075, 678429219, 607961597, 950501394, 807416840, 212565533, 98896394, 945043094, 253461138, 300690514, 107463439, 445207797, 213499165, 143662138, 767074101, 220292411, 41652163, 67127202, 125545117, 931191618, 576445426, 696710362, 864435432, 357506446, 399436491, 827617038, 8020977, 467096078, 77020083, 950681221, 405437473, 550611572, 151416019, 285305812, 942493253, 367850741, 725946660, 328225026, 376592910, 565865756, 306974913, 104439524, 847854775, 959911825, 908198515, 68961636, 841951266, 73881942, 853089247, 227039331, 350336174, 120287163, 637101437, 41661784, 816740941, 19858951, 427692416, 264558967, 635666824, 33704466, 494266651, 912860975, 278792762, 272092250, 261789749, 585387437, 203897371, 845304040, 475692473, 98540474, 920661878, 36564914, 996836459, 146987042, 755031708, 898119553, 52124707, 498564070, 541159782, 431734223, 686915323, 904003863, 317524463, 549707613, 512878450, 667362317, 343485044, 236590443, 905167975, 669100187, 879625424, 972861650, 540472500, 423046516, 576855958, 96327950, 259547320, 605777118, 537941111, 379245969, 349667222, 302994147, 117538138, 267435783, 839178316, 834373807, 746679814, 246753979, 177552708, 963827296, 1700104, 125775628, 734675356, 481035326, 446453730, 831185966, 623527927, 21701180, 433687126, 484442439, 905448500, 140102521, 763219604, 144986511, 835870926, 307461519, 212780225, 617066080, 569768688, 642128163, 99742581, 608014080, 845587616, 499237958, 832504727, 169372243, 917476826, 512615246, 695722859, 974049625, 855413421, 192946528, 612264735, 912689869, 282828033, 448141578, 439263856, 115648827, 829341393, 217025334, 958973574, 263181073, 397853956, 317973589, 791745960, 354997268, 621320531, 220537020, 90422218, 775264483, 882974499, 446164915, 511427930, 679496618, 355374706, 928665983, 642694588, 730101791, 16851888, 512753107, 565538705, 586037877, 602751416, 382255306, 740558960, 66800725, 203084473, 904074321, 686513604, 680208781, 971351495, 59126969, 126619009, 309141152, 449950521, 450549403, 391512869, 634934066, 922298880, 356029919, 125088229, 115733111, 361747721, 951631852, 653895610, 243110043, 43916435, 479039472, 855393650, 180063049, 412148470, 876196544, 396734588, 904148382, 921157377, 616571110, 171316510, 701069706, 700719036, 785022722, 70673248, 727568605, 445972310, 70019263, 529831770, 286773647, 181924338, 717600138, 189870485, 799357433, 421772799, 620668592, 941048553, 857858477, 369137210, 580849585, 819437167, 131932529, 690531109, 276795427, 230830453, 430873513, 106867104, 331314558, 547740269, 500721381, 984598601, 733593461, 427867772, 680232073, 219291657, 905070893, 781912148, 644754796, 148349295, 898653899, 972650175, 363633217, 81531497, 874205978, 394784465, 486117116, 569762928, 944313079, 157516002, 517345867, 789522770, 464023691, 553816142, 745171675, 6299968, 418804345, 801731092, 944110688, 655056877, 208601632, 148917197, 392802415, 771443131, 81433722, 399774162, 710530760, 309559926, 481976993, 820584057, 448363618, 729134798, 765603696, 636015791, 210530708, 233522405, 218232327, 346333744, 349196461, 609916674, 372667790, 214496014, 589986399, 601541831, 947808306, 994109016, 820084654, 502613548, 782264614, 596694002, 97862581, 663341044, 827167637, 917716717, 701894469, 21313829, 568128279, 120329938, 655561800, 323850608, 199821535, 180354168, 409778519, 223813303, 460148304, 59215050, 221162897, 38310830, 423866687, 313272716, 487975781, 40973481, 734928642, 85095970, 797323336, 133176608, 199959397, 277536450, 680030454, 484205680, 25546496, 94544727, 517417235, 494062690, 595472454, 933735489, 11667500, 874862061, 549966171, 288106580, 421649240, 640608258, 440454701, 751503846, 507367607, 740260208, 153725719, 854311314, 620360744, 600485135, 998338644, 599405605, 64406657, 131687203, 567264583, 409228046, 551034656, 246272781, 218189245, 882163812, 583895631, 659673277, 771914656, 622016019, 528823107, 934325733, 638406107, 941246360, 780259226, 292773376, 612751051, 283674433, 521273325, 187301295, 702330390, 908877393, 363325498, 845705458, 793487685, 838002674, 731022271, 348345290, 13437929, 755812936, 540810027, 792142945, 936990986, 599962206, 157861882, 812410820, 461685488, 361114731, 337732941, 948422871, 274237679, 154568917, 134406417, 848838238, 587901883, 12986572, 355682703, 270494050, 143590268, 12885813, 932432861, 825533689, 862340514, 201261491, 849589400, 831608897, 361943231, 690613608, 444424896, 697835832, 760342382, 474622524, 267867207, 262560105, 753947198, 719443597, 673847876, 248827046, 712346418, 841846035, 76570451, 746401981, 112371899, 355309663, 250136154, 607027488, 98897605, 540785923, 916002804, 758511043, 167536687, 856970309, 556775327, 999952766, 10969514, 244597721, 809972841, 199903131, 246092232, 818853105, 12216142, 676491942, 986219657, 532789590, 371773613, 336409158, 575620583, 753139017, 375940605, 692696951, 400625252, 134598961, 736715139, 830979914, 13990313, 355537712, 191716405, 929765754, 469746728, 416552504, 68781067, 90735837, 459347308, 696725680, 283479154, 25803563, 746012272, 146815936, 858347486, 196874909, 890149179, 611909765, 307076124, 124743647, 666553028, 681047252, 728507709, 568792598, 762904845, 937734114, 250974166, 773372353, 348134056, 649021454, 338527590, 812242233, 188324017, 729801151, 92682324, 937645336, 679762119, 207867578, 594820359, 90236472, 395534835, 620531250, 300204619, 705058732, 271947292, 722177067, 733821484, 553181723, 331872605, 475067619, 916318090, 609254156, 228304347, 335010913, 727249306, 853546611, 447702993, 19196745, 879861645, 54550211, 184811508, 335461470, 32809915, 701343488, 897749065, 103564330, 650757146, 167794655, 788221927, 638112209, 901567286, 964862329, 558360451, 515607798, 416280315, 773739297, 927880018, 755074396, 855047278, 112162065, 403135143, 686058348, 658185995, 467662904, 283640485, 402711478, 738899064, 334128610, 730176552, 492117572, 325401681, 46816385, 429262453, 578256918, 11983394, 513923989, 922959382, 362762310, 953711136, 212445195, 812807245, 462531816, 741515578, 439161770, 351501632, 740766036, 566277300, 504361552, 466450446, 607202573, 895678386, 790754224, 747629229, 448246568, 651599756, 42315979, 903233975, 534055799, 877853656, 616898342, 307281364, 614238836, 296197955, 795218064, 60568187, 380849288, 710289749, 464684783, 834751916, 836104896, 727734890, 535766997, 28548769, 778829784, 422550930, 132752309, 359028058, 165785328, 239211273, 709353506, 133713830, 736122962, 664145429, 220735619, 965006913, 223885108, 271153068, 823303154, 909296818, 396255066, 579660390, 99612144, 251936348, 698664623, 619989795, 5484450, 131434644, 779049210, 804966179, 208326411, 884241543, 451843390, 768179513, 607104665, 273225200, 764732102, 374537082, 746503399, 455760435, 868759332, 598474586, 611055182, 801148007, 5749183, 711342701, 798819184, 353463580, 219804023, 923758850, 384099046, 311314067, 904071748, 247612367, 811650263, 143363469, 661949323, 986987768, 510372136, 364532139, 622908466, 877039413, 175201833, 55948680, 245233883, 840807676, 323982987, 753991242, 7691396, 97253870, 426386537, 384035395, 274153267, 393378671, 724653706, 471990134, 314844529, 844257576, 162977072, 887987118, 268710455, 480803841, 161519504, 921250875, 781479748, 999968133, 407597056, 421627062, 817730111, 911793828, 180532873, 46663938, 644959471, 467825958, 919742821, 456862545, 462435872, 937466970, 118230518, 206272896, 235495621, 613665241, 91312480, 862323292, 816672919, 293679517, 772275878, 278054291, 221961796, 230887338, 13326742, 63098745, 526881296, 42095906, 919039613, 193196494, 736521036, 843639439, 133890818, 653850798, 576621219, 395544283, 142089096, 18310365, 851732185, 339805647, 277646561, 814096577, 162782857, 555035872, 756060621, 631208982, 949332781, 429541728, 171751052, 826082220, 659234527, 20966598, 793846093, 147494053, 41083043, 919082734, 312798412, 402120520, 596664790, 113208171, 334373213, 970710101, 579071286, 683254534, 646412830, 712111652, 299271637, 273488649, 530323751, 746766980, 700526007, 487639768, 627707787, 356617774, 678468359, 372639655, 811332770, 296012722, 534036792, 816521925, 229247564, 419763405, 388422963, 408639223, 515560486, 158444911, 258819389, 516484040, 851365392, 121424612, 917473901, 922525705, 929852102, 68936927, 193796064, 569110337, 755702473, 377815578, 220178586, 108699693, 386886435, 800849117, 634466676, 292739971, 820048674, 996604670, 94778818, 991606610, 273752159, 290830277, 318444570, 703636785, 519236309, 579302357, 948738535, 802428915, 916206628, 84908557, 548099803, 167108187, 824466034, 123202889, 371287154, 787218089, 574566400, 393764562, 457064210, 435914791, 386346847, 781085774, 73979765, 525033798, 483260225, 173971654, 102172403, 613006108, 14901001, 104375591, 781435804, 764710964, 237200974, 727736994, 341987467, 302181874, 484369188, 358149314, 914299346, 74063093, 574888429, 18933488, 542065500, 255250123, 412537787, 885930979, 847579982, 752173317, 556322114, 372086867, 222355137, 831826844, 594818388, 111750035, 726270369, 635754135, 931699463, 843186415, 470232927, 72093367, 784971349, 916328687, 790858548, 9792711, 152099344, 801414077, 98551481, 112626334, 202126522, 852665646, 433712906, 279961186, 434396403, 906153910, 392571628, 603312211, 801613317, 710450953, 922709107, 865616273, 361214753, 433299347, 857310179, 198302619, 511560028, 423304400, 137450250, 724110556, 867644030, 205763289, 293398002, 766542509, 460799671, 955914105, 329708582, 749396129, 493032231, 267095096, 436375372, 622205700, 174961753, 424803731, 259072601, 66874205, 114173488, 837485473, 998329069, 609490278, 439898328, 587712921, 7030205, 677372631, 584193550, 415241044, 618212119, 639814940, 7527636, 111703162, 519453492, 405807553, 266143328, 639457240, 20512718, 534740082, 295315098, 688647502, 780571560, 821579414, 337619601, 208075106, 380543638, 309781378, 451801907, 823738740, 193401666, 164999758, 852020675, 566976446, 565268629, 932838461, 386426798, 74886401, 85679830, 521430205, 56967426, 83967096, 419911128, 447524072, 614869327, 744823661, 457269234, 417797789, 225098878, 510849791, 310648044, 299793869, 123195227, 787322469, 658147910, 360037477, 218057899, 332847911, 777155948, 37511171, 461525219, 744442318, 810466820, 335930992, 845697794, 113292749, 321453406, 844860761, 845970248, 229610090, 30543840, 464549045, 612939603, 637474872, 881552517, 284779389, 591092802, 607525777, 260763921, 855869005, 243835381, 623334758, 587418203, 301437614, 327358981, 62924829, 694090354, 635180036, 495938644, 16228341, 270907194, 720223679, 464830676, 756140408, 228333342, 266659217, 4818812, 337291479, 974909191, 4121849, 200586299, 664361022, 684749523, 758212743, 323136377, 216554621, 944719784, 78879578, 919825577, 920583319, 744181131, 10424571, 142810610, 287240026, 946452412, 441030933, 961695343, 134431121, 617426112, 220669679, 154291841, 267969126, 745456750, 391412876, 634099807, 976344180, 455490421, 88060217, 470826764, 654454164, 798009405, 276856681, 35843002, 993696940, 72773601, 50869631, 807196831, 570111919, 667134835, 497260940, 408692275, 562324808, 338213435, 604283588, 698500526, 914510516, 600531369, 261947402, 739335464, 177012578, 801552928, 702373317, 94977009, 476851022, 29911416, 507078105, 666669513, 930710540, 953047270, 831416280, 739067663, 351611145, 392399687, 338337709, 409322714, 300804823, 853700453, 993949175, 168735088, 411487811, 57232638, 516373294, 6499019, 426942074, 913291734, 589961873, 352826771, 517687465, 31679167, 250981407, 112183412, 32846961, 725210937, 677284472, 380749056, 687458738, 511864536, 52243681, 908326667, 278061898, 370165952, 773052415, 184534644, 719039860, 622226309, 743952837, 255637414, 770962305, 546889851, 901161897, 24398340, 518011644, 71869347, 459111399, 460529769, 585751059, 529953130, 70190397, 4643840, 421037268, 295253762, 478240996, 847679008, 215347247, 928406553, 777764192, 990554882, 767966867, 864344909, 570926350, 692096991, 829069654, 127870291, 450170909, 139173639, 614100725, 67207519, 106737620, 58240112, 144860796, 597188591, 969199722, 821894577, 607089499, 146919098, 35536433, 186361063, 412796885, 223599506, 185075780, 419719749, 455301435, 38244951, 704231458, 76083736, 282738126, 187731984, 288513518, 698684009, 391948290, 96189922, 142745363, 228660922, 187360243, 343383234, 926595924, 690738317, 122897113, 435045589, 231523553, 918467346, 118406268, 525104940, 983421690, 46743684, 251741016, 800070861, 822536806, 10604133, 530471970, 750184564, 172078556, 3639395, 760742994, 507400422, 594361080, 391434186, 550611671, 805336831, 497346430, 393492299, 770018962, 675549831, 750356037, 484641816, 255596234, 424208771, 834635354, 630257410, 858791297, 730483969, 583020330, 961653304, 860238294, 711083630, 988523592, 395285769, 292250364, 783282860, 518614109, 633122134, 135509145, 170164368, 551978662, 183009090, 256988726, 12154803, 258736584, 742380280, 170981155, 651888397, 774595600, 583730763, 426726872, 787540392, 655786798, 662846503, 218979498, 473382133, 933812511, 213651088, 492809460, 6213352, 652845340, 83365154, 226873877, 210420568, 635996194, 900958969, 698626800, 925216571, 393291784, 481950119, 429445303, 197479947, 212746858, 46343552, 991554955, 579448842, 181857411, 927728542, 555878292, 632058899, 582810851, 396289593, 267237652, 34922556, 546045292, 721840447, 370632961, 692862893, 822591490, 125746929, 701555058, 939013922, 308958873, 469238584, 429087410, 707083821, 441247230, 478253993, 544242670, 301295985, 654873659, 842933157, 892488253, 752853310, 3174544, 998497823, 138589627, 98236425, 366394932, 900911731, 360463426, 893902470, 806913026, 979401045, 672390457, 719869402, 965924608, 156859897, 493887478, 336249501, 647821965, 676917315, 940789772, 68033639, 578439296, 415661802, 639805611, 494236943, 823205352, 811058939, 620216622, 254408473, 867236853, 266991669, 745137999, 570973764, 160367944, 677019782, 216617540, 367100413, 195098595, 404220621, 767251492, 405616050, 498616491, 951797995, 346310876, 942538953, 199338120, 443761013, 503599787, 257317671, 712102631, 619098067, 123315903, 701512057, 671414328, 865890987, 769690212, 710415217, 868715077, 537495218, 672842109, 48342069, 774894940, 233112645, 350068853, 425241682, 223898017, 980627401, 489325338, 348925910, 649683565, 880262414, 941910096, 156199214, 862159132, 372260992, 978945950, 180337900, 205949337, 156595333, 930899582, 459233363, 9091789, 697166553, 797571605, 969892510, 509447836, 830638900, 647971214, 641749774, 414559055, 6403750, 735202882, 423360676, 160345321, 455490383, 777854069, 614193251, 98057303, 57393220, 92464502, 214420237, 499911301, 488989193, 109567982, 873956299, 469873544, 949407663, 777467272, 242735127, 388764677, 404793009, 620491614, 787914557, 232931115, 190736642, 337720480, 85733668, 499344265, 137430427, 885071511, 234090855, 157915357, 212352917, 809397612, 843173787, 937891388, 764218218, 240312759, 634345718, 739971075, 482082718, 160985596, 4830562, 240163786, 846617695, 352545977, 838049112, 814660657, 921243311, 753096333, 109685877, 281273783, 259005716, 733569816, 127205100, 31781742, 916910372, 392835682, 662501532, 105019370, 745832565, 8718360, 417687228, 235735108, 985152327, 906996737, 819458018, 249607568, 106929617, 109148813, 958092100, 473526993, 271931111, 893825768, 526540614, 970627037, 993465113, 805896935, 634677018, 716080450, 642595905, 598716712, 751444977, 980653290, 451830372, 158475706, 213492306, 426759597, 923693763, 24363093, 78099469, 895324935, 730028423, 639023093, 912483882, 377978830, 785773976, 330060781, 323538649, 618260917, 176998137, 301436800, 818989586, 952995697, 905371942, 468371369, 588339808, 624535886, 494701150, 594331090, 545907030, 605373570, 916997684, 928448286, 839289931, 349631727, 694377654, 401242264, 138734169, 328164843, 18830403, 429029010, 728033071, 498765878, 760351910, 349539176, 366170232, 345469635, 520733487, 794812362, 474797412, 27022308, 127961316, 414539696, 618633113, 653653151, 70470445, 1704880, 371664935, 825770453, 285122291, 876675036, 133725261, 652882960, 523124985, 244263593, 353180010, 450714425, 926162364, 501113209, 639625569, 852084951, 467774462, 284388809, 91703144, 32996393, 455762117, 342007603, 40454455, 313026832, 59489637, 965963382, 245777387, 219160310, 709192743, 55627348, 242328404, 618296594, 659725652, 594392043, 184619326, 452621944, 535703052, 230227211, 936936773, 611539295, 570713354, 311083846, 29891727, 513776327, 822090462, 479819301, 226135259, 352542381, 593661822, 972880494, 226898800, 51100750, 274378473, 531951093, 211726365, 85768385, 856128444, 158179542, 614303356, 198001667, 82109670, 883928372, 562477718, 164189727, 30803777, 898655696, 718524448, 855749001, 63866014, 369975936, 549525099, 495179216, 272957820, 12865985, 63292714, 10557757, 530056149, 121878795, 693036050, 496783302, 439309535, 39153807, 742724272, 358497621, 444270594, 604396765, 538382124, 686042179, 849476138, 76799544, 938845875, 564292362, 944231525, 314902087, 921118713, 458952176, 715939171, 72285002, 863766391, 844524772, 277220654, 677702889, 695175069, 650266916, 427109237, 360553473, 100295604, 662564487, 264313612, 714788351, 305984926, 392973403, 872547079, 654907445, 855990235, 379340990, 41167617, 767591533, 875880881, 663645124, 349618173, 611450570, 744536870, 381965676, 517645463, 28550254, 136088008, 307568627, 565695677, 248572914, 593153547, 616626823, 472841355, 883473387, 957048626, 996912303, 990602095, 450967433, 626172476, 30067594, 322148777, 413290823, 127205319, 681772137, 429931527, 879540135, 530913030, 794048517, 579334386, 700780328, 153517778, 952863066, 384528174, 917464122, 734382296, 887461723, 837697143, 3355386, 777228438, 43604614, 320732075, 390731159, 927195434, 483136201, 21165558, 398070835, 802142254, 29884397, 836863471, 177632601, 651104222, 387544495, 357588800, 239930030, 274897639, 470242398, 523901141, 221983668, 877232053, 411671316, 472985098, 54736945, 481881453, 667513043, 959029748, 102034707, 105812926, 806976576, 238224298, 304939773, 636119410, 135751308, 913246314, 451419010, 266876049, 866309318, 185047680, 934622488, 210944416, 206260146, 289980149, 960292772, 587116506, 856520678, 379145074, 277848192, 159825109, 278010894, 650210870, 348492598, 262737647, 943847153, 893247557, 463871904, 622402329, 708347649, 698102043, 514268675, 51724136, 262641145, 190637684, 579020795, 992567929, 972737645, 346900129, 861689115, 252481115, 38021395, 789850977, 33890528, 92067403, 405314620, 35430565, 5185064, 705830436, 605653486, 770367364, 965170131, 324813725, 139856169, 755243940, 109018073, 37903555, 614202596, 275017069, 96493592, 203285515, 611940673, 4452421, 244899985, 204288527, 57646741, 450923543, 849111779, 905651603, 930729157, 758305422, 844309070, 356000326, 196679043, 123394898, 696168455, 482740160, 351689386, 6921887, 916084734, 803817435, 431525522, 429140368, 942259131, 514141439, 51701740, 892874610, 256646158, 317528410, 3796156, 619809028, 452477260, 721618773, 394150591, 580677642, 366447871, 46314495, 751035510, 730681588, 835404218, 609822654, 627861330, 237179937, 19495720, 571319556, 813274995, 275135392, 302469214, 118691207, 215779965, 204780459, 174008259, 97403788, 961536556, 680165534, 855579668, 463488369, 347854664, 261301567, 597972039, 137006818, 153419767, 266545749, 137018797, 533557515, 539988778, 822335438, 461719281, 826147494, 559597397, 540366383, 844082264, 200655784, 831078035, 556754412, 422828207, 850654007, 322697064, 125072001, 745219323, 731608032, 501694115, 451243143, 817347050, 407827969, 656161551, 357243844, 271604130, 988210546, 421412390, 568348217, 408106531, 33726579, 899383945, 603086186, 73406626, 88813851, 986489601, 710779054, 453384701, 778065853, 304089919, 465335769, 808183465, 776274861, 37607742, 740856769, 722341192, 878895763, 103596469, 852008957, 148025693, 66869099, 778873508, 290244063, 39670985, 14506807, 531879985, 583124331, 924489844, 907655666, 142445378, 458032470, 820214682, 904988697, 497044261, 842523031, 664299955, 354057244, 823556542, 74303828, 640684915, 173329342, 208653331, 360686596, 727881709, 866430597, 362176263, 743427612, 366073798, 296016786, 404506345, 520975156, 167005377, 197329499, 844441059, 76709684, 275035450, 398322084, 255631853, 941852373, 344158719, 598661434, 721022696, 11453940, 489473629, 59590106, 144692950, 358804927, 168430843, 102569185, 665126403, 652000178, 96394682, 664800330, 955056344, 861996043, 472458803, 77936094, 670924577, 551804189, 190374409, 166003858, 143601065, 154842343, 164324310, 515473681, 294359775, 847893544, 812293471, 766736957, 720622864, 171334711, 479911449, 222414436, 103587421, 406792245, 975329365, 180417118, 605394783, 231402562, 114853881, 546304771, 674320294, 17097221, 75010341, 337990120, 898601711, 566526771, 199804551, 846463928, 631551353, 309139189, 99190972, 885313516, 546013865, 169236175, 306830912, 311504644, 546320314, 103966524, 616318916, 35965437, 938878563, 408887219, 424759773, 920814778, 432547356, 280481195, 733204708, 918546287, 55155604, 410123775, 684773395, 301229368, 940599961, 15893002, 191172555, 624923266, 881299548, 482499293, 522891251, 710249807, 308709232, 253077283, 18581736, 566399388, 637847011, 827186335, 945366026, 736744492, 458167289, 840516714, 16385359, 667448163, 54358555, 747110113, 893013485, 649037677, 130008224, 121591606, 509773750, 411300984, 881063794, 244856320, 744969811, 368448753, 255935313, 118749479, 863856188, 535784603, 52464674, 171073888, 287393853, 566834591, 434918879, 718141890, 95978284, 444442165, 460764973, 106822672, 853130020, 288542800, 16878468, 741792668, 380161839, 864107070, 286878466, 195893787, 147120778, 155666781, 402204361, 70508999, 190918023, 932994220, 186024187, 79130095, 968017698, 555978680, 238090057, 637525975, 106752289, 240009121, 193880900, 398470415, 839985406, 911696020, 65748638, 656084461, 81177495, 743421933, 668785258, 895242353, 953358561, 833194359, 341088161, 34174154, 696237838, 209453082, 548590962, 816207496, 225842208, 450784344, 5490168, 22223961, 876621722, 796791668, 876070092, 736615042, 37849815, 95572611, 53023060, 377515183, 289279589, 312418620, 947987325, 179518087, 68617449, 587331776, 305300455, 323498169, 160676901, 983711293, 670754195, 569489825, 336433690, 731852471, 334166116, 580708092, 790721819, 759861704, 61845751, 846720593, 326587537, 16175372, 877440266, 196360189, 724495617, 221819454, 588841698, 398825934, 768137482, 932408104, 30219542, 58522058, 363363227, 767019083, 319586955, 137976071, 962195122, 996010905, 705242421, 978112192, 535541041, 774263880, 340529189, 268754682, 832816610, 638849403, 162806651, 736436232, 45503885, 524802289, 945225564, 968238853, 558283251, 187575834, 747149752, 328689410, 371193695, 282496263, 626620169, 651392169, 751511778, 55183487, 190037026, 601145151, 637585016, 634387735, 395819559, 89774167, 782305302, 753315509, 666802750, 362711088, 267036244, 856486201, 546641308, 533323465, 733254561, 822311839, 633971414, 779609938, 160426089, 957430897, 527892562, 989545036, 671002429, 638748188, 42982612, 757432674, 94779014, 560441694, 139934341, 739245842, 516323067, 754605614, 727306623, 710439974, 811875597, 501315363, 410060943, 996469074, 229046434, 922756724, 373962947, 633154678, 888466215, 494385135, 9137145, 561132263, 929249118, 986449635, 698919622, 705178094, 229364556, 561076978, 843303086, 811024908, 28850164, 624349037, 751259637, 617351166, 364348680, 313113493, 993051354, 218334657, 163304373, 386516218, 495478946, 266505280, 30318277, 901387190, 159228098, 755250438, 159738672, 819504282, 62337922, 399695867, 392216610, 348692509, 902316047, 848576949, 388483784, 280033698, 136441776, 345461701, 805252971, 195372413, 110537910, 987924688, 773810866, 401898244, 429164933, 588822464, 139325368, 447923566, 704425134, 381127133, 556408527, 350295444, 637319558, 16134742, 31566753, 935264264, 267364502, 504626363, 388019977, 479411153, 385016351, 310138318, 517007789, 34184310, 403697546, 68914875, 575182862, 543330535, 331196465, 388615178, 892470627, 901496387, 500393127, 202561757, 205440726, 58520383, 143067256, 336718421, 146304521, 131626205, 209277896, 865417285, 392011528, 416514459, 638483922, 990062281, 950018251, 560976778, 800448785, 945582753, 14641865, 989900921, 207397743, 676818311, 460745282, 723724278, 502231306, 937868818, 127417572, 485569223, 256828140, 204552319, 60151603, 618981043, 534058844, 779065497, 47523354, 660499613, 17444787, 667991833, 636021275, 575502134, 946668030, 369794770, 858380707, 165380756, 215885756, 916622028, 909293105, 363825465, 910144973, 375639664, 908110778, 668527648, 354963877, 786460778, 494122057, 186022800, 683368963, 918613134, 765581906, 474264348, 343110727, 693379394, 638295408, 800649304, 738034473, 214170758, 868720807, 828007944, 277845663, 68511864, 666324740, 906951022, 237880083, 137172388, 702724519, 739068354, 635998748, 676759614, 520649148, 857429382, 430212167, 999521619, 157531492, 753767346, 222647000, 440306305, 749438116, 174024404, 609735495, 242260120, 601159245, 615403755, 793149729, 146305685, 283686106, 275683544, 483270254, 495636946, 743019585, 49238641, 740437632, 46596157, 768141202, 437926850, 632971899, 648333135, 501703648, 499590190, 214572491, 713096397, 969036048, 665320275, 843232207, 883988807, 58470580, 236127739, 44159303, 413241416, 182249392, 153990159, 617639646, 650236301, 351981515, 754938601, 797874464, 50892068, 811143121, 713872626, 324299338, 675134194, 199945913, 551916706, 13790107, 790197558, 463440632, 348630770, 834570881, 840886247, 139587470, 664075436, 789857155, 12160048, 633013137, 252825658, 336132439, 946151392, 462229842, 536460263, 393061820, 298430753, 659109506, 972618650, 391395400, 168249083, 24864909, 705245024, 207397414, 661334910, 408906638, 797124183, 309701872, 569912341, 479215426, 672950779, 262452771, 621957997, 172699156, 656111821, 277150676, 660814586, 336521936, 652115890, 261070614, 287417794, 274367979, 604504627, 291280952, 311965129, 324569189, 466644130, 634612451, 264023928, 706321500, 681643174, 527634289, 63739245, 188285303, 609013969, 333046244, 248022335, 259152623, 5423109, 628980485, 568690518, 450189727, 967551034, 972896129, 680162490, 73422721, 363660209, 673254349, 894521550, 430693441, 314939315, 450320310, 283142411, 572930958, 534852168, 879541125, 472903032, 278432127, 826817200, 487636649, 174105534, 549283906, 950378927, 464612897, 534346884, 275831570, 905859304, 493198912, 73415521, 545168831, 725358568, 182530086, 890989836, 514702499, 965186514, 823934242, 362637527, 337229832, 603811957, 959389568, 954324340, 573145035, 742402490, 752779614, 700047513, 524226408, 296529480, 363223092, 706755402, 166672626, 657481246, 753991571, 916650123, 999300515, 403847823, 536733019, 746086101, 128205572, 830410959, 638073777, 863603986, 914508378, 707562103, 857116984, 180569035, 305030605, 597590569, 514799091, 785244944, 226455939, 120882219, 163201885, 613661901, 21536036, 878685748, 440224576, 505956919, 501782508, 378967524, 475528881, 989303976, 887965462, 29651728, 915312567, 720301147, 491391979, 268932695, 892280741, 784818714, 85980850, 382278996, 351888346, 540614917, 42811740, 573464263, 917903681, 301317304, 905390547, 879061471, 177420701, 197003426, 281576673, 149757153, 191793080, 667656635, 955069426, 208957388, 691294315, 337992215, 598003157, 100076064, 544791959, 554336662, 252561502, 421906435, 606831990, 781376491, 689965735, 862102829, 472086299, 868041761, 773694223, 137123861, 145897763, 434201236, 755747355, 685445853, 306716392, 838238715, 656887043, 717688558, 659341108, 377079240, 258610572, 702533495, 642265624, 395581827, 57648028, 272653923, 982941234, 413902547, 14009658, 498571642, 906239770, 727655724, 368816272, 651596649, 117951507, 899800269, 315791158, 801381264, 961000942, 1478921, 134391070, 54394635, 516934751, 49011806, 900425767, 644625541, 903936520, 442350537, 876768392, 383997461, 683958086, 199395011, 421104161, 55363743, 427819219, 413607441, 497705214, 90210572, 620553158, 718080458, 845148252, 580259087, 789886006, 92646336, 369611816, 48558335, 79462590, 753866329, 164125008, 312335548, 311913489, 862037627, 656622932, 185128855, 603472321, 591152460, 711928086, 127866919, 707102317, 688766498, 931446571, 434050037, 780625519, 306775212, 137738603, 430087018, 729295630, 236289104, 679258338, 369161154, 672670720, 80349499, 833801939, 161742712, 284281742, 545690988, 930533503, 580375615, 354344653, 415790092, 148457261, 618598030, 8227692, 169385213, 330900926, 387289796, 417474389, 328414017, 528985866, 433595081, 477228260, 23828441, 952604409, 359222646, 283489867, 399671, 748463625, 877610615, 50818234, 820762349, 967433142, 599968151, 710363588, 186935956, 593288636, 627094570, 261900853, 432271246, 604835271, 755426414, 857678983, 953494035, 520223968, 862879707, 341752829, 765662505, 856800461, 715310438, 678624450, 653260711, 565918204, 869081758, 393973680, 439543280, 954305097, 976328871, 119836983, 739324164, 11415854, 299527660, 765197047, 114918855, 952610692, 493198785, 481226737, 884182974, 308703855, 100152640, 802363398, 44930275, 275829655, 944293518, 514127725, 205649245, 548853231, 544328371, 358851354, 393661288, 202062177, 357517180, 942484996, 213197288, 51352598, 361383946, 679240028, 560096319, 475182555, 864187806, 236373229, 714886030, 286125989, 135327379, 980667610, 607330137, 495614573, 389186631, 333843314, 446025184, 513977133, 899035813, 291076184, 141534294, 736943524, 568277861, 655035292, 563454592, 223323111, 449165995, 420333630, 290711813, 501710644, 488928619, 761200173, 364298119, 658533392, 219883230, 372743220, 244475578, 783031715, 283232592, 145870998, 981876267, 14670521, 862410875, 155013271, 72530546, 876305452, 276073296, 875319463, 387297915, 448404829, 253684598, 40170600, 631145542, 160157432, 399588770, 656021842, 925643681, 924341398, 969301317, 854360574, 299649915, 590974826, 658297204, 557680905, 921979844, 298901641, 981689609, 577356043, 993496674, 119853055, 93825019, 363551975, 751484275, 845020293, 885180332, 123893897, 647139193, 664493843, 215647028, 702393228, 139186851, 599887609, 377369154, 959589032, 452881565, 785232764, 363884765, 825459354, 70726047, 729486429, 272798664, 99519222, 192549709, 802222218, 808644159, 601901602, 461983183, 92434103, 326269784, 42606460, 256718418, 823802089, 84591480, 903043724, 928015898, 319053752, 752792289, 916797255, 396576703, 967276423, 436388900, 421915159, 893484823, 951695620, 645672335, 547194440, 215909223, 603114895, 655743874, 232162233, 513120818, 659490693, 438228236, 997323158, 67846338, 639384650, 837866756, 715159619, 974514920, 200910267, 934839492, 648816019, 981036708, 417962508, 380303162, 916520979, 936301407, 587505646, 169847006, 862962948, 388829279, 440109323, 954270207, 442224590, 246071908, 480465047, 277534260, 65572392, 358749503, 139129274, 108194872, 890231918, 557814671, 601836193, 832975604, 624410801, 329920111, 136622938, 791983727, 76163870, 413825744, 362109469, 691469941, 164060317, 958545574, 310914018, 304625914, 944393917, 438106975, 618352049, 934999863, 611600830, 229124478, 504376724, 254183376, 310907898, 977416689, 208547170, 163574807, 742165958, 111578418, 545157624, 931439939, 841939848, 243875395, 243141829, 434594779, 341227818, 190104207, 155304246, 842845428, 941330761, 940755529, 869765051, 230711207, 327725941, 530231217, 396762128, 429383446, 286482760, 907736251, 190331709, 622924835, 975563382, 564564023, 705275806, 359642616, 508933736, 616655066, 970286075, 684256597, 411556807, 744321136, 892535372, 734475142, 667016508, 75867228, 544690437, 173710009, 829940139, 665004945, 533385781, 60574128, 450072645, 631746976, 32432256, 217668505, 362642718, 492460165, 122208476, 919333160, 217815328, 20035611, 554279706, 237508260, 955486242, 307573457, 901445482, 181732715, 453092141, 618878662, 470141531, 203687795, 796917098, 611316384, 905988195, 496443185, 256251723, 437901055, 78323361, 136391665, 530014732, 992282046, 643248287, 671982608, 192513059, 653945794, 446917631, 113786992, 457205110, 497888988, 274112334, 737548563, 760201191, 569795869, 377065462, 791177437, 722684826, 901581771, 407884930, 28558336, 956423698, 459719489, 608025520, 850287731, 174955280, 730062996, 758133986, 106982618, 14036489, 641303301, 770618405, 563241718, 963564516, 433026877, 625085712, 25068358, 690137040, 571073630, 152771302, 520375219, 331265753, 334616703, 920658804, 824209952, 670252562, 930939157, 615038163, 987500800, 956510450, 98028282, 506512615, 143904738, 564845334, 712178123, 504827446, 67250880, 671340741, 345839290, 436022943, 362598778, 849305520, 852413701, 507526634, 784393344, 343349823, 25892572, 757335875, 441959237, 186342947, 623031741, 880319791, 276925227, 586591546, 799764050, 725294773, 707193116, 330509608, 40639716, 619212380, 851449535, 338471105, 456307980, 494740821, 517781268, 513564595, 31745536, 693452305, 890795189, 624542900, 670431602, 125475987, 432845035, 714170974, 299524843, 292694484, 53141314, 229272430, 897445914, 332047292, 452562549, 234553684, 296724485, 175476419, 194449381, 395862402, 290471379, 681601106, 31524947, 799784257, 406692496, 437706363, 662416847, 68529203, 146683982, 114263186, 881911051, 89580616, 900595385, 888535688, 11260603, 797490744, 957036889, 301295238, 738703299, 196917262, 37803681, 477447061, 281271209, 970673275, 59393263, 930093888, 277528700, 448355416, 563841977, 775931344, 932851310, 652590721, 279760942, 801468659, 236796151, 426475484, 22915814, 920927688, 263262109, 479654210, 622338839, 698922977, 5784480, 297571685, 741960200, 450204113, 563489057, 406104557, 116116698, 753724378, 265679665, 752677733, 856893810, 744541530, 868742905, 484056637, 202328703, 79707284, 753020251, 672120837, 120012315, 433710089, 819516239, 121997347, 194868930, 505338564, 537274274, 924211080, 37541275, 632699691, 60575417, 775735464, 285701679, 672501800, 48773771, 572971049, 336050765, 481765571, 1387553, 900620511, 489691625, 909556078, 670587793, 340478615, 846864830, 740033649, 366473350, 755326570, 409678941, 563769306, 673284473, 275903094, 155565458, 781914866, 675462366, 550460627, 440255150, 427651356, 797124829, 661932867, 175764166, 876126812, 380162293, 398634636, 468983540, 526004803, 716923604, 395814754, 858827507, 9773867, 72242041, 673519011, 854530268, 582425102, 194497831, 576555287, 406679221, 766557139, 664324516, 115039477, 763680606, 788010241, 415556628, 57035959, 918432925, 380065302, 671084345, 949520504, 602526629, 74457276, 960167128, 978211843, 400491016, 446610655, 887712445, 467211886, 662203500, 218831428, 934603453, 475413650, 979417065, 989756195, 24613084, 172196609, 332638923, 568852551, 995369891, 501576553, 650514450, 682286965, 636446353, 826507496, 861027559, 581960121, 984642642, 826171362, 980730200, 658643951, 404342776, 185698090, 372203617, 850305302, 209101425, 265776573, 518464554, 41626598, 717519209, 36082071, 773836846, 3987114, 251311339, 409046664, 278667456, 639826391, 612713677, 307116957, 341056400, 332621479, 167884908, 177903422, 323052469, 421521413, 86939298, 997608646, 941725515, 538277610, 197122454, 526453044, 503517631, 720428284, 419897014, 505405516, 724891429, 689990728, 161017228, 431232199, 565088813, 714012334, 383244030, 827726285, 901681673, 517353621, 296031438, 60644617, 17531545, 616752641, 654416292, 566787037, 714620746, 402425154, 778090710, 220437391, 363150433, 45671912, 201604819, 527646294, 389876257, 117088677, 91721382, 895679542, 471552262, 621518803, 477105566, 361857189, 898214568, 386341686, 492825426, 458958121, 405785755, 202666577, 269635978, 975029686, 481767079, 968221433, 180814986, 659911068, 388165952, 129909706, 344422041, 571065167, 438715023, 663803056, 484062618, 38645899, 655247799, 603444335, 614509527, 673529254, 124727883, 805012632, 312790675, 926399222, 294190339, 249282040, 339573726, 461908907, 166316421, 398142807, 171553132, 788900247, 415615351, 914361602, 695085908, 746976303, 294400837, 391825058, 21055980, 568203279, 884784882, 914716456, 923789488, 386752721, 573227340, 104963910, 540328916, 660740368, 366253843, 162715583, 51919237, 261424451, 741878507, 791471157, 436195649, 351675154, 994550312, 769858238, 467484231, 357984297, 179154551, 670821466, 668535167, 702375670, 516616711, 646609108, 386579015, 424634515, 587171277, 959646648, 987945786, 782855984, 842840206, 916149371, 913532173, 253219641, 590471412, 427743689, 195130596, 623716068, 939028353, 778588808, 570622779, 203933875, 613341366, 119077503, 572447710, 517278778, 755886910, 717418713, 489116560, 599921625, 255435537, 806099795, 775537736, 412505738, 910703559, 703499501, 276498400, 219223775, 796293187, 378582463, 581670182, 186977045, 188581353, 470397787, 680897605, 360005260, 692074937, 951434702, 220278770, 345856563, 710312178, 329991714, 884159352, 61582408, 586647800, 246798610, 544598505, 354116141, 123816293, 864136435, 13039846, 885534500, 85539359, 49352673, 724705367, 544334165, 273891574, 169364631, 986534588, 657227381, 563955944, 790822973, 669613026, 451720574, 302976804, 43595055, 678151846, 346926451, 294501351, 668320857, 752388646, 25840789, 528425676, 881354915, 528264859, 419009438, 39038125, 478639463, 670688745, 632443661, 757820904, 97676438, 279609423, 330061641, 536969867, 808673933, 717914524, 380722182, 437694179, 879729237, 740423329, 346892622, 295771083, 571008531, 894802008, 447505696, 915768464, 263794177, 990884312, 726489911, 54828314, 130302993, 445703860, 830452440, 502531241, 124238106, 41523043, 227329301, 907054593, 635194580, 896644044, 560421178, 422638121, 875781804, 646494471, 385352723, 595208998, 793248912, 512524913, 354776902, 684487864, 366181068, 11564861, 616554956, 940283195, 207345331, 533097567, 1093432, 95716805, 796163046, 122467954, 745419636, 866231228, 29378522, 38542721, 671345286, 173154578, 385471586, 971345468, 659892985, 217964262, 957899170, 843916324, 580454616, 855220250, 100964956, 363881751, 538865783, 444869327, 823320296, 36834387, 438491258, 458266799, 147147664, 459304428, 515881355, 840798171, 972497157, 598798003, 828596486, 527217513, 380947981, 686192218, 42187723, 277176942, 485108847, 558173359, 340704317, 886376003, 347855572, 587157553, 522271459, 569251191, 335146921, 472279198, 234495269, 599254393, 692004116, 654317206, 905049164, 421084590, 153186011, 29527118, 113101280, 879012299, 856236657, 742613872, 633832227, 408990194, 878407242, 4308456, 108594647, 223464652, 743169678, 387186280, 858535530, 134712014, 371162527, 701915441, 868306510, 207530596, 849287385, 592303398, 867430627, 446990894, 859186376, 955855121, 170614587, 119673049, 865661955, 718237501, 200309147, 556103242, 66297583, 630273105, 123070422, 37417237, 114734663, 988280395, 385502277, 285846577, 575263445, 201613907, 762232058, 817851825, 402671167, 676122730, 604051379, 122595634, 236330667, 262141020, 785563817, 827205097, 137663095, 687339731, 663764341, 570325151, 366708044, 421700519, 716490991, 647056719, 12230711, 143919695, 911327489, 930592107, 731804048, 742104752, 273837794, 52565182, 589028497, 759595601, 916431087, 950738969, 282626428, 190283788, 534618158, 383739849, 961137191, 710955446, 838030842, 359191873, 672036744, 734860376, 713166342, 942264037, 374424506, 995415029, 928830317, 423034332, 274942203, 696750729, 466123639, 303885687, 495756780, 504059786, 163511253, 12046370, 992281359, 386013400, 453266951, 468165402, 643517962, 295351313, 460722190, 686317327, 524101516, 939564247, 107583370, 726085615, 439923881, 65941220, 138637002, 320025281, 12089575, 729936352, 261519618, 908668473, 83413058, 824068589, 903569288, 431843784, 95809178, 901843128, 922764659, 675276905, 409319092, 963498472, 33922985, 818370560, 118036099, 738257390, 870073388, 394950292, 548264940, 42418192, 592610732, 939902076, 311413785, 541476580, 362598060, 907333519, 501169499, 234076771, 557686184, 196560825, 666168444, 449926657, 243508751, 966901237, 765328034, 68172267, 132626878, 873777425, 872455737, 981237018, 837687886, 591473854, 972951315, 36997025, 34806735, 774877080, 642975382, 246649112, 572383808, 584909807, 285322321, 369224371, 667352289, 299471858, 345427567, 178720626, 610965984, 960867477, 704384775, 472316301, 480127347, 749287835, 508630338, 2426095, 367252709, 192348098, 172621743, 421612594, 133906918, 924835651, 241224503, 743768184, 19978450, 494563470, 350310830, 213119847, 759216701, 768279959, 488333801, 995568921, 214094579, 282851054, 166642979, 673967058, 759936673, 698763152, 969871037, 865628217, 965172668, 92679069, 948576449, 70295050, 110109837, 1468551, 877409098, 5990452, 589141268, 582024836, 740727450, 159375202, 784552103, 882437188, 689124476, 342749782, 905237587, 463693096, 659710434, 108294847, 976020528, 282832096, 747600379, 316189747, 894456377, 476056085, 946783291, 695343887, 928334112, 122488796, 232662916, 549696988, 47005232, 810156637, 867087836, 906342625, 877352151, 879043138, 340266700, 176086768, 225357798, 962525462, 949351566, 143779846, 710214183, 55356813, 201551020, 379460919, 144656559, 799645098, 300828339, 306973304, 66676582, 405991773, 408068490, 980786538, 989472720, 516971747, 513188380, 484428998, 188210125, 973887863, 29292178, 836232375, 745491154, 669584012, 899552957, 696221324, 448041539, 281098221, 851242625, 958985261, 356861458, 336645728, 933591232, 698198364, 634699119, 910423748, 123268222, 765859542, 459948571, 643220644, 440631969, 338352878, 130608096, 787398768, 43820879, 748272399, 875283305, 21407251, 984410957, 194313963, 408118896, 543236099, 108203967, 153048890, 613017218, 401264303, 6931043, 327021797, 669975915, 609741114, 91162493, 795319127, 626473671, 300532816, 566833627, 167150345, 489899022, 821838116, 763414678, 126585955, 749702154, 201608879, 425485316, 716697881, 644512778, 182664061, 656027377, 388077737, 783221297, 736812848, 572575108, 634174156, 262314178, 341138522, 656974453, 477154593, 613225421, 593760931, 251376470, 310581311, 480824367, 149654690, 169597996, 568482421, 505088509, 942963893, 829392333, 123624678, 279762088, 898258182, 317851721, 420593110, 966661431, 240944364, 640331734, 911967100, 789175225, 439577885, 84106769, 237236703, 597049203, 734308645, 409214194, 466985859, 741548782, 683386373, 910622121, 113578659, 449382164, 908643006, 485865803, 3064528, 220557179, 458931854, 125162118, 557991345, 794419445, 40364608, 572444390, 372625469, 453958649, 740731511, 253023083, 67890019, 190550901, 522727220, 373351806, 983134655, 23305160, 919563190, 224132880, 920075343, 492079312, 760551483, 713784220, 884609034, 496159320, 909668738, 981163329, 98281662, 935146908, 217468267, 868837126, 160919698, 279991142, 961112810, 193471849, 583905133, 30590461, 640306635, 548710955, 47183730, 709738939, 257618261, 566654620, 913500833, 973957488, 633985995, 277484546, 553587236, 215957314, 224350125, 78135389, 562653580, 964924164, 799215706, 790420328, 99568543, 400445485, 119818416, 613246887, 775058612, 900304031, 719749410, 688236757, 61757525, 519123068, 742501895, 252049759, 289235730, 714957261, 502584664, 888005995, 407614616, 508578077, 55606805, 389271616, 921251391, 208112526, 896775406, 372534329, 118721696, 668094177, 94193160, 298857197, 466552522, 877519172, 622662074, 241779693, 821870482, 677517041, 346148113, 447892532, 218019770, 961458815, 220618850, 45501053, 819281136, 599155351, 74271998, 767543598, 254485437, 69693634, 48787202, 882882625, 725779349, 310341350, 979016973, 787078784, 407521846, 869469009, 482330277, 2739701, 859734185, 599147474, 426609635, 769907183, 213714344, 803396740, 95122789, 249720584, 19364475, 249646332, 199976250, 635132149, 947432739, 762270802, 121137848, 870830160, 996239834, 200040644, 859352197, 90556165, 181390331, 611859236, 503957448, 345322080, 123143289, 810028647, 390227248, 836152531, 581062776, 271211586, 300889454, 907883300, 405044025, 121550928, 147927850, 785873479, 840848385, 419391180, 993773895, 344306507, 613766349, 836781139, 25575949, 527075722, 690329241, 542456156, 930148985, 606805126, 198156614, 168498401, 145202184, 709178981, 846119591, 715275913, 53680863, 375788307, 128606430, 394032577, 651710026, 28463516, 314569776, 837235205, 963958174, 564703262, 562388589, 320695993, 210521423, 162450023, 127358542, 523237118, 975673207, 325569173, 120407314, 904292834, 538978609, 52216574, 677979498, 329667197, 852900019, 54466054, 493711708, 598213329, 99689162, 232917120, 654912408, 943340857, 534694491, 908537148, 228861951, 392435580, 460453784, 633280142, 586230775, 626340430, 104219862, 289065291, 65987856, 886519507, 946473856, 28940221, 246391641, 700460761, 791075412, 254154847, 331846984, 617917383, 900594017, 936891848, 55067753, 789415142, 532968902, 463874174, 300665098, 668681041, 611405904, 3490211, 58705791, 448752824, 463859640, 509684093, 640757314, 491045377, 666588542, 57786924, 401829786, 416042715, 584428561, 987354918, 130498357, 220871530, 689324297, 73616818, 663703200, 192926895, 667670873, 127820819, 246514296, 795097417, 290537193, 516333603, 952230096, 338304290, 16307225, 465403518, 35116989, 450013114, 891750727, 659991558, 528375258, 935230943, 275143502, 855815761, 356280757, 34801336, 185561968, 327823262, 582351777, 808506826, 567101351, 967197501, 62584009, 876902736, 2576327, 275206095, 86965976, 158484645, 648531907, 899095514, 977432049, 946534872, 543359010, 210828947, 338754343, 200993335, 436841703, 456413409, 426115105, 599816569, 961248401, 221560926, 681527393, 398062302, 29495310, 907487336, 276677380, 168891993, 461733748, 689230931, 592602729, 284081331, 456360940, 991319711, 796721699, 11557174, 775158548, 14121389, 538171632, 998826848, 560359362, 56235673, 687837112, 884703180, 409746637, 599230071, 867361527, 375866796, 506490542, 987723268, 818208688, 83365757, 626176993, 472002853, 569170024, 170269666, 812092296, 342526651, 685795544, 959904332, 50228105, 764254410, 399458408, 726554832, 423877988, 717245127, 523583042, 700213793, 661480364, 631255483, 720633592, 100194531, 904780038, 445997210, 347533833, 41600317, 725215700, 769675049, 174757533, 193758421, 628938740, 329590125, 882715028, 277168146, 943095084, 498356882, 738731193, 55379080, 444627559, 190282790, 987091024, 771305350, 684173996, 320501142, 694503009, 294075729, 182294152, 973528309, 448034698, 458451202, 804357513, 617138410, 221065828, 345467417, 694761915, 219119130, 191760533, 786017460, 56767022, 954446677, 391772174, 356065557, 303822052, 33479942, 461110132, 26889767, 277954463, 671837563, 264006756, 59179962, 27022679, 35493778, 8643546, 741842934, 963374345, 609171246, 874097868, 171368909, 424638261, 527111952, 970297502, 239470872, 126484833, 676455504, 946818157, 760058449, 504006819, 71608287, 995562892, 729123839, 320707109, 505755179, 96301733, 643786831, 958892140, 22015695, 936941348, 992064741, 195311412, 596489129, 154758849, 185257747, 259639856, 51212144, 852031239, 629801452, 833645009, 731002138, 744863274, 406792379, 904984529, 590387234, 995405233, 440039986, 992704460, 740163284, 197042385, 956923032, 418045505, 30554429, 105951432, 283192139, 187639239, 705668692, 266104449, 969882370, 485128485, 838691970, 543267663, 377188483, 500431650, 281792687, 483859746, 10224903, 595215939, 950369566, 529007964, 688642896, 89356069, 973995372, 829970637, 773802987, 90472778, 237001994, 574194991, 761174209, 393701036, 832612035, 84239627, 958927038, 264859361, 707200472, 111743377, 619044798, 756006742, 164848692, 881942191, 474854176, 633637940, 807874342, 366153719, 249989952, 656420045, 689519991, 649954178, 464256471, 200104371, 187784897, 461952079, 777552969, 599281622, 632418847, 987445128, 481574077, 782486199, 570393651, 923524521, 814883678, 566210816, 937049012, 472615549, 60085964, 348041741, 733138952, 466782659, 780320030, 681380136, 873695340, 419825895, 492139336, 799904840, 310790294, 66653315, 41562592, 43756410, 584251267, 25987668, 609057836, 152068703, 426769322, 607424001, 412207929, 751152020, 343880759, 178892377, 790888364, 613120192, 278877691, 259176726, 380832923, 635566409, 1840554, 694646806, 916599599, 929140258, 195914010, 373620649, 728630945, 284218084, 599287017, 460668451, 846551689, 102403423, 419980108, 330202244, 772968139, 393131199, 377605685, 939627218, 435393187, 218878969, 809044829, 572039032, 150788229, 880058030, 248168633, 205346286, 471727588, 139804980, 797255729, 672477988, 536232627, 673055953, 236768977, 971860685, 352811041, 509212014, 823177231, 113091161, 105003146, 69023957, 669638179, 450345458, 613640977, 54403890, 922511862, 724463626, 830378988, 814382721, 518299668, 178324079, 76537662, 771533751, 769305336, 83885552, 560113126, 352944426, 23757288, 13670347, 911722835, 723452411, 913938950, 500215783, 322809369, 93889438, 969934230, 575129275, 181051484, 325270645, 495032836, 317897861, 891165444, 377061368, 785120373, 871230994, 86475125, 233745604, 453858346, 569620370, 942122675, 30989865, 231963863, 789852691, 898843202, 252876099, 367636379, 436999033, 470278519, 107424002, 205416856, 377493671, 196901380, 816835357, 343547289, 17849507, 836236870, 653895878, 887055451, 376940425, 135938143, 60229346, 783594395, 599068703, 823218673, 837287962, 45292179, 510279931, 576976071, 183321915, 810953975, 429111720, 813577797, 703531020, 623210844, 459380170, 349198325, 687750347, 398055440, 589542036, 781577042, 869670685, 983827216, 986718452, 58600964, 154294467, 983781225, 797987218, 912122025, 379286003, 526390782, 210000622, 918783541, 980854808, 859015224, 192573678, 441285559, 538765464, 925034177, 820582564, 185184676, 514835340, 348371345, 225996158, 909188395, 677470972, 110624815, 453948357, 400873871, 228270202, 369985881, 386442316, 758268169, 176226418, 869972560, 206528387, 130142767, 604161831, 739760310, 158847894, 602569004, 910710247, 908888162, 922128357, 623473572, 83785270, 745399599, 242230728, 185852380, 173387949, 198126723, 422584488, 661761278, 736658703, 483236904, 243805272, 174010564, 805449125, 517896111, 19796209, 819291414, 838358986, 271531663, 60958744, 186580873, 661443066, 316404698, 487907961, 135917211, 375181700, 951438607, 990727375, 810414483, 229318056, 779167153, 768512448, 634607776, 760803709, 323532051, 860909435, 478629161, 647259210, 901552571, 355938198, 463870654, 794529687, 505873619, 189192594, 751012681, 172578290, 125073761, 418485319, 305571673, 579643628, 667913064, 250220219, 609907398, 790874090, 838878635, 907349213, 798310457, 259173280, 34630983, 74667240, 113680340, 210536551, 245373391, 522713303, 557696302, 455547971, 225588235, 910650209, 780609174, 400576461, 247595792, 847694451, 640963585, 917962409, 234981198, 328343877, 934609499, 446225453, 176250755, 109527686, 916739719, 18162897, 845611769, 512880261, 874039579, 382379635, 891264586, 343715873, 270352421, 653669927, 885284202, 45216757, 437056950, 597252312, 100730270, 127173574, 511584811, 796454317, 168910189, 829001980, 568064071, 318768180, 851513625, 476768350, 812767947, 819677820, 918709735, 3444108, 698736560, 501032381, 55419624, 811097586, 28456532, 150917399, 208407953, 337037840, 893155963, 687945074, 485211533, 394491532, 15258377, 487434081, 4911115, 641069363, 134312075, 74174739, 786291651, 105588604, 18876463, 155492012, 928146891, 833410783, 664074295, 166166061, 60856468, 242406941, 169904319, 102825418, 748668884, 726175336, 736404348, 929856666, 341551227, 195301396, 157063838, 382127942, 660117449, 528789446, 693437265, 437945481, 869898174, 982971698, 133687391, 528042811, 840375039, 642074390, 881158022, 492752593, 612509999, 915852204, 314929688, 686247602, 83577587, 358890990, 933455431, 211468165, 73710929, 532646999, 455562410, 316384262, 798484584, 278561919, 832133903, 280897310, 860091252, 126838165, 335143580, 874951728, 87055517, 282263780, 388983428, 709641310, 892351821, 713881064, 902120469, 145382705, 456747850, 86611560, 119921162, 986867892, 333773295, 497477916, 674482783, 912042892, 485763667, 775444974, 760214958, 150833435, 733381900, 11544866, 771891130, 562009158, 552468056, 729295008, 640736866, 684665933, 609147828, 977363843, 516798961, 351577698, 238598683, 133441867, 803801816, 522444254, 994086304, 644578352, 510683253, 845716587, 974100011, 155729616, 736805225, 485306903, 478865470, 522054731, 166643750, 576864648, 519193559, 506660877, 394603020, 991787421, 508297802, 224551356, 22071596, 588910482, 843887047, 296586326, 686848218, 640221486, 47865324, 496516998, 939690393, 450675395, 281552282, 398044625, 910918380, 561862149, 741506359, 604459097, 547353314, 211044279, 107476728, 199278631, 339797141, 665887987, 417227754, 155622059, 817499674, 663182856, 383817475, 655421710, 971487417, 205527587, 231346529, 621578636, 532540219, 126839095, 919221457, 119844891, 197438449, 283870553, 641933806, 976486857, 194049443, 779091588, 213729261, 90968961, 747107734, 844976220, 416992876, 558360277, 163796269, 201299959, 799772574, 845115803, 647693455, 304352794, 737664109, 689027081, 478094690, 789622250, 511298515, 647775720, 85560605, 162806063, 230298198, 373669485, 682834594, 455698624, 949838028, 194530744, 928051913, 498638404, 408861450, 50508024, 864743553, 910182615, 206078542, 533347235, 280312073, 431713405, 884614142, 285296445, 619595094, 440133936, 173282825, 918510102, 205322573, 906379864, 681069670, 623216536, 884265111, 445246789, 136458835, 309907326, 639764382, 913840692, 382151385, 323985384, 293838592, 872401489, 874020963, 982263694, 352897855, 556371544, 648360784, 454255007, 248491571, 21903999, 542352464, 601663704, 211943120, 889069510, 717520083, 838761945, 817944323, 447936213, 201414760, 762525627, 765315023, 538948604, 668740739, 73116584, 283228376, 340584711, 588223938, 916794647, 980947185, 407421664, 425778285, 901084786, 50202760, 351451868, 732902002, 520274925, 8711025, 977978581, 625223450, 393256314, 727913918, 433576963, 784356230, 31708792, 837891250, 796013244, 475297739, 613426604, 672761639, 543366504, 295071156, 989996589, 278068045, 508517012, 529803436, 943725900, 332993348, 670211550, 37977845, 825857613, 930339809, 487345776, 588231137, 35110279, 123029395, 748406853, 41967500, 446176852, 621021824, 206342102, 56440690, 322171874, 624488630, 55538477, 713791860, 45830189, 290868188, 508690001, 436813627, 255957811, 147753303, 353270159, 594030499, 495951586, 99438438, 166587706, 217151146, 391086927, 984350002, 465851541, 835789409, 432233888, 226023495, 65403274, 960328580, 98096726, 346729428, 153859193, 22607035, 298469788, 21628089, 582673187, 671017136, 924623652, 457320437, 958476252, 894020252, 842490772, 575785726, 38438628, 77130952, 420217553, 543682118, 202658627, 658997496, 6690399, 87363771, 898587207, 258063167, 275042005, 558713844, 614450633, 523681372, 666494151, 823406131, 630466001, 677619492, 784460197, 299350629, 524340656, 301592299, 699487298, 413677100, 924878903, 877660804, 528275529, 880353351, 915894159, 568473810, 868170681, 327496973, 206224596, 170944947, 555592969, 613742661, 599188467, 817425216, 380530911, 249087112, 610832216, 343513033, 300092607, 975207558, 666083684, 108510723, 620817390, 376550810, 903618582, 808233169, 778803205, 837998518, 91392495, 541719741, 877494034, 111748520, 801302196, 643256277, 511269936, 29580201, 374584292, 445911869, 96679382, 393960357, 112776682, 208398037, 444133414, 186916053, 276038102, 723163563, 593700431, 268596129, 778822464, 745673381, 527974324, 724627308, 255592213, 630556389, 43694289, 899223604, 30439698, 467634982, 395774380, 439142471, 124518835, 396805742, 856633039, 385749777, 555407384, 564023510, 966184396, 987507670, 703267206, 67190712, 647283362, 852511949, 574883608, 977600382, 220688594, 739991437, 810402453, 271295512, 933348135, 224516454, 960911268, 160365615, 204639001, 988926583, 166846360, 547734925, 436295722, 201101807, 881714367, 188329427, 240935871, 433586500, 281804728, 957980040, 386809346, 842690093, 378340343, 879244331, 567268851, 210428611, 290759195, 848965837, 303607038, 130339379, 873512411, 253704057, 884367216, 345667417, 747472522, 364526982, 612094479, 397785372, 271687632, 679609014, 880103664, 763058802, 669970925, 949491668, 707467386, 78382829, 237692723, 563952377, 960668331, 603382187, 631617787, 998378865, 452543808, 890494720, 92032769, 86042963, 184042263, 758787060, 244000255, 819738818, 701519426, 85957028, 894077347, 811929400, 638573203, 387022722, 829994902, 611312865, 648383954, 754237981, 155040001, 351607877, 650797773, 168589963, 813151331, 914026562, 821198313, 102268612, 485252542, 108636535, 774482257, 872307079, 899596337, 781156512, 281669156, 592263470, 871180404, 485138011, 292950795, 29737915, 453026863, 493975753, 220428625, 696082032, 213575616, 567831255, 309728256, 977396406, 576921899, 512529051, 174165318, 353050570, 884918309, 390254199, 708247852, 399842835, 453041038, 863838924, 887477808, 225784958, 700537666, 864535379, 757103812, 640321470, 759969638, 928824563, 430219222, 333446449, 626001625, 560625941, 347740865, 565098124, 698687359, 668323845, 642300765, 590023753, 350455443, 729000847, 684283517, 479313179, 104700645, 191163559, 55418108, 221884943, 533728240, 454812327, 948116034, 917456119, 400622859, 118522128, 73030246, 322134333, 610142589, 602757456, 337105572, 215913019, 944397616, 741072663, 995282482, 779808767, 831446286, 689837198, 747784297, 564603904, 982089446, 824387115, 498716732, 226222894, 42622085, 206325123, 265763052, 937021777, 497465339, 688102970, 157332405, 548688155, 171628798, 444021923, 362304566, 794255573, 3794639, 497876320, 651846607, 899086578, 259975033, 574681772, 354459745, 430069626, 632444618, 204387877, 685226115, 803645713, 228051744, 920981934, 24014734, 707294006, 723695446, 83629145, 262179909, 503250359, 585156917, 842095088, 448046007, 557908930, 201895371, 182660092, 573541518, 145511830, 473278041, 225200185, 205208974, 310195164, 471649990, 539509969, 25893136, 372764322, 936203635, 497983503, 427910703, 114410026, 511228846, 193529992, 581494774, 180396248, 281296079, 407739011, 765850649, 552531683, 742875135, 954960572, 464852314, 811761897, 469247826, 44810223, 823563567, 473084737, 937719802, 354224196, 665544845, 201598332, 384272025, 517790770, 428843680, 780392033, 714395515, 119953995, 320543475, 675458640, 597978725, 875286098, 184375069, 425359157, 956849178, 75214677, 688892579, 14180056, 175992650, 618363759, 21445164, 553470039, 586203395, 664200331, 197796339, 730411370, 751101786, 158165061, 367172948, 542861847, 64788318, 810474484, 448895403, 48634009, 617148715, 945178168, 535356146, 104822693, 158187133, 897517537, 199820012, 495961331, 754115172, 984237216, 952274647, 276654868, 418370752, 372507723, 471548538, 741636547, 367170613, 540407464, 299178042, 743671135, 164667367, 757331810, 229564509, 216725874, 223075260, 30758016, 206656674, 477444447, 863257286, 312483135, 299227357, 58893667, 895545358, 992588662, 811567008, 980978655, 669337601, 535560526, 968631652, 400534309, 700949662, 580662038, 296102389, 176169198, 131445987, 966142300, 912975570, 116277385, 899546678, 649911660, 251009690, 664783171, 767174433, 518665841, 515863441, 906994369, 853407851, 85659376, 439404435, 263696507, 94396885, 376904094, 141092221, 17165976, 256287595, 417048880, 556103076, 526760966, 950738984, 337823400, 435855091, 980640576, 220591565, 219787247, 876287609, 109686713, 592515707, 8968907, 397614072, 320571968, 113046295, 635819442, 179901681, 462708341, 454825819, 491153654, 236345392, 333008997, 51841897, 491609381, 66483809, 861071053, 917549658, 609427550, 716640230, 915636763, 33453112, 761396323, 430541875, 614376994, 228204955, 680828110, 961210312, 197787172, 570560780, 187816587, 894068246, 392908694, 703905202, 856262293, 968871234, 989641088, 174341551, 641319340, 288140, 582516754, 476159468, 11437139, 166805934, 81648272, 212198030, 299484547, 736752476, 388788799, 463955836, 731034739, 949718963, 347730583, 92189349, 883271810, 499891007, 107687303, 876734749, 461559015, 916309086, 449341072, 788218284, 41559015, 452698644, 17515016, 907474557, 700130123, 66342687, 904636716, 42380116, 353715768, 131257379, 168279649, 711083555, 904333913, 172759141, 691548100, 221253453, 148765984, 751431886, 522524839, 676372266, 891627448, 202256653, 905919523, 920293730, 341906638, 536859601, 545550930, 9042192, 928685402, 874510759, 333844974, 120138540, 14815409, 882143418, 162441983, 531880130, 323203495, 405682403, 732103030, 264950819, 450001082, 751903401, 222365380, 656384305, 404170726, 580439214, 410980844, 441644662, 594458632, 293493165, 116707808, 690864570, 152795393, 187326445, 368807169, 956244165, 963572226, 3907931, 40447271, 773480360, 849685853, 732342643, 143677622, 238823257, 860198212, 479411384, 747939242, 324065936, 527676172, 113789222, 617189247, 33474645, 959683540, 930454028, 438548722, 158871924, 342096562, 152742743, 622017945, 325492753, 86668586, 843319506, 119852242, 963603635, 958961609, 999403028, 849886378, 450780199, 501123041, 484334480, 601899231, 157047676, 464230600, 920858338, 803176165, 187906202, 508492532, 326658046, 645055501, 594988231, 533327256, 750839577, 730575392, 604192308, 416583421, 906158440, 38229872, 626974769, 874075655, 584195601, 80566243, 715258677, 661681655, 203881213, 783243175, 578461938, 564623422, 916766232, 60470659, 80410694, 8085760, 174920417, 383547690, 433274151, 819107107, 912294346, 404888182, 539517585, 107415913, 11937928, 922835249, 865341465, 259049222, 911019116, 171879725, 938802625, 386255725, 268402062, 224536885, 622859739, 567844451, 320665794, 504651803, 346209120, 47757523, 496490423, 745943364, 6451966, 121852557, 195173793, 815103648, 856817713, 157842603, 259068402, 974528048, 241911070, 760308257, 367893564, 102085652, 87507061, 847908749, 1891562, 178610885, 627299797, 768298314, 297523486, 358249960, 809378495, 196912950, 351948605, 797530029, 302612226, 340190138, 701321673, 333375854, 542274519, 465096452, 700694376, 393999076, 536890849, 959734344, 596337769, 839825486, 712965231, 38168770, 481123388, 928561910, 679688132, 112618509, 481885423, 165184395, 642204213, 945981851, 95754606, 889451934, 85008925, 718433659, 264114855, 448714266, 369154176, 817232501, 456423519, 966770583, 449041540, 676479191, 330570452, 235401040, 457957473, 407905636, 790717340, 128696896, 835494248, 90971024, 480200573, 418392542, 510703806, 160736429, 521547545, 947334712, 668691595, 276665085, 659576688, 720433416, 755207230, 334755080, 845393446, 924374784, 370733589, 158873451, 377085039, 513557729, 873376407, 211468102, 748294906, 305297519, 272408107, 929174856, 374735851, 527677398, 649394963, 986476319, 863898548, 154171359, 908678694, 763330729, 804448748, 96668112, 891486872, 648017942, 806655562, 354830583, 703815372, 333333747, 618924325, 704357228, 555578454, 171095202, 943681395, 752479696, 133053586, 582437926, 319298460, 594884700, 75809615, 610609847, 405582511, 847975765, 902051452, 874806707, 260682375, 716438695, 506658101, 505893180, 511283828, 728592468, 394080305, 629448001, 663970695, 373267329, 121291128, 37832565, 43686268, 834454213, 717958465, 545965069, 459516270, 744210030, 669540071, 428715892, 249541179, 875367174, 592472228, 257628824, 145213592, 722910429, 137994248, 867085331, 586122823, 42398492, 207367236, 996902021, 798157744, 30005241, 399197047, 734951488, 52223430, 307503837, 281515077, 650082918, 893496700, 558487677, 576882085, 486288483, 592385189, 315765231, 42715484, 169044707, 414274733, 775860345, 626730773, 828651554, 754681156, 523382489, 119097959, 667848965, 227005158, 2358334, 520508825, 959982638, 950815293, 7376073, 863291984, 928505194, 454668495, 907301215, 143394914, 692893858, 960137063, 570680655, 620546736, 68038593, 899343734, 503126746, 90416643, 442088336, 710642034, 223058137, 128916561, 481246124, 51797588, 473684098, 263821619, 186357, 546588245, 155420072, 714755726, 936909737, 8649070, 927746660, 752568806, 334889356, 933569262, 121568766, 614990829, 374107154, 7491693, 585009806, 159296306, 716592837, 716537537, 815433890, 190745613, 625853732, 217783498, 200813217, 265516328, 952276354, 299270134, 797431633, 720938946, 742626274, 623685777, 551899634, 102670330, 858409585, 529484212, 248564744, 520304746, 168247613, 528341852, 853916854, 310222831, 828950969, 495854294, 956170212, 96752920, 872733155, 231932686, 627459792, 738297925, 661467101, 643198418, 531816932, 782070765, 939411675, 14418213, 650337253, 342823419, 194119069, 717012228, 776332800, 601591740, 423064364, 568059980, 929809446, 635926374, 430215013, 723292858, 46540915, 82345261, 351218637, 239531790, 509596565, 383633782, 562650214, 83253021, 46835488, 413811938, 23316652, 197616149, 446931905, 905808008, 252779729, 709467857, 255291214, 559542177, 516893306, 367626454, 38915031, 494805795, 88326583, 821343267, 632964388, 961462954, 578091399, 366150452, 19193173, 731602882, 549760229, 91822909, 994133812, 901305435, 421731552, 525408658, 238056798, 104111149, 422912750, 872687208, 853080123, 979894957, 965940398, 748450245, 257805850, 17825323, 44303021, 194861980, 103284124, 63463051, 28495792, 350281201, 930294371, 815562594, 282039021, 989690375, 71663793, 222307302, 590446816, 215327314, 855860471, 680436121, 878029182, 694140744, 835644922, 752213469, 279885260, 77159156, 852949409, 304555885, 69779888, 559253565, 125337992, 630849413, 981704515, 608095479, 409604451, 219822592, 379967553, 915438631, 439513109, 241118692, 674486595, 902857634, 108360593, 54160255, 977968024, 690514842, 684905788, 63772827, 796696509, 349032076, 274818527, 255151597, 461227916, 413357000, 560253038, 509049950, 195227976, 46120540, 545499118, 482317567, 960650437, 970386172, 633389116, 708184729, 297993677, 952964972, 235311082, 895041469, 952340549, 157256297, 526895543, 697484394, 45081218, 797659321, 529583183, 437879216, 394401802, 265884088, 647188655, 139223564, 947993711, 613745785, 573241138, 584752235, 987178378, 40126864, 308110216, 778257921, 777045499, 111980215, 969055993, 996602528, 46153500, 856010643, 884067129, 262853675, 37812859, 492862640, 424784489, 102201355, 192748061, 893450211, 93083413, 186347743, 417139325, 472768557, 222559451, 967052464, 256848616, 286148553, 848379913, 6168196, 276326510, 90893443, 389164385, 26232520, 471740809, 721830648, 563454277, 942116440, 101073692, 644315857, 762628823, 289056202, 672700333, 126755847, 364305186, 493910250, 821560586, 55209083, 970090845, 293746956, 497666152, 857983510, 585022294, 397793646, 142864993, 690747554, 53974449, 650941274, 752020810, 520594370, 579612028, 359621330, 616324030, 723165477, 713017065, 369089775, 843402328, 394577374, 221586815, 481297541, 773783231, 577564079, 93108703, 250855863, 4195647, 587007143, 340964510, 562290808, 438324029, 351721522, 351282902, 525792057, 269481527, 266291907, 646130950, 372194807, 323279331, 345041036, 845689097, 11553705, 910893780, 472457515, 573690007, 795329410, 188397827, 198846567, 198437423, 750685558, 539333584, 989874888, 957433870, 396671211, 860267505, 443401854, 901401422, 240314258, 632044200, 747782505, 138590835, 543511422, 284194023, 373017875, 581453691, 436243488, 492106351, 728208693, 988552838, 613950105, 210512941, 234640073, 201819730, 722928094, 161025576, 436526531, 709526505, 671300485, 628153383, 730009952, 384146912, 133174610, 778861802, 893147691, 469128820, 618868675, 671549546, 377155148, 853896309, 646771909, 111259671, 894559340, 578031284, 880698850, 204305748, 910078965, 980057816, 86987390, 793197705, 446331001, 343194873, 819019306, 616025429, 563975997, 147760470, 690747890, 486245513, 988710849, 946636900, 483727284, 316695649, 710716666, 170127685, 362664715, 811098707, 338881822, 693704869, 908729471, 8308073, 898015677, 811775762, 864571279, 517857606, 26482064, 717121120, 310928332, 397961837, 497647107, 422134432, 911052772, 156290066, 749235830, 561701318, 391198794, 630545375, 408226980, 569344850, 330666019, 179762061, 288830432, 104147977, 656585951, 116611684, 408198023, 800694235, 883663008, 109532760, 300860076, 145756225, 32353945, 508589618, 561045017, 407426104, 514507028, 230230809, 739220898, 520936246, 477948894, 976005425, 860999383, 610129654, 229698119, 689385125, 351637021, 752031379, 48182739, 119389038, 840724019, 896835380, 558916472, 644741705, 368063189, 55312030, 517088899, 555759759, 945413103, 181555141, 283682053, 846683569, 532526350, 330529526, 258467583, 104361139, 719345214, 43675836, 295441485, 139987872, 977271802, 217350960, 67074439, 340198184, 764575301, 546846780, 949524287, 810096324, 164229192, 181040011, 574055831, 379784121, 838137538, 994611661, 135361451, 10109095, 678023850, 276158264, 789426789, 861321521, 772766096, 90310911, 950310825, 26659638, 837252063, 972334185, 719157767, 362323551, 939417037, 775697770, 267195509, 178546006, 636783511, 74078560, 147683149, 812684858, 134512246, 471353885, 319936534, 393439928, 56372342, 572769134, 249978850, 784768426, 953585239, 626332046, 573667872, 123415665, 436719441, 856122567, 200084202, 662016909, 365356846, 450025383, 659138513, 450679572, 781204778, 969669178, 253547608, 490826316, 404240045, 256531317, 165407004, 455486870, 950404111, 804102343, 483983459, 688928022, 128332812, 388399206, 408923407, 294526654, 113674680, 551270525, 433976470, 297943141, 255058897, 629359382, 213270074, 343041313, 509433464, 610457272, 533744931, 20219506, 374542240, 669613329, 981260204, 475425726, 970276900, 995833585, 383489261, 608585216, 95936630, 965653442, 625740684, 200243497, 71995997, 338602998, 686518437, 562111276, 69954205, 680760448, 589403397, 278133554, 754265136, 212526060, 161984794, 113371768, 237757483, 281118797, 968349054, 52437791, 122472248, 316708662, 547840599, 532338191, 585903137, 348594357, 483651020, 121643770, 627541234, 77200688, 692688394, 405636863, 210618265, 999088444, 946081815, 535588294, 315565924, 451898594, 825899870, 332387031, 754553187, 746418097, 52855570, 92680936, 254084566, 213558437, 954851897, 278297706, 814961513, 878202129, 116587816, 132886479, 532770192, 471041046, 269431246, 238601941, 642361384, 530747122, 737264826, 381787311, 774310951, 115480029, 117942366, 600629639, 291231035, 682827491, 41704483, 387849792, 377170743, 28421744, 235787452, 302469920, 959355479, 81819750, 694378464, 335313877, 664000842, 345973516, 193572911, 53658583, 572735020, 455780514, 207475216, 382979891, 546853908, 904942686, 148453536, 168026680, 725089407, 884653965, 397374199, 754332410, 930458399, 81433263, 358901394, 932069180, 822095795, 15478859, 53618157, 163913336, 589465545, 699911102, 369176083, 389734260, 297286905, 346015408, 436840150, 983577408, 124751861, 744042168, 264289443, 817336518, 186061838, 264281459, 844129782, 980365116, 88336539, 187456075, 646027049, 62393816, 881615102, 563526803, 424091680, 766019808, 415377163, 40203419, 450334439, 780137214, 703234779, 902076179, 424551950, 982543866, 145943469, 792761638, 337071902, 294601155, 225846022, 757835586, 944644009, 374165140, 135662058, 19333313, 775957725, 688783088, 502102136, 556323521, 963160517, 650993116, 624240214, 121500429, 162156602, 865341414, 757040481, 786144791, 911169933, 335094110, 468697086, 784102825, 473895226, 908433164, 497874664, 982378500, 207196822, 146527998, 988465085, 72315827, 131313695, 239560865, 903916443, 222379373, 764518492, 956892844, 484888993, 303141194, 612000038, 99537233, 385767276, 668468902, 777603082, 949119083, 479213009, 120939778, 389692751, 128520350, 964071214, 775394854, 555934208, 321447658, 496139445, 304644852, 21929619, 729186654, 898944580, 130154205, 862377765, 532361841, 960274840, 87697759, 92547511, 213932097, 569528351, 407063924, 318281364, 431878686, 153722759, 286111522, 778389125, 97443232, 926091901, 353982346, 509009266, 752943549, 648695019, 334691917, 155291191, 702957086, 523831079, 603215273, 190552788, 965075464, 480217322, 157011915, 900463773, 415557022, 581292450, 349493192, 656067054, 213597311, 172596402, 830204554, 365700980, 903222265, 138829190, 638929671, 329121672, 646934270, 88745445, 947944609, 744340620, 388615427, 465841633, 961656894, 344420877, 519749220, 492525912, 609983757, 799634152, 915960572, 16306646, 367220758, 419834309, 457692857, 879808923, 9650003, 997398341, 202991938, 567567907, 262022597, 196450148, 763650107, 799265787, 234512500, 721566736, 743134833, 864524131, 86573169, 906657119, 701999882, 633429822, 398818878, 96594782, 137360881, 443381463, 924762622, 666292413, 223280225, 584705117, 474617276, 422798247, 975914329, 922490077, 550580046, 792015382, 623435513, 786158472, 451638786, 420033855, 415767808, 571838505, 959448406, 753931214, 921529478, 733846152, 111232707, 275168860, 910994301, 824763212, 820475895, 283013489, 446586673, 878370222, 105919726, 146971656, 368556877, 138641184, 207380891, 24118926, 676459930, 103535822, 90698283, 724961415, 377234319, 242405420, 861604468, 896161634, 656458085, 450665659, 881843021, 712144644, 804745277, 718002466, 471447026, 628093410, 538579229, 250266129, 793916029, 192988879, 869603398, 626401636, 275364516, 937931059, 609606519, 816523177, 572563698, 634663801, 201733274, 726004290, 772024982, 368104363, 547783558, 375173589, 327135758, 327727768, 17466839, 288279736, 650921627, 716651323, 660243909, 570538392, 823189065, 284646686, 729175032, 334855448, 821180424, 2802067, 510315997, 253583747, 380170906, 493291443, 145238683, 502432938, 936767632, 796571356, 822221940, 412601902, 948382658, 730205716, 731167793, 250791952, 765783914, 462751085, 175146394, 993784463, 800978712, 311276857, 359554331, 296158886, 556719508, 944213243, 722096481, 984263232, 906248133, 374758397, 152174270, 523505699, 505013218, 962579398, 546920565, 275593647, 99887083, 794163613, 447475776, 471217016, 24730097, 393763082, 671940827, 772505172, 32494324, 461312382, 922290702, 806752987, 907635597, 27320297, 249596005, 804977356, 919514430, 896367091, 183673565, 291438266, 43186439, 93730941, 391579190, 964179289, 289451021, 634091093, 408586728, 533864518, 796335953, 210100819, 981626717, 72379722, 184362745, 767146031, 907965341, 669382530, 210171521, 243118983, 561711745, 490741474, 339704535, 361140192, 1492091, 275428681, 889548869, 342322667, 352779398, 980351734, 865851057, 199703448, 989571900, 774233488, 150615903, 774900484, 176576510, 209367381, 339096529, 252539806, 781278348, 67151951, 89776918, 118104305, 338340156, 579509451, 432069245, 127547543, 43411118, 810586062, 454669773, 281241119, 129404157, 201701607, 929275114, 196206043, 839011142, 109699012, 656959494, 948198413, 298790351, 571124056, 50950529, 133138547, 819784822, 886817092, 691775345, 68198336, 810072828, 826926712, 727136039, 215714443, 753975834, 461242949, 191439151, 525083364, 249365824, 799855014, 479546909, 6736626, 445680725, 766578252, 459752895, 118629426, 603358412, 600206001, 285421332, 921484607, 163333386, 31595688, 444019583, 230549546, 830870443, 814081822, 983082150, 391330298, 424646326, 771892387, 753904506, 105653121, 651855065, 757077981, 95292268, 796855827, 428305234, 372391860, 574507465, 436431584, 98902255, 383166756, 189161742, 875318146, 760721257, 638570674, 923909471, 341436282, 906666648, 355388281, 1552508, 857161739, 190108628, 509452101, 701584598, 787820104, 189643066, 46668848, 73347089, 759146854, 513488423, 433603202, 789116030, 660237852, 374006658, 647376108, 107314730, 257925290, 368714463, 48083655, 28613259, 6726749, 724281045, 65930975, 541958311, 619864818, 587313946, 972959802, 484063488, 69529878, 59809472, 655804248, 890366172, 596853805, 502903762, 112506243, 788160518, 927778573, 942764132, 780393203, 938450686, 406550907, 405181254, 692438474, 997052176, 196851952, 702629893, 873819768, 226965963, 24397334, 244723167, 186793621, 75270160, 224129753, 997437931, 803455744, 563571719, 855666295, 870071203, 52564588, 156693985, 365770776, 761141562, 111063690, 433184664, 548134058, 806975851, 615600543, 226366561, 429566052, 403553333, 103007749, 413002808, 891101167, 27089778, 516784082, 605403881, 246644594, 742070222, 684241926, 345070232, 427638317, 212981881, 238180821, 340611109, 757114088, 539023118, 72286410, 208188618, 202053092, 307373484, 411281589, 209512566, 546140563, 273126999, 95178151, 917980992, 345859516, 58479547, 792685291, 609276539, 495663142, 816724340, 262897882, 659517977, 656902943, 708711044, 230250513, 994691569, 403138354, 136383557, 690433213, 729858818, 555390020, 436876491, 817105078, 147064592, 153488875, 963170855, 938496642, 352480373, 150722873, 844977207, 572807970, 123552974, 670722571, 315708145, 451371417, 421577638, 293434273, 153472662, 520996803, 14056604, 841441522, 260978769, 218420189, 805493781, 658290344, 826202976, 705748740, 666222351, 847056164, 255369891, 946615161, 552211193, 749471527, 756767129, 286350008, 433915671, 174695430, 150240448, 330682096, 226971796, 556489702, 684022223, 137298791, 25728319, 671042156, 606094848, 368444890, 211196027, 875667173, 620873005, 574327233, 972880795, 803264579, 493303668, 210409686, 862146128, 864585972, 462472625, 146889986, 161589849, 870620502, 391012695, 382701349, 438549828, 974331395, 408774142, 757913051, 893572251, 107484192, 658234699, 825635127, 96373809, 416038634, 963918311, 528459223, 466055442, 714762391, 47336553, 621247679, 198735764, 409287645, 660701472, 769072616, 666519174, 425440906, 767213065, 87716521, 663268832, 793226048, 824746885, 540733498, 84450845, 996231148, 272941412, 70551939, 649751848, 43169737, 919120394, 694679396, 711655537, 333078717, 856265192, 460102141, 585755922, 959023129, 931014036, 80599607, 142715222, 963700888, 382487681, 818137890, 937829998, 393686907, 375452467, 68338889, 400132519, 664659686, 810726954, 474340718, 424025482, 240201820, 275264120, 65059612, 961603699, 505816354, 416812761, 165644894, 796406808, 710850863, 649801234, 318915736, 354496873, 140656395, 14071639, 515590293, 119476356, 656824504, 250978167, 426685564, 618448995, 503876928, 802265297, 293959232, 327448115, 309985852, 163811614, 771939332, 672303320, 494045774, 824726801, 811712513, 764347343, 931935973, 874543564, 646136989, 20729020, 403436078, 727746174, 435821899, 888730093, 113898913, 203874866, 761107934, 316281962, 199763493, 388143131, 956729042, 557053384, 265488569, 645704257, 4606082, 246123177, 9854280, 408209449, 957073192, 154212104, 250197993, 548210862, 910089567, 491116296, 951787882, 477701925, 430555999, 500589863, 231117397, 72930961, 147351098, 647339706, 394937734, 27721541, 662496499, 45951511, 623398763, 234257021, 745083343, 963944348, 844047203, 983996418, 453983561, 957069252, 70090615, 590493392, 890833367, 196370932, 576979417, 63479781, 747704188, 980251308, 591684866, 833107416, 2710590, 253912397, 188847742, 243417088, 229930609, 742333277, 411053380, 779066954, 4787270, 918188044, 989309268, 34029295, 420291191, 58522246, 670607112, 122116289, 83877476, 648875569, 551614210, 468241140, 159026632, 584523587, 683525337, 186315132, 713588988, 535563321, 173504090, 912312738, 655690401, 714698244, 325724577, 78691251, 485042245, 757241516, 922331177, 286564132, 44393582, 657227646, 168503536, 772134337, 79629753, 368017397, 484872944, 278756573, 399930055, 59815703, 939557731, 33145407, 664164747, 342738931, 288492720, 575025398, 98154292, 572044892, 901942154, 691217820, 509404893, 322972097, 612199536, 742996970, 103451400, 390675180, 708144465, 881089657, 740602398, 321887776, 521290649, 18424152, 746599131, 478661188, 677187993, 664224983, 853945694, 458733302, 70692648, 124773153, 694353943, 683900198, 334935641, 790941395, 368337909, 54852168, 673303496, 955181977, 197018639, 726482371, 851948817, 515782238, 911758645, 84558987, 597312541, 861410407, 392848088, 138765033, 224971878, 574276241, 14036252, 145667919, 950983625, 18635585, 631730803, 970206795, 988205415, 148478179, 211869497, 407397235, 141669886, 663707398, 551316410, 906510897, 34940528, 188444444, 319313365, 883198667, 269042264, 411605033, 48648302, 30300393, 100364033, 852008910, 161591770, 682645017, 259123568, 203613672, 577823565, 133759856, 362432956, 152326223, 317763560, 43735739, 373690312, 776708629, 437903312, 561457616, 15776040, 782834245, 509804548, 723516663, 376887852, 706033051, 464661291, 7562702, 763498777, 747579779, 932294335, 399617641, 181986174, 261498438, 229635824, 645580927, 346191893, 878767910, 503076917, 310980681, 263085602, 153608365, 850136507, 223193480, 249775395, 961869339, 913126590, 538634083, 309656354, 237918394, 461488981, 658178518, 352735316, 923173593, 871851035, 665096084, 379904031, 676712881, 24956361, 994209719, 945939679, 983397843, 759677837, 71081490, 671316210, 158838660, 210018717, 940698206, 627535216, 855312770, 247358758, 308699773, 963660145, 370805294, 765492175, 945638651, 236189864, 113755186, 429234112, 712345254, 158845896, 170173683, 166191981, 738596202, 398658711, 491794773, 646298481, 429620347, 978457626, 28439894, 277168911, 425900721, 205481275, 795372659, 955143881, 677029879, 153835036, 256126056, 750660812, 575562954, 36531976, 891565811, 114833244, 584307584, 164268084, 175451187, 504015006, 621291577, 693911228, 749049228, 626534717, 516372550, 798310043, 872118747, 754688685, 453658904, 744065039, 727981348, 75904330, 580730377, 990227217, 671759432, 360317365, 128967524, 837571367, 632359021, 834242936, 829653444, 905178234, 883077348, 443201033, 69666873, 300330986, 646916033, 606461178, 630025471, 562328873, 850361790, 622304850, 9869258, 527624789, 33103880, 844526950, 601549966, 135089990, 115927797, 507479366, 616995879, 614485900, 20262913, 557545221, 99789685, 960608091, 978849934, 983289387, 928970578, 454740243, 204108799, 263089289, 442198142, 613199855, 688943862, 676118687, 424860983, 187352207, 665553445, 128903492, 349880594, 771001556, 577753520, 666835428, 658580112, 686233581, 535106295, 970120520, 153685028, 541842492, 978162748, 37205201, 674609266, 553309985, 809948566, 86956291, 301702076, 75226701, 663544596, 146147364, 196144456, 453415402, 826662953, 599743901, 616726011, 994673306, 606529785, 951100942, 48117285, 986105844, 51853165, 325205386, 519967573, 336091133, 460562089, 256955783, 996676618, 254647624, 94904735, 721156225, 993493842, 922505147, 40146712, 84130438, 5703133, 355827777, 2515377, 618679204, 952823539, 766814838, 429473343, 401107131, 171210329, 441223211, 396426344, 639276828, 16876165, 115010353, 358057655, 105365394, 70901653, 494656896, 230676120, 315324844, 150380054, 607455611, 795755323, 398471797, 344257940, 25863687, 402323997, 437059778, 271089492, 35138078, 69185839, 276451843, 810706292, 400725934, 195775964, 295022616, 475923547, 332824585, 583025155, 580977409, 564299509, 774699036, 536851304, 135184280, 538421612, 720523426, 180897425, 186594233, 32461912, 907340790, 586680285, 383312849, 47627375, 621462089, 395311321, 21695493, 965435916, 386407228, 202188965, 589325502, 866496911, 854138380, 153251773, 650558885, 713537292, 957772667, 691291548, 803831056, 612488880, 549167029, 11233035, 238536742, 621021943, 848548046, 641798825, 3391711, 618369690, 709984271, 128189469, 255510771, 347343327, 362788634, 304728439, 461001130, 926955794, 399279702, 742404991, 400904250, 281403168, 32490530, 725635491, 867977908, 630330005, 995783789, 956656453, 867684692, 983884443, 635886186, 677258647, 108200360, 779149596, 416649707, 773530798, 398741137, 964471208, 308787949, 471238730, 765974342, 22396445, 67426068, 934593577, 626643543, 722797113, 557705986, 676768997, 794901550, 935855596, 87184173, 572911211, 241702689, 602955493, 451619676, 526922704, 72312673, 483419473, 773039183, 716357966, 990719751, 604402078, 404000186, 457041376, 525627839, 57250630, 328747598, 567899507, 221876402, 372731893, 322858830, 295408240, 622071280, 120503779, 665543273, 103402760, 71517837, 280712452, 959513822, 881088925, 975066451, 563341997, 670781016, 639793070, 208927632, 927436184, 551804264, 356168669, 504794649, 7126714, 915070609, 967519480, 978787554, 541501555, 509450625, 469043945, 594954787, 711109226, 967503994, 526894109, 445847065, 903799922, 543558026, 735220848, 766053353, 43490294, 32657429, 584293534, 785070969, 25144769, 681194232, 424252182, 477108645, 640444896, 997313871, 821057561, 445584187, 920263031, 490887519, 968613229, 556239735, 813869378, 306087779, 719250517, 308149742, 238817571, 867435060, 276302935, 318190715, 609656922, 769393215, 913946778, 649267127, 336683925, 465237994, 102982932, 777891362, 736182500, 158164002, 261767974, 280407431, 149912876, 816172774, 225254603, 331863566, 297234861, 78688298, 592634432, 77982247, 914111561, 91724120, 768619103, 933157867, 791402838, 914651644, 905435238, 251605750, 771620880, 479092146, 247701243, 981491666, 753466591, 294763002, 19439880, 263788876, 616072077, 889960074, 408185349, 413099398, 480903362, 871254893, 833632417, 411306594, 113446433, 156301961, 662835838, 767760807, 860764586, 177069026, 496461872, 1967470, 647276221, 149387039, 419297779, 917523857, 390368274, 965379167, 636853543, 373371475, 751662692, 424191649, 264728098, 439966490, 605647016, 274906807, 578362947, 977655342, 843123578, 523971585, 812631221, 27945653, 915304562, 774451488, 648459481, 844212228, 814938405, 613389439, 743002170, 237284121, 942417196, 363329817, 676493818, 493577278, 305626217, 796244740, 194785829, 652150137, 282222783, 634259602, 112213119, 781370741, 539761832, 770393391, 489324281, 723173175, 266598105, 883139561, 79678408, 136406457, 652428010, 62661023, 519252276, 17280380, 45506146, 473299300, 653000622, 369402821, 822653141, 122600451, 861784100, 483671934, 56342652, 172106883, 214312186, 949552797, 477432899, 513452277, 632396696, 77315834, 142722131, 873936826, 322655423, 144515158, 361663562, 120667427, 398616915, 672323307, 403655640, 16673381, 127377289, 371569112, 162841716, 196451433, 438522874, 715337878, 974589722, 749068386, 76652897, 762930001, 91141545, 651209270, 579140114, 519484576, 931986403, 958900604, 753830909, 285953606, 752951300, 975369873, 606337318, 390809785, 150863219, 927625137, 264209631, 120355376, 52966216, 150866754, 121431631, 632370851, 502936609, 573197680, 661108341, 518299291, 488821545, 858002268, 62681268, 640128037, 811783333, 314107774, 18190582, 799805008, 290858731, 281409562, 814136758, 686000884, 713903076, 606192, 73716660, 809545714, 502652025, 518163688, 867427286, 460780077, 337446057, 538415454, 101542486, 969544336, 984974001, 134428804, 683648965, 375164499, 4561897, 790449144, 12315856, 208766108, 635721860, 447502872, 947759477, 447449610, 638870044, 750627570, 6547951, 468368068, 123634082, 704330188, 123655053, 754808280, 748476466, 693146619, 632090131, 915488369, 641580158, 149082612, 165167345, 942792491, 281283178, 996089163, 113960713, 271273337, 834143664, 116384634, 433863875, 691554064, 13357536, 592451422, 93519743, 273224327, 979177858, 459723903, 930366080, 764404539, 14984833, 588050363, 847324074, 780319482, 662883222, 263340720, 479929873, 867733240, 521984103, 91487315, 720965555, 186938014, 433995404, 634387018, 255425533, 51525599, 89886888, 84051468, 966491644, 778736294, 803383390, 505843043, 282612228, 986681104, 376246925, 386298775, 420007209, 730205522, 996302800, 733398392, 539286741, 54065485, 678780138, 43460905, 37982265, 433348638, 933299958, 649829268, 394777290, 816605176, 777531419, 56597346, 631528598, 829847932, 469804963, 39120459, 94530172, 575975945, 939099397, 285197903, 330781878, 718886003, 452952715, 100083001, 136125668, 465530039, 368271383, 473510210, 680562285, 164872454, 264525209, 916817832, 280924814, 824324073, 727676853, 779688913, 571628126, 863457021, 89767791, 144830634, 63839523, 504488092, 50078536, 5866316, 451317500, 835715564, 693367175, 226302740, 837375272, 384654270, 994866545, 464274556, 254690610, 708666299, 640476607, 987471344, 528603916, 873120665, 538356910, 630019134, 935065777, 259215405, 824781475, 974267830, 214141565, 990177143, 849913179, 444913463, 970158812, 112708697, 485838765, 766112238, 456111192, 182720096, 217034903, 578451283, 436990663, 848519827, 43949049, 868062073, 663738299, 649989623, 33067656, 514087163, 3404513, 459568434, 597499932, 475345638, 523827655, 913601954, 600212168, 467830828, 54532703, 764604709, 546830917, 375455599, 806075076, 449053123, 726270121, 454747908, 363545316, 765635816, 14610182, 654141700, 652431028, 107558672, 527408291, 946180718, 183993659, 770335749, 292954462, 867589710, 534150549, 713624039, 255391679, 445226826, 467163088, 502589796, 257208907, 480538986, 125156225, 225819155, 962875384, 346515889, 395843668, 626255237, 358743739, 991197081, 610008229, 492623060, 808175230, 152268706, 467720480, 538800294, 949818824, 308479371, 712749360, 845948629, 879220892, 834371003, 304280752, 972880378, 810108938, 213643486, 230463815, 776576899, 566755121, 736955426, 336604917, 296186004, 743748503, 118072501, 467396593, 894859190, 677063186, 236193246, 166285671, 430255389, 783531200, 199898916, 375080266, 825424649, 400776076, 289962640, 684074679, 78315444, 260409372, 955313715, 650934231, 532528442, 699898078, 954270778, 410118854, 205491399, 474009888, 515230713, 357531003, 770434543, 988066357, 218841706, 765580082, 193639212, 6182112, 999829846, 38817972, 225137001, 12621020, 620909136, 756620500, 677556644, 956241422, 431122797, 252449336, 755781640, 782804971, 256309685, 136501538, 555731573, 803287621, 405426206, 223622863, 702551503, 659432291, 915302865, 491718680, 947013241, 684836500, 299653454, 256240006, 748497551, 714769840, 417584559, 812203015, 438568729, 276637737, 120913688, 654841809, 668488810, 358124727, 912795711, 705086173, 738615318, 890113471, 855343573, 843679607, 943149805, 124830436, 947959983, 983114091, 597607999, 220634407, 260180013, 44538053, 228215333, 871809831, 106994991, 612372310, 162440921, 763268514, 762965961, 377758241, 927410412, 703651843, 931812756, 772804023, 249984473, 329518655, 219993413, 731264596, 383485082, 640086431, 901497234, 150800448, 564395782, 638406724, 200555862, 228946079, 553009431, 656123218, 294477751, 740579017, 504480826, 359726534, 860772049, 911690810, 371667482, 283679424, 53764656, 217058666, 528582505, 732847830, 504282863, 431235785, 899440649, 471203214, 800103316, 35611674, 882535124, 110375797, 727351995, 872502209, 970112130, 138533971, 583349061, 220030044, 5416574, 185754639, 319310377, 707868458, 818221979, 256158595, 433958612, 979679983, 393635920, 408933769, 9099377, 490086624, 976066555, 892060440, 148072973, 216053778, 501566380, 966145121, 311456958, 543874487, 553907272, 145479518, 235897102, 450331290, 880020444, 365695316, 113724661, 531369327, 353377087, 800463610, 591011185, 996972998, 542905235, 98957641, 81739427, 426415373, 917297851, 556113373, 819666242, 349073140, 241391289, 266308315, 509192985, 174563849, 236269436, 55614276, 325335270, 264402692, 523303290, 322554396, 770348554, 44454205, 624437376, 117957931, 263822907, 40049648, 578336095, 550169815, 179053144, 63808258, 479358326, 993642577, 444549990, 522957231, 295844402, 44498165, 432606975, 485531175, 188640805, 892795383, 429140820, 795380542, 572496030, 607154383, 889934730, 490802770, 992433470, 256549098, 372955817, 971897931, 303917264, 100389122, 226716546, 832417791, 411895537, 168930761, 391616670, 490500668, 335647608, 204865655, 984575269, 27412463, 20993610, 925673848, 419783875, 678227074, 917222249, 17650542, 751107998, 732843062, 609295784, 61178307, 246252587, 546280045, 366786078, 528697345, 754704091, 911344453, 822285867, 8798692, 236778501, 612151801, 987197147, 380816568, 567140336, 478984405, 806313845, 356922112, 339722329, 455735675, 544742781, 956241581, 91449946, 614968101, 861959000, 623757888, 840485470, 814858456, 683932285, 1385679, 835982026, 940202734, 833887248, 384716235, 997789028, 629252526, 957825510, 630036502, 11661576, 766225667, 251889178, 582694958, 639198753, 312650761, 190438112, 678483831, 493833753, 170292308, 922050038, 666838217, 654453834, 113589040, 985025172, 90119625, 470649374, 127376024, 371366583, 693097567, 249040620, 192877184, 281402280, 723313755, 992249522, 919165343, 170038622, 254353127, 395900670, 208814127, 949762827, 868537028, 53114535, 44652697, 682524468, 981241013, 757313696, 770534551, 735768044, 73135185, 610538966, 615628476, 226461766, 578719860, 582220936, 383220444, 332632326, 945623459, 890561075, 63881117, 790107139, 259753597, 842131942, 19954260, 354974138, 406548062, 484313180, 429911148, 417551714, 486990344, 737185635, 228700021, 367709442, 155131483, 574045628, 177383762, 516903486, 903026191, 487084537, 474617619, 542148321, 935939961, 579167094, 715941183, 772458688, 104269441, 852263402, 900923938, 123581233, 51385276, 163070386, 426110013, 662506499, 246286829, 288398547, 639851116, 726258471, 399495365, 855949325, 341174698, 441153461, 205107252, 652814726, 239012581, 21955004, 798554415, 430694133, 63946203, 430830233, 217697223, 355209691, 425048988, 513844942, 121919454, 321856924, 770297060, 115309869, 61016035, 250029910, 404078120, 741938238, 381238538, 686975157, 394990783, 62125365, 964963347, 748166624, 29418056, 316271505, 677139924, 466031284, 369693760, 237704445, 765150845, 142874839, 645946534, 775794100, 991681516, 880307167, 37390880, 88946583, 721688680, 276529861, 772895471, 269334273, 277226846, 717202693, 532507998, 645621038, 8780143, 254280976, 677940495, 160914872, 230981150, 74170057, 231765218, 611040700, 969419367, 270040499, 844448868, 388101260, 684691753, 416130056, 635596863, 430377717, 826940175, 968934185, 420392687, 944464260, 898610081, 140416864, 823534569, 855608973, 85717796, 860939467, 740624616, 514603854, 583337932, 467514008, 99297160, 573764496, 937179181, 954346195, 305579439, 47461693, 204805773, 684730479, 435385705, 728538883, 970911989, 282375483, 508399201, 353237527, 14040504, 434132558, 171486943, 690948290, 487643297, 76573976, 320986611, 744727570, 855070871, 661450580, 131396468, 639652384, 64502617, 401906750, 730636349, 106468700, 841558275, 100890226, 792728305, 30912042, 202609658, 883469325, 616636608, 761152990, 468300831, 511065486, 832592958, 191098389, 852369459, 797801965, 849746382, 650456804, 574873000, 854192174, 231758425, 434865996, 347025128, 687064686, 465383702, 505387483, 559158630, 15275208, 147184095, 681595722, 896496589, 795510639, 323963267, 367029570, 872744283, 791776663, 717503489, 234095753, 20965904, 246411366, 927362066, 546859143, 859020000, 967521367, 119852568, 457834647, 715915837, 122853008, 422228098, 930345800, 744459850, 304987084, 869429378, 338028407, 636825162, 288811097, 401004277, 756399550, 28835815, 76491469, 238168935, 824371829, 827516668, 823920307, 878637257, 248519989, 146599457, 579080937, 772354956, 693846473, 594592596, 185659986, 709083702, 740735174, 540296453, 654856090, 260045363, 553151113, 930775741, 421717718, 665735026, 531784691, 87358251, 169232376, 591198138, 806056152, 916294341, 706437592, 125230885, 882765015, 69660917, 925499868, 491067669, 816188673, 573395925, 345923396, 920510163, 299568792, 690220180, 58703822, 812514921, 143418081, 713276219, 825717884, 998069420, 19233691, 903935102, 489429274, 483931841, 775878292, 289212139, 446767246, 812384057, 756703726, 970047709, 633539171, 468386460, 685012224, 194146785, 626550429, 446531143, 329595827, 623472619, 17108285, 398118255, 220518765, 461276180, 125034455, 528947186, 195598010, 377622087, 489231445, 764453427, 241480238, 959241484, 602012649, 130162097, 221247166, 540812772, 58563463, 954073586, 275129549, 443419344, 597244228, 503908780, 13773093, 62468810, 877891030, 330971911, 84481230, 596904543, 327402620, 354473861, 826006403, 436543613, 156508849, 559359016, 640480336, 520641572, 18345194, 698560279, 465310983, 362388894, 84603838, 533896070, 27363084, 776286848, 877874114, 647555782, 578503761, 419807523, 114052675, 135861914, 270728353, 880919726, 387192045, 65483233, 638758450, 239144986, 608033417, 781778894, 634483537, 799671925, 772364412, 989022392, 590764285, 2041726, 111604821, 749597421, 919811901, 727154960, 515432298, 540472116, 47348449, 582112724, 8797571, 705989359, 232515783, 663939271, 44706790, 573881608, 641063149, 987137732, 53813933, 38985032, 912746145, 811866519, 559212794, 477386330, 889757927, 917197990, 301069465, 21643977, 35063398, 421312857, 906059411, 607463619, 187639181, 349354980, 261491162, 49664313, 948652998, 896888550, 197731544, 15575590, 258067760, 933473217, 153768434, 218407740, 216226508, 11509884, 151253778, 56028803, 653009152, 907495486, 475439461, 938117461, 709557836, 858057554, 577229903, 491427803, 660051083, 226492765, 732254749, 527743189, 37234985, 830231723, 381851422, 457360622, 189079212, 148125801, 465205887, 188909966, 998923514, 156867690, 684319891, 150885000, 732954249, 102032033, 4170668, 932976628, 72825668, 893715794, 664579810, 823519902, 362874346, 789941458, 700889419, 449222459, 76027282, 14826403, 491201468, 207412457, 336869314, 495506182, 102706449, 926094642, 749169489, 154522476, 140333627, 512520949, 381098660, 272962628, 850575111, 740393110, 275808858, 723686592, 934154229, 752504663, 637711406, 631553648, 914584854, 384905937, 952340868, 544774184, 383895526, 911536340, 386984066, 213377779, 354048235, 929619769, 253904654, 349293441, 674716016, 304483313, 815621906, 556541218, 507152990, 64792891, 491120647, 506684519, 44694520, 554762685, 959554615, 433820739, 291309773, 359534351, 654586634, 160199625, 9680160, 456496318, 278563914, 256699168, 241463113, 894446624, 893524614, 202542392, 176547309, 66110666, 598635921, 275406101, 970962117, 747795964, 985190378, 587265430, 156880567, 406938102, 26282774, 757744484, 959510774, 837398858, 405006361, 474584255, 864058695, 175142671, 820176309, 791127188, 257518563, 667173348, 425320533, 68640476, 485822957, 895738525, 992421315, 398827492, 892427602, 742523135, 690829863, 156425761, 769510369, 976480094, 93623060, 794603604, 995543799, 940465855, 672717595, 790313189, 45685448, 559932321, 510865847, 729418961, 571322404, 363885486, 824655175, 105849989, 920313492, 824778886, 881888508, 124834367, 493003733, 15032328, 306536766, 328038942, 102609133, 686971246, 257882027, 359504291, 31617120, 227701979, 835890921, 932299089, 508716075, 279410045, 736467202, 458983315, 328445255, 269504510, 649154694, 105628694, 771543237, 459424123, 686236650, 277649879, 88649697, 551232128, 223469813, 608461064, 675238141, 672352664, 355682173, 93597840, 123462868, 141437231, 661455137, 41904332, 422399219, 969304707, 114426365, 206539744, 641924729, 75767326, 312967299, 784324115, 533688237, 896000321, 283917925, 68018503, 56012669, 518007057, 600013795, 310948481, 758418363, 899022098, 482610314, 798103275, 763057944, 880617519, 14250564, 388601764, 33550135, 798438866, 583703112, 326205228, 482778920, 261817144, 833737850, 663389544, 718588765, 136218069, 4953322, 866027467, 396553988, 843448360, 926194524, 757031737, 911713831, 967476602, 788141259, 673977264, 194444962, 659727348, 575542379, 639801970, 617467828, 669445340, 220218055, 907025509, 936140086, 382155481, 990538325, 331759067, 142180824, 213245191, 532745655, 385999932, 244821905, 652585086, 949744661, 367245956, 270832076, 449404732, 827166928, 122917215, 668669008, 59405730, 6696521, 875067417, 230711678, 438665480, 72113418, 55198410, 652536466, 988362454, 931795630, 54378475, 281964775, 793162999, 555342961, 415926582, 130501518, 558179106, 44421753, 127870158, 834926084, 770410045, 385760405, 128232271, 509303047, 309682995, 72685705, 237269607, 482759224, 624009987, 667373999, 867908475, 770116967, 791745305, 688359857, 46263888, 82005801, 882875506, 760978928, 55413679, 97121239, 977862260, 629986513, 483562248, 193233360, 494238027, 585811377, 88604177, 687670958, 569391353, 223005981, 861365038, 716461273, 166074848, 78175080, 141509209, 404950774, 231337253, 840968587, 451060805, 708834645, 985492625, 164345462, 348138220, 187891243, 317336305, 129375447, 422885941, 443891922, 187164157, 505910032, 516425469, 804631259, 906092744, 949036893, 461569001, 370127219, 327739991, 718625240, 304163606, 726297508, 185492865, 704002542, 130385897, 178505901, 612390585, 988472490, 937607071, 143418979, 532875685, 626658206, 8951819, 969275345, 59927819, 691130078, 529155741, 335337793, 480922163, 554870299, 733785909, 971680833, 615669039, 648444434, 358841912, 810052133, 622676873, 214834773, 437644589, 491391342, 822947194, 227392517, 823159975, 552034067, 620881749, 908215781, 185596578, 42539171, 429828469, 721359929, 120793269, 352070572, 26811665, 852205314, 560045247, 872742384, 301694852, 607554514, 125725691, 56800915, 431883841, 21194302, 840559732, 244266257, 221184415, 680295339, 13716355, 195800448, 374903223, 874100128, 89461052, 309822724, 954181111, 958404567, 634344628, 455330391, 521400891, 151108530, 622819169, 784064615, 934467972, 534643677, 643600182, 127632778, 70474355, 783753554, 551739347, 605064317, 156875184, 799704303, 581320320, 557070811, 740110863, 66672258, 515254066, 255210469, 414074913, 12608319, 91837375, 784284699, 136734385, 581034909, 591439825, 469813336, 194881762, 865626410, 893764737, 466223849, 732807799, 585147684, 545801413, 457639956, 501044651, 85731582, 207014085, 661312307, 776644362, 476225466, 996053063, 45585026, 592563789, 131247311, 438467448, 294006553, 5986712, 762063875, 643155397, 716269180, 632023941, 300266563, 881774471, 122075665, 682151338, 49478996, 741597167, 898956009, 835189495, 299491917, 997034727, 20019196, 549758762, 554643092, 62352635, 610256036, 899838683, 500148441, 179719540, 678284757, 456340440, 312459988, 717001819, 884271775, 24979572, 157322673, 594712926, 225534024, 153494447, 644861510, 452740771, 745247483, 848019632, 17777765, 660144488, 898921162, 184627364, 811551927, 470974666, 72980855, 539738482, 634923280, 750960345, 69251269, 353791711, 863293001, 495568231, 139360778, 107894433, 717982599, 640665966, 555442610, 64481689, 343947411, 419037862, 656902474, 76428490, 454551038, 531978934, 539700942, 593775854, 508010918, 406452109, 799640098, 363954837, 515768855, 764593154, 668208233, 517433052, 338922314, 170978082, 746058479, 304311024, 218442722, 380964613, 564285422, 368651503, 770406142, 177611943, 192261558, 939237950, 483634022, 170343673, 172789035, 847638873, 28397164, 634487801, 727994094, 119491012, 692203250, 85504094, 795902853, 399097022, 574338673, 526159363, 880850898, 81988922, 426708675, 502437475, 719784979, 274380272, 174036380, 609257648, 732179053, 461602837, 188699107, 885187277, 758806546, 60592142, 722002147, 581743710, 603130746, 227647715, 616263487, 215556760, 528962867, 415061551, 247143919, 521236180, 231152612, 144366039, 750765831, 873545373, 402406489, 859910452, 130132680, 520914988, 773806273, 683322486, 750549758, 614399078, 605706419, 613453984, 956001755, 196958797, 444648712, 162721763, 913471365, 352279143, 210772856, 816704694, 101871963, 531667821, 152871994, 833037393, 126695336, 36322964, 975794669, 467946696, 713797335, 215125516, 147610087, 255444770, 946715932, 144970326, 566611750, 74118785, 376721539, 608860383, 858935168, 862911984, 416000620, 15871872, 606324981, 681010527, 80934948, 611799777, 338094022, 723158621, 49559346, 290108393, 193358902, 283455282, 213520671, 412013844, 293069518, 872726875, 470826011, 214153322, 763962972, 816265, 695976287, 112065793, 398217444, 18778668, 774335300, 195923207, 515041880, 457723411, 554313562, 952929185, 771794110, 274092782, 129721650, 59463514, 780879418, 433908379, 73096046, 398664897, 115827416, 63711881, 515819248, 897713854, 156149094, 673095876, 298935051, 935496080, 908452783, 233719122, 280783047, 427737235, 919177256, 133300295, 537731158, 377966865, 193518304, 736996963, 899857116, 764910982, 322288914, 4982265, 446374493, 607670579, 409438716, 536486924, 995596908, 843088917, 756832975, 371911910, 465384461, 986280070, 108986992, 250221094, 653252240, 89626954, 455323900, 920312293, 520559595, 677080735, 988898332, 309115929, 426295579, 370898350, 352318411, 59427664, 36824992, 733877007, 735999196, 516208159, 762393907, 844788901, 67871195, 518286167, 48780837, 619943697, 149456969, 928668302, 247236859, 255347648, 542759252, 361822196, 796090543, 246189727, 223100207, 906953839, 187345148, 166128637, 279799966, 281451872, 522091285, 428094955, 645154382, 467669725, 772951696, 833778189, 40670016, 402325953, 977518731, 920100996, 208889101, 818204558, 972179417, 926519074, 235557511, 41006424, 691619984, 931734423, 886767390, 280394965, 378802767, 899144862, 726324869, 111982908, 41553949, 87423339, 786924640, 968924410, 671370186, 164624998, 264861291, 611929958, 677783531, 385738382, 766039540, 536722249, 374502234, 461946631, 987219252, 740105364, 4475758, 736203673, 874999505, 22069171, 384185585, 444979921, 597090688, 857948927, 700788255, 603372676, 157124025, 793489439, 822105335, 890772823, 188273354, 69828739, 24667053, 286213083, 221443520, 856162078, 464599346, 458582599, 765591653, 549717306, 881408512, 611117349, 770814222, 776812608, 973229720, 246682670, 556242833, 375145236, 910027088, 2056811, 154042093, 289509103, 47608097, 188247453, 642009567, 112210354, 479061346, 593775266, 11462679, 612798901, 674833778, 502783169, 109810010, 400386324, 892048457, 988700955, 844556221, 91106240, 508742285, 646070255, 351783192, 785555136, 999200350, 866415756, 274904326, 797181672, 756401185, 312258322, 52049601, 204218748, 336425661, 224657305, 67353333, 377651768, 191164567, 23193253, 303846128, 909295106, 149048068, 298334902, 701150679, 388922346, 832730707, 630117527, 172099210, 431532276, 349537571, 741750697, 337254516, 20921595, 398132158, 223841104, 273735368, 758329234, 506627543, 228441914, 39149570, 282507521, 702422357, 459073302, 389241140, 511094375, 156678828, 709282348, 330602516, 179343426, 635526297, 347059320, 654100757, 871345285, 825728141, 222973761, 998175648, 579046657, 573814572, 290813793, 59654543, 245863598, 276027129, 554446354, 483124332, 550014945, 192121484, 668304653, 996037638, 668884520, 445414337, 961916073, 376670, 933192319, 284935345, 902685704, 921617792, 468932577, 901210540, 686613064, 772795558, 457828203, 360999429, 269471036, 772330981, 304338608, 799086649, 109286899, 65580719, 900176472, 921557074, 175091388, 899988796, 673630002, 880994333, 115678832, 200203424, 71590317, 184965979, 218522449, 858850576, 451724291, 898815788, 193180766, 295087849, 800205326, 408140705, 817684547, 966503754, 601999666, 255760500, 670041355, 639901938, 50928936, 785028757, 67556316, 84136120, 905042168, 130248134, 832277383, 492265860, 510839041, 763528682, 807739687, 663730873, 675490984, 726050732, 393980376, 200774890, 684825400, 851589719, 502770625, 411864667, 300932791, 484291002, 534410677, 258523894, 284049183, 508420446, 529885374, 628116427, 95407210, 652377201, 175867525, 505364354, 535233079, 319304209, 340513454, 670857307, 253495437, 359932474, 128658553, 6432054, 795573336, 283067191, 347875120, 507930444, 292858609, 109307073, 479496669, 69788972, 975094219, 453201515, 184535434, 426616430, 552979848, 771724452, 704403324, 611967440, 402084844, 470848771, 800866631, 804696196, 252345980, 785646167, 461714599, 951777579, 832857485, 64614137, 441486661, 584201528, 757948078, 436538439, 53019285, 661052978, 491331103, 834140408, 783519590, 97842799, 374565982, 669330025, 99235458, 363562158, 359617603, 247996537, 910154334, 974374324, 815143305, 196363075, 974510723, 212372230, 492889197, 704781036, 908495774, 614930959, 237799032, 7734522, 320770051, 340139382, 441882456, 516894969, 177809736, 829697676, 578084970, 95396149, 63420787, 590144866, 723830613, 509950366, 475220090, 414267393, 513670500, 859077744, 611110255, 564551246, 343229664, 731908344, 602944700, 568407067, 410294371, 322407393, 44142649, 40170984, 704837924, 706493752, 997462539, 702969736, 803076438, 450280352, 714162763, 728594983, 859617750, 601496784, 854425526, 100224317, 449553162, 696376668, 919761978, 998543716, 461954162, 379662547, 46337400, 819093388, 246201611, 837751987, 681828802, 701267543, 155648542, 591461834, 819792842, 84854908, 456768365, 694006046, 815531924, 50989523, 308639494, 156846987, 6258113, 670631743, 735546216, 406376699, 611459055, 987475315, 489086113, 466436225, 408111289, 749266988, 403217149, 109324550, 534269195, 598732816, 150141437, 89325042, 825864954, 90460775, 680645646, 205024963, 195383215, 908177559, 618675476, 489192968, 471458078, 105826842, 196699486, 316326244, 858145233, 736700961, 722634651, 442341551, 984289807, 165496575, 88977039, 387210689, 771420345, 135646486, 403992114, 564719937, 635554424, 727737884, 382282860, 632860173, 961077358, 378278103, 891088454, 387170585, 128473567, 679250573, 788208173, 734122724, 296404628, 325204154, 329524657, 352898356, 361788549, 903227398, 192492318, 868464616, 651992780, 474006264, 616799479, 882616451, 354848233, 284002364, 644671967, 313989886, 583854412, 403885157, 917844188, 319840965, 826989946, 997156529, 935942458, 964737829, 111415641, 971674232, 166315697, 149423678, 108791449, 642733005, 113330798, 881969144, 540357919, 614407765, 778605900, 81037315, 817039845, 471294857, 747233214, 253764986, 348560123, 127203902, 119847339, 705495812, 416601601, 472989829, 503332518, 765207002, 53937595, 504564158, 330898098, 750079026, 17870484, 470285230, 258987174, 779022542, 60394802, 864454671, 439422618, 604237176, 685309201, 867525316, 194117774, 424468217, 520882977, 49362841, 617532938, 266561606, 742055529, 40289548, 553801568, 168439617, 306975719, 693318489, 230451559, 291177952, 174826156, 532077113, 182123865, 919826430, 387232652, 253967036, 38947361, 676916124, 535377050, 148802522, 145257139, 534468216, 569242295, 231760834, 379622488, 887208325, 133565514, 322451992, 51312088, 579944336, 35096131, 91296534, 861569940, 842413196, 994874620, 259158913, 957388560, 491992498, 533650278, 302584554, 818617418, 47709159, 183625497, 104302983, 8028068, 679009849, 770818281, 349412626, 81486774, 632316416, 358298579, 119331658, 270511857, 399583584, 201801830, 125263253, 443106240, 150596445, 855631629, 784263359, 980086285, 219364197, 450818825, 261519154, 590803238, 522310680, 754941348, 717480997, 794834462, 514995628, 83718353, 907387977, 975341593, 714294521, 486348546, 37061023, 581529194, 757161270, 109570460, 594627302, 233217565, 992487478, 878530843, 981235469, 304142915, 124266395, 740695807, 671837324, 896037679, 571061827, 918285695, 595735822, 996185883, 422417527, 570541650, 78253144, 448384836, 125350451, 780790583, 663751246, 46559137, 141427294, 470591408, 466874071, 578025136, 521191451, 870799531, 336746430, 569510292, 446446522, 70676358, 969456420, 320555800, 26735019, 72900218, 838191096, 365990747, 254770778, 386360584, 396865214, 542109143, 623207366, 310601405, 860159996, 203480150, 145009431, 988511632, 134509059, 155247484, 792919274, 527023634, 701523212, 901940525, 704783646, 168519060, 845101544, 878971153, 547510661, 759010149, 246477652, 592174695, 963725341, 400301775, 453088968, 625342174, 576847134, 583961113, 98122792, 996597959, 572407283, 342832322, 939600987, 490188259, 79807443, 727194597, 895263279, 170878555, 139505331, 589427565, 181859690, 465849784, 440569799, 683138028, 784707863, 569774443, 800880607, 549086075, 527587399, 890902456, 518355904, 137068466, 855070213, 616439690, 210641578, 695423081, 494660925, 457004844, 532154531, 862610146, 348502059, 451920473, 632453403, 454357288, 997547420, 828931105, 918304681, 677294164, 327062434, 937443060, 126911054, 137876745, 214228493, 760574826, 444593428, 246715817, 351093284, 57986418, 360135883, 464561655, 276139156, 108485858, 870840708, 924697475, 106542159, 803774363, 886682315, 424528230, 773413771, 825618592, 196822031, 856920933, 163261058, 177263606, 118883302, 766104508, 765217752, 220875425, 696114460, 370219533, 933980380, 732387053, 786450056, 445625498, 393553364, 212366635, 19241616, 728009779, 268267521, 414418957, 88559233, 860168892, 619737951, 154251005, 894677005, 585410680, 594452346, 332162880, 104832024, 912045892, 360263950, 765777922, 472785973, 91929817, 761327109, 985676834, 952994525, 73237826, 208027305, 992065589, 816312490, 574760586, 16410936, 231827666, 991691522, 626622102, 493434383, 428013021, 171240579, 902209674, 314958387, 873629069, 713110321, 986311341, 825748365, 228891187, 207347140, 880813454, 836502297, 266662017, 931933268, 767142922, 490007483, 737872265, 127500352, 924581464, 703011339, 707438511, 264503169, 963810435, 227005797, 937917144, 739331631, 429506157, 46144680, 23886692, 693483332, 503726596, 76309591, 95481411, 125014925, 880992984, 516000922, 185671751, 41585589, 357466926, 580089769, 661246190, 199766161, 754736580, 838874976, 157417332, 78591097, 767501181, 549471397, 118455860, 628611210, 195751304, 376933001, 282348395, 667597256, 365516432, 77598182, 358635012, 433832120, 535210669, 617696707, 841959465, 173878295, 32405495, 991670251, 535789234, 819897799, 496897951, 978364966, 955988954, 957129160, 762007569, 746919487, 56087624, 537284459, 917565604, 633021111, 776297330, 662284351, 809490675, 475420768, 129786527, 277860543, 937784983, 696106128, 101522513, 730529454, 754843, 720008197, 446786374, 908673810, 27494410, 967606527, 853111154, 977952382, 387941980, 960808335, 661354639, 474249757, 585669168, 774925398, 48085618, 930154138, 241648291, 880052247, 417239159, 843142803, 820108271, 821245283, 507002339, 405559427, 873061001, 12258242, 57809880, 317673582, 164372995, 427890180, 841679580, 607954184, 523168063, 178374457, 908569258, 393798335, 287759415, 952692413, 193157958, 749341237, 52629794, 397158778, 211360146, 427107735, 238602280, 401545533, 694849809, 560502662, 443749478, 450536999, 147895376, 897555833, 549641002, 168681918, 242370203, 95141645, 719803628, 141292056, 268867537, 749680197, 141798557, 920421254, 443580839, 703113320, 948802303, 809889211, 350722807, 634035065, 741504592, 73979779, 324877968, 484712762, 364665067, 414962085, 192239404, 183802993, 30750249, 636515001, 887853183, 408244015, 407494712, 448189029, 64503581, 713578273, 403757010, 901640841, 717955885, 816497771, 195573130, 993747733, 521486694, 121906927, 662994581, 113915997, 447243692, 534307260, 747482695, 297623636, 866095416, 583216106, 745113974, 223108101, 642466775, 934790418, 388243703, 706331528, 124891511, 925107544, 239337419, 996141240, 223425211, 525059517, 946508777, 555314945, 867976049, 679360604, 689566372, 387501829, 370400716, 835392752, 787185826, 447774260, 172901258, 162552486, 325299225, 578923809, 953532671, 678577136, 130590412, 956815695, 767755381, 334072669, 671472517, 519173300, 189556151, 811054634, 237607769, 992996567, 623807422, 229282419, 382846270, 152678734, 164242400, 874829536, 170119239, 81759842, 168551919, 444358273, 735156364, 685061121, 761695498, 571897878, 285681325, 830965233, 157693404, 364536042, 293890760, 617589696, 786708294, 244427087, 688758639, 246126776, 559487937, 361860578, 255344116, 171369251, 854946166, 36405975, 959327904, 830705766, 782871733, 953304553, 284217760, 414156844, 280507575, 948733841, 488840114, 926569059, 329873513, 546890022, 917847209, 390330021, 540704821, 192901377, 913665859, 791051082, 73397323, 341003856, 860013973, 724774831, 137439526, 371284507, 399966268, 444471344, 49236469, 110357448, 587623574, 941244779, 417809785, 670431478, 866018382, 908319671, 517356464, 284066908, 542073163, 69424013, 446146075, 123667456, 360026986, 807865020, 20418345, 208067851, 628834175, 661131253, 81188617, 286627840, 219648465, 153617188, 44574136, 574287760, 243760155, 310492941, 164061712, 312391469, 451781368, 859675506, 295681794, 791058431, 216423367, 11582194, 102932260, 896205108, 51135650, 346178543, 606324598, 305867926, 182045025, 101854094, 185534299, 596619251, 356683306, 73760323, 586252445, 521033664, 37837602, 785919684, 43783331, 218827490, 390986635, 760911449, 724826690, 724320677, 645009820, 710074403, 781967923, 752050742, 485801639, 453989757, 574881277, 196601795, 337605608, 711069134, 879423608, 743771758, 85004633, 875343722, 48816131, 29902901, 544051246, 65232628, 9383489, 608325290, 458085559, 527250622, 424129202, 876064094, 513063345, 798219899, 971737428, 529963683, 489008501, 555686431, 511914310, 394567848, 733220869, 925995984, 659659163, 190671426, 424106985, 20830802, 593776785, 665545790, 616069529, 610343511, 779392042, 4839242, 567691936, 582203608, 305777028, 496531405, 800945095, 488066584, 916560553, 173832505, 12233672, 188272109, 478926503, 876254188, 211723586, 930957829, 239695825, 807704247, 47855523, 260913835, 962439442, 219552152, 903137442, 611926611, 539638497, 979439013, 682170298, 686628258, 983438932, 626336953, 262267747, 13290769, 338766837, 234683273, 564689099, 377265961, 413827479, 992185294, 21730707, 456068049, 495302895, 141611327, 741482169, 775323031, 550939543, 933907540, 111971908, 331882205, 61480083, 294645943, 622639025, 202254042, 30546334, 106548500, 118216662, 788329991, 241998811, 88991377, 576174341, 149596429, 538642387, 913221872, 867789613, 725051897, 523046999, 112363413, 910400681, 931277312, 451661054, 996596107, 6701812, 592830708, 715428621, 412691457, 38837471, 274653619, 672775569, 872015828, 305925467, 567933556, 183214067, 597060456, 761191475, 742660026, 210311126, 913211232, 338576291, 461616791, 785346389, 661318599, 892468402, 926273257, 932964984, 305368473, 537765514, 219992646, 650940200, 343205461, 574211103, 710654053, 351885579, 439903600, 833149844, 307336766, 554033482, 349504423, 207546366, 482793834, 643295692, 644952841, 549117130, 708529100, 853008058, 811696796, 951635248, 247399391, 387925677, 238474287, 277930532, 583964120, 899335223, 425278141, 858469699, 218721777, 681332782, 239154540, 200543437, 271571888, 896174550, 447727449, 647108013, 299469801, 754641269, 479877853, 88820328, 408658581, 236671753, 924945108, 624634302, 848989897, 832281092, 908604829, 28696493, 996506, 736362377, 695609280, 891105164, 590180316, 877976252, 961407350, 412747646, 49042761, 413552164, 413160407, 516634295, 310069347, 205616684, 554853465, 302214537, 445872852, 669264508, 240334417, 359261974, 896796015, 616621795, 737106417, 299280808, 574971950, 307423797, 10031937, 505320636, 139241752, 666189057, 925193269, 158026227, 148484416, 634691830, 675688334, 305886830, 377035939, 297778396, 938498161, 69441972, 831965570, 686675319, 488713236, 457615745, 474130204, 868110133, 731501805, 396895427, 782226280, 754946241, 131147959, 921633868, 800174796, 641639282, 511843421, 445986257, 974247784, 903817202, 229692401, 299476976, 210322555, 880201054, 485744359, 583144638, 965330950, 697786013, 810854420, 106013514, 868045076, 278396690, 438557920, 3247591, 712681722, 302026391, 455714668, 197128129, 862931966, 845792495, 217987521, 409815709, 424935093, 655586076, 54911805, 219503371, 104774887, 187427998, 840663072, 141845559, 146639514, 504745720, 581932644, 400233521, 695453037, 756280894, 300678914, 444606599, 119834260, 28554314, 213928523, 885234022, 76166558, 176026963, 230828566, 190501523, 165314327, 999220279, 176739257, 244846800, 866605316, 197548972, 564957696, 996236618, 613522554, 445932492, 96953518, 302975500, 540405948, 115926049, 268821801, 496859838, 664773362, 750199829, 315089849, 394976051, 324374495, 971214171, 540674183, 260160533, 324183330, 194629592, 377792232, 877732750, 239161914, 783645169, 604331582, 846041205, 957207446, 353585436, 347810386, 842675616, 754262511, 138115769, 820392184, 814150658, 842992508, 323097000, 692216827, 498446536, 212926382, 775888158, 390023044, 552205927, 890168965, 484293214, 705484134, 920166737, 815058903, 585066612, 812314863, 658139571, 24113034, 426484341, 37439199, 245641718, 569686860, 504494249, 547142449, 596411949, 460591288, 593340522, 746394445, 894462284, 926872992, 69191065, 878118993, 6548254, 465842220, 840931393, 574481256, 388038406, 184204492, 691735038, 948392371, 998057213, 297248697, 736676165, 50135147, 141313535, 136015232, 672040518, 131476129, 58181598, 913971487, 985765917, 447620541, 117327600, 438829890, 417742165, 374121007, 847939678, 67085907, 517171985, 542208630, 413560548, 549683980, 341393500, 29741440, 578518924, 495274439, 38632030, 50856796, 845993911, 648103506, 573726126, 955032678, 316002771, 594351299, 136805448, 654771578, 357638490, 423373754, 685437451, 681788068, 498636505, 61845310, 463363970, 166107019, 63839105, 929142967, 957219249, 265728325, 102356355, 330461117, 508168846, 146589862, 123017321, 512033953, 472971334, 99506510, 540327440, 471232148, 748289250, 902310361, 957877805, 89965225, 622996192, 293524304, 820356033, 278311777, 523690393, 602717007, 760021067, 208998931, 383422042, 304645848, 848010239, 458826781, 678373841, 402906389, 917671345, 724590818, 361514378, 808238586, 445679339, 472341624, 816669499, 735053571, 861641137, 696680240, 184743576, 640122912, 529015656, 62029650, 829984036, 310416984, 511557454, 553214656, 419588563, 153699158, 397506776, 920571561, 95058990, 865891588, 154124055, 691019041, 733986286, 360197268, 478024189, 729434224, 996788629, 390102246, 989600122, 995379663, 881324929, 806446400, 181702187, 357007775, 47787882, 509795598, 244315024, 297626368, 895350551, 950403138, 803647673, 166599844, 750541494, 280165400, 98495890, 463547686, 74820503, 797711162, 333092406, 283339180, 454594217, 140009347, 770953959, 23872646, 404443, 527575869, 134504366, 54674139, 495587930, 196385649, 639779431, 110239250, 78541970, 520564462, 791433474, 7178118, 372435945, 974707213, 707263306, 744955903, 624030238, 89108051, 884690706, 662837954, 499317968, 488509854, 391437523, 887145694, 424697866, 525195105, 312598565, 480170689, 181433094, 991874774, 720120943, 310024303, 262281110, 311110016, 70751808, 607151920, 250381493, 616571471, 513653079, 332384846, 11380037, 361983206, 898705846, 223057729, 733409108, 219351323, 362390041, 680780046, 372191683, 163981044, 302140710, 823205772, 470241189, 347245500, 317573251, 686219345, 4393417, 447914729, 229025308, 294676697, 220743599, 770936762, 829005674, 615192262, 28284981, 725578344, 118855734, 386614187, 268458726, 949756782, 343524522, 884210954, 394647946, 5164091, 272752949, 842055449, 290796203, 764980893, 595526615, 409635370, 819615918, 142177826, 462952505, 856034541, 170776380, 492791172, 105165847, 945874066, 408331700, 565491143, 119347220, 350929802, 851363427, 287566604, 130596597, 934386874, 429551604, 684178587, 648862038, 579368507, 389592140, 114343775, 214096008, 349557408, 331951265, 475048137, 523880984, 773868922, 920448469, 961938958, 488765070, 927087145, 322079632, 177126524, 491600030, 732351996, 284632456, 878035184, 241909035, 183892986, 917261051, 281847057, 12007420, 699565794, 702542289, 367305901, 117098421, 391168728, 750518959, 129756150, 928161377, 752295892, 559067925, 35382790, 698697005, 366764983, 777807932, 424411648, 389742751, 445539098, 430660668, 602259032, 601796688, 20170142, 90764112, 320061449, 158890389, 277302660, 561848432, 124706003, 130355627, 679780485, 956218892, 698924553, 431235700, 59776412, 552158100, 812886946, 921486282, 476566336, 102926012, 458788039, 593487071, 548681130, 499490335, 201256807, 225276845, 730696856, 497146055, 312935601, 916655341, 568918836, 291878179, 599133056, 372899476, 67944800, 575800584, 870700553, 91545921, 720144058, 672408727, 400461954, 677785567, 859832794, 69156649, 264324566, 404470408, 340657876, 541905173, 787313118, 112214223, 86730252, 542398944, 635222754, 59996109, 752843741, 484493238, 346585967, 218202629, 242936642, 662078422, 198819005, 392089672, 241126049, 322083175, 840432046, 671083381, 12891207, 727284436, 542104447, 639165241, 373283595, 28512073, 414492360, 356257323, 213407651, 496238731, 204651220, 982838658, 515552165, 292338499, 280374094, 989223082, 714034348, 779895717, 963271661, 131557961, 924956028, 199751098, 910355695, 543653933, 437931716, 20011290, 662053778, 890768513, 533625664, 93084107, 371468813, 645804794, 788655225, 281746534, 424607252, 915362765, 572944188, 896153810, 404761335, 312525630, 235366512, 769134608, 936125650, 251048612, 393575750, 964498960, 952421304, 741151702, 53243605, 193844425, 939942284, 943843605, 780165826, 525223775, 781139354, 212985332, 344421968, 377928711, 763657117, 934268667, 498303174, 455984482, 563094609, 723852685, 994997602, 280991411, 896344805, 900887501, 477552210, 266723483, 85755170, 937422580, 929174259, 248985214, 292288371, 396409516, 25952235, 837238240, 170476159, 451406830, 471654789, 797703969, 617172504, 155402181, 52158409, 396326781, 579120908, 179358010, 937019461, 771859443, 916171622, 453262266, 300480608, 61412118, 939392573, 400807471, 920309125, 617512211, 542858220, 786556018, 282035348, 966308468, 772315103, 37199510, 497795148, 646104587, 771628948, 231902063, 231263323, 592592466, 950052775, 558003300, 281266760, 778856661, 920334113, 270377467, 129827655, 918448283, 563936843, 943384644, 791592506, 714436524, 242477918, 267189965, 887526258, 880076783, 338700618, 477518430, 232746020, 211766808, 651143429, 781877258, 765662351, 799434302, 375172517, 739848791, 698750790, 812948744, 887592710, 267681098, 667144269, 278514544, 164358872, 385913665, 953595760, 223501577, 967550961, 55965858, 24976815, 714430587, 766855739, 946646223, 700981749, 111343680, 352378507, 587095402, 854814485, 866520084, 530498342, 463830950, 222815047, 691425974, 317837430, 182197208, 671366909, 916765888, 165605995, 965301160, 727914574, 367072379, 163148796, 772657055, 34023550, 67813331, 477527833, 714743145, 415346316, 380980298, 667395860, 351972815, 767885371, 807260567, 414080927, 631839066, 531257252, 459190054, 993926886, 247510505, 242906675, 659890627, 830090682, 697112256, 129897436, 315344679, 858418617, 795856276, 22961961, 474588227, 272356181, 526559987, 415376301, 605505865, 138276799, 794571631, 873411125, 508581053, 513567103, 468130720, 938281414, 325117383, 214315101, 562960844, 326972152, 944603619, 27393598, 682653101, 996155885, 135883024, 753930591, 325441507, 559836346, 486223230, 110342220, 426188121, 493997377, 740533938, 856612394, 326307379, 494140265, 552634778, 581043760, 469573084, 821327989, 225448520, 754907332, 917663282, 686189210, 482231995, 240193072, 603243907, 331925694, 714536952, 918417863, 51121503, 701857881, 785556346, 643424656, 579603286, 169678999, 393234383, 547946238, 577739057, 380081348, 165711389, 247753849, 47205517, 152293919, 149550453, 75240168, 336367874, 771723248, 831594450, 228577578, 754928620, 225915183, 924933793, 363620180, 689602750, 608688368, 10306509, 882645906, 571593407, 516252250, 924604670, 974968339, 132894304, 75532097, 748376512, 582621664, 523650514, 241043840, 485710014, 144970733, 247085938, 672205421, 750937458, 568949675, 468806446, 92363114, 137582163, 867764446, 556384592, 354676054, 930561786, 514253039, 309369120, 769795522, 805721211, 981708551, 569410441, 986256359, 711940828, 301151985, 708154886, 471236918, 963355632, 899630102, 510547142, 245033590, 585120552, 292772372, 4242693, 784366000, 420904976, 15118158, 803257171, 900588713, 300661027, 22029746, 902583068, 360428513, 869947507, 874458580, 180954845, 635156210, 990450063, 447801619, 134089955, 631475745, 965279012, 281325956, 938945383, 777023415, 876938456, 293853160, 255900853, 871422232, 108516845, 729349674, 932870676, 291257987, 150303328, 738186825, 678253142, 663448886, 475200739, 384970654, 76113939, 171277120, 610771307, 905876534, 249461658, 477111663, 892364215, 386770279, 422901558, 659055044, 186971599, 299251605, 234614677, 31361496, 337614195, 760317000, 982422779, 557716057, 832554170, 188210291, 475947979, 915246059, 419555588, 769759455, 16912659, 677726064, 124603847, 105878815, 645207123, 690414087, 799794404, 713518486, 524005551, 85357155, 823341753, 955945108, 8722148, 589349778, 773987838, 816900897, 460033205, 613513705, 907711180, 141208179, 953429404, 509560785, 878320620, 985288665, 195043071, 607299788, 86676328, 18401981, 182469000, 589503535, 4687993, 977592615, 19339584, 973630475, 169271938, 73465887, 406712478, 273362136, 603552587, 951179986, 950124461, 857628958, 368174111, 268785239, 364952123, 59162431, 715020880, 612564968, 708500657, 379937175, 534921578, 520295382, 530339466, 820838669, 698729977, 457561836, 509886999, 316809838, 238785383, 653984851, 748165941, 770379757, 388521803, 528969783, 902387111, 980758722, 740631166, 13334213, 651942321, 997869911, 87929618, 616355991, 873848767, 255686593, 535262330, 204602261, 927658898, 219669493, 808566165, 820494971, 585636037, 931429995, 834782014, 802519211, 637437137, 398577205, 785242866, 59652327, 405120084, 986984245, 886715476, 851696233, 614589367, 287363160, 179422785, 707019170, 252234412, 545468164, 587619705, 482221515, 794012697, 195063668, 832111452, 89779053, 609287948, 118315592, 55885580, 810860941, 661090164, 789089870, 252462912, 504017582, 916969963, 482902673, 957889790, 793034398, 920918673, 456966600, 982009143, 563046808, 782094233, 372310069, 299133536, 791276367, 147278432, 988221547, 772028762, 400486582, 380004705, 850192154, 695662099, 691546103, 582734753, 627254629, 757833670, 779465393, 937374802, 381012962, 872732090, 480766129, 154056165, 56011844, 228626470, 325424563, 622427077, 939505533, 305817447, 477804384, 451171873, 981409603, 166150106, 685869899, 815412350, 293810302, 479137837, 12595691, 115814261, 429456406, 731024819, 366333149, 660032265, 703576320, 568264879, 440478974, 607441970, 730065919, 557435113, 938759132, 998997112, 29870689, 345332322, 140070276, 248193976, 794338048, 176400529, 52745039, 962710385, 950285333, 270199575, 533913035, 662739522, 811755866, 555770969, 165453867, 511662718, 910013372, 953925675, 790766724, 315526744, 304709296, 783550120, 630714610, 728988894, 906363023, 180064525, 291736927, 390380017, 583518994, 561060470, 721442474, 952200273, 152149493, 906697722, 163491586, 490875947, 374392734, 4206354, 525950837, 618396770, 844506220, 813238496, 27052441, 574634001, 489500748, 707707769, 492124520, 218551010, 755976524, 210470602, 432807642, 231174071, 591518083, 324429892, 647586213, 438497984, 867640732, 837322736, 887769640, 104386819, 836801785, 510842794, 118190325, 284713801, 290022188, 956164760, 112702794, 369632788, 327222729, 845103830, 251926088, 681716479, 620273134, 348998762, 328081397, 125062015, 935133082, 384583786, 966461830, 411876443, 267076738, 971146824, 360372049, 116468799, 584199318, 780159614, 807650953, 17158002, 289234227, 820543109, 300442964, 47025645, 236423838, 858529647, 195588558, 449150551, 55284570, 606299140, 250520440, 760820589, 667992527, 294146458, 58562467, 601021745, 212730614, 116721331, 994124760, 952048894, 401389737, 831547191, 175532993, 27991411, 831945583, 625504047, 740847919, 291655161, 642906613, 514039754, 192958437, 899880600, 741517133, 305376841, 775923889, 171571671, 319880737, 518955842, 240508223, 896796300, 2293253, 877985418, 803787878, 157805686, 994388925, 57697727, 908319612, 231772084, 85175713, 952302169, 473633812, 994528098, 676737385, 619415211, 916142190, 891512218, 337403538, 150756572, 548795427, 78809480, 667026927, 449304377, 277315830, 811060437, 927337123, 166062521, 990507901, 332697726, 351689513, 169873031, 38476547, 572009925, 19601824, 436989076, 360090944, 213523213, 157888079, 226065622, 976152553, 892892772, 968176938, 811379344, 586847047, 908829281, 998652164, 523552515, 500704056, 165265676, 264986736, 721207122, 97326499, 448309523, 303070271, 928511215, 76529519, 933948838, 237811067, 232343423, 848907344, 815113171, 238071983, 635859124, 344757743, 714421051, 291417062, 342575476, 961549188, 740721791, 504682295, 742761195, 85219332, 714350404, 894099086, 384920037, 620359289, 417734993, 482907811, 942204286, 33424980, 867214333, 205703358, 996962592, 336925878, 893346266, 488613737, 653012863, 925979263, 501642799, 730539109, 142743254, 13474027, 750664244, 170443531, 832776690, 350213784, 674796316, 451256147, 542240978, 748617077, 238799493, 184042172, 503540088, 665057091, 516263630, 328838043, 536661312, 801191865, 217242435, 42390737, 318182991, 283300242, 895812445, 879707974, 666430690, 270661199, 134141031, 82040477, 539722659, 460798074, 391827835, 487901077, 452682294, 70740314, 705738688, 628949764, 585028978, 817549289, 816034547, 300831582, 64278210, 226105052, 162012062, 615413004, 843981118, 175475602, 15787182, 239907247, 753760198, 973610445, 475054178, 478513313, 7310244, 934505864, 285413978, 85708866, 44406269, 501597656, 766964526, 39885775, 120135018, 357494056, 86516744, 15592791, 327679069, 446530358, 627875862, 958348369, 672487226, 85469644, 954453971, 946977256, 609508543, 160111159, 822140979, 825711763, 641073435, 630198957, 276986477, 650749839, 485378205, 714445846, 489693761, 827020176, 297481966, 785544445, 61634576, 742080222, 86451677, 558252645, 83149452, 24277126, 194785251, 441600817, 567839948, 707406469, 104623290, 14114562, 106683837, 74475017, 435300946, 985757798, 410435210, 301701338, 409559158, 370321059, 730495562, 680390149, 612540820, 999969476, 395092464, 701088658, 604046666, 214570570, 564203361, 128966816, 234257569, 7109881, 354735022, 140443839, 355336504, 839941821, 179029788, 536768215, 269942241, 391878621, 721351530, 512058395, 953072163, 699177456, 625785006, 594090470, 133979848, 638321236, 517769936, 84925190, 457023455, 839318427, 211709869, 911309456, 204658524, 678135065, 238253131, 357901092, 291213604, 958032744, 932250561, 434153535, 969144211, 871280357, 26144744, 671324862, 301995706, 769646264, 148941797, 466820132, 929939200, 137924695, 602082737, 589799995, 108896945, 619328364, 698554622, 809151017, 746810345, 245590728, 863151143, 325106820, 919738372, 601216547, 15430461, 620245336, 989179579, 540791657, 908127909, 702321463, 217136861, 420078043, 868269768, 651630856, 884711749, 440265459, 942971688, 923658368, 461595591, 189993655, 148852901, 242719412, 655707123, 984924607, 400344749, 643862814, 424220556, 458962366, 717324362, 554229937, 106902554, 192284955, 416368373, 679366929, 467146830, 356807957, 845486756, 239870864, 24384183, 400855721, 233632122, 46370171, 153401194, 382877139, 791229861, 551384464, 97037140, 532608236, 976150654, 725645859, 757012325, 148972213, 598677010, 490324250, 557371985, 568901600, 111430105, 865827417, 147844681, 394507440, 184614648, 682099957, 360527792, 342151304, 855122606, 773429950, 799263167, 724651585, 931854637, 412663278, 846723717, 675348231, 913643581, 499841949, 709424043, 717067867, 102620898, 301441780, 295578294, 680225968, 746006049, 504683532, 877010576, 293569732, 102185115, 822435777, 100838477, 991050846, 108669554, 261738655, 961562924, 166140495, 147902974, 49377967, 886921057, 844337856, 712515295, 880611218, 778882113, 450535769, 149305791, 360406459, 588571265, 345475368, 383811716, 711005218, 152164728, 572170519, 983077678, 256199360, 576426230, 232955398, 481314136, 141577211, 797687573, 744510347, 724337134, 678867229, 998007543, 277849518, 289123909, 851710191, 821193780, 65620263, 633732080, 881790402, 282728641, 51879722, 461767823, 171682823, 714784375, 232793039, 762808522, 115569767, 451273225, 838423510, 78875088, 364144718, 903263762, 60660923, 250086988, 994704436, 665352599, 299635935, 571753523, 843818796, 89252287, 907991980, 279068049, 925088535, 406825579, 887865382, 684466741, 263453037, 715886289, 276573193, 786531288, 322142529, 462823700, 160141841, 478930328, 359350038, 937743030, 160116657, 125162174, 673489245, 48768288, 929310997, 458439014, 480698292, 230018467, 602931293, 773662316, 471342527, 92364185, 613254178, 25132383, 987554366, 262456619, 711068052, 599806342, 216927286, 811034235, 798399602, 263904349, 712895221, 58795436, 361572767, 669390291, 129590496, 857966378, 798472486, 189130594, 460575366, 134795664, 65242309, 105342241, 604045381, 121981915, 366980253, 772355434, 823079196, 3882090, 856225177, 692192031, 223646634, 138421529, 229449461, 309904430, 952676102, 731803538, 874463736, 150915273, 384468830, 834595275, 684477304, 918532660, 764730836, 940249221, 198269337, 373492553, 776370834, 210551020, 442347140, 996644774, 888347760, 100393073, 339395074, 868085887, 348697848, 260089487, 625688262, 409980166, 295319162, 989342302, 638405309, 870662156, 438802300, 123437605, 539423293, 707823301, 747616398, 584186194, 518359526, 347642011, 394367274, 543410717, 825382939, 906674045, 522458815, 853643734, 735272487, 420120316, 224471955, 407651551, 514161431, 204758758, 266424674, 31882662, 365628151, 769477180, 131195867, 973745329, 173080359, 723618823, 677215773, 718921703, 608838680, 598589489, 67926440, 268321409, 231803637, 816640575, 31154523, 794008387, 21090913, 332975227, 108227937, 923142602, 431378929, 593088354, 523336613, 839457980, 995293273, 423280334, 280413613, 318913333, 964442961, 792787799, 453167417, 220010772, 951316859, 445785939, 146050106, 632442904, 819503895, 87389366, 919457496, 180981769, 437049440, 354772333, 449012921, 389023726, 738855978, 52860123, 535562624, 718182168, 69416039, 942804284, 85546458, 62079198, 102393053, 942881601, 341864610, 999905568, 577482265, 498679868, 988886337, 939687435, 770232287, 905200924, 441768186, 664773101, 671306657, 892188135, 591966876, 270410168, 845391507, 73728468, 95687825, 500569970, 834163546, 631704704, 228137741, 749760060, 274066730, 85693526, 528787900, 453117262, 956635454, 117458462, 195902400, 107733642, 53737112, 826287804, 275524758, 651171656, 458699927, 976526833, 525860935, 311119490, 905133158, 340094003, 591820704, 892807782, 56848407, 498277124, 440871983, 5779044, 823013793, 452470868, 214472761, 212587755, 613136463, 995990818, 211363332, 961516939, 689893001, 33821454, 66376708, 2147427, 23001264, 937538877, 979698272, 679318044, 562331332, 806404142, 834600337, 152207921, 786704524, 767223210, 97160515, 191822261, 340788253, 196547844, 13743482, 807027791, 904863633, 303894205, 470736905, 385932494, 578199722, 685893564, 54287200, 84121827, 154288212, 673472703, 936313300, 760972780, 385297085, 513664084, 4655465, 297351618, 179360622, 123728875, 206062890, 789743175, 5015386, 584780899, 567135320, 368402637, 221331373, 515985890, 878680357, 736311529, 462890474, 520530516, 525545379, 566179898, 397820417, 917437785, 377252364, 432798509, 188781192, 517169672, 128826258, 968374666, 986867739, 616474585, 916357344, 543244700, 96562215, 15998646, 933558334, 504371850, 970862064, 851428574, 173903209, 930518704, 949129210, 336307492, 759647536, 7407228, 821305555, 120146019, 986778186, 835201697, 770190543, 97364538, 326012503, 502772859, 833096480, 880853760, 479685654, 411807954, 356864493, 557115098, 231778151, 42269922, 783503765, 877837181, 953376631, 190602975, 692599669, 485172064, 45347065, 910844837, 422194350, 127673719, 858817085, 560828525, 724080043, 115443550, 100856028, 84634532, 891003705, 636192674, 93103018, 812718643, 664811039, 750968634, 751891575, 130049962, 194229160, 963229432, 607094398, 927833815, 835144267, 316551478, 947814175, 742692500, 310617833, 541530170, 467612395, 777030473, 399603203, 163012385, 935137113, 136614889, 444611971, 761108393, 756789955, 552879290, 111831643, 753186958, 505520898, 317408839, 449399317, 95553871, 187630301, 848120272, 542286925, 909015919, 177987935, 707620228, 339579741, 198297859, 435043307, 238109713, 145319192, 876553362, 513392848, 610105735, 516697826, 69858052, 503386945, 456520001, 905078395, 657072620, 897854596, 835592796, 236519296, 632382446, 737770134, 30683417, 799521532, 182321651, 61989535, 776854217, 749200336, 425282871, 901522201, 296432864, 432693006, 838574286, 274464439, 111220590, 255154316, 281012532, 884793329, 226266796, 693069843, 286247142, 995132956, 326609837, 725338435, 36999133, 774363478, 741440663, 849913902, 573121735, 189792801, 312624507, 518261561, 458142003, 630678060, 744762078, 978055272, 458798054, 390736195, 798623799, 574767199, 751754909, 527858085, 874276435, 687557903, 67886324, 730185605, 17432457, 593493353, 965402784, 400948160, 217980488, 233842759, 271793303, 9884478, 985639242, 864038312, 286485862, 524832754, 732487611, 455295608, 858462619, 191689095, 249574236, 314535160, 943997636, 875910028, 961728746, 165618702, 791164941, 580367307, 896778163, 719737513, 249177186, 662358261, 292721625, 442506725, 834806289, 352214362, 380695944, 914508932, 972236403, 388030795, 44130303, 485501714, 718896030, 899921368, 112278665, 927898202, 97719378, 52768521, 971532179, 230180050, 102979216, 146766827, 867579665, 690267777, 892459672, 119844340, 161175661, 706601937, 632235610, 923226941, 864801163, 531903670, 528226539, 15676797, 771558082, 224948515, 945970112, 208261278, 735286931, 774844699, 147851978, 601843023, 986087016, 414649754, 248532556, 271707037, 40773313, 327070956, 495697354, 339941708, 859793124, 890007769, 131271104, 110089175, 491191509, 84733696, 336338386, 714817792, 483685136, 41661816, 426953913, 479245132, 264263605, 26255676, 2369066, 824402544, 935410041, 236749895, 685121169, 904048053, 867874131, 896326121, 228515572, 998086299, 757371953, 249094411, 242233802, 683025608, 15929532, 906218860, 102280426, 490562952, 35637259, 203389228, 545144048, 398943673, 245189058, 109920305, 927393957, 523193478, 333448105, 790728472, 661362778, 959298530, 154076586, 338664178, 742139492, 465424001, 91933553, 115997164, 468137814, 457992645, 725411254, 404573671, 608568827, 604964651, 100882050, 227061152, 753721120, 184544736, 541161049, 901757481, 762243804, 709031250, 517461916, 226540235, 353829997, 95586883, 521775394, 908262814, 648362081, 805807534, 228173468, 252450171, 184917809, 454790114, 165589567, 268117492, 904367432, 792361478, 19484354, 218986111, 267528721, 692035078, 8696338, 27799899, 204575079, 139971237, 416350583, 324904736, 524630811, 524578582, 36334037, 750404997, 304230405, 739315083, 994620619, 370181603, 752130747, 598930711, 737636124, 947416586, 265557061, 108104344, 915672964, 282038971, 265804551, 43869878, 838145468, 483597275, 238467189, 395246848, 343666963, 319938803, 728464008, 131188505, 736580252, 485702092, 31165003, 644804197, 927141569, 801109651, 36390297, 663082120, 82577813, 751385477, 688831113, 30907731, 926201543, 681865039, 465286912, 630606029, 929720713, 613570956, 505544325, 161891182, 151309650, 406281845, 883514916, 151112913, 526206419, 189345894, 328932745, 975925771, 776491315, 249247407, 995608483, 328334768, 443120179, 875006088, 163947602, 754306113, 226860021, 148045113, 553920649, 58069137, 68577130, 705636535, 401641681, 304592500, 803469581, 835364410, 827265877, 776442800, 947003756, 986452066, 236423030, 691306785, 498415026, 627945244, 976684417, 891922290, 192170972, 68099134, 879888183, 728481248, 29979790, 162180290, 221837705, 98575814, 529522793, 193027296, 121472762, 146779483, 75070235, 285903317, 474796006, 107701481, 373977382, 439886650, 990229988, 421477468, 626560939, 427169348, 897555913, 75358861, 147887970, 279394386, 682273350, 660082142, 822946763, 653426657, 763537286, 507836359, 455819984, 33744306, 463172352, 458424331, 894790084, 945951613, 924426126, 223437683, 773513925, 955284951, 938666759, 537450791, 57751462, 798685424, 911408901, 476479603, 962005562, 549967084, 309695984, 561272929, 499541005, 218342371, 335566921, 252636526, 884267945, 198115816, 413545570, 77968238, 622983850, 84706619, 548784229, 763617209, 795159640, 613902818, 828443100, 247858416, 284640506, 18333518, 397572649, 264715840, 75858557, 576472492, 356226575, 592359958, 943555528, 96989872, 744733339, 525497729, 919192378, 861209835, 265264998, 94938538, 162500931, 727069481, 468837635, 761532903, 249464663, 931469377, 468979167, 181473447, 716691291, 766868504, 369480418, 638321306, 851561681, 531857246, 523558974, 317101518, 758826788, 719089574, 977518006, 902664160, 719178784, 880102955, 284671824, 378165021, 953469005, 877056189, 476327641, 342206900, 935755123, 920815275, 285659228, 54087660, 8726010, 869784970, 504234003, 55109932, 615396079, 46083212, 793912518, 438961110, 395919095, 511172005, 736969987, 589706348, 121988924, 316719661, 503767248, 359750431, 120053513, 376159598, 391691365, 188990412, 566961267, 316355483, 196284023, 34196889, 951456291, 999130711, 416099668, 960301692, 554734350, 942768324, 152538890, 317795886, 791888120, 917631560, 849837382, 178447762, 393875812, 756270094, 958346083, 474451564, 364627979, 486134963, 249940591, 627588088, 95097667, 413761698, 37829730, 587898746, 461066017, 760245484, 872486977, 320102087, 679141798, 783782717, 530487982, 34719455, 177125564, 657907926, 680731722, 657255558, 567506285, 804513396, 302143051, 362873501, 501841435, 423122033, 645673323, 326758406, 675737719, 1774517, 402179988, 416795028, 493033954, 915640895, 574412237, 486047944, 603273985, 690687263, 961759781, 85728543, 104909254, 348357014, 758458565, 739648985, 78655266, 247152457, 11059123, 366775407, 601456566, 20183112, 453108571, 878031152, 23202662, 365341061, 551876013, 50818488, 252323801, 533693217, 896174390, 967860847, 737626704, 735372807, 639894157, 387611393, 884378866, 694587958, 806141756, 210325859, 812749331, 508653673, 793213818, 2876734, 316081076, 503517649, 312235330, 752674320, 831275940, 501861092, 752358944, 299941619, 865464052, 995909307, 17014835, 97883146, 584698879, 821230957, 65754654, 114051825, 500817739, 816505974, 801477700, 192421065, 467362824, 743374516, 813391750, 385780280, 506843891, 403187883, 436526634, 623020083, 539494097, 845586484, 665094143, 431419468, 177497592, 961549608, 367275218, 172127598, 963769746, 200212254, 367571742, 244993901, 628762803, 702309347, 439554748, 848824621, 558296941, 5184517, 500217786, 383485542, 588439837, 416586930, 84743634, 319004749, 373269894, 385995974, 292341339, 197428629, 406463356, 480383507, 31690281, 911263706, 478912062, 539977649, 960185919, 995838823, 995032282, 323290183, 232069859, 61076152, 200768310, 291453417, 846656629, 125613009, 975739296, 982253353, 242540964, 310986566, 548832088, 564343651, 730505531, 535899384, 645586446, 46606395, 500181496, 432708841, 76635596, 943373962, 364171541, 960790917, 307839585, 74229548, 923604161, 468105493, 37179432, 748515272, 689154416, 610526522, 116160958, 956811365, 978607543, 289033420, 199119720, 674056620, 353429958, 916956031, 349083289, 350546054, 538985550, 155579155, 616213154, 642055425, 476067044, 659865140, 371659237, 778716824, 864186372, 696133441, 895970859, 820234724, 784769604, 300156063, 796705640, 692441718, 236237105, 387975538, 190006124, 227128355, 759740477, 845242200, 66313360, 80941933, 960871947, 975042990, 185951384, 273376919, 699020444, 149342907, 286579542, 122548596, 386861978, 658432675, 299957814, 363903063, 449203817, 531084138, 274159925, 773945652, 672793264, 68577151, 39209249, 344668343, 692611785, 145159074, 473011057, 582377368, 330704907, 36684755, 259403105, 52220768, 50761511, 153608264, 383015658, 133159509, 987929558, 41215937, 969263882, 761229527, 847437330, 926423713, 772053451, 787486719, 774273106, 118710244, 389750532, 817393257, 678054650, 147008488, 791204090, 767741331, 32877791, 217961574, 891511770, 489828714, 234433209, 551086233, 491186769, 379541967, 908216615, 829240248, 925728945, 397564060, 445693307, 13096725, 666276958, 578460694, 350367187, 448249157, 481921647, 659203523, 664023285, 41216741, 868072482, 257431509, 417912428, 607729385, 995025191, 166080973, 750632552, 576584773, 110114727, 442909721, 311967781, 671310816, 471820320, 16547249, 125725806, 443797307, 293358038, 923312306, 770473934, 921355837, 80013587, 662167123, 659394484, 96331337, 61990817, 389023549, 3249803, 528140640, 754029460, 863346869, 667047238, 202446128, 314828439, 342366054, 168293902, 152772095, 442564397, 675306539, 763929991, 991437868, 335574551, 798128232, 705075298, 734962286, 166184469, 500664255, 484869802, 798106393, 284019882, 560054765, 250325812, 712004502, 69843209, 572555951, 232607930, 152886970, 532467749, 454839240, 419567854, 832968084, 655489646, 641330249, 364624800, 873713090, 232277658, 595924972, 774332527, 434384161, 488186440, 282939997, 192133781, 260032683, 858487761, 895930697, 183748006, 792549224, 352329129, 420457827, 155276740, 766955236, 415380459, 203312215, 432795848, 500953531, 443645558, 260002760, 851888338, 868996950, 555734252, 677559590, 437125050, 560026794, 886713602, 180121829, 150774352, 330481062, 317067644, 45432460, 347796583, 545220314, 993029109, 472886973, 699748415, 135685977, 560822705, 545480675, 862001639, 354379743, 36710643, 446144294, 824935157, 754098935, 419299976, 679136504, 666691170, 885073132, 844695240, 276083288, 847050845, 171257232, 868967790, 121554243, 889595916, 268338383, 327775855, 179203876, 742554770, 576241029, 147921178, 915407199, 632880237, 688664614, 443820704, 310601671, 636891604, 461690951, 508672667, 606153410, 20686253, 130945982, 983231164, 384361111, 968313356, 231379025, 94339377, 799978222, 990361563, 928502416, 142273520, 742247361, 939770339, 344955979, 616697025, 686787649, 482704148, 221930057, 203405469, 740884868, 349852356, 749552056, 770552167, 67053931, 607340772, 794730228, 2852931, 449914445, 152961286, 44106024, 520028142, 141217325, 614423400, 759195763, 249141601, 387181566, 686289958, 589465895, 296035249, 85607089, 318893707, 346158713, 645230558, 456484562, 358963213, 379055010, 485272298, 861644366, 66726010, 25870549, 215926949, 672653033, 162063519, 983771265, 748419190, 793156194, 363241949, 411661652, 195537081, 801068709, 465910883, 194832032, 722656880, 68730557, 611597310, 550817947, 92659310, 197263337, 573657917, 401349025, 143377261, 972463872, 982873940, 107220148, 227725616, 759900856, 763998700, 447208029, 566254120, 909486586, 694192559, 279776320, 335833365, 833443787, 815701224, 394239075, 982345294, 639166521, 785400231, 931267083, 460049397, 419034487, 13916200, 825131214, 905922869, 161762317, 393626405, 794896532, 20960018, 828082240, 129024036, 95722913, 242337492, 43210801, 705585127, 525348772, 978787741, 529110319, 272032091, 414926803, 819944216, 788207701, 555732065, 790196015, 613571444, 568966171, 851106208, 201309660, 91734285, 453471045, 463841152, 132208089, 81579373, 164489365, 668830988, 575868310, 556328299, 340012035, 438364069, 104304243, 734140154, 387075257, 804246047, 872853711, 27376853, 543768669, 697901959, 897452691, 36533951, 607141831, 327747097, 549399066, 676717234, 305611806, 581589696, 779974546, 622551495, 154904695, 472573750, 58770733, 971663209, 911532866, 299126699, 280981266, 172532212, 953435887, 26454242, 398157006, 307580449, 886640985, 52684531, 459090311, 727419029, 178242622, 667478405, 431198789, 723487873, 668109192, 244753105, 920575497, 908792396, 233574834, 884163283, 812760419, 155483547, 560357039, 719648937, 418019975, 368918067, 254208665, 760566761, 543903594, 425762022, 647038640, 67754495, 186843561, 461793525, 291616242, 87933720, 358325698, 459171096, 582982501, 624886289, 76700828, 921461380, 230883141, 426238899, 759957355, 41486535, 3299377, 992743307, 937634814, 223782328, 198456353, 113338688, 810358477, 940882124, 520999600, 154250905, 914576750, 869482375, 559364738, 772626693, 268150537, 597128953, 402299932, 172382613, 532426164, 885233150, 452863605, 200203662, 188670052, 714262893, 239153103, 18477741, 688500985, 43126856, 940629873, 279794920, 535280182, 996783671, 13012037, 797465497, 341589969, 688781005, 267908648, 109751782, 371943878, 548119062, 29947047, 205445475, 504365714, 666917170, 337832907, 654664737, 392256681, 826411301, 993277645, 847450963, 100545693, 636546071, 431864845, 378018394, 250776609, 741616956, 307588634, 261840524, 521003418, 4754470, 564849755, 575570885, 430895035, 262633363, 43696071, 347193074, 203503547, 205580222, 430067859, 900099515, 578191325, 596329473, 748403425, 468018770, 415215525, 682280312, 528833182, 16633351, 436219034, 790280260, 589418072, 536755160, 235338048, 163661031, 638215285, 37670424, 939193379, 123459154, 176598979, 216405086, 921542988, 465746402, 137266333, 282369725, 294663161, 655392681, 60689040, 405161821, 867676911, 196869750, 728991770, 3142711, 610861083, 157068031, 934311589, 647529146, 566036586, 290543968, 590783754, 6873547, 572084615, 338481529, 592789240, 650957256, 618125666, 435901796, 912087300, 293293699, 435250765, 118966434, 629212992, 847917558, 665620836, 852003985, 482771860, 739272883, 202236296, 883530918, 430237813, 962814434, 827599555, 924878561, 658544798, 944863525, 115029223, 300627485, 424737169, 590351951, 136898110, 308375332, 11553938, 345543889, 334835189, 522770195, 478238177, 79975070, 93011651, 557677369, 602425807, 314643355, 383611973, 647607416, 580477591, 316593392, 636745094, 25916675, 255251276, 140901862, 164205815, 112083421, 386787227, 492966582, 373351234, 618530426, 500750980, 75450484, 550348873, 195195613, 156621632, 831698701, 932079661, 753754511, 349089531, 344745641, 535453294, 670810821, 179910097, 411109212, 955253621, 761174088, 482427272, 718426038, 799329725, 627574409, 903785, 838034040, 75636676, 484244828, 64613002, 435628754, 790818857, 148347013, 836619341, 305081624, 484815952, 382503135, 787356285, 418915802, 839836905, 197527597, 427290467, 802207547, 323529103, 500636709, 201720148, 764422339, 986673579, 210646728, 856708902, 617401569, 197089422, 325636960, 261113622, 201836974, 380859194, 405069698, 186278063, 621727426, 412210151, 33759656, 299353632, 106035818, 493291366, 691624303, 67371293, 953117545, 257523107, 929357559, 374878725, 735631086, 667685954, 790976170, 992082646, 758345972, 539674709, 502013608, 480815486, 529436285, 556383553, 231817164, 841809252, 545400677, 933962363, 539170509, 14006542, 177677431, 298287855, 258265132, 673486277, 511784161, 645207652, 420263232, 803390084, 837845445, 484562615, 538984353, 90042408, 103191970, 932460983, 372580534, 622033967, 191603388, 388592204, 253376637, 747515294, 548343718, 750302056, 618838445, 825847972, 408333781, 868825316, 387242597, 274963540, 748836772, 284235490, 891293427, 452889930, 53609795, 303956568, 151727978, 963998300, 993419979, 236998264, 295513587, 822217328, 858259585, 742725831, 900183283, 835465688, 134699380, 313550047, 26503553, 782845071, 148213753, 463928129, 68840084, 265706508, 982564829, 183394578, 478353829, 978863905, 645043575, 679296492, 114982119, 819340776, 431539995, 933321055, 708464676, 596642743, 300283390, 72126129, 17501616, 416147263, 49622863, 140747807, 110764612, 233591674, 107802321, 49366055, 208072648, 237097995, 862574134, 634756832, 254137650, 346195985, 287545097, 24941064, 453259720, 689337254, 912925298, 800864052, 769369424, 891471394, 401902074, 550500335, 328469767, 715538560, 562271931, 260306486, 701876, 477658701, 275690788, 690518711, 665230513, 907933022, 844295028, 650722093, 474512700, 894122194, 693153435, 364965500, 353944431, 361388166, 292605476, 214703953, 168697036, 593352467, 407437825, 427968706, 462374876, 483031686, 445440524, 575409356, 468609719, 43962818, 666266015, 584953706, 213976833, 719776955, 558246149, 430084877, 846787614, 857099145, 145667008, 169180037, 351110366, 248636792, 594379393, 236027590, 197872894, 805396531, 438538692, 674790239, 772351528, 658773155, 957843191, 147746488, 833821376, 796056680, 6205272, 710576067, 257720830, 239439746, 963174234, 944733001, 744201746, 586541660, 344190194, 865539738, 456868157, 320869543, 858427333, 654806723, 618837640, 34663579, 754260345, 341645106, 602156730, 424541786, 141961768, 876128913, 989526315, 125377793, 122574207, 853108693, 714788066, 170837539, 863358441, 75726779, 538858027, 539205708, 288110954, 108855834, 770147257, 391707142, 818362468, 165443008, 755563443, 186046628, 608827025, 32141083, 401591139, 727043100, 976283621, 890488764, 720405015, 648557691, 105994318, 375828730, 721175753, 440258578, 845700312, 858697795, 132363358, 382181080, 632024605, 943633140, 672055121, 266465356, 599650443, 717349339, 218502143, 184897156, 575910507, 92142347, 192686932, 336998919, 222292832, 291056639, 26746271, 643940353, 509666543, 404300062, 354286118, 937399220, 134208648, 177916717, 876866757, 360180996, 142011940, 198830450, 727664697, 547630709, 603961762, 753455811, 710459360, 625903311, 900383464, 556712456, 118722006, 903581175, 376200930, 898308625, 833642687, 395239241, 131208227, 474513088, 350042493, 6887272, 713797950, 562771869, 887193604, 92680182, 841388398, 867635816, 673961766, 969544071, 803820893, 546039055, 570809624, 852800222, 559887612, 990651033, 140820689, 181261105, 680091820, 791234956, 658564691, 780433334, 991949775, 925159975, 319002767, 450427245, 930613675, 384769392, 118268254, 949093353, 949932397, 37281820, 748426268, 812997406, 40895561, 963322744, 815531232, 985626044, 132354325, 362859300, 175683028, 282916321, 651132453, 972445459, 408116056, 267139816, 30890827, 472864176, 434825964, 912982384, 710750063, 640617850, 432357804, 814188320, 573511991, 616178381, 405965651, 134151019, 148582957, 208132037, 807157592, 684204627, 836399060, 96479147, 855993580, 580857863, 612595120, 756779665, 340397095, 938204018, 11651199, 213193752, 663684541, 984090304, 460113047, 346318349, 738665718, 966058273, 211134566, 836850801, 573216842, 827978011, 13708350, 526644642, 231826965, 66938997, 110392260, 400299953, 840758326, 368714328, 155150205, 123136123, 296847096, 36309755, 696842942, 768405211, 488439931, 150293970, 791917670, 338617437, 738095263, 585772615, 672543399, 60535131, 675179490, 421451984, 752165234, 785823493, 264393924, 228342941, 199440161, 931444377, 57724419, 518519662, 422641357, 469929732, 620733702, 171610134, 334855434, 485380232, 911997639, 235826196, 843882979, 752609341, 931644526, 523724202, 812864029, 624990281, 281347496, 942343122, 616060811, 300609843, 763902183, 953200852, 603239123, 879683940, 215895215, 911662393, 673353563, 735210528, 745138300, 380740668, 363546616, 130042455, 762932711, 365050885, 215368421, 395886394, 417162141, 129224855, 429976299, 545891149, 787357084, 127037119, 526352096, 139393635, 6197759, 873830920, 366706536, 231080891, 222592496, 918036272, 281350555, 27965118, 468664736, 880917173, 899460368, 419665390, 378339816, 753921194, 779012174, 796908450, 910939932, 158891734, 797981046, 413687889, 394586716, 858162437, 544620045, 843932597, 333492579, 863346594, 742408492, 310481922, 534929397, 106915111, 325081085, 194378174, 128653453, 550756305, 619126165, 147295448, 855950911, 931108566, 635606739, 558157398, 684910838, 994143491, 710559894, 644424818, 729010269, 659713696, 748061907, 879740145, 668175835, 888686879, 933163216, 465269226, 733478218, 750988547, 194624676, 925236013, 619608096, 592830334, 505209135, 495508486, 227272814, 466076797, 388306364, 737595456, 211534559, 189205498, 233163816, 557084621, 485382526, 305492681, 46469557, 741311766, 594766277, 919439953, 353655208, 302101492, 531330692, 617840387, 8339440, 728974481, 801380317, 763574557, 814398405, 445110782, 297534408, 314731458, 318077391, 979410508, 32327414, 503474954, 508603592, 476050717, 924571510, 903636552, 950772054, 282382627, 191749798, 306576595, 486886696, 849664033, 721627601, 846641832, 311432295, 880442688, 649695652, 999590198, 107812531, 692729398, 547404566, 36165857, 241400193, 606636521, 208517254, 847648488, 687566577, 752590423, 737054436, 748353495, 389682823, 282992082, 548800775, 850281963, 121755388, 751364253, 444193400, 968980813, 247064391, 947938549, 275154946, 980757107, 59229688, 388285102, 210769088, 880156051, 430666866, 309238723, 297927366, 940373334, 475989286, 688231482, 174557527, 294822964, 129267488, 833976231, 676973296, 463096778, 106456483, 648849121, 925354250, 400569761, 311786859, 778737748, 632235237, 400107884, 357575351, 942195831, 229047676, 255527369, 920663482, 58750912, 67956441, 677526607, 573090878, 467766000, 269970963, 294849323, 132167454, 318995323, 413321584, 6342312, 317110395, 513475330, 220390109, 542631375, 431835471, 22827733, 671446325, 655520121, 481029272, 266931283, 781783430, 559425188, 731343735, 878335458, 325793226, 811940066, 406610994, 51695827, 646462816, 980067681, 42841164, 713468083, 513788647, 66157955, 805774387, 67044360, 522024823, 304718866, 301907140, 684704216, 315736425, 955615026, 496751467, 332998714, 742587892, 907532381, 229027793, 534702857, 675498652, 368069852, 339331396, 706831210, 651490868, 191441512, 376051424, 186870652, 450528059, 964898186, 511225616, 809498180, 42682723, 142757127, 438319325, 351383634, 737736275, 858814612, 485285679, 325074090, 805786496, 733601356, 888312144, 827967562, 369329811, 810106382, 459727432, 286243667, 812717767, 297726668, 109273012, 652752447, 93478136, 561675871, 588127706, 810025856, 548279430, 154240122, 711700026, 571457084, 973970891, 810482385, 857512468, 714552005, 666253857, 585136783, 166837629, 583435085, 132240276, 363397162, 740209940, 206372157, 973650604, 122208325, 431039132, 563009501, 80089483, 233029783, 494466206, 306643073, 601268165, 234517857, 392441176, 947662373, 565392249, 613279530, 672845185, 876230452, 782107682, 465536173, 578661458, 18223111, 355134563, 449859941, 451528987, 765159484, 333692542, 568862674, 320644337, 61820727, 785820101, 955797699, 423301704, 262731030, 290065094, 442487705, 200480460, 988931810, 240252162, 941301800, 947080229, 453368183, 111322269, 371780539, 845947158, 976289275, 543202162, 409148788, 598571131, 435395703, 247034379, 435382898, 115757263, 725121141, 995479851, 829015754, 794228106, 498613570, 72563132, 107458854, 44203147, 108657499, 115172247, 507518538, 562727677, 437338117, 775691912, 482665732, 732184554, 279133463, 110030457, 293494790, 746882976, 960280187, 825027876, 573256011, 349597269, 447439617, 167134936, 858722195, 558545949, 82026763, 597294015, 151694009, 65114986, 285627214, 129916571, 143883658, 463906243, 637670698, 582726165, 387509058, 909568661, 951957764, 314420996, 866885393, 406061652, 86841969, 886066896, 512089112, 781755297, 936958107, 696215937, 121050387, 121540221, 312837592, 448878020, 911728341, 210318690, 699698598, 747375001, 53838254, 39319185, 965319765, 683606713, 344483945, 740202581, 980904250, 208645548, 266115494, 775772980, 944879774, 952669358, 632619619, 717978523, 997188301, 445999761, 545312366, 308114482, 201208746, 927754579, 978395785, 297675274, 971547090, 85775069, 939880460, 311911781, 256987146, 460673835, 26873026, 108426409, 800410181, 711420574, 537232078, 383279822, 406129550, 10852775, 383276442, 759436845, 958413301, 888653014, 365141804, 970856768, 807623212, 393512598, 329376879, 734932041, 435465978, 227317301, 863579350, 584362458, 641587593, 376237847, 692761602, 896023252, 826104407, 59465975, 929065530, 247948034, 275015182, 478295313, 216211377, 973938999, 891873338, 282453546, 468840805, 550357303, 254042526, 700318320, 532700266, 454440062, 658568855, 702620394, 420747201, 455872171, 825651435, 997770194, 384449408, 227055726, 330574831, 931888071, 387852911, 641105887, 456965148, 71903570, 908627807, 538242301, 999968726, 352007251, 503849150, 721302580, 414268573, 73380669, 318459133, 913502785, 851416433, 757731733, 990297105, 940981023, 374479411, 138442995, 834896959, 710963221, 54404607, 202426251, 234128577, 24557635, 638168749, 711701828, 409223260, 669383347, 537722981, 636849703, 500607973, 287920476, 846084075, 943438472, 529173541, 389512670, 419372353, 385534227, 597346033, 32361802, 164504171, 343422343, 136981639, 16220088, 624153351, 973447694, 415957875, 930332295, 916758027, 576759581, 558435014, 294277827, 961022583, 715686532, 142863812, 48660501, 440641601, 695372272, 155366053, 497258096, 66310885, 845603787, 173948965, 976576322, 873915013, 195226198, 810246923, 465652402, 866013985, 304606766, 399365825, 542531288, 421873108, 99559688, 799646391, 891976977, 514393730, 890848480, 64912423, 451522854, 20845626, 909057675, 725554231, 693096140, 458545054, 776198844, 196604732, 174687269, 394956929, 115632897, 536772606, 7292987, 806958032, 11232114, 703475908, 820922754, 817491023, 772020468, 834108382, 17668114, 757468389, 441319333, 764347647, 372875635, 595355262, 210342165, 519825807, 248774764, 40041222, 772149484, 986950379, 977532085, 755615198, 289725713, 743118290, 892841308, 84603897, 305415789, 148744050, 78634063, 417553356, 238572227, 420341486, 602716041, 371547532, 196917791, 419634890, 610261045, 402640388, 169589121, 745965407, 87571648, 295599495, 712126608, 775289353, 36195784, 382837584, 645436241, 452704233, 994227690, 165194828, 883300691, 719244245, 102636264, 920862912, 663005108, 876621068, 22879371, 246741636, 802796166, 628087253, 118271787, 814739906, 806322348, 772006830, 873288850, 726260697, 423128716, 51125877, 499439551, 519627532, 318490376, 175056639, 348230320, 337050057, 581447941, 92053683, 802710535, 966295993, 178070985, 177644802, 228255344, 71917172, 373354228, 452434679, 935384777, 801545077, 53106983, 937923218, 29757400, 624669104, 738588554, 402287761, 14747382, 850344415, 680952970, 628391553, 780711389, 10485667, 655813667, 76070801, 596791653, 204568239, 826365039, 531841836, 33271930, 419138944, 784208183, 832333572, 531042605, 467818222, 733830918, 327391566, 82863584, 527747330, 277261858, 612611463, 36952189, 683798149, 715424740, 654399117, 320825780, 997280189, 118884550, 512433878, 180356896, 554473020, 99269776, 655503344, 737281971, 447284997, 315276085, 597027105, 847711340, 239976728, 851926791, 762721646, 997020870, 610603924, 44866537, 934115847, 493845238, 264927660, 941538296, 887257858, 188534747, 673896400, 26622318, 185227033, 730280775, 284084617, 89634310, 19123770, 582008247, 758210704, 527455805, 501685132, 303937654, 321653438, 343070477, 50758700, 698411369, 30154358, 358984401, 840525216, 719514574, 582104343, 373926556, 580730028, 543046177, 671201586, 543004457, 759647601, 534737601, 337477430, 129492842, 122328490, 194887407, 556858368, 959849296, 355138038, 471203835, 818771074, 466957463, 268961050, 391569740, 907303673, 890392890, 761353743, 658694897, 764626380, 333807104, 746142711, 6860369, 839198270, 410969136, 626616130, 873773129, 298911770, 552010475, 23061293, 77743559, 152589234, 696160312, 677255486, 399005270, 147946766, 736627976, 737150824, 699983547, 663961594, 66717365, 246259681, 245213343, 766998646, 198889103, 177060659, 655153092, 834041298, 16899626, 647727857, 701509872, 948391241, 857107935, 121687959, 732990361, 227666605, 896714400, 98175599, 43487898, 792158709, 630932998, 48157900, 615223507, 470783353, 366372651, 514768181, 974125920, 161905299, 148482840, 916210200, 60113742, 936086896, 85681481, 545953640, 633933950, 850566384, 522900695, 997564812, 7434482, 387350664, 988059533, 424988328, 892141681, 926144408, 758721067, 7617616, 9713199, 336896984, 327436820, 873847440, 761393403, 3453372, 886999030, 518845612, 447411128, 939412953, 535557340, 981152796, 570143970, 664204279, 782535324, 904655346, 341175795, 484555943, 743914804, 79426664, 720247806, 537317480, 413253981, 61525443, 820748004, 720698987, 354084044, 189586011, 296996469, 586495595, 595727064, 958576737, 147796315, 871001897, 298136601, 284701878, 946412615, 943195533, 383705660, 526693309, 656886554, 51294452, 88812944, 86406098, 386747451, 928373120, 266160989, 760708008, 437218072, 746810718, 285967172, 63603904, 86635298, 15337567, 176720892, 751437194, 697921133, 339029363, 690399094, 74254500, 364878993, 59563109, 497591199, 121558107, 34266634, 638267418, 655619831, 860447532, 22564371, 518145117, 66897411, 61956309, 512632767, 906188586, 490936831, 39282640, 613677059, 613688506, 92174941, 828691470, 552005907, 306171051, 533964391, 875617655, 443109770, 167250182, 391139131, 364498557, 319797899, 313012128, 685696342, 469832231, 292518064, 673503860, 694601021, 37037882, 290230599, 473293305, 793817638, 608038489, 36712540, 113353689, 545457101, 718624711, 288696979, 701817152, 385990858, 700612673, 608788779, 810315968, 823701204, 628734194, 101703935, 559391845, 229053459, 868732626, 413808511, 661693103, 175712075, 8714974, 752267350, 152554886, 370666631, 637337240, 601416110, 574423772, 205223574, 726731745, 61449565, 515050276, 298014424, 300221052, 87470373, 556998742, 552870210, 414061223, 145757380, 198098885, 675608511, 936046444, 755753536, 896961899, 360914594, 746771554, 467339007, 182008585, 198837576, 96565625, 575287125, 54302072, 991986863, 916422815, 840273755, 889691378, 113390129, 190017784, 186855863, 309753070, 124016796, 985904680, 423308293, 263865090, 987803679, 334597192, 141101398, 878992711, 481469902, 292224830, 862875744, 801418822, 404616992, 820077588, 189462322, 499127370, 355797536, 618705968, 99378753, 379110544, 571439926, 884485932, 662905013, 475413442, 797876392, 138440085, 581693404, 104102867, 461468739, 843571824, 869025709, 873802537, 219525849, 316978621, 388091621, 168325775, 168483535, 100258377, 280796697, 322190976, 293175345, 389682071, 57444397, 65186426, 151021616, 943848782, 949421986, 678695324, 67720435, 279464621, 704043076, 160193467, 592241808, 349135594, 826857224, 114916707, 634815718, 635462143, 480626480, 639016412, 962080651, 397474414, 962588345, 610497693, 523364679, 826253815, 563188585, 422330567, 499614121, 517332005, 237093013, 73698222, 833968392, 813666197, 4282893, 171822008, 940279510, 250420534, 591065609, 934598662, 852685343, 884889254, 243429138, 470399291, 138114599, 693761341, 856231530, 565413956, 678124515, 78327149, 78914312, 325928752, 580776891, 523963815, 946371224, 556576796, 468514872, 705143050, 616415802, 211728955, 688837848, 127913148, 16287252, 637074686, 183767664, 247283178, 143680699, 178637515, 441614997, 329753999, 564384455, 570364428, 405841603, 50452622, 475197114, 768315832, 492957990, 139185917, 441537908, 794342079, 378759813, 610817375, 982578184, 711477863, 242245612, 224694050, 358090157, 78610563, 604424004, 121508339, 822360774, 552442997, 644013031, 61819223, 998444502, 77770818, 156980492, 25660248, 217389698, 740800434, 614465172, 108892013, 351917924, 979930814, 961588840, 817701134, 235718869, 912883952, 641226064, 90980422, 430324647, 790641491, 415335655, 172411248, 291740944, 447119053, 888439882, 273726882, 729114580, 155217618, 31607674, 327004392, 388956391, 112637991, 397306037, 67512750, 224414256, 11859591, 11626794, 757102615, 975535382, 142275109, 844515157, 949186860, 799513243, 250581825, 398535829, 333376453, 144158769, 730213403, 417872541, 108768309, 564024661, 87016345, 642854609, 287988936, 878805356, 359745143, 524450341, 124256052, 244769419, 969868249, 278042705, 814293977, 359833749, 615413985, 829983845, 171932025, 999619335, 713872005, 267024687, 859084609, 771822780, 234107611, 297020162, 782538477, 832580914, 675737950, 72149671, 708316678, 138444176, 167223988, 647472580, 357894885, 138757044, 719004979, 799227587, 390797899, 49448931, 390090220, 374874498, 49895815, 454310652, 467354216, 390763773, 246603828, 553734015, 537053249, 414427184, 244271905, 998416269, 666190992, 876382246, 205183642, 962468876, 447748235, 548145953, 373688596, 982306176, 845646360, 301065725, 448274856, 593522790, 343505933, 58559001, 725976804, 293516715, 928747769, 465215778, 259896612, 624012827, 219108072, 173470896, 644173328, 672362004, 594423860, 452682452, 944706980, 852173138, 352637327, 101602164, 163203974, 364464800, 853996065, 402450795, 451871100, 512870663, 456524553, 58669131, 948448618, 74954200, 609133106, 419723146, 6497262, 947561887, 212142071, 501102416, 366533276, 195563868, 396403836, 741652215, 272959568, 834913331, 980429281, 290483731, 547973090, 876213128, 919546881, 379377999, 975228750, 647809303, 942206006, 715244148, 262181165, 253473066, 316809702, 42218949, 783620408, 543690983, 557604988, 735469014, 830480497, 787432943, 951321904, 359192940, 75441143, 788086548, 458099079, 230930027, 356728317, 133884301, 781870887, 824633445, 241145860, 946301697, 786405926, 780008970, 967258990, 566075376, 187105926, 991154772, 919846659, 485751771, 585777302, 831094031, 662206051, 807096817, 56621786, 494115114, 758311255, 408535434, 879287762, 897330216, 310572424, 673164136, 685470083, 34791539, 227992151, 400204499, 883032647, 913169234, 2864826, 763401339, 932409345, 623495444, 288189546, 229443521, 101226144, 582890208, 609334944, 655440151, 888687470, 727457110, 943078684, 568034405, 198452164, 93978049, 226564783, 938943293, 529721290, 891174706, 60866566, 993037154, 825644115, 177844828, 994606848, 68147354, 928829442, 854184205, 528219705, 830682962, 385278415, 384212624, 979612470, 426712236, 523091902, 159616136, 668089991, 885922775, 693531065, 595817646, 730484920, 20989073, 492594771, 507158860, 308398127, 723284870, 444776488, 51976222, 79742919, 892578980, 853424339, 362181549, 612391433, 927377061, 608713980, 769415941, 58740107, 470139554, 441021293, 815967327, 264586238, 81283802, 221826829, 118043713, 525586529, 116839883, 455659069, 695816055, 478948444, 825044147, 544246648, 339718758, 724569784, 366728009, 577976623, 289819450, 827222209, 222441339, 725885986, 421284839, 30076430, 83446327, 900105586, 6073129, 682567702, 779528569, 862872134, 612100958, 129033771, 67899288, 798839108, 281566372, 993394373, 746698606, 770512844, 384670845, 183248458, 105095307, 363950452, 575871650, 883001790, 201146840, 548809598, 54552760, 533471608, 339948016, 656457162, 981254192, 259507833, 272870945, 232297237, 725619963, 159095571, 630060314, 787527704, 560877783, 477863341, 898497659, 584091332, 420161807, 305899096, 387226206, 38887684, 118660446, 336524175, 570875836, 108868866, 2146125, 523279816, 410294915, 656198357, 125620062, 183426781, 271035089, 639534911, 382686447, 972955790, 326620951, 581969858, 711362628, 793398148, 102889714, 140926002, 542480753, 327166560, 827101105, 216809915, 798490153, 144881508, 884759332, 571798661, 938248328, 422251128, 34343392, 567846486, 372210519, 712065883, 37512134, 198895935, 349884340, 362554401, 688874188, 683739881, 664428562, 294697759, 222317855, 668933019, 553172899, 678998585, 436278867, 46268070, 748077668, 167588655, 730920507, 497732965, 680768670, 365438454, 109525424, 907966625, 615237745, 883710323, 883602019, 550167648, 866608832, 908305980, 409967736, 597120463, 141092489, 545807954, 642364687, 725704939, 524237756, 977186342, 523464682, 767097931, 750628531, 206097617, 733251334, 651048712, 890259296, 878504517, 249922342, 170191748, 807164072, 547261035, 80427754, 631537392, 371245763, 10526570, 346039334, 941405605, 639612274, 22991286, 437632154, 833337668, 159274188, 474571954, 879637365, 634008452, 938365980, 394705245, 867233876, 405039869, 416292310, 864761788, 568506159, 805411505, 244614287, 207170915, 850298120, 66262263, 614112288, 785992241, 590704177, 471343023, 90657108, 626169583, 512806190, 469838903, 523011013, 892855651, 270505979, 962154435, 476774826, 7203376, 598628004, 77326288, 532259712, 391308574, 476304794, 790930803, 718580208, 540683406, 366281513, 755666797, 78408704, 689574994, 816546763, 347869734, 98593256, 169513970, 476605905, 248655932, 363093279, 508397136, 712787971, 735564862, 416010294, 319431049, 455329439, 191980259, 315458168, 989276147, 202131398, 685940728, 861462029, 445064105, 8576434, 722412586, 209035734, 502529059, 286132387, 933201834, 585680673, 520397855, 84982430, 914574351, 890450514, 224174991, 594721384, 775383398, 453197033, 795494998, 668897312, 890483420, 446422139, 378040898, 985917535, 982463843, 889248107, 409715022, 395739166, 921281443, 652202060, 284899475, 251436614, 472159564, 907522133, 421387891, 222068360, 736328527, 210035689, 652990749, 591630581, 179298291, 297149561, 53393098, 316034105, 287244422, 113439040, 100319561, 170894012, 410380253, 400930356, 946652721, 350266716, 588295380, 138954571, 118923714, 59254285, 595479040, 897050863, 233895837, 135333500, 758338462, 235281338, 611568803, 355252480, 570837481, 60063949, 910327232, 433260891, 770315093, 358611535, 350144007, 148500171, 625748411, 693841229, 332527205, 872623453, 690496311, 592334534, 87209345, 300058519, 133423197, 374557957, 57276214, 899966546, 44578012, 219660639, 114740078, 378473246, 25353858, 486382684, 147467224, 67994008, 276537977, 587310551, 886794405, 239403194, 848433247, 483694993, 416678435, 183999068, 343235495, 15533225, 997998978, 349558310, 295728648, 58161897, 213266701, 712513386, 30998856, 329538998, 561016749, 713736692, 51473494, 531033835, 684495419, 902005087, 15502477, 174593892, 819674591, 841503090, 578573938, 54953421, 722963978, 305641111, 409114619, 958068924, 479234617, 885669986, 720590149, 745118818, 379433854, 377234522, 327661605, 895685934, 503274091, 171704093, 167275590, 160694531, 20071498, 349528267, 373793898, 164411659, 15737775, 879255888, 393721051, 273718439, 80971712, 655675143, 258913405, 959631006, 923279827, 162139200, 810060809, 653053580, 669594858, 10102843, 695359912, 779790221, 394086136, 149639566, 405276965, 667917800, 312602546, 904974817, 830571812, 544258130, 181806874, 307063490, 751897267, 924270644, 280654257, 402494767, 915828003, 112584737, 641114161, 650357514, 649522955, 533750052, 180896896, 7024713, 2098824, 514467620, 995801903, 67142887, 358525431, 584991851, 84620144, 237097823, 70516912, 753622614, 763282665, 153681515, 974766826, 984403283, 586944655, 668415190, 140555159, 581534566, 206857607, 444324221, 110442983, 576791517, 542159388, 36600199, 407280540, 658960113, 394610689, 856933016, 986820800, 861646209, 803134672, 768074556, 752932514, 11033885, 849173631, 29982026, 467997002, 214762618, 234168423, 554938884, 191865838, 833169992, 348519315, 540567039, 390320002, 492025020, 582380518, 178315005, 363999519, 512706389, 188212886, 333416715, 113774127, 191253931, 738645698, 9230578, 545971319, 379937762, 164687251, 344069137, 609244424, 746412248, 832422449, 365212216, 471536795, 914746595, 747185845, 655604709, 563117725, 572715269, 871780943, 847752946, 986578365, 416411239, 999891813, 854031887, 113645483, 322050072, 184202884, 502865510, 95719049, 546662854, 636088869, 915673352, 847700475, 668170157, 732590685, 77066961, 599023959, 812293453, 898949812, 873130545, 124368596, 759368919, 408538624, 996519431, 243513323, 493043536, 483891507, 505833398, 72313823, 969121361, 446778560, 254651557, 598558438, 230104132, 85340786, 345763562, 887545506, 787662489, 572911918, 736384251, 140934580, 66184229, 649432340, 837052151, 758971844, 426685073, 262121746, 527058149, 119073993, 818465929, 115757393, 556088119, 960488062, 898249795, 38827931, 881980700, 66939363, 195166723, 805469436, 942491965, 871975099, 4502684, 292455433, 527997435, 435490918, 765769334, 378255680, 698789682, 10071575, 380191241, 592778918, 208139773, 870894915, 72837682, 644689691, 809897518, 258826645, 887005834, 389911165, 568500672, 735541877, 167727526, 862220739, 492530646, 111292436, 17791781, 506914040, 728460661, 580269118, 804048706, 36791605, 450902062, 112147446, 208656222, 611424973, 192467519, 30654089, 387320740, 915837427, 438334380, 505441071, 522786462, 230836470, 130997468, 256614647, 412042095, 830745202, 808697333, 147901921, 841936216, 940159803, 194212520, 249694790, 861073314, 992190821, 550231781, 930877972, 255963364, 759499188, 960106100, 851354352, 86474198, 478182673, 144493299, 488749894, 325911785, 845805026, 835488248, 428848318, 45299720, 516348442, 970100502, 650191455, 948685086, 236537409, 994649745, 13220075, 903278781, 446033421, 74517544, 32026332, 358496662, 892948322, 404424013, 964085198, 146308524, 770898267, 602423042, 264785664, 168736403, 755468738, 993073403, 137645119, 938325154, 133214638, 21819674, 918066413, 879268446, 123268732, 959038943, 483221799, 367588567, 921177945, 650730649, 2770098, 980632317, 132635270, 39144300, 801955015, 684610328, 916415815, 508710089, 253837389, 985367613, 918894866, 647615944, 824665073, 537653992, 697504080, 239136206, 220518128, 447628382, 826319802, 138133927, 568010955, 680257831, 950233254, 972653154, 145976121, 187688134, 615897751, 478956529, 20516251, 524356939, 645546937, 301409061, 6096958, 289139488, 109751260, 381350441, 374406281, 83884523, 874066308, 891771150, 584262485, 827313665, 695675275, 449820316, 433453558, 963809627, 419358574, 56372366, 109308955, 128127151, 113473028, 101914995, 134678326, 491376620, 808783666, 267640483, 806861143, 729099928, 291629699, 688001623, 825058771, 462792170, 238082606, 478231957, 853228748, 108559821, 96260889, 66211460, 562511821, 553553672, 703606921, 15422474, 287717284, 620333900, 53914604, 815452993, 432785293, 250266178, 170418145, 997627288, 426126933, 451069148, 431113464, 969007557, 666616157, 691829504, 514707111, 500114693, 475384825, 278402978, 769524068, 354008590, 591848260, 663339931, 676580805, 975776701, 804603928, 885015074, 716509091, 521143232, 718087303, 141870338, 300283901, 516066441, 394545143, 89226978, 533395914, 845763878, 427449272, 78088859, 110130502, 379373360, 357808877, 91426835, 44950247, 742078853, 747720947, 793062759, 995248510, 67520202, 296757008, 807494303, 75932417, 688735615, 983806548, 406488679, 166501987, 85047288, 266224623, 567613068, 890525070, 692016015, 624271901, 984930673, 350288717, 634553414, 458723192, 96558481, 118120831, 580972581, 359577591, 627379637, 601372193, 128566311, 512526953, 601505708, 888652149, 971072456, 845328682, 130241995, 589307510, 209863951, 209277610, 831199970, 365597626, 582438348, 45988759, 764897998, 596554944, 232528348, 944644930, 862855658, 280653312, 690135113, 30737770, 24420928, 94499513, 112268204, 815490671, 352763833, 955407238, 103010413, 34077691, 190726159, 911364797, 62645331, 501612330, 341717635, 212019263, 909858331, 686003249, 492421253, 175798455, 993138598, 390514374, 400652013, 707811332, 73911891, 302223961, 762733942, 667889059, 909871394, 437419987, 438759957, 22319845, 443872875, 371822515, 865445161, 984802557, 156919226, 401543275, 13865619, 823958477, 313809527, 254670044, 107874390, 608487916, 877742503, 936061161, 653944641, 470487118, 446622929, 994170586, 838612747, 179470905, 931572504, 47103202, 556328113, 232526907, 971935999, 90521468, 837026085, 289307164, 102475008, 204886273, 754893141, 374848374, 700845575, 744392540, 987781746, 777983751, 603814906, 973907031, 862971565, 74237549, 290973393, 795741953, 498433560, 876970422, 229929119, 831077415, 519965001, 381215427, 355475137, 113085314, 417050639, 290187743, 948172506, 483455081, 593355239, 501692845, 812944956, 716005428, 462867411, 781092082, 917054682, 847954475, 142049624, 581373007, 799291559, 122923499, 304997957, 351333411, 945537273, 826245565, 261810322, 517548309, 341660914, 714260949, 635638503, 608177068, 880377965, 634577730, 29720392, 714952316, 209579083, 509933040, 609983472, 358437359, 823757110, 576699722, 282455162, 991499489, 611087317, 93692724, 150259303, 289796557, 456179733, 278606940, 157533223, 94640976, 832766961, 519558527, 871270065, 46257648, 366104412, 91265605, 632062010, 291041446, 913729915, 617329358, 523525653, 274257882, 175810650, 846970686, 713442604, 358876069, 518587052, 79923710, 93087014, 620519179, 511633106, 183638342, 787192947, 684734372, 644004, 335449369, 783370830, 560369584, 237750691, 705185558, 644815948, 306553137, 439653051, 744137056, 647552420, 517242868, 974640499, 323159043, 50803517, 854689446, 511073005, 885497900, 638385013, 323781860, 454639032, 322306250, 587224429, 127136324, 718384488, 9231934, 105024496, 234923074, 642094468, 413972123, 77398313, 175201114, 935468174, 155191905, 616831014, 259299456, 935188725, 952485842, 3573774, 635553055, 418836428, 748775799, 962619637, 394999569, 406988683, 168754137, 103513750, 732170154, 374025878, 467454532, 147453448, 410412510, 545763965, 859810619, 905326728, 799065935, 858613994, 785452035, 246901942, 775966989, 57279167, 223529871, 897247287, 612112610, 263912507, 277980463, 912261086, 228835660, 252578250, 30094323, 218954489, 32462486, 813723104, 363306788, 66082589, 249767334, 321627017, 474970904, 660114511, 892412223, 90854694, 486414458, 370124686, 674072094, 607168960, 382824126, 716718926, 563266603, 145390351, 950519427, 410874250, 717490913, 652862747, 295603331, 767522902, 589450763, 154012715, 293335237, 456210870, 90008770, 584929482, 56041761, 110790242, 893861909, 215027374, 631255038, 681673061, 645144104, 623524161, 921298385, 142943670, 342256509, 231560641, 821897651, 328803659, 640923347, 255600931, 83427175, 244324782, 766265729, 249669511, 689125513, 648277365, 797465956, 26737946, 410742046, 979698479, 37983943, 653108859, 410538841, 818949180, 511871017, 538510098, 206425046, 302039462, 361708484, 496414595, 34854086, 583352448, 39627166, 777413439, 397116094, 151085568, 409032842, 141422292, 153463437, 537798386, 727454375, 774941129, 17783672, 742901775, 677042464, 161088350, 138103881, 84009179, 537406287, 30906741, 778930081, 154483615, 800912004, 720785628, 458038769, 118288713, 946119812, 309374046, 986409753, 910129696, 114671630, 76149731, 888904154, 391256776, 511807730, 817464721, 576636718, 750810321, 955689449, 449790768, 441174243, 552821952, 109462673, 577176431, 111534199, 948939839, 485515184, 893737124, 326982368, 762100562, 724076225, 941017366, 664043296, 828978694, 423694880, 908000236, 867190927, 804580378, 260454914, 307964620, 33059494, 555092029, 725098148, 823506575, 992678815, 723454370, 183404461, 579725766, 425009363, 659548240, 233340716, 291403424, 863107599, 9029326, 66107032, 174459721, 469317150, 731683873, 685000511, 865119533, 427551969, 511698361, 14715377, 715097349, 794400551, 71100531, 855143351, 543413123, 345040035, 636513721, 579415551, 216799247, 881834891, 32174681, 574105657, 628551297, 692343880, 826822657, 611372631, 212505919, 115963826, 193564973, 781004450, 870621063, 496089701, 597464289, 628151545, 507390899, 137909050, 514040750, 728527491, 731842434, 903990970, 739122311, 185455645, 805959265, 144930229, 331274698, 144798449, 609875125, 937233835, 678368813, 386796520, 390727466, 728219285, 230336863, 995066507, 155108166, 259924027, 395141377, 423465635, 310963702, 179678265, 791685510, 214546631, 431196363, 721483959, 144861407, 235325373, 899300012, 988108504, 138521918, 992919823, 360251284, 546393272, 946331439, 840157200, 59867808, 257548734, 689319940, 334527106, 28793638, 164933279, 61517975, 428623863, 327829192, 99853803, 138407725, 445715035, 411055564, 891228582, 509006572, 336733592, 734784381, 33313430, 268306502, 344631394, 704908168, 32026751, 649017318, 989442886, 327897716, 148538004, 553007150, 182359314, 191900258, 697789916, 56413078, 319800909, 207440802, 250058927, 545540401, 945121875, 664573791, 533230017, 395853912, 484450930, 874704063, 139614460, 945450921, 864685194, 600527859, 654142094, 46346603, 740364312, 69026600, 741518291, 104828442, 772769610, 520179762, 485083902, 301672029, 682161972, 441562214, 325251069, 74064040, 622789831, 304885394, 554263638, 35098972, 306504892, 420664699, 813472744, 751549702, 242477876, 220165514, 49673292, 877436847, 992368978, 79790462, 902790171, 859806592, 387838673, 417390408, 548884900, 906732532, 164494656, 171057422, 681591201, 121635521, 484410086, 813069536, 971744660, 450036468, 912992539, 354407353, 421984919, 894100631, 5488364, 669805848, 175508075, 424464026, 706280332, 753209461, 933967618, 561487204, 421660376, 651289226, 321887449, 331224167, 916390042, 789776456, 50199519, 885901705, 700510726, 106855864, 235920351, 530918808, 223325871, 469289928, 323272441, 179996873, 33106391, 628737549, 66964119, 698559104, 249550625, 371633607, 523024297, 780472159, 464913308, 506509563, 255838974, 12481120, 348522009, 732301291, 564764796, 626510573, 217332538, 241708534, 313414954, 28502170, 182325698, 145763533, 834069329, 195832465, 558607088, 128874375, 5862952, 723067701, 455473841, 858016371, 41283062, 270093091, 402124427, 471649989, 110865629, 846773943, 108304335, 860745613, 754987033, 817799990, 584228430, 539291557, 362111083, 90933744, 167976979, 721212017, 700168453, 423323141, 493710488, 768730348, 357399927, 650796639, 971235338, 71963156, 43197214, 165819051, 618329396, 474175329, 896443244, 84797870, 201929784, 349903629, 190502117, 383788356, 76357745, 333910689, 995114512, 196955839, 721151366, 403109311, 397637094, 302074549, 581484273, 368946667, 387543910, 787308836, 946509595, 65062665, 169381230, 155546365, 14774886, 887490109, 256259534, 799727224, 952635440, 534231392, 912811118, 469370905, 770313272, 508498213, 627879424, 788813266, 182101404, 362008155, 113883695, 955314845, 407523076, 138367649, 685776431, 819287476, 855331502, 464746934, 309459920, 362185935, 440044481, 184382228, 108102159, 277492963, 642046587, 350023917, 890749181, 343034479, 107339850, 804014202, 376248883, 469511728, 876638297, 213721873, 181175535, 159743316, 714768198, 697168130, 584069011, 472591755, 494843193, 563640173, 54539856, 40829456, 826557010, 682348234, 539983313, 964488630, 151330864, 563329107, 984338124, 827112485, 822423331, 925472288, 379375895, 598221417, 428668980, 517576977, 750730441, 462878314, 79972260, 932523354, 29052384, 888417631, 133343927, 642892373, 850639691, 189028607, 562798834, 475808078, 145371364, 854968277, 88182216, 899653429, 770727395, 811670698, 211131003, 116452011, 11486160, 688413051, 41166866, 285183698, 563408800, 234881593, 45862819, 966372488, 426868746, 831502481, 501047541, 564416669, 935955779, 673148339, 123884449, 458723232, 48571514, 280339114, 25200694, 703917985, 938740844, 352310340, 811759676, 99800452, 604750367, 359283463, 963960504, 390535419, 825731819, 645794486, 79985385, 527969987, 712534262, 83477875, 524212011, 25822701, 398067669, 841322147, 676602176, 710405391, 145638758, 570991452, 966383777, 661776011, 755502883, 644694006, 471007692, 452849045, 290438740, 675078123, 116064699, 757058387, 8762424, 273058169, 445297140, 590849351, 347011300, 534384651, 489653564, 744091342, 231864577, 199787195, 415182505, 349532131, 750657548, 500608010, 800719978, 737983055, 737674528, 356483578, 196879959, 201628819, 854995054, 870474591, 205519336, 442243010, 411345688, 870100506, 973540006, 403041246, 390424686, 35897470, 201393172, 918017943, 254999473, 546239219, 291874187, 966823616, 112649978, 829806330, 592946072, 846402398, 441491170, 462532316, 501637235, 484576295, 181437498, 18988908, 586265723, 246398175, 721717367, 680408628, 447061301, 885233334, 895616127, 892486830, 152884928, 957880193, 61894018, 140140056, 513520774, 893283717, 216649291, 758988670, 21018150, 539491022, 378557975, 154090791, 584645443, 756127527, 393001321, 919974663, 317739863, 18298919, 598114733, 234972871, 41429983, 678202842, 554529666, 490457380, 612430257, 508820738, 818757264, 211105730, 598717370, 199797330, 484672363, 747880218, 791262918, 81111117, 854782306, 10240485, 327701525, 233923902, 823563199, 159381280, 462729695, 186500646, 889931974, 232014388, 149514840, 205196671, 614583675, 378055400, 96279742, 702137238, 227100572, 527061733, 821508849, 196108000, 880650898, 156621051, 291270586, 849775831, 642833255, 340582940, 435306149, 754731294, 891445942, 932295831, 879929151, 908523428, 936715884, 664675264, 546466795, 626050890, 826507251, 855209955, 39935673, 387067694, 476133459, 928645521, 196319308, 902532551, 789367226, 674826301, 683773325, 329989118, 913148417, 383695218, 510619946, 975241904, 314597273, 720754586, 864943478, 831521869, 544389967, 337329808, 223632527, 340963781, 863785819, 231925550, 15968896, 509295710, 487092025, 647418346, 271619555, 657312265, 98299987, 628512168, 592494129, 931423651, 718774830, 493407968, 284435142, 555063344, 504397456, 61141066, 405639535, 208976279, 695558912, 601120862, 761068469, 578936158, 77626099, 710863129, 127297821, 522204972, 861099877, 521259325, 503800600, 358199244, 255594856, 627680966, 190056443, 132233561, 181311471, 275284989, 464953118, 877698995, 540920672, 295258570, 534042003, 165710734, 326102268, 146082643, 27960422, 218943423, 901518662, 876208284, 917366084, 761216668, 479269833, 981045837, 864017038, 698831951, 352253527, 595253063, 567557598, 417891874, 817372563, 133528662, 726190814, 187847199, 618369274, 540263452, 346205278, 63771326, 198186189, 17391715, 627711852, 771622819, 721170048, 614071817, 734420963, 629728147, 927739541, 12485384, 986660531, 122001791, 242672237, 690225003, 30234904, 622446406, 1917885, 100076534, 598408985, 139199880, 113451268, 903265355, 233424441, 141919541, 90996610, 595535757, 309526581, 891478074, 474361139, 162572196, 758467127, 49929700, 714183010, 704416749, 767515310, 19172725, 176609575, 27156063, 788514577, 425163837, 497475397, 358992355, 817560705, 374155020, 878194303, 718951519, 618085489, 602150996, 240659051, 540668091, 783864977, 727627642, 573707882, 759602564, 55565450, 810648523, 657548105, 693881725, 590267580, 927855623, 449776442, 833723395, 296592998, 668995349, 429394095, 164677526, 99390578, 697074678, 387021675, 161032452, 853582302, 333734533, 909402331, 659254349, 446837888, 289862961, 723395475, 137322154, 140871848, 706949334, 806128608, 803378738, 777478053, 177471110, 147260242, 383071138, 802193279, 315446027, 143705735, 231285941, 713766218, 533621365, 599959998, 90612667, 249253521, 154972011, 130486519, 356806207, 603610429, 927560840, 394542644, 2383580, 806171861, 424076995, 530752225, 573896405, 736059738, 679673088, 960414100, 20062153, 564351434, 164337783, 253419129, 326880235, 520057336, 968172024, 528774039, 959241274, 370736955, 352036052, 724748923, 902527528, 192819019, 131929939, 795053030, 589727436, 629877464, 422320731, 289777421, 820362533, 586025518, 557106617, 93811897, 754058261, 794076596, 475744820, 155217421, 893075539, 153716755, 754674812, 769217587, 746830145, 896823866, 188110223, 491808581, 904396953, 622966571, 307647564, 626118416, 350490338, 738482361, 703420334, 319666087, 416367693, 551636893, 685989699, 886434772, 361384375, 151331698, 861186237, 357750847, 404477917, 739169383, 129754483, 674138743, 298353938, 304286906, 945313980, 666645478, 476814002, 788769865, 825324931, 151886977, 897387488, 904959452, 457778468, 199479880, 793425652, 847425724, 712661217, 932285581, 318363031, 745660568, 183250094, 30296954, 653836554, 911972229, 137628982, 763021230, 897045046, 577450482, 31711613, 792495030, 469569441, 482680313, 581408777, 881402707, 978067740, 229203250, 66608842, 872427211, 206309484, 416658586, 496273109, 852942305, 535971581, 152887935, 116571091, 755207647, 225115098, 190080392, 226009832, 936533708, 781335107, 65210766, 832463190, 743927230, 12812427, 155179174, 482626251, 305345270, 526082478, 411779940, 494807369, 644300016, 924654328, 767786128, 166666576, 252880703, 10233899, 966856515, 475918937, 36005391, 372188602, 883297379, 645355726, 649350582, 684134004, 262527773, 676443521, 636336814, 772097109, 487749387, 721881427, 549366067, 922854540, 825415378, 958964124, 805438063, 750266434, 753045935, 53944381, 897481411, 835314581, 288598530, 301090448, 540657344, 125607996, 267463429, 385799379, 480364770, 614558938, 743810700, 610387336, 652644584, 423201692, 194016001, 57813474, 511995252, 931188807, 105127846, 174774368, 296694921, 495013456, 574369969, 860770327, 78436295, 993534196, 319124671, 241653726, 149609981, 464422028, 446616179, 944155961, 725869305, 622834209, 231586263, 62001931, 375738597, 202171795, 500114606, 605410673, 671062518, 837081928, 852407438, 508671680, 390799964, 467443067, 331440939, 428411264, 2715597, 747105239, 400618157, 358616033, 825765831, 945651186, 143877350, 374571965, 236110242, 592765906, 539460417, 501186750, 381883117, 138576096, 569158139, 202873573, 826442946, 814005223, 860807171, 509310036, 66335300, 407905680, 259753651, 268235523, 822618802, 125659942, 420751371, 285171880, 909191046, 630165720, 667720921, 989728041, 195548095, 752187966, 687335966, 484987737, 252813158, 718582529, 571592323, 108302012, 885673599, 425474945, 907657004, 354128873, 37379782, 165239339, 993661019, 55077080, 157508342, 125409661, 746604762, 233111087, 523786039, 608189562, 243947170, 557221379, 673850938, 821436158, 268208454, 255148204, 705924111, 278191296, 426104193, 708177806, 327796367, 656936098, 381707488, 603047233, 879757680, 111978644, 200947719, 318130368, 59423456, 948776800, 868143217, 835930070, 212611047, 267899880, 543979163, 837802781, 544726219, 451655539, 454958330, 239656246, 972094106, 661368249, 913050890, 279779984, 948839109, 74760314, 367334139, 154106361, 549418206, 198769416, 515404859, 612276222, 504146852, 978393488, 232072099, 731713309, 979844, 151777542, 302193840, 657234054, 44181087, 942073135, 39579917, 166060483, 818444487, 661459100, 893046321, 773503034, 421697645, 267575125, 245533172, 289401632, 37278631, 359214016, 393697917, 649343948, 396706205, 423744961, 150933069, 409839461, 386027057, 477885081, 464618408, 979852050, 766975633, 789352201, 116621628, 593617136, 643269687, 598741958, 452894482, 185840816, 831869152, 273764673, 767981475, 198539044, 178255828, 633626203, 971063793, 913859552, 919720990, 635104159, 811622441, 687348966, 156380463, 398256897, 645665070, 536559890, 571394258, 399062815, 143293089, 52121856, 487662715, 968895515, 235949652, 14433040, 774120203, 346475702, 841376366, 288699275, 833738562, 925466708, 824748398, 855598230, 973135113, 255908454, 857097378, 772050640, 586474509, 228314133, 309634424, 507577076, 620550847, 646973484, 767554319, 118567734, 220605046, 951517429, 53252603, 193760293, 498125914, 759262484, 553689952, 320322092, 425029910, 966557863, 978942248, 720031527, 836290193, 687380005, 131724315, 324018832, 511027501, 561712134, 562778085, 79229854, 925378337, 861968602, 432276365, 25536584, 429438565, 829799400, 468657639, 707094231, 264923290, 916632268, 862200899, 421492407, 137822471, 504292144, 571158922, 196368293, 58826858, 22027117, 507379234, 690565245, 382018369, 762494106, 179267391, 705378577, 739345715, 433033377, 72996379, 598459479, 259031383, 995590481, 230272591, 504030011, 70260885, 280760055, 400562496, 532846914, 699908324, 222775787, 97170004, 327876860, 282217647, 619005264, 318878726, 555142556, 559686195, 95459517, 198613553, 940333856, 220971856, 106044955, 556591876, 452504543, 660514978, 759247856, 218820458, 381196549, 970464414, 54851985, 137774414, 203501022, 380323049, 826843832, 659914347, 724824943, 864060482, 32402702, 995165436, 55931840, 49646057, 465876569, 190689332, 529930785, 726236457, 954287171, 365830978, 567235297, 326939870, 236912430, 355575487, 425460784, 863473788, 978112267, 660813688, 322705757, 823741262, 416279331, 764494506, 487353568, 6537478, 769317341, 576045372, 460223945, 782378747, 74872246, 764213257, 530543830, 775673069, 966080216, 797299846, 139347057, 963751029, 721099333, 480789256, 668066489, 175641065, 266334414, 314347544, 161630017, 411954286, 685554887, 738487649, 493946514, 348318837, 500987610, 976908123, 874452336, 301838331, 649461083, 949368573, 798894884, 712993934, 11079491, 653869326, 756699975, 530416448, 605359143, 887413793, 185608293, 102665624, 888918461, 365012301, 738712748, 403923411, 419743812, 490746055, 359493404, 250770182, 340211740, 122974714, 764334431, 236430032, 302678361, 921057613, 368199080, 147223982, 541037981, 534950320, 904977588, 393669372, 812316634, 656669131, 42783119, 691400372, 285359295, 748527880, 217877911, 810780215, 902942341, 527304580, 450500227, 631790769, 919102848, 178446303, 586052084, 434582430, 745750592, 550874731, 701679772, 123453922, 215517213, 225447075, 620638308, 431775042, 425018505, 669989966, 492262854, 448646011, 332073815, 950836543, 393547184, 97849759, 974061560, 764539330, 169434116, 434693152, 487885684, 362139565, 439928349, 983056749, 870061616, 257978842, 796939991, 982843926, 291900984, 884054151, 231069800, 936705991, 706650539, 978784388, 641544248, 494716313, 772117788, 666799678, 847087734, 522518640, 839803532, 327547043, 941387399, 371573997, 552934837, 406007761, 582147714, 321439414, 941358555, 331129473, 425361015, 197676387, 61105446, 557223532, 46239288, 900047738, 451492241, 418851232, 681927821, 493388874, 385503414, 10642027, 904656143, 257799386, 547299988, 511546773, 260435004, 478282251, 642837585, 190803758, 766043963, 594427497, 674087181, 267280080, 755547551, 171772045, 285727746, 888309581, 248952711, 289746915, 824626083, 79084147, 857184452, 284761659, 949821179, 273468992, 467729307, 238572655, 570478900, 623903181, 870884470, 147541780, 42771716, 493228700, 74806919, 647514047, 846893933, 132576066, 823806315, 394055936, 629615859, 342225578, 674858653, 944763376, 511453143, 170258772, 300571365, 321825296, 302227543, 401962428, 822327741, 799638899, 670190067, 349473533, 135058985, 884061882, 861157953, 124621028, 689608530, 645615161, 733914182, 649425409, 387417982, 323838922, 800111300, 500617743, 269411316, 851820616, 16375479, 217927120, 426976995, 85391159, 645594471, 149846032, 329171256, 648095525, 20326798, 954169649, 662940425, 212323145, 895616976, 777500742, 1808807, 136777431, 840500856, 207144272, 481763012, 707009411, 805189035, 813439815, 34172882, 936814607, 394534645, 297380676, 283194660, 522240251, 59585809, 832324076, 376913577, 534568389, 147219430, 106186487, 34698897, 67456530, 280662406, 212652670, 957602466, 827096088, 559561321, 811989492, 780746669, 790721520, 581031037, 192067369, 863201511, 405895109, 772298785, 292654916, 268810935, 857892396, 80359360, 955636157, 535338864, 705268780, 144247729, 823343287, 62498071, 61802807, 703962379, 160079668, 317255428, 489280298, 660773996, 902314716, 696103674, 132779052, 696634644, 717486062, 802046652, 394523733, 261535893, 739439552, 164698263, 538802195, 243359562, 215543863, 841618694, 612456968, 83062603, 477472559, 242238901, 478994213, 931625791, 480226500, 31308113, 443869927, 677140759, 536839175, 506389644, 296191066, 669321188, 89194396, 963889675, 118115666, 544388534, 310006093, 323200468, 911538659, 220373637, 181224140, 591920839, 123556247, 333985744, 806293111, 917718930, 886862482, 812239537, 963062885, 535437801, 875956524, 660332358, 864027072, 740485217, 176653077, 479815294, 286366033, 409424316, 157530097, 623300773, 774303505, 276387808, 231268861, 720635335, 694596347, 400856848, 70156968, 594868378, 870506755, 786710376, 198649304, 314252728, 689314059, 197649259, 174044939, 13005248, 49091283, 697753695, 317791723, 389428982, 968096589, 969421708, 366988650, 502233657, 872684743, 692539555, 783877162, 818514180, 49559451, 806348220, 209696462, 93140764, 317002277, 237559657, 862153491, 469926334, 530979830, 499836782, 64200344, 589996301, 596946454, 593422280, 932950667, 788339722, 717063580, 440653094, 810951820, 772828519, 77951749, 891788643, 519451287, 787198311, 98037405, 386827761, 279833137, 751289024, 717026196, 125657246, 978776504, 326234740, 29782925, 377685731, 460961994, 126744270, 783271694, 643535531, 940068685, 868909398, 300730259, 607088925, 644115552, 322333819, 402695618, 628036035, 685014943, 195556422, 177086267, 99192942, 183064114, 325905092, 374238260, 718174274, 750436678, 702160699, 446878418, 919180151, 395619183, 359669311, 208155679, 8924448, 681715858, 519469133, 858815830, 705209996, 12691327, 777068975, 296253123, 645923653, 930218092, 154906359, 930265333, 902955547, 187222370, 555954693, 757679210, 740608459, 245544682, 766589288, 440459159, 673901174, 906491323, 439921233, 293670742, 856903824, 341060754, 277450261, 236491803, 602589860, 479554895, 398800474, 778227861, 539096269, 666789328, 799531733, 256359231, 877385474, 896240439, 64542951, 275845463, 732547748, 137677833, 415897698, 230109953, 432110164, 450399924, 619059764, 642126763, 792745514, 700461849, 726097882, 403108544, 741389975, 236880816, 269254488, 659396402, 338336097, 670210740, 573965055, 510892605, 76741407, 561980353, 240394053, 279740168, 700976061, 290449527, 837300074, 698806066, 300385092, 250555038, 251245851, 1937479, 284651788, 729655907, 504739112, 732183352, 926444689, 420867550, 16447551, 750411304, 866839023, 878746070, 657460569, 735592965, 733990817, 551597380, 21582259, 927596798, 119617763, 922114555, 723379020, 127242372, 178770057, 483252405, 174624393, 387460620, 478525088, 618860762, 720556225, 432675208, 969746969, 281373027, 660451355, 841818896, 29212922, 161468084, 132290648, 397214261, 753679320, 498552058, 858275592, 741726482, 521651793, 166017898, 44658326, 221782339, 526443265, 258658633, 171053276, 567994260, 736175122, 97495770, 210105064, 103732819, 740258388, 704452876, 864259897, 488324527, 282242638, 54075431, 245072717, 213698718, 670537573, 221559935, 69637557, 453590415, 996578331, 785036081, 755815606, 859910581, 347268765, 787891185, 442091497, 682606625, 124930639, 445360667, 538896835, 494680157, 761489329, 21207734, 346573587, 782405883, 111912448, 854027779, 748253831, 206928044, 996512759, 21597418, 952075122, 647833098, 712112685, 891992676, 958787784, 332164995, 578861464, 187485976, 576318727, 796865548, 560206751, 365908244, 539502584, 73024061, 122642699, 143377100, 224247096, 225315449, 557130652, 978900986, 503321969, 457494021, 562952864, 633890273, 398014085, 512567067, 18263268, 179913323, 240004137, 661383820, 774383197, 552153726, 564389550, 171665652, 110947775, 651033885, 680451278, 968009501, 24008013, 927875276, 977772331, 50147501, 640703187, 23554983, 750617934, 852727062, 917255226, 756605002, 976436447, 785639899, 637273004, 411012452, 842716846, 854525864, 664490132, 548709111, 38392849, 953924469, 912576088, 364761939, 52428172, 141650890, 472441768, 691726204, 662635382, 295251204, 305750182, 623972828, 274653905, 321714469, 919793085, 173751518, 240280827, 911672895, 188795884, 194552650, 597181490, 825141996, 906880571, 37284561, 696470905, 186770448, 685513495, 535595889, 351892250, 38501071, 204823881, 81388596, 29152443, 292963607, 646328442, 384505553, 737849276, 538655078, 806724568, 462305440, 250726207, 218716078, 291244979, 330968670, 403199346, 22359244, 533780054, 130831647, 739326268, 871323435, 737241509, 251704581, 493380144, 892762427, 363681097, 423099071, 312308565, 214437927, 147904025, 20211776, 546925611, 629682867, 770766173, 187663458, 826102216, 291335879, 25939860, 692667831, 343349291, 625407454, 855603223, 107064908, 811494604, 425454803, 10854778, 18637390, 914987533, 486507447, 348809208, 454790157, 731177246, 750551152, 621308792, 81897987, 594586374, 363823309, 394830946, 126067563, 46341277, 542380822, 963819025, 832719014, 161193876, 891611536, 274520890, 672524261, 971426452, 219397908, 456987714, 563515217, 759581261, 767893429, 937385602, 559910638, 516791163, 659159605, 485894955, 995496820, 429195554, 873071150, 112482375, 769207721, 402214123, 450367532, 583330404, 517685483, 580946029, 108062952, 797232206, 317076003, 375994690, 82611242, 448825257, 938657746, 814363211, 262833704, 367034983, 562727402, 354774718, 337336793, 753957925, 672284090, 658955123, 273863902, 312743187, 209053902, 561602993, 746619011, 435795556, 864061789, 8871559, 265980729, 401957642, 24386200, 27151239, 990938757, 412611201, 399861991, 83656629, 190336889, 664408488, 952477234, 260620747, 392968977, 766229915, 289621404, 901502586, 816276969, 226088743, 299602497, 202930920, 517020643, 354203504, 588484291, 899036465, 985870917, 206137671, 564301957, 223988719, 563630316, 738497512, 647140718, 394936010, 203423408, 411527338, 91301214, 644948992, 371825101, 323888605, 514892027, 465813830, 898912754, 19315866, 340241703, 739350043, 934851054, 19739937, 55208440, 13488935, 259367921, 242368847, 349547637, 153918396, 358366148, 119046200, 153435989, 598150107, 487155672, 650180898, 741193163, 21840920, 542472252, 896010587, 156655807, 147443206, 289282437, 642838545, 339034447, 48043774, 301382646, 287943651, 692947899, 510383860, 713567806, 122657912, 462891839, 220022531, 112429074, 190438903, 490084227, 874985214, 979917783, 377740221, 784924060, 16110684, 814492552, 670227546, 847124453, 105480650, 627217755, 941817528, 778043210, 426740925, 938572393, 382731391, 600192591, 300374427, 963974280, 491004835, 441039957, 761526647, 245586104, 840381389, 680780588, 765307252, 598766053, 874652277, 575552180, 389984117, 590612634, 567786979, 61031939, 633082964, 505450318, 464213467, 328435013, 866114020, 882856041, 121771313, 393583434, 354172816, 543981606, 792969888, 337131935, 893082317, 373295667, 221647077, 884034897, 257500899, 666210797, 583639136, 245347476, 412401747, 522005709, 94384893, 959984312, 639849824, 837941911, 716937875, 112053063, 18872880, 671094878, 718792289, 531845519, 905548668, 102080703, 931776915, 63982082, 390404633, 602551393, 37375211, 313045194, 61343914, 568756512, 616848956, 553528590, 499728116, 666127098, 839036589, 452915112, 421717520, 48648579, 320333823, 702663947, 899183669, 807022932, 568684987, 109613945, 82511386, 486929667, 761261803, 694118316, 353141770, 948471263, 458410835, 810064424, 365528145, 178996312, 522325856, 51378928, 561866859, 180447730, 541374769, 493898538, 475345500, 546165368, 53059232, 651720287, 490294131, 992103511, 394833045, 33110256, 676441832, 689044052, 548369481, 552516766, 331889580, 603499018, 806403739, 168445366, 210823481, 876220226, 792872719, 205876592, 511164461, 294973240, 798702948, 168791364, 353434250, 128022714, 606643234, 144385642, 459145536, 931317317, 792373126, 436708290, 724250807, 146950568, 84592880, 81558887, 850209607, 263310056, 805192750, 316752473, 171303436, 897382077, 554600124, 217513651, 213760205, 164111901, 530631578, 417206596, 977233886, 934968585, 927251826, 693537857, 106737543, 193637990, 101829390, 264031135, 304263390, 770358334, 218358900, 381732197, 965276644, 441937631, 921598115, 819172509, 392015686, 491287568, 631104204, 564507617, 543339731, 681365487, 208186955, 161734233, 389974203, 909706271, 32237560, 867200578, 348386362, 65682139, 169055274, 328750516, 311951326, 835749244, 687793381, 568217455, 68008087, 382225986, 622406037, 882308494, 984812649, 530696435, 108467482, 774734572, 931908980, 895550610, 159698704, 846794036, 76955694, 996744576, 975140596, 936696794, 208231102, 898135066, 79902492, 862338963, 603150752, 721386928, 703373458, 11282986, 480220154, 651837020, 754504365, 890389295, 301171009, 80587962, 21452527, 338806855, 624936007, 219406937, 367877591, 721105164, 197041317, 721236136, 190677260, 55172518, 135359942, 42370990, 76157149, 230294726, 456939077, 199466825, 71625230, 789117321, 753567023, 388500636, 60289770, 234092784, 900174683, 939143847, 483884223, 301973613, 389029617, 994481041, 295110117, 792700592, 720511445, 16811986, 758232971, 621336630, 160232968, 720580436, 323717833, 772355248, 396678760, 824477256, 370034788, 80337073, 470179049, 900866805, 286070115, 376638969, 957425365, 476001060, 178280582, 777721422, 623647231, 923511776, 701614819, 126345194, 984395542, 677834625, 203028151, 857402753, 971156629, 36612660, 66416180, 850655837, 616230484, 163856010, 677400293, 620123698, 779109360, 200041347, 927735414, 682970107, 331170370, 64639640, 357050981, 3561059, 838673962, 142510919, 424892648, 659520560, 484833851, 664952881, 147338090, 224449961, 962084269, 396444049, 18801845, 172582056, 199425458, 901521823, 958973398, 842209199, 18302270, 390011116, 53649283, 610285307, 799198208, 905947098, 431539848, 448221852, 387803592, 859372761, 136992388, 14697483, 475620712, 377666451, 646551371, 967004421, 451421313, 408099694, 280210962, 336988746, 918917059, 772693395, 922207401, 779775689, 139458540, 952865486, 160966678, 675920374, 93247394, 622776597, 552661862, 790191788, 288894455, 518477359, 2679918, 398507504, 813265580, 71546495, 134837899, 41821566, 126324956, 533243211, 995479736, 984754671, 96739344, 612099710, 420097159, 289929924, 556048062, 391599888, 809749684, 640175958, 993334488, 778064793, 786052433, 886867845, 154968666, 41437650, 249749222, 134530513, 428364440, 354134483, 843337893, 355073518, 882712800, 565967114, 640604244, 344987017, 102882346, 221298067, 219779648, 458875519, 55674671, 607557423, 421517024, 936242148, 414036161, 755994697, 622378052, 295786496, 404129864, 912798637, 386613086, 89644807, 969608261, 422301111, 630338782, 501081704, 280166592, 531503515, 391890500, 29391916, 362420228, 811727300, 875970621, 580897149, 207610073, 169228847, 836910769, 20399290, 884386792, 241136548, 73135488, 473869990, 510060000, 80943183, 875333076, 597998785, 467078568, 987025891, 696306000, 773748579, 892142136, 635881413, 938984788, 841533556, 624410876, 100022912, 506148919, 385473816, 827817972, 77791055, 860999866, 489559791, 540393280, 462108418, 345785646, 55744558, 189331377, 561336280, 401288154, 21977696, 931733591, 936344981, 902949579, 562665909, 136174552, 340719260, 424954233, 688908067, 344380781, 713206164, 52443703, 647054996, 845850916, 676630208, 883880749, 973652865, 695605581, 662124264, 173050063, 481157425, 942949683, 576304607, 354684279, 850060115, 300117290, 862451832, 650391763, 898228475, 255938466, 316905328, 148931276, 928443370, 722871958, 143878425, 531423265, 107365027, 451167563, 770310946, 294668112, 27399621, 397460559, 407800449, 452749627, 188411217, 581816067, 987741932, 382197905, 211980653, 682706170, 908934966, 972682148, 260634326, 426069689, 551045361, 920044047, 851033363, 585944296, 802975404, 360260488, 889317166, 137789576, 529843474, 583634608, 945874015, 73918537, 562032727, 433753302, 300826688, 831866007, 912584559, 529426825, 666452058, 327080641, 723234319, 846436278, 416536779, 724666899, 107504828, 193389834, 190820495, 666534099, 617320938, 892610562, 781390009, 336486759, 573436915, 18497108, 546230179, 702056586, 446569685, 922409980, 595650842, 671292078, 673547673, 931440955, 152182661, 894300245, 532519279, 370353137, 884835528, 307633039, 730987837, 720292266, 27446949, 9806745, 540347065, 85176641, 393883964, 515037713, 307638330, 583409326, 66355562, 450546600, 869563748, 827419274, 322902837, 145327349, 332195510, 354151038, 53626220, 848977644, 412193257, 933638222, 39471954, 290659193, 306081175, 163125848, 642963484, 157493987, 353037293, 328790073, 228345262, 597399056, 776360692, 631830533, 587116519, 736695947, 64748593, 728928691, 556077720, 225002924, 380621058, 524456412, 54438188, 537522074, 944651413, 875680639, 404812368, 667485533, 513401825, 231295938, 926115817, 412450321, 79238469, 564744366, 955211334, 600262893, 790951892, 231792445, 640990230, 831365738, 412075606, 775316164, 353003397, 37672466, 474556069, 826410062, 986269073, 154561959, 314503853, 319744666, 685383540, 504991433, 514297640, 975755219, 583477901, 223038607, 266450899, 386740720, 119789665, 817594499, 836510643, 677355132, 681645499, 432827366, 559497127, 946910530, 979218806, 414167311, 333734709, 143924953, 337047847, 714759541, 136730687, 47090149, 156886030, 937838634, 813602713, 972179158, 204432299, 997323138, 8331020, 230498709, 522930388, 568902265, 230326154, 498975916, 938994876, 216897150, 273622537, 754622172, 610363421, 255456099, 531066393, 380444913, 27319350, 62726460, 456129779, 315658896, 842937716, 229126859, 644006260, 914350181, 276195571, 882518184, 589251697, 430474198, 506871059, 408137188, 472658793, 707844818, 994358289, 57046443, 576452263, 26980817, 875121357, 270276985, 973354189, 643845101, 823763313, 954638947, 502759044, 434754339, 678901983, 102469658, 562000906, 662342501, 695747102, 35502526, 581631351, 233794182, 878894730, 848279018, 77227115, 928880961, 964397445, 191630480, 902925260, 523317638, 60966560, 174612098, 471873687, 973659005, 299745212, 248209422, 45651610, 890467679, 271718084, 61165285, 702270945, 268494976, 843023867, 860994605, 723644354, 316401976, 380248980, 582580399, 975955535, 384250490, 62994820, 5706790, 940689472, 853494243, 122020362, 22996275, 881532092, 67801449, 453533125, 284472956, 689053599, 513574548, 457781744, 659026002, 870895050, 200951731, 150502485, 396836847, 990103551, 962142010, 837734927, 240931109, 244551291, 331739967, 891199454, 629058701, 177570361, 103992599, 625745486, 76652630, 522003556, 951756793, 229286858, 818662262, 742202345, 154054569, 865536909, 916968376, 662314697, 842614725, 635622643, 975485217, 66640935, 18039100, 279780833, 233226895, 114871283, 195447725, 79272443, 653411341, 686135956, 944718144, 978128765, 253880516, 396091387, 640788422, 418941195, 3058362, 427660868, 638381098, 892429294, 367397652, 116322028, 972577455, 173952780, 49781901, 837411025, 516389175, 825054175, 689078919, 359657159, 929682319, 186321227, 515981911, 671328888, 767496838, 229794193, 32125453, 327102144, 615370214, 114719527, 654330435, 825040247, 344990676, 293789853, 812833523, 390089354, 477966317, 994101554, 695635539, 86772164, 873698718, 918387983, 643131862, 258856601, 80875379, 478425879, 849071416, 484631005, 520132803, 422442563, 146332340, 630898380, 380864856, 490916182, 656886042, 356956965, 752103852, 457049962, 861059296, 217169774, 694401624, 455558478, 662743016, 577964968, 349476736, 676228456, 319633417, 676463598, 679224397, 873411254, 618618374, 686552783, 966244414, 715438868, 447958722, 542252350, 839544699, 700604432, 985861572, 859855410, 787196529, 263213271, 252592442, 774158059, 35946113, 665830370, 825192480, 392540009, 359197690, 364375261, 155161558, 826930925, 72923331, 731252352, 879317035, 18603233, 421878382, 617756177, 474334064, 314703381, 342552156, 40221338, 158161553, 812422608, 284972955, 199975759, 295033863, 776949334, 775749347, 222879835, 610550057, 791985674, 804750769, 603566104, 931164510, 934486407, 216792622, 369029689, 466333917, 911329902, 275725115, 958505835, 367126933, 159325945, 421089149, 921578763, 127954416, 832114634, 415075148, 367781991, 696238962, 770525092, 533657677, 781840352, 203190483, 773987177, 874953887, 719158872, 21707420, 618159165, 59848388, 256527513, 556034480, 268825700, 361028033, 216326107, 156964709, 608997231, 650989396, 929966610, 336913187, 248953633, 50908138, 521873563, 564320127, 887629704, 565817374, 976687972, 21117610, 471042936, 812629616, 562931342, 640229862, 43532620, 874852892, 678844266, 563457842, 844103605, 923295092, 924212005, 450528942, 579218190, 637029120, 219910601, 134562100, 84712948, 833380945, 582243043, 538380345, 785066749, 512792677, 803907491, 144079540, 359341589, 123766426, 813292626, 217103366, 132853563, 68484654, 71003181, 653330930, 631702405, 545393264, 290630260, 778534626, 955578683, 491658605, 418996932, 221628162, 778284989, 655312420, 116407950, 887868124, 357111777, 983191438, 834240654, 252536980, 595338117, 745881647, 628223812, 596158312, 859070943, 809279311, 429786846, 539095748, 109403527, 913494668, 953517882, 23948707, 51088202, 321880555, 804305080, 816806089, 679143776, 735204203, 817153539, 627735715, 636331594, 375348058, 819750383, 477169501, 680399564, 108491449, 271530538, 849974073, 137626243, 688493235, 227963567, 428377178, 404380697, 200646645, 594325491, 893018261, 15638539, 370308995, 390054354, 462220952, 99753129, 829727167, 145011698, 805127710, 539521804, 266842715, 780480158, 5716561, 663041554, 486098059, 502885228, 277546655, 309431873, 347918039, 447847507, 550274778, 258382453, 299924947, 142857832, 932704398, 459993940, 903937713, 696191276, 19981637, 846574328, 492554025, 50531373, 98652450, 525705777, 639426145, 382607660, 685455703, 253565449, 429144760, 944821810, 897219994, 265320948, 648382330, 939784037, 234677739, 466479829, 512025263, 396178916, 439309215, 858520935, 356715229, 881379045, 760009573, 740613689, 195522193, 261648886, 798571601, 148460809, 982492257, 31648846, 226597751, 302684610, 583107174, 718156519, 756723385, 834547485, 65692757, 547921965, 186132493, 104011778, 614807359, 679978113, 229612765, 644618908, 33883268, 156816934, 809266304, 260575892, 14532519, 910158543, 690455611, 219106803, 537884909, 382547692, 612705965, 152674249, 806172130, 892876801, 239235033, 839360269, 39207095, 639778289, 477270413, 333610039, 894640602, 374180071, 825930238, 166444847, 910409117, 902858556, 959834385, 192116014, 249837074, 354032371, 47989905, 862199512, 419796561, 869528266, 783375126, 570092242, 560303304, 109474266, 195803085, 180210344, 967006225, 211712034, 265195053, 849244227, 734108816, 964942809, 84399929, 883034094, 11131558, 802601283, 374517445, 917790267, 247100865, 418637481, 848662397, 129004766, 110039303, 864063789, 264983725, 893984124, 79676836, 496640767, 90028732, 301278629, 864005112, 476900064, 259770075, 939036026, 569703670, 156780680, 303247972, 47565396, 582726920, 272412794, 813962439, 234236962, 69517142, 371164827, 697677407, 780609970, 192477203, 134719828, 757017691, 99365222, 896187775, 325031922, 944894111, 792079352, 113696894, 916687907, 826786716, 75197925, 845314666, 267999802, 662980087, 493397917, 152677418, 433619692, 847302795, 648757316, 448882554, 232291464, 349209542, 430895763, 416299947, 518378212, 996501504, 712410464, 707614308, 423261589, 13087776, 775201932, 266498483, 625290099, 111502284, 203941682, 999093634, 894288744, 322881701, 200287044, 167596182, 182929913, 2060068, 341449428, 403559447, 488244049, 300347441, 441752932, 863182295, 57702243, 577729374, 498318373, 662937811, 323508415, 233822637, 649794104, 738544806, 325121024, 446658646, 431877436, 646319607, 534265213, 300651169, 974308459, 60722660, 830821810, 38794448, 877471464, 978742709, 755329481, 593262796, 955607805, 608437306, 266196334, 26431383, 220516551, 715753256, 635178696, 649736827, 907729917, 16806062, 102253710, 172201327, 699623524, 307776680, 989538279, 876963179, 21952483, 138599819, 9679652, 516046591, 161516485, 607614954, 260164732, 353791767, 598430341, 806466856, 68930621, 405004463, 114878544, 158737877, 500446982, 298547217, 962266638, 307864190, 820412223, 453416348, 157267443, 351198833, 280347698, 935443165, 797385183, 267062620, 981178899, 148345552, 349816862, 935649939, 508218792, 376439177, 599382663, 720476931, 897568968, 77635279, 476182103, 411052162, 106094216, 581299471, 235033078, 570820777, 109553818, 973421262, 939404001, 23221063, 11091573, 48828313, 798374735, 240328324, 487147073, 865216035, 310961628, 294708693, 15975549, 827540221, 327269200, 724700947, 711760049, 192401626, 991997546, 25004247, 839778612, 61752480, 864503164, 501661045, 687069654, 27144586, 923786617, 298161947, 222186903, 350473188, 137853471, 938817419, 251344793, 434411806, 614145574, 28358020, 938772455, 490756469, 199254803, 555323884, 735026177, 493844664, 161416838, 806724553, 605522997, 596213505, 167687424, 344258055, 474633876, 147741570, 602451614, 414518778, 294600302, 738720964, 109637043, 923749594, 270648859, 940122514, 433847778, 548292313, 677418968, 134590687, 660129051, 996634221, 952240007, 586747057, 521011499, 226037258, 210625710, 600267664, 386008270, 709503973, 740640472, 565846171, 380756643, 841608963, 59700418, 398385320, 750282535, 914440616, 9985917, 233648974, 293923071, 155935869, 665237184, 862365374, 430329591, 129410447, 381968276, 488473906, 296313211, 727223284, 917846588, 767616702, 50514791, 439279784, 456290490, 768630630, 911775122, 68974396, 81639910, 441603549, 434650767, 877141502, 982785807, 264730055, 865783404, 8979445, 61773270, 397474602, 926596057, 729935572, 148079419, 785251786, 152260207, 143007210, 117565052, 117791821, 234482649, 478592479, 587874501, 170763147, 314690597, 227487918, 398495425, 758517780, 549640952, 209542814, 87424909, 662147711, 657876243, 189331569, 885062074, 896093003, 113089113, 226843866, 87728776, 788079022, 123557014, 26176256, 715606426, 926149270, 861111431, 747183837, 178400619, 741493124, 840458339, 130531929, 830860347, 409323285, 906019079, 329677917, 957027775, 605626008, 250199132, 635388143, 1944211, 300747405, 335507392, 754543545, 920141257, 956834941, 881315539, 728907682, 440725661, 677430705, 217853329, 485065926, 48305572, 937813763, 187344305, 59089515, 849270907, 496975473, 555867708, 272526375, 945852844, 60787407, 77752637, 975700591, 371544649, 425894044, 278123569, 110372916, 693856396, 977050133, 463353412, 260988847, 1163466, 880872738, 111943223, 83541469, 175024536, 834962902, 218527232, 345064687, 294954482, 589836746, 795130795, 462292817, 881045119, 164112175, 496406846, 159187941, 927454101, 937932797, 929212924, 91792522, 331192687, 489348525, 256793871, 783413370, 772558917, 672181326, 534983471, 732994393, 65473689, 76529154, 204296003, 357521662, 717632827, 530457155, 619278532, 507934481, 116455981, 84747020, 863407989, 1797259, 994844318, 632706598, 16024609, 394371353, 616698231, 516877510, 348275754, 95913648, 537409088, 128574512, 543371393, 342541508, 793047523, 59910253, 401819656, 463593124, 887662993, 289520095, 768395323, 502058366, 890939266, 83888862, 380477587, 393063489, 104227249, 267952132, 593420525, 130957450, 10795286, 853030091, 215720789, 445140541, 602191421, 864597670, 80641931, 44311488, 549856490, 818908189, 852957326, 518279835, 354327654, 33576260, 596436229, 228312515, 588044650, 316375158, 287144337, 827008654, 301458676, 163019335, 52202232, 847896502, 498080499, 901609968, 484792877, 738047050, 586811259, 198594966, 368420486, 140574603, 83114108, 585711641, 993728670, 527441155, 818837937, 187112469, 875747130, 68654256, 573731696, 547446139, 217606742, 803019829, 94985217, 32946088, 648540348, 566194508, 816867217, 815296182, 269301885, 636708373, 966464769, 753509212, 379532683, 433016016, 80961139, 352138144, 245281132, 207848471, 777820209, 138411140, 529578606, 105238249, 718391427, 415357280, 43314857, 975050670, 737464055, 928663421, 43159261, 181100042, 664698854, 304175792, 715039359, 62666560, 377967108, 834208124, 979199538, 548828527, 477244646, 777700556, 756136706, 511349198, 723448342, 532791257, 111045718, 998576212, 225445426, 714652470, 603550069, 121076182, 707666957, 645648509, 496839189, 773560897, 993649189, 227614606, 16566353, 999993931, 772946135, 493405785, 253822557, 863166389, 579321332, 998296102, 659620973, 43281138, 571707238, 303702861, 290317436, 954244578, 435440320, 222503660, 914365904, 709368182, 759382765, 263310254, 878795497, 425151991, 543313449, 606173364, 479171999, 852820745, 24009613, 718271725, 252691528, 264669256, 819715102, 80033713, 66107493, 681893383, 435816165, 323711787, 391740931, 939064575, 633685998, 283779785, 32061491, 785551073, 105200804, 731175824, 957621773, 121671987, 466195099, 239827295, 888184031, 446728368, 870182665, 224512604, 882692307, 368590790, 243472273, 968675262, 103133511, 385093405, 389517233, 575776110, 52278443, 797516484, 37038657, 462747079, 877942228, 287591953, 984994397, 765843752, 336499840, 703207310, 992878522, 766736667, 952623402, 899357218, 131563942, 30946284, 107610422, 176599716, 703733325, 241837651, 571778504, 2930038, 690713126, 481830115, 766783671, 502793944, 960845117, 827119347, 769620652, 178959908, 259711243, 921635532, 815922891, 201961454, 601445199, 898871418, 440587937, 293227676, 111723494, 424739688, 626695306, 203325110, 888109376, 970254117, 305583846, 882253853, 7663246, 750992991, 662598134, 68944775, 656718377, 123584879, 876552288, 651563096, 356875326, 385431338, 368929799, 170430130, 281986649, 605877294, 440665232, 222924402, 484968215, 481441802, 135560307, 521485553, 500301154, 923443097, 12762760, 697051094, 687821893, 907772238, 772727523, 986009501, 40913763, 361467276, 219163702, 452059994, 771886096, 717856028, 386201494, 635711247, 15668484, 641283946, 283390994, 230467902, 447896562, 731503906, 288321056, 872479692, 540954819, 954281774, 242338777, 789789256, 267357096, 101157957, 351775253, 458546225, 202940975, 499671746, 258347217, 848230114, 361963389, 733372766, 218227026, 764481175, 72874789, 912580357, 52708721, 717269251, 603139726, 102740366, 99377005, 114886741, 50997780, 208804809, 365548144, 550682023, 511083417, 969551253, 759891241, 37674464, 455754716, 158486230, 553355819, 299784580, 451513283, 40478698, 375853944, 380705764, 54498792, 314628283, 958843805, 721517165, 810615605, 500334075, 345441370, 999140698, 753844733, 133325416, 768847732, 715622618, 212459446, 65325110, 994017282, 306096619, 723047571, 508837033, 653457271, 236516982, 758162475, 749283312, 20661270, 196449729, 235892829, 184327503, 416438387, 207966999, 26589281, 664912279, 171810984, 74810654, 182282234, 377371605, 700242974, 570152995, 456559274, 920600492, 118849264, 374143914, 785691898, 786383212, 780862657, 365170849, 754631824, 53492053, 75280074, 878213, 172468702, 891626617, 536645305, 259334783, 429113378, 308114321, 396794847, 122984550, 163686153, 289390546, 579603593, 285581237, 659663185, 553439563, 19615872, 882601291, 292525339, 138656947, 579888706, 934145877, 327668163, 525582957, 118247822, 355066535, 412791468, 489367552, 562860714, 242240089, 707293685, 271911297, 335666901, 764484253, 308863957, 429823474, 911250044, 533864172, 939329898, 13396713, 27573259, 938146751, 608279259, 600194226, 876050062, 51648721, 418007799, 820292358, 14396580, 878046960, 436266182, 100859515, 295147725, 483802406, 219465169, 923757236, 323266496, 8320537, 146492408, 58602560, 826198187, 811504807, 188585092, 690924790, 113275735, 760349498, 128725361, 173521235, 835610881, 359468835, 87987094, 997158464, 638310498, 570329779, 410301732, 500297687, 69595771, 567356859, 286859830, 667982571, 152386061, 783061364, 535375073, 541275978, 263893441, 717382729, 503654925, 753618465, 743288336, 67594559, 830348185, 801940364, 432975119, 66593383, 413440746, 860046961, 852933964, 961529404, 878442704, 438773054, 675297661, 840326220, 661837465, 179768224, 128733221, 657808928, 909065263, 535267723, 212656222, 984670508, 185605945, 304557924, 372283503, 221747601, 697745667, 26210469, 542051163, 115016512, 513949272, 343199898, 81216169, 745985252, 787512787, 36232270, 857876631, 839295196, 173850348, 607762245, 163831038, 585641834, 747377058, 432018643, 91118110, 159112913, 463736663, 378532718, 197573410, 243197663, 689835084, 749587879, 124860954, 92803223, 853568396, 803692641, 981352300, 415950662, 366884567, 123353456, 962649108, 520366481, 241440889, 721332012, 453784691, 416099761, 329017091, 779174571, 183919433, 523238293, 905296872, 5387343, 729851402, 387660858, 506954123, 212829299, 281637921, 965996012, 965024729, 83164396, 145875047, 654756105, 561370837, 620859228, 78380876, 83323415, 769854026, 331316667, 367254621, 829301808, 918039547, 775875832, 57042777, 273658141, 220854867, 485775444, 905799336, 932407068, 171399107, 607448156, 373384865, 935134668, 686833017, 709778274, 841116801, 760028947, 969540955, 941315097, 162619672, 863497704, 872622649, 63885983, 817554554, 140951701, 320210372, 879823534, 312009037, 651281756, 36218913, 830762818, 43594679, 611846045, 851956509, 237277531, 226191977, 756668333, 193094965, 446830277, 318751097, 290182397, 380102429, 927574663, 776178047, 350718514, 560558438, 149572520, 376102427, 359960967, 29356948, 583331078, 83820654, 657918019, 734220052, 155645212, 262481493, 880687292, 861143282, 741627867, 990942598, 490717898, 771461858, 568265792, 470630059, 247848581, 762742770, 764315211, 971269373, 80848596, 930572088, 951068540, 654358131, 127661073, 779384996, 751570726, 897227397, 823314481, 406115699, 764961035, 185598033, 534747994, 971262447, 663084681, 52751865, 14532187, 325809102, 874586831, 121091008, 239341026, 272131446, 405878307, 708500803, 255922920, 282664405, 640266882, 540814362, 800985417, 692832755, 98721290, 199143008, 331609266, 852862396, 836384369, 28413177, 580170314, 43505, 629869285, 362017289, 248487951, 271247760, 445867273, 524670990, 54505758, 612563366, 291152115, 17396601, 963284268, 262152305, 795710427, 761122402, 551536437, 176473080, 387762906, 921368609, 11147855, 420504711, 544550300, 71023261, 482043384, 690407002, 321828419, 368960403, 751309202, 328477427, 645064982, 611794465, 299029352, 614807164, 394639553, 679286432, 869307698, 869906261, 749900224, 391558115, 709626248, 498775273, 135736419, 60808431, 188674716, 544371960, 192017385, 828934282, 55286731, 389595440, 211104438, 886708727, 35127454, 5739739, 796874589, 359159477, 744246757, 540404568, 673002487, 359183723, 367947377, 177780954, 62567461, 435079868, 776661384, 881289819, 725274956, 347186619, 373379547, 198451861, 614590399, 106569099, 328254923, 607942974, 529435671, 44967697, 520473558, 441679165, 777682948, 173418228, 269719804, 545687842, 569578731, 43603813, 202364234, 599796601, 963164629, 350424926, 806137951, 346083643, 559973354, 410519625, 194348736, 581175250, 676462445, 203292840, 347453815, 352025659, 787019378, 444717309, 950816366, 801165908, 630655142, 34204146, 692629705, 418044348, 70981727, 83603352, 934845025, 471576771, 203733094, 390192982, 504925198, 958415712, 597927947, 602753810, 168904441, 470482619, 876227614, 378142593, 657980148, 216888455, 106327202, 335837472, 844319793, 389605608, 608402811, 39063626, 921623173, 28028048, 642412388, 116021660, 963279708, 728840528, 263682428, 852666933, 979277162, 637634583, 715239380, 627528737, 623702293, 942344539, 408603074, 963055047, 689048178, 45984697, 400145643, 882727609, 429819034, 181048053, 385131595, 889993318, 791956485, 96354322, 115200257, 32203054, 734185744, 551776808, 512791169, 872611287, 993305339, 406866890, 53334396, 98925715, 541692378, 677143907, 84444602, 355688349, 753861043, 628757149, 808208217, 196274143, 875818540, 542631442, 354116955, 655835412, 823083110, 172579780, 358244525, 220632419, 468655567, 140231949, 712252874, 284787617, 176137638, 626045386, 782506394, 394674018, 805274916, 490417491, 555205859, 208910928, 212653317, 608526537, 669757436, 168958924, 711659644, 552480984, 516986076, 902245636, 607502961, 345509898, 851001434, 771279650, 360968971, 738838510, 394549086, 84498385, 750885083, 66005169, 225973480, 82193687, 633401818, 991022004, 666646639, 855915998, 957861155, 320894682, 271469713, 226527719, 125916260, 878487104, 252430728, 452419508, 260925445, 63947078, 118211238, 244187027, 118715497, 81623349, 490615034, 13361491, 728168337, 373625019, 120242338, 358137886, 284719449, 108170387, 47603921, 432025201, 217719630, 316136409, 262257402, 189911777, 401677938, 656354465, 224798552, 590386095, 671920362, 844600604, 175095831, 691988956, 852360071, 344259567, 367121520, 44568284, 962878071, 108976782, 766860417, 433655240, 353092919, 964082744, 784687101, 706606566, 864460533, 72133175, 336393471, 691485766, 265972601, 862582437, 928282458, 741093109, 888688439, 435584060, 789189650, 962440718, 416703046, 619893706, 445088170, 704184096, 978517286, 839670639, 369397727, 509039860, 208051571, 93420702, 524632973, 22187934, 232785574, 17037335, 514582567, 164681035, 893569198, 309282178, 145020644, 296388730, 954268156, 457553125, 940499909, 903280553, 755269928, 25888417, 982633298, 623389722, 536647407, 279487589, 50002877, 275162889, 116351433, 413017955, 478957072, 844090960, 319870712, 382089584, 174926937, 339706287, 180463452, 505774433, 972503113, 166118394, 455929567, 862108603, 947035388, 961387912, 456213273, 183209107, 268693455, 887834367, 168091664, 365630340, 387845639, 403079055, 639173489, 744639664, 56051358, 890185414, 485803550, 490529869, 48184116, 992148560, 628193045, 208184142, 578886421, 749862750, 641461181, 319860464, 245438609, 795732098, 604167587, 170821780, 398608545, 890391734, 950878978, 253779071, 814878118, 817257828, 146761191, 659899458, 380106386, 13196092, 497853606, 568836676, 794080598, 218251391, 146407557, 512585915, 530493702, 416506452, 174288657, 106164960, 848525434, 529708708, 884800838, 786117141, 139000219, 68294611, 779803851, 228794469, 659472827, 583562964, 326408964, 815526417, 514749050, 206855473, 884620172, 684983380, 58565196, 972190599, 253457032, 429441549, 840855326, 524429189, 398871445, 257131538, 666536347, 651014128, 289056932, 898516853, 628342965, 385502028, 984349924, 173573674, 296632100, 420491736, 757546765, 328906249, 689061460, 739294783, 620648381, 507538000, 119819633, 563514094, 338621456, 375969651, 859557243, 981005678, 143068592, 986981647, 249583559, 153182659, 269403744, 747577892, 177009686, 96974168, 859126387, 906214289, 81321995, 666790902, 642727014, 913882375, 327662108, 461754341, 448537253, 159950598, 139136745, 366915544, 773686962, 257857660, 271522794, 249528672, 756831680, 888280569, 917027465, 779159910, 434287981, 163979962, 680693576, 489067875, 883737886, 385097902, 212588591, 593573528, 407591444, 462351965, 16864654, 527005179, 228073150, 918716143, 453293423, 251895574, 24362623, 460354343, 842665693, 588395455, 497528395, 855008144, 695051817, 451658761, 968677468, 757533669, 974972778, 98296740, 456294608, 345639412, 584155086, 237243264, 831965060, 93535141, 523305925, 491420399, 903466712, 756827368, 334735079, 394877942, 120761394, 807792977, 338008740, 535047307, 39833351, 970380014, 501749762, 200089925, 674564056, 231882742, 625968682, 796266172, 549140006, 895802834, 824167102, 629618790, 321782426, 710752111, 34257458, 295676908, 229459050, 819439803, 630469339, 647990638, 96056156, 323739056, 992487011, 106060217, 909026559, 486172726, 65042695, 654869932, 198549147, 53773470, 648302980, 84564546, 544868830, 817581629, 35875838, 729369150, 723200976, 362363624, 793453182, 97914453, 934181382, 655115555, 832693666, 717865298, 35239889, 533043016, 750753845, 811523747, 3241127, 793094764, 697133791, 57979833, 915641605, 477294583, 143931487, 876818304, 9273737, 33418168, 145351551, 608244292, 206614999, 386225990, 572083529, 157150776, 851120030, 287305280, 401708440, 179261825, 82295427, 871767829, 833361333, 155020684, 488129597, 255345034, 753945392, 345701927, 115080975, 932684344, 683313370, 920605475, 206549421, 906401476, 58566133, 828830945, 400349024, 102649867, 713427759, 58852303, 105346725, 813386037, 649425432, 246163661, 380304014, 950988193, 358236976, 86168696, 901659376, 989654933, 211358780, 609846741, 283017674, 563198674, 955209989, 298323501, 559767328, 558399606, 385801128, 708018411, 465557047, 799723596, 506426555, 540853464, 832916985, 150942691, 487375203, 395077303, 678688048, 835541909, 229822822, 980029146, 745870393, 829905925, 59447880, 901174598, 17778319, 631755331, 736569460, 696842053, 485773481, 711012732, 76004903, 269396128, 275337770, 43683680, 422662998, 6492226, 817876738, 131930286, 694747536, 689287436, 973757373, 860377710, 753884747, 868512849, 815223569, 786955185, 439434861, 639189747, 99001804, 498058526, 306067257, 646619465, 950281524, 522502439, 9436498, 476929645, 124506336, 966120840, 216588712, 613140841, 880424482, 78186402, 609722112, 601097268, 963377134, 312342817, 100072724, 322009538, 107404562, 60710725, 69869500, 159369181, 118428766, 43391259, 404918171, 860714373, 496259612, 535782231, 174896487, 40374329, 540400479, 663002553, 24218853, 753824051, 697629289, 491129931, 940299646, 908922956, 493671839, 591894866, 889515812, 343136825, 971434624, 94578190, 793880878, 555835827, 433606395, 660971108, 510423127, 74515613, 14214485, 456065139, 791481294, 363227282, 63213531, 373964632, 219737946, 607602742, 913343745, 366999899, 333437364, 278462710, 394465394, 158635206, 517377124, 102205264, 383112917, 886673303, 917165878, 380321454, 656069842, 27527806, 821281659, 450178872, 246704320, 645215884, 882754268, 884182467, 781817683, 850888068, 885963908, 925743205, 957120847, 725280084, 403793727, 109984842, 314448922, 507830703, 691910041, 915107156, 87113449, 35689627, 568016278, 249234826, 802442512, 299484248, 979581567, 204651903, 557812284, 460619889, 208467322, 963850726, 431776377, 231058224, 39623568, 720073238, 426181817, 716692850, 538061961, 628461340, 8180851, 931233029, 777940925, 11426367, 849137055, 929419954, 948858484, 253965558, 375489808, 899053255, 185809749, 469482909, 108935686, 242445703, 324323568, 391881146, 573738724, 982366477, 263621356, 671210830, 450193402, 874316809, 368492705, 762310456, 188515876, 932045599, 352541651, 638849978, 210335369, 274865555, 789804474, 116002865, 984129350, 360935475, 808687793, 22194192, 741137537, 477547487, 430155982, 489141373, 52711632, 922619139, 109762842, 454276093, 954779007, 940808688, 305120968, 786861096, 405719583, 199714078, 700186735, 281458217, 504419995, 827210784, 426486023, 910344202, 682053473, 598689053, 686101253, 947776747, 958237696, 189478353, 290092141, 740920731, 843759321, 293537071, 591140338, 17564474, 327723250, 843208266, 52968050, 775394283, 389327536, 195966427, 850151981, 711433752, 555528852, 996965549, 246945336, 376284439, 654109098, 506900133, 841401649, 417278316, 454319781, 967176049, 55334485, 374528162, 635453080, 58345068, 530104029, 641425110, 325585580, 411139851, 52446935, 549497072, 769932477, 862433473, 137768341, 432857978, 925507413, 561519705, 289599601, 522671529, 247329219, 890222134, 717597980, 637866660, 915609178, 125838149, 89367116, 987932690, 838446594, 512528962, 157330342, 935750352, 881152646, 866116551, 282821105, 938841778, 52760279, 895264571, 861648692, 369747931, 893532011, 744009485, 166018211, 924177296, 341045866, 504414529, 675028613, 298253240, 98427235, 807466124, 339347720, 799074479, 297735620, 52053489, 500225302, 624003551, 833028045, 257329578, 46583354, 664230955, 820701928, 784096161, 828111024, 285207430, 222822573, 323691149, 743425567, 853376322, 138705215, 575232283, 942958521, 393570969, 177549605, 753745622, 343678846, 762398124, 157597670, 907692264, 717042068, 32191056, 538068532, 1469857, 204694660, 675302250, 28505909, 148211351, 508889438, 826585012, 709432355, 951395698, 58864498, 269689165, 513403595, 340520764, 793432413, 954062978, 323419247, 671478239, 424041795, 139539742, 64183351, 271625242, 668561668, 955469858, 142004302, 894120612, 445789526, 855915903, 762902112, 651036892, 605410563, 813599596, 696960871, 344365838, 90745042, 679306834, 63209230, 893919510, 178122528, 785984598, 547231533, 491933727, 196023781, 792047249, 128594179, 362261877, 874345874, 913523989, 908195815, 737814803, 825992001, 12697669, 440327576, 515870428, 316934460, 547347947, 337171901, 806017929, 748294637, 846586018, 185439409, 316670586, 6138513, 705130020, 666114484, 208022834, 687619938, 537864912, 349934481, 757787150, 946871573, 989416916, 32550453, 818449428, 892054539, 174199942, 592448416, 741523340, 585097149, 981605618, 896132009, 531088848, 269705671, 747530961, 318027372, 185191646, 159448053, 936423049, 980614117, 706643778, 241642771, 933747627, 611903046, 205244399, 843195531, 486787302, 602969476, 226155467, 876947542, 542332951, 771634886, 605312981, 256866311, 540708602, 406519062, 313319092, 842607982, 495857147, 871499197, 476622087, 655924695, 369436814, 917588879, 123258264, 861610692, 355394596, 998445219, 977875018, 730244890, 144623714, 675978893, 740437347, 402436091, 966455626, 522901570, 352067551, 831576129, 721478814, 997442643, 616128386, 834573731, 813068304, 706125507, 58391554, 949224564, 404042118, 805699778, 445122397, 361939551, 957802965, 22404813, 282614380, 172154204, 804178253, 400278193, 669087725, 604808653, 39498073, 485577424, 361440294, 835520704, 509012880, 732785995, 563091239, 280628409, 125237380, 114034032, 452167814, 143264907, 199849161, 649089840, 47513601, 100586908, 668799849, 636149684, 551857820, 657999283, 154785127, 406845340, 513680116, 11738562, 410180416, 889795857, 654034257, 910338909, 681372947, 320248844, 200834994, 205224814, 291329575, 505567836, 512862214, 145392087, 601442659, 347874205, 775987131, 963586415, 301799920, 763836782, 912838684, 311553623, 920052375, 225921466, 923034408, 518476380, 498348913, 385399366, 862405892, 395552284, 153489291, 516917597, 881968487, 623575329, 312057436, 831979187, 759915111, 803254519, 374594386, 410873014, 210393823, 706636056, 774895148, 774450487, 576665890, 849560427, 726248979, 219161482, 931335289, 220766303, 296165001, 671612530, 444945282, 298592463, 652589119, 291130606, 258550634, 133111494, 707387755, 257527261, 344411042, 811268745, 531722333, 982522680, 215364792, 85617530, 740573131, 184885044, 714415111, 661946833, 30222643, 540582647, 131847497, 200421704, 502074265, 310737095, 539786600, 371627655, 767626885, 605893192, 500195413, 642487285, 217886585, 509558665, 719055441, 657788727, 622486065, 71510223, 58138757, 770113392, 866283242, 945011805, 364804245, 570439674, 659631132, 878704838, 474849378, 459383767, 609166488, 236366513, 783000917, 338041681, 87357675, 188700734, 304460559, 219077907, 621829134, 581222387, 408102213, 473148676, 439469182, 230370952, 773501893, 205636490, 860837198, 113194285, 594329774, 326367302, 217409804, 839706027, 994930525, 626889422, 230391170, 120716477, 47183305, 28360797, 140439282, 536511053, 924839786, 562161794, 575725312, 114119908, 673656465, 76213480, 891267627, 578231091, 878747695, 472085225, 854606789, 251917487, 571347650, 460030189, 784101091, 914856066, 357111671, 615952300, 187437413, 260454234, 978237283, 36478918, 887407482, 987142628, 609455602, 851169457, 451317811, 664536167, 786946917, 878793641, 259182444, 243664300, 43330459, 378380555, 809820939, 599695555, 789997196, 981359226, 454794736, 886906832, 434222957, 11583834, 870023705, 338340577, 202774841, 699371059, 102941950, 113706471, 18982870, 118173657, 673095443, 69456094, 883364837, 438341830, 838033459, 773845897, 85510525, 815392695, 50127431, 278588868, 575109114, 172687132, 774688492, 620105782, 66935578, 878551854, 946497044, 236059685, 931799289, 865933531, 448199743, 129082346, 491210818, 710924845, 873616697, 242344276, 240725174, 745458242, 776428728, 369748142, 298019795, 368124216, 321859246, 797580753, 566859816, 907074200, 169570848, 551511749, 210788836, 683214499, 239870571, 897825728, 200249164, 394542127, 692098212, 501884775, 661428113, 423933816, 622456256, 895921096, 580134144, 191785093, 892103020, 450509173, 859581148, 602258825, 440345185, 747547181, 335292765, 251063267, 358503891, 632824501, 486330372, 50164223, 419356081, 555706719, 121339030, 127739499, 4174108, 645744556, 371084613, 240620183, 860062957, 913138954, 964697743, 95259990, 34905601, 795186308, 924316590, 928726451, 299386075, 680638085, 495112741, 217782278, 759013948, 355553417, 790017167, 927476913, 77443388, 589626104, 887154646, 258529290, 401058913, 214395685, 776915762, 189123715, 323422744, 828587227, 878053671, 84795423, 212253920, 179812956, 165574186, 26569657, 181533441, 695877357, 218210426, 392750737, 425335532, 680460697, 861000934, 691350773, 797437434, 144403705, 306031733, 59352770, 338972458, 580531190, 531109882, 908304410, 420355137, 162709726, 713361909, 403604228, 733945130, 701862521, 873690603, 204487947, 946338408, 79077455, 903201108, 397907224, 139884530, 194061057, 376461089, 974019521, 229073679, 431060898, 987238408, 598584467, 631819815, 650639133, 642172822, 888673550, 679565366, 288615479, 471426353, 349457948, 222652488, 38089588, 852263723, 249459290, 12344839, 261548112, 890778720, 141537694, 464666160, 407269248, 959783762, 946507877, 671568814, 722411440, 906351303, 208222526, 741016643, 529642468, 723810447, 14902650, 548651282, 725406036, 443960957, 290691335, 33025726, 941795049, 241202567, 287429434, 313108125, 619251474, 486397197, 756579076, 666972872, 805138176, 314990882, 825317786, 119306851, 520251069, 619596358, 491207948, 891101838, 841297255, 995766539, 443309127, 350784967, 174490243, 282366481, 836398071, 797386177, 839048761, 107763799, 88120630, 584829856, 552386087, 507141924, 835329680, 307424521, 743206467, 116405440, 877381413, 407730205, 404017514, 591965642, 155245686, 906634837, 861265883, 290392950, 116059183, 77084209, 351021637, 942591085, 266867279, 744473684, 433829691, 464378092, 76494952, 617178593, 604114443, 383865567, 364140560, 226666809, 472045572, 547853481, 517917408, 526843143, 81482219, 128852479, 84598740, 189608707, 172758614, 939362726, 69372826, 438068618, 446951259, 496643139, 311314033, 120652540, 709833910, 688402042, 962719531, 447266539, 299151629, 761979793, 239972332, 384556471, 531781582, 934051166, 249540890, 52267721, 666200534, 608712007, 949934718, 425549018, 451145636, 483965499, 652820554, 408622070, 164730213, 365645294, 511917735, 123450949, 717021499, 840347828, 774127855, 507015820, 739336571, 553140092, 295693673, 262109189, 883033159, 363071285, 307209095, 142543970, 649564216, 438432728, 208419360, 588249337, 805918352, 537551149, 165136720, 929658784, 430303910, 737147380, 674409149, 924886993, 144491831, 215943514, 530984308, 437365618, 368922183, 912736224, 838969463, 588394045, 941023572, 731373389, 425900375, 75887010, 994049859, 757695542, 459817270, 964668813, 423784399, 776084439, 278249359, 466176559, 507209253, 858272390, 908447016, 619371607, 834973701, 990469231, 429496663, 548423319, 936930275, 14849523, 341071400, 874868944, 113973280, 361063224, 664176221, 839947006, 353055395, 733216034, 525100671, 402905973, 641923142, 926325835, 23722084, 49498408, 29566458, 216593580, 200373020, 890759724, 457346401, 950147920, 415000935, 289135331, 118783979, 398945407, 110076275, 275365493, 195121292, 571828361, 298194395, 747396925, 708632378, 863774903, 38618615, 770125532, 619861096, 623730751, 123755645, 291883903, 430007259, 651854535, 826345684, 6121624, 12045804, 792176987, 502147607, 947070142, 642399899, 595140813, 77534021, 902226775, 391798078, 120138587, 719516589, 25841825, 657936476, 146132995, 893268764, 565994624, 30389758, 993789396, 833051777, 295076373, 182906266, 182313563, 100602308, 521120416, 109022621, 976430385, 980919651, 259010774, 879610322, 752453341, 229985380, 443763641, 555833063, 105425625, 138586496, 237482827, 533627729, 317903699, 731453961, 997929431, 735063194, 507965416, 949366343, 997638631, 760946439, 272245424, 334208467, 537444652, 141480339, 709520867, 683909978, 307338711, 83959828, 217977753, 189448202, 683588620, 716485122, 489402075, 677339599, 806865849, 680627515, 182582400, 810288499, 228445692, 873598618, 52353346, 880142371, 797547887, 608247618, 462419596, 890830315, 388543171, 324303054, 613334918, 830565991, 254881207, 900556971, 820717991, 528383091, 97894117, 347414308, 798862527, 2351740, 884821572, 256189107, 169385818, 214142742, 506188613, 853684206, 78951276, 701928138, 781645209, 524320251, 255921851, 455438203, 65195079, 644318725, 17859861, 808356986, 738574054, 535429421, 781519607, 906284606, 23685706, 441065442, 386825359, 311435101, 479464309, 109447786, 240494892, 147748023, 475922957, 834052002, 376856439, 566712152, 166695903, 192501054, 504285172, 928819415, 314179970, 954437423, 435227990, 666295585, 404644824, 28715586, 98165654, 775196627, 313487461, 407331427, 858429102, 480891739, 847671704, 549334383, 144278485, 123716480, 424029605, 416391744, 513101038, 177590601, 442544163, 186831632, 765486833, 439314032, 981096728, 389845124, 393061484, 295733591, 138446495, 905663958, 517616533, 564089204, 130199668, 620331260, 833227206, 200556777, 80019952, 96097425, 198284927, 147112651, 541441415, 265553573, 593893760, 106126705, 794402391, 782791700, 596931590, 408639459, 395595307, 850098595, 638159905, 590166488, 261096517, 897138554, 674826231, 915791650, 369888296, 656758051, 879949610, 338238526, 415626758, 593689545, 141140529, 663797420, 839276003, 47835820, 194376274, 267290020, 612362693, 880002078, 967302629, 44501727, 222083811, 424616872, 638500771, 30767636, 132310959, 171088195, 577956631, 279489725, 332882848, 572314907, 953955753, 54204290, 203054697, 187947138, 21514864, 125216095, 769946707, 276673442, 326526816, 80900473, 79919214, 452915997, 249436084, 780551170, 468448404, 698404921, 891120192, 994499831, 334429368, 226254001, 346028540, 191987280, 349704276, 138014331, 986751375, 859312789, 650848888, 2010896, 690036782, 429128573, 343016985, 558898677, 980539837, 678202328, 716767037, 224666318, 640499634, 640575639, 559875453, 976520283, 407429309, 508466418, 365614895, 605991233, 737981839, 464534011, 274302554, 702848539, 169934582, 693993617, 287738573, 436107523, 368817003, 928172806, 375548502, 949272529, 179720460, 454315641, 521384301, 740265464, 773072417, 770416774, 569473040, 805478149, 653284760, 2540083, 662237812, 312606253, 873137554, 912244074, 761310101, 609529611, 393940431, 418566429, 820513263, 254738677, 43943785, 328242521, 51178139, 980639599, 416991795, 815108734, 897809354, 282491929, 899145313, 16547308, 391288955, 119924985, 497577367, 935814814, 169008141, 475772003, 229903500, 271519303, 979872617, 49380665, 146458374, 416260623, 818184884, 171297028, 336089896, 655812539, 467788558, 196788259, 489399285, 864374521, 902618468, 392010433, 110700843, 361926290, 964425473, 667818060, 825061869, 60385445, 453268671, 565234805, 163140455, 305026639, 634978021, 225815241, 699481997, 882077981, 105076132, 590152945, 78516733, 701870470, 919452863, 691076939, 549100322, 746184735, 720314287, 655545177, 977832028, 225944721, 42699128, 301419705, 784632296, 534042791, 269295815, 168896009, 38079712, 10711505, 117443586, 993300751, 866086879, 258812982, 316278211, 525571602, 626620560, 98028714, 48755771, 143852501, 820915990, 189142209, 26847949, 977879930, 282512473, 394724434, 838595215, 465158858, 322534630, 972983217, 468939133, 303078954, 198025993, 965210258, 334794682, 164595207, 461505867, 424318399, 817369889, 228751582, 401998008, 866313343, 732920305, 654788112, 756181411, 839064491, 752641518, 453513036, 262918209, 364716191, 739000787, 793844283, 825647120, 709719135, 336273426, 141163930, 774020440, 996791684, 132530933, 954459787, 629306034, 187756002, 161494178, 942452213, 459795838, 684030704, 715614805, 651881346, 296598964, 526266540, 303223965, 836252707, 504226134, 95614947, 25275547, 649522316, 578777794, 603710361, 580706947, 836835588, 289195082, 685868296, 31166329, 569335034, 475528535, 133088237, 758681110, 436848241, 591240145, 950887233, 445201995, 894089924, 74760920, 399189319, 467247450, 318464162, 143037995, 523843629, 651552281, 541710790, 323940495, 950188658, 434811902, 296679322, 224627644, 803619727, 20419185, 254936892, 891524806, 357868270, 692125627, 663240, 459454089, 269279386, 779570193, 32827635, 851694048, 905609676, 550698825, 412847066, 244394252, 57710223, 643105971, 980840635, 424588814, 650502487, 97963309, 139911684, 338986632, 675472909, 616546576, 784719807, 469995828, 769991586, 544961599, 185741816, 393419775, 953076321, 619847502, 638549443, 812657311, 799064272, 465975695, 455301993, 401553810, 503065682, 823904006, 641326601, 326219505, 518192462, 871826648, 460085783, 988276920, 964372268, 392129662, 857675048, 403234798, 366639869, 304129161, 340368254, 819428578, 834556248, 419110591, 350925614, 259039643, 9614871, 24056770, 162038736, 767961046, 52532429, 202742338, 531080024, 286309990, 903227832, 373250022, 909043431, 583000449, 841531077, 232290151, 912313286, 921759820, 840548860, 176920212, 716659228, 303429086, 966417076, 500070008, 549992323, 30134199, 398301922, 250240521, 130675714, 385403147, 950077637, 213264248, 680439883, 45726734, 601039046, 569768872, 242823932, 93139214, 912824820, 433385320, 691518544, 823511021, 134724072, 535757371, 881505636, 733985273, 556640518, 730693967, 944676454, 868214816, 712183250, 721060618, 762260045, 283324554, 997831753, 114591763, 754078298, 970069580, 862179782, 671822505, 313288132, 399381669, 259704729, 329331476, 793127398, 168577688, 362426783, 934480962, 627067487, 118290178, 752575916, 958419001, 693373258, 40195189, 860579167, 556197234, 315591579, 743195745, 941696107, 421688444, 976630570, 216715592, 335965729, 795689483, 874872154, 607844183, 510024326, 548292049, 957698056, 732430032, 333617937, 901775206, 767785591, 532635172, 977920259, 335793244, 768597628, 564360969, 946217178, 365803213, 301879984, 107265509, 37462795, 192997112, 75671414, 343996647, 407828370, 999288151, 544788957, 353877909, 654450852, 862709790, 890685676, 701271027, 653018823, 44176339, 81050370, 174491196, 527795717, 325345085, 872415216, 130307494, 926072814, 716350818, 130869552, 656165688, 389369421, 685319482, 302263625, 403933959, 177099981, 700996166, 731457531, 856039994, 181947183, 584061294, 589816262, 772240747, 618236174, 688865105, 975211609, 38829134, 427026386, 518413431, 249890417, 580645017, 174915399, 937573804, 393805712, 435750188, 224817248, 301214441, 760445567, 767474610, 842720203, 651657697, 734684684, 133809455, 98920614, 179191808, 430880501, 578248627, 635223814, 924861873, 756521526, 139198675, 227520228, 842225180, 590721377, 326031444, 595588886, 570951799, 616776877, 722962965, 5545023, 605515501, 668421752, 666193959, 936685561, 176942896, 666417758, 123799492, 446552857, 741761726, 10616628, 816459007, 984732758, 838153365, 989350494, 171168551, 365300078, 167606933, 149498010, 325826724, 67872526, 217176080, 129293685, 627521151, 88040455, 762104088, 112019066, 351739556, 343620910, 431055402, 544856263, 156979802, 287572713, 79608821, 124953121, 667934252, 541640099, 185541213, 562214253, 605686526, 373292822, 743069235, 635874395, 587759294, 713039933, 917399428, 989819316, 94244047, 286618836, 936709509, 123367192, 361744593, 92900227, 638385869, 201973723, 794215961, 613702962, 889099920, 199223216, 410099671, 297991682, 190793563, 197407337, 511463766, 483814392, 565628123, 415394546, 45829593, 157415861, 753606819, 948369911, 614341064, 767530418, 530906188, 238705907, 330832001, 608976685, 575110572, 477742124, 828055629, 647045634, 551036391, 124485187, 867521788, 710880882, 84707421, 501874050, 223040527, 816140207, 334656704, 907767369, 706280449, 480506098, 555886222, 399884661, 617969635, 637297200, 520400855, 519155009, 403008427, 221106833, 617159778, 541090782, 603236571, 445567431, 23949420, 159376354, 104026749, 28544598, 419907388, 501850863, 114328882, 358293220, 689752263, 274825479, 367322336, 96438638, 376844074, 348843201, 229888255, 514565328, 769178648, 485802457, 423693479, 127301912, 825581035, 899578488, 620871805, 118876806, 615916762, 138377729, 48492118, 844933424, 104039396, 442936083, 278677990, 273171487, 9953293, 538151631, 329060358, 725569091, 777764434, 727345899, 488168996, 409097078, 479187701, 281022002, 959662702, 755988170, 468890335, 226146526, 818790068, 618225149, 597849966, 467569339, 211466923, 390465534, 622384348, 582607221, 689122625, 974118793, 527424302, 365031337, 974992951, 936510354, 909685323, 940761276, 963384898, 574727493, 490517580, 610214828, 367043680, 363067917, 387486080, 721242954, 867875982, 814603158, 146379366, 23467114, 304643554, 159705243, 99309475, 229728228, 420528125, 928308298, 959280424, 703240119, 492751691, 726574433, 800759364, 991145295, 428085207, 516904258, 1084080, 845853564, 987062031, 373241217, 54599950, 397424531, 921868785, 606288679, 190636509, 263873736, 759931100, 330659921, 608402020, 257304497, 350521979, 943392337, 346851702, 389980495, 498257932, 403326028, 219030912, 353995692, 823997679, 522408555, 64642982, 509084373, 785998539, 379484974, 754829252, 533840929, 246243182, 212620714, 700535184, 421935043, 596710421, 652618448, 335185052, 924523487, 860873212, 318651473, 633687017, 882095388, 674408094, 545264013, 250337436, 495290520, 73388488, 622525458, 146865776, 156976912, 574341216, 101834130, 489335981, 660693035, 360275544, 151450200, 223640024, 60647688, 715235176, 251740626, 193859410, 554807125, 538908743, 648250283, 348291750, 175587482, 839010133, 610460092, 194153822, 629963545, 479669002, 31032800, 667831590, 46599465, 175259832, 711819935, 432095225, 515217812, 95950993, 245192377, 647023476, 73751507, 320121644, 940711762, 938714766, 621040941, 86261052, 798428007, 159558558, 213413212, 870235781, 565444538, 265424783, 108564130, 277070670, 695148136, 886905697, 138399029, 746913669, 254093224, 34720094, 38491093, 465695163, 451296453, 774718711, 582936215, 188748967, 374328038, 257541108, 936322713, 674819742, 459317505, 677063081, 421987755, 700034874, 529412753, 685217680, 147055835, 526537374, 845482716, 998885725, 325420386, 332926166, 520834941, 885648521, 993403383, 431994677, 166186057, 104383763, 404234651, 910658788, 887502717, 745149602, 41695091, 286603708, 391429784, 783458042, 940195519, 821703484, 413827095, 899441712, 262478849, 545311705, 158817704, 702049382, 230103115, 857974524, 735078070, 382987175, 428456292, 522810057, 380903362, 503104894, 992360097, 822988782, 596910145, 971729324, 913777122, 963977982, 329263156, 877776605, 101866144, 622792322, 782766401, 651919514, 659330997, 639584625, 758707892, 697123270, 364265600, 999886027, 604903019, 113422804, 493266486, 556219804, 546469463, 292900751, 400836879, 937793438, 902192051, 687315194, 184550328, 41234357, 84644900, 190051433, 820638037, 840428407, 453181905, 151836104, 803464814, 546494418, 402636670, 537918534, 883798778, 857507892, 461885326, 304556116, 43606282, 259282745, 295987974, 820693970, 589143432, 204280622, 882242804, 34155847, 966736789, 248043740, 434115162, 299866684, 228650677, 609001807, 922973805, 415128861, 70575298, 985424829, 366073422, 522674623, 633975510, 246875318, 788165465, 848710386, 487331811, 771151519, 379574578, 193898782, 59736178, 285266391, 569397812, 30286686, 791736775, 561412392, 576852999, 724400170, 334639268, 180931947, 290581341, 78105996, 953477062, 479756635, 418148229, 371899172, 501569851, 98011547, 711237197, 354367755, 60972744, 150860231, 660860884, 2472189, 3916801, 530163121, 270217654, 422872835, 120389483, 812261324, 721025408, 162207838, 282918158, 898669286, 526198842, 856411097, 81480342, 413232115, 867362814, 6330171, 603643234, 528326109, 388609106, 702843903, 710784440, 412451881, 585974699, 227799915, 861865745, 81557953, 816446705, 459606919, 480946535, 657797291, 395491433, 652666944, 995408632, 482585108, 303834073, 918774166, 234351386, 441434177, 533830785, 215826092, 316985443, 954068199, 574605014, 467280641, 554121940, 427598564, 762716847, 188269148, 463805399, 128953565, 364066004, 975362352, 235379379, 700599314, 165728413, 198206443, 26607208, 192436981, 120151332, 378501610, 948192071, 369399486, 80650743, 938565820, 796227517, 178361789, 307784186, 638354831, 516688310, 344110245, 117251852, 386072086, 457015433, 459920457, 931821654, 466634685, 83622176, 883821466, 676264130, 586720273, 250851929, 144173175, 918104025, 801305952, 927085351, 229729672, 15533693, 219793584, 135760169, 554719287, 492628392, 149232248, 292116331, 202221665, 529657093, 929298039, 446283801, 16136258, 500928791, 732216979, 758551900, 615629123, 67821918, 446685216, 90035043, 130954264, 445032724, 815736627, 555245027, 113973150, 519242246, 183831008, 970153640, 518269547, 502250458, 414777184, 804790793, 359921072, 560870783, 258418670, 110357948, 623878204, 714620372, 458899962, 62333262, 750326986, 694545315, 434630537, 731815406, 439826274, 821721678, 891253825, 913610856, 771114196, 675241120, 763161732, 42174658, 910791496, 80654849, 713251203, 597692399, 96062778, 223923434, 349187766, 972376804, 351138072, 488575753, 169895968, 521577876, 827579959, 312799818, 501048141, 362927504, 148534378, 884163106, 254538331, 948748726, 584643226, 323791513, 334565499, 560171141, 199904423, 101076297, 660081662, 733139368, 606338050, 44270713, 573871927, 507702589, 357908425, 271814038, 951808044, 996830560, 405989240, 931995600, 874592016, 384024628, 475638767, 784717286, 938267489, 628678672, 178777303, 389339305, 347108184, 772358733, 134922370, 205147917, 364575602, 733460698, 944343967, 269122961, 35329120, 653080233, 183616493, 630456750, 838862967, 84778900, 624145012, 747350515, 914914100, 142174341, 590498115, 850595030, 978297169, 947354553, 690092778, 680952528, 952473344, 87153190, 79631600, 845430684, 416776162, 45546043, 711425593, 933287664, 862445464, 476099420, 677930410, 384211303, 868567787, 557506075, 545908517, 189296053, 223843123, 152169721, 569000331, 614498350, 800448166, 715287924, 672274690, 166495089, 274954546, 805066361, 591500411, 10428302, 264781233, 312411980, 841699245, 572220424, 970658672, 124329587, 615343326, 818990117, 53064758, 34921149, 360186425, 646679600, 463127741, 596924940, 282268824, 217404141, 988546911, 241510883, 799179974, 462586260, 851666531, 346226736, 533869337, 698576506, 533321905, 989759135, 691033311, 389656989, 339553410, 284563844, 40390131, 108652636, 352894397, 843357545, 474336119, 771752470, 64781947, 868390580, 722209413, 595325378, 261426608, 865558487, 267475210, 653922755, 283345290, 572270288, 150507473, 828061242, 127049924, 25053392, 70333009, 124936262, 463477621, 929947446, 634430419, 853517292, 868943706, 763520535, 807835812, 870797954, 326742376, 222965204, 826462424, 747498411, 385202243, 304945419, 25177118, 117854223, 426805641, 925362050, 143390498, 43493280, 819982021, 627956293, 441693586, 160647134, 479075013, 508084739, 372710330, 286376604, 575939924, 748124421, 9515397, 161149150, 568700121, 775401347, 621859993, 584774106, 13235482, 825104605, 860259258, 873590126, 970369730, 742744969, 612841997, 325259842, 481955720, 265796346, 168921389, 390557260, 414853976, 138263153, 588644974, 719388063, 428573607, 930805271, 171854070, 511046877, 811766397, 517225332, 537756651, 833774661, 997545829, 218777265, 169036636, 925139705, 990592234, 485963931, 751169281, 751038976, 952950249, 464746790, 572748824, 906847314, 824468364, 562326553, 956348817, 478128874, 943532300, 456728043, 298082559, 246944447, 353440489, 177439242, 418039784, 901715581, 110618054, 574778257, 820850556, 248345519, 439482272, 888295686, 552314233, 134876666, 595993921, 277166973, 891039417, 514067235, 950835855, 325293686, 442394797, 235711992, 272418670, 56023420, 997544449, 767597621, 183975346, 790238112, 856521008, 174030230, 73585407, 612258778, 988915428, 843359315, 84708470, 900967310, 37693527, 984533049, 925100872, 959670248, 467857868, 871487128, 686815932, 455445290, 364486356, 460478726, 291799381, 311997227, 606432906, 722715749, 434974366, 976609179, 275619057, 208908823, 883957907, 24788885, 247402724, 357272314, 712430024, 505706131, 288072572, 760033740, 157402450, 22549424, 901994483, 912123977, 594104093, 637055265, 389816476, 332146022, 205566749, 861305063, 749013511, 710537829, 102320856, 94871700, 527632267, 169259657, 100077057, 465386725, 822744773, 666518907, 762448774, 374888052, 4994059, 689111679, 131653963, 593464092, 714579690, 696445247, 569692184, 629444056, 927380488, 883280453, 749824213, 797821622, 409062481, 386654748, 339712701, 910662305, 293950288, 773474008, 876062091, 90599779, 235038734, 234519402, 749190411, 232456550, 779324741, 4994322, 23156041, 226851392, 801020344, 227449920, 25527740, 368385717, 428478153, 874707854, 614236418, 218371577, 802583572, 674883, 579132735, 910279933, 254896529, 488383914, 476221456, 254518393, 657537738, 851231381, 800630750, 82351095, 767045062, 709477573, 316099036, 572841206, 18795328, 845158624, 901132035, 896614731, 26135121, 746421406, 892585033, 813574971, 411087989, 149950830, 822753515, 824794297, 153101345, 163227504, 982806433, 329590521, 715557389, 99645238, 357883373, 472678920, 615966957, 189757722, 750814058, 524778560, 129173514, 707949237, 311160035, 226101654, 104689806, 24001892, 793438458, 709049692, 344337464, 162782135, 221999689, 214654503, 226783384, 756394728, 715907831, 73437392, 599838136, 568407878, 711763818, 428316216, 606065350, 166667193, 889917159, 831771345, 239341096, 280792723, 570476704, 906298769, 462142012, 314535461, 202308974, 492719410, 84963768, 983800674, 986581355, 184005137, 463457287, 18801438, 34952136, 951480099, 145587075, 212134785, 962633178, 493982283, 722938131, 931295438, 625988946, 561621963, 614462618, 604979642, 963847091, 954211465, 521467039, 86087888, 453837882, 530758625, 106005975, 160253566, 926108219, 609516267, 637334830, 694003907, 562442310, 157590535, 163143515, 298754899, 385168802, 953159554, 792807302, 960570537, 997370827, 483561004, 386230528, 114862558, 648479801, 514767687, 759504587, 602000368, 645196201, 281024285, 394594227, 899881209, 947034983, 531982923, 472277388, 125212067, 440753006, 793498608, 165182941, 954040090, 62663519, 408522275, 862872001, 156626166, 858504104, 770223335, 249759301, 276648731, 280489981, 336883822, 734325815, 998047519, 843405271, 880633566, 806954852, 312908958, 620872238, 5693007, 845633659, 105280011, 745765773, 296634951, 693536516, 367982995, 238690799, 868990876, 124888481, 21382986, 429616848, 915249927, 177789512, 179851450, 948164044, 160568085, 572954605, 712181091, 427051694, 372719300, 910941902, 267735142, 392827773, 988924643, 56328576, 566673844, 239184950, 649869602, 507872717, 728609703, 821824224, 997199814, 117519102, 15125951, 191873763, 952254280, 453710011, 714756930, 871113461, 849440511, 217121263, 720895659, 318342099, 669600343, 804764857, 490644478, 669359244, 940743699, 527960977, 643708624, 275370052, 825163737, 494216429, 290714132, 838553094, 156164098, 638630591, 427989302, 204031417, 827145514, 631578963, 325955228, 720510310, 333021212, 539430715, 639349470, 825487928, 885079022, 886657760, 552188526, 38033107, 192107196, 247648146, 61958221, 166805979, 889465068, 822095351, 750432691, 75553140, 235712092, 262958632, 270285908, 400763457, 504314352, 593245297, 429519415, 770768968, 136290625, 363018278, 680680824, 520371795, 265030128, 389249285, 852672932, 79764155, 856459264, 337754452, 79946590, 798202492, 179925548, 117127686, 932618359, 398215548, 297124561, 681130758, 932869912, 506081787, 465302685, 367425025, 834695736, 894270608, 793263427, 288381539, 498065677, 559715937, 824418944, 774107114, 391781117, 748851113, 915777744, 600772170, 254890012, 52640612, 300861901, 465786742, 25993657, 273626153, 934437347, 231497678, 552375524, 57252676, 601198416, 473312136, 356803955, 388494832, 30186532, 459806189, 581175461, 353593923, 377210653, 827407306, 463776038, 457578828, 866035625, 26620978, 85608209, 606409307, 180599193, 290468897, 606879574, 948146726, 115418282, 910477231, 898228208, 768314832, 315457446, 681831388, 423622549, 970757553, 442096775, 25479754, 926839002, 359926054, 118667221, 832217983, 242156510, 929046328, 270573871, 378926532, 288486887, 122163623, 702730115, 728101271, 317133552, 129758856, 801053961, 471638434, 325912273, 817513541, 267026961, 38556735, 549292533, 132733775, 473405485, 36237037, 31175302, 807472892, 255049011, 261086379, 62056149, 742021595, 938598765, 194638497, 484575004, 192768715, 586766813, 415164838, 147773601, 480645389, 627540508, 427888973, 749382044, 519148252, 89944700, 279706419, 157317311, 794271115, 148510240, 623803421, 358371300, 449222804, 56194040, 35859531, 673584195, 604193257, 874977623, 180848957, 754556038, 519758520, 752712899, 569555138, 579116008, 513501900, 184494155, 60193469, 446406466, 228257210, 293230376, 252597668, 828335079, 442401912, 60454340, 979275859, 870484006, 169287458, 65047376, 212131200, 803246121, 251304361, 538628917, 377133534, 59468439, 862334323, 340950115, 725870870, 427698969, 185059083, 121894579, 513088735, 182288025, 223983073, 521214069, 598982783, 580100141, 271457429, 892616232, 951519564, 756368154, 801494347, 40122122, 650663275, 104568974, 858845743, 23795476, 843804583, 886565525, 957134038, 300472774, 831738627, 351184866, 161622717, 623481043, 943877598, 466587288, 939810682, 704318998, 904875176, 159960892, 401025200, 51638396, 633090981, 821513850, 514140275, 800991759, 4517739, 695607074, 794915932, 475422166, 566051023, 744337329, 990634315, 745882225, 581688919, 830126042, 961535279, 473520889, 970633590, 329313094, 539660623, 884499389, 850629471, 43459028, 303328325, 989336260, 690856096, 463788965, 810089712, 429728494, 844085817, 113997393, 685238034, 873195260, 314207030, 86379917, 984627817, 971750145, 752688165, 852979427, 52650200, 106388300, 149229629, 106684574, 200616411, 744971296, 75298672, 231620659, 440179212, 935473949, 385453898, 440068353, 592673454, 81373005, 185937597, 222490291, 684644198, 513435106, 992128364, 812891105, 627356046, 570740690, 574923550, 455782560, 302412837, 146037189, 426609860, 358527458, 820236794, 358936280, 792622036, 707145348, 148703038, 952387120, 968869497, 728080300, 585694670, 498248875, 924198698, 670459249, 287409369, 139660012, 476665427, 836865698, 702413294, 116424847, 880192375, 711553980, 69929599, 866813328, 417355220, 161056512, 67977488, 105830643, 431604157, 977669302, 495001922, 856454946, 43544263, 946151388, 427409218, 967610023, 871632384, 180075689, 746450785, 205842435, 169923468, 670898538, 719655765, 853246405, 303782819, 843839791, 458679826, 12882360, 60221590, 698992968, 640457695, 374217094, 949810157, 636393252, 338763270, 106140542, 618181762, 610855471, 171252169, 427079627, 922056404, 307223949, 844129503, 618504610, 229496037, 953849048, 143091474, 804002187, 731672585, 901321251, 192559806, 121667479, 458412558, 263571077, 228307109, 299717142, 933552598, 899172627, 429648755, 304157168, 554347133, 959186349, 848471837, 278497740, 343949197, 212439770, 351401789, 119638827, 946986534, 291825383, 709958486, 598430724, 256607734, 259856446, 657908618, 228100225, 336670262, 698862666, 708187345, 795270545, 301451896, 212532810, 753075562, 439771008, 749112973, 27568040, 907706300, 512225, 448563599, 613445197, 792550470, 902933115, 79288187, 485415477, 767713954, 969399745, 410749521, 626903059, 751271886, 762847792, 300348380, 997764275, 194866341, 99878742, 816694279, 772419981, 695351605, 991852754, 508433312, 15909243, 405195715, 822675132, 14014466, 32496108, 956021527, 942120667, 562795134, 74939751, 816451227, 395563730, 136927655, 232945249, 552412781, 896858628, 452862985, 874822844, 653670885, 319150466, 176804632, 619653004, 789311577, 899928023, 760824576, 300659668, 303220555, 917577959, 483860708, 747128820, 594533374, 106031705, 692318545, 356671836, 294360461, 937349869, 485258038, 883699548, 841027026, 575819522, 524477590, 997486510, 831162149, 782299043, 793410123, 673212238, 264959536, 741472781, 182601292, 745564958, 947027192, 269221216, 322030, 888226442, 556772546, 509770132, 297370345, 249269165, 294566121, 194823330, 873648426, 952187066, 299612686, 360338237, 886344757, 710501497, 55385389, 906268712, 970246186, 784612962, 512271985, 776903130, 58390880, 583846956, 84295927, 143973638, 339858846, 951324584, 221815162, 711722865, 799465875, 645168574, 652784699, 584251210, 526331279, 926115329, 513264536, 657783046, 643542837, 97061934, 175468787, 240702781, 190200176, 939460779, 918706065, 550617781, 962145517, 920698345, 699736916, 533141078, 490698316, 395598553, 93530867, 831071748, 362859649, 224841331, 224623636, 525065935, 600283875, 923597030, 932561827, 900628172, 878141129, 283375860, 216673186, 241136961, 756324399, 583236650, 581403354, 162320049, 545304739, 651141231, 894472617, 565203434, 389488601, 396818055, 754612338, 958293295, 773032370, 741372236, 200968516, 848581072, 482375948, 38602703, 82055785, 485381797, 974158784, 123309441, 477131876, 980880316, 127374833, 402362261, 11499812, 467396985, 152031615, 144749332, 678904191, 392548673, 19320857, 382808319, 637468188, 278025138, 798589042, 402963333, 297967069, 167917793, 541200196, 702525890, 432117790, 47461858, 475187397, 645912700, 586204344, 457724460, 632618320, 243226351, 234054703, 828094480, 270568911, 741809297, 73492611, 738059993, 411723065, 770906626, 900771076, 647064067, 497313490, 407424454, 829046818, 83433343, 140556877, 898035767, 733451876, 395797090, 667237421, 229515466, 230294860, 962707373, 709753922, 948604615, 617125970, 633958846, 947669874, 640122991, 510319984, 483147371, 373621779, 289725188, 362916256, 628414495, 993769837, 370481482, 621311405, 376706355, 463442984, 810455069, 595252340, 922736584, 224029450, 498473511, 567499401, 271266254, 566180267, 832301930, 158859699, 774774383, 682949061, 347201781, 341142781, 568860436, 600264291, 801599408, 485405301, 15635738, 144355228, 439232206, 301679528, 817474407, 222785645, 569653549, 7366475, 711183368, 7060877, 468295464, 828303371, 736032507, 950597423, 190461003, 264893548, 304458936, 789316672, 522780291, 872750088, 968709831, 15639056, 896772627, 323168548, 396447505, 80454705, 555639925, 403797110, 9766618, 684650110, 871816646, 488862546, 819259657, 33189655, 924194329, 479773673, 252353693, 73564644, 607447582, 694979940, 3049112, 381989601, 120086678, 347421606, 246004640, 918010171, 826948245, 500721450, 184379871, 9907235, 986030012, 295308706, 293118828, 961470644, 431777000, 690750841, 844153907, 945908122, 586413553, 124309293, 858210617, 796674405, 534101195, 484409145, 535580795, 692465178, 627007086, 835868040, 882550137, 331479980, 994467120, 771848610, 820769096, 169373199, 735605344, 103680058, 40355391, 465608501, 100429886, 928463963, 876358629, 951481351, 53836688, 89824299, 232412142, 641397703, 468302695, 738538777, 680398473, 581789751, 43872541, 553422625, 550795567, 300956564, 146712753, 817455417, 163940178, 583215176, 381480469, 264647992, 968701921, 942947782, 678845045, 783964083, 534756523, 836519842, 438264701, 267658800, 29196786, 927781015, 436856096, 894870228, 584916518, 741479640, 672133921, 56012596, 122430370, 833932617, 271609120, 157348087, 148570372, 110100285, 297625267, 704431685, 60591345, 884890285, 242544433, 145596977, 769118837, 382873152, 654857231, 351702521, 116809, 780283659, 529645628, 509058660, 186471898, 297387896, 628183539, 347260709, 835390292, 407767193, 824148450, 961076105, 733329870, 771640533, 579374637, 963989576, 405507953, 297670686, 629337442, 543807809, 809798341, 63221748, 354399384, 931947454, 43750300, 745487690, 640318532, 211449562, 701663443, 489461312, 365892318, 705934985, 87969000, 755274361, 545546520, 134839369, 831244588, 570223285, 129221892, 22806279, 604695844, 924104107, 287033044, 15355726, 662219085, 396520421, 213569502, 451291894, 501280657, 721704133, 472375837, 398493046, 895061848, 611689184, 832320810, 625924491, 986383483, 300801932, 448242782, 187108722, 435175904, 30950176, 322111638, 643273597, 713334369, 550892276, 580883781, 86883808, 779822941, 152544877, 772116714, 424227715, 729275597, 290189141, 16335715, 530513085, 683651970, 371372047, 50311635, 508461505, 799238030, 31046274, 667935797, 962548771, 361980284, 385310859, 552203037, 143774573, 393157383, 167552472, 219016159, 97303106, 261718884, 388859334, 229989060, 484384514, 742743711, 653720593, 616506328, 77048068, 612071251, 334100707, 726515427, 721438025, 291834688, 13893549, 286790911, 720810730, 204015185, 406649246, 612664723, 123636255, 184560326, 500855313, 481017692, 509041797, 731200995, 908256759, 128483649, 996412909, 374633853, 741885728, 115109917, 760650311, 730738153, 829626552, 891592478, 566843557, 87374873, 756331148, 342709200, 478135591, 517228791, 256347450, 550939848, 664007448, 253061073, 15621822, 338525849, 418987947, 983865994, 279625516, 213622918, 164943783, 439611369, 756079913, 541717460, 286113732, 56289288, 107310212, 498552971, 729155756, 873144032, 723139088, 108273755, 782932820, 371122012, 518630445, 7368570, 583593061, 483143463, 136195522, 766438317, 854951131, 517717244, 131155058, 964189694, 48052007, 178304973, 900638778, 430172138, 835512819, 183253471, 503902759, 784639816, 406703669, 307257952, 667249666, 8494196, 18910702, 751513617, 306213236, 557180865, 927326761, 133154593, 841311729, 734327144, 467278148, 469933977, 129293737, 391455672, 129063010, 420032660, 611510355, 439800027, 544644477, 565929972, 426513620, 234926869, 615143958, 888540086, 761030228, 816079551, 849327900, 15638830, 643999211, 205633702, 462294699, 677333754, 227637866, 68742913, 576188312, 44846605, 484245260, 859852184, 844060011, 530863247, 101659843, 616553452, 495344452, 858777393, 565910410, 2190396, 344527336, 675110685, 238789935, 296007870, 496929698, 461275538, 978586095, 708027004, 512406675, 381834026, 873665968, 994489440, 761341956, 773278562, 970978020, 711801824, 768107641, 816144164, 703644638, 878478721, 407840124, 674064123, 618663101, 589800961, 513100081, 266850858, 556956184, 650614507, 474271446, 788979992, 756731201, 646611410, 945217908, 97540318, 562298704, 739962689, 909540322, 217105573, 422718481, 190429117, 20686447, 77891507, 728520032, 562670325, 206725919, 803133444, 599097573, 231998348, 913788642, 513743909, 434331597, 368875608, 917247808, 385550122, 166066147, 796644435, 683127325, 1829178, 61836595, 968927737, 747495582, 441118572, 608217692, 274619623, 136558958, 781344273, 927813271, 915825604, 762442920, 715725964, 34228724, 749196823, 921527026, 197191517, 339281775, 998421148, 324291430, 447882539, 347961039, 12413366, 487105656, 60567521, 727398999, 947393491, 710189060, 945118835, 68625164, 885319266, 798014251, 121010525, 976075262, 467353579, 687810423, 436025140, 941171445, 745013386, 153956807, 824309293, 144594546, 422019274, 631311486, 90122300, 844750392, 646274043, 959388779, 305527670, 272306494, 132347606, 667362422, 19386343, 94138898, 477161989, 575300458, 774789128, 229258154, 439799604, 634802418, 808321343, 366436351, 427886081, 307919171, 496101872, 751829368, 917035753, 463486395, 236930081, 975815742, 155494480, 419678922, 964493541, 295782973, 296951760, 439165591, 379612548, 603170466, 181043687, 310139824, 144577890, 709659861, 613791672, 844714774, 479821220, 787687758, 704693103, 673584724, 367142157, 734598829, 119501733, 427529475, 177174224, 337098349, 535684823, 651729100, 52992745, 899943125, 995931703, 811946104, 366842531, 366208415, 418752349, 1103046, 621393234, 487584591, 325410268, 398673223, 566326210, 327650958, 965672512, 695847114, 90420925, 596588763, 639156566, 109669205, 683815037, 864418115, 192332170, 822657074, 779411025, 630555947, 934908911, 799781291, 650727822, 606870588, 878954988, 838341467, 442453070, 387307592, 739877791, 217989302, 132762898, 417224499, 644674160, 779483509, 430782005, 930479244, 323609689, 78371319, 276234173, 428089342, 72084036, 212697773, 516540844, 748488192, 182661400, 549463009, 482704081, 382760957, 65832389, 786737342, 70877970, 22726973, 536900763, 470260125, 400793652, 381923162, 934426913, 70706999, 794181036, 872943993, 586905343, 636583033, 401486255, 117353984, 23356733, 499886704, 69066423, 767484396, 869834641, 64843153, 120426591, 178555052, 768979395, 78206374, 889293988, 973735376, 115201029, 211582637, 905910531, 12694922, 717003655, 65484179, 777873718, 533781864, 355858567, 207788367, 498600374, 863079386, 958959509, 46682593, 108189075, 229700575, 890493360, 855944592, 120219219, 631723165, 622597595, 891252552, 467640542, 226406105, 602314848, 18670897, 936133440, 484497451, 813143622, 823549569, 907510322, 620809603, 454988145, 948679432, 333644217, 203532373, 907224887, 865207110, 105595168, 474236132, 47502512, 652155444, 371561141, 345500818, 172298858, 380440846, 558859420, 956423037, 161339605, 197607459, 735765094, 731190096, 645060870, 584831757, 990178336, 676955525, 381302061, 68377753, 721263922, 512329257, 634215426, 900274013, 232749883, 917160581, 215958611, 168700795, 503689615, 917075341, 698995722, 460006342, 285541080, 634992239, 627338756, 267473890, 499644935, 854929565, 97467514, 543229464, 872470595, 910440736, 834353796, 713726120, 763588153, 190867928, 147425505, 846448013, 322430617, 470378627, 434096872, 490646496, 109535002, 354162645, 839345897, 610035694, 731189387, 795444947, 218391093, 428473816, 970043611, 971825866, 780946578, 432120535, 149114280, 199894674, 469131287, 48459123, 752393464, 52525571, 368567224, 567204713, 250703228, 332478944, 242372640, 445988772, 138234891, 973785958, 8544382, 278456642, 41363777, 995147606, 919675574, 453988781, 257532841, 310731829, 118525505, 151415681, 327110558, 685092861, 531064765, 140470869, 708193948, 507492520, 295314737, 244864413, 796161526, 769873903, 289876612, 585080793, 330972014, 528785875, 996051177, 70344483, 574084812, 956234990, 514673791, 474520209, 177444433, 817249825, 269125476, 209232535, 770661744, 174210105, 146341924, 666084457, 979951408, 860747707, 175892105, 209812600, 513992723, 384459431, 707785761, 547684891, 872592296, 763723678, 659522086, 718768764, 550433372, 147770143, 191362731, 846363814, 123482452, 499704558, 980779717, 161165694, 212848595, 813663394, 383887720, 549404872, 932497873, 989964378, 380274876, 917278867, 746640784, 671575330, 42440728, 104035899, 650920599, 895314305, 864198675, 541682068, 743856655, 977932633, 374286597, 482836947, 364311568, 653725222, 627167011, 375213389, 370230497, 25387477, 8008330, 546840287, 438818307, 189260247, 625328051, 861953762, 27739696, 424721662, 883578361, 848040639, 832391603, 835089988, 315057473, 618126648, 648536582, 508834270, 338138029, 39068406, 701490953, 53779395, 185881489, 776635681, 96443405, 932110775, 920935108, 27814457, 501360427, 801217010, 828866958, 783784734, 346705319, 800131417, 693999260, 509378479, 976501059, 150142849, 33535185, 478317104, 844556920, 950003482, 87628855, 187952681, 597692379, 866424902, 562522944, 944301364, 570711561, 633941491, 687958132, 992794882, 664239543, 146583046, 669149575, 154395765, 788048861, 572100942, 588734559, 46763142, 167779477, 142134034, 582657255, 992371570, 576752070, 7851240, 976340401, 802433860, 878392579, 912381452, 236808900, 372483651, 121923125, 138272515, 309254220, 12459432, 840563387, 181834213, 446091736, 798458813, 628842436, 373236366, 598349807, 977083549, 420355916, 427212732, 452447358, 880800178, 429831042, 92650019, 329347455, 674956318, 522450193, 877987, 208890742, 598850913, 968552418, 513123388, 436134331, 506546486, 116650528, 877797263, 811505607, 491807284, 707711890, 517615400, 789218706, 383230723, 355296604, 28551770, 700277868, 616085575, 955899744, 279098636, 607378252, 448774821, 999114974, 683892425, 734872046, 25382657, 434952495, 248768533, 573090150, 604161564, 9075250, 607775421, 109858958, 19342454, 293324235, 328333356, 922131420, 97985150, 391110903, 187197614, 228036331, 851944312, 333294818, 650796989, 112936963, 794139989, 940361996, 930810171, 564827769, 74924926, 71530918, 210976126, 234347477, 72491552, 557816940, 99631168, 387718358, 468717665, 27298699, 345856254, 129242922, 660932158, 50733083, 35064470, 558473406, 15928267, 866049974, 209820311, 303910064, 784436240, 334200351, 764465165, 491660115, 779940829, 12661136, 810368291, 121462065, 951160561, 935192868, 381206944, 30629065, 866652033, 848539094, 882436684, 208253345, 459536046, 940910293, 861851705, 191870896, 395619612, 24156117, 132679900, 961926498, 669028533, 510371397, 885506815, 692989284, 639266561, 902141073, 820499018, 255450263, 395035926, 952794971, 96076422, 3317774, 508095972, 514026377, 246798644, 840138610, 576598289, 892864095, 803942168, 414769862, 146216152, 1680402, 744005253, 505169054, 252669358, 576433287, 803551696, 624200742, 535133012, 655688116, 156312647, 788479741, 127420520, 556946274, 97296010, 652186318, 536162440, 855063719, 332968834, 835760935, 91494001, 890776802, 696259160, 312685883, 254727552, 394069954, 600733867, 113095185, 263513858, 459096892, 926589845, 63733637, 707370477, 869319113, 748349542, 819655862, 261570896, 337240142, 748290776, 177520436, 872169903, 368882990, 363519110, 616678681, 107454003, 445013450, 528148508, 850506623, 414700821, 560731499, 227840695, 53747595, 209703398, 500188991, 201107554, 183285041, 131737331, 461480126, 94737223, 261369671, 973296155, 193747182, 925683233, 706743937, 427259566, 674651867, 271350389, 314990873, 384968931, 483728310, 10825819, 668005969, 525736432, 861842, 7832167, 821118706, 247302112, 467971032, 396726617, 830011797, 947399183, 520879734, 175432583, 501071217, 364023610, 421339665, 397890020, 939105652, 316245928, 110221914, 151751570, 355107684, 800763073, 931045301, 603473607, 577104485, 86589586, 965823321, 727987115, 91947723, 584771460, 838766666, 636731867, 870842066, 975127242, 520184705, 372458071, 978867545, 435922753, 882484510, 648447741, 968504676, 901982545, 607955723, 306873798, 205748818, 90967194, 168016631, 462612331, 433554498, 713171974, 367586674, 175764135, 74464367, 282365635, 332521863, 68029668, 286975852, 321295450, 383607798, 960472436, 33723236, 727849313, 4780140, 294393791, 794593199, 900289203, 174392891, 314140111, 428757492, 915819288, 383574336, 918407758, 699681709, 223720263, 916216268, 532677880, 785904474, 958036119, 909091357, 431392126, 338761994, 14539728, 463191133, 130545625, 840562281, 494097593, 282774771, 886861947, 521918093, 635509558, 121505361, 203128680, 410129830, 391529747, 834194269, 129253057, 367586415, 469991570, 925543785, 384653864, 737648732, 773526989, 334088098, 873922676, 750566104, 522442372, 538691676, 819057961, 767516249, 349594813, 490544754, 124696616, 466685438, 162055961, 696999642, 631644495, 663872028, 559389199, 967635229, 746834232, 470425613, 535885030, 268966780, 318146404, 111510147, 570626526, 765876733, 493052990, 763736528, 958869466, 377252668, 447725800, 419603220, 659367167, 754364213, 351871526, 445422751, 799112347, 353191920, 821360459, 971642903, 166077496, 525377185, 497335267, 628016915, 784242638, 175382122, 357461480, 431068025, 349044615, 318673028, 202794557, 128321482, 451579092, 711742961, 260558054, 317750792, 928928428, 236140453, 792424234, 677994747, 606047300, 649722628, 624844676, 140778466, 71220283, 125705258, 808492927, 496340115, 655217005, 971625313, 828475741, 677858123, 875231931, 773118900, 727148511, 609189376, 698560387, 721891110, 947246903, 239668273, 677643190, 268770513, 926000507, 400816736, 823259759, 65226147, 881117747, 27518123, 754280849, 818972643, 965406100, 262347134, 480110474, 61933517, 563792919, 13292767, 908636734, 140851756, 534810826, 606561593, 325128688, 664345549, 111045140, 732638832, 466511349, 231785733, 988761498, 222805691, 248189861, 413937295, 158554849, 557945513, 553005778, 116012078, 274818437, 629047569, 871693493, 164654383, 574098623, 407796879, 340781335, 948669298, 628138066, 540336373, 279900109, 637076841, 492802709, 983384640, 199670338, 498137785, 812609180, 129171066, 181497005, 371590073, 44252940, 458743302, 409800470, 48095685, 487556927, 612617530, 911759325, 52758025, 709460203, 206675009, 408365406, 308946090, 895400949, 876350752, 7097157, 993189743, 48218692, 462640710, 30791767, 417735983, 312629250, 292068305, 884729631, 581645992, 174685261, 819831007, 496245251, 720795116, 805118164, 419401082, 651583359, 301021196, 252252777, 624033076, 114368335, 126729811, 805922063, 264121909, 191703845, 869285228, 389402263, 346156200, 651688226, 837925191, 502796239, 247544857, 92027667, 877992397, 94127335, 99579959, 537156857, 745115722, 535003161, 521218496, 128713386, 235547019, 626222282, 907518019, 342780651, 960449474, 330926718, 43039187, 28189002, 686154824, 543753120, 922285722, 778822360, 921851622, 62170999, 44635164, 647006725, 332588853, 500086052, 579010326, 998701088, 279997901, 610860657, 773884853, 125335504, 474320679, 192402327, 413718186, 976981823, 944773572, 93555593, 253532755, 722656306, 561269746, 323184747, 40885649, 24236304, 3424816, 274330152, 406148084, 209834990, 230622606, 629627398, 452917719, 271026548, 293170441, 363304397, 524556907, 256218299, 616998116, 716191449, 708752356, 937281534, 108321280, 666104901, 221419995, 567332534, 783461114, 832845026, 832026034, 958505911, 589980082, 669789267, 506313657, 154283740, 901208960, 252350137, 464738357, 565393560, 246272318, 932653207, 752284678, 810003015, 456152603, 770700315, 304074702, 715889791, 583009947, 84427644, 246306220, 231980474, 98315176, 882747586, 804277170, 594359659, 720296541, 5574344, 975457414, 555397812, 409001116, 526083002, 578971488, 320954817, 370458148, 265898910, 954597259, 243080836, 352607051, 966964665, 86928782, 374211306, 640146144, 724464592, 940573122, 727903308, 100779196, 459307449, 291302127, 64936458, 35404995, 792775447, 685614694, 427213498, 968101455, 344200115, 719969166, 848499066, 225860627, 521541809, 819740577, 725071542, 179409793, 854805582, 224965728, 573944803, 82094746, 878667991, 343508183, 646510694, 337366040, 367972041, 968025820, 20608298, 644184703, 125361845, 955757472, 798833171, 241431948, 105127656, 886303375, 81976714, 91869888, 706761716, 699205768, 763456525, 587945516, 387459067, 209678085, 162583250, 232855873, 512545016, 179126247, 913227562, 760073167, 936138771, 827625626, 474126897, 110702594, 574644793, 942463090, 169788276, 829694880, 511427880, 277173657, 319587193, 249516623, 485942738, 205886316, 431915620, 450867847, 627241253, 965227008, 288878528, 387608026, 560985095, 979234120, 990177561, 692652811, 70868595, 10588350, 805745573, 568315824, 353486921, 355198162, 213495050, 678833164, 488244813, 831841230, 118147435, 166062218, 859012851, 888424746, 477794823, 256188613, 986863215, 102194985, 830348424, 990366415, 710565022, 687206814, 665626117, 439773094, 90706798, 186339928, 355651027, 793972108, 105383240, 317090799, 149238908, 862219989, 336123126, 915975363, 757171954, 957718999, 817997290, 401250586, 576898244, 173702965, 412933883, 828777258, 395639970, 824251279, 187974802, 406490185, 534168403, 293900320, 85986257, 379898428, 811470879, 453652685, 418307428, 517592330, 286873878, 279919990, 48215562, 474605221, 383936131, 847635962, 412316970, 793946, 216526299, 52995756, 268688750, 820094918, 448908428, 346381366, 423813234, 559348563, 559707083, 812130279, 983448790, 263788823, 851999926, 340939489, 848313582, 514337534, 673972217, 109256776, 344197608, 922111002, 867182827, 99757342, 3298374, 329312926, 576375103, 802581094, 985939942, 891474265, 111074375, 494587463, 586760567, 350406111, 444476738, 513853993, 448936849, 199385767, 715375576, 658410503, 235627983, 2166402, 703640506, 217661549, 270503937, 674029585, 650681940, 212549607, 448209521, 864033351, 993272515, 364587264, 238365302, 451127472, 742037978, 118910578, 720929330, 629543144, 137056063, 988768716, 704095593, 991489468, 766114930, 944170595, 507766863, 451284377, 185803664, 312048067, 408292171, 80816035, 165923310, 577424977, 531817874, 315532215, 740899622, 65288354, 971067340, 198744156, 123406339, 707943329, 469692229, 245726567, 675504148, 821765649, 105434985, 912613456, 254004117, 689342999, 69643256, 343374607, 227730546, 672180204, 195973035, 717763246, 619418913, 703603337, 286644652, 451157941, 748966164, 380508073, 237006085, 251351175, 459116619, 305691471, 175482803, 126251126, 378946208, 346694113, 904782789, 374310714, 383895234, 857591397, 677874087, 903867445, 530946888, 780336632, 439367587, 777501150, 682118114, 681995974, 880708250, 214464375, 89282150, 239645867, 854461270, 42512113, 517915235, 789428087, 444470798, 415870667, 25915736, 302241566, 337453167, 386354748, 447632768, 772468734, 364959901, 787772167, 292340585, 357087266, 814349633, 572104578, 315072149, 652418964, 256457464, 748346113, 395134474, 57413978, 908066584, 501011628, 608297825, 204644248, 28194574, 443193476, 353513536, 727042099, 115725987, 911166491, 250092808, 681322792, 636010473, 263922796, 278415871, 18300455, 902958021, 132255073, 170706980, 639567969, 936799645, 461648552, 412952900, 767112843, 122173375, 579961449, 105806383, 433733628, 880650607, 289486962, 455279470, 382403924, 650555469, 453030898, 992427858, 302527447, 542489249, 865184865, 950192739, 543495308, 364222440, 810527407, 996134967, 696798087, 546848663, 181047715, 754978627, 594431459, 370250422, 457294451, 633377880, 50638674, 512898889, 753363313, 211529042, 123314214, 492335947, 411902831, 484047375, 66097597, 194659824, 350108767, 77619992, 810461937, 410523680, 642754787, 279219839, 10114610, 609880410, 435906078, 426240619, 636452281, 318473218, 538018785, 189510438, 316278820, 137767477, 373263471, 246706419, 563547500, 975378151, 441857584, 165336538, 541331915, 275510761, 961032307, 539782069, 61980176, 733960251, 149449554, 440841549, 491160075, 38266352, 60948699, 760139957, 347793746, 771324196, 422575176, 322917694, 773210878, 477010867, 174849481, 691626968, 698194645, 89883046, 51977869, 383708788, 664742396, 841884557, 386561129, 909239979, 737370569, 677887546, 869565363, 679773992, 472111121, 101092907, 621773188, 595597718, 182550922, 819753167, 113824987, 262487828, 976909656, 43078028, 356300588, 482151449, 874368291, 279244982, 546807089, 160924726, 976905073, 278879751, 692965804, 446457954, 686346132, 217778533, 907394695, 807386932, 591482536, 326731776, 916216792, 975637203, 235882069, 943590360, 567636672, 637820048, 518873521, 945186959, 854884553, 444908266, 801436346, 373077309, 51241157, 840023701, 857979986, 240762067, 205540211, 432579650, 906934404, 168987464, 323495724, 640897143, 159586094, 286096768, 670327138, 526114812, 314344697, 890969549, 687042098, 190319269, 716073230, 698543594, 992562855, 666348064, 982703205, 246567992, 217169601, 590204707, 686664688, 12910090, 652342581, 364264701, 635583234, 74934063, 777780210, 811625543, 271206005, 914464364, 622078969, 482021366, 553590831, 238320410, 835286617, 120369653, 515726559, 599360016, 114706189, 362034556, 827554328, 123131326, 110845284, 677978201, 943851410, 698109772, 689184762, 837403312, 9568168, 265626396, 302788177, 485862590, 289960032, 134702551, 89860328, 569960305, 502793684, 348318445, 818857458, 713988463, 573030372, 345901659, 723760580, 984816581, 465242086, 626581495, 294991087, 333232019, 194487829, 227575897, 966402157, 795561345, 479247164, 8223942, 478463115, 482565647, 298074121, 804775490, 713735894, 595582248, 984149955, 566948001, 279836303, 544986172, 681976144, 508260913, 487270261, 173593831, 2681608, 653718553, 432501835, 417662465, 508166312, 306781297, 167166751, 579370974, 93120609, 800691734, 209382465, 277416649, 781624931, 547034427, 288018431, 630676529, 108783609, 936757177, 448295488, 719225424, 380561763, 584177013, 239033787, 629987669, 755914660, 20088119, 25012532, 787260247, 396283265, 578689580, 580840476, 523297180, 222201612, 78198317, 725865408, 776415670, 554244663, 542812659, 189333565, 645630222, 94190704, 814044294, 93463904, 996847045, 156443979, 517977890, 333878702, 591679563, 156404837, 298099340, 459853744, 483227527, 211187550, 552573058, 967256665, 719511767, 326873229, 720513540, 122635017, 83326624, 899177547, 581024258, 51740736, 450988840, 117026316, 910905151, 742978005, 60397477, 932778522, 536293112, 288402207, 946015934, 714584793, 534918278, 664584383, 34622494, 440695015, 198273333, 72342800, 820455722, 964490123, 969297096, 343003856, 238286959, 666920774, 285506330, 506350548, 565366317, 348833306, 431855641, 863424622, 792804016, 706577263, 121668448, 888862973, 535007776, 758812081, 703910248, 672746949, 891136503, 758594819, 984754196, 398614766, 305880228, 735462702, 467730899, 817630493, 864846220, 944200224, 613120949, 172600179, 373664777, 692950180, 254322298, 355244263, 710157600, 484997921, 301795257, 171519616, 302496975, 892266707, 768170576, 659285393, 748473178, 274389389, 243052640, 775504667, 506896309, 514102023, 949661343, 315540553, 612896543, 490496135, 409369368, 353848147, 559233788, 118558957, 43812562, 702497944, 48641058, 354519400, 204293984, 654419571, 144683037, 437115947, 936951568, 604009663, 654641027, 241287665, 947962680, 815658048, 460880354, 203061561, 113102487, 692452698, 546122784, 36268849, 348103677, 246880140, 598045478, 329368046, 132385516, 207825748, 837617066, 291412930, 521073872, 639171025, 209430116, 879070709, 254379546, 478615612, 702197479, 718214390, 801458285, 740945007, 180314836, 959580026, 43893055, 622716241, 472071198, 975657775, 538013536, 54003040, 397025503, 761231637, 667273258, 265344208, 149058314, 615445558, 610813616, 525521753, 331824565, 707788209, 217126877, 980366837, 627295393, 403598675, 133959064, 647900836, 841241787, 55321620, 461154668, 777910763, 551641465, 340470028, 21599826, 349107515, 44601770, 3935589, 712479790, 40877688, 22291491, 307875930, 448165042, 974137791, 494843672, 300971771, 994978905, 671241405, 464782777, 382319381, 409522035, 172015260, 719171475, 759702604, 758574752, 584430590, 730314283, 936775090, 532215728, 249758879, 909770212, 425896313, 702399920, 56434230, 116356060, 173866671, 61763989, 923703771, 374810443, 60506132, 186354703, 876455897, 632453046, 223299845, 596155633, 111058737, 385745637, 762795434, 138669854, 941924174, 886316394, 765144604, 644583596, 303274061, 718773752, 575999139, 42788977, 47514715, 753053469, 74443552, 662979442, 651672172, 556829336, 199513799, 382073998, 32463786, 887492326, 528277508, 713009663, 122307101, 406705432, 756775251, 722089931, 877683496, 446442528, 512649302, 694821132, 176445708, 894300516, 530709656, 528849688, 286248629, 800075442, 899805214, 928986984, 9493278, 101881525, 863268934, 332450128, 44515107, 51988780, 427104018, 665584767, 767553681, 480593118, 709681089, 55605257, 891520925, 150476527, 752036888, 550371022, 255835529, 620685032, 405748711, 239443369, 401568790, 99819884, 538962243, 566395342, 120421006, 377021339, 689956605, 869792001, 778119907, 419206023, 324680729, 181767575, 405699811, 34276526, 221456953, 328528748, 428539021, 550015825, 817848614, 468674378, 190310444, 367047143, 179362856, 6469378, 563217130, 533210523, 599465378, 362757397, 694056774, 680396020, 120849407, 168947445, 973489872, 492600284, 537864429, 298841704, 361129769, 337254738, 966512528, 679882801, 247171551, 346843433, 642029714, 931613496, 121383872, 198747891, 412076594, 742170376, 21225881, 554352666, 444080717, 510105330, 968628275, 230885063, 733974837, 844924056, 434484215, 1958680, 706230094, 591227855, 301041062, 572730003, 964014834, 517300952, 321439284, 448371539, 956650675, 555611773, 728812156, 922856826, 324158388, 347904989, 302392771, 272109698, 911038466, 956010660, 741899111, 715825634, 847605447, 133157476, 223033113, 843465212, 496671997, 529704827, 239569695, 385274199, 138986640, 411751028, 29318342, 855056186, 493970313, 994580183, 103703146, 968698253, 122655445, 954479844, 690340429, 983951909, 696100762, 116249626, 641888521, 825849692, 230138302, 739966304, 266507475, 685509254, 723462627, 420698923, 782897412, 489823023, 618082438, 511908771, 371045517, 648960933, 361056630, 169501156, 892913544, 279743248, 795717305, 178469214, 919792279, 545010062, 351343333, 723132636, 284709624, 356848862, 1765565, 608001414, 896112040, 683860438, 860451022, 721114356, 286698981, 530487606, 432486833, 764182057, 184672504, 674871783, 365716393, 666016028, 179551722, 597167729, 560909372, 94727221, 588736693, 473705715, 38393356, 842680234, 102116446, 87099299, 527336790, 944650835, 549155616, 498277987, 473304134, 779221608, 675510135, 189223814, 485708411, 771297716, 694725630, 960896540, 678996828, 333748830, 125659020, 12003314, 416010726, 302015681, 220948327, 855714482, 298737793, 880733727, 891513484, 515993363, 975399455, 539595875, 671195561, 325872521, 945986358, 39394423, 334461463, 603535348, 378901605, 162150552, 973467109, 285519783, 389199571, 173429753, 202626406, 410082780, 120593210, 404205112, 892248807, 269132147, 614077500, 59490961, 218918962, 999612059, 531451468, 117706050, 624338396, 864690710, 421359988, 359323097, 909236297, 964884538, 760200859, 344779954, 853457715, 322884872, 693256082, 96986068, 335481698, 457970786, 34526434, 669141640, 503952764, 352325139, 382248148, 94901130, 698694445, 371947101, 935163905, 282283571, 86764369, 20764599, 576179442, 378818349, 986782909, 365943230, 129464703, 584677901, 288652020, 693299193, 543034775, 424568663, 380486432, 935151579, 276076719, 145554917, 913540206, 654719811, 963034058, 298851175, 777025781, 303660180, 492070699, 112265763, 414361975, 867550304, 418440832, 685247007, 244855121, 683329194, 950694462, 349539471, 973699300, 476739084, 249351370, 166842968, 487029688, 748949088, 712594988, 351411259, 371745334, 943530307, 814714938, 578598346, 300510362, 437161285, 720696714, 945063890, 382152845, 301296849, 444686922, 350155930, 284381351, 649081358, 949074091, 655550174, 980140034, 36641038, 356810081, 554667571, 530815164, 485654129, 524389415, 758843342, 9384101, 412584226, 816933862, 196587664, 722334682, 144865927, 193123366, 703335508, 461422068, 787412409, 430813062, 140347850, 575433845, 705859317, 887621356, 898093403, 419992846, 523182457, 15470717, 709870111, 497866720, 698311949, 639135126, 644658961, 935842839, 737589358, 662715394, 671461668, 956653595, 404407307, 688416174, 133939551, 351342526, 699516092, 957928978, 367039925, 951937231, 54274934, 643964958, 365572196, 354457217, 380824190, 8583831, 495734638, 465198062, 590340139, 912801124, 125214368, 191936605, 636519493, 194913944, 406434750, 473373912, 544451041, 75546172, 734434188, 269519238, 732467687, 405292320, 14775757, 93125588, 568611754, 523464727, 420402276, 867440530, 353242368, 546407592, 901833226, 399784268, 805899880, 282174007, 786742271, 762605405, 444204325, 672243627, 569269146, 609920296, 295571833, 661651683, 877407313, 898274610, 946137004, 344948963, 857821143, 979457868, 512263417, 218356316, 450570702, 458215400, 849023137, 653635348, 80149349, 579303924, 587258932, 853868417, 38054195, 905541241, 141964553, 312230523, 547042266, 736691049, 666743978, 439713650, 249217212, 57742981, 598298376, 721253907, 826715898, 415952710, 914612346, 611319196, 282368213, 761945835, 929722429, 604161300, 837909245, 225441288, 209961842, 658777792, 96242405, 129713664, 418715999, 121648239, 324469777, 994463941, 488714820, 929585911, 8901382, 38757434, 165496254, 149159771, 329521058, 563170243, 598651507, 898893913, 302810820, 486519125, 820418507, 757180165, 796571599, 935810686, 635697330, 324300486, 184151034, 533440393, 828654518, 160761722, 842736161, 681921551, 417323300, 480436467, 740438853, 255549602, 363555748, 239055659, 591374715, 21012203, 661684138, 2558949, 765926326, 779823296, 935866475, 169902535, 890391874, 831830597, 11813680, 119659301, 66678161, 203083941, 376971316, 955811893, 743578071, 333184386, 839090545, 902678146, 663562353, 604941856, 290639921, 9093065, 269264533, 621837248, 393523526, 337808210, 800820067, 589987242, 257998901, 640682981, 248673717, 688556305, 907204733, 772694943, 80265354, 555689491, 470585174, 788952009, 530028769, 68544287, 398819837, 818933044, 213467425, 954996263, 187148688, 799117862, 503599779, 209301964, 265145071, 139436400, 533230184, 7555916, 391930355, 434022858, 380848769, 512282234, 199109448, 362702983, 339204670, 647797994, 684177113, 29053212, 623287252, 923522709, 572050829, 422896798, 935689536, 845819479, 588019961, 55289726, 319241866, 58401879, 538355411, 848540215, 112934198, 39275672, 657263308, 659014448, 943228998, 714459950, 119684564, 436718562, 492542118, 32770789, 316366576, 920159530, 851478788, 489347599, 3801435, 290986328, 886161852, 990955808, 398438905, 261019555, 16560565, 915635261, 96923339, 608964497, 945894095, 314740516, 462152764, 390363071, 885519129, 583035903, 42767510, 671946650, 214794537, 380273538, 574253841, 423791076, 577066807, 279710211, 964655286, 254132391, 655503113, 326044996, 269567669, 384902055, 540347632, 284443821, 573287072, 675591187, 19576898, 436851252, 154701692, 504595180, 325681800, 52711736, 36615187, 917910929, 258628250, 439909138, 365686317, 221724241, 338257668, 682192063, 660058650, 92973002, 394427843, 288493466, 930640757, 910015188, 337231794, 305961119, 547628424, 278347760, 779468800, 765627877, 951170058, 133473652, 297620166, 139744178, 137523217, 332552111, 257489058, 472106628, 576483861, 928499333, 653403447, 354753106, 192674100, 668384809, 835606188, 19473074, 333444314, 281112893, 42178585, 504943481, 748951937, 858608150, 424908233, 555137836, 3292340, 343085334, 324159800, 800430867, 251571651, 810648328, 715732823, 811670642, 12699628, 226677835, 15277012, 27484152, 746386429, 153009911, 271586388, 659830595, 770426805, 887802119, 102479929, 612206070, 912519709, 574178182, 811108832, 263858915, 68523977, 283310499, 23648276, 464356710, 147382810, 943636491, 69552974, 418011384, 756131790, 190325441, 419390732, 420455959, 775683, 773525397, 106179347, 300632416, 727000040, 206987832, 108428588, 431092630, 829644295, 867026273, 782838451, 394731075, 11111875, 138219329, 801186794, 757599451, 986970602, 443150119, 196461932, 649405073, 50443748, 795516944, 143445127, 635520211, 255237805, 236377529, 466845384, 884331483, 825292318, 902592381, 604204190, 465410500, 73964859, 789863811, 192096321, 352052321, 386308624, 411598163, 361363232, 657608197, 456011764, 743108862, 961449866, 664301599, 960003247, 279432450, 158348330, 330478281, 631480227, 789441785, 227244966, 273478860, 527171764, 43272358, 822459732, 763625120, 273907281, 361915378, 351414991, 665666158, 376270695, 499137630, 69134197, 510783094, 428124425, 728161084, 400506851, 183719888, 239233368, 263669347, 903300628, 422950422, 82932774, 977920098, 733171230, 468295008, 712861176, 941907653, 387989914, 17620826, 151168459, 714744887, 980134512, 18632855, 48903537, 363719341, 403495698, 23071794, 450945805, 205677279, 494722315, 499381369, 322013366, 334046641, 29710741, 596227899, 882847592, 934240139, 336678633, 541478054, 973236321, 864748814, 518964700, 743703385, 181478511, 893773564, 672705477, 376975814, 598564948, 971024851, 510750312, 820801602, 154111222, 523395393, 966610704, 335476195, 147440602, 525882450, 29271167, 733655836, 630593160, 976841740, 796680623, 838735653, 421245805, 104145761, 788535825, 952506837, 609045357, 327425272, 134471051, 196018393, 185186617, 971948755, 717453034, 519118635, 175027600, 326831036, 468697119, 239529105, 521161559, 746676704, 993176697, 291721939, 468561709, 745626484, 234550839, 354871445, 789728244, 337796883, 115829110, 192052112, 43778883, 81072480, 793880379, 845110781, 946229336, 345192154, 143858835, 7314254, 325366420, 32707172, 400320721, 499362691, 228409866, 152901513, 138516229, 549740597, 868055542, 520577308, 36487239, 758092567, 772454249, 17127822, 802871462, 362200769, 322848882, 997042840, 291345365, 759198949, 777729926, 446787497, 833310017, 985603727, 6762071, 824854551, 983203472, 733854966, 750208176, 934660833, 635027290, 330916731, 5878972, 611507112, 897851692, 194545962, 624217771, 249288795, 346079924, 221105535, 912865217, 946000657, 262720931, 152127150, 705083065, 214700348, 990654176, 83526763, 114058919, 542671149, 9584284, 861520527, 886337719, 227066143, 763678018, 794300529, 633921945, 557006213, 947128445, 167153491, 565567541, 978734860, 838474706, 709704441, 153939851, 97648487, 452313145, 956718817, 298052540, 27935181, 281236451, 52369587, 222417656, 128885353, 214510357, 981175791, 625175104, 805290914, 705607574, 851373788, 285681610, 714220153, 892142848, 546530803, 369462936, 220640606, 905269547, 865586407, 632065987, 530929262, 969057944, 403663671, 757803267, 35106831, 382473543, 648772535, 725148093, 700971491, 657565786, 175510806, 452817834, 906890820, 446933237, 269828304, 642458124, 961586505, 529209089, 892927743, 277120963, 478593432, 405214467, 17492950, 516434568, 196977527, 188081490, 263203010, 920776218, 207675125, 546994905, 417418423, 848782832, 347862911, 24025462, 806416245, 640140477, 111552836, 767174938, 884391321, 903863484, 768216966, 68050209, 773760489, 457665093, 768202428, 256360709, 529494100, 129614135, 920507512, 609126685, 331584476, 928151875, 434215347, 63465007, 855684327, 512983040, 349526203, 352153654, 889319044, 515280276, 972553337, 18922294, 774322636, 811900124, 10574459, 979307628, 172812479, 854194185, 540179492, 114142169, 791350309, 703751527, 499803117, 334857855, 823414631, 774171742, 293890765, 796390772, 126837796, 640069586, 397880556, 389960504, 261096871, 430751130, 605801356, 193977569, 289388183, 563927280, 612833568, 931225661, 277371215, 768960654, 163309589, 109104035, 27302271, 249714040, 31729224, 138584342, 756980671, 232578991, 838621995, 871177428, 710598087, 268470947, 239603301, 450243457, 626587124, 962391424, 252613473, 276222035, 932027908, 982641416, 153653978, 862554711, 393993889, 106650833, 993286874, 956311263, 505311550, 597696364, 551377995, 148417053, 693944814, 197727878, 371235914, 219290507, 521559198, 406710866, 156821147, 792695442, 241332021, 386381165, 301117407, 785258369, 879941477, 557815231, 358496241, 510074315, 829420505, 396369113, 810132437, 364167478, 577292592, 980531333, 655605227, 239453000, 852429558, 58488493, 158114871, 798825393, 101007719, 301226041, 90335203, 34993791, 607764446, 358564761, 673668466, 218306613, 563967120, 43202504, 590054931, 638197869, 982946579, 630223502, 125097176, 30980841, 267830604, 917657382, 255247447, 934648302, 256113626, 109778373, 32094409, 734647229, 745166366, 97909385, 927511638, 425919852, 318259501, 499103324, 511609919, 998256707, 496911167, 106718552, 868763077, 619422459, 651872556, 863457911, 521885637, 926013007, 471307333, 864984178, 879070438, 346942811, 581077372, 431853699, 632992219, 552496920, 506252149, 123195550, 388694412, 6976212, 989768501, 396099348, 756501961, 518150640, 486155302, 897026320, 260760614, 711088106, 499175153, 702411401, 876536661, 127976387, 331670997, 546860809, 60504871, 921324906, 246540855, 29404495, 212867834, 182749296, 943833883, 982364704, 184224609, 421877198, 95850738, 306541878, 438613608, 322962318, 785710849, 535779312, 900858447, 317725103, 804227755, 936151251, 889272366, 353730663, 920784215, 663723212, 462046163, 478624180, 440605859, 950669020, 471982110, 666870706, 874094252, 713894864, 102373874, 285328150, 835770714, 578523423, 205168682, 209902058, 743480191, 978875144, 743609914, 700574040, 396583222, 666091596, 692889331, 224788571, 580712645, 259658568, 73642378, 571804057, 711736910, 733402247, 454917709, 377779515, 842407555, 421424769, 745316459, 292700819, 5557503, 355857249, 454397231, 596025346, 764483582, 560763166, 712521182, 173510137, 213648944, 854215249, 678315211, 354420389, 950698962, 109387077, 390399696, 100394829, 483565325, 638079349, 890812195, 4528237, 820168644, 254063743, 345099708, 899701050, 315106331, 424823681, 586735815, 199695274, 415013889, 703710315, 716893953, 661146252, 196852959, 103969055, 847804492, 269454089, 3787109, 95112734, 92853549, 954671956, 221977293, 723406597, 722312776, 742194877, 368580834, 766565320, 863738, 227397861, 880323426, 659227153, 588941639, 261841941, 177678125, 422589706, 353570774, 724518278, 694195363, 176520017, 441649160, 627658182, 37917885, 913026442, 43251888, 464415344, 165529760, 149372597, 588516034, 884532774, 959906407, 80059616, 972543629, 876760984, 613410176, 170746941, 838673999, 955686275, 139279815, 373991168, 376363252, 349799959, 961558451, 263829412, 119716466, 888078939, 145005306, 204682482, 887486984, 535008717, 927936986, 591610459, 188475462, 376171750, 310510235, 690446294, 565970141, 994363014, 337883446, 70992317, 841956563, 139158577, 395094837, 512332204, 205570476, 37554325, 937227484, 337255621, 325727973, 786841559, 269890213, 131052302, 686459569, 666667911, 885203044, 594357745, 293926215, 700663804, 781586916, 490254571, 695143421, 345604574, 964804767, 610049197, 340889679, 831250464, 255096114, 204854639, 41591254, 549229869, 405765936, 497200355, 52747293, 420314498, 704495364, 198154848, 885377029, 280437974, 889103781, 630497514, 897112465, 182356803, 890812245, 466857218, 365969518, 892098175, 620875840, 396236750, 407436648, 867979412, 523459556, 252110029, 531177912, 875787086, 372765014, 613665115, 296303525, 490355747, 761856149, 200281161, 226057130, 496114964, 631165895, 771401652, 729861763, 374692676, 988534579, 100158592, 23715113, 388483293, 39099925, 308502681, 879235350, 457855572, 477356175, 342845180, 853906207, 376086263, 863488947, 719040528, 246912393, 838321340, 359091976, 983915929, 634732276, 685604574, 189358357, 956898409, 780008160, 627727974, 482864307, 959774190, 154012472, 259688576, 746590300, 207266604, 286622034, 274426355, 440082187, 91752285, 703616395, 599786890, 456992133, 840367141, 479609857, 935014322, 715867708, 998535660, 599592066, 895754715, 859263823, 710707151, 162316511, 992521134, 205084852, 94566878, 82056009, 420891957, 815649827, 814880527, 197848551, 147684897, 288020988, 908689431, 77600892, 152399253, 319058653, 526142538, 521954003, 651291646, 331106483, 18943613, 136113263, 683517084, 663394705, 760520156, 507000506, 877902826, 918720073, 461677186, 487844741, 683135773, 931356323, 68361609, 757772682, 327532188, 633522683, 12984648, 814885716, 538710555, 501637003, 645148145, 827570951, 879336739, 725114134, 92622929, 925368802, 323799685, 108409433, 84981728, 827329449, 266281072, 866642040, 118741394, 394633408, 129111315, 701998494, 810253911, 150325592, 629411487, 540985120, 910679043, 785865683, 321405216, 998205567, 343731202, 751990349, 655539910, 305873563, 635650035, 755962704, 224441231, 934084474, 216841263, 850924480, 801645406, 536464977, 570021916, 415078390, 794543318, 478783508, 225615830, 3321315, 262014305, 646345909, 677555906, 976521618, 212092951, 31103807, 826936365, 679352869, 830157652, 648296893, 840000398, 335980502, 724834673, 618394246, 483351549, 770094850, 530482135, 446336889, 781105714, 488504180, 767381098, 673930871, 472044355, 186880486, 765938894, 494969281, 169984069, 158882338, 754657985, 752454299, 287800526, 37113116, 298150074, 879785172, 952833222, 444489579, 367208190, 181938419, 317950494, 907181170, 716239834, 199354998, 628719161, 323392121, 912565419, 455917243, 70480667, 117537473, 634763622, 317752282, 972172763, 905970928, 310832640, 795057900, 582612588, 699040069, 386056877, 291278902, 305064813, 587312066, 211769108, 920488525, 307170963, 961901408, 172437867, 145997199, 715984985, 141012321, 266295327, 763397720, 262173059, 289266232, 719808195, 503339232, 599767255, 31969268, 467228727, 394137164, 954422968, 476802375, 165822559, 70423751, 787996913, 420586852, 919683869, 553929341, 642800681, 517577984, 216353928, 619065423, 739701718, 310548080, 395197027, 730602659, 709608235, 645487522, 845670388, 936782445, 12435313, 33301347, 131380344, 517227051, 611830672, 605124605, 117363367, 135998844, 926247707, 181170346, 927230879, 810196833, 266960935, 97918451, 668657084, 770160467, 395662013, 516885622, 514656612, 524210302, 287565403, 564365584, 480187401, 198086932, 631084783, 342878056, 365850818, 854198475, 504469422, 682293910, 213239535, 762566552, 241646830, 848899528, 851880630, 306209729, 602843100, 867693690, 508328709, 118278766, 112221475, 274818331, 905327842, 304623376, 745559249, 57077410, 132970336, 286642453, 109545785, 7236849, 882544168, 643239632, 299822757, 602534751, 448746951, 103399351, 676171897, 870118841, 522469016, 383624372, 143986777, 920372767, 595764363, 44617441, 877970534, 264726757, 422452987, 885854416, 317372695, 490121266, 248078833, 307991626, 531329385, 454087142, 632103029, 940320853, 71951395, 852803501, 690864971, 217778496, 565245871, 714056204, 608468714, 648004052, 916074539, 778559057, 141644647, 848798789, 634325186, 706468921, 228348594, 540031049, 81376586, 246890806, 1095303, 313593844, 844722958, 424170009, 834611892, 762797342, 523092686, 748008815, 796104384, 643697610, 57466309, 41711757, 813159642, 908834275, 849543383, 333498509, 75488386, 590101424, 195832231, 878902371, 402137544, 66299295, 953502211, 929815564, 28172631, 856770698, 128032078, 663281141, 642826949, 82292460, 612585944, 171625003, 483341030, 278032022, 408391552, 196405314, 666055418, 465048729, 66463237, 706866299, 985813722, 557203963, 383407214, 937106804, 355524993, 575635153, 810039890, 273179311, 201738184, 315953405, 743628373, 567904504, 77960486, 49840009, 253666204, 311316930, 747806810, 508975084, 41020614, 342226736, 898032398, 480788451, 196528645, 98323657, 624999234, 31252017, 661050304, 507326854, 108794595, 864804430, 902541379, 619679973, 588357751, 471768391, 115217716, 108245035, 339801949, 899466122, 354552413, 663718388, 931676112, 854952005, 875603218, 821432634, 58458661, 50937168, 81984235, 192658367, 446321132, 245647074, 772052892, 857722494, 892301131, 959144360, 633401966, 366712784, 58594570, 288771048, 512382978, 625775010, 484766713, 909228638, 927201026, 906540506, 931662959, 523601688, 47740082, 815930795, 838450619, 246398722, 142781896, 743048439, 152511690, 429447733, 246291716, 360340665, 707106262, 497845856, 510926212, 372223736, 486085149, 966640174, 512748063, 696577594, 390070744, 822070795, 961470115, 165612950, 994779769, 41792713, 412828130, 92823402, 983995515, 745122038, 900990955, 760575024, 744600835, 73449429, 144631155, 945074550, 501840707, 929669437, 21030161, 875054768, 19393869, 849195801, 76486291, 802025764, 788610447, 152953236, 487230538, 871967874, 859721196, 614557871, 146677526, 462388187, 561349345, 748062358, 950957206, 366703937, 461194486, 681941840, 408358869, 873341953, 601572825, 600654535, 743461578, 814279036, 364608855, 997175706, 927214649, 250340864, 316087981, 242480951, 209335395, 885854969, 898627304, 141336047, 938046967, 268941417, 874445730, 723987778, 347027487, 439866539, 396976166, 722754800, 139395815, 838189173, 903209587, 618272459, 106015918, 831131953, 447009919, 325430336, 732871458, 982683089, 775979106, 29168702, 130360708, 95958353, 330101328, 976905574, 143790771, 621465186, 461225081, 131420399, 879716648, 20166221, 375558894, 697786595, 95733676, 490073606, 834205354, 623453542, 246029776, 97001439, 987490970, 917175052, 32265155, 963889929, 438117090, 270063215, 103712295, 251766973, 501365615, 852359514, 754360389, 915472184, 131628066, 125145453, 804877653, 12660286, 652886826, 384183829, 577751237, 845173430, 311971393, 898529345, 95895556, 693276841, 752116245, 329716297, 263548445, 906857880, 415944041, 687994482, 826618414, 187090416, 155594605, 561905136, 853303217, 760388384, 120678942, 216847857, 401853371, 154507837, 218617668, 43458533, 508812470, 381886078, 246620245, 189767549, 493441217, 931849525, 533479989, 916516295, 42700361, 259322409, 858717983, 246227562, 188361839, 522215139, 24147241, 85414642, 739387142, 911076289, 303383279, 660873392, 45494406, 45400603, 184372654, 767330418, 97167509, 922984216, 201379931, 887414918, 860248419, 594234555, 649101792, 573971544, 967119060, 503736353, 931852792, 847511837, 164550249, 66785151, 456530530, 766862807, 206203699, 199427058, 208141469, 491013963, 275256829, 32302728, 498602350, 900355331, 187196515, 245556170, 92336306, 580181625, 453039421, 765430727, 897186915, 717079107, 103159008, 220319203, 140988147, 296972885, 158217459, 516754969, 930961152, 488908795, 417904529, 774987346, 368919894, 871189288, 739405153, 684280344, 430914013, 431687125, 488889760, 721904939, 927801662, 512658981, 536480983, 615197872, 308264413, 578710876, 735948879, 875725419, 847842598, 848667723, 150310321, 701144516, 697733744, 560059326, 479639256, 624572175, 184157726, 20448925, 928674355, 151878713, 325231410, 689004445, 879247429, 368498400, 159952637, 403619147, 20806866, 751088371, 816210527, 532428380, 797529243, 420119174, 248366694, 103891030, 425913703, 545324938, 845947373, 995483556, 152796886, 371441438, 663820516, 290600919, 703776401, 801152416, 30756072, 388641185, 624714435, 886078936, 462700921, 856861719, 23282617, 156618696, 263375144, 853131221, 385629270, 211787781, 633025912, 712426945, 148102878, 477517789, 347458812, 110306077, 576392150, 616993853, 653791260, 947867663, 133215015, 209054914, 328344963, 49979112, 637638490, 685062294, 304280075, 171166519, 349517800, 211865937, 649469105, 176769646, 361862323, 787463366, 310880463, 212537103, 358634492, 19658215, 18490650, 755539107, 761867507, 928729070, 238956174, 850164028, 810303558, 800115679, 965740552, 647236214, 545516945, 194962258, 581421863, 754877580, 415879243, 119291114, 831985819, 429678303, 518810075, 383260387, 42935, 950194584, 725637328, 355756200, 30058786, 200276469, 208060051, 181638852, 876903051, 587563556, 728868196, 319947861, 472305761, 718191794, 877988059, 186555632, 969345866, 207543966, 884061878, 711275833, 509062042, 281548550, 512380743, 40362792, 657292976, 928490726, 719704286, 159636856, 208348898, 967039000, 172297037, 981711670, 497176524, 982628714, 85605386, 455555410, 260200066, 397702366, 793513851, 437513429, 853052315, 971013130, 589918533, 870972727, 618635346, 21978232, 950645887, 247726054, 833866134, 96503237, 245682019, 257849766, 827544788, 389669248, 299508019, 209318502, 878624587, 864477651, 361006546, 632668401, 599897682, 682074745, 520930318, 422686592, 896954119, 202422513, 161456872, 825691078, 573598294, 831431335, 488080136, 406823563, 808605551, 516029562, 69479521, 827458793, 545708626, 260300670, 914085347, 336291979, 9519759, 908629894, 906309598, 209605779, 336164980, 219836358, 316735415, 307865166, 768229094, 770505147, 233632278, 936486877, 742389877, 735045671, 637120155, 777902281, 532257848, 821172572, 787466949, 415453465, 138660909, 426113589, 148943000, 801323732, 16416367, 335751346, 286210729, 403343862, 881601008, 527917363, 717330368, 897556706, 490414549, 465541061, 24016767, 865758389, 39039642, 299146890, 623571116, 719514099, 191745613, 215142024, 296762101, 510782235, 959342356, 839293340, 823846216, 159813182, 916844169, 875328169, 688099811, 284377384, 742262935, 40158665, 971698631, 950707884, 640425348, 582529125, 524388848, 42944583, 499197400, 942577821, 635828081, 700621178, 719274369, 182630655, 484262445, 656814921, 713308558, 328821273, 459478496, 328891637, 465401533, 878142004, 962156700, 987656485, 720046130, 91348193, 825216881, 926298574, 21391599, 570187474, 820131273, 167169210, 330440284, 291760106, 471415882, 164872597, 359791294, 892995572, 2886105, 513294763, 269861980, 734505508, 542146507, 454150557, 961119747, 66446734, 461293187, 684605610, 442398279, 369751163, 624129109, 964720823, 951747878, 435348549, 451659153, 358914441, 29502678, 726615569, 817678671, 122847178, 207935685, 474845333, 577191873, 869205004, 786658921, 904412773, 86355371, 892274623, 793428811, 346838345, 697787710, 752596871, 446380314, 903336433, 497130225, 755580061, 426061277, 170138022, 344518597, 25245282, 24745499, 948535396, 611840838, 789890713, 412296277, 544070672, 386043178, 865074682, 614421757, 562850503, 845012923, 940989840, 743688214, 209743309, 538027226, 780036007, 758701394, 641822506, 168041475, 953861139, 806894096, 855441971, 787923234, 358669940, 423193681, 744679471, 807597088, 787775629, 933631857, 224941231, 844790772, 125177573, 509394130, 766577012, 164601542, 689486189, 64714685, 718850011, 825777079, 172578141, 925137497, 363328839, 166963685, 793542225, 858240351, 358536932, 507926559, 333370898, 908052658, 937446049, 349761177, 595855774, 883204150, 650742805, 206972776, 778551746, 779980463, 727260825, 764774492, 775129773, 582084309, 359547551, 160629089, 913453525, 26666611, 834426288, 884901136, 563495899, 122658286, 108237719, 761073859, 991630678, 475321355, 843871880, 446861332, 985100774, 527690199, 596155397, 196703350, 352892739, 842047521, 184868307, 981877726, 567262843, 279314175, 281208422, 262921902, 988237176, 354758201, 384228322, 240332920, 164784367, 944326045, 581991592, 955456615, 103660402, 735089946, 27149481, 975703707, 525347013, 124696968, 614705375, 564290191, 781392269, 515517074, 155854802, 189467005, 268697970, 95178000, 209120166, 109644039, 274080853, 6742179, 124525875, 164073591, 979157479, 382700240, 490187461, 73968858, 440687723, 681648549, 537654961, 680615803, 213339792, 450104614, 408405539, 598008989, 449484000, 21215166, 171945288, 711095302, 252147602, 410182354, 809946985, 299075071, 497323972, 755966327, 72174705, 926609521, 102580500, 232007480, 623143409, 573983900, 872869296, 506868469, 875334873, 554403039, 826991797, 958590568, 137394950, 878834856, 614116202, 298510714, 512827083, 937725387, 38681657, 870812983, 330805202, 492444448, 827354656, 191954849, 965158636, 545030854, 852807443, 317518415, 788859177, 175338006, 425812509, 140633093, 916224946, 116712850, 853429242, 412424323, 406300745, 825966503, 958796587, 236159296, 735206625, 62764948, 171662545, 114459744, 112299658, 641237024, 599148570, 938020504, 507801686, 57657772, 6106670, 951429991, 373313956, 37932662, 689352069, 698100904, 261023503, 184019273, 96340263, 281115524, 537815629, 795148828, 907008028, 668894412, 993181695, 210057263, 774743563, 530495641, 247269852, 4127629, 21711610, 346017376, 112741264, 909674156, 532745002, 456371267, 818267336, 899191594, 427650169, 51315275, 376074077, 95778061, 494219579, 417700220, 802833886, 934172168, 468846478, 162768154, 573828737, 493668035, 736823566, 655882602, 771224230, 832876396, 375099063, 796561581, 754652824, 177295297, 320005507, 311804372, 786675775, 992890317, 142012782, 753428198, 443383138, 471282074, 238832014, 440787468, 191601195, 392539070, 93384897, 722115659, 150659676, 981497268, 489052257, 514349333, 831093348, 31452949, 100994913, 999862482, 567211348, 59570932, 919499734, 779312292, 804308202, 85109246, 973471625, 295938335, 165162723, 373190740, 200676883, 294115093, 703871567, 454918653, 724139497, 758196561, 90125518, 214015386, 948581793, 640467040, 917607639, 16472616, 118408530, 254456093, 6838726, 587647713, 818101017, 459381577, 946255147, 923785273, 256742064, 55970442, 299108176, 677923457, 484195477, 53440581, 284720760, 666829069, 701846203, 684314851, 321959810, 946418598, 142354590, 755850941, 467703757, 416904617, 124898380, 664763004, 649493436, 218548001, 519545453, 459560311, 76263942, 3680285, 237140301, 98313723, 480995376, 347229050, 718385348, 632723194, 254887137, 836158480, 417783711, 359386984, 373940021, 467747127, 235161913, 67338034, 453796260, 633477052, 467623914, 673392200, 685903451, 711410312, 227453914, 993793563, 555544034, 621070866, 32086986, 225966915, 708987451, 694300802, 198732728, 945636025, 921221479, 116866465, 988301677, 211714040, 454547111, 274358544, 265666085, 567232321, 166024389, 148722703, 70087239, 32546459, 430942219, 757531945, 333354666, 776270554, 531000228, 790706749, 539653612, 745033409, 470433228, 783249288, 416165534, 451732557, 289694443, 817511210, 419458153, 223189617, 702623105, 886299655, 733620731, 537927725, 228461730, 981403851, 818601893, 575400459, 60332323, 349319626, 122130493, 218127282, 267735665, 98055703, 25018261, 231560702, 339074558, 353983139, 46372944, 822506195, 787211325, 67622967, 522986144, 240223263, 383137605, 618041182, 686655589, 941279612, 492880318, 22657432, 653624320, 107182352, 22259274, 274559618, 214414796, 484188876, 689581890, 862068202, 382137271, 66253011, 696807671, 437682239, 628505569, 621420328, 740579253, 230504872, 856198190, 66861168, 973145676, 525062562, 452676874, 917711965, 958798260, 917483564, 652051826, 439158135, 809519128, 24853302, 761607315, 434844928, 311044695, 710153430, 821993225, 325949204, 429116266, 807557423, 882658344, 4713631, 959500045, 911526048, 973114327, 578670891, 614040961, 636491160, 959669923, 200935726, 789161952, 347998795, 320715341, 351831324, 795147780, 767296006, 238427650, 791086467, 126456698, 414197103, 812497951, 388237138, 414535102, 336758909, 895944624, 157445346, 344519282, 652398117, 108860231, 933403157, 417588852, 469212080, 805695059, 128036540, 561045404, 746365629, 353119162, 869815780, 180814619, 252353676, 130292719, 821296096, 657053504, 311490309, 562704463, 67120202, 65672133, 250426688, 377468024, 650722441, 374555443, 875829044, 157074238, 538153509, 160822616, 346580619, 313380052, 577867422, 463392200, 770069696, 52438365, 965823207, 449965901, 337171044, 783837837, 331849947, 969864575, 484173456, 250539773, 128101952, 140161441, 687527333, 362286771, 236731850, 344341154, 19938102, 130490701, 946467624, 419640539, 595230836, 253454814, 43865014, 656226954, 406869042, 521516258, 488983902, 679316350, 169991693, 966460213, 185723788, 121900742, 916571187, 396406345, 289266382, 566465559, 237438614, 405992103, 371108589, 233401899, 594066967, 413286458, 824760501, 88364142, 233436794, 167789964, 36025145, 871554820, 371060750, 878655854, 229272920, 341740461, 604664895, 160128638, 338565007, 393949337, 391151843, 648982737, 175954311, 17071951, 618907434, 197796692, 838713635, 53478091, 92769428, 996994490, 724411910, 130660791, 64977169, 424898080, 5354584, 981399577, 974747604, 827858894, 828622303, 668569285, 202653004, 676321133, 876273678, 67754288, 925955860, 31478603, 282831776, 614150405, 17622242, 552085892, 696260134, 875576687, 897740201, 865738120, 562089762, 163187802, 961669204, 950582633, 513429073, 498339117, 65976159, 697243336, 255751925, 558052959, 634003745, 294374314, 550068367, 877272933, 403791084, 91481618, 976135844, 97505949, 835980116, 454357379, 951421379, 835306105, 744748572, 379233731, 270320606, 290954142, 719732787, 180863184, 266762631, 857164312, 84000765, 536203674, 481243170, 771964740, 80767494, 295148799, 690619179, 510401155, 643054300, 16016934, 105322952, 45857866, 584456444, 36313618, 53941399, 757230299, 763758184, 530927394, 527573205, 45196926, 53667013, 462493126, 519379136, 74844297, 217865999, 539347678, 752377061, 451327076, 318072582, 171554240, 442744388, 476454838, 576823604, 216931907, 174574466, 545647493, 157598141, 469256320, 731564762, 962881180, 78719638, 44273775, 950573749, 311037854, 762037405, 645923876, 564396901, 518658547, 717833868, 758322729, 426141818, 123775463, 527933828, 789331498, 490085375, 949979164, 961471689, 979452666, 496391031, 28474597, 40045563, 689273905, 628974914, 932641706, 814220277, 433348193, 188611835, 348382321, 849878496, 34013394, 20648321, 28945876, 186433138, 780625043, 619395365, 195111184, 211052537, 617666950, 806197576, 513421025, 186836716, 421127178, 743251943, 596301095, 882495904, 331458802, 86768312, 363252220, 964754679, 765219689, 475115192, 394349315, 638865571, 321920078, 349562665, 116268651, 139933759, 55215067, 532682301, 246050286, 639609114, 735720518, 935090151, 343555383, 969288656, 333394137, 598459981, 417573620, 893462574, 535468870, 133078005, 389599859, 576535490, 154235098, 338961330, 871263236, 981706622, 105887859, 229047917, 552176803, 89889656, 670892973, 660262016, 714389021, 554705965, 798916561, 837559078, 878287591, 739317338, 957018420, 706979423, 163038674, 851792905, 209969977, 726993426, 800299405, 125787699, 8182819, 246295965, 42733037, 27330346, 973461179, 739156115, 279205466, 511669237, 120834279, 294127582, 710919586, 429745822, 306215200, 20905043, 727616930, 598460427, 163572381, 567139999, 663378496, 127049069, 292047831, 994478826, 633411981, 464021139, 310350957, 971746183, 847371069, 579253006, 532716345, 726652089, 489810086, 254118594, 51115533, 928790437, 965649683, 950205676, 484253812, 290097674, 773275304, 273518283, 793329980, 186277118, 818312843, 319480616, 943125867, 272208425, 191534507, 295835605, 632847197, 640343204, 870176847, 408984957, 584289846, 938183213, 110857742, 624019591, 512273603, 678536745, 858950781, 848828918, 24948425, 702482269, 695802658, 639673799, 133457970, 233875071, 266879877, 855028955, 210826020, 558418387, 107315683, 19403807, 140548859, 338449303, 612262667, 767181959, 308759308, 234038436, 650424440, 123537828, 12197416, 880671489, 1029463, 149262123, 162370675, 860197847, 472915663, 118554747, 425639501, 816636011, 597005612, 198845325, 99617425, 518933024, 401150162, 265361995, 433144383, 248380608, 373921225, 41788287, 888578843, 762322830, 515405777, 421834278, 326538336, 406452882, 501784638, 508959088, 860741453, 710572788, 395935453, 751814014, 251312782, 389947802, 219267604, 164700215, 667923964, 99331817, 123607551, 473152018, 334691349, 73560327, 85853629, 119799420, 428198952, 441174036, 264336605, 855989633, 244518613, 208326969, 898961805, 202539375, 484457891, 458380043, 882202819, 749283063, 570711799, 510640325, 709013515, 821090794, 492652172, 380376046, 976288979, 250276378, 449843904, 259222620, 164231829, 657957256, 76062591, 295610014, 731947883, 921459389, 985604492, 256263051, 39750892, 29132380, 464813791, 178030175, 468744060, 680509152, 957756978, 327192463, 520892530, 539398847, 260898737, 347381732, 302860386, 368291717, 903559349, 198299446, 734903646, 607831604, 841592717, 12928629, 679403161, 628715992, 408529136, 258271192, 634418523, 111677194, 990553729, 206010596, 80090659, 603636195, 407484910, 455770624, 4672939, 259365973, 218878094, 293296300, 381237143, 593926352, 178864278, 713218305, 899567040, 636846409, 827224428, 314081370, 898134023, 835887327, 191642037, 846114529, 414829851, 76406953, 536245035, 721311002, 689545591, 439168216, 140225910, 655692458, 82304299, 664077147, 757964393, 362945591, 322233686, 293448519, 671503842, 552531303, 23209435, 292537272, 136974199, 367795856, 953758203, 508883913, 317103732, 299221068, 72707046, 73604346, 968918767, 904370239, 509759348, 536982959, 71614855, 966895071, 799015409, 384477497, 951277643, 318796218, 284352843, 770191619, 378997538, 987278351, 38108576, 342083957, 787305929, 258653560, 835791258, 800924727, 349052481, 30935063, 623350507, 561942267, 132006530, 221374281, 785994731, 875392894, 262803463, 89719743, 104835953, 689686040, 167598162, 357506277, 617623970, 707076588, 225007393, 533002355, 559403693, 733059330, 212447186, 945009878, 519209844, 368578915, 556405794, 437474775, 516237298, 67178600, 315190248, 653560365, 88039470, 892206563, 184014308, 967952063, 234977464, 891596779, 629940310, 348581813, 233199086, 171283673, 630325894, 348353685, 221633100, 152812598, 341659041, 309026383, 712047191, 283967137, 222817369, 93485762, 340196309, 314800140, 852581328, 698827467, 267822649, 883101251, 675461852, 988404644, 784214369, 298755183, 188464074, 805358291, 910542093, 608576780, 43383451, 726841377, 149197493, 113351624, 67711418, 494499745, 81646096, 332372485, 839727908, 596223742, 906994870, 771198443, 589998080, 928736192, 922571699, 498136536, 954005420, 62998306, 471677854, 16653976, 762442458, 812944870, 613853558, 665402707, 985521620, 318376536, 280400809, 968817149, 118537957, 246109545, 517712196, 738114392, 798979543, 196850643, 897752517, 343172128, 154157612, 648068215, 965162722, 910524081, 376789006, 47843263, 435754954, 430353217, 305451428, 277501344, 363590649, 332721504, 49884789, 242131800, 196508390, 654165155, 108951141, 373202114, 705860649, 157592945, 607509174, 833575207, 279547544, 657133473, 530202317, 327637040, 599095904, 617819079, 250528100, 998298822, 122949559, 287106464, 901998022, 956028988, 93842275, 309404987, 654089828, 757462838, 892278240, 639886010, 133385340, 766803706, 133114786, 68520497, 233326410, 315054491, 924744527, 985425272, 767986484, 620164573, 332456880, 339089703, 436947790, 714740560, 125511952, 107926243, 315844240, 149879091, 414368245, 143860010, 288698991, 101906374, 156683518, 313856615, 890376366, 241228700, 527546815, 969608234, 20410202, 493660561, 288111250, 679953358, 544443541, 582900204, 697512061, 934086996, 752338808, 298134731, 52408590, 947599722, 444849388, 82572454, 250118534, 453634898, 36570111, 400825975, 476899498, 864501743, 91773370, 964853209, 78832054, 512242317, 987857938, 131483705, 109518834, 195912674, 175461277, 62146672, 434905502, 770818925, 677777674, 682930640, 593369706, 721954317, 613002152, 207215288, 329168930, 978135653, 808973144, 688971743, 226760692, 162010415, 828199876, 967873794, 309867604, 53232218, 430752592, 674023735, 941803305, 20705795, 660137660, 703162229, 466541227, 914133661, 384377421, 213734929, 265017802, 672432396, 515017087, 28537616, 251909660, 142848699, 622096920, 697437361, 263265435, 440767013, 710882015, 620603617, 219039830, 861491404, 588609113, 222932914, 839415008, 75384882, 218141984, 653049352, 223127507, 427151514, 275487209, 300114272, 802566067, 20107880, 422745147, 766842317, 90175082, 975139790, 351342716, 723628850, 806951835, 474718952, 390792923, 177414075, 730815163, 190548318, 79189932, 848370450, 450286500, 903426932, 394741407, 811633822, 707305277, 407184710, 557297921, 766263006, 715144591, 60517234, 175916611, 248528975, 813383204, 526332087, 827597151, 441170905, 328113263, 894677445, 977688359, 694738407, 678317448, 803392098, 886456093, 457097478, 563432560, 325813741, 647435935, 513836983, 489655037, 136894543, 594774615, 874429881, 904280344, 375729003, 484174379, 216172690, 129093991, 738032050, 946504276, 243789493, 479612322, 728552463, 221671455, 427499511, 307620396, 599402386, 69113865, 7356323, 940711369, 859908890, 203277254, 652466479, 114641435, 524849551, 329634686, 327262586, 110378172, 562227673, 892192800, 41125759, 684857631, 115341936, 934769161, 112747655, 81390394, 115946392, 376649286, 57804407, 913493007, 166881322, 997844871, 139599173, 138079213, 25504263, 635042905, 446507214, 424265559, 744363126, 683230002, 962049010, 554863176, 536840863, 840754314, 278332836, 529301286, 811827484, 338555539, 810899504, 487679443, 775981286, 512683073, 754046151, 539953911, 600112706, 960047605, 367149557, 89007251, 149202610, 761453392, 63949308, 968581739, 30045165, 729634174, 249888024, 533526768, 911342798, 679314142, 687310322, 786086300, 859375017, 753517491, 996238284, 604846416, 656114282, 163361662, 276452209, 343554723, 334323957, 974329715, 697529714, 426718705, 488837042, 6936380, 484538889, 235886959, 927842720, 19847748, 301291492, 274826798, 794622236, 61974122, 309820479, 4788032, 897825576, 563715280, 338845585, 669031845, 146379846, 205565984, 674759898, 607097799, 189664195, 731134294, 529153258, 380616267, 47388959, 666188289, 966353960, 606635443, 642927686, 169556810, 815099366, 892148829, 771152058, 535614189, 323882173, 52077356, 714972799, 860127608, 253456809, 249508022, 971696804, 975741856, 840379597, 914445599, 651655712, 694627519, 128009549, 167633255, 317930988, 462706588, 684983160, 737381261, 21473778, 722703513, 85161508, 755153764, 498828140, 731131123, 560685417, 263733031, 871243279, 699821844, 860218424, 961894702, 766755039, 589383028, 677640838, 181288658, 867353897, 899787326, 57197442, 21503416, 772592604, 425679576, 506160695, 900327093, 840877144, 899569078, 143724809, 901879544, 993570373, 215444251, 599191381, 253586051, 940661550, 515092431, 453218848, 708199646, 154547490, 178014930, 692032972, 481663388, 777934235, 725759229, 403576978, 44172950, 561833734, 86759023, 482486851, 536242701, 446805662, 250197780, 765435706, 711747079, 773249369, 923529093, 993574236, 770426548, 375988802, 185084883, 389590945, 414352936, 36937556, 825006772, 931842995, 390262890, 896541937, 331027710, 290321898, 476896586, 60509548, 615527827, 881923839, 418696574, 271482939, 519012410, 385440427, 706486185, 521368014, 920566034, 469224989, 32151250, 732775602, 338954421, 577949011, 269984161, 515408493, 873923621, 143229598, 683629152, 516941209, 635661892, 896586376, 804834488, 473369378, 249763382, 564477904, 312650902, 640059226, 564584459, 514020397, 277578257, 830540936, 292286834, 402296057, 491238256, 342080244, 865900709, 885070342, 291622537, 792807036, 837551768, 221544531, 339369723, 432836143, 158725372, 291739765, 217268561, 267276893, 843726235, 126787308, 897437267, 495203042, 570980003, 886432358, 763216839, 271269760, 545447777, 753658088, 886778787, 717321708, 661658339, 217197384, 969490781, 282325217, 804571871, 38958034, 740918977, 654940514, 926037137, 75967965, 45860634, 556067348, 644042661, 703528681, 783789261, 165884960, 690192508, 23653395, 303015423, 235125508, 704596139, 693494913, 937214658, 25727849, 909227539, 891551964, 894811168, 918365037, 161480267, 707888319, 235930518, 431240557, 972461529, 230441521, 245675038, 182753306, 697884531, 517217456, 441887338, 695444243, 350240016, 882115887, 842387509, 880447766, 667616393, 662595347, 593259624, 289160272, 753621459, 502836916, 761083730, 790282782, 891396945, 487531121, 154783581, 684880996, 584976878, 528656918, 676810742, 630144293, 614582132, 645882940, 216507141, 858597517, 117040581, 957351059, 583807269, 363056725, 845297214, 124038209, 429149803, 63128711, 467395583, 789767534, 936433469, 883343157, 974790087, 370439047, 876966592, 202194932, 780660408, 193897093, 276931302, 784020285, 613914593, 161459152, 340486503, 3077530, 786799748, 906347098, 129000908, 962602989, 499020346, 141604735, 759133472, 34963997, 487607078, 206256887, 367938398, 663130888, 400012959, 934939872, 352824750, 915524157, 797537082, 3647445, 564799675, 871436391, 953537548, 766092880, 511508198, 746759411, 639939571, 489299542, 320580271, 423600931, 169067882, 713182041, 348395230, 222100258, 531993673, 34569241, 972985260, 196295417, 203931588, 394772435, 44288778, 548187016, 26220812, 879784716, 815626439, 431753907, 437825610, 488518892, 771544518, 884654264, 855456600, 963127903, 184471664, 93771357, 788131496, 813803533, 768824943, 393247015, 236467275, 419144521, 130826706, 593364143, 105826962, 199955752, 964433976, 186263606, 378318535, 666919640, 16190988, 650453764, 798263352, 451437726, 266882197, 588923177, 466699616, 65234612, 851694386, 210750293, 733679161, 425768119, 475373111, 189629274, 225107378, 359133949, 392206609, 392086355, 845689482, 71009916, 950921297, 697155993, 21987556, 932566474, 779634205, 68103530, 223817124, 885659214, 259206926, 375998919, 967571201, 626722424, 236470832, 599483367, 593203229, 161789100, 709747495, 234025970, 355425835, 261534223, 178576672, 587249267, 627808102, 427904429, 891370932, 986902590, 717074810, 159123154, 799633868, 171588061, 312818167, 417680997, 4896188, 310752896, 130785698, 246231961, 450127283, 47949459, 946415457, 373008218, 9553162, 910223599, 550315089, 401536742, 570266691, 364320787, 121285940, 821497600, 688187603, 696606824, 847771810, 59065731, 258762929, 951134105, 989921272, 508705657, 371496783, 11930161, 29938465, 428777129, 18916354, 154644750, 605604077, 596012250, 581969972, 790048523, 807992363, 253567786, 944063839, 874060388, 876372932, 780903531, 454135521, 472375071, 434322095, 590591836, 589381399, 424717862, 906257907, 367936659, 513727266, 72161509, 382476118, 106597521, 199270651, 354354086, 272722598, 803415401, 356802548, 122459803, 974622209, 287874337, 495314731, 951111268, 307938820, 942587899, 31674939, 729767714, 80922898, 652882329, 481121289, 644892975, 454303907, 720018515, 794789024, 779803608, 419231727, 571614161, 734446740, 289495786, 828977110, 254705125, 583733376, 495060344, 620438551, 462440672, 949387706, 709316216, 825170200, 129130154, 919774839, 834242478, 916406313, 771622111, 169199842, 538319267, 858691527, 464786881, 31151943, 123705957, 999377307, 991032868, 675217478, 845947779, 238575037, 2084718, 245160045, 299984724, 657817622, 101811906, 432174573, 683489207, 256876014, 427808377, 591572677, 229972328, 886756467, 407200651, 510252128, 361358028, 497460406, 382645897, 343388964, 560468486, 974606772, 299375060, 75228648, 564114459, 914192251, 291030285, 539959536, 797001190, 169729856, 796495712, 185902266, 21707088, 329650105, 847090401, 946020744, 719028923, 937002053, 969495681, 242637209, 188474284, 640804878, 885537721, 35378477, 22823768, 592945215, 651852630, 673032618, 623321311, 635769147, 623221032, 660139554, 729957197, 726997799, 778691771, 42359160, 618807026, 117284176, 483699931, 518940683, 898386440, 733938609, 479840033, 260298683, 555036107, 319570444, 363858105, 165992633, 759520947, 222329761, 864518718, 635079379, 382324453, 49762890, 663086123, 53688734, 475209279, 112520431, 79891124, 136378983, 523973317, 25344428, 658470668, 716933932, 191707113, 243740347, 104665678, 561297241, 543801752, 130702322, 631705948, 997964233, 365802245, 206967114, 461948876, 678867646, 281578152, 772567890, 190341042, 518599540, 124739861, 397784265, 592417884, 539388780, 707968889, 757571994, 246717392, 910583680, 411928576, 835778935, 159861521, 465487929, 46845767, 336740393, 428921047, 115918622, 478434004, 515746062, 282857279, 157175198, 499965328, 75031264, 209152348, 550790227, 309131430, 646145251, 152029166, 940944418, 341975934, 3878927, 276181828, 66859586, 430353131, 505620565, 533098429, 330296920, 169542836, 977178425, 524978504, 897465789, 503380873, 828150867, 645742329, 906826434, 486953791, 499862004, 826138138, 49146082, 435717777, 165566215, 404122067, 457337300, 935093277, 336567154, 121728411, 859165493, 181923484, 199338709, 36919615, 744638827, 181358186, 553742124, 795698664, 947774733, 272561631, 259959448, 845339390, 364887321, 350608033, 837844204, 41823066, 327949760, 397754643, 731201486, 110582436, 857669854, 767853793, 172968616, 161718639, 672557641, 204257664, 142632787, 307348363, 855938929, 95513933, 679876148, 46301379, 906804214, 656927178, 945357110, 500176631, 102256193, 230413331, 843350746, 675464461, 697697629, 2432617, 905939404, 324691905, 275077994, 249384946, 17620191, 245455833, 907561944, 772186406, 547960477, 267668723, 384775604, 313902018, 146078819, 421895004, 540653697, 534946778, 893986589, 519807972, 352041479, 53401602, 69390358, 744980620, 926251477, 101861778, 967993459, 383403571, 443984047, 132298190, 864899347, 494223462, 799574761, 516998070, 372186852, 508732685, 789556907, 585220961, 974265375, 740738666, 824578481, 858180221, 255236441, 641831538, 337903776, 683817537, 967552745, 150678861, 91472949, 143488585, 799676909, 316864468, 887701517, 857305533, 203724763, 282718291, 119191896, 698727837, 1457932, 994212375, 416107214, 119433935, 658531982, 752422410, 759785482, 875518788, 659891497, 252827080, 604317332, 780267247, 82442350, 993954435, 37934641, 405315748, 273359760, 173404423, 869225538, 772015297, 860644251, 365603154, 505900912, 717692573, 900616405, 800770638, 565261978, 72111823, 894388751, 698457663, 697007033, 791230090, 644154725, 283789740, 256280512, 914626980, 48364995, 396359173, 353925347, 384520372, 415896464, 454809057, 944459953, 756597214, 144923085, 531363747, 441354487, 929873372, 282378030, 530652280, 670900737, 768349879, 159976459, 208899360, 408864154, 451951559, 435779038, 265805202, 878897254, 79080265, 309759842, 231135722, 494372856, 313974953, 176622100, 699217403, 299842603, 550871525, 632372130, 709223759, 201993213, 663619824, 665106179, 791447541, 945252762, 20191849, 17369780, 919725610, 245855284, 678026531, 225179258, 49722991, 251440341, 847165109, 23929761, 367773815, 97611408, 847541509, 684372838, 702865587, 285176137, 265921895, 491192581, 2915941, 383598784, 258349469, 969438838, 986803493, 451322407, 488835910, 429057831, 45100699, 26238515, 902173788, 550196677, 712393820, 647528963, 540483958, 954566992, 693031647, 421507959, 698186345, 898555959, 237280179, 458939081, 877277383, 441666573, 721945192, 270031611, 24512883, 294077572, 253208628, 744389182, 759570378, 25424054, 737585456, 577003485, 453694514, 515202852, 452838000, 345071129, 65938608, 399092637, 74419232, 79588635, 318911997, 346108899, 709748368, 963296737, 755777973, 943633678, 491625307, 755612223, 728103392, 991425363, 468168877, 93193138, 355774077, 591477775, 669271285, 908240782, 586393638, 112772427, 381002085, 350139532, 521779139, 960591575, 277374903, 201366702, 147584487, 444742823, 383605403, 667881924, 154210180, 906438070, 306644957, 378397094, 717400919, 537775867, 695093725, 522934304, 781023949, 385542207, 287492647, 102780935, 766955061, 426812492, 722015701, 517392315, 764361129, 426412884, 913926366, 669318133, 759443510, 221408534, 479958504, 301917474, 790839372, 617035599, 556479340, 638106396, 129086557, 681765926, 759862918, 353612868, 355079947, 569823971, 272034605, 912480776, 890072449, 550741812, 121687776, 614336825, 500955906, 609024600, 619657313, 366127583, 746549813, 594090849, 845626749, 546231793, 817200645, 192362403, 892007848, 439535238, 461985029, 771065810, 768260511, 692891418, 260843642, 422807363, 53494319, 356275593, 710706067, 292228028, 597703652, 810843789, 253960463, 324917701, 966020594, 597823517, 88715576, 133222864, 405258890, 991768072, 392055905, 812061773, 177911455, 687433749, 529550852, 937178879, 847437371, 466927410, 512833139, 973468108, 875820373, 522457165, 812100057, 146363390, 331429806, 536275308, 461561418, 259703906, 561379906, 72787541, 254227772, 481716467, 695161228, 792182210, 128722577, 221949453, 320430002, 149947973, 100470676, 131951498, 994427588, 142431901, 82227614, 253822993, 836481090, 560290716, 877147867, 554136349, 605846819, 818834485, 27029882, 586209677, 719947658, 886841642, 90357618, 397199822, 552907117, 454006921, 731040215, 451254531, 699434612, 391630896, 852739818, 230500074, 95858517, 103165468, 228169812, 770330229, 649891818, 274398429, 35523491, 330869122, 416109361, 131074963, 307158262, 391726518, 550967451, 545841440, 516110136, 306895800, 492737904, 638282014, 970581907, 536495416, 359663534, 844253519, 445592917, 200591304, 773640763, 43660612, 535189695, 913852571, 429781593, 338842522, 913174382, 167197519, 828639745, 416935186, 256287281, 510864705, 88906765, 543626011, 363922189, 662224304, 160131631, 337973300, 862203984, 459176869, 248026465, 626781459, 255282763, 260073995, 317902687, 812651757, 540547632, 110854579, 812060159, 743343401, 217813759, 632033598, 910798117, 431066927, 975704085, 746634500, 733230159, 711161012, 868939825, 683827500, 68106087, 978032574, 917253194, 562143740, 455955871, 951844538, 477256860, 39915565, 89017294, 860832250, 826841511, 428707072, 713316385, 215324433, 630065333, 369842071, 665699616, 964273838, 282107063, 580856012, 515136899, 888837216, 396813849, 242075167, 944475027, 248364708, 118584119, 422504241, 848679299, 341021909, 531299646, 334729107, 889657345, 265673486, 131420579, 825303462, 717332477, 332809227, 786928385, 338191260, 63952380, 207051831, 633855007, 89645064, 141522725, 164184924, 938210843, 763185557, 245910795, 474334378, 123640478, 675097382, 815125591, 534247707, 92966885, 6249418, 947656945, 103045751, 910910515, 42594413, 22710161, 643190144, 377581413, 183630783, 359774318, 94591662, 98448712, 420258337, 778863045, 623876770, 195022148, 889652225, 958031321, 232043334, 914474291, 364536586, 80337534, 702660969, 664060043, 397083308, 440044295, 230875393, 62666302, 541986434, 388502481, 151333572, 553671779, 531076816, 939245572, 957814165, 547318677, 508273821, 438717276, 231130923, 141606748, 431108664, 65312445, 789574175, 374673538, 154430938, 313868197, 851276982, 278231556, 572330063, 522390908, 767544035, 506032971, 676604586, 264874025, 637126881, 478375331, 129144158, 764964978, 468584300, 406315573, 189770140, 402587731, 950426573, 387661200, 438236317, 588731466, 848584849, 343778147, 619534104, 647160706, 668489084, 313260646, 390404807, 64299107, 825529481, 629986496, 155987149, 622254962, 499898487, 571479469, 207609218, 983080133, 791662400, 327304943, 572617368, 541613990, 787501630, 897088625, 1249787, 846131630, 286523517, 203210203, 938540821, 631624147, 856470828, 73599192, 374626775, 857292699, 68324844, 193717698, 417992286, 334001497, 157394001, 393277777, 805358820, 135685186, 172650360, 893781003, 134521914, 693127070, 597514547, 747497275, 37103223, 106230238, 102242640, 750395063, 723666046, 808403567, 612776745, 985883915, 67301766, 525801544, 953630314, 931969921, 264036745, 161705342, 752582111, 548182123, 773172269, 903791773, 831047584, 930415649, 280998855, 120341813, 653357579, 401767939, 518871515, 244777528, 425524672, 708701743, 644446311, 798562348, 135808212, 335870320, 167236632, 485988617, 399706346, 200354135, 388866300, 34851038, 265072903, 179812022, 977511764, 688754243, 238565802, 768434687, 653628467, 731681048, 67316744, 868449105, 558634595, 639059265, 15992365, 286033453, 971101476, 281190853, 828048222, 582343630, 150432224, 950593488, 787528360, 258372443, 138110942, 244631888, 565670597, 634340591, 314874274, 658066302, 927258672, 90847506, 500834306, 180374691, 522519901, 618320593, 608243915, 921323076, 886618431, 617367383, 643075435, 663620667, 222478335, 531307609, 701892970, 289923018, 791633110, 863317284, 341751095, 124972886, 166804465, 249117139, 965997277, 35970524, 599608519, 866501751, 429207761, 585558947, 675832498, 788360270, 722446750, 968476565, 222977813, 42914375, 70724334, 641684022, 169614359, 535327759, 757423552, 16686443, 437667431, 256107142, 492087131, 242304067, 958587242, 944730123, 478797244, 121710639, 984846398, 172587702, 57081560, 451063709, 902665001, 13611137, 969576511, 473111215, 816650341, 404670367, 846477889, 558845341, 978052674, 407732295, 985318459, 804167242, 106789592, 931809748, 224303085, 829308276, 618436933, 556380942, 315736630, 866164618, 680391564, 343322667, 782260173, 280446264, 948080916, 982598510, 377573229, 167916407, 846625295, 166906933, 836877827, 246372553, 931301914, 905518193, 129091437, 71806116, 380907207, 650288087, 396053376, 871056208, 44384197, 379795574, 708263260, 294786562, 464158070, 179463393, 545803397, 696804679, 166880830, 142494843, 489344575, 726077609, 207259543, 429409478, 247424850, 547228754, 130912598, 249928280, 806427670, 826613476, 530665110, 383195016, 249472394, 607945462, 173719248, 331923373, 127502677, 135988713, 88245216, 158245479, 92551163, 178292202, 502473113, 17377135, 208500566, 915422737, 141816450, 779209060, 100705934, 185832213, 987791830, 479460102, 860785244, 516526566, 712735996, 780939781, 52983862, 489135589, 572639922, 727448831, 324438982, 315159597, 964727343, 254554301, 697210496, 703279579, 35461379, 85662693, 170617444, 64086783, 167653533, 199303324, 198326855, 805046575, 288568537, 297892242, 97308056, 260704886, 784572379, 450413023, 925500706, 295648588, 880084975, 308216245, 708828622, 726070655, 629839044, 84088752, 587794909, 845054330, 233748148, 210904708, 757442414, 536637265, 136249306, 142945790, 63131065, 156803709, 283981165, 520957314, 46292107, 873300100, 86263343, 942242334, 17757123, 375662462, 427149950, 925977090, 2074146, 655507521, 615405648, 979674370, 861494831, 809976878, 732594361, 459782945, 100369340, 916873492, 534115629, 45556937, 149335567, 407360591, 831074435, 640016539, 518098748, 399391139, 794813185, 790352686, 136602159, 296522897, 310363314, 605697191, 475525779, 935231413, 771895645, 514969027, 179129668, 911368154, 606925244, 682453408, 716487291, 283678603, 20233843, 353149848, 348068193, 772208898, 246653411, 512247796, 220383892, 853826283, 481083429, 701259019, 458053279, 620981727, 238529654, 462490028, 365396230, 495954505, 557666697, 314970503, 238651701, 552876805, 963442863, 145289134, 626628143, 633044718, 683712145, 334312548, 392943694, 824518681, 841731380, 803788465, 240115861, 6468765, 492065139, 333349635, 757404142, 649093996, 950568853, 723728957, 929190465, 765093377, 709801553, 922283015, 31262833, 344124989, 81789035, 404656020, 45847402, 510598363, 313508972, 80226033, 197499738, 632275258, 490826478, 352586097, 573665038, 258823468, 514948777, 304372761, 706948401, 791885405, 647879489, 314272643, 566960853, 638949686, 768107554, 820903715, 298742944, 29331381, 599198044, 370892773, 97736255, 759329914, 214933693, 660946378, 896618481, 882543487, 759343870, 870927589, 763958797, 426651569, 515971596, 680067910, 435542332, 794699606, 764468137, 879296361, 708214417, 491778762, 95766236, 686874366, 232512199, 449545270, 256692522, 510998909, 29532698, 60275649, 872881982, 220096616, 552400507, 133314290, 891688564, 832905518, 544311596, 240977747, 831103605, 213180479, 797293214, 179055955, 390621978, 568014469, 724756377, 814362153, 116178572, 706887324, 279720756, 988832490, 796544317, 225914571, 475421037, 435204853, 626121995, 950294608, 268852348, 549876227, 552027136, 828623053, 882114395, 538433699, 910650486, 445691389, 877303235, 618964949, 826672283, 704334230, 482366485, 881720010, 712528536, 686964555, 579860062, 74954007, 165931752, 906209140, 897708909, 605600027, 937314023, 846381742, 992696342, 116021870, 496085950, 227178395, 820498289, 672176133, 826172872, 819626620, 68881505, 172713277, 685699796, 465315866, 972318143, 281317134, 496003996, 293429643, 295398410, 829587656, 162969921, 148951206, 832818247, 890444122, 313621555, 580344110, 961718570, 916918722, 97689135, 436706362, 326280627, 295669619, 266112085, 10225929, 704345593, 701006850, 442384739, 2101064, 780466580, 350655756, 995722932, 792268711, 251009059, 729767494, 736147857, 856554709, 363856716, 509077702, 972834251, 364332528, 870457655, 594339920, 830026784, 324064401, 262186787, 439895490, 75434870, 51243037, 836374357, 3572149, 291565982, 432631441, 680678038, 387096356, 208109903, 623934182, 116494084, 43561881, 745635744, 728593889, 793339969, 949186360, 331511179, 829405173, 560604319, 438852081, 182809532, 174660013, 564174834, 69845074, 928303625, 258018578, 572411614, 939253068, 1080593, 117419600, 666915647, 717767526, 349867561, 704676298, 702658206, 403627250, 516018412, 772229127, 331796746, 488327807, 896430794, 751429181, 259022169, 436979975, 774665720, 249687591, 665362980, 383785134, 554919659, 265230874, 282416579, 725893818, 229661786, 50851521, 94586286, 35550844, 494144081, 316141707, 717245144, 670040878, 671155550, 763952567, 896642288, 655263259, 534350778, 448642158, 16958981, 737901683, 318028015, 897799094, 436402577, 81013403, 72248386, 341703266, 773307461, 425355975, 12608477, 229632509, 757684962, 27954512, 751560197, 543434858, 384199792, 739248882, 963413519, 732282418, 51200778, 831418203, 452095836, 474435450, 235681095, 391090570, 783005418, 670092780, 152921945, 621173808, 534329239, 618078282, 463949011, 11657333, 320868860, 269329252, 357085151, 155498420, 346660493, 950105656, 498810303, 639000525, 640896971, 591052630, 644133246, 616265223, 404846202, 242822978, 69876521, 147865628, 120973401, 470243264, 982088721, 338229189, 371371694, 699698495, 191676809, 219325035, 954484492, 618746283, 76941160, 406284186, 387264925, 833897853, 486352143, 332152017, 308560774, 722080892, 178190539, 540558127, 88419634, 847064344, 357991313, 507909873, 451344387, 684278257, 614384006, 19052644, 796452143, 357860956, 48666761, 340853590, 345184578, 462843418, 816991673, 741486266, 594391314, 750950898, 302495660, 726965766, 456136247, 59664386, 10135203, 708378144, 496136481, 569178993, 315691916, 923832468, 70501804, 762747591, 891811151, 384186391, 600536437, 412873438, 732051458, 961108183, 627593547, 169383363, 427796237, 420910541, 393479196, 181298888, 425370626, 636786594, 250409553, 958063297, 790203425, 468600781, 547928073, 498957232, 218802889, 60878518, 815059904, 741213195, 417320124, 525604832, 63035658, 442569450, 265649444, 890702189, 661951082, 600704887, 988951484, 645567235, 556727824, 454175047, 462803089, 50317527, 667981396, 630497341, 580212753, 89694459, 175255549, 39645536, 518598794, 754915570, 82608385, 586357313, 452658081, 957082874, 940234804, 451950402, 37690379, 932526473, 576851321, 568630212, 696567165, 665245374, 351680076, 915408053, 438358065, 584454803, 490614696, 532091234, 66742733, 960154524, 763105218, 625890165, 384948015, 611880798, 946486748, 173098827, 903251796, 736206920, 930376671, 516858495, 659061907, 807906303, 660431811, 850389107, 324475245, 2993224, 336302704, 814055462, 936035625, 695325169, 48241783, 278642783, 965454576, 66150625, 927551911, 358741376, 108019081, 998256641, 44629215, 30055846, 535703461, 705354800, 969625373, 301620986, 118369090, 504819302, 282412225, 688590538, 975501131, 437557856, 678365137, 427140239, 834927981, 410011411, 119213150, 342999319, 785809413, 710871180, 873418976, 882824872, 858584194, 312627089, 210783557, 300744729, 913680131, 385711585, 122854219, 978563611, 509276571, 656922233, 577821117, 253147967, 295915621, 819261809, 494408892, 54530716, 121546175, 817479072, 364532347, 558389513, 800176199, 167925088, 627460030, 236809683, 640193357, 693838381, 581940609, 320685143, 829278360, 688708085, 195094856, 768017640, 186712942, 109732584, 836441937, 763079868, 497853223, 461131122, 218421170, 245425002, 537925780, 755322498, 842972428, 410200108, 53190862, 926762788, 65404609, 506144514, 890113561, 938783657, 229748802, 165368234, 177978308, 217507017, 720536735, 258347217, 436775527, 566620622, 231894505, 603895150, 548956046, 320206598, 425946735, 102868459, 643184667, 394547612, 577977907, 329716851, 474323478, 159926193, 98098700, 602931255, 557807716, 575906509, 796575982, 30731452, 181583971, 962613731, 341650574, 726591611, 809665156, 984032864, 13695657, 208086554, 389036200, 247082371, 193225898, 605090786, 712990763, 577220798, 940414469, 388864173, 826241579, 495739767, 738651711, 961480480, 443340179, 905707233, 59649918, 395117021, 923260009, 219196960, 190931045, 883548072, 412379641, 859704628, 321975510, 936732131, 208223412, 143770279, 818830144, 210104680, 515119064, 572185539, 306294552, 351664114, 622176141, 937452267, 963000491, 480310705, 983830447, 953066074, 285111356, 749740220, 709948886, 882672322, 715825154, 966835516, 534312953, 633081776, 424626899, 275468854, 816803601, 164830266, 524808982, 631692648, 438724102, 950712218, 578946647, 593232899, 165945423, 230820297, 232942956, 324686590, 877517693, 957646924, 83136601, 953276004, 14474148, 670388564, 501765009, 197640261, 692717604, 913760576, 221065995, 426120170, 295614323, 626006000, 235021317, 733127852, 455598079, 585157457, 159933209, 749497214, 840242167, 829047007, 545137311, 532113532, 394012931, 991939382, 225403946, 94557693, 34192264, 825022736, 920194894, 205345400, 231164462, 56456654, 324919306, 849197617, 786723939, 80484761, 745845783, 391537440, 577208725, 769888886, 216855905, 133351821, 811016638, 298212968, 778415534, 992521774, 434674288, 391175570, 161438015, 47058120, 340572044, 597118385, 382684842, 107952371, 166780951, 813724526, 130991519, 663601194, 983366736, 434764145, 114468867, 547004922, 796472688, 526978236, 410528857, 740845326, 338701588, 508868024, 410754497, 339613641, 400177172, 347178652, 777067446, 214654188, 597292025, 680299668, 322561585, 468448902, 49400617, 231792947, 147313553, 875557421, 957282707, 814259985, 967640652, 632520148, 168758259, 938003807, 587361729, 940401359, 765565534, 194399582, 520457631, 26675329, 173202179, 176894076, 411028953, 440031239, 319248432, 961053538, 567327873, 963986804, 869693371, 707920549, 105428416, 592652102, 535887739, 188911744, 807944138, 94116684, 379269744, 538247967, 110634019, 588475046, 856956249, 132706550, 202300635, 75286844, 179107868, 215046443, 804610764, 163780012, 799010458, 43517984, 860325702, 295529408, 453456592, 264045652, 172219804, 199392286, 180528256, 657796889, 620301086, 354999868, 892581410, 949575821, 650714797, 526171497, 935308753, 560598502, 35037151, 758001939, 637017863, 353313542, 413633137, 948862041, 298896561, 162810753, 701757796, 703508803, 388062192, 861382025, 147819443, 492652320, 249361119, 715346937, 658217499, 186841493, 262355874, 32583880, 288016425, 743195499, 102995116, 903870705, 907197534, 729482285, 432102245, 45415794, 97085996, 572423284, 817427152, 245847125, 438969993, 89158347, 728514234, 550477919, 324337699, 460759671, 410861487, 425553092, 584187340, 120992720, 49828949, 10217206, 606531343, 550173940, 890353953, 488507293, 162669878, 102022546, 595702681, 610517511, 600421055, 577601056, 416359578, 79458604, 463842936, 546619424, 646665541, 446476395, 5363923, 583746327, 268237931, 999710194, 624224373, 696561509, 56695908, 546427052, 433131854, 831961484, 207228928, 957269064, 103455791, 325066102, 301833319, 50243191, 194009419, 484432456, 679042135, 289919490, 828875026, 47273140, 230120247, 179307588, 198511683, 636559390, 665683393, 512901188, 441694608, 673193379, 401801281, 351184051, 484468585, 609521572, 321344254, 937022850, 4007290, 578118935, 611858678, 729521456, 532134249, 848781479, 408431606, 18119518, 486585970, 414672687, 796152426, 483363379, 886908236, 484615153, 197638478, 950972697, 155908179, 652872773, 138246560, 756172636, 170045234, 338075304, 610901461, 717437757, 201277966, 783323935, 671769864, 915546238, 486175633, 29114631, 298508423, 34129964, 836507428, 42762671, 917122990, 862261450, 869361596, 81484358, 431485703, 300098423, 665128179, 542566724, 643425329, 235606344, 219993566, 928120323, 70641667, 83394299, 923755159, 71074645, 844581176, 84949511, 61920105, 151496571, 926030600, 32129203, 660709690, 101458225, 528436503, 84723670, 161159586, 426485344, 535582745, 690511618, 280773741, 837617960, 580625614, 565066389, 641311289, 584206723, 212462723, 435807063, 250340585, 44156247, 623954747, 874599690, 694193723, 735542771, 435511347, 329379638, 854303468, 788028068, 727728033, 888728857, 44538809, 38507881, 569932790, 596278860, 506405503, 663079328, 140358479, 259250083, 803945013, 428531327, 822137153, 445383593, 543629842, 728671043, 891887231, 542521482, 255140363, 688445276, 164666349, 224853703, 475525720, 315342927, 729090387, 559994931, 159310691, 881506564, 886084332, 355885768, 329062764, 443817993, 798260258, 951519130, 23828375, 654676087, 631036664, 827000855, 484720834, 833052367, 129440945, 535309185, 644819394, 417104942, 783954096, 103586698, 155491151, 123777955, 963109977, 827062922, 61202345, 982872453, 335818536, 132970052, 164685933, 589489695, 451700348, 767765532, 577264566, 140116422, 316634538, 615300600, 954497227, 855003950, 542793468, 472311074, 682738738, 782469587, 507908635, 129046282, 767323274, 205711637, 855015287, 761198374, 77203674, 99623303, 634373107, 703271943, 431359915, 919971276, 936804, 723156739, 90935481, 490195332, 726743572, 738831015, 116433746, 202499787, 87040109, 275020636, 266258596, 626559936, 307499372, 583644422, 218238914, 713466392, 700343722, 667513189, 480450500, 315847133, 71440309, 17153846, 344540712, 283425451, 387670422, 909090291, 841721941, 547767654, 957791794, 843144450, 451850963, 454385011, 488509914, 397658522, 866143916, 23573219, 427629227, 75354343, 218126817, 194133220, 470525630, 474785973, 811088338, 47458835, 713605269, 124316201, 194781982, 514097865, 337196829, 569279870, 789927487, 861691517, 867739115, 643102096, 996727037, 249623878, 835369686, 257187877, 847493837, 860545826, 331771807, 245903012, 649856878, 851408309, 528279422, 71507930, 840500288, 852337967, 854948005, 8759801, 236686978, 359002398, 63825201, 937734681, 327073842, 593315155, 113877056, 211174608, 121465118, 563304980, 524173559, 647228395, 519627488, 650275959, 855257167, 8233076, 5791389, 517013054, 135248419, 980881553, 746191872, 304087757, 553844203, 170646370, 133669478, 517480197, 902073653, 841403654, 936476737, 756253648, 420574398, 155376616, 511346980, 363391701, 966780067, 566403389, 592100670, 96822352, 9726131, 411640667, 178158492, 179512339, 180722073, 682010627, 262679178, 643538001, 355952194, 177877867, 567280900, 512228992, 444476506, 206038729, 186608690, 992609062, 350024566, 820196414, 34863057, 713721736, 888581735, 226672819, 153318523, 491309316, 753784538, 355485804, 971173095, 569590519, 527446522, 284486203, 576073782, 650450471, 879876272, 182527593, 538295119, 571093977, 691574270, 158569474, 461575006, 774539854, 95847422, 206903112, 354919551, 5580439, 181833996, 343352045, 686326200, 860464712, 359181457, 852719177, 602553652, 981125511, 63447595, 927488666, 503536137, 575698945, 518155584, 294711200, 56724693, 730812133, 654031173, 642894402, 873967988, 341777494, 669160887, 755103392, 696704899, 734654141, 471833256, 269976206, 897494787, 181382760, 411905469, 950273000, 509363168, 637144128, 366277014, 309373049, 330554611, 126758688, 384917835, 946755882, 282211073, 326811734, 301309551, 991083239, 220261409, 574772285, 418943978, 81781673, 154764172, 876583517, 8072487, 693774463, 953550636, 983101853, 907466265, 643823374, 528876592, 762415708, 427201991, 757827564, 776699169, 134905540, 792416950, 694248298, 219488622, 271929659, 158428426, 295880428, 717967203, 409121704, 978305086, 131803102, 30170461, 760725878, 965788187, 367394033, 402884170, 797939278, 352895109, 170348436, 832922930, 626986772, 827226533, 659559184, 632347053, 288902972, 42190196, 944277332, 922026132, 611414317, 347612501, 490024881, 340672643, 976020510, 498631136, 359310396, 740353960, 374713116, 678866839, 702579228, 333941791, 275367085, 941426085, 819949425, 702067698, 261390949, 384099514, 184977568, 212357437, 468819697, 73345658, 609000037, 511592863, 862571738, 583614712, 347600157, 41282382, 395130104, 664184911, 323224626, 507978200, 573206001, 884617524, 455584734, 832820686, 95857985, 97809420, 279238436, 788336511, 679980458, 979406147, 739734028, 56541026, 623846244, 484830956, 747374468, 612931102, 279794498, 970963695, 315527459, 74174796, 256293750, 503431558, 355115934, 826225018, 863984609, 824113671, 364722268, 239168701, 243817003, 635179721, 906420481, 170543360, 225787419, 557221194, 122204701, 983356165, 123311993, 774796984, 33374556, 465063835, 35776930, 643581099, 742235214, 884814314, 143839846, 303392730, 524742613, 550756028, 322843800, 679098246, 653401959, 50148591, 640294925, 68156587, 199836873, 140744009, 158349155, 497174790, 472078213, 285819821, 873234628, 448300050, 586303662, 267972411, 156663016, 971696155, 426524744, 464851741, 610464788, 225227365, 867514160, 593613467, 415233212, 808586269, 313302079, 278111015, 765311305, 97386180, 79896186, 92508660, 301961420, 87368741, 826745421, 403962435, 209986731, 972608205, 57207859, 311060665, 799589004, 632468592, 86730047, 532737640, 636970057, 488115101, 446681811, 107315901, 202660778, 964998320, 522580356, 601929020, 259802156, 953037856, 363293212, 572576967, 798302215, 286642443, 706934308, 728061681, 825298373, 678378027, 812913963, 380610061, 513333476, 140894279, 155204801, 418711767, 444761322, 752563342, 664759272, 374030081, 887014071, 734681640, 63734109, 716020544, 548259626, 481905114, 810223227, 97800144, 124809048, 652846912, 101246954, 23738309, 353024208, 959050785, 334504728, 624137271, 151604477, 235782718, 357731311, 103646410, 14386619, 208883572, 777587037, 837705685, 554590443, 387582190, 228384549, 423240759, 819566506, 594531376, 743010245, 518756883, 236886305, 507733587, 243750984, 629140132, 329376287, 445339884, 135666463, 213093372, 166690460, 171483673, 381816796, 358762003, 494643441, 223342661, 722695153, 463048327, 613162620, 130150831, 702045021, 866644859, 578145134, 916003021, 270657548, 3127570, 585268240, 149158735, 988259148, 325744020, 600004393, 857530842, 931285463, 184474972, 827016850, 406573191, 106236028, 570866829, 169835777, 560217779, 6365373, 456247676, 446255443, 314121143, 658918031, 423449362, 663771674, 911581344, 596050888, 935110049, 872136967, 299846517, 240091486, 685828223, 442543755, 634357636, 527030056, 745436693, 596700589, 376684336, 346074257, 147091568, 631315403, 195094343, 806619149, 595441038, 938453642, 702189671, 876101396, 958988517, 522999925, 891712838, 118465344, 154983352, 992187043, 569124420, 838971284, 938845262, 74445674, 407694081, 3169603, 41599447, 995964279, 431569538, 417702725, 489774126, 54115724, 14375003, 48568076, 463950380, 504990533, 390195833, 607538601, 225731931, 894353167, 926588239, 198745785, 919595398, 58963578, 964673621, 444646943, 268089141, 198662313, 108530525, 232742848, 40082480, 472762213, 83367212, 486680005, 409859902, 841518276, 997515687, 841479551, 522511816, 86383430, 700446121, 345325781, 554167325, 380287142, 503814630, 491007189, 63815943, 101321591, 910922795, 934496047, 42386729, 658182963, 544767494, 897088224, 857607760, 290871478, 967833964, 308041348, 524557427, 580464467, 683327331, 343067098, 862637427, 535710652, 329989080, 524671228, 385657124, 133449844, 21448178, 759276242, 744643401, 798241841, 886251061, 910041291, 865029712, 852212900, 451429282, 193695912, 48027365, 589226241, 602963907, 879480631, 356421732, 376032377, 519097899, 121301905, 182931295, 363009076, 40720517, 756019146, 21761309, 203774026, 138471171, 179683945, 343669006, 216183928, 282381469, 713558969, 535879074, 51583078, 190386486, 405072704, 831667758, 969664289, 341076017, 804226884, 552954100, 47059305, 850314098, 836555105, 26570568, 637138902, 891603939, 579531669, 991529592, 108146582, 881407556, 364020662, 518104547, 763853164, 122798881, 198559864, 653578048, 153796346, 533634135, 842230876, 385082486, 793290775, 774145519, 865934763, 785321989, 821156468, 645541762, 276673729, 282261633, 538938031, 907495072, 35285705, 799026429, 192040850, 623532485, 543895781, 305778046, 443097213, 710726653, 841893102, 857851383, 524274290, 355339045, 708217866, 614713906, 955046330, 283925885, 314982601, 737823946, 261280519, 372272209, 127835225, 52608099, 33709410, 921649999, 56445500, 285839821, 461476636, 22775954, 866415117, 974872513, 176634379, 691493618, 304474471, 520643433, 551544589, 291192317, 500865807, 821460006, 399992365, 779906606, 408982612, 900803276, 371452987, 974221391, 908858588, 184640486, 284706108, 574694252, 38368692, 635521608, 437672204, 664201765, 511048161, 738672174, 175438138, 654506750, 581623784, 894310178, 917308747, 678810683, 719050915, 412604642, 28044339, 443739276, 427303131, 223382585, 238451845, 278630464, 356271467, 93424667, 549084922, 959840248, 363576882, 491592295, 369135163, 274912902, 459543797, 297000495, 433945580, 653737779, 942048338, 109125236, 959226580, 851183546, 810066434, 6954716, 440890351, 960950716, 66662667, 759972916, 20254389, 394992918, 610539640, 228337025, 551908531, 194524652, 223356525, 487185319, 530330236, 11365173, 611162067, 341764764, 261493318, 957230528, 588039366, 879671604, 886777035, 4136611, 983507484, 922490815, 429211178, 659317242, 180561075, 50431619, 820142220, 500940250, 854823230, 911589684, 635814849, 921587308, 318953791, 276019909, 119720572, 883853186, 650025827, 837536402, 411563650, 391644449, 906737139, 151077628, 25446340, 188985276, 160048606, 744244495, 621078448, 494799183, 239659844, 150488817, 287498734, 722195316, 797712475, 669202168, 512020390, 189050203, 590361708, 630502710, 878989647, 939987519, 638223066, 83735165, 408296931, 402416943, 154874365, 184312876, 6126405, 390505376, 885538225, 640618598, 656997497, 507851543, 627376158, 284482403, 875351104, 513247242, 109037706, 575383031, 314088281, 990421088, 22209500, 432493812, 682216038, 282722896, 717879846, 879382408, 327154483, 424468363, 524558695, 901933040, 94628849, 298068920, 869791320, 28933789, 873662207, 151640695, 118914895, 574039356, 941161023, 515295983, 616122355, 761040618, 761196917, 240185370, 24665216, 453471590, 86593510, 654035876, 83852242, 944737328, 637209377, 946393684, 595093585, 652539844, 208239173, 282009965, 682203350, 124572750, 157909132, 109784073, 561142901, 878264751, 369136244, 548188363, 299928153, 151817966, 189776040, 969365895, 78225323, 298336130, 27862859, 706626919, 77621444, 738628736, 142640202, 417787599, 663965399, 452724610, 916921996, 433959881, 292776719, 720590194, 663429725, 257117012, 802299994, 277696209, 238224794, 511885636, 251849917, 100175873, 147346431, 396886928, 709216080, 759123142, 509813739, 833214841, 432408588, 823456260, 713445577, 269687211, 877423249, 282025416, 157544046, 301093540, 339724988, 767708013, 447678827, 526655788, 60490199, 193252354, 289792055, 111217061, 371021097, 332197019, 998984486, 576389197, 36048801, 44271668, 864218236, 674659579, 343173215, 232647883, 594650786, 117547550, 329991121, 940681692, 799725808, 36837355, 64864552, 959206284, 521125232, 46424044, 775596905, 697641611, 60844658, 170753684, 414680411, 423634987, 120741660, 565550897, 273611204, 358575458, 802636875, 198469971, 662900706, 706612371, 679202675, 791866359, 480044639, 221995143, 464702411, 694538007, 863492110, 989656770, 154618575, 209296522, 1970794, 9253494, 869153817, 54016980, 998155453, 448266328, 628492768, 420195852, 983364254, 54564551, 916412022, 754892069, 226087081, 574066019, 911964666, 759846234, 102951789, 705371735, 979702838, 150842069, 670656744, 122129036, 368351152, 599734255, 111698449, 895813113, 226574237, 606413974, 946678077, 218991586, 397471807, 835328047, 815235936, 97729084, 129732395, 946993161, 200537062, 404208266, 152719351, 958661860, 183705620, 895300445, 638715231, 591034703, 670860145, 454085808, 837187371, 751696611, 346076762, 816708749, 55837297, 215098409, 508826088, 74180930, 392452715, 409051695, 723736290, 375531223, 534577425, 653344291, 716420433, 725430332, 360393257, 650707301, 5262688, 51323833, 156784596, 63016379, 958297765, 98940685, 401124051, 545428394, 587702652, 52559685, 568562134, 412196351, 214701950, 622863722, 827775184, 456977762, 708661198, 23165228, 870313118, 461187928, 319066794, 755356597, 751756329, 145309371, 564497011, 256422508, 734283169, 65442735, 796281544, 720045017, 123990306, 81067234, 457838165, 567435518, 551175824, 514660967, 873937757, 235247824, 438511327, 127537634, 795900510, 675827605, 211764610, 944094871, 502219494, 260671956, 429030818, 934580877, 464889423, 136190799, 464239208, 72482905, 468287153, 888134064, 431347718, 361751294, 975691176, 635521983, 573989122, 308655915, 444670795, 132406721, 423915177, 440083706, 139475054, 730091844, 302312729, 677408231, 809773692, 822805082, 99622996, 648625367, 379172628, 131344275, 548847743, 881717887, 554235156, 200695539, 912662622, 90632731, 435403929, 690210402, 809986987, 75314725, 318274178, 190328848, 179560185, 877725901, 417705213, 274288752, 516282544, 398201084, 399049606, 609220956, 669334528, 174199052, 611809681, 481278905, 471453128, 603385755, 872906485, 189519266, 880241572, 277081878, 119312650, 931766011, 397866483, 672873938, 250541338, 637561713, 614446971, 474978827, 72242729, 841128894, 165353610, 278056525, 335560055, 795822545, 498926319, 503169894, 231664305, 590932743, 183733444, 914531607, 776990322, 74960933, 291145366, 879129756, 422640842, 816615808, 206634717, 308775841, 45836104, 319957382, 411461156, 643893169, 116871035, 588317029, 223413465, 802315391, 436488503, 995569740, 469901008, 957074975, 783083409, 399572279, 695901074, 100164541, 411356197, 745276936, 978949670, 673927358, 508135042, 127402886, 276683503, 520786674, 462062220, 985394670, 740794691, 548908618, 215887707, 281995071, 159382964, 692862658, 795425685, 774895638, 812018519, 480788761, 528511403, 925347194, 600428844, 647429489, 193484137, 912541625, 637458789, 609577738, 447576025, 656715687, 97688136, 646021392, 115744228, 798931576, 827002712, 976891992, 671745142, 885435036, 391089289, 613594316, 526480915, 144960795, 650690510, 632884612, 872147148, 341519390, 44899473, 181925922, 512067381, 930396914, 148086251, 339847708, 122111269, 900993513, 168389027, 255300794, 607769404, 873508955, 447422581, 9450859, 37134981, 213881189, 657932942, 324109766, 150215564, 107692545, 354674422, 995148749, 899851928, 867752373, 25643285, 998392819, 5902233, 828882831, 332222098, 526557297, 641137011, 295110909, 438463924, 313856311, 536273508, 535984503, 72648934, 338297603, 401810686, 542201607, 147113510, 275344896, 710585501, 831610657, 979627682, 267282420, 170943681, 629258791, 556671788, 624344565, 531466131, 181762324, 298919529, 232397597, 189939277, 436060744, 967492666, 957537967, 142599497, 69442330, 95892525, 64520359, 161991385, 937955746, 24130143, 361832183, 701383836, 438283315, 663578242, 383370581, 286066597, 937393483, 486621983, 667305043, 115930063, 928076699, 442227170, 122198910, 510956404, 295864080, 221356377, 428432952, 256710319, 733083160, 569123511, 599896597, 3678596, 727362641, 301689360, 382592781, 273444200, 84551318, 83586492, 684251282, 472039641, 668531030, 205764212, 448570635, 449130915, 792248627, 140405942, 852520978, 670484364, 61756653, 911258054, 804124892, 644662178, 728700634, 922894293, 29702460, 620701095, 255094903, 816582134, 215838433, 418406913, 356052770, 711713365, 245662664, 901411350, 386582637, 726334958, 254602158, 388218721, 685813147, 30783141, 596275816, 94745186, 560238788, 743609971, 730353387, 910016732, 74807441, 319790152, 491954368, 960393700, 834785043, 761350435, 166879895, 111438962, 924235694, 683009191, 263533031, 866761268, 73397378, 53594707, 903795368, 716652567, 145387168, 919546508, 858154990, 944964282, 810913802, 909300301, 291596876, 280550172, 946776646, 252358243, 307346544, 749283276, 407274356, 27853262, 292377103, 553960761, 709205513, 157599815, 762283130, 849736303, 664627111, 962847295, 680998485, 982311129, 548958479, 859646971, 355124195, 692575859, 48917661, 78281753, 770660769, 340246375, 546602490, 220564008, 563804522, 997270791, 782713228, 200235990, 655002380, 106151930, 160120328, 424095646, 711371058, 991676891, 658292117, 856796950, 92630242, 174337570, 284793819, 293313737, 951383438, 658489354, 103702135, 935194570, 882419548, 227948426, 457671866, 59839883, 257005628, 110569928, 578158288, 162058372, 812470295, 946025266, 433374295, 86417951, 625044993, 179098147, 790185678, 976754119, 843880002, 602651737, 693992099, 687373606, 614350104, 317143646, 819934270, 17740198, 158707505, 510370518, 478467393, 111469042, 578520392, 293734778, 944601488, 338435184, 961652833, 556817034, 876979099, 874381756, 399165566, 675823780, 304996076, 620466479, 936652408, 24904829, 65352656, 230426215, 125393218, 53665108, 304142914, 710712441, 128353629, 392540278, 118175153, 508178958, 669315015, 525010102, 865597186, 626222218, 57486235, 288948017, 641835932, 827231749, 972854107, 45491050, 106922943, 924003592, 866520734, 498129808, 182752104, 573204326, 884280242, 801968442, 403312205, 805174252, 381624617, 422203395, 964527718, 708404606, 475134563, 940192026, 983106480, 580831802, 66168195, 109306865, 194322661, 809728623, 87669651, 234032242, 530278099, 424390112, 786563559, 692922682, 130180934, 683321647, 952729551, 64870453, 604477639, 884351264, 701835900, 776043976, 757594897, 299857893, 243130360, 987225138, 634226716, 215321867, 213362937, 591916838, 710669596, 996272184, 815529965, 415047716, 342372951, 593004114, 554805606, 916489334, 671083555, 190425120, 610189136, 780272424, 614569980, 578531433, 135368679, 457909255, 337164595, 690252602, 641969232, 496394715, 350242375, 654737198, 841587311, 939157298, 770411820, 289005113, 438655502, 292801006, 4303836, 798090874, 41111566, 734969411, 536408, 603817509, 208539645, 351501309, 284699509, 171207569, 741331590, 853507251, 29808053, 684913744, 932898237, 858354141, 390805767, 426739645, 569869837, 744002050, 273231646, 938500591, 691720121, 73069009, 659177711, 172042054, 519339384, 729453201, 791691707, 699070586, 453100081, 161419915, 170867805, 634098310, 92879404, 104073225, 145282777, 358282998, 944003112, 466639137, 981754938, 13367628, 831005375, 546373835, 428190904, 725122593, 761539582, 394204091, 766750665, 269691425, 145293028, 506116969, 840359441, 450919823, 614193495, 425026599, 407421223, 507038912, 419295565, 21978293, 551220984, 618141081, 336544314, 262089910, 218520756, 680508638, 475685306, 342796561, 308772513, 124649418, 553628467, 214417607, 553282887, 572658250, 948435667, 64926095, 41376027, 981360655, 461790081, 605936684, 21191239, 206777825, 663830650, 505838947, 310700873, 777054446, 897102277, 519218340, 979875680, 132740599, 289137994, 277024673, 281820984, 617286867, 707253606, 887365739, 796605576, 630036535, 340966348, 533691130, 672433744, 572838822, 583588373, 161075178, 125965005, 67239919, 761660846, 22931316, 43016535, 275045496, 590173, 277531519, 596574441, 81676394, 638105964, 598398682, 605722938, 308973981, 115618043, 574459705, 519683179, 192332581, 604908940, 177237344, 792383247, 975360996, 72843081, 164025761, 848630149, 900408416, 722362542, 809285547, 357472924, 923292885, 160045622, 452158211, 393927369, 34023301, 462546818, 648067316, 387878439, 317916627, 43433388, 105349374, 716039354, 616092015, 526359194, 616277941, 763880978, 302692674, 616244377, 744364563, 493469082, 622081066, 518242740, 456468212, 884964731, 127349553, 784548482, 765231786, 875732956, 619336725, 920570747, 273734979, 19702420, 282652650, 776327878, 284299232, 234515050, 405932561, 215249763, 885454751, 98977541, 574649059, 268966503, 584700026, 597216083, 573071504, 160760125, 221277239, 651540323, 95893795, 777768442, 847699110, 864837115, 322598421, 500083841, 528902479, 111066355, 189718361, 888262942, 583227730, 698468760, 43255556, 879061746, 860121423, 595597394, 858072666, 987225962, 127353812, 229967999, 338340710, 731531388, 219735896, 58565463, 277376068, 331186416, 399719593, 275529760, 744998218, 846804675, 489091432, 345133093, 592915391, 16804549, 596230141, 119008918, 630946756, 727908189, 519358390, 938333989, 526458028, 416610605, 735924377, 27820246, 476483023, 898594466, 764591218, 627056749, 893236651, 744651765, 23987825, 620848913, 510007385, 618895737, 551113470, 435083044, 595611667, 730738441, 331951709, 825987440, 151875761, 353656801, 442142779, 449479030, 597680749, 996562305, 738150589, 355897076, 886621350, 452641254, 83917613, 881053052, 109914597, 818682166, 829912999, 977494914, 790484625, 439607465, 494015301, 931801872, 874574813, 639039358, 992936848, 629897710, 187948433, 747914539, 421629676, 900737132, 461425109, 79971855, 220372158, 297497531, 901930416, 994898796, 624873127, 897049616, 595648451, 717448032, 333417790, 178466017, 889792013, 574195305, 622530831, 846244110, 898840521, 907972805, 544833178, 563068996, 260538934, 532792844, 832234503, 42676873, 459313343, 122966073, 15152511, 976825998, 646676720, 411009963, 182743619, 615512546, 241456823, 290538993, 104014975, 712359361, 100710634, 512650975, 97032689, 342447270, 931328628, 755902167, 708370110, 667932864, 655683303, 790032108, 535099110, 285758348, 717710067, 166072836, 925453823, 989670998, 312688451, 963564624, 424071378, 327719740, 893688714, 753187514, 18526033, 311239927, 983719359, 24792650, 515979982, 993960244, 927830264, 492949119, 323786498, 245586065, 154306536, 756956853, 661781250, 82180606, 151566704, 217570862, 925954554, 628680484, 130236812, 424860125, 479892403, 516976143, 542374200, 406374806, 120271736, 797307011, 910945522, 71710878, 770447876, 911273050, 588438362, 856998300, 544192807, 942865714, 340675654, 528819342, 463469225, 934220758, 221439169, 657526953, 98444039, 364258125, 106625324, 162858425, 447534796, 416002270, 816369826, 204374082, 488511591, 993160319, 659638623, 946750500, 98086858, 126357414, 78901940, 307059795, 657382713, 330255215, 661782872, 216774163, 815887201, 262447948, 789183404, 959544430, 564621805, 306250500, 831354329, 195425682, 804016815, 114319925, 494669048, 632444417, 182039817, 621652417, 114645247, 228064159, 525866298, 974520567, 792467019, 364178548, 31489377, 842892967, 787122799, 708097082, 76725294, 594927919, 239645725, 695852899, 67267234, 224497210, 343235587, 555196326, 346466737, 292274045, 31290259, 470712014, 475386403, 776208469, 154638115, 227578566, 930715717, 476490461, 306212095, 656303329, 899075776, 994414334, 118811470, 16734026, 256326211, 492340534, 298515523, 749248090, 120936730, 508242678, 428131158, 725121988, 171107734, 124972500, 209165505, 991461242, 873824014, 245912170, 70799525, 519032961, 829327465, 526153326, 736793082, 94481240, 920498965, 381249965, 979448197, 807653142, 1459321, 118503892, 552367338, 931201009, 474734064, 682980697, 552171904, 71145905, 132786599, 196119979, 292621992, 694441170, 426760759, 251972605, 375255753, 618482094, 41190586, 933845242, 360860284, 493419454, 127322279, 919444630, 715267412, 929945156, 620563844, 877465237, 55846633, 697620479, 393457710, 807487916, 951715081, 252328355, 144334795, 759700485, 396212730, 423473288, 553336686, 363594085, 524722417, 239581492, 749428128, 454663375, 459383719, 498670010, 247045028, 77625245, 874340892, 179367367, 755922258, 936654077, 218235099, 473951324, 795534498, 8074574, 784690592, 614015469, 414257654, 379191099, 947146109, 419353083, 740690596, 472234974, 123174226, 624504701, 228066816, 200233218, 832472611, 761291809, 856849175, 925724098, 925220178, 659405811, 712337927, 357840050, 952718865, 148446821, 999429752, 325270519, 442281567, 716459026, 53577167, 88377857, 810563437, 146033790, 22878282, 395061063, 936737786, 561147655, 800793134, 702787843, 587399770, 648731803, 24439615, 779198268, 250848304, 528522161, 286877041, 741538086, 422313831, 899860339, 632705222, 809325856, 719395528, 87871567, 855160033, 996319321, 617721369, 415924190, 391569365, 49283168, 534210932, 891112885, 566905843, 488813847, 149716547, 641917531, 272304422, 213670395, 14487957, 225520485, 238315913, 335397304, 562398080, 916692029, 160687130, 751320214, 252561989, 286620990, 977062604, 394444160, 558660377, 328862242, 474419729, 996620347, 147273967, 947505005, 547153456, 414508784, 955785021, 945987062, 433859524, 705395233, 737965579, 754596360, 972657736, 825037104, 794467290, 234700430, 676511498, 771837837, 554328707, 551189607, 887728299, 155364228, 102818585, 812477157, 632945812, 324309955, 213550584, 904616257, 604151986, 839355243, 574999395, 61281857, 5727478, 701510964, 848571302, 411157044, 707027948, 263389865, 451768334, 934136382, 633376729, 410704786, 314288202, 875451706, 683569573, 595167147, 889939769, 837440255, 339519456, 567824366, 183520917, 198776329, 570871837, 764188677, 589090630, 266837157, 84308884, 685801281, 973147082, 45123235, 750420076, 723998713, 468347210, 537377992, 724751634, 745380452, 117786007, 750076248, 547594314, 611509256, 342623638, 988610607, 791804233, 441304586, 564930831, 785889548, 608258459, 722782352, 126357354, 643122037, 893686596, 104768452, 607110813, 102895833, 122062178, 245058172, 92720667, 347896869, 135859939, 817046853, 83692073, 598168247, 848256195, 904393065, 517516277, 305250234, 471288918, 912980552, 590417817, 493721135, 244015328, 294777973, 486433386, 141636974, 303737755, 317184243, 409407474, 374532460, 3001269, 551672573, 65824464, 271821081, 869081304, 778346911, 999072989, 793543506, 337246071, 614265979, 742315594, 701886721, 459284684, 732206128, 329444933, 220870083, 877652334, 661445439, 143661163, 734745520, 155679027, 709813160, 349774096, 764030971, 787109759, 136973504, 376986717, 13973209, 871691532, 65701328, 455910641, 638829410, 856197889, 224912952, 927429592, 70498559, 393969803, 401209006, 773202223, 115852258, 214601257, 268331867, 311023058, 852718668, 697753789, 152418595, 513870294, 223812371, 106083762, 323964069, 423695446, 898479846, 364194194, 631423425, 4357181, 565115323, 471540615, 864887374, 332540122, 802087844, 268028106, 297781593, 843218046, 266542887, 78387100, 355222869, 311353707, 657512890, 361597985, 94240692, 76186669, 182720412, 887251677, 30637850, 335895038, 960479711, 393928483, 943335114, 198227186, 547108472, 139346932, 886387647, 122468599, 19620336, 441747353, 963025667, 291457579, 651809386, 721266166, 25646884, 627418078, 718924333, 235815640, 738718722, 415274319, 383845529, 696858213, 203104265, 269496752, 52214728, 839681135, 836236911, 942108730, 708021469, 424175728, 596238652, 950712532, 68702478, 273284639, 630542190, 151186542, 929259787, 192779755, 26351225, 603157452, 748646094, 529361830, 820128222, 727808284, 119410131, 827962639, 729690548, 814823930, 804323805, 874066838, 244121183, 408278547, 420540089, 607973044, 582887631, 537071693, 165797470, 558772462, 78217087, 245522148, 661445649, 840798290, 183677749, 843285673, 136766837, 547269573, 961839187, 181274248, 147604413, 8214783, 365057129, 436904540, 524529733, 676329967, 936475502, 631828917, 205883372, 663926281, 493737702, 196301776, 19374496, 329645952, 892769069, 778711774, 106436982, 656538862, 382697003, 720560903, 485750842, 611743801, 421804543, 957697052, 499083322, 810050713, 534437492, 926931002, 939852595, 476965560, 546525828, 34785732, 985497727, 739492399, 274373292, 582001881, 303409075, 152763444, 822409255, 809766656, 444077851, 659228631, 767349823, 528083521, 916284734, 180912651, 408172239, 276690112, 59188141, 149522947, 57930971, 723569763, 425508851, 83333066, 763820048, 229083039, 272665877, 325017737, 729130099, 636500610, 893638292, 339668872, 92949292, 277642195, 822949100, 424748611, 795943231, 370071755, 854534417, 150080030, 345930551, 88797816, 239382959, 748904476, 445691074, 749212189, 527557333, 31872828, 442456415, 519310057, 211537342, 468950777, 639286971, 803898460, 425724539, 268002920, 808715395, 309091357, 737153536, 304636508, 764691560, 361055742, 456683441, 952335175, 272956806, 40895177, 780712986, 694414130, 934472224, 469181173, 953494376, 911161767, 538400269, 334463982, 513233765, 400641671, 193889036, 881221130, 123599426, 716572263, 156279330, 899238163, 190728145, 395142403, 225003080, 814428694, 207840451, 251740450, 12788385, 261853266, 940480234, 770350782, 530022971, 103970742, 253003849, 661038314, 595848800, 12883231, 839873646, 716400069, 29502148, 743590576, 436257165, 306122660, 263113652, 383812178, 506590237, 855501774, 105010403, 757366051, 970482137, 515269440, 102046393, 788408194, 430553785, 854492576, 616140908, 158983043, 413086025, 125743618, 221436856, 98387922, 587191290, 655415146, 755117863, 282000825, 199040290, 611136245, 25096565, 450448887, 124118356, 373003361, 401193930, 863393509, 773828018, 949751604, 453050716, 523747282, 427885217, 366624018, 868574730, 807534782, 539248814, 299339628, 518380860, 834505810, 132857321, 133969364, 365613071, 40725859, 736034951, 710405842, 903142475, 873096786, 399897503, 275424855, 187257842, 744041793, 372440184, 327042048, 418844404, 551710443, 814907862, 45742143, 783078988, 301044555, 896743401, 840395530, 669155644, 326026364, 325815876, 347779571, 94652421, 808611410, 295885042, 253412740, 528824684, 771667642, 887291835, 669930094, 245271302, 342934472, 29481510, 181523209, 385321118, 900469308, 594346269, 112386384, 934502544, 778566623, 978155639, 444253124, 970268827, 448063948, 676462859, 130641590, 20623647, 272223187, 814217646, 338366585, 470994795, 674287473, 295448070, 816104632, 118002256, 991220201, 780745676, 819550551, 182237309, 738868948, 269600774, 619603807, 158411574, 182715778, 394307896, 958136986, 929999233, 972604798, 20959716, 821760181, 677718410, 363126377, 491814088, 870947401, 437684899, 199011576, 693943476, 522647908, 65337633, 425718004, 178182645, 639768373, 931639524, 815535046, 250901026, 31839821, 984881334, 672117966, 560536545, 264900733, 111114159, 47317242, 72137454, 127664413, 920399755, 79593792, 956739069, 48689023, 272158766, 637413802, 808568531, 307250764, 490179723, 274820141, 105226076, 439940952, 476297971, 695605251, 864374967, 118345533, 12403147, 306312879, 778388906, 912726233, 282708354, 171557823, 2690832, 252571143, 506349048, 688029, 115394149, 565478414, 155734540, 411504808, 661934394, 398377065, 251412454, 637441905, 684087429, 489950667, 420290737, 928348559, 882076842, 357564471, 735828026, 219861890, 799838495, 852339348, 86093735, 618797077, 81669245, 252522019, 700884439, 451701942, 614579541, 647769924, 972877089, 794054328, 819652658, 309659444, 753864038, 201529251, 414569883, 620981885, 489425468, 57669403, 481006712, 124396964, 118418846, 942057302, 9187853, 916260416, 392599076, 47994753, 266531414, 682727948, 127685477, 457381039, 405309701, 73797057, 18201801, 433814945, 523067181, 497494388, 852117347, 226642460, 290313617, 749543155, 14390254, 357836684, 797942983, 403130938, 849010347, 260724335, 784658309, 53720272, 105460721, 458993855, 130248900, 23410661, 682962055, 517790624, 502193365, 139643859, 529241307, 640161295, 427867373, 724361351, 635380430, 406545310, 180694064, 856572764, 592622400, 737464463, 458455122, 686793971, 703974574, 352321575, 552966016, 578477644, 699025127, 926416910, 394800155, 747984771, 382235459, 483567988, 983037136, 325793395, 960766336, 157629698, 905549111, 278240252, 583155805, 527001821, 224861375, 239949704, 60630043, 88081476, 164947022, 59244126, 422842294, 339379886, 547873269, 340283397, 955097614, 957855189, 119615368, 295293122, 898425646, 585282739, 228971844, 48718285, 501872996, 841489939, 683918758, 495672095, 312841088, 341547978, 501434292, 86395790, 600503929, 414490980, 507712978, 271756960, 461200842, 705318183, 95499095, 390645700, 363063919, 824326018, 9861616, 991603738, 331761398, 615615456, 826091883, 841138722, 364324112, 276127426, 876244561, 57124047, 714497321, 891647531, 939505120, 901373327, 468952478, 716553101, 843613390, 505823653, 996081777, 879286005, 609035979, 401905629, 343259043, 716713462, 804006229, 616045470, 929259566, 289957640, 200458147, 28980192, 51277399, 21178132, 768521009, 36544424, 436128760, 585596822, 123217738, 492136923, 286337837, 77596035, 230815827, 863737582, 74528090, 569572465, 340003086, 372257842, 636145806, 294847439, 809490053, 686795889, 73646937, 935883851, 614023424, 870904415, 247134454, 79990957, 573341622, 71605233, 974294894, 418290985, 173991658, 72740848, 751664426, 10975920, 939187870, 288098535, 298441552, 100963699, 443297203, 11928966, 345060590, 771471487, 967687909, 245106534, 524469512, 177826236, 320384221, 493799651, 38627433, 378522010, 393272832, 399471743, 220404595, 47949486, 886081951, 971850061, 210144611, 456232059, 856207526, 962280357, 660673122, 390457782, 615388812, 138346770, 981308322, 778076709, 160131015, 390834087, 775711892, 923118034, 616362628, 515344899, 854091204, 91584473, 721992061, 284138589, 946556161, 240355760, 137931001, 920858468, 747462332, 625739914, 943899079, 837345836, 326536013, 714426358, 839872793, 118465514, 230379416, 448578514, 409798547, 227447443, 352579456, 660340271, 784908601, 597685267, 2471237, 694480571, 367763556, 545399559, 17103197, 487765129, 972024452, 682624087, 724530584, 395283198, 34284047, 187815481, 443711319, 317888751, 542331414, 683639436, 628441045, 880232978, 541914753, 98409436, 56694940, 896913951, 635567212, 291203505, 563166801, 554815676, 422642737, 122444685, 566594736, 677715947, 445230627, 208497270, 567364261, 894600650, 126277089, 833503386, 567502397, 320747368, 853200723, 716277816, 888635248, 381448332, 582416932, 600152322, 273788096, 813584596, 521523840, 718607093, 274274490, 789888122, 886069589, 978503259, 171465294, 696013826, 650502637, 255580549, 395572498, 82126437, 335959635, 486994665, 651167325, 315868668, 318488228, 698155841, 52446251, 877812622, 897131039, 690080985, 393440155, 709543597, 636174916, 222328535, 616490350, 756654847, 687454693, 821751245, 346099370, 86796798, 572837666, 665988660, 92899785, 485379252, 40947922, 968968005, 321122527, 984074131, 812506136, 646746142, 391266480, 445528698, 385933356, 919757357, 311834152, 78605856, 577847095, 11486553, 529359149, 291221286, 471700141, 959700109, 114553545, 253882429, 715148166, 409198673, 801699449, 97790580, 470144885, 157442151, 729832317, 84090122, 515233389, 928988169, 935261409, 911082326, 40863249, 734202672, 486721522, 333674597, 639089348, 831757776, 796048521, 958757499, 566313368, 846760069, 536316697, 945525329, 992807007, 740944408, 874830089, 134947274, 223321959, 994580160, 111396409, 389080155, 546202959, 149552899, 227885683, 926098895, 471434364, 498473138, 659728778, 241409118, 570432432, 978639191, 206108477, 145926845, 298376900, 401790348, 743449828, 342629181, 69292069, 143448283, 255057686, 745057387, 323646105, 942481669, 791309154, 838340836, 574454888, 838666056, 153892847, 80450234, 13342763, 172088728, 587312440, 375156106, 667395225, 663084272, 48898239, 734705513, 250454385, 255299171, 751415117, 695533374, 225960330, 202774731, 548435604, 283393601, 400803989, 663661647, 569497795, 509938811, 675918813, 647345847, 141451604, 360028126, 525059619, 376186393, 644342412, 917111315, 209785200, 576603864, 535527912, 124662071, 234842991, 757888394, 468979484, 452136007, 213620643, 143941282, 283970610, 204111886, 304455032, 66285124, 761312925, 556376187, 434088802, 839532268, 516863876, 117808, 88357855, 623927358, 738924542, 952996215, 530640380, 158357721, 100157567, 420708190, 113575064, 284409856, 126766570, 188940487, 12578947, 911079712, 99326544, 315651601, 648298951, 202202059, 552556818, 550295357, 942946421, 544413415, 700837488, 944265406, 869487829, 451313167, 794066262, 632370512, 282493359, 160092111, 254104512, 610371655, 160339554, 350214907, 315607898, 355881447, 904474680, 937281826, 42570159, 982081350, 353079139, 445396294, 162309143, 5721490, 779920710, 779723085, 929623962, 396412927, 314153454, 585346249, 180030435, 901265413, 930126267, 261919455, 812138351, 340439371, 913957419, 291991939, 973591022, 803281, 993088734, 109285911, 129694796, 272487583, 684169620, 387939397, 786976264, 529822743, 35865079, 680610509, 949470278, 563291560, 553935098, 638685689, 407095510, 909922870, 678739516, 265705821, 40925057, 248396470, 13116969, 891382462, 428196776, 318514964, 203179160, 790429325, 984399077, 537151059, 636522978, 234868535, 930487959, 681317953, 765175106, 366264054, 208040816, 977021649, 76896107, 51024927, 52271282, 883133150, 880273407, 693418556, 867986119, 583804520, 250332335, 503919220, 106945100, 616286271, 861981466, 317279381, 561729798, 836960348, 838681799, 480013030, 521579294, 871165687, 559559428, 56436034, 226109515, 224853018, 442617338, 790124930, 993876565, 259197916, 496231124, 46657033, 414147306, 753655112, 361773494, 977917378, 843281260, 836653458, 130171998, 449693978, 307208472, 484098121, 142594918, 928752870, 550786289, 220925538, 867147421, 414632454, 744791215, 980053072, 754359380, 983285523, 214052636, 157751991, 117518167, 52980718, 523563188, 997788924, 813358062, 744430218, 507672854, 23547043, 970887404, 696375087, 777475340, 627715684, 563797951, 234548280, 287388586, 366846351, 355003508, 177215931, 643320133, 956387545, 499191863, 443292635, 882200583, 657257320, 686190337, 642832697, 713189147, 171690367, 956400586, 832236996, 394583270, 194632793, 302877628, 820997481, 598549594, 266933774, 117623995, 242343308, 734394823, 932369086, 285474754, 393144594, 35027842, 936372955, 988431963, 447361482, 452351623, 356815705, 695799229, 611777703, 830563905, 131757528, 184023700, 717224694, 347161161, 846457453, 623198413, 275218379, 822595001, 322697745, 702346036, 361733798, 17348685, 407661230, 807446671, 900244183, 937720916, 515473474, 699954870, 656484298, 539350973, 256076734, 405391687, 554609966, 137236478, 708728306, 73678455, 280454103, 849172364, 52024774, 838495851, 422018026, 736588520, 591477736, 638194287, 95634568, 910496680, 729471860, 268483602, 486297920, 27005486, 281718073, 372239490, 73744025, 799337397, 899614475, 976378309, 941863117, 813110327, 519439053, 759427913, 910593570, 328479628, 206406399, 18323156, 181362444, 265698478, 872583878, 245993274, 603565339, 891955321, 788120265, 985995921, 147780870, 209346416, 241119395, 847030202, 675053753, 781248315, 390630593, 540934300, 308768343, 934600252, 869724079, 355897339, 946420222, 938900329, 478000215, 13567249, 564005087, 732109, 306048127, 953136068, 550049984, 283384693, 849460215, 800529797, 450763915, 368685412, 401115265, 870771505, 683659608, 125996179, 444701630, 555056696, 973984675, 425670787, 795691867, 54144519, 348507301, 983233973, 999457186, 820262641, 221263812, 412171085, 516465129, 824826134, 612989510, 729090260, 481621919, 625045535, 482381940, 48440457, 73411094, 93345414, 647093003, 469355336, 708159936, 606516998, 172285449, 653766283, 285965117, 153130415, 133260908, 597514781, 431578233, 596121409, 305388153, 770798019, 513238968, 362128242, 72986148, 9055494, 720754777, 524960399, 257973618, 594836222, 545965893, 358322739, 256226410, 478629337, 919108336, 930189925, 6641440, 887502991, 540797875, 510323523, 298649625, 407140779, 821088395, 110528719, 737798979, 986967378, 850846148, 231389887, 816254446, 670886514, 215157276, 192482404, 870368669, 630061372, 985700504, 719018102, 170536895, 879134939, 508820789, 735165699, 746667763, 41906365, 370751185, 671216835, 893637534, 52831980, 189657132, 345328767, 206503475, 938604494, 671826013, 410762622, 7617642, 117048518, 265595072, 254240312, 538079550, 973050904, 17721285, 660760609, 357759590, 717847984, 889043917, 85791327, 619091148, 98875491, 344598472, 327724574, 370913509, 110730780, 804663597, 646721096, 885765933, 851968054, 168877794, 769042961, 905612518, 888483859, 101095551, 429012275, 675027037, 718281820, 825815253, 84266641, 364213626, 396100209, 315436221, 352116308, 616225896, 214380155, 494596937, 526438771, 869931687, 160195386, 967332765, 645498976, 225740919, 588148975, 806778161, 835724084, 797739003, 235016715, 78150898, 164521588, 326521534, 218250096, 119196373, 601087205, 972698202, 885783549, 305388577, 327698126, 642900676, 572430171, 741784127, 209257393, 43305242, 433068451, 728296059, 504586147, 437395758, 636225148, 62856095, 520637141, 476810870, 961070944, 825133085, 679906210, 305103979, 874594128, 911109695, 143435729, 774096903, 149539219, 947960606, 528114604, 466394014, 626505597, 366010037, 656767550, 847265809, 262997989, 334157771, 371006201, 473954959, 392650727, 265794467, 445892124, 943638421, 217074381, 746391534, 419976672, 940400915, 760451442, 35465706, 789888758, 481122911, 774918348, 634624825, 481442819, 818248289, 412197584, 87963382, 426402546, 849756274, 39369138, 569425962, 388147991, 20493280, 233409460, 981251337, 162402004, 444771329, 958666811, 94678716, 395835815, 360247160, 743169594, 439499855, 194225908, 350084702, 239502849, 572007073, 182988238, 75564019, 842776885, 873844628, 378379742, 382162677, 176718559, 662064681, 603939288, 952731088, 727259891, 630255426, 674474605, 205448898, 353384606, 393287164, 616926766, 615871323, 268443041, 426411452, 242180100, 232767438, 81452849, 244781376, 976221578, 290122586, 521059541, 787538305, 351031229, 550350152, 520805841, 900640809, 382270113, 572601178, 446131070, 842409098, 572185242, 241426105, 12567964, 214202732, 79229605, 209461008, 264049539, 529198176, 786024302, 360618677, 610508196, 19132574, 518841564, 462945036, 79250405, 690575060, 884666513, 208072254, 11217285, 799209530, 133858567, 234087060, 779421381, 768400502, 153470302, 474770422, 567929273, 327361466, 108675103, 903158936, 723694061, 112947362, 369396516, 786757603, 460319015, 378727819, 241032110, 776086692, 168818027, 649063888, 290863326, 804571064, 745656012, 288250715, 475914863, 786983126, 155425074, 7578440, 816038285, 140778110, 359036050, 343654555, 643892602, 908020074, 505386885, 270987201, 206712685, 507137707, 845305084, 745964884, 404695593, 465430027, 904670770, 171379109, 706607058, 656205091, 37130403, 391758344, 375342912, 538084909, 32553097, 379716423, 135896714, 715695164, 931458927, 424462646, 266640188, 930575912, 100016942, 967329689, 852863268, 75934634, 141010226, 991423579, 257343433, 291556573, 218385677, 88487894, 392908812, 245705551, 747683330, 135542309, 371114826, 886264196, 25517208, 832086098, 76819419, 896628909, 539357130, 492227727, 734263870, 364511198, 710239453, 223658697, 23982997, 125918255, 914025131, 74588538, 433812229, 725754627, 1036025, 183721219, 81337818, 797412571, 872723317, 299237474, 532140336, 661922717, 32014811, 173191493, 925074146, 791058799, 307229276, 508295601, 468348736, 58744972, 299345563, 634315630, 369471219, 139267125, 546736465, 254877849, 591914317, 301239894, 38590217, 766674736, 671231478, 43244217, 74389600, 272959143, 399464482, 506213215, 808059009, 472009581, 416026848, 563982205, 474934781, 942786177, 685454681, 572284473, 741081375, 924302135, 351801918, 88822350, 486346140, 203877615, 588631793, 493301098, 146412588, 655225376, 180638225, 984542809, 47345451, 62102698, 133661401, 868880165, 81944413, 554786491, 435342419, 734674522, 469852008, 30549316, 950617917, 721857688, 835340854, 532890465, 528191586, 776717818, 918946252, 496593985, 790474065, 442101695, 938590406, 879249481, 206593806, 274349597, 159971372, 398832764, 985158183, 687461898, 874756933, 864102312, 735268477, 93335415, 572879287, 91239242, 761484664, 381309305, 627212132, 512040134, 866128486, 513191988, 551395653, 639862227, 728223205, 307224541, 680048409, 827562666, 119936765, 287249197, 532300658, 922048461, 222258679, 360470592, 213433770, 928484636, 580268208, 890697102, 922454642, 778810376, 498459856, 367157653, 24447432, 276699474, 767258421, 568032955, 234011681, 112010745, 666518712, 413218319, 385001551, 481262094, 327183193, 734880171, 275160534, 397911984, 433604791, 471890656, 52340029, 666154116, 15618130, 934854969, 397022906, 721888272, 489363356, 680011561, 940807651, 228111456, 279825013, 157310405, 149136960, 721819539, 575367692, 640482429, 631645031, 788321213, 352589631, 861185030, 791766510, 363668016, 891885270, 990362593, 510583403, 144281848, 582021606, 112459509, 258084957, 949710976, 213767383, 568789934, 963896388, 585336019, 800334350, 359549267, 954347353, 773407158, 199246689, 763019620, 294202438, 391281554, 90765893, 996967085, 263072053, 834220891, 216229992, 403216222, 713463537, 871931156, 575759369, 728271439, 93152459, 966485397, 600537632, 57047295, 940088421, 235159281, 312169705, 700389345, 663240487, 446121620, 2866693, 874067336, 125493697, 285085816, 252108365, 763751983, 773653078, 162089421, 880948864, 106818357, 953425886, 302318476, 419538081, 502775236, 367192725, 221426308, 816919756, 135143204, 942156469, 490442953, 797734487, 69561207, 344947619, 606195563, 99723417, 713598848, 421047682, 358775439, 996267010, 65284224, 842396409, 798236604, 279485596, 541792394, 768397804, 721449473, 383723857, 322619344, 596232354, 875578239, 594652170, 890802896, 520948608, 261940854, 981996114, 837408026, 241806665, 854397910, 180399162, 918236035, 333832199, 8792242, 933063166, 31574896, 964807436, 917270828, 454597011, 786580120, 595807365, 465743163, 454663079, 618684268, 477328516, 543390349, 455323454, 275920636, 245303023, 737565352, 890765812, 242330180, 519872043, 408835397, 187058901, 835304986, 29580024, 735773459, 48181712, 688947402, 129347715, 154706670, 566110346, 278922928, 537214477, 994772843, 930293616, 555173526, 851897450, 818841158, 516166654, 598916696, 155187716, 9200537, 87008792, 95995710, 555581240, 814480350, 666672272, 274489449, 499234657, 669899666, 704639319, 310591334, 620501347, 545434493, 449088988, 782876234, 479098055, 990506969, 161930772, 64035183, 160947014, 544690405, 500442821, 142215155, 663629359, 841949992, 793412328, 499659415, 344250059, 497635505, 178170391, 437023696, 792635386, 787255230, 889580013, 709712585, 469906842, 89883214, 424049206, 811010759, 297343814, 242963911, 85426756, 116750405, 296801838, 13051167, 158286706, 732824701, 598483743, 506907614, 539408724, 284217559, 449914313, 357478432, 471370537, 563937798, 836585279, 455558346, 690753757, 594044331, 589549989, 705766514, 344297685, 560429289, 831770810, 665016464, 867715196, 647501664, 749959775, 219184532, 56840354, 20699276, 889970810, 602323990, 462353307, 99915197, 569534791, 45154751, 553581789, 293455129, 672920951, 420460594, 879545835, 640036297, 328996284, 884087063, 830626838, 44196011, 474375219, 108685188, 290521593, 341390957, 188873489, 761455875, 307267585, 465645172, 935810392, 107619186, 796035742, 733789715, 666909108, 7764967, 296047686, 747533348, 667494443, 60715168, 743717782, 977567270, 786083767, 668772218, 789879294, 459762849, 83480197, 885329741, 703436032, 918166996, 52149384, 966057367, 273093520, 651016739, 853289735, 767379852, 955672489, 841586280, 123430652, 326749445, 196309096, 162245677, 37793927, 735090853, 74743290, 203459974, 854186926, 425295807, 266995667, 809819866, 443310337, 756261866, 524564875, 101237149, 5943864, 656182421, 1685295, 359753185, 942673652, 809257713, 130034132, 684408950, 641299429, 799541502, 950898223, 34144862, 172856548, 104713398, 385016274, 48353847, 737312860, 672349804, 213701031, 328622019, 208900889, 153476916, 749126112, 546674738, 515017685, 280800093, 706258495, 181528070, 792896173, 390865660, 510186139, 464288392, 141391297, 511473289, 468838143, 232233742, 439196730, 247590842, 496451011, 105615088, 203703684, 639246938, 144281596, 728020009, 840257118, 816478965, 293072039, 291329309, 989020003, 397808158, 572813814, 380953248, 345817162, 853655045, 503659498, 902977442, 297109763, 702928921, 742837444, 283465045, 196815982, 3128232, 236063367, 93414189, 28720577, 813577113, 153011422, 964953869, 2062884, 379101022, 922142466, 682306359, 529647799, 67005368, 905612000, 555205550, 600465963, 736857508, 124534782, 153180443, 712574908, 94686556, 179526559, 470082690, 42651763, 856714795, 923331547, 912807112, 128660853, 319666230, 329269649, 261982069, 864109106, 281926036, 615426736, 944149328, 804289638, 963538666, 577230283, 495944285, 946722143, 56752541, 392038292, 134757271, 168396475, 754906014, 863377402, 167308227, 601199148, 370952933, 392576773, 593625736, 497044293, 408704092, 434466338, 836283622, 700664750, 142088294, 821000344, 217750473, 218906989, 664200087, 882586375, 903888590, 258847318, 546495750, 501209643, 883641463, 110014376, 506388786, 705361988, 801405916, 472099797, 792496439, 790927508, 954069921, 34110132, 894925654, 29737246, 42098382, 868277108, 156980384, 743109212, 933904482, 19989250, 115985924, 853649225, 197807626, 963974522, 657007102, 446870535, 632863767, 816343582, 888371988, 477280897, 43465151, 791049023, 506494939, 135582695, 237332211, 631273972, 225498313, 188708335, 611317719, 931486918, 844727764, 700190115, 654949684, 722148925, 649109865, 447366649, 923509328, 928579660, 808359408, 545236486, 551465543, 744798306, 735217762, 132280, 999454116, 776036629, 244517428, 133863781, 971868093, 308083422, 883609540, 956901229, 268255802, 459805904, 578464312, 57268460, 299543253, 61397512, 704286676, 842131633, 222746010, 383299643, 131073389, 595542438, 564986876, 201302334, 219013493, 847558978, 412995456, 342642022, 732894089, 717481262, 665851976, 404202750, 730311582, 863159486, 829301696, 74056225, 143377668, 676271571, 627900734, 574035871, 260660154, 544493169, 196062877, 185022017, 196749658, 961411782, 590657698, 44639362, 881940099, 555875442, 753962493, 760669106, 79030101, 163384301, 221739490, 328946834, 939839494, 100517535, 912369266, 194534588, 872126055, 540809853, 166928540, 401370593, 871852265, 309664881, 381387057, 735863751, 542497060, 610251752, 919687707, 956973596, 961708588, 483061930, 218328061, 588745534, 913318961, 478602651, 651920992, 913545013, 669275305, 978227230, 272350199, 192532709, 402510938, 348694253, 457507432, 779196813, 704488894, 485770096, 405407754, 525894226, 543771991, 789808556, 440603762, 82333187, 790253371, 126880350, 679792597, 373380570, 117429457, 995878945, 720954610, 475886149, 705535891, 593687693, 758062309, 286170102, 447930926, 973429417, 701693452, 160488209, 137180618, 792488456, 117085541, 655854895, 43372785, 308959209, 443004227, 695083445, 797458520, 920031141, 326811472, 204784407, 379765357, 431156640, 284128585, 158599989, 2036630, 834863426, 275299826, 693131364, 261892986, 31065327, 595054058, 150131567, 570265312, 606479102, 950383666, 367863859, 13870951, 402664114, 60699115, 267337186, 250519690, 681907493, 341871098, 700566479, 861222608, 190771636, 652742353, 133380275, 225844660, 749826993, 179020136, 914205262, 824579993, 164635339, 814051152, 591068335, 231305726, 830314797, 596257201, 489111228, 44911798, 992068900, 885347372, 674755665, 964870710, 258878096, 211162971, 315413335, 320763649, 669788661, 35469818, 486009501, 834796191, 839519868, 928304847, 536668338, 140921478, 178830618, 485305194, 6853586, 917142878, 605593320, 400162326, 676386409, 202494031, 171618851, 980762252, 994646526, 864484692, 681408290, 763619777, 641100414, 660219115, 284394598, 405857695, 925256815, 286376516, 616413538, 859746330, 915995503, 746700987, 21726976, 960316324, 778599859, 354220330, 199099153, 291820118, 478216060, 314196846, 692266830, 79438282, 722053954, 382682044, 230332353, 486022829, 581559520, 854940540, 851650618, 288964390, 435077194, 902654940, 127204245, 18578414, 384962369, 503836617, 680119197, 42806767, 705883613, 535150973, 202260819, 596682069, 402853263, 909841990, 636752069, 612514116, 801980759, 326063353, 549204281, 411842849, 933442262, 154461041, 427966908, 452452579, 796252344, 249348611, 345111510, 699346206, 713176937, 267047642, 722495816, 779257397, 347335001, 941410620, 623667613, 135702155, 718480394, 186598455, 891651640, 154828606, 138611358, 697450055, 254929535, 557213762, 965251782, 843458838, 996327295, 716755149, 463073342, 197971252, 150781632, 516463796, 458429085, 551065653, 932878986, 441597231, 530542054, 545534406, 917196511, 151402118, 250144215, 293989096, 986489541, 130540096, 173211902, 31214926, 772972206, 763236892, 977090764, 593203923, 385619395, 444573728, 679091097, 409090432, 543300527, 235415833, 592011503, 3468349, 394068174, 780065600, 175961040, 130183807, 287468912, 91154595, 911603326, 498637482, 775686014, 864017875, 251153251, 780917178, 408360705, 440112044, 139297100, 533307495, 920263189, 463095027, 141769144, 451433055, 972937398, 458523775, 410897629, 404841662, 699687983, 814857727, 238292295, 701883344, 964648318, 315849578, 118220543, 708476916, 668327136, 202958756, 11491289, 684605504, 205412118, 243412194, 359052703, 402451383, 545087721, 198632938, 860160757, 483050379, 230284360, 792087852, 839852641, 108961331, 64174048, 385907276, 595782392, 170777448, 862923225, 260846270, 619422336, 729209189, 889998495, 538390822, 567118639, 452775835, 86934235, 320873868, 360810707, 19074437, 677726801, 702435410, 376908517, 212171174, 433252373, 228566305, 984578285, 623822515, 701076969, 666764267, 195086526, 534833246, 166069481, 768937338, 135494988, 813312989, 790515409, 531266981, 404615185, 459300724, 237551670, 289509892, 364281557, 470901785, 36539858, 25915247, 593773315, 730855289, 222425028, 804884561, 603793616, 622509166, 204285912, 976464016, 367216973, 8834561, 512498059, 726546329, 857556146, 151375172, 201404297, 835944245, 860544515, 515107264, 999592218, 68233985, 703398972, 759462987, 258303432, 720390829, 604426154, 797715, 48974959, 853578402, 324318021, 665165110, 978807754, 776788030, 870416876, 888480383, 348645899, 387867703, 267081876, 217396284, 175609496, 55534719, 279064622, 587837434, 951712781, 160191057, 457036332, 893425958, 599138894, 676309274, 16500708, 91167273, 600206856, 182153212, 544472050, 230289242, 796102525, 645052041, 16885800, 749684893, 555444270, 717926878, 421935257, 598566104, 262665011, 191299046, 29166459, 108134688, 212544967, 268763321, 958697321, 601585154, 4763516, 124206840, 551661231, 858148762, 18057209, 272469255, 507413103, 868222541, 198710946, 953644374, 750981482, 975872514, 236256954, 556464679, 769959004, 401489724, 956462117, 948799640, 468942546, 492777054, 404406620, 301714326, 773297271, 616487745, 409760923, 37614183, 820861229, 218212311, 49002644, 363815629, 555429804, 760318835, 870668668, 870107862, 393046485, 30216362, 288397236, 518784034, 87946384, 290058557, 283586873, 520880569, 173978792, 553357859, 39505156, 898138975, 14608364, 162469902, 912579274, 12717059, 187957686, 497513494, 165681810, 337438343, 447777031, 718543862, 380362437, 987002558, 794508479, 530273701, 708603264, 907550408, 66662431, 189535619, 559466687, 772935058, 425114623, 15009684, 374920651, 114801406, 460725002, 518457967, 820441204, 143402396, 806342741, 938398154, 268718431, 567934293, 335479951, 921020864, 21263319, 979380939, 640346533, 828675846, 820160559, 136180204, 233631922, 246326378, 403141687, 797064144, 105718526, 233939314, 345554897, 394441837, 740665440, 43230488, 546952869, 453818476, 900425184, 782419560, 873661608, 630859840, 462502383, 822648906, 582465527, 90449251, 503707743, 466391114, 732692302, 325782429, 112478950, 301755947, 269187718, 655363442, 871668736, 169125500, 414538255, 213591713, 69558374, 789117480, 302377987, 256840875, 204287333, 389639436, 323908501, 994035895, 184691643, 102664967, 364381606, 91546816, 967478722, 474064153, 398609300, 579149301, 181994109, 668309340, 1053601, 435269932, 165739194, 288539640, 937434466, 750413559, 629760505, 299133183, 917376216, 621318121, 438091058, 363515053, 4367518, 792302756, 419607918, 850684728, 643021087, 171175292, 532183924, 807245861, 585736544, 30009981, 983671354, 437464515, 622594167, 361862673, 429201862, 443496086, 984994095, 524240220, 795462046, 97522768, 302400149, 381668800, 569094891, 47384524, 521636451, 358241507, 349203234, 146354421, 333975159, 777241260, 693281236, 427582633, 996942563, 456988482, 190510385, 891581760, 788714888, 768921556, 332633585, 650093991, 922291373, 558374702, 221492591, 406717957, 582495102, 341858737, 205038087, 979859412, 877046769, 227138631, 403872513, 91211256, 715506371, 766216187, 764940302, 52462314, 480770096, 922851473, 378173103, 417824160, 158707619, 301962504, 213170783, 173963936, 28987544, 802808527, 280634179, 37667637, 602190678, 619642669, 913630611, 154630828, 366614662, 18653846, 241357426, 254553078, 733908338, 386528986, 992836392, 455374707, 577817756, 357569844, 49808567, 730694906, 476110626, 978085381, 495899565, 254960877, 533898854, 890828942, 360006690, 939370696, 945754799, 627132423, 484006947, 586505597, 328808417, 897626178, 349492859, 431886733, 661798165, 948537092, 690916585, 936281648, 433390926, 562460501, 313281353, 592268698, 779921275, 416484392, 31619886, 286546207, 967141593, 714347463, 508618930, 978655941, 343714345, 792627634, 749311701, 713465295, 916194322, 941722801, 620967346, 629689887, 760188199, 458175449, 404201145, 233334729, 977373062, 321826804, 519710462, 781151128, 417079726, 374102790, 282825516, 676202149, 962888375, 61453870, 532803640, 729092168, 791432382, 286947142, 53548972, 412021480, 65733727, 614276261, 679731084, 954319402, 56760333, 920335841, 540048181, 846446044, 600569817, 690303262, 819745308, 493668455, 688511324, 151371939, 87866303, 328678345, 510827702, 990288338, 251566873, 334005755, 751976175, 361725615, 289055386, 45409420, 943965506, 350285510, 111816844, 512611698, 162209846, 397020439, 502325447, 393918472, 745889383, 99269361, 480622445, 683507243, 749252971, 297542088, 739634495, 466620477, 265905246, 935083093, 337986875, 526778132, 416279626, 521987921, 6067549, 731749659, 559119048, 151810235, 942468781, 747797134, 289197211, 341347028, 818923101, 981087832, 593584083, 88139045, 593489879, 376913628, 582930932, 103289866, 266451808, 83712976, 550175737, 675004969, 504821432, 307461088, 801908689, 132158007, 450265121, 255101220, 77920741, 362550219, 592284179, 6849324, 32049408, 30606232, 307051209, 797026288, 37787828, 795976242, 105572145, 541451068, 117557357, 484333265, 834517770, 380477231, 130325557, 112743817, 688944652, 478176634, 369389912, 796579878, 627266470, 934842714, 890915325, 557983214, 785614299, 117620778, 89678254, 715542686, 230329805, 501144204, 508761434, 438985167, 820894085, 307202529, 511721136, 114399821, 922884184, 586690941, 873518344, 446305697, 986377798, 692203086, 135350843, 216340937, 681520831, 81303020, 245897561, 107579445, 295775544, 740437171, 542402545, 476434465, 747685781, 460322033, 892438947, 819076980, 173063207, 131318046, 778363358, 376753959, 98062472, 89009857, 27952463, 411524298, 399288794, 474242797, 916648834, 62913236, 769954145, 868446692, 153133678, 236795702, 30522825, 502403917, 247330892, 721697681, 729735868, 657106938, 714945177, 7714322, 576471895, 717249335, 709458770, 696041741, 293862275, 418521029, 92161036, 294243650, 76506852, 612869185, 377194499, 736669507, 130004312, 632654857, 450427410, 978007408, 289048061, 623419175, 812565450, 949243835, 482213361, 736038330, 883502012, 638914875, 112509287, 923323867, 550114370, 828686030, 266643377, 895635016, 532017535, 71409728, 29417855, 791574357, 941299317, 463112797, 532668567, 577089917, 626284490, 999583120, 467726055, 748988319, 520969605, 985732107, 482863169, 279811473, 762188783, 393085403, 455076687, 348911342, 27500627, 668883339, 620377409, 826675646, 148253981, 114354840, 471245433, 956607563, 143365641, 339939958, 591046760, 635378797, 439272348, 641022271, 447017783, 826616618, 419941146, 610473945, 935401936, 290005260, 775396060, 876000658, 273421557, 624971850, 879276575, 885184420, 626736802, 856494484, 114646878, 826135117, 536566197, 62975046, 445879408, 893075234, 76315737, 452499439, 808211209, 933873135, 473418029, 227051004, 549127140, 493700942, 163376427, 877891338, 631899798, 984119445, 756929278, 384904030, 452477130, 894672748, 528070579, 815954433, 236190562, 891423670, 721160091, 695814817, 928333846, 649364593, 742356755, 592463812, 533346589, 112065812, 257161264, 116169749, 636747685, 50609406, 650699646, 157490298, 926821507, 47741837, 626846463, 435849723, 756598315, 874780154, 544958999, 151920743, 467920940, 718033190, 523858155, 918100938, 462419695, 103327762, 697628810, 176382620, 372813732, 846732017, 676454064, 14903700, 110064694, 110061243, 379674804, 128692397, 528887966, 136250562, 601638511, 223582124, 343332366, 541516417, 767291413, 606079338, 671218554, 948636489, 764263316, 834367207, 461434315, 810104218, 9373317, 951405684, 691689347, 662896067, 388430838, 112518877, 42599636, 716747553, 877012757, 744388800, 386944872, 302194431, 302696671, 655194339, 737969682, 258464554, 755069593, 241125916, 757369178, 608891485, 692030978, 550300207, 728950347, 453782640, 871728754, 889200665, 536663952, 186233045, 456358115, 442737264, 984518995, 410160047, 403833816, 793033102, 275552037, 108269317, 816104164, 141018077, 315645395, 854533784, 881450472, 816836131, 612677946, 982058812, 595276439, 21996289, 411513912, 881612732, 955587189, 366126385, 463835322, 199449721, 669711198, 704148557, 804516792, 67919042, 446253465, 667090551, 1229962, 571171216, 115511077, 900770388, 981697520, 641647636, 177388370, 104379218, 455631812, 98171550, 286719914, 550838661, 50915299, 644200966, 806411526, 598954485, 920358094, 25178946, 114256071, 200332971, 752230897, 314855024, 890131269, 330464616, 889431466, 534480624, 113697395, 997536282, 523134680, 894805001, 293249863, 262391366, 19686014, 769914755, 523433392, 932498694, 757102322, 876339581, 939813227, 956687754, 600556657, 18152898, 908291629, 200412955, 228611035, 69645369, 163646361, 906913331, 582772886, 95406902, 949301828, 784991205, 843706377, 591118982, 745287126, 446266163, 803266992, 413091809, 2116177, 435661302, 749588480, 137292864, 834019346, 646090734, 313904460, 883280627, 399935870, 328966388, 725629454, 185557554, 739409291, 207659138, 848135189, 516811900, 108333460, 109053264, 863673946, 396545155, 976475158, 736274058, 908159538, 250661385, 869938516, 681609847, 121935690, 29418601, 290757688, 601160850, 404866033, 87917508, 96852997, 267755943, 393021666, 258650177, 593274599, 908338125, 44340255, 713273305, 37854015, 235105345, 659228790, 610883792, 378722412, 422002350, 784714729, 427896499, 631200293, 381679747, 704509220, 922376892, 822973296, 93911993, 606720742, 185604209, 681452669, 665077804, 953286766, 79334547, 723080567, 896345161, 219865583, 40516654, 424826808, 287725390, 455742488, 537505845, 975617783, 792047081, 32537277, 602204751, 764830879, 959732000, 869665603, 58612302, 734633734, 755666493, 157109124, 78900760, 965255417, 340506193, 821111113, 267224468, 579215916, 563723800, 923459870, 977048318, 80181665, 39506961, 285206530, 166064762, 629634144, 89057586, 476579098, 23666227, 600496644, 432488772, 844051351, 928526234, 981546062, 686101537, 644663938, 696750003, 164674532, 90252391, 974306286, 407512165, 424335426, 437051952, 628087721, 311061457, 683799467, 539945496, 10394696, 894107917, 454752341, 335235287, 313875165, 650441067, 155301063, 526576875, 357237953, 103727959, 364606298, 561142752, 785152912, 564878060, 183889431, 921968913, 250209857, 817757611, 432477914, 169699030, 226073065, 642506255, 305281021, 30794825, 95616043, 199259313, 960887910, 227564863, 763295795, 353923352, 95168224, 912331387, 211301935, 982471814, 325570360, 384797043, 373411416, 36481202, 455769294, 219477079, 173131571, 74455339, 873656489, 569758873, 828458374, 61975983, 484361025, 985541056, 165124361, 675734638, 431631929, 245194948, 405043539, 581805517, 536035673, 518963047, 828543884, 518504029, 111578687, 533739286, 153755585, 283762834, 757273282, 195502799, 178198995, 305653144, 360681221, 308042499, 552078317, 26861817, 57571759, 886611216, 503899229, 458723181, 97342822, 352465675, 309791565, 476648882, 230841882, 832935728, 43278074, 169351553, 250861749, 110606521, 279728296, 865237711, 44594020, 373039715, 289444537, 377313752, 374400367, 12171096, 509367798, 439393330, 498207299, 214743276, 307815515, 402212925, 64976843, 538590216, 666814683, 736052166, 186683693, 87684667, 859015786, 725376690, 976494181, 852346228, 199968346, 549498415, 26249298, 734327177, 197474371, 257430557, 725024929, 157150422, 481320273, 834751432, 606486142, 592394972, 421890053, 879283791, 536512225, 864839470, 374409294, 588863186, 667246566, 546908917, 605911907, 422666457, 648680706, 782102951, 869256276, 24738882, 214247632, 151477771, 14709048, 212007151, 71589648, 734733924, 290526646, 763119603, 504636910, 267695480, 75791167, 905058986, 203727040, 849811271, 146697984, 732313694, 806238847, 19048025, 834176286, 666622721, 768454685, 123735820, 456540600, 12142192, 452998168, 816677907, 171506455, 197036754, 824975630, 563407367, 643801270, 119421918, 320696882, 839554367, 877028219, 7960209, 985640714, 715729249, 903545716, 20329832, 653347272, 358608282, 541466210, 661058695, 943383436, 715605983, 830667147, 378870388, 763528576, 640753274, 874927435, 986367169, 243784766, 85365994, 201342742, 40977863, 391072747, 230279888, 27787704, 143681124, 248316589, 777210050, 76932180, 382683804, 968486178, 346473561, 805733059, 88169358, 978921609, 700762309, 535825614, 389712402, 883187334, 713853177, 938445437, 628793741, 325008128, 350101271, 10959889, 85579773, 129558253, 933537273, 390178036, 313899077, 334432015, 239298912, 461365760, 120571944, 83648999, 157450060, 623611737, 965198710, 349377812, 339196380, 793540357, 450781872, 235416701, 206296593, 963223885, 302413567, 249046840, 596244142, 764586904, 312629227, 715381139, 78085928, 70435380, 692099365, 861788561, 844189149, 879317931, 12774440, 386422409, 596827344, 530392383, 498433431, 561121226, 110893327, 154614903, 380361789, 452147188, 677548051, 781428785, 360934441, 234228657, 720620559, 87101795, 670496397, 938413091, 580189152, 684476292, 169303627, 528814309, 654452220, 96457416, 856469297, 297540941, 232319444, 643065138, 353415626, 721808682, 324928728, 496332265, 110883143, 472017340, 492259784, 273134862, 645284003, 562861331, 139063530, 566924716, 713809831, 514452129, 888956310, 133355126, 385991960, 387231956, 454369308, 466955016, 529080557, 633075700, 216298174, 543249076, 880567001, 155937220, 975488018, 391582126, 426143912, 697017795, 264855908, 835358322, 470300637, 710784073, 344587247, 184748429, 511691274, 627652670, 323815014, 265862791, 568517370, 745002003, 612730783, 301403902, 749471362, 845428543, 861055474, 650547299, 756236679, 563190757, 908923834, 176574146, 956304018, 179076391, 36870442, 470555878, 763742598, 934386819, 21660716, 410162886, 587014912, 231958697, 118553182, 905977601, 807172291, 39543084, 156419455, 853578371, 15097984, 196569478, 46035772, 410412226, 40436499, 976952843, 214225421, 122766131, 139324172, 831872390, 131739257, 261100644, 17406574, 732211244, 416616808, 600369520, 160194565, 871595365, 839177458, 742371362, 143474125, 146327524, 863333532, 877401616, 302811692, 139572434, 342169129, 91714371, 552453376, 957481896, 917949714, 833972015, 923547500, 715222818, 529308410, 174765726, 188042004, 489988372, 513203915, 99966327, 439708533, 880462495, 141853009, 695267294, 741334257, 110963875, 932548964, 225864055, 654762022, 667121076, 130072416, 11891360, 74030608, 6330970, 656167053, 472230262, 849657482, 272299636, 671240352, 634804150, 102253248, 400956508, 285672386, 497949883, 636835851, 923183697, 304913597, 709764671, 849751196, 931841654, 763314356, 785332584, 911616881, 45640512, 711307830, 842562244, 775227956, 299490950, 908260479, 174898194, 540556607, 889715812, 228313515, 514373352, 507793978, 859222805, 115459703, 260248808, 566990784, 59084130, 788253933, 909159357, 592936874, 379865898, 612463012, 72007079, 783913401, 743357865, 619266651, 183319244, 58191653, 457733071, 184743201, 132005991, 302495406, 532211974, 224814502, 553698967, 522855324, 449363691, 958369828, 417132073, 760458583, 766702361, 299655303, 695138715, 771106288, 811875192, 995397328, 54878377, 636966335, 55761956, 926347025, 847318417, 969632827, 782821937, 415546039, 561301262, 46263939, 661203070, 219738126, 783158292, 956838114, 186729974, 49824499, 519077454, 234933196, 776501999, 197525655, 840896492, 291067135, 722020489, 806231087, 749539264, 562442125, 946286367, 340824310, 802078424, 696474968, 64898818, 591408599, 440652045, 560641096, 476754258, 136610690, 564877713, 957563956, 339699512, 181268986, 266693600, 835205024, 186516272, 926406997, 715115161, 225599703, 942875186, 523134237, 954170764, 906472908, 908002421, 762579435, 780930582, 608434696, 187359473, 920657001, 275428690, 334749869, 928763597, 307657346, 998877363, 819947397, 809885488, 457721248, 852519400, 304136352, 105744750, 168026287, 633693855, 369379408, 752715743, 71867597, 195656513, 967082057, 161323057, 866848709, 266852023, 358709760, 297312622, 360406692, 11459557, 600027979, 86623020, 610671385, 947471287, 841132241, 66474687, 702869111, 844499961, 97493035, 179660034, 515552679, 692187982, 613978440, 795435774, 495564002, 968674593, 907835348, 639577023, 5867283, 175518132, 769803701, 671158156, 936465050, 995577324, 45003883, 815183188, 256574566, 589267915, 849001753, 347015102, 832403223, 529857225, 987054210, 358077855, 949819380, 746924768, 213960906, 744871600, 235850887, 994784054, 638707935, 331224153, 256503920, 113007957, 123913033, 703400970, 540902166, 587881288, 702643, 426986979, 324555520, 599656052, 47463209, 505826245, 11389226, 249379598, 694769876, 335455500, 749170584, 500501226, 806937464, 905839718, 996094138, 538956880, 669183254, 770975610, 244607525, 570417718, 833310470, 643787960, 780013887, 261855410, 492491079, 845151991, 102625812, 747383972, 694936, 106606916, 385590655, 71728621, 152361775, 729536712, 256112046, 708232462, 830267389, 909513146, 51523948, 754587610, 443640536, 478686640, 245896715, 175250439, 846461893, 790274419, 216772576, 316709199, 217823088, 955918914, 982988571, 224485989, 496951062, 329634360, 768705080, 666809216, 68303041, 234564200, 305830460, 160524708, 377356874, 287680243, 327801615, 185682071, 358754836, 544812039, 229749248, 960777552, 843028582, 491068990, 263235646, 982692789, 146074456, 30337774, 267051753, 501310751, 447158806, 462395670, 413122676, 625963868, 106123648, 778513783, 437763237, 392031314, 729588808, 227797373, 523831473, 595433173, 740081335, 382265731, 207412023, 937363926, 486109499, 208578434, 162491732, 593358728, 894624742, 962177561, 715426565, 655558349, 752860313, 668485756, 804794689, 309531762, 345415248, 336628983, 979847476, 639093581, 667138839, 422970198, 375028038, 276383292, 689189898, 524298237, 441607250, 390143032, 908062286, 955899728, 552492592, 752347553, 321420112, 491336202, 629249749, 833821061, 692209703, 599464482, 981417693, 452450499, 735610370, 14078574, 389181868, 522989852, 861991420, 774819685, 900068195, 322737278, 105822572, 857936229, 534522994, 652339312, 384759947, 986847359, 817987094, 677942638, 732858419, 454889449, 956354245, 578861168, 554250605, 529456490, 650836843, 135080307, 426208029, 95609293, 584933498, 730384024, 21857227, 73153184, 299165404, 154354720, 630692523, 963123726, 605852984, 703864494, 629392220, 421556560, 288788398, 55720300, 538556855, 563256282, 482101263, 51533019, 835402569, 660001888, 747110598, 863637972, 264233242, 941247731, 958670800, 381797118, 738408335, 834494822, 52801877, 746934632, 588907364, 88128985, 251528863, 421500413, 743978489, 127245140, 551674524, 861412450, 579674914, 618516646, 168771341, 724567199, 841136168, 837638811, 613071177, 263484359, 778862189, 76828415, 752430487, 298037185, 807197254, 49885853, 31567447, 217443092, 813879022, 545097511, 841991737, 757870489, 143724437, 582915308, 357746019, 108956280, 518529603, 858661992, 741286106, 774261282, 968861513, 758371713, 117459558, 540455220, 25473824, 825586397, 410676713, 668043305, 535923932, 950072169, 828482042, 658627223, 434945761, 375708615, 46293289, 249654373, 192752885, 983664296, 961630003, 576426160, 409291246, 819927295, 125335846, 302137037, 537679495, 432584031, 651567490, 86308690, 819667483, 7728955, 56752140, 242036813, 687456948, 122814907, 88206486, 571968695, 578055359, 799656401, 305267693, 185282022, 344439958, 433654703, 698901356, 375923673, 36166948, 684690913, 588631159, 406376163, 412453223, 109186039, 578275922, 447881693, 508016756, 250918132, 125973201, 552477534, 52879059, 28251181, 19298630, 971932109, 287140651, 624308879, 24475586, 831690622, 153596492, 563300347, 987925719, 693078156, 819850853, 91631223, 180228442, 378574684, 356538886, 861053699, 969753988, 634965033, 31236109, 434457858, 423371684, 166731564, 435828323, 998344158, 470844499, 691318495, 71253494, 959701916, 216322410, 564823553, 62165978, 962246520, 687480408, 432220587, 968716757, 985797724, 549362540, 660254720, 52736194, 756357936, 375542633, 27205316, 57059335, 521897218, 876937027, 208389857, 449448704, 498561086, 390183329, 69624914, 805513987, 249816499, 554574698, 317531593, 833951905, 468122162, 369105868, 718283955, 315024547, 345533533, 782619048, 27175132, 285502783, 639173875, 461372911, 689569136, 135846866, 235197982, 756728659, 667422288, 749368469, 65861019, 765440231, 434877040, 427206379, 91508408, 479416500, 432864716, 439376170, 903707054, 247268134, 897073810, 903356754, 503937032, 607873045, 312668376, 199451315, 334643071, 574709604, 982157256, 445889363, 795679757, 574798160, 826738855, 320189423, 910414474, 532764428, 859002535, 377198467, 186596627, 740594457, 68888023, 333341785, 632025961, 352369465, 905329671, 834860457, 357108365, 26406762, 672034166, 996713188, 722376015, 878708276, 927675579, 200565513, 581919352, 444498144, 822204516, 214597142, 574696061, 260167749, 71054037, 286233359, 416570596, 722996368, 936814953, 220670023, 629680655, 240359143, 591491019, 954968541, 839686866, 576634285, 375254186, 801304754, 341869151, 717744647, 690348934, 182588358, 448687117, 910607115, 768944223, 336047125, 372717384, 575072665, 593469728, 157338608, 714712493, 198978158, 136419184, 585678371, 107334714, 757013133, 239915422, 845282865, 318623600, 453017940, 574117667, 404977818, 507461147, 673514795, 94797612, 482236983, 443436095, 355900887, 216742660, 504739094, 247695067, 380685925, 299221169, 190065151, 491242804, 527554781, 31653142, 126858072, 463472437, 756072147, 797739168, 993059347, 236636522, 672324904, 190970272, 717893542, 403440246, 606499868, 777690149, 190033811, 706581102, 984746652, 239345439, 16872734, 60655207, 574430694, 256280240, 191347136, 718302786, 578173778, 617799401, 442968469, 401051384, 279569534, 793861344, 333618196, 274165024, 759389481, 499118601, 7220829, 618921083, 408575209, 320720084, 758631148, 992976392, 470176151, 679222887, 316404028, 200872513, 648774012, 925825129, 413978688, 853519401, 575810096, 107517179, 449111129, 885467514, 576026391, 163716737, 15159632, 700294821, 614185695, 736782026, 171000367, 409581815, 541926626, 647058294, 303722251, 219006421, 391786066, 730422709, 21208450, 348147395, 626926572, 435099260, 822950494, 74469929, 94684471, 599436144, 878484023, 166667686, 698829127, 283656767, 717603633, 991158781, 110063898, 141835947, 178021942, 203968872, 97800860, 178927039, 16613083, 625284315, 295673304, 760878762, 645858231, 729158261, 842297080, 727300180, 465197915, 991114794, 611005171, 638269208, 470643555, 57470073, 642836938, 76401793, 776519940, 155006239, 818428896, 436909254, 532512438, 393912413, 513261332, 575983307, 464284770, 151650943, 34900351, 20122900, 614676406, 363651083, 174195844, 860506459, 14505206, 344383218, 756378925, 422658825, 446499223, 48351094, 669699512, 357276373, 536168623, 822724176, 310787420, 997368997, 672205401, 171096867, 105926243, 931339988, 160067605, 255724495, 103672076, 908634441, 258496306, 364364310, 97840950, 467049505, 854569771, 3142925, 558457081, 47670921, 403603303, 364888782, 658706427, 324489165, 280909559, 311167909, 963696089, 244370042, 279635637, 577207337, 8855093, 724111844, 27023190, 275684210, 178437994, 904830673, 418274194, 562852674, 587126170, 389814513, 921027701, 156073240, 45755103, 283277542, 694059405, 119594650, 707781701, 592802414, 29513498, 366882682, 308167049, 761651449, 57212322, 561352966, 783852193, 794936910, 326975669, 184353419, 326282195, 412662390, 975364314, 735191849, 903660935, 587039441, 802612268, 411393677, 223650283, 837982901, 310537768, 664438439, 995803611, 156307251, 439250975, 453536928, 626873603, 947606489, 583886309, 425559011, 775955249, 103555804, 519502471, 389351516, 794739703, 721805249, 338541418, 911666396, 525292885, 470739371, 281796358, 394227541, 655931348, 544689009, 78243631, 356666916, 27256199, 236155129, 499006676, 390643151, 855583753, 750777138, 412166100, 373380374, 638509520, 362954956, 326042095, 579617767, 848814899, 546939675, 760449853, 683883958, 400823058, 514263172, 737247900, 356850515, 711499570, 104444776, 167182725, 740174270, 612070781, 221080987, 875398776, 523026988, 406358821, 862666518, 699146646, 445580402, 358257235, 730403177, 693108261, 985828245, 551908512, 748731904, 737426744, 65568207, 737011761, 147069830, 940689727, 349159583, 379026662, 73921049, 628359412, 323008654, 955034088, 414371801, 209747100, 159927349, 324877984, 566618113, 944458271, 773991053, 8159395, 782326755, 765814850, 802504084, 390822457, 465814871, 643450680, 561157077, 676252678, 383861682, 621070290, 320755911, 193353981, 598071092, 156329921, 147973948, 264883633, 575227945, 427984290, 533118629, 871160005, 40607121, 108581846, 380347902, 632607694, 769305268, 317639777, 532900861, 195519029, 498675423, 643237997, 448963648, 330126484, 625693584, 381701938, 737316550, 919897374, 25672326, 931894617, 113278341, 137998865, 877617416, 492504944, 928855556, 18255932, 765408567, 172318670, 232684707, 221779148, 148341547, 444446343, 748553597, 528143124, 959988378, 184539385, 213447111, 747247211, 98855607, 346601680, 584698808, 745379244, 471075191, 403061886, 214319833, 980274882, 851056619, 45396609, 324146222, 255776045, 361925355, 720549926, 213207874, 378464435, 209525406, 74723315, 374172258, 779594804, 657224305, 896386968, 33436389, 799381651, 720970272, 722890216, 154875053, 186293218, 926961751, 289931946, 533738639, 348000107, 1611881, 153228547, 866593773, 677618571, 761099179, 809048975, 770714500, 194835666, 640565174, 450146177, 27611914, 610889754, 791363590, 971787666, 624515239, 349976105, 138598679, 569952751, 878099020, 976414431, 983442232, 357006260, 480157165, 187427442, 133527525, 464167844, 292082761, 710601715, 238087856, 921420925, 524025734, 67305850, 895728289, 215543855, 321309441, 211382517, 872960931, 897950175, 840182724, 868540320, 727046498, 492217029, 520391484, 812533323, 400060911, 848372777, 718213509, 258785997, 740798006, 457672436, 733727598, 914386815, 44419349, 940907287, 509500312, 458723575, 443574179, 119991004, 100675101, 687594974, 609190905, 444669091, 690787682, 523683571, 481464086, 976491262, 827290868, 135399851, 430247238, 489455179, 887062276, 106753672, 187490529, 783570720, 513931259, 569474918, 155382538, 615635097, 650481477, 179261214, 793234800, 454446498, 256995847, 55582359, 928548717, 601956510, 544521035, 365211460, 761089391, 847107604, 676301207, 4732952, 65947203, 941998922, 443384729, 245879317, 551680646, 561806855, 929667174, 214159104, 74274258, 926749548, 918463803, 90220186, 897339557, 722690281, 632292983, 580509509, 923709445, 162177563, 755436585, 718596660, 349713188, 206756989, 417153423, 375644982, 173641132, 733983140, 120078562, 286081144, 965992881, 647924892, 854494051, 41725173, 997219989, 798387316, 816859123, 796687882, 120659679, 705922622, 705298071, 501440367, 241153479, 749117469, 257293256, 769262161, 151910936, 569772888, 794550402, 118877650, 931492043, 68313234, 30499917, 188140287, 163800706, 683831233, 285919121, 21686481, 475882540, 552090036, 181114557, 60183193, 504476584, 486453100, 807864609, 552783126, 389012864, 772006734, 157821990, 984646844, 905406852, 790115489, 253504618, 953761486, 106340789, 402077736, 40625565, 367154146, 510245280, 465001741, 802009297, 650476912, 845521439, 526230433, 836524162, 157674324, 561073931, 938183524, 699057908, 577184534, 171774933, 103941223, 202392274, 728067953, 275341641, 736537018, 936329923, 316873284, 742666889, 834124367, 848306450, 547904471, 487701132, 502465588, 549853505, 133920654, 417569925, 156940997, 58736333, 769924868, 249641521, 256135235, 379880280, 663915837, 851761329, 398279734, 763164213, 313306066, 246024384, 403867343, 701071809, 102777670, 691379656, 501088023, 474998157, 373498804, 278424591, 717576870, 829476801, 602758664, 446691587, 351410299, 878247188, 587623534, 709733277, 545674714, 416059917, 733251612, 244349757, 105932432, 538049280, 687970073, 206976298, 678792345, 717612111, 499911197, 952437221, 868223922, 214619740, 460367668, 422972366, 187852571, 620774882, 832803622, 438392304, 15264152, 859116528, 382180443, 842882098, 26509142, 464849488, 24196889, 303742763, 113563891, 939339630, 655968455, 911124575, 987435033, 417621805, 363611179, 914588184, 156830971, 20795415, 936850870, 186747722, 747388922, 777296170, 52331675, 590350229, 989144100, 72764103, 630938344, 249916133, 318553301, 628493931, 243907791, 404986024, 574417632, 565931553, 189670442, 725544203, 84920147, 749958557, 925085925, 71144006, 331551157, 770517069, 217824342, 941180250, 166723774, 988433103, 298822825, 461139349, 496560241, 776771049, 479596076, 752283706, 489079508, 764034361, 409267463, 869421072, 304580816, 146285063, 596842206, 292509051, 235810332, 547076714, 398958067, 169291354, 424024254, 970997576, 954948534, 379528168, 779962279, 823288484, 705748975, 796965287, 499957766, 411767201, 746690769, 405313150, 342212946, 57676683, 530632677, 310830721, 631410851, 986088839, 907729201, 684350776, 104156922, 190761313, 390999322, 219979908, 356927931, 974377814, 415389943, 420357629, 756792254, 528673202, 966411469, 748117275, 927530406, 508449285, 718674199, 225811870, 997148732, 92465752, 947295947, 413039019, 58104740, 100772326, 768757462, 782531738, 954693307, 11733809, 724870570, 212572819, 750190423, 519760588, 578667223, 509528386, 328622871, 935866312, 163589070, 171911784, 872485592, 506807471, 902041241, 673600425, 43655365, 240607604, 800916444, 746189359, 146132761, 899659050, 374319435, 165345309, 519068605, 93959258, 922476455, 549125427, 212565523, 180997771, 607620233, 491075482, 301801448, 690925151, 932320953, 212606192, 707294722, 529412895, 309806456, 518851475, 480605272, 453758480, 584071796, 494921869, 749845495, 88006543, 230637732, 94953948, 775094094, 655420636, 955510346, 48569163, 273326995, 760531074, 803489402, 857417840, 47635854, 178061582, 717977748, 34196593, 289533487, 797949964, 425025969, 383040654, 732541368, 68086189, 124185556, 491896525, 902599160, 308997455, 695538789, 835143121, 119477328, 779207332, 20331100, 103515592, 93058954, 86320196, 331384368, 785652920, 724771681, 302457735, 618028753, 510294530, 300479848, 292103569, 940707637, 796320950, 714186994, 126146086, 341732788, 363246600, 258359236, 986261611, 267389689, 818513247, 274962581, 997611531, 964788400, 753629084, 458123029, 167665563, 785516810, 472885892, 655596841, 107335934, 106276310, 454834155, 966880531, 816051789, 514096581, 982017418, 720678036, 264548317, 587552158, 319792721, 275086019, 951654582, 857792624, 999290797, 383903101, 444417590, 342519391, 263869049, 570959726, 56686445, 829259586, 332999429, 811802316, 486253225, 669293115, 502989959, 177295072, 422081031, 723222499, 343598228, 413603108, 198459365, 928380848, 32993071, 3517896, 942878359, 246886946, 483423290, 341801080, 633114245, 520645296, 361819995, 696138479, 163850306, 352250397, 54225056, 795325228, 449969842, 226392291, 293339208, 810241553, 233364067, 346584690, 562782848, 41671594, 401541169, 689618838, 357876611, 487339790, 67628654, 379675385, 539736574, 194686252, 297747206, 481034578, 327587341, 252392474, 880485518, 753196584, 571259573, 864573159, 376713796, 603711729, 846285272, 440682918, 870422910, 788463388, 350601661, 244107974, 608382032, 270323885, 350786593, 793238468, 673013230, 477793010, 757046586, 720374507, 957237324, 602789185, 416271798, 92004553, 878399016, 755038613, 67330711, 82717658, 854063408, 424617405, 739459395, 165426539, 993150329, 941940072, 641837470, 873784966, 410199255, 175427223, 242993694, 207692488, 839461993, 281669221, 497101695, 143820512, 240702736, 948514974, 958642111, 522977182, 980476993, 276307899, 237026527, 313525772, 598431039, 587092318, 45981129, 291536397, 586703559, 618198371, 755332037, 32954146, 733185979, 529031226, 749712648, 790548483, 744040196, 454933926, 604894162, 165662766, 390553818, 480037084, 580639760, 14965619, 210058608, 813795795, 309873899, 544110371, 48764690, 141166964, 198535491, 262322009, 68852185, 35245670, 953144603, 992528070, 45587623, 229494392, 489699765, 875170464, 829960280, 97845698, 434352275, 300476468, 720129972, 629088346, 393512733, 25566984, 362788038, 833717334, 99743949, 762889684, 21581372, 690694103, 691009203, 113246058, 668429914, 299130212, 734177808, 96246885, 490506747, 881524639, 534193172, 109366901, 745954763, 626105011, 425205884, 371827218, 670767029, 164604944, 824145117, 694202801, 22519743, 407186277, 201743373, 877626637, 363412310, 518935432, 577079584, 135081508, 767904858, 674970105, 433549068, 620727480, 23958068, 842767639, 701689020, 213143908, 365549243, 92570520, 555155868, 638033511, 308346393, 238994848, 395278116, 813813221, 835746916, 13520938, 771246374, 792229366, 996350779, 391142358, 157851530, 139155974, 442414682, 296537550, 4988054, 260708016, 936236893, 177836561, 144281468, 70743882, 268228706, 94017371, 772750487, 409147948, 959037516, 872922216, 393049153, 443429179, 362590521, 675599249, 37404875, 230513804, 753503047, 339723889, 798631523, 369207965, 335771418, 242128872, 958492940, 307774780, 679083636, 928613595, 75806437, 396636533, 631425681, 890286288, 67351696, 899085510, 976299987, 123226045, 833041219, 124096298, 421635523, 888246653, 99006612, 139898759, 590291264, 698581242, 293484754, 407156412, 324783705, 996883427, 62433038, 702001480, 159874644, 555645, 436547708, 383630871, 672365116, 506885653, 403001267, 931841271, 432655847, 648928046, 302164592, 462408368, 892328974, 971743931, 636950507, 888975762, 833412124, 619602338, 646302529, 340355605, 404615904, 28320051, 669257431, 92762263, 105552707, 106768016, 291619236, 673009169, 586692882, 715931155, 554409991, 243453992, 333732427, 126481920, 987641501, 212924194, 988721997, 15195755, 534329604, 373566201, 961011156, 355581664, 575642679, 405079434, 571474226, 611212800, 501269540, 245744937, 626014553, 868967826, 614561004, 231763087, 764906186, 308458652, 384520512, 482701578, 702058380, 90496449, 112351924, 37754455, 142462104, 441644105, 220430368, 959643704, 147264030, 104496319, 410208156, 900943965, 91027707, 220176961, 317743113, 989225181, 831343354, 709155725, 241658712, 471210539, 596738171, 402234291, 649584448, 468312657, 373626428, 401437541, 182181335, 460465114, 630940004, 585019542, 337328493, 892805297, 441576660, 801994225, 437553381, 721831153, 305405187, 174542285, 148380392, 528276542, 169198100, 320369309, 741011285, 15185643, 249346770, 980938772, 135213927, 817773883, 294456309, 380327267, 158083650, 290011109, 53430443, 440995999, 94365028, 395852065, 630738756, 380789869, 699145359, 8174597, 757849547, 650436212, 678023237, 118692115, 551500480, 111311561, 396131075, 809994429, 24167648, 803942844, 594304584, 514513773, 60554851, 449516412, 960443726, 458474802, 984114324, 821908124, 376787192, 95977900, 91456186, 283753866, 77714259, 578734945, 250571548, 172025088, 537675396, 978629511, 527501012, 306440736, 596928056, 97998062, 851414498, 281621418, 467285519, 23026998, 827467394, 103070290, 356817207, 152079865, 353793543, 517357344, 914308536, 613139375, 226742487, 635782484, 373399928, 672524274, 327763310, 939193116, 110036056, 667852786, 826789928, 935458169, 441701978, 829726012, 894818310, 695531643, 529221289, 705343716, 124358725, 312266437, 996636510, 221228811, 746392227, 725712452, 427589490, 765135768, 207168222, 393659195, 515537184, 996447757, 286155949, 158420531, 707995587, 123910247, 176994977, 623487662, 276732453, 133084684, 667990506, 861204522, 611615243, 655058263, 753342564, 693103015, 464414725, 897411083, 863501221, 892834260, 670836416, 823960870, 207515762, 953570800, 84885970, 934939679, 964359806, 656131966, 282806865, 649078951, 751640482, 317608609, 230853702, 903816718, 346586804, 882908718, 765316946, 711254389, 4783666, 230189737, 234487532, 346930278, 228119418, 48261956, 430372935, 537221571, 877767721, 623535777, 648495792, 26308813, 338196099, 989406171, 230171127, 640820809, 478812218, 467616672, 541226208, 2389036, 614670809, 594803636, 516934173, 172868009, 484140964, 406814594, 195297952, 537134363, 951323763, 544036639, 687159351, 470052296, 269790874, 473493741, 67029870, 114722952, 185765588, 565422405, 726065955, 49472885, 207117751, 148177615, 535462703, 402170909, 955890993, 968998135, 629788746, 964093876, 981584872, 11197242, 39441706, 894428429, 213416392, 939367065, 730915974, 198251186, 718702616, 147411256, 648336564, 59789345, 822858816, 93785901, 441424261, 225835599, 159983040, 492142064, 805798226, 816262878, 47138667, 895815475, 99384312, 573487638, 657279273, 144521105, 326356477, 252327217, 581607425, 721498055, 715294840, 785596787, 465886935, 648123690, 611759719, 971897298, 119826025, 48691765, 267959048, 247812541, 873926203, 579206826, 901760206, 945959023, 234786939, 568107048, 890525027, 789064615, 958762420, 631344226, 181166785, 94623640, 574272068, 547253083, 774828451, 407013831, 22613289, 676791578, 727751320, 629189065, 929497586, 307533669, 255216528, 698913298, 436419350, 969800901, 870119092, 819491891, 176469402, 187817859, 270824826, 948188766, 175992924, 422164775, 257490400, 524611501, 551177103, 715605811, 259657045, 137754221, 527253409, 339488433, 204324559, 491804643, 343649016, 691161512, 371003753, 455895558, 635260163, 760535159, 873441904, 129833642, 647864401, 863782854, 486982072, 513436961, 304344446, 684783610, 602144532, 505459556, 965935377, 81229443, 624493371, 711246506, 3711523, 693368384, 689738180, 359289902, 810977830, 434014962, 901236477, 495829260, 523174974, 517202276, 474421685, 466893398, 120226670, 949988012, 388926009, 750333226, 103962487, 680179048, 193752340, 978039688, 481850057, 521795732, 909995363, 222536186, 424530731, 418556056, 751874866, 189369727, 359325435, 639026348, 899870039, 539670706, 956153755, 894226931, 600890182, 73440011, 29625280, 491838100, 281951608, 850180490, 814034352, 372148832, 487737717, 605250859, 910990522, 864938353, 963654034, 56611647, 534961808, 964856456, 508027729, 502423031, 857178117, 147123890, 826817852, 95717581, 593550975, 244549365, 439968331, 574426558, 334597255, 217276381, 231156971, 620645893, 236472802, 629418034, 515830063, 676298675, 920184098, 314087327, 887732815, 28431984, 87837220, 428401556, 201751495, 94052217, 447411371, 540854646, 183988955, 841840153, 492768525, 696398786, 788854506, 85337486, 247266798, 375769082, 27010104, 36402810, 666474937, 428490518, 339463844, 598205455, 25206282, 874933687, 500929044, 754625691, 563414993, 388495254, 590616890, 227968805, 633257751, 738009871, 628414984, 369374477, 501855837, 681009294, 238278011, 174671680, 387958654, 16663036, 615774923, 655470415, 321781541, 744462618, 996289500, 474303795, 711050509, 74325609, 742678373, 631155361, 968893194, 340406681, 417926938, 712259758, 419447422, 704479133, 595079285, 824713395, 387881364, 903674701, 337338090, 921480264, 136981734, 50287394, 739855345, 838683519, 437282138, 306178544, 949360037, 791423773, 200837363, 293003567, 895911618, 851016796, 912845138, 187757740, 447658673, 117135997, 500786892, 463819267, 690803850, 751335567, 815737419, 362518315, 864213742, 436080131, 69115345, 621697478, 674893707, 101962587, 533922042, 306357129, 734036104, 544793696, 31361179, 338484475, 740842614, 863177303, 798760936, 541559790, 63158259, 897867717, 382901267, 466925052, 132376516, 413914237, 939016676, 277052139, 539723023, 590354650, 665153629, 816677214, 665291408, 584056066, 124575490, 382047803, 411121823, 698297698, 385696371, 998055837, 659599714, 99940278, 437524833, 845570106, 202311785, 315145042, 465440614, 358818989, 938672572, 838203353, 787845827, 95520531, 972055509, 416576475, 142293925, 846618845, 30507935, 927220373, 797314278, 385668904, 388307756, 229362381, 945014505, 781738278, 84655333, 950078549, 496245871, 800010617, 232138031, 183723745, 667895005, 111705535, 691118115, 125323892, 334854776, 657154817, 75260673, 925763286, 273782266, 894459407, 975782029, 632797307, 951397244, 810697804, 86903966, 92673698, 377309872, 494001570, 792704190, 769376561, 286996453, 484471473, 782471413, 508010053, 199809044, 713162080, 337535147, 422050058, 145810375, 426795669, 112969609, 750635339, 576112498, 667443296, 399472781, 633587760, 967307028, 661633213, 924744485, 280635592, 262800, 986952550, 131741791, 148796678, 313240537, 933454437, 111997815, 695754061, 281402998, 170134785, 778361022, 377009953, 265073914, 147942469, 404229275, 88418337, 428926915, 116490914, 860769108, 238692503, 397785001, 544674623, 533948548, 259390722, 890802198, 953282098, 852834613, 888095133, 965642254, 772707067, 774489140, 192327634, 300691937, 246537704, 620036069, 646848919, 700742035, 889161200, 79378877, 875760106, 536168466, 862910095, 794058247, 832968846, 15166778, 946332659, 87905458, 226483824, 34213081, 663327595, 61885804, 690603200, 847199295, 314402586, 382628873, 448730963, 725606586, 458689336, 449290507, 847689359, 375337128, 605955464, 731177720, 959354745, 935991953, 472982334, 918614295, 638562792, 457179894, 625026854, 242059355, 207685983, 150512548, 784568158, 560783545, 695044982, 564002906, 888758075, 669449699, 930560636, 775255371, 978844391, 621299966, 726770096, 69040688, 726372634, 112977830, 98095729, 194596609, 468514516, 965612262, 840184232, 794379505, 506203261, 606284052, 291893549, 697962742, 39741676, 495413546, 604435973, 763444013, 685832173, 605114437, 460592605, 674711953, 808624158, 777573567, 589419344, 385152921, 476556949, 439055023, 844609947, 634118740, 58598861, 934817890, 489841674, 784554250, 563659525, 608302180, 636735494, 889027666, 935238359, 474738796, 56879646, 481086551, 432268938, 682390290, 192804879, 875040805, 202941102, 143829084, 834757195, 609839597, 422854652, 792914976, 946834823, 704879521, 506752096, 992908314, 374488623, 339402498, 108755405, 973186607, 541892928, 938505443, 224519889, 195468368, 102307546, 475380609, 30508986, 565186949, 116397275, 30175984, 841829748, 203534864, 792571610, 940118565, 236052526, 200406896, 416734659, 790185707, 634304891, 599837605, 196417553, 691941021, 264427553, 453801254, 457929578, 484418688, 862522879, 614495731, 962728095, 675818408, 867060556, 777226325, 724489645, 554634455, 307277368, 805570950, 521938954, 640858601, 593345341, 927596204, 906525561, 804738847, 269512838, 141677146, 909456970, 704087694, 762576297, 929683485, 766574226, 429291589, 273761172, 458083965, 727491131, 120959119, 142543733, 17134813, 360912208, 116604858, 807787931, 620582830, 255657608, 839067934, 815054799, 362550120, 17271876, 178151694, 254925527, 593671393, 923685279, 44826788, 415605576, 517036775, 27881967, 921107559, 962624979, 822328650, 167414518, 893246798, 496268841, 617753834, 512884230, 60878773, 897348229, 732780086, 356863212, 280287926, 732014709, 315428445, 733122495, 540302387, 428364803, 776069420, 467379301, 432483059, 339795700, 821883476, 336129611, 38284229, 562435483, 668562984, 342684717, 848164558, 398096044, 655324778, 838379293, 557184959, 824037071, 455088619, 866361841, 348694243, 208166542, 711091908, 834671094, 662019977, 119361374, 199257620, 634671745, 295301769, 527553831, 257428498, 351763284, 570199321, 106786747, 867636449, 654483099, 223964049, 369083726, 937186327, 895064914, 557045349, 559685286, 518538965, 288426443, 503099119, 310307005, 238587941, 953515332, 835670473, 922008903, 636939991, 977323420, 314788401, 289481985, 559297320, 476102381, 915133458, 485709242, 386548322, 980215463, 35851045, 901696096, 302013245, 396622499, 987087940, 211580289, 180852041, 401867588, 853882702, 152032518, 549071958, 343074795, 776498795, 338546132, 118501053, 377614630, 705370184, 317399308, 183619286, 444926320, 427995286, 232491149, 928435191, 910848568, 965552856, 152447943, 852949937, 577138296, 2831737, 24005243, 52393116, 125756313, 764688490, 689092141, 712129221, 927528726, 655617889, 201981874, 957855294, 573029361, 814668001, 244069028, 679574582, 282239048, 83447976, 949313063, 977626050, 519010413, 510999579, 606015880, 38035636, 101465813, 91724179, 316472016, 215142343, 123878430, 464789965, 132188516, 755598606, 157221312, 642925151, 544945553, 570169579, 528878251, 453289919, 23715241, 662292588, 878250265, 25839063, 379466869, 251719086, 377209946, 633795366, 789880590, 981900388, 421272394, 764933685, 103491648, 678886580, 794857299, 131587527, 343949469, 622584934, 429043990, 954027020, 873366440, 952117213, 692248271, 574672594, 826299055, 689607315, 46555739, 489791655, 522288287, 722632675, 157045531, 267077409, 150691675, 660292525, 875998080, 5936829, 704423545, 80328880, 658071687, 714410082, 208760377, 519976496, 569203303, 314775005, 39750215, 97031507, 484222492, 724225184, 453418886, 979673718, 480099771, 829263291, 596850780, 1189274, 312861413, 226949757, 256354816, 663342534, 21304382, 814560123, 779941271, 814395960, 462718912, 667353104, 555839241, 737254701, 709481963, 319064597, 490440326, 314285882, 528696554, 281688045, 334589911, 970998099, 635103672, 131455696, 316322621, 826816694, 330622852, 745259932, 322915517, 472026194, 57794780, 643963504, 253651869, 817455654, 682082374, 913150879, 608691449, 601824112, 669553969, 554944378, 743263704, 360632713, 361405317, 811984872, 954608779, 450257450, 568483761, 806284462, 171421490, 82299296, 201294668, 497047980, 472480027, 529171430, 788267069, 604414181, 661313127, 275067121, 307180113, 902729003, 258327154, 717827156, 7929604, 213422678, 801530245, 113907834, 891013139, 948308094, 469251603, 83171683, 189198449, 56124107, 415180195, 966785561, 173368320, 236077617, 696222346, 434430866, 630843774, 47929493, 457753622, 916668582, 360815882, 537157001, 798215657, 31213170, 750733443, 275893324, 80750368, 597516736, 434735263, 505260022, 63070026, 924207324, 456907351, 319546664, 467572868, 67370263, 633565183, 592897496, 914746560, 603389491, 882262155, 175366395, 866588460, 723648620, 199089725, 486654423, 564299921, 939191599, 253711203, 856673769, 319752848, 48744399, 147174695, 52210919, 109137182, 940022785, 304548405, 894706812, 620374282, 55769958, 461122865, 751665775, 404965917, 917619631, 605286990, 103196384, 180533848, 383155343, 642826042, 648918639, 147328399, 244299485, 34373232, 271990787, 754299992, 585246920, 497280229, 854049539, 406707247, 866948588, 730140148, 714140399, 877291809, 438660316, 513846223, 57640509, 295216846, 320575161, 968239805, 922325686, 198205065, 353672334, 52373602, 909599090, 18244240, 66921344, 707654196, 67201660, 161543486, 843757774, 855650555, 107499567, 269257901, 960297892, 304491625, 109996651, 735253388, 78409491, 464881124, 528664810, 484833482, 801851439, 253881109, 540679788, 996442109, 431022022, 722202892, 797494212, 824074423, 37855923, 221991944, 434133853, 191299631, 927748917, 865089771, 693518791, 128806697, 163840959, 856029530, 58848204, 849129656, 294326514, 323014886, 485551014, 286312197, 173580054, 90075451, 482540664, 755385338, 177125459, 867549551, 172634624, 118949645, 988592655, 873615522, 332596257, 266233697, 626904255, 765117268, 201812947, 664808012, 967888265, 147128873, 752019216, 315517132, 531687134, 201448782, 65986179, 783985854, 32446936, 13438812, 448808989, 105154149, 198485127, 97026974, 384485851, 404763370, 294136158, 559655119, 346678735, 184367925, 557506364, 671605385, 836426932, 207359643, 363494703, 127805917, 602355502, 743029501, 218090025, 766392063, 785371350, 349159236, 300125246, 32175696, 522915135, 568957193, 513424468, 862873976, 452706401, 621563702, 517977319, 332309604, 338594837, 259810811, 718056221, 500791798, 974290399, 517283731, 954427529, 783264814, 262553592, 156497115, 329122001, 471507913, 685137112, 732115565, 438186712, 969843764, 500825321, 918508437, 963133080, 940004717, 934686618, 646667443, 942335229, 105099927, 537278960, 210532595, 917879658, 351737524, 224904504, 320586137, 582616340, 78306912, 621484683, 371400394, 581394827, 714373168, 905726826, 826227834, 842006176, 600564437, 791978120, 25566667, 167610002, 738768432, 488042763, 449167807, 73153258, 357365697, 50120234, 883299570, 806758463, 65834875, 974392554, 723638198, 789802087, 812598374, 128113927, 127118497, 833351787, 607692734, 328043739, 148926532, 616588265, 523449243, 669301868, 364051471, 160815089, 813394977, 916264091, 898969770, 565212768, 385536100, 282923381, 941314194, 256920330, 65760577, 98512795, 244687754, 643256083, 431776305, 822278502, 416685263, 246637104, 999830543, 211515374, 888464895, 847350947, 89696676, 220890496, 895427336, 75821580, 360662681, 516084134, 788728481, 984038979, 744180428, 334215505, 274637414, 491087010, 6154972, 803619459, 430562935, 335427714, 83200299, 54173036, 310026196, 298875074, 697557876, 238501217, 105515507, 541185707, 432260572, 281530440, 196098376, 861023203, 85501247, 488226263, 810631225, 459858944, 429408496, 284364889, 628406512, 523564226, 23894205, 586693392, 311371480, 887799021, 752396178, 451715737, 780454353, 954968853, 1174455, 397510903, 961346397, 313062483, 973843688, 385749168, 78529418, 178520483, 309501484, 812566709, 264882495, 228102626, 234504581, 637329892, 282476724, 272045433, 483379592, 205724995, 778201945, 944107949, 152456986, 385053743, 267068777, 460235717, 757282963, 487189416, 7724168, 111595784, 272166757, 495703960, 241113052, 884524221, 860200045, 226194394, 582103917, 992878526, 879907722, 325015875, 437789995, 285763817, 150175823, 787791239, 768781549, 981237613, 37719057, 178799635, 16296941, 194982211, 776753211, 856079264, 366705911, 879691431, 578293685, 796560673, 368839014, 494951253, 456619409, 300032561, 56522103, 834670422, 952721542, 755642893, 563801239, 596513699, 126372682, 869784193, 229477001, 556595338, 367512606, 664646244, 875088166, 964184972, 548173419, 358487773, 827109805, 857507619, 76348634, 709753088, 290478215, 452542975, 422699091, 978182311, 681405411, 119722954, 428206650, 820275209, 140112792, 897872659, 227098080, 810929174, 365524498, 169181784, 198802673, 253653388, 963286655, 40405032, 799875462, 839989176, 264288505, 571796831, 267029204, 166453261, 989318653, 325663695, 33270158, 418321685, 640554550, 709341686, 485354508, 422274014, 924326548, 527055601, 380771859, 210426309, 932386702, 138475445, 213546400, 711703114, 882871001, 12356884, 452022618, 244808268, 153941199, 74855261, 909360774, 975377751, 552956048, 674342362, 269083995, 531166580, 954062671, 702687649, 653276026, 846013816, 352520560, 62056903, 614438856, 716911248, 324838570, 631257616, 708373364, 567015376, 391759805, 543086154, 996781821, 26911255, 105033525, 802736787, 159004955, 834957981, 800767121, 901680062, 908509003, 510180331, 458082960, 784365609, 751041369, 410394324, 234604395, 298708268, 881550336, 34315519, 733217948, 293196862, 547149461, 301282588, 335610267, 4352646, 167004438, 126844915, 765832058, 268380265, 458079913, 1892955, 519978839, 906293174, 180407064, 340574724, 525292887, 606095769, 287840133, 10096230, 587697449, 146380521, 910509105, 904075077, 941728632, 266359730, 967148930, 110698888, 881287711, 571879777, 270434497, 603797908, 11566789, 503437224, 595621231, 282567576, 40438791, 884487765, 504215628, 184939678, 201594543, 819046048, 385428699, 351175732, 385783725, 572991543, 712934604, 991782975, 965894059, 853765264, 436126743, 677969444, 1506921, 588883190, 534405897, 4538484, 277623720, 10779984, 324217133, 605570182, 928650407, 464464361, 958415819, 927387593, 388522182, 390631675, 528997723, 105964494, 496556919, 629586756, 311738438, 156571372, 934274380, 339128413, 527373651, 135919385, 39236018, 23836040, 73199796, 590927564, 156741752, 750648053, 746412088, 569702114, 219778969, 211239960, 977400106, 846431369, 721642780, 152936025, 743108697, 187281103, 133491738, 27970391, 815885686, 32138292, 530890298, 642047915, 35624735, 224899331, 464164189, 187476477, 829770678, 850643747, 198958524, 462707954, 299106355, 449778336, 72798176, 586974222, 422669419, 702677627, 574375109, 243581072, 334725073, 194451319, 250339730, 33549806, 844328676, 990983933, 556356412, 163384898, 715197501, 891918813, 402849587, 12694053, 243462017, 232207846, 811030523, 408341034, 734932958, 890026460, 33451589, 210615121, 527847756, 452370100, 871943129, 223942482, 289847592, 343128464, 946271756, 2408808, 745051265, 726254014, 705540703, 975257359, 554850609, 672107993, 45398704, 951158665, 401424712, 488643872, 585057050, 586125113, 356874483, 730995126, 83012820, 244539512, 490581264, 937841027, 149621700, 704977050, 757887026, 400880991, 937288631, 459548138, 778995373, 425888971, 383362230, 381871563, 844591917, 57108734, 610944998, 491109875, 721138572, 469575940, 167817171, 619466021, 382439482, 646028156, 794423942, 714213292, 188480632, 752981704, 344954696, 143941827, 920483632, 896507824, 59956198, 976471820, 202664054, 720856401, 435403312, 320316738, 294408224, 456031318, 632880849, 607190800, 558984336, 922387763, 674580867, 743398132, 583617376, 411678426, 812691776, 43905076, 406816973, 57674940, 725397503, 256806495, 461496911, 392362351, 535832469, 443147662, 659388384, 686675952, 888509357, 646321830, 242536921, 750313561, 192449070, 963919402, 568184589, 741447178, 978801733, 933711722, 731368294, 285708068, 818166347, 610629614, 695837209, 398462540, 589244999, 572442899, 664638700, 801321593, 774194543, 141209459, 436730575, 20266918, 330139155, 185729883, 284592995, 9903677, 539580712, 221183491, 655692702, 617562517, 97308522, 236766249, 337187042, 550735784, 190469864, 865707511, 865117007, 16431027, 261835271, 653335758, 156335302, 772150239, 801329544, 970047795, 739802461, 751404133, 259269609, 189309707, 450417238, 875262459, 964473569, 253627700, 732389449, 194337532, 671396586, 493016918, 155017806, 574796797, 583799244, 697095189, 494112932, 176118172, 323561874, 591782099, 43220490, 964642580, 85923982, 109463500, 354851981, 227693055, 992785802, 808375479, 880829227, 686724272, 448823860, 677879100, 12182482, 730235018, 744606072, 727741939, 816310872, 353113246, 969518228, 472106333, 328596144, 120044195, 348697156, 133255973, 890186016, 131386538, 954292816, 72132066, 702429365, 937301274, 936230419, 380134258, 394880485, 324958451, 533406728, 823929683, 334227232, 771144623, 1133006, 161753468, 175610169, 685455183, 500312020, 399149891, 43201148, 492204060, 649942016, 426088875, 836800296, 794779658, 53999489, 882510656, 882714842, 592790759, 156143772, 654498093, 490165020, 260072652, 144765271, 695469640, 753671959, 711606002, 375303510, 517281665, 963875473, 637432306, 204891125, 494908880, 454170773, 920542908, 168756132, 10775154, 780511662, 152649670, 805987399, 399661826, 296680114, 581638600, 617576578, 874384479, 163435537, 500166612, 499894843, 457774256, 689606100, 138013155, 56159119, 184871487, 782936547, 904101107, 54580854, 477041651, 566426979, 20886481, 286182871, 735297565, 617538693, 444623235, 55509090, 343335012, 604965775, 676405592, 972985340, 198389993, 790017886, 710220715, 470835442, 311407292, 988162197, 72116981, 393296328, 891282628, 751575119, 345085458, 147706575, 558057632, 596267806, 173263420, 162946349, 108629352, 376195706, 992681239, 772132294, 352793391, 878942023, 34414051, 624450042, 965130532, 599973621, 29865348, 605728867, 312694853, 440393071, 997225727, 117933234, 8476549, 374403131, 322188165, 759882031, 647684554, 165202051, 337982209, 285730337, 997141328, 377428959, 799213086, 750608515, 322964553, 714156139, 481159209, 310844072, 810210447, 937034352, 593464294, 556678301, 205957579, 481815660, 399409628, 825489541, 725395887, 46075037, 399498718, 684785159, 853359583, 3165773, 333224583, 606951794, 648631369, 401615371, 430708665, 588760301, 60858400, 1255384, 623716004, 575177228, 351818269, 132206771, 527193482, 218086253, 549532055, 28049690, 666308177, 74777849, 439059601, 972008319, 599531238, 994970906, 439186193, 902346937, 96894188, 284379233, 279835227, 335792434, 707017492, 699809379, 753942858, 199972506, 751092098, 640991469, 940326979, 579690802, 61344464, 819699904, 255726215, 138947380, 199601943, 602828565, 656136165, 201760, 886473320, 92347056, 692046988, 470579345, 139357666, 836793735, 653566804, 37899732, 853369345, 412425317, 426442557, 491556532, 610033484, 839070965, 816917133, 631215083, 923992669, 183481755, 988065590, 251772899, 209438518, 787023867, 194069502, 718858909, 23403181, 977099122, 933103041, 460223868, 501154179, 789262381, 458020797, 82758405, 351966167, 855553046, 254053741, 460921627, 235502913, 427062646, 345897148, 871212700, 747047210, 442610244, 758451855, 519241407, 883371173, 743197615, 736537945, 324956114, 678756436, 539969607, 208624499, 438491326, 237141588, 266261790, 336891526, 126985706, 588365879, 657076932, 92609513, 817468822, 743388059, 259097519, 288971648, 833456980, 607061877, 748397335, 827586850, 60923676, 432010226, 718287846, 848739929, 908345868, 260821218, 608387341, 970558358, 110291230, 747118183, 210363657, 788473193, 227248677, 795302131, 12930898, 275714653, 389022388, 728988466, 85240059, 3737574, 45765273, 897870973, 266309289, 894414907, 378107915, 40187190, 838779234, 274849808, 843052055, 405451074, 68170911, 871424425, 297312096, 589687327, 800747123, 449103895, 681842297, 5150964, 470124562, 923063656, 207577065, 452780406, 686070529, 23388279, 854667803, 622374308, 731305126, 869248483, 154598202, 971481002, 755560753, 159374826, 45097285, 572896415, 463239572, 728558779, 909295851, 357243189, 68885066, 934900451, 970086613, 172509540, 240665087, 913660964, 750542533, 342445879, 915373897, 417665302, 914520054, 8437776, 162722053, 842144173, 227785064, 283588231, 630984113, 176990516, 416103415, 737643790, 887412569, 435214142, 275633614, 901434503, 639162927, 758713341, 490764420, 990221257, 49893037, 230185148, 78318892, 813448099, 931579204, 941071617, 815092065, 614191867, 149730120, 646871321, 320873666, 372345411, 745470877, 291628369, 841091527, 63708764, 351477100, 269512831, 988445614, 14192812, 290575337, 174032085, 49362317, 636432528, 652099042, 639206464, 1863399, 987551581, 782673681, 858437175, 94432422, 5644453, 614046410, 780049827, 246669304, 788646354, 854779933, 481094233, 740283207, 310855009, 667670426, 348537270, 488525782, 727362081, 845183581, 12429271, 420273543, 500833341, 145989853, 229788000, 464787303, 484435714, 169720494, 590387308, 114024235, 699599762, 886278758, 234927961, 557217689, 738994278, 95635987, 517641103, 253029356, 51555274, 714597801, 598845660, 479769570, 188146010, 711133660, 739641414, 33514815, 946216641, 584367151, 892127619, 462445904, 11808079, 54867835, 581137968, 93229698, 869930873, 731403166, 952252877, 485748266, 123216281, 211126235, 706724072, 616490372, 322461820, 146071065, 327654358, 733305615, 658544256, 873166042, 182843614, 923123305, 484791436, 690494839, 820638111, 603282606, 320095490, 33906805, 684510624, 772336672, 511419259, 360746844, 666511433, 907927130, 913271261, 573638946, 676695041, 653861112, 559547674, 469654597, 131712661, 789701310, 424600506, 92239475, 497370271, 418806450, 876068466, 165131225, 850956342, 833122826, 282957039, 334238800, 216457583, 444813403, 727306837, 797752152, 884695693, 575321912, 51221565, 698679682, 621878727, 411942276, 231174302, 533396344, 227000266, 689107920, 295546355, 642627108, 261838322, 659882131, 592710679, 941550664, 687859408, 889539059, 8079519, 754667053, 153905256, 106996687, 608940002, 436524921, 45330484, 750875977, 38812637, 229204448, 328348079, 284276607, 251325563, 422819113, 683641791, 22421394, 605767533, 661619802, 355134671, 663951713, 758600778, 796800783, 324345760, 997072129, 154005039, 216974077, 737202736, 957252316, 748559742, 717745651, 191218403, 907700813, 138054961, 763754515, 311906851, 464661323, 252251967, 604551375, 750168843, 19145492, 496236500, 236982912, 264218429, 341142710, 550665668, 251599330, 527014376, 754877964, 219620483, 893265021, 695491769, 793797810, 413702174, 463765193, 507369652, 897693521, 577612076, 69544202, 588632670, 94071770, 910566812, 355481521, 124088832, 159844039, 282227222, 498639988, 360075242, 122947653, 203853062, 538049872, 330752831, 85575753, 744950565, 148648022, 811517006, 744974410, 30994353, 815027056, 947464620, 547341018, 176793651, 705248571, 622065219, 212845089, 59241389, 344118873, 59892850, 907047849, 761491961, 38530389, 513557655, 670278422, 103477308, 207716726, 32593705, 119083004, 938207226, 183501053, 267659531, 33225539, 160137889, 611065061, 422739391, 773211355, 188845264, 326986723, 312459263, 480738745, 653052432, 299667891, 247816656, 545780297, 146697945, 832005910, 96808966, 332239733, 125514625, 796599649, 548504130, 219847787, 543738705, 648440831, 689745737, 742281555, 360466654, 86343071, 142601362, 126511440, 348917050, 551400047, 668580522, 585311617, 244251923, 121652510, 69862470, 685293764, 519732989, 248359321, 177539231, 944970153, 119842279, 711642928, 815763953, 865364040, 840149972, 362557202, 44934934, 939627663, 725080456, 137272256, 283486931, 91222477, 686153819, 353689614, 394289038, 575631248, 1224908, 238383461, 922478527, 772873838, 44142128, 210844674, 47756358, 270433790, 121459449, 549401503, 411637317, 493599564, 538766176, 809701595, 754787062, 285086411, 973463030, 67059440, 135816146, 629339083, 895423412, 882768841, 723801293, 64558899, 110706004, 189925470, 497430689, 844813, 301342305, 333423876, 871095315, 355916203, 628186921, 957430532, 899038810, 508961129, 722979536, 585281109, 120102979, 823358017, 840994989, 970309932, 480589446, 406976485, 142533289, 904570788, 513846012, 245054100, 169573070, 304840138, 211819291, 623900408, 814577274, 621454449, 691032787, 230112533, 982472315, 25476565, 907537700, 221970353, 557507413, 183172068, 688179659, 961072798, 601125261, 180634520, 834008029, 943117798, 473221602, 909005211, 20281034, 643520237, 214580369, 405398847, 458853310, 14368314, 509873178, 778952644, 529444110, 38547012, 709823773, 113208432, 79613560, 763441788, 407698684, 840550129, 208862426, 971444232, 244137907, 437930149, 438815899, 654536829, 342886515, 405956195, 127300302, 647580665, 134310146, 445176632, 366858625, 664563912, 531944410, 897658328, 36845646, 142846995, 962029473, 714484373, 921837808, 45857783, 364881445, 934004998, 509583211, 588178738, 304213910, 690826809, 752118846, 344455561, 71994960, 375269867, 421111699, 390886599, 303381755, 838514014, 5919777, 659421594, 751822985, 802438131, 113803919, 76373216, 975940565, 86303765, 39875242, 553974262, 461806209, 985455216, 362202750, 524753241, 767750479, 903115482, 123385680, 272910175, 42899931, 616803430, 28605877, 715404381, 793968078, 839835094, 954004482, 57028352, 613542123, 945004073, 907506942, 621065155, 690705551, 930072339, 822279619, 637625451, 720864382, 836761753, 348603004, 518553594, 284536195, 878758262, 280592667, 557152838, 564665840, 906364919, 51245086, 74112001, 444956584, 483428482, 151992877, 209314828, 725217193, 240751605, 526673860, 279700066, 722013583, 176876400, 631784899, 452351797, 204675128, 521144908, 537651147, 237515554, 24457734, 977527044, 209521609, 959940576, 989333712, 400974928, 725351116, 437713326, 257760079, 700271760, 513751651, 278735787, 639438406, 211746146, 638695774, 397189073, 652247459, 429897914, 459975654, 672154191, 829194622, 714967305, 450118017, 707975590, 30549104, 467366733, 423182001, 952231603, 2884512, 432514096, 443245426, 431072616, 241169165, 742541751, 657865386, 324560314, 442077158, 704613557, 734759617, 290755029, 57578382, 962246788, 60769200, 917438954, 251383480, 862451506, 406752103, 452013382, 974020817, 546806486, 481484547, 490256390, 933067002, 279275379, 153687630, 417715878, 566686234, 705242672, 254104009, 36166658, 516082536, 371975920, 952269827, 503682436, 876779797, 508069506, 296094567, 169182619, 87840324, 790378588, 375969689, 751190797, 756783496, 37418049, 415583201, 851187144, 78901076, 7917511, 585046700, 940891933, 557351587, 132430420, 285488691, 899018572, 895921347, 142607002, 822936534, 88289666, 860713113, 568803327, 866272164, 583104772, 404409027, 921876351, 843487115, 433394500, 443331428, 591939857, 365205040, 694060893, 386347741, 911859229, 203319834, 354399134, 532548898, 718131516, 951968889, 90663476, 242093935, 898204580, 221019019, 456287177, 624131074, 476498934, 270442187, 500658138, 586893885, 676625385, 594241900, 734190362, 575655172, 251078249, 936052271, 757668369, 92162119, 523706461, 348932456, 848222321, 650692310, 28543399, 719648667, 838352109, 267713891, 711406933, 856542194, 835342479, 152401682, 738203711, 926622740, 442920030, 816102546, 3074032, 114982902, 936274863, 384261626, 252154660, 125410752, 150602479, 523737309, 879520765, 523605822, 912142264, 962416793, 727550317, 194083160, 301825005, 162706594, 951656645, 978562754, 683760833, 986118100, 464934757, 653760055, 226542849, 893745683, 84042250, 542507052, 980008386, 534257705, 780535589, 289707649, 848400284, 107008110, 578865291, 214304457, 797497157, 171644864, 176538721, 13737061, 462240297, 429242439, 292301562, 18797288, 533690606, 667457468, 535961325, 492833056, 400397926, 757386471, 532890805, 896715876, 812215854, 236018936, 155550099, 225928175, 300618662, 209501694, 879584010, 977780922, 378872994, 202279511, 55602123, 192978747, 483124303, 306920387, 703187505, 792588915, 415134942, 156492368, 195215234, 238170022, 732221910, 965663545, 752479234, 313751463, 307302219, 546220419, 106931480, 193550485, 176243679, 635898544, 440925049, 993941635, 709157856, 778079883, 686260736, 315528559, 58765448, 983665806, 638605456, 437652060, 777933908, 610582506, 305601294, 297661533, 430205659, 513206774, 517454187, 306229584, 364319903, 86743427, 441321500, 523394966, 460134049, 320179874, 932242379, 492744075, 529505368, 399360368, 118068882, 816358072, 62643115, 506468246, 670462986, 531915490, 71507729, 142012903, 366745446, 292833528, 848459006, 192117881, 599077426, 988071804, 13180037, 557878381, 42717799, 661663439, 602396305, 118427309, 436729745, 673902404, 575718995, 149327971, 333238474, 428049502, 574879649, 244665681, 211313863, 144710228, 117521360, 947951454, 627510184, 417347191, 346221646, 571788503, 520928431, 656121046, 829363969, 964160398, 680630294, 163614687, 168578889, 10291151, 824573787, 140980199, 158707659, 687075209, 718303334, 583684039, 670012678, 989417040, 406040147, 213038872, 55373999, 184439921, 392745024, 750497415, 107824317, 595373522, 889456925, 597798290, 282506164, 242282452, 432658818, 421854977, 253753497, 115825012, 872165734, 229697060, 531617755, 977163544, 917855804, 786395671, 995092006, 291618602, 361635323, 626071758, 889808998, 102195833, 808074890, 539499283, 620617838, 542410754, 145632227, 646951293, 961847787, 994387202, 191124400, 770436293, 266481912, 815076196, 458844219, 769224903, 646030634, 611681092, 585429675, 852063200, 347863088, 810699088, 737990810, 254302134, 77228673, 794502793, 668221994, 277125860, 182017524, 358427206, 430587286, 812461977, 592881342, 54726121, 714585564, 541125357, 607496688, 922941472, 214597941, 78401718, 215891124, 469175587, 220928532, 809984235, 682712679, 941979120, 444673079, 805677201, 663726764, 570731466, 38504230, 696539578, 766867871, 668290717, 737556729, 227111815, 436017021, 707457965, 845690144, 716754778, 655086110, 186289901, 130137401, 506816073, 286288811, 320957698, 624333969, 878793682, 977412423, 958944361, 489285923, 808849229, 878561485, 348785902, 115448169, 476071963, 20673798, 642831343, 575980457, 277427306, 228553668, 478780788, 245666746, 936148032, 940918480, 838076018, 517244787, 837984955, 36250638, 138643047, 306968094, 550108054, 754665704, 728479112, 159265926, 26709331, 464512453, 622287660, 145401160, 888048281, 624460361, 363739923, 206153316, 657149811, 47553409, 85910360, 819804240, 786757410, 301247411, 789689620, 414648833, 817475544, 416999914, 774407311, 73335880, 498749504, 112142554, 4697911, 847417210, 544684515, 233370091, 270578100, 948652354, 249745261, 867359397, 558807177, 333623371, 280171738, 958918277, 22360556, 293473874, 915728847, 711478844, 179930232, 866431343, 12597048, 929478127, 349413296, 787544487, 761976322, 160662825, 978081220, 169049543, 383308613, 78738464, 570956925, 983762095, 710646246, 467330700, 526014089, 501945734, 330112517, 50061065, 840900262, 471020280, 11180729, 916012111, 319933023, 940087506, 945131339, 749600576, 621870348, 373559836, 652601028, 12788901, 231481596, 786078747, 299342814, 848361466, 444690561, 382895432, 438730598, 873769684, 56683024, 970282606, 392972496, 992253051, 346011668, 54161332, 30192709, 234411114, 310113798, 325871483, 529887235, 517971331, 400534872, 665520162, 11085187, 666121152, 847462826, 666190308, 294142770, 623692630, 3283718, 43070022, 696750686, 488112521, 191063944, 241244288, 204741590, 809342994, 458120828, 564317222, 976458557, 670830264, 227291215, 764460637, 399364342, 710040868, 449388232, 345889288, 733491034, 803259788, 548810969, 603869880, 716533532, 481297587, 249839113, 116161403, 672802218, 88218563, 738425448, 288074774, 220105835, 628202224, 774170686, 315584346, 379912813, 918116517, 28689747, 74690827, 14879830, 798186942, 871558513, 703909136, 844675045, 338421149, 534523931, 373270300, 121585697, 299952658, 779666864, 454628957, 61786645, 485892501, 548127538, 465281681, 46127773, 529551929, 827215107, 589235104, 15675034, 580350314, 546241472, 946185537, 785856438, 563781830, 791931602, 494671135, 923135509, 677386126, 787168544, 97463172, 119821504, 20180133, 353088254, 852663647, 34765300, 344242947, 749178942, 385350197, 521440689, 591828584, 861097383, 418691573, 290678689, 119279989, 636989066, 104653976, 612482617, 576068616, 469299408, 975902587, 180277093, 387937882, 748220304, 266846560, 343845394, 656969862, 502672312, 161612985, 765260463, 981641642, 103942927, 411645610, 328490525, 774716280, 928485011, 176357687, 433612416, 396987460, 482739976, 582985676, 363973067, 656478393, 413956413, 727909277, 959240332, 172934161, 559837395, 613124852, 253260761, 480079437, 712804571, 868230191, 455110949, 623622623, 157771389, 893837686, 998041299, 419199457, 667382810, 682048021, 183689978, 803340000, 809432982, 381941156, 529202528, 981577138, 65782742, 489942952, 498683376, 750185840, 37905508, 640321975, 837086600, 188319481, 314962228, 209069782, 231820187, 982439148, 202325217, 923775522, 869365285, 76704317, 315456831, 5259070, 703377061, 68311531, 312803892, 781527822, 285512990, 259678295, 121192160, 645958032, 239003774, 258153300, 821087605, 858666482, 351509453, 822298350, 608060633, 991788573, 974170194, 257362574, 351412032, 374953635, 331830978, 448663267, 823240752, 597710342, 824765430, 437644441, 4884619, 351976983, 227083551, 880389287, 360707614, 102870049, 643362951, 36739407, 472513, 10243746, 159137692, 57010846, 114660852, 892339968, 437777262, 202073814, 899932355, 894882102, 129852738, 847573678, 407627306, 865816026, 547665375, 958162814, 291732883, 57125409, 690260778, 620276212, 43901181, 354760599, 862952696, 713628836, 195127828, 427029422, 744613393, 931815221, 745643808, 126612257, 511589566, 849917942, 287600370, 299556159, 510319393, 917413627, 639947677, 426142889, 636610488, 903276993, 249580496, 319690829, 757518994, 197558431, 560785906, 274750461, 80314154, 161003115, 319077040, 520167908, 256549711, 276484275, 528443464, 217399049, 546607337, 298660871, 95705502, 764155939, 700260706, 845760386, 705306538, 515004960, 566704192, 802988667, 389157552, 716549390, 645554865, 269735590, 127882779, 193647105, 7156208, 380530634, 659778115, 684781070, 136779564, 988126592, 456177200, 829982286, 574631509, 868264821, 663624760, 633886807, 52385974, 506420920, 450160909, 401617103, 858455420, 707817267, 468013377, 668555271, 829088910, 200009743, 751211236, 459923137, 238595811, 857966975, 911800392, 242156146, 278743813, 175861964, 789224200, 383947171, 287097440, 259917064, 879280687, 175361018, 408760390, 600914843, 169080634, 303520510, 889208054, 798751151, 191040549, 875628914, 312312734, 514343375, 884289837, 103936377, 471357900, 844656622, 632372831, 654690522, 908986322, 509392921, 235721226, 805108878, 495375644, 71296279, 314132414, 444693246, 751549216, 49505768, 530099771, 833557338, 418731770, 587363017, 626317319, 970740126, 625989580, 42370413, 338511255, 43475064, 444754796, 86890110, 190078104, 924224162, 211465829, 823757076, 518984645, 184730185, 810395522, 441054911, 988162528, 194296302, 120754129, 939642554, 253299281, 554746515, 39995907, 436125513, 916463558, 544956320, 17534964, 891232038, 638941270, 509339542, 517124823, 895098503, 739776307, 286859622, 374631244, 100680323, 741983051, 34796786, 480482639, 890184531, 108927436, 690033876, 446508920, 35110190, 846002221, 126232631, 105110821, 303532300, 915276080, 978165731, 597704507, 845710438, 238628097, 629022414, 126070218, 520923588, 115639326, 960657153, 447569396, 118420056, 510643083, 724129336, 876298262, 629161345, 363483744, 682076721, 321537381, 12244198, 191395166, 179439402, 773321049, 582509487, 915161189, 175056714, 838674723, 110076890, 404237743, 384227636, 379084692, 231842346, 199252270, 927305562, 902900096, 582510455, 660289473, 167550282, 495034633, 52181701, 330397609, 197701043, 864410163, 850949809, 798791263, 455819735, 869916456, 641292539, 959467510, 505494610, 329427498, 47950904, 89988677, 901773683, 320174552, 461103459, 319819626, 973370531, 182342453, 797439693, 15204688, 656853236, 539631216, 897169552, 871154597, 357806807, 603786580, 422137191, 152285319, 258022996, 630671371, 747737411, 228260470, 309594011, 262116646, 309245761, 577043946, 92977101, 913381793, 68718037, 207935631, 264563675, 840667099, 455439055, 784558044, 361313073, 285931882, 585884642, 830310942, 308377879, 536467014, 846050722, 451528363, 793340416, 886877243, 206990346, 916053463, 315350741, 992805584, 313519700, 931966237, 199729383, 156577143, 535770432, 857765660, 901618555, 252913131, 652141559, 840436754, 222380410, 177604242, 722951675, 535501283, 63969313, 600829934, 160006453, 412810280, 518993875, 378887719, 399767098, 590448074, 113934271, 559193769, 403110452, 478298989, 703666400, 313275828, 634354210, 843310057, 276750623, 822952485, 677986655, 743312456, 22997733, 70700084, 768899621, 498749478, 551683918, 326356055, 245489472, 676323014, 91503859, 642734512, 322088298, 384308269, 739209123, 167374953, 417357430, 171035314, 912610396, 222588813, 883302431, 594857564, 249481276, 698195553, 226455692, 407418728, 176837745, 214478299, 695539027, 461773645, 750548536, 93380325, 862269151, 810232288, 160936023, 496976047, 449718118, 215658741, 984300289, 329991733, 383474064, 650250985, 949009775, 938775729, 837329679, 623367623, 717840347, 975397773, 593066144, 797268086, 665528032, 639731544, 816499927, 35388062, 217227031, 80288420, 794842730, 108822902, 130147619, 136055793, 598930747, 658848490, 371837977, 545033219, 982230864, 976142485, 377236654, 702567052, 336087414, 30994677, 257206542, 642404185, 141725710, 469636056, 297272374, 999133786, 256762431, 762939257, 145243547, 448325144, 714660138, 611742146, 251770014, 369496749, 4890126, 375592720, 709703247, 439857044, 601282861, 978380469, 457443998, 340937373, 603535652, 386516906, 836343614, 155381211, 817116513, 995580016, 255527288, 83387264, 178651353, 130762276, 690826038, 2107124, 318428546, 52238245, 434678048, 115372878, 829542898, 215643746, 333276580, 746655169, 678016290, 61543727, 783339020, 101727399, 564246542, 177558885, 70068755, 759740720, 213690664, 512264606, 957629385, 925569695, 836636495, 110121468, 991385649, 300220900, 590753421, 126927154, 133690190, 831745417, 885444745, 644363896, 56704368, 720881461, 317423980, 142396761, 876597529, 95519259, 353845094, 110044332, 41691449, 532760578, 931600915, 137802993, 510315259, 624582389, 638501349, 828986554, 580172748, 61173293, 462233403, 94943543, 851949728, 516241311, 437460672, 951453725, 394996327, 915433542, 403218776, 722855320, 350854210, 326688344, 250291217, 699822877, 901137501, 348349702, 943262966, 745969035, 603091364, 94694965, 207867422, 457011422, 846614467, 891865982, 362054715, 966234032, 54425965, 83386381, 284117064, 2324770, 994416691, 723370068, 127955634, 823597264, 141870829, 757661109, 924008234, 624794124, 217960331, 932759335, 317313503, 735961673, 678388072, 150575229, 200106375, 844773681, 385400866, 875882584, 666270715, 775435256, 951102888, 288720465, 709281592, 982007980, 99498777, 489092244, 930821971, 587743365, 115130963, 28210411, 303599235, 828926855, 826922558, 223975596, 896038753, 643115628, 193145436, 63664976, 181981674, 476303063, 68327216, 45750166, 70575831, 759344443, 501728322, 727590583, 738233374, 40845670, 221338673, 491612294, 621886685, 556684830, 11969542, 186270553, 130230931, 81239719, 533504983, 383829181, 510592284, 812683124, 132577186, 628993634, 687716233, 576368666, 256724149, 217614788, 840389115, 237807001, 267177977, 587552308, 298051908, 424290725, 506393787, 354725394, 972354810, 492728764, 27656429, 442872826, 427265922, 937219936, 797690701, 857993281, 10211304, 543506216, 97591146, 904174030, 161107194, 53574313, 938242902, 554432173, 175099545, 120959122, 999180010, 903271791, 459062436, 812896765, 992133410, 835639635, 764568646, 875152106, 341245031, 48689507, 205799006, 251235119, 519867788, 391119436, 686198653, 38584325, 522618162, 273077334, 697024436, 22715863, 972667930, 18398251, 621831601, 954534111, 546030307, 175021830, 579611602, 325322492, 482869873, 994878116, 966440382, 892310195, 461306102, 982608921, 519196370, 476202682, 410211143, 650483060, 5954928, 77589064, 212924789, 82723561, 131106691, 414840386, 656277420, 957991872, 404439008, 230093161, 615636053, 725674656, 35036845, 964999083, 229843113, 942404873, 936081139, 813748845, 261948564, 264984486, 449615499, 195513554, 164836824, 198850431, 472932227, 670753865, 832300382, 252453039, 915549063, 559605093, 681745575, 994507374, 510072873, 491561269, 915938534, 766259021, 519037699, 631552148, 549150437, 233126475, 849417928, 736365358, 684409023, 955245064, 479088341, 711334468, 549793254, 865500694, 539239481, 721085585, 105068823, 122962114, 541223885, 920788369, 124521515, 870389900, 980339418, 156350943, 533374942, 457136683, 921098458, 88680272, 268113490, 775166934, 685944264, 937137800, 184298499, 184447955, 211562425, 826573744, 564438053, 232135932, 303216824, 507205460, 826721685, 834428632, 548241643, 698160801, 499360450, 559193787, 725719314, 541013818, 458767824, 42346646, 665228155, 265198026, 758020327, 311823171, 362517648, 954473159, 899970991, 961796680, 940054026, 626694308, 797874551, 322199859, 780677995, 292231241, 859910360, 564592450, 383790064, 997921751, 444893582, 246162653, 132741588, 25487321, 548313321, 628675488, 377106487, 1165711, 985680243, 428453460, 161942693, 354771367, 811897017, 75718760, 335699061, 257350248, 597118004, 435790378, 695345290, 507943650, 581797097, 354029366, 932264585, 964321408, 823976020, 991986116, 820102104, 490879192, 776330571, 407672295, 319749121, 301692766, 643997760, 281523162, 681170501, 299998189, 864906240, 93678367, 232650720, 163442428, 241972479, 700339449, 318466681, 600534321, 314515580, 339239531, 376061000, 711122018, 862818185, 714053064, 34972731, 899939971, 51570784, 775452529, 22948660, 343812777, 260323130, 661374198, 323011482, 259577694, 900645543, 464779949, 173790778, 287371141, 645678953, 204852635, 879785477, 565659692, 339571181, 933355866, 966182678, 84518255, 231113910, 435703206, 229505596, 230608170, 294134252, 858025357, 300613383, 732034355, 653083129, 901991376, 183299680, 996064060, 366569194, 795386638, 452706124, 49111655, 543418615, 116183566, 581424024, 443167440, 928347334, 373528599, 304004939, 649452638, 368559993, 874386315, 590062416, 430928784, 992546187, 965586855, 18774679, 56190513, 36108734, 428794459, 445826613, 679102611, 580233146, 850265859, 181490739, 480468510, 42807534, 894576401, 866238271, 256655464, 412118803, 153478870, 12774094, 874960691, 877314932, 40943195, 152805450, 241561607, 444008616, 10542989, 105461754, 644744907, 352928598, 990779186, 633396903, 881968824, 964669172, 548431476, 409248725, 290742494, 898561657, 907967961, 849009765, 909723491, 580600564, 842979001, 220707339, 444345264, 160830662, 554523237, 368826497, 4628444, 27250561, 36802367, 59088310, 368769113, 970586791, 593858337, 633571792, 843977313, 989296981, 564935610, 73690752, 762785802, 223565032, 257006421, 380953863, 668789269, 929305874, 947453791, 801828966, 939649580, 858361985, 571584113, 990056757, 71883231, 883552271, 795197216, 718091580, 813729399, 190335612, 119383528, 549890442, 80111920, 858422962, 970460832, 86195653, 636856182, 388848021, 928201983, 973805774, 610947503, 993938918, 530731457, 159180801, 930348302, 258451053, 290637701, 154500697, 64916123, 382971709, 188749064, 880165239, 53159188, 739815985, 768417617, 789533233, 200097297, 838773786, 407650211, 826304440, 308812083, 893791205, 606792504, 309798495, 214911020, 571304609, 93788254, 518155409, 673208255, 992199669, 244230221, 395939255, 53337308, 883996680, 262049381, 871979928, 977450496, 417527042, 760708186, 818660488, 37830002, 92867474, 214061740, 626152744, 568818939, 619061985, 56777992, 636634215, 246806575, 412360901, 652664278, 76140979, 652397741, 269065646, 799421240, 401861671, 308670453, 103871969, 908207734, 623654511, 563971493, 902652853, 583690417, 836008480, 255008039, 805724298, 521887777, 856101356, 635437993, 646330007, 772302896, 82085438, 326705885, 442672558, 219400254, 233539431, 54448352, 220317493, 230682848, 237154917, 34208722, 962365463, 876526778, 213698363, 839474993, 912739295, 336732435, 981126458, 185794526, 470436915, 516691781, 472066388, 647660186, 613314944, 350009008, 225342135, 44742919, 649132489, 219771190, 179909114, 444906980, 599092535, 919987909, 76780686, 47186886, 107081409, 750279664, 611520873, 826150354, 447570960, 613798065, 50310556, 264828862, 386974915, 877766797, 347455471, 356941301, 450744337, 179630981, 194521751, 341598729, 947377069, 383437077, 117199544, 237850306, 971541638, 682958486, 335609704, 385502841, 636449695, 209842575, 103479864, 488502195, 406955527, 218903877, 999978120, 542945765, 537375369, 348887660, 864387326, 428047139, 993376040, 470270313, 582009068, 941395348, 793935309, 140843212, 666822210, 197178402, 173937668, 24025439, 739984050, 297916661, 819370153, 957079815, 760856901, 322145189, 167019463, 237580818, 970840080, 21590231, 26073427, 350638416, 220464340, 184460651, 701499897, 333816723, 766488699, 53200584, 922008870, 91576673, 758440747, 187876486, 256313089, 181578643, 981486674, 698375368, 20578654, 102146884, 264833168, 951959958, 644512860, 925231260, 346364077, 593820928, 139277566, 831944178, 547589943, 301118692, 766449248, 730254059, 768633911, 609275790, 834723160, 118989115, 57092748, 81860284, 47690160, 557799298, 988024352, 975018009, 743616119, 733378309, 835998549, 644583194, 421028573, 362279917, 527860427, 517046067, 887646974, 185212555, 994459208, 574263252, 470397787, 418632173, 205574671, 869481269, 956109714, 303969006, 523548283, 449314529, 219934074, 316437419, 611255022, 806353073, 40434355, 89060020, 199864475, 883039984, 310392550, 823874373, 156440387, 432545142, 228139551, 752656563, 691800908, 86658424, 365640502, 35901977, 596911817, 724592547, 594829865, 553360499, 189039776, 837815549, 431469306, 129493961, 780143279, 459071332, 929882090, 284038893, 203213250, 584807739, 828680301, 600965946, 915467888, 589650732, 158185533, 37536502, 499189013, 651052980, 391282787, 457109608, 808455658, 53473019, 496846478, 998998989, 265038749, 199750600, 105703543, 752665750, 797636344, 206211655, 32824215, 903108894, 700776891, 501576172, 576561897, 900632124, 839169987, 763673442, 70825907, 48095557, 546322235, 710669778, 833795348, 828530297, 188092477, 907365975, 246153307, 606519798, 512848859, 8357109, 569820196, 910993579, 679524209, 702272597, 832665253, 569670623, 536424416, 297342339, 921911267, 941825064, 614259533, 38677923, 672585259, 84887507, 245694325, 227659356, 277201555, 792880605, 371010415, 989979546, 393452159, 661030863, 487762651, 542393629, 635876457, 316501767, 433834068, 108043036, 328475202, 811790254, 775024196, 862919900, 985639440, 278487853, 400805429, 628275779, 301223552, 471166828, 978119476, 13734582, 574749135, 154145329, 566332155, 992026819, 470828080, 723107072, 560643735, 383800499, 34603899, 252204899, 216542485, 95702249, 958760691, 101839216, 36591036, 654741734, 910397153, 259823162, 31860068, 26474423, 914848793, 383202885, 322816202, 93842130, 693457830, 595411236, 904304192, 667040522, 221210095, 520294321, 481335603, 662763284, 112959820, 960722093, 831885076, 647168104, 30115065, 928251291, 629895450, 466924840, 598207714, 910126798, 430440789, 349460139, 739343153, 637754611, 617995850, 80712765, 641745782, 910585559, 347423743, 75134002, 795348025, 76160047, 3841917, 164898518, 838674854, 875907944, 674023988, 837863011, 4126132, 532021374, 838040525, 17370535, 497682366, 451500427, 992923913, 694353004, 397282805, 911962049, 134812022, 272013772, 488674491, 12843299, 790713850, 843197807, 319572780, 692203968, 788029095, 855206301, 509605459, 945468452, 17286610, 254892152, 775457845, 832014691, 554007201, 829969095, 409552818, 462032857, 467377856, 987435964, 103772643, 145722148, 873215801, 24134917, 68908050, 994906477, 498949413, 816175527, 971623539, 538616746, 582082284, 707667424, 787015356, 672595508, 621023526, 443622580, 86036768, 833300878, 900062876, 252351359, 406821934, 871335071, 57949829, 555906796, 285473257, 644152148, 495254188, 602313870, 859003503, 86334245, 102335001, 465572593, 235751782, 794718609, 907285375, 397725954, 943167790, 605671802, 711213109, 793316854, 595431071, 175823949, 121569176, 486734592, 983451627, 153139780, 265453994, 407132019, 985148264, 64090006, 173831170, 429158518, 875445867, 181928411, 581449129, 927210875, 596976193, 616408217, 647622542, 922344354, 804337811, 350786400, 493660913, 18699072, 377459640, 403330920, 441077845, 552063154, 81789245, 551934875, 20152672, 681144257, 553846304, 155638407, 286552520, 797246842, 8430750, 182184050, 61358617, 803333407, 786187706, 600909446, 113213057, 840176699, 450354224, 966189331, 485431846, 368394945, 347684228, 253951277, 518140400, 768280906, 946004350, 969911793, 611020363, 148304511, 796317391, 566870181, 335096896, 678695953, 593931239, 861695771, 513650258, 705127528, 981161061, 698593996, 433986086, 193192665, 313772122, 316684796, 99067138, 432919082, 656480424, 868002903, 857599728, 494157283, 430400427, 326907005, 430226134, 805089467, 83199670, 350558535, 101891414, 333822931, 929703131, 647995182, 628784902, 974226705, 379737810, 477743281, 866352029, 424394235, 46285704, 34529085, 111869017, 44971546, 447604110, 112312089, 841590312, 963744825, 450599679, 99959424, 595427492, 673946746, 455826415, 978207577, 211093491, 743150116, 674326460, 619500499, 341055954, 25339132, 854438009, 979424303, 424406646, 337729615, 664632938, 35137587, 636579946, 82625732, 297986896, 87639902, 449983890, 198890260, 977208141, 396819259, 826445614, 377579543, 102675290, 105168856, 756925617, 951404809, 502719297, 973309613, 614359791, 209662443, 996769050, 339582555, 278187941, 130706947, 503443998, 257783550, 7555777, 599691610, 688966779, 266936271, 271740360, 239798030, 383576136, 913804068, 484685708, 918000653, 109298280, 964332111, 671778180, 3846150, 46041463, 277101618, 856938880, 893795603, 671470272, 101648909, 716695397, 239898159, 329192389, 354119910, 70062894, 349815889, 951068320, 662903572, 73113582, 126445513, 847862624, 138817990, 432496273, 127244900, 441741504, 524596331, 626219185, 637997162, 922513824, 119090522, 426222609, 395065146, 613263338, 32995517, 465930882, 53912744, 28120853, 405302308, 531618892, 824529703, 618939543, 667913157, 893722051, 220343211, 330331132, 242592503, 775110353, 184450783, 305647177, 572205487, 488380363, 767099230, 951654815, 730057798, 922669636, 109709260, 305613252, 19740308, 783062379, 210666722, 69396739, 135306110, 491609132, 487919746, 283185229, 1138252, 469150822, 152171717, 741478050, 847796140, 56665179, 166075641, 252924618, 848382839, 747726560, 631036496, 976231293, 580251934, 306535285, 38848437, 327657601, 336987784, 365601874, 682835369, 705361183, 960141451, 950806317, 692383446, 664198414, 897120013, 151076702, 323014814, 132283159, 756211031, 125415694, 197308309, 842764192, 738073447, 531911823, 367094898, 942395236, 566838864, 565457316, 162008164, 675539309, 888929449, 975154822, 718227648, 775883168, 493953366, 317064640, 408469058, 604173985, 978441400, 601282774, 399454972, 92875265, 350030065, 534688990, 546893792, 70924458, 670475599, 281742148, 891145289, 235407222, 869839894, 874020881, 556737199, 914387697, 199166756, 681922933, 707890792, 274906354, 540984512, 684117303, 893623111, 304427922, 553328571, 467114245, 299582985, 625207230, 165261138, 628347543, 450112036, 871618245, 398012902, 636024067, 715029355, 431757349, 138590163, 92809663, 52298789, 243078595, 188494893, 466604594, 111462381, 174683184, 509556421, 392559007, 274397774, 745717372, 133714074, 355503178, 839583966, 592449454, 852970843, 880126959, 440500062, 264654908, 984150947, 580312542, 57497998, 990929936, 647766301, 892460973, 192503754, 773593651, 392053043, 461946103, 720872855, 657580077, 744315414, 172977594, 574173079, 940648885, 345680175, 797743566, 116328859, 47505255, 344305040, 976095393, 288477096, 485627356, 658208471, 873959751, 260998410, 748280525, 894353174, 478885506, 978550509, 707832405, 769959206, 404380788, 334441235, 758564702, 189378134, 426412027, 282137265, 222623469, 921499746, 31061216, 684393389, 903912618, 290758967, 366219219, 945672238, 171638778, 965598164, 70654191, 134188048, 536446255, 333059326, 941350278, 326712577, 652133042, 465882516, 463930402, 404595355, 581022892, 193932179, 374242560, 12538731, 848222879, 292326548, 677939219, 663743167, 497213688, 844674864, 778011903, 826076755, 279717255, 880137005, 312829834, 420989110, 172645613, 337853553, 300648888, 448144403, 673216029, 543644526, 898760139, 434976574, 993668861, 23068059, 487060630, 547278170, 574880837, 799811657, 819922634, 262401362, 195001241, 221319871, 451055686, 645098080, 763716840, 492887722, 427170851, 41613406, 83975677, 186471954, 401800780, 721559998, 964823500, 545308830, 283814466, 818925382, 481076691, 777693405, 934090321, 807334268, 959003737, 414252009, 574238338, 671802020, 259530341, 45273605, 903071557, 44269956, 812685724, 774537628, 883512995, 145068563, 954819000, 253417830, 240061038, 941683286, 573548443, 580852375, 140416754, 634593328, 915915613, 124480295, 965644860, 478722121, 691033100, 225881430, 545210039, 775733570, 727690811, 817114781, 491768909, 379895972, 52134124, 117844247, 916087898, 702435830, 439152569, 251701818, 474046205, 762237244, 454242427, 377539280, 702338464, 951299060, 122376581, 849116774, 390293849, 697790254, 892400117, 747066179, 205171018, 622799273, 269411517, 743430771, 915427931, 392608802, 191225278, 406977228, 306979155, 258635215, 686060286, 81467038, 36646854, 278242512, 156225760, 217045829, 653413232, 670808648, 595739555, 307874237, 426716131, 207125695, 853048084, 433485262, 444510061, 487843410, 734128619, 841987023, 119719251, 627274993, 958824735, 673497680, 21050883, 161551184, 254808933, 584223956, 749611354, 859421462, 651328174, 831551206, 195033949, 541212423, 776641094, 749037054, 731552638, 985595629, 675661609, 865349175, 686013033, 405806047, 573186723, 298598098, 871336003, 411834385, 661083035, 332418231, 667105421, 965389807, 962028448, 696076718, 470172167, 446343001, 626491844, 402646279, 120765430, 75910761, 777175900, 567183400, 647653277, 297431550, 172466854, 250821624, 477869448, 380142820, 962513914, 271314584, 427497659, 860041796, 829620057, 884031543, 920096849, 170132660, 645655518, 557960408, 99190369, 588338521, 488741274, 277611057, 287006878, 900509136, 653024009, 344135750, 726312216, 746765595, 834444189, 195968566, 157940219, 579823084, 820814982, 844816093, 695356450, 710391506, 600513339, 157449483, 301026406, 909470698, 86163347, 71356514, 396503014, 38318485, 95845737, 91256167, 318596847, 938190793, 967405515, 414572765, 934460169, 809065666, 53512133, 530001845, 621422924, 929496310, 751661260, 680003805, 892926973, 583921249, 298851908, 682481162, 202456361, 132731779, 920178187, 960305347, 752565816, 523583383, 751079348, 161824446, 767201052, 339959081, 985377987, 603275145, 976160153, 982367395, 851350360, 539886434, 40453281, 263489908, 197772688, 750314394, 623581816, 913862299, 706725337, 736842202, 461731827, 74536780, 235151700, 570844519, 656066726, 994399532, 853080490, 74723182, 259238610, 157497413, 479246319, 432276529, 281093262, 267218348, 289292036, 774984057, 662867666, 493302381, 325432965, 793034718, 949658144, 580830317, 32077431, 256650031, 958910733, 643687403, 198888262, 87541860, 529948193, 23261381, 185352345, 989591339, 662419127, 156945262, 762077912, 700126595, 621903387, 365128061, 308659076, 886821515, 178922427, 212949799, 141716238, 357973964, 199784098, 633951752, 450313069, 80514121, 394242423, 806993815, 678598920, 160449897, 903563338, 488733022, 831442438, 549786038, 172895319, 123388743, 138547889, 45034107, 945314943, 740333360, 33134881, 245570772, 143861348, 319741690, 996396563, 774733123, 527000985, 732757822, 113690838, 370500702, 196343018, 759369873, 808287460, 263668158, 378041054, 67508504, 858515938, 765811427, 359388072, 943832903, 778174203, 5927611, 461252351, 231729057, 127809185, 440325925, 561301427, 965083595, 391055532, 130100561, 68139228, 109707432, 149211127, 35676218, 128763339, 297233906, 564199838, 982724930, 770477644, 363966391, 325601697, 914034539, 204501305, 412535246, 796965669, 6285210, 455770057, 713213397, 548248832, 621418718, 825380084, 580188667, 768869554, 226020884, 18567021, 466712208, 646746497, 670457865, 22598539, 245453466, 207604564, 283574019, 328422111, 36958940, 680494782, 606524424, 600960275, 718289090, 754691108, 126862462, 990651825, 196240715, 758100547, 200432956, 182362705, 434676231, 621035217, 753967872, 816751111, 328387293, 181912017, 329910744, 434268014, 344762244, 292561403, 1146492, 262213768, 85397826, 385137954, 224836519, 540509904, 954628978, 97650551, 903255718, 921558993, 798892582, 656752299, 407900143, 596163561, 642642085, 429603379, 782824685, 825451044, 144479270, 3143192, 853788733, 998010821, 547142089, 399151137, 866672785, 274228272, 251958878, 361080133, 694780624, 774284212, 210111660, 881406237, 771552180, 892727916, 71428997, 727093044, 26800062, 34666754, 715790497, 732328008, 636442040, 159415834, 650963908, 527753240, 781270598, 366469714, 17880615, 287308585, 938836520, 291784539, 20095896, 130023506, 128346476, 646134866, 398298299, 886608534, 313045240, 983776840, 20207562, 617807405, 790229788, 367756067, 476736972, 408867501, 971438797, 638071039, 635193072, 651535821, 735297190, 710714227, 789293031, 560805289, 514679303, 345416846, 926544678, 725245754, 700443653, 152699510, 351279556, 417303643, 777014678, 520095234, 831950676, 493726334, 198471028, 982700049, 11399322, 338016877, 837490730, 827992946, 71567252, 47625127, 237895599, 34154674, 170832829, 376124687, 475929073, 888393039, 229054589, 72437558, 386787538, 168938148, 577759687, 762314713, 97858606, 432740227, 614597229, 777256862, 372851326, 13410030, 248858221, 451386233, 380418946, 56217490, 10538438, 974112363, 2973964, 645922035, 459021983, 682515853, 932853770, 365629600, 36644884, 341854558, 595292664, 85820909, 970555146, 771348092, 805846823, 990916116, 951206602, 672827159, 588810501, 91813424, 495105296, 954466611, 148132348, 58720732, 820197784, 627596901, 491403427, 295384848, 943238891, 562784243, 739405742, 560171601, 56297267, 494011933, 464843563, 407167108, 575484948, 524488133, 320097008, 433357905, 458520721, 599859816, 279328028, 327705931, 758267250, 563005743, 444550125, 72918342, 55790124, 264410424, 353247951, 536036891, 966446166, 861158139, 21325229, 321109593, 296530960, 997105804, 21100380, 868277330, 202826819, 454774296, 196791552, 861639363, 462781139, 167864440, 334264101, 649390132, 486482771, 983660354, 987129373, 780387583, 152379789, 722623184, 123446937, 285342546, 689351001, 162330268, 328512530, 985984146, 880581633, 987562811, 797087150, 470269253, 94277601, 956186904, 98652336, 425180259, 453440435, 650352016, 305184684, 102171337, 987981737, 548072772, 623499667, 480076124, 625180690, 190446265, 245543506, 246857782, 572212658, 129410114, 377578901, 593216425, 719446422, 580331755, 130389293, 941897437, 688215162, 975479971, 723325017, 840318265, 239983556, 284928209, 354624979, 723541761, 94629562, 670595253, 816957880, 570342312, 390751746, 77336417, 67692656, 263277189, 33582863, 756671613, 794345697, 612976592, 20501600, 642337776, 900921222, 519661395, 742829870, 646122249, 73109094, 222556879, 323770058, 205142704, 504743845, 47280822, 646616425, 877155294, 810393805, 444270170, 974483115, 808751575, 240360021, 902989049, 493288116, 928520367, 718194579, 842408212, 704405210, 608724040, 738800726, 274080276, 280273442, 695631693, 121651821, 291135070, 972541574, 713445360, 560475687, 376789447, 205155037, 714754327, 969458377, 322112310, 811714668, 494571067, 757726867, 937117617, 962439896, 203120093, 899553070, 238722073, 756122283, 587628473, 260909853, 467403772, 270453544, 393280021, 653063662, 351387090, 968246534, 329516074, 905753418, 562268819, 897489125, 408869810, 40861857, 680129447, 173772631, 635473383, 102729041, 98589138, 162911791, 726489537, 198715747, 139212653, 220868801, 620630060, 189523759, 688179331, 971020896, 467611146, 493175539, 527596639, 481158322, 183136035, 78942691, 605034612, 654505366, 842630479, 836745493, 764122374, 177797685, 479419084, 945124502, 752502556, 424595141, 828854847, 257846615, 51597985, 341789907, 944677236, 646105612, 190180877, 607230993, 702853459, 772505359, 481036034, 351817133, 647539227, 659756002, 124429577, 97193955, 146762847, 450597924, 223750985, 808967362, 639296111, 856041860, 345770016, 676622835, 875765301, 934133043, 107894583, 490052489, 712594871, 528341100, 859608070, 675221322, 115602545, 928298375, 937380696, 7905183, 18362442, 321895145, 857298695, 289987013, 280152714, 786107199, 667400569, 841754002, 325670761, 826949750, 664188548, 770808573, 545602947, 116762026, 219152110, 209460027, 641018102, 162945733, 305678596, 27722490, 423890292, 580030268, 272135795, 82852038, 664169914, 553480830, 101038203, 291776816, 829628357, 161457412, 963045641, 247401836, 272736717, 281102363, 819855599, 809176467, 328893418, 650650094, 803249622, 57300567, 437508302, 127632261, 903218318, 432752185, 50269198, 719138273, 125136259, 629368381, 215978067, 874848670, 452333727, 62673987, 110472013, 609727599, 860239728, 742499108, 466525581, 153862236, 84178763, 147357869, 288612419, 330794569, 978730281, 77580219, 344642168, 559612417, 101767766, 623147906, 897911479, 193174574, 891100156, 722999945, 473938001, 464318992, 172840726, 798868847, 425481779, 452559703, 451237205, 829272206, 482683451, 200862761, 484718290, 261478281, 653002489, 325412435, 785948018, 485040716, 81540077, 469167660, 664876312, 568642362, 992256036, 160158100, 52272169, 481564252, 470671202, 785867103, 861556473, 506448797, 538424448, 655301954, 603954201, 839706101, 368521006, 427936082, 805622475, 82459549, 871734735, 614914266, 526837411, 453743227, 420814852, 845379636, 913170700, 52089749, 448818387, 506361180, 83830391, 602044767, 375976272, 141052536, 716921179, 458713614, 295470170, 866355491, 95525058, 59246575, 490892580, 425773967, 230960809, 17478273, 825322153, 320583201, 293450382, 584121059, 168753438, 526418593, 259838234, 716018669, 466907665, 12062294, 623385632, 988339123, 508563811, 917493987, 11430992, 710257469, 872415194, 352700201, 72400234, 815223278, 742058659, 201485580, 213866016, 607767828, 97432147, 277164864, 787153792, 846901279, 332070751, 199153167, 403320519, 267504602, 911279360, 18058472, 419564317, 567933899, 410957324, 679421732, 827434760, 414975786, 940580953, 935469497, 821660923, 955372124, 540675397, 583526356, 688348574, 93809200, 957333811, 379057478, 972113038, 543205473, 190191063, 853271482, 720963965, 779302179, 73044092, 839319742, 164678822, 792664482, 719933564, 79785691, 742474733, 569923530, 835799858, 851335630, 668357862, 996235271, 519144719, 137414723, 982675861, 130112179, 773546830, 642248558, 279550100, 780146721, 397467593, 649083531, 743748141, 480249625, 389035686, 32045615, 371219844, 214722630, 172000020, 798802541, 807482891, 809447342, 327920133, 212680850, 621160185, 920934585, 743093615, 183483518, 462750277, 395507924, 374011455, 668344828, 23484571, 373374550, 731740256, 277840636, 494951453, 971268622, 152970514, 816895060, 765847496, 37318160, 680909700, 913241735, 497823710, 898713986, 2659805, 311238266, 199216520, 591527051, 489828967, 899357488, 610957068, 668499635, 31608683, 289878442, 76336480, 496771429, 930405440, 714937046, 899294319, 198634205, 420756348, 395308208, 288231877, 246061912, 260793923, 46079814, 326706453, 787223688, 842466607, 228222694, 17612345, 727839845, 969025503, 73006866, 561153246, 566700388, 58441027, 230870251, 635926910, 784339277, 600808116, 860278492, 279582384, 738825149, 205310955, 286286549, 740376220, 185363440, 592942012, 917494721, 902953579, 328580746, 352512917, 941926478, 292896612, 64324507, 270461090, 436629599, 347593285, 393575146, 497377629, 732813125, 547519207, 302091178, 195872963, 634142939, 892380903, 718126566, 936946506, 90775387, 368666931, 411479624, 13709088, 710005185, 248022990, 930024437, 351251031, 427761766, 281526651, 348599530, 178101375, 680076674, 113313291, 694460460, 272837027, 336210156, 323673999, 193243700, 450015802, 868838719, 564783711, 526764769, 593252159, 818437646, 371722919, 943437586, 395168695, 216402526, 428083279, 926546486, 266072198, 264079959, 127453926, 967970427, 208872615, 869184170, 579517035, 794387171, 679083157, 721252936, 773817081, 21392408, 279371992, 69220990, 166706634, 537179076, 867106859, 251474523, 595918103, 246982239, 612981224, 288489411, 668485880, 170118856, 257147710, 595602482, 480891281, 122731494, 973240902, 959776455, 298141260, 754618015, 567517009, 556470963, 742356082, 331067567, 589163234, 506490768, 203674559, 184835546, 856652331, 394237965, 423360420, 36840434, 754680411, 236832185, 358831418, 703904575, 325689826, 401012604, 104582950, 510434222, 75822751, 300474157, 939275391, 962942359, 54131327, 615274181, 50146028, 756260355, 197028066, 989061031, 928243799, 24885961, 846162522, 827757712, 8446797, 763550269, 206583227, 116542547, 691214192, 95330143, 565147249, 509024354, 263252258, 56180220, 815329608, 92251619, 114069033, 123639499, 23985785, 420810444, 59519061, 919913077, 925546270, 35025111, 577320290, 428723551, 523221564, 532046801, 83429453, 634658498, 969974014, 736258945, 419274854, 696747376, 975215633, 868710438, 653283611, 304133384, 597505078, 164174587, 390145157, 954342838, 700748968, 771360627, 62784927, 517774570, 168047346, 704218389, 130661524, 523317118, 365521548, 844524913, 271392100, 20827288, 871415039, 169424563, 241438035, 295382031, 448805226, 613327925, 794238264, 907263369, 174454785, 670652153, 45498352, 822605387, 448938021, 134885285, 887282080, 30786908, 244035639, 150983609, 292699449, 917423789, 864551108, 349659006, 319348773, 757037627, 733873586, 742880922, 848640255, 678582966, 182478252, 121207134, 519661203, 94989193, 579437880, 901294326, 964473370, 191127631, 417712902, 795195278, 662205685, 988779557, 988656451, 434899808, 991236340, 731682314, 258255202, 923655403, 121670902, 784215444, 770738516, 46284576, 752125684, 949714763, 544736767, 540504038, 132536100, 134019666, 721976676, 862733341, 317778630, 911852517, 923706146, 408654217, 711529713, 26931903, 506703705, 362714481, 983549189, 527384784, 783858806, 369986935, 373674338, 843644131, 552238198, 223969313, 892966005, 872631986, 79747307, 771361693, 79492729, 348354859, 338291422, 860350006, 20392433, 165611508, 970817414, 544536322, 107202811, 869718543, 56749750, 447663702, 652896179, 653564533, 625847669, 789175032, 125256896, 565903391, 355720698, 35735168, 523482009, 362183066, 819745596, 360255004, 252958639, 241621684, 597066912, 546129170, 859475534, 589190211, 601186091, 83310944, 480964081, 142047318, 142766621, 800868990, 493860912, 801575996, 532518576, 212263403, 423481808, 58198336, 906905171, 732926972, 909036782, 810926785, 92590606, 804718972, 8501060, 495330956, 445308976, 271342714, 234552436, 629378892, 580212494, 389086588, 589835486, 599553433, 359502153, 816852127, 599772343, 643289230, 657402548, 693772895, 427055311, 494375693, 643326861, 711268548, 971565851, 607847546, 912619700, 59648804, 901866940, 447777347, 504398752, 456475696, 727030060, 274526144, 844549488, 728437748, 313170855, 23340122, 505873266, 276614181, 391921980, 732790441, 364230962, 571365915, 173707743, 134321204, 150651010, 116969497, 875296363, 733014679, 323271270, 150970304, 202044292, 739692837, 998397830, 701075612, 505324628, 213112051, 442977041, 489025875, 718493765, 186160195, 37322009, 427110109, 128802721, 654868088, 49341933, 163525039, 45996659, 506662165, 796653407, 751669949, 851967271, 308411737, 556186728, 939385594, 378633820, 462740191, 540468881, 844400299, 338242592, 475037641, 416207494, 718300188, 738521751, 499015004, 196835446, 842808819, 920016593, 643631363, 136379989, 521858217, 332026175, 238936607, 108098229, 54960807, 665429709, 679441750, 238045099, 447249366, 659582065, 333886662, 450958974, 751331121, 239664300, 839462268, 532637878, 817998844, 100882914, 765347709, 231476077, 386395114, 258079047, 27388909, 144761839, 888381340, 930659860, 235883430, 406931356, 358136561, 828173954, 543524698, 871240050, 319555127, 64189908, 415639236, 472143622, 953112140, 605368644, 836382007, 974315443, 105060037, 495819458, 627543811, 74271982, 235495980, 851031954, 63639441, 346459063, 343474529, 460233165, 432018706, 322459456, 497570603, 84936787, 703801876, 962803046, 166727936, 920951459, 430749395, 657373527, 218601608, 152159848, 928189243, 269749612, 470097693, 436231264, 219284178, 551170605, 908389224, 225397493, 63288412, 62699138, 588819670, 2344395, 924353371, 396370252, 725816383, 662200156, 799338263, 163934260, 126332535, 265749609, 247994587, 612811560, 549177438, 233116147, 883498668, 191160800, 172500206, 231475850, 865942115, 243760607, 840143709, 964420536, 959128853, 982697417, 597340338, 117133480, 377221158, 975026235, 953670561, 62365947, 605681493, 853260909, 45263918, 309779908, 578192409, 901594178, 946445467, 399678826, 261307472, 93112541, 620575854, 16699900, 658214550, 808714154, 240934651, 216970710, 410350461, 391582192, 473553326, 345941254, 986294630, 679669098, 313737611, 396538569, 589723097, 906497834, 608616308, 911179818, 738714057, 512695204, 731908202, 589761587, 716335433, 487293362, 965808690, 716019151, 516723125, 444219020, 127268405, 579096622, 509271849, 56298854, 853383662, 88630732, 542091345, 695727165, 768116963, 191426686, 268420111, 891897916, 201793390, 25359074, 608553553, 353958662, 410234081, 372515998, 717659401, 563642968, 967291510, 916924256, 126131004, 320460591, 462191690, 657724212, 46452423, 455507204, 217777636, 41520933, 782825102, 477959576, 852529247, 335287112, 770123348, 915372380, 701577006, 563334840, 661232541, 762660426, 360458073, 271794123, 288785358, 191303545, 377213643, 198543115, 980480722, 371999418, 712577995, 528619381, 391856066, 330399074, 904644614, 597149032, 527798543, 600684814, 633077637, 854752542, 222746822, 208558631, 8461600, 528478713, 832638924, 363976558, 718581031, 605781316, 360216627, 302494744, 78198631, 208886218, 400066012, 920716149, 535294844, 84496606, 771438900, 925712158, 912834508, 781071289, 716739331, 978437541, 136172561, 479453064, 620018627, 861400215, 180737171, 736507340, 997660928, 799430430, 18929957, 446605345, 424945686, 665067130, 365793673, 950511668, 956768635, 324653565, 350030786, 308553947, 898131665, 183763319, 416075602, 518478419, 31654606, 230556991, 400857361, 437989042, 326035069, 780688043, 519906839, 351045573, 411104299, 597684125, 437720778, 113109825, 135325233, 628572302, 764704619, 503323792, 4472345, 83413976, 526654471, 161012595, 548877307, 336357972, 127992983, 979877682, 607577107, 582239824, 926752965, 159866640, 37362725, 308571130, 469032561, 177987163, 144494046, 651731823, 997702180, 945105440, 493976754, 249561186, 757192405, 470226014, 271503306, 123267584, 171976615, 465142215, 587222316, 276294991, 578991826, 255289225, 934807100, 901648158, 3654356, 382816654, 653011500, 499668083, 794458445, 809474749, 132736069, 437022370, 146793290, 364828732, 786489859, 901521662, 927800700, 782314709, 352377871, 794127476, 899262657, 550114165, 622773868, 873994077, 878338284, 298836193, 746571380, 813447878, 76750613, 157095644, 986941316, 805743950, 895410744, 834539747, 965225400, 392273848, 140693725, 957295070, 694015031, 90908404, 972355062, 586831624, 189247020, 312288989, 36098108, 667174355, 415496754, 181366116, 169884584, 420774067, 432667852, 236952091, 396071862, 651873621, 343696890, 784179187, 638312455, 808824722, 282237505, 314643831, 569988206, 544933902, 9503358, 520364141, 147537737, 272220419, 115395452, 233219017, 7407164, 294370220, 922507814, 784006768, 453090877, 110693364, 97830897, 130763161, 344267806, 519738832, 834230961, 349128658, 13061784, 15520320, 981199267, 921710018, 620770045, 11142645, 951603379, 262965560, 155284238, 525442020, 387782038, 163847518, 13007465, 129611363, 167278090, 175892734, 54116372, 1588677, 265533816, 408318464, 830531487, 130714500, 885100692, 573728616, 418712654, 592149589, 706323784, 990336933, 812287006, 231356869, 497273712, 359844948, 652678958, 320469140, 504799537, 925074460, 3435064, 115785947, 379850397, 40176660, 218798159, 243319093, 279733408, 178097004, 731329745, 177898306, 404558787, 831258026, 607122403, 816993840, 864038521, 483677260, 332570447, 966668812, 271677816, 2192648, 42657004, 982088187, 7202846, 892841898, 149559757, 713626941, 8557384, 490460629, 842399656, 589997133, 74128182, 391042142, 986473041, 690836863, 43462149, 588708005, 171802080, 701169558, 49093085, 780396753, 940989077, 583153375, 820571354, 427894996, 969296890, 146865929, 298655757, 824353465, 752530252, 996460440, 652216333, 292808012, 714659224, 751260433, 791206720, 36771855, 9671818, 840259305, 97252209, 923605426, 9529861, 606662404, 162956704, 563958545, 278210844, 717257810, 135761352, 984192410, 90280596, 662172362, 906818285, 594420017, 450986985, 391233348, 265095679, 479426663, 89450854, 281694608, 896516445, 127229282, 901878662, 988247674, 582953490, 250252340, 45825796, 970815544, 299913328, 799223998, 76716531, 994991411, 181184251, 683930959, 445138991, 355459970, 76703430, 411629987, 8705724, 41924319, 479319950, 133580419, 81080406, 705184630, 496811435, 257695458, 969797763, 966039402, 572652885, 734582909, 326425783, 159964707, 785745719, 337279334, 618682737, 652299450, 419067467, 925085466, 688369022, 30741430, 841495676, 737842611, 769803048, 99280896, 36704906, 401971169, 471591599, 935804877, 45911678, 102846755, 556049160, 64683845, 826015050, 910694126, 999890070, 768586389, 378239716, 670104761, 317489539, 98187478, 267357059, 549907927, 857667595, 752376334, 471683646, 602194089, 673199565, 810466410, 770477321, 235998038, 355357030, 266510905, 145326406, 396066079, 420804041, 381778797, 656056324, 35583414, 117178878, 60655187, 222821316, 490893983, 357135288, 688745601, 612930380, 947089116, 338133662, 214812690, 883899915, 462999302, 995594234, 479853452, 216337224, 856307202, 271670350, 866212586, 84215255, 192972316, 124282796, 884427522, 591047883, 867193751, 306226675, 619964700, 241361219, 18577238, 27455777, 870959139, 759425987, 300762444, 649182852, 933867619, 935656141, 39490070, 984140371, 664812376, 650453381, 968482714, 711190981, 25819454, 24195646, 930607674, 611799336, 827278217, 788545521, 564169040, 812867946, 772820589, 262036989, 556404235, 188141331, 118618513, 416300588, 740982496, 258884136, 622893422, 351355902, 260781525, 852872569, 807940986, 598488418, 527952652, 386398379, 373988028, 656661118, 770279092, 296932092, 402095896, 599827826, 748135506, 101984875, 923499369, 669741061, 166114365, 346108260, 515870343, 109664507, 967989318, 39762797, 292225083, 756157152, 116028259, 786919155, 179685816, 165600547, 646905500, 119567966, 798365993, 141053694, 59210731, 667532744, 228627013, 34707349, 518751376, 548838931, 550113241, 127053795, 486438143, 687649155, 478267682, 817547666, 525187737, 417447839, 117175787, 294566780, 816890879, 910817677, 111636355, 357178459, 180167261, 344766598, 649091718, 411211857, 159593184, 832891948, 310167621, 818688427, 690416992, 571774315, 604316999, 369724558, 275547530, 549650264, 51613234, 317802141, 857253878, 42826734, 922236329, 408450455, 200352947, 801114187, 704770805, 150225505, 793645317, 933832125, 864355723, 475327322, 857407727, 711602349, 408258338, 638310744, 808865444, 945956861, 132952305, 587044068, 541985785, 737347582, 721214156, 603784220, 600328829, 425043567, 142919302, 243531286, 664436327, 526012974, 343357525, 754691889, 39873269, 82609833, 27079230, 992760948, 490982470, 88984594, 612649606, 576545093, 299416409, 384451563, 359790519, 830087184, 537339459, 15031814, 739474043, 700636264, 591570737, 533478569, 393114103, 637501412, 4536551, 824113373, 887348362, 989081126, 297259445, 379769361, 746033709, 297922876, 800368932, 869096768, 678475106, 242057478, 864492126, 110164425, 353004215, 239673047, 664125265, 755391075, 138838589, 604122606, 237496114, 207822628, 957833008, 597618120, 173413522, 199456498, 545479869, 702073248, 753121982, 64421104, 82467003, 861145286, 296245403, 147130110, 316792212, 269546936, 96745397, 371458729, 424517066, 615248326, 601308807, 795645348, 859242192, 750984999, 586692506, 832128056, 701409236, 87110514, 555821983, 163078148, 809778634, 817009376, 537971961, 657737079, 978215879, 203357205, 243426133, 950181389, 687449892, 733513741, 180714740, 38922226, 921595754, 261344585, 788978471, 276160464, 204277968, 804921399, 639004152, 257225605, 861009572, 255688716, 705590971, 771139179, 906506794, 369082007, 229624777, 547745501, 446424763, 744425766, 106761145, 579813669, 467966270, 192188441, 865615378, 737173501, 484681919, 934818939, 23571856, 451592115, 279192932, 103015735, 467455109, 145755835, 298371202, 337361400, 596829874, 837354977, 777197014, 674881760, 198180218, 457192685, 98688853, 827963334, 862885692, 221325592, 106281371, 42819266, 28676090, 863471988, 316376942, 395738022, 481761432, 828594056, 780748498, 535097198, 248738064, 703900170, 365713114, 87301757, 457623970, 469731308, 508778015, 807950199, 810754228, 614385111, 337110427, 602558168, 625716178, 242440904, 731958051, 946428510, 266240154, 560039862, 40375399, 290113269, 362386482, 821599382, 426668169, 190185245, 950941022, 92284500, 681334387, 685364649, 484378472, 691176588, 699777744, 97336091, 138153054, 935889723, 706661246, 572564219, 250475179, 104242488, 9266618, 509700715, 838465148, 683314276, 792524136, 36141085, 127079140, 22361362, 49712762, 873660141, 786630654, 470989389, 760021878, 53425626, 292953763, 114816212, 313247731, 296158968, 883359588, 739113958, 655455311, 485093610, 706059811, 892866289, 273317151, 399198327, 776545308, 875639553, 223130039, 322373823, 195841329, 89776978, 6723396, 102541582, 130751566, 435588444, 14655751, 951293726, 340786707, 44706389, 350564961, 403517184, 628562628, 292047873, 267427633, 901293817, 235855697, 796740538, 491897884, 321793350, 195660924, 272632691, 922686857, 266067255, 211839058, 445787696, 909979402, 500099756, 12190170, 484204136, 710647190, 747271266, 562529863, 784883823, 190770097, 251146888, 749508440, 491999337, 86068299, 699372434, 328106755, 2280976, 196187945, 337917166, 224031619, 470174842, 416797513, 687581304, 985378910, 576216674, 392480176, 785648542, 894878081, 200332491, 685546832, 805172232, 95672567, 423313643, 757577364, 202104466, 889948867, 16829608, 403659007, 463042692, 512940828, 765556296, 520127092, 742366035, 582613268, 629155386, 187706459, 468566649, 217255870, 941218258, 808700831, 572806698, 678265001, 612438097, 863461363, 429667101, 179148867, 488688381, 485244619, 758937887, 31348335, 796845512, 759961204, 386790558, 215503840, 556666187, 693635859, 874231960, 130646335, 360059095, 806757206, 917021222, 460336083, 370603880, 358087966, 578178356, 716442009, 169410921, 771440726, 444407236, 388757590, 191197667, 338254325, 655355754, 670678418, 986932877, 109506178, 991965088, 930589968, 349897333, 548731074, 346144041, 882403995, 52545270, 903453516, 431536335, 300235193, 636652911, 690583037, 446499230, 183360621, 789724221, 781923877, 951548435, 789086596, 459805504, 147194728, 833294876, 656898828, 85237572, 979855400, 741889962, 335533354, 506032173, 890875846, 538290722, 362558306, 162387747, 241275723, 693826045, 684097893, 432206545, 680314899, 231388817, 472655620, 141030652, 533590986, 291704197, 892535031, 707067545, 898399590, 540352374, 209048863, 732915531, 548606931, 454532443, 388973968, 921316803, 787685180, 716612824, 487047207, 122141388, 16915218, 193612828, 283306482, 233441277, 746482928, 897944552, 244113740, 531522165, 156808145, 886799894, 268906776, 572250773, 636150157, 381433690, 408865337, 658105793, 288664604, 510006447, 710479613, 649971664, 819469883, 347167986, 134240027, 95715181, 416165914, 983099213, 980816467, 673488369, 777558783, 104963801, 360821042, 690886163, 458907652, 852257406, 798875142, 49993253, 491985191, 382233262, 948161750, 390423034, 543845555, 401662453, 76599082, 926083399, 486977504, 394427232, 5153545, 393235377, 59015963, 578857262, 859747474, 19990227, 75245278, 216746261, 278877172, 832021633, 59311149, 964785444, 36608123, 988097500, 650470306, 41150965, 101990995, 802533755, 737482854, 377871878, 678903190, 992519406, 15296340, 552225358, 604150788, 637345821, 789742499, 359584680, 312931976, 479142673, 660309271, 280753507, 709589489, 331308596, 209316338, 736952230, 786274019, 737256591, 280249979, 876063726, 875944297, 6397322, 341640065, 326279164, 82995428, 831523465, 860296924, 842526227, 207992616, 310685604, 443329124, 372264321, 570813814, 156169164, 452780097, 742674692, 315682727, 622411685, 577946193, 600216958, 399325782, 277340106, 276745122, 971418570, 614627077, 614790705, 444675363, 432943635, 675719308, 3301679, 170853541, 4146320, 555448126, 81801597, 206774367, 60608763, 368967393, 315684165, 665023504, 805682284, 423208766, 718992798, 366094049, 339585902, 146585140, 863948592, 249937513, 425579462, 477808177, 214770407, 102942137, 792825191, 671498664, 96738092, 803986239, 241142271, 2078357, 43355100, 759845704, 86723890, 630714750, 241512780, 994640128, 687750101, 710279840, 124616133, 805189861, 700645517, 967102711, 618735736, 546586438, 144320555, 277189500, 39663193, 138003086, 98428430, 1990927, 64088938, 429473605, 600206125, 571708813, 204789971, 42000669, 580375966, 151159657, 942732052, 949235804, 921619078, 87146226, 102341348, 839034307, 687322998, 212141834, 679879340, 80849007, 899687947, 89321191, 611640033, 714256160, 996568350, 244444212, 554557708, 295539040, 812242781, 927936882, 744482048, 559081026, 313487924, 797191097, 812761859, 32749758, 211660848, 959342880, 240872454, 582928363, 201873497, 751401077, 548402698, 751431317, 188217156, 148768644, 87597760, 158245496, 469859165, 991244806, 498375150, 832305217, 60456143, 700924157, 993381250, 360324139, 287574024, 376252223, 577784231, 604065200, 211844082, 244502171, 918934274, 510802053, 888191671, 593233586, 144285249, 88544718, 644835602, 405406844, 778522939, 997549717, 473006442, 284882675, 303026376, 3341279, 235018347, 668374290, 870017232, 432903532, 842188528, 94743575, 795704003, 543899467, 273462045, 15553962, 145881181, 573282380, 269215900, 810177909, 438306637, 145939252, 87129602, 26308319, 573771584, 391981065, 588690222, 720376891, 623592045, 758252398, 35286816, 385452861, 163568615, 890420214, 105180360, 76135033, 729143993, 374361704, 229030330, 590398182, 519725785, 190558799, 91716547, 655303233, 442381292, 852278566, 254581857, 525013772, 841129038, 72056160, 553645938, 43616824, 150556598, 379913337, 48239805, 889381907, 671854249, 766818290, 923019193, 869077170, 434527785, 248691767, 386872359, 522715705, 91553324, 881997556, 221038646, 853126181, 350328104, 760472059, 678855922, 547596322, 888003163, 209387407, 80786267, 620384744, 538764239, 782348461, 36799869, 792899444, 430956252, 950351830, 847328086, 423790178, 79909812, 136862019, 514404321, 193672372, 595216021, 705294505, 448678473, 390171154, 451620338, 340202431, 81167150, 541286517, 488935853, 233982288, 147667049, 178378659, 395185302, 90547208, 866196532, 26693451, 299646698, 420926327, 831068545, 632636327, 676085709, 878528863, 890504582, 635668646, 632964369, 609721812, 92694032, 63770091, 15480639, 615324710, 582800042, 547063036, 330981197, 888189076, 805662263, 997704903, 16005461, 701162806, 515808112, 506868597, 151220407, 454502544, 448250352, 854738450, 114066784, 895031218, 938572102, 147504495, 776566898, 64513254, 797301694, 408998786, 418286640, 992434818, 887396521, 17017174, 248713080, 433790081, 216713712, 606709195, 272366121, 220777630, 551324491, 657452899, 358931488, 266722680, 54089299, 90297049, 319639689, 664359607, 739315516, 818804091, 609310304, 67302047, 188977112, 754198247, 797080978, 367188939, 870222459, 966772386, 972526220, 880851305, 498624781, 580497968, 47915554, 703386828, 607808031, 341073302, 528231977, 445628211, 826441703, 192951961, 382481730, 757102788, 221252717, 852025495, 248802746, 746954564, 13781343, 681366371, 140940730, 97616236, 439333515, 267774504, 363086545, 742933515, 98800898, 982598392, 663311209, 541952465, 22278282, 389757014, 250789837, 278896459, 499350406, 755392401, 483144822, 563343400, 156980957, 310229871, 750478299, 403538459, 266681022, 57185617, 384849087, 757557478, 925663677, 302843359, 211101771, 139403821, 487502136, 839251746, 208084334, 988879343, 449038928, 581327517, 700602962, 12684712, 71758763, 422360109, 979753182, 746987408, 917427261, 267887395, 264041515, 468412232, 681631592, 475962947, 605751881, 651897928, 494073736, 383865903, 42828041, 893046574, 926065516, 495349411, 314736741, 347431930, 644224558, 585936633, 378586534, 350060012, 576306489, 976786709, 298698529, 266444525, 785311512, 536897624, 154300736, 134786401, 530485103, 302023438, 858209545, 730524382, 602013990, 431036742, 948812765, 123430694, 653064419, 574446046, 917195645, 681350302, 40695742, 964486509, 850871260, 912280311, 773886654, 15497542, 339030811, 420186560, 360646121, 566783822, 524366004, 812449518, 291761298, 332016316, 960527366, 247048789, 268506278, 516306172, 791827701, 76121173, 47890799, 872169340, 274127573, 84401959, 721323747, 193051464, 596415295, 1581145, 636429430, 954804799, 327127890, 562566624, 253326784, 327442110, 736374855, 954593506, 64845793, 766112295, 342766436, 692689539, 589416139, 266432157, 414902893, 330795872, 622393437, 960296574, 221345276, 815723582, 385114179, 687883529, 749153718, 647881226, 308740564, 550497450, 830887685, 874942750, 3041743, 647370726, 131508458, 912123647, 157959369, 657346669, 866329996, 718165757, 573886895, 593770282, 443421579, 894681557, 319566346, 598522234, 710943203, 551365193, 915837242, 982147746, 922658391, 528494139, 779733443, 85633286, 396776629, 29631087, 830656345, 655660516, 485981531, 916696914, 543374128, 783674927, 687672412, 326845977, 260214089, 138870152, 506835467, 400186029, 957043191, 598908612, 47907531, 46185475, 61905591, 783777711, 289169455, 514511596, 538053183, 233718644, 971510681, 173687803, 607165454, 303565632, 721307011, 901223088, 21499129, 292380820, 642977826, 278448562, 849584450, 638321499, 459998308, 656563322, 508053236, 900677367, 11013593, 352094830, 981405351, 416101820, 430307485, 790024896, 121112729, 996170623, 293238573, 756001112, 748520456, 9258419, 433515613, 267855901, 277288213, 713836591, 791872948, 506974760, 378838578, 397802781, 892938467, 559215851, 283772097, 344828944, 821808798, 966373520, 92831031, 112377197, 644949516, 57902828, 528164253, 845938570, 956137698, 885606243, 415576992, 317536931, 64275776, 362387278, 720648032, 202885714, 897312918, 24814242, 785828262, 115147499, 889515134, 921860199, 191671012, 800239381, 395488081, 871671570, 206025107, 697171067, 41496565, 638831779, 485530777, 247391614, 363550380, 233315024, 248723226, 740107374, 995272799, 331241229, 739432856, 530770441, 421277184, 935212581, 672206837, 851508858, 475759194, 121272744, 134882587, 423801424, 150525555, 597550077, 406995730, 838807305, 51533236, 703358172, 22072149, 70687138, 625101421, 880495823, 638243623, 648919854, 284201868, 534790613, 854635573, 91182305, 29863176, 821769432, 844552018, 467347234, 991228365, 728206253, 771676034, 271701401, 923587235, 134022828, 778653270, 431926620, 89420713, 141224994, 109303804, 933602873, 402664111, 247649582, 866654857, 920567745, 223770439, 684605331, 94348730, 928601999, 655095094, 800245004, 57214974, 280330784, 869696323, 842090444, 548752727, 429812422, 928439013, 610253355, 338244205, 645022875, 132638343, 84312942, 86551386, 374849629, 291825125, 965167336, 587637548, 546877092, 825076254, 945559228, 356485592, 170097103, 981987876, 70289957, 580560773, 16322954, 959644579, 732053649, 464965669, 294014112, 254476457, 503476633, 102657434, 150849868, 632661686, 326776929, 319356719, 748608541, 839337548, 416154214, 475572662, 533722111, 332885766, 72474827, 804122804, 515050676, 142435646, 486238358, 205894191, 737828646, 787238359, 729954934, 441339889, 334207396, 886924901, 26879930, 104519117, 56601104, 666257668, 966522084, 766682623, 260142523, 936635858, 478531864, 489119514, 213987672, 311077737, 991856447, 598396247, 885515280, 875516749, 841860084, 456248061, 176440837, 206184318, 456844728, 736094460, 790151937, 108479808, 578736437, 833361034, 569634858, 188084349, 650668168, 866202330, 844444176, 920637624, 739887472, 80943456, 759463606, 740024772, 877744326, 904660612, 486486094, 829843617, 963229127, 129792582, 545308582, 806736426, 205592310, 269824468, 504141034, 940774940, 411406346, 84787049, 173723065, 854378760, 141809524, 968914429, 99053043, 336532516, 656751059, 39959305, 621576961, 377400590, 205969938, 588815025, 75685346, 932406815, 45730783, 297607421, 213385351, 734571124, 593905774, 466141727, 326368454, 1377966, 230264479, 868477516, 890284884, 161285815, 531205554, 516945766, 309295528, 521471369, 163111816, 544072415, 979538840, 197274416, 757006924, 70798888, 229301330, 866215145, 588142917, 673556680, 93454574, 734304696, 584364863, 934276809, 937967820, 593646570, 890267697, 416909796, 277881759, 617122055, 848741347, 289049827, 809354595, 458696395, 970460035, 928076366, 364387901, 41930143, 467143071, 948854997, 478754752, 55644099, 880310922, 755911212, 898560471, 503131223, 122592917, 993036283, 741646609, 376261922, 613825707, 303409595, 374168161, 403739339, 752259916, 153391707, 62381903, 661983887, 987808880, 536022778, 157559720, 454490813, 954544342, 976757465, 540515007, 28327620, 906964781, 724292650, 73540452, 534232773, 694830396, 395870870, 428869684, 657831611, 710259509, 510060697, 708258659, 841368098, 961632723, 587365086, 36264929, 514651704, 868137561, 371209936, 20115745, 317819217, 859271674, 767445520, 966254675, 264205401, 629614083, 331890161, 635928947, 305548598, 296070479, 956543051, 688065437, 838227025, 77497770, 282004908, 413685299, 68726586, 693759377, 43580256, 816926141, 702783738, 726624649, 94652833, 854863668, 168229024, 292599671, 992132943, 971795418, 894367847, 643213087, 20663070, 160043303, 786876128, 788826285, 373930241, 6599337, 476948678, 688829228, 669647443, 298746200, 764739753, 729283961, 902527724, 183982532, 154962342, 566666554, 658184288, 472116106, 674731148, 526280245, 864040304, 313976856, 759252071, 960752510, 926434982, 60497352, 227298677, 999545720, 901654209, 109575841, 255771639, 309969913, 104466659, 406204529, 624950898, 564920564, 15541884, 784265218, 711773168, 804164742, 615207587, 796659970, 763905091, 299620774, 458735075, 917111420, 847639799, 490972068, 609681183, 65036738, 2174800, 844791083, 25116819, 549525623, 68458085, 451375132, 669519338, 972523267, 780266271, 11445029, 20217533, 594861967, 204522169, 55242074, 682746711, 606805241, 368770563, 476697067, 98600871, 914769255, 548949664, 854700156, 437888887, 406147229, 723925774, 729719100, 370322013, 206319202, 979084133, 864498346, 698955415, 138502750, 887566058, 632555523, 99105082, 887329431, 46636999, 790000207, 772097525, 79034218, 600586396, 37651975, 30028971, 373179587, 848924388, 890225003, 171677127, 326439721, 576410950, 480006535, 445023250, 35023255, 17611674, 468504965, 635274257, 518921599, 393589516, 770555487, 758764644, 738732339, 949833665, 880078254, 964077613, 213852906, 138007372, 262518258, 30073524, 565415948, 645072035, 368611721, 236170894, 168570188, 163469256, 765365257, 233358518, 141231044, 107202058, 915347477, 934347685, 724472184, 738368198, 130644912, 673849924, 745095773, 407938756, 63745524, 88265588, 879130893, 992767636, 818994382, 330586267, 714967435, 102433450, 476548414, 335230944, 432180776, 372333346, 460820297, 203963256, 188800483, 50663149, 371877125, 626628406, 876983574, 467845047, 92411315, 851336212, 665809800, 160006820, 694971669, 488678850, 446091883, 953099902, 794025812, 170111861, 615174273, 843348381, 98435452, 794346919, 618085775, 19292005, 386399253, 870379941, 733122767, 310129504, 808962146, 269491225, 756041604, 518005144, 393139123, 406506952, 261688007, 36972948, 64255100, 6757963, 113537906, 243087733, 635691036, 426424468, 195055232, 206042525, 768897717, 31018072, 155083029, 172133885, 243782432, 322585326, 217317470, 264675871, 960657509, 944552285, 606123388, 153754325, 498087406, 607371747, 863621052, 259214387, 306533258, 303240520, 635840803, 971956806, 53244122, 456675276, 709446967, 708032521, 892862784, 298099507, 258125774, 482366258, 950860798, 758354130, 488350926, 80007274, 185177383, 433367094, 14192931, 539971380, 457241827, 234246072, 400734563, 763419974, 176076638, 819944023, 714820813, 366692484, 905685196, 507383796, 237900591, 810337757, 810456099, 362466119, 500154117, 522678366, 704870366, 872954023, 574448275, 751428736, 406727390, 247832110, 116781828, 184202008, 35740908, 385095892, 46430418, 905899991, 648854193, 215625088, 89494723, 87202007, 407713282, 736068672, 531254465, 409784032, 898859810, 346988178, 317465522, 599823003, 802098396, 21736023, 833541827, 179023751, 530110745, 365017497, 906276765, 1675892, 385976984, 561257241, 626988945, 727167658, 72059742, 92254320, 215114634, 130936493, 985393571, 844394418, 465163544, 943506919, 516589042, 5015129, 738747573, 82853700, 668540821, 696966320, 590290127, 904512990, 323385144, 639570693, 111268305, 454352505, 634692370, 2347465, 992880217, 701774600, 784147168, 57652808, 362318546, 246818522, 183148408, 678215487, 681938518, 436032291, 203249002, 734285067, 171623074, 742258505, 48547656, 754175748, 815165208, 837182706, 208422998, 351552232, 14343349, 140979411, 40170945, 759905371, 842827610, 408140058, 988524043, 260237501, 322082517, 462051117, 280199856, 79999494, 776253199, 501301814, 141261418, 44849118, 758671262, 18296061, 656259609, 923805152, 194512364, 676479420, 981257479, 131743441, 828746701, 121300061, 383488361, 495820218, 176280754, 477078579, 408905991, 566791247, 79704309, 698436732, 190453168, 921172856, 10217180, 224699591, 307727264, 787777589, 998975238, 797649269, 570068893, 621871650, 35552013, 852102238, 363559379, 716181831, 820482977, 618178378, 887043305, 217843322, 248543461, 548767437, 832784648, 791295926, 14573581, 865382523, 49187740, 536632879, 592651822, 704820328, 131987756, 796699023, 94640759, 770553186, 960615438, 679072431, 833660842, 290665797, 79359720, 256796248, 581989373, 917939635, 27091314, 271666561, 359596486, 535235341, 66426051, 10121156, 611828971, 678229917, 751852135, 54859471, 350927935, 827812927, 539456216, 999571181, 680788803, 313556479, 397564040, 494402835, 59919508, 440208141, 775249440, 252798948, 480803950, 718052238, 264970197, 749863975, 233845876, 177625384, 664537113, 310924880, 354942492, 495962535, 518081872, 924457441, 971446428, 134025500, 397931093, 838840519, 111341068, 934720724, 76726118, 770679580, 938852075, 347661604, 562514769, 409727355, 773261232, 608259051, 111300847, 327890686, 227186162, 956432613, 265128834, 183085102, 381206383, 267293413, 877025894, 710736679, 233587240, 550578064, 503326646, 485124253, 664703094, 737476704, 551455376, 344837707, 881460291, 47054741, 915004283, 115413634, 631108560, 839715561, 557193364, 217336975, 825151383, 391648961, 540359927, 583576614, 357865007, 589639107, 180672062, 114077559, 678806523, 333134899, 286524458, 191188826, 965455617, 553676529, 517952968, 384799263, 242960434, 721293736, 527272540, 699291946, 506714562, 449918895, 631277186, 201261315, 928453741, 712241291, 752306439, 431425551, 463136661, 198458274, 682102208, 364988863, 598753524, 816566467, 54716608, 732506941, 796871509, 268387341, 882897423, 296548967, 441044185, 883841478, 646820767, 575271115, 745223623, 226295643, 530456262, 372525600, 49884107, 212138832, 703845937, 689039218, 641045128, 465829203, 472388428, 935766345, 490903889, 165556715, 56092309, 176444302, 401262570, 471569976, 753137299, 755042894, 306238660, 400953781, 897773054, 989067582, 424621528, 403026351, 648945380, 126744279, 218468823, 500216860, 994476234, 610165779, 43629895, 907118146, 897798602, 54271186, 139413528, 525944153, 731336634, 847294689, 876201306, 406796380, 550288195, 161508426, 340725881, 743772795, 264535482, 434622018, 165919978, 823461220, 515895675, 811196605, 843822586, 413353958, 868486205, 192790574, 282570979, 56645339, 558351921, 271721195, 385167904, 909829151, 725935284, 304822704, 576155212, 393662941, 929136167, 199475686, 669633165, 162783453, 944003590, 614685041, 537177231, 236652871, 513083069, 946875210, 795756686, 800388558, 203360705, 648461967, 36820591, 110693598, 823042088, 783720240, 673062333, 603924956, 960533753, 340927947, 672768143, 325083392, 556688036, 58087454, 618365466, 986810325, 712240160, 336600191, 294431820, 198523204, 295713384, 75361527, 493330202, 608946861, 400400116, 456233852, 258514945, 876364587, 100990245, 104272003, 183779673, 321114920, 566636334, 787084197, 927327100, 876543032, 61076303, 529591187, 308910442, 817424745, 652411203, 529333395, 595056666, 51834058, 160122931, 48329311, 702444850, 325378867, 196729571, 219930227, 523598709, 739364365, 278587436, 668807325, 645393548, 498331182, 398923167, 569054037, 219379939, 664097584, 709314110, 415867931, 359362464, 232355711, 673967583, 911653621, 212625194, 278109059, 906920218, 419058668, 163540570, 528069916, 692466813, 499630391, 113797081, 960102929, 341545708, 129127296, 615573773, 483538800, 814365700, 492839857, 770979534, 405573245, 130918909, 71660794, 334691450, 874161707, 898554627, 661574592, 106352297, 926911913, 124400146, 216292630, 213392017, 341118724, 653932801, 155329304, 317233063, 191711344, 31373708, 485598960, 916121293, 177001386, 922924551, 541386816, 813299698, 962278879, 348888183, 122635078, 660496035, 233473950, 296966865, 270226281, 885594244, 79054236, 137591791, 620285895, 908943031, 523819709, 873407183, 273564512, 372764960, 436650886, 100018965, 9704711, 325880120, 552491599, 944135676, 185122248, 919046377, 667874750, 895947859, 114823887, 859226589, 782267861, 398955713, 204961576, 372236352, 123187988, 648210166, 511706879, 905345093, 582441740, 366162595, 157234345, 887977569, 887109672, 85956221, 135692928, 587504037, 634505957, 993218503, 168825600, 922890032, 481703356, 769832818, 942980908, 905320122, 253593366, 651000755, 764183611, 326234416, 356650205, 377151148, 394691728, 531254909, 646213307, 925638114, 62364300, 45610934, 33770040, 523655716, 945676485, 308081675, 767484582, 214319613, 480690517, 951220764, 834266577, 167012982, 964976480, 929098891, 768920424, 848964614, 659093850, 2279010, 120430014, 70601382, 59244505, 313492730, 565243335, 34199310, 846506934, 991610498, 764597491, 925195693, 690128368, 164459285, 713758543, 904560528, 758612539, 773963416, 44470731, 483599181, 251353062, 242328215, 806410365, 128060195, 903099960, 853163789, 785816940, 708126539, 873272767, 351372717, 249479941, 465678392, 928714689, 599871153, 458804021, 649848840, 397949382, 190812272, 211381624, 966496388, 714294745, 693389537, 463840639, 766681323, 284164884, 198751173, 607262525, 335065551, 653689885, 888061958, 913646208, 47789111, 978440204, 659868564, 35241031, 625533017, 805063743, 161322263, 921007043, 959457279, 703397460, 124890614, 721771492, 863583230, 412217657, 705615801, 891849735, 113589668, 954502430, 431184523, 103577495, 572120564, 69805020, 689881685, 477700171, 660377142, 690958554, 36570313, 440951588, 237424116, 57297805, 952232745, 658912716, 428075928, 348816308, 432330387, 405942444, 276918876, 668608050, 346032048, 266129664, 926877733, 765179180, 836777195, 559333718, 190679995, 822212495, 316667414, 198995178, 703906440, 207324186, 545235237, 332602646, 289167104, 246004421, 710646115, 296648634, 123488601, 15203168, 500079416, 920315361, 631275311, 589564617, 79234616, 389178918, 358098939, 84341308, 998076928, 721930275, 197265829, 512024310, 309288736, 339366417, 344846821, 568500272, 112632775, 184018958, 253886579, 492766342, 248042563, 490263754, 972017900, 903693005, 868629449, 58017421, 451100344, 263590785, 809083930, 636522365, 809688625, 139006713, 529853897, 703115970, 976248485, 574962101, 206626806, 793705276, 689578117, 328148385, 550652538, 804197519, 243813652, 185025748, 560483313, 716015589, 601590979, 440919253, 284969700, 516815289, 572019217, 485470832, 294281501, 273499048, 580697592, 510014862, 412214929, 700602157, 799929951, 892194502, 197074290, 808698647, 168681015, 860910970, 588275064, 192985541, 931274417, 732702747, 148173329, 641686634, 841263962, 786677041, 279738949, 241070452, 198661941, 482240468, 109936228, 827988406, 875688786, 391249183, 257839315, 242245405, 218405286, 485765696, 25962692, 746964870, 134604684, 471452401, 525694525, 566640455, 639360442, 688041170, 318687729, 356451112, 264966544, 392241684, 577658846, 104323308, 6022818, 361196422, 693490591, 772019408, 157023537, 235470807, 8670778, 155947631, 547156866, 303594678, 225217432, 170168465, 975475420, 954972553, 789167734, 310681497, 172246076, 697410479, 868287874, 490710260, 942411847, 157772993, 28790162, 237706616, 786163903, 917342024, 513632428, 254477849, 356616900, 233210926, 849730430, 968486512, 297736601, 805449444, 738155233, 705532220, 289778706, 423827826, 979629940, 882755701, 712705313, 855528384, 635153770, 278469265, 574525165, 584917681, 774253252, 383537729, 48825647, 687174396, 666798090, 441449351, 283685364, 435992037, 954629430, 745247703, 792945197, 827244243, 641803705, 790898740, 220491856, 727170972, 969501633, 701635619, 511800081, 419802312, 791218084, 745487047, 100003025, 674293045, 449338466, 336857841, 201880799, 834716797, 617142035, 304971087, 767730255, 69421360, 858952862, 598831721, 472038440, 88612687, 253383986, 480373062, 950581305, 453012702, 954279879, 475469700, 87625205, 678684314, 133183199, 400417167, 60487644, 907680517, 301390910, 460225306, 527163651, 546487875, 186723744, 412735511, 890490706, 525723847, 52487613, 21386682, 252725737, 526501010, 684537377, 903881343, 272950315, 685420700, 419511088, 93802259, 923809897, 301276292, 165484883, 756476234, 269313599, 437606946, 870234512, 435072016, 321911074, 497112239, 838911097, 290599418, 483137484, 587296014, 678370283, 336432469, 782365781, 208046293, 813895658, 509018068, 122169096, 740407543, 983948073, 370285839, 417801968, 69889081, 920600832, 47494512, 590213029, 983886733, 696012646, 578043956, 100661885, 30913121, 260289527, 910403709, 533861578, 595403575, 328672926, 558196862, 705497938, 95945370, 257606985, 661637821, 73116988, 227679921, 856305298, 653332098, 210641656, 270471253, 478837968, 297180804, 398145588, 657458367, 114464396, 175152312, 79990874, 926972617, 103728572, 534776307, 40805874, 347905399, 34378755, 575916367, 90330911, 578526665, 43592340, 45154459, 1164219, 392893426, 260937521, 724775489, 87186299, 486480038, 308546193, 955092556, 557414456, 137216307, 960382391, 50705064, 157430531, 605263452, 161701118, 695280176, 702428247, 761294859, 347698903, 755858754, 946525301, 584098184, 692599518, 106466503, 507957908, 383727804, 317105958, 174638272, 113843240, 46195074, 230053854, 624269069, 718284574, 456339399, 828024618, 951789284, 510827345, 82842269, 517373829, 861897173, 670605006, 483219194, 430536886, 941141334, 316570773, 376552641, 787187570, 341364389, 259061440, 190500016, 986252695, 292140490, 344057460, 366919458, 859131847, 516830679, 989253378, 744900139, 297189469, 652152446, 949960678, 862108214, 898205727, 911928317, 122842906, 990746552, 924501660, 602098485, 372762315, 633278218, 706388496, 742873207, 657662486, 339091166, 408586264, 670379199, 650275724, 454914205, 240846430, 102961605, 746834522, 376415991, 871717682, 820072863, 553205211, 410106459, 174192809, 409809295, 323068459, 416743055, 698414231, 516114059, 569133343, 357931763, 485746622, 761078255, 14012536, 650291492, 234681983, 104059358, 374213736, 56476857, 896513837, 754582157, 580500989, 278265795, 462228097, 195263075, 229640007, 871266846, 225885287, 513564027, 701428882, 798923938, 108577642, 445111988, 612457230, 699978733, 629210964, 384170735, 289011934, 176437476, 299742621, 108603626, 213785632, 349193839, 32122702, 659004923, 659251045, 768523775, 524354627, 10198920, 285604042, 565068667, 565871716, 656299751, 904359643, 882673733, 286108102, 706811439, 623721897, 997565620, 109658534, 172556130, 729482630, 399644774, 717736876, 986303558, 958518013, 654555397, 86665838, 215742294, 920952674, 669611896, 874571005, 496780096, 829596456, 942167612, 82268696, 620406422, 682724513, 944314266, 736065081, 785698879, 37486688, 121083356, 536218785, 753832396, 775303732, 762076798, 333815845, 998553559, 591247576, 980564520, 49388223, 290665089, 786532370, 368766601, 427207537, 480224626, 121992231, 679517828, 518639641, 710811860, 644557822, 936229406, 167040436, 136782080, 392264068, 469668312, 913759466, 362620538, 972115461, 328890123, 850358726, 392928544, 883447823, 893966745, 122920940, 532260985, 351056355, 501781612, 160069940, 987239913, 278346404, 986368912, 146912898, 74885572, 434350857, 575643049, 798213067, 791603840, 799848531, 369859091, 508945303, 159641178, 668364208, 971245401, 487094526, 386023131, 699785594, 742266463, 190120352, 102187014, 373029384, 303735301, 864802047, 978649375, 810980181, 235470112, 865264854, 999019093, 502646165, 288768504, 602012701, 569951831, 615347252, 677853805, 990056772, 881198915, 586001312, 624752085, 291572557, 764607247, 458068715, 667776466, 808335427, 707322586, 982604521, 344430060, 651412147, 731137925, 387672245, 696974228, 372411586, 204243176, 695911364, 273160704, 765235648, 67175088, 340882546, 879845579, 925589906, 228601209, 110485971, 745772842, 945315337, 192394869, 17476996, 530469144, 157937477, 816683966, 511107561, 282488782, 941236354, 601328343, 80925919, 420022037, 564174806, 456206125, 894304265, 926801473, 488091931, 127173446, 622761196, 653727777, 86466568, 593237314, 827576108, 971657063, 891698147, 935778886, 395302529, 85167761, 932044614, 431124262, 974002360, 89827689, 445466852, 359673617, 83929506, 656862942, 955034798, 77462698, 901874085, 310371524, 646158211, 990582703, 412676742, 373794664, 196476734, 118879824, 520316847, 703253437, 35428193, 652076786, 491854430, 543142589, 969729237, 450245937, 912727485, 41613595, 584132163, 293050230, 337579393, 422278192, 823624333, 189187675, 859322836, 464979036, 806904501, 822794256, 89341795, 971262792, 519183420, 119101601, 176646276, 628635896, 402734130, 919077377, 581249307, 855905948, 681239388, 950108792, 69692856, 391487961, 792290465, 801361171, 455542783, 756929561, 700432791, 532815599, 895872443, 318277031, 611340900, 961665447, 68661405, 354593131, 23240647, 351991869, 155821964, 301394435, 432976305, 372502271, 24500018, 12104670, 659971975, 249783041, 845118066, 249341623, 867345759, 98325832, 610276161, 604722409, 804441599, 956634940, 757978072, 121541034, 250490956, 819875125, 7219381, 282128763, 561687624, 236073704, 272303390, 878040729, 403415666, 379556420, 294265849, 373596787, 756846875, 170880613, 223843848, 542087613, 3758598, 333885366, 852803186, 769829681, 141983989, 582010466, 780164312, 3559495, 699841936, 164532652, 926673701, 478738818, 723115102, 308186538, 774532605, 824758075, 148061440, 310647157, 881858688, 387284501, 300430693, 786519804, 522474320, 310721087, 189332615, 927267461, 118545176, 387811207, 15407205, 14954010, 242172909, 85588312, 523111799, 489412294, 853894507, 237660832, 645330031, 668531213, 112129958, 826416062, 899502428, 104577703, 457648589, 340945353, 35743373, 160736246, 476824124, 724444461, 785903858, 183086192, 957469940, 516417051, 214339249, 211306312, 43420913, 95530651, 887826645, 471565784, 161289672, 434848063, 623494230, 195154682, 572864521, 953587495, 511357152, 893312866, 360762699, 965566423, 658817321, 337462390, 777059785, 72968282, 433971145, 707762391, 195802460, 197561627, 567742205, 792392966, 296534741, 289593713, 91923791, 168618182, 291247625, 188757186, 749949373, 45025704, 193705752, 493847660, 861342866, 435699006, 276388663, 561564588, 63832703, 292343684, 154640084, 633791707, 915913699, 440809390, 203622927, 498249787, 287273367, 655622187, 732552254, 344520181, 951756552, 566241356, 348501995, 562993702, 600450883, 77313572, 617143591, 968613318, 15539190, 750279186, 690613139, 370105969, 513066394, 2708739, 83572621, 881343298, 709455822, 754590050, 685479989, 655853316, 328398689, 103579707, 961156658, 184067194, 193930512, 105219277, 242392504, 306632261, 75079297, 968483101, 316531447, 902969657, 991110897, 467361127, 534788479, 427839832, 945776775, 510040642, 744802281, 354288218, 351534548, 155244016, 773938087, 556228185, 645378495, 504463552, 238482357, 323214140, 289351290, 620699449, 55287575, 877716782, 858178042, 45880134, 914156392, 927209669, 20195133, 707988531, 142315396, 482917062, 402898663, 238948474, 728762555, 757973086, 959418113, 66464145, 555705094, 456934541, 278769188, 733630603, 951773166, 846539670, 121813591, 463210375, 653976947, 895550985, 176455085, 797921440, 271256483, 961274680, 775746620, 933428944, 660334928, 568555057, 908112988, 855116169, 940108866, 726445985, 763705213, 412987231, 98249144, 248505533, 373261720, 231410637, 75162719, 42757859, 98013758, 74648931, 899152470, 754297569, 924297761, 185467426, 140651028, 218684239, 357583722, 729719198, 118585989, 477233444, 351427659, 341805648, 244702179, 402821880, 173773132, 117216616, 253683771, 773062837, 764789310, 474434915, 65374321, 759398829, 730330159, 155570200, 460361196, 998107962, 420646811, 448824805, 538482632, 607622079, 587406639, 207379531, 847738250, 71960591, 611818254, 741555600, 426618095, 76054701, 995838080, 102602683, 831697738, 680785538, 817529575, 266876569, 652930763, 298480832, 892183842, 827131772, 391528645, 678609868, 909201739, 632422668, 518544825, 211891625, 692392370, 197847720, 786559094, 476641886, 554346946, 140619673, 299521085, 892560022, 45217878, 689984066, 338275732, 803549657, 883131799, 510111388, 246233267, 27839825, 962011173, 251972771, 657917094, 214848170, 752504752, 706816534, 241687370, 493002622, 521342704, 627003892, 839948638, 559014386, 611303468, 586159186, 425348117, 700697106, 897630559, 451936830, 851239614, 943819764, 189072895, 124977432, 454865370, 323312889, 512250254, 346527877, 810090967, 234876406, 196089052, 252254188, 953948017, 260482219, 866916432, 81187353, 581682810, 191257805, 190280135, 957540941, 702185796, 7968507, 240829849, 184772743, 132926125, 874366842, 761269750, 465561494, 613603311, 36423257, 708986849, 941817152, 367593351, 357120720, 468733619, 648090791, 109836514, 415934006, 48561285, 982480521, 71292191, 18868271, 366388215, 942984366, 294760829, 791691330, 885533092, 827989719, 970406702, 738615470, 378717291, 944679029, 23588158, 591678032, 444969110, 773065007, 301631039, 567074652, 958874632, 683046827, 617748313, 240258358, 999616253, 612426227, 852447596, 962467457, 438554345, 661906278, 973048542, 393813528, 238138835, 821358293, 235826576, 461985077, 333406988, 157623704, 844631040, 468048702, 430082247, 111521269, 341661709, 59377014, 261355718, 562897855, 430454408, 880511531, 513070935, 141357239, 194009738, 340898349, 798824650, 951802171, 583723445, 60891704, 812046656, 180875496, 126870534, 239035928, 922479582, 140068126, 484200739, 551954160, 111417036, 18762765, 881924582, 207282091, 967341192, 462772781, 755809990, 79841987, 244561685, 620910092, 614319934, 629736706, 911626120, 418281365, 61434739, 383414262, 394567688, 712223073, 575782008, 184316283, 844738479, 633840554, 744296641, 348377105, 784605449, 104096421, 445772967, 594385459, 834964982, 904331465, 333034705, 481148705, 892565725, 631475135, 589780009, 429525185, 623594267, 265775166, 981660074, 391462954, 212248515, 51213204, 348515321, 606258094, 589738759, 167653169, 17455750, 292367548, 244585534, 552398827, 391995721, 279807529, 12216570, 726421352, 260553717, 227155002, 511672114, 444508015, 525797385, 281763954, 996676105, 92552641, 404278952, 780670269, 652175043, 452659798, 833692867, 377939064, 756505483, 889443792, 456633601, 569743114, 172739930, 285070143, 567395645, 604372302, 346149277, 625133117, 291631731, 862721445, 889589834, 545128368, 454698648, 464947027, 545684775, 327839302, 909576807, 944902040, 496100966, 628629675, 380610351, 202186833, 16096927, 970922794, 162110851, 578397816, 658746714, 554214543, 982736626, 361979353, 707902908, 408879952, 962762185, 556017634, 913914444, 568280859, 346674208, 295547621, 384976930, 462208019, 107758482, 544106872, 876377117, 451749072, 32837661, 193609400, 840099254, 968885291, 818727828, 980698826, 706936152, 441368848, 349123337, 968439368, 387077009, 914727505, 840839836, 319707331, 19970074, 299189253, 32033444, 808743816, 135021700, 491518289, 348330368, 995911526, 946544212, 896337947, 401625364, 313668202, 659018308, 677356599, 232524299, 34039694, 244848393, 186120353, 388358848, 7943525, 175315804, 937630873, 932313736, 591994307, 896332369, 539181852, 545244229, 682779905, 24025786, 367278737, 730070220, 159786941, 808038140, 301728347, 274882458, 142365121, 318108822, 545396892, 711922163, 64866206, 268724861, 521997314, 841974523, 456516107, 800997617, 723628379, 716200852, 169684754, 279017854, 420776182, 422591908, 894885272, 673381839, 320468257, 795966953, 17373919, 850921242, 651113265, 100255954, 99961878, 11226567, 486839599, 705603974, 400556684, 309139027, 954652034, 304902963, 152571830, 783177796, 548094356, 672725975, 451828693, 237187270, 111319042, 959325839, 180747948, 857816981, 627860107, 532437137, 221659832, 398313094, 787009565, 570491678, 175419061, 503788086, 892323230, 557531790, 539990384, 871498456, 245380870, 750230589, 936576172, 768778573, 795648281, 55716140, 890262675, 945001199, 785632234, 533417488, 94393475, 323033665, 148374373, 819749619, 120892363, 894010387, 378871397, 959717069, 924990233, 569501206, 901172100, 890001370, 90007806, 240811135, 432201364, 513614094, 464838388, 129710459, 832645929, 91145406, 291324207, 909438073, 399103153, 315542619, 755500157, 190266408, 93812103, 184808226, 288100550, 381678179, 956124173, 217830468, 862308669, 477473630, 614618170, 388772413, 983457869, 631666334, 187852373, 569448067, 116995159, 323024668, 856723857, 27906269, 654414592, 745157237, 385485541, 698931962, 475372105, 793396476, 880862798, 909752668, 560854481, 177363704, 265275437, 741277679, 351866325, 622580475, 105177305, 914588884, 154040125, 146194195, 219018327, 467813771, 855616249, 707329001, 942961840, 604021344, 732770843, 584100194, 795714535, 934374282, 749729846, 531583303, 115989389, 460618245, 582487483, 506256216, 565056282, 960778142, 625420134, 213302151, 462475857, 719507046, 448468510, 223724198, 780885579, 177301514, 819391520, 588874425, 881197765, 731167115, 465587695, 619596415, 900320121, 345309792, 713635241, 95834825, 140381213, 930024019, 816022970, 254012697, 114083323, 736022040, 561823318, 620052112, 210389648, 724295229, 447080586, 938941894, 117947222, 513543306, 690338898, 787397244, 57724817, 510930735, 624244286, 54213108, 599573442, 378698973, 585855379, 595852107, 351085597, 101752407, 983188261, 703597483, 366413539, 706630538, 443793248, 488715992, 477677077, 938122516, 868452943, 429481754, 119467033, 389834441, 977134211, 35418113, 716664180, 902713346, 922118473, 852048241, 716719741, 965119434, 30982429, 708910205, 965089014, 866058561, 789686002, 924390667, 337395618, 311981082, 560838839, 735872445, 318673902, 931852570, 380567877, 331899644, 970842734, 385796758, 157078532, 662067640, 377445021, 779797445, 542951050, 325561379, 175293354, 665285559, 525272917, 820243100, 667640223, 95852540, 601988768, 611218277, 81430772, 458802068, 196786882, 632275174, 195506436, 137644728, 979013312, 615299024, 521090137, 919399908, 72609140, 153519104, 744857214, 50342760, 57634964, 794336765, 338221608, 571359869, 101374524, 181412312, 184511907, 905136502, 289865806, 661991439, 918447595, 525874600, 560805965, 717269310, 271960256, 28105029, 862303757, 997107032, 658603578, 434930358, 633496914, 192636584, 843185488, 108835278, 954398294, 722693926, 389182417, 148315840, 314971843, 524590711, 276158303, 832110559, 17480693, 132741538, 806313705, 271003186, 870567766, 987305034, 581036569, 888552328, 301539231, 116632192, 200419885, 606551067, 592806136, 357333809, 787748636, 118847115, 772590655, 724907835, 86190311, 87587076, 333825523, 129902757, 240028167, 209392172, 927010556, 721169409, 489984472, 771464602, 143309981, 562362062, 375858115, 874305390, 352834503, 972328823, 198429940, 632554993, 381503464, 776185632, 262220875, 862231193, 313423864, 444639957, 323267926, 934385705, 870172386, 33621206, 391177560, 580985103, 194613569, 543192681, 75208436, 76283888, 807510042, 377110339, 199993770, 264652572, 701062493, 759916803, 856297981, 119381280, 104182471, 787290466, 411109779, 582474414, 501778447, 255042617, 85250349, 146149570, 115667812, 353453359, 748151859, 171308819, 257959590, 59166170, 797886373, 792561574, 488840710, 312727015, 381749789, 316354001, 251474001, 662983953, 971190873, 357229417, 948343521, 910911400, 662364703, 862860565, 787109694, 713460357, 931009127, 595426869, 458636627, 626867165, 151407418, 163567312, 384110016, 373440866, 517627938, 387148556, 226865721, 368614746, 609592725, 212722239, 284984024, 817094194, 348065789, 54028794, 498063190, 197102819, 839830, 434645653, 881572947, 19586764, 489781720, 524735916, 642415993, 457020285, 551288953, 982563241, 589772012, 303238034, 176418386, 384028236, 724989963, 231937664, 294120994, 988343640, 456296928, 12177883, 753244555, 717884625, 187605174, 311887034, 464999442, 315140983, 691187102, 454563036, 111739813, 337364676, 210416022, 110436871, 842764289, 307616597, 935694621, 945190354, 221612092, 227510530, 772079787, 876700488, 969356513, 527271628, 325816883, 768359008, 118133489, 891442640, 345850069, 844256930, 347761293, 966426, 299373392, 568383440, 695344042, 188109157, 585700284, 457181672, 39365981, 482855463, 502935079, 729533977, 294105889, 237364917, 637823528, 198955263, 801835199, 200025006, 976647647, 601602547, 13896849, 768825383, 599714766, 466059819, 192649173, 9916041, 706751384, 934862987, 740816072, 8314592, 705283828, 95719152, 608285891, 354287396, 380159276, 268754044, 735454238, 616108063, 490973931, 740478549, 87326644, 827805890, 26462068, 68468457, 603874371, 838492841, 589589807, 868887620, 65783051, 666997508, 966502480, 61796928, 276697039, 370240645, 530599495, 924592786, 147786655, 808329818, 933104874, 342703460, 860791259, 111880709, 714140709, 573502103, 362895145, 510923653, 137503757, 263512257, 181166102, 797557223, 469381630, 178529316, 115200114, 494702654, 609884502, 489515671, 225276743, 722498899, 392872627, 560950178, 668289635, 596548701, 362038891, 623500946, 326006223, 377686718, 628911117, 409078919, 397357012, 59213801, 652111708, 102465733, 514078460, 221559985, 195914506, 441459185, 739305711, 970971732, 977194020, 914179572, 831374774, 884164693, 353698735, 507358256, 463141641, 222757838, 306590549, 502413869, 593865600, 154325623, 795097061, 320597426, 366311069, 467618048, 141518896, 767751240, 409068164, 432698329, 543243038, 287294137, 490329509, 12246302, 643365932, 644795023, 218375036, 844803868, 238405728, 450934119, 908244085, 998148515, 131503560, 621267716, 553432596, 570340295, 197347569, 94021000, 625503404, 415045459, 103692436, 882039244, 839860579, 584457276, 310413807, 737757802, 547421588, 127441091, 411454419, 195796338, 689746726, 94015209, 64706441, 772265393, 433078276, 386177984, 45093358, 272922599, 598576446, 940810562, 364367687, 977776649, 395236663, 358205761, 735124048, 351780663, 540613872, 772324284, 285687462, 940341309, 263216354, 775914108, 976779600, 347249844, 309668714, 430298111, 102936310, 835092127, 232100170, 365698372, 946721015, 777342585, 884253931, 717206283, 696321556, 808821479, 537359886, 698521080, 31246972, 499691072, 588270451, 931977039, 460351779, 161498982, 950682827, 212880806, 485846112, 838386911, 753993508, 390003120, 802518706, 158283710, 962053094, 125565594, 737168161, 295429018, 250015889, 645303847, 852683731, 110940152, 378132105, 791833796, 261171884, 116597182, 909429543, 773452974, 740908444, 902931945, 94761146, 154296262, 929296690, 611936825, 43285286, 221771001, 944676285, 157417147, 339753764, 970973952, 212469624, 931820455, 613972596, 997037541, 445414555, 194765209, 841939405, 609937131, 184397646, 483107815, 760785386, 288699075, 86383013, 893318505, 297855095, 521906179, 952975845, 129824656, 894309172, 993817009, 824661889, 889627776, 193639549, 406081347, 358476109, 574248213, 169606392, 60268622, 415525969, 235137061, 509663429, 511303940, 241496622, 108467197, 692034326, 429960941, 16458699, 316769090, 671758549, 229879504, 611362438, 602516675, 966870919, 293326324, 153307168, 852310322, 892349714, 258855567, 791954913, 338906902, 16663614, 646654600, 43457477, 173568636, 976002912, 673259359, 960216419, 202747465, 388475241, 336036891, 145855320, 484767784, 535198048, 667912426, 790029822, 151495798, 129205517, 396203009, 733062422, 449381471, 184570027, 384566674, 626828701, 198753635, 496052202, 132212595, 493903515, 871318644, 128758182, 29004150, 803769358, 441662054, 899728065, 727254146, 771913825, 928538583, 72621788, 161229573, 821806908, 458272787, 247847754, 563527849, 326187389, 927344282, 419051905, 206592649, 483347544, 284289176, 871202926, 696042336, 361242663, 735638684, 85042505, 965484794, 116293754, 99704153, 863642949, 752554251, 57141415, 261720834, 490845647, 696388610, 101269997, 889197670, 747573732, 771232622, 129616160, 442767757, 946840300, 460047144, 194612885, 955412049, 462214816, 371790571, 633666700, 484514381, 885842247, 417767925, 468424793, 395502503, 376920723, 327432821, 202567546, 408419875, 577836463, 119103679, 450240799, 714386803, 715428769, 881138229, 353002525, 767245681, 478559030, 553400198, 505127375, 611355581, 897467604, 927278756, 864715721, 711473510, 318295772, 46961985, 768742624, 274558955, 403023126, 395594883, 331815005, 231544374, 645205938, 335152978, 739428299, 840799471, 71198607, 814614052, 703704251, 879901617, 843117982, 933759369, 510452958, 854342028, 859651876, 91146086, 861140326, 318711264, 415945301, 293672665, 63510441, 315535348, 903136294, 381998826, 5562815, 720470247, 381294816, 761247255, 416182149, 539190790, 757930854, 519964953, 912135445, 551066273, 730364300, 311186629, 943533951, 183322503, 505968710, 252465070, 266021868, 36718999, 624870125, 649298473, 398755928, 532009993, 230552472, 402530761, 262744890, 162348912, 731478600, 781019350, 341273056, 514310151, 112760516, 690874802, 490277437, 261660332, 720943932, 270464375, 533216189, 562579259, 356582744, 514443988, 693009230, 749898107, 573492719, 46105316, 882827804, 194497155, 696235798, 943686141, 748393625, 102152059, 592016800, 206301766, 368620666, 276304925, 821378551, 211602319, 526785302, 995038701, 992287523, 711379223, 971168677, 955511751, 391977186, 347361219, 57933100, 202975910, 620979457, 817175522, 812938822, 454257542, 816725974, 74665501, 42366096, 535661196, 318641600, 847544117, 249669519, 405140237, 390162377, 191471837, 466992554, 503667902, 825069284, 707694797, 203291768, 572086132, 367547322, 76277620, 285531774, 771290255, 995884471, 477716781, 520372586, 17321500, 313863703, 636117878, 424180819, 177501656, 241647501, 58604587, 925566181, 41367481, 916035247, 299991059, 98484331, 540850964, 348580663, 60798814, 82101072, 510065077, 650514234, 152975842, 533386658, 522572530, 62574241, 423288981, 454720701, 712014916, 727573285, 424973646, 118124125, 374154415, 29135602, 181530427, 411729728, 94481936, 607092723, 959298726, 234003296, 879511323, 616530319, 938451682, 746505903, 471409866, 97783480, 821110891, 991811419, 613415441, 769596014, 863251898, 346069712, 29832126, 190441437, 633585071, 3111791, 189052084, 451723560, 569870935, 192248203, 491415550, 399465194, 872426588, 844719670, 676419754, 266017761, 366489541, 414941365, 232014719, 698606422, 986805159, 239630883, 979555194, 468822752, 557072867, 515035385, 19218019, 143555161, 621846541, 77332934, 81026963, 618625011, 490489757, 822047663, 98220474, 397534956, 96301094, 962525281, 708432731, 33037703, 584953766, 122241320, 836787726, 272864915, 164760668, 759049391, 495000287, 472090234, 882592885, 28482024, 800465649, 939066224, 932948202, 486375779, 731077454, 576418922, 429925364, 432785586, 467707959, 605967105, 509672992, 762706166, 796866797, 911620399, 122427204, 273110041, 790181940, 20298612, 593782902, 426701237, 766656786, 952320220, 419332826, 862297019, 665079839, 800249197, 229271283, 606395102, 370912572, 924528653, 743936178, 799005444, 891498821, 333546384, 130530229, 666537636, 726284685, 230082529, 386388326, 741887044, 530545484, 959941087, 926659447, 463579373, 575684552, 879628149, 234636613, 671376465, 713074331, 778190327, 164026327, 464531419, 809711409, 209131579, 637864558, 369974992, 877784195, 280219483, 242612829, 676212960, 709842499, 381087132, 671513129, 971868465, 921638989, 152223266, 303609853, 866918482, 412961279, 313775738, 228238730, 910684514, 30728908, 368183010, 60194542, 889178885, 373753015, 451194142, 103062247, 433935130, 49071114, 463722524, 231790890, 523268686, 866982769, 78993272, 923531204, 485849770, 514733228, 500921172, 701475739, 850663984, 139217668, 320386959, 249801724, 883342213, 638194520, 740273510, 466193952, 958594762, 234617325, 311826483, 113546437, 94129279, 734493169, 83720969, 598946136, 986775140, 468415935, 277143228, 772080180, 580515481, 318235793, 457776570, 417873833, 868434418, 763603373, 838085413, 505223609, 58750186, 948720646, 566402219, 462367522, 210529502, 934153549, 206399475, 39680554, 778922730, 564525333, 67909959, 79849962, 445814226, 548826506, 636785606, 748441071, 643711924, 4561587, 128067570, 195537690, 358785749, 222306827, 976874014, 773793088, 107845925, 303323885, 895758205, 810936416, 648750419, 611027084, 838466061, 151608260, 564872799, 821056110, 19652774, 539592676, 23702705, 289527127, 753945457, 503839311, 408902181, 330861697, 156645682, 936899555, 252758515, 621990221, 979271248, 418962385, 327003719, 920229879, 354028273, 649979632, 697884285, 617676902, 56565109, 313700291, 392205588, 969373927, 464461598, 398592924, 371937919, 317822431, 179643960, 460051718, 627583100, 284956300, 149678452, 70215354, 200241668, 30048874, 347929372, 839226666, 702084146, 292652443, 354405676, 963418606, 227478349, 273234912, 47733025, 416166660, 532248956, 928912406, 445581710, 194263004, 997855673, 197034997, 222948807, 898226660, 172100185, 813834068, 402170001, 209150065, 933268175, 241474399, 712596964, 444557532, 830600412, 715857502, 520509095, 70366039, 926037089, 7405751, 479309992, 811433658, 964908706, 621462388, 487291500, 399074245, 702179288, 457478827, 281869103, 124334071, 83919848, 817755361, 621471733, 573076819, 42671369, 872054046, 324183639, 705570126, 862120378, 679747267, 456115264, 895797125, 1992076, 567301500, 933983927, 956542012, 156994103, 864073461, 63366223, 357490554, 385777433, 896594850, 767071686, 453464653, 589717479, 802435855, 414624611, 797332162, 559472546, 489080079, 812380844, 493101822, 708587589, 472279870, 872054488, 8178047, 291298255, 918590322, 92468773, 732591622, 468788098, 678340914, 186208524, 155429115, 445206068, 790526994, 862528449, 266663260, 804353321, 191690836, 987219849, 227555027, 220686217, 418146802, 299170658, 170639523, 809678697, 985867606, 261342425, 437119229, 735633109, 895122102, 56217052, 890061681, 703640600, 293383661, 946151139, 815072509, 882606046, 622968103, 865274128, 216516505, 995613908, 646523621, 558085789, 64014606, 511839565, 835650975, 906248844, 976478956, 358019974, 6423316, 50378188, 747836849, 99339959, 9689338, 102845848, 822122357, 341110404, 378780932, 121325491, 34682792, 765384850, 553012509, 742113846, 563249439, 351318428, 391503610, 63871260, 328092497, 824528157, 496172873, 85531109, 574842970, 377886931, 383944507, 103549570, 666614099, 258321156, 976572778, 736907754, 873403388, 277391782, 544184475, 198652852, 738973886, 630394109, 368563634, 584980575, 244657738, 448227912, 901316350, 288984321, 167238053, 357131630, 844191139, 861292548, 952321523, 227817853, 466903168, 293451614, 273446677, 957200759, 435132960, 929777062, 598558849, 297242058, 428836525, 23404943, 366259337, 102962316, 887752249, 203895694, 316050997, 34446775, 557763897, 689134449, 801089588, 652426006, 441253907, 752957048, 679499827, 11497520, 224782792, 363911640, 765319757, 230313531, 211054420, 168718826, 864201396, 456430844, 763085712, 867593944, 145917871, 207760717, 321407270, 240632477, 948888725, 372238887, 264012025, 954403928, 175648713, 257039494, 182068288, 544729979, 549097733, 347749074, 525859708, 910749773, 438026665, 728139696, 205181596, 897834602, 608889458, 234445768, 963525028, 628241132, 604971654, 475458097, 41265868, 173531483, 20226407, 228633288, 362108765, 879196755, 270475706, 324676847, 562439347, 286722603, 575838818, 23900135, 594785878, 100902354, 221351159, 88385848, 871552961, 325405461, 771530449, 695994299, 903422586, 597028794, 266981602, 460150464, 132311295, 463392924, 87698350, 391388875, 186950891, 429936513, 164896370, 780882361, 550724704, 235450628, 875365822, 826653186, 779410345, 850127382, 361886909, 338520010, 456861769, 203429162, 728597045, 996475387, 839811799, 124688060, 178774440, 687906439, 476734368, 549048348, 951901676, 287178063, 766174787, 596917143, 829875264, 24289012, 946116361, 668133458, 21916755, 548572725, 547820708, 869579098, 645576755, 906117771, 874617650, 768328643, 340973248, 850431198, 273036801, 901796868, 5883545, 212126349, 673524787, 281658856, 372698579, 869879255, 27673906, 769935107, 701960423, 625679091, 646924605, 305006580, 797105432, 526626268, 256155673, 980716178, 347729055, 692360301, 826751352, 565400124, 472724399, 409480866, 431812447, 763200943, 222156535, 547482132, 61861631, 547281955, 296889637, 556930537, 641363183, 833487483, 811517734, 817039974, 220056051, 23797345, 991873759, 317027594, 341223448, 281861367, 161898418, 509601243, 982121739, 762330695, 146468870, 850412388, 434078586, 418707409, 906391178, 790306921, 774372765, 569824336, 843598758, 569134762, 265050453, 710491694, 453594293, 963320146, 589706001, 941065852, 614076704, 107015955, 949705246, 664307793, 721568597, 49975899, 610052805, 915783153, 963506339, 954077377, 704321921, 732013951, 838541787, 750929654, 137658917, 779921367, 629290281, 500533629, 427246791, 160985986, 956532033, 486907147, 396853592, 349839660, 506562641, 838440582, 351705521, 293824383, 191859007, 684922063, 833958250, 415993157, 75342974, 971778054, 52876436, 969078246, 142721228, 900771829, 288350368, 266212675, 514495049, 84577011, 197300038, 188370848, 661643132, 323477749, 226340304, 284686344, 829269921, 405515581, 38544650, 312376023, 674678193, 226633898, 61870298, 966224970, 828191473, 471297112, 385712024, 730825634, 610254563, 174730822, 152611756, 338973923, 113251457, 340486416, 550161049, 893473130, 977776211, 881389652, 156973677, 345194312, 608315800, 899952236, 290697242, 110970525, 402543332, 563965710, 611894349, 91112383, 415699036, 851231206, 643255190, 758370546, 224650189, 985046380, 162435956, 975917376, 321668384, 840511262, 216075989, 29218444, 526860173, 203297041, 837966826, 553313775, 96005237, 562029368, 924043742, 12651510, 124229507, 909935659, 29317766, 932605166, 850625431, 607063973, 512623644, 435071201, 573841034, 43348628, 48978376, 296775475, 125253850, 87156050, 292067854, 146271921, 93171220, 386261249, 317181852, 553681481, 56852680, 126620724, 927225082, 650024008, 316562454, 346502108, 333949607, 949125288, 209513528, 286739261, 320090367, 135363311, 636330550, 730566238, 291334431, 581779057, 992764970, 949800863, 88129124, 313888484, 912975782, 345529715, 7243341, 822463589, 695958294, 710775334, 412274472, 757853921, 35588311, 942944660, 129623041, 419568196, 550726647, 70590686, 728330969, 871923333, 795106916, 558477214, 50082346, 699137463, 348016225, 163756518, 58595181, 819275629, 112567316, 216591278, 368793227, 723181001, 970324320, 147048990, 253268354, 764786098, 556174134, 693011710, 605160235, 217244575, 629935526, 404385512, 584045254, 140085049, 526977323, 88446269, 854276276, 443622764, 497773001, 559986399, 944441634, 12700205, 626616296, 127700597, 455085704, 44705553, 251776021, 313953172, 638695090, 332657576, 95323494, 562713992, 685368515, 646106956, 649479610, 426536476, 874111311, 386567460, 717062648, 572226700, 432499366, 622561029, 485245350, 93793828, 97246331, 833094394, 851440216, 121597980, 19030201, 245268931, 508544211, 982101227, 622734839, 814910340, 418436025, 821730687, 389260493, 629007191, 139143719, 522247616, 636922164, 831562194, 69238945, 382275788, 574446594, 493902660, 574870585, 328458547, 49496646, 375443731, 95820572, 888714828, 870398620, 86224195, 626741267, 77374328, 333243607, 709582946, 64833459, 244789828, 89529117, 381188948, 62996896, 300067951, 140323512, 27690256, 158999636, 202586988, 678424257, 501216641, 274707118, 526640786, 589769437, 859828307, 70413462, 112972981, 859763134, 36545838, 564161265, 504412173, 640741946, 113234148, 354607625, 838485963, 793563295, 850868592, 358763780, 296447076, 845595589, 307166811, 454401003, 17828017, 736005482, 450996807, 662440937, 822487594, 188699048, 441242488, 430939578, 399598423, 975637339, 317309601, 459659426, 277095880, 202704614, 120103938, 168208888, 908509252, 329823484, 755639707, 741940242, 986524197, 907753403, 405564817, 739461366, 166944917, 951119046, 876510142, 68028656, 615234612, 609537795, 946142761, 325550750, 49249274, 99552993, 937589373, 493204580, 990275685, 236003026, 362585565, 529022722, 139407277, 716405471, 364445947, 669437737, 675705051, 33740978, 530392888, 574365801, 642729785, 327070106, 914411982, 969631104, 62599988, 232923954, 59663542, 171112558, 453284583, 288251239, 769448813, 272382082, 251202922, 104420100, 841067843, 413562268, 586611648, 396733949, 901480626, 589152658, 167262163, 384193414, 375532556, 153094411, 802184924, 713387312, 211070522, 571842096, 904933907, 654392276, 846917690, 383865436, 763362514, 497405795, 455886547, 100324316, 893851250, 307118614, 614181854, 605700530, 845262882, 479188922, 715226830, 61752441, 910714636, 83285809, 127160210, 658115776, 447181651, 823395668, 896474501, 903123964, 93769115, 12641380, 73922174, 734484584, 709021570, 30045679, 869565068, 619611576, 242059262, 207983581, 728187444, 754685441, 839147678, 245226376, 131532548, 616400850, 703139622, 898238270, 503902465, 669908910, 608540835, 723152909, 921568740, 449246394, 661498111, 689880533, 130042295, 456600993, 96275769, 47566192, 570473891, 189852761, 643934169, 324467045, 377194738, 558369527, 447714450, 562020464, 911533166, 79360881, 241105654, 406118671, 926521853, 2639980, 744054184, 533025758, 553593919, 534764208, 845312961, 974608517, 836296726, 599558699, 708284592, 933258658, 470009585, 453175362, 393854627, 484903966, 117110273, 657484114, 504469019, 585267288, 821974371, 898429679, 885948402, 725820964, 490033911, 17000429, 280900605, 483770735, 940175953, 427946641, 646077114, 902714975, 946197575, 943058566, 352142018, 850929087, 915003362, 98371563, 472191080, 240497494, 568085769, 126594023, 192476843, 897543352, 201025644, 50941876, 480909819, 20839537, 629068729, 108543224, 17758325, 446273864, 156570089, 760511713, 308352314, 628151301, 704901968, 917331052, 182189761, 708256182, 158955776, 795090614, 935239434, 827453738, 450382582, 391300810, 410403800, 999160059, 14397911, 773625091, 257272901, 331478188, 980411715, 340675336, 149488393, 930270628, 47003846, 317772869, 945765936, 378184464, 10380651, 76983119, 10301248, 943273765, 335267528, 883194913, 968627600, 906925264, 533713891, 269073208, 153500916, 461375997, 420273012, 367320692, 971437719, 967157806, 561331181, 832843107, 167086169, 437829128, 614411034, 353731446, 300968799, 594560590, 461961624, 609411969, 579041971, 709028941, 100479300, 995565965, 926934664, 127093932, 890777695, 82938235, 49793235, 172243383, 607806391, 127275395, 849435681, 564166452, 712926135, 441534087, 480868208, 839389948, 551420539, 46536506, 420299120, 460265671, 971758845, 390293162, 133862036, 519015687, 167343967, 805571669, 199073072, 510448715, 309653084, 336900580, 91572903, 229192405, 781875197, 599551647, 579880826, 47694740, 844254367, 290534575, 17826940, 138109825, 388751555, 792811186, 367338449, 738158461, 338522938, 156152389, 879974061, 446800928, 895462691, 674171883, 991781, 446203577, 497943777, 722374008, 104970899, 807252021, 946287833, 248690502, 517887902, 809606466, 715384948, 629670258, 48336442, 728431346, 289702465, 239886480, 696443022, 520378297, 366842573, 447133913, 136472531, 254987879, 507141736, 86842363, 302546460, 383783371, 66940406, 607654392, 816953190, 616152671, 9497075, 132494957, 214449458, 528710849, 718687053, 352458532, 686745851, 992895512, 622605136, 510139718, 680336332, 134760924, 711056647, 24892582, 607589924, 870071045, 637832532, 627793907, 977964930, 999965576, 21356792, 489236665, 748600695, 192329940, 862533426, 324826751, 74334208, 234576849, 335797735, 162117306, 45244371, 898537427, 924889929, 454915110, 308390768, 342222012, 316011765, 425525371, 226363888, 450282011, 261239234, 39454337, 708171123, 602357803, 948816416, 182999398, 709540062, 562689815, 30482157, 547613655, 111002358, 608056382, 436544238, 354371320, 40595228, 192048844, 579812413, 100375196, 818459562, 987348829, 768290762, 383922257, 786463125, 716322420, 120706828, 384536471, 255874616, 65629535, 285051228, 686617209, 263596547, 594130476, 251196347, 434974950, 384156615, 715796364, 703471340, 387367314, 396932202, 490006649, 92986403, 234778463, 749782094, 7508961, 665866919, 956915703, 642759055, 830579279, 915618324, 741354391, 16919234, 850547250, 362084802, 69971469, 6991694, 134182199, 774375726, 110991392, 674665218, 608815773, 548132735, 340386128, 984292237, 64890612, 770630294, 519668240, 162039359, 117537534, 291861083, 95531426, 861878101, 994006769, 602594710, 519755233, 852816262, 324992477, 965326022, 467391580, 538610385, 714349930, 5161758, 619522291, 10670073, 965073528, 226722617, 392363119, 945700852, 699651857, 948530536, 521694582, 705836073, 854990265, 998208661, 681833483, 81358768, 824888652, 451967631, 143641057, 431586324, 227295045, 903089250, 272850205, 914972941, 418158341, 721463090, 297894566, 568980192, 55400863, 261038699, 585945158, 916894919, 230395697, 115642835, 760652526, 746927573, 278010496, 245467331, 765173151, 811898688, 105778323, 262155930, 714669139, 804855000, 327105045, 398800143, 809317783, 454179668, 200815867, 967451834, 25444212, 372400536, 720992899, 746425537, 376921581, 439578724, 20542552, 133680380, 959000349, 619356320, 834743428, 318565975, 784426828, 553563957, 82552091, 954731681, 645652575, 319633457, 727982999, 873961856, 170184862, 600533262, 896802117, 613639277, 936597498, 450411087, 374878000, 601341027, 785603995, 406903515, 648842819, 888851788, 149159577, 432457802, 822215484, 633937541, 599868355, 612259368, 936516527, 90262926, 76237786, 438425987, 295615660, 870240135, 196951285, 123911548, 811875186, 592361425, 780626588, 512759538, 53123438, 364598217, 224894734, 236640351, 568518877, 802644933, 823477609, 46775988, 676559429, 777090877, 583122443, 65806801, 170311567, 902087869, 765758230, 693269639, 141491926, 746359924, 899355554, 223115657, 711858965, 769642777, 216261851, 299527107, 925163069, 578585643, 903710076, 941421685, 170785928, 885929603, 537692452, 643811359, 435055292, 831773249, 817708446, 706353321, 93932803, 324334031, 327274787, 38335938, 5510903, 515995230, 143887163, 135175343, 728102182, 585380287, 32591001, 76518763, 274126616, 985527651, 904267540, 435255606, 922711717, 102903272, 726380630, 845988619, 150944076, 340449730, 634124386, 389022795, 842642774, 711594168, 946759520, 890417089, 567054096, 614221842, 676536657, 757241100, 865165985, 261941067, 928578896, 383430008, 595421121, 907137066, 530796868, 244776490, 917702739, 814537564, 6156619, 394518775, 544128520, 360370729, 858859773, 790935461, 981944288, 704882696, 433726877, 955554308, 347429403, 640582594, 545942409, 790831779, 339356899, 480372776, 201038773, 995688585, 485779799, 979326788, 73309102, 455435252, 367270518, 423102376, 855450331, 45591735, 626006189, 498560169, 21542146, 285933710, 583363580, 85727168, 477699575, 210046368, 347961198, 435323588, 269507591, 87382116, 478792361, 688947425, 750645022, 561920048, 566262011, 785604364, 776315270, 185632004, 617063681, 602743209, 770381407, 516155960, 656401090, 869736116, 373779974, 899473963, 776798034, 656394751, 361057153, 901651687, 490734351, 236925225, 340718970, 680502378, 52091901, 587379826, 946028620, 955535238, 450294600, 426394943, 330635264, 880203816, 105908397, 869246832, 842731729, 382872932, 797217228, 641192786, 89933514, 785112337, 153495955, 238621130, 577417759, 553605971, 453232702, 392020440, 276108319, 852551313, 225820953, 731863687, 102704830, 999800259, 694422358, 891789295, 502115767, 106582365, 867624556, 811960403, 2624960, 300127687, 841451208, 929800876, 177753014, 372354112, 999833437, 286842523, 966715479, 542098833, 73832325, 919347493, 810759496, 221532515, 294118679, 110718092, 318155055, 95829391, 282635749, 536268976, 711410597, 677428162, 28258834, 302856692, 272717342, 422290176, 857653937, 660490534, 618094042, 552989813, 650486532, 503284702, 424181368, 979072992, 610079865, 612643348, 572588204, 52298335, 620699718, 104334291, 304400828, 273737754, 517610889, 118935673, 580742530, 138458029, 573555138, 494571399, 893230439, 176434197, 748951740, 473247336, 659316893, 451014962, 265132502, 511547360, 249187660, 97804423, 930093514, 674935190, 260809110, 367512635, 255553528, 540562962, 930037142, 662620257, 357530870, 152905615, 729241601, 908029874, 615351514, 632893108, 651743490, 205623844, 761547310, 73947480, 955934005, 313050842, 621563020, 363351597, 353096812, 638634967, 286117113, 238743163, 899639572, 821554769, 299005763, 108468891, 547693401, 388058836, 662746823, 456066730, 200390342, 596208498, 12295797, 557812977, 258298254, 45227, 460533353, 441715052, 302705031, 275192036, 68037355, 126906288, 295323821, 558902956, 507135466, 668984623, 45902629, 211778988, 549177816, 983607354, 339252978, 287681545, 570145243, 119697269, 630988383, 971868624, 911432895, 153005350, 713518647, 681223452, 647021267, 211089980, 245012855, 337436277, 582598745, 92612339, 686335870, 252601425, 802666570, 610004415, 217849799, 61024149, 550563083, 76178315, 387192841, 699268895, 155052747, 982106402, 513410705, 207890354, 539672208, 466146446, 376965303, 134358069, 807809584, 753863344, 672068282, 598823639, 523604391, 996208928, 214081277, 758407745, 99624493, 880928078, 929409416, 469953008, 298934781, 717631935, 133312942, 634045972, 532159222, 329801432, 651312234, 53100043, 682865702, 716596648, 325856205, 62054791, 327693604, 983639421, 533353371, 128806336, 926781545, 93754383, 337522152, 78128566, 815234642, 785708962, 77865366, 981382619, 531271034, 848891963, 623301697, 56327487, 508063851, 103572289, 230091951, 33684170, 309890439, 807240974, 652509059, 268840879, 305224085, 340693454, 133933818, 225713894, 432108697, 760654596, 908839656, 563273413, 34566844, 512248019, 223421227, 669921748, 679417851, 415197589, 628139986, 160545394, 456802523, 391835167, 947920087, 775333153, 861868942, 480489601, 972095875, 182160116, 919394840, 627676195, 615246788, 433546848, 368418716, 295300513, 281269850, 942253257, 464539991, 62687935, 177209054, 553081690, 704008913, 329180464, 147331311, 763824121, 944061650, 75666428, 123983573, 543133289, 669835044, 852128328, 137968919, 244590398, 690274082, 651747670, 701117024, 263747086, 668232208, 170374208, 923134350, 960451827, 853031662, 536531298, 717542314, 91921986, 233801168, 618084117, 519704516, 389036258, 266892148, 912661275, 938321705, 993115126, 375907122, 632411732, 233976358, 222705290, 210123946, 704216758, 756572687, 731034318, 106311072, 817568513, 894195523, 285720177, 1404660, 413657809, 36465266, 76327023, 933321383, 579076953, 164151967, 985521414, 83132776, 962870824, 285208257, 932331515, 603544448, 781551447, 383036676, 568330777, 295144823, 329862631, 847745545, 560968406, 776452041, 20135823, 257480134, 198170549, 566418760, 96971487, 737551978, 609572600, 268119641, 754028198, 636591355, 925534083, 16212096, 194850831, 591011424, 149412977, 144275636, 546898697, 185465957, 254335579, 24549037, 815745725, 365130332, 555765314, 379801402, 758288116, 811160989, 687010930, 653282159, 440828612, 838098243, 912712277, 534669659, 192956962, 230884993, 636722767, 590326185, 310351557, 973829279, 142882689, 456970027, 581350023, 969594656, 822755324, 910669717, 980664694, 703591967, 10425157, 430218843, 527512176, 976794371, 439532441, 766595026, 973733353, 265449756, 57845950, 108382459, 150546807, 713474556, 753363194, 791821310, 569332411, 737797082, 682186553, 393198245, 83122185, 934155015, 479437956, 540751377, 964523490, 819853854, 605145571, 954719834, 990247448, 292881357, 63623191, 209494377, 650113702, 67668307, 791352398, 299799634, 115255544, 505266514, 945802057, 931176732, 674573, 927447838, 603821052, 739124152, 492861481, 789005288, 664594863, 59431708, 465905630, 877719521, 598394118, 696457929, 943577045, 34451087, 611695407, 251646723, 674686062, 431530663, 267572043, 106412693, 148285610, 204387765, 365666853, 614995258, 30748641, 546971564, 127769565, 284659214, 328574476, 348893591, 96366010, 534173178, 73425982, 43504973, 76115931, 859803451, 636724806, 141353737, 400253191, 60104476, 586720374, 496634631, 907518552, 457865073, 623119343, 104273473, 685529306, 734089411, 123546955, 108287687, 204878353, 533733818, 838359991, 323061353, 599303111, 350870006, 710956014, 929995377, 314657525, 823744186, 826238857, 488130656, 290745991, 870700325, 313788359, 629292408, 328652918, 981717527, 235556649, 963116615, 331613743, 196834572, 388315632, 14876257, 360738523, 427216198, 580618422, 396718613, 477861676, 257967829, 387957477, 19546479, 913286325, 994121738, 395527941, 591855427, 577554716, 657982870, 503095366, 54773825, 496008772, 407315132, 755075048, 77220990, 822033628, 384925751, 12955174, 141888800, 494553326, 729142897, 771900411, 104091829, 706484249, 822490927, 809521276, 934904291, 771434906, 519814894, 408926676, 402899703, 829411297, 777866248, 826821954, 221123971, 424911753, 9887069, 773472902, 34775834, 152503126, 972282412, 717265717, 986121268, 105806793, 594962241, 457818516, 881572435, 354393160, 120325492, 284461130, 495889729, 695332467, 964399405, 916769129, 991159022, 585775512, 604936739, 175960898, 592225435, 648289002, 504298610, 202350071, 644302157, 831766348, 306196072, 112590465, 880429028, 3307882, 143278504, 529006860, 989127324, 993141334, 323430322, 742765596, 736350743, 352185594, 467715450, 986857293, 948342580, 199283229, 897073524, 938075443, 527648348, 532687179, 668301434, 479082988, 78629759, 797252817, 574361845, 91763107, 461251214, 518008653, 659978162, 290970054, 760103828, 533056927, 687826352, 504982800, 271595841, 859025787, 917450160, 501130085, 750082654, 830947380, 355864837, 54461702, 887435698, 627963653, 207115224, 655602293, 925750449, 247142463, 966389573, 610454729, 594470571, 953982644, 932670644, 7803508, 329868591, 673343180, 931111197, 126032852, 810963326, 776481859, 659047162, 187170699, 171749948, 206410324, 850812021, 403300720, 377863472, 73493132, 810312864, 862972616, 869491414, 619818960, 286978359, 123412437, 503810454, 77877352, 194500890, 439253127, 336690407, 193903193, 150507409, 814446043, 309058393, 204277271, 470308468, 570176329, 342494492, 637674844, 352416491, 773472903, 189723725, 83754897, 937872921, 275667651, 986555938, 936675892, 424455664, 744457928, 868072392, 57416171, 900422586, 861258634, 71103348, 37068613, 846995189, 408093225, 388243936, 112037577, 895839278, 47748962, 71101842, 20680398, 139177753, 599003272, 663949245, 90431060, 748034988, 869741701, 245662724, 145637588, 883011822, 736407843, 74921027, 177336945, 882722337, 452011631, 487412844, 43002807, 777837305, 445325914, 278461850, 585018896, 859069442, 364375376, 659133282, 471331140, 515125960, 182772492, 406117124, 582591656, 820878946, 581550214, 6584845, 330578394, 775531897, 355840097, 204192635, 615242783, 940937766, 824325209, 949493438, 207495406, 895637054, 447171637, 706812202, 808010162, 159569676, 534736569, 214029988, 253302160, 411841570, 38505952, 729877519, 490216179, 486026245, 831407927, 610149357, 263377648, 714193232, 572173006, 382925113, 82718435, 355199840, 1621780, 118291796, 264467249, 359762885, 987818739, 395816049, 6379346, 688961992, 804357170, 591183725, 461713043, 605778793, 451826559, 141557229, 191494823, 922167094, 812466716, 29038957, 385441709, 156983248, 127858743, 703969470, 816528517, 713908353, 834671987, 834893003, 730993552, 458274317, 718889683, 790504301, 435280982, 977947499, 675089671, 353400700, 8196663, 592968867, 662470653, 179706798, 635519054, 116932872, 994882152, 4022753, 668872092, 285569187, 874558159, 431035142, 660688268, 20580393, 965028087, 6562856, 954344418, 663675429, 11880015, 118160977, 553413231, 15204938, 107017845, 87281887, 154365803, 787390283, 854701382, 490057362, 838539756, 14591952, 195949758, 210632394, 460068311, 822822340, 778433533, 404558878, 706587467, 722232539, 504967651, 381128247, 312435682, 914636582, 578026594, 460484646, 242068726, 603448130, 844626491, 688346310, 463123594, 394896558, 837486695, 994683987, 523728290, 578952344, 164240999, 377556768, 746886789, 368047500, 991935470, 93157673, 737846386, 555673603, 679964251, 256948508, 498820568, 923589752, 890362035, 188720504, 628245286, 11577103, 46878170, 985068998, 79879740, 891430241, 435621395, 783123052, 744939587, 59484404, 476327253, 183066426, 539399610, 673498495, 192201342, 635015389, 498643255, 345808167, 54939389, 283211427, 253624224, 369209817, 895856919, 266246909, 357945848, 917766780, 312449678, 383807000, 471146686, 64396365, 754126954, 570220895, 355570955, 696377688, 329545728, 767029082, 139743026, 376964245, 470933118, 718837023, 113227169, 426421235, 668839312, 921181423, 290307554, 834572306, 335696460, 48098865, 639602117, 182888455, 779348439, 129717655, 509168169, 90980763, 498041701, 667469507, 310302366, 774088364, 839244348, 371632259, 784456617, 868099815, 418597979, 426756126, 477591171, 927101598, 711898232, 914709016, 604111146, 539395727, 658641270, 16654340, 223841902, 42433386, 903760296, 268141935, 214790228, 329496010, 945038114, 159830708, 962708741, 800185708, 117524040, 200010041, 625903680, 887792566, 265872694, 354000737, 317619161, 688514373, 920708732, 74635846, 418964387, 276297759, 495441008, 143426305, 202837522, 997503353, 506197580, 556723347, 753568169, 943640442, 89772341, 998094548, 232106347, 431275838, 288438852, 294516726, 721613259, 39320349, 426618582, 863183959, 853560288, 30844952, 311230955, 53041410, 988401647, 15429916, 871861442, 855925703, 65865483, 527223009, 803994417, 735906875, 287701988, 626993630, 696459818, 959735556, 150477972, 492312374, 780946833, 213796842, 398890363, 288949272, 448188813, 86555298, 278715670, 446907080, 73958653, 208680037, 195891501, 579218199, 943874144, 837144245, 511971499, 759212391, 270311603, 378330270, 485520261, 2912815, 836260470, 419875344, 208968932, 108809114, 353131519, 729968941, 676544103, 617056387, 900659791, 121410434, 650317167, 305569317, 870544323, 593028977, 979405713, 964770092, 193802711, 101354406, 754784156, 270846483, 488400257, 157058010, 676202131, 383729245, 795239731, 985242470, 635106267, 989771715, 412186044, 948066167, 936523282, 315905913, 390652108, 992843904, 241851417, 544101598, 331960506, 214678852, 241911039, 484455613, 763351527, 414336292, 542137531, 486330309, 605514615, 427135102, 316082169, 212693390, 900776423, 237782204, 2380699, 2837233, 543932779, 524837825, 415527910, 463096781, 398095512, 190090704, 755533180, 577546526, 911671391, 534468096, 939828504, 137212002, 824657029, 585561849, 594462864, 908029683, 313896406, 504303207, 466579156, 606943778, 156888438, 237766665, 344652393, 736992513, 318330431, 538286999, 770005217, 97380593, 690725500, 526515512, 95279495, 996705100, 379916280, 473501840, 383849274, 829141991, 983768626, 149515402, 89215551, 198453822, 670783467, 482757223, 836244262, 295856715, 56424753, 510019698, 331706981, 113879111, 251684830, 385324788, 226290582, 820467953, 287362973, 22241817, 957917330, 863235589, 507800769, 758208297, 571474323, 533674721, 582745403, 672673828, 296811321, 163105977, 12287206, 313506825, 456339073, 755612379, 784795341, 84106034, 339329949, 563592324, 116776341, 743805225, 837750081, 251784886, 992343313, 313860438, 966785287, 801557138, 187800043, 377104457, 897704087, 945898499, 616234490, 949546156, 33280327, 74904171, 207157759, 720846318, 41542525, 26710288, 757124387, 100443768, 581438416, 41910189, 830298438, 136086527, 790139822, 488494143, 822206682, 6896636, 370873825, 369600897, 784213442, 722913547, 659920000, 49291755, 123981315, 981602851, 587129752, 229929013, 335923672, 353506195, 27027266, 500041382, 713090502, 720957513, 661655071, 438716240, 509603709, 748738696, 908928962, 543424030, 696032384, 864568398, 131130646, 570930886, 320855059, 188234497, 311640003, 740991402, 74948426, 558273080, 841711481, 439306941, 251942387, 205556687, 911103885, 403871773, 139354865, 297294660, 741907403, 694623410, 962669481, 6796752, 89272461, 848516743, 625126283, 962285101, 155127162, 662503032, 457562148, 123761729, 104732498, 797009105, 656712275, 59113502, 917983375, 18562052, 439893425, 629109457, 504654006, 732608720, 501115444, 845638650, 969776573, 870715661, 98044757, 495717183, 759040327, 178888044, 350500520, 829844928, 680650490, 75027790, 129600504, 199565615, 380733464, 876228468, 792448917, 602316098, 700677881, 462788413, 985727363, 15609441, 782146839, 329170697, 822792394, 783211723, 47286956, 148009257, 837841648, 305498046, 390810267, 122626272, 372500769, 433791880, 881921431, 144705649, 606786017, 946385827, 342389423, 614586690, 615454086, 75903708, 375223526, 893457920, 558863288, 549203012, 607495701, 38485372, 114022078, 85696874, 671609315, 187558697, 422761265, 70600678, 154264575, 588850454, 335083276, 749463930, 974019900, 531664617, 565566919, 67446759, 105446500, 942960528, 644452728, 287452198, 218743466, 41879393, 780308437, 752341309, 760085689, 760121628, 370249222, 371266727, 833372356, 935641535, 244333677, 958698769, 837305150, 194006129, 511038130, 157441009, 832731627, 482458005, 275122406, 682920393, 192303427, 417387944, 877579634, 190198916, 876062778, 586397968, 539836923, 765080245, 995048556, 886879212, 608550117, 295898422, 497749685, 983184888, 563882869, 116141902, 149899034, 457023941, 909173065, 681105441, 135999323, 869785263, 264164026, 956249988, 934720978, 442845993, 930577394, 893424581, 639767659, 928582240, 640379543, 630913128, 281611104, 701731016, 206674286, 951339929, 120419633, 227439687, 366113562, 354377331, 939353615, 867960292, 927924307, 50502882, 102259441, 367290702, 431753873, 258977422, 954034645, 12884219, 647140059, 488827296, 175290806, 463864706, 889703783, 828002911, 927944656, 61047180, 814908768, 734586099, 744292304, 154670392, 930332916, 334895285, 110876831, 775590887, 140290519, 931797020, 730636663, 729124321, 770748162, 22815896, 950811017, 549401502, 918231763, 238894277, 66610000, 933744586, 448261467, 635552267, 567562800, 250632483, 656006192, 935255741, 672582115, 615985050, 134088641, 878780293, 835724649, 534938129, 763665475, 280967957, 811700238, 511959411, 503036739, 112149448, 235052759, 472551241, 140956263, 866011355, 241406513, 173023090, 180010852, 619195969, 690498064, 192271717, 980283351, 344058417, 945543042, 257291977, 699594073, 332650478, 523740536, 226231509, 381458519, 812034014, 428201670, 293122346, 720699012, 174594251, 928133940, 461679298, 339298557, 227563699, 17678246, 794832603, 930364494, 74414997, 870487725, 869054443, 646170088, 632254340, 906795896, 32448849, 248349912, 694369406, 586151156, 323593826, 328921083, 972922651, 738589967, 51746920, 833429998, 931383314, 477797824, 665335315, 64015238, 781554493, 755765246, 349513413, 675772879, 89656815, 772076229, 267765670, 441101273, 700616492, 266882161, 438326723, 826119363, 767280860, 481952927, 803721007, 367849991, 773267882, 822906772, 571583538, 171912449, 297368965, 413126499, 812734700, 927976440, 204362660, 608519444, 112631424, 563584035, 531550162, 865337111, 100807713, 73292908, 172879868, 549293958, 234755492, 950944005, 306937060, 539972522, 705375430, 494719601, 796799579, 628474026, 705086184, 72746670, 657447680, 34973057, 194762763, 873622738, 749539949, 535569275, 824455416, 311553468, 74137695, 773124275, 827269162, 561403316, 402487950, 983523499, 547510000, 794323010, 779367566, 632790938, 247125831, 118636696, 866450707, 34917748, 599530256, 854966702, 9569411, 574081897, 765889357, 736192206, 508393689, 135079974, 453975863, 575896355, 992168787, 513065557, 945181000, 804245953, 105644181, 443073347, 22526003, 782854037, 715903823, 66276315, 686555273, 653894935, 107581358, 936766334, 470209540, 453398857, 418008679, 83211169, 559033379, 830674138, 712926287, 189856492, 66379711, 248415540, 77637087, 487884491, 65282205, 35851272, 770576825, 724835936, 820482230, 809353119, 613282847, 53919801, 237775642, 182558041, 858768680, 661224087, 705006134, 1085869, 879312548, 665864412, 33317799, 895903594, 503523799, 735433866, 879873651, 981989748, 727714376, 910028682, 66299174, 198583260, 620583591, 811546755, 267189935, 525206866, 598660402, 437826350, 856537498, 530561175, 30114373, 60552107, 160347436, 798955227, 901510148, 752251887, 630627927, 10552932, 28301871, 771237080, 331637634, 67440641, 924945779, 190096918, 376860448, 928222143, 178330669, 744973195, 990607421, 220495418, 603116307, 299928980, 717563764, 452536018, 586665475, 641936634, 475778305, 375142865, 866557519, 484824354, 356285548, 28661449, 937906625, 939603583, 353052851, 412110901, 536073276, 837049857, 364249770, 130824887, 285011597, 152536689, 878215338, 464180706, 15241889, 494216215, 44545383, 155264347, 159725889, 826154801, 17727081, 244473606, 115248478, 499369749, 828328768, 254906144, 700533922, 819243108, 423091463, 950323006, 292044879, 867106420, 717289863, 341633278, 78534678, 738064858, 900919170, 583141267, 57680819, 261299303, 748042920, 405075083, 863787478, 363714635, 189155825, 642611545, 472020605, 612586433, 119907548, 627908105, 813685961, 381901366, 694684218, 812204298, 823293430, 882300982, 944419019, 105843941, 828815839, 519169166, 367623425, 928211764, 30944368, 582433818, 285360826, 906996022, 899057632, 731691538, 16987713, 73617559, 740713349, 876195774, 788607781, 69339286, 831436693, 714897458, 699037628, 767389563, 741382109, 575644998, 865012222, 852462695, 878827830, 971352919, 428309631, 128270512, 877439886, 100509936, 688295190, 279848700, 369336599, 827185355, 968610997, 637888652, 391445622, 746032509, 964516954, 222290801, 818460041, 188022116, 982717361, 242188516, 276502436, 773952698, 31867618, 565683358, 528011050, 761556125, 315266995, 128026935, 221830527, 543286598, 452579628, 401806477, 695792614, 461537684, 373447789, 424306538, 117913285, 281274685, 588561370, 981150717, 589689580, 590000849, 490219082, 408239497, 621316312, 833026632, 527543687, 886548996, 361357140, 484925361, 708150562, 692295575, 166617599, 204031284, 184620602, 278482834, 437491352, 583946303, 669862861, 920687160, 756822336, 630805753, 94788540, 913696081, 678274138, 601218530, 522718830, 16334392, 724300748, 896062111, 123109731, 655603178, 511450699, 761325253, 234290224, 36751044, 826526560, 422270888, 224856710, 358297982, 149892805, 926393850, 14565935, 45460132, 780971128, 550129366, 409148635, 911450388, 64341944, 990955680, 918445160, 659062151, 536300267, 893443619, 456428282, 704228793, 701927308, 24916083, 354222581, 941190927, 733861274, 277141402, 471172401, 977690564, 677831127, 499624224, 282866840, 363837326, 40230645, 296046566, 904579397, 165703604, 901844998, 383845726, 359012078, 373356298, 979487970, 637232130, 104822145, 507471975, 752679878, 214024845, 357279547, 734989042, 985315995, 591993330, 940821348, 91977834, 192156135, 677629828, 155570961, 225600347, 483169658, 285445597, 299358303, 477584780, 4540656, 984388080, 992071933, 306211294, 782774649, 739622341, 215820797, 681928263, 18881313, 981826485, 152684600, 809413642, 618005159, 850443731, 257264514, 67444804, 484936691, 637295237, 812462707, 918546428, 100597601, 15315409, 579018224, 749447041, 249287245, 85189942, 249309795, 97361909, 466624591, 268172053, 976860999, 666030049, 206162191, 432163429, 821480076, 48985014, 866206958, 666683711, 918397184, 476528173, 912804246, 586880163, 821683911, 115640293, 368073863, 714925553, 91390008, 389452937, 813257012, 261080971, 440268681, 436622290, 126595680, 844539045, 315154359, 252526873, 257648110, 816376320, 398993531, 7941558, 81382475, 504821412, 773415463, 789068458, 61444150, 541387740, 47686799, 420829049, 304585376, 853734035, 675883457, 506352708, 791852108, 846255415, 411045206, 211922496, 134517207, 889632563, 230001973, 425271186, 627639238, 622011620, 931311873, 569032491, 566969556, 487205796, 860510246, 600496972, 134749958, 130341215, 357347072, 914443361, 987677170, 712954508, 725383734, 665303693, 402784916, 626759313, 339383473, 290528865, 369213047, 658196296, 945968913, 516888002, 761181563, 137690414, 687912186, 803024433, 520758037, 913112515, 290506760, 248267411, 573046656, 264086314, 164064930, 179824144, 601866648, 63596456, 156017807, 532608617, 349202308, 588905833, 70552739, 349073934, 925083675, 199962565, 172549062, 459027526, 614288739, 767481836, 254240704, 307270619, 200174768, 560381897, 480288450, 512995958, 762219760, 450214692, 822307497, 33885544, 422709589, 882000828, 119980008, 129434398, 114232695, 324286032, 926332872, 868456245, 883994721, 428152140, 971038966, 412925779, 125673733, 338936012, 40402993, 653750885, 444276477, 895919275, 150371470, 34446665, 535657298, 386249422, 876861408, 273597828, 472730158, 332622833, 932589759, 504043108, 677609686, 264017010, 759042326, 527375245, 700680046, 736945543, 473912466, 629800249, 762673566, 464040966, 301973286, 835482664, 940217779, 61500342, 850901499, 660260128, 735992924, 819277830, 962551280, 619827049, 188345527, 743464772, 736778799, 101426898, 123845183, 91725734, 382904423, 354577302, 381996181, 700279118, 398556771, 982612210, 277929664, 91156938, 935991218, 244340765, 798705607, 102355598, 954893831, 574461342, 702480507, 199906987, 992820932, 990304952, 163304942, 134724088, 882189449, 73656902, 750204396, 234017587, 559580510, 201436991, 187557562, 222784804, 972554328, 56255498, 681323206, 398720838, 681017167, 74624883, 327906462, 990711184, 910726754, 757495453, 818121320, 661593591, 603000518, 984136527, 222701892, 46852922, 663843464, 408539738, 394050112, 47507169, 966715819, 923905056, 248012853, 518186459, 997003143, 116969725, 690052365, 939515171, 592475143, 831673270, 567304726, 887208651, 868890351, 97709724, 118417892, 11394476, 203625281, 776012416, 435828782, 481248884, 298716492, 935061868, 212723360, 746431316, 630998850, 273227893, 163769916, 164237047, 147476227, 85447843, 823298744, 986451841, 432089747, 610886762, 526720257, 719033953, 554968710, 927096699, 648880410, 275357561, 390368619, 522564487, 815429136, 925375833, 598539919, 340997113, 707011907, 380173381, 545972757, 785531122, 493531624, 700423983, 565095461, 98762703, 188986415, 788128544, 450695074, 122524304, 5609905, 531831620, 263427230, 753976877, 406464999, 708438400, 487724639, 990122245, 937659705, 96432420, 612923240, 582225733, 259066986, 961560813, 317553873, 400631702, 750486643, 144295420, 420254814, 527083461, 468052557, 826353308, 603958486, 944444093, 609075522, 350183025, 318419610, 472872358, 718050448, 153154244, 157098457, 361115329, 865349803, 127739400, 574902878, 755041771, 30941453, 23680303, 60034605, 261566396, 335644681, 995122728, 290528922, 496341392, 541042393, 238011541, 306553547, 615291331, 572435989, 657908615, 272387085, 790348538, 55539271, 123373130, 480851129, 997432256, 721549584, 256761437, 652848535, 890401940, 955035937, 392424095, 287927780, 510502297, 504749991, 994057113, 782151289, 953199573, 673197055, 286054953, 586933444, 805657364, 364482202, 341602690, 235277355, 678105180, 256567575, 994764360, 18700598, 653161285, 148115915, 458438601, 648212946, 699475898, 217089861, 733124774, 438157290, 296222530, 181264918, 158041362, 645367125, 821941065, 367300309, 878691999, 668138762, 70852144, 801390856, 983230655, 127439802, 794184012, 140178652, 142534881, 939152258, 136025663, 700531518, 115924280, 325418343, 502471104, 575987025, 777420448, 480781231, 33709725, 729245398, 885869931, 223890428, 8584302, 798874691, 569788810, 915712144, 753952725, 794411957, 637274540, 269680957, 492850599, 322889646, 9963730, 350973614, 257863057, 875516276, 153971540, 400847325, 45914991, 520671029, 564664084, 331924488, 184713956, 13850421, 700387028, 921095603, 478124693, 563611725, 638722556, 283398754, 131009748, 260535458, 755474774, 999996057, 98121926, 426870815, 837809502, 686782148, 406511113, 360364740, 933399125, 606701191, 685629370, 772890442, 6044983, 290491623, 200108162, 435612400, 220341830, 917934195, 363372449, 179081646, 70322499, 270757292, 831619221, 349707061, 993849005, 230859740, 585880719, 480601151, 92803862, 152959088, 519368752, 900783633, 570909807, 712475846, 219254102, 284420944, 585141384, 139601716, 391569247, 502945486, 566130792, 489558019, 598810539, 904269802, 592681096, 399609890, 998504788, 485728825, 502360317, 94948001, 618829213, 367826605, 551991623, 833655844, 432277329, 785986070, 72681478, 775010871, 354240397, 467257052, 506685292, 317757274, 287330846, 988777851, 27517333, 50675050, 449115182, 695779823, 752035258, 868789334, 392634985, 814449426, 643119912, 779060180, 319764146, 637198480, 212443538, 770538308, 838084118, 64908041, 881481554, 369251051, 649469833, 966625980, 344365903, 687044411, 357123349, 148206512, 354309825, 634269958, 522182647, 559428021, 857788571, 253743887, 875085407, 101645923, 49068401, 502453787, 815128315, 503898909, 642046898, 711787835, 702400013, 568605800, 451811534, 818645204, 75797552, 412286101, 474035145, 210754363, 727910078, 877477879, 436390717, 974847657, 118224888, 629282254, 924825337, 617555534, 143617143, 10647839, 815408352, 736525524, 801809943, 35433272, 279223186, 520226352, 374585063, 252404149, 100332921, 649025045, 6457895, 807586130, 383486634, 213282964, 747929056, 489971371, 690841481, 615904411, 503777134, 323554424, 622545195, 482794057, 775909069, 828078804, 869342751, 167283365, 602321, 475184867, 402393457, 971110270, 628960814, 795168693, 948642565, 644336031, 887906772, 287104050, 666897706, 856221375, 22809532, 123384561, 848072357, 388043921, 530963206, 179033315, 271386989, 582714852, 245404070, 123131039, 164598505, 440480309, 412954428, 500886218, 411098382, 448001409, 655304370, 856487995, 372289920, 175532558, 731647949, 709856603, 495081927, 911217061, 639696378, 972151598, 963726461, 64513055, 230979723, 891681415, 717718440, 132459673, 630142981, 218297826, 957669772, 483932315, 115979092, 205049330, 650453997, 779412390, 353122792, 464793091, 459454088, 290277403, 517423386, 187291414, 237895653, 301362443, 545653123, 888835703, 251939408, 370612469, 154185389, 107936578, 666559807, 532335682, 932484067, 768931126, 150554858, 231308146, 723349208, 300290036, 423473187, 81517400, 704159273, 412279832, 267448849, 241903030, 343739708, 631886850, 473270825, 848788970, 800193052, 305300248, 660562071, 147009778, 308186707, 616145083, 53748409, 426354511, 132245372, 683974673, 246014878, 206799014, 582783701, 564352584, 489669857, 396552536, 640154474, 115150366, 238177587, 674570412, 720800720, 102288239, 136498763, 874480924, 28381744, 740457928, 686168460, 924190172, 270234109, 253061179, 113032551, 238796492, 44944441, 563837779, 592529703, 373592084, 832308745, 730646254, 152575295, 109163449, 114662452, 706263529, 75537590, 686036174, 303888159, 259962076, 267855057, 187976789, 106084202, 36899778, 912288263, 774820784, 489195139, 274081300, 13499267, 584309838, 968544948, 808537088, 11649859, 913927304, 602723344, 844143111, 469288568, 346494303, 113376083, 72387157, 500669403, 180529418, 488501419, 683996535, 785202295, 458338231, 519557217, 938289085, 338643289, 14608901, 987444689, 588603720, 426400447, 357345749, 332211478, 800916928, 659152899, 423368315, 682827974, 549043846, 89791031, 589068588, 302904208, 667574630, 17968139, 332783428, 12480180, 239928706, 780591550, 193954642, 220134395, 693560373, 131908882, 388366157, 951308770, 498441193, 781090063, 417682310, 648490689, 478735713, 451833353, 550118386, 698273882, 144924334, 667745820, 101750993, 162505661, 949493215, 285701527, 70003000, 738210141, 810569613, 829087014, 810153068, 783847545, 624290792, 532875427, 304460862, 981114081, 847070462, 639279745, 160472010, 162315680, 344107743, 809584911, 286340358, 67444273, 740927771, 537079908, 380784215, 129130412, 94785028, 283318830, 48278965, 318233626, 338231955, 357980018, 434841211, 961513300, 938873174, 985906588, 656853581, 601546459, 359589935, 155354024, 904103321, 742140432, 292805204, 677394451, 847204012, 143818774, 561191641, 228819634, 798844846, 123140451, 19696317, 622795750, 796241079, 872179058, 510470959, 524110149, 240454983, 16251036, 829038605, 338958005, 967292177, 288966487, 291429008, 313563615, 511175164, 6700888, 770016791, 511449048, 655803592, 30369053, 377512979, 968456574, 905873534, 761700622, 689774144, 829019839, 280359587, 370195156, 653024034, 142228217, 830829486, 532064179, 548326312, 973356388, 491336027, 73897641, 56454353, 50027197, 342068452, 249453874, 362086462, 541020194, 712219976, 58913533, 655213936, 779311894, 324151430, 662393097, 892280118, 251285180, 572217311, 511800918, 616278945, 13032332, 213296873, 378233420, 706746586, 474873773, 361295649, 915731701, 527880135, 652987868, 780756723, 982723415, 220199215, 94368025, 192201115, 835061846, 805556381, 1864386, 279215948, 650101802, 995023553, 765931359, 942212709, 198213652, 868742277, 265872049, 126298401, 206758115, 3890061, 137405176, 466467929, 228597672, 64492555, 968231846, 818345496, 931718497, 133217791, 140245760, 813012656, 713054476, 740592932, 64323026, 637683890, 590647596, 901790525, 617811131, 114972029, 79472648, 324315382, 483146333, 361593332, 328867841, 630278964, 838365580, 596634979, 776168613, 657340763, 680256036, 108387934, 785030121, 218601381, 49328880, 27485552, 534201933, 8362223, 802140175, 676216946, 283547893, 171696983, 294110418, 884186204, 559916581, 284803038, 251614701, 497598679, 355741053, 192994375, 816958425, 543294271, 802539572, 783207699, 130575991, 922563746, 839908195, 217350356, 433188325, 953837140, 115308779, 776721285, 277551895, 647079690, 496804158, 694617062, 990462039, 473198395, 680080230, 11152839, 80413296, 983136324, 161771668, 387939020, 533156459, 142689509, 291788805, 515123179, 579450730, 989818126, 566371482, 643338083, 386017403, 621583836, 536085406, 670471695, 990627072, 77413595, 863320411, 917275178, 378076712, 693813693, 228792460, 299511157, 696595667, 348433778, 823294038, 692267459, 656624751, 397507253, 310085389, 791411191, 660680263, 338958230, 837671176, 626191618, 453746761, 524678081, 832449822, 606434470, 725652476, 906649715, 250338036, 75246899, 58502942, 928403466, 515185637, 69821886, 78671366, 340524369, 969109121, 320136928, 814596101, 38029817, 131681067, 868172289, 176331387, 775804983, 765416215, 37458248, 259494543, 650175446, 116424271, 587275930, 108630391, 352365347, 451857091, 803445174, 749800965, 968435638, 601487491, 970287935, 570228937, 275544425, 853698484, 344476124, 671374692, 556969936, 519742455, 921845036, 346942640, 768258846, 312424024, 628657271, 698863675, 867020776, 545350444, 659075378, 669633338, 763035019, 118460149, 269777801, 624051859, 512727033, 151354717, 198832290, 291311761, 973826592, 235433917, 292711921, 772796055, 542582568, 140818006, 313830150, 917274968, 12675816, 531570465, 310275867, 132952316, 320994273, 643336193, 48396655, 917241370, 858735410, 186136777, 67681327, 687413669, 379695602, 624865442, 15385304, 432045578, 31929666, 685101093, 262370569, 67947378, 579734385, 467151959, 342743491, 734328038, 750922303, 26534072, 468779175, 154219501, 662150694, 45327328, 82203139, 436822283, 678520500, 911604227, 666361538, 315801140, 216955598, 685150712, 347896982, 856675346, 373893971, 802350797, 485560575, 444194029, 587304607, 908824603, 614770166, 235363928, 360646989, 661203366, 976835444, 207002147, 769667834, 828802048, 603601723, 803480302, 38087839, 320540500, 565660668, 263612961, 605930165, 795406587, 521225392, 867294459, 236122137, 384101633, 884259593, 988279783, 425453032, 26676140, 802758440, 718047136, 306116271, 997900899, 116845057, 229829273, 696633829, 485056381, 79739718, 5619412, 834708587, 769442860, 474069424, 610795442, 685965559, 477369612, 885386386, 371756448, 696940039, 342590711, 176874187, 664629390, 420271834, 834458352, 29355513, 467158568, 699651851, 214842385, 197761410, 274014668, 470013025, 174275963, 169256029, 783202825, 726425583, 785365839, 611100568, 405845620, 375985448, 304479877, 879891389, 741264544, 43455704, 702168157, 304291936, 367105024, 678371938, 800399590, 781024710, 9930711, 600903419, 611414304, 622727289, 800179436, 484879917, 572200347, 166093460, 39718050, 758760816, 596214942, 578181698, 826693459, 375499516, 480587032, 192546066, 68793336, 553159556, 672474714, 722045171, 834154137, 777115275, 14112624, 897563247, 777148589, 713248133, 53896349, 984784488, 907456031, 530696249, 715579762, 880335793, 364835409, 435531695, 838525390, 930791578, 593966118, 521027791, 410719322, 806860712, 944929446, 551664573, 7801832, 938024805, 389205802, 210677200, 171008421, 639127747, 644236259, 304288374, 618064597, 516994956, 640981531, 174244721, 937458890, 976586826, 766289714, 9588209, 318959998, 654946877, 589599942, 709422122, 825068706, 388634527, 412133589, 49499649, 811849331, 345823473, 278500983, 377807841, 715196901, 729215375, 671859639, 618375738, 579944149, 46207752, 796435781, 451699253, 139994304, 33381894, 186842233, 977195522, 970330906, 576823052, 461885810, 423321115, 167705984, 608427592, 870583728, 415462460, 527441799, 732208235, 100063053, 2455849, 858926977, 8734395, 873687204, 57935597, 257763589, 376346731, 71990688, 63890798, 335700849, 925691727, 563506762, 18809771, 855542967, 24702513, 514200311, 279170660, 71275659, 236076856, 633846019, 223301954, 141717838, 975241499, 589286788, 83746465, 826622936, 327660795, 460067893, 299702131, 650387727, 75226432, 322588720, 440679587, 40710945, 927277242, 447777036, 923905306, 123859003, 96647098, 339466178, 239179281, 779159293, 831815588, 461102311, 761339407, 506576035, 118789567, 97026859, 905617661, 427013804, 988487658, 429967896, 860778391, 633120185, 538730693, 615752735, 552914956, 549505890, 548638242, 982928499, 559611771, 635111759, 132216300, 13981796, 517208455, 216243908, 545081615, 312938081, 702879852, 154333478, 578253327, 250958927, 195684572, 706151446, 844562494, 133511853, 274563385, 157612576, 691540905, 593654842, 139753295, 944775224, 448806626, 17352666, 483527708, 417255008, 942808084, 610267872, 160140589, 774949960, 178000469, 726071245, 465333825, 838274853, 136912395, 566755109, 866512379, 522935045, 712065351, 269989179, 209296115, 352158642, 27056861, 401084238, 88875001, 705312832, 563079269, 749931448, 307084799, 298549126, 180866681, 209280250, 100447209, 401865721, 989256614, 171372550, 575438969, 168326817, 178144701, 640275690, 91016282, 645605632, 389043438, 892936830, 37702310, 950826596, 738970099, 752601282, 64074849, 783487856, 159535163, 81209870, 350352629, 313757778, 243544808, 36970685, 698707712, 48914046, 174138733, 787976069, 345569449, 909165971, 55963573, 632869914, 225193755, 788569242, 492394788, 652741385, 709103936, 416946235, 763778410, 956707945, 636364282, 720178900, 183138428, 905033705, 458861632, 419703325, 963205101, 625277784, 792184088, 240100557, 146743282, 612299793, 787745272, 942846238, 3798767, 778808260, 891127602, 697071795, 359423233, 48232491, 978516665, 139026385, 437519200, 614788135, 998717584, 19499483, 998618966, 79992415, 768534415, 4087056, 351824881, 866379033, 587134174, 191418377, 298228878, 637290255, 797608349, 442716686, 315888840, 28888770, 360685442, 80723935, 264919349, 881603483, 400528907, 308794808, 627219272, 923143645, 200752432, 24112384, 799072919, 873585682, 233741019, 625660151, 336026917, 137016470, 460217636, 341035004, 452084172, 26819432, 303513462, 76299750, 869351416, 37700541, 186794001, 619616456, 939500218, 81587490, 164550355, 216925025, 996852168, 154205120, 736214040, 802616472, 15326865, 173187721, 860597715, 592970787, 19894726, 147429856, 100578508, 20387846, 594593659, 290003610, 336554819, 863560025, 119665714, 652451529, 231840834, 20306372, 584875747, 797558922, 21702919, 288564837, 817298606, 440779403, 360973258, 446034367, 91256603, 801232454, 524351854, 133692022, 586590108, 457587709, 480493581, 641244940, 313632312, 210849137, 818703726, 249371092, 718505653, 484011689, 209705578, 133264500, 618804898, 636388807, 258060148, 822396597, 664398257, 564093245, 691516581, 226748370, 527503814, 786016682, 636337330, 542283690, 33162186, 704516901, 951927370, 538787765, 79081578, 131374725, 408828343, 786316083, 74021618, 336834357, 657320084, 440874643, 359242985, 745770913, 290163024, 54196048, 432432474, 202059302, 188179192, 680118428, 11217733, 133464285, 959884052, 829585557, 206507122, 561116438, 256282067, 960509644, 807235540, 564877633, 757841650, 409768079, 72683181, 381925614, 82581012, 959274564, 428589041, 174546608, 122493752, 192207392, 638608285, 212968131, 833890060, 308817850, 235634722, 617107683, 774885791, 588154696, 722119344, 396672538, 525576355, 953185644, 330939199, 249006868, 160629836, 450940814, 572188919, 43945804, 100114551, 855073225, 167911132, 827311286, 209168121, 640405966, 364790556, 722980300, 412024193, 771505225, 186682727, 560240398, 738573995, 218068399, 253226032, 33675106, 559482820, 3706682, 424094699, 252519223, 835372947, 514361962, 724973226, 177564875, 974925916, 590888638, 205043061, 291530083, 232172956, 24592590, 633396808, 957510969, 348888759, 362679195, 32558225, 177904766, 524174936, 782238628, 198841409, 293559300, 39358666, 628343384, 243455217, 642727576, 516618018, 412834339, 228431434, 631629442, 253014529, 62270427, 569129006, 740458575, 761853114, 449437552, 137594710, 151611947, 700143229, 253923836, 759969835, 976553217, 482538601, 147792199, 826197028, 603151182, 716916678, 860406508, 706014128, 411997472, 60526593, 588268121, 108898688, 421057196, 299991201, 3432015, 483651012, 523111214, 609675614, 356322096, 5645863, 397129614, 291012669, 317145168, 906165793, 195915128, 435232451, 400839021, 209112947, 530572340, 223360398, 979247342, 935193381, 962528697, 486009570, 859630513, 126899720, 340530195, 741722498, 439095587, 168264898, 102577434, 105844717, 217425424, 957243364, 713666307, 117532598, 411134752, 399949200, 749606533, 45501689, 396435315, 615552413, 366427155, 79071019, 815544656, 770985944, 950876620, 493569546, 613891234, 719911421, 105455689, 622697448, 156493779, 786970783, 61279436, 683927815, 925397880, 687177560, 978846878, 664929771, 562854015, 83066865, 735657650, 95400375, 531179555, 30695815, 860660187, 41440521, 997740710, 994324123, 242139651, 407345388, 99024700, 887651680, 992511610, 693181064, 962591327, 842753283, 718798246, 522360150, 512380814, 595586461, 569955882, 765015593, 1681433, 937791418, 119385572, 782762939, 815545646, 691034754, 845682022, 349781509, 91637183, 854766680, 437125773, 245756393, 145365056, 864859166, 866442490, 111235939, 701780204, 951706149, 814670719, 140196686, 975079315, 697311830, 576404466, 45168976, 89108989, 158283122, 792808482, 198723071, 613249827, 19149288, 627049138, 985240197, 162285771, 812007131, 687256439, 147809079, 869637205, 81269730, 261333157, 968580004, 655147556, 108529699, 948595688, 743555037, 25704132, 536731385, 616350414, 673836519, 762788907, 999952482, 329107060, 353116906, 344622839, 532781623, 906459968, 593330812, 753016282, 325281064, 318753593, 783486331, 499071570, 342506212, 888568623, 169629083, 737825969, 294811581, 984977329, 550619169, 288872391, 164588263, 778413107, 367538519, 697753995, 958443082, 769107012, 917177785, 565213022, 549226987, 918937641, 129915384, 973262805, 10714209, 416409449, 437460191, 106753014, 404993612, 747678706, 890353872, 154480166, 457467082, 741552551, 951126907, 10755279, 776191641, 174743082, 603693219, 882242882, 9339546, 312989547, 2008131, 442444795, 78887187, 242447161, 828823014, 991262571, 584031941, 749313173, 563661579, 456654266, 712248826, 415008397, 424719734, 843712796, 739718330, 649512487, 982121811, 518263221, 907582557, 409905564, 84502806, 54128182, 457071466, 283821626, 361470345, 564801290, 980849621, 420647215, 773354635, 296120976, 326072585, 812383677, 819844381, 594846040, 700196077, 751875126, 276192833, 539968809, 905706810, 276890407, 51815808, 350016939, 924781218, 277902936, 58309024, 167478268, 856059863, 693697349, 251599127, 298198329, 80162231, 679963481, 245452691, 259329851, 992688960, 541586234, 389325315, 10868109, 787571894, 99752497, 995616882, 639891025, 552501969, 650150492, 370104438, 920560359, 414935807, 47119663, 648051122, 565490188, 738375460, 308573648, 32487570, 521590785, 21333557, 537166405, 721080354, 989228320, 450287428, 140183706, 78938591, 3024572, 375368574, 67112890, 846955405, 45110594, 111101449, 981490735, 70651583, 705330275, 797174350, 46232660, 307832605, 944765405, 128874885, 107151682, 767764526, 869687399, 325268454, 994991834, 171146086, 906322553, 379481800, 302940914, 820013114, 547278544, 603846896, 271220390, 658651539, 30234694, 866822542, 83720996, 234170390, 923171119, 425227897, 793843873, 796617910, 844201794, 59549070, 422148336, 585830519, 722421013, 631321372, 187579057, 569827715, 791639232, 457320759, 513901105, 498988218, 202690630, 502084024, 165270584, 269675993, 527256750, 696977164, 76367361, 78419866, 538958567, 946920176, 16536982, 953804228, 494830845, 152087510, 498412741, 992130242, 738483491, 736000816, 62275373, 62909804, 836851597, 789305465, 28856261, 12203261, 808977691, 208786228, 203401607, 401654356, 242289598, 681648042, 991657916, 870943359, 596731432, 79601017, 330983827, 490407169, 218789358, 701283282, 745763980, 883561649, 65951078, 269847119, 62836149, 553943725, 183899983, 757092800, 269415250, 590785955, 323907877, 61613467, 603899682, 199758099, 764775284, 692596922, 198639484, 870163432, 868595845, 965920355, 805255414, 258793871, 84921348, 195324343, 668853984, 983724297, 322025224, 452848359, 258311954, 703428283, 52510939, 917442089, 732369444, 586278712, 961890786, 797738359, 34137099, 982411739, 104825149, 930072989, 711312254, 298724134, 505528644, 693868278, 141515603, 670366979, 664680950, 747578223, 348956115, 223024828, 535182883, 900023957, 191373984, 546513209, 106546576, 421897022, 974645627, 198859883, 759337852, 807543597, 627541390, 652347206, 533229139, 117347642, 629240069, 262500781, 381692957, 243234296, 642857473, 641711450, 444236962, 179671424, 53373975, 350959494, 128059099, 264434740, 834144078, 649135221, 718978485, 440394151, 409467815, 856383879, 230878007, 307722449, 319461610, 281902249, 36709686, 647313547, 530458960, 941516375, 260906308, 172004472, 284306011, 299964847, 969128443, 911605118, 343235664, 163073255, 127738598, 180387584, 735418073, 21682505, 587057529, 22099406, 668609612, 373380350, 908411646, 23031227, 481009251, 932048369, 619906047, 530978278, 47351120, 488661560, 97857781, 571037987, 111723387, 371118106, 586181435, 210849805, 829496233, 712803242, 218324518, 837627863, 555274730, 165883848, 724411523, 802798879, 615650623, 766907799, 300554547, 796963089, 343862495, 344290040, 343614865, 666342295, 439606974, 819437717, 975161877, 668756777, 538351638, 509141879, 552338780, 723883697, 199213853, 324968323, 752981070, 413013524, 291764582, 660307007, 779936848, 863943924, 478514157, 99850131, 646469286, 678715800, 782945864, 48178525, 904979102, 596282345, 246935422, 614882361, 557658309, 197019449, 754297160, 744746503, 591982565, 764338, 390506436, 154270754, 846656029, 277999320, 420230847, 833791065, 676752795, 839087388, 675500761, 285340114, 22572481, 417695698, 704562013, 41624805, 789433408, 882115469, 561425895, 726453996, 251530031, 985920433, 601557403, 55560854, 783275455, 21351991, 535598226, 216090126, 678347500, 523761314, 280659722, 247115833, 129409218, 85551839, 176501693, 232823137, 396118722, 884819546, 873030212, 3729851, 55465312, 125620193, 834628293, 822826859, 51984910, 100243574, 625085972, 241693117, 896585867, 923876913, 914916143, 97529238, 24753814, 292260318, 226429483, 794480368, 949684989, 961347861, 360364586, 726210615, 608462961, 141710835, 912925055, 891700956, 127644587, 731534896, 665506485, 393077596, 542908200, 818855741, 605171904, 180557403, 592669483, 900687435, 449872673, 702819805, 349260416, 617336712, 770359860, 629803012, 986931315, 153033902, 250031173, 991141297, 988975487, 73649694, 838042040, 135010053, 249936415, 426766814, 849613584, 192142953, 448582560, 440309659, 227036262, 967162019, 756852683, 965794285, 571566526, 289583654, 909541254, 425403069, 266495901, 152371606, 401175652, 716905330, 158968794, 126285568, 169934015, 944584910, 467985407, 155080984, 360427779, 70283661, 743854195, 751306778, 368793341, 687453741, 449289223, 97581784, 881270837, 882202310, 519816257, 822948399, 404964072, 766034647, 805590062, 321809617, 45736382, 943883758, 607135561, 461234429, 103733438, 277798901, 613814775, 223275962, 203826197, 109373366, 775532287, 36447239, 631896061, 848651774, 296680080, 871211168, 778496185, 463187392, 381177763, 786903723, 967700016, 872425031, 194434615, 697972044, 521942373, 20583193, 849597522, 262364640, 382603191, 940252604, 724526348, 471048197, 67192970, 312826365, 338223362, 808827528, 518387252, 137790565, 707890679, 107464877, 979955404, 140701201, 782703155, 773927745, 565094442, 94199627, 359749879, 158466396, 922463970, 968859683, 251654643, 976028677, 752044057, 327216243, 569970131, 945781421, 993495755, 332188657, 774107064, 661077338, 574659814, 738723198, 895847380, 976047975, 761388289, 822100175, 932656168, 768981761, 619858220, 243011060, 585157593, 303740842, 916389725, 584773573, 475507465, 670401743, 365021344, 619157211, 565735266, 103093724, 417142476, 383321407, 500187975, 877423520, 236229283, 765217646, 135201597, 844370967, 717038753, 225125735, 357505824, 923104741, 279109208, 433779029, 96965114, 57040997, 988666691, 80583794, 620533299, 575306582, 692840547, 730186269, 460536902, 312812628, 641615533, 93176862, 37022900, 209554721, 985159151, 241881789, 243632833, 435518078, 817902988, 723776210, 875793289, 387275105, 917653587, 927795245, 511861073, 583225980, 418191437, 326262041, 562997864, 79182803, 418161249, 165097952, 42885243, 836138772, 624744964, 489163215, 17413248, 580175865, 354224611, 626455081, 737136668, 663806035, 865469956, 609771118, 90544909, 503024623, 9845434, 294956768, 676433909, 386854165, 186108582, 494708344, 602226005, 229817229, 277988072, 443293803, 380342976, 822909447, 690392349, 406865595, 966020532, 564219394, 369752104, 108259276, 828382268, 599916395, 112674376, 662921747, 160134248, 156823088, 577459797, 729114473, 779047310, 11187268, 813549528, 209491833, 273471857, 450315101, 198458114, 310633909, 759199515, 776850805, 205714877, 677060818, 365038659, 927958227, 245218526, 175916912, 669797092, 179718558, 741668545, 589032614, 584723964, 677151921, 918854784, 16748113, 884034822, 276679470, 97857767, 289375755, 105035255, 52091352, 285600688, 553281724, 826960889, 686891875, 359263190, 583368843, 594178606, 80460267, 433256590, 961443019, 86738719, 91479357, 828475298, 213309833, 404259026, 488466051, 205020299, 186291238, 830231073, 263002509, 658402823, 722093982, 2707645, 609384754, 725129253, 98183107, 199561302, 538244499, 730635828, 1763133, 955756434, 769941922, 279567058, 383247421, 246560998, 634147901, 419739346, 556328405, 277817771, 79277520, 134904881, 908521925, 54260165, 526823437, 566607571, 86733560, 82806852, 113177486, 309837215, 329583697, 639335851, 298482072, 51621755, 246618083, 959550278, 750132394, 42450755, 803651612, 308471694, 797816400, 309531117, 962479401, 969558709, 69108963, 230069795, 766208724, 357398629, 997043385, 309781360, 404782898, 761499975, 919846194, 562345869, 897052823, 41673271, 974389356, 841023791, 483241678, 563271600, 907660550, 761264811, 777478989, 820313346, 383001506, 990149712, 686637237, 400321865, 831868414, 484117050, 581388951, 737611572, 781441744, 327971388, 119262291, 696722667, 330472944, 962666865, 378431724, 132238337, 390555739, 447550242, 498496919, 930393801, 699723024, 302632292, 177985234, 541554266, 924863877, 986737642, 691913120, 872984948, 379619669, 202913880, 182379047, 595847580, 360613123, 321499362, 954852468, 332499865, 315603845, 825281930, 35005560, 119737327, 547702225, 797353294, 474127361, 662548380, 154792576, 674779901, 866577525, 387065155, 430056385, 120476520, 83406591, 443041445, 54665626, 819761948, 838607356, 738545702, 203438612, 284295839, 525964556, 487716597, 873420007, 569768495, 33887728, 68267053, 581333790, 927611167, 126266089, 18626225, 56740192, 62905859, 728926855, 321297055, 308618204, 196002031, 198608608, 418058167, 751893418, 782250152, 238797171, 245817540, 450533610, 910547065, 380716795, 476770146, 420182222, 605912228, 285120437, 873285448, 763816627, 519198525, 126702985, 503984921, 198712723, 858243650, 150010558, 463337347, 590163459, 897576877, 98780048, 274208431, 171093848, 703278200, 405713424, 240769407, 609048712, 630772564, 631511789, 704938152, 284658411, 744085986, 666039144, 858392858, 958969303, 301422432, 710419383, 763111164, 521346842, 22819496, 398434257, 981565890, 887065630, 352948072, 529229711, 232522475, 567303445, 619010339, 862745143, 193984724, 795833283, 329278472, 721221867, 406288040, 952477251, 941581007, 30662686, 848555548, 564970375, 257276111, 956360491, 888765249, 386551974, 62936246, 522451850, 904033210, 693292776, 832130100, 412724443, 889948360, 892453929, 511468306, 533307588, 356024459, 428388717, 897521659, 398523800, 35470209, 806924263, 114912557, 188119322, 819863096, 632096473, 373963037, 100976974, 966047995, 857616688, 95569414, 606093966, 932825027, 968909130, 952189685, 351086658, 59049463, 59883169, 700455701, 931967161, 740024255, 460014124, 419525945, 208012806, 420920096, 976819994, 147262959, 728140976, 262902887, 13350490, 182133264, 192412083, 614453375, 168606051, 932616232, 935683087, 709690209, 891706172, 522063752, 438726257, 954947206, 369957774, 139169087, 950363307, 545048606, 208532720, 303484295, 325088206, 19244962, 817647516, 663170139, 353981730, 57307350, 117076682, 603423820, 238352110, 921791423, 879640156, 969148626, 944753, 829898578, 531668665, 287080915, 718489653, 875810122, 991016544, 935546706, 338588588, 960014062, 825076855, 962453761, 124055667, 509781469, 373899456, 303677379, 22483733, 755182580, 183754657, 187378364, 887717319, 665335625, 963227328, 611797707, 479234890, 804434693, 111428521, 785984820, 891393186, 604830515, 66581709, 177669014, 205943391, 244188285, 63823487, 967380488, 492468459, 140302007, 71613214, 820595605, 416773944, 590929067, 235958281, 94250618, 635550429, 778376167, 135490131, 298540703, 823938496, 735503460, 303783073, 22267548, 614068946, 209642944, 732701131, 551901627, 110362683, 885273642, 559740041, 722765361, 330365524, 825622304, 2480328, 317046717, 63838613, 748243128, 749804224, 756654494, 130353025, 18668410, 223748299, 704169274, 260425724, 224652808, 509701162, 653890903, 619555916, 18669285, 514236196, 756240165, 745422576, 645020782, 972652658, 739890335, 548666193, 563048602, 33350811, 609479777, 633297017, 628938346, 245858157, 378527552, 56688411, 478015215, 809227043, 688012331, 146024446, 211890698, 606212825, 628384480, 177852874, 608168755, 806675724, 890604117, 696032266, 885899438, 6682259, 358127917, 822317486, 831103452, 6654558, 440977670, 312590272, 637781183, 780482542, 515605843, 304963118, 329388141, 756730236, 993719866, 444843312, 899561364, 943665600, 746003465, 729351837, 486539389, 708180042, 191185236, 816342172, 767440101, 535310609, 543708755, 363964612, 975458456, 631927203, 9239536, 926441948, 494404809, 553810133, 932588888, 875023937, 845066969, 888070435, 610494699, 44570648, 294476833, 85971029, 777908270, 859052618, 752958295, 533514338, 619256766, 539090707, 921770657, 417549265, 733497748, 565668632, 673010715, 803766546, 799209566, 140338879, 201317307, 226474877, 510583758, 666087481, 363460180, 792398537, 957330335, 754237246, 686850336, 755379180, 23760828, 828263619, 853611291, 303692980, 802120740, 827787017, 542404207, 322021766, 132370750, 87888727, 518667548, 477825038, 623114875, 719048213, 99192002, 365632867, 972163982, 83671451, 325042574, 926269824, 794651774, 721176240, 724818822, 737807914, 660654750, 319113827, 633871487, 165177323, 857523186, 543479121, 14600806, 19903952, 69140893, 151123178, 741733583, 66114103, 729108918, 861002248, 626177133, 840153473, 990738217, 51340490, 924833566, 937200548, 456941737, 614775874, 410783433, 239628287, 621808746, 808341090, 683822030, 489538888, 396044397, 684901790, 350768767, 637073645, 390608693, 144833061, 644603374, 275761565, 381168954, 443025320, 245879399, 185768067, 441519781, 72959974, 195352533, 600175797, 652900820, 901325118, 752894720, 248471071, 502359134, 505898557, 605295575, 872084517, 726174163, 4917992, 188781119, 629785905, 60108370, 562035283, 338670528, 301303938, 890868720, 172274420, 667389175, 995380511, 499330478, 277828294, 449041549, 792940534, 845703476, 190275720, 166366229, 270837812, 160434921, 95175878, 825552499, 163213246, 348243997, 665630604, 870642494, 614673246, 87754624, 580428922, 247333287, 554816611, 888472259, 615417677, 806526826, 882443124, 141649870, 646284092, 764152255, 207349035, 462206892, 730538624, 241181830, 889206766, 225490006, 408956419, 197669952, 436557309, 236236846, 112290040, 23365034, 153944271, 826639897, 804752142, 713515925, 803363403, 567539484, 616611839, 736222534, 331729651, 612403431, 86974822, 665758714, 98577942, 490264054, 37127403, 68458453, 136448401, 221237932, 363634365, 624715384, 631672798, 918600486, 933220688, 426867650, 626649290, 539364009, 226738584, 194477580, 560581618, 442194134, 938580167, 843292718, 841293461, 712517155, 330705775, 803902781, 642208428, 741294289, 394747858, 781249485, 160009016, 153269921, 533840971, 321152019, 176162832, 515949550, 242867581, 570244209, 129498853, 549327794, 984824971, 815676487, 368293227, 777429891, 584517151, 333548810, 200903430, 166508241, 737665340, 649200055, 93456201, 717961175, 52816804, 897443081, 599981793, 826449132, 260300732, 995715268, 397918896, 671092647, 164323276, 865283018, 983969883, 578098339, 961248051, 684540285, 506101814, 800521484, 905142518, 10411051, 880845291, 940514119, 88365365, 648301664, 626892602, 965987176, 845358673, 222238550, 395234302, 26302070, 385690806, 561961933, 892245445, 119350826, 283866663, 441201710, 817168215, 115068538, 249816624, 388609861, 200005391, 819967, 195266374, 870747767, 459575466, 487908127, 326310398, 87070905, 853422282, 97733368, 10273382, 266988760, 905782821, 722340764, 301605105, 470555891, 286236198, 171295283, 7502697, 901839516, 559169213, 572909263, 246471997, 220432165, 482305475, 448917940, 766558855, 754080651, 899468687, 622035330, 348570394, 483683988, 924901958, 100980669, 312044544, 764053407, 605816550, 73921485, 522024025, 809973117, 846592631, 230720425, 361416898, 258598715, 819755516, 250038846, 645917408, 156551736, 181702272, 315201135, 66678897, 123781269, 881897651, 287178383, 17273732, 530930373, 309558190, 150379576, 854069531, 192387756, 237853847, 582198964, 437243576, 596243130, 18265565, 951363733, 9148556, 557376573, 40352187, 592198139, 462138057, 225865056, 795140515, 857351837, 670228521, 111419939, 518668154, 28601289, 49863207, 125842238, 322710297, 734251986, 572044912, 839223625, 251836765, 708410257, 174813063, 231315110, 325327836, 204737521, 187402457, 406479115, 739104629, 796264395, 829944431, 153944545, 995905722, 210011395, 539182127, 838755936, 32349866, 542948348, 862056270, 410677375, 750405185, 791892658, 507161701, 11591856, 448885338, 651828671, 690623441, 57367018, 971897981, 663436516, 786041089, 79439302, 174139468, 834483685, 758775160, 71394074, 567811390, 347170796, 61589607, 889772133, 432885136, 931869355, 230641586, 397480050, 368179658, 310388889, 960747171, 429469885, 290448374, 794248968, 405140333, 970496675, 339825680, 384485180, 620555992, 674224132, 746203741, 700755450, 58611034, 919479389, 763301300, 8946162, 859434675, 750247762, 27326652, 438188807, 252051110, 696553311, 964019122, 752214792, 200088435, 814661588, 793545749, 689216788, 555899615, 359368726, 838877342, 130436860, 155566193, 805216040, 443533794, 590758705, 775860866, 54492520, 17453688, 884860810, 430282361, 203556477, 819302488, 129831905, 560809786, 375655441, 801927741, 699735310, 196983295, 901113073, 601643247, 776929149, 981788579, 118966766, 551237840, 570674039, 127964620, 11569633, 640416629, 856373446, 641758812, 885720241, 636752773, 327607489, 428355867, 557247830, 363278751, 584782572, 229678031, 178061751, 209568706, 395558577, 146438482, 107112163, 775792806, 123345478, 849810544, 222305504, 425370230, 170770590, 855095337, 900887333, 898005022, 277323279, 152105777, 213052732, 698260337, 970443035, 571904829, 953170991, 216224292, 41894788, 684842096, 137748891, 224771609, 343003244, 315313452, 87788322, 183153989, 339017403, 719490060, 495653913, 328806659, 139658047, 51910657, 424603368, 362169117, 422677614, 994751962, 536392450, 39285603, 20705330, 609661588, 962055698, 591704354, 158381499, 730311091, 203625800, 737717757, 781396960, 455897628, 536393920, 840410531, 183980106, 790498925, 608391714, 167109876, 561278350, 495260645, 962268249, 238320167, 53638273, 878600125, 363734053, 752077063, 210813217, 427159987, 415676952, 895747888, 763263516, 654201569, 812407575, 928489392, 546130042, 791256620, 993737861, 261185545, 507286939, 382246112, 852242634, 500437808, 363542581, 88816632, 608249730, 880031067, 732981253, 935372259, 48062021, 647530288, 183660215, 95103304, 848235790, 906724802, 899006711, 253099180, 266940179, 347017590, 408946076, 130175945, 819789156, 456350192, 320991224, 74027138, 692441356, 615775861, 849024919, 691993748, 745012287, 920535847, 103220039, 902633585, 881776026, 834735391, 947803509, 589665618, 126268329, 115892965, 774648958, 11341547, 795791947, 942673675, 90899302, 919011228, 19117722, 906937525, 180505493, 423946099, 243871457, 658749012, 250038565, 480322949, 619737636, 40810261, 907456727, 757649638, 339453099, 792453876, 469164366, 624433488, 901800522, 26480627, 852332455, 414604694, 636445387, 75639620, 720467272, 1862859, 491175326, 243590241, 893159548, 412133446, 224625471, 198973055, 788693057, 892208390, 879641033, 673610945, 437062048, 771338046, 744703042, 765766608, 520606598, 908381319, 661774089, 597880532, 811641562, 242431970, 585958171, 402534931, 86415731, 401809965, 465485383, 292735213, 522320421, 500386168, 759046138, 366628027, 666964965, 457228359, 797966269, 693544374, 48848904, 779056365, 467633500, 804335980, 583117146, 490832402, 728183404, 694066085, 276094351, 503791908, 431142511, 66976859, 431184275, 140901764, 562238322, 191608683, 214618263, 180359150, 346721948, 834403089, 389726781, 598411654, 173439987, 816765681, 318857119, 502119035, 81624369, 753934432, 949021274, 511361621, 250673155, 200323278, 889727612, 273908434, 896127493, 90059894, 624077183, 416958190, 889095832, 740666838, 534271996, 203325407, 795416929, 906486165, 100119719, 55488979, 570006764, 930105592, 398932289, 314033208, 721839842, 247740262, 670609797, 412564258, 238011644, 507701467, 314286591, 409352968, 251888501, 437685978, 931838396, 303283895, 121201091, 789665511, 682389439, 558668850, 582074777, 806693777, 199188951, 175773224, 356761576, 49034006, 975889940, 357715430, 772306187, 504663664, 221271111, 108689449, 355162662, 531971434, 704079171, 368239538, 634344879, 782951387, 910042648, 584708638, 48208281, 121906308, 800688297, 897071532, 496817417, 899626940, 907621460, 742303317, 262650333, 542972192, 909777566, 757550873, 891775400, 106978857, 399780495, 719949369, 460528534, 514830601, 921130842, 945924998, 960439808, 302035125, 150355913, 30152452, 507014701, 283639299, 244420768, 829081434, 421433922, 179624726, 725885682, 467400043, 72480620, 741262902, 179401681, 977998112, 976229953, 892611369, 711220125, 401241802, 610714585, 90204974, 409001349, 377498145, 199976899, 30801526, 721328209, 900945734, 596336996, 957108969, 180215938, 874412516, 215770374, 505616865, 358231209, 39099288, 792666290, 285927858, 111838173, 802575766, 461385538, 179133556, 643910120, 499655120, 623590479, 476918067, 867987175, 322598902, 891363715, 37548512, 919088532, 334241953, 195996387, 996594702, 34777551, 560103060, 690652138, 384053606, 469733197, 356143732, 383471194, 690669258, 220692111, 164263734, 195308069, 467646413, 550086908, 312843696, 918060462, 32888712, 955235109, 974648015, 662747735, 706608041, 825230281, 356832187, 486895869, 339618726, 320535276, 930259004, 278623886, 758899503, 566505977, 784469501, 563133635, 493954087, 475892692, 3000591, 926208733, 696346060, 335398502, 70270996, 627857983, 946926860, 738016805, 619965892, 578262230, 232898848, 789172388, 958067569, 181533495, 963094729, 279137637, 913858070, 619463770, 6011170, 59083246, 17710056, 135170625, 449077792, 357805165, 365833356, 630534491, 552767533, 920177498, 731084314, 301758659, 174945264, 407001411, 256426315, 107157081, 38882354, 162732155, 561837550, 567045268, 553166662, 198434254, 851079060, 775689835, 442126928, 398688996, 259672488, 666319367, 556392539, 323921940, 974402994, 984116518, 536806279, 716458323, 607565759, 937417597, 18442116, 945035674, 703070823, 591597001, 179978910, 185312890, 609209661, 735867515, 556150186, 822489546, 323579648, 807596575, 27802206, 670002469, 695193092, 316086240, 736538007, 339824204, 519769445, 439757255, 64468310, 110305698, 405266631, 807385882, 855223351, 474508970, 620816335, 997744519, 260777163, 934070618, 655261421, 211374150, 613902415, 795241257, 995626847, 44587238, 443410493, 744363616, 741291964, 809953148, 658436589, 911538795, 12918776, 412913107, 328192291, 134208295, 325827901, 102380445, 531178640, 868138410, 865497999, 86677479, 938803298, 501183932, 697400952, 528339725, 492817518, 860560014, 305880637, 719315205, 158539107, 740756194, 497411578, 162784745, 863232504, 837224923, 543667223, 688982541, 414918613, 96230735, 885522837, 841460555, 629565988, 148911654, 452184359, 859087708, 373305942, 887815510, 802047258, 25828636, 713916568, 969492223, 70735617, 662891459, 32203589, 286769612, 784075057, 272821177, 578436983, 31072596, 141413100, 940873884, 781394947, 246199788, 260134279, 308962291, 626706815, 916367981, 149884806, 150859219, 751349822, 688054638, 934575718, 554366734, 514672844, 546708071, 311479095, 694963029, 919655601, 579707634, 446756501, 147320264, 71085938, 167790844, 188423160, 522141213, 805722856, 526934625, 554981611, 344113406, 586255837, 328196096, 951407763, 411430989, 845881617, 971861601, 133392075, 361789985, 353588883, 606254850, 181402141, 814049500, 867798875, 626447556, 482226142, 555831548, 191904504, 48403488, 913294539, 671946920, 960836006, 157774789, 686356259, 493774303, 981758961, 971851635, 776764924, 553891124, 857862505, 67386713, 415192809, 741297241, 338771474, 626463403, 159906261, 178837922, 752404027, 207197461, 384601772, 222396621, 115228126, 147140444, 488798336, 489473627, 605211893, 991524306, 328787988, 508835198, 572574337, 711447826, 471340575, 240006614, 577927120, 30166038, 42197214, 811789964, 309171522, 734775466, 578449066, 75368762, 641048767, 46125549, 239556552, 768324057, 447250586, 146389334, 879218959, 628799308, 764620154, 541091171, 210037027, 911071538, 85407939, 28285422, 810916403, 704207673, 864005738, 978013291, 62445853, 614763530, 692966227, 587200883, 170391801, 107873956, 359464160, 529346189, 583696693, 158418508, 613987307, 814884273, 778637334, 347392797, 290637399, 817769367, 593322761, 911145167, 712355632, 74226923, 744831174, 384904956, 246049095, 96055158, 293001567, 635478537, 462460266, 241519665, 974808925, 42063050, 302879699, 421985866, 370016131, 633531778, 69317943, 271275780, 704484696, 381925375, 866535627, 574963997, 741236392, 652654632, 787479286, 545750995, 222384515, 761892169, 536162491, 155042504, 84720294, 801194452, 704540325, 222870484, 77236736, 833736664, 27542305, 448901776, 834574056, 769852831, 775567876, 787914973, 56379728, 925807675, 669159715, 557887154, 606835715, 359522504, 99696721, 490715739, 523185461, 608822131, 525430243, 465417101, 374573439, 946465013, 398389406, 221207780, 902511717, 984052903, 979272268, 354806266, 131828109, 521626713, 709449076, 668173593, 23045394, 409484132, 107704923, 750888001, 820201204, 326932687, 506564759, 685893259, 966720476, 520234566, 649920091, 64505876, 968315258, 17468604, 816366370, 248660761, 237823461, 455796450, 59108467, 469295381, 16270972, 559091304, 347055780, 823674675, 494006470, 487141948, 385087038, 768044081, 19366846, 3154370, 757276008, 505386163, 600803006, 772146477, 513076222, 989994301, 75554379, 749385236, 346084802, 132977459, 335444366, 555766281, 272542359, 552143069, 411247153, 488992796, 479173733, 138479533, 753798356, 245879180, 918515693, 971573314, 167117182, 877880192, 789408337, 599951263, 6101215, 935770008, 955013597, 239815336, 871723087, 24021795, 341568811, 321573178, 860586509, 258420142, 821421519, 419138906, 817172475, 884335129, 633837974, 405459422, 160246453, 724645962, 968426387, 700047730, 745289099, 122765667, 504202093, 588662501, 353066075, 709841004, 725792314, 482388149, 603289136, 860107044, 448040183, 765823923, 338208798, 380443073, 385909103, 926069933, 161728219, 627252866, 872547081, 132104580, 521203293, 222375085, 136147736, 859716770, 387216396, 566986363, 994042943, 311629212, 123941979, 659659913, 410173459, 339011898, 406918186, 341473650, 479112914, 888105167, 922724768, 552264030, 521838912, 832494662, 977646219, 328587799, 877927950, 336418513, 253426428, 348792463, 479127554, 318357510, 997976684, 379969381, 24936252, 957254167, 721070696, 943664364, 705368292, 549072816, 745052770, 337903860, 136578005, 450488181, 980250224, 83550336, 316360313, 539510629, 810932717, 889773230, 416713167, 618973699, 226544679, 633763913, 320010189, 204081176, 667508582, 511499341, 241493980, 137082605, 378848490, 877461607, 906996950, 266048175, 206877924, 571712057, 895615903, 395577747, 532340119, 792223637, 36683001, 292247477, 649493915, 638227839, 673432558, 91743136, 235687222, 290430639, 801332427, 326571053, 42561635, 446163793, 974580546, 48810392, 124702850, 301891136, 562661062, 622589595, 42332345, 117564322, 72734869, 676173978, 581742278, 644871500, 371308177, 833235745, 283056379, 745765261, 965829855, 377393688, 266517203, 713695403, 444901552, 379233954, 323562349, 763189248, 841771873, 479101158, 448245154, 634980249, 391433799, 231959950, 66328219, 862960794, 289174475, 821398551, 789445206, 994975014, 436227823, 561589349, 699280411, 387680015, 846194490, 117505260, 719399926, 895717565, 889768041, 867427146, 627205135, 543940783, 206986792, 875200522, 941267909, 905186723, 540348338, 856578484, 472474161, 289078405, 732809047, 719299117, 81110078, 876478330, 401971632, 33863103, 755963132, 787578920, 94602767, 259912306, 414922376, 873300264, 201686304, 632042576, 444961524, 666790259, 666153485, 83712550, 237299113, 824255063, 374942182, 465024847, 293086613, 10336268, 891870439, 528201261, 603136330, 257357711, 651267263, 100339886, 617243862, 162989536, 842701528, 805129962, 742280321, 174922741, 742171505, 299020410, 57873290, 980369328, 448681948, 912973804, 415798199, 388725100, 871263343, 988459809, 170161388, 430269274, 801654016, 964441028, 360906363, 549597549, 386955181, 527047987, 589175379, 961546237, 610769437, 46568141, 178334906, 305067828, 215583659, 603098199, 963198883, 751424459, 839572248, 855967982, 636443462, 448170323, 234354706, 830661481, 899999263, 514634732, 519876768, 419751788, 738902048, 965291394, 533711277, 881649178, 754555935, 284459749, 766196286, 780784582, 595624341, 206474978, 138946635, 353951213, 460031668, 870164855, 843947698, 179761828, 171625969, 256528438, 721467831, 214000774, 244803415, 454418947, 54744449, 779967828, 470975512, 959366148, 972500027, 695441293, 810280091, 73696139, 530951179, 608736994, 948606635, 349322262, 331569854, 539329216, 989109194, 639935124, 97569900, 62991163, 500383324, 482762682, 520600686, 208680247, 481800310, 761105148, 728213478, 856760126, 946338217, 505551970, 719282069, 610989249, 799464542, 141335793, 416854928, 497846202, 827493045, 436731891, 768496952, 228068276, 163570058, 205990197, 682290248, 353334192, 763019082, 110018753, 913808354, 255779464, 992121333, 242162333, 788095693, 225452301, 133078003, 424446805, 852989562, 711461570, 549602723, 520934995, 813685358, 557703084, 437304098, 343428730, 158826218, 950934951, 483133521, 140392494, 269770928, 728479559, 584582255, 279014517, 273415950, 139004439, 773567761, 427725566, 721255562, 704348392, 703718844, 947030224, 807291165, 99946559, 19190541, 863748743, 821591223, 311865580, 158408289, 788569960, 677060006, 728110580, 641418281, 609302060, 954943788, 673398166, 777602172, 500035519, 608272611, 864917158, 367790034, 901808118, 157018112, 876279929, 436164367, 767872439, 300525207, 18933, 578182038, 534385249, 357036307, 517219261, 619586870, 856089474, 742258049, 216387899, 617026221, 636278977, 966526300, 227276824, 587001349, 724356493, 850313711, 376605453, 270209239, 952781547, 876350212, 475302794, 197079985, 464972533, 926040657, 390635024, 521986115, 835546848, 461564816, 609941379, 947596390, 657510818, 263516104, 802178289, 575246411, 142615382, 811276656, 515458788, 2839197, 9445461, 191665153, 94340281, 133856864, 775053709, 432373451, 359091695, 273522382, 457480822, 858047100, 353110963, 538444701, 178884015, 939559264, 627550421, 103722749, 899072495, 823963731, 569521133, 871211405, 332526505, 718268091, 376312583, 399128392, 14065270, 799773922, 59489012, 988590212, 695512517, 849540838, 314281220, 638049558, 928872770, 87775213, 272233907, 733892565, 273811751, 81736878, 771178601, 141123239, 800585250, 350597934, 549040955, 695449743, 658463103, 80367625, 375623809, 292656871, 920295128, 295507031, 389996681, 280928035, 890548035, 189512100, 197159435, 129687766, 867832389, 260523224, 279288044, 904084124, 133559968, 774785020, 14417984, 989199748, 890913874, 459158916, 498851107, 861295888, 961738720, 109966536, 995038062, 47424246, 85670637, 999517670, 17638156, 600298725, 347069565, 595204996, 915130335, 233083110, 800888782, 70714338, 960885393, 276646066, 410468921, 243992972, 628375448, 805855817, 475741648, 661451558, 735609271, 898508451, 798484258, 247530590, 595181622, 790388203, 224282143, 792960798, 771829703, 921797407, 806862319, 299831913, 416197718, 325455774, 620918766, 727055502, 792709720, 789739642, 902364906, 770697277, 168168420, 106800863, 340627051, 705669673, 567277464, 667515632, 899675265, 393507981, 921774938, 785586342, 677129685, 415735575, 655232011, 667191611, 538067535, 44768671, 470955366, 712815140, 14014720, 214665330, 589775535, 209876897, 489441746, 533379882, 570343700, 553262368, 590868243, 615203045, 460721073, 548443534, 178475811, 779226375, 565007216, 630616635, 477533666, 290483970, 494039994, 221863414, 983204424, 16323207, 770558220, 276956702, 63469921, 145621022, 775224935, 403349496, 57477164, 304653203, 822953960, 873736757, 150356100, 116783705, 154868430, 911684352, 142952569, 235087767, 518839622, 936354430, 452331358, 914516673, 375561589, 45673305, 180425838, 675566142, 78727452, 893023118, 776650586, 664108, 164070237, 967437381, 982245757, 383115292, 237659020, 596628620, 568766892, 203044563, 406069612, 293648416, 491826752, 295705245, 326206790, 970317047, 754206705, 773264716, 326755155, 993646207, 445220855, 878718921, 997871552, 837445918, 807012203, 394440552, 496156010, 623009288, 186432028, 143958146, 487281841, 585228728, 241676135, 121851617, 388204140, 40742765, 876632661, 801255238, 186983670, 914169492, 59694803, 611804089, 918166937, 469194246, 904608957, 221448783, 119125067, 743010726, 433187388, 314590560, 474144099, 747620861, 558468406, 642174304, 339753680, 141460484, 205829316, 119948313, 452954527, 593634642, 76489852, 486356574, 31628318, 729281524, 31981234, 911167242, 353696448, 785915182, 534384329, 249371120, 582985775, 73017217, 179839402, 826840460, 416111662, 145616744, 231228840, 595785980, 43265890, 226208001, 815706794, 172415878, 782474653, 620750444, 733351989, 415118364, 160734325, 477891762, 390613431, 73853483, 916101552, 86665537, 965335225, 865189575, 110946207, 893780663, 827523613, 688087501, 662997872, 788878256, 524136292, 153318941, 866629249, 817285610, 821134856, 568620485, 54598377, 353012999, 2890953, 972124168, 534497032, 290380233, 717381295, 341163229, 597874177, 951649535, 660186375, 510987180, 527150927, 620650866, 92681883, 912465881, 248580505, 231578922, 255073464, 997918102, 287081634, 397907823, 564991996, 615003009, 412985244, 237008118, 307092753, 28463213, 448342190, 838144288, 539639738, 330817661, 5596432, 613394247, 991718202, 221910631, 760847973, 228059170, 991544280, 512385412, 792079852, 233359009, 157353816, 549438082, 882676782, 217049891, 608569514, 166625795, 484921329, 135986779, 683927118, 433770843, 707864653, 455256761, 209608370, 613982242, 780992988, 482130596, 534121872, 46673580, 979195679, 110297895, 253287390, 797630623, 166851378, 42545028, 338021276, 161430497, 871753906, 99205310, 746791968, 398366420, 432149180, 356985835, 276720021, 412467173, 104922295, 355264448, 593430786, 86380706, 188958871, 18092383, 430070679, 202126263, 361079156, 622738453, 646687311, 444865726, 574384572, 287750930, 42311453, 719504618, 854303156, 131229970, 679883748, 699340099, 286725068, 553410150, 136172573, 856414771, 378837960, 175861360, 618532321, 831289651, 691092974, 830968830, 691076558, 555850781, 396876668, 254527992, 761787276, 882296795, 288550286, 4536691, 59548859, 956284654, 6667682, 697936331, 521936009, 734540943, 47190335, 135472361, 5746508, 460892686, 166743997, 52170315, 204544761, 662661908, 650066519, 436746554, 558352534, 670651721, 218227458, 950193715, 681823116, 577282082, 584877119, 748334121, 135052860, 273026957, 280630922, 189103096, 407473507, 638189415, 84195413, 730100118, 612725234, 44756810, 963171459, 640127224, 254882304, 266523552, 407616364, 287248719, 533638225, 249057643, 869376095, 303167329, 417037000, 365032946, 644299417, 575305633, 35522718, 916084919, 975768808, 787239616, 448167056, 983393996, 430237427, 585863231, 950263805, 208322999, 887717600, 337328383, 812830312, 824071975, 840029745, 293181447, 307584047, 246393752, 823364993, 192972145, 641044380, 755238626, 638746091, 300852612, 369265159, 784872062, 306640113, 566560492, 831366688, 41046220, 270518720, 368677860, 402389533, 222517994, 158700900, 271155376, 637251059, 281045615, 649112427, 669316968, 461869246, 951201637, 880885603, 795527510, 206765164, 869108154, 657059147, 394490123, 878562379, 481113580, 591689524, 511439442, 994482140, 765458479, 641893069, 353431937, 224398886, 907588792, 102989980, 853749739, 254740895, 78588390, 313054394, 43063854, 925541548, 692126980, 705919356, 667987174, 666100122, 960105686, 351549526, 295442033, 225992796, 189675563, 610385671, 786915019, 250471457, 67013927, 605721362, 909430668, 33867330, 58127706, 934211368, 662582868, 638039449, 282143934, 845962727, 961747308, 628538729, 946714149, 891253496, 474247545, 400584394, 30572240, 752780203, 661722868, 592601245, 12920283, 318509716, 267981111, 936926049, 179398029, 114531130, 735915519, 888257645, 646553551, 714467225, 242855440, 859398015, 997935633, 4809909, 617999219, 309855725, 875659740, 880048019, 576079430, 232501750, 188795290, 795841084, 695032293, 310199464, 535006598, 755905233, 471144758, 198676785, 694088933, 601091589, 166742372, 580480464, 90095053, 156328194, 181958493, 426146259, 842072865, 256187898, 217336210, 231744493, 930596772, 557927513, 407303396, 214045882, 864074711, 538406571, 122847885, 769848738, 843814211, 126968363, 267775549, 288484794, 87112259, 911800969, 107016930, 956838591, 480575977, 949178177, 389151610, 197304748, 755821639, 826019142, 1208007, 422116703, 756460497, 275544639, 332670599, 337781086, 219982099, 266596454, 146015935, 610583692, 366569562, 445973137, 566331366, 246764252, 135509880, 39835319, 603644202, 411703486, 433840797, 915309212, 905340374, 533340351, 596255931, 779227040, 872298629, 997450049, 153503280, 481929718, 615214459, 678276097, 562019400, 39809659, 542811028, 226022946, 553943939, 33327137, 169074142, 502903926, 391010488, 195174145, 622175261, 406348788, 820885521, 314902530, 285661702, 652897235, 458867821, 632167089, 421141892, 568444575, 633972664, 381931111, 560152192, 476915654, 561084267, 224011234, 821242254, 37727637, 945942532, 666300236, 593273922, 953981525, 983587152, 686273533, 209700018, 754453374, 667345478, 512811019, 324528537, 183245055, 544392345, 408920553, 730839052, 884067795, 269052060, 259362749, 173203870, 180253411, 861778102, 293344563, 239573755, 551359772, 869877144, 105392421, 390106129, 27217699, 507223558, 989185492, 342799595, 860850471, 434136285, 348252810, 539652307, 541919554, 794901699, 908032489, 739381132, 314348081, 106640933, 914907182, 996843716, 292445757, 586471566, 497946274, 278123599, 37865719, 109501579, 821970059, 544417593, 980007251, 861366525, 769082572, 659041399, 764897415, 404903854, 889088416, 557640894, 823066234, 76110627, 602136263, 358351744, 229222487, 226036966, 804953284, 784128381, 147843929, 986640557, 172092376, 784482858, 206533094, 455815293, 245639795, 143248020, 855137712, 858405555, 445992719, 250239906, 641853763, 642960121, 384049938, 896472974, 277209847, 88926160, 40743324, 335781121, 975869008, 141525751, 814310223, 677299461, 429067963, 257242270, 403719637, 736645698, 574261465, 522111705, 732963208, 456150395, 478181328, 204355324, 579042228, 559119149, 289293277, 540534446, 588542077, 346668086, 550632791, 632097396, 198454714, 616382056, 708302636, 197440259, 222381259, 741156583, 271467866, 459654228, 256468321, 87731032, 624756075, 553951753, 121995863, 449056386, 703843853, 453486013, 813497782, 256919876, 604919272, 680157386, 135729238, 873527452, 561702750, 812948857, 965992678, 695549206, 454003128, 134565271, 179054070, 523334385, 752836352, 472633205, 577568748, 2859140, 915380875, 549234435, 225382751, 425635343, 231481116, 836877532, 683656570, 386199815, 367159917, 471182549, 189371068, 66239156, 488955458, 82582618, 77092711, 768862608, 433785230, 989656481, 141098912, 282290531, 822855350, 845573714, 177301341, 176021676, 58997207, 785607539, 697989397, 608782014, 993073815, 283742012, 907573742, 42418836, 382831050, 274138265, 638034567, 259274599, 718268402, 646291106, 719602367, 189565684, 331644213, 137413506, 938001089, 327304577, 468016353, 808659345, 445187285, 826982413, 320998106, 596206239, 17691810, 260094450, 339875745, 239841726, 32216350, 791526260, 831283527, 39333648, 137025809, 934435653, 900943945, 793539140, 737369158, 58210808, 922237998, 216604194, 489377133, 612784259, 380433482, 849911838, 19649237, 427410859, 865923989, 154710411, 494599116, 956189943, 780246960, 133818102, 347204658, 843711562, 183412264, 918103911, 249436317, 353420430, 128993197, 751220910, 102405728, 950358241, 297949751, 477052300, 867865403, 656688607, 870137277, 577039005, 475599594, 879291110, 16373202, 205972665, 838614706, 1770605, 376537967, 774088928, 659533599, 773845457, 837374969, 361653445, 183505313, 230862780, 86156991, 470630496, 601487938, 35084389, 340248157, 465999390, 613093531, 747193153, 801524340, 153326047, 201262279, 979814716, 582279294, 990718937, 538971154, 662704340, 282420444, 789162964, 891874236, 678525947, 697979318, 984011494, 440868196, 163508510, 632102064, 739061208, 370370532, 231387961, 242110760, 261819378, 855498781, 829164604, 551083420, 362407901, 172213096, 903414540, 793120579, 284544432, 730106106, 718078306, 533260916, 36772625, 814764644, 953644836, 267043595, 655371190, 809169353, 743130451, 745686230, 829408008, 523334375, 569291492, 661179892, 416205673, 826844198, 357486393, 106092452, 358782247, 761094853, 37313060, 25736013, 599702740, 264629158, 617778207, 235791330, 347520641, 518411884, 367136294, 766353650, 781372273, 214088641, 425722804, 235735254, 914853862, 11739822, 160905313, 957736874, 760154587, 39217068, 436967323, 879883920, 818043266, 258806555, 51704728, 465440085, 599580900, 983206206, 300579411, 393316209, 950946519, 350560917, 962891275, 892794290, 211785379, 337549136, 191126202, 331313329, 794031565, 387993841, 35678554, 328497499, 847187255, 43902177, 852987751, 684633237, 806816261, 180489319, 720245314, 854293148, 603410805, 381592633, 573213103, 450736314, 925665311, 853327382, 373724063, 313738064, 818064651, 556797903, 273228519, 932196045, 167122141, 195694242, 293605983, 236310900, 746935153, 936437964, 451428882, 404907367, 765962422, 204786383, 953627386, 411475964, 388619208, 79609038, 311814371, 288231266, 526356059, 922323878, 820325200, 670303665, 149094722, 730777215, 405285259, 563067687, 562099923, 393700332, 759985583, 859193905, 2996648, 511941696, 245350428, 52494370, 845459291, 694267085, 213380092, 505029985, 193706519, 215927861, 309104702, 10642605, 178366203, 748005814, 727727153, 40355867, 194843833, 358138958, 424268587, 278732392, 302648572, 323053658, 233233461, 284124926, 325699028, 916851175, 440407545, 463555271, 695932166, 286425657, 76671440, 857965728, 491763221, 962190127, 396041168, 741228398, 65710193, 681004379, 497558595, 529776995, 481076750, 130708512, 1166335, 63430223, 397442041, 926793869, 250490270, 611941292, 129936405, 18885948, 136709408, 916513551, 30240197, 822181374, 461370628, 463065738, 919838377, 583496442, 869385946, 905543815, 126198167, 937676735, 657193108, 738276029, 471364811, 910705087, 676456792, 595710061, 411098790, 572204348, 306244578, 927775413, 880355218, 563486995, 797218450, 214165957, 25897174, 850393958, 543563307, 77553685, 987156809, 982694944, 462367675, 945387539, 246954322, 465083433, 783094255, 289420341, 177772085, 243695758, 341462707, 270123447, 989522100, 539530223, 842325988, 349957140, 947904103, 530077388, 250428915, 485362076, 950508583, 57834861, 578469554, 86487744, 66100586, 981346482, 701104833, 187214785, 710708661, 292711872, 117332855, 51223668, 341666941, 852550777, 611397443, 37716710, 167562271, 460439222, 156160291, 969563053, 75694502, 823889597, 461618475, 618340679, 370354014, 213353479, 465254232, 866917194, 183339402, 116483177, 905944964, 520549405, 736611784, 310844458, 594389071, 230334589, 817403700, 794235723, 905425974, 758129137, 825537218, 343304191, 61659683, 258735585, 129723563, 731487358, 278122082, 537637701, 743898876, 39838323, 96535018, 325729237, 213135851, 174186157, 890700195, 423087971, 188213978, 695327039, 328589629, 814422634, 612808704, 23727852, 423358656, 374282798, 755897694, 684894148, 541870855, 26142706, 777026590, 95634645, 713581852, 573944844, 230890688, 284685671, 192270447, 690262393, 795737641, 686639702, 735324589, 588915028, 84165003, 544371976, 649628486, 153853549, 844270634, 415967209, 264303825, 746073005, 514049234, 173570396, 10198576, 388941600, 105074411, 930307957, 470124019, 56506243, 526762554, 400160331, 429637652, 835929628, 588725117, 808444215, 288083008, 997256551, 854020861, 970891721, 163811733, 330480057, 458999605, 345033610, 395496360, 91473495, 186129622, 681648589, 899834577, 85161640, 745296233, 729272428, 282797187, 307026084, 149725129, 101848235, 121855598, 608189080, 823178318, 603767693, 295125250, 444704625, 124164586, 806409188, 653462920, 692192488, 66694281, 154866178, 803450710, 288816249, 763641078, 401888762, 638398676, 824523636, 465370646, 640366215, 366711161, 210067833, 153291020, 750290067, 636986117, 348540945, 780599884, 201527063, 206776501, 986231033, 63247006, 484411554, 340830959, 851713988, 966919299, 903067388, 217099769, 876810714, 155319450, 768525962, 733526657, 734115492, 812119866, 728495968, 954003774, 864882411, 448339011, 922158776, 126778098, 78556129, 359478891, 465394403, 907035842, 638211527, 422970223, 466446188, 843935779, 93332468, 314079647, 906236694, 639832561, 735335722, 543792111, 707571443, 16660078, 958393753, 407163978, 325326664, 238315624, 151891044, 859301378, 694251573, 17815181, 313805320, 493957655, 145686984, 332871730, 296922316, 292697311, 372356610, 398081900, 998162278, 416509456, 647639761, 955375443, 11418450, 992957778, 276665545, 407351783, 744775021, 791464368, 805847869, 15079463, 609484669, 658950054, 320676850, 63644098, 680061591, 861911679, 108490588, 589789867, 744359994, 113465131, 548441599, 483095713, 482046480, 569756372, 21905956, 315952841, 328543240, 704000518, 706035999, 259956830, 113150552, 216424902, 586077768, 95185345, 141632705, 691806210, 631609613, 665057714, 831810174, 477276823, 833670288, 505807570, 269509238, 703173958, 460511407, 84851341, 180982792, 713915558, 721234500, 185593512, 458318147, 551325613, 264518839, 717549080, 437210838, 225262610, 300344332, 947318925, 769874782, 69409186, 562994003, 468416330, 164103908, 79920257, 356223642, 516259902, 664745420, 82102088, 272594211, 993383337, 720796676, 321173148, 78144638, 32401966, 635585604, 399920154, 120957265, 715998978, 261632883, 996207545, 503755315, 54902979, 360043306, 409918030, 230916785, 580160013, 935431334, 446254973, 919286217, 607248546, 684512308, 331030830, 186810756, 658845706, 329811980, 392157237, 806701098, 261412969, 781336345, 321342929, 130688016, 340087785, 481477756, 542600045, 628620779, 244259842, 128183921, 800835465, 4511853, 882371771, 72036718, 975276289, 543041988, 899667176, 172351148, 614440356, 384298024, 337052815, 39602400, 221126209, 500421335, 309407023, 166665965, 539675310, 704324534, 219073134, 295356383, 964571845, 278149530, 533103656, 281693153, 602334442, 447976534, 510440775, 421691097, 147502353, 837156348, 158595586, 577878096, 426127091, 60221083, 424493378, 973998521, 641984505, 572904600, 435586223, 986566007, 515167759, 88085051, 671388379, 595054384, 67099887, 75024203, 576473959, 628181438, 890924196, 893591766, 214246327, 368639754, 729439917, 694383597, 602941498, 854771941, 795129212, 610043929, 369054552, 931677796, 411952960, 857359737, 746968530, 764247238, 250747825, 161126641, 307909541, 200912550, 906866504, 753786064, 389995301, 311049619, 84720395, 314171870, 598859811, 549558342, 656822935, 337978361, 8738436, 8210813, 602181531, 285584138, 230292962, 533250989, 907287378, 757889124, 419728465, 597468480, 90064521, 539089281, 622093057, 506740828, 981239464, 37172115, 921745152, 222003832, 390764101, 112460567, 735703169, 648995893, 214653098, 326026236, 670101081, 159474873, 67914756, 642702871, 515362397, 51401098, 875371580, 479082162, 783037396, 352372478, 196905439, 364788899, 591464699, 968350196, 709970670, 459036378, 865252856, 871775145, 182465262, 302438018, 294371063, 326741265, 829940916, 240463758, 251477546, 188058383, 10994844, 633125001, 367385234, 816455247, 627520187, 187948539, 789150977, 688638496, 933135381, 818877751, 215553509, 814939653, 951967701, 926732646, 474368791, 106100396, 767835545, 641114634, 96464305, 649172850, 223993837, 927513892, 911298211, 11995268, 965963390, 377851079, 581361863, 595566631, 969270604, 200858526, 685594892, 695660335, 521287021, 184204071, 140911527, 350502260, 615587472, 598291756, 656353761, 831180903, 112554122, 413508152, 253882020, 905172585, 712623107, 304361493, 243936122, 624876493, 583348736, 764703957, 682668185, 951326320, 839445637, 189657642, 111133013, 120373149, 56387007, 356910863, 6879077, 379842836, 686687546, 568095036, 174171534, 882165454, 392577511, 633414641, 617159206, 716178250, 472904845, 320870681, 719903722, 106556087, 119895829, 451907758, 383897628, 365736603, 328862556, 149792729, 541365857, 529675350, 925787211, 86079775, 215493214, 152811356, 550072005, 577161491, 489087410, 787411579, 491017670, 117224175, 253187831, 780151767, 278542667, 530858903, 207473126, 22151286, 718587636, 285637453, 607076740, 952245700, 425741111, 456006098, 48084208, 937212114, 376878332, 952215097, 600435089, 367222629, 711346672, 17063065, 489502803, 658735924, 573220968, 589993286, 941342230, 756468330, 637059363, 173035190, 642972531, 911005659, 389219057, 889070870, 321914862, 957952948, 761130556, 538489365, 415329026, 346314603, 779234475, 800095850, 101866045, 676290589, 464813240, 779013812, 553838253, 993249904, 71850285, 504561572, 319341914, 267350789, 195549008, 833839589, 797376260, 848844773, 328208769, 886839975, 459715546, 6938728, 535839590, 292920336, 156677011, 615339436, 869624173, 51208317, 596735300, 668806595, 668490785, 807442267, 597421138, 753972653, 794406830, 921216982, 800564730, 538538756, 552427250, 56778333, 873212231, 510424165, 109181392, 501864379, 668964988, 447799286, 254744315, 126347313, 216252258, 951409187, 247381153, 266064540, 730542674, 961161702, 440624767, 159950101, 882051414, 978787419, 609757955, 125590588, 597952523, 10918894, 322971365, 805939876, 257910123, 693727051, 584257172, 410547654, 958510595, 470963871, 409909849, 633024461, 191498547, 446442154, 376647049, 702368388, 524345099, 670747003, 26948849, 872690784, 891931379, 696051657, 74275549, 412761248, 681636346, 565736320, 956497712, 436253184, 277433191, 475824697, 707549963, 781354301, 321426950, 838405040, 654742453, 34721981, 986650336, 843885096, 65787638, 585198385, 111576381, 363642092, 213400858, 184263315, 308550135, 136144609, 302952704, 275811616, 909536924, 821444665, 442841334, 202918344, 299626557, 278049137, 982513417, 581646683, 749528175, 670468263, 816522550, 260036399, 799550895, 879118663, 6727733, 684304809, 562872461, 40501001, 422393467, 224926610, 750222392, 478463674, 942566945, 849381166, 350984739, 800454231, 29885752, 961080603, 166951508, 412867082, 536355389, 117591811, 515540830, 225484144, 611048144, 656941293, 95110612, 586468486, 750561795, 596590478, 475623261, 971874752, 340331350, 851815170, 926689293, 437399018, 67644041, 880262487, 779909972, 561068559, 495102642, 899129125, 258342001, 500442630, 119725025, 386000898, 101156268, 815527145, 65464848, 929816313, 395471825, 702460579, 151854779, 342030746, 903231502, 346722624, 616205260, 451401932, 89351304, 609648328, 154250875, 376964407, 484599899, 535363276, 690628520, 976374749, 989197198, 941110455, 548102440, 326131198, 602225506, 793435686, 43715195, 843756429, 443737115, 567044135, 51428285, 723916724, 606883607, 144245911, 184289275, 694816959, 278094005, 426446201, 435134914, 975898708, 780029946, 875791717, 919010583, 360576491, 244937024, 428788729, 518628562, 743608235, 374030774, 126574577, 726792563, 104290097, 456461839, 824716017, 144807171, 791981222, 860952220, 333687020, 104479109, 490446296, 478110454, 815173348, 975618332, 494818888, 622202560, 230498297, 320587047, 287739374, 526067448, 535004315, 184220177, 327097945, 764892977, 357206997, 177746374, 975822510, 214584210, 410633782, 640649175, 851218299, 671785713, 138001446, 378997685, 884666788, 353590508, 853062482, 721418591, 673696812, 58295871, 466756683, 451455599, 53253985, 305012171, 657789556, 61944302, 140069895, 25344921, 656020731, 499666404, 950935841, 244499443, 739139634, 61152310, 381007325, 142043425, 3578718, 869765564, 950052219, 484740963, 10811114, 276660046, 901350020, 321568920, 577177111, 33215754, 527696087, 810239807, 713996521, 214927690, 172484289, 741249321, 565141965, 753435765, 255905795, 551531850, 751937185, 44595081, 862628217, 965631347, 215556776, 728994061, 537909582, 177907644, 721105884, 935081025, 323494667, 442934352, 843790161, 744464795, 920625310, 827184976, 329389296, 372929664, 154582993, 185885687, 968781879, 304532689, 464717911, 631867138, 247676934, 72112875, 148724082, 831628700, 165674869, 293146531, 798384843, 404794866, 989419682, 836742034, 360567160, 600542684, 831920301, 379526686, 124961803, 841617377, 910017016, 857657782, 283229752, 731402668, 656065563, 140018739, 310323512, 886223788, 931090525, 662281481, 593803543, 66595373, 838991799, 449392437, 682752368, 904170772, 642517559, 84136073, 682729195, 190201980, 609808899, 361228025, 229056320, 427808050, 110866029, 1342057, 427966796, 795369377, 848320353, 749900367, 441566959, 277264379, 607781204, 956792002, 783935590, 409411041, 710924723, 759148631, 294871423, 458315130, 716588616, 261563766, 132213031, 778330901, 196652810, 307036498, 69374886, 770683837, 579889892, 182169115, 314631326, 230887933, 134425217, 132723548, 190483613, 981335034, 608215262, 57857919, 482982048, 832497518, 991098760, 811704893, 995338474, 35515405, 401606604, 80180713, 160288339, 475569778, 122853104, 80749185, 789494636, 394380758, 381259057, 308481266, 87620975, 145499135, 224559167, 327329150, 769092525, 341896997, 925592172, 390353450, 105986831, 767300010, 220544430, 474257748, 312986554, 493784830, 843749669, 698386422, 350981317, 635305141, 634360588, 539704158, 992113761, 305471111, 12992529, 644815924, 894443780, 225484590, 824403754, 743978011, 464511475, 416994869, 390498454, 979778056, 509831639, 55112172, 166068214, 427130156, 813036665, 780451380, 387640380, 97105804, 310120312, 581224546, 977929155, 357820400, 692233735, 586153954, 470025178, 228217731, 56475324, 463956507, 125660894, 744237360, 202866224, 185773350, 572510752, 235923429, 174082054, 40341113, 688008434, 967690697, 551235761, 417052293, 737131835, 237993729, 670426580, 286315274, 206922365, 885607045, 266452489, 661570690, 683909402, 221053883, 606486880, 71641398, 969657805, 277813632, 81507987, 253822735, 938071548, 925442583, 558382718, 23058636, 186559956, 747900462, 561652560, 496814607, 818939574, 568350950, 820390471, 489661728, 493712028, 831364821, 850763433, 759556293, 459392482, 595521093, 218353773, 463932050, 344686744, 610824819, 469415849, 940335896, 371398306, 21931762, 911073517, 592026846, 912802267, 405447530, 194830507, 812441394, 557380728, 831029916, 907094158, 116474650, 195494695, 875950568, 970043105, 926243480, 198054628, 31110919, 125363598, 664457743, 433422535, 49684028, 70242435, 172644634, 575239955, 758321959, 572743576, 609006605, 361255886, 932741019, 94304733, 774662669, 321518304, 271067546, 131534143, 920325126, 574284750, 619839004, 531943253, 843828745, 409819254, 218151014, 319194041, 786941928, 144945564, 316446504, 928668567, 392902149, 398482402, 407990553, 735540225, 614378781, 458194682, 15996398, 342566956, 430011597, 341982676, 46436535, 502781003, 729610351, 402895767, 468774512, 400654762, 440095130, 248934666, 539022009, 705760926, 132630686, 338072348, 342457437, 243227587, 603429205, 196112110, 814709576, 340087073, 832128684, 443264383, 725699466, 594739959, 549551758, 125882650, 103012770, 689900362, 962902982, 396794777, 951375792, 466377761, 836739570, 167245941, 393761760, 63770057, 387397223, 107853946, 476320056, 297826556, 340057684, 50376451, 133744205, 606309763, 816801225, 895556393, 851495053, 869336926, 769479841, 40074199, 79257602, 65780655, 883000153, 870031410, 102920293, 742930516, 613286544, 103895372, 24535448, 324860957, 315272348, 167868092, 418498540, 38699306, 314615065, 656600352, 522571833, 935256413, 816129398, 820095144, 980928864, 430732471, 844896711, 131915519, 559819670, 981437310, 734139788, 518995266, 298348546, 565151140, 585945525, 175352285, 534110936, 722922269, 452085835, 929044524, 64992052, 379253491, 15246927, 67754709, 658139751, 541004575, 5960348, 598551550, 237934522, 380472240, 24092429, 401393607, 183284821, 715804832, 521751099, 868017043, 86921238, 747411103, 328124340, 978940889, 560901456, 49388921, 382831913, 647143536, 465982069, 150247546, 742217374, 547415878, 974274665, 483577677, 487395403, 984732315, 181742170, 514986766, 74476732, 987991690, 917622628, 991386270, 494278886, 194765935, 635486666, 566919763, 611332021, 549880762, 783896696, 168759065, 849124208, 683414251, 770049485, 128916690, 700720766, 706547179, 723004760, 111686956, 460912379, 583069802, 440303669, 818058896, 572664867, 536321371, 610701752, 413893309, 540399875, 913067797, 754198795, 44728114, 121976079, 107591671, 438426224, 982544080, 12369024, 431901109, 778937631, 350202796, 958785215, 395979741, 406214440, 339160841, 634707619, 101275734, 143901288, 279401378, 126777491, 101504885, 725673639, 271014759, 361095094, 17791975, 228602755, 298723339, 495831216, 839255946, 71865941, 255853560, 497716176, 503178017, 228883050, 665468574, 511622462, 434620861, 344858967, 148550573, 326022986, 848132595, 215949027, 640689958, 26624921, 589641093, 635694345, 37536086, 624317760, 279337387, 229796218, 338973815, 482558248, 566344670, 539779127, 950596226, 83958559, 488671253, 659684507, 910929323, 994921821, 579466551, 820674276, 124436915, 966834209, 644922271, 798026591, 193623318, 856403863, 659947215, 910356223, 725636339, 300216507, 7192076, 515774926, 823116356, 450369834, 526743367, 89867158, 278426696, 165510454, 668639700, 173632520, 7345562, 560143339, 385974496, 27303466, 338346262, 496518758, 316574830, 910834362, 783437101, 295850526, 862057509, 425136648, 70287549, 170415571, 276961654, 903265268, 198631297, 944390702, 59086277, 588804889, 340748619, 415194829, 965905215, 268862282, 97747848, 697213574, 456626666, 214129828, 75032996, 385728848, 190279870, 461564472, 975582434, 630128784, 426884651, 346833345, 392723512, 959078205, 162865222, 859794578, 103009426, 365899029, 318390480, 372065554, 723345303, 129095062, 415087228, 909211071, 783923201, 603000677, 310706912, 717841543, 475249061, 211983592, 714520089, 91231811, 171359455, 20660052, 111281385, 665807286, 5052944, 97384220, 168408172, 436192309, 586143639, 732148970, 296552453, 490372511, 288716863, 659170711, 742874086, 844957164, 879179537, 378920651, 137415612, 433934437, 564934345, 133933979, 23319220, 542520013, 532916975, 258364415, 138441868, 139733645, 102435384, 739150230, 602607030, 210662018, 507986454, 267841301, 248153124, 139927637, 132556676, 355172593, 869064189, 404520560, 673794412, 217172887, 710067462, 259086751, 250005234, 630094805, 787044899, 876699381, 109874093, 623864280, 206062379, 615498120, 156125419, 638557810, 514124078, 313818072, 310738136, 172581253, 169717574, 303645922, 101356658, 267958748, 328479092, 557650669, 279119362, 451470347, 248387633, 680637238, 961619488, 381422745, 57518837, 439996612, 271000417, 345907115, 56782562, 705310573, 911169241, 817126547, 307798577, 275219177, 733481519, 997516339, 699158410, 134685604, 532202539, 353926105, 775001627, 705383070, 420052943, 925463795, 258215996, 75606116, 711479804, 665789314, 90229315, 157346613, 668672213, 893911097, 869907735, 866233876, 1896787, 988338359, 231724802, 25359110, 466233285, 466348017, 716268119, 735303303, 461967179, 622294614, 921744941, 823398745, 858458783, 414759023, 443080860, 246518502, 924333793, 204480372, 17421832, 8891320, 498473949, 415884836, 856381045, 319672106, 392613344, 259568258, 263553610, 870717718, 985733026, 136301305, 171184653, 329462263, 660295023, 445761597, 564542024, 517470104, 153909630, 863180473, 159834405, 379962150, 837967383, 194436199, 123156313, 56195414, 819090306, 973245892, 136648109, 473200562, 945549639, 720646121, 111037260, 151930738, 607724938, 452410472, 838601078, 261663965, 201659155, 12163062, 616092819, 457132253, 66800084, 476786229, 106710267, 767672440, 202640920, 217917709, 170774706, 874208893, 30839439, 829206016, 661040901, 270878983, 980768888, 637365078, 766037234, 184150813, 899776412, 991727923, 627355072, 14433301, 291073331, 441563347, 129931996, 511195643, 4156144, 601737043, 457048316, 689771470, 466354608, 904821031, 737590973, 373625255, 861704784, 680604972, 504482998, 80545822, 493002036, 64322220, 410319429, 66578828, 973339139, 799499716, 405558087, 93859586, 731842095, 965666367, 117147427, 214303260, 426788343, 147738314, 499715879, 101841848, 611008329, 616888546, 924004960, 808279349, 44753893, 845040931, 419594043, 143837174, 706170879, 686995962, 266233338, 231897464, 51541237, 167203241, 389757367, 836006387, 768900060, 718156480, 21861370, 29704216, 460941465, 723110023, 862079451, 670073031, 713713546, 861601872, 470999477, 778149528, 174406510, 403009984, 481756459, 458547066, 254006635, 727595167, 867766750, 516052771, 658213536, 99485137, 815184647, 681763726, 581081572, 21094869, 450835740, 62458545, 54946451, 539899973, 576003803, 695334597, 708741270, 599451015, 639678787, 741581386, 1084052, 641845462, 480364584, 792924191, 641618127, 766396441, 952537251, 278903119, 92812955, 420635529, 836521744, 57033492, 277800287, 476403526, 361170811, 366121537, 152417379, 651124143, 561254183, 890226966, 371678677, 48389623, 12481540, 945196267, 111349230, 16358532, 148839563, 662436072, 767507844, 610070554, 72736462, 896415918, 979093364, 862325078, 941631985, 641479994, 260340158, 700860335, 841009774, 104622350, 218709786, 547518493, 695285617, 337169725, 218431606, 645993602, 380489394, 220033307, 566464622, 467490355, 499193951, 858359750, 649436659, 894901935, 357658939, 401956665, 286610592, 749791992, 984178530, 47513498, 582356460, 569114940, 716684519, 72915892, 724039669, 129675102, 186857515, 793825902, 103404115, 882812802, 126597556, 435911672, 707229533, 844141929, 511464340, 289270344, 876086937, 496326408, 892830048, 794860830, 285508026, 463925999, 322874182, 117398806, 503792837, 619945407, 284283550, 12623275, 471768363, 210120709, 228051194, 19182430, 171831740, 464660073, 546666695, 268802978, 975099475, 417653673, 776740418, 803285939, 553414664, 186805377, 578568265, 62089322, 473445844, 361595229, 811391408, 892298397, 370941198, 174339554, 134452222, 547226518, 233786273, 375865833, 310558073, 186281660, 139030466, 764409442, 232023061, 73032892, 441282726, 207610502, 164353494, 584799049, 419741276, 192017374, 177610959, 583768735, 467871908, 177517444, 200099641, 106339469, 720690249, 729563715, 615978243, 163372708, 227903240, 379966812, 335301485, 664982327, 831509711, 184292439, 721477547, 10273727, 350998471, 267454961, 65896590, 158538409, 59051081, 822266637, 555716152, 519238057, 279344213, 742681709, 259116000, 102165351, 749234018, 699962071, 98201012, 74012785, 408775086, 92654815, 588296689, 310777672, 825095039, 746195923, 466440621, 75660997, 389571469, 146833649, 974088039, 443420219, 80991951, 904073701, 830622914, 136370525, 345808953, 579276143, 689894318, 433045897, 454048073, 291787489, 745873120, 398899929, 383144374, 88993311, 730657461, 886619937, 84062617, 863015446, 24246922, 576624773, 912649994, 427180174, 775975219, 848697301, 801772316, 933137943, 791975426, 36139487, 41439501, 276578048, 382178204, 537451051, 866180812, 894898480, 424718953, 77930215, 669715579, 679015910, 825846982, 515500124, 776846256, 327672052, 427010726, 868508961, 881093496, 592846551, 927640097, 441704575, 181033270, 826668758, 979392225, 3264672, 146664089, 439042778, 860002748, 764994585, 391711492, 814221093, 469207763, 680151591, 2514050, 139385079, 385585812, 217931466, 551191555, 879509536, 946607650, 999720898, 558768577, 307406339, 942729837, 477467420, 395814693, 839348582, 259664719, 430734013, 73428373, 705333908, 868817748, 963836373, 159542384, 614360166, 989267549, 89845523, 287159660, 150552023, 619864079, 369929734, 820191459, 95545465, 716423113, 970222763, 608302124, 153442177, 910139010, 239387029, 790751533, 754735382, 822423507, 269638738, 546190371, 611675591, 843312677, 958852313, 355406204, 34471094, 31189182, 78459251, 312595243, 101782217, 805507654, 96500754, 915065853, 933203496, 989303299, 440070623, 227621515, 582626244, 529116141, 662223440, 399892640, 983250634, 753097981, 159543590, 763504710, 510909652, 43732276, 549134448, 695775696, 596259680, 601984051, 737685457, 2804468, 139815667, 450352777, 636842725, 883084104, 474899011, 928469523, 282412527, 653453936, 141990443, 574448478, 553797896, 193122504, 28746090, 956422799, 233052753, 305443989, 993141236, 288618109, 402259334, 22214122, 878158589, 874186792, 595280108, 114442348, 478849506, 146000524, 746952077, 119211137, 296512422, 963725739, 963353421, 488144499, 478095931, 4541656, 889079658, 222498751, 211567305, 642156356, 776723317, 936583816, 348241249, 960335971, 247455058, 627399777, 561243148, 391122593, 996505858, 524634719, 747486877, 794838441, 965666068, 428874626, 591437345, 375685884, 534265805, 699113311, 575865679, 461770057, 586027539, 271710305, 129537826, 561100050, 864877726, 444500999, 263794839, 249718849, 8904919, 787404836, 240191206, 393088633, 459931072, 889156167, 929982676, 883733086, 765213258, 132888871, 419073420, 663198021, 729122483, 702487468, 663084707, 970165834, 663307439, 44769928, 316351017, 645175101, 503744558, 637106467, 656767824, 54474975, 920883391, 139566116, 191109434, 277329550, 432469593, 419788477, 459356897, 858157734, 171065154, 947640827, 990753560, 798876058, 739962816, 955243656, 507693001, 56775409, 243565119, 201644039, 13501882, 631287193, 552733421, 916886453, 646008609, 149717908, 820741093, 413913755, 801088196, 219376578, 698069006, 255942158, 383637910, 897542195, 523800221, 485469258, 745280232, 169147075, 597061250, 11195764, 175143045, 617134826, 575159980, 438710282, 732410686, 46876814, 855804101, 445073603, 540052419, 667680819, 326320442, 221520074, 125508083, 328787107, 188820728, 600728720, 259419027, 35766835, 645352676, 550405791, 953494492, 208206127, 280619782, 744877526, 385000846, 799221374, 10415185, 722765067, 621401476, 746831216, 59178993, 466569522, 767275526, 577386024, 337104927, 490674956, 754069933, 324437792, 53329199, 783050413, 320836061, 954201830, 958955091, 262791171, 34863011, 750737653, 261702155, 97134332, 216170989, 1545389, 111775114, 25559865, 82925526, 526955445, 241132284, 686607018, 636603646, 390988838, 813731031, 510048324, 474102287, 818141099, 213072782, 922059100, 944716659, 229161315, 440084401, 968862768, 901101874, 893859625, 144268059, 314941171, 417354813, 726916850, 403657148, 723549122, 249388407, 159682457, 584780675, 129548160, 983135369, 752949752, 284954262, 602499065, 651324743, 905004305, 227545530, 854171471, 684846692, 899938794, 251120473, 442716040, 541027651, 793298683, 42105833, 354708015, 604992648, 475556861, 683533710, 744656394, 546290748, 389557057, 429109057, 473365931, 931349857, 706424535, 507975184, 373458504, 386480624, 554432054, 254679300, 801801235, 864529864, 389715566, 988978151, 548390092, 452289790, 920965457, 58513304, 633716841, 667573020, 234974950, 517107064, 47190124, 573091006, 190992716, 636899554, 74030591, 727505317, 487037466, 398872915, 238273729, 687439841, 634938849, 607490750, 90717942, 789632613, 990803041, 595332775, 217710367, 428612657, 115084714, 593641330, 740250324, 285808546, 390580233, 529281833, 518400277, 247537438, 75419316, 800825239, 41633048, 203573818, 547520860, 136086965, 633121140, 531804989, 702839773, 843215199, 413162838, 704498295, 989079928, 847679387, 164390418, 168247846, 544813106, 187878434, 332490842, 405649436, 392724760, 398731136, 983088622, 155721213, 509286075, 492244410, 664220829, 184686515, 412502171, 874729242, 768118744, 864397251, 23399286, 509942428, 286213692, 571854280, 159084447, 145246357, 853558651, 42014211, 22933263, 504264597, 90284601, 309894850, 956210161, 260250423, 435280068, 894309838, 711204662, 552793571, 628600212, 749060364, 931344667, 733294807, 597115765, 271433045, 705287075, 135887287, 256864165, 365379313, 167585664, 437694544, 170183268, 950987637, 159610655, 333984404, 87595922, 71019042, 480778206, 136413140, 684258118, 856802647, 380997347, 513304416, 251766900, 785021508, 471767321, 934119068, 516562523, 208071931, 578057958, 955458783, 536411833, 216900735, 976522207, 114034464, 298102157, 742055719, 284403391, 137916542, 597368369, 383556361, 958899833, 416754165, 774198697, 512571234, 932543061, 323021907, 740581099, 978611661, 980663070, 323358714, 481824124, 83774826, 196462770, 668717418, 106960623, 670996205, 502402370, 839737412, 880251767, 304703290, 428951118, 97841771, 308947295, 145696107, 197179142, 129182607, 20940015, 537246164, 162797025, 435009289, 570442751, 20263737, 900214708, 617176593, 938257235, 841543098, 219533816, 323520396, 153385464, 280674802, 948374658, 574436026, 176722772, 620333440, 575048968, 746548599, 457817247, 392877214, 236140501, 569220963, 151883499, 251888704, 915840035, 376605295, 700918985, 420475986, 277751028, 91201565, 562977095, 914572394, 237362142, 843690225, 434787976, 894510549, 32608263, 850099154, 960229484, 330407383, 269136400, 457939037, 56489956, 596325626, 254657391, 774500462, 668123122, 908276550, 555151055, 410469643, 720542611, 688361112, 399840704, 515324305, 434522224, 323469563, 893833149, 371503495, 855184329, 88638485, 428388065, 553375735, 50620750, 541856612, 34169519, 366175353, 128208724, 175998785, 635317028, 843123826, 399604620, 717812488, 436533329, 167578688, 682268826, 304249431, 54985951, 334964830, 811830620, 423860823, 386943524, 730705778, 750970354, 774596101, 359790008, 938305252, 469827481, 416839633, 488375479, 512006229, 548456444, 34204374, 84053774, 944214445, 720489685, 736864891, 775481227, 113448250, 900095818, 572040111, 859680138, 873009262, 34180985, 498454899, 492941184, 605721742, 628420293, 208350819, 663356834, 240465548, 717608996, 67709154, 36353240, 798590496, 153485536, 179147830, 940379828, 740323619, 845498281, 576808255, 956468254, 823786914, 659112407, 826629753, 381261000, 428747165, 638226609, 993708813, 578549259, 246045368, 978779021, 913031071, 708369683, 576441726, 274274227, 89722534, 920528291, 945181098, 492227859, 957660408, 718757489, 570044907, 187280147, 252922656, 45394174, 413472823, 600465486, 395861142, 901783003, 426643259, 54998687, 603162710, 659483065, 987920361, 15247257, 1008568, 420789376, 402990650, 735814123, 687472466, 620800720, 408034074, 917164552, 428900789, 340687339, 416085001, 142446269, 909786790, 53379924, 362091055, 155295660, 293804608, 344356479, 775805074, 211974138, 383139780, 14761808, 710842273, 928227802, 282520730, 250593575, 628676398, 263197667, 102810049, 371947985, 659256364, 204510660, 182873681, 372478936, 129986718, 549152083, 594159923, 836569142, 757519588, 556639072, 420066209, 729138138, 868711228, 949979735, 183129920, 209610947, 790274360, 782242677, 294829834, 749667753, 722798506, 282152752, 135943306, 741395328, 998271719, 190324962, 99886477, 711278278, 603014074, 210681986, 693129754, 101022160, 512594253, 200092026, 510117184, 341147931, 265413354, 361184194, 431806783, 936955371, 158224355, 632958710, 89412859, 717146334, 491822103, 413992075, 511812468, 609331014, 102831736, 749185057, 937373076, 870627088, 9157102, 960813283, 846812694, 502818578, 713554350, 479877094, 162656926, 29173722, 812119462, 746829004, 657171642, 537807311, 989212015, 697777383, 141488252, 544633498, 229484402, 234077660, 77877734, 998390812, 850544647, 615542686, 35384974, 438488444, 577332305, 585189029, 873766311, 990396414, 701903833, 685144436, 469825052, 504994849, 213155755, 766928903, 95696733, 736052924, 20972074, 476378187, 295774762, 732049096, 999584411, 602130795, 726854440, 103372319, 371709310, 834201540, 930021040, 976970848, 898367896, 857798181, 957304388, 50862946, 801440921, 433582014, 778164001, 561793751, 566375644, 878149221, 178281197, 140728875, 859091132, 711366151, 670742232, 665645767, 620062116, 866472535, 109990050, 513489605, 556655545, 584132273, 123639634, 970091357, 328051060, 151054849, 495295669, 606644438, 161523336, 787262130, 705468892, 506020804, 846088517, 841869729, 756473061, 722038790, 610956058, 981905018, 786383054, 637937945, 235052645, 288993900, 919883213, 468580873, 295843622, 437717422, 210565210, 830070733, 601593913, 719932177, 558620458, 656905237, 677709695, 322503610, 876642526, 477459511, 94734361, 830666421, 745929151, 125569033, 442995319, 994708581, 312490659, 964009626, 678862672, 512399894, 248451731, 159303464, 976515804, 338028579, 677306218, 440996416, 392999859, 257188201, 639548717, 648346224, 600039127, 367281035, 647078778, 143451633, 287876566, 635111340, 889944214, 94366255, 32669233, 744647415, 69930376, 575105213, 895063127, 624440724, 907671478, 117151052, 507725385, 681892, 432611603, 929217951, 456359592, 335061498, 288696452, 329672295, 43051020, 587424991, 104524593, 8884661, 397011539, 797034796, 904784164, 993729096, 693646886, 802376617, 596931459, 303762767, 283946486, 746526517, 51817284, 287147034, 526007745, 400879015, 372912410, 879335321, 328375128, 732747860, 644198381, 11366171, 199156379, 300304459, 104050628, 324129029, 657731311, 579433572, 88397628, 793159735, 694330857, 390922893, 298058810, 12988620, 928782502, 991115084, 489068289, 418229889, 481126027, 543870858, 631827471, 540835839, 53025157, 864898457, 702786495, 723221204, 953992426, 794578385, 364280019, 158266764, 958355062, 93764934, 958233451, 224304907, 351878314, 873011314, 445702476, 619285311, 635473449, 169010929, 40628340, 991761417, 591879695, 786303227, 764515175, 75366038, 880134363, 932893287, 155277776, 24995614, 650252679, 106079003, 91594189, 322854876, 437169743, 177320060, 179833990, 404197683, 155220888, 617814103, 836436289, 410700635, 671243335, 151506497, 590061843, 253777950, 884558523, 602686256, 344086402, 338029487, 644736296, 991908915, 810534212, 891409085, 577607625, 121222058, 176885912, 626315874, 188432970, 534138534, 229589294, 747455292, 883807944, 923094952, 80245478, 5499560, 749509784, 268583134, 714039010, 339303853, 950377895, 863243227, 522146990, 170428040, 978450435, 908782729, 790042743, 718672413, 406803557, 112454152, 545405345, 41926006, 673357845, 905896289, 59736493, 483054919, 527335498, 970470081, 111284083, 789574502, 948690004, 861301429, 39504227, 852826921, 318013725, 634381924, 787258885, 401868266, 233821963, 641541304, 214322126, 5686444, 141084578, 830617359, 767278702, 911712528, 381513219, 603198055, 769614531, 997762785, 83691026, 412638393, 588039315, 359573348, 169625902, 382578197, 765730683, 648187629, 780917007, 199814379, 70586591, 644503306, 989927161, 794623148, 374732847, 6820901, 290243204, 278114552, 482197663, 182143045, 487591321, 151892416, 60049033, 214563339, 388037845, 504277929, 42945617, 239489385, 803760236, 642495460, 668482535, 337873195, 214413207, 311834053, 570562686, 693255013, 615036492, 705211900, 73107835, 803716326, 808888190, 154370413, 731816497, 556787495, 333984815, 997556932, 722461074, 558928227, 474270103, 712037713, 123439732, 896513101, 673840323, 706542332, 710349679, 900329522, 862506306, 600834715, 347487836, 506790017, 34743120, 458107460, 258799242, 358346328, 576601365, 519483781, 229247502, 734984084, 31021917, 834214982, 102883010, 973061407, 785496987, 302139727, 702839861, 607446344, 482430198, 887594861, 485381594, 194372142, 220929156, 763755074, 771524255, 657673096, 219378495, 679030885, 622445495, 975676365, 945377247, 335735168, 431029770, 20683672, 717710325, 228022, 952714648, 690274897, 408847233, 315136670, 672920226, 942368540, 852372994, 364372564, 792594839, 773553879, 637435065, 16389710, 705604169, 288621207, 638855842, 174510255, 857831953, 136818205, 829387, 768848348, 361091239, 154292375, 303488710, 733161668, 118804447, 81601483, 810973487, 511649103, 179391982, 111980293, 862557001, 765876713, 553750553, 983663175, 843041182, 680442807, 434598253, 462602400, 256279056, 436359053, 74032912, 550996490, 647536240, 455216415, 872035735, 551164944, 32587697, 999693832, 99291884, 275873861, 961957026, 149048133, 734577383, 867816388, 764413205, 852223514, 32543669, 718838988, 686858230, 461514626, 150908428, 949520364, 10439673, 18446197, 868498683, 591172721, 561654938, 922630524, 530568170, 317691854, 453035076, 445133385, 776242518, 751920198, 277761558, 856286662, 576492006, 872401606, 675125032, 757451572, 653559231, 376355656, 736194021, 203567062, 682905073, 331856067, 739081289, 670513224, 577692993, 875045117, 256152643, 612271204, 913193612, 416351230, 632523473, 223174133, 611237245, 789497499, 945883515, 809927759, 122897862, 30507543, 81661347, 954680656, 232859988, 556253865, 710708435, 111215475, 149616514, 196459514, 22582003, 26968716, 64077929, 930744144, 622187253, 776540329, 705945339, 769475949, 974783211, 719001690, 850484524, 116400337, 333663278, 865153525, 36872967, 392562495, 336156646, 845164046, 848497353, 304413375, 150550728, 664079840, 338013181, 141740594, 869608711, 619583986, 89252771, 361745426, 997234425, 120751812, 228256201, 956331998, 527366591, 61653188, 241691447, 497400698, 925959032, 146750032, 441527342, 359354162, 950838738, 410255556, 246185665, 747196848, 689209699, 786372142, 570548488, 926710946, 294214623, 627864143, 715576595, 83006728, 895118888, 38179532, 516449298, 613157694, 632195883, 923669895, 877706818, 438362424, 414065092, 897244399, 118818138, 431743931, 29329766, 794302375, 332973096, 138024379, 498243566, 81034994, 25535452, 720123311, 25088041, 515642734, 150513275, 659346757, 424399490, 664523951, 729816742, 945688123, 917632286, 235992708, 93400054, 987870381, 292276259, 644052959, 674365365, 433526253, 966589380, 601037571, 972476693, 979970840, 998628473, 107704337, 143469435, 474074862, 155128494, 738329253, 745131263, 237389608, 794386023, 359969732, 627166101, 459926694, 692134873, 995821773, 262141311, 988144856, 927456935, 469692942, 112715953, 485997878, 669746972, 98497735, 433496297, 174430814, 989966725, 590181662, 918499195, 470748503, 41065162, 275363732, 810237575, 320304866, 698751533, 630920765, 527089947, 535574824, 427536427, 207444191, 643064417, 359528827, 203682120, 885732833, 971935196, 231300727, 370920405, 231705009, 990111828, 899456823, 697412784, 135533073, 5676081, 466549960, 448095588, 842263925, 870058493, 763983527, 84052918, 620954349, 794823678, 306068216, 239106315, 392974615, 220777712, 414124602, 725798050, 895790359, 308922139, 700535656, 501207742, 30133141, 876504555, 538536961, 630202059, 557902863, 319485125, 146472352, 669404677, 654875501, 248139710, 559697341, 842321078, 936936619, 719828774, 211588774, 280071928, 508785219, 211559576, 685449406, 671650390, 690761704, 128617138, 637997141, 116618755, 514904747, 301384018, 93733038, 69278592, 190370383, 773192973, 578870450, 92141211, 275942906, 434513448, 244284270, 41816570, 376768941, 743237444, 522493760, 610514476, 923641209, 151090957, 55640572, 756856005, 455586110, 919606384, 815044902, 543806174, 132461070, 718738120, 164045960, 14335292, 72732589, 282009909, 36496855, 41702685, 60349493, 716699131, 523719472, 118961302, 310692553, 880899377, 906139932, 516675247, 920038723, 532418741, 289202070, 639977825, 920877446, 943911546, 67573484, 866209596, 254094130, 395536108, 622010888, 248471568, 423924238, 739609640, 655624162, 836115553, 327592458, 546696211, 135429604, 30388929, 882297322, 217990887, 327826365, 965416131, 473202620, 548242704, 230812950, 39259119, 169672777, 798747997, 575721328, 178272763, 835636992, 770776684, 885306095, 356020041, 887656344, 701574041, 749943820, 260225064, 576390013, 402564221, 139305756, 102178336, 811156385, 235396642, 7824756, 616874682, 3328567, 772402173, 115964280, 974198876, 121189393, 464156166, 800159157, 444925519, 553240903, 849559332, 941880052, 108616754, 124752491, 601533992, 547032684, 107214087, 706255069, 599194986, 932730342, 91486626, 663216624, 407798978, 114180913, 102631870, 937572481, 702204538, 393498619, 904157071, 783527867, 900378189, 973482315, 496703356, 280713588, 323897229, 589568743, 487049246, 64370969, 352271294, 259823279, 369444850, 211958009, 607962337, 720033036, 500610533, 398041753, 26186272, 939681565, 356914082, 946452125, 508233796, 685559482, 260611169, 557461850, 115837292, 58267219, 3531170, 287016378, 130467487, 160956828, 313821422, 202915061, 155921625, 131019581, 122601482, 95252596, 242387528, 220426277, 512820985, 581117027, 317802471, 948439022, 594597936, 40948104, 55090341, 508799235, 931362882, 907838747, 415998447, 397936813, 513051098, 811962889, 862118557, 401753629, 643997359, 162260130, 487420902, 407449261, 379087603, 357774555, 779729906, 432101232, 52181740, 480481730, 215265887, 456022219, 179860260, 166419566, 96737053, 8895483, 815954690, 197791757, 244778346, 189858049, 987268504, 55785838, 661128954, 353686746, 282918533, 414133670, 740614861, 181567441, 106743476, 894618327, 533079741, 791057321, 270396146, 14810060, 28446802, 71973351, 880669442, 717901007, 82194226, 60809167, 508739528, 299512596, 223637597, 658878732, 13384929, 952897291, 473572320, 965186421, 32530615, 397471734, 555751797, 248554806, 272044870, 93661296, 816737281, 8119641, 246665528, 336185827, 55149281, 808451424, 549499226, 953333253, 612190290, 875744419, 321561113, 495478120, 291223085, 705367021, 223541422, 129712241, 411818202, 364261796, 881328608, 905288581, 774800360, 438305927, 514655711, 104665773, 395216661, 40841327, 389699533, 187707612, 832500129, 70211261, 237234007, 977907296, 751339689, 617068931, 45404132, 626893335, 622462857, 78207264, 634423553, 545061402, 701593479, 436741959, 453911411, 547867172, 139689074, 6660157, 452049359, 923266620, 61435330, 842039251, 716214487, 986400143, 891752488, 358326594, 566479039, 234903944, 287710356, 799457672, 96039463, 524654204, 576139030, 458388797, 886837570, 455875698, 367192437, 374298089, 276146707, 79601073, 874440533, 717702925, 969717672, 871530258, 824315134, 329358641, 804591622, 557573908, 479678355, 340766333, 269947503, 264425094, 475292306, 895766924, 939550142, 246637534, 632473257, 936314729, 671297619, 677202678, 863448670, 326411960, 453875176, 830376234, 249993522, 701898409, 450320450, 622169468, 934778083, 731949207, 197581762, 486052686, 235886006, 597905188, 928837958, 496181824, 698954045, 59661602, 100883451, 911037973, 363740413, 841904277, 27748425, 279617353, 298223321, 537395957, 627937573, 95849954, 556742766, 804563090, 922403340, 261546852, 498110538, 55690175, 209367519, 860176246, 934129674, 818194816, 9393283, 977198195, 385791389, 154333043, 361804120, 321487414, 906545697, 974055458, 320961900, 813308526, 631278032, 763725236, 22709534, 812705541, 26857459, 118264190, 858140244, 602292363, 35855738, 876735235, 578557246, 644730572, 281596108, 357482890, 549278194, 654458685, 869090519, 687282754, 5103903, 569895397, 637605981, 843418928, 673626877, 156974299, 131263252, 174061534, 303369848, 817802283, 882188299, 118875720, 885742078, 623413874, 967718056, 817278864, 815813582, 550080441, 809806548, 890743689, 117148370, 451151335, 733559984, 164020236, 54152419, 500375541, 483830188, 361467856, 370247869, 144043162, 548135627, 744139428, 158342304, 862091887, 23079168, 591102420, 397363141, 256758125, 792294531, 17261603, 504817422, 170491442, 760828550, 690176953, 474541869, 189119287, 258480206, 421398307, 176548716, 493138085, 423932133, 638666713, 930227184, 864765632, 766827943, 997066290, 997531109, 982605993, 107145641, 708837682, 454991172, 108514247, 629448421, 760466558, 709859308, 785366862, 712240543, 850204554, 2235078, 276750086, 218713745, 180474615, 323984130, 944801439, 906576175, 369280979, 236449679, 681491424, 764845142, 836626416, 107923402, 367572363, 98940589, 291736056, 198404601, 633196160, 541219992, 406741869, 219970505, 796169174, 970199327, 173399248, 527096399, 730775053, 751519225, 79999945, 12885266, 458916875, 492931080, 428265780, 729719082, 259519386, 139374874, 655081441, 729843363, 526287357, 115252790, 942615799, 546634327, 860368891, 435956488, 408269880, 564711676, 195286932, 846856804, 643651899, 588907914, 19839659, 754069919, 471989402, 466307210, 556476321, 106097262, 235484301, 233982801, 792850943, 447107873, 545999970, 425302300, 484866177, 162909671, 721949294, 694059756, 165450551, 118154110, 354689180, 699243987, 952798928, 140980871, 335970805, 567677242, 549141444, 53024696, 68018933, 452519004, 339820580, 242446349, 582797531, 303550326, 139788057, 22540536, 316976385, 736943046, 691942515, 358653572, 861961148, 669895830, 371754239, 181679823, 92848421, 655275198, 877946498, 228124273, 32578336, 778355205, 356780034, 257701621, 566778822, 46328479, 434747406, 679600864, 89490355, 516847484, 753009986, 94871129, 53019514, 710337942, 108989497, 766134932, 301210923, 155840629, 29356098, 121924657, 685458963, 219670930, 685363191, 357843528, 656903978, 359704879, 384443284, 851460610, 176584867, 935971673, 969695717, 247346606, 285315859, 649723764, 104485678, 761779790, 204581857, 458160453, 430478097, 580952897, 482172260, 742574804, 625602122, 129987686, 560317966, 209274008, 909825685, 953777143, 851022806, 772259774, 719481746, 58018003, 289490513, 50716711, 353560585, 84477183, 186079738, 390778004, 35656781, 767459739, 517391289, 379562518, 416956892, 904679383, 769433724, 512040230, 133012234, 833535374, 652349128, 62529652, 875152099, 755981485, 47067158, 961316147, 663351836, 124391077, 614180863, 866863247, 606389781, 678501169, 702881975, 307527120, 318338630, 139718464, 783475592, 234728528, 290634214, 778526171, 384419452, 752922456, 883090634, 349077516, 897334085, 354200462, 712198759, 19611913, 202438077, 197088241, 538139747, 343068319, 103540382, 442523740, 903108076, 940551914, 107165109, 414045856, 249082462, 773881854, 873510954, 148020889, 423167456, 82874229, 248917480, 184446188, 850583808, 914149794, 687248233, 537643108, 412259559, 519006630, 656514633, 673602716, 998606171, 410294811, 381358242, 590070517, 805248340, 153393895, 676466250, 735424171, 793385196, 794553557, 495031229, 559379390, 438191616, 317835330, 126269512, 884613298, 405358715, 524520859, 85233225, 756292407, 795981790, 939536836, 654893746, 848655156, 192386856, 716979225, 606444906, 56544492, 62206220, 850126076, 373457747, 962501004, 311472253, 809368502, 702755222, 92199736, 511093427, 198836918, 913037028, 39707239, 33889053, 392226421, 459296748, 432966764, 369808094, 275191910, 843296233, 764931352, 940866358, 492432811, 815824944, 420442558, 502267464, 392053471, 350008860, 162790225, 828414566, 816751033, 662871691, 206043695, 993612381, 591868069, 294134553, 661315693, 11136883, 239504475, 926019318, 517013289, 74273635, 214632836, 627391709, 204633576, 683257934, 803946092, 541661006, 953137089, 22251340, 782558897, 810277226, 346128533, 663128717, 633937765, 939110804, 794803393, 431618059, 844641511, 255720745, 84050894, 171710408, 35153114, 529992024, 712287921, 238649747, 378416250, 308594957, 976635244, 381505535, 411970288, 886242424, 733925733, 320567652, 650012298, 941453837, 819391797, 668830155, 809683615, 59823374, 847786088, 243605929, 442479103, 42332291, 580339480, 862470533, 685634832, 499194281, 58451343, 377877662, 585834400, 142345391, 896460756, 55519942, 328312841, 722369240, 488357012, 707320865, 855018175, 668227722, 899118117, 831129730, 738248469, 157861704, 612459442, 761988537, 814792345, 557631243, 844550204, 956573340, 879890923, 703551053, 998150649, 357173996, 814626988, 155206320, 418008288, 496124583, 379284485, 414017933, 270329620, 99742298, 281119922, 58053946, 507812430, 360957291, 994405965, 453451225, 518158184, 43631848, 951094960, 760829981, 955088434, 680538208, 77435140, 373941838, 458922769, 794105147, 686186479, 823192642, 850587128, 262478931, 267382435, 456948264, 277952781, 843689274, 433822545, 212512497, 537302610, 715794416, 394169832, 744672871, 513015874, 728989912, 25853855, 621171160, 629979807, 824259194, 934281937, 934808782, 140899610, 561500018, 196347479, 641215594, 295359115, 980924213, 240797124, 347299343, 750634333, 710203716, 552994406, 617493356, 837502198, 289194390, 543969068, 590040134, 894713289, 125267943, 354391598, 766660540, 208372277, 656175994, 464817581, 316817671, 949788119, 306767482, 545856415, 86851497, 297580541, 146289841, 881533194, 830807868, 411665573, 657735396, 494330756, 971478643, 880637740, 922827915, 48938452, 806234128, 138115802, 469495914, 644619659, 27661529, 197946944, 323959427, 270853556, 386883928, 733119588, 603807883, 757002574, 808846746, 503388481, 978180587, 799320390, 770944168, 567494990, 99416974, 17768066, 40922174, 228432263, 321470162, 767779566, 624089955, 652481527, 495056241, 716784853, 501439206, 489330720, 317636944, 542327839, 556622170, 500553151, 436221183, 225553790, 658241598, 6792895, 67704926, 55722888, 875994574, 768649852, 18471798, 890652105, 490436287, 200209090, 597265515, 93345651, 794785672, 29095900, 553907160, 999352353, 114526609, 309118602, 736725678, 583309405, 216403461, 790773223, 138712250, 320447467, 549230924, 566338451, 786690414, 181168852, 983946059, 240682671, 593323614, 590097246, 1429375, 368457988, 708478125, 120628314, 307651361, 636021427, 179823668, 915270463, 704893730, 697681806, 643373476, 48355618, 163748586, 63943283, 443753891, 646157458, 311416343, 114439408, 477742712, 157584992, 975054533, 410542049, 509115825, 793688198, 692782041, 201188495, 650963033, 663176749, 404550822, 208188996, 344103334, 151085660, 938893266, 152710798, 142779923, 172571137, 871508838, 158920776, 886479522, 837109985, 318781722, 154133264, 560810487, 264503086, 177914261, 456513295, 904869532, 465674191, 839183695, 409921532, 339863409, 338385627, 659871604, 53686125, 556155333, 613865182, 794772372, 952410601, 732195640, 761405286, 731773679, 764838634, 331068357, 143751173, 588790135, 638699840, 771486222, 72965216, 468440339, 434073359, 313849576, 989790086, 638625403, 434541051, 227014930, 928513814, 617437410, 700030977, 8678291, 413472494, 996007812, 149686733, 322098159, 313554197, 272264943, 74778381, 845478151, 555646612, 791099461, 621842193, 876362952, 885576942, 939701078, 417147128, 692894612, 209752864, 466971656, 887094510, 821701841, 709121063, 241999307, 786970158, 559749366, 188684109, 329362926, 100807807, 662562116, 537585635, 65660287, 993846321, 186631306, 593100569, 830346326, 790852021, 880897984, 23667070, 309063143, 224688674, 922238942, 155148380, 556929150, 874557328, 612617912, 422132050, 767115618, 855954741, 288253249, 142986691, 368890006, 753314599, 770692669, 122290903, 464818198, 894912435, 321450380, 275638830, 69876425, 787889588, 31501870, 813197571, 778183821, 301683760, 800258751, 779514064, 938285247, 149702115, 230046199, 777566409, 327766313, 820749050, 834631360, 215162436, 13469351, 453512499, 232209069, 813417267, 21884523, 292008753, 70159949, 235701735, 30685411, 312301322, 719210965, 526983538, 117821138, 799593823, 741315278, 548898658, 901091144, 114037770, 996296492, 595683752, 312642324, 634983087, 139223617, 562396901, 475098268, 344894891, 717823344, 936911618, 853542946, 359071770, 175339752, 751794261, 457193903, 399989048, 22225686, 490860024, 885264300, 951165657, 724244685, 989162925, 147661880, 162906544, 878029258, 448672639, 389678386, 573874481, 119246276, 51121359, 843890792, 352162033, 585829275, 74170534, 611546305, 472600234, 599318905, 380034816, 199476122, 79084389, 386826931, 286541897, 284864483, 461866215, 581650080, 571978729, 538940656, 354486813, 551055098, 881497724, 787512455, 954984922, 979571610, 922035090, 968102238, 574286253, 182860824, 450357485, 391572317, 224584344, 615854608, 199296049, 54421006, 362167580, 439826996, 223035897, 6028975, 156812, 733393920, 468944046, 156629070, 419020475, 779958001, 739903991, 558587096, 434050443, 814941900, 37726125, 266499596, 176227620, 208205725, 572689194, 778665122, 391444211, 378448011, 830835472, 94718506, 438950945, 578204992, 382281240, 309641342, 22073717, 540716822, 938753072, 656725697, 172428782, 377569401, 934123594, 979361297, 152126475, 375147009, 146296271, 473233135, 929710403, 516363937, 514731373, 428621293, 633668705, 257029490, 711696253, 202402612, 44808946, 872185180, 105780155, 873574328, 570528165, 597747111, 33827091, 552119371, 279995822, 875319426, 177412584, 210738181, 502572791, 293838832, 63753689, 816439421, 264868996, 965749839, 296339359, 592973440, 84405288, 466044847, 994782007, 750052558, 369229262, 944983268, 107697863, 964422444, 753462521, 900683888, 652825706, 430375406, 401168913, 938706159, 816759243, 309586392, 429565623, 739351891, 458684851, 715045711, 230764342, 3452198, 177445062, 825673551, 695001950, 929986279, 324640447, 486344431, 487268851, 223210197, 70030281, 278293001, 261855098, 427360279, 871740211, 901901578, 353100835, 773858079, 722570132, 517800148, 547993442, 682919986, 375394678, 97598773, 577475089, 394022356, 561333413, 321541107, 20225514, 856096912, 13057722, 698427040, 790993898, 982705333, 304229143, 707817584, 361190885, 501952309, 430346493, 472958428, 581199752, 397447882, 524829598, 681113791, 837496268, 267081731, 830797313, 170885845, 926601128, 599336170, 866080352, 884875262, 789143494, 544356393, 927490456, 325142241, 218885545, 814095785, 656408670, 58852775, 767631945, 877548139, 125288303, 658199865, 863465740, 837497386, 174305766, 863358884, 36187566, 5915288, 750476170, 626827972, 100168085, 989094451, 347304170, 207740698, 69095711, 847808352, 143061157, 7573189, 494316507, 619504989, 104008429, 823255175, 406988336, 520748261, 515034279, 996672423, 656624120, 438547018, 774371704, 821309624, 661377093, 986079034, 700394272, 284801148, 781723978, 871538552, 306954799, 259152412, 489382944, 795351671, 322421520, 165587719, 601852740, 228038211, 160558742, 847554909, 821587161, 863055497, 484328000, 305002901, 622874130, 331785265, 694767876, 71078501, 640938573, 342590883, 981934102, 600820955, 624763343, 987545543, 838136574, 864246021, 277286150, 557469453, 143923294, 815531812, 175486907, 469457012, 679071269, 100699844, 838126413, 635819000, 489673454, 603561907, 477661067, 969788722, 655834621, 925647322, 143985667, 937683496, 453840634, 395562510, 148753859, 346543031, 105093573, 989661146, 562284551, 460746654, 117847807, 226144365, 887691619, 522158719, 618155483, 292470047, 532695097, 511990098, 833945047, 399835515, 379964680, 527350212, 474204193, 550792263, 590402622, 323876587, 467701697, 731159401, 635419380, 552431375, 49712320, 521115196, 668418961, 443915688, 159631998, 437222468, 589534183, 968762972, 899132978, 319597006, 388005833, 636551570, 194247809, 989752502, 420481148, 887248919, 474449830, 451797623, 645153168, 218267635, 837784426, 653738512, 476313651, 413332102, 368690204, 278700147, 844923904, 834989630, 807479607, 227471107, 380183838, 359336920, 939137462, 992105906, 297274816, 610608484, 854828006, 555405687, 666335806, 747309072, 893215420, 863175737, 142089266, 301659695, 522976511, 544513896, 907024042, 439078187, 478704696, 286088870, 566956046, 382798226, 393974302, 119126642, 584575445, 55897850, 240687379, 384700467, 62915062, 511760241, 627647313, 251874839, 195677968, 719323538, 979163235, 682318398, 183568962, 966641340, 15073772, 308292649, 859429453, 467702343, 699647904, 270243181, 167685230, 721670978, 316624258, 363002336, 259269377, 602228436, 68075127, 627375872, 463324996, 527070372, 111919151, 965190408, 120310493, 189334984, 799638676, 612819844, 876413308, 538342434, 275816626, 756786665, 201548657, 265878231, 507934906, 789974384, 616554678, 101385609, 46477628, 97561346, 789719726, 243541168, 494711375, 760814633, 872714408, 717054115, 873115389, 279427328, 970148531, 274572214, 833442295, 368405590, 807524662, 752098775, 374981407, 836049905, 69672253, 406383566, 656780533, 599221046, 902337896, 220626, 255857640, 581048357, 770120631, 590013967, 846563856, 755861992, 361269520, 353740746, 740119579, 477123496, 950372299, 202625109, 98252485, 88532485, 829033398, 880000307, 58617248, 980564568, 73607604, 458396264, 987063369, 822828674, 593753923, 424185986, 805593899, 811515411, 668356634, 527267475, 323394173, 137529855, 11849380, 810324064, 470691685, 371054804, 790233617, 577002002, 768623106, 273710076, 412730795, 440789122, 253753028, 995445981, 73156199, 731154491, 632828908, 504687003, 749229566, 435295949, 362981228, 959087759, 571120778, 253279195, 472495718, 588183801, 123291660, 934871786, 733792937, 573458525, 229830283, 192301619, 491745531, 809811554, 82790732, 324247416, 957311009, 402790861, 67801203, 960469695, 534560410, 781418762, 994708540, 424808626, 739743035, 41332648, 592378145, 804567606, 142508427, 810436514, 634379229, 820947795, 361490720, 733889392, 157638634, 40806954, 907424775, 429546229, 598141521, 194321076, 422383272, 914205240, 918203012, 648211031, 837217873, 410586188, 846678314, 477174372, 561076319, 96187880, 659712712, 450714351, 34956700, 350168867, 80618949, 549343690, 938408959, 447609381, 162101345, 644957131, 952377539, 266784356, 853071938, 674548132, 838835321, 338344177, 823836247, 377928387, 551973841, 168885880, 170545351, 120855217, 577169199, 396636396, 591684670, 532940982, 956361566, 610230452, 968744796, 562563144, 320618756, 828979971, 97086181, 622604827, 616555154, 57149278, 664918147, 114876561, 998508792, 356780025, 382407832, 266840135, 752957528, 132151243, 126319202, 253584808, 986576442, 220389694, 879991181, 795729570, 21872805, 671282916, 605342678, 106090471, 662225789, 285748172, 826869303, 248223659, 755930797, 754430285, 35885502, 54230723, 187234013, 434332992, 179295005, 974067080, 427800094, 548494155, 796502191, 659455092, 21831482, 774065153, 653562331, 565891208, 175525638, 465151335, 77818283, 931183586, 421887829, 914247840, 546526217, 627122040, 815915322, 429041147, 723509482, 41454967, 683405999, 837376875, 123659619, 699734657, 836796646, 205333044, 107228526, 556978702, 949740934, 44708540, 921331947, 917878248, 565452074, 742930853, 999938519, 270795697, 381251110, 891366445, 878816745, 523461556, 999600575, 882619615, 336484472, 805757214, 669287244, 842627447, 546938383, 217662754, 502548115, 761988921, 441944090, 806538727, 443568244, 688482071, 155677763, 401091267, 107208518, 341963343, 456914246, 231581864, 652649313, 774673055, 377103449, 359189252, 899285543, 86790241, 100332210, 705550059, 817837484, 138201858, 598397663, 23692444, 21542070, 967156277, 28297891, 332624421, 353301406, 134714524, 47010466, 240206307, 895344926, 143335529, 943869321, 39233775, 532422241, 742185776, 214033765, 717226596, 503098680, 105529413, 384695917, 64651431, 43578957, 950137775, 561608050, 37951691, 374943973, 42802141, 136275370, 737713795, 315899585, 323306557, 372773155, 204340543, 440000075, 495731009, 41141578, 382612722, 367470432, 162478227, 550647701, 143755346, 570222130, 22479033, 407104632, 268425616, 293292717, 698189017, 800290771, 624333890, 333898429, 64726762, 905149632, 721467129, 992437639, 85336743, 933863476, 66290650, 94850764, 594296603, 900146317, 680967064, 723308065, 532436616, 287951044, 45509543, 979016550, 413438615, 413537058, 397239391, 462424160, 225948619, 410329496, 152225971, 809238222, 905408356, 612366892, 160611489, 856225327, 515154289, 708045167, 933597381, 183441068, 153259652, 533972737, 38836584, 981003349, 466766664, 314495703, 862485994, 905359524, 34143177, 249149389, 379653830, 674561660, 121141954, 917034838, 472099127, 737440897, 68280033, 359645702, 203171019, 97762728, 647633130, 493611023, 666112367, 272452137, 902859204, 874280795, 477178093, 542632909, 857423608, 515850730, 592553733, 866477127, 696612987, 790942371, 29366679, 902085579, 505754828, 53400475, 822568547, 132116244, 80577695, 658875863, 433384007, 134438669, 641341452, 707653796, 63076391, 11028644, 734768450, 895728223, 115751398, 555070967, 621650693, 925981421, 199423472, 78673422, 471506180, 613116940, 570732201, 781352359, 422598835, 808217257, 702128976, 25471370, 483777319, 25359444, 734565624, 468491075, 214465917, 784699195, 125097003, 896991262, 641018493, 75125371, 497542384, 949420231, 275233234, 6468061, 348128960, 982866882, 186280140, 829536770, 50395671, 108677321, 281628424, 592965024, 221316355, 731230616, 126935770, 623019493, 464104871, 988559783, 968110861, 30012184, 547705283, 756822917, 163020512, 251038004, 792596751, 312359218, 62781501, 441302613, 786120333, 826258298, 557796021, 209317880, 633676933, 893170539, 689955488, 381127508, 978630000, 629234284, 90394355, 8460381, 361009874, 284107252, 188024322, 420857558, 416627451, 510581699, 731579243, 386569230, 450071904, 902657545, 547769766, 214886238, 681241754, 943360230, 372995334, 572946451, 282467355, 381987888, 950129508, 694564312, 514943302, 15584229, 307446988, 475064336, 132391649, 981447418, 196909104, 323278368, 543401797, 677136277, 114118896, 161078943, 560187973, 54311762, 2982858, 190232929, 678797019, 236674259, 150012758, 49944940, 719560822, 54486496, 69120924, 976735781, 262473639, 583742590, 463944023, 642173084, 768224536, 930522406, 496562971, 591821151, 781880248, 640132811, 506175632, 413444806, 561384202, 736461781, 792531619, 515801025, 778983502, 29870038, 300375458, 835142801, 264440065, 912025846, 956712243, 462164720, 313051423, 125237762, 427894061, 489848175, 14343774, 304245366, 898675108, 675290889, 601568544, 365924370, 832765307, 203489384, 896693467, 84978992, 980256890, 958320196, 957936082, 85605591, 390101329, 426195651, 395796183, 264270123, 502850982, 71058489, 439434747, 675880231, 706290128, 548568897, 207887199, 881630387, 292529284, 504343499, 512943882, 551022836, 317685992, 558319431, 828963820, 909465790, 516710387, 228594424, 660804345, 154903739, 199088350, 136523130, 317986416, 916155027, 146269294, 18324670, 386881167, 710439919, 79704791, 466885269, 212159923, 53037619, 777818342, 711372805, 561689481, 25090284, 792602766, 852336770, 948261225, 922932599, 531806694, 831392205, 938207462, 718618362, 823569845, 235226959, 130806871, 319338111, 665331226, 778945885, 547357967, 555353585, 187156421, 74461524, 669894125, 65832324, 763877733, 320055431, 3619176, 110262878, 780949928, 472345999, 938309715, 891878872, 60158587, 65427071, 856886365, 75353663, 488938985, 37496673, 846840787, 499477840, 587318496, 274735905, 142243803, 147895397, 20394229, 944031999, 349865446, 92786605, 362775209, 696008932, 884901273, 589678213, 538311230, 651024690, 573435996, 123335474, 572005731, 783282400, 586069107, 102947793, 235429414, 174567681, 731857, 682205644, 288668121, 974707009, 996742337, 956034198, 215280250, 160976142, 525604580, 144721643, 131233479, 216169426, 548137318, 455659745, 52206618, 57255781, 328911711, 122890392, 277327157, 973696225, 66912820, 718522221, 167351322, 884073079, 685094735, 9761393, 330099703, 150423628, 655593517, 825147737, 919102279, 33239136, 698431371, 280610660, 548181975, 377420187, 199708049, 553718348, 730660097, 759265819, 54955286, 65602863, 130443744, 462890622, 283646591, 607712115, 86825536, 474467992, 412634076, 907057500, 547085251, 663935217, 672699101, 26409311, 574581389, 205701694, 170676439, 142435741, 756526858, 295492174, 52458733, 415748715, 65983089, 862693240, 155376376, 513220528, 497262325, 635194887, 399029502, 171303727, 693940094, 207267717, 983014634, 455961688, 337027070, 774958753, 440812158, 636865172, 512771118, 618986507, 57785813, 773951393, 480525485, 174629241, 285698663, 142022621, 945364035, 795955615, 585842442, 374237863, 61730518, 917344467, 514439788, 595834546, 859369717, 252505781, 735262721, 140781823, 998136615, 676966419, 747668600, 721535139, 277942762, 716654249, 794392161, 873537416, 773335114, 501616996, 769148620, 921325510, 56818812, 255509011, 174921629, 295822186, 425600717, 509121756, 221135595, 575812110, 816633384, 336606557, 360952090, 185112819, 961401691, 997700752, 812345071, 159762876, 928017070, 335402079, 19702696, 98099088, 50106311, 114975970, 274771775, 704488063, 556403123, 372574699, 301308257, 452301587, 633689184, 853202061, 810587476, 637466989, 440087782, 877264540, 357332787, 49559379, 652066650, 879693545, 872459146, 269820193, 308067102, 507698884, 609012012, 326692856, 553692037, 495569486, 752772755, 135817521, 911348984, 455704985, 333045343, 619575788, 149977006, 388338307, 738061333, 556351887, 338769461, 675810725, 464723833, 431948882, 87834448, 878745881, 378497568, 233438128, 213688846, 537220570, 319634160, 391557680, 807683695, 328895745, 184214368, 212207876, 26923511, 26810783, 479392903, 340414995, 480879301, 543574442, 783285219, 234901001, 101681929, 117569833, 982996112, 343271691, 663262958, 210527150, 914622432, 138777154, 830420533, 39921995, 433115304, 816813028, 695301288, 200762833, 245477250, 637736034, 888871609, 110194936, 642234501, 562378192, 163287168, 286506374, 420645711, 263928590, 905366656, 342335797, 34927650, 983086793, 618031838, 685070287, 897963792, 794766331, 369587605, 783105938, 903088032, 889662188, 821148777, 406914390, 546025535, 841113102, 747512785, 342820753, 435898090, 443629915, 682630800, 914409042, 664145225, 598378900, 556317285, 545968241, 128463470, 124056696, 679420596, 931370633, 198369771, 720956847, 805767698, 484825311, 284864180, 719289758, 163292884, 835515863, 29456587, 351734164, 103228709, 544604438, 382177920, 930030537, 359778581, 323128443, 65343306, 181990632, 572997817, 861692107, 566723868, 726880833, 782818612, 650500420, 745051179, 348026379, 334087776, 731446767, 616049464, 78928943, 898674186, 757945395, 666218204, 534965555, 612074036, 119256241, 466032055, 664936174, 908641226, 681752795, 263975497, 414487091, 451357958, 531050746, 219376224, 418162005, 868072687, 418349378, 73460116, 554802290, 423773202, 599829837, 135591153, 485650560, 563304099, 951924162, 775814192, 232354640, 542553647, 493957105, 882258806, 9866748, 461025901, 813385202, 796032082, 782624062, 418964231, 383382705, 695384384, 354196600, 260396677, 353422564, 455841380, 124381509, 10379264, 510837496, 872561114, 863047620, 849819753, 297380373, 137617999, 964423505, 382714467, 743738347, 983140523, 94433850, 634118545, 401439871, 945935256, 954378328, 771300726, 79001689, 691259869, 153659382, 775304274, 275537853, 911663198, 352021001, 805796610, 254700863, 145578817, 524276456, 801969995, 603876841, 99771266, 354753763, 971866498, 272238762, 906359431, 214862500, 977587531, 365605542, 135472676, 169537200, 384101959, 957423550, 128501417, 978907027, 758603344, 947206426, 92232244, 361876210, 535067562, 596132692, 325340926, 100665747, 106284817, 316513962, 964267452, 767942450, 902891006, 283110084, 480086596, 702851870, 578675547, 301751597, 858340849, 852103216, 598126408, 416575777, 333661129, 877473884, 411115645, 833467823, 896035941, 424362723, 211151547, 225715110, 936421228, 682909996, 102185653, 435461780, 912815479, 626129508, 906093467, 762598618, 685816170, 67324653, 589181966, 527619393, 904914226, 955101209, 662601766, 105592333, 664160645, 561851244, 908825732, 521912348, 226697841, 621660609, 173356083, 474120058, 142202583, 831282853, 705598057, 552934807, 158473958, 495553334, 359139502, 436041725, 888860713, 2236153, 154073564, 288249829, 82904812, 11677810, 850330189, 853184687, 608022492, 292630115, 193723382, 707908270, 420654114, 445662893, 850566997, 906738454, 554744131, 510632359, 324487406, 775195024, 420565430, 799419111, 810470797, 479499148, 917052760, 850938712, 22844514, 911025732, 814882839, 92228219, 518064443, 264512935, 547223218, 233035507, 24358852, 592787391, 268034802, 810780516, 520398251, 85079886, 716446406, 5947628, 603702936, 363704133, 632896055, 149357628, 595142533, 336479525, 788504240, 413302128, 295418759, 123851069, 187337805, 332128507, 706066577, 869262733, 16932262, 670134282, 659629356, 548356926, 195835296, 314898902, 686445457, 428734496, 938418098, 114858965, 180112657, 244792822, 69634530, 49363074, 755166718, 28334372, 274715249, 783480453, 792182382, 136861517, 961681230, 642758154, 517650897, 756619292, 602716899, 309643786, 242573850, 925217021, 500331416, 150867783, 41398326, 826107256, 706709066, 886073967, 844704509, 781219407, 280086385, 551113382, 831321590, 345294403, 168615717, 639935613, 217942453, 391621419, 572959551, 60374974, 773130075, 819467639, 748882286, 459900600, 847967750, 250514766, 436540816, 573596488, 14074766, 693489205, 720747613, 3775857, 966843460, 419251298, 717131760, 119478858, 604828443, 429388313, 954467626, 95976338, 331971842, 20672326, 476156904, 399585388, 591815606, 150189575, 24308873, 979924087, 266891287, 804015562, 366051117, 984892637, 281389897, 142539693, 655640947, 194729729, 151108764, 753830554, 389972668, 151656062, 435460419, 203696193, 107647747, 182275101, 339780649, 51996992, 740183366, 992713645, 416072684, 507039450, 800067941, 199813876, 379220127, 351759935, 961920219, 950809470, 434824984, 555419703, 519964311, 283330312, 92247809, 382342834, 82584726, 440317998, 339940377, 356247248, 647667180, 677068201, 391788042, 210520893, 834900385, 849171192, 846140824, 358114736, 704247022, 434452116, 576325438, 122908318, 750245597, 914045614, 429241982, 544286448, 274767175, 331696762, 378656025, 347659938, 453213900, 869102970, 139377509, 742094948, 550884889, 246001352, 630624627, 973509209, 812000382, 804632625, 496763988, 62153810, 714600756, 901775324, 716903183, 821659239, 501056481, 19263913, 969016392, 343361536, 909218032, 389218122, 631962703, 510498164, 40666332, 176414410, 281035585, 102655774, 461802678, 534295148, 409835564, 657555459, 336204967, 300305672, 50727651, 909337769, 524510470, 204196945, 178493036, 593899378, 716699051, 411968872, 979673209, 933969475, 87295547, 981046337, 749919485, 439162175, 102627024, 239055437, 335804927, 165711370, 251800131, 272374612, 937284611, 544649846, 918609859, 733427236, 108263646, 540386528, 866208124, 902502471, 966379990, 547618669, 21137390, 621768828, 323516143, 671733769, 854939190, 651739146, 672067765, 870481929, 35984321, 679292081, 844236674, 32197079, 839218231, 671855621, 124551033, 526679107, 955044709, 67548899, 920590442, 489768298, 578171065, 730266607, 96152869, 472855780, 457675943, 114275236, 122909927, 487148794, 819420009, 312046587, 319341051, 489328046, 924131287, 792144481, 669642374, 639703026, 72130370, 863668054, 897189788, 896421787, 803427918, 441583740, 494766110, 292470193, 997488809, 379937400, 513484747, 391638389, 801786261, 227566064, 469946771, 204912135, 899593562, 228469283, 578887283, 630757545, 859757127, 64639329, 677056367, 833717839, 741377858, 305688110, 262127884, 433289890, 279777890, 84199085, 784898476, 726303729, 876868005, 934463463, 11362090, 225129584, 57914399, 212705865, 624764315, 363602291, 336150564, 508917752, 279870636, 788850822, 390221741, 148629398, 399653038, 882185264, 833727073, 998853332, 843369604, 487372598, 534611863, 573618768, 160271695, 467244472, 215989563, 593649713, 78672200, 86259401, 788915735, 101562822, 321860155, 688412842, 491144583, 680478377, 56452571, 853604828, 709723158, 381876397, 780160932, 73322346, 554265506, 823778195, 854864006, 533956766, 4222939, 286940648, 260396591, 27033104, 818566674, 726993169, 150836692, 293881624, 969163735, 952292554, 399290978, 92775598, 446977037, 257696898, 498894586, 667647598, 155160499, 898775192, 149326133, 200547043, 382889043, 446721276, 714326575, 423360423, 268585476, 57825634, 848611241, 134269111, 144524415, 322249344, 934729958, 97772446, 451130750, 247820304, 249834588, 434990595, 424558016, 340714713, 30401751, 995791042, 403738194, 500427801, 271570066, 276538514, 413560363, 505553098, 611706399, 275042303, 136787137, 506651982, 385135075, 492477658, 884059515, 402487825, 162283348, 2445348, 766162748, 535843113, 854310816, 691282331, 398741510, 67303214, 535591799, 757656689, 997294199, 695256034, 896752847, 69143251, 451478322, 864795883, 962719198, 712549059, 979787954, 54604550, 434280437, 484317323, 832872254, 291859620, 930046614, 399526739, 179547905, 410778551, 904738197, 328547806, 998045357, 304248957, 665176453, 461600535, 689115615, 931615721, 623280771, 554458922, 599658796, 179342619, 800711357, 927385812, 583232029, 411021170, 884315419, 269972510, 732039743, 803424954, 42453987, 485757228, 963260230, 473106238, 251186951, 523720511, 248287133, 900172892, 132508782, 985986099, 30020631, 99974258, 957031934, 862542300, 151574294, 208497624, 453873984, 616653275, 159152811, 796301290, 976415377, 758151380, 792738147, 489686594, 320146921, 259142781, 637384353, 342782781, 10185760, 609859745, 857089908, 830913126, 832558530, 502649988, 246270918, 652881090, 58913778, 434806642, 226108877, 501855417, 129552643, 763328248, 620348518, 625285511, 447931194, 281019018, 986465681, 337394742, 936838402, 404864613, 322394545, 661422598, 128258258, 667979195, 721144874, 789275788, 983778529, 126784901, 34237053, 382009982, 635660227, 725525169, 112516507, 770595171, 160624500, 101139596, 679364559, 988309077, 820610688, 431285302, 510051831, 623402114, 11803105, 16643009, 697592436, 928728015, 921912638, 452299269, 544839435, 690710439, 208912554, 403308347, 616495299, 272417666, 116280597, 411762063, 335691758, 935089190, 530868223, 350703083, 639581249, 561654755, 65215662, 839765609, 517495252, 576383752, 327832713, 667966823, 946451828, 559518357, 605621584, 761866673, 423866, 668979312, 162678335, 152746006, 810552205, 170947922, 955975644, 857056040, 250519875, 710198263, 719741099, 93325312, 788941934, 115631413, 68428198, 352133557, 854572393, 49708150, 372451952, 41363048, 849279871, 107028306, 67776838, 118515856, 450568092, 568512189, 210275668, 393942363, 756332119, 421718904, 238169367, 678713950, 935412851, 756178271, 376506204, 448064718, 153939120, 782439913, 933149906, 343364800, 377687075, 601972788, 954436760, 514519203, 214310909, 645539766, 496562478, 380265215, 372673861, 16601036, 93192356, 680550468, 65647760, 793476480, 664798034, 336953305, 847643307, 554802288, 711610386, 513576037, 439389420, 43390603, 444256674, 688389976, 603599128, 732426537, 754643416, 553943772, 808163092, 535616443, 332500285, 303104856, 355539666, 138089390, 155368919, 664919507, 334474364, 164604089, 863824865, 227271304, 34853626, 3633568, 103869344, 416631975, 696078364, 811907192, 360988348, 480147362, 718422076, 260157163, 607987961, 593721207, 499690460, 283902363, 162388176, 860492031, 250086533, 720736460, 638395615, 282653121, 673847058, 811319033, 8432174, 280418509, 518167982, 27724808, 827006647, 749029270, 565765279, 705710138, 129427605, 746040966, 41711500, 707056008, 608765841, 178151792, 390418937, 766391792, 629147567, 105023653, 206549506, 304866479, 950884821, 821079510, 735584755, 694877965, 731793160, 807744229, 686517408, 556456212, 965440653, 687270420, 504544619, 96465077, 142929664, 552576803, 779032528, 113471748, 807504117, 955220808, 737930100, 257749502, 234779295, 314869587, 539628535, 989135129, 76937114, 155775431, 526040221, 215632363, 915111649, 382766091, 991394997, 803584123, 298483342, 969287315, 218156975, 865542751, 622345414, 284072033, 229515117, 628651348, 63447852, 478977408, 967670456, 328694312, 560653893, 705620916, 132763252, 483624035, 635451952, 710646816, 285382837, 569873626, 813844675, 524722659, 40407347, 804846432, 886983201, 691367650, 112572753, 550581425, 597495010, 348186785, 593258549, 70120735, 27573465, 308671807, 947263326, 310537449, 983725487, 393285999, 465505190, 340915037, 396917349, 43329585, 428376690, 92046016, 702035392, 21349800, 966009382, 742737486, 670886084, 559107056, 484650749, 71936717, 131125913, 210996171, 463385310, 420394333, 473690748, 913326650, 307963122, 921926418, 465595897, 92177051, 185110945, 245190271, 408600518, 218031038, 553910284, 957140828, 348471750, 595845559, 291648340, 804021325, 245252636, 571654238, 600286976, 928799104, 672964266, 170811820, 245909993, 577534816, 181794756, 76329593, 575937676, 559910912, 847096457, 544723926, 107857857, 610843817, 210897886, 429165978, 850535863, 225774493, 816376563, 338306388, 17749840, 17737635, 963623238, 897271674, 512826728, 939654858, 269911242, 752630342, 810651473, 955870899, 197746987, 171268484, 124549919, 698488187, 147300353, 870789207, 546291878, 157616900, 683097478, 881601862, 673384226, 981091355, 415199504, 810933397, 877108276, 831499486, 423220099, 684635293, 256168523, 826535736, 160350103, 294884558, 5934773, 413782391, 854322386, 231978475, 614997549, 611456598, 61033838, 758582936, 196706551, 609711703, 763384190, 63917830, 17730753, 844391526, 799241898, 63419947, 738593802, 844122931, 814566860, 447413819, 150393378, 912531620, 523622147, 774945085, 222057064, 96072008, 409825212, 763080852, 594971545, 173763405, 543273686, 471867128, 394029603, 590079058, 694709443, 631894815, 365030380, 817194610, 139582453, 691277099, 717885970, 774091440, 335213624, 236989919, 897827367, 14907493, 883615491, 194790998, 317864582, 735820310, 132740189, 912309890, 475706891, 764010165, 647114085, 465198355, 799216550, 685467558, 924375792, 846149522, 573463385, 202095654, 219916073, 299326327, 54924003, 835446253, 583562417, 493541108, 497936376, 679336839, 805886396, 380507151, 48054863, 520998144, 827794185, 479261016, 507087766, 743778603, 297924582, 132114567, 452461553, 454023792, 448655580, 162099351, 812789950, 225216967, 90547274, 579724674, 741338217, 922629740, 943492252, 229652830, 974440779, 406329227, 473220442, 339767399, 786501804, 318825275, 779354294, 135500715, 235427606, 981463762, 225801076, 469892370, 446395999, 71405295, 838388406, 221529850, 346325924, 225890636, 891446281, 794022192, 414294671, 607964307, 676422322, 204994579, 892571844, 305808209, 827531954, 71472484, 240990801, 263978494, 805721002, 251608442, 70295294, 238478204, 610187558, 848259891, 271357185, 790997027, 70296835, 296812267, 696403415, 325724734, 163272932, 273882224, 223056197, 228879837, 935926019, 316415843, 569922041, 541578227, 394096555, 374079274, 901003447, 843301155, 240406607, 242866832, 313204732, 307757904, 329048647, 879324752, 84021343, 271634122, 851764700, 65785761, 683721054, 780425379, 823319185, 3195998, 636320045, 695368011, 140711712, 268495833, 346273657, 591321129, 518269094, 39940385, 131011102, 48457823, 479508149, 958589056, 239986109, 244887024, 102400518, 39389121, 111941794, 359070355, 881288945, 616840482, 17524646, 175399175, 469231348, 308968698, 566042448, 422172870, 168817683, 79942464, 346432408, 210982212, 963836606, 28120055, 287935155, 986596123, 31032177, 29522810, 247019310, 436178955, 335595364, 668178371, 291976746, 869318321, 970947612, 184834100, 791322899, 28326171, 49183170, 321485427, 75042678, 238610262, 488277468, 776326558, 815495315, 877417540, 87605666, 325020114, 40117605, 536499174, 609615964, 33750989, 271722852, 790567458, 766459523, 306009487, 909326308, 591973373, 160850545, 787657287, 874959880, 915908830, 23814193, 478296176, 226498855, 764291234, 984216809, 225756571, 9137048, 533892658, 324470839, 657421668, 63746636, 982361787, 724449329, 513923120, 722804210, 129989445, 513815756, 135529765, 148863227, 300924343, 701163726, 112089795, 521528943, 709506324, 301338952, 674543848, 253725001, 778578118, 832963246, 409977487, 479848760, 72899125, 308105202, 224449989, 423166117, 285265097, 28593622, 689708538, 940513324, 586685564, 816700243, 130331323, 840175344, 961749066, 377703073, 825718659, 99305611, 781098526, 60966932, 516660192, 85902214, 856453117, 312227367, 519774499, 945144432, 525544337, 76718809, 667082332, 626267564, 917762252, 922607864, 671505757, 475849717, 355164078, 525264728, 259658340, 29251434, 502940758, 308144089, 262992091, 30613440, 473649580, 10712918, 406156244, 375955361, 781522304, 217167700, 7967612, 389256996, 579408186, 266013298, 508246264, 47094172, 643670654, 339525003, 600930851, 33909359, 430755645, 81710795, 494498467, 757402335, 729791271, 354388785, 849438672, 651130421, 562583106, 998810064, 730112602, 146142383, 608086206, 592583415, 652211587, 557529538, 877947660, 431130208, 307201112, 99060156, 805338368, 621547305, 41798798, 338780041, 737403870, 748536272, 152821322, 747867857, 916975653, 284375988, 945377106, 738630929, 780354417, 447283767, 377263564, 562548349, 452939392, 418981953, 719883221, 245593622, 23716575, 719564084, 538363836, 28001250, 750738597, 610373418, 732907890, 47670316, 225071013, 394556802, 557856116, 152822882, 674954761, 911415326, 273104743, 504794738, 233664939, 319408427, 177450892, 859606815, 962486649, 706182907, 380646467, 129126452, 53608002, 501812391, 900086064, 847016163, 989840724, 211399929, 950490515, 99709112, 548442132, 435503514, 968696025, 898024182, 735710893, 936604993, 954774167, 297029675, 620867590, 732852203, 347659960, 784461826, 998624797, 648672482, 85530308, 253897707, 250083238, 639355405, 163676516, 352518658, 927675685, 732680878, 630966901, 517646608, 547746737, 613883338, 309177020, 455861184, 512721157, 151014943, 667444788, 254259928, 915541796, 886965114, 50223213, 778802281, 547842838, 983186904, 597832529, 559222473, 213430362, 680753519, 282256962, 554935060, 598624731, 111732572, 960490644, 393579918, 990950654, 641392531, 47173848, 441074745, 250776329, 129184116, 601354366, 841009629, 771291796, 540763226, 432023767, 938843454, 704471596, 985569394, 240811802, 328952596, 797136923, 561478126, 509338015, 72258534, 963291561, 473287513, 501734523, 76235366, 796616189, 70763310, 501497315, 766941467, 42244671, 715291119, 652496765, 115761790, 263089197, 273218009, 504105260, 604815837, 134064517, 618004731, 301808256, 219452237, 5590067, 294316296, 149508090, 11925016, 217257789, 714862149, 858162702, 535667724, 484286137, 106872609, 387409256, 909718031, 116976067, 750851240, 290366130, 777877071, 805941301, 321346271, 134136635, 672923945, 986337585, 950841098, 695017532, 104123037, 243224502, 746993035, 396536267, 111220492, 662470361, 544586991, 490214994, 559299667, 939855514, 63936380, 703751161, 569709327, 981603065, 960079531, 504852223, 982280187, 919365786, 213144358, 669214351, 561656835, 236256757, 707138725, 293116139, 643127650, 392983609, 156270950, 262064763, 812102716, 485578432, 796034155, 897518865, 694408630, 717386341, 647427579, 821151497, 252887637, 520653306, 347408274, 93307729, 159122010, 400469, 475040389, 357372734, 674255081, 71639370, 586475366, 532429612, 652847398, 509212831, 472859836, 734725403, 284809068, 614462445, 586045291, 599587295, 736782130, 113604026, 850268572, 188723354, 872132486, 449524742, 427548488, 826208422, 898520638, 799712827, 108333849, 74208091, 562034709, 6971132, 988347086, 426520968, 236484275, 76356528, 334889556, 813275793, 192126708, 38096603, 774855190, 944511753, 14584346, 261588076, 436648790, 757403662, 939746143, 188780608, 718541969, 584096871, 600905065, 66789030, 191600079, 1110939, 224449555, 351241730, 907531959, 233555718, 575276160, 334676736, 985692126, 774376922, 486977849, 333453017, 689018541, 988282070, 609955848, 765468549, 857134409, 93350698, 460338150, 580216207, 710235220, 907774370, 240008592, 856426479, 884260057, 854868590, 163697549, 992748487, 176574787, 792864634, 329263265, 829752192, 32212120, 897323038, 855057208, 31691754, 915499590, 649999989, 663578184, 989728896, 177106462, 546208695, 23937137, 986134498, 725711812, 534447897, 416420624, 947936619, 11259835, 505648631, 63161360, 273786317, 355435637, 171815566, 492338738, 655294237, 957649946, 915003154, 712367044, 375615279, 244018324, 442306286, 32848173, 978349151, 427565664, 248803077, 283569583, 777912461, 921156201, 206175639, 498897470, 217761552, 775341528, 667970436, 914720191, 602648144, 465664315, 624750780, 866415925, 252648483, 945757608, 829617221, 5946565, 81783374, 381192828, 674723979, 389014316, 736760563, 168918717, 282939067, 955833795, 146825355, 198815397, 449059005, 189461605, 167904469, 14010970, 960507186, 630289945, 615823904, 254649822, 360638449, 641489539, 994364149, 819262184, 812751473, 480981628, 235523304, 661295892, 110172119, 263782675, 560980835, 450844963, 782647333, 705846745, 96792097, 519878409, 653956698, 132389466, 143270159, 283477869, 620071778, 782392394, 90720681, 531067844, 262882770, 551317170, 963426938, 851508208, 843276119, 433463159, 66961232, 348992007, 464896532, 19137316, 955937712, 210696647, 469105114, 61208662, 969483879, 724704759, 469155246, 534269316, 859721868, 34984541, 825703289, 75005973, 753929634, 33444614, 942502787, 734556081, 951730330, 791723478, 210280744, 105341338, 813472346, 223519735, 309100418, 425315014, 880966476, 279641196, 504911943, 403650340, 547596258, 794924417, 189629229, 776280680, 907224895, 624932964, 378680894, 716263557, 590510510, 727142994, 337324437, 780456464, 697921154, 903538127, 73207637, 530035219, 815399734, 285358159, 157658351, 75026209, 999001408, 973897084, 470561514, 488480071, 113462419, 981802505, 279985588, 800530775, 60812120, 125624698, 595794040, 594348860, 364215397, 190405820, 128237452, 676937655, 376213575, 683944788, 823598460, 213587850, 200586285, 43705033, 521712634, 258253204, 524741868, 988216718, 655121863, 390252541, 839560434, 897427510, 109767408, 774131746, 197482205, 875635242, 983042266, 79159435, 302490339, 849996748, 553792221, 194420600, 763739068, 504908417, 779483030, 110636028, 102421754, 828728816, 904694473, 277448774, 864234359, 996488066, 149597186, 420325168, 408431734, 405913471, 270501889, 497195342, 25996567, 260633417, 463788350, 201854284, 912935066, 909079197, 86699527, 736886914, 791042289, 81801044, 350528204, 647030281, 50316329, 877136530, 233599406, 716184745, 966519138, 705616580, 504158636, 9921368, 534828408, 217181063, 238429103, 66303002, 261878655, 188750670, 427685035, 789511449, 457884832, 582012258, 665312440, 671219161, 278789397, 83423782, 647015523, 427822441, 743685743, 915098520, 792531879, 725049029, 272698849, 389104525, 914419227, 592824601, 166053233, 843403420, 130294158, 644801870, 15771349, 553030448, 841286851, 741137734, 708612055, 534376249, 745611492, 54966807, 798803024, 763029538, 484010462, 246787680, 432824029, 293286584, 247995695, 351624102, 106983920, 693572658, 197200254, 606185528, 723056126, 108313619, 797238310, 666838000, 465147529, 264723292, 24818999, 323747241, 770094644, 138024049, 240158724, 226784215, 503170485, 974404796, 451653228, 142880785, 145060600, 82463805, 705745522, 129152198, 16068972, 17248972, 830958969, 58306068, 689378404, 586302962, 612543986, 379993538, 731978448, 235436161, 824582251, 990720452, 382600555, 244978538, 900391489, 889006953, 296007644, 612757402, 595698011, 162295148, 860246901, 859148248, 413229613, 55003026, 735881034, 332508141, 546929321, 346686780, 481834780, 992658168, 795566579, 189176149, 174388892, 668951966, 619689583, 597239081, 73498580, 745356585, 451046141, 229667242, 842356292, 139384402, 634636026, 743545883, 942062326, 747896070, 835821758, 36308755, 635863629, 475225461, 287089861, 809618139, 145311886, 12835775, 1733721, 215096122, 633608596, 243624590, 905121248, 250855549, 328816468, 258611269, 19712602, 841301054, 110329928, 447350662, 569607838, 764204143, 839508952, 523970772, 591603789, 744204589, 955249516, 781329834, 223866998, 636685858, 877700727, 998063038, 102177967, 904969481, 316689587, 485978564, 628847080, 224657043, 339258445, 157298840, 942569564, 50393326, 798798027, 565907409, 960870217, 305799732, 663236037, 933024002, 436140189, 199432611, 585053618, 377623033, 310005812, 952469894, 918657294, 803117352, 122968833, 806707537, 779616197, 574712920, 408698332, 600841776, 406298179, 460845913, 855955942, 186859821, 400449373, 273198676, 838486526, 609482434, 671040126, 138284105, 476449859, 588401505, 352445034, 129699569, 570670524, 689621492, 445185817, 232943402, 452654525, 706540078, 781797329, 804337507, 204785346, 832588016, 180902935, 140768662, 581197090, 100523679, 23282504, 442205858, 462832302, 280817636, 83373909, 902466936, 485455040, 785357478, 486965194, 819094201, 524544930, 106086352, 402537897, 520692813, 631940101, 586314582, 88595731, 544845838, 415360871, 103185762, 271368473, 277527805, 783043809, 197086107, 764461712, 70191630, 422562831, 972813229, 985684888, 910424376, 113279312, 329024834, 269455185, 689012626, 87154082, 767367481, 104790201, 898389315, 842641176, 277316323, 276759797, 111056150, 914540275, 605054984, 511074637, 245938067, 503403101, 20496133, 239584853, 625519129, 443358023, 666525440, 835898279, 882169975, 144599000, 36658967, 248082813, 261750123, 583857922, 89007030, 313284284, 999685482, 500739107, 881256025, 575260732, 55683947, 383452694, 513360281, 798563324, 985788859, 406202367, 87718578, 259644900, 514611602, 738213675, 857809199, 475867884, 621362647, 528814333, 111061897, 785163427, 692351997, 243671751, 467127036, 103248904, 411176807, 267119779, 968538583, 434977527, 439219413, 163328968, 972498545, 428848223, 449186678, 978844655, 781561435, 178540354, 259207715, 941522258, 552579327, 155151016, 183919144, 643058092, 467314959, 773268737, 282105373, 73201046, 67258493, 506463055, 248917951, 806614815, 178615602, 400295710, 166528318, 524213815, 6225007, 207963783, 436263062, 58414340, 295343831, 508649378, 953184874, 944419230, 513030616, 951472690, 897239830, 962026479, 33894855, 893549425, 166390553, 718220224, 865848028, 99338564, 105182395, 156435361, 654393181, 452282403, 591223285, 987943626, 810981927, 618423650, 247695140, 111644941, 877281497, 546727191, 645443023, 61917058, 231054881, 352990130, 59364915, 153692339, 817056712, 577204827, 4095234, 530506300, 227634259, 147773956, 148395169, 44340242, 672135186, 275717501, 417619192, 361293720, 829767052, 643565583, 808532190, 884751071, 906333264, 26911928, 303736786, 128750285, 191811090, 3654165, 701325347, 749613311, 818350083, 707810554, 35555693, 640294135, 976949139, 769064035, 999862402, 636929134, 994219320, 526737616, 209264721, 454971898, 105572486, 822240739, 479419878, 406102501, 585818440, 459490624, 682329681, 156036608, 974812689, 921014790, 564098482, 366235903, 592860867, 853022376, 997554318, 580785747, 948569972, 184007592, 224034147, 7500352, 545393505, 62498479, 75307397, 290967572, 871090628, 558645846, 27401752, 549964232, 63197041, 901462005, 556262037, 109749469, 140192131, 621463288, 607061278, 138365683, 114718818, 90134157, 300923988, 902955877, 721343820, 108326411, 826675282, 670500022, 141222612, 418418971, 254110188, 247814447, 630140383, 437690451, 847448670, 555733173, 675764423, 317144605, 71324137, 1333845, 378586726, 585753587, 85937145, 158080467, 139888265, 354138880, 505102386, 513240042, 726986284, 170706330, 812695467, 935907368, 552966062, 634014949, 78868623, 692572580, 21804767, 990083188, 479447227, 14665682, 156164315, 188917865, 442191572, 782049729, 766190218, 169765726, 813224793, 124207329, 276305592, 614422883, 490414839, 731900039, 995972393, 859793934, 333146918, 824385144, 261799559, 954048113, 717342976, 94285158, 247098201, 140358671, 665141622, 566940665, 850934718, 862311718, 725140972, 336624399, 29956536, 470358092, 17478560, 633534893, 154362002, 915183571, 649503500, 561142269, 108177806, 511276392, 276783307, 321932332, 987552176, 723468068, 573789681, 413740311, 577954630, 539196227, 174250382, 655912690, 257048904, 751710093, 985037429, 673924768, 345502529, 622375280, 863015498, 538703480, 445390747, 460313600, 539905493, 356166563, 699931108, 254321335, 942859397, 995419194, 671679943, 41792661, 538019266, 406435149, 48950188, 643370699, 593694476, 237003041, 723670101, 201100410, 267105298, 422265303, 941821508, 196147950, 94999064, 446213410, 943042939, 100973392, 81875172, 615406947, 470360463, 131657503, 770179188, 433696604, 606684653, 194489514, 753469853, 130189409, 628871877, 963186846, 540311279, 710182404, 238550998, 766713177, 483531099, 442330995, 116382241, 799960667, 708909996, 884769167, 959500271, 944922013, 566245627, 32121464, 408126086, 495537918, 550095236, 834420677, 323665791, 497729330, 930448592, 543839687, 990680422, 68476381, 704674410, 516326846, 151250366, 875845490, 862186486, 913028099, 822708352, 358893568, 115928125, 949754988, 410050840, 718937331, 355399871, 925615833, 910269394, 257814172, 895477301, 611724658, 98549412, 724922102, 302091895, 25492352, 42812015, 143977283, 880945569, 659205275, 431002181, 387339222, 447284138, 666395034, 992388641, 323369953, 716459914, 816052709, 44720963, 291123157, 930760570, 119767416, 740691815, 191978903, 877125025, 742326258, 896902826, 183671077, 924743254, 417916367, 462737281, 189162414, 626264748, 525023711, 875715205, 454194768, 157930384, 725720498, 193156589, 521923663, 375641427, 162282917, 480154876, 158417563, 959192664, 806629697, 527139939, 313439341, 754758167, 158288955, 690663643, 930211210, 144073884, 533695988, 187003251, 743874382, 776692594, 351243492, 852515542, 620366452, 494453490, 325518727, 18325798, 538033004, 134634511, 651626381, 451903053, 569324531, 506400204, 955586006, 418321978, 221021102, 232453788, 189741714, 816426366, 849280646, 445819958, 803123710, 85791666, 190244725, 997733080, 835375288, 515776493, 70767893, 257106221, 680161586, 143433384, 298346312, 903229819, 328855525, 990150911, 897135087, 477959648, 404108860, 966439583, 421518289, 992527302, 211417053, 234522630, 156177764, 864408365, 875238933, 119960050, 691566636, 139453720, 581445873, 881864741, 613099360, 83140887, 692816204, 940299610, 82209797, 772131824, 180391595, 57791381, 246811220, 137828845, 620491603, 180450145, 624826932, 222972874, 612831041, 225041226, 912529335, 893656373, 758835396, 563832618, 468842867, 284101099, 51899650, 106716348, 775139556, 419925922, 740245470, 18953839, 574626230, 447241943, 194135442, 948946648, 347232499, 485140788, 401370629, 532209307, 43061138, 860933427, 749604908, 654136598, 731827779, 465832901, 278463500, 225231482, 269624568, 826423374, 364574124, 811214108, 840832033, 327237336, 168414756, 666485372, 452342772, 214251082, 267580316, 48309346, 56273411, 202777298, 179046442, 228449659, 649672331, 641146167, 516124252, 952442582, 305302521, 188115576, 411307633, 879472761, 789846330, 844204221, 992371360, 844241861, 461064997, 235250119, 577114519, 175823086, 484522819, 95175905, 256359471, 424935631, 614753452, 497327385, 154066172, 835327859, 247290205, 886140077, 419501058, 677307364, 83962960, 465161039, 240589496, 66170928, 655392977, 860330471, 596913195, 613304979, 151064873, 295984808, 269776188, 709062233, 577476632, 519451066, 273156643, 258531191, 911162335, 777461547, 86105704, 873299975, 534207447, 673495023, 473103578, 815215157, 850296098, 688424155, 106210086, 317131219, 987423104, 182576306, 384592398, 892620267, 565975970, 190762331, 611154533, 802544824, 756207878, 83867711, 275942109, 318524768, 473141409, 683232242, 384435718, 611902857, 216883203, 660369160, 584828417, 900614039, 37496147, 764970630, 815099806, 182144595, 743282533, 344881154, 702533014, 876651859, 506955617, 547165071, 10789140, 752557740, 766372775, 389349311, 923568096, 839562218, 635477877, 305487329, 174150625, 446467807, 71972782, 838360985, 890878521, 685076264, 291371566, 368897478, 25777190, 952015053, 36135823, 738145631, 830335892, 216523795, 957745276, 493495355, 964295190, 50312032, 327063469, 349081513, 310802115, 309496964, 506710739, 575153508, 522154137, 840439573, 690372422, 415613640, 325894866, 169286745, 717591478, 567952874, 901441589, 641954714, 762535711, 701583832, 835020336, 849470168, 959423565, 601812529, 514766957, 13280324, 81159614, 148680025, 680232775, 262503478, 565940993, 952230838, 656898947, 694737195, 760927815, 797634076, 295174605, 159431654, 926119221, 861998999, 198131926, 660272145, 149665210, 713461900, 202208720, 786031183, 312594512, 370054197, 636680158, 706779765, 110780918, 275197284, 20753591, 571345950, 479686237, 423448271, 910148652, 265153525, 955530135, 984923007, 730732732, 450097949, 629158486, 771270189, 199521050, 458679703, 594849308, 872506529, 405939097, 996049486, 573513739, 197461316, 119928837, 928820802, 960446193, 792542002, 536144832, 835648913, 910397878, 891639599, 403927471, 504975347, 246224645, 666331281, 219198573, 661109966, 822147815, 806926876, 50570392, 363997169, 391887771, 136756960, 738348662, 867842012, 259921824, 71775187, 529798714, 847163697, 979813335, 397715744, 820291174, 619014759, 381150914, 941998135, 419319854, 861933097, 87243762, 764758590, 511505637, 712945866, 660535326, 834628291, 603763664, 673743613, 736639552, 955017677, 157375006, 220263047, 423628529, 159880425, 782637242, 132282594, 586355442, 299202551, 379119879, 96434011, 748345858, 836160297, 117469962, 878040181, 248571771, 858733441, 890625414, 592129524, 601201236, 21329679, 90589727, 794024268, 952635581, 532974330, 929291698, 713460895, 873810394, 760373034, 215395442, 791821227, 933816225, 873868111, 925339812, 578638652, 516947931, 231643156, 724977217, 93905265, 395208778, 740368445, 166841031, 511588934, 226567402, 741062880, 630009823, 177796981, 358343977, 433445017, 296636220, 901890244, 871168822, 815548015, 499778732, 110015164, 797853300, 930409172, 570356965, 638493531, 369965200, 396486332, 851770439, 42857605, 692628669, 475225150, 579385076, 292373987, 515582633, 241863547, 786198511, 434735913, 38253563, 458192178, 938062191, 885914758, 202584563, 145785525, 158300378, 410001820, 887554000, 498270219, 483259644, 142884214, 538309094, 967258501, 407352550, 260229643, 111633333, 235892098, 697773127, 375050602, 224409072, 692618421, 959979758, 982943640, 86671883, 785488634, 969899031, 654702017, 667255578, 251228050, 722182646, 37695389, 501701811, 46459310, 796546663, 718654293, 941347766, 738601929, 802951792, 899579220, 561520175, 472756630, 32957560, 701256363, 711745302, 284099394, 98293851, 555124701, 748038788, 650027463, 92354192, 202893673, 533118766, 353943313, 700299024, 791954362, 287059515, 371674182, 842975567, 601395938, 659585086, 82218854, 168338040, 397848478, 526464849, 840921302, 463680947, 610372316, 548106402, 306124590, 389996783, 963473992, 816654773, 511435627, 899756068, 546646067, 18529298, 569286055, 587498871, 873310690, 633236136, 499527722, 955745826, 775888117, 459992006, 550631349, 715807271, 748375032, 664668484, 780340060, 888996184, 133920419, 822044868, 641120112, 725041309, 58457562, 539554585, 788273905, 655641761, 957040668, 257634700, 905199223, 16271246, 245033790, 604240502, 657965636, 294483926, 647733661, 938567011, 79269525, 701616342, 533672638, 754115260, 203492220, 584724662, 177992223, 723195454, 303488373, 636172083, 849042631, 268199124, 807229238, 943159514, 247181800, 702607458, 891024054, 995399597, 629876695, 887941307, 363355702, 234178146, 822790863, 210943016, 829588700, 153014849, 514407073, 461884174, 650086350, 886734068, 937241193, 375047501, 122232935, 554253632, 556222703, 389011977, 607713378, 646053053, 253017550, 494992452, 924238054, 745075486, 400085340, 737264696, 218889379, 455364367, 516108135, 335776877, 709182812, 223097486, 703159731, 366694154, 960675394, 360929707, 738650478, 405028548, 583641835, 138451607, 311066004, 705409266, 945649479, 132797269, 12913061, 426279006, 709448655, 860241145, 108126879, 859158318, 781211358, 683690579, 474362384, 836678502, 19042750, 140477557, 867765913, 668145250, 470878248, 934137074, 715356079, 899302358, 377511095, 744869432, 633461508, 771051617, 845484705, 234223039, 471410800, 629136188, 204050153, 50608281, 927823802, 709874368, 635209890, 115568110, 985425749, 203394392, 969608284, 760425111, 853532512, 981771949, 711843872, 986225827, 693436961, 741593364, 429139407, 716893172, 380675156, 235223979, 717208216, 237770041, 663639326, 576382719, 151179406, 128606955, 117270337, 464062516, 500658363, 666955287, 548409145, 861624827, 476569272, 698094693, 287039347, 24639065, 645554709, 766785361, 82459084, 702672938, 901473400, 397267724, 689089070, 159021505, 704841465, 647368810, 384317876, 69284032, 143442620, 281108886, 753088685, 55256718, 119387153, 966854517, 81124314, 249641539, 358822919, 277908612, 753828154, 825921304, 674178863, 166813358, 61744153, 673557897, 164469007, 297067893, 977368747, 233634063, 613945284, 359971934, 633988738, 235987305, 604742014, 607170543, 917168204, 850949680, 134003463, 36111685, 612547995, 641431151, 4943750, 725521497, 612123271, 987835934, 190004683, 260016351, 965598486, 859265138, 301147674, 460063902, 947137665, 600961429, 802109000, 626918674, 707703630, 37258121, 552193165, 630261266, 535629366, 489276542, 327283969, 196774473, 826615987, 549364581, 773650355, 409610230, 794496821, 105213482, 202562535, 933128757, 989705426, 215460764, 666791804, 512065381, 967481935, 825709047, 26827041, 442971366, 303732364, 149159803, 192424071, 827447741, 557048276, 360581557, 754440727, 173245205, 900197107, 639836356, 869949390, 156075467, 727303911, 235830016, 507028351, 156067328, 670063914, 110520624, 303059510, 237300746, 821013184, 138847232, 761312792, 250491687, 921564472, 50224816, 198063950, 355576918, 257020187, 463057498, 782918337, 712737695, 585069445, 267606225, 79695760, 385095241, 845635388, 21694414, 226233285, 181483310, 604212966, 382523783, 181748834, 853016334, 821102157, 479106560, 132358107, 143458200, 445424986, 232678471, 181013178, 347141129, 236109659, 821615727, 117187679, 919004293, 557873818, 475499088, 981367274, 36426080, 462503497, 440775634, 707887386, 884020073, 541915447, 67131552, 61725071, 700627235, 623317178, 937883369, 916670984, 282316019, 880983805, 4677465, 672564724, 234811965, 862129209, 404933724, 604041317, 338332254, 754501422, 419912707, 212136122, 191599910, 12729375, 315596350, 200376812, 628981725, 615513210, 738883709, 282783241, 959574129, 767680306, 976274051, 220608993, 716841641, 751894019, 357119932, 614423170, 107892195, 111961697, 829482712, 13256725, 453664649, 735002491, 364693744, 23357449, 11266248, 734625305, 810245449, 719896361, 927048374, 396422274, 291141311, 241150662, 118644387, 550896860, 180233562, 179625975, 403479103, 86279798, 918763785, 430896373, 154517957, 468292072, 950868837, 391624765, 12606847, 347928429, 318295782, 20069205, 631794646, 153277636, 314102375, 839068974, 465979459, 871218043, 198896154, 614439177, 928129022, 159034200, 1632875, 782774994, 407696666, 800478685, 646663902, 622019460, 526762892, 960508407, 81407860, 528957908, 965830822, 984186712, 530367400, 242019098, 910259780, 39647509, 977149832, 853181641, 431876540, 223008335, 53998754, 82772083, 429881740, 736604991, 142987591, 121149779, 639437646, 233360261, 57997794, 656160808, 548308446, 228670618, 52721289, 366244527, 181398198, 115517852, 582249686, 250632726, 371569739, 238149043, 878241941, 54625983, 979780263, 20962164, 953247752, 260996132, 653868482, 355619577, 484826189, 547076459, 914207927, 97173606, 244382706, 999125606, 65553026, 588370212, 570044427, 427594592, 544587274, 681838008, 451483913, 345084080, 400050999, 307087921, 710443937, 582615099, 889906213, 267436969, 477387320, 2804201, 331052649, 278350117, 740731825, 125407858, 736554025, 994384193, 863520563, 720828351, 371506390, 634591890, 747747713, 487426350, 428656418, 217071989, 681994709, 128240607, 342144453, 62396429, 929952067, 211684722, 46912474, 278539932, 243003181, 483846084, 575748599, 531178698, 771855527, 795300283, 811207567, 597264587, 349122953, 832982581, 493570786, 503233749, 790363612, 481664935, 941907481, 781332298, 100074074, 747942635, 909491648, 580461725, 973661212, 147690299, 157995664, 278521173, 813384117, 36166475, 705301115, 574986305, 965947108, 34524351, 729165908, 855242655, 465306110, 723855218, 628216688, 358896942, 264971593, 63846429, 542979551, 643488612, 817812839, 407576297, 639823356, 155678407, 479116133, 202121056, 585525836, 935485748, 299104226, 972439374, 744832413, 811389080, 683772786, 292273298, 500805711, 947237036, 225689217, 740352166, 422851500, 78160275, 578839071, 290559366, 88371505, 35770298, 128648378, 335425475, 188177421, 439664125, 178044086, 768611893, 892630879, 896080236, 251502323, 533878332, 391389183, 19223724, 28599011, 888178398, 125322390, 796880755, 437759122, 280254746, 490266390, 43303866, 874495585, 563760442, 521468573, 441364526, 149659550, 887549981, 222393856, 821160653, 350912622, 304899123, 964429898, 558839295, 318650966, 905127391, 864617030, 331669736, 607483721, 34276958, 752355504, 772147300, 93216617, 541194908, 456903711, 921629358, 633477791, 929543493, 674254626, 481759058, 954503271, 950382330, 12303372, 780428896, 505033671, 884477706, 863925177, 219866241, 773571729, 878362778, 623814184, 926116297, 448223964, 350819542, 769167046, 296810407, 558371776, 907904111, 797916579, 29342573, 716281287, 325798014, 951223091, 792138333, 409855463, 941240748, 885398706, 427217616, 439135990, 61293933, 567434814, 378834229, 844002057, 788304641, 5252864, 837588562, 315532363, 1600863, 254154073, 650771240, 788783827, 683193294, 246877351, 317352091, 793418730, 777922599, 653554752, 369069660, 512986381, 479947010, 173951950, 334823816, 417233395, 755625446, 729422431, 710676719, 159441111, 748542451, 287885189, 523961094, 672699026, 128238051, 477090956, 267049347, 34698297, 959163287, 971515759, 921356112, 751023838, 835605512, 456673439, 53278176, 788280218, 709675363, 591714143, 73001321, 675745111, 647554162, 966416179, 606020579, 739103761, 184054325, 494802520, 373722745, 400070831, 912230595, 194332541, 640704811, 933206263, 457609278, 566020243, 416081890, 113402411, 111325494, 444862112, 645634272, 450054285, 945509750, 175874404, 86663784, 68112313, 627203770, 140848800, 568504041, 994196452, 382062249, 55788728, 334344688, 561528440, 690553165, 838114706, 128770455, 60029006, 217356973, 231042422, 239920853, 85693769, 846805534, 133729220, 956463925, 201545449, 520041613, 678123667, 132106111, 637801253, 650552876, 189194024, 743360617, 474830663, 241353525, 182724196, 628332727, 421073922, 894412832, 146398346, 60861246, 245159568, 626161793, 472548041, 53842737, 886619947, 939771559, 686796457, 319085331, 717786740, 391765465, 230422401, 932023284, 824437186, 738623493, 181954886, 412068955, 509440788, 823773735, 639344572, 456542709, 136445278, 821261041, 370004532, 295892412, 825430464, 911086263, 608486997, 482998509, 715093005, 123592867, 420966534, 140344941, 584721418, 576435377, 786838485, 507511049, 308850556, 921490590, 184700066, 919174697, 462533444, 583533280, 891329672, 918092086, 949363105, 2322572, 136226818, 182994788, 313757092, 906207626, 278422505, 98821143, 455477210, 663522003, 722061844, 165592244, 714510921, 279318173, 979505939, 29203180, 622905585, 839148104, 743546272, 627708255, 379502594, 477044747, 578639613, 935334513, 922305558, 594116525, 868118021, 670188137, 447467116, 777882396, 4962359, 300508358, 435583052, 907949541, 827175615, 627452425, 521810026, 519013021, 777832498, 77541032, 699364028, 401861604, 150249783, 791031641, 98226153, 127447788, 913606456, 6023327, 95044354, 425198615, 683184080, 860432178, 736236396, 982628543, 450688979, 782131066, 155926101, 574828465, 162031592, 68525907, 624543511, 978027426, 583532944, 767955868, 786871392, 152269832, 608400111, 432676718, 693044033, 263448525, 814070040, 779180190, 16904191, 307714919, 633648561, 957102728, 640212035, 966606653, 27130289, 743782996, 254761918, 653535371, 819900298, 658501260, 449715308, 664802781, 970397617, 188720971, 999997162, 903221931, 173186858, 110424367, 13067390, 103412660, 420034537, 339761384, 702867574, 822972115, 498227060, 498479687, 680496741, 527985037, 508465629, 919819396, 630153452, 843549259, 10066811, 654602672, 203979466, 7824597, 23581709, 74793074, 264666958, 259234345, 673575647, 602955421, 948371220, 703950123, 735862429, 904806249, 746472082, 929291466, 842966927, 762925015, 205462954, 21639844, 594908091, 981022173, 935894649, 813087260, 196584643, 824334123, 659826070, 886460319, 544804634, 970225898, 689381112, 919621920, 828571589, 886413737, 208348403, 193404162, 68913332, 244528643, 918186008, 738267607, 214599721, 383684814, 23661155, 791978314, 650242925, 252759047, 57053516, 525073821, 140547476, 689954665, 525767831, 522636100, 213077408, 386637664, 328996692, 22546545, 28802785, 548364247, 798934557, 37082998, 732035761, 311506379, 650792313, 194999908, 921338434, 26594996, 771320221, 283858481, 841197020, 693006156, 731986350, 67366935, 752886081, 827273009, 565071308, 300749980, 122029342, 653576233, 201475820, 482453429, 78044143, 382056448, 158846283, 863926908, 44218745, 740959989, 361512999, 734001069, 41849334, 520664954, 301669823, 167247100, 886898041, 931927300, 331719619, 781853890, 71909730, 140193106, 124082950, 66915006, 139019551, 95012688, 899351628, 86467385, 945930516, 41685542, 632392004, 589314904, 262376771, 260304451, 859194878, 257337249, 836917009, 880622590, 885357427, 257351875, 408653553, 843234672, 441351493, 216019952, 811694428, 47145384, 868771001, 786070106, 971786911, 864961621, 986944770, 694187496, 722327635, 121864736, 78689658, 868658371, 110666257, 563040501, 741636939, 957527604, 382760611, 500962533, 698666199, 233368547, 790977840, 868540455, 544889307, 657342346, 862463623, 843367978, 893938493, 655705925, 950752111, 279688328, 223009181, 323629427, 954188116, 608601937, 353159737, 553302477, 889421890, 25457008, 932811435, 217532065, 980302795, 979368901, 207014752, 876728992, 474890902, 129743372, 724510718, 361598342, 532062105, 106435443, 341885581, 141092037, 496970852, 827986700, 997172614, 630654116, 932453545, 120735534, 374994682, 52385119, 499295696, 854289911, 561592895, 207828071, 548939280, 63822334, 716483392, 571250961, 766530786, 464541946, 853943400, 195370233, 538383184, 663386560, 713661652, 232193259, 54032925, 501390288, 448534531, 329646634, 524181142, 332585551, 838049092, 165862187, 851542713, 687867616, 220371953, 604419742, 283081014, 597648042, 420276501, 926751537, 717330991, 680600091, 445624155, 741029529, 590532627, 505183941, 506137861, 2342022, 367591956, 651806493, 242427906, 364717939, 652048080, 720133134, 391645987, 683594573, 236445488, 709817074, 463461426, 829303912, 647572733, 924259480, 534767405, 212000978, 141183233, 425609717, 345518327, 123302226, 472576640, 432558097, 893669716, 458821821, 401412032, 679503489, 6682587, 212619841, 762173169, 509306794, 51640521, 745083995, 214481048, 79603975, 453358028, 709849502, 835383402, 367038540, 549613710, 525427387, 715361520, 832884798, 832581362, 507016733, 829360299, 29591800, 121297407, 262379231, 635271877, 911167239, 585392823, 892381482, 611127226, 379602118, 114470574, 617963310, 831550892, 237761030, 273000012, 12418560, 735200834, 620454892, 395373760, 47190747, 642991730, 823712096, 817020249, 850792938, 413387218, 789952124, 160908822, 407886042, 246174969, 589007632, 900278834, 7053482, 734389552, 579955200, 887692001, 615981928, 991073750, 125979449, 668498363, 903254096, 947087317, 448907172, 168571414, 844078123, 274014541, 388634245, 315888534, 214013902, 241973370, 309006176, 320030957, 434612530, 321991633, 409026037, 691035959, 902694063, 915325620, 161464719, 721051035, 153382707, 467501866, 515423239, 838080162, 34867910, 656691041, 453919204, 146569464, 314812032, 490231492, 550435378, 166325483, 849632368, 968612906, 243173388, 107065131, 746092236, 570082019, 784609237, 229013430, 482833931, 853994697, 709883195, 564772654, 424065302, 500876125, 913558830, 86568453, 99847988, 452916487, 996226357, 177722541, 642347516, 314695748, 663783803, 909370414, 36275499, 105373326, 637137971, 472754894, 188084100, 998387356, 537063783, 996406801, 262763339, 621734327, 386948753, 906830966, 967653946, 72479642, 64242394, 393856759, 777583103, 341813789, 63988178, 988131229, 38227441, 931758807, 176474828, 642538024, 558942982, 197967779, 275338271, 116487285, 19458678, 758025089, 509772024, 121094982, 579999600, 473966609, 832946823, 371631206, 987595935, 866685973, 112046967, 273938507, 474301633, 813749658, 763443547, 703684335, 371767989, 335463678, 717785797, 208874864, 52435038, 638326490, 978552107, 557901056, 826006620, 347743588, 523384915, 536054563, 874463773, 654350362, 652648774, 302864678, 926890591, 222119120, 213560123, 155615146, 718529129, 445318856, 949374043, 545600685, 453070145, 314290453, 222465464, 481762936, 499065990, 348941203, 780345993, 454834156, 117812475, 108157943, 227783296, 739830475, 299417224, 835099277, 476544118, 858901705, 239587734, 577550507, 602243124, 87114496, 225905625, 412063529, 91748289, 376855752, 847171645, 677302076, 25477531, 688283177, 997941792, 667930094, 599259160, 265677456, 453037483, 861990594, 492433303, 350591628, 438874906, 506283192, 710340978, 95301211, 722697709, 648323059, 521403827, 73792981, 401129917, 693070620, 705705699, 417100305, 881536938, 676629317, 407442592, 3238930, 639937248, 723571555, 652622309, 865548762, 884869729, 438799170, 974096553, 734866642, 634263490, 139821166, 484315337, 906516627, 385289890, 850068583, 502951606, 358690028, 202265411, 220455953, 166564692, 524955484, 113664193, 445792298, 586663583, 146595649, 628903297, 745677393, 147950742, 542284555, 177103900, 367038768, 985357310, 770972294, 402508783, 50173292, 83266519, 764992874, 854524267, 302375648, 625974729, 244333329, 148573947, 499061342, 939806739, 816352438, 503720397, 241239130, 626652704, 381655486, 682850455, 725594684, 469697218, 933661268, 377622309, 69934487, 325471720, 876000792, 125733798, 938562554, 754443554, 271460940, 143158863, 89725701, 772299310, 499596220, 549259197, 218553609, 205448653, 265588331, 292426760, 555045361, 113784392, 676946790, 875125676, 612223347, 679522602, 996779758, 972057149, 119720080, 107511711, 897181461, 887146108, 920133205, 110738150, 61797667, 263793170, 176848924, 268325019, 81336084, 178125272, 817473072, 310019913, 890436123, 844260804, 287317431, 812698852, 749527289, 998521392, 66148945, 856700128, 52011743, 558286723, 301791878, 370546801, 676191704, 263377125, 39374112, 887373802, 712398524, 873874216, 728552356, 640013678, 477513490, 881808734, 398431759, 67811672, 311680636, 582315662, 831540525, 614480569, 540006729, 545357288, 161901, 425601286, 794965692, 707764821, 413685575, 454012466, 709145223, 128611067, 77103153, 398749340, 476422994, 328561448, 871650778, 832312875, 245250439, 207491304, 741405043, 260952658, 388178008, 969596390, 504448992, 743059870, 145573570, 400417013, 476941497, 190199758, 446612001, 9067735, 986041551, 239246422, 894326531, 24405521, 219543034, 665286074, 723424258, 599832319, 217773464, 728244151, 741603847, 277333616, 340305072, 363924559, 477476501, 498829488, 275505893, 857290047, 313824460, 722880285, 736167450, 110163967, 517773518, 280492839, 893360758, 562568334, 208541190, 141915802, 722684134, 282353520, 988724043, 83720049, 271369391, 208135465, 669846843, 586785361, 476108938, 291164665, 694739246, 585244222, 984189704, 26772964, 378461287, 577685231, 91497358, 593363355, 98006683, 444762644, 165941550, 445221078, 396452746, 889122280, 398636470, 455854331, 865719861, 540120468, 696551284, 86814475, 566903369, 845597300, 427512257, 64225867, 951622050, 782945702, 15211862, 400133211, 661729548, 845276661, 990355970, 905766388, 995143332, 374972084, 610016322, 973438908, 77886211, 771998861, 432460762, 519134183, 129326748, 116652903, 880453329, 304057340, 509755314, 551420786, 492455679, 993346055, 26982376, 888962214, 401751389, 366125898, 510400750, 600841202, 198718606, 198855131, 546707715, 685415014, 677938713, 611027379, 195022491, 644649273, 177188942, 982161022, 177882971, 351617197, 299771355, 809976730, 387345984, 952299389, 391124893, 100463603, 501527228, 93838434, 263450201, 164870927, 160506086, 177328764, 381683273, 979067027, 124779810, 829635970, 345317960, 427152074, 904415702, 863195477, 154457315, 620197659, 469325260, 216205610, 474572781, 560426604, 176940805, 178868826, 387619497, 327481791, 861780713, 833736769, 14201045, 427421693, 605576326, 445621700, 179311855, 473622120, 229666288, 946422702, 931244405, 17750586, 256975538, 880250454, 415691115, 996192934, 461559590, 457913956, 236196219, 264888141, 480542476, 816533352, 451687663, 405043470, 660584367, 576782538, 414218745, 826473216, 822870616, 352713369, 451025457, 594286048, 479018608, 623710080, 504985053, 351441010, 793820738, 79184728, 725368480, 200512438, 646587987, 630657035, 778974007, 63127379, 313133291, 387942383, 542887548, 360546905, 315942334, 748299159, 157848539, 37346848, 509046317, 182277830, 873513172, 414778873, 678478171, 463150590, 68725660, 536928655, 145477247, 392548205, 519475347, 105332522, 179788393, 883804912, 872166976, 805501490, 605107750, 671532859, 341631144, 324550118, 436749611, 479271036, 791480999, 10074823, 973562493, 31779774, 542637291, 695667992, 170051569, 989266345, 403601573, 560877160, 450357165, 578044368, 766580237, 983143458, 323610869, 815365393, 807871213, 8509178, 399860719, 868608566, 963759941, 442631657, 194965767, 50385590, 188826963, 963103598, 642856407, 599240017, 149490733, 999634549, 575884146, 141247850, 997985436, 968467198, 837676251, 796283970, 439083786, 733519462, 114703867, 739871317, 754011162, 208334727, 223706941, 533332373, 353841146, 962991645, 880294451, 436303687, 730642295, 553052295, 288456273, 573240977, 756540513, 974934442, 266443693, 828715773, 250049643, 514040182, 391776144, 524947739, 220046308, 467944067, 511449141, 799763750, 237479111, 856304222, 628699694, 525785018, 161702062, 512771902, 37262253, 96841455, 481666173, 485309129, 773692801, 703789375, 17413066, 763927670, 833458733, 572095445, 929908272, 216828962, 321052760, 407849816, 959711566, 40826172, 56228730, 727942112, 114363817, 362269923, 476220898, 640362825, 336300704, 242488886, 208057315, 237606785, 240833203, 293526999, 209279767, 176363744, 68511689, 744723987, 87579752, 256459067, 594217157, 250952357, 127485046, 701898859, 464612640, 723223168, 51944944, 756962004, 377126624, 794846846, 706241703, 855938342, 893654311, 566828383, 139247474, 373577058, 242378649, 316511809, 309138023, 433175370, 618851152, 276991011, 595323110, 4409650, 526956017, 353042925, 214574082, 232077296, 326070444, 512930577, 803180239, 829556831, 33681990, 880919346, 846942602, 566561496, 178382104, 26685995, 914253535, 245111628, 387448445, 97106374, 248563308, 216330252, 989926812, 730256741, 365163274, 340436815, 579463369, 661216940, 456057952, 472027240, 444845100, 551227775, 937587520, 401727952, 505118502, 644546193, 661407467, 956379063, 71028032, 980545228, 727701064, 122471986, 894597737, 707457158, 925515127, 536841352, 160889911, 906370324, 266356149, 964481433, 421053227, 495067576, 190022225, 193410557, 484975342, 36045226, 438975989, 575181499, 630271766, 868262603, 556977639, 461462092, 769682722, 220903332, 633828399, 348028462, 354769910, 709380513, 613818921, 505791577, 48932575, 803661941, 496153157, 491038895, 647324408, 941014673, 614627158, 591908176, 131929496, 394924381, 21147458, 254669990, 369085219, 460225880, 53186759, 697845158, 715727765, 660656393, 212455825, 949563519, 117684833, 59470993, 810756368, 996598557, 878062825, 319475320, 293115196, 522706286, 30280606, 208609413, 676099269, 892768074, 685429077, 755921652, 240044150, 251860316, 878813646, 326171153, 716014303, 289963214, 520115889, 814248089, 17407602, 661898423, 241807575, 496920792, 201399590, 515440153, 412920169, 844751606, 952098052, 606672400, 533190337, 914416831, 569532459, 49546038, 382777714, 669034477, 999834783, 431791864, 222844615, 187337237, 475792417, 656099430, 461362204, 132504854, 732003640, 596200783, 195824512, 723603719, 777078236, 487455428, 961166818, 818181103, 194910977, 549456523, 845353090, 121400578, 240365665, 232351826, 68247403, 228582346, 805110311, 482254628, 846532116, 772400353, 738831008, 475817267, 29536423, 590077769, 504626028, 86814661, 388849102, 114935817, 180344655, 578631259, 900681181, 121170871, 260440986, 610083989, 757310468, 793167040, 496574168, 783356309, 657682847, 611030822, 553501162, 714138222, 409156852, 407148155, 904348514, 798784569, 207023934, 31293841, 234034191, 834928163, 91713963, 716437181, 75139310, 32586554, 885238671, 447445564, 59250969, 185674636, 609789992, 110059576, 724806152, 932006580, 769972063, 948130844, 709599604, 889291124, 426019230, 620192077, 506502621, 991806173, 689663534, 377042931, 482735504, 341152602, 582429673, 38560771, 957822321, 745518083, 140924810, 51758352, 401329674, 526111279, 793625175, 370130299, 204264190, 184519603, 64631875, 173416249, 987861873, 941068839, 657003551, 400285785, 762587067, 955114945, 792677144, 765614126, 310747662, 909202718, 781999631, 285650044, 442405217, 103983102, 311895868, 690144244, 670258109, 894498771, 796089358, 487285887, 215500670, 699716865, 731162869, 532085947, 417873372, 915994249, 461697834, 477699475, 256639161, 811904923, 968567968, 177690711, 611290982, 939206352, 283108723, 933544555, 146759618, 567536418, 31217060, 511445383, 367571117, 680260316, 128154390, 415470254, 28269227, 229411392, 330297002, 782088661, 369867417, 11435731, 864489685, 512522612, 340636213, 941009402, 647516782, 249610689, 423057948, 796486792, 752413866, 693162620, 230339248, 466864482, 311884358, 294992703, 144088549, 404180524, 801527543, 83489232, 332686746, 579981327, 135948304, 749328595, 725160754, 501489870, 781894789, 214581142, 323766854, 413127618, 270666221, 773839169, 134203595, 582743668, 709307957, 736801004, 408541295, 330907731, 987443179, 514273782, 210129485, 72453481, 46980035, 507745651, 40524480, 773644633, 311770507, 44289015, 344379589, 653826751, 405146855, 423817662, 154255534, 994869608, 315487757, 379835162, 75304226, 346295159, 57058006, 727185565, 89338860, 263023621, 158767909, 464542003, 455897527, 612882565, 92962588, 986759620, 211292205, 26605568, 262031745, 985785683, 31174388, 465654708, 701575764, 845447721, 437936608, 637972681, 568961816, 830524930, 887194234, 284336700, 701282745, 995337457, 506283261, 912106257, 178898259, 499937588, 914644504, 98295170, 683191762, 180182598, 895843231, 685769648, 2492399, 417703537, 535184923, 623604841, 228558935, 899139672, 218512262, 276437619, 39791052, 159318149, 88241226, 201662952, 482601661, 254568989, 857400701, 316832835, 799580526, 758565723, 596604137, 450564546, 324793472, 995663059, 747469577, 10670567, 332090259, 854249403, 365538630, 180810123, 111064676, 277814433, 966503935, 164966585, 199530032, 7037839, 986861823, 425729292, 112197976, 146966178, 413550169, 978683721, 400708676, 43361596, 277016000, 252914019, 546783491, 862608159, 892034258, 994080589, 794357149, 590855811, 161222096, 134480501, 991690331, 447273064, 980391697, 921526527, 648789889, 72199147, 686009293, 284758179, 124376503, 572868847, 696263866, 910040847, 307396467, 924525396, 420735190, 320749613, 65986052, 341428019, 377450584, 616519667, 253756910, 411126872, 419117751, 484689987, 878781861, 422231882, 717917743, 331754253, 505009222, 308798431, 489160819, 343173278, 183303501, 353135909, 240203932, 584463451, 580007333, 386873282, 31525453, 138126262, 948617569, 261521454, 601742623, 113490322, 949867415, 338280893, 612001783, 439629285, 715512981, 905986732, 560818463, 948557708, 824883995, 100520174, 209731748, 24451626, 560977428, 491666783, 794131643, 84407258, 190565812, 66538877, 178718492, 789239093, 766719846, 900782640, 907934111, 140374550, 103796379, 441954579, 687025030, 280572023, 935814669, 30414121, 735221404, 480260954, 416347418, 625568177, 38586725, 265747991, 385369066, 738132604, 942615219, 768419423, 3945770, 113187964, 949532151, 614348692, 174054484, 793767566, 654062598, 411699547, 712429337, 461976214, 60369152, 658038088, 698088837, 424468471, 120683544, 597180894, 690040566, 788616284, 277684716, 400362086, 42093386, 751639181, 193884113, 695047168, 893908058, 992600048, 276058865, 426902819, 79218132, 517367458, 705081846, 909554745, 211722779, 327831034, 832186551, 220708281, 15083652, 732578571, 124410025, 65276494, 423653470, 784333164, 203031016, 164622995, 640320942, 631327838, 795670865, 564410818, 384252278, 608606313, 552741504, 91371351, 55753783, 727272660, 368861036, 107005795, 829243985, 559224134, 240350031, 581133050, 452371569, 685532148, 195206082, 793038365, 417307342, 340807998, 951672761, 199383395, 207882944, 212687605, 992633337, 978526471, 367830234, 354700292, 906227992, 685270655, 442587169, 543556439, 45240894, 131287232, 929405223, 210321696, 519960002, 779216914, 174768108, 580777789, 648033985, 826547382, 183068899, 863612866, 357408002, 113514539, 149282516, 20649065, 945813126, 558782508, 817139896, 423936387, 323335055, 984519493, 884188118, 729801050, 369870455, 345659767, 3214978, 992039103, 408786577, 576439319, 525781507, 247687465, 234066324, 970304667, 341119327, 74530396, 7677423, 269377491, 338021500, 201375956, 823780172, 103656263, 240725822, 525536178, 239725883, 815399106, 94012232, 798591229, 164681019, 540317030, 83947449, 778488833, 117912973, 553244909, 468544760, 988748922, 201117557, 434760148, 898621957, 33481731, 140538514, 313377282, 823900468, 996049513, 683348728, 821773757, 141581151, 902889062, 208976404, 465127762, 960181102, 573998587, 942019211, 482066283, 286886812, 853853367, 667073430, 96925587, 287432658, 116266749, 15731100, 132537906, 805304400, 405662049, 381863303, 634793821, 522229724, 278482719, 262271529, 252089464, 664233984, 315086349, 885614680, 970853250, 697914040, 864446485, 220053499, 146624609, 962249737, 953958074, 107617497, 559041276, 817940138, 250641392, 717466347, 837257208, 667310859, 999456498, 747086757, 529828463, 175609227, 406148798, 849861451, 242542438, 768567870, 79846221, 598885682, 202440694, 651665905, 604648690, 898107104, 362926864, 358949838, 675023670, 463686670, 545282113, 697556065, 873103952, 655794597, 32234989, 48731813, 789404057, 880284682, 198415700, 680474015, 75538890, 183373736, 386189334, 315089210, 21178851, 453204500, 171290488, 870299145, 582638434, 433693116, 513045706, 191504197, 359972498, 225650145, 446723727, 362789602, 53692174, 334396593, 204075626, 142628787, 530553304, 605225453, 461828660, 612403237, 540172579, 225397922, 465458837, 594833133, 728828555, 787111891, 428528316, 919423919, 378889940, 341688338, 115658650, 735902424, 826077486, 635059170, 313169284, 889640823, 181291695, 270173997, 92717258, 161437424, 624742147, 767637596, 398502544, 111914528, 603504244, 832100343, 573882001, 460867763, 779167776, 146422820, 903468759, 672986209, 517723467, 310327630, 554106837, 241059083, 318580967, 947276352, 653765286, 793018859, 113049769, 121793661, 747272078, 887090251, 902642856, 995773794, 539198825, 426294, 608694167, 383350993, 341553459, 158648237, 954504101, 930221955, 810913794, 688757018, 537819055, 291935763, 806633638, 471722225, 926596068, 305934251, 64483587, 16667372, 675606155, 214685371, 908240654, 492756270, 852157266, 472891394, 29676247, 635347245, 791044038, 777296328, 687854697, 424386081, 231799489, 496958945, 731914241, 443362315, 771913216, 377050787, 288228436, 179899925, 735520716, 682064045, 280007538, 126880121, 250543588, 584169477, 60325509, 43181182, 699402867, 989133859, 452959108, 625138097, 310814843, 225576502, 686965052, 295547185, 667435677, 361409136, 107037749, 337371960, 752010165, 705623314, 249977031, 25211653, 795984559, 872431515, 435367531, 488473938, 180046510, 438480426, 177632821, 549697546, 988425441, 761516999, 411832224, 204203018, 214077196, 966187877, 885512723, 204853993, 820314102, 384027379, 631071636, 406302448, 615687240, 47722485, 642348134, 400598326, 42338392, 555469344, 662981793, 152667928, 375284327, 735461135, 917628828, 427591991, 582689118, 349003612, 980300473, 480067246, 655838252, 252942988, 704299054, 331873759, 176085684, 98197052, 302630842, 880986513, 972588650, 224691385, 809193518, 95478890, 64125197, 218398632, 880652869, 524619130, 548379545, 966952538, 833398002, 965394125, 515388277, 893598638, 412735151, 486116588, 971544100, 869275841, 726810280, 130538195, 694236121, 104409220, 76322739, 654487820, 375420116, 91438692, 629798534, 9031929, 932751662, 854339833, 959607835, 200202581, 264170476, 570037748, 160802893, 972187217, 155565373, 781033063, 860185483, 966532638, 760269804, 905820709, 10419866, 987414747, 480080687, 463814594, 805984196, 374796277, 535826191, 766179827, 444057066, 280237767, 182065342, 288079138, 408243032, 979493833, 167025599, 287171222, 656080226, 72171639, 5681871, 361987409, 363651092, 504637686, 15900422, 416100679, 872116081, 157888212, 666398503, 644998255, 41829411, 292853952, 478701856, 551779919, 364917251, 227361963, 316417372, 841761103, 414971555, 919689509, 461428080, 159234003, 917919703, 214121256, 666947268, 92507998, 172172492, 816486826, 849278972, 702474041, 342493551, 441446217, 577120636, 812783015, 807703755, 787442272, 723743829, 200079906, 440223287, 773352391, 700327782, 617173716, 728910976, 687340058, 140815492, 734185022, 738795714, 904191722, 335504226, 958331910, 456813620, 928980640, 769691635, 163096075, 81900411, 833182066, 437061847, 71916061, 431866636, 461537687, 918839802, 440784581, 957496626, 982863026, 564576641, 566060752, 138753801, 610371084, 275040842, 433702985, 963507865, 608074526, 8144001, 544168631, 868182590, 468832495, 740772428, 465250633, 775719819, 113225793, 612829204, 415129568, 402596209, 650239153, 66573972, 276966470, 300607275, 899373167, 783021104, 133340424, 938577748, 948118113, 428764935, 338689006, 155531620, 891493604, 733472604, 734529228, 520799473, 330865689, 234415050, 4688469, 727750785, 557137785, 891386636, 133378481, 201930976, 243470839, 902668669, 93824886, 599458533, 154700135, 324641658, 378852395, 821879053, 714345120, 749842492, 757737638, 590136171, 200344528, 869213171, 172308680, 471674236, 73700379, 121148732, 78814613, 614895403, 92717924, 745890009, 888609350, 665589968, 363507739, 382153502, 781315280, 488021993, 353773983, 915218704, 666944034, 826897041, 944698225, 783166433, 736345127, 965319491, 63209170, 618863173, 457010237, 351898983, 303860061, 11738885, 410498108, 368463243, 255201158, 87608480, 299998852, 415973831, 857943966, 240940119, 426955528, 845357107, 870300131, 187213471, 882870192, 236795031, 590355158, 868505041, 470928096, 973754532, 566727502, 707490771, 228720451, 912820254, 192726648, 87744928, 893531700, 220111355, 261617562, 789750987, 447655576, 334828617, 15497105, 646295524, 228489130, 740416579, 901257989, 192695418, 685148416, 284241220, 184405017, 742617615, 316014191, 612359035, 721745966, 736801036, 868495172, 719565635, 244253804, 522880571, 66403704, 445726413, 713798830, 587948175, 536436181, 179417119, 876770781, 43276146, 462708544, 285374012, 212421673, 875691364, 205988060, 508179209, 397679276, 332954744, 936828635, 161743719, 419976319, 984058295, 380134905, 195331119, 650243628, 991988294, 224792589, 710178521, 308666718, 176842634, 229212191, 751823534, 483397147, 243190816, 977508152, 513708154, 756659328, 203676265, 382721352, 553594064, 127703864, 380992768, 650083349, 597316062, 17081802, 663827537, 713591259, 996100836, 866847586, 941030598, 500298725, 169897138, 670745077, 540864096, 258703177, 329340739, 177097670, 647148136, 89163416, 178287588, 344587285, 435243678, 753523450, 536850383, 526837779, 374821871, 533444826, 194687943, 958277551, 587650656, 128764218, 351560576, 712497658, 336869800, 836455996, 956283660, 993863085, 751527633, 576278202, 822881633, 166684542, 658296064, 379187890, 27003805, 61212581, 683042145, 215104538, 840417744, 421800240, 785873981, 356374915, 299724255, 303005191, 574572170, 766910627, 957616638, 278155278, 549787116, 124756361, 722065838, 512383102, 636401309, 337486043, 720810449, 328085393, 284029992, 389551090, 464742006, 410171189, 429325929, 65730152, 994344453, 755458244, 322776005, 229474216, 570020267, 855278514, 452534841, 769121888, 595403615, 465730727, 37824957, 583039420, 127479612, 64494546, 621436214, 596069145, 679488321, 15431610, 985749694, 791816618, 447071435, 668158632, 546386695, 143910659, 657949368, 645398863, 474939908, 427707623, 466877656, 354899145, 223915999, 788729486, 738936396, 456411253, 650361492, 547757528, 747918741, 486611432, 266159541, 368537196, 181226234, 768899865, 528104206, 489985666, 81213759, 34991731, 741157068, 479501767, 353242900, 28451404, 559034010, 278311176, 79306442, 500167486, 915802218, 198644801, 662802379, 546379205, 669402018, 308775534, 945644935, 336957348, 732993969, 762443490, 550884047, 210414528, 711021020, 704235116, 721300295, 9618371, 960893364, 682610109, 979812205, 249399610, 972539187, 245512090, 572575590, 377263664, 230352497, 456286254, 236194355, 845438425, 923522292, 693297933, 398008035, 676692438, 949722527, 218489828, 394444600, 898870826, 346565730, 784273497, 288423039, 543671575, 597579705, 485594502, 46985112, 815856845, 281086626, 347989096, 662070605, 465312342, 582613714, 167866902, 111902598, 344784323, 269058129, 383945477, 175210859, 497770804, 285592633, 997433107, 138266050, 664102490, 14334933, 950696538, 42453536, 527704242, 816924480, 145908844, 746852827, 796414198, 704165301, 838293856, 890235763, 440077662, 84948156, 901522424, 430436998, 565468977, 563310894, 9651306, 409698777, 273856604, 774814196, 611202597, 516617538, 542561695, 913117421, 203664528, 328276515, 829778482, 316972840, 248237259, 774179671, 812229977, 259113415, 686803791, 123087395, 782536896, 480655762, 961541705, 718087044, 760437098, 959654782, 67590716, 248946388, 699959069, 49017122, 258667204, 89854560, 920225232, 540453654, 640546100, 50280989, 650873957, 875925148, 368913207, 50061875, 373715334, 311431229, 138442595, 938253906, 470146885, 485655760, 21479272, 187097171, 225308370, 400882141, 817543029, 767645318, 824186622, 357847076, 634373094, 74708111, 467097990, 627110404, 375554542, 592544729, 779383109, 745682227, 62654160, 841854365, 399067123, 39948558, 599453390, 317748175, 397692215, 650962807, 875451557, 334185327, 996050863, 177029117, 252769523, 385760718, 971978225, 763321198, 58571318, 207094897, 543553683, 294720857, 189303460, 751737521, 907644762, 909592146, 108934633, 205414467, 964696812, 832367183, 549675625, 886482097, 462710788, 103610273, 309519227, 590365988, 357187607, 409601846, 424637652, 789661260, 610181719, 913586232, 447065298, 364818093, 103598247, 230467301, 833506181, 858759491, 468515087, 777375219, 69775992, 189707068, 583490231, 454525996, 899297452, 860676063, 594167436, 248868444, 778489705, 533528267, 238419948, 53713778, 221444042, 787711994, 962850687, 980430845, 64534554, 974347501, 916116638, 332131074, 592168903, 367360295, 254337358, 391361932, 134166274, 797724875, 44874923, 534688258, 183783745, 100402569, 543179931, 89855764, 337656174, 280653388, 505264208, 346722712, 418761385, 694249241, 522435161, 920004370, 910986471, 714695495, 371095463, 856174006, 611591154, 199815111, 727231756, 895492708, 151380493, 777675019, 802749652, 67957479, 185826285, 994447126, 246113074, 823812804, 500398950, 447833684, 710439558, 250909681, 532685293, 391966538, 157330418, 16026499, 317750900, 229025692, 180986012, 955254415, 918623489, 817741865, 517730875, 527143341, 347758811, 602572045, 129352149, 342878425, 389167245, 374060320, 208511990, 838240711, 874377683, 431278697, 236809247, 760303469, 113301532, 148029340, 955648790, 258672933, 147168797, 48938679, 659248335, 721183323, 915108714, 562426201, 424646374, 201746268, 861362519, 203236705, 7584070, 659403380, 294509919, 846972141, 47560268, 115079047, 156191495, 81440893, 765318412, 322361544, 797132125, 204294023, 413334732, 187778205, 119001900, 930971612, 394534761, 93873195, 164304472, 541986059, 838550679, 135583825, 397513209, 48654161, 890322926, 220310526, 396940162, 638322683, 571239015, 734377845, 266098854, 154083754, 551146987, 8908500, 373643109, 281840749, 674181742, 754456362, 731776504, 989426683, 466401198, 806210826, 604478549, 513019504, 271618646, 191005030, 682839891, 811116040, 454359506, 38839200, 371134649, 596654872, 158503379, 975741992, 488264437, 722419201, 392621394, 718248092, 694977295, 686279278, 883813210, 336621740, 979756684, 938334481, 417295026, 687913166, 656899825, 901919961, 505463650, 668147465, 491926928, 106395265, 766357787, 81228364, 41505893, 129403595, 435074089, 264481739, 134669068, 954606107, 463956735, 614015960, 163090721, 420312905, 539776985, 870351704, 209610967, 441301886, 332016314, 452096122, 468474949, 877841247, 820965432, 365574467, 349976118, 822109687, 935584351, 754946026, 418806399, 277447499, 690018283, 430590199, 813658579, 682017892, 236180910, 590665283, 58338040, 683789452, 937396907, 37838662, 140836355, 524225983, 189057612, 837059716, 517435306, 539404680, 244278068, 339831534, 446733940, 430814470, 381597090, 574844337, 260344372, 524696985, 287923694, 259211322, 174690547, 101611651, 657494970, 490193588, 570227515, 785815489, 85856470, 331901996, 906812557, 387819707, 44465910, 381714884, 500070179, 180749996, 832760046, 372772145, 478290302, 852761768, 662362949, 708303085, 747516048, 807229061, 505698938, 256440418, 677144952, 7002145, 164616020, 884896167, 796415947, 163848366, 21327239, 596559597, 545197329, 926889899, 839311174, 191919717, 316632158, 145662481, 196873638, 297367611, 396926324, 154394261, 752997022, 269688925, 670031097, 796652512, 845601617, 528843845, 619295809, 688226542, 4689954, 864510500, 168813034, 957621325, 205739510, 442504745, 605171823, 4063040, 304932338, 357789083, 664937323, 320436597, 679002856, 781883097, 682751885, 715876670, 436652181, 946463361, 47648907, 841202455, 218150993, 845605430, 164961063, 510045827, 751505912, 104948560, 994616071, 997657450, 378895613, 748255212, 712844029, 602711855, 812325027, 558125019, 876451559, 428127951, 425003602, 93434358, 83538759, 254727077, 260308013, 766060262, 807212063, 776225580, 982002909, 798683142, 747194398, 922844591, 305884337, 700560878, 329442114, 292727332, 915639929, 882236109, 327391758, 607842569, 867832496, 139045649, 544875809, 451891898, 820681672, 218381874, 297134778, 557442390, 539765563, 36496286, 269036465, 512552579, 911826738, 613549839, 959685989, 102583736, 760626467, 56130513, 601669097, 129667475, 304783330, 185187649, 15231539, 242086801, 701223385, 817397852, 250250497, 242494870, 610962297, 526972726, 206372811, 774191065, 818588912, 814066226, 192151281, 956639241, 414705877, 481352460, 998857672, 756979739, 915957583, 807260117, 534024396, 958346289, 695269831, 891377816, 706955519, 784051706, 815429385, 484986307, 286862179, 905248103, 650631371, 304608243, 121831706, 331204750, 282554933, 246269706, 827992481, 17213910, 928070150, 81991486, 25914303, 950574499, 405272498, 103670850, 382122, 212835051, 556520312, 601080265, 540089197, 91069953, 630053488, 312968671, 832992588, 788763307, 255114030, 831130372, 483413032, 977846386, 785070569, 868224091, 565048671, 762146013, 820420821, 193495713, 36921208, 479715824, 159291167, 29009611, 269208509, 298620867, 978357413, 812439883, 805196125, 916491911, 378464979, 968628783, 84031682, 15237224, 354392093, 637393390, 219851983, 855233646, 644447720, 991947161, 165699378, 509027173, 842743370, 911928989, 491735215, 850147695, 569000090, 290238971, 512867578, 39133463, 21279282, 332697719, 283838146, 471903976, 734734078, 372111793, 36498869, 143309953, 422040212, 419276689, 118488228, 596992066, 941424819, 267212732, 764764684, 903837271, 983378946, 648407275, 509813152, 312718410, 394127070, 845274344, 283588570, 293496525, 654798448, 661714278, 845463050, 862669503, 43437249, 751199232, 314150530, 581483978, 284512024, 478014854, 693886992, 466194413, 754611345, 43897505, 541281782, 849394369, 103957853, 274731820, 677638940, 591518835, 16374795, 970536947, 285213967, 993219017, 565963852, 766629788, 836382639, 153301784, 22617297, 613216831, 855932198, 66294435, 348125888, 779109016, 358923672, 282168706, 566400357, 692189183, 418583035, 562249978, 996355411, 946695127, 962857281, 417811527, 223214046, 741298004, 349129531, 579411581, 249401632, 648947101, 792619688, 339606562, 891449983, 835382239, 452938465, 270020712, 570427349, 360567050, 138147807, 194134401, 207470985, 279797248, 526755467, 378131212, 631382880, 719597137, 654713359, 187097263, 237417437, 449817118, 992638503, 114756828, 456430753, 712759273, 256708187, 746565583, 438149677, 189470704, 431590133, 183930993, 409090438, 484935910, 249924106, 288618546, 861928450, 844901508, 752403858, 739237716, 57904264, 269064128, 58223800, 590565142, 383241220, 642647765, 561363662, 205860667, 337066276, 662390777, 828886172, 38837304, 411180937, 60254750, 470417009, 654068941, 474328919, 503279219, 266979656, 998461057, 871178447, 921809474, 831118236, 639597550, 712282494, 803709787, 17222069, 626545932, 518437584, 939331088, 27572849, 924815049, 659037484, 133062550, 932370569, 366321099, 944964735, 87253604, 514833348, 255657420, 947473111, 757950395, 946891277, 737079311, 777119163, 827109772, 273418051, 802087968, 622268633, 861886811, 277734883, 498352492, 684712783, 628390921, 73865833, 748006032, 59413279, 213410828, 648460030, 86985030, 102311167, 67942048, 461330766, 627447194, 435714709, 135100255, 485320736, 386914996, 111215711, 819906159, 391587371, 310463311, 224027368, 965318044, 437114869, 35349194, 277085799, 351887133, 738588627, 351788707, 404033019, 118162506, 54673265, 413280809, 173764165, 242534092, 858147378, 91210764, 957817470, 426497059, 82271878, 457552830, 559899237, 102423263, 336177728, 170859821, 601077180, 306543512, 214972104, 54050989, 995473777, 529968006, 542107670, 492334875, 522864923, 896998791, 619244745, 828453398, 162575942, 186548220, 927201569, 347366161, 325731085, 442200916, 672095586, 162343958, 527492513, 417237474, 177042838, 438444568, 208925979, 496072939, 3894304, 196378379, 545774480, 71814118, 249621254, 349818814, 38998012, 297144277, 429374846, 781271279, 210088203, 538733595, 845059094, 907485232, 406951657, 30778947, 718943269, 250311487, 844798747, 62746795, 779414181, 593624595, 247041227, 419863758, 398980271, 71626925, 564668340, 862221253, 718370741, 154240930, 678572730, 768993402, 326385859, 330866125, 108185481, 307734924, 689080796, 305971111, 806311545, 69741095, 513672855, 950361000, 319149678, 803717952, 596225175, 707140386, 417916868, 792969047, 818303801, 340434918, 480068820, 948180854, 22869307, 164374586, 890210078, 609429519, 728760711, 876918716, 904084408, 12868345, 802019321, 221413803, 421203382, 858759345, 449119624, 910254605, 690371162, 298214723, 863266829, 766989908, 572407577, 823657827, 767364471, 967909356, 540199959, 923416947, 634128837, 63552908, 264873785, 371877710, 577588771, 433661570, 756030503, 956943959, 473320563, 67865292, 231595228, 105023668, 656357430, 370572290, 75969759, 625379738, 787859159, 340614098, 35682611, 538198637, 37148068, 611834727, 350457317, 442181628, 759989304, 103425590, 885042156, 59546796, 282942232, 520940084, 785661271, 334974490, 167616453, 149289863, 452558065, 303410116, 37611664, 813534629, 365605776, 980666850, 318341191, 623845980, 935252112, 9430926, 940610754, 831276249, 312858969, 283134847, 579996052, 295440785, 187409487, 972843103, 334211031, 634184970, 878392405, 224336446, 566247224, 341725252, 633675346, 40958717, 202956927, 213841996, 161311302, 979781004, 323577882, 940742398, 874301806, 574748335, 733380699, 765563979, 633533160, 968352186, 558739772, 852871677, 478193392, 82185422, 69949677, 608729923, 818285469, 814365304, 504013016, 831150717, 864774791, 460812274, 186551126, 716146424, 951302720, 351397327, 236772363, 623849977, 463002359, 245902504, 721084473, 567454960, 378562684, 898652004, 806914810, 78828527, 582629946, 812005569, 518027596, 232736359, 714966979, 569284377, 620096826, 885964320, 255590571, 280582869, 473292032, 791716188, 55681858, 186646549, 524220442, 278855853, 753147417, 480808135, 714208436, 981720860, 509337519, 489195200, 494813773, 221581350, 641308976, 21197318, 469430022, 734472743, 855121009, 339464037, 328583560, 294622486, 88562284, 322774117, 485273684, 917123918, 64191520, 658666539, 503244353, 116624652, 454042385, 622913940, 168897316, 188672135, 884701421, 498993029, 52115446, 564913029, 447558243, 440553550, 100222579, 269938269, 997406078, 921258697, 833559074, 952003405, 222048366, 399940985, 783495086, 439881334, 333437745, 551934677, 852587988, 203868277, 800431304, 114002393, 737303976, 454549590, 79278108, 870939295, 154996959, 471985511, 162873111, 326999040, 222797311, 351836642, 676038303, 755760175, 294691081, 679342078, 987259835, 863701028, 209247582, 802659409, 797102037, 472982324, 896734642, 491794499, 603035671, 703065526, 886628823, 415154841, 891640666, 40320782, 416918377, 723902937, 589458035, 674054794, 100004264, 62500026, 333580011, 943640098, 916584390, 511079810, 196455255, 880674713, 222047029, 280764046, 992838523, 117180280, 335704624, 792394602, 989174392, 556790789, 842541275, 695386136, 861627052, 343020535, 240969739, 218808334, 653166849, 894219720, 173687994, 597843769, 620766015, 890913264, 930801218, 179731698, 177914123, 106312472, 843284381, 159981243, 977419838, 789892993, 334574969, 712737866, 332123809, 982757138, 943304566, 469190046, 645928475, 230150123, 460270203, 766787118, 437291272, 978752099, 316751239, 341255367, 153492947, 165740332, 597518856, 384551233, 94444134, 429112974, 453680309, 727583747, 532916332, 866265609, 843593971, 352378799, 713611830, 143340135, 668739847, 832131408, 303296040, 988372910, 213354119, 905860456, 307759361, 513467885, 304145755, 520549315, 300570164, 647038003, 622863857, 469365636, 634460666, 475483979, 450390853, 56504723, 625897163, 864085273, 613524612, 948509792, 765655592, 987920919, 920368358, 458998811, 281609538, 193176270, 201925248, 98541351, 641643210, 926917057, 862212094, 337833733, 90786829, 98524967, 989767534, 261258781, 231042463, 967847293, 76371452, 621977271, 846220543, 754841950, 886456171, 159886800, 113667141, 545493107, 686963218, 424918675, 143475222, 569266370, 617755109, 37888879, 165390690, 592286476, 242358559, 500302413, 289883860, 206740909, 953110366, 735590961, 911680747, 576334002, 618537569, 555270080, 103423265, 692826274, 837242634, 448113920, 6391997, 554579692, 663469032, 453030038, 675297475, 671491583, 926441397, 670366748, 94517945, 374156923, 890199469, 94589623, 187523442, 880795494, 460028629, 237120138, 147830940, 580219593, 94405161, 548702340, 505537137, 188954778, 348383611, 472182711, 835008010, 601516933, 392396866, 790946345, 906050514, 495492126, 660556949, 80277578, 781986236, 811085839, 68147678, 156460150, 574339467, 633936046, 246511647, 342770169, 425646093, 47632308, 78922873, 422891406, 458786558, 840992602, 986856512, 609875324, 911677209, 15387312, 168311788, 220310558, 385154306, 131972393, 518064874, 888748083, 506017478, 374035921, 442312858, 193987388, 327959177, 601278101, 531480856, 732827963, 23125912, 1428162, 994358243, 103739705, 214635564, 396968056, 708947276, 11068597, 666935051, 405187252, 95459094, 94375311, 270762851, 86591171, 763364967, 396582238, 719405186, 603722995, 389351325, 62707814, 403810783, 178666046, 605318787, 354982726, 14577279, 570123294, 243129049, 13912680, 614407642, 295707866, 85361097, 772509867, 135141012, 47364072, 197698088, 466219087, 973587961, 68083303, 648289981, 303305640, 434627544, 241916930, 792416179, 369204821, 226677160, 617177136, 562072866, 951141355, 760565791, 407097160, 249482642, 79355936, 585318588, 295406558, 766673281, 443544656, 88255022, 25385842, 562501526, 867868828, 620780133, 782565057, 161856565, 161822654, 13943881, 202626551, 326996032, 642386254, 2102831, 269943947, 668702398, 978503724, 911814845, 262768717, 269910202, 476445385, 752380007, 864807407, 853073386, 543313625, 991896799, 899449727, 110824461, 616986737, 503840488, 476816018, 686805224, 819280048, 255019157, 774960934, 822329996, 282706120, 884233830, 121770697, 972199661, 783174204, 869028704, 514800321, 741395209, 904149255, 8251231, 147406665, 436808116, 851714539, 31801492, 149285086, 643315003, 75705852, 5937247, 718935794, 414935304, 212082622, 799282888, 992381742, 437341136, 662157671, 937340054, 701388795, 767607677, 896968890, 130027236, 111052090, 844278622, 148138539, 310192675, 979961603, 257812784, 70168198, 22041793, 633403553, 743082788, 66640671, 215993140, 999344779, 997570366, 415062991, 838489111, 685015264, 485971499, 822228438, 822968095, 978257041, 475239304, 399674186, 794836364, 198734325, 454949459, 506482259, 314768508, 654855903, 867522767, 735911971, 685247722, 835209732, 516224554, 141474247, 247452750, 804286954, 367311819, 701765665, 635169386, 985300439, 705473278, 415529671, 584204681, 700240040, 828820465, 898192874, 393858444, 398183167, 108876721, 524018227, 194666751, 63615096, 67488363, 127781552, 61980063, 983129520, 395644547, 865857015, 291268065, 878644107, 11523666, 178852038, 608029927, 295085872, 853174773, 139671234, 834521227, 729866549, 256894695, 676016495, 481300346, 444398962, 249556906, 582535789, 283384450, 314437598, 21202821, 54395890, 293396080, 100016207, 312114657, 922000700, 688330879, 726723864, 83156979, 518128585, 736797108, 439091428, 549167325, 91049354, 176856969, 88068523, 155418369, 756046226, 119389800, 699780910, 259206033, 852234422, 546520735, 906816219, 170797685, 71089752, 210260426, 774322696, 37255504, 616112991, 500589576, 456567902, 756821561, 167158607, 630760549, 54879804, 114095736, 20162928, 797610681, 113780206, 545427462, 960535057, 649503424, 945754108, 454826676, 518926276, 924148091, 424630121, 480732380, 804028147, 18594455, 948867835, 72168689, 531266884, 202697874, 435028428, 536417065, 454287850, 739024440, 323117180, 232266738, 225331755, 955899477, 586617221, 59022804, 779268853, 72859215, 54432937, 876402310, 45903430, 485319745, 173157177, 999221934, 281724961, 921674662, 976358983, 296629378, 465254674, 324754748, 749507963, 115302763, 787372300, 28100730, 285501718, 80543865, 376070495, 421320383, 155774743, 845259817, 408553972, 776053015, 100075411, 767765982, 529038069, 533605101, 539611801, 278997381, 691473101, 808599004, 704057924, 525045864, 522703958, 911323932, 788635979, 239600929, 571324069, 604706280, 570149843, 125089258, 383160658, 935978054, 989630317, 290793487, 61157168, 574163216, 721845406, 19210052, 522337697, 263202381, 680678327, 177025655, 766646451, 595466126, 553053018, 180969793, 652282014, 306843903, 664691017, 656116950, 533293910, 968230747, 728273238, 506989192, 532532809, 175517615, 865286778, 135693514, 884455719, 731660885, 840625701, 539886908, 285437748, 997351679, 323780939, 617343051, 187388448, 501308261, 620626835, 190992561, 462445743, 720130758, 325780765, 201077977, 214533349, 745365270, 517037803, 965349407, 396687172, 344716542, 716445699, 948856054, 586607178, 263415447, 288066971, 62609743, 479484438, 852244100, 765041001, 47866288, 325996169, 49345257, 992924442, 150133815, 462886346, 22304910, 178434060, 55124920, 387247657, 277799336, 191002955, 116285818, 664008937, 663344960, 895604609, 69888734, 22773874, 190534936, 118784455, 238793515, 364793587, 349398594, 929716721, 601827839, 150048563, 324909731, 47569797, 453579858, 45160015, 660992148, 771443982, 795972570, 219680267, 863643196, 282938405, 905148768, 931731324, 239963720, 277469715, 426631056, 671621730, 386830377, 929940118, 770390913, 890056395, 22093336, 449798615, 885987408, 643570820, 979653931, 874735738, 612084622, 45105620, 818997180, 99368979, 610026828, 666537487, 889258041, 420839470, 538247721, 494622128, 193754297, 342436994, 21336663, 821447241, 381409188, 534910552, 874935439, 191840622, 228861700, 465468361, 601424680, 584154524, 600051371, 756548148, 881302949, 835118946, 383509076, 480717402, 950828196, 259471996, 736219858, 892851679, 561124516, 378788485, 151372624, 364249747, 886679757, 734402708, 288005679, 333320361, 923636823, 533680549, 101114161, 680918325, 726581521, 604464343, 394250810, 262840856, 456046124, 150158136, 197819320, 167207617, 469778065, 330076192, 507243337, 130545831, 331155737, 775328777, 639963488, 658701987, 176597968, 537036142, 85740848, 804316322, 297077600, 160077743, 533772622, 476476826, 816268244, 448924630, 660216954, 161284094, 952985246, 853774411, 646997619, 491208512, 355385730, 506577594, 763733328, 717152648, 129586966, 875135351, 829051715, 420043728, 744980052, 12545026, 973870170, 648444233, 630046844, 4607947, 161949261, 267519607, 595920157, 505005293, 12943890, 316075241, 118684228, 739608773, 21438746, 804821021, 269591147, 891378690, 578787770, 439173304, 188633006, 267860896, 452972382, 363464783, 608212299, 921316327, 667864021, 992988990, 316643178, 631738982, 25793570, 207945078, 142632887, 2063576, 354958108, 799070435, 614704149, 621385776, 401676107, 462610770, 409786774, 482013005, 95394165, 112916657, 688119754, 414374323, 814724674, 730150957, 249017807, 632038520, 780270665, 322596358, 174939618, 725587504, 384192475, 368958137, 17343491, 664202452, 544125021, 399094278, 445287754, 480283596, 661065882, 41140439, 978176721, 508437665, 923225963, 372471935, 261786121, 574307392, 390169898, 110480782, 698525064, 389419977, 986623833, 471209223, 365040215, 767108543, 213492651, 894257248, 635196910, 111134337, 553137706, 225155832, 497376570, 15580855, 243281539, 583771795, 878541064, 281875682, 633566759, 650842044, 85592233, 495637818, 620203524, 740245995, 711706655, 955687289, 208960453, 741658059, 165692786, 791002826, 155388311, 619402850, 578644152, 492736070, 820466755, 617825167, 729963597, 104144068, 817503597, 819173218, 355287741, 992577496, 221304674, 374646668, 999605737, 712519769, 380172884, 237851216, 357854992, 293255072, 968695177, 593372634, 507994376, 615927440, 164864506, 615622038, 487962052, 720022339, 943828473, 279017896, 80973877, 568069916, 420846673, 910884006, 405025684, 247150980, 53667704, 150926361, 100942409, 518719182, 648189437, 175147797, 694109918, 939106416, 539999874, 819008487, 862328551, 304983717, 244111168, 772416116, 835532285, 290943191, 332576005, 914855956, 985910088, 142430687, 706924925, 787624686, 388663878, 516562257, 223238730, 30946851, 646574775, 572087120, 413331436, 501324458, 889499624, 516355023, 370174390, 125970744, 545178700, 464900979, 481031925, 655131553, 354259789, 370089689, 469705044, 625810773, 457508698, 684880476, 530168358, 385212775, 922486528, 959733803, 645983189, 605669376, 380642073, 991646369, 764209275, 773473666, 731882485, 139997525, 928368509, 298417301, 380914416, 436552241, 513749410, 234627028, 857662247, 838968270, 352311695, 475051350, 803589138, 925785674, 404856348, 974924364, 60425836, 206884121, 118134915, 271264261, 288009536, 56549917, 389155154, 701684490, 558505262, 558590165, 239249367, 628394884, 147928994, 316975262, 86123117, 52485967, 970668649, 733496849, 910568220, 150335962, 532285134, 34884342, 529101264, 394867275, 744190610, 670662519, 106361655, 864716698, 243724047, 346176074, 208477661, 985093092, 105519057, 294285041, 712839743, 567927414, 22477870, 996392964, 359864962, 246480057, 880208364, 119703077, 572782413, 106461511, 986663786, 316873542, 213702844, 786270663, 728971218, 714805848, 94011873, 893898403, 866114868, 60524529, 808939894, 712396443, 669044276, 488351958, 361368487, 918797618, 229065085, 608563738, 877183682, 246383749, 409192115, 270171204, 751856756, 361655125, 557684259, 516758666, 382714917, 519397721, 257959051, 673188556, 635674110, 652486582, 895594259, 205343778, 391512847, 261193382, 524239666, 311681494, 171637330, 959275355, 287846331, 807265378, 836532021, 197380943, 125406782, 852920117, 622947907, 849966374, 230550876, 805614853, 930007548, 876082627, 173870094, 928690415, 203788761, 184322892, 371106097, 437508559, 113192208, 520711149, 796664195, 423182645, 981305185, 754786690, 208913035, 319311957, 818815726, 862664678, 151363316, 408285002, 352539521, 269384632, 548507534, 220595693, 142438065, 40076524, 231816865, 18385340, 89229663, 613557344, 529229030, 862522507, 682322904, 914592186, 445689622, 636340131, 164321917, 62373268, 283118598, 373772965, 262849564, 410457807, 952382205, 1136548, 387650153, 108184963, 214476650, 908254233, 677305888, 712150427, 341802632, 608106553, 782157936, 520807965, 703784600, 530097290, 187681114, 58196287, 310288963, 156909601, 723514786, 781178870, 679720385, 993705021, 119326897, 978633695, 579149702, 160936435, 952618836, 397441398, 902024148, 658712871, 506271541, 428249805, 728704308, 358931934, 322572330, 262507831, 923835638, 755279204, 109335433, 757207072, 144830507, 431840147, 928414250, 701682503, 830431059, 373485926, 31160540, 520952481, 205072741, 901208608, 304584558, 16082398, 195648528, 58294754, 685971381, 596993863, 867088176, 330369818, 993783199, 81168443, 713226757, 795621565, 456164872, 297899453, 713789930, 568208266, 414134277, 626873305, 365763164, 561266349, 974175623, 671504328, 715810642, 425614475, 603124389, 447819075, 921424530, 63087951, 387650255, 93826367, 493265590, 217855747, 463074851, 477474577, 855971854, 177967932, 628674334, 951809324, 655554158, 419382278, 879841530, 761762434, 277235967, 231785758, 604946857, 953878888, 400604184, 948715680, 521498861, 653734236, 68802971, 639751893, 84568030, 327689195, 344160689, 234933067, 704597478, 60342600, 938822005, 427889176, 4874534, 877486279, 549723975, 147699164, 902628236, 219253191, 322020328, 142396267, 56009761, 864983483, 644888847, 898803880, 17940017, 41937434, 38771880, 969526332, 397690210, 324169155, 984439782, 710479560, 863592123, 889863807, 613272173, 891656826, 784116448, 515483281, 452402677, 242228108, 519930787, 539518117, 790994288, 654955094, 674967007, 601433651, 508880545, 969613746, 290508032, 976500873, 99994915, 188842849, 263450853, 117281150, 740649942, 566973120, 347204715, 663770115, 520329794, 988068935, 4190668, 341270834, 630084403, 974590758, 656173951, 536267225, 944886024, 383166713, 203583587, 459154079, 573901246, 687767781, 824204959, 50205655, 62838644, 301788399, 880622901, 509004562, 736322397, 137274310, 812295155, 224927439, 476725, 261702694, 732887186, 548674760, 470830983, 174542382, 209326898, 968778744, 72061695, 534432788, 927588109, 943480955, 763044787, 607938830, 474552434, 721470522, 120471353, 904360816, 519011908, 793053831, 174083359, 708232654, 557256237, 161313175, 54076695, 174228293, 655565853, 434586066, 165834892, 425756265, 468956004, 695363992, 533486331, 179678968, 639528553, 461803908, 82297093, 630620374, 407246032, 102972684, 195908735, 9535128, 24801548, 184775040, 222754259, 481197129, 908359730, 741500814, 776840289, 731882805, 304180346, 504716243, 192554816, 421915726, 130456568, 302789868, 468208246, 260488321, 81114738, 137578535, 963186816, 763161548, 200653155, 561500381, 782672781, 139941795, 280818880, 988047452, 388483739, 854628832, 510848771, 446001706, 894728431, 897509825, 786388006, 796625482, 690814230, 971719176, 40080567, 573025992, 786399081, 573180685, 710159389, 256128960, 52244257, 249681037, 424172304, 543763469, 811562116, 486126911, 39137986, 665043645, 966941451, 992264474, 460557063, 993545511, 990096289, 389701070, 38426722, 474415832, 427889595, 537600978, 978650481, 306696584, 300796408, 284935549, 619931866, 794606293, 566365479, 93382363, 158903942, 784747060, 243441901, 568791102, 354561128, 367200173, 698767346, 781055527, 243030439, 726994889, 84108609, 794711951, 507005944, 300451747, 341069753, 800574519, 627639971, 194805572, 464660738, 346103676, 373071768, 584472802, 31925883, 390492727, 18105503, 997603460, 778038621, 50600864, 71750929, 397976416, 644357733, 424671186, 667661801, 512126035, 855751693, 437568611, 348431083, 95476289, 875352593, 194412206, 879934976, 175953742, 710650624, 44539858, 169365975, 935638603, 814088679, 846892691, 572093903, 652110679, 748115906, 62311877, 883190543, 846705616, 65276144, 811736704, 473368413, 95249434, 794997292, 142645503, 34125795, 995422022, 564726420, 49870219, 43390877, 220853365, 523146204, 861942382, 989940706, 427426784, 807126051, 856765750, 410995145, 369928384, 139112913, 975018098, 711052867, 250849159, 856245853, 189964331, 550024547, 480786688, 431742027, 150494306, 331923629, 816736742, 638768995, 220096944, 315505951, 476717080, 210049667, 318924445, 670118017, 801949773, 621245754, 751220864, 240236622, 757191022, 101813676, 543672585, 915055113, 103797303, 863149840, 556953128, 840528463, 634127555, 637832343, 429057352, 805877865, 578561145, 112802687, 119024933, 560436567, 188034951, 389887174, 170967704, 629535007, 621923162, 346583050, 878281782, 233161639, 811658892, 616236694, 594572211, 921796716, 902952686, 654645260, 102875351, 942320864, 177380066, 851696597, 924938509, 762491020, 726586263, 594463315, 127351050, 226747230, 405366477, 6982114, 170737716, 16483707, 217936612, 542805778, 736870940, 172153383, 68257909, 252778027, 605288684, 30376545, 81821233, 87404984, 573974022, 672915880, 352821536, 549046598, 742507797, 450422160, 640894869, 391385045, 384732811, 419689777, 849352406, 192552046, 650046623, 590218099, 421386962, 443539045, 31272128, 990644313, 857439628, 462992049, 868643891, 570504811, 768276322, 673072200, 503200911, 936149567, 436782245, 538832094, 855035947, 433919726, 8676664, 746974042, 97305644, 431557882, 64202791, 252936306, 659926845, 19365022, 717454717, 97566662, 146717170, 846455403, 176361203, 299780936, 293710472, 402833333, 672183015, 539038811, 734307406, 457955373, 491112186, 431755941, 983930378, 414726462, 355536590, 330100653, 804184536, 192981547, 782948003, 39701573, 842935884, 329774870, 479560664, 413252344, 863453496, 540088043, 3269545, 72048220, 836728212, 889214228, 30780112, 317680133, 973017461, 431162392, 927550217, 931906608, 474016017, 648173579, 64563127, 974740839, 295851965, 935657918, 868109469, 186867795, 616540264, 869836496, 877747407, 689046331, 425188224, 698646713, 185046492, 947271275, 684704618, 779269517, 165518522, 221824464, 275675660, 643835812, 282355883, 711689183, 89010409, 145026253, 75579061, 800514060, 877377399, 60699724, 161443160, 878922472, 736102804, 742022234, 372677614, 966349309, 739182297, 536428001, 781884639, 81660602, 981187156, 854224165, 938507251, 511936217, 330341219, 624955739, 242917339, 378438267, 227486564, 549878254, 545504608, 994026669, 710984408, 769087829, 42514044, 904286800, 122753847, 562004965, 639191559, 708709702, 67966542, 44789369, 569460258, 182287806, 525198042, 536022495, 124201267, 573741594, 210583885, 614682506, 21096055, 183650974, 144591913, 216028669, 426809776, 625822892, 237321574, 162666999, 968833142, 78838504, 980111824, 40300512, 468483091, 333257469, 768548879, 290562321, 526603215, 584943013, 302894799, 332507373, 129239657, 204673626, 450123913, 346712517, 493185638, 127326111, 720587624, 453800474, 451142429, 419259580, 83525150, 91050748, 780017131, 240554310, 19576821, 643585949, 426407304, 480459613, 719150713, 397837874, 815551147, 730035209, 761996279, 789667793, 696461466, 541550797, 337088815, 907671236, 732534061, 780606194, 60547034, 998578915, 38280528, 950007408, 478574975, 277535377, 287577588, 326124067, 705512584, 47801508, 755807634, 44875661, 270222172, 457185104, 735194701, 148045203, 616380733, 984986424, 179687578, 84512289, 35244468, 79289146, 330024013, 175023092, 112673356, 698530852, 132837813, 262639218, 214808306, 716023287, 932931540, 372442771, 107609483, 501578282, 663333865, 913716855, 471635737, 131746630, 745023875, 636019121, 23431799, 508550509, 306554288, 547132965, 973554776, 459305383, 472705916, 858938583, 144004543, 622743815, 222370484, 759330252, 305752964, 381748546, 674066010, 261160695, 729958976, 185128547, 593859332, 554156787, 913416133, 573918348, 294468964, 93199411, 470371937, 12243216, 44980215, 201589519, 27390816, 714354135, 750605655, 706888251, 61673781, 664948093, 479014744, 337767592, 74483489, 949860444, 52245761, 311725468, 541139296, 673941355, 405905973, 48289140, 311071770, 102450175, 598134535, 511081158, 931431759, 410712581, 933669834, 292147211, 432751811, 72227670, 425599517, 199354538, 600615466, 458590126, 252757977, 293888689, 277630996, 898750271, 765406776, 599176714, 965761601, 243613065, 505302239, 713332762, 690994783, 9025545, 715094283, 664718187, 178123460, 192035562, 199115876, 490837264, 760118256, 759857215, 757436418, 49881510, 173035837, 411056628, 975669055, 649462926, 382118570, 681094498, 235890270, 429019162, 653901076, 480690549, 920126068, 568712579, 618948149, 597495572, 134601785, 590992588, 455444174, 383340230, 701043495, 309517410, 746008859, 791814339, 939589452, 835294644, 865134357, 354070022, 80348139, 135357269, 183979820, 518713486, 319250899, 293723324, 25820893, 86477052, 619966682, 825967010, 984871446, 326046788, 746456350, 714578209, 940201276, 893052239, 734301993, 827714975, 618613908, 940700160, 802629703, 685002766, 172055865, 916916069, 705219827, 299223044, 70147258, 293820388, 33122398, 346656733, 113809782, 603714899, 764896592, 20184836, 585278320, 861252820, 151654200, 21516229, 743835669, 238513752, 800819471, 500708553, 272200984, 150161260, 88161358, 46168655, 737250645, 339600177, 20725025, 681532318, 877024671, 96001213, 232372479, 229921313, 758499339, 62447467, 36177932, 252235596, 796005219, 627718469, 507235622, 329804978, 909178099, 294504104, 714654337, 133118097, 1845814, 466985863, 739145004, 529155447, 346699790, 528464222, 511387480, 197874836, 369891312, 391747945, 110331412, 75808253, 497043055, 171705643, 998302638, 51432864, 104399362, 329051995, 829436534, 471560378, 54557338, 689921167, 998906042, 45580234, 300264303, 976375675, 449192722, 689271933, 49300390, 157191529, 811728900, 739621043, 579054841, 697190688, 524648843, 652798994, 621592490, 291168566, 334341949, 622689022, 644571251, 893169434, 575664916, 111671588, 927084374, 662617406, 302451358, 74242303, 768965230, 923917768, 924578385, 128285613, 88278895, 864855263, 488106233, 691186792, 94544992, 967424038, 871014309, 563554544, 108123423, 516394167, 486828433, 167577075, 461944006, 354123725, 955325788, 446557235, 125395254, 270401592, 968327673, 137767402, 127194854, 95994255, 536421921, 986183076, 693856220, 678400948, 765470245, 350632837, 189393439, 758850407, 933479068, 612585563, 109049075, 227414138, 26834374, 162099434, 904513839, 462448757, 563762554, 736922067, 360328030, 88318132, 835470353, 946377328, 366568723, 784530202, 835589787, 596550277, 524482720, 828328727, 381977375, 576545151, 718380192, 573352699, 882359028, 709420822, 532029519, 339260886, 323309827, 852715833, 931899199, 525969527, 261031126, 818181165, 783524242, 923408660, 525640199, 960362798, 930822482, 957904632, 593860785, 94478207, 932460855, 995029942, 848233037, 590058905, 157005825, 332651937, 425471590, 843185986, 371720600, 385713123, 995691049, 221794298, 621277441, 210212135, 304727998, 836967625, 714772773, 574116761, 473526059, 24284779, 277280337, 565560965, 14781251, 266588828, 285951649, 532861193, 593030403, 34949335, 456140884, 914453074, 840089509, 229279158, 477157926, 513223359, 742426875, 665037304, 697897556, 305814808, 41775774, 371570882, 705558568, 681881001, 114996270, 405700535, 282665225, 609458576, 116058448, 503970965, 233491235, 966471845, 765169203, 170919814, 563292326, 890124809, 731129428, 920086500, 193039749, 371472767, 93266408, 853506876, 792481818, 857231113, 76829170, 249092424, 851628206, 886138250, 475328243, 378694781, 470174558, 471151263, 217529288, 362656386, 352407165, 347074515, 366191047, 732823529, 317404656, 862606368, 575233571, 338743421, 96301276, 962973831, 404497784, 169599954, 864092510, 179053548, 83047153, 633505912, 665410638, 883056091, 186413860, 241577596, 550455654, 388046712, 35186851, 300661486, 79638293, 172778023, 128719297, 46877004, 220031292, 852552405, 823854758, 55006856, 940043034, 340151279, 481772142, 563765191, 949970839, 443850265, 435738841, 999966280, 15311132, 378510347, 900281304, 584582610, 75030317, 925841054, 873748622, 734145201, 654382756, 445117807, 564379783, 61338543, 81209446, 112073793, 38702868, 721818285, 26885554, 391606621, 476563417, 484546563, 984781256, 452259833, 806520344, 596394581, 85451620, 25300515, 531353341, 581623900, 171644837, 823318280, 210599425, 753881968, 447097979, 803246609, 438180483, 532561365, 866979250, 444823087, 939969112, 546470964, 642049459, 794630156, 920381361, 173570639, 366452203, 499291291, 65346460, 124311520, 71133875, 659600051, 60438366, 91457688, 838474983, 547806001, 19563565, 177768174, 444906472, 386098822, 55533018, 384572686, 636882161, 143797273, 444774917, 47167960, 980354584, 518831912, 90672263, 945587416, 689190643, 212515416, 813586471, 833085706, 46710723, 896853435, 344811471, 431714882, 614489635, 147232890, 554834979, 955657028, 278638397, 838785596, 324581490, 515594258, 655547895, 596334744, 796037098, 187968505, 261193113, 695042541, 668210986, 209805419, 759381689, 802167163, 212782564, 657822915, 197484328, 736058468, 443820146, 387802068, 137174593, 100693458, 461554789, 207419104, 136953938, 570283698, 538035520, 831535371, 51392239, 392840313, 91998478, 42121750, 822030241, 978493150, 4609254, 922355987, 302730534, 523827836, 422018478, 181488261, 208142081, 682834072, 352631947, 269568658, 18931090, 990832110, 397055386, 684402216, 752584495, 706220393, 169160538, 358172600, 786981901, 834792403, 832433203, 227804407, 317945494, 205464094, 362052003, 596125261, 178268339, 580002779, 686853692, 363682081, 340529576, 691073198, 826156105, 696498003, 374838628, 696516047, 926948008, 799974932, 955639756, 428437315, 503399248, 282935624, 501754949, 725854349, 725059249, 854899094, 345027943, 735393265, 232526378, 19566847, 966275104, 846023675, 123433172, 70272161, 344805876, 658994616, 990808054, 676066412, 305371708, 266874108, 62365178, 325178429, 366728090, 194464425, 593498661, 186334252, 406790243, 345823310, 494862152, 402241568, 136728883, 140752016, 267180321, 904413273, 230643248, 920553942, 479094259, 71033436, 941796348, 684181383, 794158654, 458840612, 619617007, 836175094, 664029268, 852851196, 694731601, 549470453, 937525585, 117680653, 691710873, 353168339, 703325506, 180756300, 106168001, 145242142, 993375061, 68335504, 312248151, 439003223, 547341257, 885343866, 534203401, 556033665, 51640609, 709915964, 436311887, 942853823, 468663956, 125216978, 273055117, 743032774, 298327972, 406719505, 677946475, 52102671, 970680183, 558588325, 375133204, 264516173, 677547300, 790693223, 255744297, 53788204, 710078698, 742852849, 977983721, 188240191, 762253105, 739187159, 278243410, 414786512, 348538984, 293762526, 335732989, 976626722, 842687915, 898637299, 456243312, 105511372, 147554787, 490572941, 129151426, 407746188, 648701919, 537128039, 93076788, 307126870, 281639588, 836338549, 50746917, 741293373, 502339016, 261322634, 451964993, 42003540, 225841764, 864952621, 513931149, 324610375, 509281854, 738922963, 623554709, 169273775, 989252033, 114813221, 980618693, 851332386, 739584544, 426359944, 626310612, 423041978, 27063543, 288284624, 575970876, 791415847, 709841690, 192427078, 727720566, 256184551, 960903548, 892064143, 677788234, 326139211, 458269987, 103711569, 520732070, 167827998, 292335810, 861788303, 86073228, 830310094, 729285862, 893050510, 568354968, 945807561, 825624967, 221101963, 229425648, 694412147, 462178101, 586535117, 513748988, 774617048, 33748077, 963524875, 428066219, 480184283, 73814732, 159722650, 708938833, 847378360, 760777308, 128723754, 245629832, 464599074, 129155331, 330539771, 235028725, 485392837, 641180639, 630392244, 18091827, 995289835, 364429184, 825185625, 79044692, 960135010, 766449594, 99323783, 305571565, 539456485, 198810304, 551183995, 738976749, 603089072, 411878748, 803938155, 842139108, 177550399, 255008389, 926149193, 959474349, 357734259, 271537712, 690271640, 887336141, 712225195, 514831817, 279332330, 225095922, 886534395, 993004456, 921212137, 896325597, 158649909, 850796543, 304883251, 373312126, 756940171, 658396240, 552711520, 930173367, 727762016, 791134682, 826896131, 928695498, 594284727, 544477436, 658159676, 574458992, 525312100, 952929744, 371043986, 620092594, 613735834, 673119350, 718143669, 837906296, 183494876, 905846353, 376376103, 876299720, 772395970, 866137018, 861224619, 103376707, 113473788, 931341873, 471272767, 986711515, 806083068, 109864499, 632172252, 825366518, 582664239, 697227284, 192081204, 537332326, 747155909, 746768559, 621313175, 411929120, 94335573, 76080764, 177467634, 32472998, 678900023, 831159061, 128039768, 644272955, 59909798, 886758607, 951833528, 662939983, 688168131, 170444282, 901464538, 183050970, 780935655, 384109174, 286334080, 823643379, 826360553, 410433949, 242785605, 849055878, 710897920, 117830488, 682637110, 630240826, 885369823, 24213857, 117925152, 347327438, 624309882, 842167494, 491281431, 19160798, 635719415, 678798679, 719594385, 838996038, 532281999, 724721075, 916522670, 552371418, 456121794, 180529376, 289990011, 366995500, 604378086, 364318404, 45937150, 414158634, 148745329, 58092892, 515479671, 644187652, 316504630, 351722, 4544231, 996542981, 592674731, 420164042, 147060963, 835806084, 415789947, 651797608, 44644653, 863899824, 141561632, 146299498, 357086063, 214559250, 757324119, 605487892, 787795319, 925452175, 266188036, 613988009, 921967027, 974268754, 954268588, 975280607, 509777950, 938463433, 714110661, 884263726, 294535370, 692219519, 238665040, 66015889, 49631180, 747794251, 284481244, 58263359, 805035952, 276591990, 539049403, 966784147, 991687638, 43773415, 895093813, 36047531, 238354036, 846557531, 220463305, 688082416, 180754473, 203228308, 146314204, 984502165, 978209034, 293316624, 984000024, 749337231, 542814619, 97979900, 504487404, 109486749, 546915419, 220969603, 329951525, 49170199, 118684682, 861409641, 656451396, 312955, 283210433, 278501142, 546786365, 334869659, 726257511, 487949162, 69372588, 339809981, 674764470, 508905858, 582242320, 710972635, 937875120, 992657474, 28592435, 450185356, 60884461, 912535370, 313981203, 908706544, 888357336, 579292899, 869922714, 726371470, 163838014, 123488199, 921947985, 365350169, 771152558, 388422205, 198284133, 526226317, 721920269, 964473233, 708854761, 193601227, 137769276, 412157571, 466161523, 471147921, 887281352, 651064029, 641292048, 49271900, 747398353, 294130327, 811332697, 792850529, 896973424, 544368446, 616730927, 141988543, 283335506, 548556083, 831049581, 718355653, 157370910, 288658406, 770745511, 917061696, 853285707, 721565375, 610481308, 735720455, 849490677, 623299545, 240124116, 132871080, 294089136, 110516028, 97333777, 334622456, 284324537, 7894575, 1392115, 715701837, 719745637, 976755445, 173387228, 36873406, 813838673, 898673837, 144877277, 920802257, 450313293, 538018712, 557198942, 862686790, 246173811, 168481042, 433629398, 379215289, 130925885, 147613243, 36263172, 782335103, 933241740, 677154796, 510326252, 167892990, 714202686, 902959642, 531345350, 77062129, 994549229, 479649488, 997011614, 180060875, 129750258, 161583464, 820625082, 920346789, 115353172, 668840833, 80654386, 458200812, 804676275, 477682257, 961475218, 983591807, 132403555, 339954726, 640969457, 950302516, 709968789, 395072310, 853197407, 305783538, 871763045, 932189135, 767536099, 316454019, 884655833, 412866975, 155207638, 601470878, 97247706, 636734380, 857464414, 286170260, 981499080, 17149075, 153321951, 309116803, 851517973, 934907512, 82041858, 601279364, 946185012, 821583548, 344829215, 417511214, 101269247, 493139820, 211564532, 780770765, 815924423, 749131330, 432345325, 912763357, 375559108, 784731650, 862545280, 526986438, 740192648, 818459592, 358418726, 584076267, 980048925, 863624984, 53151043, 911500949, 619565100, 376288354, 226879450, 494427557, 550101854, 210234273, 950685055, 681411494, 300729969, 967795090, 138345612, 176441052, 298298608, 877650217, 971342825, 587210055, 64253559, 432193686, 887928887, 359671078, 417078193, 336421888, 56717257, 169007848, 763746739, 453695426, 587568313, 860404477, 735511183, 114409082, 604821576, 123620724, 821915411, 348382562, 43625671, 86632491, 901392988, 936032847, 497992238, 609473094, 554173307, 384665459, 358158025, 746248959, 665358680, 104640576, 111412389, 453109042, 152303205, 159411841, 99820454, 696052230, 769488051, 385293313, 549852184, 118531954, 767813351, 824056067, 109197593, 362975189, 865027020, 979687174, 396730844, 412084696, 240228383, 733057354, 422937580, 836249794, 659544009, 226362540, 755963823, 208737074, 949181196, 913348364, 549429654, 157121431, 475989748, 511225406, 231157816, 897430893, 420197932, 608108406, 152318444, 863658399, 577281279, 371337782, 510104652, 662947017, 808744926, 654128574, 659696983, 368883019, 28031716, 987711196, 758792481, 180874514, 388593593, 597669809, 471246736, 242059491, 53070208, 853051984, 366971255, 300923571, 98614644, 521263006, 755485590, 944581094, 55917862, 447583613, 693292097, 666742045, 769699374, 558857600, 316951169, 334889259, 247922214, 259782678, 255794290, 291275361, 103338326, 507153496, 291488488, 79602900, 66257178, 140920055, 475483700, 200800897, 356954575, 888376258, 282036954, 439093103, 868767723, 551065506, 836622256, 930047467, 776619479, 555884683, 581950335, 806952251, 339195782, 450641094, 797461039, 431831719, 625326836, 874251384, 547223869, 666733540, 113333352, 426692737, 349135831, 729383773, 710452374, 224213768, 698865712, 22266562, 102464001, 458638510, 116226401, 231590158, 739076735, 541280714, 151152317, 99385732, 89618814, 775122225, 488412866, 757178633, 451193314, 521496484, 194924388, 527993537, 246122129, 243736935, 715098434, 875240800, 5621976, 112907794, 909198552, 475010463, 659500055, 84753198, 838137707, 877594209, 742201565, 308878447, 10121406, 262102698, 827479083, 60761725, 167188164, 555589834, 705043012, 807510427, 705957639, 522394023, 956599092, 362263798, 817506936, 105072555, 882617112, 319936898, 624997458, 720953323, 818069375, 97828801, 896208629, 984891145, 575701667, 657292728, 110314523, 551084763, 114438340, 848214613, 599999673, 351606130, 162750184, 306911409, 307024762, 83472927, 800331013, 422266223, 261016644, 775302073, 636926564, 686988324, 112205430, 88678117, 223038691, 3713271, 864742933, 642391266, 398038871, 189664167, 22027504, 730186896, 880436, 499709220, 581112622, 811370421, 798986311, 916940327, 934001131, 639257146, 628192063, 790063127, 637909559, 851612145, 904156649, 1598604, 160687764, 368458895, 787554518, 287363300, 956671718, 646960889, 769267909, 479319585, 927171093, 884883594, 877379742, 245414715, 349969619, 733446959, 78090063, 631508519, 750362093, 972795908, 324786388, 763031282, 528181900, 129044831, 876047691, 822826611, 649566036, 804994182, 391744308, 12303698, 764058080, 21781897, 729360862, 861513628, 286688885, 484355514, 837451428, 571683814, 675449268, 754062649, 746565276, 286810623, 387891599, 949039255, 305349685, 345234379, 776111410, 903458878, 147685059, 952369327, 525795190, 536530290, 260934371, 896187908, 94390845, 395812069, 696860242, 474664269, 71276388, 339981235, 394884891, 504384634, 816283062, 701429596, 735230758, 858519122, 626616444, 398567508, 214250387, 3266898, 111313015, 453019982, 839359353, 159209075, 215844887, 426003837, 41481283, 995147800, 59865002, 488787348, 977254644, 124130996, 334369154, 108547960, 913035466, 199800742, 236157457, 138506624, 747816922, 735251386, 170267215, 156775052, 769829694, 518674291, 322894515, 825392928, 822443551, 203929436, 762145488, 874703119, 693271212, 791511553, 591002108, 272174499, 597951971, 502889272, 948870431, 641363061, 904383941, 16795773, 161414859, 931498860, 13780739, 301959407, 12626804, 931057217, 264626930, 683330838, 707392626, 860838549, 483107024, 248016794, 372513036, 984863970, 330463426, 969573022, 595420412, 363999630, 802796132, 508923159, 559519048, 368572446, 467950541, 292865428, 191177553, 824811402, 906241671, 752816210, 619127800, 133258361, 393259680, 851406590, 113862958, 947717418, 656666221, 385313391, 849583096, 435933482, 378847514, 917240982, 99856499, 31805186, 12414745, 361549100, 474524594, 913907251, 566498721, 900113780, 908753153, 325305238, 570969089, 486118073, 512070194, 267390859, 507150355, 839052939, 215262815, 448092194, 802710633, 471235473, 3121137, 466788764, 447418590, 338787954, 939629160, 598715694, 492515292, 537232837, 665628843, 479888694, 339439858, 519879268, 872134393, 90731973, 108767224, 577053504, 900994089, 775655371, 353226761, 505786308, 29268731, 400767168, 496154725, 486608674, 22767563, 56214296, 521447972, 566607611, 868387113, 162632813, 594147740, 369898437, 612037984, 51192697, 115978142, 998963138, 675848573, 5275802, 102967193, 907551098, 968622382, 24801844, 491088677, 944562627, 501027966, 745444751, 975051614, 258507337, 415040430, 281035259, 476105148, 157666049, 227109661, 932036901, 595865385, 57600336, 767174144, 328681755, 851044737, 410998706, 686364834, 665815599, 63733967, 392000262, 297469386, 11580877, 817820892, 647832992, 538148592, 415286518, 849190716, 1709564, 923629479, 351997725, 365443525, 633858341, 321113936, 211790491, 828434875, 490288725, 588133564, 919569689, 787066766, 61466678, 735851967, 391328872, 16640652, 2854841, 959962597, 621246134, 473242426, 576430802, 643041670, 270251446, 744558696, 959748052, 996658283, 188618717, 18356994, 988908692, 63190346, 710725735, 343863964, 437259078, 159610934, 333717083, 91926589, 955864485, 234022522, 876357295, 427898561, 598557471, 913134200, 76208826, 202298517, 303128086, 281009524, 861132646, 727149367, 377441114, 114361390, 391420475, 102797575, 31067620, 184124878, 411038437, 234228527, 464563509, 153172829, 136712912, 638272372, 345160940, 865976523, 513177868, 674741451, 668718944, 369689271, 440010979, 728423957, 628994854, 834090071, 595927065, 703417961, 8813248, 627979068, 263346968, 70667936, 250217907, 905302082, 483450639, 757649403, 388122283, 328119495, 532781846, 643025043, 526410930, 939125172, 779458616, 47651549, 291466703, 532175815, 182414034, 240021314, 457223347, 120844372, 561161431, 988493513, 478593390, 313037412, 518640026, 320921721, 372240481, 308513226, 716477009, 606505469, 653537369, 221542948, 730564512, 654066734, 13705881, 107557570, 220692376, 149070814, 586728122, 708147331, 96257956, 713794870, 112420437, 649163677, 521078385, 896355145, 690085951, 34691015, 313674451, 960247795, 813966535, 900160282, 159345657, 599448214, 981078587, 204550562, 561128393, 484174142, 956585399, 997763412, 146275186, 406905312, 578954787, 954127011, 823416167, 798670341, 711786037, 389988629, 479382331, 69698247, 457040005, 545602369, 855388721, 940195430, 778829595, 563366979, 364902658, 913119075, 723991657, 387072735, 749572938, 943743192, 423722817, 411982317, 307433991, 766283192, 96660673, 56234089, 180220987, 269528136, 943749647, 274125803, 26050869, 172097274, 751784203, 496815598, 351741837, 30938730, 895753636, 211745837, 765452659, 596484893, 489906306, 574322069, 739668656, 633445421, 70277351, 40456842, 327360432, 63919743, 287819627, 491504780, 340522550, 270326270, 642494803, 261287189, 841454778, 192034202, 856066633, 476675398, 523977613, 656146210, 25884422, 453153977, 928320297, 555747863, 970336444, 609338930, 98807343, 718682156, 897454764, 833704903, 996945613, 602068803, 356530916, 113004043, 189130031, 488205184, 808770065, 913693459, 88298234, 388698732, 185615290, 883527042, 30153818, 271801433, 166716117, 731443907, 171556848, 46855863, 25967612, 449419433, 233943654, 394648548, 36510666, 526356530, 106896696, 772540578, 200282909, 654409842, 546456692, 583290779, 5526275, 805796047, 534150003, 334012818, 133164681, 217203401, 20193515, 855794792, 446633809, 837925740, 188845440, 99709966, 480086072, 636787803, 106464009, 847332449, 309230196, 745077302, 418590955, 210884216, 992126261, 302342748, 293631635, 685747051, 785330591, 796927559, 894626197, 735313225, 573500522, 657066308, 765579465, 200803021, 582406522, 410744198, 260974093, 556616901, 865829232, 603281099, 335765086, 786911824, 378831230, 972445955, 632577293, 603738191, 747712577, 842601217, 961040618, 169435378, 652218056, 679126842, 792977743, 91624775, 624111374, 200183236, 963470792, 232507646, 106150737, 878404744, 595241215, 837154545, 38115830, 963332574, 218133676, 192872646, 231040265, 140211637, 82599839, 520199542, 181761626, 834726559, 114700545, 27978187, 637362924, 117023331, 353636755, 760375665, 197741033, 979621947, 978610609, 352970449, 737154908, 122165199, 240241515, 842008535, 954072892, 287302118, 891060246, 763622195, 94853493, 317468799, 654173121, 562901821, 212189318, 64534641, 737549411, 818544564, 122509667, 147375262, 350411402, 954724567, 482486915, 154156254, 740518312, 528175925, 222316022, 821907983, 514939777, 142632522, 934001562, 19644655, 258110226, 793759672, 75172397, 473550228, 540454198, 285626044, 177312299, 899194146, 401964044, 498347958, 960372077, 447753351, 845269964, 643909919, 410710825, 221735426, 242461456, 931395148, 603856639, 499704597, 532888189, 714571658, 532749336, 353690856, 178730548, 860886958, 818128747, 121957483, 728724412, 557682110, 711562453, 599375631, 653444695, 112748335, 807923503, 342215646, 505440317, 691102875, 389123441, 40881884, 119420955, 713963708, 18270358, 214542034, 937180495, 893713451, 498562270, 648896090, 613601777, 689521204, 926407154, 250000441, 490058112, 618057020, 234475703, 827757045, 331619272, 28170427, 480767912, 505178734, 338186441, 432699135, 370636049, 943551175, 720694211, 761664695, 113598560, 922204304, 257839671, 923069977, 87428501, 766562399, 128661773, 227771720, 889198883, 933910262, 166448748, 871017060, 534864925, 443398728, 652746596, 621787523, 817046917, 234851075, 363683205, 915287340, 394695077, 995042509, 170463319, 560440181, 925992591, 456340226, 112965804, 221622986, 797569531, 674527369, 781222392, 582944143, 675158555, 29420280, 212013266, 45056883, 127417680, 811819237, 710873982, 965986521, 63090494, 956730560, 503949231, 378409287, 443939313, 980085054, 781684940, 203570079, 911890954, 338049080, 885861744, 193011035, 607596334, 888201209, 720228105, 886942742, 500205205, 72104022, 657455337, 481262546, 444726541, 961040833, 131681458, 686053922, 620393451, 454975412, 584936706, 749907145, 6454455, 400741513, 984164515, 134832669, 820717633, 894422338, 644902727, 154110495, 854335657, 946172771, 541153211, 749520046, 832880473, 472638848, 569895257, 879178654, 122161158, 981059716, 395613679, 965821219, 360434285, 327515253, 343076001, 911589430, 266159417, 282069673, 713624838, 951716376, 179859645, 809045362, 975271567, 78411191, 860698571, 261108502, 83523677, 49467265, 433554610, 418785209, 493577045, 88792099, 600776597, 124310823, 679248578, 181282845, 666148292, 113063560, 428266011, 47665136, 43407420, 369325077, 45486030, 223136501, 623702158, 271064778, 450816566, 748018554, 291151401, 618049281, 718016588, 868940923, 843007107, 560229233, 809080836, 857588907, 931740654, 30606365, 201288020, 608464192, 54632235, 397173171, 906973877, 539009336, 99854198, 814569753, 209708729, 414587346, 476190718, 484171392, 254287960, 529002069, 804130018, 647423352, 446477888, 194735619, 81955255, 868047149, 898773214, 150346118, 676406017, 247233673, 170864597, 506984661, 569405823, 58558194, 299057758, 275973590, 35442571, 322956949, 784020658, 77069311, 932273005, 380166500, 533468087, 357982361, 667124251, 688409825, 707995719, 485150376, 996517613, 915790370, 596311713, 862458877, 115629173, 139445632, 448169296, 162938132, 201968920, 612192846, 992155806, 678753032, 281807830, 216773934, 2189485, 910389219, 673389504, 363880146, 234367012, 155762788, 691378140, 304504096, 287062330, 243015727, 167064893, 9150238, 380917669, 838655788, 368997066, 996187351, 196486147, 601542452, 77483750, 735559003, 895643094, 145875984, 132720470, 911963209, 442503880, 101931451, 505379409, 141440434, 798352757, 428783042, 627378430, 158070154, 363304412, 953459559, 515444735, 245831651, 716126631, 456643658, 248239821, 494101567, 803627702, 614675534, 904516972, 658162336, 17150276, 473872755, 322054736, 274882700, 968435640, 814172821, 313134290, 790328788, 47597124, 466782154, 389143100, 906625831, 177690112, 25211876, 64396106, 186830305, 287678075, 693307701, 43883234, 23754323, 784240955, 486001848, 557362202, 581404232, 838070798, 487864042, 811992748, 501382946, 459921727, 234472503, 644512662, 667342512, 725196448, 761549364, 992769049, 792227048, 673216055, 458656332, 945231492, 387227941, 651399900, 464775555, 314191405, 559283298, 786321697, 186922290, 839956208, 67150148, 676931505, 448261221, 491983494, 881788176, 645568432, 472298432, 159718636, 340971025, 736842756, 520945009, 624611379, 521967966, 44514731, 36548668, 880533640, 935857327, 529482695, 76097082, 109973928, 162449463, 612772634, 167689856, 132125846, 802746645, 440541140, 380981847, 284482671, 813701796, 639921230, 84319650, 330829035, 108035143, 809835528, 849026664, 674274188, 779518087, 63857011, 708701024, 206161749, 417937784, 738403850, 391916572, 924554764, 985088168, 128624027, 745586560, 49243158, 397599778, 15164763, 97811743, 713562130, 588025123, 739625602, 495233251, 62105686, 726509935, 400765177, 11730170, 471686674, 639121169, 693264951, 89296258, 204761690, 864591519, 657782120, 168615027, 490405161, 105331073, 545342797, 409005877, 496616464, 416510562, 639210654, 361068971, 714675998, 919865120, 738057503, 307799415, 673074539, 319943634, 358767452, 653101705, 882579989, 912093604, 215281263, 52304145, 179744370, 155808079, 640591788, 410202962, 28967776, 775451855, 181098740, 563379098, 916566166, 434537023, 795878555, 110548327, 184676295, 874609823, 194587418, 167961213, 867563527, 58852436, 448765921, 64792173, 134372820, 22544380, 790111733, 473020929, 904455245, 185302760, 715624801, 153292344, 158612463, 754601797, 474329705, 461604072, 653263266, 537350270, 852293463, 90857977, 888137339, 235368270, 367514101, 973551405, 979784255, 554585558, 890227316, 190453489, 542878772, 341973983, 418708825, 720204163, 142396021, 923021714, 239402722, 192272805, 76123886, 395493806, 683665158, 442350576, 464158379, 392707859, 637158180, 933486551, 221673227, 105343339, 121284005, 8132243, 539502398, 824463761, 671653790, 69687119, 506912369, 618186286, 356767504, 173345459, 77180240, 825312590, 348425578, 629652915, 208106965, 573718734, 328018571, 813866691, 772545068, 329850608, 745620901, 464410504, 947449050, 419170374, 965060578, 411530237, 802575041, 741223468, 221521589, 249240075, 80525334, 621422185, 645861073, 210401389, 310951154, 221395615, 525193514, 883567953, 384858135, 279206882, 544302706, 263464634, 702293386, 785648105, 86055875, 907392187, 195595579, 431335682, 829214650, 217521688, 586961250, 21800699, 956358947, 785231696, 954388165, 158105601, 860840708, 29781191, 596565086, 430626189, 464195527, 806015450, 787854531, 589462385, 42844611, 64111635, 450768019, 562653565, 754998521, 678345296, 680891840, 664561024, 766694011, 553090446, 462484255, 77581972, 424108253, 5902182, 647190635, 317984948, 91196093, 127916706, 874423759, 755011217, 151793459, 104430973, 696532358, 779135305, 448096505, 192561151, 704417389, 542676865, 280394896, 660654619, 745764584, 155701701, 836851498, 352814171, 348561655, 829390071, 909255758, 877011495, 974336666, 546525763, 693561818, 256402657, 460480035, 85548200, 238960012, 793229117, 32412979, 425488805, 917931646, 649067253, 747172166, 349851249, 484007434, 612398866, 787195312, 970557492, 49011388, 339933173, 376929162, 693048900, 917540769, 147859148, 636249476, 405336847, 21256845, 251100698, 881312917, 796792399, 656026458, 814946279, 668661316, 404828207, 586901371, 398534492, 96132667, 73540611, 925600073, 55238549, 810133960, 910896721, 531586157, 790699771, 35866263, 620088183, 164688436, 734412347, 345801905, 835435500, 659681685, 689898277, 54585403, 326931889, 526780449, 378967349, 216369483, 40220346, 392934152, 728138951, 692439494, 145333698, 984809816, 98038967, 758022137, 228628381, 544409164, 253539871, 83334805, 676934261, 888196587, 482793090, 229534186, 114720882, 632046112, 675602305, 999116908, 155951721, 612748008, 783394308, 198387912, 570062810, 998715424, 468516824, 726400228, 972237607, 293574849, 874376543, 937752917, 962908597, 188852591, 938988464, 306672206, 336347305, 671399000, 791724529, 116240337, 876080998, 450511443, 790909479, 324305431, 387056874, 787049257, 181621011, 704859210, 987445519, 964525808, 648990376, 631797766, 38896535, 820069040, 558458193, 178581600, 576710269, 473874322, 933388804, 581590113, 384563798, 771600637, 232916263, 691383613, 149213902, 166326719, 191785227, 76698385, 88875714, 764154711, 161230139, 438930434, 219413894, 771003884, 344205542, 771567524, 500119711, 207081458, 971357806, 229110397, 327702156, 930144587, 966098677, 435108203, 713085618, 423331715, 964071190, 313530497, 952850088, 693620236, 742920158, 251246747, 602261792, 101621572, 954436761, 664348462, 342666650, 182520376, 776720190, 453444162, 87670883, 679093370, 282647606, 406627678, 11859289, 17287035, 514801543, 673313161, 458763949, 361202486, 54092301, 323327181, 72895479, 703723183, 135635061, 744039452, 3082130, 343969355, 944006648, 335605773, 131853484, 942439102, 113447229, 559565505, 272797398, 666814896, 986701629, 700776611, 544359405, 567630455, 19778839, 600076937, 523704395, 809464935, 968300388, 60389107, 607839968, 455364844, 115593485, 575376133, 382192953, 651409370, 17705293, 868845840, 317337280, 382135438, 521769251, 455193074, 553542500, 732620214, 895726207, 211560194, 118767469, 526157841, 791280148, 745354792, 948400589, 857992064, 298454162, 923962078, 665107637, 647424694, 693317089, 360955560, 38317907, 876702849, 753876288, 749073420, 995030479, 976045137, 237408753, 824892001, 594433542, 36497131, 816504929, 174737268, 277548692, 828096252, 587112373, 181558910, 884872600, 892779929, 968524279, 963876374, 370448343, 590366089, 449052268, 98107676, 539493009, 778082375, 571315531, 577130952, 316928599, 97258709, 834027843, 242184982, 2201402, 63667117, 574472027, 776878402, 707999818, 641150740, 397190115, 944233763, 552467206, 337431947, 187081502, 340418560, 640090327, 768227746, 45348967, 344481476, 808574658, 222879562, 148330094, 423481624, 859805146, 765760654, 328296420, 633746283, 696939157, 30402898, 390372493, 976562247, 222258675, 48966127, 58788258, 415218161, 354386448, 294398018, 404744784, 855491955, 155389823, 475326850, 59237638, 930803781, 411242978, 69526209, 570197389, 187365863, 450544322, 789518287, 727177362, 269889160, 697246041, 921944197, 643082333, 295093343, 781818190, 240336118, 178168194, 779563114, 799932860, 467800683, 359497929, 31713741, 458370699, 297545215, 500785831, 621762107, 494491252, 16053344, 674583488, 840449824, 341253045, 217262391, 117651751, 844239333, 236870547, 209244249, 346662576, 170528727, 37768081, 532676196, 912235966, 707501955, 578245546, 740264441, 560048313, 418174061, 544774527, 677236473, 86930877, 877914705, 960753468, 214626693, 753564838, 850673809, 964508412, 454251166, 747171262, 344727920, 204697388, 907678235, 561837783, 563126553, 885928973, 667344702, 367084571, 727390307, 544666586, 66111173, 583253887, 765167647, 374209193, 696809580, 146221440, 305703949, 941329941, 253649509, 678937371, 4137893, 477796942, 724183276, 569907887, 199317360, 597542586, 634698202, 420213527, 218430060, 435454748, 940922229, 512076837, 190901299, 815784394, 142360219, 850290752, 789154398, 641335084, 33128221, 976177261, 230987183, 456762823, 59503632, 370547190, 334011907, 948888513, 167035595, 448603651, 446986091, 712191790, 969585846, 950716278, 356286547, 743994920, 708218716, 278340218, 173235361, 90336443, 158722479, 993323258, 216706606, 28871967, 70682899, 821746979, 924504132, 12242651, 892633582, 617684231, 189623498, 749033418, 151230265, 494075372, 851729824, 615433136, 173706506, 191393745, 820162663, 86238397, 869236064, 692675088, 64997113, 766143406, 730165247, 386140333, 639605711, 84139640, 170879284, 798865642, 829491391, 577774315, 129785589, 456240264, 677071029, 816698373, 575847401, 297148619, 579821851, 128520824, 148339034, 40875015, 464510207, 747594655, 86317035, 439950504, 840525634, 843419153, 999955694, 831363359, 698477228, 39578072, 989213545, 183173847, 923043366, 692081187, 295551520, 336623790, 708131208, 309753609, 215685339, 400844162, 627874943, 585015270, 535668475, 952969752, 253541024, 871092128, 738903180, 779208217, 595176045, 96056032, 347452369, 299377507, 819754399, 737669363, 256010014, 361498308, 195359210, 938284840, 504779708, 143128210, 844781546, 838705581, 43768685, 449088434, 864456666, 591932806, 405349362, 79288821, 847392905, 369830319, 411485249, 131019866, 195434677, 623223267, 515952519, 172112138, 418221948, 113522508, 794082650, 597853832, 451692836, 319546559, 709184730, 330349266, 101777455, 715719352, 634381931, 708603264, 774248505, 555614695, 876963475, 993160932, 815199153, 801694664, 308805920, 907141664, 874572241, 940227001, 386122295, 110571405, 674972532, 465144852, 198608032, 636476048, 454439975, 224661663, 624548587, 669817899, 56214399, 960456248, 156156730, 193428489, 799479137, 944406281, 23927174, 306613211, 288583586, 737135274, 108026909, 612766804, 980407994, 509023592, 510685631, 87717717, 930370746, 62505246, 804252390, 129224009, 450301531, 682879020, 681453144, 316919511, 285126077, 93980386, 37417718, 569546896, 749485844, 773016849, 640084748, 155465497, 515181122, 791587215, 563473498, 66759527, 67620498, 504682042, 503786181, 543285765, 886120856, 65120632, 622878865, 317084038, 629795504, 212308216, 961611474, 284569367, 801846673, 2958037, 499739234, 917063387, 897714357, 441952892, 946632022, 46710039, 397090218, 741178293, 292108948, 201011461, 939949433, 236749846, 558410663, 792088077, 371371455, 698077564, 431724651, 773959570, 589096325, 590129785, 396892391, 307396653, 740463184, 996460903, 36012914, 495111011, 421693683, 707204457, 592329164, 161963889, 45004866, 944357986, 965339792, 144161446, 320435740, 100952084, 141354221, 301294588, 836409669, 120719073, 454302349, 519790622, 369122932, 78056101, 877620387, 770639402, 201057380, 696412170, 928514798, 560460447, 426667664, 12827956, 399734205, 115800534, 853564005, 315990488, 238336324, 374613692, 358814041, 130442538, 557686781, 934985926, 154974995, 256405609, 21399312, 623433943, 138593630, 701740909, 341728856, 987522327, 898357625, 164099564, 675761837, 876239571, 873811971, 267889865, 530668324, 237465465, 954576828, 985996551, 545270199, 397545052, 215801500, 979182481, 395828137, 723105151, 508325398, 8501781, 433744324, 168920599, 448502973, 869757596, 221284211, 850139622, 805636976, 956501993, 730247480, 709328625, 88545297, 507718409, 990764910, 319126494, 2693356, 939222939, 272549801, 84014152, 159556688, 357908120, 500501533, 399653179, 153360604, 179481627, 793217059, 618358322, 918517048, 703122867, 672902872, 259684511, 507987172, 729707897, 358168989, 989683363, 204871819, 776379523, 656961256, 31775166, 487076420, 373857654, 117213916, 247268435, 515060591, 329275, 74465963, 52311491, 948689218, 455380262, 818450484, 544506555, 251685656, 897097920, 268881456, 497276160, 233264044, 145608586, 727905086, 573099799, 739379477, 556694619, 621813918, 921546631, 875075873, 40655555, 881036518, 353066009, 881536066, 207187697, 764440077, 500112414, 65240636, 131803353, 983908412, 217615815, 47696504, 489407489, 609962252, 315130696, 84987361, 156757366, 809793486, 950171715, 648832923, 814989030, 873371039, 898004681, 148348198, 735730886, 518485864, 18269031, 458747188, 875043667, 502757204, 422949081, 39753284, 304901477, 860543557, 569642440, 844193719, 918062271, 676013674, 660219419, 471092158, 437585063, 878384611, 241581842, 30017547, 77789952, 317690756, 894892781, 880025878, 361225054, 912567568, 403621777, 799255779, 829234584, 300172528, 912421558, 576738798, 30283778, 827083763, 947680476, 731098906, 490924664, 928689312, 15648070, 58504611, 645207473, 392223634, 999682687, 734842068, 461380912, 695782631, 372907685, 234375207, 415796259, 30976147, 536714754, 846613751, 702488552, 67488510, 958346296, 161507481, 258395179, 287869248, 537058841, 27621074, 61329613, 670903002, 762701753, 570039410, 541193178, 701055601, 979099163, 234579947, 328345972, 259068472, 14958417, 479597751, 171970071, 982707715, 529966116, 689300886, 113635528, 302185897, 84319873, 353583641, 54819414, 778801506, 521917860, 465383359, 11601700, 875044838, 555888199, 385096967, 369652858, 263741690, 729690174, 796568891, 949778053, 211697922, 817228230, 476671238, 766173238, 545241168, 440518020, 483435608, 825456884, 496658131, 519025671, 248399102, 546036234, 252933608, 573671187, 670881996, 922480374, 187203169, 139775368, 91060435, 268514275, 103777068, 458368078, 487604012, 604145185, 792902982, 192260332, 455485226, 439965774, 977798697, 950399100, 575538651, 189689576, 75878068, 398005221, 468369448, 439939514, 994752126, 446208814, 256722489, 636175443, 283698687, 382843540, 823489797, 929289952, 854850085, 268340340, 716288926, 411641501, 726743516, 518590344, 373423028, 689880053, 29560235, 532926164, 973740630, 84208768, 187621339, 179132423, 420780848, 476321134, 258553944, 556125615, 94044494, 12299125, 387424177, 261996517, 477187338, 145047599, 734407230, 552658794, 468760007, 610437700, 489538147, 912265551, 659782560, 268724019, 959538390, 82527549, 868407732, 225663525, 256855266, 192737213, 580504241, 476769224, 608423542, 226561376, 782290681, 550819570, 291809886, 646926843, 861572185, 868094428, 639014133, 849182829, 703739804, 115913788, 450154439, 926837410, 387697176, 310267648, 198339813, 267476245, 621910777, 505753025, 517019560, 634883800, 76064215, 610233039, 147222159, 737910061, 300087388, 122071106, 759655626, 127034901, 546435786, 557937576, 803721810, 609991672, 416294241, 525402518, 642867361, 665907008, 343266095, 984275816, 234679433, 441267220, 150348832, 425494019, 532232979, 437161914, 100470952, 102067470, 336676698, 110466343, 173887110, 745657477, 128691160, 169622721, 353745962, 536459464, 337313698, 169342597, 679353312, 796748984, 523186894, 816781023, 413073866, 636309198, 727576365, 493188781, 308861133, 221944597, 175162823, 873471522, 691742238, 824058856, 497496706, 816841404, 374236095, 295674351, 77603387, 834532702, 5303863, 740799245, 797885997, 876251309, 34682387, 439624905, 682464228, 821753897, 791909376, 468572270, 388291866, 568157725, 29376758, 665202032, 240006176, 501928063, 421925980, 883230130, 140631286, 891353526, 507442449, 539131704, 234030206, 381341087, 905490143, 254664299, 489673597, 299575003, 660976703, 515985737, 501879487, 703000204, 872468527, 978699314, 614770922, 384948822, 917088696, 713000943, 945952154, 732846419, 258445454, 60439288, 379207812, 494717350, 886639417, 923073679, 763988625, 275090967, 851924915, 515336408, 299050664, 344885270, 297135146, 686992454, 613317252, 459298870, 339856176, 284971437, 732187161, 746310767, 742850009, 700094491, 196256090, 866522926, 667809804, 687666626, 579614608, 940561975, 834735307, 366966966, 965477447, 42815995, 132637452, 935380728, 287853838, 640509589, 936037988, 560482275, 633005560, 294789133, 104506703, 621556047, 460945672, 793915197, 988424586, 31564639, 659322931, 1152138, 169689458, 808381775, 467726205, 715458968, 646254432, 279025874, 660827834, 219785353, 762345641, 451334270, 202493982, 655962166, 621169840, 442472270, 407469067, 741860939, 449601053, 292387864, 905220604, 542879960, 224722143, 120923983, 98466019, 314653576, 963685718, 302970313, 502192883, 130241082, 704572027, 145115342, 116699507, 213638117, 260592124, 117203817, 151265786, 619913512, 657584859, 346148978, 692231655, 956055611, 119040829, 521724564, 613691058, 573493392, 454043751, 910041359, 70342534, 676547279, 783982267, 937061724, 803648725, 176111421, 581838636, 22623959, 105675278, 509116947, 189052871, 706803263, 121513660, 572159772, 41460072, 929328185, 260851818, 154638798, 163053177, 662977142, 114010444, 651563772, 408959393, 448143841, 955970732, 316314901, 655669365, 549976315, 486799919, 316833260, 665383099, 285267358, 334230529, 60973315, 196101122, 232933545, 999493589, 513882592, 407654437, 82537917, 22077855, 125548354, 91164710, 139641181, 717509105, 179735270, 700018, 694740135, 548947267, 255827493, 695036619, 78891156, 417832771, 546911682, 530044674, 913697880, 61630975, 429819532, 777110862, 410026102, 154841268, 847330309, 138702353, 190551364, 677356692, 267195689, 595597472, 603751899, 70447931, 431059070, 5710287, 74472927, 122399706, 418620564, 991923805, 492817626, 442163790, 822292718, 375646908, 374502967, 215719822, 10161848, 249058066, 907695840, 769342789, 27563384, 286013726, 637728952, 853784060, 644848698, 159737848, 984650216, 890073772, 622622192, 531156549, 646620399, 282871792, 208480957, 693029544, 610037763, 448069074, 832235866, 645933709, 322226902, 561194635, 514069398, 966410945, 209458604, 787785787, 510894332, 969457692, 832381773, 41259854, 35500438, 3853548, 783953146, 63380150, 558023481, 344543460, 913417698, 406435109, 243262516, 938820722, 800040463, 900871359, 706801767, 763203022, 899198091, 482949055, 210626273, 570703964, 862908544, 101657236, 771126472, 613526483, 218882580, 276972532, 263900222, 517801133, 163151838, 53728364, 364968471, 909812288, 125011076, 897129193, 5522397, 387298867, 210187025, 727304644, 90092547, 726551394, 192145959, 327971164, 816696105, 677062646, 826320218, 131163259, 814523940, 942906435, 575473399, 33448010, 718975288, 520969571, 786025486, 274090797, 430095048, 942121828, 399023594, 384390513, 765705255, 732153500, 904456162, 780483681, 581560380, 668521028, 968593125, 96668621, 133186880, 636172720, 359607688, 572181967, 932819210, 366002438, 742530284, 636894406, 850089509, 34026055, 782748742, 807050277, 846490452, 229821935, 625775246, 661573952, 949801399, 42190023, 180718567, 328404805, 613008649, 68358348, 640392889, 110893762, 222536998, 586225159, 841205827, 710116326, 878527673, 812128460, 869983578, 725400478, 684893940, 325401455, 349424717, 741733225, 857750866, 560974006, 785232129, 611109523, 445005768, 902801058, 116987932, 878329555, 660892095, 469282371, 85570869, 289228289, 281108870, 116757875, 773115568, 228199435, 829368095, 370826454, 765138817, 731154821, 421307844, 980105904, 537687402, 703052150, 648402659, 795799228, 889267569, 415525887, 421344659, 642824705, 76784026, 239778733, 529017798, 693181275, 961554457, 958972437, 406289153, 668771302, 475386643, 846995045, 722857735, 455495490, 654484819, 148072501, 129294432, 211831098, 909458391, 786143188, 683606932, 246134944, 464106933, 552941047, 244110739, 54978184, 823272138, 969254474, 811812474, 912447430, 186191276, 479127394, 663940486, 29979795, 188587921, 233351629, 224361378, 721642838, 591653739, 210898696, 70521071, 470464572, 86350472, 829861275, 64727544, 671882910, 796809551, 159135150, 582804099, 187288645, 195128327, 599958823, 565647868, 72022426, 4661459, 523048481, 616722752, 82001821, 983473875, 52588878, 220158716, 319764560, 119795951, 215826289, 310071044, 204364469, 352429575, 855193967, 745401471, 619995583, 325939660, 10422619, 674222718, 985165768, 263776022, 706929649, 849971367, 706119762, 959608424, 859901898, 505608774, 201262301, 515873085, 152891856, 530988655, 628499945, 679603491, 242491916, 35625540, 520792064, 953430687, 78621538, 354561670, 274674847, 90959145, 503999691, 342872729, 125423577, 982234217, 453236153, 231372547, 851701555, 578643426, 414147319, 539448994, 736213079, 920452588, 87025637, 711073484, 174011703, 755187897, 6983426, 37120899, 211056965, 628093456, 975184536, 108953680, 202669264, 138565982, 258213732, 789551714, 599967019, 746163064, 970732408, 124856569, 892099829, 70174044, 734348003, 416043715, 405632179, 213515369, 85783, 590256230, 636709564, 766109532, 878801507, 362065412, 446016136, 904077139, 853124212, 199193309, 204272757, 897216640, 815742682, 619366692, 23086864, 554153588, 830883281, 339827658, 166452141, 884531594, 332079963, 389429295, 240789249, 794582466, 16695239, 160098624, 116080066, 445720375, 22454161, 255912409, 597231632, 927416259, 41190692, 936113069, 173827247, 355150366, 819351068, 372934608, 773693142, 208173673, 718547844, 455573828, 10730298, 695442201, 550391563, 917835974, 313335331, 520915930, 933993528, 623414187, 170034768, 883990327, 433575083, 221649083, 254726565, 652056230, 102896556, 794519868, 857553260, 258804526, 72679820, 730672033, 785487184, 542202011, 155233390, 31584110, 647626387, 300455988, 978527594, 538028476, 906795937, 842773863, 14814857, 113075660, 219979953, 548317892, 967770668, 154662553, 629850175, 480861178, 728471271, 166748410, 10029035, 837873691, 633411641, 29173561, 71468749, 838686018, 258524604, 653500922, 540335696, 772072216, 249974427, 120942961, 560521806, 147975748, 52927717, 427209540, 250704199, 486389612, 650497681, 700871767, 850699097, 238229605, 622330443, 931548387, 48389120, 818808416, 690843056, 945810881, 229771884, 230196271, 831969222, 51906116, 495990421, 388094943, 143505449, 506751752, 311239644, 229154817, 866762573, 719620007, 626303209, 916331296, 168908432, 97902922, 207183348, 170208015, 228775320, 311853354, 793042226, 245650714, 194167091, 365939271, 538858021, 900093869, 651842403, 283648929, 975797311, 998452866, 929522548, 323275926, 687451827, 317330974, 401298030, 393501336, 592262096, 500006507, 243329545, 620298695, 730762828, 759020424, 876610865, 559336476, 841426691, 793478488, 57853019, 94957203, 588305467, 32468761, 440581547, 266732152, 255693520, 359129886, 282653808, 159610900, 469856380, 261267698, 143145535, 930603496, 463321386, 862886192, 571678789, 88914186, 220018970, 978896138, 771328568, 561065928, 433397930, 235414074, 852970216, 278091846, 590805857, 762251056, 800431199, 18978879, 885996188, 365893337, 686177025, 790940909, 587309934, 703703329, 685159898, 78656982, 120596587, 704353564, 615559656, 507262551, 179497988, 455314391, 873788349, 854719184, 925368748, 687937615, 824806905, 984672562, 798033711, 483464276, 881538315, 60111979, 814635247, 884788464, 282611950, 392126618, 380390010, 611164959, 432445497, 893219748, 659552677, 288421095, 889557157, 582811880, 257698483, 254381878, 623652101, 855341008, 644068566, 594484640, 154746142, 230400380, 799465966, 867416622, 452962696, 623680899, 666848701, 528660004, 178645116, 619621627, 774923912, 895150113, 562182191, 816194918, 297800267, 756524701, 451179022, 780025331, 65826212, 1587090, 851200197, 298603491, 683052746, 124493585, 716126706, 355258787, 269160031, 148295073, 25837881, 796894018, 480514445, 116826791, 882703271, 582904266, 217891459, 959591792, 150526135, 34422847, 877718723, 866230037, 516900505, 682535619, 178849485, 413118874, 461850855, 824789683, 715531334, 7133649, 269670494, 274942397, 976031325, 715730035, 733839421, 392648788, 180000896, 919327800, 33800500, 619921854, 751779238, 989729840, 512461093, 183690653, 890934047, 244764271, 462213003, 236324312, 957736286, 745063475, 918051479, 404621838, 65744433, 653373052, 890259104, 822694596, 115179682, 215934484, 606515794, 89625931, 914181960, 885823515, 826976905, 697564799, 195911546, 508132465, 117914100, 136523685, 133460580, 452613302, 601016129, 843298940, 374896491, 991047753, 410876295, 679681558, 626504958, 159344173, 299815544, 770915125, 346459196, 93803692, 473439117, 705211012, 13349094, 952079844, 511761031, 819462930, 227519917, 623683518, 280332401, 55073778, 325832127, 835365550, 645671685, 527808476, 768300551, 720460337, 970286525, 485459931, 759936737, 536330240, 439447628, 870928321, 31505601, 18942589, 794290529, 235371122, 115067820, 285642017, 877497042, 762285856, 566948077, 679307714, 794669496, 633137190, 969705729, 421387524, 181130919, 583289557, 83155155, 874943697, 489048994, 246493264, 376616790, 493593824, 883856150, 808426408, 384366890, 824307940, 811802562, 842523237, 221884571, 270386847, 521879014, 55940942, 546436889, 417689563, 818805720, 488377857, 71452514, 837634767, 86097178, 769290440, 688691696, 225030483, 273180776, 56119345, 98718488, 263983082, 76274944, 671830192, 473436040, 952376027, 461433888, 60202151, 190278598, 471829361, 370694454, 579535420, 467067679, 419652628, 213857908, 955770121, 720686068, 515083856, 263193449, 76436392, 843745341, 248600168, 386985975, 685013917, 867358133, 234306562, 917891086, 6182079, 632557697, 674249751, 35802136, 949583400, 500372420, 80279987, 349040701, 776395967, 185153965, 352342053, 712269812, 372647285, 403900371, 874032456, 2437309, 292261504, 954710058, 674232512, 857883195, 947516591, 987987188, 295120486, 729130949, 492641057, 10579784, 107650520, 202045625, 424909623, 716887378, 970444750, 129737915, 790474602, 599058956, 582249308, 424913346, 723726360, 511502461, 468351459, 266203985, 153835634, 837294203, 344434910, 644106886, 352992697, 282174639, 109973874, 114081478, 604518732, 855444551, 9677874, 518549381, 384766025, 68469570, 650256536, 191553171, 319417634, 481410607, 196848506, 77254046, 682068430, 806163917, 810390735, 633813591, 66436606, 364416716, 900963372, 33546130, 885343143, 792099182, 288113757, 980870012, 610227864, 108995562, 546251212, 462893944, 298710138, 746429823, 450883259, 570184331, 414636080, 279421178, 420697795, 532263445, 777274028, 991681082, 878871589, 724846332, 325481255, 466223257, 611910824, 325094724, 661539271, 557198359, 16948001, 371374034, 43528816, 545098791, 430985059, 947987354, 522456096, 547494989, 83706787, 3926535, 390451015, 404271417, 914142443, 790935173, 296944787, 361275582, 436480180, 622614979, 277526162, 165861875, 705438911, 327588287, 812245981, 683609507, 681898896, 126717443, 933663857, 556959540, 414534753, 569926643, 859372625, 770219040, 3376188, 497914877, 959574035, 693036893, 985387663, 984148361, 472923926, 331014945, 125791225, 687538815, 597319762, 185136709, 196435292, 223679601, 430139592, 472750569, 449799181, 288672077, 846880847, 362042189, 718582013, 781113033, 598149087, 949674964, 827538286, 530239506, 575173909, 257310165, 338028237, 877057065, 910704134, 657605572, 118783277, 634556483, 755898814, 707949747, 323470849, 838617300, 94637702, 298971318, 952986526, 247091165, 491863199, 642197338, 937769658, 7397133, 362131507, 972135890, 919568141, 716427817, 429224122, 791655897, 186382560, 519363204, 818171053, 721026169, 613565538, 895641265, 151898507, 96513872, 611689976, 674302371, 841817153, 438014224, 339717171, 244648532, 595665743, 974144055, 655752260, 592251896, 843866755, 475582050, 298502559, 35665977, 482240685, 527884079, 90990483, 579201523, 143032601, 835599767, 384212855, 225721596, 188991581, 196010090, 866893125, 273018077, 26419545, 304018792, 491371193, 847093678, 994985943, 683724438, 248005889, 164656629, 312464863, 547245515, 463810814, 695735295, 23121694, 377604182, 789827979, 246885882, 381895411, 522221886, 130839484, 690755949, 879743853, 996151333, 409179680, 358017031, 628441926, 487663981, 550401688, 69324444, 710637149, 462574527, 852301443, 396936515, 760890636, 601169399, 582252409, 147984766, 821248673, 959756368, 565930160, 839535107, 811008313, 808942015, 950771712, 300747709, 484824346, 45869835, 761702862, 598910898, 277888395, 329740763, 596689653, 570391553, 137052103, 455249979, 902591852, 514702649, 354445819, 972273550, 271932767, 213083683, 800949651, 777745267, 260457273, 820270687, 979047695, 909846855, 6418810, 246797799, 543481973, 18289616, 773914, 397271486, 316568523, 384003094, 294016302, 849975042, 701514240, 817590501, 497013164, 359879077, 437086442, 510475149, 173530524, 470214267, 208304803, 799280092, 580290143, 517341663, 846901939, 296916098, 343749377, 83367324, 741203849, 273375650, 604206377, 255861502, 289535346, 192620760, 420235052, 922200560, 158332271, 952681476, 722270741, 739340431, 555509470, 582080361, 84656726, 259324350, 989285265, 253133033, 839987656, 863668396, 91552405, 891979565, 660296565, 601774967, 612710486, 277109565, 738786766, 178272178, 727605208, 371039886, 561126996, 18349121, 501515847, 971435065, 349006879, 425714537, 261651681, 257521730, 329677881, 169028029, 938052523, 466479680, 539312721, 466816855, 791926795, 128523324, 353193803, 633960448, 975166732, 323091347, 884251576, 181989946, 306542213, 732975171, 418793914, 292882576, 862477009, 332842278, 490852387, 908814593, 127919319, 866143399, 269425504, 961877156, 653835189, 608218299, 737207236, 607234755, 723562769, 712241862, 722403084, 335246636, 679988547, 875701646, 375309008, 488882642, 44706146, 659376447, 804631853, 954054846, 652009794, 858102039, 461718047, 672613668, 7464401, 349944157, 929773220, 77749865, 303868984, 535096444, 590341287, 909236284, 89564504, 182036591, 664527693, 899931282, 146925718, 442430607, 738619681, 768370668, 864654660, 589714401, 918123183, 964912509, 608247045, 242906203, 871783594, 821409606, 940158317, 52747339, 88434421, 519967224, 54804336, 720428640, 598400364, 554211018, 805493141, 318163916, 737203067, 23869528, 465455623, 469272514, 325928265, 95589284, 275390169, 864621707, 886048110, 354883226, 476503327, 284803136, 238727523, 517270116, 641558771, 248150810, 499674947, 984804992, 454333148, 534458754, 231792656, 66127831, 830329372, 434451041, 589965864, 947013784, 808088756, 73182555, 773417447, 758895646, 797545566, 469592721, 642434689, 796158837, 166086058, 538375741, 109971449, 659311338, 443985251, 610252579, 387380698, 732243702, 380343984, 302672652, 192971639, 637839263, 316860563, 124844398, 375278590, 541550198, 229359272, 394464134, 791227291, 236562860, 278827449, 37506454, 51242109, 404330678, 457289437, 794952984, 476641103, 50798021, 591186300, 192033119, 436410306, 152415271, 785041626, 220187672, 781716840, 158074748, 203057081, 121517596, 535376930, 270467250, 221477686, 212978248, 650197691, 720696218, 606197007, 325593533, 924088992, 775185954, 835440465, 172016090, 297020667, 355086169, 724626743, 925144305, 982438003, 140049588, 262658963, 585337077, 695916398, 973013594, 221892837, 501239715, 170061081, 398340291, 136339007, 689172719, 596287818, 646041706, 51869763, 545994968, 188843441, 231583179, 430870764, 302785133, 786517462, 664085361, 594462463, 969557460, 172706818, 944381999, 161193073, 773144771, 383347271, 137465299, 554954624, 87817726, 86664704, 861669397, 606261746, 883066974, 534185278, 980279252, 502088732, 302618366, 398729094, 46655734, 420621408, 128313042, 139025832, 329550549, 528149309, 382803368, 140794326, 849202901, 957667689, 339598833, 917494552, 963708040, 208102785, 84259108, 588744420, 564784567, 202691086, 193872192, 942025716, 53898034, 25334553, 116780927, 838137327, 496853626, 657469992, 447702031, 16140116, 583842154, 582187135, 49487582, 333656563, 689966957, 334364091, 935616779, 158185876, 493483278, 232967711, 76058818, 774811958, 110875251, 656762610, 884850140, 735855496, 491133431, 292307660, 237269706, 634475747, 352551471, 651958450, 104909954, 882078864, 940096618, 170133046, 864239523, 700647941, 764715854, 393301964, 120681614, 572916517, 219336796, 659030189, 478223530, 276560505, 764222383, 262242136, 620563935, 392990810, 46220008, 944989786, 862932531, 118643316, 871567156, 829427265, 189711564, 376087683, 730432982, 336074362, 84065609, 234426781, 938110153, 287948146, 891076304, 788304537, 539496549, 415501628, 466108368, 640641019, 247377780, 541261396, 320229293, 438376820, 353454336, 122879640, 283656736, 794213470, 936122194, 101699351, 467418772, 128007155, 974843868, 53097963, 206161503, 174864769, 303430284, 99426462, 337890223, 245242565, 688470845, 254164897, 826003384, 412404185, 332088248, 67255540, 914076112, 27242211, 529406858, 374917093, 654474553, 153409720, 634606139, 931545464, 675225872, 827388891, 489273266, 169117693, 623828760, 217722499, 87361970, 271828170, 356816795, 52990903, 255924432, 357253361, 676388172, 948869126, 181089607, 539306792, 786184890, 475859227, 898061773, 644261236, 851528742, 573168046, 974243588, 826860553, 109490454, 600552220, 21184714, 307439300, 915024555, 708873288, 957022774, 373341798, 20828254, 103876836, 221336081, 554560786, 162056511, 909523303, 898228329, 351754409, 840834653, 904874130, 323024137, 54573693, 847057319, 109169312, 839810317, 195052753, 693499037, 428010497, 101320551, 967895183, 765513522, 474047383, 960640067, 167911552, 58223319, 975340695, 570290218, 688251272, 639357091, 239930260, 131301828, 98289913, 321323996, 628700366, 816808935, 847040674, 447056351, 324603640, 312428239, 789292004, 493620595, 468087518, 701326008, 879097185, 201922441, 472305438, 426043169, 777850970, 306462756, 557374993, 295789990, 57783087, 142451096, 862131038, 269438172, 65300222, 730687052, 753697952, 41833435, 856506568, 339782909, 790712346, 963414504, 955066001, 58648065, 417364550, 862608538, 872453343, 172867698, 461425883, 840951673, 724988291, 924853643, 959941349, 988728657, 655316778, 822737118, 545677286, 315391598, 985238299, 694908478, 426312935, 856790576, 858663182, 259460439, 814053960, 650774804, 706145786, 151915656, 588331020, 357791761, 491325282, 554691248, 19569250, 524430410, 751889460, 887215477, 836502423, 385188667, 712557364, 362711868, 406722265, 661813039, 226237389, 90994277, 432857663, 468527139, 842497406, 58963665, 676815974, 828984881, 757328830, 513866701, 731668359, 883219643, 338685343, 980691914, 265239560, 715131652, 820003792, 730897355, 986844838, 429915102, 921247883, 62067430, 319666894, 836959864, 681395071, 952011949, 15849281, 603307480, 558232562, 974221469, 590707145, 487999583, 932390161, 604603323, 297108373, 935490927, 205690448, 929037598, 177313152, 854478142, 286410303, 60355201, 887098916, 774508370, 759610019, 93150625, 304761699, 816870500, 403090236, 635371176, 567618750, 66719133, 597067512, 524785558, 967799017, 975248792, 177725651, 550060856, 913633772, 926600436, 402702699, 482551085, 355483354, 994894392, 506270356, 562373690, 218696443, 1273891, 610799273, 656937546, 132686879, 423340334, 701258174, 208317834, 239311313, 240602500, 918692259, 879878650, 598700284, 859216797, 522104287, 684158282, 966841827, 949079977, 177722639, 110374512, 117210014, 211613256, 408635597, 428539885, 461397729, 329354577, 331051885, 792406800, 946791852, 55670490, 596021284, 498642027, 734147935, 173895963, 442680367, 772466433, 866536406, 807328654, 607924301, 596230277, 258497808, 723261878, 31964589, 746816595, 477053834, 252436024, 685816350, 321066320, 372101122, 143103458, 338820459, 844157193, 325846690, 151304608, 893561646, 721248029, 962378571, 224539157, 942390551, 68319303, 553696896, 356002824, 902263749, 454437964, 908593482, 677423331, 999992201, 484798167, 544572421, 590783350, 201683280, 836963261, 594376089, 85621832, 393893789, 401627045, 317940339, 833668912, 289653056, 87660976, 910360143, 985846688, 627912416, 503771744, 178265281, 771480497, 242418902, 160833861, 47677728, 475749028, 177085631, 409237265, 115986183, 723707713, 104912028, 234095310, 454515213, 746802150, 469864208, 281069427, 164766352, 288777475, 410757342, 632563081, 433217811, 376665507, 832964950, 276302817, 69960390, 891086218, 707798962, 243663964, 616486328, 942947054, 327020583, 274291741, 942860951, 836942916, 287304863, 508375368, 915515218, 171785141, 35457708, 165145156, 117075371, 715315310, 614716542, 842219439, 622707490, 750537799, 993928604, 531760420, 779291977, 978745791, 737470006, 137026995, 755950237, 485277280, 409455398, 267130758, 814517001, 899949170, 163866406, 702223654, 945523679, 690022354, 362413400, 873004956, 744788345, 809961826, 530829013, 105208781, 74452090, 302355056, 324280207, 572678589, 170353235, 65998106, 465263006, 644661669, 328114738, 6044668, 350357094, 491884429, 40176627, 8819277, 519780614, 361008694, 784876492, 276424779, 584172355, 844174188, 240746324, 204323000, 21665020, 363706828, 188313685, 514872593, 449899510, 373022264, 842753562, 855033000, 177453834, 726318629, 6382315, 61894081, 152954377, 150154819, 965696168, 102339245, 226299280, 874796737, 637693164, 785951530, 35102249, 9743139, 627919770, 163861014, 210656535, 896274507, 495435152, 890749025, 494781465, 596170062, 817042223, 488664481, 516422065, 57285674, 497401958, 317431319, 321996722, 734426516, 171146672, 892382182, 979553071, 693219574, 522563073, 444417677, 656722093, 62676932, 372879538, 923736302, 626525512, 85235834, 206322547, 882274592, 860731333, 243697288, 395568274, 752879347, 605493066, 119996979, 685083837, 164886142, 35600192, 875023705, 520293980, 682364600, 727858471, 386042174, 310568081, 899883477, 295443784, 82097919, 982439057, 86216969, 821305321, 687688128, 110010562, 947506830, 664812285, 25958928, 902634204, 504713463, 641490560, 112681269, 91642251, 446670106, 412533540, 85887485, 922733717, 744713930, 945883390, 667128625, 761444174, 775440701, 496717963, 325553884, 310966116, 138875277, 800712112, 813431050, 930491786, 545175741, 525852433, 52155039, 617322638, 560332284, 532057052, 505471311, 14785085, 775933834, 136424196, 985821235, 920975911, 322159562, 293044973, 123244799, 487689196, 71171744, 42039457, 896196651, 750877, 597555029, 294529915, 926401105, 11354327, 265215828, 150487656, 878463813, 120368156, 408131063, 949770955, 512201974, 538522035, 171509110, 975968217, 28044494, 810720904, 876109075, 659353240, 928979624, 228499119, 4035769, 745346876, 327353962, 571654255, 994856328, 235785355, 112475854, 858461579, 514848973, 900368165, 593832986, 99512512, 539517852, 199422568, 710741209, 858544311, 327003106, 728900281, 429374096, 898229894, 891873180, 590989715, 787127876, 516767487, 812502675, 760994754, 985699226, 918704170, 961518618, 331154310, 959091775, 724823855, 813753002, 955556796, 312093138, 950905782, 909366946, 698494700, 832023362, 270115592, 157369440, 586187284, 861647147, 206715889, 773693835, 277591655, 579915324, 764305766, 528553621, 970999671, 208026649, 297302113, 525522726, 808548136, 92712591, 512345694, 645857131, 970483982, 331294247, 95465327, 281316212, 343609752, 458072864, 607471836, 482348832, 337313861, 127366888, 827207981, 101068712, 415021162, 930026730, 133984882, 723553922, 913745297, 348119177, 277311946, 457580917, 383607410, 757940696, 352528538, 818767772, 712307808, 125848869, 124126378, 912989126, 357491907, 70054597, 481076420, 48307526, 883167571, 384936931, 915525297, 169365538, 473629671, 160484386, 125983104, 731195079, 84057491, 302372302, 744526649, 600032879, 606273914, 459853172, 654923319, 448074347, 116896671, 171308009, 591196134, 878298821, 325206694, 695268833, 146932238, 645346532, 937959917, 265086906, 478882953, 605139529, 288345170, 361686502, 592304199, 570710016, 246877931, 825027780, 71556782, 586602718, 618750084, 81363266, 330753803, 97538624, 955896555, 480900656, 339214746, 878080832, 877675000, 871968488, 155499196, 727801866, 536548107, 91314404, 960151627, 260320327, 393894082, 196869349, 194500217, 634168864, 743744806, 962060708, 683136994, 368586925, 263791664, 964039785, 217753576, 817409638, 362431615, 496117535, 167545399, 290959545, 26219353, 820062970, 361378088, 673083313, 746977635, 349422024, 834808130, 446754863, 642116227, 622542277, 684179246, 164350399, 594927136, 470170516, 466862869, 956258602, 381319680, 75462862, 205982026, 180994072, 225086446, 547225981, 339526712, 872281785, 852897195, 544954552, 690748830, 84800449, 238107934, 552805932, 779605770, 301470177, 41829413, 875809367, 354879688, 191534525, 942858428, 817102718, 837569167, 600025128, 589252797, 70162700, 784355225, 118231319, 362040330, 823338210, 199711144, 265850779, 857232257, 346561238, 213936701, 438427019, 338068497, 143930330, 435010214, 354663495, 235925840, 731013060, 242917998, 379245529, 9729903, 264272427, 430364984, 154169058, 382661101, 203139383, 952325355, 183249512, 796222496, 725959629, 965164391, 416909215, 906348978, 22421637, 309812238, 671395377, 296434647, 200135979, 912044388, 580061158, 772209672, 674779790, 412685701, 613445280, 662270173, 23625881, 897680403, 146865814, 668145367, 780385567, 193518865, 173650203, 669047247, 142067042, 36916079, 102065850, 849970069, 708866649, 863818755, 496937607, 718173967, 531217942, 547666636, 106484315, 475862194, 463676635, 551562595, 719607207, 431364517, 200824679, 36804257, 720531410, 881236843, 761799894, 20827151, 381716767, 843485704, 116650324, 273393425, 218827489, 41960933, 141658692, 246799733, 78070107, 596580119, 743405292, 327595109, 345184577, 977036608, 118339998, 77545788, 270270640, 889824600, 424530571, 605923960, 473011361, 440489820, 745947542, 646979903, 894610222, 309848896, 370730732, 895415813, 270036601, 149467377, 855235559, 169646793, 566917560, 94433959, 396514550, 870060155, 995630305, 634066621, 246446882, 974577930, 299858245, 704981707, 636743281, 563256526, 999316887, 507157674, 585376327, 899210647, 817796712, 389059771, 71455708, 660242912, 382334480, 122329604, 623564660, 368673190, 890926587, 78599722, 254000298, 92949902, 712025148, 399302041, 498895258, 800396689, 613665098, 791556202, 985292336, 583823170, 341708989, 247512017, 649817094, 817462490, 664287095, 367484105, 932443620, 30211260, 107235597, 582279114, 846909210, 479164636, 980173002, 964027837, 424450037, 658620807, 443576569, 333184746, 111966278, 42561652, 314694687, 614237355, 774510910, 911641550, 931376482, 606958931, 311090016, 880197941, 866077248, 642721904, 692568963, 883075541, 588095499, 946598925, 905905874, 105146269, 692754983, 538268386, 617215750, 985743061, 228446926, 84260536, 713823344, 477929500, 232877551, 673068104, 288809187, 812200797, 297758308, 40009535, 850955162, 97119682, 442153810, 166772350, 878530748, 469668546, 80783899, 175462334, 941041546, 472293962, 339381164, 719979189, 130164256, 330471915, 733765517, 397312471, 91258787, 356403195, 487839689, 149697651, 523031426, 270372997, 305202477, 12358050, 313595989, 456281944, 766355809, 795138744, 640684847, 526684100, 209011749, 461790477, 479833001, 349321746, 247577793, 200024073, 138339725, 460762705, 586874486, 227044692, 528746277, 648891112, 822307280, 504836762, 905945521, 25611169, 414908050, 395387816, 327250739, 476297805, 260973113, 452894165, 81328392, 646557479, 908591243, 291107200, 895839335, 163019007, 346943180, 716059913, 458594558, 248991380, 147767548, 301966715, 721069111, 464310268, 814304296, 342703971, 772158909, 788707272, 626267950, 59608157, 160413683, 627875614, 288481633, 343409455, 535971580, 624521432, 842801423, 67641826, 227869025, 264001989, 388580172, 232633985, 935898139, 437346878, 141396145, 866812848, 672292099, 373269579, 981830137, 975679662, 574886848, 789140377, 444254748, 945569951, 301438364, 70628343, 336208279, 473278616, 418361087, 335118370, 360207875, 57765600, 923998957, 974372632, 364247472, 311661042, 846637172, 768976375, 836338955, 727524788, 329195720, 358532936, 820493321, 504114258, 847518627, 559961831, 212290032, 36546903, 945367802, 31139431, 872561448, 27266901, 56662163, 79259887, 988679022, 473664322, 149250648, 884412930, 825775778, 742286105, 664572148, 439441698, 107550240, 245972118, 640995800, 290204649, 839994, 544813050, 486038188, 457818073, 933873461, 817600270, 335704908, 737644677, 194205161, 416726761, 696232629, 291017761, 320627419, 126128313, 638391699, 438826276, 255168646, 517663126, 121180527, 801576980, 570410104, 129689333, 943121520, 793586380, 206091321, 860903115, 276951317, 323024344, 425469133, 464159815, 889756416, 83401003, 338468956, 609256130, 602815122, 596027393, 238528029, 350869935, 794625528, 791388294, 154777537, 314841768, 46136828, 636952977, 51448773, 187984032, 911267673, 610826506, 210521564, 827087883, 246719555, 508946352, 318937780, 124104690, 255154028, 35625792, 719024129, 618273213, 329469760, 552166545, 320425334, 939524978, 730540028, 998245715, 327239373, 863682530, 340389260, 903422693, 110339446, 862226129, 976809237, 625006415, 305209289, 208863624, 880762881, 584456256, 745810709, 561442853, 586576462, 209625056, 178497354, 472538961, 422801973, 369305669, 972423502, 972742403, 580987025, 109588156, 910711946, 8315236, 18704454, 17784501, 233974516, 761067094, 420098867, 639739846, 20581613, 205618994, 776841983, 782439981, 565748210, 550876655, 654093560, 688045671, 540478262, 165640888, 565126967, 598152751, 869563949, 67192753, 110063358, 883186521, 140448726, 353058897, 81447463, 242217828, 129685193, 113221149, 323048931, 574942132, 306271707, 510067810, 927208990, 116478868, 830041402, 99681276, 543380603, 940298271, 827479833, 176293103, 297330899, 836321913, 666486482, 871446167, 104385282, 404165810, 718686304, 38360803, 196784407, 542876746, 675329347, 405214873, 559081685, 600924016, 301171974, 68493381, 273107910, 22604974, 682043079, 694413487, 586568477, 42856251, 634978958, 392801320, 623121912, 806864825, 4665996, 931795365, 339158854, 441053783, 206306319, 559729219, 531125960, 597628684, 84938105, 527133544, 199892479, 432321467, 840447596, 637911532, 4753951, 675702922, 799222498, 396616427, 738189870, 957894705, 667390259, 704398033, 511674184, 121311183, 545139324, 18741441, 116203774, 858606914, 419249605, 802106903, 529841763, 810344433, 123453729, 259179885, 965227843, 215217149, 950564650, 410675662, 616823563, 672844698, 576649312, 535390206, 115674792, 420394021, 802649535, 531893922, 179435192, 18428242, 802060682, 753825386, 402214674, 339582727, 701485322, 875647623, 190952337, 643846605, 166196800, 410227227, 341852321, 263224925, 198838544, 673570967, 713006597, 197995992, 921470556, 579523378, 993799385, 319148794, 525727803, 317031830, 523781964, 342371010, 660732686, 51841496, 416823058, 202402475, 172217874, 834436545, 361503332, 137507822, 613211430, 762436476, 686365758, 698390728, 443828219, 605160083, 174101148, 686622504, 394577257, 102908313, 781391387, 730305851, 831514863, 90850349, 228439554, 319891731, 185772590, 844585858, 521331808, 632071709, 116162448, 905378389, 33328842, 80513480, 88759543, 142773030, 869836213, 923461423, 969003879, 6964829, 934699016, 154431943, 573243951, 182207261, 878217565, 554557315, 328818487, 725655163, 647468374, 507349332, 405199902, 268486497, 618281711, 862209358, 292807902, 228029580, 198463949, 249904827, 571166074, 525041181, 976421877, 751950562, 746680816, 549809261, 113289237, 532059814, 43321781, 372913672, 799244486, 289888396, 965362491, 698345179, 457985851, 735541795, 530221831, 926460114, 74724322, 116206087, 278463799, 20471641, 37660288, 690527104, 452945336, 521317738, 251994706, 94239905, 614849282, 104105784, 249957062, 747315893, 29750808, 614498673, 386114336, 26967764, 331850145, 722063964, 206425615, 922532318, 234526483, 429407861, 536205995, 931537113, 82477470, 591017274, 657470519, 561892330, 584238298, 887037517, 429097557, 506474855, 97990753, 532332229, 537929752, 717417100, 596150781, 185301116, 879913490, 364095628, 740276834, 872863861, 458615330, 866376104, 990919174, 196193642, 764867827, 536915594, 936360148, 280356438, 646805219, 127864118, 516319026, 476677510, 931230629, 108553704, 774874530, 511009949, 601724232, 320420104, 494329717, 497909460, 992082517, 681471831, 397323691, 207178603, 959696176, 906104462, 892201154, 631728208, 714730245, 461567120, 96510566, 799968157, 295291179, 507548856, 334441972, 858605701, 259080666, 810671064, 332155794, 722505585, 149125794, 319834339, 52118651, 103468983, 463238255, 953344645, 851781909, 137419072, 488050963, 820866610, 494300908, 452047741, 245794119, 654444023, 626692625, 314386117, 737869312, 162300664, 909437688, 880421761, 495503355, 531973223, 987380358, 540054408, 282819885, 611000140, 956645286, 399460214, 337759734, 496069121, 219583494, 730520012, 810797821, 223403904, 550526901, 570664296, 463083916, 169815886, 323093258, 694957348, 928977679, 339154750, 425757035, 915503206, 562033387, 107356703, 882266742, 207084866, 114223264, 303725973, 745339387, 48939772, 85900117, 845184779, 976761730, 697555339, 66967026, 59023579, 243726499, 192603370, 451971462, 934025040, 924779314, 951715214, 666764279, 803608684, 965842851, 545489330, 895215569, 808257594, 856554157, 737694917, 939965625, 910793229, 950940226, 657328319, 412389487, 774001113, 420142240, 872690775, 195229009, 656746174, 462099994, 763095869, 665584935, 394777151, 235604237, 746603454, 687808679, 717428344, 3981501, 218910406, 845931050, 758443767, 987394332, 56182725, 839969264, 773942238, 848627475, 214214212, 477645042, 631538173, 864828044, 873863416, 472919607, 710176489, 804268500, 499833751, 612933683, 360745845, 755916531, 494898085, 25552980, 641553770, 341869241, 760487220, 422238294, 176153306, 282603040, 523874371, 244059914, 410443701, 993377030, 261256971, 587353686, 187811068, 912843253, 543639307, 647291263, 468497869, 675108734, 35424277, 160003360, 939225654, 760614345, 184661088, 595324207, 451217821, 506631397, 132770429, 896596043, 87661872, 457025730, 961327963, 85498033, 819744731, 595125005, 399715384, 452529841, 592145249, 430456012, 476830523, 352874551, 157198004, 188323662, 303932673, 468914250, 599629925, 336060591, 392138912, 657426571, 448482017, 958516602, 599000206, 960636435, 424410751, 22903018, 817796623, 58036365, 753418939, 50618223, 631573250, 136983723, 117262755, 796106050, 229305676, 145703420, 18295920, 56292659, 303757551, 202211656, 610595374, 374325708, 392889766, 367376821, 55570389, 606706124, 832403526, 841620059, 101910536, 208708026, 716920741, 500031699, 38682561, 682314233, 191870946, 288632594, 51538835, 407031580, 555649432, 787820763, 969907052, 788294858, 146048832, 902315618, 963280988, 267592764, 955697953, 74813259, 378739107, 109477464, 129419311, 491939168, 289323274, 462313396, 355550604, 109168707, 680896239, 295411148, 157231660, 249929677, 315844486, 619796125, 883136372, 696066174, 375304186, 860572243, 182264271, 318326916, 335166719, 838727693, 58388718, 601249586, 359901644, 5157033, 944733032, 707220164, 294549466, 346241239, 708561350, 671055946, 945712431, 452012613, 704963288, 554038748, 684126032, 519419007, 323109195, 15942000, 234556553, 470532305, 141233120, 62645670, 490096252, 659165291, 391453770, 396693535, 717029235, 202174962, 325982400, 278422053, 395228684, 877793126, 639367176, 732357870, 39013836, 754680625, 280522821, 437769071, 215531253, 599958739, 702128419, 82197969, 111634608, 267223318, 121540879, 377322822, 449372495, 568166970, 791515740, 893513512, 547378432, 119002337, 6114242, 675690577, 411062735, 894588648, 78852049, 759938311, 734674785, 375673917, 229886397, 227960056, 618317844, 173844852, 17135254, 798489880, 802828773, 760587843, 982596804, 114628023, 879793280, 176926453, 954804448, 402109557, 426821421, 995618559, 225358536, 987237534, 347479738, 183020655, 472630912, 125464137, 343869591, 861821010, 862988197, 239485495, 244852966, 405957227, 106840455, 608362979, 655475558, 210118262, 413477061, 496544371, 591257194, 513652100, 933810882, 206172515, 23503836, 47358243, 21315151, 632607529, 101655901, 325070665, 661189270, 391622953, 466437655, 519178008, 631731649, 918233873, 64126668, 394855448, 968393565, 777953354, 878940383, 252691976, 728458658, 127306324, 577392542, 6846342, 164208945, 629546569, 569126777, 769511187, 89158941, 395560869, 92955749, 103476308, 246770442, 655688098, 121781134, 576032978, 93860400, 531775047, 62859221, 121029389, 139774948, 912135884, 303483158, 592178665, 638873341, 290911715, 212872630, 792146028, 214060914, 163703998, 70703489, 509173165, 158181724, 921777549, 437809645, 52855667, 855968183, 741715415, 842673923, 504352703, 190767305, 242482536, 644862756, 652130052, 401455611], + "expected": 0 + } +] diff --git a/exercises/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array_test.go b/exercises/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array_test.go index be31ac9..30d33ae 100644 --- a/exercises/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array_test.go +++ b/exercises/hackerrank/interview_preparation_kit/greedy_algorithms/minimum_absolute_difference_in_an_array_test.go @@ -15,6 +15,7 @@ type MinimumAbsoluteDifferenceInAnArrayTestCase struct { } var MinimumAbsoluteDifferenceInAnArrayTestCases []MinimumAbsoluteDifferenceInAnArrayTestCase +var MinimumAbsoluteDifferenceInAnArrayTestCase2 []MinimumAbsoluteDifferenceInAnArrayTestCase // You can use testing.T, if you want to test the code without benchmarking func MinimumAbsoluteDifferenceInAnArraySetupSuite(t testing.TB) { @@ -28,6 +29,17 @@ func MinimumAbsoluteDifferenceInAnArraySetupSuite(t testing.TB) { } } +func MinimumAbsoluteDifferenceInAnArraySetupSuiteTestCase2(t testing.TB) { + wd, _ := os.Getwd() + filepath := wd + "/minimum_absolute_difference_in_an_array.testcases.json" + t.Log("Setup test cases from JSON: ", filepath) + + var _, err = utils.LoadJSON(filepath, &MinimumAbsoluteDifferenceInAnArrayTestCase2) + if err != nil { + t.Log(err) + } +} + func TestMinimumAbsoluteDifferenceInAnArray(t *testing.T) { MinimumAbsoluteDifferenceInAnArraySetupSuite(t) @@ -40,3 +52,16 @@ func TestMinimumAbsoluteDifferenceInAnArray(t *testing.T) { }) } } + +func TestMinimumAbsoluteDifferenceInAnArrayBigCase(t *testing.T) { + + MinimumAbsoluteDifferenceInAnArraySetupSuiteTestCase2(t) + + for _, tt := range MinimumAbsoluteDifferenceInAnArrayTestCase2 { + testname := fmt.Sprintf("MinimumAbsoluteDifferenceInAnArray(%v) => %v \n", tt.Input, tt.Expected) + t.Run(testname, func(t *testing.T) { + ans := MinimumAbsoluteDifferenceInAnArray(tt.Input) + assert.Equal(t, tt.Expected, ans) + }) + } +}